diff --git a/.gitignore b/.gitignore index 8fa0d36751913400596408757340dc5a56ca4d97..34ea03ce96564582673101299044af3e7792dac1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +CTestConfig.cmake +CTestTestfile.cmake CMakeFiles cmake_install.cmake stage @@ -26,3 +28,8 @@ OpenStructure.cbp DartConfiguration.tcl Testing *~ +README.html +CPackConfig.cmake +CPackSourceConfig.cmake +deployment/macos/DNG.app +deployment/macos/standalone diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ca970cacbd9a0bff2b3138ab2f0d6f6febba7e1..5ed6abafccc0d47d949b11811f9a45fdebdddf84 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ option(USE_DOUBLE_PRECISION "whether to compile in double precision" option(ENABLE_SPNAV "whether 3DConnexion devices should be supported" OFF) option(STATIC_PROPERTY_WORKAROUND "workaround for static property bug with some boost/boost_python combinations" OFF) -option(DEPLOYMENT "switch on deployment settings" OFF) +option(DEPLOYMENT "switch on deployment settings" OFF) option(COMPILE_TESTS "wheter unit tests should be compiled by default" OFF) if (PREFIX) @@ -77,12 +77,21 @@ if (USE_SHADER) else() set(_SHADER OFF) endif() - +if (COMPILE_TMTOOLS) + set(_TM_TOOLS ON) +else() + set(_TM_TOOLS OFF) +endif() if (ENABLE_IMG) set(_IMG ON) else() set(_IMG OFF) endif() +if (PROFILE) + set(_PROFILE ON) +else() + set(_PROFILE OFF) +endif() if (COMPOUND_LIB) set(_COMP_LIB "${COMPOUND_LIB}") @@ -194,11 +203,11 @@ set(BOOST_REGEX_LIBRARIES ${Boost_LIBRARIES}) #find_package(Boost ${_BOOST_MIN_VERSION} COMPONENTS math REQUIRED) #set(BOOST_MATH_LIBRARIES ${Boost_LIBRARIES}) -find_package(Qt4 4.4.3 REQUIRED) +find_package(Qt4 4.5.0 REQUIRED) find_package(OpenGL REQUIRED) find_package(PNG REQUIRED) find_package(Eigen 2.0.0 REQUIRED) -find_package(Python 2.2.1 REQUIRED) +find_package(Python 2.4 REQUIRED) if (ENABLE_IMG) find_package(FFTW REQUIRED) @@ -238,8 +247,8 @@ endif() add_subdirectory(modules) add_subdirectory(scripts) -add_subdirectory(deployment) -set(FILES_TO_BE_REMOVED CMakeFiles stage tests) +add_subdirectory(deployment) +set(FILES_TO_BE_REMOVED CMakeFiles stage tests) set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${FILES_TO_BE_REMOVED}") @@ -247,18 +256,21 @@ set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES message(STATUS "OpenStructure will be built with the following options:\n" + " Install Prefix (-PREFIX) : ${CMAKE_INSTALL_PREFIX}\n" " RPath in install (-DUSE_RPATH) : ${_USE_RPATH}\n" - " Graphical interface (-DENABLE_UI) : ${_UI}\n" + " Graphical interface (-DENABLE_GUI) : ${_UI}\n" " OpenGL support (-DENABLE_GFX) : ${_OPENGL}\n" - " Image Processing support (-DENABLE_IMG) : ${_IMG}\n" + " Image Processing support (-DENABLE_IMG) : ${_IMG}\n" " Shader support (-DUSE_SHADER) : ${_SHADER}\n" " Optimize (-DOPTIMIZE) : ${_OPT}\n" + " Profiling support (-DPROFILE) : ${_PROFILE}\n" " Double Precision (-DUSE_DOUBLE_PRECISION) : ${_DOUBLE_PREC}\n" - " Compound Lib (-DCOMPOUND_LIB) : ${_COMP_LIB}") + " Compound Lib (-DCOMPOUND_LIB) : ${_COMP_LIB}\n" + " TMAlign and TMScore (-DCOMPILE_TMTOOLS) : ${_TM_TOOLS}") # doc target to create HTML documentation #set(SPHINX sphinx-build) #set(SPHINX_OPTIONS -c doc/conf -b html -d doc/html/doctrees) #add_custom_target(doc COMMAND # ${SPHINX} ${SPHINX_OPTIONS} modules doc/html -# VERBATIM) +# VERBATIM) diff --git a/build_configs/darwin_macports.txt b/build_configs/darwin_macports.txt index aca42ad9d64b67d60ae60a3870cef30cf854c89d..821e0c792aa36718fa7e773f82be8b0b8156b4df 100644 --- a/build_configs/darwin_macports.txt +++ b/build_configs/darwin_macports.txt @@ -2,5 +2,6 @@ # the dependencies installed over MacPorts set(BOOST_ROOT "/opt/local" CACHE PATH "prefix for the boost") set(PYTHON_ROOT "/opt/local" CACHE PATH "prefix for python") -set(QT_QMAKE_EXECUTABLE "/opt/local/bin/qmake-mac" CACHE PATH +set(QT_QMAKE_EXECUTABLE "/opt/local/bin/qmake" CACHE PATH "absolute path to qt executable") +set(CMAKE_Fortran_FLAGS "-freal-loops" CACHE STRING "fortran compiler flags") diff --git a/cmake_support/Deployment.cmake b/cmake_support/Deployment.cmake index 8f59a7dd4f229a4484050af8728363ffedc83f15..c8acd43f014c998c567819e799cbad3f7863b84b 100644 --- a/cmake_support/Deployment.cmake +++ b/cmake_support/Deployment.cmake @@ -7,14 +7,17 @@ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/ReadMe.txt") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") set(CPACK_PACKAGE_VERSION_MAJOR "1") set(CPACK_PACKAGE_VERSION_MINOR "0") -set(CPACK_PACKAGE_VERSION_PATCH "0a1_${OST_REV}") +if (OST_REV) + set(CPACK_PACKAGE_VERSION_PATCH "0a1_${OST_REV}") +else() + set(CPACK_PACKAGE_VERSION_PATCH "0a1") +endif() set(OST_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") -message("building OST version: ${OST_VERSION}") set(CPACK_PACKAGE_INSTALL_DIRECTORY "openstructure ${OST_VERSION}" ) IF(WIN32 AND NOT UNIX) # There is a bug in NSI that does not handle full unix paths properly. Make -# sure there is at least one set of four (4) backlasshes. +# sure there is at least one set of four (4) backlashes. set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/graphics/\\\\icon_32.png") #set(CPACK_NSIS_INSTALLED_ICON_NAME "bin/\\\\gosty.exe") set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}") diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake index e46d6f53ca1474b85366ba2def8ef28a518c55c5..9d928f6c946de5ce7a3c3f1d64991a98b2392d02 100644 --- a/cmake_support/OST.cmake +++ b/cmake_support/OST.cmake @@ -629,10 +629,12 @@ endmacro() macro(get_ost_rev) if (NOT OST_REV) if (NOT WIN32) - exec_program("svn" - ARGS "info |grep Revision|awk '{print $2}'" - OUTPUT_VARIABLE OST_REV - ) + if (EXISTS .svn) + exec_program("svn" + ARGS "info |grep Revision|awk '{print $2}'" + OUTPUT_VARIABLE OST_REV + ) + endif() else() exec_program("svnversion.exe" ARGS "" @@ -642,5 +644,7 @@ macro(get_ost_rev) string(REGEX REPLACE "[A-Za-z]" "" OST_REV ${OST_REV}) endif() endif() - message("Revision: ${OST_REV}") + if (OST_REV) + message("Revision: ${OST_REV}") + endif() endmacro() diff --git a/deployment/CMakeLists.txt b/deployment/CMakeLists.txt index eb3285eb9703f657c984face278d3e7bc016c113..6824a305d71c9870480e5e71687ea153284fb768 100644 --- a/deployment/CMakeLists.txt +++ b/deployment/CMakeLists.txt @@ -1 +1,7 @@ -add_subdirectory(win) \ No newline at end of file +get_ost_rev() +include(Deployment) +set(SUBST_DIC OST_VERSION="${OST_VERSION}") +add_custom_target(deploymnt ALL) +substitute(IN_FILE README.html.in OUT_FILE README.html + DICT ${SUBST_DIC}) +add_subdirectory(win) diff --git a/deployment/README.html.in b/deployment/README.html.in new file mode 100644 index 0000000000000000000000000000000000000000..864ff6e750d30cfd5f2adb4fc2196b0de992e5d0 --- /dev/null +++ b/deployment/README.html.in @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + +<head> +<title>Protein Model Portal - PSI SGKB</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="robots" content="noarchive" /> +<meta http-equiv="Content-Style-Type" content="text/css" /> +<link rel="icon" href="share/favicon.ico" type="image/x-icon" /> +<link rel="author" title="The OpenStructure Team" href="?pid=contact" /> +</head> +<body> +<p style="color:gray"> + +-----------------------------README----------------------------------------<br/> + This file is part of the OpenStructure project <www.openstructure.org><br/> +<br/> + Copyright (C) 2008-2010 by the OpenStructure authors<br/> +<br/> + This library is free software; you can redistribute it and/or modify it under<br/> + the terms of the GNU Lesser General Public License as published by the Free<br/> + Software Foundation; either version 3.0 of the License, or (at your option)<br/> + any later version.<br/> + This library is distributed in the hope that it will be useful, but WITHOUT<br/> + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS<br/> + FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more<br/> + details.<br/> +<br/> + You should have received a copy of the GNU Lesser General Public License<br/> + along with this library; if not, write to the Free Software Foundation, Inc.,<br/> + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA<br/> +------------------------------------------------------------------------------<br/> +</p> +<br/> +Thank you for using OpenStructure!<br/> +<br/> +This is the current Version of OpenStructure.<br/> +Version: @OST_VERSION@<br/> +<br/> +This is a major release containig many bugfixes and improvements considering rendering, GUI and further <br/> +functionality.<br/> +<br/> +For feedback or suggestions please contact us at <a href="http://www.openstructure.org">www.openstructure.org!</a><br/> +<br/> +<br/> +The OpenStructure Authors<br/> + +</body> diff --git a/deployment/linux/create_bundle.py b/deployment/linux/create_bundle.py index 8869c25a36c341e121e5e25b134143369ef95ae7..b5a6f281f602def83c1318c93112e4ffdb186555 100644 --- a/deployment/linux/create_bundle.py +++ b/deployment/linux/create_bundle.py @@ -7,16 +7,20 @@ import sys # custom parameters +if len(sys.argv) < 2: + print 'usage: create_bundle.py additional_label' + sys.exit() + boost_string='\".so.1.40.0\"' -system_python_bin='/usr/bin/python2.6' -name_python_bin='python2.6' -system_python_libs='/usr/lib/python2.6' +system_python_version='python2.6' +system_python_bin='/usr/bin/'+system_python_version +system_python_libs='/usr/lib/'+system_python_version second_system_python_libs_flag=True -second_system_python_libs='/usr/lib/pymodules/python2.6' +second_system_python_libs='/usr/lib/pymodules/'+system_python_version +python_bin_in_bundle='python' qt4_plugins='/usr/lib/qt4/plugins' -additional_label='ubuntu' +additional_label=sys.argv[1] list_of_excluded_libraries=['ld-linux','libexpat','libgcc_s','libglib','cmov','libice','libSM','libX','libg','libGL.so','libfontconfig','libfreetype','libdrm','libxcb','libICE'] - currdir=os.getcwd() if currdir.find('deployment')==-1 or currdir.find('linux')==-1: print '\n' @@ -41,10 +45,10 @@ svninfo_split=string.split(svninfo_lines[4]) revstring=svninfo_split[1] directory_name='openstructure-linux-'+archstring+'-'+additional_label+'-rev'+revstring print 'Stripping subversion information to avoid accidental commit' -#subprocess.call('rm -rf $(find . -name .svn)',shell=True,cwd='../../') +subprocess.call('rm -rf $(find . -name .svn)',shell=True,cwd='../../') print 'Hardcoding package python binary path in openstructure executables' subprocess.call('mv scripts/ost.in scripts/ost.in.backup',shell=True,cwd='../../') -subprocess.call('sed "s/@PYTHON_BINARY@/\$DNG_ROOT\/bin\/'+name_python_bin+'/g" scripts/ost.in.backup > scripts/ost.in.prepreprepre',shell=True,cwd='../../') +subprocess.call('sed "s/@PYTHON_BINARY@/\$DNG_ROOT\/bin\/'+python_bin_in_bundle+'/g" scripts/ost.in.backup > scripts/ost.in.prepreprepre',shell=True,cwd='../../') subprocess.call('sed "s/\#export LD_LIBRARY_PATH/ export LD_LIBRARY_PATH/g" scripts/ost.in.prepreprepre > scripts/ost.in.preprepre',shell=True,cwd='../../') subprocess.call('sed "s/\#export PYTHONHOME/ export PYTHONHOME/g" scripts/ost.in.preprepre > scripts/ost.in.prepre',shell=True,cwd='../../') subprocess.call('sed "s/\#export PYTHONPATH/ export PYTHONPATH/g" scripts/ost.in.prepre > scripts/ost.in.pre',shell=True,cwd='../../') @@ -52,18 +56,34 @@ subprocess.call('sed "s/\#export QT_PLUGIN_PATH/ export QT_PLUGIN_PATH/g" script subprocess.call('mv scripts/dng.in scripts/dng.in.backup',shell=True,cwd='../../') subprocess.call('sed "s/\#export LD_LIBRARY_PATH/ export LD_LIBRARY_PATH/g" scripts/dng.in.backup > scripts/dng.in.preprepre',shell=True,cwd='../../') subprocess.call('sed "s/\#export PYTHONHOME/ export PYTHONHOME/g" scripts/dng.in.preprepre > scripts/dng.in.prepre',shell=True,cwd='../../') -subprocess.call('sed "s/\#export PYTHONPATH/ export PYTHONPATH/g" scripts/ost.in.prepre > scripts/ost.in.pre',shell=True,cwd='../../') +subprocess.call('sed "s/\#export PYTHONPATH/ export PYTHONPATH/g" scripts/dng.in.prepre > scripts/dng.in.pre',shell=True,cwd='../../') subprocess.call('sed "s/\#export QT_PLUGIN_PATH/ export QT_PLUGIN_PATH/g" scripts/dng.in.pre > scripts/dng.in',shell=True,cwd='../../') +#print 'Downloading Chemlib dictionary' +#subprocess.call('wget ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif', shell=True, cwd='../../') +#print 'Compiling Openstructure' +#subprocess.call('cmake ./ -DCMAKE_BUILD_TYPE=Release -DPREFIX='+directory_name+' -DBoost_COMPILER='+boost_string+'-DENABLE_IMG=OFF -DENABLE_UI=OFF -DENABLE_GFX=OFF', shell=True,cwd='../../') +#subprocess.call('make -j5',shell=True,cwd='../../') +#print 'Converting Chemlib dictionary' +#subprocess.call('stage/bin/chemdict_tool create components.cif compounds.chemlib', shell=True, cwd='../../') +#print '\nStaging Chemlib dictionary' print 'Compiling Openstructure' -subprocess.call('cmake ./ -DCMAKE_BUILD_TYPE=Release -DPREFIX='+directory_name+' -DBoost_COMPILER='+boost_string, shell=True,cwd='../../') -subprocess.call('make',shell=True,cwd='../../') +subprocess.call('cmake ./ -DCMAKE_BUILD_TYPE=Release -DPREFIX='+directory_name+' -DBoost_COMPILER='+boost_string+' -DCOMPOUND_LIB=ChemLib/compounds.chemlib -DENABLE_IMG=ON -DENABLE_UI=ON -DENABLE_GFX=ON -DOPTIMIZE=ON',shell=True,cwd='../../') +subprocess.call('make -j2',shell=True,cwd='../../') print 'Removing obsolete packages and package directory' subprocess.call('rm -fr openstructure-linux*',shell=True,cwd='../../') print 'Creating new package directory' subprocess.call('mkdir '+directory_name,shell=True,cwd='../../') subprocess.call('mkdir '+directory_name+'/bin',shell=True,cwd='../../') -so_list=[] +print 'Copy python executable into stage for dependency detection' +subprocess.call('cp '+system_python_bin+ ' stage/bin/python',shell=True,cwd='../../') +print 'Copy python libraries into the stage for dependency detection' +subprocess.call('cp -pRL '+system_python_libs+' stage/'+libdir,shell=True,cwd='../../') +subprocess.call('rm -fr stage/'+libdir+'/'+system_python_version+'/dist-packages',shell=True,cwd='../../') +if second_system_python_libs_flag==True: + subprocess.call('cp -pRL '+second_system_python_libs+'/sip* stage/'+libdir+'/'+system_python_version,shell=True,cwd='../../') + subprocess.call('cp -pRL '+second_system_python_libs+'/PyQt* stage/'+libdir+'/'+system_python_version,shell=True,cwd='../../') print 'Creating new dependency list' +so_list=[] walk_list=os.walk('../../stage') for dir_entry in walk_list: for file_entry in dir_entry[2]: @@ -91,19 +111,36 @@ subprocess.call('mkdir '+directory_name+'/'+libdir,shell=True,cwd='../../') for entry in filtered_dep_list: subprocess.call('cp '+entry+' '+directory_name+'/'+libdir,shell=True,cwd='../../') print 'Copy python executable into package directory structure' -subprocess.call('cp '+system_python_bin+ ' '+directory_name+'/bin',shell=True,cwd='../../') +subprocess.call('cp '+system_python_bin+ ' '+directory_name+'/bin/python',shell=True,cwd='../../') print 'Copy python libraries into package directory structure' subprocess.call('cp -pRL '+system_python_libs+' '+directory_name+'/'+libdir,shell=True,cwd='../../') +subprocess.call('rm -fr '+directory_name+'/'+libdir+'/'+system_python_version+'/dist-packages',shell=True,cwd='../../') if second_system_python_libs_flag==True: - subprocess.call('cp -pRL '+second_system_python_libs+'/* '+directory_name+'/'+libdir+'/'+name_python_bin,shell=True,cwd='../../') + subprocess.call('cp -pRL '+second_system_python_libs+'/sip* '+directory_name+'/'+libdir+'/'+system_python_version,shell=True,cwd='../../') + subprocess.call('cp -pRL '+second_system_python_libs+'/PyQt* '+directory_name+'/'+libdir+'/'+system_python_version,shell=True,cwd='../../') print 'Copy Qt 4 plugins into package directory structure' subprocess.call('cp -pRL '+qt4_plugins+' '+directory_name+'/bin/',shell=True,cwd='../../') print 'Installing OpenStructure into package directory structure' subprocess.call('make install',shell=True,cwd='../../') -print 'Copy examples into package directory structure' +print 'Copying supplementary material into package directory structure' +subprocess.call('cp -pRL stage/share/openstructure '+directory_name+'/share/',shell=True,cwd='../../') +print 'Copying examples into package directory structure' subprocess.call('cp -pRL examples '+directory_name+'/share/openstructure/',shell=True,cwd='../../') +print 'Copying ReadMe file into package directory structure' +subprocess.call('cp deployment/README.html '+directory_name,shell=True,cwd='../../') +print 'Creating executables at the top level of the package directory structure' +subprocess.call('ln -sf bin/dng ./dng',shell=True,cwd='../../'+directory_name) +subprocess.call('ln -sf bin/ost ./ost',shell=True,cwd='../../'+directory_name) +print 'Copying additional libraries in the package directory structure' +subprocess.call('cp /usr/lib/libssl.so.0.9.8 '+directory_name+'/'+libdir,shell=True,cwd='../../') +subprocess.call('cp /usr/lib/libcrypto.so.0.9.8 '+directory_name+'/'+libdir,shell=True,cwd='../../') print 'Removing headers from package directory structure' subprocess.call('rm -fr '+directory_name+'/include',shell=True,cwd='../../') +print 'Stripping pyc files from bundle' +subprocess.call('rm -rf $(find . -name *.pyc)',shell=True,cwd='../../') +print 'removing dokk and harmony examples from bundle' +subprocess.call('rm -rf '+directory_name+'/share/openstructure/examples/code_fragments/dokk',shell=True,cwd='../../') +subprocess.call('rm -rf '+directory_name+'/share/openstructure/examples/code_fragments/harmony',shell=True,cwd='../../') print 'De-hardcoding package python binary path from openstructure executables' subprocess.call('rm scripts/ost.in',shell=True,cwd='../../') subprocess.call('rm scripts/ost.in.pre*',shell=True,cwd='../../') diff --git a/deployment/linux/create_bundle_alt.py b/deployment/linux/create_bundle_alt.py new file mode 100755 index 0000000000000000000000000000000000000000..6e5cf9bcf26311b4d7e1acd2ee61a18b9fc36a9f --- /dev/null +++ b/deployment/linux/create_bundle_alt.py @@ -0,0 +1,183 @@ +import os,os.path +import shutil +import sys +import tarfile +import subprocess +import re + +def get_libdir(): + machine=os.uname()[4] + if machine.find('x86_64') !=-1: + return 'lib64' + else: + return 'lib' + +def get_arch(): + machine=os.uname()[4] + if machine.find('x86_64') !=-1: + return '64bit' + else: + return '32bit' + +def clean(standalonedir): + if os.path.exists(standalonedir): + shutil.rmtree(standalonedir) + +def copy_stage(stagedir,standalonedir): + libdir=get_libdir() + copytree_ex(os.path.join(stagedir,'bin'),os.path.join(standalonedir,'bin')) + copytree_ex(os.path.join(stagedir,libdir),os.path.join(standalonedir,libdir)) + if os.path.exists(os.path.join(stagedir,'share')): + copytree_ex(os.path.join(stagedir,'share'),os.path.join(standalonedir,'share')) + +def collect_deps(binaries,exclude_list): + dependencies=set() + for binary in binaries: + collect_deps_recursive_(binary,dependencies,exclude_list) + return dependencies + +def collect_deps_recursive_(binary,collected,exclude_list): + ldd_stdout=subprocess.Popen(['ldd',binary],stdout=subprocess.PIPE).stdout + output=ldd_stdout.readlines() + new_dependencies=set() + for entry in output: + if entry.find("statically linked")!=-1: + continue + sp=entry.split('(0x') + if len(sp)>0: # only continue if line is dependency + sp2=sp[0].split('=>',1)[-1].split() + if sp2: #ensure libname exists (fix for virtual linux-gate) + text=sp2[0] + if not text.split('.')[0].split('/')[-1] in exclude_list and not text in collected: + collect_deps_recursive_(text,collected,exclude_list) + collected.add(text) + + +def copy_deps(binaries,standalonedir,exclude_list): + dependencies=set() + walk_list=os.walk(standalonedir) + binaries_list=[] + for dir_entry in walk_list: + for file_entry in dir_entry[2]: + if file_entry.endswith('.so') or file_entry in binaries: + filepath=os.path.join(dir_entry[0],file_entry) + binaries_list.append(filepath) + dependencies=collect_deps(binaries_list,exclude_list) + for dep in dependencies: + shutil.copy2(dep,os.path.join(standalonedir,get_libdir())) + +def copy_examples(stagedir): + #todo + pass +def copy_qt_plugins(): + #todo + pass + +def process_scripts(scripts,standalonedir): + for script in scripts: + fp=open(os.path.join(standalonedir,'bin',script),'r') + text=fp.read() + fp.close() + text=re.sub('#export PYTHONPATH','export PYTHONPATH',text) + fp=open(os.path.join(standalonedir,'bin',script),'w') + fp.write(text) + fp.close() + +def create_package(name,standalonedir): + try: + import pysvn + try: + client=pysvn.Client() + svn_info=client.info('.') + revstring='-rev'+str(svn_info['revision'.number]) + except pysvn.ClientError: + print 'No svn directory found. Addin no revision number.' + revstring='' + except ImportError: + print 'Pysvn not installed. Adding no revision number.' + revstring='' + tar_name=name+'-linux-'+get_arch()+revstring+'.tgz' + if os.path.exists(tar_name): + os.remove(tar_name) + tar = tarfile.open(tar_name, "w:gz") + tar.add(standalonedir,name+'-linux-'+get_arch()+revstring) + tar.close() + +def ignorer(dirpath,files): + ignores=[] + for f in files: + base=os.path.splitext(f)[0] + if f.endswith('.py'): + if base+'.pyc' in files or base+'.pyo' in files: + ignores.append(f) + elif f.endswith('.pyc'): + if base+'.pyo' in files: + ignores.append(f) + return ignores + +def copy_python_dirs(standalonedir): + dirs=sys.path[1:] + dirs.sort() #get toplevel dir to the beginning + toplevel=dirs[0] + shutil.copytree(toplevel,os.path.join(standalonedir,get_libdir(),'python'),ignore=ignorer) + for d in dirs[1:]: + if not d.startswith(toplevel) and os.path.isdir(d): + toplevel=d + copytree_ex(toplevel,os.path.join(standalonedir,get_libdir(),'python'),ignore=ignorer) + + +def copytree_ex(source,destination, symlinks=False,ignore=None): + if not os.path.exists(destination): + shutil.copytree(source,destination,symlinks,ignore) + elif os.path.isdir(destination): + files=os.listdir(source) + if ignore: + ignores=ignore(source,files) + else: + ignores=[] + for f in files: + srcname=os.path.join(source,f) + dstname=os.path.join(destination,f) + if os.path.isdir(os.path.join(source,f)): + copytree_ex(srcname,dstname,symlinks,ignore=ignorer) + elif f not in ignores: + if symlinks and os.path.islink(srcname): + linkto = os.readlink(srcname) + os.symlink(linkto, dstname) + else: + shutil.copy2(srcname, dstname) + else: + raise IOError("destination is not a directory") + + + +############ main script #################### + +stagedir='../../stage' +ost_stagedir='../../../openstructure/stage' +standalonedir=os.path.join(os.getcwd(),'standalone') +binaries=['gosty'] +exclude_list=['ld-linux','libexpat','libgcc_s','libglib','cmov','libice','libSM','libX','libg','libGL','libfontconfig','libfreetype','libdrm','libxcb','libICE'] +scripts=['dng','ost'] + +#compile_stage() + +clean(standalonedir) +print 'copying stage' +copy_stage(stagedir,standalonedir) +print 'copying ost stage' +copy_stage(ost_stagedir,standalonedir) +print 'copying python' +shutil.copy(sys.executable,os.path.join(stagedir,'bin')) +copy_python_dirs(standalonedir) +print 'copying dependencies' +binaries.append(sys.executable) +copy_deps(binaries,standalonedir,exclude_list) +print 'copying examples' +copy_examples(stagedir) +print 'copying plugins' +copy_qt_plugins() +print 'processing scripts' +process_scripts(scripts,standalonedir) +print 'creating package' +create_package('openstructure','standalone') diff --git a/deployment/linux/create_qmean_bundle.py b/deployment/linux/create_qmean_bundle.py index d62c348bdd0e846f1f9075be778d79fd39fe67f5..e8743cb03106a2819475635a4353f5dcee39a1b0 100644 --- a/deployment/linux/create_qmean_bundle.py +++ b/deployment/linux/create_qmean_bundle.py @@ -60,9 +60,16 @@ subprocess.call('sed "s/\#export LD_LIBRARY_PATH/ export LD_LIBRARY_PATH/g" scri subprocess.call('sed "s/\#export PYTHONHOME/ export PYTHONHOME/g" scripts/dng.in.preprepre > scripts/dng.in.prepre',shell=True,cwd='../../') subprocess.call('sed "s/\#export PYTHONPATH/ export PYTHONPATH/g" scripts/ost.in.prepre > scripts/ost.in.pre',shell=True,cwd='../../') subprocess.call('sed "s/\#export QT_PLUGIN_PATH/ export QT_PLUGIN_PATH/g" scripts/dng.in.pre > scripts/dng.in',shell=True,cwd='../../') +print 'Downloading Chemlib dictionary' +subprocess.call('wget ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif', shell=True, cwd='../../') print 'Compiling Openstructure/Qmean' subprocess.call('cmake ./ -DCMAKE_BUILD_TYPE=Release -DPREFIX='+directory_name+' -DBoost_COMPILER='+boost_string+' -DONLY_QMEAN=ON -DENABLE_IMG=OFF -DENABLE_UI=OFF -DENABLE_GFX=OFF -DCOMPOUND_LIB=ChemLib/compounds.chemlib', shell=True,cwd='../../') subprocess.call('make',shell=True,cwd='../../') +print 'Converting Chemlib dictionary' +subprocess.call('stage/bin/chemdict_tool create components.cif compounds.chemlib', shell=True, cwd='../../') +print '\nStaging Chemlib dictionary' +subprocess.call('cmake ./ -DCOMPOUND_LIB=compounds.chemlib',shell=True,cwd='../../') +subprocess.call('make',shell=True,cwd='../../') print 'Removing obsolete packages and package directory' subprocess.call('rm -fr qmean-*',shell=True,cwd='../../') print 'Creating new package directory' @@ -110,6 +117,8 @@ print 'Copy examples into package directory structure' subprocess.call('cp -pRL examples '+directory_name+'/share/openstructure/',shell=True,cwd='../../') print 'Removing headers from package directory structure' subprocess.call('rm -fr '+directory_name+'/include',shell=True,cwd='../../') +print 'Copying supplementary material into package directory structure' +subprocess.call('cp -pRL stage/share/openstructure '+directory_name+'/share/',shell=True,cwd='../../') print 'Copy qmean examples into package directory structure' subprocess.call('cp -pRL modules/scratch/qmean/examples '+directory_name+'',shell=True,cwd='../../') print 'Copy readme and license files into package directory structure' diff --git a/deployment/macos/Installer.pmdoc/01dng-contents.xml b/deployment/macos/Installer.pmdoc/01dng-contents.xml deleted file mode 100644 index 61b6589190a24ad8a3f71f550a63eec92cf1af14..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/01dng-contents.xml +++ /dev/null @@ -1 +0,0 @@ -<pkg-contents spec="1.12"><f n="DNG.app" o="marco" g="staff" p="16893" pt="/Users/marco/Projects/ost/deployment/macos/DNG.app" m="true" t="file"><f n="Contents" o="marco" g="staff" p="16893"><f n="Info.plist" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="MacOS" o="marco" g="staff" p="16893"><f n="dng" o="marco" g="staff" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="PkgInfo" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f></pkg-contents> \ No newline at end of file diff --git a/deployment/macos/Installer.pmdoc/01dng.xml b/deployment/macos/Installer.pmdoc/01dng.xml deleted file mode 100644 index 728c5d6e076e6fc602f056ad2fd17de29a976a3d..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/01dng.xml +++ /dev/null @@ -1 +0,0 @@ -<pkgref spec="1.12" uuid="4C7C03C1-13A5-49A8-8A66-B35160BCA334"><config><identifier>org.openstructure.DNG.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true" includeRoot="true">DNG.app</installFrom><installTo mod="true">/Applications/OpenStructure</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>requireAuthorization</mod><mod>relocatable</mod><mod>installTo.path</mod><mod>installFrom.path</mod><mod>installTo</mod><mod>identifier</mod></config><contents><file-list>01dng-contents.xml</file-list><component id="org.openstructure.OpenStructure" path="/Users/marco/Projects/ost/deployment/macos/DNG.app" version="" isRelocatable="true"><locator-info><token title="pkmk-token-10"><search-rule><combo identifier="org.openstructure.OpenStructure" default-path="/Applications/DNG.app"/></search-rule></token></locator-info></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file diff --git a/deployment/macos/Installer.pmdoc/02openstructure-contents.xml b/deployment/macos/Installer.pmdoc/02openstructure-contents.xml deleted file mode 100644 index 7fde158fb0a196b859f68b515017ac7d1c4d02e0..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/02openstructure-contents.xml +++ /dev/null @@ -1 +0,0 @@ -<pkg-contents spec="1.12"><f n="openstructure" o="root" g="wheel" p="16877" pt="/usr/openstructure" m="false" t="file"><f n="bin" o="root" g="wheel" p="16877"><f n="2to3" o="root" g="wheel" p="33261"/><f n="bmp2tiff" o="root" g="wheel" p="33261"/><f n="chemdict_tool" o="root" g="wheel" p="33261"/><f n="dng" o="root" g="wheel" p="33133"/><f n="fax2ps" o="root" g="wheel" p="33261"/><f n="fax2tiff" o="root" g="wheel" p="33261"/><f n="fftw-wisdom-to-conf" o="root" g="wheel" p="33261"/><f n="fftwf-wisdom" o="root" g="wheel" p="33261"/><f n="gif2tiff" o="root" g="wheel" p="33261"/><f n="gipltng" o="root" g="wheel" p="33133"/><f n="gosty" o="root" g="wheel" p="33261"/><f n="idle" o="root" g="wheel" p="33261"/><f n="init.py" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="init_cl.py" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="init_iplt.py" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="lconvert" o="root" g="wheel" p="33261"/><f n="libpng-config" o="root" g="wheel" p="33261"/><f n="libpng12-config" o="root" g="wheel" p="33261"/><f n="lrelease" o="root" g="wheel" p="33261"/><f n="lupdate" o="root" g="wheel" p="33261"/><f n="macdeployqt" o="root" g="wheel" p="33261"/><f n="moc" o="root" g="wheel" p="33261"/><f n="ost" o="root" g="wheel" p="33133"/><f n="pal2rgb" o="root" g="wheel" p="33261"/><f n="ppm2tiff" o="root" g="wheel" p="33261"/><f n="pydoc" o="root" g="wheel" p="33261"/><f n="pylupdate4" o="root" g="wheel" p="33261"/><f n="pyrcc4" o="root" g="wheel" p="33261"/><f n="python" o="root" g="wheel" p="33261"/><f n="python-config" o="root" g="wheel" p="33261"/><f n="python2.6" o="root" g="wheel" p="33261"/><f n="python2.6-config" o="root" g="wheel" p="33261"/><f n="pyuic4" o="root" g="wheel" p="33261"/><f n="qcollectiongenerator" o="root" g="wheel" p="33261"/><f n="qdbus" o="root" g="wheel" p="33261"/><f n="qdbuscpp2xml" o="root" g="wheel" p="33261"/><f n="qdbusxml2cpp" o="root" g="wheel" p="33261"/><f n="qhelpgenerator" o="root" g="wheel" p="33261"/><f n="qmake" o="root" g="wheel" p="33261"/><f n="qt3to4" o="root" g="wheel" p="33261"/><f n="ras2tiff" o="root" g="wheel" p="33261"/><f n="raw2tiff" o="root" g="wheel" p="33261"/><f n="rcc" o="root" g="wheel" p="33261"/><f n="rgb2ycbcr" o="root" g="wheel" p="33261"/><f n="sip" o="root" g="wheel" p="33261"/><f n="smtpd.py" o="root" g="wheel" p="33261"/><f n="thumbnail" o="root" g="wheel" p="33261"/><f n="tiff2bw" o="root" g="wheel" p="33261"/><f n="tiff2pdf" o="root" g="wheel" p="33261"/><f n="tiff2ps" o="root" g="wheel" p="33261"/><f n="tiff2rgba" o="root" g="wheel" p="33261"/><f n="tiffcmp" o="root" g="wheel" p="33261"/><f n="tiffcp" o="root" g="wheel" p="33261"/><f n="tiffdither" o="root" g="wheel" p="33261"/><f n="tiffdump" o="root" g="wheel" p="33261"/><f n="tiffinfo" o="root" g="wheel" p="33261"/><f n="tiffmedian" o="root" g="wheel" p="33261"/><f n="tiffset" o="root" g="wheel" p="33261"/><f n="tiffsplit" o="root" g="wheel" p="33261"/><f n="uic" o="root" g="wheel" p="33261"/><f n="xmlpatterns" o="root" g="wheel" p="33261"/></f><f n="include" o="root" g="wheel" p="16877"><f n="boost-1.41.0" o="root" g="wheel" p="16877"><f n="boost" o="root" g="wheel" p="16877"><f n="accumulators" o="root" g="wheel" p="16877"><f n="accumulators.hpp" o="root" g="wheel" p="33188"/><f n="accumulators_fwd.hpp" o="root" g="wheel" p="33188"/><f n="framework" o="root" g="wheel" p="16877"><f n="accumulator_base.hpp" o="root" g="wheel" p="33188"/><f n="accumulator_concept.hpp" o="root" g="wheel" p="33188"/><f n="accumulator_set.hpp" o="root" g="wheel" p="33188"/><f n="accumulators" o="root" g="wheel" p="16877"><f n="droppable_accumulator.hpp" o="root" g="wheel" p="33188"/><f n="external_accumulator.hpp" o="root" g="wheel" p="33188"/><f n="reference_accumulator.hpp" o="root" g="wheel" p="33188"/><f n="value_accumulator.hpp" o="root" g="wheel" p="33188"/></f><f n="depends_on.hpp" o="root" g="wheel" p="33188"/><f n="external.hpp" o="root" g="wheel" p="33188"/><f n="extractor.hpp" o="root" g="wheel" p="33188"/><f n="features.hpp" o="root" g="wheel" p="33188"/><f n="parameters" o="root" g="wheel" p="16877"><f n="accumulator.hpp" o="root" g="wheel" p="33188"/><f n="sample.hpp" o="root" g="wheel" p="33188"/><f n="weight.hpp" o="root" g="wheel" p="33188"/><f n="weights.hpp" o="root" g="wheel" p="33188"/></f></f><f n="numeric" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="function1.hpp" o="root" g="wheel" p="33188"/><f n="function2.hpp" o="root" g="wheel" p="33188"/><f n="function3.hpp" o="root" g="wheel" p="33188"/><f n="function4.hpp" o="root" g="wheel" p="33188"/><f n="function_n.hpp" o="root" g="wheel" p="33188"/><f n="pod_singleton.hpp" o="root" g="wheel" p="33188"/></f><f n="functional" o="root" g="wheel" p="16877"><f n="complex.hpp" o="root" g="wheel" p="33188"/><f n="valarray.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/></f><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="functional_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="statistics" o="root" g="wheel" p="16877"><f n="count.hpp" o="root" g="wheel" p="33188"/><f n="covariance.hpp" o="root" g="wheel" p="33188"/><f n="density.hpp" o="root" g="wheel" p="33188"/><f n="error_of.hpp" o="root" g="wheel" p="33188"/><f n="error_of_mean.hpp" o="root" g="wheel" p="33188"/><f n="extended_p_square.hpp" o="root" g="wheel" p="33188"/><f n="extended_p_square_quantile.hpp" o="root" g="wheel" p="33188"/><f n="kurtosis.hpp" o="root" g="wheel" p="33188"/><f n="max.hpp" o="root" g="wheel" p="33188"/><f n="mean.hpp" o="root" g="wheel" p="33188"/><f n="median.hpp" o="root" g="wheel" p="33188"/><f n="min.hpp" o="root" g="wheel" p="33188"/><f n="moment.hpp" o="root" g="wheel" p="33188"/><f n="p_square_cumulative_distribution.hpp" o="root" g="wheel" p="33188"/><f n="p_square_quantile.hpp" o="root" g="wheel" p="33188"/><f n="parameters" o="root" g="wheel" p="16877"><f n="quantile_probability.hpp" o="root" g="wheel" p="33188"/></f><f n="peaks_over_threshold.hpp" o="root" g="wheel" p="33188"/><f n="pot_quantile.hpp" o="root" g="wheel" p="33188"/><f n="pot_tail_mean.hpp" o="root" g="wheel" p="33188"/><f n="rolling_count.hpp" o="root" g="wheel" p="33188"/><f n="rolling_mean.hpp" o="root" g="wheel" p="33188"/><f n="rolling_sum.hpp" o="root" g="wheel" p="33188"/><f n="rolling_window.hpp" o="root" g="wheel" p="33188"/><f n="skewness.hpp" o="root" g="wheel" p="33188"/><f n="stats.hpp" o="root" g="wheel" p="33188"/><f n="sum.hpp" o="root" g="wheel" p="33188"/><f n="tail.hpp" o="root" g="wheel" p="33188"/><f n="tail_mean.hpp" o="root" g="wheel" p="33188"/><f n="tail_quantile.hpp" o="root" g="wheel" p="33188"/><f n="tail_variate.hpp" o="root" g="wheel" p="33188"/><f n="tail_variate_means.hpp" o="root" g="wheel" p="33188"/><f n="times2_iterator.hpp" o="root" g="wheel" p="33188"/><f n="variance.hpp" o="root" g="wheel" p="33188"/><f n="variates" o="root" g="wheel" p="16877"><f n="covariate.hpp" o="root" g="wheel" p="33188"/></f><f n="weighted_covariance.hpp" o="root" g="wheel" p="33188"/><f n="weighted_density.hpp" o="root" g="wheel" p="33188"/><f n="weighted_extended_p_square.hpp" o="root" g="wheel" p="33188"/><f n="weighted_kurtosis.hpp" o="root" g="wheel" p="33188"/><f n="weighted_mean.hpp" o="root" g="wheel" p="33188"/><f n="weighted_median.hpp" o="root" g="wheel" p="33188"/><f n="weighted_moment.hpp" o="root" g="wheel" p="33188"/><f n="weighted_p_square_cumulative_distribution.hpp" o="root" g="wheel" p="33188"/><f n="weighted_p_square_quantile.hpp" o="root" g="wheel" p="33188"/><f n="weighted_peaks_over_threshold.hpp" o="root" g="wheel" p="33188"/><f n="weighted_skewness.hpp" o="root" g="wheel" p="33188"/><f n="weighted_sum.hpp" o="root" g="wheel" p="33188"/><f n="weighted_tail_mean.hpp" o="root" g="wheel" p="33188"/><f n="weighted_tail_quantile.hpp" o="root" g="wheel" p="33188"/><f n="weighted_tail_variate_means.hpp" o="root" g="wheel" p="33188"/><f n="weighted_variance.hpp" o="root" g="wheel" p="33188"/><f n="with_error.hpp" o="root" g="wheel" p="33188"/></f><f n="statistics.hpp" o="root" g="wheel" p="33188"/><f n="statistics_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="algorithm" o="root" g="wheel" p="16877"><f n="minmax.hpp" o="root" g="wheel" p="33188"/><f n="minmax_element.hpp" o="root" g="wheel" p="33188"/><f n="string" o="root" g="wheel" p="16877"><f n="case_conv.hpp" o="root" g="wheel" p="33188"/><f n="classification.hpp" o="root" g="wheel" p="33188"/><f n="compare.hpp" o="root" g="wheel" p="33188"/><f n="concept.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="constants.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="case_conv.hpp" o="root" g="wheel" p="33188"/><f n="classification.hpp" o="root" g="wheel" p="33188"/><f n="find_format.hpp" o="root" g="wheel" p="33188"/><f n="find_format_all.hpp" o="root" g="wheel" p="33188"/><f n="find_format_store.hpp" o="root" g="wheel" p="33188"/><f n="find_iterator.hpp" o="root" g="wheel" p="33188"/><f n="finder.hpp" o="root" g="wheel" p="33188"/><f n="finder_regex.hpp" o="root" g="wheel" p="33188"/><f n="formatter.hpp" o="root" g="wheel" p="33188"/><f n="formatter_regex.hpp" o="root" g="wheel" p="33188"/><f n="predicate.hpp" o="root" g="wheel" p="33188"/><f n="replace_storage.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="trim.hpp" o="root" g="wheel" p="33188"/><f n="util.hpp" o="root" g="wheel" p="33188"/></f><f n="erase.hpp" o="root" g="wheel" p="33188"/><f n="find.hpp" o="root" g="wheel" p="33188"/><f n="find_format.hpp" o="root" g="wheel" p="33188"/><f n="find_iterator.hpp" o="root" g="wheel" p="33188"/><f n="finder.hpp" o="root" g="wheel" p="33188"/><f n="formatter.hpp" o="root" g="wheel" p="33188"/><f n="iter_find.hpp" o="root" g="wheel" p="33188"/><f n="join.hpp" o="root" g="wheel" p="33188"/><f n="predicate.hpp" o="root" g="wheel" p="33188"/><f n="predicate_facade.hpp" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="regex_find_format.hpp" o="root" g="wheel" p="33188"/><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="sequence_traits.hpp" o="root" g="wheel" p="33188"/><f n="split.hpp" o="root" g="wheel" p="33188"/><f n="std" o="root" g="wheel" p="16877"><f n="list_traits.hpp" o="root" g="wheel" p="33188"/><f n="rope_traits.hpp" o="root" g="wheel" p="33188"/><f n="slist_traits.hpp" o="root" g="wheel" p="33188"/><f n="string_traits.hpp" o="root" g="wheel" p="33188"/></f><f n="std_containers_traits.hpp" o="root" g="wheel" p="33188"/><f n="trim.hpp" o="root" g="wheel" p="33188"/><f n="yes_no_type.hpp" o="root" g="wheel" p="33188"/></f><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="string_regex.hpp" o="root" g="wheel" p="33188"/></f><f n="aligned_storage.hpp" o="root" g="wheel" p="33188"/><f n="any.hpp" o="root" g="wheel" p="33188"/><f n="archive" o="root" g="wheel" p="16877"><f n="add_facet.hpp" o="root" g="wheel" p="33188"/><f n="archive_exception.hpp" o="root" g="wheel" p="33188"/><f n="basic_archive.hpp" o="root" g="wheel" p="33188"/><f n="basic_binary_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_binary_iprimitive.hpp" o="root" g="wheel" p="33188"/><f n="basic_binary_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_binary_oprimitive.hpp" o="root" g="wheel" p="33188"/><f n="basic_streambuf_locale_saver.hpp" o="root" g="wheel" p="33188"/><f n="basic_text_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_text_iprimitive.hpp" o="root" g="wheel" p="33188"/><f n="basic_text_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_text_oprimitive.hpp" o="root" g="wheel" p="33188"/><f n="basic_xml_archive.hpp" o="root" g="wheel" p="33188"/><f n="basic_xml_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_xml_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="binary_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="binary_iarchive_impl.hpp" o="root" g="wheel" p="33188"/><f n="binary_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="binary_oarchive_impl.hpp" o="root" g="wheel" p="33188"/><f n="binary_wiarchive.hpp" o="root" g="wheel" p="33188"/><f n="binary_woarchive.hpp" o="root" g="wheel" p="33188"/><f n="codecvt_null.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="abi_prefix.hpp" o="root" g="wheel" p="33188"/><f n="abi_suffix.hpp" o="root" g="wheel" p="33188"/><f n="archive_serializer_map.hpp" o="root" g="wheel" p="33188"/><f n="auto_link_archive.hpp" o="root" g="wheel" p="33188"/><f n="auto_link_warchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_archive_impl.hpp" o="root" g="wheel" p="33188"/><f n="basic_config.hpp" o="root" g="wheel" p="33188"/><f n="basic_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_iserializer.hpp" o="root" g="wheel" p="33188"/><f n="basic_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="basic_oserializer.hpp" o="root" g="wheel" p="33188"/><f n="basic_pointer_iserializer.hpp" o="root" g="wheel" p="33188"/><f n="basic_pointer_oserializer.hpp" o="root" g="wheel" p="33188"/><f n="basic_serializer.hpp" o="root" g="wheel" p="33188"/><f n="basic_serializer_map.hpp" o="root" g="wheel" p="33188"/><f n="check.hpp" o="root" g="wheel" p="33188"/><f n="common_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="common_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="decl.hpp" o="root" g="wheel" p="33188"/><f n="interface_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="interface_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="iserializer.hpp" o="root" g="wheel" p="33188"/><f n="oserializer.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_iarchive_route.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_oarchive_route.hpp" o="root" g="wheel" p="33188"/><f n="register_archive.hpp" o="root" g="wheel" p="33188"/><f n="utf8_codecvt_facet.hpp" o="root" g="wheel" p="33188"/></f><f n="dinkumware.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="archive_serializer_map.ipp" o="root" g="wheel" p="33188"/><f n="basic_binary_iarchive.ipp" o="root" g="wheel" p="33188"/><f n="basic_binary_iprimitive.ipp" o="root" g="wheel" p="33188"/><f n="basic_binary_oarchive.ipp" o="root" g="wheel" p="33188"/><f n="basic_binary_oprimitive.ipp" o="root" g="wheel" p="33188"/><f n="basic_text_iarchive.ipp" o="root" g="wheel" p="33188"/><f n="basic_text_iprimitive.ipp" o="root" g="wheel" p="33188"/><f n="basic_text_oarchive.ipp" o="root" g="wheel" p="33188"/><f n="basic_text_oprimitive.ipp" o="root" g="wheel" p="33188"/><f n="basic_xml_grammar.hpp" o="root" g="wheel" p="33188"/><f n="basic_xml_iarchive.ipp" o="root" g="wheel" p="33188"/><f n="basic_xml_oarchive.ipp" o="root" g="wheel" p="33188"/><f n="text_iarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="text_oarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="text_wiarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="text_woarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="xml_iarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="xml_oarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="xml_wiarchive_impl.ipp" o="root" g="wheel" p="33188"/><f n="xml_woarchive_impl.ipp" o="root" g="wheel" p="33188"/></f><f n="iterators" o="root" g="wheel" p="16877"><f n="base64_exception.hpp" o="root" g="wheel" p="33188"/><f n="base64_from_binary.hpp" o="root" g="wheel" p="33188"/><f n="binary_from_base64.hpp" o="root" g="wheel" p="33188"/><f n="dataflow.hpp" o="root" g="wheel" p="33188"/><f n="dataflow_exception.hpp" o="root" g="wheel" p="33188"/><f n="escape.hpp" o="root" g="wheel" p="33188"/><f n="head_iterator.hpp" o="root" g="wheel" p="33188"/><f n="insert_linebreaks.hpp" o="root" g="wheel" p="33188"/><f n="istream_iterator.hpp" o="root" g="wheel" p="33188"/><f n="mb_from_wchar.hpp" o="root" g="wheel" p="33188"/><f n="ostream_iterator.hpp" o="root" g="wheel" p="33188"/><f n="remove_whitespace.hpp" o="root" g="wheel" p="33188"/><f n="transform_width.hpp" o="root" g="wheel" p="33188"/><f n="unescape.hpp" o="root" g="wheel" p="33188"/><f n="wchar_from_mb.hpp" o="root" g="wheel" p="33188"/><f n="xml_escape.hpp" o="root" g="wheel" p="33188"/><f n="xml_unescape.hpp" o="root" g="wheel" p="33188"/><f n="xml_unescape_exception.hpp" o="root" g="wheel" p="33188"/></f><f n="polymorphic_binary_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_binary_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_text_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_text_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_text_wiarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_text_woarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_xml_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_xml_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_xml_wiarchive.hpp" o="root" g="wheel" p="33188"/><f n="polymorphic_xml_woarchive.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_helper.hpp" o="root" g="wheel" p="33188"/><f n="text_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="text_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="text_wiarchive.hpp" o="root" g="wheel" p="33188"/><f n="text_woarchive.hpp" o="root" g="wheel" p="33188"/><f n="tmpdir.hpp" o="root" g="wheel" p="33188"/><f n="wcslen.hpp" o="root" g="wheel" p="33188"/><f n="xml_archive_exception.hpp" o="root" g="wheel" p="33188"/><f n="xml_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="xml_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="xml_wiarchive.hpp" o="root" g="wheel" p="33188"/><f n="xml_woarchive.hpp" o="root" g="wheel" p="33188"/></f><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="asio" o="root" g="wheel" p="16877"><f n="basic_datagram_socket.hpp" o="root" g="wheel" p="33188"/><f n="basic_deadline_timer.hpp" o="root" g="wheel" p="33188"/><f n="basic_io_object.hpp" o="root" g="wheel" p="33188"/><f n="basic_raw_socket.hpp" o="root" g="wheel" p="33188"/><f n="basic_serial_port.hpp" o="root" g="wheel" p="33188"/><f n="basic_socket.hpp" o="root" g="wheel" p="33188"/><f n="basic_socket_acceptor.hpp" o="root" g="wheel" p="33188"/><f n="basic_socket_iostream.hpp" o="root" g="wheel" p="33188"/><f n="basic_socket_streambuf.hpp" o="root" g="wheel" p="33188"/><f n="basic_stream_socket.hpp" o="root" g="wheel" p="33188"/><f n="basic_streambuf.hpp" o="root" g="wheel" p="33188"/><f n="buffer.hpp" o="root" g="wheel" p="33188"/><f n="buffered_read_stream.hpp" o="root" g="wheel" p="33188"/><f n="buffered_read_stream_fwd.hpp" o="root" g="wheel" p="33188"/><f n="buffered_stream.hpp" o="root" g="wheel" p="33188"/><f n="buffered_stream_fwd.hpp" o="root" g="wheel" p="33188"/><f n="buffered_write_stream.hpp" o="root" g="wheel" p="33188"/><f n="buffered_write_stream_fwd.hpp" o="root" g="wheel" p="33188"/><f n="buffers_iterator.hpp" o="root" g="wheel" p="33188"/><f n="completion_condition.hpp" o="root" g="wheel" p="33188"/><f n="datagram_socket_service.hpp" o="root" g="wheel" p="33188"/><f n="deadline_timer.hpp" o="root" g="wheel" p="33188"/><f n="deadline_timer_service.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bind_handler.hpp" o="root" g="wheel" p="33188"/><f n="buffer_resize_guard.hpp" o="root" g="wheel" p="33188"/><f n="buffered_stream_storage.hpp" o="root" g="wheel" p="33188"/><f n="call_stack.hpp" o="root" g="wheel" p="33188"/><f n="const_buffers_iterator.hpp" o="root" g="wheel" p="33188"/><f n="consuming_buffers.hpp" o="root" g="wheel" p="33188"/><f n="deadline_timer_service.hpp" o="root" g="wheel" p="33188"/><f n="descriptor_ops.hpp" o="root" g="wheel" p="33188"/><f n="dev_poll_reactor.hpp" o="root" g="wheel" p="33188"/><f n="dev_poll_reactor_fwd.hpp" o="root" g="wheel" p="33188"/><f n="epoll_reactor.hpp" o="root" g="wheel" p="33188"/><f n="epoll_reactor_fwd.hpp" o="root" g="wheel" p="33188"/><f n="event.hpp" o="root" g="wheel" p="33188"/><f n="eventfd_select_interrupter.hpp" o="root" g="wheel" p="33188"/><f n="fd_set_adapter.hpp" o="root" g="wheel" p="33188"/><f n="handler_alloc_helpers.hpp" o="root" g="wheel" p="33188"/><f n="handler_base_from_member.hpp" o="root" g="wheel" p="33188"/><f n="handler_invoke_helpers.hpp" o="root" g="wheel" p="33188"/><f n="handler_queue.hpp" o="root" g="wheel" p="33188"/><f n="hash_map.hpp" o="root" g="wheel" p="33188"/><f n="indirect_handler_queue.hpp" o="root" g="wheel" p="33188"/><f n="io_control.hpp" o="root" g="wheel" p="33188"/><f n="kqueue_reactor.hpp" o="root" g="wheel" p="33188"/><f n="kqueue_reactor_fwd.hpp" o="root" g="wheel" p="33188"/><f n="local_free_on_block_exit.hpp" o="root" g="wheel" p="33188"/><f n="mutex.hpp" o="root" g="wheel" p="33188"/><f n="noncopyable.hpp" o="root" g="wheel" p="33188"/><f n="null_event.hpp" o="root" g="wheel" p="33188"/><f n="null_mutex.hpp" o="root" g="wheel" p="33188"/><f n="null_signal_blocker.hpp" o="root" g="wheel" p="33188"/><f n="null_thread.hpp" o="root" g="wheel" p="33188"/><f n="null_tss_ptr.hpp" o="root" g="wheel" p="33188"/><f n="old_win_sdk_compat.hpp" o="root" g="wheel" p="33188"/><f n="pipe_select_interrupter.hpp" o="root" g="wheel" p="33188"/><f n="pop_options.hpp" o="root" g="wheel" p="33188"/><f n="posix_event.hpp" o="root" g="wheel" p="33188"/><f n="posix_fd_set_adapter.hpp" o="root" g="wheel" p="33188"/><f n="posix_mutex.hpp" o="root" g="wheel" p="33188"/><f n="posix_signal_blocker.hpp" o="root" g="wheel" p="33188"/><f n="posix_thread.hpp" o="root" g="wheel" p="33188"/><f n="posix_tss_ptr.hpp" o="root" g="wheel" p="33188"/><f n="push_options.hpp" o="root" g="wheel" p="33188"/><f n="reactive_descriptor_service.hpp" o="root" g="wheel" p="33188"/><f n="reactive_serial_port_service.hpp" o="root" g="wheel" p="33188"/><f n="reactive_socket_service.hpp" o="root" g="wheel" p="33188"/><f n="reactor_op_queue.hpp" o="root" g="wheel" p="33188"/><f n="resolver_service.hpp" o="root" g="wheel" p="33188"/><f n="scoped_lock.hpp" o="root" g="wheel" p="33188"/><f n="select_interrupter.hpp" o="root" g="wheel" p="33188"/><f n="select_reactor.hpp" o="root" g="wheel" p="33188"/><f n="select_reactor_fwd.hpp" o="root" g="wheel" p="33188"/><f n="service_base.hpp" o="root" g="wheel" p="33188"/><f n="service_id.hpp" o="root" g="wheel" p="33188"/><f n="service_registry.hpp" o="root" g="wheel" p="33188"/><f n="service_registry_fwd.hpp" o="root" g="wheel" p="33188"/><f n="signal_blocker.hpp" o="root" g="wheel" p="33188"/><f n="signal_init.hpp" o="root" g="wheel" p="33188"/><f n="socket_holder.hpp" o="root" g="wheel" p="33188"/><f n="socket_ops.hpp" o="root" g="wheel" p="33188"/><f n="socket_option.hpp" o="root" g="wheel" p="33188"/><f n="socket_select_interrupter.hpp" o="root" g="wheel" p="33188"/><f n="socket_types.hpp" o="root" g="wheel" p="33188"/><f n="strand_service.hpp" o="root" g="wheel" p="33188"/><f n="task_io_service.hpp" o="root" g="wheel" p="33188"/><f n="task_io_service_2lock.hpp" o="root" g="wheel" p="33188"/><f n="task_io_service_fwd.hpp" o="root" g="wheel" p="33188"/><f n="thread.hpp" o="root" g="wheel" p="33188"/><f n="throw_error.hpp" o="root" g="wheel" p="33188"/><f n="timer_queue.hpp" o="root" g="wheel" p="33188"/><f n="timer_queue_base.hpp" o="root" g="wheel" p="33188"/><f n="tss_ptr.hpp" o="root" g="wheel" p="33188"/><f n="win_event.hpp" o="root" g="wheel" p="33188"/><f n="win_fd_set_adapter.hpp" o="root" g="wheel" p="33188"/><f n="win_iocp_handle_service.hpp" o="root" g="wheel" p="33188"/><f n="win_iocp_io_service.hpp" o="root" g="wheel" p="33188"/><f n="win_iocp_io_service_fwd.hpp" o="root" g="wheel" p="33188"/><f n="win_iocp_overlapped_ptr.hpp" o="root" g="wheel" p="33188"/><f n="win_iocp_serial_port_service.hpp" o="root" g="wheel" p="33188"/><f n="win_iocp_socket_service.hpp" o="root" g="wheel" p="33188"/><f n="win_mutex.hpp" o="root" g="wheel" p="33188"/><f n="win_signal_blocker.hpp" o="root" g="wheel" p="33188"/><f n="win_thread.hpp" o="root" g="wheel" p="33188"/><f n="win_tss_ptr.hpp" o="root" g="wheel" p="33188"/><f n="wince_thread.hpp" o="root" g="wheel" p="33188"/><f n="winsock_init.hpp" o="root" g="wheel" p="33188"/><f n="wrapped_handler.hpp" o="root" g="wheel" p="33188"/></f><f n="error.hpp" o="root" g="wheel" p="33188"/><f n="handler_alloc_hook.hpp" o="root" g="wheel" p="33188"/><f n="handler_invoke_hook.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="io_service.ipp" o="root" g="wheel" p="33188"/><f n="read.ipp" o="root" g="wheel" p="33188"/><f n="read_at.ipp" o="root" g="wheel" p="33188"/><f n="read_until.ipp" o="root" g="wheel" p="33188"/><f n="serial_port_base.ipp" o="root" g="wheel" p="33188"/><f n="write.ipp" o="root" g="wheel" p="33188"/><f n="write_at.ipp" o="root" g="wheel" p="33188"/></f><f n="io_service.hpp" o="root" g="wheel" p="33188"/><f n="ip" o="root" g="wheel" p="16877"><f n="address.hpp" o="root" g="wheel" p="33188"/><f n="address_v4.hpp" o="root" g="wheel" p="33188"/><f n="address_v6.hpp" o="root" g="wheel" p="33188"/><f n="basic_endpoint.hpp" o="root" g="wheel" p="33188"/><f n="basic_resolver.hpp" o="root" g="wheel" p="33188"/><f n="basic_resolver_entry.hpp" o="root" g="wheel" p="33188"/><f n="basic_resolver_iterator.hpp" o="root" g="wheel" p="33188"/><f n="basic_resolver_query.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="socket_option.hpp" o="root" g="wheel" p="33188"/></f><f n="host_name.hpp" o="root" g="wheel" p="33188"/><f n="icmp.hpp" o="root" g="wheel" p="33188"/><f n="multicast.hpp" o="root" g="wheel" p="33188"/><f n="resolver_query_base.hpp" o="root" g="wheel" p="33188"/><f n="resolver_service.hpp" o="root" g="wheel" p="33188"/><f n="tcp.hpp" o="root" g="wheel" p="33188"/><f n="udp.hpp" o="root" g="wheel" p="33188"/><f n="unicast.hpp" o="root" g="wheel" p="33188"/><f n="v6_only.hpp" o="root" g="wheel" p="33188"/></f><f n="is_read_buffered.hpp" o="root" g="wheel" p="33188"/><f n="is_write_buffered.hpp" o="root" g="wheel" p="33188"/><f n="local" o="root" g="wheel" p="16877"><f n="basic_endpoint.hpp" o="root" g="wheel" p="33188"/><f n="connect_pair.hpp" o="root" g="wheel" p="33188"/><f n="datagram_protocol.hpp" o="root" g="wheel" p="33188"/><f n="stream_protocol.hpp" o="root" g="wheel" p="33188"/></f><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="posix" o="root" g="wheel" p="16877"><f n="basic_descriptor.hpp" o="root" g="wheel" p="33188"/><f n="basic_stream_descriptor.hpp" o="root" g="wheel" p="33188"/><f n="descriptor_base.hpp" o="root" g="wheel" p="33188"/><f n="stream_descriptor.hpp" o="root" g="wheel" p="33188"/><f n="stream_descriptor_service.hpp" o="root" g="wheel" p="33188"/></f><f n="raw_socket_service.hpp" o="root" g="wheel" p="33188"/><f n="read.hpp" o="root" g="wheel" p="33188"/><f n="read_at.hpp" o="root" g="wheel" p="33188"/><f n="read_until.hpp" o="root" g="wheel" p="33188"/><f n="serial_port.hpp" o="root" g="wheel" p="33188"/><f n="serial_port_base.hpp" o="root" g="wheel" p="33188"/><f n="serial_port_service.hpp" o="root" g="wheel" p="33188"/><f n="socket_acceptor_service.hpp" o="root" g="wheel" p="33188"/><f n="socket_base.hpp" o="root" g="wheel" p="33188"/><f n="ssl" o="root" g="wheel" p="16877"><f n="basic_context.hpp" o="root" g="wheel" p="33188"/><f n="context.hpp" o="root" g="wheel" p="33188"/><f n="context_base.hpp" o="root" g="wheel" p="33188"/><f n="context_service.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="openssl_context_service.hpp" o="root" g="wheel" p="33188"/><f n="openssl_init.hpp" o="root" g="wheel" p="33188"/><f n="openssl_operation.hpp" o="root" g="wheel" p="33188"/><f n="openssl_stream_service.hpp" o="root" g="wheel" p="33188"/><f n="openssl_types.hpp" o="root" g="wheel" p="33188"/></f><f n="stream.hpp" o="root" g="wheel" p="33188"/><f n="stream_base.hpp" o="root" g="wheel" p="33188"/><f n="stream_service.hpp" o="root" g="wheel" p="33188"/></f><f n="ssl.hpp" o="root" g="wheel" p="33188"/><f n="strand.hpp" o="root" g="wheel" p="33188"/><f n="stream_socket_service.hpp" o="root" g="wheel" p="33188"/><f n="streambuf.hpp" o="root" g="wheel" p="33188"/><f n="time_traits.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/><f n="windows" o="root" g="wheel" p="16877"><f n="basic_handle.hpp" o="root" g="wheel" p="33188"/><f n="basic_random_access_handle.hpp" o="root" g="wheel" p="33188"/><f n="basic_stream_handle.hpp" o="root" g="wheel" p="33188"/><f n="overlapped_ptr.hpp" o="root" g="wheel" p="33188"/><f n="random_access_handle.hpp" o="root" g="wheel" p="33188"/><f n="random_access_handle_service.hpp" o="root" g="wheel" p="33188"/><f n="stream_handle.hpp" o="root" g="wheel" p="33188"/><f n="stream_handle_service.hpp" o="root" g="wheel" p="33188"/></f><f n="write.hpp" o="root" g="wheel" p="33188"/><f n="write_at.hpp" o="root" g="wheel" p="33188"/></f><f n="asio.hpp" o="root" g="wheel" p="33188"/><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="assign" o="root" g="wheel" p="16877"><f n="assignment_exception.hpp" o="root" g="wheel" p="33188"/><f n="list_inserter.hpp" o="root" g="wheel" p="33188"/><f n="list_of.hpp" o="root" g="wheel" p="33188"/><f n="ptr_list_inserter.hpp" o="root" g="wheel" p="33188"/><f n="ptr_list_of.hpp" o="root" g="wheel" p="33188"/><f n="ptr_map_inserter.hpp" o="root" g="wheel" p="33188"/><f n="std" o="root" g="wheel" p="16877"><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="queue.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="slist.hpp" o="root" g="wheel" p="33188"/><f n="stack.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/></f><f n="std.hpp" o="root" g="wheel" p="33188"/></f><f n="assign.hpp" o="root" g="wheel" p="33188"/><f n="bimap" o="root" g="wheel" p="16877"><f n="bimap.hpp" o="root" g="wheel" p="33188"/><f n="container_adaptor" o="root" g="wheel" p="16877"><f n="associative_container_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="container_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="comparison_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="functor_bag.hpp" o="root" g="wheel" p="33188"/><f n="identity_converters.hpp" o="root" g="wheel" p="33188"/><f n="key_extractor.hpp" o="root" g="wheel" p="33188"/><f n="non_unique_container_helper.hpp" o="root" g="wheel" p="33188"/></f><f n="list_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="list_map_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="map_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="multimap_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="multiset_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="ordered_associative_container_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="sequence_container_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="set_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="support" o="root" g="wheel" p="16877"><f n="iterator_facade_converters.hpp" o="root" g="wheel" p="33188"/></f><f n="unordered_associative_container_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="unordered_map_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="unordered_multimap_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="unordered_multiset_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="vector_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="vector_map_adaptor.hpp" o="root" g="wheel" p="33188"/></f><f n="detail" o="root" g="wheel" p="16877"><f n="bimap_core.hpp" o="root" g="wheel" p="33188"/><f n="concept_tags.hpp" o="root" g="wheel" p="33188"/><f n="debug" o="root" g="wheel" p="16877"><f n="static_error.hpp" o="root" g="wheel" p="33188"/></f><f n="generate_index_binder.hpp" o="root" g="wheel" p="33188"/><f n="generate_relation_binder.hpp" o="root" g="wheel" p="33188"/><f n="generate_view_binder.hpp" o="root" g="wheel" p="33188"/><f n="is_set_type_of.hpp" o="root" g="wheel" p="33188"/><f n="manage_additional_parameters.hpp" o="root" g="wheel" p="33188"/><f n="manage_bimap_key.hpp" o="root" g="wheel" p="33188"/><f n="map_view_base.hpp" o="root" g="wheel" p="33188"/><f n="map_view_iterator.hpp" o="root" g="wheel" p="33188"/><f n="modifier_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="non_unique_views_helper.hpp" o="root" g="wheel" p="33188"/><f n="set_view_base.hpp" o="root" g="wheel" p="33188"/><f n="set_view_iterator.hpp" o="root" g="wheel" p="33188"/><f n="test" o="root" g="wheel" p="16877"><f n="check_metadata.hpp" o="root" g="wheel" p="33188"/></f><f n="user_interface_config.hpp" o="root" g="wheel" p="33188"/></f><f n="list_of.hpp" o="root" g="wheel" p="33188"/><f n="multiset_of.hpp" o="root" g="wheel" p="33188"/><f n="property_map" o="root" g="wheel" p="16877"><f n="set_support.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set_support.hpp" o="root" g="wheel" p="33188"/></f><f n="relation" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="access_builder.hpp" o="root" g="wheel" p="33188"/><f n="metadata_access_builder.hpp" o="root" g="wheel" p="33188"/><f n="mutant.hpp" o="root" g="wheel" p="33188"/><f n="static_access_builder.hpp" o="root" g="wheel" p="33188"/><f n="to_mutable_relation_functor.hpp" o="root" g="wheel" p="33188"/></f><f n="member_at.hpp" o="root" g="wheel" p="33188"/><f n="mutant_relation.hpp" o="root" g="wheel" p="33188"/><f n="pair_layout.hpp" o="root" g="wheel" p="33188"/><f n="structured_pair.hpp" o="root" g="wheel" p="33188"/><f n="support" o="root" g="wheel" p="16877"><f n="data_extractor.hpp" o="root" g="wheel" p="33188"/><f n="get.hpp" o="root" g="wheel" p="33188"/><f n="get_pair_functor.hpp" o="root" g="wheel" p="33188"/><f n="is_tag_of_member_at.hpp" o="root" g="wheel" p="33188"/><f n="member_with_tag.hpp" o="root" g="wheel" p="33188"/><f n="opposite_tag.hpp" o="root" g="wheel" p="33188"/><f n="pair_by.hpp" o="root" g="wheel" p="33188"/><f n="pair_type_by.hpp" o="root" g="wheel" p="33188"/><f n="value_type_of.hpp" o="root" g="wheel" p="33188"/></f><f n="symmetrical_base.hpp" o="root" g="wheel" p="33188"/></f><f n="set_of.hpp" o="root" g="wheel" p="33188"/><f n="support" o="root" g="wheel" p="16877"><f n="data_type_by.hpp" o="root" g="wheel" p="33188"/><f n="iterator_type_by.hpp" o="root" g="wheel" p="33188"/><f n="key_type_by.hpp" o="root" g="wheel" p="33188"/><f n="lambda.hpp" o="root" g="wheel" p="33188"/><f n="map_by.hpp" o="root" g="wheel" p="33188"/><f n="map_type_by.hpp" o="root" g="wheel" p="33188"/><f n="value_type_by.hpp" o="root" g="wheel" p="33188"/></f><f n="tags" o="root" g="wheel" p="16877"><f n="support" o="root" g="wheel" p="16877"><f n="apply_to_value_type.hpp" o="root" g="wheel" p="33188"/><f n="default_tagged.hpp" o="root" g="wheel" p="33188"/><f n="is_tagged.hpp" o="root" g="wheel" p="33188"/><f n="overwrite_tagged.hpp" o="root" g="wheel" p="33188"/><f n="tag_of.hpp" o="root" g="wheel" p="33188"/><f n="value_type_of.hpp" o="root" g="wheel" p="33188"/></f><f n="tagged.hpp" o="root" g="wheel" p="33188"/></f><f n="unconstrained_set_of.hpp" o="root" g="wheel" p="33188"/><f n="unordered_multiset_of.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set_of.hpp" o="root" g="wheel" p="33188"/><f n="vector_of.hpp" o="root" g="wheel" p="33188"/><f n="views" o="root" g="wheel" p="16877"><f n="list_map_view.hpp" o="root" g="wheel" p="33188"/><f n="list_set_view.hpp" o="root" g="wheel" p="33188"/><f n="map_view.hpp" o="root" g="wheel" p="33188"/><f n="multimap_view.hpp" o="root" g="wheel" p="33188"/><f n="multiset_view.hpp" o="root" g="wheel" p="33188"/><f n="set_view.hpp" o="root" g="wheel" p="33188"/><f n="unconstrained_map_view.hpp" o="root" g="wheel" p="33188"/><f n="unconstrained_set_view.hpp" o="root" g="wheel" p="33188"/><f n="unordered_map_view.hpp" o="root" g="wheel" p="33188"/><f n="unordered_multimap_view.hpp" o="root" g="wheel" p="33188"/><f n="unordered_multiset_view.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set_view.hpp" o="root" g="wheel" p="33188"/><f n="vector_map_view.hpp" o="root" g="wheel" p="33188"/><f n="vector_set_view.hpp" o="root" g="wheel" p="33188"/></f></f><f n="bimap.hpp" o="root" g="wheel" p="33188"/><f n="bind" o="root" g="wheel" p="16877"><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_cc.hpp" o="root" g="wheel" p="33188"/><f n="bind_mf2_cc.hpp" o="root" g="wheel" p="33188"/><f n="bind_mf_cc.hpp" o="root" g="wheel" p="33188"/><f n="bind_template.hpp" o="root" g="wheel" p="33188"/><f n="make_adaptable.hpp" o="root" g="wheel" p="33188"/><f n="mem_fn.hpp" o="root" g="wheel" p="33188"/><f n="mem_fn_cc.hpp" o="root" g="wheel" p="33188"/><f n="mem_fn_template.hpp" o="root" g="wheel" p="33188"/><f n="mem_fn_vw.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="protect.hpp" o="root" g="wheel" p="33188"/><f n="storage.hpp" o="root" g="wheel" p="33188"/></f><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="blank.hpp" o="root" g="wheel" p="33188"/><f n="blank_fwd.hpp" o="root" g="wheel" p="33188"/><f n="call_traits.hpp" o="root" g="wheel" p="33188"/><f n="cast.hpp" o="root" g="wheel" p="33188"/><f n="cerrno.hpp" o="root" g="wheel" p="33188"/><f n="checked_delete.hpp" o="root" g="wheel" p="33188"/><f n="circular_buffer" o="root" g="wheel" p="16877"><f n="base.hpp" o="root" g="wheel" p="33188"/><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="details.hpp" o="root" g="wheel" p="33188"/><f n="space_optimized.hpp" o="root" g="wheel" p="33188"/></f><f n="circular_buffer.hpp" o="root" g="wheel" p="33188"/><f n="circular_buffer_fwd.hpp" o="root" g="wheel" p="33188"/><f n="compatibility" o="root" g="wheel" p="16877"><f n="cpp_c_headers" o="root" g="wheel" p="16877"><f n="cassert" o="root" g="wheel" p="33188"/><f n="cctype" o="root" g="wheel" p="33188"/><f n="cerrno" o="root" g="wheel" p="33188"/><f n="cfloat" o="root" g="wheel" p="33188"/><f n="climits" o="root" g="wheel" p="33188"/><f n="clocale" o="root" g="wheel" p="33188"/><f n="cmath" o="root" g="wheel" p="33188"/><f n="csetjmp" o="root" g="wheel" p="33188"/><f n="csignal" o="root" g="wheel" p="33188"/><f n="cstdarg" o="root" g="wheel" p="33188"/><f n="cstddef" o="root" g="wheel" p="33188"/><f n="cstdio" o="root" g="wheel" p="33188"/><f n="cstdlib" o="root" g="wheel" p="33188"/><f n="cstring" o="root" g="wheel" p="33188"/><f n="ctime" o="root" g="wheel" p="33188"/><f n="cwchar" o="root" g="wheel" p="33188"/><f n="cwctype" o="root" g="wheel" p="33188"/></f></f><f n="compressed_pair.hpp" o="root" g="wheel" p="33188"/><f n="concept" o="root" g="wheel" p="16877"><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="borland.hpp" o="root" g="wheel" p="33188"/><f n="concept_def.hpp" o="root" g="wheel" p="33188"/><f n="concept_undef.hpp" o="root" g="wheel" p="33188"/><f n="general.hpp" o="root" g="wheel" p="33188"/><f n="has_constraints.hpp" o="root" g="wheel" p="33188"/><f n="msvc.hpp" o="root" g="wheel" p="33188"/></f><f n="requires.hpp" o="root" g="wheel" p="33188"/><f n="usage.hpp" o="root" g="wheel" p="33188"/></f><f n="concept_archetype.hpp" o="root" g="wheel" p="33188"/><f n="concept_check" o="root" g="wheel" p="16877"><f n="borland.hpp" o="root" g="wheel" p="33188"/><f n="general.hpp" o="root" g="wheel" p="33188"/><f n="has_constraints.hpp" o="root" g="wheel" p="33188"/><f n="msvc.hpp" o="root" g="wheel" p="33188"/></f><f n="concept_check.hpp" o="root" g="wheel" p="33188"/><f n="config" o="root" g="wheel" p="16877"><f n="abi" o="root" g="wheel" p="16877"><f n="borland_prefix.hpp" o="root" g="wheel" p="33188"/><f n="borland_suffix.hpp" o="root" g="wheel" p="33188"/><f n="msvc_prefix.hpp" o="root" g="wheel" p="33188"/><f n="msvc_suffix.hpp" o="root" g="wheel" p="33188"/></f><f n="abi_prefix.hpp" o="root" g="wheel" p="33188"/><f n="abi_suffix.hpp" o="root" g="wheel" p="33188"/><f n="auto_link.hpp" o="root" g="wheel" p="33188"/><f n="compiler" o="root" g="wheel" p="16877"><f n="borland.hpp" o="root" g="wheel" p="33188"/><f n="codegear.hpp" o="root" g="wheel" p="33188"/><f n="comeau.hpp" o="root" g="wheel" p="33188"/><f n="common_edg.hpp" o="root" g="wheel" p="33188"/><f n="compaq_cxx.hpp" o="root" g="wheel" p="33188"/><f n="digitalmars.hpp" o="root" g="wheel" p="33188"/><f n="gcc.hpp" o="root" g="wheel" p="33188"/><f n="gcc_xml.hpp" o="root" g="wheel" p="33188"/><f n="greenhills.hpp" o="root" g="wheel" p="33188"/><f n="hp_acc.hpp" o="root" g="wheel" p="33188"/><f n="intel.hpp" o="root" g="wheel" p="33188"/><f n="kai.hpp" o="root" g="wheel" p="33188"/><f n="metrowerks.hpp" o="root" g="wheel" p="33188"/><f n="mpw.hpp" o="root" g="wheel" p="33188"/><f n="pgi.hpp" o="root" g="wheel" p="33188"/><f n="sgi_mipspro.hpp" o="root" g="wheel" p="33188"/><f n="sunpro_cc.hpp" o="root" g="wheel" p="33188"/><f n="vacpp.hpp" o="root" g="wheel" p="33188"/><f n="visualc.hpp" o="root" g="wheel" p="33188"/></f><f n="no_tr1" o="root" g="wheel" p="16877"><f n="cmath.hpp" o="root" g="wheel" p="33188"/><f n="complex.hpp" o="root" g="wheel" p="33188"/><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="memory.hpp" o="root" g="wheel" p="33188"/><f n="utility.hpp" o="root" g="wheel" p="33188"/></f><f n="platform" o="root" g="wheel" p="16877"><f n="aix.hpp" o="root" g="wheel" p="33188"/><f n="amigaos.hpp" o="root" g="wheel" p="33188"/><f n="beos.hpp" o="root" g="wheel" p="33188"/><f n="bsd.hpp" o="root" g="wheel" p="33188"/><f n="cygwin.hpp" o="root" g="wheel" p="33188"/><f n="hpux.hpp" o="root" g="wheel" p="33188"/><f n="irix.hpp" o="root" g="wheel" p="33188"/><f n="linux.hpp" o="root" g="wheel" p="33188"/><f n="macos.hpp" o="root" g="wheel" p="33188"/><f n="qnxnto.hpp" o="root" g="wheel" p="33188"/><f n="solaris.hpp" o="root" g="wheel" p="33188"/><f n="vxworks.hpp" o="root" g="wheel" p="33188"/><f n="win32.hpp" o="root" g="wheel" p="33188"/></f><f n="posix_features.hpp" o="root" g="wheel" p="33188"/><f n="requires_threads.hpp" o="root" g="wheel" p="33188"/><f n="select_compiler_config.hpp" o="root" g="wheel" p="33188"/><f n="select_platform_config.hpp" o="root" g="wheel" p="33188"/><f n="select_stdlib_config.hpp" o="root" g="wheel" p="33188"/><f n="stdlib" o="root" g="wheel" p="16877"><f n="dinkumware.hpp" o="root" g="wheel" p="33188"/><f n="libcomo.hpp" o="root" g="wheel" p="33188"/><f n="libstdcpp3.hpp" o="root" g="wheel" p="33188"/><f n="modena.hpp" o="root" g="wheel" p="33188"/><f n="msl.hpp" o="root" g="wheel" p="33188"/><f n="roguewave.hpp" o="root" g="wheel" p="33188"/><f n="sgi.hpp" o="root" g="wheel" p="33188"/><f n="stlport.hpp" o="root" g="wheel" p="33188"/><f n="vacpp.hpp" o="root" g="wheel" p="33188"/></f><f n="suffix.hpp" o="root" g="wheel" p="33188"/><f n="user.hpp" o="root" g="wheel" p="33188"/><f n="warning_disable.hpp" o="root" g="wheel" p="33188"/></f><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="crc.hpp" o="root" g="wheel" p="33188"/><f n="cregex.hpp" o="root" g="wheel" p="33188"/><f n="cstdint.hpp" o="root" g="wheel" p="33188"/><f n="cstdlib.hpp" o="root" g="wheel" p="33188"/><f n="current_function.hpp" o="root" g="wheel" p="33188"/><f n="date_time" o="root" g="wheel" p="16877"><f n="adjust_functors.hpp" o="root" g="wheel" p="33188"/><f n="c_local_time_adjustor.hpp" o="root" g="wheel" p="33188"/><f n="c_time.hpp" o="root" g="wheel" p="33188"/><f n="compiler_config.hpp" o="root" g="wheel" p="33188"/><f n="constrained_value.hpp" o="root" g="wheel" p="33188"/><f n="date.hpp" o="root" g="wheel" p="33188"/><f n="date_clock_device.hpp" o="root" g="wheel" p="33188"/><f n="date_defs.hpp" o="root" g="wheel" p="33188"/><f n="date_duration.hpp" o="root" g="wheel" p="33188"/><f n="date_duration_types.hpp" o="root" g="wheel" p="33188"/><f n="date_facet.hpp" o="root" g="wheel" p="33188"/><f n="date_format_simple.hpp" o="root" g="wheel" p="33188"/><f n="date_formatting.hpp" o="root" g="wheel" p="33188"/><f n="date_formatting_limited.hpp" o="root" g="wheel" p="33188"/><f n="date_formatting_locales.hpp" o="root" g="wheel" p="33188"/><f n="date_generator_formatter.hpp" o="root" g="wheel" p="33188"/><f n="date_generator_parser.hpp" o="root" g="wheel" p="33188"/><f n="date_generators.hpp" o="root" g="wheel" p="33188"/><f n="date_iterator.hpp" o="root" g="wheel" p="33188"/><f n="date_names_put.hpp" o="root" g="wheel" p="33188"/><f n="date_parsing.hpp" o="root" g="wheel" p="33188"/><f n="dst_rules.hpp" o="root" g="wheel" p="33188"/><f n="dst_transition_generators.hpp" o="root" g="wheel" p="33188"/><f n="filetime_functions.hpp" o="root" g="wheel" p="33188"/><f n="format_date_parser.hpp" o="root" g="wheel" p="33188"/><f n="gregorian" o="root" g="wheel" p="16877"><f n="conversion.hpp" o="root" g="wheel" p="33188"/><f n="formatters.hpp" o="root" g="wheel" p="33188"/><f n="formatters_limited.hpp" o="root" g="wheel" p="33188"/><f n="greg_calendar.hpp" o="root" g="wheel" p="33188"/><f n="greg_date.hpp" o="root" g="wheel" p="33188"/><f n="greg_day.hpp" o="root" g="wheel" p="33188"/><f n="greg_day_of_year.hpp" o="root" g="wheel" p="33188"/><f n="greg_duration.hpp" o="root" g="wheel" p="33188"/><f n="greg_duration_types.hpp" o="root" g="wheel" p="33188"/><f n="greg_facet.hpp" o="root" g="wheel" p="33188"/><f n="greg_month.hpp" o="root" g="wheel" p="33188"/><f n="greg_serialize.hpp" o="root" g="wheel" p="33188"/><f n="greg_weekday.hpp" o="root" g="wheel" p="33188"/><f n="greg_year.hpp" o="root" g="wheel" p="33188"/><f n="greg_ymd.hpp" o="root" g="wheel" p="33188"/><f n="gregorian.hpp" o="root" g="wheel" p="33188"/><f n="gregorian_io.hpp" o="root" g="wheel" p="33188"/><f n="gregorian_types.hpp" o="root" g="wheel" p="33188"/><f n="parsers.hpp" o="root" g="wheel" p="33188"/></f><f n="gregorian_calendar.hpp" o="root" g="wheel" p="33188"/><f n="gregorian_calendar.ipp" o="root" g="wheel" p="33188"/><f n="int_adapter.hpp" o="root" g="wheel" p="33188"/><f n="iso_format.hpp" o="root" g="wheel" p="33188"/><f n="local_time" o="root" g="wheel" p="16877"><f n="conversion.hpp" o="root" g="wheel" p="33188"/><f n="custom_time_zone.hpp" o="root" g="wheel" p="33188"/><f n="date_duration_operators.hpp" o="root" g="wheel" p="33188"/><f n="dst_transition_day_rules.hpp" o="root" g="wheel" p="33188"/><f n="local_date_time.hpp" o="root" g="wheel" p="33188"/><f n="local_time.hpp" o="root" g="wheel" p="33188"/><f n="local_time_io.hpp" o="root" g="wheel" p="33188"/><f n="local_time_types.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_zone.hpp" o="root" g="wheel" p="33188"/><f n="tz_database.hpp" o="root" g="wheel" p="33188"/></f><f n="local_time_adjustor.hpp" o="root" g="wheel" p="33188"/><f n="local_timezone_defs.hpp" o="root" g="wheel" p="33188"/><f n="locale_config.hpp" o="root" g="wheel" p="33188"/><f n="microsec_time_clock.hpp" o="root" g="wheel" p="33188"/><f n="parse_format_base.hpp" o="root" g="wheel" p="33188"/><f n="period.hpp" o="root" g="wheel" p="33188"/><f n="period_formatter.hpp" o="root" g="wheel" p="33188"/><f n="period_parser.hpp" o="root" g="wheel" p="33188"/><f n="posix_time" o="root" g="wheel" p="16877"><f n="conversion.hpp" o="root" g="wheel" p="33188"/><f n="date_duration_operators.hpp" o="root" g="wheel" p="33188"/><f n="posix_time.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_config.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_duration.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_io.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_legacy_io.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_system.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_types.hpp" o="root" g="wheel" p="33188"/><f n="ptime.hpp" o="root" g="wheel" p="33188"/><f n="time_formatters.hpp" o="root" g="wheel" p="33188"/><f n="time_formatters_limited.hpp" o="root" g="wheel" p="33188"/><f n="time_parsers.hpp" o="root" g="wheel" p="33188"/><f n="time_period.hpp" o="root" g="wheel" p="33188"/><f n="time_serialize.hpp" o="root" g="wheel" p="33188"/></f><f n="special_defs.hpp" o="root" g="wheel" p="33188"/><f n="special_values_formatter.hpp" o="root" g="wheel" p="33188"/><f n="special_values_parser.hpp" o="root" g="wheel" p="33188"/><f n="string_convert.hpp" o="root" g="wheel" p="33188"/><f n="string_parse_tree.hpp" o="root" g="wheel" p="33188"/><f n="strings_from_facet.hpp" o="root" g="wheel" p="33188"/><f n="time.hpp" o="root" g="wheel" p="33188"/><f n="time_clock.hpp" o="root" g="wheel" p="33188"/><f n="time_defs.hpp" o="root" g="wheel" p="33188"/><f n="time_duration.hpp" o="root" g="wheel" p="33188"/><f n="time_facet.hpp" o="root" g="wheel" p="33188"/><f n="time_formatting_streams.hpp" o="root" g="wheel" p="33188"/><f n="time_iterator.hpp" o="root" g="wheel" p="33188"/><f n="time_parsing.hpp" o="root" g="wheel" p="33188"/><f n="time_resolution_traits.hpp" o="root" g="wheel" p="33188"/><f n="time_system_counted.hpp" o="root" g="wheel" p="33188"/><f n="time_system_split.hpp" o="root" g="wheel" p="33188"/><f n="time_zone_base.hpp" o="root" g="wheel" p="33188"/><f n="time_zone_names.hpp" o="root" g="wheel" p="33188"/><f n="tz_db_base.hpp" o="root" g="wheel" p="33188"/><f n="wrapping_int.hpp" o="root" g="wheel" p="33188"/><f n="year_month_day.hpp" o="root" g="wheel" p="33188"/></f><f n="date_time.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="allocator_utilities.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count.hpp" o="root" g="wheel" p="33188"/><f n="binary_search.hpp" o="root" g="wheel" p="33188"/><f n="call_traits.hpp" o="root" g="wheel" p="33188"/><f n="catch_exceptions.hpp" o="root" g="wheel" p="33188"/><f n="compressed_pair.hpp" o="root" g="wheel" p="33188"/><f n="container_fwd.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_bitset.hpp" o="root" g="wheel" p="33188"/><f n="endian.hpp" o="root" g="wheel" p="33188"/><f n="has_default_constructor.hpp" o="root" g="wheel" p="33188"/><f n="identifier.hpp" o="root" g="wheel" p="33188"/><f n="indirect_traits.hpp" o="root" g="wheel" p="33188"/><f n="interlocked.hpp" o="root" g="wheel" p="33188"/><f n="is_function_ref_tester.hpp" o="root" g="wheel" p="33188"/><f n="is_incrementable.hpp" o="root" g="wheel" p="33188"/><f n="is_xxx.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="lcast_precision.hpp" o="root" g="wheel" p="33188"/><f n="lightweight_mutex.hpp" o="root" g="wheel" p="33188"/><f n="lightweight_test.hpp" o="root" g="wheel" p="33188"/><f n="lightweight_thread.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="named_template_params.hpp" o="root" g="wheel" p="33188"/><f n="no_exceptions_support.hpp" o="root" g="wheel" p="33188"/><f n="none_t.hpp" o="root" g="wheel" p="33188"/><f n="numeric_traits.hpp" o="root" g="wheel" p="33188"/><f n="ob_call_traits.hpp" o="root" g="wheel" p="33188"/><f n="ob_compressed_pair.hpp" o="root" g="wheel" p="33188"/><f n="quick_allocator.hpp" o="root" g="wheel" p="33188"/><f n="reference_content.hpp" o="root" g="wheel" p="33188"/><f n="scoped_enum_emulation.hpp" o="root" g="wheel" p="33188"/><f n="select_type.hpp" o="root" g="wheel" p="33188"/><f n="sp_typeinfo.hpp" o="root" g="wheel" p="33188"/><f n="templated_streams.hpp" o="root" g="wheel" p="33188"/><f n="utf8_codecvt_facet.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/></f><f n="dynamic_bitset" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_bitset.hpp" o="root" g="wheel" p="33188"/></f><f n="dynamic_bitset.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_bitset_fwd.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_property_map.hpp" o="root" g="wheel" p="33188"/><f n="enable_shared_from_this.hpp" o="root" g="wheel" p="33188"/><f n="exception" o="root" g="wheel" p="16877"><f n="all.hpp" o="root" g="wheel" p="33188"/><f n="current_exception_cast.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="attribute_noreturn.hpp" o="root" g="wheel" p="33188"/><f n="error_info_impl.hpp" o="root" g="wheel" p="33188"/><f n="exception_ptr_base.hpp" o="root" g="wheel" p="33188"/><f n="is_output_streamable.hpp" o="root" g="wheel" p="33188"/><f n="object_hex_dump.hpp" o="root" g="wheel" p="33188"/><f n="type_info.hpp" o="root" g="wheel" p="33188"/></f><f n="diagnostic_information.hpp" o="root" g="wheel" p="33188"/><f n="enable_current_exception.hpp" o="root" g="wheel" p="33188"/><f n="enable_error_info.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_api_function.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_at_line.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_errno.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_file_handle.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_file_name.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_file_open_mode.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_nested_exception.hpp" o="root" g="wheel" p="33188"/><f n="errinfo_type_info_name.hpp" o="root" g="wheel" p="33188"/><f n="error_info.hpp" o="root" g="wheel" p="33188"/><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="get_error_info.hpp" o="root" g="wheel" p="33188"/><f n="info.hpp" o="root" g="wheel" p="33188"/><f n="info_tuple.hpp" o="root" g="wheel" p="33188"/><f n="to_string.hpp" o="root" g="wheel" p="33188"/><f n="to_string_stub.hpp" o="root" g="wheel" p="33188"/></f><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="exception_ptr.hpp" o="root" g="wheel" p="33188"/><f n="filesystem" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="convenience.hpp" o="root" g="wheel" p="33188"/><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="fstream.hpp" o="root" g="wheel" p="33188"/><f n="operations.hpp" o="root" g="wheel" p="33188"/><f n="path.hpp" o="root" g="wheel" p="33188"/></f><f n="filesystem.hpp" o="root" g="wheel" p="33188"/><f n="flyweight" o="root" g="wheel" p="16877"><f n="assoc_container_factory.hpp" o="root" g="wheel" p="33188"/><f n="assoc_container_factory_fwd.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="default_value_policy.hpp" o="root" g="wheel" p="33188"/><f n="dyn_perfect_fwd.hpp" o="root" g="wheel" p="33188"/><f n="flyweight_core.hpp" o="root" g="wheel" p="33188"/><f n="is_placeholder_expr.hpp" o="root" g="wheel" p="33188"/><f n="nested_xxx_if_not_ph.hpp" o="root" g="wheel" p="33188"/><f n="not_placeholder_expr.hpp" o="root" g="wheel" p="33188"/><f n="perfect_fwd.hpp" o="root" g="wheel" p="33188"/><f n="pp_perfect_fwd.hpp" o="root" g="wheel" p="33188"/><f n="process_id.hpp" o="root" g="wheel" p="33188"/><f n="recursive_lw_mutex.hpp" o="root" g="wheel" p="33188"/><f n="value_tag.hpp" o="root" g="wheel" p="33188"/></f><f n="factory_tag.hpp" o="root" g="wheel" p="33188"/><f n="flyweight.hpp" o="root" g="wheel" p="33188"/><f n="flyweight_fwd.hpp" o="root" g="wheel" p="33188"/><f n="hashed_factory.hpp" o="root" g="wheel" p="33188"/><f n="hashed_factory_fwd.hpp" o="root" g="wheel" p="33188"/><f n="holder_tag.hpp" o="root" g="wheel" p="33188"/><f n="intermodule_holder.hpp" o="root" g="wheel" p="33188"/><f n="intermodule_holder_fwd.hpp" o="root" g="wheel" p="33188"/><f n="key_value.hpp" o="root" g="wheel" p="33188"/><f n="key_value_fwd.hpp" o="root" g="wheel" p="33188"/><f n="locking_tag.hpp" o="root" g="wheel" p="33188"/><f n="no_locking.hpp" o="root" g="wheel" p="33188"/><f n="no_locking_fwd.hpp" o="root" g="wheel" p="33188"/><f n="no_tracking.hpp" o="root" g="wheel" p="33188"/><f n="no_tracking_fwd.hpp" o="root" g="wheel" p="33188"/><f n="refcounted.hpp" o="root" g="wheel" p="33188"/><f n="refcounted_fwd.hpp" o="root" g="wheel" p="33188"/><f n="set_factory.hpp" o="root" g="wheel" p="33188"/><f n="set_factory_fwd.hpp" o="root" g="wheel" p="33188"/><f n="simple_locking.hpp" o="root" g="wheel" p="33188"/><f n="simple_locking_fwd.hpp" o="root" g="wheel" p="33188"/><f n="static_holder.hpp" o="root" g="wheel" p="33188"/><f n="static_holder_fwd.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="tracking_tag.hpp" o="root" g="wheel" p="33188"/></f><f n="flyweight.hpp" o="root" g="wheel" p="33188"/><f n="foreach.hpp" o="root" g="wheel" p="33188"/><f n="format" o="root" g="wheel" p="16877"><f n="alt_sstream.hpp" o="root" g="wheel" p="33188"/><f n="alt_sstream_impl.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="compat_workarounds.hpp" o="root" g="wheel" p="33188"/><f n="config_macros.hpp" o="root" g="wheel" p="33188"/><f n="msvc_disambiguater.hpp" o="root" g="wheel" p="33188"/><f n="unset_macros.hpp" o="root" g="wheel" p="33188"/><f n="workarounds_gcc-2_95.hpp" o="root" g="wheel" p="33188"/><f n="workarounds_stlport.hpp" o="root" g="wheel" p="33188"/></f><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="feed_args.hpp" o="root" g="wheel" p="33188"/><f n="format_class.hpp" o="root" g="wheel" p="33188"/><f n="format_fwd.hpp" o="root" g="wheel" p="33188"/><f n="format_implementation.hpp" o="root" g="wheel" p="33188"/><f n="free_funcs.hpp" o="root" g="wheel" p="33188"/><f n="group.hpp" o="root" g="wheel" p="33188"/><f n="internals.hpp" o="root" g="wheel" p="33188"/><f n="internals_fwd.hpp" o="root" g="wheel" p="33188"/><f n="parsing.hpp" o="root" g="wheel" p="33188"/></f><f n="format.hpp" o="root" g="wheel" p="33188"/><f n="function" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="function_iterate.hpp" o="root" g="wheel" p="33188"/><f n="gen_maybe_include.pl" o="root" g="wheel" p="33188"/><f n="maybe_include.hpp" o="root" g="wheel" p="33188"/><f n="prologue.hpp" o="root" g="wheel" p="33188"/></f><f n="function0.hpp" o="root" g="wheel" p="33188"/><f n="function1.hpp" o="root" g="wheel" p="33188"/><f n="function10.hpp" o="root" g="wheel" p="33188"/><f n="function2.hpp" o="root" g="wheel" p="33188"/><f n="function3.hpp" o="root" g="wheel" p="33188"/><f n="function4.hpp" o="root" g="wheel" p="33188"/><f n="function5.hpp" o="root" g="wheel" p="33188"/><f n="function6.hpp" o="root" g="wheel" p="33188"/><f n="function7.hpp" o="root" g="wheel" p="33188"/><f n="function8.hpp" o="root" g="wheel" p="33188"/><f n="function9.hpp" o="root" g="wheel" p="33188"/><f n="function_base.hpp" o="root" g="wheel" p="33188"/><f n="function_fwd.hpp" o="root" g="wheel" p="33188"/><f n="function_template.hpp" o="root" g="wheel" p="33188"/><f n="function_typeof.hpp" o="root" g="wheel" p="33188"/><f n="gen_function_N.pl" o="root" g="wheel" p="33188"/></f><f n="function.hpp" o="root" g="wheel" p="33188"/><f n="function_equal.hpp" o="root" g="wheel" p="33188"/><f n="function_output_iterator.hpp" o="root" g="wheel" p="33188"/><f n="function_types" o="root" g="wheel" p="16877"><f n="components.hpp" o="root" g="wheel" p="33188"/><f n="config" o="root" g="wheel" p="16877"><f n="cc_names.hpp" o="root" g="wheel" p="33188"/><f n="compiler.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/></f><f n="detail" o="root" g="wheel" p="16877"><f n="class_transform.hpp" o="root" g="wheel" p="33188"/><f n="classifier.hpp" o="root" g="wheel" p="33188"/><f n="classifier_impl" o="root" g="wheel" p="16877"><f n="arity10_0.hpp" o="root" g="wheel" p="33188"/><f n="arity10_1.hpp" o="root" g="wheel" p="33188"/><f n="arity20_0.hpp" o="root" g="wheel" p="33188"/><f n="arity20_1.hpp" o="root" g="wheel" p="33188"/><f n="arity30_0.hpp" o="root" g="wheel" p="33188"/><f n="arity30_1.hpp" o="root" g="wheel" p="33188"/><f n="arity40_0.hpp" o="root" g="wheel" p="33188"/><f n="arity40_1.hpp" o="root" g="wheel" p="33188"/><f n="arity50_0.hpp" o="root" g="wheel" p="33188"/><f n="arity50_1.hpp" o="root" g="wheel" p="33188"/><f n="master.hpp" o="root" g="wheel" p="33188"/></f><f n="components_as_mpl_sequence.hpp" o="root" g="wheel" p="33188"/><f n="components_impl" o="root" g="wheel" p="16877"><f n="arity10_0.hpp" o="root" g="wheel" p="33188"/><f n="arity10_1.hpp" o="root" g="wheel" p="33188"/><f n="arity20_0.hpp" o="root" g="wheel" p="33188"/><f n="arity20_1.hpp" o="root" g="wheel" p="33188"/><f n="arity30_0.hpp" o="root" g="wheel" p="33188"/><f n="arity30_1.hpp" o="root" g="wheel" p="33188"/><f n="arity40_0.hpp" o="root" g="wheel" p="33188"/><f n="arity40_1.hpp" o="root" g="wheel" p="33188"/><f n="arity50_0.hpp" o="root" g="wheel" p="33188"/><f n="arity50_1.hpp" o="root" g="wheel" p="33188"/><f n="master.hpp" o="root" g="wheel" p="33188"/></f><f n="cv_traits.hpp" o="root" g="wheel" p="33188"/><f n="encoding" o="root" g="wheel" p="16877"><f n="aliases_def.hpp" o="root" g="wheel" p="33188"/><f n="aliases_undef.hpp" o="root" g="wheel" p="33188"/><f n="def.hpp" o="root" g="wheel" p="33188"/><f n="undef.hpp" o="root" g="wheel" p="33188"/></f><f n="pp_arity_loop.hpp" o="root" g="wheel" p="33188"/><f n="pp_cc_loop" o="root" g="wheel" p="16877"><f n="master.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed.hpp" o="root" g="wheel" p="33188"/></f><f n="pp_loop.hpp" o="root" g="wheel" p="33188"/><f n="pp_retag_default_cc" o="root" g="wheel" p="16877"><f n="master.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed.hpp" o="root" g="wheel" p="33188"/></f><f n="pp_tags" o="root" g="wheel" p="16877"><f n="cc_tag.hpp" o="root" g="wheel" p="33188"/><f n="master.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed.hpp" o="root" g="wheel" p="33188"/></f><f n="pp_variate_loop" o="root" g="wheel" p="16877"><f n="master.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed.hpp" o="root" g="wheel" p="33188"/></f><f n="retag_default_cc.hpp" o="root" g="wheel" p="33188"/><f n="synthesize.hpp" o="root" g="wheel" p="33188"/><f n="synthesize_impl" o="root" g="wheel" p="16877"><f n="arity10_0.hpp" o="root" g="wheel" p="33188"/><f n="arity10_1.hpp" o="root" g="wheel" p="33188"/><f n="arity20_0.hpp" o="root" g="wheel" p="33188"/><f n="arity20_1.hpp" o="root" g="wheel" p="33188"/><f n="arity30_0.hpp" o="root" g="wheel" p="33188"/><f n="arity30_1.hpp" o="root" g="wheel" p="33188"/><f n="arity40_0.hpp" o="root" g="wheel" p="33188"/><f n="arity40_1.hpp" o="root" g="wheel" p="33188"/><f n="arity50_0.hpp" o="root" g="wheel" p="33188"/><f n="arity50_1.hpp" o="root" g="wheel" p="33188"/><f n="master.hpp" o="root" g="wheel" p="33188"/></f><f n="to_sequence.hpp" o="root" g="wheel" p="33188"/></f><f n="function_arity.hpp" o="root" g="wheel" p="33188"/><f n="function_pointer.hpp" o="root" g="wheel" p="33188"/><f n="function_reference.hpp" o="root" g="wheel" p="33188"/><f n="function_type.hpp" o="root" g="wheel" p="33188"/><f n="is_callable_builtin.hpp" o="root" g="wheel" p="33188"/><f n="is_function.hpp" o="root" g="wheel" p="33188"/><f n="is_function_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_function_reference.hpp" o="root" g="wheel" p="33188"/><f n="is_member_function_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_member_object_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_member_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_nonmember_callable_builtin.hpp" o="root" g="wheel" p="33188"/><f n="member_function_pointer.hpp" o="root" g="wheel" p="33188"/><f n="member_object_pointer.hpp" o="root" g="wheel" p="33188"/><f n="parameter_types.hpp" o="root" g="wheel" p="33188"/><f n="property_tags.hpp" o="root" g="wheel" p="33188"/><f n="result_type.hpp" o="root" g="wheel" p="33188"/></f><f n="functional" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="container_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="hash" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="float_functions.hpp" o="root" g="wheel" p="33188"/><f n="hash_float.hpp" o="root" g="wheel" p="33188"/><f n="hash_float_generic.hpp" o="root" g="wheel" p="33188"/><f n="hash_float_x86.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/></f><f n="extensions.hpp" o="root" g="wheel" p="33188"/><f n="hash.hpp" o="root" g="wheel" p="33188"/><f n="hash_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="hash.hpp" o="root" g="wheel" p="33188"/><f n="hash_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="fusion" o="root" g="wheel" p="16877"><f n="adapted" o="root" g="wheel" p="16877"><f n="array" o="root" g="wheel" p="16877"><f n="array_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="category_of_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_view_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="tag_of.hpp" o="root" g="wheel" p="33188"/></f><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="boost_tuple" o="root" g="wheel" p="16877"><f n="boost_tuple_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="category_of_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_view_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="tag_of.hpp" o="root" g="wheel" p="33188"/></f><f n="boost_tuple.hpp" o="root" g="wheel" p="33188"/><f n="class" o="root" g="wheel" p="16877"><f n="adapt_assoc_class.hpp" o="root" g="wheel" p="33188"/><f n="adapt_class.hpp" o="root" g="wheel" p="33188"/><f n="class_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="at_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="category_of_impl.hpp" o="root" g="wheel" p="33188"/></f></f><f n="class.hpp" o="root" g="wheel" p="33188"/><f n="mpl" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="category_of_impl.hpp" o="root" g="wheel" p="33188"/><f n="empty_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="has_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_view_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="mpl_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="std_pair" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="category_of_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_view_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="std_pair_iterator.hpp" o="root" g="wheel" p="33188"/><f n="tag_of.hpp" o="root" g="wheel" p="33188"/></f><f n="std_pair.hpp" o="root" g="wheel" p="33188"/><f n="struct" o="root" g="wheel" p="16877"><f n="adapt_assoc_struct.hpp" o="root" g="wheel" p="33188"/><f n="adapt_struct.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="at_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="category_of_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="has_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_view_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_key_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="extension.hpp" o="root" g="wheel" p="33188"/><f n="struct_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="struct.hpp" o="root" g="wheel" p="33188"/></f><f n="adapted.hpp" o="root" g="wheel" p="33188"/><f n="algorithm" o="root" g="wheel" p="16877"><f n="iteration" o="root" g="wheel" p="16877"><f n="accumulate.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="fold.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/></f><f n="ext_" o="root" g="wheel" p="16877"><f n="for_each_s.hpp" o="root" g="wheel" p="33188"/></f><f n="fold.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/></f><f n="iteration.hpp" o="root" g="wheel" p="33188"/><f n="query" o="root" g="wheel" p="16877"><f n="all.hpp" o="root" g="wheel" p="33188"/><f n="any.hpp" o="root" g="wheel" p="33188"/><f n="count.hpp" o="root" g="wheel" p="33188"/><f n="count_if.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="all.hpp" o="root" g="wheel" p="33188"/><f n="any.hpp" o="root" g="wheel" p="33188"/><f n="assoc_find.hpp" o="root" g="wheel" p="33188"/><f n="count.hpp" o="root" g="wheel" p="33188"/><f n="count_if.hpp" o="root" g="wheel" p="33188"/><f n="find_if.hpp" o="root" g="wheel" p="33188"/></f><f n="ext_" o="root" g="wheel" p="16877"><f n="find_if_s.hpp" o="root" g="wheel" p="33188"/></f><f n="find.hpp" o="root" g="wheel" p="33188"/><f n="find_if.hpp" o="root" g="wheel" p="33188"/><f n="none.hpp" o="root" g="wheel" p="33188"/></f><f n="query.hpp" o="root" g="wheel" p="33188"/><f n="transformation" o="root" g="wheel" p="16877"><f n="clear.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="replace_if.hpp" o="root" g="wheel" p="33188"/></f><f n="erase.hpp" o="root" g="wheel" p="33188"/><f n="erase_key.hpp" o="root" g="wheel" p="33188"/><f n="filter.hpp" o="root" g="wheel" p="33188"/><f n="filter_if.hpp" o="root" g="wheel" p="33188"/><f n="insert.hpp" o="root" g="wheel" p="33188"/><f n="insert_range.hpp" o="root" g="wheel" p="33188"/><f n="join.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="remove.hpp" o="root" g="wheel" p="33188"/><f n="remove_if.hpp" o="root" g="wheel" p="33188"/><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="replace_if.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="transform.hpp" o="root" g="wheel" p="33188"/><f n="zip.hpp" o="root" g="wheel" p="33188"/></f><f n="transformation.hpp" o="root" g="wheel" p="33188"/></f><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="container" o="root" g="wheel" p="16877"><f n="deque" o="root" g="wheel" p="16877"><f n="back_extended_deque.hpp" o="root" g="wheel" p="33188"/><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="deque_fwd.hpp" o="root" g="wheel" p="33188"/><f n="deque_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="as_deque.hpp" o="root" g="wheel" p="33188"/><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="convert_impl.hpp" o="root" g="wheel" p="33188"/><f n="deque_forward_ctor.hpp" o="root" g="wheel" p="33188"/><f n="deque_initial_size.hpp" o="root" g="wheel" p="33188"/><f n="deque_keyed_values.hpp" o="root" g="wheel" p="33188"/><f n="deque_keyed_values_call.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="keyed_element.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="front_extended_deque.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/></f><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="ext_" o="root" g="wheel" p="16877"><f n="tree.hpp" o="root" g="wheel" p="33188"/></f><f n="generation" o="root" g="wheel" p="16877"><f n="cons_tie.hpp" o="root" g="wheel" p="33188"/><f n="deque_tie.hpp" o="root" g="wheel" p="33188"/><f n="ignore.hpp" o="root" g="wheel" p="33188"/><f n="list_tie.hpp" o="root" g="wheel" p="33188"/><f n="make_cons.hpp" o="root" g="wheel" p="33188"/><f n="make_deque.hpp" o="root" g="wheel" p="33188"/><f n="make_list.hpp" o="root" g="wheel" p="33188"/><f n="make_map.hpp" o="root" g="wheel" p="33188"/><f n="make_set.hpp" o="root" g="wheel" p="33188"/><f n="make_vector.hpp" o="root" g="wheel" p="33188"/><f n="map_tie.hpp" o="root" g="wheel" p="33188"/><f n="pair_tie.hpp" o="root" g="wheel" p="33188"/><f n="vector_tie.hpp" o="root" g="wheel" p="33188"/></f><f n="generation.hpp" o="root" g="wheel" p="33188"/><f n="list" o="root" g="wheel" p="16877"><f n="cons.hpp" o="root" g="wheel" p="33188"/><f n="cons_iterator.hpp" o="root" g="wheel" p="33188"/><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="build_cons.hpp" o="root" g="wheel" p="33188"/><f n="convert_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="empty_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="equal_to_impl.hpp" o="root" g="wheel" p="33188"/><f n="list_forward_ctor.hpp" o="root" g="wheel" p="33188"/><f n="list_to_cons.hpp" o="root" g="wheel" p="33188"/><f n="list_to_cons_call.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="map" o="root" g="wheel" p="16877"><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="as_map.hpp" o="root" g="wheel" p="33188"/><f n="at_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="convert_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="lookup_key.hpp" o="root" g="wheel" p="33188"/><f n="map_forward_ctor.hpp" o="root" g="wheel" p="33188"/><f n="map_lookup.hpp" o="root" g="wheel" p="33188"/><f n="value_at_key_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="map_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="set" o="root" g="wheel" p="16877"><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="as_set.hpp" o="root" g="wheel" p="33188"/><f n="at_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="convert_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="lookup_key.hpp" o="root" g="wheel" p="33188"/><f n="set_forward_ctor.hpp" o="root" g="wheel" p="33188"/><f n="set_lookup.hpp" o="root" g="wheel" p="33188"/><f n="value_at_key_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="vector" o="root" g="wheel" p="16877"><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="advance_impl.hpp" o="root" g="wheel" p="33188"/><f n="as_vector.hpp" o="root" g="wheel" p="33188"/><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="convert_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="distance_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="equal_to_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="prior_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/><f n="vector_forward_ctor.hpp" o="root" g="wheel" p="33188"/><f n="vector_n.hpp" o="root" g="wheel" p="33188"/><f n="vector_n_chooser.hpp" o="root" g="wheel" p="33188"/></f><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector10.hpp" o="root" g="wheel" p="33188"/><f n="vector20.hpp" o="root" g="wheel" p="33188"/><f n="vector30.hpp" o="root" g="wheel" p="33188"/><f n="vector40.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/><f n="vector_fwd.hpp" o="root" g="wheel" p="33188"/><f n="vector_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="vector.hpp" o="root" g="wheel" p="33188"/></f><f n="container.hpp" o="root" g="wheel" p="33188"/><f n="functional" o="root" g="wheel" p="16877"><f n="adapter" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="access.hpp" o="root" g="wheel" p="33188"/><f n="pow2_explode.hpp" o="root" g="wheel" p="33188"/><f n="pt_def.hpp" o="root" g="wheel" p="33188"/><f n="pt_undef.hpp" o="root" g="wheel" p="33188"/></f><f n="fused.hpp" o="root" g="wheel" p="33188"/><f n="fused_function_object.hpp" o="root" g="wheel" p="33188"/><f n="fused_procedure.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="unfused.hpp" o="root" g="wheel" p="33188"/><f n="unfused_generic.hpp" o="root" g="wheel" p="33188"/><f n="unfused_lvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="unfused_rvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="unfused_typed.hpp" o="root" g="wheel" p="33188"/></f><f n="adapter.hpp" o="root" g="wheel" p="33188"/><f n="generation" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="gen_make_adapter.hpp" o="root" g="wheel" p="33188"/></f><f n="make_fused.hpp" o="root" g="wheel" p="33188"/><f n="make_fused_function_object.hpp" o="root" g="wheel" p="33188"/><f n="make_fused_procedure.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused_generic.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused_lvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused_rvalue_args.hpp" o="root" g="wheel" p="33188"/></f><f n="generation.hpp" o="root" g="wheel" p="33188"/><f n="invocation" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="that_ptr.hpp" o="root" g="wheel" p="33188"/></f><f n="invoke.hpp" o="root" g="wheel" p="33188"/><f n="invoke_function_object.hpp" o="root" g="wheel" p="33188"/><f n="invoke_procedure.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/></f><f n="invocation.hpp" o="root" g="wheel" p="33188"/></f><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="include" o="root" g="wheel" p="16877"><f n="accumulate.hpp" o="root" g="wheel" p="33188"/><f n="adapt_struct.hpp" o="root" g="wheel" p="33188"/><f n="adapted.hpp" o="root" g="wheel" p="33188"/><f n="adapter.hpp" o="root" g="wheel" p="33188"/><f n="advance.hpp" o="root" g="wheel" p="33188"/><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="all.hpp" o="root" g="wheel" p="33188"/><f n="any.hpp" o="root" g="wheel" p="33188"/><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="as_deque.hpp" o="root" g="wheel" p="33188"/><f n="as_list.hpp" o="root" g="wheel" p="33188"/><f n="as_map.hpp" o="root" g="wheel" p="33188"/><f n="as_set.hpp" o="root" g="wheel" p="33188"/><f n="as_vector.hpp" o="root" g="wheel" p="33188"/><f n="at.hpp" o="root" g="wheel" p="33188"/><f n="at_c.hpp" o="root" g="wheel" p="33188"/><f n="at_key.hpp" o="root" g="wheel" p="33188"/><f n="back.hpp" o="root" g="wheel" p="33188"/><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="boost_tuple.hpp" o="root" g="wheel" p="33188"/><f n="category_of.hpp" o="root" g="wheel" p="33188"/><f n="clear.hpp" o="root" g="wheel" p="33188"/><f n="comparison.hpp" o="root" g="wheel" p="33188"/><f n="cons.hpp" o="root" g="wheel" p="33188"/><f n="cons_tie.hpp" o="root" g="wheel" p="33188"/><f n="container.hpp" o="root" g="wheel" p="33188"/><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="count.hpp" o="root" g="wheel" p="33188"/><f n="count_if.hpp" o="root" g="wheel" p="33188"/><f n="deduce.hpp" o="root" g="wheel" p="33188"/><f n="deduce_sequence.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="deque_fwd.hpp" o="root" g="wheel" p="33188"/><f n="deque_tie.hpp" o="root" g="wheel" p="33188"/><f n="deref.hpp" o="root" g="wheel" p="33188"/><f n="distance.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="erase.hpp" o="root" g="wheel" p="33188"/><f n="erase_key.hpp" o="root" g="wheel" p="33188"/><f n="filter.hpp" o="root" g="wheel" p="33188"/><f n="filter_if.hpp" o="root" g="wheel" p="33188"/><f n="filter_view.hpp" o="root" g="wheel" p="33188"/><f n="find.hpp" o="root" g="wheel" p="33188"/><f n="find_if.hpp" o="root" g="wheel" p="33188"/><f n="fold.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="fused.hpp" o="root" g="wheel" p="33188"/><f n="fused_function_object.hpp" o="root" g="wheel" p="33188"/><f n="fused_procedure.hpp" o="root" g="wheel" p="33188"/><f n="generation.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="has_key.hpp" o="root" g="wheel" p="33188"/><f n="ignore.hpp" o="root" g="wheel" p="33188"/><f n="in.hpp" o="root" g="wheel" p="33188"/><f n="insert.hpp" o="root" g="wheel" p="33188"/><f n="insert_range.hpp" o="root" g="wheel" p="33188"/><f n="intrinsic.hpp" o="root" g="wheel" p="33188"/><f n="invocation.hpp" o="root" g="wheel" p="33188"/><f n="invoke.hpp" o="root" g="wheel" p="33188"/><f n="invoke_function_object.hpp" o="root" g="wheel" p="33188"/><f n="invoke_procedure.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="is_iterator.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence.hpp" o="root" g="wheel" p="33188"/><f n="is_view.hpp" o="root" g="wheel" p="33188"/><f n="iteration.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="iterator_base.hpp" o="root" g="wheel" p="33188"/><f n="iterator_facade.hpp" o="root" g="wheel" p="33188"/><f n="iterator_range.hpp" o="root" g="wheel" p="33188"/><f n="join.hpp" o="root" g="wheel" p="33188"/><f n="joint_view.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_fwd.hpp" o="root" g="wheel" p="33188"/><f n="list_tie.hpp" o="root" g="wheel" p="33188"/><f n="make_cons.hpp" o="root" g="wheel" p="33188"/><f n="make_deque.hpp" o="root" g="wheel" p="33188"/><f n="make_fused.hpp" o="root" g="wheel" p="33188"/><f n="make_fused_function_object.hpp" o="root" g="wheel" p="33188"/><f n="make_fused_procedure.hpp" o="root" g="wheel" p="33188"/><f n="make_list.hpp" o="root" g="wheel" p="33188"/><f n="make_map.hpp" o="root" g="wheel" p="33188"/><f n="make_set.hpp" o="root" g="wheel" p="33188"/><f n="make_tuple.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused_generic.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused_lvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="make_unfused_rvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="make_vector.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="map_fwd.hpp" o="root" g="wheel" p="33188"/><f n="map_tie.hpp" o="root" g="wheel" p="33188"/><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="next.hpp" o="root" g="wheel" p="33188"/><f n="none.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="nview.hpp" o="root" g="wheel" p="33188"/><f n="out.hpp" o="root" g="wheel" p="33188"/><f n="pair.hpp" o="root" g="wheel" p="33188"/><f n="pair_tie.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="prior.hpp" o="root" g="wheel" p="33188"/><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="query.hpp" o="root" g="wheel" p="33188"/><f n="remove.hpp" o="root" g="wheel" p="33188"/><f n="remove_if.hpp" o="root" g="wheel" p="33188"/><f n="repetetive_view.hpp" o="root" g="wheel" p="33188"/><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="replace_if.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="reverse_view.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="sequence_base.hpp" o="root" g="wheel" p="33188"/><f n="sequence_facade.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_fwd.hpp" o="root" g="wheel" p="33188"/><f n="single_view.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="std_pair.hpp" o="root" g="wheel" p="33188"/><f n="struct.hpp" o="root" g="wheel" p="33188"/><f n="support.hpp" o="root" g="wheel" p="33188"/><f n="swap.hpp" o="root" g="wheel" p="33188"/><f n="tag_of.hpp" o="root" g="wheel" p="33188"/><f n="tag_of_fwd.hpp" o="root" g="wheel" p="33188"/><f n="transform.hpp" o="root" g="wheel" p="33188"/><f n="transform_view.hpp" o="root" g="wheel" p="33188"/><f n="transformation.hpp" o="root" g="wheel" p="33188"/><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="tuple_fwd.hpp" o="root" g="wheel" p="33188"/><f n="tuple_tie.hpp" o="root" g="wheel" p="33188"/><f n="unfused_generic.hpp" o="root" g="wheel" p="33188"/><f n="unfused_lvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="unfused_rvalue_args.hpp" o="root" g="wheel" p="33188"/><f n="unfused_typed.hpp" o="root" g="wheel" p="33188"/><f n="unused.hpp" o="root" g="wheel" p="33188"/><f n="value_at.hpp" o="root" g="wheel" p="33188"/><f n="value_at_key.hpp" o="root" g="wheel" p="33188"/><f n="value_of.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector10.hpp" o="root" g="wheel" p="33188"/><f n="vector20.hpp" o="root" g="wheel" p="33188"/><f n="vector30.hpp" o="root" g="wheel" p="33188"/><f n="vector40.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/><f n="vector_fwd.hpp" o="root" g="wheel" p="33188"/><f n="vector_tie.hpp" o="root" g="wheel" p="33188"/><f n="view.hpp" o="root" g="wheel" p="33188"/><f n="void.hpp" o="root" g="wheel" p="33188"/><f n="zip.hpp" o="root" g="wheel" p="33188"/><f n="zip_view.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator" o="root" g="wheel" p="16877"><f n="advance.hpp" o="root" g="wheel" p="33188"/><f n="deref.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="adapt_deref_traits.hpp" o="root" g="wheel" p="33188"/><f n="adapt_value_traits.hpp" o="root" g="wheel" p="33188"/><f n="advance.hpp" o="root" g="wheel" p="33188"/><f n="distance.hpp" o="root" g="wheel" p="33188"/></f><f n="distance.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="iterator_facade.hpp" o="root" g="wheel" p="33188"/><f n="mpl" o="root" g="wheel" p="16877"><f n="convert_iterator.hpp" o="root" g="wheel" p="33188"/><f n="fusion_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="next.hpp" o="root" g="wheel" p="33188"/><f n="prior.hpp" o="root" g="wheel" p="33188"/><f n="value_of.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="mpl" o="root" g="wheel" p="16877"><f n="at.hpp" o="root" g="wheel" p="33188"/><f n="back.hpp" o="root" g="wheel" p="33188"/><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="clear.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="clear.hpp" o="root" g="wheel" p="33188"/></f><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="erase.hpp" o="root" g="wheel" p="33188"/><f n="erase_key.hpp" o="root" g="wheel" p="33188"/><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="has_key.hpp" o="root" g="wheel" p="33188"/><f n="insert.hpp" o="root" g="wheel" p="33188"/><f n="insert_range.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/></f><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="sequence" o="root" g="wheel" p="16877"><f n="comparison" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="enable_comparison.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/></f><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/></f><f n="comparison.hpp" o="root" g="wheel" p="33188"/><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="intrinsic" o="root" g="wheel" p="16877"><f n="at.hpp" o="root" g="wheel" p="33188"/><f n="at_c.hpp" o="root" g="wheel" p="33188"/><f n="at_key.hpp" o="root" g="wheel" p="33188"/><f n="back.hpp" o="root" g="wheel" p="33188"/><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="ext_" o="root" g="wheel" p="16877"><f n="segments.hpp" o="root" g="wheel" p="33188"/><f n="size_s.hpp" o="root" g="wheel" p="33188"/></f><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="has_key.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="swap.hpp" o="root" g="wheel" p="33188"/><f n="value_at.hpp" o="root" g="wheel" p="33188"/><f n="value_at_key.hpp" o="root" g="wheel" p="33188"/></f><f n="intrinsic.hpp" o="root" g="wheel" p="33188"/><f n="io" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="in.hpp" o="root" g="wheel" p="33188"/><f n="manip.hpp" o="root" g="wheel" p="33188"/><f n="out.hpp" o="root" g="wheel" p="33188"/></f><f n="in.hpp" o="root" g="wheel" p="33188"/><f n="out.hpp" o="root" g="wheel" p="33188"/></f><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="sequence_facade.hpp" o="root" g="wheel" p="33188"/></f><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="support" o="root" g="wheel" p="16877"><f n="category_of.hpp" o="root" g="wheel" p="33188"/><f n="deduce.hpp" o="root" g="wheel" p="33188"/><f n="deduce_sequence.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="access.hpp" o="root" g="wheel" p="33188"/><f n="as_fusion_element.hpp" o="root" g="wheel" p="33188"/><f n="category_of.hpp" o="root" g="wheel" p="33188"/><f n="is_mpl_sequence.hpp" o="root" g="wheel" p="33188"/><f n="is_view.hpp" o="root" g="wheel" p="33188"/><f n="mpl_iterator_category.hpp" o="root" g="wheel" p="33188"/><f n="unknown_key.hpp" o="root" g="wheel" p="33188"/></f><f n="ext_" o="root" g="wheel" p="16877"><f n="is_segmented.hpp" o="root" g="wheel" p="33188"/></f><f n="is_iterator.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence.hpp" o="root" g="wheel" p="33188"/><f n="is_view.hpp" o="root" g="wheel" p="33188"/><f n="iterator_base.hpp" o="root" g="wheel" p="33188"/><f n="pair.hpp" o="root" g="wheel" p="33188"/><f n="sequence_base.hpp" o="root" g="wheel" p="33188"/><f n="tag_of.hpp" o="root" g="wheel" p="33188"/><f n="tag_of_fwd.hpp" o="root" g="wheel" p="33188"/><f n="unused.hpp" o="root" g="wheel" p="33188"/><f n="void.hpp" o="root" g="wheel" p="33188"/></f><f n="support.hpp" o="root" g="wheel" p="33188"/><f n="tuple" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="tuple_expand.hpp" o="root" g="wheel" p="33188"/></f><f n="make_tuple.hpp" o="root" g="wheel" p="33188"/><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="tuple_fwd.hpp" o="root" g="wheel" p="33188"/><f n="tuple_tie.hpp" o="root" g="wheel" p="33188"/></f><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="strictest_traversal.hpp" o="root" g="wheel" p="33188"/></f><f n="ext_" o="root" g="wheel" p="16877"><f n="multiple_view.hpp" o="root" g="wheel" p="33188"/><f n="segmented_iterator.hpp" o="root" g="wheel" p="33188"/><f n="segmented_iterator_range.hpp" o="root" g="wheel" p="33188"/></f><f n="filter_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="equal_to_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="filter_view.hpp" o="root" g="wheel" p="33188"/><f n="filter_view_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="filter_view.hpp" o="root" g="wheel" p="33188"/><f n="iterator_range" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator_range.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator_range.hpp" o="root" g="wheel" p="33188"/><f n="joint_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="joint_view.hpp" o="root" g="wheel" p="33188"/><f n="joint_view_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="joint_view.hpp" o="root" g="wheel" p="33188"/><f n="nview" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="advance_impl.hpp" o="root" g="wheel" p="33188"/><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="distance_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="equal_to_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="nview_impl.hpp" o="root" g="wheel" p="33188"/><f n="prior_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="nview.hpp" o="root" g="wheel" p="33188"/><f n="nview_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="nview.hpp" o="root" g="wheel" p="33188"/><f n="repetitive_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="repetitive_view.hpp" o="root" g="wheel" p="33188"/><f n="repetitive_view_fwd.hpp" o="root" g="wheel" p="33188"/><f n="repetitive_view_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="repetitive_view.hpp" o="root" g="wheel" p="33188"/><f n="reverse_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="advance_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="distance_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="prior_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="reverse_view.hpp" o="root" g="wheel" p="33188"/><f n="reverse_view_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="reverse_view.hpp" o="root" g="wheel" p="33188"/><f n="single_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="single_view.hpp" o="root" g="wheel" p="33188"/><f n="single_view_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="single_view.hpp" o="root" g="wheel" p="33188"/><f n="transform_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="advance_impl.hpp" o="root" g="wheel" p="33188"/><f n="apply_transform_result.hpp" o="root" g="wheel" p="33188"/><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="distance_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="equal_to_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="prior_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="transform_view.hpp" o="root" g="wheel" p="33188"/><f n="transform_view_fwd.hpp" o="root" g="wheel" p="33188"/><f n="transform_view_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="transform_view.hpp" o="root" g="wheel" p="33188"/><f n="zip_view" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="advance_impl.hpp" o="root" g="wheel" p="33188"/><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_impl.hpp" o="root" g="wheel" p="33188"/><f n="deref_impl.hpp" o="root" g="wheel" p="33188"/><f n="distance_impl.hpp" o="root" g="wheel" p="33188"/><f n="end_impl.hpp" o="root" g="wheel" p="33188"/><f n="equal_to_impl.hpp" o="root" g="wheel" p="33188"/><f n="next_impl.hpp" o="root" g="wheel" p="33188"/><f n="prior_impl.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_at_impl.hpp" o="root" g="wheel" p="33188"/><f n="value_of_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="zip_view.hpp" o="root" g="wheel" p="33188"/><f n="zip_view_iterator.hpp" o="root" g="wheel" p="33188"/><f n="zip_view_iterator_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="zip_view.hpp" o="root" g="wheel" p="33188"/></f><f n="view.hpp" o="root" g="wheel" p="33188"/></f><f n="generator_iterator.hpp" o="root" g="wheel" p="33188"/><f n="get_pointer.hpp" o="root" g="wheel" p="33188"/><f n="gil" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="bit_aligned_pixel_iterator.hpp" o="root" g="wheel" p="33188"/><f n="bit_aligned_pixel_reference.hpp" o="root" g="wheel" p="33188"/><f n="channel.hpp" o="root" g="wheel" p="33188"/><f n="channel_algorithm.hpp" o="root" g="wheel" p="33188"/><f n="cmyk.hpp" o="root" g="wheel" p="33188"/><f n="color_base.hpp" o="root" g="wheel" p="33188"/><f n="color_base_algorithm.hpp" o="root" g="wheel" p="33188"/><f n="color_convert.hpp" o="root" g="wheel" p="33188"/><f n="deprecated.hpp" o="root" g="wheel" p="33188"/><f n="device_n.hpp" o="root" g="wheel" p="33188"/><f n="extension" o="root" g="wheel" p="16877"><f n="dynamic_image" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="any_image.hpp" o="root" g="wheel" p="33188"/><f n="any_image_view.hpp" o="root" g="wheel" p="33188"/><f n="apply_operation.hpp" o="root" g="wheel" p="33188"/><f n="apply_operation_base.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_at_c.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_image_all.hpp" o="root" g="wheel" p="33188"/><f n="image_view_factory.hpp" o="root" g="wheel" p="33188"/><f n="reduce.hpp" o="root" g="wheel" p="33188"/><f n="variant.hpp" o="root" g="wheel" p="33188"/></f><f n="io" o="root" g="wheel" p="16877"><f n="dynamic_io.hpp" o="root" g="wheel" p="33188"/><f n="io_error.hpp" o="root" g="wheel" p="33188"/><f n="jpeg_dynamic_io.hpp" o="root" g="wheel" p="33188"/><f n="jpeg_io.hpp" o="root" g="wheel" p="33188"/><f n="jpeg_io_private.hpp" o="root" g="wheel" p="33188"/><f n="png_dynamic_io.hpp" o="root" g="wheel" p="33188"/><f n="png_io.hpp" o="root" g="wheel" p="33188"/><f n="png_io_private.hpp" o="root" g="wheel" p="33188"/><f n="tiff_dynamic_io.hpp" o="root" g="wheel" p="33188"/><f n="tiff_io.hpp" o="root" g="wheel" p="33188"/></f></f><f n="gil_all.hpp" o="root" g="wheel" p="33188"/><f n="gil_concept.hpp" o="root" g="wheel" p="33188"/><f n="gil_config.hpp" o="root" g="wheel" p="33188"/><f n="gray.hpp" o="root" g="wheel" p="33188"/><f n="image.hpp" o="root" g="wheel" p="33188"/><f n="image_view.hpp" o="root" g="wheel" p="33188"/><f n="image_view_factory.hpp" o="root" g="wheel" p="33188"/><f n="iterator_from_2d.hpp" o="root" g="wheel" p="33188"/><f n="locator.hpp" o="root" g="wheel" p="33188"/><f n="metafunctions.hpp" o="root" g="wheel" p="33188"/><f n="packed_pixel.hpp" o="root" g="wheel" p="33188"/><f n="pixel.hpp" o="root" g="wheel" p="33188"/><f n="pixel_iterator.hpp" o="root" g="wheel" p="33188"/><f n="pixel_iterator_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="planar_pixel_iterator.hpp" o="root" g="wheel" p="33188"/><f n="planar_pixel_reference.hpp" o="root" g="wheel" p="33188"/><f n="position_iterator.hpp" o="root" g="wheel" p="33188"/><f n="rgb.hpp" o="root" g="wheel" p="33188"/><f n="rgba.hpp" o="root" g="wheel" p="33188"/><f n="step_iterator.hpp" o="root" g="wheel" p="33188"/><f n="typedefs.hpp" o="root" g="wheel" p="33188"/><f n="utilities.hpp" o="root" g="wheel" p="33188"/><f n="virtual_locator.hpp" o="root" g="wheel" p="33188"/></f><f n="graph" o="root" g="wheel" p="16877"><f n="accounting.hpp" o="root" g="wheel" p="33188"/><f n="adj_list_serialize.hpp" o="root" g="wheel" p="33188"/><f n="adjacency_iterator.hpp" o="root" g="wheel" p="33188"/><f n="adjacency_list.hpp" o="root" g="wheel" p="33188"/><f n="adjacency_list_io.hpp" o="root" g="wheel" p="33188"/><f n="adjacency_matrix.hpp" o="root" g="wheel" p="33188"/><f n="astar_search.hpp" o="root" g="wheel" p="33188"/><f n="bandwidth.hpp" o="root" g="wheel" p="33188"/><f n="bc_clustering.hpp" o="root" g="wheel" p="33188"/><f n="bellman_ford_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="betweenness_centrality.hpp" o="root" g="wheel" p="33188"/><f n="biconnected_components.hpp" o="root" g="wheel" p="33188"/><f n="boyer_myrvold_planar_test.hpp" o="root" g="wheel" p="33188"/><f n="breadth_first_search.hpp" o="root" g="wheel" p="33188"/><f n="bron_kerbosch_all_cliques.hpp" o="root" g="wheel" p="33188"/><f n="chrobak_payne_drawing.hpp" o="root" g="wheel" p="33188"/><f n="circle_layout.hpp" o="root" g="wheel" p="33188"/><f n="closeness_centrality.hpp" o="root" g="wheel" p="33188"/><f n="clustering_coefficient.hpp" o="root" g="wheel" p="33188"/><f n="compressed_sparse_row_graph.hpp" o="root" g="wheel" p="33188"/><f n="connected_components.hpp" o="root" g="wheel" p="33188"/><f n="copy.hpp" o="root" g="wheel" p="33188"/><f n="core_numbers.hpp" o="root" g="wheel" p="33188"/><f n="create_condensation_graph.hpp" o="root" g="wheel" p="33188"/><f n="cuthill_mckee_ordering.hpp" o="root" g="wheel" p="33188"/><f n="dag_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="degree_centrality.hpp" o="root" g="wheel" p="33188"/><f n="depth_first_search.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="adj_list_edge_iterator.hpp" o="root" g="wheel" p="33188"/><f n="adjacency_list.hpp" o="root" g="wheel" p="33188"/><f n="array_binary_tree.hpp" o="root" g="wheel" p="33188"/><f n="compressed_sparse_row_struct.hpp" o="root" g="wheel" p="33188"/><f n="connected_components.hpp" o="root" g="wheel" p="33188"/><f n="d_ary_heap.hpp" o="root" g="wheel" p="33188"/><f n="edge.hpp" o="root" g="wheel" p="33188"/><f n="geodesic.hpp" o="root" g="wheel" p="33188"/><f n="histogram_sort.hpp" o="root" g="wheel" p="33188"/><f n="incidence_iterator.hpp" o="root" g="wheel" p="33188"/><f n="incremental_components.hpp" o="root" g="wheel" p="33188"/><f n="index.hpp" o="root" g="wheel" p="33188"/><f n="indexed_properties.hpp" o="root" g="wheel" p="33188"/><f n="is_same.hpp" o="root" g="wheel" p="33188"/><f n="labeled_graph_traits.hpp" o="root" g="wheel" p="33188"/><f n="list_base.hpp" o="root" g="wheel" p="33188"/><f n="permutation.hpp" o="root" g="wheel" p="33188"/><f n="read_graphviz_new.hpp" o="root" g="wheel" p="33188"/><f n="read_graphviz_spirit.hpp" o="root" g="wheel" p="33188"/><f n="self_avoiding_walk.hpp" o="root" g="wheel" p="33188"/><f n="set_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="shadow_iterator.hpp" o="root" g="wheel" p="33188"/><f n="sparse_ordering.hpp" o="root" g="wheel" p="33188"/></f><f n="dijkstra_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="dijkstra_shortest_paths_no_color_map.hpp" o="root" g="wheel" p="33188"/><f n="dimacs.hpp" o="root" g="wheel" p="33188"/><f n="directed_graph.hpp" o="root" g="wheel" p="33188"/><f n="distributed" o="root" g="wheel" p="16877"><f n="adjacency_list.hpp" o="root" g="wheel" p="33188"/><f n="adjlist" o="root" g="wheel" p="16877"><f n="handlers.hpp" o="root" g="wheel" p="33188"/><f n="initialize.hpp" o="root" g="wheel" p="33188"/><f n="redistribute.hpp" o="root" g="wheel" p="33188"/><f n="serialization.hpp" o="root" g="wheel" p="33188"/></f><f n="betweenness_centrality.hpp" o="root" g="wheel" p="33188"/><f n="boman_et_al_graph_coloring.hpp" o="root" g="wheel" p="33188"/><f n="breadth_first_search.hpp" o="root" g="wheel" p="33188"/><f n="compressed_sparse_row_graph.hpp" o="root" g="wheel" p="33188"/><f n="concepts.hpp" o="root" g="wheel" p="33188"/><f n="connected_components.hpp" o="root" g="wheel" p="33188"/><f n="connected_components_parallel_search.hpp" o="root" g="wheel" p="33188"/><f n="crauser_et_al_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="dehne_gotz_min_spanning_tree.hpp" o="root" g="wheel" p="33188"/><f n="delta_stepping_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="depth_first_search.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="dijkstra_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="filtered_queue.hpp" o="root" g="wheel" p="33188"/><f n="mpi_process_group.ipp" o="root" g="wheel" p="33188"/><f n="queue.ipp" o="root" g="wheel" p="33188"/><f n="remote_update_set.hpp" o="root" g="wheel" p="33188"/><f n="tag_allocator.hpp" o="root" g="wheel" p="33188"/></f><f n="dijkstra_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="distributed_graph_utility.hpp" o="root" g="wheel" p="33188"/><f n="eager_dijkstra_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="filtered_graph.hpp" o="root" g="wheel" p="33188"/><f n="fruchterman_reingold.hpp" o="root" g="wheel" p="33188"/><f n="graphviz.hpp" o="root" g="wheel" p="33188"/><f n="hohberg_biconnected_components.hpp" o="root" g="wheel" p="33188"/><f n="local_subgraph.hpp" o="root" g="wheel" p="33188"/><f n="mpi_process_group.hpp" o="root" g="wheel" p="33188"/><f n="named_graph.hpp" o="root" g="wheel" p="33188"/><f n="page_rank.hpp" o="root" g="wheel" p="33188"/><f n="queue.hpp" o="root" g="wheel" p="33188"/><f n="reverse_graph.hpp" o="root" g="wheel" p="33188"/><f n="rmat_graph_generator.hpp" o="root" g="wheel" p="33188"/><f n="selector.hpp" o="root" g="wheel" p="33188"/><f n="shuffled_distribution.hpp" o="root" g="wheel" p="33188"/><f n="st_connected.hpp" o="root" g="wheel" p="33188"/><f n="strong_components.hpp" o="root" g="wheel" p="33188"/><f n="two_bit_color_map.hpp" o="root" g="wheel" p="33188"/><f n="unsafe_serialize.hpp" o="root" g="wheel" p="33188"/><f n="vertex_list_adaptor.hpp" o="root" g="wheel" p="33188"/></f><f n="dominator_tree.hpp" o="root" g="wheel" p="33188"/><f n="eccentricity.hpp" o="root" g="wheel" p="33188"/><f n="edge_connectivity.hpp" o="root" g="wheel" p="33188"/><f n="edge_list.hpp" o="root" g="wheel" p="33188"/><f n="edmonds_karp_max_flow.hpp" o="root" g="wheel" p="33188"/><f n="edmunds_karp_max_flow.hpp" o="root" g="wheel" p="33188"/><f n="erdos_renyi_generator.hpp" o="root" g="wheel" p="33188"/><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="exterior_property.hpp" o="root" g="wheel" p="33188"/><f n="filtered_graph.hpp" o="root" g="wheel" p="33188"/><f n="floyd_warshall_shortest.hpp" o="root" g="wheel" p="33188"/><f n="fruchterman_reingold.hpp" o="root" g="wheel" p="33188"/><f n="geodesic_distance.hpp" o="root" g="wheel" p="33188"/><f n="graph_archetypes.hpp" o="root" g="wheel" p="33188"/><f n="graph_as_tree.hpp" o="root" g="wheel" p="33188"/><f n="graph_concepts.hpp" o="root" g="wheel" p="33188"/><f n="graph_mutability_traits.hpp" o="root" g="wheel" p="33188"/><f n="graph_selectors.hpp" o="root" g="wheel" p="33188"/><f n="graph_stats.hpp" o="root" g="wheel" p="33188"/><f n="graph_test.hpp" o="root" g="wheel" p="33188"/><f n="graph_traits.hpp" o="root" g="wheel" p="33188"/><f n="graph_utility.hpp" o="root" g="wheel" p="33188"/><f n="graphml.hpp" o="root" g="wheel" p="33188"/><f n="graphviz.hpp" o="root" g="wheel" p="33188"/><f n="grid_graph.hpp" o="root" g="wheel" p="33188"/><f n="gursoy_atun_layout.hpp" o="root" g="wheel" p="33188"/><f n="howard_cycle_ratio.hpp" o="root" g="wheel" p="33188"/><f n="incremental_components.hpp" o="root" g="wheel" p="33188"/><f n="is_kuratowski_subgraph.hpp" o="root" g="wheel" p="33188"/><f n="is_straight_line_drawing.hpp" o="root" g="wheel" p="33188"/><f n="isomorphism.hpp" o="root" g="wheel" p="33188"/><f n="iteration_macros.hpp" o="root" g="wheel" p="33188"/><f n="iteration_macros_undef.hpp" o="root" g="wheel" p="33188"/><f n="johnson_all_pairs_shortest.hpp" o="root" g="wheel" p="33188"/><f n="kamada_kawai_spring_layout.hpp" o="root" g="wheel" p="33188"/><f n="king_ordering.hpp" o="root" g="wheel" p="33188"/><f n="kolmogorov_max_flow.hpp" o="root" g="wheel" p="33188"/><f n="kruskal_min_spanning_tree.hpp" o="root" g="wheel" p="33188"/><f n="labeled_graph.hpp" o="root" g="wheel" p="33188"/><f n="leda_graph.hpp" o="root" g="wheel" p="33188"/><f n="make_biconnected_planar.hpp" o="root" g="wheel" p="33188"/><f n="make_connected.hpp" o="root" g="wheel" p="33188"/><f n="make_maximal_planar.hpp" o="root" g="wheel" p="33188"/><f n="matrix_as_graph.hpp" o="root" g="wheel" p="33188"/><f n="max_cardinality_matching.hpp" o="root" g="wheel" p="33188"/><f n="mcgregor_common_subgraphs.hpp" o="root" g="wheel" p="33188"/><f n="mesh_graph_generator.hpp" o="root" g="wheel" p="33188"/><f n="metis.hpp" o="root" g="wheel" p="33188"/><f n="metric_tsp_approx.hpp" o="root" g="wheel" p="33188"/><f n="minimum_degree_ordering.hpp" o="root" g="wheel" p="33188"/><f n="named_function_params.hpp" o="root" g="wheel" p="33188"/><f n="named_graph.hpp" o="root" g="wheel" p="33188"/><f n="neighbor_bfs.hpp" o="root" g="wheel" p="33188"/><f n="numeric_values.hpp" o="root" g="wheel" p="33188"/><f n="overloading.hpp" o="root" g="wheel" p="33188"/><f n="page_rank.hpp" o="root" g="wheel" p="33188"/><f n="parallel" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="basic_reduce.hpp" o="root" g="wheel" p="33188"/><f n="container_traits.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="inplace_all_to_all.hpp" o="root" g="wheel" p="33188"/><f n="property_holders.hpp" o="root" g="wheel" p="33188"/><f n="untracked_pair.hpp" o="root" g="wheel" p="33188"/></f><f n="distribution.hpp" o="root" g="wheel" p="33188"/><f n="process_group.hpp" o="root" g="wheel" p="33188"/><f n="properties.hpp" o="root" g="wheel" p="33188"/><f n="simple_trigger.hpp" o="root" g="wheel" p="33188"/></f><f n="planar_canonical_ordering.hpp" o="root" g="wheel" p="33188"/><f n="planar_detail" o="root" g="wheel" p="16877"><f n="add_edge_visitors.hpp" o="root" g="wheel" p="33188"/><f n="boyer_myrvold_impl.hpp" o="root" g="wheel" p="33188"/><f n="bucket_sort.hpp" o="root" g="wheel" p="33188"/><f n="face_handles.hpp" o="root" g="wheel" p="33188"/><f n="face_iterators.hpp" o="root" g="wheel" p="33188"/></f><f n="planar_face_traversal.hpp" o="root" g="wheel" p="33188"/><f n="plod_generator.hpp" o="root" g="wheel" p="33188"/><f n="point_traits.hpp" o="root" g="wheel" p="33188"/><f n="prim_minimum_spanning_tree.hpp" o="root" g="wheel" p="33188"/><f n="profile.hpp" o="root" g="wheel" p="33188"/><f n="properties.hpp" o="root" g="wheel" p="33188"/><f n="property_iter_range.hpp" o="root" g="wheel" p="33188"/><f n="property_maps" o="root" g="wheel" p="16877"><f n="constant_property_map.hpp" o="root" g="wheel" p="33188"/><f n="container_property_map.hpp" o="root" g="wheel" p="33188"/><f n="matrix_property_map.hpp" o="root" g="wheel" p="33188"/><f n="null_property_map.hpp" o="root" g="wheel" p="33188"/></f><f n="push_relabel_max_flow.hpp" o="root" g="wheel" p="33188"/><f n="r_c_shortest_paths.hpp" o="root" g="wheel" p="33188"/><f n="random.hpp" o="root" g="wheel" p="33188"/><f n="random_layout.hpp" o="root" g="wheel" p="33188"/><f n="read_dimacs.hpp" o="root" g="wheel" p="33188"/><f n="relax.hpp" o="root" g="wheel" p="33188"/><f n="reverse_graph.hpp" o="root" g="wheel" p="33188"/><f n="rmat_graph_generator.hpp" o="root" g="wheel" p="33188"/><f n="sequential_vertex_coloring.hpp" o="root" g="wheel" p="33188"/><f n="simple_point.hpp" o="root" g="wheel" p="33188"/><f n="sloan_ordering.hpp" o="root" g="wheel" p="33188"/><f n="small_world_generator.hpp" o="root" g="wheel" p="33188"/><f n="smallest_last_ordering.hpp" o="root" g="wheel" p="33188"/><f n="ssca_graph_generator.hpp" o="root" g="wheel" p="33188"/><f n="st_connected.hpp" o="root" g="wheel" p="33188"/><f n="stanford_graph.hpp" o="root" g="wheel" p="33188"/><f n="strong_components.hpp" o="root" g="wheel" p="33188"/><f n="subgraph.hpp" o="root" g="wheel" p="33188"/><f n="tiernan_all_cycles.hpp" o="root" g="wheel" p="33188"/><f n="topological_sort.hpp" o="root" g="wheel" p="33188"/><f n="topology.hpp" o="root" g="wheel" p="33188"/><f n="transitive_closure.hpp" o="root" g="wheel" p="33188"/><f n="transitive_reduction.hpp" o="root" g="wheel" p="33188"/><f n="transpose_graph.hpp" o="root" g="wheel" p="33188"/><f n="tree_traits.hpp" o="root" g="wheel" p="33188"/><f n="two_bit_color_map.hpp" o="root" g="wheel" p="33188"/><f n="undirected_dfs.hpp" o="root" g="wheel" p="33188"/><f n="undirected_graph.hpp" o="root" g="wheel" p="33188"/><f n="use_mpi.hpp" o="root" g="wheel" p="33188"/><f n="vector_as_graph.hpp" o="root" g="wheel" p="33188"/><f n="vertex_and_edge_range.hpp" o="root" g="wheel" p="33188"/><f n="visitors.hpp" o="root" g="wheel" p="33188"/><f n="wavefront.hpp" o="root" g="wheel" p="33188"/><f n="write_dimacs.hpp" o="root" g="wheel" p="33188"/></f><f n="implicit_cast.hpp" o="root" g="wheel" p="33188"/><f n="indirect_reference.hpp" o="root" g="wheel" p="33188"/><f n="integer" o="root" g="wheel" p="16877"><f n="integer_mask.hpp" o="root" g="wheel" p="33188"/><f n="static_log2.hpp" o="root" g="wheel" p="33188"/><f n="static_min_max.hpp" o="root" g="wheel" p="33188"/></f><f n="integer.hpp" o="root" g="wheel" p="33188"/><f n="integer_fwd.hpp" o="root" g="wheel" p="33188"/><f n="integer_traits.hpp" o="root" g="wheel" p="33188"/><f n="interprocess" o="root" g="wheel" p="16877"><f n="allocators" o="root" g="wheel" p="16877"><f n="adaptive_pool.hpp" o="root" g="wheel" p="33188"/><f n="allocator.hpp" o="root" g="wheel" p="33188"/><f n="cached_adaptive_pool.hpp" o="root" g="wheel" p="33188"/><f n="cached_node_allocator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="adaptive_node_pool.hpp" o="root" g="wheel" p="33188"/><f n="allocator_common.hpp" o="root" g="wheel" p="33188"/><f n="node_pool.hpp" o="root" g="wheel" p="33188"/><f n="node_tools.hpp" o="root" g="wheel" p="33188"/></f><f n="node_allocator.hpp" o="root" g="wheel" p="33188"/><f n="private_adaptive_pool.hpp" o="root" g="wheel" p="33188"/><f n="private_node_allocator.hpp" o="root" g="wheel" p="33188"/></f><f n="anonymous_shared_memory.hpp" o="root" g="wheel" p="33188"/><f n="containers" o="root" g="wheel" p="16877"><f n="allocation_type.hpp" o="root" g="wheel" p="33188"/><f n="container" o="root" g="wheel" p="16877"><f n="container_fwd.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="adaptive_node_pool_impl.hpp" o="root" g="wheel" p="33188"/><f n="advanced_insert_int.hpp" o="root" g="wheel" p="33188"/><f n="algorithms.hpp" o="root" g="wheel" p="33188"/><f n="allocation_type.hpp" o="root" g="wheel" p="33188"/><f n="config_begin.hpp" o="root" g="wheel" p="33188"/><f n="config_end.hpp" o="root" g="wheel" p="33188"/><f n="destroyers.hpp" o="root" g="wheel" p="33188"/><f n="flat_tree.hpp" o="root" g="wheel" p="33188"/><f n="iterators.hpp" o="root" g="wheel" p="33188"/><f n="math_functions.hpp" o="root" g="wheel" p="33188"/><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="multiallocation_chain.hpp" o="root" g="wheel" p="33188"/><f n="node_alloc_holder.hpp" o="root" g="wheel" p="33188"/><f n="node_pool_impl.hpp" o="root" g="wheel" p="33188"/><f n="pair.hpp" o="root" g="wheel" p="33188"/><f n="pool_common.hpp" o="root" g="wheel" p="33188"/><f n="preprocessor.hpp" o="root" g="wheel" p="33188"/><f n="transform_iterator.hpp" o="root" g="wheel" p="33188"/><f n="tree.hpp" o="root" g="wheel" p="33188"/><f n="type_traits.hpp" o="root" g="wheel" p="33188"/><f n="utilities.hpp" o="root" g="wheel" p="33188"/><f n="value_init.hpp" o="root" g="wheel" p="33188"/><f n="variadic_templates_tools.hpp" o="root" g="wheel" p="33188"/><f n="version_type.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/></f><f n="flat_map.hpp" o="root" g="wheel" p="33188"/><f n="flat_set.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="slist.hpp" o="root" g="wheel" p="33188"/><f n="stable_vector.hpp" o="root" g="wheel" p="33188"/><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/></f><f n="containers_fwd.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="flat_map.hpp" o="root" g="wheel" p="33188"/><f n="flat_set.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="pair.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="slist.hpp" o="root" g="wheel" p="33188"/><f n="stable_vector.hpp" o="root" g="wheel" p="33188"/><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="version_type.hpp" o="root" g="wheel" p="33188"/></f><f n="creation_tags.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="atomic.hpp" o="root" g="wheel" p="33188"/><f n="cast_tags.hpp" o="root" g="wheel" p="33188"/><f n="config_begin.hpp" o="root" g="wheel" p="33188"/><f n="config_end.hpp" o="root" g="wheel" p="33188"/><f n="file_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="in_place_interface.hpp" o="root" g="wheel" p="33188"/><f n="intermodule_singleton.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_tester.hpp" o="root" g="wheel" p="33188"/><f n="intersegment_ptr.hpp" o="root" g="wheel" p="33188"/><f n="managed_memory_impl.hpp" o="root" g="wheel" p="33188"/><f n="managed_multi_shared_memory.hpp" o="root" g="wheel" p="33188"/><f n="managed_open_or_create_impl.hpp" o="root" g="wheel" p="33188"/><f n="math_functions.hpp" o="root" g="wheel" p="33188"/><f n="min_max.hpp" o="root" g="wheel" p="33188"/><f n="move.hpp" o="root" g="wheel" p="33188"/><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="multi_segment_services.hpp" o="root" g="wheel" p="33188"/><f n="named_proxy.hpp" o="root" g="wheel" p="33188"/><f n="os_file_functions.hpp" o="root" g="wheel" p="33188"/><f n="os_thread_functions.hpp" o="root" g="wheel" p="33188"/><f n="pointer_type.hpp" o="root" g="wheel" p="33188"/><f n="posix_time_types_wrk.hpp" o="root" g="wheel" p="33188"/><f n="preprocessor.hpp" o="root" g="wheel" p="33188"/><f n="ptime_wrk.hpp" o="root" g="wheel" p="33188"/><f n="segment_manager_helper.hpp" o="root" g="wheel" p="33188"/><f n="tmp_dir_helpers.hpp" o="root" g="wheel" p="33188"/><f n="transform_iterator.hpp" o="root" g="wheel" p="33188"/><f n="type_traits.hpp" o="root" g="wheel" p="33188"/><f n="utilities.hpp" o="root" g="wheel" p="33188"/><f n="variadic_templates_tools.hpp" o="root" g="wheel" p="33188"/><f n="win32_api.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/><f n="xsi_shared_memory.hpp" o="root" g="wheel" p="33188"/><f n="xsi_shared_memory_device.hpp" o="root" g="wheel" p="33188"/></f><f n="errors.hpp" o="root" g="wheel" p="33188"/><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="file_mapping.hpp" o="root" g="wheel" p="33188"/><f n="indexes" o="root" g="wheel" p="16877"><f n="flat_map_index.hpp" o="root" g="wheel" p="33188"/><f n="iset_index.hpp" o="root" g="wheel" p="33188"/><f n="iunordered_set_index.hpp" o="root" g="wheel" p="33188"/><f n="map_index.hpp" o="root" g="wheel" p="33188"/><f n="null_index.hpp" o="root" g="wheel" p="33188"/><f n="unordered_map_index.hpp" o="root" g="wheel" p="33188"/></f><f n="interprocess_fwd.hpp" o="root" g="wheel" p="33188"/><f n="ipc" o="root" g="wheel" p="16877"><f n="message_queue.hpp" o="root" g="wheel" p="33188"/></f><f n="managed_external_buffer.hpp" o="root" g="wheel" p="33188"/><f n="managed_heap_memory.hpp" o="root" g="wheel" p="33188"/><f n="managed_mapped_file.hpp" o="root" g="wheel" p="33188"/><f n="managed_shared_memory.hpp" o="root" g="wheel" p="33188"/><f n="managed_windows_shared_memory.hpp" o="root" g="wheel" p="33188"/><f n="mapped_region.hpp" o="root" g="wheel" p="33188"/><f n="mem_algo" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="mem_algo_common.hpp" o="root" g="wheel" p="33188"/><f n="multi_simple_seq_fit.hpp" o="root" g="wheel" p="33188"/><f n="multi_simple_seq_fit_impl.hpp" o="root" g="wheel" p="33188"/><f n="simple_seq_fit_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="rbtree_best_fit.hpp" o="root" g="wheel" p="33188"/><f n="simple_seq_fit.hpp" o="root" g="wheel" p="33188"/></f><f n="offset_ptr.hpp" o="root" g="wheel" p="33188"/><f n="segment_manager.hpp" o="root" g="wheel" p="33188"/><f n="shared_memory_object.hpp" o="root" g="wheel" p="33188"/><f n="smart_ptr" o="root" g="wheel" p="16877"><f n="deleter.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bad_weak_ptr.hpp" o="root" g="wheel" p="33188"/><f n="shared_count.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_atomic.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="enable_shared_from_this.hpp" o="root" g="wheel" p="33188"/><f n="intrusive_ptr.hpp" o="root" g="wheel" p="33188"/><f n="scoped_ptr.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr.hpp" o="root" g="wheel" p="33188"/><f n="unique_ptr.hpp" o="root" g="wheel" p="33188"/><f n="weak_ptr.hpp" o="root" g="wheel" p="33188"/></f><f n="streams" o="root" g="wheel" p="16877"><f n="bufferstream.hpp" o="root" g="wheel" p="33188"/><f n="vectorstream.hpp" o="root" g="wheel" p="33188"/></f><f n="sync" o="root" g="wheel" p="16877"><f n="emulation" o="root" g="wheel" p="16877"><f n="interprocess_barrier.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_condition.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_mutex.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_semaphore.hpp" o="root" g="wheel" p="33188"/><f n="named_creation_functor.hpp" o="root" g="wheel" p="33188"/></f><f n="file_lock.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_barrier.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_condition.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_mutex.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_semaphore.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_upgradable_mutex.hpp" o="root" g="wheel" p="33188"/><f n="lock_options.hpp" o="root" g="wheel" p="33188"/><f n="mutex_family.hpp" o="root" g="wheel" p="33188"/><f n="named_condition.hpp" o="root" g="wheel" p="33188"/><f n="named_mutex.hpp" o="root" g="wheel" p="33188"/><f n="named_recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="named_semaphore.hpp" o="root" g="wheel" p="33188"/><f n="named_upgradable_mutex.hpp" o="root" g="wheel" p="33188"/><f n="null_mutex.hpp" o="root" g="wheel" p="33188"/><f n="posix" o="root" g="wheel" p="16877"><f n="interprocess_barrier.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_condition.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_mutex.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="interprocess_semaphore.hpp" o="root" g="wheel" p="33188"/><f n="pthread_helpers.hpp" o="root" g="wheel" p="33188"/><f n="ptime_to_timespec.hpp" o="root" g="wheel" p="33188"/><f n="semaphore_wrapper.hpp" o="root" g="wheel" p="33188"/></f><f n="scoped_lock.hpp" o="root" g="wheel" p="33188"/><f n="sharable_lock.hpp" o="root" g="wheel" p="33188"/><f n="upgradable_lock.hpp" o="root" g="wheel" p="33188"/><f n="xsi" o="root" g="wheel" p="16877"><f n="advanced_xsi_semaphore.hpp" o="root" g="wheel" p="33188"/><f n="simple_xsi_semaphore.hpp" o="root" g="wheel" p="33188"/><f n="xsi_named_mutex.hpp" o="root" g="wheel" p="33188"/></f></f><f n="windows_shared_memory.hpp" o="root" g="wheel" p="33188"/></f><f n="intrusive" o="root" g="wheel" p="16877"><f n="any_hook.hpp" o="root" g="wheel" p="33188"/><f n="avl_set.hpp" o="root" g="wheel" p="33188"/><f n="avl_set_hook.hpp" o="root" g="wheel" p="33188"/><f n="avltree.hpp" o="root" g="wheel" p="33188"/><f n="avltree_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="bs_set_hook.hpp" o="root" g="wheel" p="33188"/><f n="circular_list_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="circular_slist_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="derivation_value_traits.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="any_node_and_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="avltree_node.hpp" o="root" g="wheel" p="33188"/><f n="clear_on_destructor_base.hpp" o="root" g="wheel" p="33188"/><f n="common_slist_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="config_begin.hpp" o="root" g="wheel" p="33188"/><f n="config_end.hpp" o="root" g="wheel" p="33188"/><f n="ebo_functor_holder.hpp" o="root" g="wheel" p="33188"/><f n="function_detector.hpp" o="root" g="wheel" p="33188"/><f n="generic_hook.hpp" o="root" g="wheel" p="33188"/><f n="hashtable_node.hpp" o="root" g="wheel" p="33188"/><f n="is_stateful_value_traits.hpp" o="root" g="wheel" p="33188"/><f n="list_node.hpp" o="root" g="wheel" p="33188"/><f n="mpl.hpp" o="root" g="wheel" p="33188"/><f n="parent_from_member.hpp" o="root" g="wheel" p="33188"/><f n="pointer_to_other.hpp" o="root" g="wheel" p="33188"/><f n="rbtree_node.hpp" o="root" g="wheel" p="33188"/><f n="slist_node.hpp" o="root" g="wheel" p="33188"/><f n="transform_iterator.hpp" o="root" g="wheel" p="33188"/><f n="tree_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="tree_node.hpp" o="root" g="wheel" p="33188"/><f n="utilities.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/></f><f n="hashtable.hpp" o="root" g="wheel" p="33188"/><f n="intrusive_fwd.hpp" o="root" g="wheel" p="33188"/><f n="linear_slist_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="link_mode.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_hook.hpp" o="root" g="wheel" p="33188"/><f n="member_value_traits.hpp" o="root" g="wheel" p="33188"/><f n="options.hpp" o="root" g="wheel" p="33188"/><f n="pointer_plus_bits.hpp" o="root" g="wheel" p="33188"/><f n="priority_compare.hpp" o="root" g="wheel" p="33188"/><f n="rbtree.hpp" o="root" g="wheel" p="33188"/><f n="rbtree_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_hook.hpp" o="root" g="wheel" p="33188"/><f n="sg_set.hpp" o="root" g="wheel" p="33188"/><f n="sgtree.hpp" o="root" g="wheel" p="33188"/><f n="sgtree_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="slist.hpp" o="root" g="wheel" p="33188"/><f n="slist_hook.hpp" o="root" g="wheel" p="33188"/><f n="splay_set.hpp" o="root" g="wheel" p="33188"/><f n="splay_set_hook.hpp" o="root" g="wheel" p="33188"/><f n="splaytree.hpp" o="root" g="wheel" p="33188"/><f n="splaytree_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="treap.hpp" o="root" g="wheel" p="33188"/><f n="treap_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="treap_set.hpp" o="root" g="wheel" p="33188"/><f n="trivial_value_traits.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set_hook.hpp" o="root" g="wheel" p="33188"/></f><f n="intrusive_ptr.hpp" o="root" g="wheel" p="33188"/><f n="io" o="root" g="wheel" p="16877"><f n="ios_state.hpp" o="root" g="wheel" p="33188"/></f><f n="io_fwd.hpp" o="root" g="wheel" p="33188"/><f n="iostreams" o="root" g="wheel" p="16877"><f n="categories.hpp" o="root" g="wheel" p="33188"/><f n="chain.hpp" o="root" g="wheel" p="33188"/><f n="char_traits.hpp" o="root" g="wheel" p="33188"/><f n="checked_operations.hpp" o="root" g="wheel" p="33188"/><f n="close.hpp" o="root" g="wheel" p="33188"/><f n="code_converter.hpp" o="root" g="wheel" p="33188"/><f n="combine.hpp" o="root" g="wheel" p="33188"/><f n="compose.hpp" o="root" g="wheel" p="33188"/><f n="concepts.hpp" o="root" g="wheel" p="33188"/><f n="constants.hpp" o="root" g="wheel" p="33188"/><f n="copy.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="absolute_path.hpp" o="root" g="wheel" p="33188"/><f n="access_control.hpp" o="root" g="wheel" p="33188"/><f n="adapter" o="root" g="wheel" p="16877"><f n="concept_adapter.hpp" o="root" g="wheel" p="33188"/><f n="device_adapter.hpp" o="root" g="wheel" p="33188"/><f n="direct_adapter.hpp" o="root" g="wheel" p="33188"/><f n="filter_adapter.hpp" o="root" g="wheel" p="33188"/><f n="mode_adapter.hpp" o="root" g="wheel" p="33188"/><f n="non_blocking_adapter.hpp" o="root" g="wheel" p="33188"/><f n="output_iterator_adapter.hpp" o="root" g="wheel" p="33188"/><f n="range_adapter.hpp" o="root" g="wheel" p="33188"/></f><f n="add_facet.hpp" o="root" g="wheel" p="33188"/><f n="bool_trait_def.hpp" o="root" g="wheel" p="33188"/><f n="broken_overload_resolution" o="root" g="wheel" p="16877"><f n="forward.hpp" o="root" g="wheel" p="33188"/><f n="stream.hpp" o="root" g="wheel" p="33188"/><f n="stream_buffer.hpp" o="root" g="wheel" p="33188"/></f><f n="buffer.hpp" o="root" g="wheel" p="33188"/><f n="call_traits.hpp" o="root" g="wheel" p="33188"/><f n="char_traits.hpp" o="root" g="wheel" p="33188"/><f n="codecvt_helper.hpp" o="root" g="wheel" p="33188"/><f n="codecvt_holder.hpp" o="root" g="wheel" p="33188"/><f n="config" o="root" g="wheel" p="16877"><f n="auto_link.hpp" o="root" g="wheel" p="33188"/><f n="bzip2.hpp" o="root" g="wheel" p="33188"/><f n="codecvt.hpp" o="root" g="wheel" p="33188"/><f n="disable_warnings.hpp" o="root" g="wheel" p="33188"/><f n="dyn_link.hpp" o="root" g="wheel" p="33188"/><f n="enable_warnings.hpp" o="root" g="wheel" p="33188"/><f n="fpos.hpp" o="root" g="wheel" p="33188"/><f n="gcc.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="overload_resolution.hpp" o="root" g="wheel" p="33188"/><f n="rtl.hpp" o="root" g="wheel" p="33188"/><f n="wide_streams.hpp" o="root" g="wheel" p="33188"/><f n="windows_posix.hpp" o="root" g="wheel" p="33188"/><f n="zlib.hpp" o="root" g="wheel" p="33188"/></f><f n="counted_array.hpp" o="root" g="wheel" p="33188"/><f n="current_directory.hpp" o="root" g="wheel" p="33188"/><f n="default_arg.hpp" o="root" g="wheel" p="33188"/><f n="dispatch.hpp" o="root" g="wheel" p="33188"/><f n="double_object.hpp" o="root" g="wheel" p="33188"/><f n="enable_if_stream.hpp" o="root" g="wheel" p="33188"/><f n="error.hpp" o="root" g="wheel" p="33188"/><f n="execute.hpp" o="root" g="wheel" p="33188"/><f n="file_handle.hpp" o="root" g="wheel" p="33188"/><f n="forward.hpp" o="root" g="wheel" p="33188"/><f n="fstream.hpp" o="root" g="wheel" p="33188"/><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="ios.hpp" o="root" g="wheel" p="33188"/><f n="iostream.hpp" o="root" g="wheel" p="33188"/><f n="is_dereferenceable.hpp" o="root" g="wheel" p="33188"/><f n="is_iterator_range.hpp" o="root" g="wheel" p="33188"/><f n="newline.hpp" o="root" g="wheel" p="33188"/><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="param_type.hpp" o="root" g="wheel" p="33188"/><f n="path.hpp" o="root" g="wheel" p="33188"/><f n="push.hpp" o="root" g="wheel" p="33188"/><f n="push_params.hpp" o="root" g="wheel" p="33188"/><f n="resolve.hpp" o="root" g="wheel" p="33188"/><f n="restrict_impl.hpp" o="root" g="wheel" p="33188"/><f n="select.hpp" o="root" g="wheel" p="33188"/><f n="select_by_size.hpp" o="root" g="wheel" p="33188"/><f n="streambuf" o="root" g="wheel" p="16877"><f n="chainbuf.hpp" o="root" g="wheel" p="33188"/><f n="direct_streambuf.hpp" o="root" g="wheel" p="33188"/><f n="indirect_streambuf.hpp" o="root" g="wheel" p="33188"/><f n="linked_streambuf.hpp" o="root" g="wheel" p="33188"/></f><f n="streambuf.hpp" o="root" g="wheel" p="33188"/><f n="system_failure.hpp" o="root" g="wheel" p="33188"/><f n="template_params.hpp" o="root" g="wheel" p="33188"/><f n="translate_int_type.hpp" o="root" g="wheel" p="33188"/><f n="vc6" o="root" g="wheel" p="16877"><f n="close.hpp" o="root" g="wheel" p="33188"/><f n="read.hpp" o="root" g="wheel" p="33188"/><f n="write.hpp" o="root" g="wheel" p="33188"/></f><f n="wrap_unwrap.hpp" o="root" g="wheel" p="33188"/></f><f n="device" o="root" g="wheel" p="16877"><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="back_inserter.hpp" o="root" g="wheel" p="33188"/><f n="file.hpp" o="root" g="wheel" p="33188"/><f n="file_descriptor.hpp" o="root" g="wheel" p="33188"/><f n="mapped_file.hpp" o="root" g="wheel" p="33188"/><f n="null.hpp" o="root" g="wheel" p="33188"/></f><f n="filter" o="root" g="wheel" p="16877"><f n="aggregate.hpp" o="root" g="wheel" p="33188"/><f n="bzip2.hpp" o="root" g="wheel" p="33188"/><f n="counter.hpp" o="root" g="wheel" p="33188"/><f n="grep.hpp" o="root" g="wheel" p="33188"/><f n="gzip.hpp" o="root" g="wheel" p="33188"/><f n="line.hpp" o="root" g="wheel" p="33188"/><f n="newline.hpp" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="stdio.hpp" o="root" g="wheel" p="33188"/><f n="symmetric.hpp" o="root" g="wheel" p="33188"/><f n="test.hpp" o="root" g="wheel" p="33188"/><f n="zlib.hpp" o="root" g="wheel" p="33188"/></f><f n="filtering_stream.hpp" o="root" g="wheel" p="33188"/><f n="filtering_streambuf.hpp" o="root" g="wheel" p="33188"/><f n="flush.hpp" o="root" g="wheel" p="33188"/><f n="get.hpp" o="root" g="wheel" p="33188"/><f n="imbue.hpp" o="root" g="wheel" p="33188"/><f n="input_sequence.hpp" o="root" g="wheel" p="33188"/><f n="invert.hpp" o="root" g="wheel" p="33188"/><f n="operations.hpp" o="root" g="wheel" p="33188"/><f n="operations_fwd.hpp" o="root" g="wheel" p="33188"/><f n="optimal_buffer_size.hpp" o="root" g="wheel" p="33188"/><f n="output_sequence.hpp" o="root" g="wheel" p="33188"/><f n="pipeline.hpp" o="root" g="wheel" p="33188"/><f n="positioning.hpp" o="root" g="wheel" p="33188"/><f n="put.hpp" o="root" g="wheel" p="33188"/><f n="putback.hpp" o="root" g="wheel" p="33188"/><f n="read.hpp" o="root" g="wheel" p="33188"/><f n="restrict.hpp" o="root" g="wheel" p="33188"/><f n="seek.hpp" o="root" g="wheel" p="33188"/><f n="skip.hpp" o="root" g="wheel" p="33188"/><f n="slice.hpp" o="root" g="wheel" p="33188"/><f n="stream.hpp" o="root" g="wheel" p="33188"/><f n="stream_buffer.hpp" o="root" g="wheel" p="33188"/><f n="tee.hpp" o="root" g="wheel" p="33188"/><f n="traits.hpp" o="root" g="wheel" p="33188"/><f n="traits_fwd.hpp" o="root" g="wheel" p="33188"/><f n="write.hpp" o="root" g="wheel" p="33188"/></f><f n="is_placeholder.hpp" o="root" g="wheel" p="33188"/><f n="iterator" o="root" g="wheel" p="16877"><f n="counting_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="any_conversion_eater.hpp" o="root" g="wheel" p="33188"/><f n="config_def.hpp" o="root" g="wheel" p="33188"/><f n="config_undef.hpp" o="root" g="wheel" p="33188"/><f n="enable_if.hpp" o="root" g="wheel" p="33188"/><f n="facade_iterator_category.hpp" o="root" g="wheel" p="33188"/><f n="minimum_category.hpp" o="root" g="wheel" p="33188"/></f><f n="filter_iterator.hpp" o="root" g="wheel" p="33188"/><f n="indirect_iterator.hpp" o="root" g="wheel" p="33188"/><f n="interoperable.hpp" o="root" g="wheel" p="33188"/><f n="is_lvalue_iterator.hpp" o="root" g="wheel" p="33188"/><f n="is_readable_iterator.hpp" o="root" g="wheel" p="33188"/><f n="iterator_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="iterator_archetypes.hpp" o="root" g="wheel" p="33188"/><f n="iterator_categories.hpp" o="root" g="wheel" p="33188"/><f n="iterator_concepts.hpp" o="root" g="wheel" p="33188"/><f n="iterator_facade.hpp" o="root" g="wheel" p="33188"/><f n="iterator_traits.hpp" o="root" g="wheel" p="33188"/><f n="new_iterator_tests.hpp" o="root" g="wheel" p="33188"/><f n="permutation_iterator.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iterator.hpp" o="root" g="wheel" p="33188"/><f n="transform_iterator.hpp" o="root" g="wheel" p="33188"/><f n="zip_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="iterator_adaptors.hpp" o="root" g="wheel" p="33188"/><f n="lambda" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="casts.hpp" o="root" g="wheel" p="33188"/><f n="closures.hpp" o="root" g="wheel" p="33188"/><f n="construct.hpp" o="root" g="wheel" p="33188"/><f n="control_structures.hpp" o="root" g="wheel" p="33188"/><f n="core.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="actions.hpp" o="root" g="wheel" p="33188"/><f n="arity_code.hpp" o="root" g="wheel" p="33188"/><f n="bind_functions.hpp" o="root" g="wheel" p="33188"/><f n="control_constructs_common.hpp" o="root" g="wheel" p="33188"/><f n="control_structures_impl.hpp" o="root" g="wheel" p="33188"/><f n="function_adaptors.hpp" o="root" g="wheel" p="33188"/><f n="is_instance_of.hpp" o="root" g="wheel" p="33188"/><f n="lambda_config.hpp" o="root" g="wheel" p="33188"/><f n="lambda_functor_base.hpp" o="root" g="wheel" p="33188"/><f n="lambda_functors.hpp" o="root" g="wheel" p="33188"/><f n="lambda_fwd.hpp" o="root" g="wheel" p="33188"/><f n="lambda_traits.hpp" o="root" g="wheel" p="33188"/><f n="member_ptr.hpp" o="root" g="wheel" p="33188"/><f n="operator_actions.hpp" o="root" g="wheel" p="33188"/><f n="operator_lambda_func_base.hpp" o="root" g="wheel" p="33188"/><f n="operator_return_type_traits.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="ret.hpp" o="root" g="wheel" p="33188"/><f n="return_type_traits.hpp" o="root" g="wheel" p="33188"/><f n="select_functions.hpp" o="root" g="wheel" p="33188"/><f n="suppress_unused.hpp" o="root" g="wheel" p="33188"/></f><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="lambda.hpp" o="root" g="wheel" p="33188"/><f n="loops.hpp" o="root" g="wheel" p="33188"/><f n="numeric.hpp" o="root" g="wheel" p="33188"/><f n="switch.hpp" o="root" g="wheel" p="33188"/></f><f n="last_value.hpp" o="root" g="wheel" p="33188"/><f n="lexical_cast.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="logic" o="root" g="wheel" p="16877"><f n="tribool.hpp" o="root" g="wheel" p="33188"/><f n="tribool_fwd.hpp" o="root" g="wheel" p="33188"/><f n="tribool_io.hpp" o="root" g="wheel" p="33188"/></f><f n="make_shared.hpp" o="root" g="wheel" p="33188"/><f n="math" o="root" g="wheel" p="16877"><f n="bindings" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="big_digamma.hpp" o="root" g="wheel" p="33188"/><f n="big_lanczos.hpp" o="root" g="wheel" p="33188"/></f><f n="mpfr.hpp" o="root" g="wheel" p="33188"/><f n="rr.hpp" o="root" g="wheel" p="33188"/></f><f n="common_factor.hpp" o="root" g="wheel" p="33188"/><f n="common_factor_ct.hpp" o="root" g="wheel" p="33188"/><f n="common_factor_rt.hpp" o="root" g="wheel" p="33188"/><f n="complex" o="root" g="wheel" p="16877"><f n="acos.hpp" o="root" g="wheel" p="33188"/><f n="acosh.hpp" o="root" g="wheel" p="33188"/><f n="asin.hpp" o="root" g="wheel" p="33188"/><f n="asinh.hpp" o="root" g="wheel" p="33188"/><f n="atan.hpp" o="root" g="wheel" p="33188"/><f n="atanh.hpp" o="root" g="wheel" p="33188"/><f n="details.hpp" o="root" g="wheel" p="33188"/><f n="fabs.hpp" o="root" g="wheel" p="33188"/></f><f n="complex.hpp" o="root" g="wheel" p="33188"/><f n="concepts" o="root" g="wheel" p="16877"><f n="distributions.hpp" o="root" g="wheel" p="33188"/><f n="real_concept.hpp" o="root" g="wheel" p="33188"/><f n="real_type_concept.hpp" o="root" g="wheel" p="33188"/><f n="std_real_concept.hpp" o="root" g="wheel" p="33188"/></f><f n="constants" o="root" g="wheel" p="16877"><f n="constants.hpp" o="root" g="wheel" p="33188"/></f><f n="distributions" o="root" g="wheel" p="16877"><f n="bernoulli.hpp" o="root" g="wheel" p="33188"/><f n="beta.hpp" o="root" g="wheel" p="33188"/><f n="binomial.hpp" o="root" g="wheel" p="33188"/><f n="cauchy.hpp" o="root" g="wheel" p="33188"/><f n="chi_squared.hpp" o="root" g="wheel" p="33188"/><f n="complement.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="common_error_handling.hpp" o="root" g="wheel" p="33188"/><f n="derived_accessors.hpp" o="root" g="wheel" p="33188"/><f n="generic_mode.hpp" o="root" g="wheel" p="33188"/><f n="generic_quantile.hpp" o="root" g="wheel" p="33188"/><f n="hypergeometric_cdf.hpp" o="root" g="wheel" p="33188"/><f n="hypergeometric_pdf.hpp" o="root" g="wheel" p="33188"/><f n="hypergeometric_quantile.hpp" o="root" g="wheel" p="33188"/><f n="inv_discrete_quantile.hpp" o="root" g="wheel" p="33188"/></f><f n="exponential.hpp" o="root" g="wheel" p="33188"/><f n="extreme_value.hpp" o="root" g="wheel" p="33188"/><f n="find_location.hpp" o="root" g="wheel" p="33188"/><f n="find_scale.hpp" o="root" g="wheel" p="33188"/><f n="fisher_f.hpp" o="root" g="wheel" p="33188"/><f n="fwd.hpp" o="root" g="wheel" p="33188"/><f n="gamma.hpp" o="root" g="wheel" p="33188"/><f n="hypergeometric.hpp" o="root" g="wheel" p="33188"/><f n="laplace.hpp" o="root" g="wheel" p="33188"/><f n="logistic.hpp" o="root" g="wheel" p="33188"/><f n="lognormal.hpp" o="root" g="wheel" p="33188"/><f n="negative_binomial.hpp" o="root" g="wheel" p="33188"/><f n="non_central_beta.hpp" o="root" g="wheel" p="33188"/><f n="non_central_chi_squared.hpp" o="root" g="wheel" p="33188"/><f n="non_central_f.hpp" o="root" g="wheel" p="33188"/><f n="non_central_t.hpp" o="root" g="wheel" p="33188"/><f n="normal.hpp" o="root" g="wheel" p="33188"/><f n="pareto.hpp" o="root" g="wheel" p="33188"/><f n="poisson.hpp" o="root" g="wheel" p="33188"/><f n="rayleigh.hpp" o="root" g="wheel" p="33188"/><f n="students_t.hpp" o="root" g="wheel" p="33188"/><f n="triangular.hpp" o="root" g="wheel" p="33188"/><f n="uniform.hpp" o="root" g="wheel" p="33188"/><f n="weibull.hpp" o="root" g="wheel" p="33188"/></f><f n="distributions.hpp" o="root" g="wheel" p="33188"/><f n="octonion.hpp" o="root" g="wheel" p="33188"/><f n="policies" o="root" g="wheel" p="16877"><f n="error_handling.hpp" o="root" g="wheel" p="33188"/><f n="policy.hpp" o="root" g="wheel" p="33188"/></f><f n="quaternion.hpp" o="root" g="wheel" p="33188"/><f n="special_functions" o="root" g="wheel" p="16877"><f n="acosh.hpp" o="root" g="wheel" p="33188"/><f n="asinh.hpp" o="root" g="wheel" p="33188"/><f n="atanh.hpp" o="root" g="wheel" p="33188"/><f n="bessel.hpp" o="root" g="wheel" p="33188"/><f n="beta.hpp" o="root" g="wheel" p="33188"/><f n="binomial.hpp" o="root" g="wheel" p="33188"/><f n="cbrt.hpp" o="root" g="wheel" p="33188"/><f n="cos_pi.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bessel_i0.hpp" o="root" g="wheel" p="33188"/><f n="bessel_i1.hpp" o="root" g="wheel" p="33188"/><f n="bessel_ik.hpp" o="root" g="wheel" p="33188"/><f n="bessel_j0.hpp" o="root" g="wheel" p="33188"/><f n="bessel_j1.hpp" o="root" g="wheel" p="33188"/><f n="bessel_jn.hpp" o="root" g="wheel" p="33188"/><f n="bessel_jy.hpp" o="root" g="wheel" p="33188"/><f n="bessel_jy_asym.hpp" o="root" g="wheel" p="33188"/><f n="bessel_k0.hpp" o="root" g="wheel" p="33188"/><f n="bessel_k1.hpp" o="root" g="wheel" p="33188"/><f n="bessel_kn.hpp" o="root" g="wheel" p="33188"/><f n="bessel_y0.hpp" o="root" g="wheel" p="33188"/><f n="bessel_y1.hpp" o="root" g="wheel" p="33188"/><f n="bessel_yn.hpp" o="root" g="wheel" p="33188"/><f n="erf_inv.hpp" o="root" g="wheel" p="33188"/><f n="fp_traits.hpp" o="root" g="wheel" p="33188"/><f n="gamma_inva.hpp" o="root" g="wheel" p="33188"/><f n="ibeta_inv_ab.hpp" o="root" g="wheel" p="33188"/><f n="ibeta_inverse.hpp" o="root" g="wheel" p="33188"/><f n="igamma_inverse.hpp" o="root" g="wheel" p="33188"/><f n="igamma_large.hpp" o="root" g="wheel" p="33188"/><f n="lanczos_sse2.hpp" o="root" g="wheel" p="33188"/><f n="lgamma_small.hpp" o="root" g="wheel" p="33188"/><f n="round_fwd.hpp" o="root" g="wheel" p="33188"/><f n="simple_complex.hpp" o="root" g="wheel" p="33188"/><f n="t_distribution_inv.hpp" o="root" g="wheel" p="33188"/><f n="unchecked_factorial.hpp" o="root" g="wheel" p="33188"/></f><f n="digamma.hpp" o="root" g="wheel" p="33188"/><f n="ellint_1.hpp" o="root" g="wheel" p="33188"/><f n="ellint_2.hpp" o="root" g="wheel" p="33188"/><f n="ellint_3.hpp" o="root" g="wheel" p="33188"/><f n="ellint_rc.hpp" o="root" g="wheel" p="33188"/><f n="ellint_rd.hpp" o="root" g="wheel" p="33188"/><f n="ellint_rf.hpp" o="root" g="wheel" p="33188"/><f n="ellint_rj.hpp" o="root" g="wheel" p="33188"/><f n="erf.hpp" o="root" g="wheel" p="33188"/><f n="expint.hpp" o="root" g="wheel" p="33188"/><f n="expm1.hpp" o="root" g="wheel" p="33188"/><f n="factorials.hpp" o="root" g="wheel" p="33188"/><f n="fpclassify.hpp" o="root" g="wheel" p="33188"/><f n="gamma.hpp" o="root" g="wheel" p="33188"/><f n="hermite.hpp" o="root" g="wheel" p="33188"/><f n="hypot.hpp" o="root" g="wheel" p="33188"/><f n="laguerre.hpp" o="root" g="wheel" p="33188"/><f n="lanczos.hpp" o="root" g="wheel" p="33188"/><f n="legendre.hpp" o="root" g="wheel" p="33188"/><f n="log1p.hpp" o="root" g="wheel" p="33188"/><f n="math_fwd.hpp" o="root" g="wheel" p="33188"/><f n="modf.hpp" o="root" g="wheel" p="33188"/><f n="next.hpp" o="root" g="wheel" p="33188"/><f n="pow.hpp" o="root" g="wheel" p="33188"/><f n="powm1.hpp" o="root" g="wheel" p="33188"/><f n="prime.hpp" o="root" g="wheel" p="33188"/><f n="round.hpp" o="root" g="wheel" p="33188"/><f n="sign.hpp" o="root" g="wheel" p="33188"/><f n="sin_pi.hpp" o="root" g="wheel" p="33188"/><f n="sinc.hpp" o="root" g="wheel" p="33188"/><f n="sinhc.hpp" o="root" g="wheel" p="33188"/><f n="spherical_harmonic.hpp" o="root" g="wheel" p="33188"/><f n="sqrt1pm1.hpp" o="root" g="wheel" p="33188"/><f n="trunc.hpp" o="root" g="wheel" p="33188"/><f n="zeta.hpp" o="root" g="wheel" p="33188"/></f><f n="special_functions.hpp" o="root" g="wheel" p="33188"/><f n="tools" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="polynomial_horner1_10.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_11.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_12.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_13.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_14.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_15.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_16.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_17.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_18.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_19.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_2.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_20.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_3.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_4.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_5.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_6.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_7.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_8.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner1_9.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_10.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_11.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_12.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_13.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_14.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_15.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_16.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_17.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_18.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_19.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_2.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_20.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_3.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_4.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_5.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_6.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_7.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_8.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner2_9.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_10.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_11.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_12.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_13.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_14.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_15.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_16.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_17.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_18.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_19.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_2.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_20.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_3.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_4.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_5.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_6.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_7.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_8.hpp" o="root" g="wheel" p="33188"/><f n="polynomial_horner3_9.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_10.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_11.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_12.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_13.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_14.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_15.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_16.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_17.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_18.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_19.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_2.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_20.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_3.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_4.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_5.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_6.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_7.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_8.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner1_9.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_10.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_11.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_12.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_13.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_14.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_15.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_16.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_17.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_18.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_19.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_2.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_20.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_3.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_4.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_5.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_6.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_7.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_8.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner2_9.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_10.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_11.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_12.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_13.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_14.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_15.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_16.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_17.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_18.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_19.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_2.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_20.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_3.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_4.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_5.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_6.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_7.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_8.hpp" o="root" g="wheel" p="33188"/><f n="rational_horner3_9.hpp" o="root" g="wheel" p="33188"/></f><f n="fraction.hpp" o="root" g="wheel" p="33188"/><f n="minima.hpp" o="root" g="wheel" p="33188"/><f n="polynomial.hpp" o="root" g="wheel" p="33188"/><f n="precision.hpp" o="root" g="wheel" p="33188"/><f n="promotion.hpp" o="root" g="wheel" p="33188"/><f n="rational.hpp" o="root" g="wheel" p="33188"/><f n="real_cast.hpp" o="root" g="wheel" p="33188"/><f n="remez.hpp" o="root" g="wheel" p="33188"/><f n="roots.hpp" o="root" g="wheel" p="33188"/><f n="series.hpp" o="root" g="wheel" p="33188"/><f n="solve.hpp" o="root" g="wheel" p="33188"/><f n="stats.hpp" o="root" g="wheel" p="33188"/><f n="test.hpp" o="root" g="wheel" p="33188"/><f n="test_data.hpp" o="root" g="wheel" p="33188"/><f n="toms748_solve.hpp" o="root" g="wheel" p="33188"/><f n="traits.hpp" o="root" g="wheel" p="33188"/><f n="user.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/></f><f n="tr1.hpp" o="root" g="wheel" p="33188"/></f><f n="math_fwd.hpp" o="root" g="wheel" p="33188"/><f n="mem_fn.hpp" o="root" g="wheel" p="33188"/><f n="memory_order.hpp" o="root" g="wheel" p="33188"/><f n="mpi" o="root" g="wheel" p="16877"><f n="allocator.hpp" o="root" g="wheel" p="33188"/><f n="collectives" o="root" g="wheel" p="16877"><f n="all_gather.hpp" o="root" g="wheel" p="33188"/><f n="all_reduce.hpp" o="root" g="wheel" p="33188"/><f n="all_to_all.hpp" o="root" g="wheel" p="33188"/><f n="broadcast.hpp" o="root" g="wheel" p="33188"/><f n="gather.hpp" o="root" g="wheel" p="33188"/><f n="reduce.hpp" o="root" g="wheel" p="33188"/><f n="scan.hpp" o="root" g="wheel" p="33188"/><f n="scatter.hpp" o="root" g="wheel" p="33188"/></f><f n="collectives.hpp" o="root" g="wheel" p="33188"/><f n="collectives_fwd.hpp" o="root" g="wheel" p="33188"/><f n="communicator.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="datatype.hpp" o="root" g="wheel" p="33188"/><f n="datatype_fwd.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="binary_buffer_iprimitive.hpp" o="root" g="wheel" p="33188"/><f n="binary_buffer_oprimitive.hpp" o="root" g="wheel" p="33188"/><f n="broadcast_sc.hpp" o="root" g="wheel" p="33188"/><f n="communicator_sc.hpp" o="root" g="wheel" p="33188"/><f n="computation_tree.hpp" o="root" g="wheel" p="33188"/><f n="content_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="forward_iprimitive.hpp" o="root" g="wheel" p="33188"/><f n="forward_oprimitive.hpp" o="root" g="wheel" p="33188"/><f n="forward_skeleton_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="forward_skeleton_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="ignore_iprimitive.hpp" o="root" g="wheel" p="33188"/><f n="ignore_oprimitive.hpp" o="root" g="wheel" p="33188"/><f n="ignore_skeleton_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="mpi_datatype_cache.hpp" o="root" g="wheel" p="33188"/><f n="mpi_datatype_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="mpi_datatype_primitive.hpp" o="root" g="wheel" p="33188"/><f n="packed_iprimitive.hpp" o="root" g="wheel" p="33188"/><f n="packed_oprimitive.hpp" o="root" g="wheel" p="33188"/><f n="point_to_point.hpp" o="root" g="wheel" p="33188"/><f n="text_skeleton_oarchive.hpp" o="root" g="wheel" p="33188"/></f><f n="environment.hpp" o="root" g="wheel" p="33188"/><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="graph_communicator.hpp" o="root" g="wheel" p="33188"/><f n="group.hpp" o="root" g="wheel" p="33188"/><f n="intercommunicator.hpp" o="root" g="wheel" p="33188"/><f n="nonblocking.hpp" o="root" g="wheel" p="33188"/><f n="operations.hpp" o="root" g="wheel" p="33188"/><f n="packed_iarchive.hpp" o="root" g="wheel" p="33188"/><f n="packed_oarchive.hpp" o="root" g="wheel" p="33188"/><f n="python" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="serialize.hpp" o="root" g="wheel" p="33188"/><f n="skeleton_and_content.hpp" o="root" g="wheel" p="33188"/></f><f n="python.hpp" o="root" g="wheel" p="33188"/><f n="request.hpp" o="root" g="wheel" p="33188"/><f n="skeleton_and_content.hpp" o="root" g="wheel" p="33188"/><f n="skeleton_and_content_fwd.hpp" o="root" g="wheel" p="33188"/><f n="status.hpp" o="root" g="wheel" p="33188"/><f n="timer.hpp" o="root" g="wheel" p="33188"/></f><f n="mpi.hpp" o="root" g="wheel" p="33188"/><f n="mpl" o="root" g="wheel" p="16877"><f n="accumulate.hpp" o="root" g="wheel" p="33188"/><f n="advance.hpp" o="root" g="wheel" p="33188"/><f n="advance_fwd.hpp" o="root" g="wheel" p="33188"/><f n="alias.hpp" o="root" g="wheel" p="33188"/><f n="always.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="arg_fwd.hpp" o="root" g="wheel" p="33188"/><f n="arithmetic.hpp" o="root" g="wheel" p="33188"/><f n="as_sequence.hpp" o="root" g="wheel" p="33188"/><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="at.hpp" o="root" g="wheel" p="33188"/><f n="at_fwd.hpp" o="root" g="wheel" p="33188"/><f n="aux_" o="root" g="wheel" p="16877"><f n="adl_barrier.hpp" o="root" g="wheel" p="33188"/><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="apply_1st.hpp" o="root" g="wheel" p="33188"/><f n="arg_typedef.hpp" o="root" g="wheel" p="33188"/><f n="arithmetic_op.hpp" o="root" g="wheel" p="33188"/><f n="arity.hpp" o="root" g="wheel" p="33188"/><f n="arity_spec.hpp" o="root" g="wheel" p="33188"/><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="back_impl.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="begin_end_impl.hpp" o="root" g="wheel" p="33188"/><f n="clear_impl.hpp" o="root" g="wheel" p="33188"/><f n="common_name_wknd.hpp" o="root" g="wheel" p="33188"/><f n="comparison_op.hpp" o="root" g="wheel" p="33188"/><f n="config" o="root" g="wheel" p="16877"><f n="adl.hpp" o="root" g="wheel" p="33188"/><f n="arrays.hpp" o="root" g="wheel" p="33188"/><f n="bcc.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="compiler.hpp" o="root" g="wheel" p="33188"/><f n="ctps.hpp" o="root" g="wheel" p="33188"/><f n="dependent_nttp.hpp" o="root" g="wheel" p="33188"/><f n="dmc_ambiguous_ctps.hpp" o="root" g="wheel" p="33188"/><f n="dtp.hpp" o="root" g="wheel" p="33188"/><f n="eti.hpp" o="root" g="wheel" p="33188"/><f n="forwarding.hpp" o="root" g="wheel" p="33188"/><f n="gcc.hpp" o="root" g="wheel" p="33188"/><f n="has_apply.hpp" o="root" g="wheel" p="33188"/><f n="has_xxx.hpp" o="root" g="wheel" p="33188"/><f n="integral.hpp" o="root" g="wheel" p="33188"/><f n="intel.hpp" o="root" g="wheel" p="33188"/><f n="lambda.hpp" o="root" g="wheel" p="33188"/><f n="msvc.hpp" o="root" g="wheel" p="33188"/><f n="msvc_typename.hpp" o="root" g="wheel" p="33188"/><f n="nttp.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="overload_resolution.hpp" o="root" g="wheel" p="33188"/><f n="pp_counter.hpp" o="root" g="wheel" p="33188"/><f n="preprocessor.hpp" o="root" g="wheel" p="33188"/><f n="static_constant.hpp" o="root" g="wheel" p="33188"/><f n="ttp.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/><f n="use_preprocessed.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/></f><f n="contains_impl.hpp" o="root" g="wheel" p="33188"/><f n="count_args.hpp" o="root" g="wheel" p="33188"/><f n="count_impl.hpp" o="root" g="wheel" p="33188"/><f n="empty_impl.hpp" o="root" g="wheel" p="33188"/><f n="erase_impl.hpp" o="root" g="wheel" p="33188"/><f n="erase_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="filter_iter.hpp" o="root" g="wheel" p="33188"/><f n="find_if_pred.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl_body.hpp" o="root" g="wheel" p="33188"/><f n="fold_op.hpp" o="root" g="wheel" p="33188"/><f n="fold_pred.hpp" o="root" g="wheel" p="33188"/><f n="front_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="has_apply.hpp" o="root" g="wheel" p="33188"/><f n="has_begin.hpp" o="root" g="wheel" p="33188"/><f n="has_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="has_rebind.hpp" o="root" g="wheel" p="33188"/><f n="has_size.hpp" o="root" g="wheel" p="33188"/><f n="has_tag.hpp" o="root" g="wheel" p="33188"/><f n="has_type.hpp" o="root" g="wheel" p="33188"/><f n="include_preprocessed.hpp" o="root" g="wheel" p="33188"/><f n="insert_impl.hpp" o="root" g="wheel" p="33188"/><f n="insert_range_impl.hpp" o="root" g="wheel" p="33188"/><f n="inserter_algorithm.hpp" o="root" g="wheel" p="33188"/><f n="integral_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="is_msvc_eti_arg.hpp" o="root" g="wheel" p="33188"/><f n="iter_apply.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_push_front.hpp" o="root" g="wheel" p="33188"/><f n="joint_iter.hpp" o="root" g="wheel" p="33188"/><f n="lambda_arity_param.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="lambda_spec.hpp" o="root" g="wheel" p="33188"/><f n="lambda_support.hpp" o="root" g="wheel" p="33188"/><f n="largest_int.hpp" o="root" g="wheel" p="33188"/><f n="logical_op.hpp" o="root" g="wheel" p="33188"/><f n="msvc_dtw.hpp" o="root" g="wheel" p="33188"/><f n="msvc_eti_base.hpp" o="root" g="wheel" p="33188"/><f n="msvc_is_class.hpp" o="root" g="wheel" p="33188"/><f n="msvc_never_true.hpp" o="root" g="wheel" p="33188"/><f n="msvc_type.hpp" o="root" g="wheel" p="33188"/><f n="na.hpp" o="root" g="wheel" p="33188"/><f n="na_assert.hpp" o="root" g="wheel" p="33188"/><f n="na_fwd.hpp" o="root" g="wheel" p="33188"/><f n="na_spec.hpp" o="root" g="wheel" p="33188"/><f n="nested_type_wknd.hpp" o="root" g="wheel" p="33188"/><f n="nttp_decl.hpp" o="root" g="wheel" p="33188"/><f n="numeric_cast_utils.hpp" o="root" g="wheel" p="33188"/><f n="numeric_op.hpp" o="root" g="wheel" p="33188"/><f n="O1_size_impl.hpp" o="root" g="wheel" p="33188"/><f n="order_impl.hpp" o="root" g="wheel" p="33188"/><f n="overload_names.hpp" o="root" g="wheel" p="33188"/><f n="partition_op.hpp" o="root" g="wheel" p="33188"/><f n="pop_back_impl.hpp" o="root" g="wheel" p="33188"/><f n="pop_front_impl.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed" o="root" g="wheel" p="16877"><f n="bcc" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="bcc551" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="bcc_pre590" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="dmc" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="gcc" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="msvc60" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="msvc70" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="mwcw" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="no_ctps" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="no_ttp" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f><f n="plain" o="root" g="wheel" p="16877"><f n="advance_backward.hpp" o="root" g="wheel" p="33188"/><f n="advance_forward.hpp" o="root" g="wheel" p="33188"/><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="apply_fwd.hpp" o="root" g="wheel" p="33188"/><f n="apply_wrap.hpp" o="root" g="wheel" p="33188"/><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="basic_bind.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="full_lambda.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if_impl.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="lambda_no_ctps.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/></f></f><f n="preprocessor" o="root" g="wheel" p="16877"><f n="add.hpp" o="root" g="wheel" p="33188"/><f n="def_params_tail.hpp" o="root" g="wheel" p="33188"/><f n="default_params.hpp" o="root" g="wheel" p="33188"/><f n="enum.hpp" o="root" g="wheel" p="33188"/><f n="ext_params.hpp" o="root" g="wheel" p="33188"/><f n="filter_params.hpp" o="root" g="wheel" p="33188"/><f n="is_seq.hpp" o="root" g="wheel" p="33188"/><f n="params.hpp" o="root" g="wheel" p="33188"/><f n="partial_spec_params.hpp" o="root" g="wheel" p="33188"/><f n="range.hpp" o="root" g="wheel" p="33188"/><f n="repeat.hpp" o="root" g="wheel" p="33188"/><f n="sub.hpp" o="root" g="wheel" p="33188"/><f n="token_equal.hpp" o="root" g="wheel" p="33188"/><f n="tuple.hpp" o="root" g="wheel" p="33188"/></f><f n="ptr_to_ref.hpp" o="root" g="wheel" p="33188"/><f n="push_back_impl.hpp" o="root" g="wheel" p="33188"/><f n="push_front_impl.hpp" o="root" g="wheel" p="33188"/><f n="range_c" o="root" g="wheel" p="16877"><f n="back.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="O1_size.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/></f><f n="reverse_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold_impl_body.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold_impl.hpp" o="root" g="wheel" p="33188"/><f n="sequence_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="shift_op.hpp" o="root" g="wheel" p="33188"/><f n="single_element_iter.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="sort_impl.hpp" o="root" g="wheel" p="33188"/><f n="static_cast.hpp" o="root" g="wheel" p="33188"/><f n="template_arity.hpp" o="root" g="wheel" p="33188"/><f n="template_arity_fwd.hpp" o="root" g="wheel" p="33188"/><f n="test" o="root" g="wheel" p="16877"><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="data.hpp" o="root" g="wheel" p="33188"/><f n="test_case.hpp" o="root" g="wheel" p="33188"/></f><f n="test.hpp" o="root" g="wheel" p="33188"/><f n="traits_lambda_spec.hpp" o="root" g="wheel" p="33188"/><f n="transform_iter.hpp" o="root" g="wheel" p="33188"/><f n="type_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="unwrap.hpp" o="root" g="wheel" p="33188"/><f n="value_wknd.hpp" o="root" g="wheel" p="33188"/><f n="yes_no.hpp" o="root" g="wheel" p="33188"/></f><f n="back.hpp" o="root" g="wheel" p="33188"/><f n="back_fwd.hpp" o="root" g="wheel" p="33188"/><f n="back_inserter.hpp" o="root" g="wheel" p="33188"/><f n="base.hpp" o="root" g="wheel" p="33188"/><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="begin_end.hpp" o="root" g="wheel" p="33188"/><f n="begin_end_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="bind_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitwise.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="bool.hpp" o="root" g="wheel" p="33188"/><f n="bool_fwd.hpp" o="root" g="wheel" p="33188"/><f n="char.hpp" o="root" g="wheel" p="33188"/><f n="char_fwd.hpp" o="root" g="wheel" p="33188"/><f n="clear.hpp" o="root" g="wheel" p="33188"/><f n="clear_fwd.hpp" o="root" g="wheel" p="33188"/><f n="comparison.hpp" o="root" g="wheel" p="33188"/><f n="contains.hpp" o="root" g="wheel" p="33188"/><f n="contains_fwd.hpp" o="root" g="wheel" p="33188"/><f n="copy.hpp" o="root" g="wheel" p="33188"/><f n="copy_if.hpp" o="root" g="wheel" p="33188"/><f n="count.hpp" o="root" g="wheel" p="33188"/><f n="count_fwd.hpp" o="root" g="wheel" p="33188"/><f n="count_if.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="deref.hpp" o="root" g="wheel" p="33188"/><f n="distance.hpp" o="root" g="wheel" p="33188"/><f n="distance_fwd.hpp" o="root" g="wheel" p="33188"/><f n="divides.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="empty_base.hpp" o="root" g="wheel" p="33188"/><f n="empty_fwd.hpp" o="root" g="wheel" p="33188"/><f n="empty_sequence.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="equal.hpp" o="root" g="wheel" p="33188"/><f n="equal_to.hpp" o="root" g="wheel" p="33188"/><f n="erase.hpp" o="root" g="wheel" p="33188"/><f n="erase_fwd.hpp" o="root" g="wheel" p="33188"/><f n="erase_key.hpp" o="root" g="wheel" p="33188"/><f n="erase_key_fwd.hpp" o="root" g="wheel" p="33188"/><f n="eval_if.hpp" o="root" g="wheel" p="33188"/><f n="filter_view.hpp" o="root" g="wheel" p="33188"/><f n="find.hpp" o="root" g="wheel" p="33188"/><f n="find_if.hpp" o="root" g="wheel" p="33188"/><f n="fold.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="front_fwd.hpp" o="root" g="wheel" p="33188"/><f n="front_inserter.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="has_key.hpp" o="root" g="wheel" p="33188"/><f n="has_key_fwd.hpp" o="root" g="wheel" p="33188"/><f n="has_xxx.hpp" o="root" g="wheel" p="33188"/><f n="identity.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="index_if.hpp" o="root" g="wheel" p="33188"/><f n="index_of.hpp" o="root" g="wheel" p="33188"/><f n="inherit.hpp" o="root" g="wheel" p="33188"/><f n="inherit_linearly.hpp" o="root" g="wheel" p="33188"/><f n="insert.hpp" o="root" g="wheel" p="33188"/><f n="insert_fwd.hpp" o="root" g="wheel" p="33188"/><f n="insert_range.hpp" o="root" g="wheel" p="33188"/><f n="insert_range_fwd.hpp" o="root" g="wheel" p="33188"/><f n="inserter.hpp" o="root" g="wheel" p="33188"/><f n="int.hpp" o="root" g="wheel" p="33188"/><f n="int_fwd.hpp" o="root" g="wheel" p="33188"/><f n="integral_c.hpp" o="root" g="wheel" p="33188"/><f n="integral_c_fwd.hpp" o="root" g="wheel" p="33188"/><f n="integral_c_tag.hpp" o="root" g="wheel" p="33188"/><f n="is_placeholder.hpp" o="root" g="wheel" p="33188"/><f n="is_sequence.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold.hpp" o="root" g="wheel" p="33188"/><f n="iter_fold_if.hpp" o="root" g="wheel" p="33188"/><f n="iterator_category.hpp" o="root" g="wheel" p="33188"/><f n="iterator_range.hpp" o="root" g="wheel" p="33188"/><f n="iterator_tags.hpp" o="root" g="wheel" p="33188"/><f n="joint_view.hpp" o="root" g="wheel" p="33188"/><f n="key_type.hpp" o="root" g="wheel" p="33188"/><f n="key_type_fwd.hpp" o="root" g="wheel" p="33188"/><f n="lambda.hpp" o="root" g="wheel" p="33188"/><f n="lambda_fwd.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="limits" o="root" g="wheel" p="16877"><f n="arity.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="unrolling.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/></f><f n="list" o="root" g="wheel" p="16877"><f n="aux_" o="root" g="wheel" p="16877"><f n="begin_end.hpp" o="root" g="wheel" p="33188"/><f n="clear.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="include_preprocessed.hpp" o="root" g="wheel" p="33188"/><f n="item.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="numbered.hpp" o="root" g="wheel" p="33188"/><f n="numbered_c.hpp" o="root" g="wheel" p="33188"/><f n="O1_size.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed" o="root" g="wheel" p="16877"><f n="plain" o="root" g="wheel" p="16877"><f n="list10.hpp" o="root" g="wheel" p="33188"/><f n="list10_c.hpp" o="root" g="wheel" p="33188"/><f n="list20.hpp" o="root" g="wheel" p="33188"/><f n="list20_c.hpp" o="root" g="wheel" p="33188"/><f n="list30.hpp" o="root" g="wheel" p="33188"/><f n="list30_c.hpp" o="root" g="wheel" p="33188"/><f n="list40.hpp" o="root" g="wheel" p="33188"/><f n="list40_c.hpp" o="root" g="wheel" p="33188"/><f n="list50.hpp" o="root" g="wheel" p="33188"/><f n="list50_c.hpp" o="root" g="wheel" p="33188"/></f></f><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/></f><f n="list0.hpp" o="root" g="wheel" p="33188"/><f n="list0_c.hpp" o="root" g="wheel" p="33188"/><f n="list10.hpp" o="root" g="wheel" p="33188"/><f n="list10_c.hpp" o="root" g="wheel" p="33188"/><f n="list20.hpp" o="root" g="wheel" p="33188"/><f n="list20_c.hpp" o="root" g="wheel" p="33188"/><f n="list30.hpp" o="root" g="wheel" p="33188"/><f n="list30_c.hpp" o="root" g="wheel" p="33188"/><f n="list40.hpp" o="root" g="wheel" p="33188"/><f n="list40_c.hpp" o="root" g="wheel" p="33188"/><f n="list50.hpp" o="root" g="wheel" p="33188"/><f n="list50_c.hpp" o="root" g="wheel" p="33188"/></f><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="list_c.hpp" o="root" g="wheel" p="33188"/><f n="logical.hpp" o="root" g="wheel" p="33188"/><f n="long.hpp" o="root" g="wheel" p="33188"/><f n="long_fwd.hpp" o="root" g="wheel" p="33188"/><f n="lower_bound.hpp" o="root" g="wheel" p="33188"/><f n="map" o="root" g="wheel" p="16877"><f n="aux_" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_end_impl.hpp" o="root" g="wheel" p="33188"/><f n="clear_impl.hpp" o="root" g="wheel" p="33188"/><f n="contains_impl.hpp" o="root" g="wheel" p="33188"/><f n="empty_impl.hpp" o="root" g="wheel" p="33188"/><f n="erase_impl.hpp" o="root" g="wheel" p="33188"/><f n="erase_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="has_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="include_preprocessed.hpp" o="root" g="wheel" p="33188"/><f n="insert_impl.hpp" o="root" g="wheel" p="33188"/><f n="item.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="key_type_impl.hpp" o="root" g="wheel" p="33188"/><f n="map0.hpp" o="root" g="wheel" p="33188"/><f n="numbered.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed" o="root" g="wheel" p="16877"><f n="no_ctps" o="root" g="wheel" p="16877"><f n="map10.hpp" o="root" g="wheel" p="33188"/><f n="map20.hpp" o="root" g="wheel" p="33188"/><f n="map30.hpp" o="root" g="wheel" p="33188"/><f n="map40.hpp" o="root" g="wheel" p="33188"/><f n="map50.hpp" o="root" g="wheel" p="33188"/></f><f n="plain" o="root" g="wheel" p="16877"><f n="map10.hpp" o="root" g="wheel" p="33188"/><f n="map20.hpp" o="root" g="wheel" p="33188"/><f n="map30.hpp" o="root" g="wheel" p="33188"/><f n="map40.hpp" o="root" g="wheel" p="33188"/><f n="map50.hpp" o="root" g="wheel" p="33188"/></f><f n="typeof_based" o="root" g="wheel" p="16877"><f n="map10.hpp" o="root" g="wheel" p="33188"/><f n="map20.hpp" o="root" g="wheel" p="33188"/><f n="map30.hpp" o="root" g="wheel" p="33188"/><f n="map40.hpp" o="root" g="wheel" p="33188"/><f n="map50.hpp" o="root" g="wheel" p="33188"/></f></f><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="value_type_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="map0.hpp" o="root" g="wheel" p="33188"/><f n="map10.hpp" o="root" g="wheel" p="33188"/><f n="map20.hpp" o="root" g="wheel" p="33188"/><f n="map30.hpp" o="root" g="wheel" p="33188"/><f n="map40.hpp" o="root" g="wheel" p="33188"/><f n="map50.hpp" o="root" g="wheel" p="33188"/></f><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="math" o="root" g="wheel" p="16877"><f n="fixed_c.hpp" o="root" g="wheel" p="33188"/><f n="is_even.hpp" o="root" g="wheel" p="33188"/><f n="rational_c.hpp" o="root" g="wheel" p="33188"/></f><f n="max.hpp" o="root" g="wheel" p="33188"/><f n="max_element.hpp" o="root" g="wheel" p="33188"/><f n="min.hpp" o="root" g="wheel" p="33188"/><f n="min_element.hpp" o="root" g="wheel" p="33188"/><f n="min_max.hpp" o="root" g="wheel" p="33188"/><f n="minus.hpp" o="root" g="wheel" p="33188"/><f n="modulus.hpp" o="root" g="wheel" p="33188"/><f n="multiplies.hpp" o="root" g="wheel" p="33188"/><f n="multiset" o="root" g="wheel" p="16877"><f n="aux_" o="root" g="wheel" p="16877"><f n="count_impl.hpp" o="root" g="wheel" p="33188"/><f n="insert_impl.hpp" o="root" g="wheel" p="33188"/><f n="item.hpp" o="root" g="wheel" p="33188"/><f n="multiset0.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/></f><f n="multiset0.hpp" o="root" g="wheel" p="33188"/></f><f n="negate.hpp" o="root" g="wheel" p="33188"/><f n="next.hpp" o="root" g="wheel" p="33188"/><f n="next_prior.hpp" o="root" g="wheel" p="33188"/><f n="not.hpp" o="root" g="wheel" p="33188"/><f n="not_equal_to.hpp" o="root" g="wheel" p="33188"/><f n="numeric_cast.hpp" o="root" g="wheel" p="33188"/><f n="O1_size.hpp" o="root" g="wheel" p="33188"/><f n="O1_size_fwd.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="order.hpp" o="root" g="wheel" p="33188"/><f n="order_fwd.hpp" o="root" g="wheel" p="33188"/><f n="pair.hpp" o="root" g="wheel" p="33188"/><f n="pair_view.hpp" o="root" g="wheel" p="33188"/><f n="partition.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_back_fwd.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="pop_front_fwd.hpp" o="root" g="wheel" p="33188"/><f n="print.hpp" o="root" g="wheel" p="33188"/><f n="prior.hpp" o="root" g="wheel" p="33188"/><f n="protect.hpp" o="root" g="wheel" p="33188"/><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_back_fwd.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="push_front_fwd.hpp" o="root" g="wheel" p="33188"/><f n="quote.hpp" o="root" g="wheel" p="33188"/><f n="range_c.hpp" o="root" g="wheel" p="33188"/><f n="remove.hpp" o="root" g="wheel" p="33188"/><f n="remove_if.hpp" o="root" g="wheel" p="33188"/><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="replace_if.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="reverse_fold.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iter_fold.hpp" o="root" g="wheel" p="33188"/><f n="same_as.hpp" o="root" g="wheel" p="33188"/><f n="sequence_tag.hpp" o="root" g="wheel" p="33188"/><f n="sequence_tag_fwd.hpp" o="root" g="wheel" p="33188"/><f n="set" o="root" g="wheel" p="16877"><f n="aux_" o="root" g="wheel" p="16877"><f n="at_impl.hpp" o="root" g="wheel" p="33188"/><f n="begin_end_impl.hpp" o="root" g="wheel" p="33188"/><f n="clear_impl.hpp" o="root" g="wheel" p="33188"/><f n="empty_impl.hpp" o="root" g="wheel" p="33188"/><f n="erase_impl.hpp" o="root" g="wheel" p="33188"/><f n="erase_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="has_key_impl.hpp" o="root" g="wheel" p="33188"/><f n="include_preprocessed.hpp" o="root" g="wheel" p="33188"/><f n="insert_impl.hpp" o="root" g="wheel" p="33188"/><f n="item.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="key_type_impl.hpp" o="root" g="wheel" p="33188"/><f n="numbered.hpp" o="root" g="wheel" p="33188"/><f n="numbered_c.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed" o="root" g="wheel" p="16877"><f n="plain" o="root" g="wheel" p="16877"><f n="set10.hpp" o="root" g="wheel" p="33188"/><f n="set10_c.hpp" o="root" g="wheel" p="33188"/><f n="set20.hpp" o="root" g="wheel" p="33188"/><f n="set20_c.hpp" o="root" g="wheel" p="33188"/><f n="set30.hpp" o="root" g="wheel" p="33188"/><f n="set30_c.hpp" o="root" g="wheel" p="33188"/><f n="set40.hpp" o="root" g="wheel" p="33188"/><f n="set40_c.hpp" o="root" g="wheel" p="33188"/><f n="set50.hpp" o="root" g="wheel" p="33188"/><f n="set50_c.hpp" o="root" g="wheel" p="33188"/></f></f><f n="set0.hpp" o="root" g="wheel" p="33188"/><f n="size_impl.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="value_type_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="set0.hpp" o="root" g="wheel" p="33188"/><f n="set0_c.hpp" o="root" g="wheel" p="33188"/><f n="set10.hpp" o="root" g="wheel" p="33188"/><f n="set10_c.hpp" o="root" g="wheel" p="33188"/><f n="set20.hpp" o="root" g="wheel" p="33188"/><f n="set20_c.hpp" o="root" g="wheel" p="33188"/><f n="set30.hpp" o="root" g="wheel" p="33188"/><f n="set30_c.hpp" o="root" g="wheel" p="33188"/><f n="set40.hpp" o="root" g="wheel" p="33188"/><f n="set40_c.hpp" o="root" g="wheel" p="33188"/><f n="set50.hpp" o="root" g="wheel" p="33188"/><f n="set50_c.hpp" o="root" g="wheel" p="33188"/></f><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="set_c.hpp" o="root" g="wheel" p="33188"/><f n="shift_left.hpp" o="root" g="wheel" p="33188"/><f n="shift_right.hpp" o="root" g="wheel" p="33188"/><f n="single_view.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="size_fwd.hpp" o="root" g="wheel" p="33188"/><f n="size_t.hpp" o="root" g="wheel" p="33188"/><f n="size_t_fwd.hpp" o="root" g="wheel" p="33188"/><f n="sizeof.hpp" o="root" g="wheel" p="33188"/><f n="sort.hpp" o="root" g="wheel" p="33188"/><f n="stable_partition.hpp" o="root" g="wheel" p="33188"/><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="switch.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="times.hpp" o="root" g="wheel" p="33188"/><f n="transform.hpp" o="root" g="wheel" p="33188"/><f n="transform_view.hpp" o="root" g="wheel" p="33188"/><f n="unique.hpp" o="root" g="wheel" p="33188"/><f n="unpack_args.hpp" o="root" g="wheel" p="33188"/><f n="upper_bound.hpp" o="root" g="wheel" p="33188"/><f n="value_type.hpp" o="root" g="wheel" p="33188"/><f n="value_type_fwd.hpp" o="root" g="wheel" p="33188"/><f n="vector" o="root" g="wheel" p="16877"><f n="aux_" o="root" g="wheel" p="16877"><f n="at.hpp" o="root" g="wheel" p="33188"/><f n="back.hpp" o="root" g="wheel" p="33188"/><f n="begin_end.hpp" o="root" g="wheel" p="33188"/><f n="clear.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="front.hpp" o="root" g="wheel" p="33188"/><f n="include_preprocessed.hpp" o="root" g="wheel" p="33188"/><f n="item.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="numbered.hpp" o="root" g="wheel" p="33188"/><f n="numbered_c.hpp" o="root" g="wheel" p="33188"/><f n="O1_size.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed" o="root" g="wheel" p="16877"><f n="no_ctps" o="root" g="wheel" p="16877"><f n="vector10.hpp" o="root" g="wheel" p="33188"/><f n="vector10_c.hpp" o="root" g="wheel" p="33188"/><f n="vector20.hpp" o="root" g="wheel" p="33188"/><f n="vector20_c.hpp" o="root" g="wheel" p="33188"/><f n="vector30.hpp" o="root" g="wheel" p="33188"/><f n="vector30_c.hpp" o="root" g="wheel" p="33188"/><f n="vector40.hpp" o="root" g="wheel" p="33188"/><f n="vector40_c.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/><f n="vector50_c.hpp" o="root" g="wheel" p="33188"/></f><f n="plain" o="root" g="wheel" p="16877"><f n="vector10.hpp" o="root" g="wheel" p="33188"/><f n="vector10_c.hpp" o="root" g="wheel" p="33188"/><f n="vector20.hpp" o="root" g="wheel" p="33188"/><f n="vector20_c.hpp" o="root" g="wheel" p="33188"/><f n="vector30.hpp" o="root" g="wheel" p="33188"/><f n="vector30_c.hpp" o="root" g="wheel" p="33188"/><f n="vector40.hpp" o="root" g="wheel" p="33188"/><f n="vector40_c.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/><f n="vector50_c.hpp" o="root" g="wheel" p="33188"/></f><f n="typeof_based" o="root" g="wheel" p="16877"><f n="vector10.hpp" o="root" g="wheel" p="33188"/><f n="vector10_c.hpp" o="root" g="wheel" p="33188"/><f n="vector20.hpp" o="root" g="wheel" p="33188"/><f n="vector20_c.hpp" o="root" g="wheel" p="33188"/><f n="vector30.hpp" o="root" g="wheel" p="33188"/><f n="vector30_c.hpp" o="root" g="wheel" p="33188"/><f n="vector40.hpp" o="root" g="wheel" p="33188"/><f n="vector40_c.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/><f n="vector50_c.hpp" o="root" g="wheel" p="33188"/></f></f><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="vector0.hpp" o="root" g="wheel" p="33188"/></f><f n="vector0.hpp" o="root" g="wheel" p="33188"/><f n="vector0_c.hpp" o="root" g="wheel" p="33188"/><f n="vector10.hpp" o="root" g="wheel" p="33188"/><f n="vector10_c.hpp" o="root" g="wheel" p="33188"/><f n="vector20.hpp" o="root" g="wheel" p="33188"/><f n="vector20_c.hpp" o="root" g="wheel" p="33188"/><f n="vector30.hpp" o="root" g="wheel" p="33188"/><f n="vector30_c.hpp" o="root" g="wheel" p="33188"/><f n="vector40.hpp" o="root" g="wheel" p="33188"/><f n="vector40_c.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/><f n="vector50_c.hpp" o="root" g="wheel" p="33188"/></f><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_c.hpp" o="root" g="wheel" p="33188"/><f n="void.hpp" o="root" g="wheel" p="33188"/><f n="void_fwd.hpp" o="root" g="wheel" p="33188"/><f n="zip_view.hpp" o="root" g="wheel" p="33188"/></f><f n="multi_array" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="base.hpp" o="root" g="wheel" p="33188"/><f n="collection_concept.hpp" o="root" g="wheel" p="33188"/><f n="concept_checks.hpp" o="root" g="wheel" p="33188"/><f n="copy_array.hpp" o="root" g="wheel" p="33188"/><f n="extent_gen.hpp" o="root" g="wheel" p="33188"/><f n="extent_range.hpp" o="root" g="wheel" p="33188"/><f n="index_gen.hpp" o="root" g="wheel" p="33188"/><f n="index_range.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="multi_array_ref.hpp" o="root" g="wheel" p="33188"/><f n="range_list.hpp" o="root" g="wheel" p="33188"/><f n="storage_order.hpp" o="root" g="wheel" p="33188"/><f n="subarray.hpp" o="root" g="wheel" p="33188"/><f n="types.hpp" o="root" g="wheel" p="33188"/><f n="view.hpp" o="root" g="wheel" p="33188"/></f><f n="multi_array.hpp" o="root" g="wheel" p="33188"/><f n="multi_index" o="root" g="wheel" p="16877"><f n="composite_key.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="access_specifier.hpp" o="root" g="wheel" p="33188"/><f n="adl_swap.hpp" o="root" g="wheel" p="33188"/><f n="archive_constructed.hpp" o="root" g="wheel" p="33188"/><f n="auto_space.hpp" o="root" g="wheel" p="33188"/><f n="base_type.hpp" o="root" g="wheel" p="33188"/><f n="bidir_node_iterator.hpp" o="root" g="wheel" p="33188"/><f n="bucket_array.hpp" o="root" g="wheel" p="33188"/><f n="converter.hpp" o="root" g="wheel" p="33188"/><f n="copy_map.hpp" o="root" g="wheel" p="33188"/><f n="duplicates_iterator.hpp" o="root" g="wheel" p="33188"/><f n="has_tag.hpp" o="root" g="wheel" p="33188"/><f n="hash_index_args.hpp" o="root" g="wheel" p="33188"/><f n="hash_index_iterator.hpp" o="root" g="wheel" p="33188"/><f n="hash_index_node.hpp" o="root" g="wheel" p="33188"/><f n="header_holder.hpp" o="root" g="wheel" p="33188"/><f n="index_base.hpp" o="root" g="wheel" p="33188"/><f n="index_loader.hpp" o="root" g="wheel" p="33188"/><f n="index_matcher.hpp" o="root" g="wheel" p="33188"/><f n="index_node_base.hpp" o="root" g="wheel" p="33188"/><f n="index_saver.hpp" o="root" g="wheel" p="33188"/><f n="invariant_assert.hpp" o="root" g="wheel" p="33188"/><f n="is_index_list.hpp" o="root" g="wheel" p="33188"/><f n="iter_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="modify_key_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="msvc_index_specifier.hpp" o="root" g="wheel" p="33188"/><f n="no_duplicate_tags.hpp" o="root" g="wheel" p="33188"/><f n="node_type.hpp" o="root" g="wheel" p="33188"/><f n="ord_index_args.hpp" o="root" g="wheel" p="33188"/><f n="ord_index_node.hpp" o="root" g="wheel" p="33188"/><f n="ord_index_ops.hpp" o="root" g="wheel" p="33188"/><f n="prevent_eti.hpp" o="root" g="wheel" p="33188"/><f n="rnd_index_loader.hpp" o="root" g="wheel" p="33188"/><f n="rnd_index_node.hpp" o="root" g="wheel" p="33188"/><f n="rnd_index_ops.hpp" o="root" g="wheel" p="33188"/><f n="rnd_index_ptr_array.hpp" o="root" g="wheel" p="33188"/><f n="rnd_node_iterator.hpp" o="root" g="wheel" p="33188"/><f n="safe_ctr_proxy.hpp" o="root" g="wheel" p="33188"/><f n="safe_mode.hpp" o="root" g="wheel" p="33188"/><f n="scope_guard.hpp" o="root" g="wheel" p="33188"/><f n="seq_index_node.hpp" o="root" g="wheel" p="33188"/><f n="seq_index_ops.hpp" o="root" g="wheel" p="33188"/><f n="uintptr_type.hpp" o="root" g="wheel" p="33188"/><f n="unbounded.hpp" o="root" g="wheel" p="33188"/><f n="value_compare.hpp" o="root" g="wheel" p="33188"/></f><f n="global_fun.hpp" o="root" g="wheel" p="33188"/><f n="hashed_index.hpp" o="root" g="wheel" p="33188"/><f n="hashed_index_fwd.hpp" o="root" g="wheel" p="33188"/><f n="identity.hpp" o="root" g="wheel" p="33188"/><f n="identity_fwd.hpp" o="root" g="wheel" p="33188"/><f n="indexed_by.hpp" o="root" g="wheel" p="33188"/><f n="key_extractors.hpp" o="root" g="wheel" p="33188"/><f n="mem_fun.hpp" o="root" g="wheel" p="33188"/><f n="member.hpp" o="root" g="wheel" p="33188"/><f n="ordered_index.hpp" o="root" g="wheel" p="33188"/><f n="ordered_index_fwd.hpp" o="root" g="wheel" p="33188"/><f n="random_access_index.hpp" o="root" g="wheel" p="33188"/><f n="random_access_index_fwd.hpp" o="root" g="wheel" p="33188"/><f n="safe_mode_errors.hpp" o="root" g="wheel" p="33188"/><f n="sequenced_index.hpp" o="root" g="wheel" p="33188"/><f n="sequenced_index_fwd.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/></f><f n="multi_index_container.hpp" o="root" g="wheel" p="33188"/><f n="multi_index_container_fwd.hpp" o="root" g="wheel" p="33188"/><f n="next_prior.hpp" o="root" g="wheel" p="33188"/><f n="non_type.hpp" o="root" g="wheel" p="33188"/><f n="noncopyable.hpp" o="root" g="wheel" p="33188"/><f n="nondet_random.hpp" o="root" g="wheel" p="33188"/><f n="none.hpp" o="root" g="wheel" p="33188"/><f n="none_t.hpp" o="root" g="wheel" p="33188"/><f n="numeric" o="root" g="wheel" p="16877"><f n="conversion" o="root" g="wheel" p="16877"><f n="bounds.hpp" o="root" g="wheel" p="33188"/><f n="cast.hpp" o="root" g="wheel" p="33188"/><f n="conversion_traits.hpp" o="root" g="wheel" p="33188"/><f n="converter.hpp" o="root" g="wheel" p="33188"/><f n="converter_policies.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bounds.hpp" o="root" g="wheel" p="33188"/><f n="conversion_traits.hpp" o="root" g="wheel" p="33188"/><f n="converter.hpp" o="root" g="wheel" p="33188"/><f n="int_float_mixture.hpp" o="root" g="wheel" p="33188"/><f n="is_subranged.hpp" o="root" g="wheel" p="33188"/><f n="meta.hpp" o="root" g="wheel" p="33188"/><f n="old_numeric_cast.hpp" o="root" g="wheel" p="33188"/><f n="sign_mixture.hpp" o="root" g="wheel" p="33188"/><f n="udt_builtin_mixture.hpp" o="root" g="wheel" p="33188"/></f><f n="int_float_mixture.hpp" o="root" g="wheel" p="33188"/><f n="int_float_mixture_enum.hpp" o="root" g="wheel" p="33188"/><f n="is_subranged.hpp" o="root" g="wheel" p="33188"/><f n="sign_mixture.hpp" o="root" g="wheel" p="33188"/><f n="sign_mixture_enum.hpp" o="root" g="wheel" p="33188"/><f n="udt_builtin_mixture.hpp" o="root" g="wheel" p="33188"/><f n="udt_builtin_mixture_enum.hpp" o="root" g="wheel" p="33188"/></f><f n="interval" o="root" g="wheel" p="16877"><f n="arith.hpp" o="root" g="wheel" p="33188"/><f n="arith2.hpp" o="root" g="wheel" p="33188"/><f n="arith3.hpp" o="root" g="wheel" p="33188"/><f n="checking.hpp" o="root" g="wheel" p="33188"/><f n="compare" o="root" g="wheel" p="16877"><f n="certain.hpp" o="root" g="wheel" p="33188"/><f n="explicit.hpp" o="root" g="wheel" p="33188"/><f n="lexicographic.hpp" o="root" g="wheel" p="33188"/><f n="possible.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="tribool.hpp" o="root" g="wheel" p="33188"/></f><f n="compare.hpp" o="root" g="wheel" p="33188"/><f n="constants.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="alpha_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="bcc_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="bugs.hpp" o="root" g="wheel" p="33188"/><f n="c99_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="c99sub_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="division.hpp" o="root" g="wheel" p="33188"/><f n="ia64_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="interval_prototype.hpp" o="root" g="wheel" p="33188"/><f n="msvc_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="ppc_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="sparc_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="test_input.hpp" o="root" g="wheel" p="33188"/><f n="x86_rounding_control.hpp" o="root" g="wheel" p="33188"/><f n="x86gcc_rounding_control.hpp" o="root" g="wheel" p="33188"/></f><f n="ext" o="root" g="wheel" p="16877"><f n="integer.hpp" o="root" g="wheel" p="33188"/><f n="x86_fast_rounding_control.hpp" o="root" g="wheel" p="33188"/></f><f n="hw_rounding.hpp" o="root" g="wheel" p="33188"/><f n="interval.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="policies.hpp" o="root" g="wheel" p="33188"/><f n="rounded_arith.hpp" o="root" g="wheel" p="33188"/><f n="rounded_transc.hpp" o="root" g="wheel" p="33188"/><f n="rounding.hpp" o="root" g="wheel" p="33188"/><f n="transc.hpp" o="root" g="wheel" p="33188"/><f n="utility.hpp" o="root" g="wheel" p="33188"/></f><f n="interval.hpp" o="root" g="wheel" p="33188"/><f n="ublas" o="root" g="wheel" p="16877"><f n="banded.hpp" o="root" g="wheel" p="33188"/><f n="blas.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="concepts.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="definitions.hpp" o="root" g="wheel" p="33188"/><f n="documentation.hpp" o="root" g="wheel" p="33188"/><f n="duff.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="matrix_assign.hpp" o="root" g="wheel" p="33188"/><f n="raw.hpp" o="root" g="wheel" p="33188"/><f n="returntype_deduction.hpp" o="root" g="wheel" p="33188"/><f n="temporary.hpp" o="root" g="wheel" p="33188"/><f n="vector_assign.hpp" o="root" g="wheel" p="33188"/></f><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="experimental" o="root" g="wheel" p="16877"><f n="sparse_view.hpp" o="root" g="wheel" p="33188"/></f><f n="expression_types.hpp" o="root" g="wheel" p="33188"/><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="fwd.hpp" o="root" g="wheel" p="33188"/><f n="hermitian.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="lu.hpp" o="root" g="wheel" p="33188"/><f n="matrix.hpp" o="root" g="wheel" p="33188"/><f n="matrix_expression.hpp" o="root" g="wheel" p="33188"/><f n="matrix_proxy.hpp" o="root" g="wheel" p="33188"/><f n="matrix_sparse.hpp" o="root" g="wheel" p="33188"/><f n="operation" o="root" g="wheel" p="16877"><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="c_array.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="num_columns.hpp" o="root" g="wheel" p="33188"/><f n="num_rows.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/></f><f n="operation.hpp" o="root" g="wheel" p="33188"/><f n="operation_blocked.hpp" o="root" g="wheel" p="33188"/><f n="operation_sparse.hpp" o="root" g="wheel" p="33188"/><f n="operations.hpp" o="root" g="wheel" p="33188"/><f n="storage.hpp" o="root" g="wheel" p="33188"/><f n="storage_sparse.hpp" o="root" g="wheel" p="33188"/><f n="symmetric.hpp" o="root" g="wheel" p="33188"/><f n="tags.hpp" o="root" g="wheel" p="33188"/><f n="traits" o="root" g="wheel" p="16877"><f n="c_array.hpp" o="root" g="wheel" p="33188"/><f n="const_iterator_type.hpp" o="root" g="wheel" p="33188"/><f n="iterator_type.hpp" o="root" g="wheel" p="33188"/></f><f n="traits.hpp" o="root" g="wheel" p="33188"/><f n="triangular.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_expression.hpp" o="root" g="wheel" p="33188"/><f n="vector_of_vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_proxy.hpp" o="root" g="wheel" p="33188"/><f n="vector_sparse.hpp" o="root" g="wheel" p="33188"/></f></f><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="optional" o="root" g="wheel" p="16877"><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="optional_fwd.hpp" o="root" g="wheel" p="33188"/><f n="optional_io.hpp" o="root" g="wheel" p="33188"/></f><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="parameter" o="root" g="wheel" p="16877"><f n="aux_" o="root" g="wheel" p="16877"><f n="arg_list.hpp" o="root" g="wheel" p="33188"/><f n="cast.hpp" o="root" g="wheel" p="33188"/><f n="default.hpp" o="root" g="wheel" p="33188"/><f n="maybe.hpp" o="root" g="wheel" p="33188"/><f n="overloads.hpp" o="root" g="wheel" p="33188"/><f n="parameter_requirements.hpp" o="root" g="wheel" p="33188"/><f n="parenthesized_type.hpp" o="root" g="wheel" p="33188"/><f n="preprocessor" o="root" g="wheel" p="16877"><f n="flatten.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/></f><f n="python" o="root" g="wheel" p="16877"><f n="invoker.hpp" o="root" g="wheel" p="33188"/><f n="invoker_iterate.hpp" o="root" g="wheel" p="33188"/></f><f n="result_of0.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="tagged_argument.hpp" o="root" g="wheel" p="33188"/><f n="template_keyword.hpp" o="root" g="wheel" p="33188"/><f n="unwrap_cv_reference.hpp" o="root" g="wheel" p="33188"/><f n="void.hpp" o="root" g="wheel" p="33188"/><f n="yesno.hpp" o="root" g="wheel" p="33188"/></f><f n="binding.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="keyword.hpp" o="root" g="wheel" p="33188"/><f n="macros.hpp" o="root" g="wheel" p="33188"/><f n="match.hpp" o="root" g="wheel" p="33188"/><f n="name.hpp" o="root" g="wheel" p="33188"/><f n="parameters.hpp" o="root" g="wheel" p="33188"/><f n="preprocessor.hpp" o="root" g="wheel" p="33188"/><f n="python.hpp" o="root" g="wheel" p="33188"/><f n="value_type.hpp" o="root" g="wheel" p="33188"/></f><f n="parameter.hpp" o="root" g="wheel" p="33188"/><f n="pending" o="root" g="wheel" p="16877"><f n="bucket_sorter.hpp" o="root" g="wheel" p="33188"/><f n="container_traits.hpp" o="root" g="wheel" p="33188"/><f n="cstddef.hpp" o="root" g="wheel" p="33188"/><f n="ct_if.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="disjoint_sets.hpp" o="root" g="wheel" p="33188"/><f n="int_iterator.hpp" o="root" g="wheel" p="33188"/><f n="property.hpp" o="root" g="wheel" p="33188"/></f><f n="disjoint_sets.hpp" o="root" g="wheel" p="33188"/><f n="fenced_priority_queue.hpp" o="root" g="wheel" p="33188"/><f n="fibonacci_heap.hpp" o="root" g="wheel" p="33188"/><f n="indirect_cmp.hpp" o="root" g="wheel" p="33188"/><f n="integer_log2.hpp" o="root" g="wheel" p="33188"/><f n="integer_range.hpp" o="root" g="wheel" p="33188"/><f n="is_heap.hpp" o="root" g="wheel" p="33188"/><f n="iterator_adaptors.hpp" o="root" g="wheel" p="33188"/><f n="iterator_tests.hpp" o="root" g="wheel" p="33188"/><f n="lowest_bit.hpp" o="root" g="wheel" p="33188"/><f n="mutable_heap.hpp" o="root" g="wheel" p="33188"/><f n="mutable_queue.hpp" o="root" g="wheel" p="33188"/><f n="property.hpp" o="root" g="wheel" p="33188"/><f n="property_serialize.hpp" o="root" g="wheel" p="33188"/><f n="queue.hpp" o="root" g="wheel" p="33188"/><f n="relaxed_heap.hpp" o="root" g="wheel" p="33188"/><f n="stringtok.hpp" o="root" g="wheel" p="33188"/></f><f n="pointee.hpp" o="root" g="wheel" p="33188"/><f n="pointer_cast.hpp" o="root" g="wheel" p="33188"/><f n="pointer_to_other.hpp" o="root" g="wheel" p="33188"/><f n="pool" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="ct_gcd_lcm.hpp" o="root" g="wheel" p="33188"/><f n="for.m4" o="root" g="wheel" p="33188"/><f n="gcd_lcm.hpp" o="root" g="wheel" p="33188"/><f n="guard.hpp" o="root" g="wheel" p="33188"/><f n="mutex.hpp" o="root" g="wheel" p="33188"/><f n="pool_construct.bat" o="root" g="wheel" p="33188"/><f n="pool_construct.inc" o="root" g="wheel" p="33188"/><f n="pool_construct.m4" o="root" g="wheel" p="33188"/><f n="pool_construct.sh" o="root" g="wheel" p="33188"/><f n="pool_construct_simple.bat" o="root" g="wheel" p="33188"/><f n="pool_construct_simple.inc" o="root" g="wheel" p="33188"/><f n="pool_construct_simple.m4" o="root" g="wheel" p="33188"/><f n="pool_construct_simple.sh" o="root" g="wheel" p="33188"/><f n="singleton.hpp" o="root" g="wheel" p="33188"/></f><f n="object_pool.hpp" o="root" g="wheel" p="33188"/><f n="pool.hpp" o="root" g="wheel" p="33188"/><f n="pool_alloc.hpp" o="root" g="wheel" p="33188"/><f n="poolfwd.hpp" o="root" g="wheel" p="33188"/><f n="simple_segregated_storage.hpp" o="root" g="wheel" p="33188"/><f n="singleton_pool.hpp" o="root" g="wheel" p="33188"/></f><f n="preprocessor" o="root" g="wheel" p="16877"><f n="arithmetic" o="root" g="wheel" p="16877"><f n="add.hpp" o="root" g="wheel" p="33188"/><f n="dec.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="div_base.hpp" o="root" g="wheel" p="33188"/></f><f n="div.hpp" o="root" g="wheel" p="33188"/><f n="inc.hpp" o="root" g="wheel" p="33188"/><f n="mod.hpp" o="root" g="wheel" p="33188"/><f n="mul.hpp" o="root" g="wheel" p="33188"/><f n="sub.hpp" o="root" g="wheel" p="33188"/></f><f n="arithmetic.hpp" o="root" g="wheel" p="33188"/><f n="array" o="root" g="wheel" p="16877"><f n="data.hpp" o="root" g="wheel" p="33188"/><f n="elem.hpp" o="root" g="wheel" p="33188"/><f n="insert.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="remove.hpp" o="root" g="wheel" p="33188"/><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/></f><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="assert_msg.hpp" o="root" g="wheel" p="33188"/><f n="cat.hpp" o="root" g="wheel" p="33188"/><f n="comma.hpp" o="root" g="wheel" p="33188"/><f n="comma_if.hpp" o="root" g="wheel" p="33188"/><f n="comparison" o="root" g="wheel" p="16877"><f n="equal.hpp" o="root" g="wheel" p="33188"/><f n="greater.hpp" o="root" g="wheel" p="33188"/><f n="greater_equal.hpp" o="root" g="wheel" p="33188"/><f n="less.hpp" o="root" g="wheel" p="33188"/><f n="less_equal.hpp" o="root" g="wheel" p="33188"/><f n="not_equal.hpp" o="root" g="wheel" p="33188"/></f><f n="comparison.hpp" o="root" g="wheel" p="33188"/><f n="config" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/></f><f n="control" o="root" g="wheel" p="16877"><f n="deduce_d.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="dmc" o="root" g="wheel" p="16877"><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="edg" o="root" g="wheel" p="16877"><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="msvc" o="root" g="wheel" p="16877"><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="expr_if.hpp" o="root" g="wheel" p="33188"/><f n="expr_iif.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="iif.hpp" o="root" g="wheel" p="33188"/><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="control.hpp" o="root" g="wheel" p="33188"/><f n="debug" o="root" g="wheel" p="16877"><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="error.hpp" o="root" g="wheel" p="33188"/><f n="line.hpp" o="root" g="wheel" p="33188"/></f><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="dec.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="auto_rec.hpp" o="root" g="wheel" p="33188"/><f n="check.hpp" o="root" g="wheel" p="33188"/><f n="dmc" o="root" g="wheel" p="16877"><f n="auto_rec.hpp" o="root" g="wheel" p="33188"/></f><f n="is_binary.hpp" o="root" g="wheel" p="33188"/><f n="is_nullary.hpp" o="root" g="wheel" p="33188"/><f n="is_unary.hpp" o="root" g="wheel" p="33188"/><f n="null.hpp" o="root" g="wheel" p="33188"/><f n="split.hpp" o="root" g="wheel" p="33188"/></f><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="enum.hpp" o="root" g="wheel" p="33188"/><f n="enum_params.hpp" o="root" g="wheel" p="33188"/><f n="enum_params_with_a_default.hpp" o="root" g="wheel" p="33188"/><f n="enum_params_with_defaults.hpp" o="root" g="wheel" p="33188"/><f n="enum_shifted.hpp" o="root" g="wheel" p="33188"/><f n="enum_shifted_params.hpp" o="root" g="wheel" p="33188"/><f n="expand.hpp" o="root" g="wheel" p="33188"/><f n="expr_if.hpp" o="root" g="wheel" p="33188"/><f n="facilities" o="root" g="wheel" p="16877"><f n="apply.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="expand.hpp" o="root" g="wheel" p="33188"/><f n="identity.hpp" o="root" g="wheel" p="33188"/><f n="intercept.hpp" o="root" g="wheel" p="33188"/><f n="is_1.hpp" o="root" g="wheel" p="33188"/><f n="is_empty.hpp" o="root" g="wheel" p="33188"/><f n="is_empty_or_1.hpp" o="root" g="wheel" p="33188"/></f><f n="facilities.hpp" o="root" g="wheel" p="33188"/><f n="for.hpp" o="root" g="wheel" p="33188"/><f n="identity.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="inc.hpp" o="root" g="wheel" p="33188"/><f n="iterate.hpp" o="root" g="wheel" p="33188"/><f n="iteration" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="bounds" o="root" g="wheel" p="16877"><f n="lower1.hpp" o="root" g="wheel" p="33188"/><f n="lower2.hpp" o="root" g="wheel" p="33188"/><f n="lower3.hpp" o="root" g="wheel" p="33188"/><f n="lower4.hpp" o="root" g="wheel" p="33188"/><f n="lower5.hpp" o="root" g="wheel" p="33188"/><f n="upper1.hpp" o="root" g="wheel" p="33188"/><f n="upper2.hpp" o="root" g="wheel" p="33188"/><f n="upper3.hpp" o="root" g="wheel" p="33188"/><f n="upper4.hpp" o="root" g="wheel" p="33188"/><f n="upper5.hpp" o="root" g="wheel" p="33188"/></f><f n="finish.hpp" o="root" g="wheel" p="33188"/><f n="iter" o="root" g="wheel" p="16877"><f n="forward1.hpp" o="root" g="wheel" p="33188"/><f n="forward2.hpp" o="root" g="wheel" p="33188"/><f n="forward3.hpp" o="root" g="wheel" p="33188"/><f n="forward4.hpp" o="root" g="wheel" p="33188"/><f n="forward5.hpp" o="root" g="wheel" p="33188"/><f n="reverse1.hpp" o="root" g="wheel" p="33188"/><f n="reverse2.hpp" o="root" g="wheel" p="33188"/><f n="reverse3.hpp" o="root" g="wheel" p="33188"/><f n="reverse4.hpp" o="root" g="wheel" p="33188"/><f n="reverse5.hpp" o="root" g="wheel" p="33188"/></f><f n="local.hpp" o="root" g="wheel" p="33188"/><f n="rlocal.hpp" o="root" g="wheel" p="33188"/><f n="self.hpp" o="root" g="wheel" p="33188"/><f n="start.hpp" o="root" g="wheel" p="33188"/></f><f n="iterate.hpp" o="root" g="wheel" p="33188"/><f n="local.hpp" o="root" g="wheel" p="33188"/><f n="self.hpp" o="root" g="wheel" p="33188"/></f><f n="iteration.hpp" o="root" g="wheel" p="33188"/><f n="library.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="list" o="root" g="wheel" p="16877"><f n="adt.hpp" o="root" g="wheel" p="33188"/><f n="append.hpp" o="root" g="wheel" p="33188"/><f n="at.hpp" o="root" g="wheel" p="33188"/><f n="cat.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="dmc" o="root" g="wheel" p="16877"><f n="fold_left.hpp" o="root" g="wheel" p="33188"/></f><f n="edg" o="root" g="wheel" p="16877"><f n="fold_left.hpp" o="root" g="wheel" p="33188"/><f n="fold_right.hpp" o="root" g="wheel" p="33188"/></f><f n="fold_left.hpp" o="root" g="wheel" p="33188"/><f n="fold_right.hpp" o="root" g="wheel" p="33188"/></f><f n="enum.hpp" o="root" g="wheel" p="33188"/><f n="filter.hpp" o="root" g="wheel" p="33188"/><f n="first_n.hpp" o="root" g="wheel" p="33188"/><f n="fold_left.hpp" o="root" g="wheel" p="33188"/><f n="fold_right.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/><f n="for_each_i.hpp" o="root" g="wheel" p="33188"/><f n="for_each_product.hpp" o="root" g="wheel" p="33188"/><f n="rest_n.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="to_tuple.hpp" o="root" g="wheel" p="33188"/><f n="transform.hpp" o="root" g="wheel" p="33188"/></f><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="logical" o="root" g="wheel" p="16877"><f n="and.hpp" o="root" g="wheel" p="33188"/><f n="bitand.hpp" o="root" g="wheel" p="33188"/><f n="bitnor.hpp" o="root" g="wheel" p="33188"/><f n="bitor.hpp" o="root" g="wheel" p="33188"/><f n="bitxor.hpp" o="root" g="wheel" p="33188"/><f n="bool.hpp" o="root" g="wheel" p="33188"/><f n="compl.hpp" o="root" g="wheel" p="33188"/><f n="nor.hpp" o="root" g="wheel" p="33188"/><f n="not.hpp" o="root" g="wheel" p="33188"/><f n="or.hpp" o="root" g="wheel" p="33188"/><f n="xor.hpp" o="root" g="wheel" p="33188"/></f><f n="logical.hpp" o="root" g="wheel" p="33188"/><f n="max.hpp" o="root" g="wheel" p="33188"/><f n="min.hpp" o="root" g="wheel" p="33188"/><f n="punctuation" o="root" g="wheel" p="16877"><f n="comma.hpp" o="root" g="wheel" p="33188"/><f n="comma_if.hpp" o="root" g="wheel" p="33188"/><f n="paren.hpp" o="root" g="wheel" p="33188"/><f n="paren_if.hpp" o="root" g="wheel" p="33188"/></f><f n="punctuation.hpp" o="root" g="wheel" p="33188"/><f n="repeat.hpp" o="root" g="wheel" p="33188"/><f n="repeat_2nd.hpp" o="root" g="wheel" p="33188"/><f n="repeat_3rd.hpp" o="root" g="wheel" p="33188"/><f n="repeat_from_to.hpp" o="root" g="wheel" p="33188"/><f n="repeat_from_to_2nd.hpp" o="root" g="wheel" p="33188"/><f n="repeat_from_to_3rd.hpp" o="root" g="wheel" p="33188"/><f n="repetition" o="root" g="wheel" p="16877"><f n="deduce_r.hpp" o="root" g="wheel" p="33188"/><f n="deduce_z.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="dmc" o="root" g="wheel" p="16877"><f n="for.hpp" o="root" g="wheel" p="33188"/></f><f n="edg" o="root" g="wheel" p="16877"><f n="for.hpp" o="root" g="wheel" p="33188"/></f><f n="for.hpp" o="root" g="wheel" p="33188"/><f n="msvc" o="root" g="wheel" p="16877"><f n="for.hpp" o="root" g="wheel" p="33188"/></f></f><f n="enum.hpp" o="root" g="wheel" p="33188"/><f n="enum_binary_params.hpp" o="root" g="wheel" p="33188"/><f n="enum_params.hpp" o="root" g="wheel" p="33188"/><f n="enum_params_with_a_default.hpp" o="root" g="wheel" p="33188"/><f n="enum_params_with_defaults.hpp" o="root" g="wheel" p="33188"/><f n="enum_shifted.hpp" o="root" g="wheel" p="33188"/><f n="enum_shifted_binary_params.hpp" o="root" g="wheel" p="33188"/><f n="enum_shifted_params.hpp" o="root" g="wheel" p="33188"/><f n="enum_trailing.hpp" o="root" g="wheel" p="33188"/><f n="enum_trailing_binary_params.hpp" o="root" g="wheel" p="33188"/><f n="enum_trailing_params.hpp" o="root" g="wheel" p="33188"/><f n="for.hpp" o="root" g="wheel" p="33188"/><f n="repeat.hpp" o="root" g="wheel" p="33188"/><f n="repeat_from_to.hpp" o="root" g="wheel" p="33188"/></f><f n="repetition.hpp" o="root" g="wheel" p="33188"/><f n="selection" o="root" g="wheel" p="16877"><f n="max.hpp" o="root" g="wheel" p="33188"/><f n="min.hpp" o="root" g="wheel" p="33188"/></f><f n="selection.hpp" o="root" g="wheel" p="33188"/><f n="seq" o="root" g="wheel" p="16877"><f n="cat.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="split.hpp" o="root" g="wheel" p="33188"/></f><f n="elem.hpp" o="root" g="wheel" p="33188"/><f n="enum.hpp" o="root" g="wheel" p="33188"/><f n="filter.hpp" o="root" g="wheel" p="33188"/><f n="first_n.hpp" o="root" g="wheel" p="33188"/><f n="fold_left.hpp" o="root" g="wheel" p="33188"/><f n="fold_right.hpp" o="root" g="wheel" p="33188"/><f n="for_each.hpp" o="root" g="wheel" p="33188"/><f n="for_each_i.hpp" o="root" g="wheel" p="33188"/><f n="for_each_product.hpp" o="root" g="wheel" p="33188"/><f n="insert.hpp" o="root" g="wheel" p="33188"/><f n="pop_back.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="push_back.hpp" o="root" g="wheel" p="33188"/><f n="push_front.hpp" o="root" g="wheel" p="33188"/><f n="remove.hpp" o="root" g="wheel" p="33188"/><f n="replace.hpp" o="root" g="wheel" p="33188"/><f n="rest_n.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="seq.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="subseq.hpp" o="root" g="wheel" p="33188"/><f n="to_array.hpp" o="root" g="wheel" p="33188"/><f n="to_tuple.hpp" o="root" g="wheel" p="33188"/><f n="transform.hpp" o="root" g="wheel" p="33188"/></f><f n="seq.hpp" o="root" g="wheel" p="33188"/><f n="slot" o="root" g="wheel" p="16877"><f n="counter.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="counter.hpp" o="root" g="wheel" p="33188"/><f n="def.hpp" o="root" g="wheel" p="33188"/><f n="shared.hpp" o="root" g="wheel" p="33188"/><f n="slot1.hpp" o="root" g="wheel" p="33188"/><f n="slot2.hpp" o="root" g="wheel" p="33188"/><f n="slot3.hpp" o="root" g="wheel" p="33188"/><f n="slot4.hpp" o="root" g="wheel" p="33188"/><f n="slot5.hpp" o="root" g="wheel" p="33188"/></f><f n="slot.hpp" o="root" g="wheel" p="33188"/></f><f n="slot.hpp" o="root" g="wheel" p="33188"/><f n="stringize.hpp" o="root" g="wheel" p="33188"/><f n="tuple" o="root" g="wheel" p="16877"><f n="eat.hpp" o="root" g="wheel" p="33188"/><f n="elem.hpp" o="root" g="wheel" p="33188"/><f n="rem.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="to_list.hpp" o="root" g="wheel" p="33188"/><f n="to_seq.hpp" o="root" g="wheel" p="33188"/></f><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="while.hpp" o="root" g="wheel" p="33188"/><f n="wstringize.hpp" o="root" g="wheel" p="33188"/></f><f n="preprocessor.hpp" o="root" g="wheel" p="33188"/><f n="program_options" o="root" g="wheel" p="16877"><f n="cmdline.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="cmdline.hpp" o="root" g="wheel" p="33188"/><f n="config_file.hpp" o="root" g="wheel" p="33188"/><f n="convert.hpp" o="root" g="wheel" p="33188"/><f n="parsers.hpp" o="root" g="wheel" p="33188"/><f n="utf8_codecvt_facet.hpp" o="root" g="wheel" p="33188"/><f n="value_semantic.hpp" o="root" g="wheel" p="33188"/></f><f n="environment_iterator.hpp" o="root" g="wheel" p="33188"/><f n="eof_iterator.hpp" o="root" g="wheel" p="33188"/><f n="errors.hpp" o="root" g="wheel" p="33188"/><f n="option.hpp" o="root" g="wheel" p="33188"/><f n="options_description.hpp" o="root" g="wheel" p="33188"/><f n="parsers.hpp" o="root" g="wheel" p="33188"/><f n="positional_options.hpp" o="root" g="wheel" p="33188"/><f n="value_semantic.hpp" o="root" g="wheel" p="33188"/><f n="variables_map.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/></f><f n="program_options.hpp" o="root" g="wheel" p="33188"/><f n="progress.hpp" o="root" g="wheel" p="33188"/><f n="property_map" o="root" g="wheel" p="16877"><f n="dynamic_property_map.hpp" o="root" g="wheel" p="33188"/><f n="parallel" o="root" g="wheel" p="16877"><f n="caching_property_map.hpp" o="root" g="wheel" p="33188"/><f n="distributed_property_map.hpp" o="root" g="wheel" p="33188"/><f n="global_index_map.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="distributed_property_map.ipp" o="root" g="wheel" p="33188"/></f><f n="local_property_map.hpp" o="root" g="wheel" p="33188"/></f><f n="property_map.hpp" o="root" g="wheel" p="33188"/><f n="property_map_iterator.hpp" o="root" g="wheel" p="33188"/><f n="shared_array_property_map.hpp" o="root" g="wheel" p="33188"/><f n="vector_property_map.hpp" o="root" g="wheel" p="33188"/></f><f n="property_map.hpp" o="root" g="wheel" p="33188"/><f n="property_map_iterator.hpp" o="root" g="wheel" p="33188"/><f n="property_tree" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="exception_implementation.hpp" o="root" g="wheel" p="33188"/><f n="file_parser_error.hpp" o="root" g="wheel" p="33188"/><f n="info_parser_error.hpp" o="root" g="wheel" p="33188"/><f n="info_parser_read.hpp" o="root" g="wheel" p="33188"/><f n="info_parser_utils.hpp" o="root" g="wheel" p="33188"/><f n="info_parser_write.hpp" o="root" g="wheel" p="33188"/><f n="info_parser_writer_settings.hpp" o="root" g="wheel" p="33188"/><f n="json_parser_error.hpp" o="root" g="wheel" p="33188"/><f n="json_parser_read.hpp" o="root" g="wheel" p="33188"/><f n="json_parser_write.hpp" o="root" g="wheel" p="33188"/><f n="ptree_implementation.hpp" o="root" g="wheel" p="33188"/><f n="ptree_utils.hpp" o="root" g="wheel" p="33188"/><f n="rapidxml.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser_error.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser_flags.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser_read_rapidxml.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser_utils.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser_write.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser_writer_settings.hpp" o="root" g="wheel" p="33188"/></f><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="id_translator.hpp" o="root" g="wheel" p="33188"/><f n="info_parser.hpp" o="root" g="wheel" p="33188"/><f n="ini_parser.hpp" o="root" g="wheel" p="33188"/><f n="json_parser.hpp" o="root" g="wheel" p="33188"/><f n="ptree.hpp" o="root" g="wheel" p="33188"/><f n="ptree_fwd.hpp" o="root" g="wheel" p="33188"/><f n="ptree_serialization.hpp" o="root" g="wheel" p="33188"/><f n="stream_translator.hpp" o="root" g="wheel" p="33188"/><f n="string_path.hpp" o="root" g="wheel" p="33188"/><f n="xml_parser.hpp" o="root" g="wheel" p="33188"/></f><f n="proto" o="root" g="wheel" p="16877"><f n="args.hpp" o="root" g="wheel" p="33188"/><f n="context" o="root" g="wheel" p="16877"><f n="callable.hpp" o="root" g="wheel" p="33188"/><f n="default.hpp" o="root" g="wheel" p="33188"/><f n="null.hpp" o="root" g="wheel" p="33188"/></f><f n="context.hpp" o="root" g="wheel" p="33188"/><f n="core.hpp" o="root" g="wheel" p="33188"/><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="deep_copy.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="as_lvalue.hpp" o="root" g="wheel" p="33188"/><f n="decltype.hpp" o="root" g="wheel" p="33188"/><f n="deprecated.hpp" o="root" g="wheel" p="33188"/><f n="dont_care.hpp" o="root" g="wheel" p="33188"/><f n="funop.hpp" o="root" g="wheel" p="33188"/><f n="ignore_unused.hpp" o="root" g="wheel" p="33188"/><f n="local.hpp" o="root" g="wheel" p="33188"/><f n="poly_function.hpp" o="root" g="wheel" p="33188"/><f n="pop_front.hpp" o="root" g="wheel" p="33188"/><f n="prefix.hpp" o="root" g="wheel" p="33188"/><f n="reverse.hpp" o="root" g="wheel" p="33188"/><f n="suffix.hpp" o="root" g="wheel" p="33188"/></f><f n="domain.hpp" o="root" g="wheel" p="33188"/><f n="eval.hpp" o="root" g="wheel" p="33188"/><f n="expr.hpp" o="root" g="wheel" p="33188"/><f n="extends.hpp" o="root" g="wheel" p="33188"/><f n="fusion.hpp" o="root" g="wheel" p="33188"/><f n="generate.hpp" o="root" g="wheel" p="33188"/><f n="literal.hpp" o="root" g="wheel" p="33188"/><f n="make_expr.hpp" o="root" g="wheel" p="33188"/><f n="matches.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="proto.hpp" o="root" g="wheel" p="33188"/><f n="proto_fwd.hpp" o="root" g="wheel" p="33188"/><f n="proto_typeof.hpp" o="root" g="wheel" p="33188"/><f n="repeat.hpp" o="root" g="wheel" p="33188"/><f n="tags.hpp" o="root" g="wheel" p="33188"/><f n="traits.hpp" o="root" g="wheel" p="33188"/><f n="transform" o="root" g="wheel" p="16877"><f n="arg.hpp" o="root" g="wheel" p="33188"/><f n="call.hpp" o="root" g="wheel" p="33188"/><f n="default.hpp" o="root" g="wheel" p="33188"/><f n="fold.hpp" o="root" g="wheel" p="33188"/><f n="fold_tree.hpp" o="root" g="wheel" p="33188"/><f n="impl.hpp" o="root" g="wheel" p="33188"/><f n="lazy.hpp" o="root" g="wheel" p="33188"/><f n="make.hpp" o="root" g="wheel" p="33188"/><f n="pass_through.hpp" o="root" g="wheel" p="33188"/><f n="when.hpp" o="root" g="wheel" p="33188"/></f><f n="transform.hpp" o="root" g="wheel" p="33188"/></f><f n="ptr_container" o="root" g="wheel" p="16877"><f n="clone_allocator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="associative_ptr_container.hpp" o="root" g="wheel" p="33188"/><f n="default_deleter.hpp" o="root" g="wheel" p="33188"/><f n="is_convertible.hpp" o="root" g="wheel" p="33188"/><f n="map_iterator.hpp" o="root" g="wheel" p="33188"/><f n="meta_functions.hpp" o="root" g="wheel" p="33188"/><f n="move.hpp" o="root" g="wheel" p="33188"/><f n="reversible_ptr_container.hpp" o="root" g="wheel" p="33188"/><f n="scoped_deleter.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_map_adapter.hpp" o="root" g="wheel" p="33188"/><f n="serialize_reversible_cont.hpp" o="root" g="wheel" p="33188"/><f n="serialize_xml_names.hpp" o="root" g="wheel" p="33188"/><f n="static_move_ptr.hpp" o="root" g="wheel" p="33188"/><f n="throw_exception.hpp" o="root" g="wheel" p="33188"/><f n="void_ptr_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="exception.hpp" o="root" g="wheel" p="33188"/><f n="indirect_fun.hpp" o="root" g="wheel" p="33188"/><f n="nullable.hpp" o="root" g="wheel" p="33188"/><f n="ptr_array.hpp" o="root" g="wheel" p="33188"/><f n="ptr_circular_buffer.hpp" o="root" g="wheel" p="33188"/><f n="ptr_container.hpp" o="root" g="wheel" p="33188"/><f n="ptr_deque.hpp" o="root" g="wheel" p="33188"/><f n="ptr_inserter.hpp" o="root" g="wheel" p="33188"/><f n="ptr_list.hpp" o="root" g="wheel" p="33188"/><f n="ptr_map.hpp" o="root" g="wheel" p="33188"/><f n="ptr_map_adapter.hpp" o="root" g="wheel" p="33188"/><f n="ptr_sequence_adapter.hpp" o="root" g="wheel" p="33188"/><f n="ptr_set.hpp" o="root" g="wheel" p="33188"/><f n="ptr_set_adapter.hpp" o="root" g="wheel" p="33188"/><f n="ptr_unordered_map.hpp" o="root" g="wheel" p="33188"/><f n="ptr_unordered_set.hpp" o="root" g="wheel" p="33188"/><f n="ptr_vector.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_array.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_circular_buffer.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_container.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_deque.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_list.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_map.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_set.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_unordered_map.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_unordered_set.hpp" o="root" g="wheel" p="33188"/><f n="serialize_ptr_vector.hpp" o="root" g="wheel" p="33188"/></f><f n="python" o="root" g="wheel" p="16877"><f n="arg_from_python.hpp" o="root" g="wheel" p="33188"/><f n="args.hpp" o="root" g="wheel" p="33188"/><f n="args_fwd.hpp" o="root" g="wheel" p="33188"/><f n="back_reference.hpp" o="root" g="wheel" p="33188"/><f n="base_type_traits.hpp" o="root" g="wheel" p="33188"/><f n="bases.hpp" o="root" g="wheel" p="33188"/><f n="borrowed.hpp" o="root" g="wheel" p="33188"/><f n="call.hpp" o="root" g="wheel" p="33188"/><f n="call_method.hpp" o="root" g="wheel" p="33188"/><f n="cast.hpp" o="root" g="wheel" p="33188"/><f n="class.hpp" o="root" g="wheel" p="33188"/><f n="class_fwd.hpp" o="root" g="wheel" p="33188"/><f n="converter" o="root" g="wheel" p="16877"><f n="arg_from_python.hpp" o="root" g="wheel" p="33188"/><f n="arg_to_python.hpp" o="root" g="wheel" p="33188"/><f n="arg_to_python_base.hpp" o="root" g="wheel" p="33188"/><f n="as_to_python_function.hpp" o="root" g="wheel" p="33188"/><f n="builtin_converters.hpp" o="root" g="wheel" p="33188"/><f n="constructor_function.hpp" o="root" g="wheel" p="33188"/><f n="context_result_converter.hpp" o="root" g="wheel" p="33188"/><f n="convertible_function.hpp" o="root" g="wheel" p="33188"/><f n="from_python.hpp" o="root" g="wheel" p="33188"/><f n="implicit.hpp" o="root" g="wheel" p="33188"/><f n="obj_mgr_arg_from_python.hpp" o="root" g="wheel" p="33188"/><f n="object_manager.hpp" o="root" g="wheel" p="33188"/><f n="pointer_type_id.hpp" o="root" g="wheel" p="33188"/><f n="pyobject_traits.hpp" o="root" g="wheel" p="33188"/><f n="pyobject_type.hpp" o="root" g="wheel" p="33188"/><f n="pytype_function.hpp" o="root" g="wheel" p="33188"/><f n="pytype_object_mgr_traits.hpp" o="root" g="wheel" p="33188"/><f n="registered.hpp" o="root" g="wheel" p="33188"/><f n="registered_pointee.hpp" o="root" g="wheel" p="33188"/><f n="registrations.hpp" o="root" g="wheel" p="33188"/><f n="registry.hpp" o="root" g="wheel" p="33188"/><f n="return_from_python.hpp" o="root" g="wheel" p="33188"/><f n="rvalue_from_python_data.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_deleter.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_from_python.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_to_python.hpp" o="root" g="wheel" p="33188"/><f n="to_python_function_type.hpp" o="root" g="wheel" p="33188"/></f><f n="copy_const_reference.hpp" o="root" g="wheel" p="33188"/><f n="copy_non_const_reference.hpp" o="root" g="wheel" p="33188"/><f n="data_members.hpp" o="root" g="wheel" p="33188"/><f n="def.hpp" o="root" g="wheel" p="33188"/><f n="def_visitor.hpp" o="root" g="wheel" p="33188"/><f n="default_call_policies.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="aix_init_module.hpp" o="root" g="wheel" p="33188"/><f n="api_placeholder.hpp" o="root" g="wheel" p="33188"/><f n="borrowed_ptr.hpp" o="root" g="wheel" p="33188"/><f n="caller.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="construct.hpp" o="root" g="wheel" p="33188"/><f n="convertible.hpp" o="root" g="wheel" p="33188"/><f n="copy_ctor_mutates_rhs.hpp" o="root" g="wheel" p="33188"/><f n="cv_category.hpp" o="root" g="wheel" p="33188"/><f n="dealloc.hpp" o="root" g="wheel" p="33188"/><f n="decorated_type_id.hpp" o="root" g="wheel" p="33188"/><f n="decref_guard.hpp" o="root" g="wheel" p="33188"/><f n="def_helper.hpp" o="root" g="wheel" p="33188"/><f n="def_helper_fwd.hpp" o="root" g="wheel" p="33188"/><f n="defaults_def.hpp" o="root" g="wheel" p="33188"/><f n="defaults_gen.hpp" o="root" g="wheel" p="33188"/><f n="dependent.hpp" o="root" g="wheel" p="33188"/><f n="destroy.hpp" o="root" g="wheel" p="33188"/><f n="enable_if.hpp" o="root" g="wheel" p="33188"/><f n="exception_handler.hpp" o="root" g="wheel" p="33188"/><f n="force_instantiate.hpp" o="root" g="wheel" p="33188"/><f n="if_else.hpp" o="root" g="wheel" p="33188"/><f n="indirect_traits.hpp" o="root" g="wheel" p="33188"/><f n="invoke.hpp" o="root" g="wheel" p="33188"/><f n="is_auto_ptr.hpp" o="root" g="wheel" p="33188"/><f n="is_shared_ptr.hpp" o="root" g="wheel" p="33188"/><f n="is_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="is_xxx.hpp" o="root" g="wheel" p="33188"/><f n="make_keyword_range_fn.hpp" o="root" g="wheel" p="33188"/><f n="make_tuple.hpp" o="root" g="wheel" p="33188"/><f n="map_entry.hpp" o="root" g="wheel" p="33188"/><f n="mpl_lambda.hpp" o="root" g="wheel" p="33188"/><f n="msvc_typeinfo.hpp" o="root" g="wheel" p="33188"/><f n="none.hpp" o="root" g="wheel" p="33188"/><f n="not_specified.hpp" o="root" g="wheel" p="33188"/><f n="nullary_function_adaptor.hpp" o="root" g="wheel" p="33188"/><f n="operator_id.hpp" o="root" g="wheel" p="33188"/><f n="overloads_fwd.hpp" o="root" g="wheel" p="33188"/><f n="pointee.hpp" o="root" g="wheel" p="33188"/><f n="prefix.hpp" o="root" g="wheel" p="33188"/><f n="preprocessor.hpp" o="root" g="wheel" p="33188"/><f n="python22_fixed.h" o="root" g="wheel" p="33188"/><f n="python_type.hpp" o="root" g="wheel" p="33188"/><f n="raw_pyobject.hpp" o="root" g="wheel" p="33188"/><f n="referent_storage.hpp" o="root" g="wheel" p="33188"/><f n="result.hpp" o="root" g="wheel" p="33188"/><f n="scope.hpp" o="root" g="wheel" p="33188"/><f n="sfinae.hpp" o="root" g="wheel" p="33188"/><f n="signature.hpp" o="root" g="wheel" p="33188"/><f n="string_literal.hpp" o="root" g="wheel" p="33188"/><f n="target.hpp" o="root" g="wheel" p="33188"/><f n="translate_exception.hpp" o="root" g="wheel" p="33188"/><f n="type_list.hpp" o="root" g="wheel" p="33188"/><f n="type_list_impl.hpp" o="root" g="wheel" p="33188"/><f n="type_list_impl_no_pts.hpp" o="root" g="wheel" p="33188"/><f n="unwind_type.hpp" o="root" g="wheel" p="33188"/><f n="unwrap_type_id.hpp" o="root" g="wheel" p="33188"/><f n="unwrap_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="value_arg.hpp" o="root" g="wheel" p="33188"/><f n="value_is_shared_ptr.hpp" o="root" g="wheel" p="33188"/><f n="value_is_xxx.hpp" o="root" g="wheel" p="33188"/><f n="void_ptr.hpp" o="root" g="wheel" p="33188"/><f n="void_return.hpp" o="root" g="wheel" p="33188"/><f n="wrap_python.hpp" o="root" g="wheel" p="33188"/><f n="wrapper_base.hpp" o="root" g="wheel" p="33188"/></f><f n="dict.hpp" o="root" g="wheel" p="33188"/><f n="docstring_options.hpp" o="root" g="wheel" p="33188"/><f n="enum.hpp" o="root" g="wheel" p="33188"/><f n="errors.hpp" o="root" g="wheel" p="33188"/><f n="exception_translator.hpp" o="root" g="wheel" p="33188"/><f n="exec.hpp" o="root" g="wheel" p="33188"/><f n="extract.hpp" o="root" g="wheel" p="33188"/><f n="handle.hpp" o="root" g="wheel" p="33188"/><f n="handle_fwd.hpp" o="root" g="wheel" p="33188"/><f n="has_back_reference.hpp" o="root" g="wheel" p="33188"/><f n="implicit.hpp" o="root" g="wheel" p="33188"/><f n="import.hpp" o="root" g="wheel" p="33188"/><f n="init.hpp" o="root" g="wheel" p="33188"/><f n="instance_holder.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="long.hpp" o="root" g="wheel" p="33188"/><f n="lvalue_from_pytype.hpp" o="root" g="wheel" p="33188"/><f n="make_constructor.hpp" o="root" g="wheel" p="33188"/><f n="make_function.hpp" o="root" g="wheel" p="33188"/><f n="manage_new_object.hpp" o="root" g="wheel" p="33188"/><f n="module.hpp" o="root" g="wheel" p="33188"/><f n="module_init.hpp" o="root" g="wheel" p="33188"/><f n="numeric.hpp" o="root" g="wheel" p="33188"/><f n="object" o="root" g="wheel" p="16877"><f n="add_to_namespace.hpp" o="root" g="wheel" p="33188"/><f n="class.hpp" o="root" g="wheel" p="33188"/><f n="class_detail.hpp" o="root" g="wheel" p="33188"/><f n="class_metadata.hpp" o="root" g="wheel" p="33188"/><f n="class_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="enum_base.hpp" o="root" g="wheel" p="33188"/><f n="find_instance.hpp" o="root" g="wheel" p="33188"/><f n="forward.hpp" o="root" g="wheel" p="33188"/><f n="function.hpp" o="root" g="wheel" p="33188"/><f n="function_doc_signature.hpp" o="root" g="wheel" p="33188"/><f n="function_handle.hpp" o="root" g="wheel" p="33188"/><f n="function_object.hpp" o="root" g="wheel" p="33188"/><f n="inheritance.hpp" o="root" g="wheel" p="33188"/><f n="inheritance_query.hpp" o="root" g="wheel" p="33188"/><f n="instance.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="iterator_core.hpp" o="root" g="wheel" p="33188"/><f n="life_support.hpp" o="root" g="wheel" p="33188"/><f n="make_holder.hpp" o="root" g="wheel" p="33188"/><f n="make_instance.hpp" o="root" g="wheel" p="33188"/><f n="make_ptr_instance.hpp" o="root" g="wheel" p="33188"/><f n="pickle_support.hpp" o="root" g="wheel" p="33188"/><f n="pointer_holder.hpp" o="root" g="wheel" p="33188"/><f n="py_function.hpp" o="root" g="wheel" p="33188"/><f n="stl_iterator_core.hpp" o="root" g="wheel" p="33188"/><f n="value_holder.hpp" o="root" g="wheel" p="33188"/><f n="value_holder_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="object.hpp" o="root" g="wheel" p="33188"/><f n="object_attributes.hpp" o="root" g="wheel" p="33188"/><f n="object_call.hpp" o="root" g="wheel" p="33188"/><f n="object_core.hpp" o="root" g="wheel" p="33188"/><f n="object_fwd.hpp" o="root" g="wheel" p="33188"/><f n="object_items.hpp" o="root" g="wheel" p="33188"/><f n="object_operators.hpp" o="root" g="wheel" p="33188"/><f n="object_protocol.hpp" o="root" g="wheel" p="33188"/><f n="object_protocol_core.hpp" o="root" g="wheel" p="33188"/><f n="object_slices.hpp" o="root" g="wheel" p="33188"/><f n="opaque_pointer_converter.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="other.hpp" o="root" g="wheel" p="33188"/><f n="overloads.hpp" o="root" g="wheel" p="33188"/><f n="override.hpp" o="root" g="wheel" p="33188"/><f n="pointee.hpp" o="root" g="wheel" p="33188"/><f n="proxy.hpp" o="root" g="wheel" p="33188"/><f n="ptr.hpp" o="root" g="wheel" p="33188"/><f n="pure_virtual.hpp" o="root" g="wheel" p="33188"/><f n="raw_function.hpp" o="root" g="wheel" p="33188"/><f n="refcount.hpp" o="root" g="wheel" p="33188"/><f n="reference_existing_object.hpp" o="root" g="wheel" p="33188"/><f n="register_ptr_to_python.hpp" o="root" g="wheel" p="33188"/><f n="return_arg.hpp" o="root" g="wheel" p="33188"/><f n="return_by_value.hpp" o="root" g="wheel" p="33188"/><f n="return_internal_reference.hpp" o="root" g="wheel" p="33188"/><f n="return_opaque_pointer.hpp" o="root" g="wheel" p="33188"/><f n="return_value_policy.hpp" o="root" g="wheel" p="33188"/><f n="scope.hpp" o="root" g="wheel" p="33188"/><f n="self.hpp" o="root" g="wheel" p="33188"/><f n="signature.hpp" o="root" g="wheel" p="33188"/><f n="slice.hpp" o="root" g="wheel" p="33188"/><f n="slice_nil.hpp" o="root" g="wheel" p="33188"/><f n="ssize_t.hpp" o="root" g="wheel" p="33188"/><f n="stl_iterator.hpp" o="root" g="wheel" p="33188"/><f n="str.hpp" o="root" g="wheel" p="33188"/><f n="suite" o="root" g="wheel" p="16877"><f n="indexing" o="root" g="wheel" p="16877"><f n="container_utils.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="indexing_suite_detail.hpp" o="root" g="wheel" p="33188"/></f><f n="indexing_suite.hpp" o="root" g="wheel" p="33188"/><f n="map_indexing_suite.hpp" o="root" g="wheel" p="33188"/><f n="vector_indexing_suite.hpp" o="root" g="wheel" p="33188"/></f></f><f n="tag.hpp" o="root" g="wheel" p="33188"/><f n="to_python_converter.hpp" o="root" g="wheel" p="33188"/><f n="to_python_indirect.hpp" o="root" g="wheel" p="33188"/><f n="to_python_value.hpp" o="root" g="wheel" p="33188"/><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="type_id.hpp" o="root" g="wheel" p="33188"/><f n="with_custodian_and_ward.hpp" o="root" g="wheel" p="33188"/><f n="wrapper.hpp" o="root" g="wheel" p="33188"/></f><f n="python.hpp" o="root" g="wheel" p="33188"/><f n="random" o="root" g="wheel" p="16877"><f n="additive_combine.hpp" o="root" g="wheel" p="33188"/><f n="bernoulli_distribution.hpp" o="root" g="wheel" p="33188"/><f n="binomial_distribution.hpp" o="root" g="wheel" p="33188"/><f n="cauchy_distribution.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="const_mod.hpp" o="root" g="wheel" p="33188"/><f n="iterator_mixin.hpp" o="root" g="wheel" p="33188"/><f n="pass_through_engine.hpp" o="root" g="wheel" p="33188"/><f n="ptr_helper.hpp" o="root" g="wheel" p="33188"/><f n="seed.hpp" o="root" g="wheel" p="33188"/><f n="signed_unsigned_tools.hpp" o="root" g="wheel" p="33188"/><f n="uniform_int_float.hpp" o="root" g="wheel" p="33188"/></f><f n="discard_block.hpp" o="root" g="wheel" p="33188"/><f n="exponential_distribution.hpp" o="root" g="wheel" p="33188"/><f n="gamma_distribution.hpp" o="root" g="wheel" p="33188"/><f n="geometric_distribution.hpp" o="root" g="wheel" p="33188"/><f n="inversive_congruential.hpp" o="root" g="wheel" p="33188"/><f n="lagged_fibonacci.hpp" o="root" g="wheel" p="33188"/><f n="linear_congruential.hpp" o="root" g="wheel" p="33188"/><f n="linear_feedback_shift.hpp" o="root" g="wheel" p="33188"/><f n="lognormal_distribution.hpp" o="root" g="wheel" p="33188"/><f n="mersenne_twister.hpp" o="root" g="wheel" p="33188"/><f n="normal_distribution.hpp" o="root" g="wheel" p="33188"/><f n="poisson_distribution.hpp" o="root" g="wheel" p="33188"/><f n="random_number_generator.hpp" o="root" g="wheel" p="33188"/><f n="ranlux.hpp" o="root" g="wheel" p="33188"/><f n="shuffle_output.hpp" o="root" g="wheel" p="33188"/><f n="subtract_with_carry.hpp" o="root" g="wheel" p="33188"/><f n="triangle_distribution.hpp" o="root" g="wheel" p="33188"/><f n="uniform_01.hpp" o="root" g="wheel" p="33188"/><f n="uniform_int.hpp" o="root" g="wheel" p="33188"/><f n="uniform_on_sphere.hpp" o="root" g="wheel" p="33188"/><f n="uniform_real.hpp" o="root" g="wheel" p="33188"/><f n="uniform_smallint.hpp" o="root" g="wheel" p="33188"/><f n="variate_generator.hpp" o="root" g="wheel" p="33188"/><f n="xor_combine.hpp" o="root" g="wheel" p="33188"/></f><f n="random.hpp" o="root" g="wheel" p="33188"/><f n="range" o="root" g="wheel" p="16877"><f n="as_array.hpp" o="root" g="wheel" p="33188"/><f n="as_literal.hpp" o="root" g="wheel" p="33188"/><f n="atl.hpp" o="root" g="wheel" p="33188"/><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="category.hpp" o="root" g="wheel" p="33188"/><f n="concepts.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="const_iterator.hpp" o="root" g="wheel" p="33188"/><f n="const_reverse_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="as_literal.hpp" o="root" g="wheel" p="33188"/><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="collection_traits.hpp" o="root" g="wheel" p="33188"/><f n="collection_traits_detail.hpp" o="root" g="wheel" p="33188"/><f n="common.hpp" o="root" g="wheel" p="33188"/><f n="const_iterator.hpp" o="root" g="wheel" p="33188"/><f n="detail_str.hpp" o="root" g="wheel" p="33188"/><f n="difference_type.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="implementation_help.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="microsoft.hpp" o="root" g="wheel" p="33188"/><f n="remove_extent.hpp" o="root" g="wheel" p="33188"/><f n="sfinae.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="size_type.hpp" o="root" g="wheel" p="33188"/><f n="sizer.hpp" o="root" g="wheel" p="33188"/><f n="str_types.hpp" o="root" g="wheel" p="33188"/><f n="value_type.hpp" o="root" g="wheel" p="33188"/><f n="vc6" o="root" g="wheel" p="16877"><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/></f></f><f n="difference_type.hpp" o="root" g="wheel" p="33188"/><f n="distance.hpp" o="root" g="wheel" p="33188"/><f n="empty.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="functions.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="iterator_range.hpp" o="root" g="wheel" p="33188"/><f n="metafunctions.hpp" o="root" g="wheel" p="33188"/><f n="mfc.hpp" o="root" g="wheel" p="33188"/><f n="mutable_iterator.hpp" o="root" g="wheel" p="33188"/><f n="pointer.hpp" o="root" g="wheel" p="33188"/><f n="rbegin.hpp" o="root" g="wheel" p="33188"/><f n="reference.hpp" o="root" g="wheel" p="33188"/><f n="rend.hpp" o="root" g="wheel" p="33188"/><f n="result_iterator.hpp" o="root" g="wheel" p="33188"/><f n="reverse_iterator.hpp" o="root" g="wheel" p="33188"/><f n="reverse_result_iterator.hpp" o="root" g="wheel" p="33188"/><f n="size.hpp" o="root" g="wheel" p="33188"/><f n="size_type.hpp" o="root" g="wheel" p="33188"/><f n="sub_range.hpp" o="root" g="wheel" p="33188"/><f n="value_type.hpp" o="root" g="wheel" p="33188"/></f><f n="range.hpp" o="root" g="wheel" p="33188"/><f n="rational.hpp" o="root" g="wheel" p="33188"/><f n="ref.hpp" o="root" g="wheel" p="33188"/><f n="regex" o="root" g="wheel" p="16877"><f n="concepts.hpp" o="root" g="wheel" p="33188"/><f n="config" o="root" g="wheel" p="16877"><f n="borland.hpp" o="root" g="wheel" p="33188"/><f n="cwchar.hpp" o="root" g="wheel" p="33188"/></f><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="icu.hpp" o="root" g="wheel" p="33188"/><f n="mfc.hpp" o="root" g="wheel" p="33188"/><f n="pattern_except.hpp" o="root" g="wheel" p="33188"/><f n="pending" o="root" g="wheel" p="16877"><f n="object_cache.hpp" o="root" g="wheel" p="33188"/><f n="static_mutex.hpp" o="root" g="wheel" p="33188"/><f n="unicode_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="user.hpp" o="root" g="wheel" p="33188"/><f n="v4" o="root" g="wheel" p="16877"><f n="basic_regex.hpp" o="root" g="wheel" p="33188"/><f n="basic_regex_creator.hpp" o="root" g="wheel" p="33188"/><f n="basic_regex_parser.hpp" o="root" g="wheel" p="33188"/><f n="c_regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="char_regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="cpp_regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="cregex.hpp" o="root" g="wheel" p="33188"/><f n="error_type.hpp" o="root" g="wheel" p="33188"/><f n="fileiter.hpp" o="root" g="wheel" p="33188"/><f n="instances.hpp" o="root" g="wheel" p="33188"/><f n="iterator_category.hpp" o="root" g="wheel" p="33188"/><f n="iterator_traits.hpp" o="root" g="wheel" p="33188"/><f n="match_flags.hpp" o="root" g="wheel" p="33188"/><f n="match_results.hpp" o="root" g="wheel" p="33188"/><f n="mem_block_cache.hpp" o="root" g="wheel" p="33188"/><f n="perl_matcher.hpp" o="root" g="wheel" p="33188"/><f n="perl_matcher_common.hpp" o="root" g="wheel" p="33188"/><f n="perl_matcher_non_recursive.hpp" o="root" g="wheel" p="33188"/><f n="perl_matcher_recursive.hpp" o="root" g="wheel" p="33188"/><f n="primary_transform.hpp" o="root" g="wheel" p="33188"/><f n="protected_call.hpp" o="root" g="wheel" p="33188"/><f n="regbase.hpp" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="regex_format.hpp" o="root" g="wheel" p="33188"/><f n="regex_fwd.hpp" o="root" g="wheel" p="33188"/><f n="regex_grep.hpp" o="root" g="wheel" p="33188"/><f n="regex_iterator.hpp" o="root" g="wheel" p="33188"/><f n="regex_match.hpp" o="root" g="wheel" p="33188"/><f n="regex_merge.hpp" o="root" g="wheel" p="33188"/><f n="regex_raw_buffer.hpp" o="root" g="wheel" p="33188"/><f n="regex_replace.hpp" o="root" g="wheel" p="33188"/><f n="regex_search.hpp" o="root" g="wheel" p="33188"/><f n="regex_split.hpp" o="root" g="wheel" p="33188"/><f n="regex_token_iterator.hpp" o="root" g="wheel" p="33188"/><f n="regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="regex_traits_defaults.hpp" o="root" g="wheel" p="33188"/><f n="regex_workaround.hpp" o="root" g="wheel" p="33188"/><f n="states.hpp" o="root" g="wheel" p="33188"/><f n="sub_match.hpp" o="root" g="wheel" p="33188"/><f n="syntax_type.hpp" o="root" g="wheel" p="33188"/><f n="u32regex_iterator.hpp" o="root" g="wheel" p="33188"/><f n="u32regex_token_iterator.hpp" o="root" g="wheel" p="33188"/><f n="w32_regex_traits.hpp" o="root" g="wheel" p="33188"/></f></f><f n="regex.h" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="regex_fwd.hpp" o="root" g="wheel" p="33188"/><f n="scope_exit.hpp" o="root" g="wheel" p="33188"/><f n="scoped_array.hpp" o="root" g="wheel" p="33188"/><f n="scoped_ptr.hpp" o="root" g="wheel" p="33188"/><f n="serialization" o="root" g="wheel" p="16877"><f n="access.hpp" o="root" g="wheel" p="33188"/><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="assume_abstract.hpp" o="root" g="wheel" p="33188"/><f n="base_object.hpp" o="root" g="wheel" p="33188"/><f n="binary_object.hpp" o="root" g="wheel" p="33188"/><f n="bitset.hpp" o="root" g="wheel" p="33188"/><f n="collection_size_type.hpp" o="root" g="wheel" p="33188"/><f n="collection_traits.hpp" o="root" g="wheel" p="33188"/><f n="collections_load_imp.hpp" o="root" g="wheel" p="33188"/><f n="collections_save_imp.hpp" o="root" g="wheel" p="33188"/><f n="complex.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="get_data.hpp" o="root" g="wheel" p="33188"/><f n="shared_count_132.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_132.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_nmt_132.hpp" o="root" g="wheel" p="33188"/><f n="stack_constructor.hpp" o="root" g="wheel" p="33188"/></f><f n="ephemeral.hpp" o="root" g="wheel" p="33188"/><f n="export.hpp" o="root" g="wheel" p="33188"/><f n="extended_type_info.hpp" o="root" g="wheel" p="33188"/><f n="extended_type_info_no_rtti.hpp" o="root" g="wheel" p="33188"/><f n="extended_type_info_typeid.hpp" o="root" g="wheel" p="33188"/><f n="factory.hpp" o="root" g="wheel" p="33188"/><f n="force_include.hpp" o="root" g="wheel" p="33188"/><f n="hash_collections_load_imp.hpp" o="root" g="wheel" p="33188"/><f n="hash_collections_save_imp.hpp" o="root" g="wheel" p="33188"/><f n="hash_map.hpp" o="root" g="wheel" p="33188"/><f n="hash_set.hpp" o="root" g="wheel" p="33188"/><f n="is_bitwise_serializable.hpp" o="root" g="wheel" p="33188"/><f n="level.hpp" o="root" g="wheel" p="33188"/><f n="level_enum.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="nvp.hpp" o="root" g="wheel" p="33188"/><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="pfto.hpp" o="root" g="wheel" p="33188"/><f n="scoped_ptr.hpp" o="root" g="wheel" p="33188"/><f n="serialization.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_132.hpp" o="root" g="wheel" p="33188"/><f n="singleton.hpp" o="root" g="wheel" p="33188"/><f n="slist.hpp" o="root" g="wheel" p="33188"/><f n="smart_cast.hpp" o="root" g="wheel" p="33188"/><f n="split_free.hpp" o="root" g="wheel" p="33188"/><f n="split_member.hpp" o="root" g="wheel" p="33188"/><f n="state_saver.hpp" o="root" g="wheel" p="33188"/><f n="static_warning.hpp" o="root" g="wheel" p="33188"/><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="strong_typedef.hpp" o="root" g="wheel" p="33188"/><f n="throw_exception.hpp" o="root" g="wheel" p="33188"/><f n="tracking.hpp" o="root" g="wheel" p="33188"/><f n="tracking_enum.hpp" o="root" g="wheel" p="33188"/><f n="traits.hpp" o="root" g="wheel" p="33188"/><f n="type_info_implementation.hpp" o="root" g="wheel" p="33188"/><f n="utility.hpp" o="root" g="wheel" p="33188"/><f n="valarray.hpp" o="root" g="wheel" p="33188"/><f n="variant.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector_135.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/><f n="void_cast.hpp" o="root" g="wheel" p="33188"/><f n="void_cast_fwd.hpp" o="root" g="wheel" p="33188"/><f n="weak_ptr.hpp" o="root" g="wheel" p="33188"/><f n="wrapper.hpp" o="root" g="wheel" p="33188"/></f><f n="shared_array.hpp" o="root" g="wheel" p="33188"/><f n="shared_container_iterator.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr.hpp" o="root" g="wheel" p="33188"/><f n="signal.hpp" o="root" g="wheel" p="33188"/><f n="signals" o="root" g="wheel" p="16877"><f n="connection.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="gen_signal_N.pl" o="root" g="wheel" p="33188"/><f n="named_slot_map.hpp" o="root" g="wheel" p="33188"/><f n="signal_base.hpp" o="root" g="wheel" p="33188"/><f n="signals_common.hpp" o="root" g="wheel" p="33188"/><f n="slot_call_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="signal0.hpp" o="root" g="wheel" p="33188"/><f n="signal1.hpp" o="root" g="wheel" p="33188"/><f n="signal10.hpp" o="root" g="wheel" p="33188"/><f n="signal2.hpp" o="root" g="wheel" p="33188"/><f n="signal3.hpp" o="root" g="wheel" p="33188"/><f n="signal4.hpp" o="root" g="wheel" p="33188"/><f n="signal5.hpp" o="root" g="wheel" p="33188"/><f n="signal6.hpp" o="root" g="wheel" p="33188"/><f n="signal7.hpp" o="root" g="wheel" p="33188"/><f n="signal8.hpp" o="root" g="wheel" p="33188"/><f n="signal9.hpp" o="root" g="wheel" p="33188"/><f n="signal_template.hpp" o="root" g="wheel" p="33188"/><f n="slot.hpp" o="root" g="wheel" p="33188"/><f n="trackable.hpp" o="root" g="wheel" p="33188"/></f><f n="signals.hpp" o="root" g="wheel" p="33188"/><f n="signals2" o="root" g="wheel" p="16877"><f n="connection.hpp" o="root" g="wheel" p="33188"/><f n="deconstruct.hpp" o="root" g="wheel" p="33188"/><f n="deconstruct_ptr.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="auto_buffer.hpp" o="root" g="wheel" p="33188"/><f n="lwm_nop.hpp" o="root" g="wheel" p="33188"/><f n="lwm_pthreads.hpp" o="root" g="wheel" p="33188"/><f n="lwm_win32_cs.hpp" o="root" g="wheel" p="33188"/><f n="null_output_iterator.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed_arg_type.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed_arg_type_template.hpp" o="root" g="wheel" p="33188"/><f n="replace_slot_function.hpp" o="root" g="wheel" p="33188"/><f n="result_type_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="signal_template.hpp" o="root" g="wheel" p="33188"/><f n="signals_common.hpp" o="root" g="wheel" p="33188"/><f n="signals_common_macros.hpp" o="root" g="wheel" p="33188"/><f n="slot_call_iterator.hpp" o="root" g="wheel" p="33188"/><f n="slot_groups.hpp" o="root" g="wheel" p="33188"/><f n="slot_template.hpp" o="root" g="wheel" p="33188"/><f n="tracked_objects_visitor.hpp" o="root" g="wheel" p="33188"/><f n="unique_lock.hpp" o="root" g="wheel" p="33188"/><f n="variadic_arg_type.hpp" o="root" g="wheel" p="33188"/><f n="variadic_slot_invoker.hpp" o="root" g="wheel" p="33188"/></f><f n="dummy_mutex.hpp" o="root" g="wheel" p="33188"/><f n="last_value.hpp" o="root" g="wheel" p="33188"/><f n="mutex.hpp" o="root" g="wheel" p="33188"/><f n="optional_last_value.hpp" o="root" g="wheel" p="33188"/><f n="postconstructible.hpp" o="root" g="wheel" p="33188"/><f n="predestructible.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed_signal.hpp" o="root" g="wheel" p="33188"/><f n="preprocessed_slot.hpp" o="root" g="wheel" p="33188"/><f n="shared_connection_block.hpp" o="root" g="wheel" p="33188"/><f n="signal.hpp" o="root" g="wheel" p="33188"/><f n="signal_base.hpp" o="root" g="wheel" p="33188"/><f n="signal_type.hpp" o="root" g="wheel" p="33188"/><f n="slot.hpp" o="root" g="wheel" p="33188"/><f n="slot_base.hpp" o="root" g="wheel" p="33188"/><f n="trackable.hpp" o="root" g="wheel" p="33188"/><f n="variadic_signal.hpp" o="root" g="wheel" p="33188"/><f n="variadic_slot.hpp" o="root" g="wheel" p="33188"/></f><f n="signals2.hpp" o="root" g="wheel" p="33188"/><f n="smart_ptr" o="root" g="wheel" p="16877"><f n="bad_weak_ptr.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="atomic_count.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count_gcc.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count_gcc_x86.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count_pthreads.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count_solaris.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count_sync.hpp" o="root" g="wheel" p="33188"/><f n="atomic_count_win32.hpp" o="root" g="wheel" p="33188"/><f n="lightweight_mutex.hpp" o="root" g="wheel" p="33188"/><f n="lwm_nop.hpp" o="root" g="wheel" p="33188"/><f n="lwm_pthreads.hpp" o="root" g="wheel" p="33188"/><f n="lwm_win32_cs.hpp" o="root" g="wheel" p="33188"/><f n="operator_bool.hpp" o="root" g="wheel" p="33188"/><f n="quick_allocator.hpp" o="root" g="wheel" p="33188"/><f n="shared_array_nmt.hpp" o="root" g="wheel" p="33188"/><f n="shared_count.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr_nmt.hpp" o="root" g="wheel" p="33188"/><f n="sp_convertible.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_acc_ia64.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_cw_ppc.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_cw_x86.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_gcc_ia64.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_gcc_mips.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_gcc_ppc.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_gcc_sparc.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_gcc_x86.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_nt.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_pt.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_solaris.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_spin.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_sync.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_base_w32.hpp" o="root" g="wheel" p="33188"/><f n="sp_counted_impl.hpp" o="root" g="wheel" p="33188"/><f n="sp_has_sync.hpp" o="root" g="wheel" p="33188"/><f n="spinlock.hpp" o="root" g="wheel" p="33188"/><f n="spinlock_gcc_arm.hpp" o="root" g="wheel" p="33188"/><f n="spinlock_nt.hpp" o="root" g="wheel" p="33188"/><f n="spinlock_pool.hpp" o="root" g="wheel" p="33188"/><f n="spinlock_pt.hpp" o="root" g="wheel" p="33188"/><f n="spinlock_sync.hpp" o="root" g="wheel" p="33188"/><f n="spinlock_w32.hpp" o="root" g="wheel" p="33188"/><f n="yield_k.hpp" o="root" g="wheel" p="33188"/></f><f n="enable_shared_from_this.hpp" o="root" g="wheel" p="33188"/><f n="enable_shared_from_this2.hpp" o="root" g="wheel" p="33188"/><f n="intrusive_ptr.hpp" o="root" g="wheel" p="33188"/><f n="make_shared.hpp" o="root" g="wheel" p="33188"/><f n="scoped_array.hpp" o="root" g="wheel" p="33188"/><f n="scoped_ptr.hpp" o="root" g="wheel" p="33188"/><f n="shared_array.hpp" o="root" g="wheel" p="33188"/><f n="shared_ptr.hpp" o="root" g="wheel" p="33188"/><f n="weak_ptr.hpp" o="root" g="wheel" p="33188"/></f><f n="smart_ptr.hpp" o="root" g="wheel" p="33188"/><f n="spirit" o="root" g="wheel" p="16877"><f n="actor" o="root" g="wheel" p="16877"><f n="assign_actor.hpp" o="root" g="wheel" p="33188"/><f n="assign_key_actor.hpp" o="root" g="wheel" p="33188"/><f n="clear_actor.hpp" o="root" g="wheel" p="33188"/><f n="decrement_actor.hpp" o="root" g="wheel" p="33188"/><f n="erase_actor.hpp" o="root" g="wheel" p="33188"/><f n="increment_actor.hpp" o="root" g="wheel" p="33188"/><f n="insert_at_actor.hpp" o="root" g="wheel" p="33188"/><f n="insert_key_actor.hpp" o="root" g="wheel" p="33188"/><f n="push_back_actor.hpp" o="root" g="wheel" p="33188"/><f n="push_front_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_const_ref_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_const_ref_const_ref_a.hpp" o="root" g="wheel" p="33188"/><f n="ref_const_ref_value_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_value_actor.hpp" o="root" g="wheel" p="33188"/><f n="swap_actor.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="actor.hpp" o="root" g="wheel" p="33188"/><f n="attribute" o="root" g="wheel" p="16877"><f n="closure.hpp" o="root" g="wheel" p="33188"/><f n="closure_context.hpp" o="root" g="wheel" p="33188"/><f n="closure_fwd.hpp" o="root" g="wheel" p="33188"/><f n="parametric.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="attribute.hpp" o="root" g="wheel" p="33188"/><f n="core" o="root" g="wheel" p="16877"><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="composite" o="root" g="wheel" p="16877"><f n="actions.hpp" o="root" g="wheel" p="33188"/><f n="alternative.hpp" o="root" g="wheel" p="33188"/><f n="composite.hpp" o="root" g="wheel" p="33188"/><f n="difference.hpp" o="root" g="wheel" p="33188"/><f n="directives.hpp" o="root" g="wheel" p="33188"/><f n="epsilon.hpp" o="root" g="wheel" p="33188"/><f n="exclusive_or.hpp" o="root" g="wheel" p="33188"/><f n="intersection.hpp" o="root" g="wheel" p="33188"/><f n="kleene_star.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="no_actions.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="positive.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="sequential_and.hpp" o="root" g="wheel" p="33188"/><f n="sequential_or.hpp" o="root" g="wheel" p="33188"/></f><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="match.hpp" o="root" g="wheel" p="33188"/><f n="nil.hpp" o="root" g="wheel" p="33188"/><f n="non_terminal" o="root" g="wheel" p="16877"><f n="grammar.hpp" o="root" g="wheel" p="33188"/><f n="parser_context.hpp" o="root" g="wheel" p="33188"/><f n="parser_id.hpp" o="root" g="wheel" p="33188"/><f n="rule.hpp" o="root" g="wheel" p="33188"/><f n="subrule.hpp" o="root" g="wheel" p="33188"/><f n="subrule_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="parser.hpp" o="root" g="wheel" p="33188"/><f n="primitives" o="root" g="wheel" p="16877"><f n="numerics.hpp" o="root" g="wheel" p="33188"/><f n="numerics_fwd.hpp" o="root" g="wheel" p="33188"/><f n="primitives.hpp" o="root" g="wheel" p="33188"/></f><f n="safe_bool.hpp" o="root" g="wheel" p="33188"/><f n="scanner" o="root" g="wheel" p="16877"><f n="scanner.hpp" o="root" g="wheel" p="33188"/><f n="scanner_fwd.hpp" o="root" g="wheel" p="33188"/><f n="skipper.hpp" o="root" g="wheel" p="33188"/><f n="skipper_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="core.hpp" o="root" g="wheel" p="33188"/><f n="debug" o="root" g="wheel" p="16877"><f n="debug_node.hpp" o="root" g="wheel" p="33188"/><f n="minimal.hpp" o="root" g="wheel" p="33188"/><f n="parser_names.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="dynamic" o="root" g="wheel" p="16877"><f n="for.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="lazy.hpp" o="root" g="wheel" p="33188"/><f n="rule_alias.hpp" o="root" g="wheel" p="33188"/><f n="select.hpp" o="root" g="wheel" p="33188"/><f n="stored_rule.hpp" o="root" g="wheel" p="33188"/><f n="stored_rule_fwd.hpp" o="root" g="wheel" p="33188"/><f n="switch.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="dynamic.hpp" o="root" g="wheel" p="33188"/><f n="error_handling" o="root" g="wheel" p="16877"><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="exceptions_fwd.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="error_handling.hpp" o="root" g="wheel" p="33188"/><f n="home" o="root" g="wheel" p="16877"><f n="classic" o="root" g="wheel" p="16877"><f n="actor" o="root" g="wheel" p="16877"><f n="assign_actor.hpp" o="root" g="wheel" p="33188"/><f n="assign_key_actor.hpp" o="root" g="wheel" p="33188"/><f n="clear_actor.hpp" o="root" g="wheel" p="33188"/><f n="decrement_actor.hpp" o="root" g="wheel" p="33188"/><f n="erase_actor.hpp" o="root" g="wheel" p="33188"/><f n="increment_actor.hpp" o="root" g="wheel" p="33188"/><f n="insert_at_actor.hpp" o="root" g="wheel" p="33188"/><f n="insert_key_actor.hpp" o="root" g="wheel" p="33188"/><f n="push_back_actor.hpp" o="root" g="wheel" p="33188"/><f n="push_front_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_const_ref_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_const_ref_const_ref_a.hpp" o="root" g="wheel" p="33188"/><f n="ref_const_ref_value_actor.hpp" o="root" g="wheel" p="33188"/><f n="ref_value_actor.hpp" o="root" g="wheel" p="33188"/><f n="swap_actor.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="actor.hpp" o="root" g="wheel" p="33188"/><f n="attribute" o="root" g="wheel" p="16877"><f n="closure.hpp" o="root" g="wheel" p="33188"/><f n="closure_context.hpp" o="root" g="wheel" p="33188"/><f n="closure_fwd.hpp" o="root" g="wheel" p="33188"/><f n="parametric.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="attribute.hpp" o="root" g="wheel" p="33188"/><f n="core" o="root" g="wheel" p="16877"><f n="assert.hpp" o="root" g="wheel" p="33188"/><f n="composite" o="root" g="wheel" p="16877"><f n="actions.hpp" o="root" g="wheel" p="33188"/><f n="alternative.hpp" o="root" g="wheel" p="33188"/><f n="composite.hpp" o="root" g="wheel" p="33188"/><f n="difference.hpp" o="root" g="wheel" p="33188"/><f n="directives.hpp" o="root" g="wheel" p="33188"/><f n="epsilon.hpp" o="root" g="wheel" p="33188"/><f n="exclusive_or.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="alternative.ipp" o="root" g="wheel" p="33188"/><f n="difference.ipp" o="root" g="wheel" p="33188"/><f n="directives.ipp" o="root" g="wheel" p="33188"/><f n="exclusive_or.ipp" o="root" g="wheel" p="33188"/><f n="intersection.ipp" o="root" g="wheel" p="33188"/><f n="kleene_star.ipp" o="root" g="wheel" p="33188"/><f n="list.ipp" o="root" g="wheel" p="33188"/><f n="optional.ipp" o="root" g="wheel" p="33188"/><f n="positive.ipp" o="root" g="wheel" p="33188"/><f n="sequence.ipp" o="root" g="wheel" p="33188"/><f n="sequential_and.ipp" o="root" g="wheel" p="33188"/><f n="sequential_or.ipp" o="root" g="wheel" p="33188"/></f><f n="intersection.hpp" o="root" g="wheel" p="33188"/><f n="kleene_star.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="no_actions.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="positive.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="sequential_and.hpp" o="root" g="wheel" p="33188"/><f n="sequential_or.hpp" o="root" g="wheel" p="33188"/></f><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="match.ipp" o="root" g="wheel" p="33188"/><f n="match_attr_traits.ipp" o="root" g="wheel" p="33188"/><f n="parser.ipp" o="root" g="wheel" p="33188"/></f><f n="match.hpp" o="root" g="wheel" p="33188"/><f n="nil.hpp" o="root" g="wheel" p="33188"/><f n="non_terminal" o="root" g="wheel" p="16877"><f n="grammar.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="grammar.ipp" o="root" g="wheel" p="33188"/><f n="object_with_id.ipp" o="root" g="wheel" p="33188"/><f n="rule.ipp" o="root" g="wheel" p="33188"/><f n="static.hpp" o="root" g="wheel" p="33188"/><f n="subrule.ipp" o="root" g="wheel" p="33188"/></f><f n="parser_context.hpp" o="root" g="wheel" p="33188"/><f n="parser_id.hpp" o="root" g="wheel" p="33188"/><f n="rule.hpp" o="root" g="wheel" p="33188"/><f n="subrule.hpp" o="root" g="wheel" p="33188"/><f n="subrule_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="parser.hpp" o="root" g="wheel" p="33188"/><f n="primitives" o="root" g="wheel" p="16877"><f n="impl" o="root" g="wheel" p="16877"><f n="numerics.ipp" o="root" g="wheel" p="33188"/><f n="primitives.ipp" o="root" g="wheel" p="33188"/></f><f n="numerics.hpp" o="root" g="wheel" p="33188"/><f n="numerics_fwd.hpp" o="root" g="wheel" p="33188"/><f n="primitives.hpp" o="root" g="wheel" p="33188"/></f><f n="safe_bool.hpp" o="root" g="wheel" p="33188"/><f n="scanner" o="root" g="wheel" p="16877"><f n="impl" o="root" g="wheel" p="16877"><f n="skipper.ipp" o="root" g="wheel" p="33188"/></f><f n="scanner.hpp" o="root" g="wheel" p="33188"/><f n="scanner_fwd.hpp" o="root" g="wheel" p="33188"/><f n="skipper.hpp" o="root" g="wheel" p="33188"/><f n="skipper_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="core.hpp" o="root" g="wheel" p="33188"/><f n="debug" o="root" g="wheel" p="16877"><f n="debug_node.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="parser_names.ipp" o="root" g="wheel" p="33188"/></f><f n="minimal.hpp" o="root" g="wheel" p="33188"/><f n="parser_names.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="dynamic" o="root" g="wheel" p="16877"><f n="for.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="conditions.ipp" o="root" g="wheel" p="33188"/><f n="select.ipp" o="root" g="wheel" p="33188"/><f n="switch.ipp" o="root" g="wheel" p="33188"/></f><f n="lazy.hpp" o="root" g="wheel" p="33188"/><f n="rule_alias.hpp" o="root" g="wheel" p="33188"/><f n="select.hpp" o="root" g="wheel" p="33188"/><f n="stored_rule.hpp" o="root" g="wheel" p="33188"/><f n="stored_rule_fwd.hpp" o="root" g="wheel" p="33188"/><f n="switch.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="dynamic.hpp" o="root" g="wheel" p="33188"/><f n="error_handling" o="root" g="wheel" p="16877"><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="exceptions_fwd.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="exceptions.ipp" o="root" g="wheel" p="33188"/></f><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="error_handling.hpp" o="root" g="wheel" p="33188"/><f n="iterator" o="root" g="wheel" p="16877"><f n="file_iterator.hpp" o="root" g="wheel" p="33188"/><f n="file_iterator_fwd.hpp" o="root" g="wheel" p="33188"/><f n="fixed_size_queue.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="file_iterator.ipp" o="root" g="wheel" p="33188"/><f n="position_iterator.ipp" o="root" g="wheel" p="33188"/></f><f n="multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass_fwd.hpp" o="root" g="wheel" p="33188"/><f n="position_iterator.hpp" o="root" g="wheel" p="33188"/><f n="position_iterator_fwd.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="meta" o="root" g="wheel" p="16877"><f n="as_parser.hpp" o="root" g="wheel" p="33188"/><f n="fundamental.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="fundamental.ipp" o="root" g="wheel" p="33188"/><f n="parser_traits.ipp" o="root" g="wheel" p="33188"/><f n="refactoring.ipp" o="root" g="wheel" p="33188"/><f n="traverse.ipp" o="root" g="wheel" p="33188"/></f><f n="parser_traits.hpp" o="root" g="wheel" p="33188"/><f n="refactoring.hpp" o="root" g="wheel" p="33188"/><f n="traverse.hpp" o="root" g="wheel" p="33188"/></f><f n="meta.hpp" o="root" g="wheel" p="33188"/><f n="namespace.hpp" o="root" g="wheel" p="33188"/><f n="phoenix" o="root" g="wheel" p="16877"><f n="actor.hpp" o="root" g="wheel" p="33188"/><f n="binders.hpp" o="root" g="wheel" p="33188"/><f n="casts.hpp" o="root" g="wheel" p="33188"/><f n="closures.hpp" o="root" g="wheel" p="33188"/><f n="composite.hpp" o="root" g="wheel" p="33188"/><f n="functions.hpp" o="root" g="wheel" p="33188"/><f n="new.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="primitives.hpp" o="root" g="wheel" p="33188"/><f n="special_ops.hpp" o="root" g="wheel" p="33188"/><f n="statements.hpp" o="root" g="wheel" p="33188"/><f n="tuple_helpers.hpp" o="root" g="wheel" p="33188"/><f n="tuples.hpp" o="root" g="wheel" p="33188"/></f><f n="phoenix.hpp" o="root" g="wheel" p="33188"/><f n="symbols" o="root" g="wheel" p="16877"><f n="impl" o="root" g="wheel" p="16877"><f n="symbols.ipp" o="root" g="wheel" p="33188"/><f n="tst.ipp" o="root" g="wheel" p="33188"/></f><f n="symbols.hpp" o="root" g="wheel" p="33188"/><f n="symbols_fwd.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="symbols.hpp" o="root" g="wheel" p="33188"/><f n="tree" o="root" g="wheel" p="16877"><f n="ast.hpp" o="root" g="wheel" p="33188"/><f n="ast_fwd.hpp" o="root" g="wheel" p="33188"/><f n="common.hpp" o="root" g="wheel" p="33188"/><f n="common_fwd.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="parse_tree_utils.ipp" o="root" g="wheel" p="33188"/><f n="tree_to_xml.ipp" o="root" g="wheel" p="33188"/></f><f n="parse_tree.hpp" o="root" g="wheel" p="33188"/><f n="parse_tree_fwd.hpp" o="root" g="wheel" p="33188"/><f n="parse_tree_utils.hpp" o="root" g="wheel" p="33188"/><f n="parsetree.dtd" o="root" g="wheel" p="33188"/><f n="tree_to_xml.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="utility" o="root" g="wheel" p="16877"><f n="chset.hpp" o="root" g="wheel" p="33188"/><f n="chset_operators.hpp" o="root" g="wheel" p="33188"/><f n="confix.hpp" o="root" g="wheel" p="33188"/><f n="confix_fwd.hpp" o="root" g="wheel" p="33188"/><f n="distinct.hpp" o="root" g="wheel" p="33188"/><f n="distinct_fwd.hpp" o="root" g="wheel" p="33188"/><f n="escape_char.hpp" o="root" g="wheel" p="33188"/><f n="escape_char_fwd.hpp" o="root" g="wheel" p="33188"/><f n="flush_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="functor_parser.hpp" o="root" g="wheel" p="33188"/><f n="grammar_def.hpp" o="root" g="wheel" p="33188"/><f n="grammar_def_fwd.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="chset" o="root" g="wheel" p="16877"><f n="basic_chset.hpp" o="root" g="wheel" p="33188"/><f n="basic_chset.ipp" o="root" g="wheel" p="33188"/><f n="range_run.hpp" o="root" g="wheel" p="33188"/><f n="range_run.ipp" o="root" g="wheel" p="33188"/></f><f n="chset.ipp" o="root" g="wheel" p="33188"/><f n="chset_operators.ipp" o="root" g="wheel" p="33188"/><f n="confix.ipp" o="root" g="wheel" p="33188"/><f n="escape_char.ipp" o="root" g="wheel" p="33188"/><f n="lists.ipp" o="root" g="wheel" p="33188"/><f n="regex.ipp" o="root" g="wheel" p="33188"/></f><f n="lists.hpp" o="root" g="wheel" p="33188"/><f n="lists_fwd.hpp" o="root" g="wheel" p="33188"/><f n="loops.hpp" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="rule_parser.hpp" o="root" g="wheel" p="33188"/><f n="scoped_lock.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="utility.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/></f><f n="classic.hpp" o="root" g="wheel" p="33188"/><f n="karma" o="root" g="wheel" p="16877"><f n="action" o="root" g="wheel" p="16877"><f n="action.hpp" o="root" g="wheel" p="33188"/></f><f n="action.hpp" o="root" g="wheel" p="33188"/><f n="auxiliary" o="root" g="wheel" p="16877"><f n="attr_cast.hpp" o="root" g="wheel" p="33188"/><f n="eol.hpp" o="root" g="wheel" p="33188"/><f n="eps.hpp" o="root" g="wheel" p="33188"/><f n="lazy.hpp" o="root" g="wheel" p="33188"/></f><f n="auxiliary.hpp" o="root" g="wheel" p="33188"/><f n="binary" o="root" g="wheel" p="16877"><f n="binary.hpp" o="root" g="wheel" p="33188"/><f n="padding.hpp" o="root" g="wheel" p="33188"/></f><f n="binary.hpp" o="root" g="wheel" p="33188"/><f n="char" o="root" g="wheel" p="16877"><f n="char.hpp" o="root" g="wheel" p="33188"/><f n="char_class.hpp" o="root" g="wheel" p="33188"/><f n="char_generator.hpp" o="root" g="wheel" p="33188"/></f><f n="char.hpp" o="root" g="wheel" p="33188"/><f n="delimit_out.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="alternative_function.hpp" o="root" g="wheel" p="33188"/><f n="default_width.hpp" o="root" g="wheel" p="33188"/><f n="extract_from.hpp" o="root" g="wheel" p="33188"/><f n="fail_function.hpp" o="root" g="wheel" p="33188"/><f n="generate_to.hpp" o="root" g="wheel" p="33188"/><f n="get_casetag.hpp" o="root" g="wheel" p="33188"/><f n="output_iterator.hpp" o="root" g="wheel" p="33188"/><f n="pass_container.hpp" o="root" g="wheel" p="33188"/><f n="string_compare.hpp" o="root" g="wheel" p="33188"/><f n="string_generate.hpp" o="root" g="wheel" p="33188"/><f n="unused_delimiter.hpp" o="root" g="wheel" p="33188"/></f><f n="directive" o="root" g="wheel" p="16877"><f n="buffer.hpp" o="root" g="wheel" p="33188"/><f n="center_alignment.hpp" o="root" g="wheel" p="33188"/><f n="delimit.hpp" o="root" g="wheel" p="33188"/><f n="left_alignment.hpp" o="root" g="wheel" p="33188"/><f n="maxwidth.hpp" o="root" g="wheel" p="33188"/><f n="omit.hpp" o="root" g="wheel" p="33188"/><f n="repeat.hpp" o="root" g="wheel" p="33188"/><f n="right_alignment.hpp" o="root" g="wheel" p="33188"/><f n="upper_lower_case.hpp" o="root" g="wheel" p="33188"/><f n="verbatim.hpp" o="root" g="wheel" p="33188"/></f><f n="directive.hpp" o="root" g="wheel" p="33188"/><f n="domain.hpp" o="root" g="wheel" p="33188"/><f n="generate.hpp" o="root" g="wheel" p="33188"/><f n="generate_attr.hpp" o="root" g="wheel" p="33188"/><f n="generator.hpp" o="root" g="wheel" p="33188"/><f n="meta_compiler.hpp" o="root" g="wheel" p="33188"/><f n="nonterminal" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="fcall.hpp" o="root" g="wheel" p="33188"/><f n="generator_binder.hpp" o="root" g="wheel" p="33188"/><f n="parameterized.hpp" o="root" g="wheel" p="33188"/></f><f n="grammar.hpp" o="root" g="wheel" p="33188"/><f n="rule.hpp" o="root" g="wheel" p="33188"/></f><f n="nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="numeric" o="root" g="wheel" p="16877"><f n="bool.hpp" o="root" g="wheel" p="33188"/><f n="bool_policies.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bool_utils.hpp" o="root" g="wheel" p="33188"/><f n="numeric_utils.hpp" o="root" g="wheel" p="33188"/><f n="real_utils.hpp" o="root" g="wheel" p="33188"/></f><f n="int.hpp" o="root" g="wheel" p="33188"/><f n="real.hpp" o="root" g="wheel" p="33188"/><f n="real_policies.hpp" o="root" g="wheel" p="33188"/><f n="uint.hpp" o="root" g="wheel" p="33188"/></f><f n="numeric.hpp" o="root" g="wheel" p="33188"/><f n="operator" o="root" g="wheel" p="16877"><f n="alternative.hpp" o="root" g="wheel" p="33188"/><f n="and_predicate.hpp" o="root" g="wheel" p="33188"/><f n="kleene.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="not_predicate.hpp" o="root" g="wheel" p="33188"/><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/></f><f n="operator.hpp" o="root" g="wheel" p="33188"/><f n="reference.hpp" o="root" g="wheel" p="33188"/><f n="stream" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="format_manip.hpp" o="root" g="wheel" p="33188"/><f n="iterator_sink.hpp" o="root" g="wheel" p="33188"/></f><f n="format_manip.hpp" o="root" g="wheel" p="33188"/><f n="format_manip_attr.hpp" o="root" g="wheel" p="33188"/><f n="ostream_iterator.hpp" o="root" g="wheel" p="33188"/><f n="stream.hpp" o="root" g="wheel" p="33188"/></f><f n="stream.hpp" o="root" g="wheel" p="33188"/><f n="string" o="root" g="wheel" p="16877"><f n="lit.hpp" o="root" g="wheel" p="33188"/></f><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="what.hpp" o="root" g="wheel" p="33188"/></f><f n="karma.hpp" o="root" g="wheel" p="33188"/><f n="lex" o="root" g="wheel" p="16877"><f n="argument.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="sequence_function.hpp" o="root" g="wheel" p="33188"/></f><f n="domain.hpp" o="root" g="wheel" p="33188"/><f n="lexer" o="root" g="wheel" p="16877"><f n="action.hpp" o="root" g="wheel" p="33188"/><f n="char_token_def.hpp" o="root" g="wheel" p="33188"/><f n="lexer.hpp" o="root" g="wheel" p="33188"/><f n="lexertl" o="root" g="wheel" p="16877"><f n="functor.hpp" o="root" g="wheel" p="33188"/><f n="functor_data.hpp" o="root" g="wheel" p="33188"/><f n="generate_static.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="iterator_tokenizer.hpp" o="root" g="wheel" p="33188"/><f n="lexer.hpp" o="root" g="wheel" p="33188"/><f n="semantic_action_data.hpp" o="root" g="wheel" p="33188"/><f n="static_functor_data.hpp" o="root" g="wheel" p="33188"/><f n="static_lexer.hpp" o="root" g="wheel" p="33188"/><f n="static_version.hpp" o="root" g="wheel" p="33188"/><f n="token.hpp" o="root" g="wheel" p="33188"/><f n="wrap_action.hpp" o="root" g="wheel" p="33188"/></f><f n="pass_flags.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="string_token_def.hpp" o="root" g="wheel" p="33188"/><f n="support_functions.hpp" o="root" g="wheel" p="33188"/><f n="terminals.hpp" o="root" g="wheel" p="33188"/><f n="token_def.hpp" o="root" g="wheel" p="33188"/></f><f n="lexer.hpp" o="root" g="wheel" p="33188"/><f n="lexer_lexertl.hpp" o="root" g="wheel" p="33188"/><f n="lexer_static_lexertl.hpp" o="root" g="wheel" p="33188"/><f n="lexer_type.hpp" o="root" g="wheel" p="33188"/><f n="meta_compiler.hpp" o="root" g="wheel" p="33188"/><f n="primitives.hpp" o="root" g="wheel" p="33188"/><f n="qi" o="root" g="wheel" p="16877"><f n="in_state.hpp" o="root" g="wheel" p="33188"/><f n="plain_token.hpp" o="root" g="wheel" p="33188"/><f n="state_switcher.hpp" o="root" g="wheel" p="33188"/></f><f n="qi.hpp" o="root" g="wheel" p="33188"/><f n="reference.hpp" o="root" g="wheel" p="33188"/><f n="tokenize_and_parse.hpp" o="root" g="wheel" p="33188"/><f n="tokenize_and_parse_attr.hpp" o="root" g="wheel" p="33188"/></f><f n="lex.hpp" o="root" g="wheel" p="33188"/><f n="phoenix" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="bind" o="root" g="wheel" p="16877"><f n="bind_function.hpp" o="root" g="wheel" p="33188"/><f n="bind_function_object.hpp" o="root" g="wheel" p="33188"/><f n="bind_member_function.hpp" o="root" g="wheel" p="33188"/><f n="bind_member_variable.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bind_function.hpp" o="root" g="wheel" p="33188"/><f n="bind_function_object.hpp" o="root" g="wheel" p="33188"/><f n="bind_member_function.hpp" o="root" g="wheel" p="33188"/><f n="function_ptr.hpp" o="root" g="wheel" p="33188"/><f n="member_function_ptr.hpp" o="root" g="wheel" p="33188"/></f></f><f n="bind.hpp" o="root" g="wheel" p="33188"/><f n="container.hpp" o="root" g="wheel" p="33188"/><f n="core" o="root" g="wheel" p="16877"><f n="actor.hpp" o="root" g="wheel" p="33188"/><f n="argument.hpp" o="root" g="wheel" p="33188"/><f n="as_actor.hpp" o="root" g="wheel" p="33188"/><f n="basic_environment.hpp" o="root" g="wheel" p="33188"/><f n="compose.hpp" o="root" g="wheel" p="33188"/><f n="composite.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="actor.hpp" o="root" g="wheel" p="33188"/><f n="basic_environment.hpp" o="root" g="wheel" p="33188"/><f n="compose.hpp" o="root" g="wheel" p="33188"/><f n="composite.hpp" o="root" g="wheel" p="33188"/><f n="composite_eval.hpp" o="root" g="wheel" p="33188"/><f n="composite_info.hpp" o="root" g="wheel" p="33188"/><f n="function_eval.hpp" o="root" g="wheel" p="33188"/></f><f n="is_actor.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="nothing.hpp" o="root" g="wheel" p="33188"/><f n="reference.hpp" o="root" g="wheel" p="33188"/><f n="value.hpp" o="root" g="wheel" p="33188"/></f><f n="core.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="local_reference.hpp" o="root" g="wheel" p="33188"/><f n="type_deduction.hpp" o="root" g="wheel" p="33188"/></f><f n="function" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="function_call.hpp" o="root" g="wheel" p="33188"/></f><f n="function.hpp" o="root" g="wheel" p="33188"/></f><f n="function.hpp" o="root" g="wheel" p="33188"/><f n="fusion" o="root" g="wheel" p="16877"><f n="at.hpp" o="root" g="wheel" p="33188"/></f><f n="fusion.hpp" o="root" g="wheel" p="33188"/><f n="object" o="root" g="wheel" p="16877"><f n="const_cast.hpp" o="root" g="wheel" p="33188"/><f n="construct.hpp" o="root" g="wheel" p="33188"/><f n="delete.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="construct.hpp" o="root" g="wheel" p="33188"/><f n="construct_eval.hpp" o="root" g="wheel" p="33188"/><f n="new.hpp" o="root" g="wheel" p="33188"/><f n="new_eval.hpp" o="root" g="wheel" p="33188"/></f><f n="dynamic_cast.hpp" o="root" g="wheel" p="33188"/><f n="new.hpp" o="root" g="wheel" p="33188"/><f n="reinterpret_cast.hpp" o="root" g="wheel" p="33188"/><f n="static_cast.hpp" o="root" g="wheel" p="33188"/></f><f n="object.hpp" o="root" g="wheel" p="33188"/><f n="operator" o="root" g="wheel" p="16877"><f n="arithmetic.hpp" o="root" g="wheel" p="33188"/><f n="bitwise.hpp" o="root" g="wheel" p="33188"/><f n="comparison.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="binary_compose.hpp" o="root" g="wheel" p="33188"/><f n="binary_eval.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="mem_fun_ptr_eval.hpp" o="root" g="wheel" p="33188"/><f n="mem_fun_ptr_gen.hpp" o="root" g="wheel" p="33188"/><f n="mem_fun_ptr_return.hpp" o="root" g="wheel" p="33188"/><f n="unary_compose.hpp" o="root" g="wheel" p="33188"/><f n="unary_eval.hpp" o="root" g="wheel" p="33188"/></f><f n="if_else.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="logical.hpp" o="root" g="wheel" p="33188"/><f n="member.hpp" o="root" g="wheel" p="33188"/><f n="self.hpp" o="root" g="wheel" p="33188"/></f><f n="operator.hpp" o="root" g="wheel" p="33188"/><f n="scope" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="local_gen.hpp" o="root" g="wheel" p="33188"/><f n="local_variable.hpp" o="root" g="wheel" p="33188"/></f><f n="dynamic.hpp" o="root" g="wheel" p="33188"/><f n="lambda.hpp" o="root" g="wheel" p="33188"/><f n="let.hpp" o="root" g="wheel" p="33188"/><f n="local_variable.hpp" o="root" g="wheel" p="33188"/><f n="scoped_environment.hpp" o="root" g="wheel" p="33188"/></f><f n="scope.hpp" o="root" g="wheel" p="33188"/><f n="statement" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="catch_all_eval.hpp" o="root" g="wheel" p="33188"/><f n="catch_composite.hpp" o="root" g="wheel" p="33188"/><f n="catch_eval.hpp" o="root" g="wheel" p="33188"/><f n="switch.hpp" o="root" g="wheel" p="33188"/><f n="switch_eval.hpp" o="root" g="wheel" p="33188"/><f n="switch_eval.ipp" o="root" g="wheel" p="33188"/></f><f n="do_while.hpp" o="root" g="wheel" p="33188"/><f n="for.hpp" o="root" g="wheel" p="33188"/><f n="if.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="switch.hpp" o="root" g="wheel" p="33188"/><f n="throw.hpp" o="root" g="wheel" p="33188"/><f n="try_catch.hpp" o="root" g="wheel" p="33188"/><f n="while.hpp" o="root" g="wheel" p="33188"/></f><f n="statement.hpp" o="root" g="wheel" p="33188"/><f n="stl" o="root" g="wheel" p="16877"><f n="algorithm" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="begin.hpp" o="root" g="wheel" p="33188"/><f n="decay_array.hpp" o="root" g="wheel" p="33188"/><f n="end.hpp" o="root" g="wheel" p="33188"/><f n="has_equal_range.hpp" o="root" g="wheel" p="33188"/><f n="has_find.hpp" o="root" g="wheel" p="33188"/><f n="has_lower_bound.hpp" o="root" g="wheel" p="33188"/><f n="has_remove.hpp" o="root" g="wheel" p="33188"/><f n="has_remove_if.hpp" o="root" g="wheel" p="33188"/><f n="has_reverse.hpp" o="root" g="wheel" p="33188"/><f n="has_sort.hpp" o="root" g="wheel" p="33188"/><f n="has_unique.hpp" o="root" g="wheel" p="33188"/><f n="has_upper_bound.hpp" o="root" g="wheel" p="33188"/><f n="is_std_hash_map.hpp" o="root" g="wheel" p="33188"/><f n="is_std_hash_set.hpp" o="root" g="wheel" p="33188"/><f n="is_std_list.hpp" o="root" g="wheel" p="33188"/><f n="is_std_map.hpp" o="root" g="wheel" p="33188"/><f n="is_std_set.hpp" o="root" g="wheel" p="33188"/><f n="std_hash_map_fwd.hpp" o="root" g="wheel" p="33188"/><f n="std_hash_set_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="iteration.hpp" o="root" g="wheel" p="33188"/><f n="querying.hpp" o="root" g="wheel" p="33188"/><f n="transformation.hpp" o="root" g="wheel" p="33188"/></f><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="container" o="root" g="wheel" p="16877"><f n="container.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="container.hpp" o="root" g="wheel" p="33188"/></f></f><f n="container.hpp" o="root" g="wheel" p="33188"/></f><f n="stl.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/></f><f n="phoenix.hpp" o="root" g="wheel" p="33188"/><f n="qi" o="root" g="wheel" p="16877"><f n="action" o="root" g="wheel" p="16877"><f n="action.hpp" o="root" g="wheel" p="33188"/></f><f n="action.hpp" o="root" g="wheel" p="33188"/><f n="auxiliary" o="root" g="wheel" p="16877"><f n="attr.hpp" o="root" g="wheel" p="33188"/><f n="attr_cast.hpp" o="root" g="wheel" p="33188"/><f n="eoi.hpp" o="root" g="wheel" p="33188"/><f n="eol.hpp" o="root" g="wheel" p="33188"/><f n="eps.hpp" o="root" g="wheel" p="33188"/><f n="lazy.hpp" o="root" g="wheel" p="33188"/></f><f n="auxiliary.hpp" o="root" g="wheel" p="33188"/><f n="binary" o="root" g="wheel" p="16877"><f n="binary.hpp" o="root" g="wheel" p="33188"/></f><f n="binary.hpp" o="root" g="wheel" p="33188"/><f n="char" o="root" g="wheel" p="16877"><f n="char.hpp" o="root" g="wheel" p="33188"/><f n="char_class.hpp" o="root" g="wheel" p="33188"/><f n="char_parser.hpp" o="root" g="wheel" p="33188"/></f><f n="char.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="alternative_function.hpp" o="root" g="wheel" p="33188"/><f n="assign_to.hpp" o="root" g="wheel" p="33188"/><f n="construct.hpp" o="root" g="wheel" p="33188"/><f n="expect_function.hpp" o="root" g="wheel" p="33188"/><f n="fail_function.hpp" o="root" g="wheel" p="33188"/><f n="pass_container.hpp" o="root" g="wheel" p="33188"/><f n="pass_function.hpp" o="root" g="wheel" p="33188"/><f n="permute_function.hpp" o="root" g="wheel" p="33188"/><f n="string_parse.hpp" o="root" g="wheel" p="33188"/><f n="unused_skipper.hpp" o="root" g="wheel" p="33188"/></f><f n="directive" o="root" g="wheel" p="16877"><f n="lexeme.hpp" o="root" g="wheel" p="33188"/><f n="no_case.hpp" o="root" g="wheel" p="33188"/><f n="omit.hpp" o="root" g="wheel" p="33188"/><f n="raw.hpp" o="root" g="wheel" p="33188"/><f n="repeat.hpp" o="root" g="wheel" p="33188"/><f n="skip.hpp" o="root" g="wheel" p="33188"/></f><f n="directive.hpp" o="root" g="wheel" p="33188"/><f n="domain.hpp" o="root" g="wheel" p="33188"/><f n="meta_compiler.hpp" o="root" g="wheel" p="33188"/><f n="nonterminal" o="root" g="wheel" p="16877"><f n="debug_handler.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="fcall.hpp" o="root" g="wheel" p="33188"/><f n="parameterized.hpp" o="root" g="wheel" p="33188"/><f n="parser_binder.hpp" o="root" g="wheel" p="33188"/></f><f n="error_handler.hpp" o="root" g="wheel" p="33188"/><f n="grammar.hpp" o="root" g="wheel" p="33188"/><f n="rule.hpp" o="root" g="wheel" p="33188"/><f n="simple_trace.hpp" o="root" g="wheel" p="33188"/></f><f n="nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="numeric" o="root" g="wheel" p="16877"><f n="bool.hpp" o="root" g="wheel" p="33188"/><f n="bool_policies.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="numeric_utils.hpp" o="root" g="wheel" p="33188"/><f n="real_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="int.hpp" o="root" g="wheel" p="33188"/><f n="numeric_utils.hpp" o="root" g="wheel" p="33188"/><f n="real.hpp" o="root" g="wheel" p="33188"/><f n="real_policies.hpp" o="root" g="wheel" p="33188"/><f n="uint.hpp" o="root" g="wheel" p="33188"/></f><f n="numeric.hpp" o="root" g="wheel" p="33188"/><f n="operator" o="root" g="wheel" p="16877"><f n="alternative.hpp" o="root" g="wheel" p="33188"/><f n="and_predicate.hpp" o="root" g="wheel" p="33188"/><f n="difference.hpp" o="root" g="wheel" p="33188"/><f n="expect.hpp" o="root" g="wheel" p="33188"/><f n="kleene.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="not_predicate.hpp" o="root" g="wheel" p="33188"/><f n="optional.hpp" o="root" g="wheel" p="33188"/><f n="permutation.hpp" o="root" g="wheel" p="33188"/><f n="plus.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/><f n="sequence_base.hpp" o="root" g="wheel" p="33188"/><f n="sequential_or.hpp" o="root" g="wheel" p="33188"/></f><f n="operator.hpp" o="root" g="wheel" p="33188"/><f n="parse.hpp" o="root" g="wheel" p="33188"/><f n="parse_attr.hpp" o="root" g="wheel" p="33188"/><f n="parser.hpp" o="root" g="wheel" p="33188"/><f n="reference.hpp" o="root" g="wheel" p="33188"/><f n="skip_over.hpp" o="root" g="wheel" p="33188"/><f n="stream" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="iterator_source.hpp" o="root" g="wheel" p="33188"/><f n="match_manip.hpp" o="root" g="wheel" p="33188"/></f><f n="match_manip.hpp" o="root" g="wheel" p="33188"/><f n="match_manip_attr.hpp" o="root" g="wheel" p="33188"/><f n="stream.hpp" o="root" g="wheel" p="33188"/></f><f n="stream.hpp" o="root" g="wheel" p="33188"/><f n="string" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="tst.hpp" o="root" g="wheel" p="33188"/></f><f n="lit.hpp" o="root" g="wheel" p="33188"/><f n="symbols.hpp" o="root" g="wheel" p="33188"/><f n="tst.hpp" o="root" g="wheel" p="33188"/><f n="tst_map.hpp" o="root" g="wheel" p="33188"/></f><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="what.hpp" o="root" g="wheel" p="33188"/></f><f n="qi.hpp" o="root" g="wheel" p="33188"/><f n="support" o="root" g="wheel" p="16877"><f n="action_dispatch.hpp" o="root" g="wheel" p="33188"/><f n="algorithm" o="root" g="wheel" p="16877"><f n="any.hpp" o="root" g="wheel" p="33188"/><f n="any_if.hpp" o="root" g="wheel" p="33188"/><f n="any_if_ns.hpp" o="root" g="wheel" p="33188"/><f n="any_ns.hpp" o="root" g="wheel" p="33188"/></f><f n="argument.hpp" o="root" g="wheel" p="33188"/><f n="assert_msg.hpp" o="root" g="wheel" p="33188"/><f n="attributes.hpp" o="root" g="wheel" p="33188"/><f n="attributes_fwd.hpp" o="root" g="wheel" p="33188"/><f n="auxiliary" o="root" g="wheel" p="16877"><f n="attr_cast.hpp" o="root" g="wheel" p="33188"/></f><f n="char_class.hpp" o="root" g="wheel" p="33188"/><f n="char_encoding" o="root" g="wheel" p="16877"><f n="ascii.hpp" o="root" g="wheel" p="33188"/><f n="iso8859_1.hpp" o="root" g="wheel" p="33188"/><f n="standard.hpp" o="root" g="wheel" p="33188"/><f n="standard_wide.hpp" o="root" g="wheel" p="33188"/></f><f n="char_set" o="root" g="wheel" p="16877"><f n="basic_chset.hpp" o="root" g="wheel" p="33188"/><f n="range.hpp" o="root" g="wheel" p="33188"/><f n="range_functions.hpp" o="root" g="wheel" p="33188"/><f n="range_run.hpp" o="root" g="wheel" p="33188"/><f n="range_run_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="common_terminals.hpp" o="root" g="wheel" p="33188"/><f n="container.hpp" o="root" g="wheel" p="33188"/><f n="context.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="as_variant.hpp" o="root" g="wheel" p="33188"/><f n="endian.hpp" o="root" g="wheel" p="33188"/><f n="get_encoding.hpp" o="root" g="wheel" p="33188"/><f n="hold_any.hpp" o="root" g="wheel" p="33188"/><f n="integer" o="root" g="wheel" p="16877"><f n="cover_operators.hpp" o="root" g="wheel" p="33188"/><f n="endian.hpp" o="root" g="wheel" p="33188"/></f><f n="lexer" o="root" g="wheel" p="16877"><f n="char_traits.hpp" o="root" g="wheel" p="33188"/><f n="consts.hpp" o="root" g="wheel" p="33188"/><f n="containers" o="root" g="wheel" p="16877"><f n="ptr_list.hpp" o="root" g="wheel" p="33188"/><f n="ptr_vector.hpp" o="root" g="wheel" p="33188"/></f><f n="conversion" o="root" g="wheel" p="16877"><f n="char_state_machine.hpp" o="root" g="wheel" p="33188"/></f><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="file_input.hpp" o="root" g="wheel" p="33188"/><f n="generate_cpp.hpp" o="root" g="wheel" p="33188"/><f n="generator.hpp" o="root" g="wheel" p="33188"/><f n="input.hpp" o="root" g="wheel" p="33188"/><f n="internals.hpp" o="root" g="wheel" p="33188"/><f n="parser" o="root" g="wheel" p="16877"><f n="parser.hpp" o="root" g="wheel" p="33188"/><f n="tokeniser" o="root" g="wheel" p="16877"><f n="num_token.hpp" o="root" g="wheel" p="33188"/><f n="re_tokeniser.hpp" o="root" g="wheel" p="33188"/><f n="re_tokeniser_helper.hpp" o="root" g="wheel" p="33188"/><f n="re_tokeniser_state.hpp" o="root" g="wheel" p="33188"/></f><f n="tree" o="root" g="wheel" p="16877"><f n="end_node.hpp" o="root" g="wheel" p="33188"/><f n="iteration_node.hpp" o="root" g="wheel" p="33188"/><f n="leaf_node.hpp" o="root" g="wheel" p="33188"/><f n="node.hpp" o="root" g="wheel" p="33188"/><f n="selection_node.hpp" o="root" g="wheel" p="33188"/><f n="sequence_node.hpp" o="root" g="wheel" p="33188"/></f></f><f n="partition" o="root" g="wheel" p="16877"><f n="charset.hpp" o="root" g="wheel" p="33188"/><f n="equivset.hpp" o="root" g="wheel" p="33188"/></f><f n="rules.hpp" o="root" g="wheel" p="33188"/><f n="runtime_error.hpp" o="root" g="wheel" p="33188"/><f n="serialise.hpp" o="root" g="wheel" p="33188"/><f n="size_t.hpp" o="root" g="wheel" p="33188"/><f n="state_machine.hpp" o="root" g="wheel" p="33188"/><f n="string_token.hpp" o="root" g="wheel" p="33188"/></f><f n="make_cons.hpp" o="root" g="wheel" p="33188"/><f n="make_vector.hpp" o="root" g="wheel" p="33188"/><f n="math" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="fp_traits.hpp" o="root" g="wheel" p="33188"/></f><f n="fpclassify.hpp" o="root" g="wheel" p="33188"/><f n="signbit.hpp" o="root" g="wheel" p="33188"/></f><f n="pow10.hpp" o="root" g="wheel" p="33188"/><f n="scoped_enum_emulation.hpp" o="root" g="wheel" p="33188"/><f n="sign.hpp" o="root" g="wheel" p="33188"/><f n="what_function.hpp" o="root" g="wheel" p="33188"/></f><f n="has_semantic_action.hpp" o="root" g="wheel" p="33188"/><f n="info.hpp" o="root" g="wheel" p="33188"/><f n="iterators" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="buf_id_check_policy.hpp" o="root" g="wheel" p="33188"/><f n="combine_policies.hpp" o="root" g="wheel" p="33188"/><f n="first_owner_policy.hpp" o="root" g="wheel" p="33188"/><f n="fixed_size_queue.hpp" o="root" g="wheel" p="33188"/><f n="fixed_size_queue_policy.hpp" o="root" g="wheel" p="33188"/><f n="functor_input_policy.hpp" o="root" g="wheel" p="33188"/><f n="input_iterator_policy.hpp" o="root" g="wheel" p="33188"/><f n="lex_input_policy.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="no_check_policy.hpp" o="root" g="wheel" p="33188"/><f n="ref_counted_policy.hpp" o="root" g="wheel" p="33188"/><f n="split_functor_input_policy.hpp" o="root" g="wheel" p="33188"/><f n="split_std_deque_policy.hpp" o="root" g="wheel" p="33188"/></f><f n="look_ahead.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="lazy.hpp" o="root" g="wheel" p="33188"/><f n="make_component.hpp" o="root" g="wheel" p="33188"/><f n="meta_compiler.hpp" o="root" g="wheel" p="33188"/><f n="modify.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="nonterminal" o="root" g="wheel" p="16877"><f n="expand_arg.hpp" o="root" g="wheel" p="33188"/><f n="extract_param.hpp" o="root" g="wheel" p="33188"/><f n="locals.hpp" o="root" g="wheel" p="33188"/></f><f n="sequence_base_id.hpp" o="root" g="wheel" p="33188"/><f n="string_traits.hpp" o="root" g="wheel" p="33188"/><f n="terminal.hpp" o="root" g="wheel" p="33188"/><f n="unused.hpp" o="root" g="wheel" p="33188"/><f n="utf8.hpp" o="root" g="wheel" p="33188"/></f><f n="support.hpp" o="root" g="wheel" p="33188"/></f><f n="include" o="root" g="wheel" p="16877"><f n="classic.hpp" o="root" g="wheel" p="33188"/><f n="classic_actions.hpp" o="root" g="wheel" p="33188"/><f n="classic_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_alternative.hpp" o="root" g="wheel" p="33188"/><f n="classic_as_parser.hpp" o="root" g="wheel" p="33188"/><f n="classic_assert.hpp" o="root" g="wheel" p="33188"/><f n="classic_assign_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_assign_key_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_ast.hpp" o="root" g="wheel" p="33188"/><f n="classic_ast_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_attribute.hpp" o="root" g="wheel" p="33188"/><f n="classic_basic_chset.hpp" o="root" g="wheel" p="33188"/><f n="classic_chset.hpp" o="root" g="wheel" p="33188"/><f n="classic_chset_operators.hpp" o="root" g="wheel" p="33188"/><f n="classic_clear_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_closure.hpp" o="root" g="wheel" p="33188"/><f n="classic_closure_context.hpp" o="root" g="wheel" p="33188"/><f n="classic_closure_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_common.hpp" o="root" g="wheel" p="33188"/><f n="classic_common_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_composite.hpp" o="root" g="wheel" p="33188"/><f n="classic_config.hpp" o="root" g="wheel" p="33188"/><f n="classic_confix.hpp" o="root" g="wheel" p="33188"/><f n="classic_confix_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_core.hpp" o="root" g="wheel" p="33188"/><f n="classic_debug.hpp" o="root" g="wheel" p="33188"/><f n="classic_debug_node.hpp" o="root" g="wheel" p="33188"/><f n="classic_decrement_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_difference.hpp" o="root" g="wheel" p="33188"/><f n="classic_directives.hpp" o="root" g="wheel" p="33188"/><f n="classic_distinct.hpp" o="root" g="wheel" p="33188"/><f n="classic_distinct_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_dynamic.hpp" o="root" g="wheel" p="33188"/><f n="classic_epsilon.hpp" o="root" g="wheel" p="33188"/><f n="classic_erase_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_error_handling.hpp" o="root" g="wheel" p="33188"/><f n="classic_escape_char.hpp" o="root" g="wheel" p="33188"/><f n="classic_escape_char_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_exceptions.hpp" o="root" g="wheel" p="33188"/><f n="classic_exceptions_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_exclusive_or.hpp" o="root" g="wheel" p="33188"/><f n="classic_file_iterator.hpp" o="root" g="wheel" p="33188"/><f n="classic_file_iterator_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_fixed_size_queue.hpp" o="root" g="wheel" p="33188"/><f n="classic_flush_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="classic_for.hpp" o="root" g="wheel" p="33188"/><f n="classic_functor_parser.hpp" o="root" g="wheel" p="33188"/><f n="classic_fundamental.hpp" o="root" g="wheel" p="33188"/><f n="classic_grammar.hpp" o="root" g="wheel" p="33188"/><f n="classic_grammar_def.hpp" o="root" g="wheel" p="33188"/><f n="classic_grammar_def_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_if.hpp" o="root" g="wheel" p="33188"/><f n="classic_increment_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_insert_at_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_insert_key_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_intersection.hpp" o="root" g="wheel" p="33188"/><f n="classic_iterator.hpp" o="root" g="wheel" p="33188"/><f n="classic_kleene_star.hpp" o="root" g="wheel" p="33188"/><f n="classic_lazy.hpp" o="root" g="wheel" p="33188"/><f n="classic_list.hpp" o="root" g="wheel" p="33188"/><f n="classic_lists.hpp" o="root" g="wheel" p="33188"/><f n="classic_lists_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_loops.hpp" o="root" g="wheel" p="33188"/><f n="classic_match.hpp" o="root" g="wheel" p="33188"/><f n="classic_meta.hpp" o="root" g="wheel" p="33188"/><f n="classic_minimal.hpp" o="root" g="wheel" p="33188"/><f n="classic_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="classic_multi_pass_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_nil.hpp" o="root" g="wheel" p="33188"/><f n="classic_no_actions.hpp" o="root" g="wheel" p="33188"/><f n="classic_numerics.hpp" o="root" g="wheel" p="33188"/><f n="classic_numerics_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_operators.hpp" o="root" g="wheel" p="33188"/><f n="classic_optional.hpp" o="root" g="wheel" p="33188"/><f n="classic_parametric.hpp" o="root" g="wheel" p="33188"/><f n="classic_parse_tree.hpp" o="root" g="wheel" p="33188"/><f n="classic_parse_tree_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_parse_tree_utils.hpp" o="root" g="wheel" p="33188"/><f n="classic_parser.hpp" o="root" g="wheel" p="33188"/><f n="classic_parser_context.hpp" o="root" g="wheel" p="33188"/><f n="classic_parser_id.hpp" o="root" g="wheel" p="33188"/><f n="classic_parser_names.hpp" o="root" g="wheel" p="33188"/><f n="classic_parser_traits.hpp" o="root" g="wheel" p="33188"/><f n="classic_position_iterator.hpp" o="root" g="wheel" p="33188"/><f n="classic_position_iterator_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_positive.hpp" o="root" g="wheel" p="33188"/><f n="classic_primitives.hpp" o="root" g="wheel" p="33188"/><f n="classic_push_back_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_push_front_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_range_run.hpp" o="root" g="wheel" p="33188"/><f n="classic_ref_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_ref_const_ref_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_ref_const_ref_const_ref_a.hpp" o="root" g="wheel" p="33188"/><f n="classic_ref_const_ref_value_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_ref_value_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_refactoring.hpp" o="root" g="wheel" p="33188"/><f n="classic_regex.hpp" o="root" g="wheel" p="33188"/><f n="classic_rule.hpp" o="root" g="wheel" p="33188"/><f n="classic_rule_alias.hpp" o="root" g="wheel" p="33188"/><f n="classic_rule_parser.hpp" o="root" g="wheel" p="33188"/><f n="classic_safe_bool.hpp" o="root" g="wheel" p="33188"/><f n="classic_scanner.hpp" o="root" g="wheel" p="33188"/><f n="classic_scanner_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_scoped_lock.hpp" o="root" g="wheel" p="33188"/><f n="classic_select.hpp" o="root" g="wheel" p="33188"/><f n="classic_sequence.hpp" o="root" g="wheel" p="33188"/><f n="classic_sequential_and.hpp" o="root" g="wheel" p="33188"/><f n="classic_sequential_or.hpp" o="root" g="wheel" p="33188"/><f n="classic_skipper.hpp" o="root" g="wheel" p="33188"/><f n="classic_skipper_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_spirit.hpp" o="root" g="wheel" p="33188"/><f n="classic_static.hpp" o="root" g="wheel" p="33188"/><f n="classic_stored_rule.hpp" o="root" g="wheel" p="33188"/><f n="classic_stored_rule_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_subrule.hpp" o="root" g="wheel" p="33188"/><f n="classic_subrule_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_swap_actor.hpp" o="root" g="wheel" p="33188"/><f n="classic_switch.hpp" o="root" g="wheel" p="33188"/><f n="classic_symbols.hpp" o="root" g="wheel" p="33188"/><f n="classic_symbols_fwd.hpp" o="root" g="wheel" p="33188"/><f n="classic_traverse.hpp" o="root" g="wheel" p="33188"/><f n="classic_tree_to_xml.hpp" o="root" g="wheel" p="33188"/><f n="classic_typeof.hpp" o="root" g="wheel" p="33188"/><f n="classic_utility.hpp" o="root" g="wheel" p="33188"/><f n="classic_version.hpp" o="root" g="wheel" p="33188"/><f n="classic_while.hpp" o="root" g="wheel" p="33188"/><f n="karma.hpp" o="root" g="wheel" p="33188"/><f n="karma_action.hpp" o="root" g="wheel" p="33188"/><f n="karma_alternative.hpp" o="root" g="wheel" p="33188"/><f n="karma_and_predicate.hpp" o="root" g="wheel" p="33188"/><f n="karma_attr_cast.hpp" o="root" g="wheel" p="33188"/><f n="karma_auxiliary.hpp" o="root" g="wheel" p="33188"/><f n="karma_binary.hpp" o="root" g="wheel" p="33188"/><f n="karma_bool.hpp" o="root" g="wheel" p="33188"/><f n="karma_buffer.hpp" o="root" g="wheel" p="33188"/><f n="karma_center_alignment.hpp" o="root" g="wheel" p="33188"/><f n="karma_char.hpp" o="root" g="wheel" p="33188"/><f n="karma_char_.hpp" o="root" g="wheel" p="33188"/><f n="karma_char_class.hpp" o="root" g="wheel" p="33188"/><f n="karma_delimit.hpp" o="root" g="wheel" p="33188"/><f n="karma_directive.hpp" o="root" g="wheel" p="33188"/><f n="karma_domain.hpp" o="root" g="wheel" p="33188"/><f n="karma_eol.hpp" o="root" g="wheel" p="33188"/><f n="karma_eps.hpp" o="root" g="wheel" p="33188"/><f n="karma_format.hpp" o="root" g="wheel" p="33188"/><f n="karma_format_attr.hpp" o="root" g="wheel" p="33188"/><f n="karma_generate.hpp" o="root" g="wheel" p="33188"/><f n="karma_generate_attr.hpp" o="root" g="wheel" p="33188"/><f n="karma_grammar.hpp" o="root" g="wheel" p="33188"/><f n="karma_int.hpp" o="root" g="wheel" p="33188"/><f n="karma_kleene.hpp" o="root" g="wheel" p="33188"/><f n="karma_lazy.hpp" o="root" g="wheel" p="33188"/><f n="karma_left_alignment.hpp" o="root" g="wheel" p="33188"/><f n="karma_list.hpp" o="root" g="wheel" p="33188"/><f n="karma_maxwidth.hpp" o="root" g="wheel" p="33188"/><f n="karma_nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="karma_not_predicate.hpp" o="root" g="wheel" p="33188"/><f n="karma_numeric.hpp" o="root" g="wheel" p="33188"/><f n="karma_omit.hpp" o="root" g="wheel" p="33188"/><f n="karma_operator.hpp" o="root" g="wheel" p="33188"/><f n="karma_optional.hpp" o="root" g="wheel" p="33188"/><f n="karma_plus.hpp" o="root" g="wheel" p="33188"/><f n="karma_real.hpp" o="root" g="wheel" p="33188"/><f n="karma_repeat.hpp" o="root" g="wheel" p="33188"/><f n="karma_right_alignment.hpp" o="root" g="wheel" p="33188"/><f n="karma_rule.hpp" o="root" g="wheel" p="33188"/><f n="karma_sequence.hpp" o="root" g="wheel" p="33188"/><f n="karma_stream.hpp" o="root" g="wheel" p="33188"/><f n="karma_string.hpp" o="root" g="wheel" p="33188"/><f n="karma_uint.hpp" o="root" g="wheel" p="33188"/><f n="karma_upper_lower_case.hpp" o="root" g="wheel" p="33188"/><f n="karma_verbatim.hpp" o="root" g="wheel" p="33188"/><f n="karma_what.hpp" o="root" g="wheel" p="33188"/><f n="lex.hpp" o="root" g="wheel" p="33188"/><f n="lex_char_token_def.hpp" o="root" g="wheel" p="33188"/><f n="lex_domain.hpp" o="root" g="wheel" p="33188"/><f n="lex_generate_static_lexertl.hpp" o="root" g="wheel" p="33188"/><f n="lex_lexer.hpp" o="root" g="wheel" p="33188"/><f n="lex_lexertl.hpp" o="root" g="wheel" p="33188"/><f n="lex_primitives.hpp" o="root" g="wheel" p="33188"/><f n="lex_static_lexertl.hpp" o="root" g="wheel" p="33188"/><f n="lex_tokenize_and_parse.hpp" o="root" g="wheel" p="33188"/><f n="lex_tokenize_and_parse_attr.hpp" o="root" g="wheel" p="33188"/><f n="phoenix.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_actor.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_binders.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_casts.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_closures.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_composite.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_functions.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_new.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_operators.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_primitives.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_special_ops.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_statements.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_tuple_helpers.hpp" o="root" g="wheel" p="33188"/><f n="phoenix1_tuples.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_algorithm.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_bind.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_container.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_core.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_function.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_fusion.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_object.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_operator.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_scope.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_statement.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_stl.hpp" o="root" g="wheel" p="33188"/><f n="phoenix_version.hpp" o="root" g="wheel" p="33188"/><f n="qi.hpp" o="root" g="wheel" p="33188"/><f n="qi_action.hpp" o="root" g="wheel" p="33188"/><f n="qi_alternative.hpp" o="root" g="wheel" p="33188"/><f n="qi_and_predicate.hpp" o="root" g="wheel" p="33188"/><f n="qi_attr.hpp" o="root" g="wheel" p="33188"/><f n="qi_attr_cast.hpp" o="root" g="wheel" p="33188"/><f n="qi_auxiliary.hpp" o="root" g="wheel" p="33188"/><f n="qi_binary.hpp" o="root" g="wheel" p="33188"/><f n="qi_bool.hpp" o="root" g="wheel" p="33188"/><f n="qi_char.hpp" o="root" g="wheel" p="33188"/><f n="qi_char_.hpp" o="root" g="wheel" p="33188"/><f n="qi_char_class.hpp" o="root" g="wheel" p="33188"/><f n="qi_core.hpp" o="root" g="wheel" p="33188"/><f n="qi_difference.hpp" o="root" g="wheel" p="33188"/><f n="qi_directive.hpp" o="root" g="wheel" p="33188"/><f n="qi_domain.hpp" o="root" g="wheel" p="33188"/><f n="qi_eoi.hpp" o="root" g="wheel" p="33188"/><f n="qi_eol.hpp" o="root" g="wheel" p="33188"/><f n="qi_eps.hpp" o="root" g="wheel" p="33188"/><f n="qi_expect.hpp" o="root" g="wheel" p="33188"/><f n="qi_grammar.hpp" o="root" g="wheel" p="33188"/><f n="qi_int.hpp" o="root" g="wheel" p="33188"/><f n="qi_kleene.hpp" o="root" g="wheel" p="33188"/><f n="qi_lazy.hpp" o="root" g="wheel" p="33188"/><f n="qi_lexeme.hpp" o="root" g="wheel" p="33188"/><f n="qi_list.hpp" o="root" g="wheel" p="33188"/><f n="qi_lit.hpp" o="root" g="wheel" p="33188"/><f n="qi_match.hpp" o="root" g="wheel" p="33188"/><f n="qi_match_attr.hpp" o="root" g="wheel" p="33188"/><f n="qi_no_case.hpp" o="root" g="wheel" p="33188"/><f n="qi_nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="qi_not_predicate.hpp" o="root" g="wheel" p="33188"/><f n="qi_numeric.hpp" o="root" g="wheel" p="33188"/><f n="qi_omit.hpp" o="root" g="wheel" p="33188"/><f n="qi_operator.hpp" o="root" g="wheel" p="33188"/><f n="qi_optional.hpp" o="root" g="wheel" p="33188"/><f n="qi_parse.hpp" o="root" g="wheel" p="33188"/><f n="qi_parse_attr.hpp" o="root" g="wheel" p="33188"/><f n="qi_permutation.hpp" o="root" g="wheel" p="33188"/><f n="qi_plus.hpp" o="root" g="wheel" p="33188"/><f n="qi_raw.hpp" o="root" g="wheel" p="33188"/><f n="qi_real.hpp" o="root" g="wheel" p="33188"/><f n="qi_repeat.hpp" o="root" g="wheel" p="33188"/><f n="qi_rule.hpp" o="root" g="wheel" p="33188"/><f n="qi_sequence.hpp" o="root" g="wheel" p="33188"/><f n="qi_sequential_or.hpp" o="root" g="wheel" p="33188"/><f n="qi_skip.hpp" o="root" g="wheel" p="33188"/><f n="qi_stream.hpp" o="root" g="wheel" p="33188"/><f n="qi_string.hpp" o="root" g="wheel" p="33188"/><f n="qi_symbols.hpp" o="root" g="wheel" p="33188"/><f n="qi_uint.hpp" o="root" g="wheel" p="33188"/><f n="qi_what.hpp" o="root" g="wheel" p="33188"/><f n="support.hpp" o="root" g="wheel" p="33188"/><f n="support_any.hpp" o="root" g="wheel" p="33188"/><f n="support_any_if.hpp" o="root" g="wheel" p="33188"/><f n="support_any_if_ns.hpp" o="root" g="wheel" p="33188"/><f n="support_any_ns.hpp" o="root" g="wheel" p="33188"/><f n="support_argument.hpp" o="root" g="wheel" p="33188"/><f n="support_ascii.hpp" o="root" g="wheel" p="33188"/><f n="support_attributes.hpp" o="root" g="wheel" p="33188"/><f n="support_char_class.hpp" o="root" g="wheel" p="33188"/><f n="support_iso8859_1.hpp" o="root" g="wheel" p="33188"/><f n="support_locals.hpp" o="root" g="wheel" p="33188"/><f n="support_look_ahead.hpp" o="root" g="wheel" p="33188"/><f n="support_modify.hpp" o="root" g="wheel" p="33188"/><f n="support_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="support_multi_pass_fwd.hpp" o="root" g="wheel" p="33188"/><f n="support_standard.hpp" o="root" g="wheel" p="33188"/><f n="support_standard_wide.hpp" o="root" g="wheel" p="33188"/><f n="support_string_traits.hpp" o="root" g="wheel" p="33188"/><f n="support_unused.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator" o="root" g="wheel" p="16877"><f n="file_iterator.hpp" o="root" g="wheel" p="33188"/><f n="file_iterator_fwd.hpp" o="root" g="wheel" p="33188"/><f n="fixed_size_queue.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="multi_pass_fwd.hpp" o="root" g="wheel" p="33188"/><f n="position_iterator.hpp" o="root" g="wheel" p="33188"/><f n="position_iterator_fwd.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="meta" o="root" g="wheel" p="16877"><f n="as_parser.hpp" o="root" g="wheel" p="33188"/><f n="fundamental.hpp" o="root" g="wheel" p="33188"/><f n="parser_traits.hpp" o="root" g="wheel" p="33188"/><f n="refactoring.hpp" o="root" g="wheel" p="33188"/><f n="traverse.hpp" o="root" g="wheel" p="33188"/></f><f n="meta.hpp" o="root" g="wheel" p="33188"/><f n="phoenix" o="root" g="wheel" p="16877"><f n="actor.hpp" o="root" g="wheel" p="33188"/><f n="binders.hpp" o="root" g="wheel" p="33188"/><f n="casts.hpp" o="root" g="wheel" p="33188"/><f n="closures.hpp" o="root" g="wheel" p="33188"/><f n="composite.hpp" o="root" g="wheel" p="33188"/><f n="functions.hpp" o="root" g="wheel" p="33188"/><f n="new.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="primitives.hpp" o="root" g="wheel" p="33188"/><f n="special_ops.hpp" o="root" g="wheel" p="33188"/><f n="statements.hpp" o="root" g="wheel" p="33188"/><f n="tuple_helpers.hpp" o="root" g="wheel" p="33188"/><f n="tuples.hpp" o="root" g="wheel" p="33188"/></f><f n="phoenix.hpp" o="root" g="wheel" p="33188"/><f n="repository" o="root" g="wheel" p="16877"><f n="home" o="root" g="wheel" p="16877"><f n="karma" o="root" g="wheel" p="16877"><f n="directive" o="root" g="wheel" p="16877"><f n="confix.hpp" o="root" g="wheel" p="33188"/></f><f n="directive.hpp" o="root" g="wheel" p="33188"/><f n="nonterminal" o="root" g="wheel" p="16877"><f n="subrule.hpp" o="root" g="wheel" p="33188"/></f><f n="nonterminal.hpp" o="root" g="wheel" p="33188"/></f><f n="karma.hpp" o="root" g="wheel" p="33188"/><f n="qi" o="root" g="wheel" p="16877"><f n="directive" o="root" g="wheel" p="16877"><f n="confix.hpp" o="root" g="wheel" p="33188"/><f n="distinct.hpp" o="root" g="wheel" p="33188"/></f><f n="directive.hpp" o="root" g="wheel" p="33188"/><f n="nonterminal" o="root" g="wheel" p="16877"><f n="subrule.hpp" o="root" g="wheel" p="33188"/></f><f n="nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="primitive" o="root" g="wheel" p="16877"><f n="flush_multi_pass.hpp" o="root" g="wheel" p="33188"/></f><f n="primitive.hpp" o="root" g="wheel" p="33188"/></f><f n="qi.hpp" o="root" g="wheel" p="33188"/><f n="support" o="root" g="wheel" p="16877"><f n="confix.hpp" o="root" g="wheel" p="33188"/><f n="distinct.hpp" o="root" g="wheel" p="33188"/><f n="flush_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="subrule_context.hpp" o="root" g="wheel" p="33188"/></f></f><f n="include" o="root" g="wheel" p="16877"><f n="karma.hpp" o="root" g="wheel" p="33188"/><f n="karma_confix.hpp" o="root" g="wheel" p="33188"/><f n="karma_directive.hpp" o="root" g="wheel" p="33188"/><f n="karma_nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="karma_subrule.hpp" o="root" g="wheel" p="33188"/><f n="qi.hpp" o="root" g="wheel" p="33188"/><f n="qi_confix.hpp" o="root" g="wheel" p="33188"/><f n="qi_directive.hpp" o="root" g="wheel" p="33188"/><f n="qi_distinct.hpp" o="root" g="wheel" p="33188"/><f n="qi_flush_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="qi_nonterminal.hpp" o="root" g="wheel" p="33188"/><f n="qi_primitive.hpp" o="root" g="wheel" p="33188"/><f n="qi_subrule.hpp" o="root" g="wheel" p="33188"/></f></f><f n="symbols" o="root" g="wheel" p="16877"><f n="symbols.hpp" o="root" g="wheel" p="33188"/><f n="symbols_fwd.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="symbols.hpp" o="root" g="wheel" p="33188"/><f n="tree" o="root" g="wheel" p="16877"><f n="ast.hpp" o="root" g="wheel" p="33188"/><f n="ast_fwd.hpp" o="root" g="wheel" p="33188"/><f n="common.hpp" o="root" g="wheel" p="33188"/><f n="common_fwd.hpp" o="root" g="wheel" p="33188"/><f n="parse_tree.hpp" o="root" g="wheel" p="33188"/><f n="parse_tree_fwd.hpp" o="root" g="wheel" p="33188"/><f n="parse_tree_utils.hpp" o="root" g="wheel" p="33188"/><f n="parsetree.dtd" o="root" g="wheel" p="33188"/><f n="tree_to_xml.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="utility" o="root" g="wheel" p="16877"><f n="chset.hpp" o="root" g="wheel" p="33188"/><f n="chset_operators.hpp" o="root" g="wheel" p="33188"/><f n="confix.hpp" o="root" g="wheel" p="33188"/><f n="confix_fwd.hpp" o="root" g="wheel" p="33188"/><f n="distinct.hpp" o="root" g="wheel" p="33188"/><f n="distinct_fwd.hpp" o="root" g="wheel" p="33188"/><f n="escape_char.hpp" o="root" g="wheel" p="33188"/><f n="escape_char_fwd.hpp" o="root" g="wheel" p="33188"/><f n="flush_multi_pass.hpp" o="root" g="wheel" p="33188"/><f n="functor_parser.hpp" o="root" g="wheel" p="33188"/><f n="grammar_def.hpp" o="root" g="wheel" p="33188"/><f n="grammar_def_fwd.hpp" o="root" g="wheel" p="33188"/><f n="lists.hpp" o="root" g="wheel" p="33188"/><f n="lists_fwd.hpp" o="root" g="wheel" p="33188"/><f n="loops.hpp" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="rule_parser.hpp" o="root" g="wheel" p="33188"/><f n="scoped_lock.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="utility.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/></f><f n="spirit.hpp" o="root" g="wheel" p="33188"/><f n="statechart" o="root" g="wheel" p="16877"><f n="asynchronous_state_machine.hpp" o="root" g="wheel" p="33188"/><f n="custom_reaction.hpp" o="root" g="wheel" p="33188"/><f n="deep_history.hpp" o="root" g="wheel" p="33188"/><f n="deferral.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="avoid_unused_warning.hpp" o="root" g="wheel" p="33188"/><f n="constructor.hpp" o="root" g="wheel" p="33188"/><f n="counted_base.hpp" o="root" g="wheel" p="33188"/><f n="leaf_state.hpp" o="root" g="wheel" p="33188"/><f n="memory.hpp" o="root" g="wheel" p="33188"/><f n="node_state.hpp" o="root" g="wheel" p="33188"/><f n="reaction_dispatcher.hpp" o="root" g="wheel" p="33188"/><f n="rtti_policy.hpp" o="root" g="wheel" p="33188"/><f n="state_base.hpp" o="root" g="wheel" p="33188"/></f><f n="event.hpp" o="root" g="wheel" p="33188"/><f n="event_base.hpp" o="root" g="wheel" p="33188"/><f n="event_processor.hpp" o="root" g="wheel" p="33188"/><f n="exception_translator.hpp" o="root" g="wheel" p="33188"/><f n="fifo_scheduler.hpp" o="root" g="wheel" p="33188"/><f n="fifo_worker.hpp" o="root" g="wheel" p="33188"/><f n="history.hpp" o="root" g="wheel" p="33188"/><f n="in_state_reaction.hpp" o="root" g="wheel" p="33188"/><f n="null_exception_translator.hpp" o="root" g="wheel" p="33188"/><f n="processor_container.hpp" o="root" g="wheel" p="33188"/><f n="result.hpp" o="root" g="wheel" p="33188"/><f n="shallow_history.hpp" o="root" g="wheel" p="33188"/><f n="simple_state.hpp" o="root" g="wheel" p="33188"/><f n="state.hpp" o="root" g="wheel" p="33188"/><f n="state_machine.hpp" o="root" g="wheel" p="33188"/><f n="termination.hpp" o="root" g="wheel" p="33188"/><f n="transition.hpp" o="root" g="wheel" p="33188"/></f><f n="static_assert.hpp" o="root" g="wheel" p="33188"/><f n="strong_typedef.hpp" o="root" g="wheel" p="33188"/><f n="swap.hpp" o="root" g="wheel" p="33188"/><f n="system" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="cygwin_error.hpp" o="root" g="wheel" p="33188"/><f n="error_code.hpp" o="root" g="wheel" p="33188"/><f n="linux_error.hpp" o="root" g="wheel" p="33188"/><f n="system_error.hpp" o="root" g="wheel" p="33188"/><f n="windows_error.hpp" o="root" g="wheel" p="33188"/></f><f n="test" o="root" g="wheel" p="16877"><f n="auto_unit_test.hpp" o="root" g="wheel" p="33188"/><f n="debug.hpp" o="root" g="wheel" p="33188"/><f n="debug_config.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="enable_warnings.hpp" o="root" g="wheel" p="33188"/><f n="fwd_decl.hpp" o="root" g="wheel" p="33188"/><f n="global_typedef.hpp" o="root" g="wheel" p="33188"/><f n="log_level.hpp" o="root" g="wheel" p="33188"/><f n="suppress_warnings.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_parameters.hpp" o="root" g="wheel" p="33188"/><f n="workaround.hpp" o="root" g="wheel" p="33188"/></f><f n="exception_safety.hpp" o="root" g="wheel" p="33188"/><f n="execution_monitor.hpp" o="root" g="wheel" p="33188"/><f n="floating_point_comparison.hpp" o="root" g="wheel" p="33188"/><f n="framework.hpp" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="compiler_log_formatter.ipp" o="root" g="wheel" p="33188"/><f n="cpp_main.ipp" o="root" g="wheel" p="33188"/><f n="debug.ipp" o="root" g="wheel" p="33188"/><f n="exception_safety.ipp" o="root" g="wheel" p="33188"/><f n="execution_monitor.ipp" o="root" g="wheel" p="33188"/><f n="framework.ipp" o="root" g="wheel" p="33188"/><f n="interaction_based.ipp" o="root" g="wheel" p="33188"/><f n="logged_expectations.ipp" o="root" g="wheel" p="33188"/><f n="plain_report_formatter.ipp" o="root" g="wheel" p="33188"/><f n="progress_monitor.ipp" o="root" g="wheel" p="33188"/><f n="results_collector.ipp" o="root" g="wheel" p="33188"/><f n="results_reporter.ipp" o="root" g="wheel" p="33188"/><f n="test_main.ipp" o="root" g="wheel" p="33188"/><f n="test_tools.ipp" o="root" g="wheel" p="33188"/><f n="unit_test_log.ipp" o="root" g="wheel" p="33188"/><f n="unit_test_main.ipp" o="root" g="wheel" p="33188"/><f n="unit_test_monitor.ipp" o="root" g="wheel" p="33188"/><f n="unit_test_parameters.ipp" o="root" g="wheel" p="33188"/><f n="unit_test_suite.ipp" o="root" g="wheel" p="33188"/><f n="xml_log_formatter.ipp" o="root" g="wheel" p="33188"/><f n="xml_report_formatter.ipp" o="root" g="wheel" p="33188"/></f><f n="included" o="root" g="wheel" p="16877"><f n="prg_exec_monitor.hpp" o="root" g="wheel" p="33188"/><f n="test_exec_monitor.hpp" o="root" g="wheel" p="33188"/><f n="unit_test.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_framework.hpp" o="root" g="wheel" p="33188"/></f><f n="interaction_based.hpp" o="root" g="wheel" p="33188"/><f n="logged_expectations.hpp" o="root" g="wheel" p="33188"/><f n="minimal.hpp" o="root" g="wheel" p="33188"/><f n="mock_object.hpp" o="root" g="wheel" p="33188"/><f n="output" o="root" g="wheel" p="16877"><f n="compiler_log_formatter.hpp" o="root" g="wheel" p="33188"/><f n="plain_report_formatter.hpp" o="root" g="wheel" p="33188"/><f n="xml_log_formatter.hpp" o="root" g="wheel" p="33188"/><f n="xml_report_formatter.hpp" o="root" g="wheel" p="33188"/></f><f n="output_test_stream.hpp" o="root" g="wheel" p="33188"/><f n="parameterized_test.hpp" o="root" g="wheel" p="33188"/><f n="predicate_result.hpp" o="root" g="wheel" p="33188"/><f n="prg_exec_monitor.hpp" o="root" g="wheel" p="33188"/><f n="progress_monitor.hpp" o="root" g="wheel" p="33188"/><f n="results_collector.hpp" o="root" g="wheel" p="33188"/><f n="results_reporter.hpp" o="root" g="wheel" p="33188"/><f n="test_case_template.hpp" o="root" g="wheel" p="33188"/><f n="test_exec_monitor.hpp" o="root" g="wheel" p="33188"/><f n="test_observer.hpp" o="root" g="wheel" p="33188"/><f n="test_tools.hpp" o="root" g="wheel" p="33188"/><f n="unit_test.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_log.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_log_formatter.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_monitor.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_suite.hpp" o="root" g="wheel" p="33188"/><f n="unit_test_suite_impl.hpp" o="root" g="wheel" p="33188"/><f n="utils" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="assign_op.hpp" o="root" g="wheel" p="33188"/><f n="basic_cstring" o="root" g="wheel" p="16877"><f n="basic_cstring.hpp" o="root" g="wheel" p="33188"/><f n="basic_cstring_fwd.hpp" o="root" g="wheel" p="33188"/><f n="bcs_char_traits.hpp" o="root" g="wheel" p="33188"/><f n="compare.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/></f><f n="callback.hpp" o="root" g="wheel" p="33188"/><f n="class_properties.hpp" o="root" g="wheel" p="33188"/><f n="custom_manip.hpp" o="root" g="wheel" p="33188"/><f n="fixed_mapping.hpp" o="root" g="wheel" p="33188"/><f n="foreach.hpp" o="root" g="wheel" p="33188"/><f n="iterator" o="root" g="wheel" p="16877"><f n="ifstream_line_iterator.hpp" o="root" g="wheel" p="33188"/><f n="input_iterator_facade.hpp" o="root" g="wheel" p="33188"/><f n="istream_line_iterator.hpp" o="root" g="wheel" p="33188"/><f n="token_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="lazy_ostream.hpp" o="root" g="wheel" p="33188"/><f n="named_params.hpp" o="root" g="wheel" p="33188"/><f n="nullstream.hpp" o="root" g="wheel" p="33188"/><f n="rtti.hpp" o="root" g="wheel" p="33188"/><f n="runtime" o="root" g="wheel" p="16877"><f n="argument.hpp" o="root" g="wheel" p="33188"/><f n="cla" o="root" g="wheel" p="16877"><f n="argument_factory.hpp" o="root" g="wheel" p="33188"/><f n="argv_traverser.cpp" o="root" g="wheel" p="33188"/><f n="argv_traverser.hpp" o="root" g="wheel" p="33188"/><f n="argv_traverser.ipp" o="root" g="wheel" p="33188"/><f n="basic_parameter.hpp" o="root" g="wheel" p="33188"/><f n="char_parameter.cpp" o="root" g="wheel" p="33188"/><f n="char_parameter.hpp" o="root" g="wheel" p="33188"/><f n="char_parameter.ipp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="argument_value_usage.hpp" o="root" g="wheel" p="33188"/></f><f n="dual_name_parameter.cpp" o="root" g="wheel" p="33188"/><f n="dual_name_parameter.hpp" o="root" g="wheel" p="33188"/><f n="dual_name_parameter.ipp" o="root" g="wheel" p="33188"/><f n="fwd.hpp" o="root" g="wheel" p="33188"/><f n="id_policy.cpp" o="root" g="wheel" p="33188"/><f n="id_policy.hpp" o="root" g="wheel" p="33188"/><f n="id_policy.ipp" o="root" g="wheel" p="33188"/><f n="iface" o="root" g="wheel" p="16877"><f n="argument_factory.hpp" o="root" g="wheel" p="33188"/><f n="id_policy.hpp" o="root" g="wheel" p="33188"/></f><f n="modifier.hpp" o="root" g="wheel" p="33188"/><f n="named_parameter.cpp" o="root" g="wheel" p="33188"/><f n="named_parameter.hpp" o="root" g="wheel" p="33188"/><f n="named_parameter.ipp" o="root" g="wheel" p="33188"/><f n="parameter.hpp" o="root" g="wheel" p="33188"/><f n="parser.cpp" o="root" g="wheel" p="33188"/><f n="parser.hpp" o="root" g="wheel" p="33188"/><f n="parser.ipp" o="root" g="wheel" p="33188"/><f n="positional_parameter.hpp" o="root" g="wheel" p="33188"/><f n="typed_parameter.hpp" o="root" g="wheel" p="33188"/><f n="validation.cpp" o="root" g="wheel" p="33188"/><f n="validation.hpp" o="root" g="wheel" p="33188"/><f n="validation.ipp" o="root" g="wheel" p="33188"/><f n="value_generator.hpp" o="root" g="wheel" p="33188"/><f n="value_handler.hpp" o="root" g="wheel" p="33188"/></f><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="configuration.hpp" o="root" g="wheel" p="33188"/><f n="env" o="root" g="wheel" p="16877"><f n="environment.cpp" o="root" g="wheel" p="33188"/><f n="environment.hpp" o="root" g="wheel" p="33188"/><f n="environment.ipp" o="root" g="wheel" p="33188"/><f n="fwd.hpp" o="root" g="wheel" p="33188"/><f n="modifier.hpp" o="root" g="wheel" p="33188"/><f n="variable.hpp" o="root" g="wheel" p="33188"/></f><f n="file" o="root" g="wheel" p="16877"><f n="config_file.cpp" o="root" g="wheel" p="33188"/><f n="config_file.hpp" o="root" g="wheel" p="33188"/><f n="config_file_iterator.cpp" o="root" g="wheel" p="33188"/><f n="config_file_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="fwd.hpp" o="root" g="wheel" p="33188"/><f n="interpret_argument_value.hpp" o="root" g="wheel" p="33188"/><f n="parameter.hpp" o="root" g="wheel" p="33188"/><f n="trace.hpp" o="root" g="wheel" p="33188"/><f n="validation.hpp" o="root" g="wheel" p="33188"/></f><f n="trivial_singleton.hpp" o="root" g="wheel" p="33188"/><f n="wrap_stringstream.hpp" o="root" g="wheel" p="33188"/><f n="xml_printer.hpp" o="root" g="wheel" p="33188"/></f></f><f n="thread" o="root" g="wheel" p="16877"><f n="barrier.hpp" o="root" g="wheel" p="33188"/><f n="condition.hpp" o="root" g="wheel" p="33188"/><f n="condition_variable.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="force_cast.hpp" o="root" g="wheel" p="33188"/><f n="move.hpp" o="root" g="wheel" p="33188"/><f n="platform.hpp" o="root" g="wheel" p="33188"/><f n="singleton.hpp" o="root" g="wheel" p="33188"/><f n="thread.hpp" o="root" g="wheel" p="33188"/><f n="thread_group.hpp" o="root" g="wheel" p="33188"/><f n="thread_heap_alloc.hpp" o="root" g="wheel" p="33188"/><f n="thread_interruption.hpp" o="root" g="wheel" p="33188"/><f n="tss_hooks.hpp" o="root" g="wheel" p="33188"/></f><f n="exceptions.hpp" o="root" g="wheel" p="33188"/><f n="future.hpp" o="root" g="wheel" p="33188"/><f n="locks.hpp" o="root" g="wheel" p="33188"/><f n="mutex.hpp" o="root" g="wheel" p="33188"/><f n="once.hpp" o="root" g="wheel" p="33188"/><f n="pthread" o="root" g="wheel" p="16877"><f n="condition_variable.hpp" o="root" g="wheel" p="33188"/><f n="condition_variable_fwd.hpp" o="root" g="wheel" p="33188"/><f n="mutex.hpp" o="root" g="wheel" p="33188"/><f n="once.hpp" o="root" g="wheel" p="33188"/><f n="pthread_mutex_scoped_lock.hpp" o="root" g="wheel" p="33188"/><f n="recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="shared_mutex.hpp" o="root" g="wheel" p="33188"/><f n="thread_data.hpp" o="root" g="wheel" p="33188"/><f n="thread_heap_alloc.hpp" o="root" g="wheel" p="33188"/><f n="timespec.hpp" o="root" g="wheel" p="33188"/></f><f n="recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="shared_mutex.hpp" o="root" g="wheel" p="33188"/><f n="thread.hpp" o="root" g="wheel" p="33188"/><f n="thread_time.hpp" o="root" g="wheel" p="33188"/><f n="tss.hpp" o="root" g="wheel" p="33188"/><f n="win32" o="root" g="wheel" p="16877"><f n="basic_recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="basic_timed_mutex.hpp" o="root" g="wheel" p="33188"/><f n="condition_variable.hpp" o="root" g="wheel" p="33188"/><f n="interlocked_read.hpp" o="root" g="wheel" p="33188"/><f n="mutex.hpp" o="root" g="wheel" p="33188"/><f n="once.hpp" o="root" g="wheel" p="33188"/><f n="recursive_mutex.hpp" o="root" g="wheel" p="33188"/><f n="shared_mutex.hpp" o="root" g="wheel" p="33188"/><f n="thread_data.hpp" o="root" g="wheel" p="33188"/><f n="thread_heap_alloc.hpp" o="root" g="wheel" p="33188"/><f n="thread_primitives.hpp" o="root" g="wheel" p="33188"/></f><f n="xtime.hpp" o="root" g="wheel" p="33188"/></f><f n="thread.hpp" o="root" g="wheel" p="33188"/><f n="throw_exception.hpp" o="root" g="wheel" p="33188"/><f n="timer.hpp" o="root" g="wheel" p="33188"/><f n="token_functions.hpp" o="root" g="wheel" p="33188"/><f n="token_iterator.hpp" o="root" g="wheel" p="33188"/><f n="tokenizer.hpp" o="root" g="wheel" p="33188"/><f n="tr1" o="root" g="wheel" p="16877"><f n="array.hpp" o="root" g="wheel" p="33188"/><f n="cmath.hpp" o="root" g="wheel" p="33188"/><f n="complex.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="config_all.hpp" o="root" g="wheel" p="33188"/><f n="functor2iterator.hpp" o="root" g="wheel" p="33188"/><f n="math_overloads.hpp" o="root" g="wheel" p="33188"/></f><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="memory.hpp" o="root" g="wheel" p="33188"/><f n="random.hpp" o="root" g="wheel" p="33188"/><f n="regex.hpp" o="root" g="wheel" p="33188"/><f n="tr1" o="root" g="wheel" p="16877"><f n="algorithm" o="root" g="wheel" p="33188"/><f n="array" o="root" g="wheel" p="33188"/><f n="bcc32" o="root" g="wheel" p="16877"><f n="array.h" o="root" g="wheel" p="33188"/><f n="random.h" o="root" g="wheel" p="33188"/><f n="regex.h" o="root" g="wheel" p="33188"/><f n="tuple.h" o="root" g="wheel" p="33188"/><f n="type_tra.h" o="root" g="wheel" p="33188"/><f n="unordere.h" o="root" g="wheel" p="33188"/></f><f n="bitset" o="root" g="wheel" p="33188"/><f n="cmath" o="root" g="wheel" p="33188"/><f n="complex" o="root" g="wheel" p="33188"/><f n="deque" o="root" g="wheel" p="33188"/><f n="exception" o="root" g="wheel" p="33188"/><f n="fstream" o="root" g="wheel" p="33188"/><f n="functional" o="root" g="wheel" p="33188"/><f n="iomanip" o="root" g="wheel" p="33188"/><f n="ios" o="root" g="wheel" p="33188"/><f n="iostream" o="root" g="wheel" p="33188"/><f n="istream" o="root" g="wheel" p="33188"/><f n="iterator" o="root" g="wheel" p="33188"/><f n="limits" o="root" g="wheel" p="33188"/><f n="list" o="root" g="wheel" p="33188"/><f n="locale" o="root" g="wheel" p="33188"/><f n="map" o="root" g="wheel" p="33188"/><f n="memory" o="root" g="wheel" p="33188"/><f n="new" o="root" g="wheel" p="33188"/><f n="numeric" o="root" g="wheel" p="33188"/><f n="ostream" o="root" g="wheel" p="33188"/><f n="queue" o="root" g="wheel" p="33188"/><f n="random" o="root" g="wheel" p="33188"/><f n="regex" o="root" g="wheel" p="33188"/><f n="set" o="root" g="wheel" p="33188"/><f n="sstream" o="root" g="wheel" p="33188"/><f n="stack" o="root" g="wheel" p="33188"/><f n="stdexcept" o="root" g="wheel" p="33188"/><f n="streambuf" o="root" g="wheel" p="33188"/><f n="string" o="root" g="wheel" p="33188"/><f n="strstream" o="root" g="wheel" p="33188"/><f n="sun" o="root" g="wheel" p="16877"><f n="algorithm.SUNWCCh" o="root" g="wheel" p="33188"/><f n="array.SUNWCCh" o="root" g="wheel" p="33188"/><f n="bcc32.SUNWCCh" o="root" g="wheel" p="33188"/><f n="bitset.SUNWCCh" o="root" g="wheel" p="33188"/><f n="cmath.SUNWCCh" o="root" g="wheel" p="33188"/><f n="complex.SUNWCCh" o="root" g="wheel" p="33188"/><f n="deque.SUNWCCh" o="root" g="wheel" p="33188"/><f n="exception.SUNWCCh" o="root" g="wheel" p="33188"/><f n="fstream.SUNWCCh" o="root" g="wheel" p="33188"/><f n="functional.SUNWCCh" o="root" g="wheel" p="33188"/><f n="iomanip.SUNWCCh" o="root" g="wheel" p="33188"/><f n="ios.SUNWCCh" o="root" g="wheel" p="33188"/><f n="iostream.SUNWCCh" o="root" g="wheel" p="33188"/><f n="istream.SUNWCCh" o="root" g="wheel" p="33188"/><f n="iterator.SUNWCCh" o="root" g="wheel" p="33188"/><f n="limits.SUNWCCh" o="root" g="wheel" p="33188"/><f n="list.SUNWCCh" o="root" g="wheel" p="33188"/><f n="locale.SUNWCCh" o="root" g="wheel" p="33188"/><f n="map.SUNWCCh" o="root" g="wheel" p="33188"/><f n="memory.SUNWCCh" o="root" g="wheel" p="33188"/><f n="new.SUNWCCh" o="root" g="wheel" p="33188"/><f n="numeric.SUNWCCh" o="root" g="wheel" p="33188"/><f n="ostream.SUNWCCh" o="root" g="wheel" p="33188"/><f n="queue.SUNWCCh" o="root" g="wheel" p="33188"/><f n="random.SUNWCCh" o="root" g="wheel" p="33188"/><f n="regex.SUNWCCh" o="root" g="wheel" p="33188"/><f n="set.SUNWCCh" o="root" g="wheel" p="33188"/><f n="sstream.SUNWCCh" o="root" g="wheel" p="33188"/><f n="stack.SUNWCCh" o="root" g="wheel" p="33188"/><f n="stdexcept.SUNWCCh" o="root" g="wheel" p="33188"/><f n="streambuf.SUNWCCh" o="root" g="wheel" p="33188"/><f n="string.SUNWCCh" o="root" g="wheel" p="33188"/><f n="strstream.SUNWCCh" o="root" g="wheel" p="33188"/><f n="sun.SUNWCCh" o="root" g="wheel" p="33188"/><f n="tuple.SUNWCCh" o="root" g="wheel" p="33188"/><f n="type_traits.SUNWCCh" o="root" g="wheel" p="33188"/><f n="typeinfo.SUNWCCh" o="root" g="wheel" p="33188"/><f n="unordered_map.SUNWCCh" o="root" g="wheel" p="33188"/><f n="unordered_set.SUNWCCh" o="root" g="wheel" p="33188"/><f n="utility.SUNWCCh" o="root" g="wheel" p="33188"/><f n="valarray.SUNWCCh" o="root" g="wheel" p="33188"/><f n="vector.SUNWCCh" o="root" g="wheel" p="33188"/></f><f n="tuple" o="root" g="wheel" p="33188"/><f n="type_traits" o="root" g="wheel" p="33188"/><f n="typeinfo" o="root" g="wheel" p="33188"/><f n="unordered_map" o="root" g="wheel" p="33188"/><f n="unordered_set" o="root" g="wheel" p="33188"/><f n="utility" o="root" g="wheel" p="33188"/><f n="valarray" o="root" g="wheel" p="33188"/><f n="vector" o="root" g="wheel" p="33188"/></f><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="type_traits.hpp" o="root" g="wheel" p="33188"/><f n="unordered_map.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set.hpp" o="root" g="wheel" p="33188"/><f n="utility.hpp" o="root" g="wheel" p="33188"/></f><f n="tuple" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="tuple_basic.hpp" o="root" g="wheel" p="33188"/><f n="tuple_basic_no_partial_spec.hpp" o="root" g="wheel" p="33188"/></f><f n="tuple.hpp" o="root" g="wheel" p="33188"/><f n="tuple_comparison.hpp" o="root" g="wheel" p="33188"/><f n="tuple_io.hpp" o="root" g="wheel" p="33188"/></f><f n="type.hpp" o="root" g="wheel" p="33188"/><f n="type_traits" o="root" g="wheel" p="16877"><f n="add_const.hpp" o="root" g="wheel" p="33188"/><f n="add_cv.hpp" o="root" g="wheel" p="33188"/><f n="add_pointer.hpp" o="root" g="wheel" p="33188"/><f n="add_reference.hpp" o="root" g="wheel" p="33188"/><f n="add_volatile.hpp" o="root" g="wheel" p="33188"/><f n="aligned_storage.hpp" o="root" g="wheel" p="33188"/><f n="alignment_of.hpp" o="root" g="wheel" p="33188"/><f n="alignment_traits.hpp" o="root" g="wheel" p="33188"/><f n="arithmetic_traits.hpp" o="root" g="wheel" p="33188"/><f n="array_traits.hpp" o="root" g="wheel" p="33188"/><f n="broken_compiler_spec.hpp" o="root" g="wheel" p="33188"/><f n="composite_traits.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="conversion_traits.hpp" o="root" g="wheel" p="33188"/><f n="cv_traits.hpp" o="root" g="wheel" p="33188"/><f n="decay.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="bool_trait_def.hpp" o="root" g="wheel" p="33188"/><f n="bool_trait_undef.hpp" o="root" g="wheel" p="33188"/><f n="cv_traits_impl.hpp" o="root" g="wheel" p="33188"/><f n="false_result.hpp" o="root" g="wheel" p="33188"/><f n="ice_and.hpp" o="root" g="wheel" p="33188"/><f n="ice_eq.hpp" o="root" g="wheel" p="33188"/><f n="ice_not.hpp" o="root" g="wheel" p="33188"/><f n="ice_or.hpp" o="root" g="wheel" p="33188"/><f n="is_function_ptr_helper.hpp" o="root" g="wheel" p="33188"/><f n="is_function_ptr_tester.hpp" o="root" g="wheel" p="33188"/><f n="is_mem_fun_pointer_impl.hpp" o="root" g="wheel" p="33188"/><f n="is_mem_fun_pointer_tester.hpp" o="root" g="wheel" p="33188"/><f n="size_t_trait_def.hpp" o="root" g="wheel" p="33188"/><f n="size_t_trait_undef.hpp" o="root" g="wheel" p="33188"/><f n="template_arity_spec.hpp" o="root" g="wheel" p="33188"/><f n="type_trait_def.hpp" o="root" g="wheel" p="33188"/><f n="type_trait_undef.hpp" o="root" g="wheel" p="33188"/><f n="wrap.hpp" o="root" g="wheel" p="33188"/><f n="yes_no_type.hpp" o="root" g="wheel" p="33188"/></f><f n="extent.hpp" o="root" g="wheel" p="33188"/><f n="floating_point_promotion.hpp" o="root" g="wheel" p="33188"/><f n="function_traits.hpp" o="root" g="wheel" p="33188"/><f n="has_new_operator.hpp" o="root" g="wheel" p="33188"/><f n="has_nothrow_assign.hpp" o="root" g="wheel" p="33188"/><f n="has_nothrow_constructor.hpp" o="root" g="wheel" p="33188"/><f n="has_nothrow_copy.hpp" o="root" g="wheel" p="33188"/><f n="has_nothrow_destructor.hpp" o="root" g="wheel" p="33188"/><f n="has_trivial_assign.hpp" o="root" g="wheel" p="33188"/><f n="has_trivial_constructor.hpp" o="root" g="wheel" p="33188"/><f n="has_trivial_copy.hpp" o="root" g="wheel" p="33188"/><f n="has_trivial_destructor.hpp" o="root" g="wheel" p="33188"/><f n="has_virtual_destructor.hpp" o="root" g="wheel" p="33188"/><f n="ice.hpp" o="root" g="wheel" p="33188"/><f n="integral_constant.hpp" o="root" g="wheel" p="33188"/><f n="integral_promotion.hpp" o="root" g="wheel" p="33188"/><f n="intrinsics.hpp" o="root" g="wheel" p="33188"/><f n="is_abstract.hpp" o="root" g="wheel" p="33188"/><f n="is_arithmetic.hpp" o="root" g="wheel" p="33188"/><f n="is_array.hpp" o="root" g="wheel" p="33188"/><f n="is_base_and_derived.hpp" o="root" g="wheel" p="33188"/><f n="is_base_of.hpp" o="root" g="wheel" p="33188"/><f n="is_base_of_tr1.hpp" o="root" g="wheel" p="33188"/><f n="is_class.hpp" o="root" g="wheel" p="33188"/><f n="is_complex.hpp" o="root" g="wheel" p="33188"/><f n="is_compound.hpp" o="root" g="wheel" p="33188"/><f n="is_const.hpp" o="root" g="wheel" p="33188"/><f n="is_convertible.hpp" o="root" g="wheel" p="33188"/><f n="is_empty.hpp" o="root" g="wheel" p="33188"/><f n="is_enum.hpp" o="root" g="wheel" p="33188"/><f n="is_float.hpp" o="root" g="wheel" p="33188"/><f n="is_floating_point.hpp" o="root" g="wheel" p="33188"/><f n="is_function.hpp" o="root" g="wheel" p="33188"/><f n="is_fundamental.hpp" o="root" g="wheel" p="33188"/><f n="is_integral.hpp" o="root" g="wheel" p="33188"/><f n="is_member_function_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_member_object_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_member_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_object.hpp" o="root" g="wheel" p="33188"/><f n="is_pod.hpp" o="root" g="wheel" p="33188"/><f n="is_pointer.hpp" o="root" g="wheel" p="33188"/><f n="is_polymorphic.hpp" o="root" g="wheel" p="33188"/><f n="is_reference.hpp" o="root" g="wheel" p="33188"/><f n="is_same.hpp" o="root" g="wheel" p="33188"/><f n="is_scalar.hpp" o="root" g="wheel" p="33188"/><f n="is_signed.hpp" o="root" g="wheel" p="33188"/><f n="is_stateless.hpp" o="root" g="wheel" p="33188"/><f n="is_union.hpp" o="root" g="wheel" p="33188"/><f n="is_unsigned.hpp" o="root" g="wheel" p="33188"/><f n="is_virtual_base_of.hpp" o="root" g="wheel" p="33188"/><f n="is_void.hpp" o="root" g="wheel" p="33188"/><f n="is_volatile.hpp" o="root" g="wheel" p="33188"/><f n="make_signed.hpp" o="root" g="wheel" p="33188"/><f n="make_unsigned.hpp" o="root" g="wheel" p="33188"/><f n="msvc" o="root" g="wheel" p="16877"><f n="remove_all_extents.hpp" o="root" g="wheel" p="33188"/><f n="remove_bounds.hpp" o="root" g="wheel" p="33188"/><f n="remove_const.hpp" o="root" g="wheel" p="33188"/><f n="remove_cv.hpp" o="root" g="wheel" p="33188"/><f n="remove_extent.hpp" o="root" g="wheel" p="33188"/><f n="remove_pointer.hpp" o="root" g="wheel" p="33188"/><f n="remove_reference.hpp" o="root" g="wheel" p="33188"/><f n="remove_volatile.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/></f><f n="object_traits.hpp" o="root" g="wheel" p="33188"/><f n="promote.hpp" o="root" g="wheel" p="33188"/><f n="rank.hpp" o="root" g="wheel" p="33188"/><f n="reference_traits.hpp" o="root" g="wheel" p="33188"/><f n="remove_all_extents.hpp" o="root" g="wheel" p="33188"/><f n="remove_bounds.hpp" o="root" g="wheel" p="33188"/><f n="remove_const.hpp" o="root" g="wheel" p="33188"/><f n="remove_cv.hpp" o="root" g="wheel" p="33188"/><f n="remove_extent.hpp" o="root" g="wheel" p="33188"/><f n="remove_pointer.hpp" o="root" g="wheel" p="33188"/><f n="remove_reference.hpp" o="root" g="wheel" p="33188"/><f n="remove_volatile.hpp" o="root" g="wheel" p="33188"/><f n="same_traits.hpp" o="root" g="wheel" p="33188"/><f n="transform_traits.hpp" o="root" g="wheel" p="33188"/><f n="transform_traits_spec.hpp" o="root" g="wheel" p="33188"/><f n="type_with_alignment.hpp" o="root" g="wheel" p="33188"/></f><f n="type_traits.hpp" o="root" g="wheel" p="33188"/><f n="typeof" o="root" g="wheel" p="16877"><f n="dmc" o="root" g="wheel" p="16877"><f n="typeof_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="encode_decode.hpp" o="root" g="wheel" p="33188"/><f n="encode_decode_params.hpp" o="root" g="wheel" p="33188"/><f n="incr_registration_group.hpp" o="root" g="wheel" p="33188"/><f n="int_encoding.hpp" o="root" g="wheel" p="33188"/><f n="integral_template_param.hpp" o="root" g="wheel" p="33188"/><f n="message.hpp" o="root" g="wheel" p="33188"/><f n="modifiers.hpp" o="root" g="wheel" p="33188"/><f n="msvc" o="root" g="wheel" p="16877"><f n="typeof_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="native.hpp" o="root" g="wheel" p="33188"/><f n="pointers_data_members.hpp" o="root" g="wheel" p="33188"/><f n="register_functions.hpp" o="root" g="wheel" p="33188"/><f n="register_functions_iterate.hpp" o="root" g="wheel" p="33188"/><f n="register_fundamental.hpp" o="root" g="wheel" p="33188"/><f n="register_mem_functions.hpp" o="root" g="wheel" p="33188"/><f n="std" o="root" g="wheel" p="16877"><f n="bitset.hpp" o="root" g="wheel" p="33188"/><f n="complex.hpp" o="root" g="wheel" p="33188"/><f n="deque.hpp" o="root" g="wheel" p="33188"/><f n="fstream.hpp" o="root" g="wheel" p="33188"/><f n="functional.hpp" o="root" g="wheel" p="33188"/><f n="iostream.hpp" o="root" g="wheel" p="33188"/><f n="istream.hpp" o="root" g="wheel" p="33188"/><f n="iterator.hpp" o="root" g="wheel" p="33188"/><f n="list.hpp" o="root" g="wheel" p="33188"/><f n="locale.hpp" o="root" g="wheel" p="33188"/><f n="map.hpp" o="root" g="wheel" p="33188"/><f n="memory.hpp" o="root" g="wheel" p="33188"/><f n="ostream.hpp" o="root" g="wheel" p="33188"/><f n="queue.hpp" o="root" g="wheel" p="33188"/><f n="set.hpp" o="root" g="wheel" p="33188"/><f n="sstream.hpp" o="root" g="wheel" p="33188"/><f n="stack.hpp" o="root" g="wheel" p="33188"/><f n="streambuf.hpp" o="root" g="wheel" p="33188"/><f n="string.hpp" o="root" g="wheel" p="33188"/><f n="utility.hpp" o="root" g="wheel" p="33188"/><f n="valarray.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/></f><f n="template_encoding.hpp" o="root" g="wheel" p="33188"/><f n="template_template_param.hpp" o="root" g="wheel" p="33188"/><f n="type_encoding.hpp" o="root" g="wheel" p="33188"/><f n="type_template_param.hpp" o="root" g="wheel" p="33188"/><f n="typeof.hpp" o="root" g="wheel" p="33188"/><f n="typeof_impl.hpp" o="root" g="wheel" p="33188"/><f n="vector.hpp" o="root" g="wheel" p="33188"/><f n="vector100.hpp" o="root" g="wheel" p="33188"/><f n="vector150.hpp" o="root" g="wheel" p="33188"/><f n="vector200.hpp" o="root" g="wheel" p="33188"/><f n="vector50.hpp" o="root" g="wheel" p="33188"/></f><f n="units" o="root" g="wheel" p="16877"><f n="absolute.hpp" o="root" g="wheel" p="33188"/><f n="base_dimension.hpp" o="root" g="wheel" p="33188"/><f n="base_unit.hpp" o="root" g="wheel" p="33188"/><f n="base_units" o="root" g="wheel" p="16877"><f n="angle" o="root" g="wheel" p="16877"><f n="arcminute.hpp" o="root" g="wheel" p="33188"/><f n="arcsecond.hpp" o="root" g="wheel" p="33188"/><f n="degree.hpp" o="root" g="wheel" p="33188"/><f n="gradian.hpp" o="root" g="wheel" p="33188"/><f n="radian.hpp" o="root" g="wheel" p="33188"/><f n="revolution.hpp" o="root" g="wheel" p="33188"/><f n="steradian.hpp" o="root" g="wheel" p="33188"/></f><f n="astronomical" o="root" g="wheel" p="16877"><f n="astronomical_unit.hpp" o="root" g="wheel" p="33188"/><f n="light_day.hpp" o="root" g="wheel" p="33188"/><f n="light_hour.hpp" o="root" g="wheel" p="33188"/><f n="light_minute.hpp" o="root" g="wheel" p="33188"/><f n="light_second.hpp" o="root" g="wheel" p="33188"/><f n="light_year.hpp" o="root" g="wheel" p="33188"/><f n="parsec.hpp" o="root" g="wheel" p="33188"/></f><f n="cgs" o="root" g="wheel" p="16877"><f n="biot.hpp" o="root" g="wheel" p="33188"/><f n="centimeter.hpp" o="root" g="wheel" p="33188"/><f n="gram.hpp" o="root" g="wheel" p="33188"/></f><f n="imperial" o="root" g="wheel" p="16877"><f n="conversions.hpp" o="root" g="wheel" p="33188"/><f n="drachm.hpp" o="root" g="wheel" p="33188"/><f n="fluid_ounce.hpp" o="root" g="wheel" p="33188"/><f n="foot.hpp" o="root" g="wheel" p="33188"/><f n="furlong.hpp" o="root" g="wheel" p="33188"/><f n="gallon.hpp" o="root" g="wheel" p="33188"/><f n="gill.hpp" o="root" g="wheel" p="33188"/><f n="grain.hpp" o="root" g="wheel" p="33188"/><f n="hundredweight.hpp" o="root" g="wheel" p="33188"/><f n="inch.hpp" o="root" g="wheel" p="33188"/><f n="league.hpp" o="root" g="wheel" p="33188"/><f n="mile.hpp" o="root" g="wheel" p="33188"/><f n="ounce.hpp" o="root" g="wheel" p="33188"/><f n="pint.hpp" o="root" g="wheel" p="33188"/><f n="pound.hpp" o="root" g="wheel" p="33188"/><f n="quart.hpp" o="root" g="wheel" p="33188"/><f n="quarter.hpp" o="root" g="wheel" p="33188"/><f n="stone.hpp" o="root" g="wheel" p="33188"/><f n="thou.hpp" o="root" g="wheel" p="33188"/><f n="ton.hpp" o="root" g="wheel" p="33188"/><f n="yard.hpp" o="root" g="wheel" p="33188"/></f><f n="metric" o="root" g="wheel" p="16877"><f n="angstrom.hpp" o="root" g="wheel" p="33188"/><f n="are.hpp" o="root" g="wheel" p="33188"/><f n="atmosphere.hpp" o="root" g="wheel" p="33188"/><f n="bar.hpp" o="root" g="wheel" p="33188"/><f n="barn.hpp" o="root" g="wheel" p="33188"/><f n="day.hpp" o="root" g="wheel" p="33188"/><f n="fermi.hpp" o="root" g="wheel" p="33188"/><f n="hectare.hpp" o="root" g="wheel" p="33188"/><f n="hour.hpp" o="root" g="wheel" p="33188"/><f n="knot.hpp" o="root" g="wheel" p="33188"/><f n="liter.hpp" o="root" g="wheel" p="33188"/><f n="micron.hpp" o="root" g="wheel" p="33188"/><f n="minute.hpp" o="root" g="wheel" p="33188"/><f n="mmHg.hpp" o="root" g="wheel" p="33188"/><f n="nautical_mile.hpp" o="root" g="wheel" p="33188"/><f n="ton.hpp" o="root" g="wheel" p="33188"/><f n="torr.hpp" o="root" g="wheel" p="33188"/><f n="year.hpp" o="root" g="wheel" p="33188"/></f><f n="si" o="root" g="wheel" p="16877"><f n="ampere.hpp" o="root" g="wheel" p="33188"/><f n="candela.hpp" o="root" g="wheel" p="33188"/><f n="kelvin.hpp" o="root" g="wheel" p="33188"/><f n="kilogram.hpp" o="root" g="wheel" p="33188"/><f n="meter.hpp" o="root" g="wheel" p="33188"/><f n="mole.hpp" o="root" g="wheel" p="33188"/><f n="second.hpp" o="root" g="wheel" p="33188"/></f><f n="temperature" o="root" g="wheel" p="16877"><f n="celsius.hpp" o="root" g="wheel" p="33188"/><f n="conversions.hpp" o="root" g="wheel" p="33188"/><f n="fahrenheit.hpp" o="root" g="wheel" p="33188"/></f><f n="us" o="root" g="wheel" p="16877"><f n="cup.hpp" o="root" g="wheel" p="33188"/><f n="dram.hpp" o="root" g="wheel" p="33188"/><f n="fluid_dram.hpp" o="root" g="wheel" p="33188"/><f n="fluid_ounce.hpp" o="root" g="wheel" p="33188"/><f n="foot.hpp" o="root" g="wheel" p="33188"/><f n="gallon.hpp" o="root" g="wheel" p="33188"/><f n="gill.hpp" o="root" g="wheel" p="33188"/><f n="grain.hpp" o="root" g="wheel" p="33188"/><f n="hundredweight.hpp" o="root" g="wheel" p="33188"/><f n="inch.hpp" o="root" g="wheel" p="33188"/><f n="mil.hpp" o="root" g="wheel" p="33188"/><f n="mile.hpp" o="root" g="wheel" p="33188"/><f n="minim.hpp" o="root" g="wheel" p="33188"/><f n="ounce.hpp" o="root" g="wheel" p="33188"/><f n="pint.hpp" o="root" g="wheel" p="33188"/><f n="pound.hpp" o="root" g="wheel" p="33188"/><f n="pound_force.hpp" o="root" g="wheel" p="33188"/><f n="quart.hpp" o="root" g="wheel" p="33188"/><f n="tablespoon.hpp" o="root" g="wheel" p="33188"/><f n="teaspoon.hpp" o="root" g="wheel" p="33188"/><f n="ton.hpp" o="root" g="wheel" p="33188"/><f n="yard.hpp" o="root" g="wheel" p="33188"/></f></f><f n="cmath.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="conversion.hpp" o="root" g="wheel" p="33188"/><f n="derived_dimension.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="absolute_impl.hpp" o="root" g="wheel" p="33188"/><f n="cmath_impl.hpp" o="root" g="wheel" p="33188"/><f n="conversion_impl.hpp" o="root" g="wheel" p="33188"/><f n="dim_impl.hpp" o="root" g="wheel" p="33188"/><f n="dimension_impl.hpp" o="root" g="wheel" p="33188"/><f n="dimension_list.hpp" o="root" g="wheel" p="33188"/><f n="dimensionless_unit.hpp" o="root" g="wheel" p="33188"/><f n="heterogeneous_conversion.hpp" o="root" g="wheel" p="33188"/><f n="linear_algebra.hpp" o="root" g="wheel" p="33188"/><f n="one.hpp" o="root" g="wheel" p="33188"/><f n="ordinal.hpp" o="root" g="wheel" p="33188"/><f n="prevent_redefinition.hpp" o="root" g="wheel" p="33188"/><f n="push_front_if.hpp" o="root" g="wheel" p="33188"/><f n="push_front_or_add.hpp" o="root" g="wheel" p="33188"/><f n="sort.hpp" o="root" g="wheel" p="33188"/><f n="static_rational_power.hpp" o="root" g="wheel" p="33188"/><f n="unscale.hpp" o="root" g="wheel" p="33188"/><f n="utility.hpp" o="root" g="wheel" p="33188"/></f><f n="dim.hpp" o="root" g="wheel" p="33188"/><f n="dimension.hpp" o="root" g="wheel" p="33188"/><f n="dimensionless_quantity.hpp" o="root" g="wheel" p="33188"/><f n="dimensionless_type.hpp" o="root" g="wheel" p="33188"/><f n="dimensionless_unit.hpp" o="root" g="wheel" p="33188"/><f n="get_dimension.hpp" o="root" g="wheel" p="33188"/><f n="get_system.hpp" o="root" g="wheel" p="33188"/><f n="heterogeneous_system.hpp" o="root" g="wheel" p="33188"/><f n="homogeneous_system.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="is_dim.hpp" o="root" g="wheel" p="33188"/><f n="is_dimension_list.hpp" o="root" g="wheel" p="33188"/><f n="is_dimensionless.hpp" o="root" g="wheel" p="33188"/><f n="is_dimensionless_quantity.hpp" o="root" g="wheel" p="33188"/><f n="is_dimensionless_unit.hpp" o="root" g="wheel" p="33188"/><f n="is_quantity.hpp" o="root" g="wheel" p="33188"/><f n="is_quantity_of_dimension.hpp" o="root" g="wheel" p="33188"/><f n="is_quantity_of_system.hpp" o="root" g="wheel" p="33188"/><f n="is_unit.hpp" o="root" g="wheel" p="33188"/><f n="is_unit_of_dimension.hpp" o="root" g="wheel" p="33188"/><f n="is_unit_of_system.hpp" o="root" g="wheel" p="33188"/><f n="lambda.hpp" o="root" g="wheel" p="33188"/><f n="limits.hpp" o="root" g="wheel" p="33188"/><f n="make_scaled_unit.hpp" o="root" g="wheel" p="33188"/><f n="make_system.hpp" o="root" g="wheel" p="33188"/><f n="operators.hpp" o="root" g="wheel" p="33188"/><f n="physical_dimensions" o="root" g="wheel" p="16877"><f n="absorbed_dose.hpp" o="root" g="wheel" p="33188"/><f n="acceleration.hpp" o="root" g="wheel" p="33188"/><f n="action.hpp" o="root" g="wheel" p="33188"/><f n="activity.hpp" o="root" g="wheel" p="33188"/><f n="amount.hpp" o="root" g="wheel" p="33188"/><f n="angular_acceleration.hpp" o="root" g="wheel" p="33188"/><f n="angular_momentum.hpp" o="root" g="wheel" p="33188"/><f n="angular_velocity.hpp" o="root" g="wheel" p="33188"/><f n="area.hpp" o="root" g="wheel" p="33188"/><f n="capacitance.hpp" o="root" g="wheel" p="33188"/><f n="conductance.hpp" o="root" g="wheel" p="33188"/><f n="conductivity.hpp" o="root" g="wheel" p="33188"/><f n="current.hpp" o="root" g="wheel" p="33188"/><f n="dose_equivalent.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_viscosity.hpp" o="root" g="wheel" p="33188"/><f n="electric_charge.hpp" o="root" g="wheel" p="33188"/><f n="electric_potential.hpp" o="root" g="wheel" p="33188"/><f n="energy.hpp" o="root" g="wheel" p="33188"/><f n="energy_density.hpp" o="root" g="wheel" p="33188"/><f n="force.hpp" o="root" g="wheel" p="33188"/><f n="frequency.hpp" o="root" g="wheel" p="33188"/><f n="heat_capacity.hpp" o="root" g="wheel" p="33188"/><f n="illuminance.hpp" o="root" g="wheel" p="33188"/><f n="impedance.hpp" o="root" g="wheel" p="33188"/><f n="inductance.hpp" o="root" g="wheel" p="33188"/><f n="kinematic_viscosity.hpp" o="root" g="wheel" p="33188"/><f n="length.hpp" o="root" g="wheel" p="33188"/><f n="luminance.hpp" o="root" g="wheel" p="33188"/><f n="luminous_flux.hpp" o="root" g="wheel" p="33188"/><f n="luminous_intensity.hpp" o="root" g="wheel" p="33188"/><f n="magnetic_field_intensity.hpp" o="root" g="wheel" p="33188"/><f n="magnetic_flux.hpp" o="root" g="wheel" p="33188"/><f n="magnetic_flux_density.hpp" o="root" g="wheel" p="33188"/><f n="mass.hpp" o="root" g="wheel" p="33188"/><f n="mass_density.hpp" o="root" g="wheel" p="33188"/><f n="molar_energy.hpp" o="root" g="wheel" p="33188"/><f n="molar_heat_capacity.hpp" o="root" g="wheel" p="33188"/><f n="moment_of_inertia.hpp" o="root" g="wheel" p="33188"/><f n="momentum.hpp" o="root" g="wheel" p="33188"/><f n="permeability.hpp" o="root" g="wheel" p="33188"/><f n="permittivity.hpp" o="root" g="wheel" p="33188"/><f n="plane_angle.hpp" o="root" g="wheel" p="33188"/><f n="power.hpp" o="root" g="wheel" p="33188"/><f n="pressure.hpp" o="root" g="wheel" p="33188"/><f n="reluctance.hpp" o="root" g="wheel" p="33188"/><f n="resistance.hpp" o="root" g="wheel" p="33188"/><f n="resistivity.hpp" o="root" g="wheel" p="33188"/><f n="solid_angle.hpp" o="root" g="wheel" p="33188"/><f n="specific_energy.hpp" o="root" g="wheel" p="33188"/><f n="specific_heat_capacity.hpp" o="root" g="wheel" p="33188"/><f n="specific_volume.hpp" o="root" g="wheel" p="33188"/><f n="stress.hpp" o="root" g="wheel" p="33188"/><f n="surface_density.hpp" o="root" g="wheel" p="33188"/><f n="surface_tension.hpp" o="root" g="wheel" p="33188"/><f n="temperature.hpp" o="root" g="wheel" p="33188"/><f n="thermal_conductivity.hpp" o="root" g="wheel" p="33188"/><f n="time.hpp" o="root" g="wheel" p="33188"/><f n="torque.hpp" o="root" g="wheel" p="33188"/><f n="velocity.hpp" o="root" g="wheel" p="33188"/><f n="volume.hpp" o="root" g="wheel" p="33188"/><f n="wavenumber.hpp" o="root" g="wheel" p="33188"/></f><f n="physical_dimensions.hpp" o="root" g="wheel" p="33188"/><f n="pow.hpp" o="root" g="wheel" p="33188"/><f n="quantity.hpp" o="root" g="wheel" p="33188"/><f n="reduce_unit.hpp" o="root" g="wheel" p="33188"/><f n="scale.hpp" o="root" g="wheel" p="33188"/><f n="scaled_base_unit.hpp" o="root" g="wheel" p="33188"/><f n="static_constant.hpp" o="root" g="wheel" p="33188"/><f n="static_rational.hpp" o="root" g="wheel" p="33188"/><f n="systems" o="root" g="wheel" p="16877"><f n="abstract.hpp" o="root" g="wheel" p="33188"/><f n="angle" o="root" g="wheel" p="16877"><f n="degrees.hpp" o="root" g="wheel" p="33188"/><f n="gradians.hpp" o="root" g="wheel" p="33188"/><f n="revolutions.hpp" o="root" g="wheel" p="33188"/></f><f n="cgs" o="root" g="wheel" p="16877"><f n="acceleration.hpp" o="root" g="wheel" p="33188"/><f n="area.hpp" o="root" g="wheel" p="33188"/><f n="base.hpp" o="root" g="wheel" p="33188"/><f n="current.hpp" o="root" g="wheel" p="33188"/><f n="dimensionless.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_viscosity.hpp" o="root" g="wheel" p="33188"/><f n="energy.hpp" o="root" g="wheel" p="33188"/><f n="force.hpp" o="root" g="wheel" p="33188"/><f n="frequency.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="kinematic_viscosity.hpp" o="root" g="wheel" p="33188"/><f n="length.hpp" o="root" g="wheel" p="33188"/><f n="mass.hpp" o="root" g="wheel" p="33188"/><f n="mass_density.hpp" o="root" g="wheel" p="33188"/><f n="momentum.hpp" o="root" g="wheel" p="33188"/><f n="power.hpp" o="root" g="wheel" p="33188"/><f n="pressure.hpp" o="root" g="wheel" p="33188"/><f n="time.hpp" o="root" g="wheel" p="33188"/><f n="velocity.hpp" o="root" g="wheel" p="33188"/><f n="volume.hpp" o="root" g="wheel" p="33188"/><f n="wavenumber.hpp" o="root" g="wheel" p="33188"/></f><f n="cgs.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="constants.hpp" o="root" g="wheel" p="33188"/></f><f n="si" o="root" g="wheel" p="16877"><f n="absorbed_dose.hpp" o="root" g="wheel" p="33188"/><f n="acceleration.hpp" o="root" g="wheel" p="33188"/><f n="action.hpp" o="root" g="wheel" p="33188"/><f n="activity.hpp" o="root" g="wheel" p="33188"/><f n="amount.hpp" o="root" g="wheel" p="33188"/><f n="angular_acceleration.hpp" o="root" g="wheel" p="33188"/><f n="angular_momentum.hpp" o="root" g="wheel" p="33188"/><f n="angular_velocity.hpp" o="root" g="wheel" p="33188"/><f n="area.hpp" o="root" g="wheel" p="33188"/><f n="base.hpp" o="root" g="wheel" p="33188"/><f n="capacitance.hpp" o="root" g="wheel" p="33188"/><f n="catalytic_activity.hpp" o="root" g="wheel" p="33188"/><f n="codata" o="root" g="wheel" p="16877"><f n="alpha_constants.hpp" o="root" g="wheel" p="33188"/><f n="atomic-nuclear_constants.hpp" o="root" g="wheel" p="33188"/><f n="deuteron_constants.hpp" o="root" g="wheel" p="33188"/><f n="electromagnetic_constants.hpp" o="root" g="wheel" p="33188"/><f n="electron_constants.hpp" o="root" g="wheel" p="33188"/><f n="helion_constants.hpp" o="root" g="wheel" p="33188"/><f n="muon_constants.hpp" o="root" g="wheel" p="33188"/><f n="neutron_constants.hpp" o="root" g="wheel" p="33188"/><f n="physico-chemical_constants.hpp" o="root" g="wheel" p="33188"/><f n="proton_constants.hpp" o="root" g="wheel" p="33188"/><f n="tau_constants.hpp" o="root" g="wheel" p="33188"/><f n="triton_constants.hpp" o="root" g="wheel" p="33188"/><f n="typedefs.hpp" o="root" g="wheel" p="33188"/><f n="universal_constants.hpp" o="root" g="wheel" p="33188"/></f><f n="codata_constants.hpp" o="root" g="wheel" p="33188"/><f n="conductance.hpp" o="root" g="wheel" p="33188"/><f n="conductivity.hpp" o="root" g="wheel" p="33188"/><f n="current.hpp" o="root" g="wheel" p="33188"/><f n="dimensionless.hpp" o="root" g="wheel" p="33188"/><f n="dose_equivalent.hpp" o="root" g="wheel" p="33188"/><f n="dynamic_viscosity.hpp" o="root" g="wheel" p="33188"/><f n="electric_charge.hpp" o="root" g="wheel" p="33188"/><f n="electric_potential.hpp" o="root" g="wheel" p="33188"/><f n="energy.hpp" o="root" g="wheel" p="33188"/><f n="force.hpp" o="root" g="wheel" p="33188"/><f n="frequency.hpp" o="root" g="wheel" p="33188"/><f n="illuminance.hpp" o="root" g="wheel" p="33188"/><f n="impedance.hpp" o="root" g="wheel" p="33188"/><f n="inductance.hpp" o="root" g="wheel" p="33188"/><f n="io.hpp" o="root" g="wheel" p="33188"/><f n="kinematic_viscosity.hpp" o="root" g="wheel" p="33188"/><f n="length.hpp" o="root" g="wheel" p="33188"/><f n="luminous_flux.hpp" o="root" g="wheel" p="33188"/><f n="luminous_intensity.hpp" o="root" g="wheel" p="33188"/><f n="magnetic_field_intensity.hpp" o="root" g="wheel" p="33188"/><f n="magnetic_flux.hpp" o="root" g="wheel" p="33188"/><f n="magnetic_flux_density.hpp" o="root" g="wheel" p="33188"/><f n="mass.hpp" o="root" g="wheel" p="33188"/><f n="mass_density.hpp" o="root" g="wheel" p="33188"/><f n="moment_of_inertia.hpp" o="root" g="wheel" p="33188"/><f n="momentum.hpp" o="root" g="wheel" p="33188"/><f n="permeability.hpp" o="root" g="wheel" p="33188"/><f n="permittivity.hpp" o="root" g="wheel" p="33188"/><f n="plane_angle.hpp" o="root" g="wheel" p="33188"/><f n="power.hpp" o="root" g="wheel" p="33188"/><f n="prefixes.hpp" o="root" g="wheel" p="33188"/><f n="pressure.hpp" o="root" g="wheel" p="33188"/><f n="reluctance.hpp" o="root" g="wheel" p="33188"/><f n="resistance.hpp" o="root" g="wheel" p="33188"/><f n="resistivity.hpp" o="root" g="wheel" p="33188"/><f n="solid_angle.hpp" o="root" g="wheel" p="33188"/><f n="surface_density.hpp" o="root" g="wheel" p="33188"/><f n="surface_tension.hpp" o="root" g="wheel" p="33188"/><f n="temperature.hpp" o="root" g="wheel" p="33188"/><f n="time.hpp" o="root" g="wheel" p="33188"/><f n="torque.hpp" o="root" g="wheel" p="33188"/><f n="velocity.hpp" o="root" g="wheel" p="33188"/><f n="volume.hpp" o="root" g="wheel" p="33188"/><f n="wavenumber.hpp" o="root" g="wheel" p="33188"/></f><f n="si.hpp" o="root" g="wheel" p="33188"/><f n="temperature" o="root" g="wheel" p="16877"><f n="celsius.hpp" o="root" g="wheel" p="33188"/><f n="fahrenheit.hpp" o="root" g="wheel" p="33188"/></f></f><f n="unit.hpp" o="root" g="wheel" p="33188"/><f n="units_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="unordered" o="root" g="wheel" p="16877"><f n="detail" o="root" g="wheel" p="16877"><f n="allocator_helpers.hpp" o="root" g="wheel" p="33188"/><f n="buckets.hpp" o="root" g="wheel" p="33188"/><f n="equivalent.hpp" o="root" g="wheel" p="33188"/><f n="extract_key.hpp" o="root" g="wheel" p="33188"/><f n="fwd.hpp" o="root" g="wheel" p="33188"/><f n="move.hpp" o="root" g="wheel" p="33188"/><f n="node.hpp" o="root" g="wheel" p="33188"/><f n="table.hpp" o="root" g="wheel" p="33188"/><f n="unique.hpp" o="root" g="wheel" p="33188"/><f n="util.hpp" o="root" g="wheel" p="33188"/></f><f n="unordered_map.hpp" o="root" g="wheel" p="33188"/><f n="unordered_map_fwd.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set_fwd.hpp" o="root" g="wheel" p="33188"/></f><f n="unordered_map.hpp" o="root" g="wheel" p="33188"/><f n="unordered_set.hpp" o="root" g="wheel" p="33188"/><f n="utility" o="root" g="wheel" p="16877"><f n="addressof.hpp" o="root" g="wheel" p="33188"/><f n="base_from_member.hpp" o="root" g="wheel" p="33188"/><f n="binary.hpp" o="root" g="wheel" p="33188"/><f n="compare_pointees.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="in_place_factory_prefix.hpp" o="root" g="wheel" p="33188"/><f n="in_place_factory_suffix.hpp" o="root" g="wheel" p="33188"/><f n="result_of_iterate.hpp" o="root" g="wheel" p="33188"/></f><f n="enable_if.hpp" o="root" g="wheel" p="33188"/><f n="in_place_factory.hpp" o="root" g="wheel" p="33188"/><f n="result_of.hpp" o="root" g="wheel" p="33188"/><f n="swap.hpp" o="root" g="wheel" p="33188"/><f n="typed_in_place_factory.hpp" o="root" g="wheel" p="33188"/><f n="value_init.hpp" o="root" g="wheel" p="33188"/></f><f n="utility.hpp" o="root" g="wheel" p="33188"/><f n="variant" o="root" g="wheel" p="16877"><f n="apply_visitor.hpp" o="root" g="wheel" p="33188"/><f n="bad_visit.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="apply_visitor_binary.hpp" o="root" g="wheel" p="33188"/><f n="apply_visitor_delayed.hpp" o="root" g="wheel" p="33188"/><f n="apply_visitor_unary.hpp" o="root" g="wheel" p="33188"/><f n="backup_holder.hpp" o="root" g="wheel" p="33188"/><f n="bool_trait_def.hpp" o="root" g="wheel" p="33188"/><f n="bool_trait_undef.hpp" o="root" g="wheel" p="33188"/><f n="cast_storage.hpp" o="root" g="wheel" p="33188"/><f n="config.hpp" o="root" g="wheel" p="33188"/><f n="enable_recursive.hpp" o="root" g="wheel" p="33188"/><f n="enable_recursive_fwd.hpp" o="root" g="wheel" p="33188"/><f n="forced_return.hpp" o="root" g="wheel" p="33188"/><f n="generic_result_type.hpp" o="root" g="wheel" p="33188"/><f n="has_nothrow_move.hpp" o="root" g="wheel" p="33188"/><f n="has_trivial_move.hpp" o="root" g="wheel" p="33188"/><f n="initializer.hpp" o="root" g="wheel" p="33188"/><f n="make_variant_list.hpp" o="root" g="wheel" p="33188"/><f n="move.hpp" o="root" g="wheel" p="33188"/><f n="over_sequence.hpp" o="root" g="wheel" p="33188"/><f n="substitute.hpp" o="root" g="wheel" p="33188"/><f n="substitute_fwd.hpp" o="root" g="wheel" p="33188"/><f n="variant_io.hpp" o="root" g="wheel" p="33188"/><f n="visitation_impl.hpp" o="root" g="wheel" p="33188"/></f><f n="get.hpp" o="root" g="wheel" p="33188"/><f n="recursive_variant.hpp" o="root" g="wheel" p="33188"/><f n="recursive_wrapper.hpp" o="root" g="wheel" p="33188"/><f n="recursive_wrapper_fwd.hpp" o="root" g="wheel" p="33188"/><f n="static_visitor.hpp" o="root" g="wheel" p="33188"/><f n="variant.hpp" o="root" g="wheel" p="33188"/><f n="variant_fwd.hpp" o="root" g="wheel" p="33188"/><f n="visitor_ptr.hpp" o="root" g="wheel" p="33188"/></f><f n="variant.hpp" o="root" g="wheel" p="33188"/><f n="vector_property_map.hpp" o="root" g="wheel" p="33188"/><f n="version.hpp" o="root" g="wheel" p="33188"/><f n="visit_each.hpp" o="root" g="wheel" p="33188"/><f n="wave" o="root" g="wheel" p="16877"><f n="cpp_context.hpp" o="root" g="wheel" p="33188"/><f n="cpp_exceptions.hpp" o="root" g="wheel" p="33188"/><f n="cpp_iteration_context.hpp" o="root" g="wheel" p="33188"/><f n="cpp_throw.hpp" o="root" g="wheel" p="33188"/><f n="cpplexer" o="root" g="wheel" p="16877"><f n="convert_trigraphs.hpp" o="root" g="wheel" p="33188"/><f n="cpp_lex_interface.hpp" o="root" g="wheel" p="33188"/><f n="cpp_lex_interface_generator.hpp" o="root" g="wheel" p="33188"/><f n="cpp_lex_iterator.hpp" o="root" g="wheel" p="33188"/><f n="cpp_lex_token.hpp" o="root" g="wheel" p="33188"/><f n="cpplexer_exceptions.hpp" o="root" g="wheel" p="33188"/><f n="detect_include_guards.hpp" o="root" g="wheel" p="33188"/><f n="re2clex" o="root" g="wheel" p="16877"><f n="aq.hpp" o="root" g="wheel" p="33188"/><f n="cpp_re.hpp" o="root" g="wheel" p="33188"/><f n="cpp_re2c_lexer.hpp" o="root" g="wheel" p="33188"/><f n="scanner.hpp" o="root" g="wheel" p="33188"/></f><f n="token_cache.hpp" o="root" g="wheel" p="33188"/><f n="validate_universal_char.hpp" o="root" g="wheel" p="33188"/></f><f n="grammars" o="root" g="wheel" p="16877"><f n="cpp_chlit_grammar.hpp" o="root" g="wheel" p="33188"/><f n="cpp_defined_grammar.hpp" o="root" g="wheel" p="33188"/><f n="cpp_defined_grammar_gen.hpp" o="root" g="wheel" p="33188"/><f n="cpp_expression_grammar.hpp" o="root" g="wheel" p="33188"/><f n="cpp_expression_grammar_gen.hpp" o="root" g="wheel" p="33188"/><f n="cpp_expression_value.hpp" o="root" g="wheel" p="33188"/><f n="cpp_grammar.hpp" o="root" g="wheel" p="33188"/><f n="cpp_grammar_gen.hpp" o="root" g="wheel" p="33188"/><f n="cpp_intlit_grammar.hpp" o="root" g="wheel" p="33188"/><f n="cpp_literal_grammar_gen.hpp" o="root" g="wheel" p="33188"/><f n="cpp_predef_macros_gen.hpp" o="root" g="wheel" p="33188"/><f n="cpp_predef_macros_grammar.hpp" o="root" g="wheel" p="33188"/><f n="cpp_value_error.hpp" o="root" g="wheel" p="33188"/></f><f n="language_support.hpp" o="root" g="wheel" p="33188"/><f n="preprocessing_hooks.hpp" o="root" g="wheel" p="33188"/><f n="token_ids.hpp" o="root" g="wheel" p="33188"/><f n="util" o="root" g="wheel" p="16877"><f n="cpp_ifblock.hpp" o="root" g="wheel" p="33188"/><f n="cpp_include_paths.hpp" o="root" g="wheel" p="33188"/><f n="cpp_iterator.hpp" o="root" g="wheel" p="33188"/><f n="cpp_macromap.hpp" o="root" g="wheel" p="33188"/><f n="cpp_macromap_predef.hpp" o="root" g="wheel" p="33188"/><f n="cpp_macromap_utils.hpp" o="root" g="wheel" p="33188"/><f n="file_position.hpp" o="root" g="wheel" p="33188"/><f n="filesystem_compatibility.hpp" o="root" g="wheel" p="33188"/><f n="flex_string.hpp" o="root" g="wheel" p="33188"/><f n="functor_input.hpp" o="root" g="wheel" p="33188"/><f n="insert_whitespace_detection.hpp" o="root" g="wheel" p="33188"/><f n="interpret_pragma.hpp" o="root" g="wheel" p="33188"/><f n="iteration_context.hpp" o="root" g="wheel" p="33188"/><f n="macro_definition.hpp" o="root" g="wheel" p="33188"/><f n="macro_helpers.hpp" o="root" g="wheel" p="33188"/><f n="pattern_parser.hpp" o="root" g="wheel" p="33188"/><f n="symbol_table.hpp" o="root" g="wheel" p="33188"/><f n="time_conversion_helper.hpp" o="root" g="wheel" p="33188"/><f n="transform_iterator.hpp" o="root" g="wheel" p="33188"/><f n="unput_queue_iterator.hpp" o="root" g="wheel" p="33188"/></f><f n="wave_config.hpp" o="root" g="wheel" p="33188"/><f n="wave_config_constant.hpp" o="root" g="wheel" p="33188"/><f n="wave_version.hpp" o="root" g="wheel" p="33188"/><f n="whitespace_handling.hpp" o="root" g="wheel" p="33188"/></f><f n="wave.hpp" o="root" g="wheel" p="33188"/><f n="weak_ptr.hpp" o="root" g="wheel" p="33188"/><f n="xpressive" o="root" g="wheel" p="16877"><f n="basic_regex.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="core" o="root" g="wheel" p="16877"><f n="access.hpp" o="root" g="wheel" p="33188"/><f n="action.hpp" o="root" g="wheel" p="33188"/><f n="adaptor.hpp" o="root" g="wheel" p="33188"/><f n="finder.hpp" o="root" g="wheel" p="33188"/><f n="flow_control.hpp" o="root" g="wheel" p="33188"/><f n="icase.hpp" o="root" g="wheel" p="33188"/><f n="linker.hpp" o="root" g="wheel" p="33188"/><f n="matcher" o="root" g="wheel" p="16877"><f n="action_matcher.hpp" o="root" g="wheel" p="33188"/><f n="alternate_end_matcher.hpp" o="root" g="wheel" p="33188"/><f n="alternate_matcher.hpp" o="root" g="wheel" p="33188"/><f n="any_matcher.hpp" o="root" g="wheel" p="33188"/><f n="assert_bol_matcher.hpp" o="root" g="wheel" p="33188"/><f n="assert_bos_matcher.hpp" o="root" g="wheel" p="33188"/><f n="assert_eol_matcher.hpp" o="root" g="wheel" p="33188"/><f n="assert_eos_matcher.hpp" o="root" g="wheel" p="33188"/><f n="assert_line_base.hpp" o="root" g="wheel" p="33188"/><f n="assert_word_matcher.hpp" o="root" g="wheel" p="33188"/><f n="attr_begin_matcher.hpp" o="root" g="wheel" p="33188"/><f n="attr_end_matcher.hpp" o="root" g="wheel" p="33188"/><f n="attr_matcher.hpp" o="root" g="wheel" p="33188"/><f n="charset_matcher.hpp" o="root" g="wheel" p="33188"/><f n="end_matcher.hpp" o="root" g="wheel" p="33188"/><f n="epsilon_matcher.hpp" o="root" g="wheel" p="33188"/><f n="keeper_matcher.hpp" o="root" g="wheel" p="33188"/><f n="literal_matcher.hpp" o="root" g="wheel" p="33188"/><f n="logical_newline_matcher.hpp" o="root" g="wheel" p="33188"/><f n="lookahead_matcher.hpp" o="root" g="wheel" p="33188"/><f n="lookbehind_matcher.hpp" o="root" g="wheel" p="33188"/><f n="mark_begin_matcher.hpp" o="root" g="wheel" p="33188"/><f n="mark_end_matcher.hpp" o="root" g="wheel" p="33188"/><f n="mark_matcher.hpp" o="root" g="wheel" p="33188"/><f n="optional_matcher.hpp" o="root" g="wheel" p="33188"/><f n="posix_charset_matcher.hpp" o="root" g="wheel" p="33188"/><f n="predicate_matcher.hpp" o="root" g="wheel" p="33188"/><f n="range_matcher.hpp" o="root" g="wheel" p="33188"/><f n="regex_byref_matcher.hpp" o="root" g="wheel" p="33188"/><f n="regex_matcher.hpp" o="root" g="wheel" p="33188"/><f n="repeat_begin_matcher.hpp" o="root" g="wheel" p="33188"/><f n="repeat_end_matcher.hpp" o="root" g="wheel" p="33188"/><f n="set_matcher.hpp" o="root" g="wheel" p="33188"/><f n="simple_repeat_matcher.hpp" o="root" g="wheel" p="33188"/><f n="string_matcher.hpp" o="root" g="wheel" p="33188"/><f n="true_matcher.hpp" o="root" g="wheel" p="33188"/></f><f n="matchers.hpp" o="root" g="wheel" p="33188"/><f n="optimize.hpp" o="root" g="wheel" p="33188"/><f n="peeker.hpp" o="root" g="wheel" p="33188"/><f n="quant_style.hpp" o="root" g="wheel" p="33188"/><f n="regex_impl.hpp" o="root" g="wheel" p="33188"/><f n="results_cache.hpp" o="root" g="wheel" p="33188"/><f n="state.hpp" o="root" g="wheel" p="33188"/><f n="sub_match_impl.hpp" o="root" g="wheel" p="33188"/><f n="sub_match_vector.hpp" o="root" g="wheel" p="33188"/></f><f n="detail_fwd.hpp" o="root" g="wheel" p="33188"/><f n="dynamic" o="root" g="wheel" p="16877"><f n="dynamic.hpp" o="root" g="wheel" p="33188"/><f n="matchable.hpp" o="root" g="wheel" p="33188"/><f n="parse_charset.hpp" o="root" g="wheel" p="33188"/><f n="parser.hpp" o="root" g="wheel" p="33188"/><f n="parser_enum.hpp" o="root" g="wheel" p="33188"/><f n="parser_traits.hpp" o="root" g="wheel" p="33188"/><f n="sequence.hpp" o="root" g="wheel" p="33188"/></f><f n="static" o="root" g="wheel" p="16877"><f n="compile.hpp" o="root" g="wheel" p="33188"/><f n="grammar.hpp" o="root" g="wheel" p="33188"/><f n="is_pure.hpp" o="root" g="wheel" p="33188"/><f n="modifier.hpp" o="root" g="wheel" p="33188"/><f n="placeholders.hpp" o="root" g="wheel" p="33188"/><f n="static.hpp" o="root" g="wheel" p="33188"/><f n="transforms" o="root" g="wheel" p="16877"><f n="as_action.hpp" o="root" g="wheel" p="33188"/><f n="as_alternate.hpp" o="root" g="wheel" p="33188"/><f n="as_independent.hpp" o="root" g="wheel" p="33188"/><f n="as_inverse.hpp" o="root" g="wheel" p="33188"/><f n="as_marker.hpp" o="root" g="wheel" p="33188"/><f n="as_matcher.hpp" o="root" g="wheel" p="33188"/><f n="as_modifier.hpp" o="root" g="wheel" p="33188"/><f n="as_quantifier.hpp" o="root" g="wheel" p="33188"/><f n="as_sequence.hpp" o="root" g="wheel" p="33188"/><f n="as_set.hpp" o="root" g="wheel" p="33188"/></f><f n="transmogrify.hpp" o="root" g="wheel" p="33188"/><f n="type_traits.hpp" o="root" g="wheel" p="33188"/><f n="visitor.hpp" o="root" g="wheel" p="33188"/><f n="width_of.hpp" o="root" g="wheel" p="33188"/></f><f n="utility" o="root" g="wheel" p="16877"><f n="algorithm.hpp" o="root" g="wheel" p="33188"/><f n="any.hpp" o="root" g="wheel" p="33188"/><f n="boyer_moore.hpp" o="root" g="wheel" p="33188"/><f n="chset" o="root" g="wheel" p="16877"><f n="basic_chset.hpp" o="root" g="wheel" p="33188"/><f n="basic_chset.ipp" o="root" g="wheel" p="33188"/><f n="chset.hpp" o="root" g="wheel" p="33188"/><f n="range_run.hpp" o="root" g="wheel" p="33188"/><f n="range_run.ipp" o="root" g="wheel" p="33188"/></f><f n="cons.hpp" o="root" g="wheel" p="33188"/><f n="counted_base.hpp" o="root" g="wheel" p="33188"/><f n="dont_care.hpp" o="root" g="wheel" p="33188"/><f n="hash_peek_bitset.hpp" o="root" g="wheel" p="33188"/><f n="ignore_unused.hpp" o="root" g="wheel" p="33188"/><f n="literals.hpp" o="root" g="wheel" p="33188"/><f n="never_true.hpp" o="root" g="wheel" p="33188"/><f n="save_restore.hpp" o="root" g="wheel" p="33188"/><f n="sequence_stack.hpp" o="root" g="wheel" p="33188"/><f n="symbols.hpp" o="root" g="wheel" p="33188"/><f n="tracking_ptr.hpp" o="root" g="wheel" p="33188"/><f n="traits_utils.hpp" o="root" g="wheel" p="33188"/><f n="width.hpp" o="root" g="wheel" p="33188"/></f></f><f n="match_results.hpp" o="root" g="wheel" p="33188"/><f n="regex_actions.hpp" o="root" g="wheel" p="33188"/><f n="regex_algorithms.hpp" o="root" g="wheel" p="33188"/><f n="regex_compiler.hpp" o="root" g="wheel" p="33188"/><f n="regex_constants.hpp" o="root" g="wheel" p="33188"/><f n="regex_error.hpp" o="root" g="wheel" p="33188"/><f n="regex_iterator.hpp" o="root" g="wheel" p="33188"/><f n="regex_primitives.hpp" o="root" g="wheel" p="33188"/><f n="regex_token_iterator.hpp" o="root" g="wheel" p="33188"/><f n="regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="sub_match.hpp" o="root" g="wheel" p="33188"/><f n="traits" o="root" g="wheel" p="16877"><f n="c_regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="cpp_regex_traits.hpp" o="root" g="wheel" p="33188"/><f n="detail" o="root" g="wheel" p="16877"><f n="c_ctype.hpp" o="root" g="wheel" p="33188"/></f><f n="null_regex_traits.hpp" o="root" g="wheel" p="33188"/></f><f n="xpressive.hpp" o="root" g="wheel" p="33188"/><f n="xpressive_dynamic.hpp" o="root" g="wheel" p="33188"/><f n="xpressive_fwd.hpp" o="root" g="wheel" p="33188"/><f n="xpressive_static.hpp" o="root" g="wheel" p="33188"/><f n="xpressive_typeof.hpp" o="root" g="wheel" p="33188"/></f></f></f><f n="eigen2" o="root" g="wheel" p="16877"><f n="Eigen" o="root" g="wheel" p="16877"><f n="Array" o="root" g="wheel" p="33188"/><f n="Cholesky" o="root" g="wheel" p="33188"/><f n="Core" o="root" g="wheel" p="33188"/><f n="Geometry" o="root" g="wheel" p="33188"/><f n="LeastSquares" o="root" g="wheel" p="33188"/><f n="LU" o="root" g="wheel" p="33188"/><f n="QR" o="root" g="wheel" p="33188"/><f n="QtAlignedMalloc" o="root" g="wheel" p="33188"/><f n="Sparse" o="root" g="wheel" p="33188"/><f n="src" o="root" g="wheel" p="16877"><f n="Array" o="root" g="wheel" p="16877"><f n="BooleanRedux.h" o="root" g="wheel" p="33188"/><f n="CwiseOperators.h" o="root" g="wheel" p="33188"/><f n="Functors.h" o="root" g="wheel" p="33188"/><f n="Norms.h" o="root" g="wheel" p="33188"/><f n="PartialRedux.h" o="root" g="wheel" p="33188"/><f n="Random.h" o="root" g="wheel" p="33188"/><f n="Select.h" o="root" g="wheel" p="33188"/></f><f n="Cholesky" o="root" g="wheel" p="16877"><f n="LDLT.h" o="root" g="wheel" p="33188"/><f n="LLT.h" o="root" g="wheel" p="33188"/></f><f n="Core" o="root" g="wheel" p="16877"><f n="arch" o="root" g="wheel" p="16877"><f n="AltiVec" o="root" g="wheel" p="16877"><f n="PacketMath.h" o="root" g="wheel" p="33188"/></f><f n="SSE" o="root" g="wheel" p="16877"><f n="PacketMath.h" o="root" g="wheel" p="33188"/></f></f><f n="Assign.h" o="root" g="wheel" p="33188"/><f n="Block.h" o="root" g="wheel" p="33188"/><f n="CacheFriendlyProduct.h" o="root" g="wheel" p="33188"/><f n="Coeffs.h" o="root" g="wheel" p="33188"/><f n="CommaInitializer.h" o="root" g="wheel" p="33188"/><f n="Cwise.h" o="root" g="wheel" p="33188"/><f n="CwiseBinaryOp.h" o="root" g="wheel" p="33188"/><f n="CwiseNullaryOp.h" o="root" g="wheel" p="33188"/><f n="CwiseUnaryOp.h" o="root" g="wheel" p="33188"/><f n="DiagonalCoeffs.h" o="root" g="wheel" p="33188"/><f n="DiagonalMatrix.h" o="root" g="wheel" p="33188"/><f n="DiagonalProduct.h" o="root" g="wheel" p="33188"/><f n="Dot.h" o="root" g="wheel" p="33188"/><f n="Flagged.h" o="root" g="wheel" p="33188"/><f n="Functors.h" o="root" g="wheel" p="33188"/><f n="Fuzzy.h" o="root" g="wheel" p="33188"/><f n="GenericPacketMath.h" o="root" g="wheel" p="33188"/><f n="IO.h" o="root" g="wheel" p="33188"/><f n="Map.h" o="root" g="wheel" p="33188"/><f n="MapBase.h" o="root" g="wheel" p="33188"/><f n="MathFunctions.h" o="root" g="wheel" p="33188"/><f n="Matrix.h" o="root" g="wheel" p="33188"/><f n="MatrixBase.h" o="root" g="wheel" p="33188"/><f n="MatrixStorage.h" o="root" g="wheel" p="33188"/><f n="Minor.h" o="root" g="wheel" p="33188"/><f n="NestByValue.h" o="root" g="wheel" p="33188"/><f n="NumTraits.h" o="root" g="wheel" p="33188"/><f n="Part.h" o="root" g="wheel" p="33188"/><f n="Product.h" o="root" g="wheel" p="33188"/><f n="Redux.h" o="root" g="wheel" p="33188"/><f n="SolveTriangular.h" o="root" g="wheel" p="33188"/><f n="Sum.h" o="root" g="wheel" p="33188"/><f n="Swap.h" o="root" g="wheel" p="33188"/><f n="Transpose.h" o="root" g="wheel" p="33188"/><f n="util" o="root" g="wheel" p="16877"><f n="Constants.h" o="root" g="wheel" p="33188"/><f n="DisableMSVCWarnings.h" o="root" g="wheel" p="33188"/><f n="EnableMSVCWarnings.h" o="root" g="wheel" p="33188"/><f n="ForwardDeclarations.h" o="root" g="wheel" p="33188"/><f n="Macros.h" o="root" g="wheel" p="33188"/><f n="Memory.h" o="root" g="wheel" p="33188"/><f n="Meta.h" o="root" g="wheel" p="33188"/><f n="StaticAssert.h" o="root" g="wheel" p="33188"/><f n="XprHelper.h" o="root" g="wheel" p="33188"/></f><f n="Visitor.h" o="root" g="wheel" p="33188"/></f><f n="Geometry" o="root" g="wheel" p="16877"><f n="AlignedBox.h" o="root" g="wheel" p="33188"/><f n="AngleAxis.h" o="root" g="wheel" p="33188"/><f n="EulerAngles.h" o="root" g="wheel" p="33188"/><f n="Hyperplane.h" o="root" g="wheel" p="33188"/><f n="OrthoMethods.h" o="root" g="wheel" p="33188"/><f n="ParametrizedLine.h" o="root" g="wheel" p="33188"/><f n="Quaternion.h" o="root" g="wheel" p="33188"/><f n="Rotation2D.h" o="root" g="wheel" p="33188"/><f n="RotationBase.h" o="root" g="wheel" p="33188"/><f n="Scaling.h" o="root" g="wheel" p="33188"/><f n="Transform.h" o="root" g="wheel" p="33188"/><f n="Translation.h" o="root" g="wheel" p="33188"/></f><f n="LeastSquares" o="root" g="wheel" p="16877"><f n="LeastSquares.h" o="root" g="wheel" p="33188"/></f><f n="LU" o="root" g="wheel" p="16877"><f n="Determinant.h" o="root" g="wheel" p="33188"/><f n="Inverse.h" o="root" g="wheel" p="33188"/><f n="LU.h" o="root" g="wheel" p="33188"/></f><f n="QR" o="root" g="wheel" p="16877"><f n="EigenSolver.h" o="root" g="wheel" p="33188"/><f n="HessenbergDecomposition.h" o="root" g="wheel" p="33188"/><f n="QR.h" o="root" g="wheel" p="33188"/><f n="SelfAdjointEigenSolver.h" o="root" g="wheel" p="33188"/><f n="Tridiagonalization.h" o="root" g="wheel" p="33188"/></f><f n="Sparse" o="root" g="wheel" p="16877"><f n="AmbiVector.h" o="root" g="wheel" p="33188"/><f n="CholmodSupport.h" o="root" g="wheel" p="33188"/><f n="CompressedStorage.h" o="root" g="wheel" p="33188"/><f n="CoreIterators.h" o="root" g="wheel" p="33188"/><f n="DynamicSparseMatrix.h" o="root" g="wheel" p="33188"/><f n="MappedSparseMatrix.h" o="root" g="wheel" p="33188"/><f n="RandomSetter.h" o="root" g="wheel" p="33188"/><f n="SparseAssign.h" o="root" g="wheel" p="33188"/><f n="SparseBlock.h" o="root" g="wheel" p="33188"/><f n="SparseCwise.h" o="root" g="wheel" p="33188"/><f n="SparseCwiseBinaryOp.h" o="root" g="wheel" p="33188"/><f n="SparseCwiseUnaryOp.h" o="root" g="wheel" p="33188"/><f n="SparseDiagonalProduct.h" o="root" g="wheel" p="33188"/><f n="SparseDot.h" o="root" g="wheel" p="33188"/><f n="SparseFlagged.h" o="root" g="wheel" p="33188"/><f n="SparseFuzzy.h" o="root" g="wheel" p="33188"/><f n="SparseLDLT.h" o="root" g="wheel" p="33188"/><f n="SparseLLT.h" o="root" g="wheel" p="33188"/><f n="SparseLU.h" o="root" g="wheel" p="33188"/><f n="SparseMatrix.h" o="root" g="wheel" p="33188"/><f n="SparseMatrixBase.h" o="root" g="wheel" p="33188"/><f n="SparseProduct.h" o="root" g="wheel" p="33188"/><f n="SparseRedux.h" o="root" g="wheel" p="33188"/><f n="SparseTranspose.h" o="root" g="wheel" p="33188"/><f n="SparseUtil.h" o="root" g="wheel" p="33188"/><f n="SparseVector.h" o="root" g="wheel" p="33188"/><f n="SuperLUSupport.h" o="root" g="wheel" p="33188"/><f n="TaucsSupport.h" o="root" g="wheel" p="33188"/><f n="TriangularSolver.h" o="root" g="wheel" p="33188"/><f n="UmfPackSupport.h" o="root" g="wheel" p="33188"/></f><f n="SVD" o="root" g="wheel" p="16877"><f n="SVD.h" o="root" g="wheel" p="33188"/></f></f><f n="StdVector" o="root" g="wheel" p="33188"/><f n="SVD" o="root" g="wheel" p="33188"/></f><f n="unsupported" o="root" g="wheel" p="16877"><f n="Eigen" o="root" g="wheel" p="16877"><f n="IterativeSolvers" o="root" g="wheel" p="33188"/><f n="src" o="root" g="wheel" p="16877"><f n="IterativeSolvers" o="root" g="wheel" p="16877"><f n="ConstrainedConjGrad.h" o="root" g="wheel" p="33188"/><f n="IterationController.h" o="root" g="wheel" p="33188"/></f></f></f></f></f><f n="fftw3.f" o="root" g="wheel" p="33188"/><f n="fftw3.h" o="root" g="wheel" p="33188"/><f n="libpng12" o="root" g="wheel" p="16877"><f n="png.h" o="root" g="wheel" p="33188"/><f n="pngconf.h" o="root" g="wheel" p="33188"/></f><f n="ost" o="root" g="wheel" p="16877"><f n="conop" o="root" g="wheel" p="16877"><f n="builder.hh" o="root" g="wheel" p="33188"/><f n="builder_fw.hh" o="root" g="wheel" p="33188"/><f n="compound.hh" o="root" g="wheel" p="33188"/><f n="compound_lib.hh" o="root" g="wheel" p="33188"/><f n="conop.hh" o="root" g="wheel" p="33188"/><f n="heuristic_builder.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="rule_based_builder.hh" o="root" g="wheel" p="33188"/><f n="sanitizer.hh" o="root" g="wheel" p="33188"/></f><f n="db" o="root" g="wheel" p="16877"><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="sqlite3.h" o="root" g="wheel" p="33188"/><f n="sqlite_conv.hh" o="root" g="wheel" p="33188"/><f n="sqlite_wrap.hh" o="root" g="wheel" p="33188"/></f><f n="dyn_cast.hh" o="root" g="wheel" p="33188"/><f n="generic_property.hh" o="root" g="wheel" p="33188"/><f n="geom" o="root" g="wheel" p="16877"><f n="aligned_cuboid.hh" o="root" g="wheel" p="33188"/><f n="circular_iterator.hh" o="root" g="wheel" p="33188"/><f n="composite.hh" o="root" g="wheel" p="33188"/><f n="composite2.hh" o="root" g="wheel" p="33188"/><f n="composite2_op.hh" o="root" g="wheel" p="33188"/><f n="composite3.hh" o="root" g="wheel" p="33188"/><f n="composite3_op.hh" o="root" g="wheel" p="33188"/><f n="composite_op.hh" o="root" g="wheel" p="33188"/><f n="constants.hh" o="root" g="wheel" p="33188"/><f n="def.hh" o="root" g="wheel" p="33188"/><f n="exc.hh" o="root" g="wheel" p="33188"/><f n="geom.hh" o="root" g="wheel" p="33188"/><f n="mat.hh" o="root" g="wheel" p="33188"/><f n="mat2.hh" o="root" g="wheel" p="33188"/><f n="mat3.hh" o="root" g="wheel" p="33188"/><f n="mat4.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="point_cloud.hh" o="root" g="wheel" p="33188"/><f n="quat.hh" o="root" g="wheel" p="33188"/><f n="vec.hh" o="root" g="wheel" p="33188"/><f n="vec2.hh" o="root" g="wheel" p="33188"/><f n="vec3.hh" o="root" g="wheel" p="33188"/><f n="vec4.hh" o="root" g="wheel" p="33188"/><f n="vecmat2_op.hh" o="root" g="wheel" p="33188"/><f n="vecmat3_op.hh" o="root" g="wheel" p="33188"/><f n="vecmat4_op.hh" o="root" g="wheel" p="33188"/><f n="vecmat_op.hh" o="root" g="wheel" p="33188"/></f><f n="gfx" o="root" g="wheel" p="16877"><f n="bitmap_io.hh" o="root" g="wheel" p="33188"/><f n="color.hh" o="root" g="wheel" p="33188"/><f n="color_ops" o="root" g="wheel" p="16877"><f n="basic_gradient_color_op.hh" o="root" g="wheel" p="33188"/><f n="by_element_color_op.hh" o="root" g="wheel" p="33188"/><f n="color_op.hh" o="root" g="wheel" p="33188"/><f n="entity_view_color_op.hh" o="root" g="wheel" p="33188"/><f n="gradient_color_op.hh" o="root" g="wheel" p="33188"/><f n="gradient_level_color_op.hh" o="root" g="wheel" p="33188"/><f n="map_handle_color_op.hh" o="root" g="wheel" p="33188"/><f n="uniform_color_op.hh" o="root" g="wheel" p="33188"/></f><f n="entity.hh" o="root" g="wheel" p="33188"/><f n="entity_fw.hh" o="root" g="wheel" p="33188"/><f n="gfx.hh" o="root" g="wheel" p="33188"/><f n="gfx_fw.hh" o="root" g="wheel" p="33188"/><f n="gfx_node.hh" o="root" g="wheel" p="33188"/><f n="gfx_node_fw.hh" o="root" g="wheel" p="33188"/><f n="gfx_node_visitor.hh" o="root" g="wheel" p="33188"/><f n="gfx_object.hh" o="root" g="wheel" p="33188"/><f n="gfx_object_fw.hh" o="root" g="wheel" p="33188"/><f n="gfx_prim.hh" o="root" g="wheel" p="33188"/><f n="gfx_test_object.hh" o="root" g="wheel" p="33188"/><f n="gl_helper.hh" o="root" g="wheel" p="33188"/><f n="gl_include.hh" o="root" g="wheel" p="33188"/><f n="glext_include.hh" o="root" g="wheel" p="33188"/><f n="glwin_base.hh" o="root" g="wheel" p="33188"/><f n="gradient.hh" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="backbone_trace.hh" o="root" g="wheel" p="33188"/><f n="cartoon_renderer.hh" o="root" g="wheel" p="33188"/><f n="connect_renderer_base.hh" o="root" g="wheel" p="33188"/><f n="cpk_renderer.hh" o="root" g="wheel" p="33188"/><f n="custom_renderer.hh" o="root" g="wheel" p="33188"/><f n="debug_renderer.hh" o="root" g="wheel" p="33188"/><f n="entity_detail.hh" o="root" g="wheel" p="33188"/><f n="entity_renderer.hh" o="root" g="wheel" p="33188"/><f n="entity_renderer_fw.hh" o="root" g="wheel" p="33188"/><f n="map_iso_gen.hh" o="root" g="wheel" p="33188"/><f n="map_iso_gen_s.hh" o="root" g="wheel" p="33188"/><f n="map_iso_spec.hh" o="root" g="wheel" p="33188"/><f n="mapped_property.hh" o="root" g="wheel" p="33188"/><f n="simple_renderer.hh" o="root" g="wheel" p="33188"/><f n="sline_renderer.hh" o="root" g="wheel" p="33188"/><f n="tabulated_trig.hh" o="root" g="wheel" p="33188"/><f n="trace_renderer.hh" o="root" g="wheel" p="33188"/><f n="trace_renderer_base.hh" o="root" g="wheel" p="33188"/></f><f n="input.hh" o="root" g="wheel" p="33188"/><f n="map_handle_color_op.hh" o="root" g="wheel" p="33188"/><f n="map_iso.hh" o="root" g="wheel" p="33188"/><f n="map_iso_prop.hh" o="root" g="wheel" p="33188"/><f n="map_slab.hh" o="root" g="wheel" p="33188"/><f n="material.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="offscreen_buffer.hh" o="root" g="wheel" p="33188"/><f n="povray.hh" o="root" g="wheel" p="33188"/><f n="povray_fw.hh" o="root" g="wheel" p="33188"/><f n="prim_list.hh" o="root" g="wheel" p="33188"/><f n="primitives.hh" o="root" g="wheel" p="33188"/><f n="render_mode.hh" o="root" g="wheel" p="33188"/><f n="render_options" o="root" g="wheel" p="16877"><f n="cartoon_render_options.hh" o="root" g="wheel" p="33188"/><f n="cpk_render_options.hh" o="root" g="wheel" p="33188"/><f n="custom_render_options.hh" o="root" g="wheel" p="33188"/><f n="line_render_options.hh" o="root" g="wheel" p="33188"/><f n="render_options.hh" o="root" g="wheel" p="33188"/><f n="simple_render_options.hh" o="root" g="wheel" p="33188"/><f n="sline_render_options.hh" o="root" g="wheel" p="33188"/><f n="trace_render_options.hh" o="root" g="wheel" p="33188"/></f><f n="render_pass.hh" o="root" g="wheel" p="33188"/><f n="scene.hh" o="root" g="wheel" p="33188"/><f n="scene_observer.hh" o="root" g="wheel" p="33188"/><f n="selection.hh" o="root" g="wheel" p="33188"/><f n="surface.hh" o="root" g="wheel" p="33188"/><f n="symmetry_node.hh" o="root" g="wheel" p="33188"/><f n="vertex_array.hh" o="root" g="wheel" p="33188"/><f n="vertex_array_helper.hh" o="root" g="wheel" p="33188"/></f><f n="gui" o="root" g="wheel" p="16877"><f n="change_process_name.hh" o="root" g="wheel" p="33188"/><f n="data_viewer" o="root" g="wheel" p="16877"><f n="argand.hh" o="root" g="wheel" p="33188"/><f n="data_viewer.hh" o="root" g="wheel" p="33188"/><f n="data_viewer_panel.hh" o="root" g="wheel" p="33188"/><f n="data_viewer_panel_base.hh" o="root" g="wheel" p="33188"/><f n="draw_overlay.hh" o="root" g="wheel" p="33188"/><f n="drawing_functions.hh" o="root" g="wheel" p="33188"/><f n="fft_panel.hh" o="root" g="wheel" p="33188"/><f n="gauss2d_overlay.hh" o="root" g="wheel" p="33188"/><f n="info_panel.hh" o="root" g="wheel" p="33188"/><f n="iplt2qt.hh" o="root" g="wheel" p="33188"/><f n="mask_overlay.hh" o="root" g="wheel" p="33188"/><f n="null_overlay.hh" o="root" g="wheel" p="33188"/><f n="overlay.hh" o="root" g="wheel" p="33188"/><f n="overlay_base.hh" o="root" g="wheel" p="33188"/><f n="overlay_base_fw.hh" o="root" g="wheel" p="33188"/><f n="overlay_manager.hh" o="root" g="wheel" p="33188"/><f n="overlay_manager_fw.hh" o="root" g="wheel" p="33188"/><f n="overlay_manager_gui.hh" o="root" g="wheel" p="33188"/><f n="overlay_manager_observer.hh" o="root" g="wheel" p="33188"/><f n="pointlist_overlay.hh" o="root" g="wheel" p="33188"/><f n="pointlist_overlay_base.hh" o="root" g="wheel" p="33188"/><f n="strategies.hh" o="root" g="wheel" p="33188"/><f n="strategies_fw.hh" o="root" g="wheel" p="33188"/><f n="viewer_normalizer.hh" o="root" g="wheel" p="33188"/></f><f n="dock_widget.hh" o="root" g="wheel" p="33188"/><f n="file_browser.hh" o="root" g="wheel" p="33188"/><f n="file_loader.hh" o="root" g="wheel" p="33188"/><f n="gl_canvas.hh" o="root" g="wheel" p="33188"/><f n="gl_win.hh" o="root" g="wheel" p="33188"/><f n="gosty_app.hh" o="root" g="wheel" p="33188"/><f n="main.hh" o="root" g="wheel" p="33188"/><f n="main_area.hh" o="root" g="wheel" p="33188"/><f n="main_window.hh" o="root" g="wheel" p="33188"/><f n="mdi_sub_window.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="panel_bar" o="root" g="wheel" p="16877"><f n="bottom_bar.hh" o="root" g="wheel" p="33188"/><f n="button_bar.hh" o="root" g="wheel" p="33188"/><f n="button_box.hh" o="root" g="wheel" p="33188"/><f n="drop_box.hh" o="root" g="wheel" p="33188"/><f n="event_button.hh" o="root" g="wheel" p="33188"/><f n="panel_bar.hh" o="root" g="wheel" p="33188"/><f n="panel_bar_widget_holder.hh" o="root" g="wheel" p="33188"/><f n="panel_widget_container.hh" o="root" g="wheel" p="33188"/><f n="panels.hh" o="root" g="wheel" p="33188"/><f n="side_bar.hh" o="root" g="wheel" p="33188"/><f n="splitter_panel_bar.hh" o="root" g="wheel" p="33188"/><f n="tabbed_panel_bar.hh" o="root" g="wheel" p="33188"/></f><f n="perspective.hh" o="root" g="wheel" p="33188"/><f n="plot_viewer" o="root" g="wheel" p="16877"><f n="plot_axis_base.hh" o="root" g="wheel" p="33188"/><f n="plot_axis_horizontal.hh" o="root" g="wheel" p="33188"/><f n="plot_axis_vertical.hh" o="root" g="wheel" p="33188"/><f n="plot_data.hh" o="root" g="wheel" p="33188"/><f n="plot_data_base.hh" o="root" g="wheel" p="33188"/><f n="plot_data_entry.hh" o="root" g="wheel" p="33188"/><f n="plot_data_graphics_item.hh" o="root" g="wheel" p="33188"/><f n="plot_data_graphics_item_base.hh" o="root" g="wheel" p="33188"/><f n="plot_data_info.hh" o="root" g="wheel" p="33188"/><f n="plot_data_info_fw.hh" o="root" g="wheel" p="33188"/><f n="plot_function.hh" o="root" g="wheel" p="33188"/><f n="plot_function_graphics_item.hh" o="root" g="wheel" p="33188"/><f n="plot_function_info.hh" o="root" g="wheel" p="33188"/><f n="plot_graphics_cross_item.hh" o="root" g="wheel" p="33188"/><f n="plot_graphics_diagonal_cross_item.hh" o="root" g="wheel" p="33188"/><f n="plot_graphics_ellipse_item.hh" o="root" g="wheel" p="33188"/><f n="plot_graphics_rectangle_item.hh" o="root" g="wheel" p="33188"/><f n="plot_group.hh" o="root" g="wheel" p="33188"/><f n="plot_group_graphics_item.hh" o="root" g="wheel" p="33188"/><f n="plot_group_info.hh" o="root" g="wheel" p="33188"/><f n="plot_info_base.hh" o="root" g="wheel" p="33188"/><f n="plot_legend_panel.hh" o="root" g="wheel" p="33188"/><f n="plot_ticker.hh" o="root" g="wheel" p="33188"/><f n="plot_ticker_fw.hh" o="root" g="wheel" p="33188"/><f n="plot_types.hh" o="root" g="wheel" p="33188"/><f n="plot_viewer.hh" o="root" g="wheel" p="33188"/><f n="plot_viewer_panel.hh" o="root" g="wheel" p="33188"/><f n="plot_viewer_proxy.hh" o="root" g="wheel" p="33188"/><f n="plot_viewer_proxy_fw.hh" o="root" g="wheel" p="33188"/></f><f n="python_shell" o="root" g="wheel" p="16877"><f n="completer_base.hh" o="root" g="wheel" p="33188"/><f n="dir_model.hh" o="root" g="wheel" p="33188"/><f n="gutter.hh" o="root" g="wheel" p="33188"/><f n="main_thread_runner.hh" o="root" g="wheel" p="33188"/><f n="output_redirector.hh" o="root" g="wheel" p="33188"/><f n="path_completer.hh" o="root" g="wheel" p="33188"/><f n="python_completer.hh" o="root" g="wheel" p="33188"/><f n="python_context_parser.hh" o="root" g="wheel" p="33188"/><f n="python_interpreter.hh" o="root" g="wheel" p="33188"/><f n="python_interpreter_proxy.hh" o="root" g="wheel" p="33188"/><f n="python_shell.hh" o="root" g="wheel" p="33188"/><f n="python_shell_fw.hh" o="root" g="wheel" p="33188"/><f n="python_shell_text_document_layout.hh" o="root" g="wheel" p="33188"/><f n="python_shell_widget.hh" o="root" g="wheel" p="33188"/><f n="python_syntax_highlighter.hh" o="root" g="wheel" p="33188"/><f n="python_tokenizer.hh" o="root" g="wheel" p="33188"/><f n="shell_history.hh" o="root" g="wheel" p="33188"/><f n="text_logger.hh" o="root" g="wheel" p="33188"/></f><f n="query_dialog.hh" o="root" g="wheel" p="33188"/><f n="remote_loader.hh" o="root" g="wheel" p="33188"/><f n="remote_site_loader.hh" o="root" g="wheel" p="33188"/><f n="scene_menu.hh" o="root" g="wheel" p="33188"/><f n="scene_selection.hh" o="root" g="wheel" p="33188"/><f n="scene_win" o="root" g="wheel" p="16877"><f n="gfx_scene_node.hh" o="root" g="wheel" p="33188"/><f n="root_node.hh" o="root" g="wheel" p="33188"/><f n="scene_node.hh" o="root" g="wheel" p="33188"/><f n="scene_win.hh" o="root" g="wheel" p="33188"/><f n="scene_win_model.hh" o="root" g="wheel" p="33188"/></f><f n="sequence_viewer" o="root" g="wheel" p="16877"><f n="sequence_item.hh" o="root" g="wheel" p="33188"/><f n="sequence_scene.hh" o="root" g="wheel" p="33188"/><f n="sequence_search_bar.hh" o="root" g="wheel" p="33188"/><f n="sequence_viewer.hh" o="root" g="wheel" p="33188"/><f n="sequence_viewer_base.hh" o="root" g="wheel" p="33188"/></f><f n="thin_splitter.hh" o="root" g="wheel" p="33188"/><f n="tools" o="root" g="wheel" p="16877"><f n="manipulator.hh" o="root" g="wheel" p="33188"/><f n="map_tool.hh" o="root" g="wheel" p="33188"/><f n="measure_tool.hh" o="root" g="wheel" p="33188"/><f n="mouse_event.hh" o="root" g="wheel" p="33188"/><f n="selection_tool.hh" o="root" g="wheel" p="33188"/><f n="tool.hh" o="root" g="wheel" p="33188"/><f n="tool_bar.hh" o="root" g="wheel" p="33188"/><f n="tool_manager.hh" o="root" g="wheel" p="33188"/><f n="tool_option.hh" o="root" g="wheel" p="33188"/><f n="tool_option_group.hh" o="root" g="wheel" p="33188"/><f n="tool_options.hh" o="root" g="wheel" p="33188"/><f n="tool_options_widget.hh" o="root" g="wheel" p="33188"/><f n="tool_options_win.hh" o="root" g="wheel" p="33188"/></f><f n="widget.hh" o="root" g="wheel" p="33188"/><f n="widget_geom_handler.hh" o="root" g="wheel" p="33188"/><f n="widget_pool.hh" o="root" g="wheel" p="33188"/><f n="widget_registry.hh" o="root" g="wheel" p="33188"/><f n="widget_state_saver.hh" o="root" g="wheel" p="33188"/></f><f n="info" o="root" g="wheel" p="16877"><f n="geom_info_conversion.hh" o="root" g="wheel" p="33188"/><f n="info.hh" o="root" g="wheel" p="33188"/><f n="info_error.hh" o="root" g="wheel" p="33188"/><f n="info_fw.hh" o="root" g="wheel" p="33188"/><f n="info_group.hh" o="root" g="wheel" p="33188"/><f n="info_handle.hh" o="root" g="wheel" p="33188"/><f n="info_impl.hh" o="root" g="wheel" p="33188"/><f n="info_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="info_item.hh" o="root" g="wheel" p="33188"/><f n="info_path.hh" o="root" g="wheel" p="33188"/><f n="info_set.hh" o="root" g="wheel" p="33188"/><f n="info_verbose_visitor.hh" o="root" g="wheel" p="33188"/><f n="info_visitor.hh" o="root" g="wheel" p="33188"/><f n="item_type.hh" o="root" g="wheel" p="33188"/><f n="item_type_cast.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/></f><f n="integrity_error.hh" o="root" g="wheel" p="33188"/><f n="invalid_handle.hh" o="root" g="wheel" p="33188"/><f n="io" o="root" g="wheel" p="16877"><f n="binary_data_sink.hh" o="root" g="wheel" p="33188"/><f n="binary_data_source.hh" o="root" g="wheel" p="33188"/><f n="clustal_io_handler.hh" o="root" g="wheel" p="33188"/><f n="container_serialization.hh" o="root" g="wheel" p="33188"/><f n="convert.hh" o="root" g="wheel" p="33188"/><f n="convert_vax_data.h" o="root" g="wheel" p="33188"/><f n="converting_streams.hh" o="root" g="wheel" p="33188"/><f n="entity_io_crd_handler.hh" o="root" g="wheel" p="33188"/><f n="entity_io_handler.hh" o="root" g="wheel" p="33188"/><f n="entity_io_pdb_handler.hh" o="root" g="wheel" p="33188"/><f n="entity_io_sdf_handler.hh" o="root" g="wheel" p="33188"/><f n="fasta_io_handler.hh" o="root" g="wheel" p="33188"/><f n="image_format.hh" o="root" g="wheel" p="33188"/><f n="image_format_conversion.cc" o="root" g="wheel" p="33188"/><f n="io_exception.hh" o="root" g="wheel" p="33188"/><f n="io_manager.hh" o="root" g="wheel" p="33188"/><f n="iplt" o="root" g="wheel" p="16877"><f n="convert_vax_data.h" o="root" g="wheel" p="33188"/><f n="image_format.hh" o="root" g="wheel" p="33188"/><f n="image_format_conversion.cc" o="root" g="wheel" p="33188"/><f n="jpk_util.hh" o="root" g="wheel" p="33188"/><f n="load_map.hh" o="root" g="wheel" p="33188"/><f n="map_io_dat_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_dm3_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_dx_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_jpk_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_mrc_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_nanoscope_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_png_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_situs_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_spi_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_tiff_handler.hh" o="root" g="wheel" p="33188"/><f n="tiff_util.hh" o="root" g="wheel" p="33188"/></f><f n="jpk_util.hh" o="root" g="wheel" p="33188"/><f n="load.hh" o="root" g="wheel" p="33188"/><f n="load_entity.hh" o="root" g="wheel" p="33188"/><f n="load_map.hh" o="root" g="wheel" p="33188"/><f n="load_surface.hh" o="root" g="wheel" p="33188"/><f n="map_io_dat_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_dm3_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_dx_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_jpk_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_mrc_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_nanoscope_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_png_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_situs_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_spi_handler.hh" o="root" g="wheel" p="33188"/><f n="map_io_tiff_handler.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="mol" o="root" g="wheel" p="16877"><f n="entity_io_crd_handler.hh" o="root" g="wheel" p="33188"/><f n="entity_io_handler.hh" o="root" g="wheel" p="33188"/><f n="entity_io_pdb_handler.hh" o="root" g="wheel" p="33188"/><f n="entity_io_sdf_handler.hh" o="root" g="wheel" p="33188"/><f n="load_entity.hh" o="root" g="wheel" p="33188"/><f n="load_surface.hh" o="root" g="wheel" p="33188"/><f n="pdb_io.hh" o="root" g="wheel" p="33188"/><f n="pdb_reader.hh" o="root" g="wheel" p="33188"/><f n="pdb_writer.hh" o="root" g="wheel" p="33188"/><f n="save_dcd.hh" o="root" g="wheel" p="33188"/><f n="save_entity.hh" o="root" g="wheel" p="33188"/><f n="star_parser.hh" o="root" g="wheel" p="33188"/><f n="surface_io_handler.hh" o="root" g="wheel" p="33188"/><f n="surface_io_msms_handler.hh" o="root" g="wheel" p="33188"/></f><f n="pdb_io.hh" o="root" g="wheel" p="33188"/><f n="pdb_reader.hh" o="root" g="wheel" p="33188"/><f n="pdb_writer.hh" o="root" g="wheel" p="33188"/><f n="promod_io_handler.hh" o="root" g="wheel" p="33188"/><f n="save.hh" o="root" g="wheel" p="33188"/><f n="save_dcd.hh" o="root" g="wheel" p="33188"/><f n="save_entity.hh" o="root" g="wheel" p="33188"/><f n="seq" o="root" g="wheel" p="16877"><f n="clustal_io_handler.hh" o="root" g="wheel" p="33188"/><f n="fasta_io_handler.hh" o="root" g="wheel" p="33188"/><f n="load.hh" o="root" g="wheel" p="33188"/><f n="promod_io_handler.hh" o="root" g="wheel" p="33188"/><f n="save.hh" o="root" g="wheel" p="33188"/><f n="sequence_io_handler.hh" o="root" g="wheel" p="33188"/></f><f n="sequence_io_handler.hh" o="root" g="wheel" p="33188"/><f n="star_parser.hh" o="root" g="wheel" p="33188"/><f n="surface_io_handler.hh" o="root" g="wheel" p="33188"/><f n="surface_io_msms_handler.hh" o="root" g="wheel" p="33188"/><f n="swap_util.hh" o="root" g="wheel" p="33188"/><f n="tiff_util.hh" o="root" g="wheel" p="33188"/></f><f n="iplt" o="root" g="wheel" p="16877"><f n="alg" o="root" g="wheel" p="16877"><f n="alg_mirror.hh" o="root" g="wheel" p="33188"/><f n="alg_shift.hh" o="root" g="wheel" p="33188"/><f n="alg_transform.hh" o="root" g="wheel" p="33188"/><f n="anisotropic.hh" o="root" g="wheel" p="33188"/><f n="auto_correlate.hh" o="root" g="wheel" p="33188"/><f n="canny.hh" o="root" g="wheel" p="33188"/><f n="circular_mask.hh" o="root" g="wheel" p="33188"/><f n="clear.hh" o="root" g="wheel" p="33188"/><f n="clip_min_max.hh" o="root" g="wheel" p="33188"/><f n="conjugate.hh" o="root" g="wheel" p="33188"/><f n="convolute.hh" o="root" g="wheel" p="33188"/><f n="correlate.hh" o="root" g="wheel" p="33188"/><f n="cross_correlate.hh" o="root" g="wheel" p="33188"/><f n="density_slice.hh" o="root" g="wheel" p="33188"/><f n="dft.hh" o="root" g="wheel" p="33188"/><f n="discrete_shrink.hh" o="root" g="wheel" p="33188"/><f n="fft.hh" o="root" g="wheel" p="33188"/><f n="fftw_helper.hh" o="root" g="wheel" p="33188"/><f n="fill.hh" o="root" g="wheel" p="33188"/><f n="filter.hh" o="root" g="wheel" p="33188"/><f n="filter_base.hh" o="root" g="wheel" p="33188"/><f n="fit_gauss2d.hh" o="root" g="wheel" p="33188"/><f n="fit_gauss2d_expl.hh" o="root" g="wheel" p="33188"/><f n="fourier_filters.hh" o="root" g="wheel" p="33188"/><f n="fractional_shift.hh" o="root" g="wheel" p="33188"/><f n="gauss2d.hh" o="root" g="wheel" p="33188"/><f n="gaussian.hh" o="root" g="wheel" p="33188"/><f n="gaussian_gradient_magnitude.hh" o="root" g="wheel" p="33188"/><f n="gaussian_laplacian.hh" o="root" g="wheel" p="33188"/><f n="highest_peak_search_3d.hh" o="root" g="wheel" p="33188"/><f n="histogram.hh" o="root" g="wheel" p="33188"/><f n="hysteresis.hh" o="root" g="wheel" p="33188"/><f n="levenberg_marquardt.h" o="root" g="wheel" p="33188"/><f n="line_average.hh" o="root" g="wheel" p="33188"/><f n="line_iterator.hh" o="root" g="wheel" p="33188"/><f n="local_sigma_threshold.hh" o="root" g="wheel" p="33188"/><f n="mask_image.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="negate.hh" o="root" g="wheel" p="33188"/><f n="nonmaxsupressor.hh" o="root" g="wheel" p="33188"/><f n="norm.hh" o="root" g="wheel" p="33188"/><f n="norm_linear.hh" o="root" g="wheel" p="33188"/><f n="norm_log.hh" o="root" g="wheel" p="33188"/><f n="norm_od.hh" o="root" g="wheel" p="33188"/><f n="normalizer.hh" o="root" g="wheel" p="33188"/><f n="normalizer_factory.hh" o="root" g="wheel" p="33188"/><f n="numeric.h" o="root" g="wheel" p="33188"/><f n="peak_search.hh" o="root" g="wheel" p="33188"/><f n="polar.hh" o="root" g="wheel" p="33188"/><f n="power_spectrum.hh" o="root" g="wheel" p="33188"/><f n="randomize.hh" o="root" g="wheel" p="33188"/><f n="rscrosscorr.hh" o="root" g="wheel" p="33188"/><f n="smooth_mask_image.hh" o="root" g="wheel" p="33188"/><f n="sobel.hh" o="root" g="wheel" p="33188"/><f n="spread_gauss2d.hh" o="root" g="wheel" p="33188"/><f n="stat.hh" o="root" g="wheel" p="33188"/><f n="stat_min_max.hh" o="root" g="wheel" p="33188"/><f n="threshold.hh" o="root" g="wheel" p="33188"/><f n="transcendentals.hh" o="root" g="wheel" p="33188"/><f n="transform.hh" o="root" g="wheel" p="33188"/><f n="transform_fw.hh" o="root" g="wheel" p="33188"/><f n="transformation_base.hh" o="root" g="wheel" p="33188"/><f n="transformations.hh" o="root" g="wheel" p="33188"/></f><f n="algorithm.hh" o="root" g="wheel" p="33188"/><f n="circle_mask.hh" o="root" g="wheel" p="33188"/><f n="composite_mask.hh" o="root" g="wheel" p="33188"/><f n="data.hh" o="root" g="wheel" p="33188"/><f n="data_algorithm.hh" o="root" g="wheel" p="33188"/><f n="data_observer.hh" o="root" g="wheel" p="33188"/><f n="data_types.hh" o="root" g="wheel" p="33188"/><f n="debug.hh" o="root" g="wheel" p="33188"/><f n="dllexport.hh" o="root" g="wheel" p="33188"/><f n="extent.hh" o="root" g="wheel" p="33188"/><f n="extent_iterator.hh" o="root" g="wheel" p="33188"/><f n="extent_mask.hh" o="root" g="wheel" p="33188"/><f n="function.hh" o="root" g="wheel" p="33188"/><f n="function_base.hh" o="root" g="wheel" p="33188"/><f n="function_fw.hh" o="root" g="wheel" p="33188"/><f n="function_impl.hh" o="root" g="wheel" p="33188"/><f n="image.hh" o="root" g="wheel" p="33188"/><f n="image_factory.hh" o="root" g="wheel" p="33188"/><f n="image_fw.hh" o="root" g="wheel" p="33188"/><f n="image_handle.hh" o="root" g="wheel" p="33188"/><f n="image_handle_fw.hh" o="root" g="wheel" p="33188"/><f n="image_impl.hh" o="root" g="wheel" p="33188"/><f n="image_list.hh" o="root" g="wheel" p="33188"/><f n="image_state" o="root" g="wheel" p="16877"><f n="binop.hh" o="root" g="wheel" p="33188"/><f n="dispatch.hh" o="root" g="wheel" p="33188"/><f n="image_state.hh" o="root" g="wheel" p="33188"/><f n="image_state_algorithm.hh" o="root" g="wheel" p="33188"/><f n="image_state_base.hh" o="root" g="wheel" p="33188"/><f n="image_state_base_fw.hh" o="root" g="wheel" p="33188"/><f n="image_state_def.hh" o="root" g="wheel" p="33188"/><f n="image_state_factory.hh" o="root" g="wheel" p="33188"/><f n="image_state_frequency_domain.hh" o="root" g="wheel" p="33188"/><f n="image_state_fw.hh" o="root" g="wheel" p="33188"/><f n="image_state_half_frequency_domain.hh" o="root" g="wheel" p="33188"/><f n="image_state_impl.hh" o="root" g="wheel" p="33188"/><f n="image_state_spatial_domain.hh" o="root" g="wheel" p="33188"/><f n="image_state_visitor.hh" o="root" g="wheel" p="33188"/><f n="image_state_visitor_fw.hh" o="root" g="wheel" p="33188"/><f n="index.hh" o="root" g="wheel" p="33188"/><f n="type_fw.hh" o="root" g="wheel" p="33188"/><f n="value_holder.hh" o="root" g="wheel" p="33188"/></f><f n="image_state.hh" o="root" g="wheel" p="33188"/><f n="image_state_fw.hh" o="root" g="wheel" p="33188"/><f n="inverted_mask.hh" o="root" g="wheel" p="33188"/><f n="map.hh" o="root" g="wheel" p="33188"/><f n="mask.hh" o="root" g="wheel" p="33188"/><f n="mask_base.hh" o="root" g="wheel" p="33188"/><f n="mask_base_fw.hh" o="root" g="wheel" p="33188"/><f n="mask_op.hh" o="root" g="wheel" p="33188"/><f n="mask_visitor.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="normalizer_fw.hh" o="root" g="wheel" p="33188"/><f n="normalizer_impl.hh" o="root" g="wheel" p="33188"/><f n="null_data.hh" o="root" g="wheel" p="33188"/><f n="null_function.hh" o="root" g="wheel" p="33188"/><f n="observable.hh" o="root" g="wheel" p="33188"/><f n="paste_impl.hh" o="root" g="wheel" p="33188"/><f n="peak.hh" o="root" g="wheel" p="33188"/><f n="phase.hh" o="root" g="wheel" p="33188"/><f n="physical_units.hh" o="root" g="wheel" p="33188"/><f n="pixel_sampling.hh" o="root" g="wheel" p="33188"/><f n="point.hh" o="root" g="wheel" p="33188"/><f n="point_list.hh" o="root" g="wheel" p="33188"/><f n="polygon_mask.hh" o="root" g="wheel" p="33188"/><f n="progress.hh" o="root" g="wheel" p="33188"/><f n="raster_image" o="root" g="wheel" p="16877"><f n="raster_image.hh" o="root" g="wheel" p="33188"/></f><f n="size.hh" o="root" g="wheel" p="33188"/><f n="spherical_mask.hh" o="root" g="wheel" p="33188"/><f n="util.cc" o="root" g="wheel" p="33188"/><f n="util.hh" o="root" g="wheel" p="33188"/><f n="value_util.hh" o="root" g="wheel" p="33188"/><f n="vecmat.hh" o="root" g="wheel" p="33188"/><f n="version.hh" o="root" g="wheel" p="33188"/></f><f n="log.hh" o="root" g="wheel" p="33188"/><f n="message.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="mol" o="root" g="wheel" p="16877"><f n="alg" o="root" g="wheel" p="16877"><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="sec_structure_segments.hh" o="root" g="wheel" p="33188"/><f n="svd_superpose.hh" o="root" g="wheel" p="33188"/></f><f n="atom_base.hh" o="root" g="wheel" p="33188"/><f n="atom_handle.hh" o="root" g="wheel" p="33188"/><f n="atom_prop.hh" o="root" g="wheel" p="33188"/><f n="atom_view.hh" o="root" g="wheel" p="33188"/><f n="bond_handle.hh" o="root" g="wheel" p="33188"/><f n="bond_table.hh" o="root" g="wheel" p="33188"/><f n="bounding_box.hh" o="root" g="wheel" p="33188"/><f n="chain_base.hh" o="root" g="wheel" p="33188"/><f n="chain_handle.hh" o="root" g="wheel" p="33188"/><f n="chain_view.hh" o="root" g="wheel" p="33188"/><f n="chem_class.hh" o="root" g="wheel" p="33188"/><f n="coord_frame.hh" o="root" g="wheel" p="33188"/><f n="coord_group.hh" o="root" g="wheel" p="33188"/><f n="coord_source.hh" o="root" g="wheel" p="33188"/><f n="editor_base.hh" o="root" g="wheel" p="33188"/><f n="editor_type_fw.hh" o="root" g="wheel" p="33188"/><f n="entity.hh" o="root" g="wheel" p="33188"/><f n="entity_base.hh" o="root" g="wheel" p="33188"/><f n="entity_handle.hh" o="root" g="wheel" p="33188"/><f n="entity_observer.hh" o="root" g="wheel" p="33188"/><f n="entity_observer_fw.hh" o="root" g="wheel" p="33188"/><f n="entity_property_mapper.hh" o="root" g="wheel" p="33188"/><f n="entity_view.hh" o="root" g="wheel" p="33188"/><f n="entity_visitor.hh" o="root" g="wheel" p="33188"/><f n="entity_visitor_fw.hh" o="root" g="wheel" p="33188"/><f n="handle_type_fw.hh" o="root" g="wheel" p="33188"/><f n="ics_editor.hh" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="atom_group.hh" o="root" g="wheel" p="33188"/><f n="atom_impl.hh" o="root" g="wheel" p="33188"/><f n="atom_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="chain_impl.hh" o="root" g="wheel" p="33188"/><f n="chain_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="connector_impl.hh" o="root" g="wheel" p="33188"/><f n="connector_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="dihedral.hh" o="root" g="wheel" p="33188"/><f n="entity_impl.hh" o="root" g="wheel" p="33188"/><f n="entity_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="fragment_impl.hh" o="root" g="wheel" p="33188"/><f n="fragment_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="query_ast.hh" o="root" g="wheel" p="33188"/><f n="query_impl.hh" o="root" g="wheel" p="33188"/><f n="query_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="residue_impl.hh" o="root" g="wheel" p="33188"/><f n="residue_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="rsurf_impl.hh" o="root" g="wheel" p="33188"/><f n="surface_impl.hh" o="root" g="wheel" p="33188"/><f n="surface_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="torsion_impl.hh" o="root" g="wheel" p="33188"/><f n="torsion_impl_fw.hh" o="root" g="wheel" p="33188"/></f><f n="in_mem_coord_source.hh" o="root" g="wheel" p="33188"/><f n="iterator.hh" o="root" g="wheel" p="33188"/><f n="iterator_fw.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="not_connected_error.hh" o="root" g="wheel" p="33188"/><f n="property_id.hh" o="root" g="wheel" p="33188"/><f n="query.hh" o="root" g="wheel" p="33188"/><f n="query_error.hh" o="root" g="wheel" p="33188"/><f n="query_state.hh" o="root" g="wheel" p="33188"/><f n="query_view_wrapper.hh" o="root" g="wheel" p="33188"/><f n="residue_base.hh" o="root" g="wheel" p="33188"/><f n="residue_handle.hh" o="root" g="wheel" p="33188"/><f n="residue_prop.hh" o="root" g="wheel" p="33188"/><f n="residue_view.hh" o="root" g="wheel" p="33188"/><f n="sec_structure.hh" o="root" g="wheel" p="33188"/><f n="spatial_organizer.hh" o="root" g="wheel" p="33188"/><f n="surface.hh" o="root" g="wheel" p="33188"/><f n="surface_builder.hh" o="root" g="wheel" p="33188"/><f n="surface_handle.hh" o="root" g="wheel" p="33188"/><f n="surface_prop.hh" o="root" g="wheel" p="33188"/><f n="torsion_handle.hh" o="root" g="wheel" p="33188"/><f n="transform.hh" o="root" g="wheel" p="33188"/><f n="view_op.hh" o="root" g="wheel" p="33188"/><f n="view_type_fw.hh" o="root" g="wheel" p="33188"/><f n="xcs_editor.hh" o="root" g="wheel" p="33188"/></f><f n="platform.hh" o="root" g="wheel" p="33188"/><f n="profile.hh" o="root" g="wheel" p="33188"/><f n="ptr_observer.hh" o="root" g="wheel" p="33188"/><f n="qa" o="root" g="wheel" p="16877"><f n="all_atom_potential.hh" o="root" g="wheel" p="33188"/><f n="amino_acids.hh" o="root" g="wheel" p="33188"/><f n="atom_types.hh" o="root" g="wheel" p="33188"/><f n="ca_distance.hh" o="root" g="wheel" p="33188"/><f n="clash_score.hh" o="root" g="wheel" p="33188"/><f n="histogram.hh" o="root" g="wheel" p="33188"/><f n="index.hh" o="root" g="wheel" p="33188"/><f n="interaction_statistics.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="multi_classifier.hh" o="root" g="wheel" p="33188"/><f n="packing_potential.hh" o="root" g="wheel" p="33188"/><f n="packing_statistics.hh" o="root" g="wheel" p="33188"/><f n="solis_torsion_potential.hh" o="root" g="wheel" p="33188"/><f n="solis_torsion_statistics.hh" o="root" g="wheel" p="33188"/><f n="torsion_potential.hh" o="root" g="wheel" p="33188"/><f n="torsion_statistics.hh" o="root" g="wheel" p="33188"/></f><f n="range.hh" o="root" g="wheel" p="33188"/><f n="seq" o="root" g="wheel" p="16877"><f n="alg" o="root" g="wheel" p="16877"><f n="alignment_opts.hh" o="root" g="wheel" p="33188"/><f n="global_align.hh" o="root" g="wheel" p="33188"/><f n="ins_del.hh" o="root" g="wheel" p="33188"/><f n="local_align.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="sequence_identity.hh" o="root" g="wheel" p="33188"/><f n="subst_weight_matrix.hh" o="root" g="wheel" p="33188"/></f><f n="aligned_column.hh" o="root" g="wheel" p="33188"/><f n="aligned_column_iterator.hh" o="root" g="wheel" p="33188"/><f n="aligned_region.hh" o="root" g="wheel" p="33188"/><f n="alignment_handle.hh" o="root" g="wheel" p="33188"/><f n="impl" o="root" g="wheel" p="16877"><f n="sequence_impl.hh" o="root" g="wheel" p="33188"/><f n="sequence_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="sequence_list_impl.hh" o="root" g="wheel" p="33188"/><f n="sequence_list_impl_fw.hh" o="root" g="wheel" p="33188"/><f n="sequence_list_iterator.hh" o="root" g="wheel" p="33188"/></f><f n="invalid_sequence.hh" o="root" g="wheel" p="33188"/><f n="module_config.hh" o="root" g="wheel" p="33188"/><f n="sequence_handle.hh" o="root" g="wheel" p="33188"/><f n="sequence_list.hh" o="root" g="wheel" p="33188"/><f n="sequence_op.hh" o="root" g="wheel" p="33188"/></f><f n="stdint.hh" o="root" g="wheel" p="33188"/><f n="stdint_msc.hh" o="root" g="wheel" p="33188"/><f n="string_ref.hh" o="root" g="wheel" p="33188"/><f n="units.hh" o="root" g="wheel" p="33188"/></f><f n="phonon" o="root" g="wheel" p="16877"><f n="abstractaudiooutput.h" o="root" g="wheel" p="33188"/><f n="abstractmediastream.h" o="root" g="wheel" p="33188"/><f n="abstractvideooutput.h" o="root" g="wheel" p="33188"/><f n="addoninterface.h" o="root" g="wheel" p="33188"/><f n="audiooutput.h" o="root" g="wheel" p="33188"/><f n="audiooutputinterface.h" o="root" g="wheel" p="33188"/><f n="backendcapabilities.h" o="root" g="wheel" p="33188"/><f n="backendinterface.h" o="root" g="wheel" p="33188"/><f n="effect.h" o="root" g="wheel" p="33188"/><f n="effectinterface.h" o="root" g="wheel" p="33188"/><f n="effectparameter.h" o="root" g="wheel" p="33188"/><f n="effectwidget.h" o="root" g="wheel" p="33188"/><f n="mediacontroller.h" o="root" g="wheel" p="33188"/><f n="medianode.h" o="root" g="wheel" p="33188"/><f n="mediaobject.h" o="root" g="wheel" p="33188"/><f n="mediaobjectinterface.h" o="root" g="wheel" p="33188"/><f n="mediasource.h" o="root" g="wheel" p="33188"/><f n="objectdescription.h" o="root" g="wheel" p="33188"/><f n="objectdescriptionmodel.h" o="root" g="wheel" p="33188"/><f n="path.h" o="root" g="wheel" p="33188"/><f n="Phonon" o="root" g="wheel" p="16877"><f n="AbstractAudioOutput" o="root" g="wheel" p="33188"/><f n="AbstractMediaStream" o="root" g="wheel" p="33188"/><f n="AbstractVideoOutput" o="root" g="wheel" p="33188"/><f n="AddonInterface" o="root" g="wheel" p="33188"/><f n="AudioCaptureDevice" o="root" g="wheel" p="33188"/><f n="AudioCaptureDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioChannelDescription" o="root" g="wheel" p="33188"/><f n="AudioChannelDescriptionModel" o="root" g="wheel" p="33188"/><f n="AudioOutput" o="root" g="wheel" p="33188"/><f n="AudioOutputDevice" o="root" g="wheel" p="33188"/><f n="AudioOutputDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface40" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface42" o="root" g="wheel" p="33188"/><f n="BackendCapabilities" o="root" g="wheel" p="33188"/><f n="BackendInterface" o="root" g="wheel" p="33188"/><f n="Effect" o="root" g="wheel" p="33188"/><f n="EffectDescription" o="root" g="wheel" p="33188"/><f n="EffectDescriptionModel" o="root" g="wheel" p="33188"/><f n="EffectInterface" o="root" g="wheel" p="33188"/><f n="EffectParameter" o="root" g="wheel" p="33188"/><f n="EffectWidget" o="root" g="wheel" p="33188"/><f n="Global" o="root" g="wheel" p="33188"/><f n="MediaController" o="root" g="wheel" p="33188"/><f n="MediaNode" o="root" g="wheel" p="33188"/><f n="MediaObject" o="root" g="wheel" p="33188"/><f n="MediaObjectInterface" o="root" g="wheel" p="33188"/><f n="MediaSource" o="root" g="wheel" p="33188"/><f n="ObjectDescription" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionData" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModel" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModelData" o="root" g="wheel" p="33188"/><f n="Path" o="root" g="wheel" p="33188"/><f n="PlatformPlugin" o="root" g="wheel" p="33188"/><f n="SeekSlider" o="root" g="wheel" p="33188"/><f n="StreamInterface" o="root" g="wheel" p="33188"/><f n="SubtitleDescription" o="root" g="wheel" p="33188"/><f n="SubtitleDescriptionModel" o="root" g="wheel" p="33188"/><f n="VideoPlayer" o="root" g="wheel" p="33188"/><f n="VideoWidget" o="root" g="wheel" p="33188"/><f n="VideoWidgetInterface" o="root" g="wheel" p="33188"/><f n="VolumeFaderEffect" o="root" g="wheel" p="33188"/><f n="VolumeFaderInterface" o="root" g="wheel" p="33188"/><f n="VolumeSlider" o="root" g="wheel" p="33188"/></f><f n="phonon_export.h" o="root" g="wheel" p="33188"/><f n="phonondefs.h" o="root" g="wheel" p="33188"/><f n="phononnamespace.h" o="root" g="wheel" p="33188"/><f n="platformplugin.h" o="root" g="wheel" p="33188"/><f n="seekslider.h" o="root" g="wheel" p="33188"/><f n="streaminterface.h" o="root" g="wheel" p="33188"/><f n="videoplayer.h" o="root" g="wheel" p="33188"/><f n="videowidget.h" o="root" g="wheel" p="33188"/><f n="videowidgetinterface.h" o="root" g="wheel" p="33188"/><f n="volumefadereffect.h" o="root" g="wheel" p="33188"/><f n="volumefaderinterface.h" o="root" g="wheel" p="33188"/><f n="volumeslider.h" o="root" g="wheel" p="33188"/></f><f n="png.h" o="root" g="wheel" p="33188"/><f n="pngconf.h" o="root" g="wheel" p="33188"/><f n="python2.6" o="root" g="wheel" p="16877"><f n="abstract.h" o="root" g="wheel" p="33188"/><f n="asdl.h" o="root" g="wheel" p="33188"/><f n="ast.h" o="root" g="wheel" p="33188"/><f n="bitset.h" o="root" g="wheel" p="33188"/><f n="boolobject.h" o="root" g="wheel" p="33188"/><f n="bufferobject.h" o="root" g="wheel" p="33188"/><f n="bytearrayobject.h" o="root" g="wheel" p="33188"/><f n="bytes_methods.h" o="root" g="wheel" p="33188"/><f n="bytesobject.h" o="root" g="wheel" p="33188"/><f n="cellobject.h" o="root" g="wheel" p="33188"/><f n="ceval.h" o="root" g="wheel" p="33188"/><f n="classobject.h" o="root" g="wheel" p="33188"/><f n="cobject.h" o="root" g="wheel" p="33188"/><f n="code.h" o="root" g="wheel" p="33188"/><f n="codecs.h" o="root" g="wheel" p="33188"/><f n="compile.h" o="root" g="wheel" p="33188"/><f n="complexobject.h" o="root" g="wheel" p="33188"/><f n="cStringIO.h" o="root" g="wheel" p="33188"/><f n="datetime.h" o="root" g="wheel" p="33188"/><f n="descrobject.h" o="root" g="wheel" p="33188"/><f n="dictobject.h" o="root" g="wheel" p="33188"/><f n="enumobject.h" o="root" g="wheel" p="33188"/><f n="errcode.h" o="root" g="wheel" p="33188"/><f n="eval.h" o="root" g="wheel" p="33188"/><f n="fileobject.h" o="root" g="wheel" p="33188"/><f n="floatobject.h" o="root" g="wheel" p="33188"/><f n="frameobject.h" o="root" g="wheel" p="33188"/><f n="funcobject.h" o="root" g="wheel" p="33188"/><f n="genobject.h" o="root" g="wheel" p="33188"/><f n="graminit.h" o="root" g="wheel" p="33188"/><f n="grammar.h" o="root" g="wheel" p="33188"/><f n="import.h" o="root" g="wheel" p="33188"/><f n="intobject.h" o="root" g="wheel" p="33188"/><f n="intrcheck.h" o="root" g="wheel" p="33188"/><f n="iterobject.h" o="root" g="wheel" p="33188"/><f n="listobject.h" o="root" g="wheel" p="33188"/><f n="longintrepr.h" o="root" g="wheel" p="33188"/><f n="longobject.h" o="root" g="wheel" p="33188"/><f n="marshal.h" o="root" g="wheel" p="33188"/><f n="metagrammar.h" o="root" g="wheel" p="33188"/><f n="methodobject.h" o="root" g="wheel" p="33188"/><f n="modsupport.h" o="root" g="wheel" p="33188"/><f n="moduleobject.h" o="root" g="wheel" p="33188"/><f n="node.h" o="root" g="wheel" p="33188"/><f n="object.h" o="root" g="wheel" p="33188"/><f n="objimpl.h" o="root" g="wheel" p="33188"/><f n="opcode.h" o="root" g="wheel" p="33188"/><f n="osdefs.h" o="root" g="wheel" p="33188"/><f n="parsetok.h" o="root" g="wheel" p="33188"/><f n="patchlevel.h" o="root" g="wheel" p="33188"/><f n="pgen.h" o="root" g="wheel" p="33188"/><f n="pgenheaders.h" o="root" g="wheel" p="33188"/><f n="py_curses.h" o="root" g="wheel" p="33188"/><f n="pyarena.h" o="root" g="wheel" p="33188"/><f n="pyconfig.h" o="root" g="wheel" p="33188"/><f n="pydebug.h" o="root" g="wheel" p="33188"/><f n="pyerrors.h" o="root" g="wheel" p="33188"/><f n="pyexpat.h" o="root" g="wheel" p="33188"/><f n="pyfpe.h" o="root" g="wheel" p="33188"/><f n="pygetopt.h" o="root" g="wheel" p="33188"/><f n="pymacconfig.h" o="root" g="wheel" p="33188"/><f n="pymactoolbox.h" o="root" g="wheel" p="33188"/><f n="pymath.h" o="root" g="wheel" p="33188"/><f n="pymem.h" o="root" g="wheel" p="33188"/><f n="pyport.h" o="root" g="wheel" p="33188"/><f n="pystate.h" o="root" g="wheel" p="33188"/><f n="pystrcmp.h" o="root" g="wheel" p="33188"/><f n="pystrtod.h" o="root" g="wheel" p="33188"/><f n="Python-ast.h" o="root" g="wheel" p="33188"/><f n="Python.h" o="root" g="wheel" p="33188"/><f n="pythonrun.h" o="root" g="wheel" p="33188"/><f n="pythread.h" o="root" g="wheel" p="33188"/><f n="rangeobject.h" o="root" g="wheel" p="33188"/><f n="setobject.h" o="root" g="wheel" p="33188"/><f n="sip.h" o="root" g="wheel" p="33188"/><f n="sliceobject.h" o="root" g="wheel" p="33188"/><f n="stringobject.h" o="root" g="wheel" p="33188"/><f n="structmember.h" o="root" g="wheel" p="33188"/><f n="structseq.h" o="root" g="wheel" p="33188"/><f n="symtable.h" o="root" g="wheel" p="33188"/><f n="sysmodule.h" o="root" g="wheel" p="33188"/><f n="timefuncs.h" o="root" g="wheel" p="33188"/><f n="token.h" o="root" g="wheel" p="33188"/><f n="traceback.h" o="root" g="wheel" p="33188"/><f n="tupleobject.h" o="root" g="wheel" p="33188"/><f n="ucnhash.h" o="root" g="wheel" p="33188"/><f n="unicodeobject.h" o="root" g="wheel" p="33188"/><f n="warnings.h" o="root" g="wheel" p="33188"/><f n="weakrefobject.h" o="root" g="wheel" p="33188"/></f><f n="QtUiTools" o="root" g="wheel" p="16877"><f n="QtUiTools" o="root" g="wheel" p="33188"/><f n="QUiLoader" o="root" g="wheel" p="33188"/><f n="quiloader.h" o="root" g="wheel" p="33188"/></f><f n="tiff.h" o="root" g="wheel" p="33188"/><f n="tiffconf.h" o="root" g="wheel" p="33188"/><f n="tiffio.h" o="root" g="wheel" p="33188"/><f n="tiffio.hxx" o="root" g="wheel" p="33188"/><f n="tiffvers.h" o="root" g="wheel" p="33188"/></f><f n="lib" o="root" g="wheel" p="16877"><f n="boost-1.41.0" o="root" g="wheel" p="16877"><f n="Boost-release.cmake" o="root" g="wheel" p="33188"/><f n="Boost.cmake" o="root" g="wheel" p="33188"/><f n="libboost_date_time-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_date_time-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_filesystem-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_filesystem-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_graph-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_graph-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_iostreams-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_iostreams-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_prg_exec_monitor-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_prg_exec_monitor-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_program_options-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_program_options-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_python-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_python-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_regex-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_regex-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_serialization-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_serialization-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_signals-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_signals-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_system-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_system-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_thread-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_thread-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_unit_test_framework-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_unit_test_framework-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_wave-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_wave-mt.dylib" o="root" g="wheel" p="33261"/><f n="libboost_wserialization-mt.1.41.0.dylib" o="root" g="wheel" p="33261"/><f n="libboost_wserialization-mt.dylib" o="root" g="wheel" p="33261"/></f><f n="libfftw3f.a" o="root" g="wheel" p="33188"/><f n="libfftw3f.la" o="root" g="wheel" p="33261"/><f n="libost_base.dylib" o="root" g="wheel" p="33261"/><f n="libost_conop.dylib" o="root" g="wheel" p="33261"/><f n="libost_db.dylib" o="root" g="wheel" p="33261"/><f n="libost_geom.dylib" o="root" g="wheel" p="33261"/><f n="libost_gfx.dylib" o="root" g="wheel" p="33261"/><f n="libost_gui.dylib" o="root" g="wheel" p="33261"/><f n="libost_info.dylib" o="root" g="wheel" p="33261"/><f n="libost_io.dylib" o="root" g="wheel" p="33261"/><f n="libost_iplt.dylib" o="root" g="wheel" p="33261"/><f n="libost_iplt_alg.dylib" o="root" g="wheel" p="33261"/><f n="libost_mol.dylib" o="root" g="wheel" p="33261"/><f n="libost_mol_alg.dylib" o="root" g="wheel" p="33261"/><f n="libost_qa.dylib" o="root" g="wheel" p="33261"/><f n="libost_seq.dylib" o="root" g="wheel" p="33261"/><f n="libost_seq_alg.dylib" o="root" g="wheel" p="33261"/><f n="libphonon.4.3.1.dylib" o="root" g="wheel" p="33261"/><f n="libphonon.4.3.dylib" o="root" g="wheel" p="33261"/><f n="libphonon.4.dylib" o="root" g="wheel" p="33261"/><f n="libphonon.dylib" o="root" g="wheel" p="33261"/><f n="libphonon.la" o="root" g="wheel" p="33188"/><f n="libphonon.prl" o="root" g="wheel" p="33188"/><f n="libpng.3.dylib" o="root" g="wheel" p="33261"/><f n="libpng.a" o="root" g="wheel" p="33188"/><f n="libpng.dylib" o="root" g="wheel" p="33261"/><f n="libpng.la" o="root" g="wheel" p="33261"/><f n="libpng12.0.dylib" o="root" g="wheel" p="33261"/><f n="libpng12.a" o="root" g="wheel" p="33188"/><f n="libpng12.dylib" o="root" g="wheel" p="33261"/><f n="libpng12.la" o="root" g="wheel" p="33261"/><f n="libpython2.6.dylib" o="root" g="wheel" p="33133"/><f n="libQtCLucene.4.5.3.dylib" o="root" g="wheel" p="33261"/><f n="libQtCLucene.4.5.dylib" o="root" g="wheel" p="33261"/><f n="libQtCLucene.4.dylib" o="root" g="wheel" p="33261"/><f n="libQtCLucene.dylib" o="root" g="wheel" p="33261"/><f n="libQtCLucene.la" o="root" g="wheel" p="33188"/><f n="libQtCLucene.prl" o="root" g="wheel" p="33188"/><f n="libQtUiTools.a" o="root" g="wheel" p="33188"/><f n="libQtUiTools.prl" o="root" g="wheel" p="33188"/><f n="libQtUiTools_debug.a" o="root" g="wheel" p="33188"/><f n="libQtUiTools_debug.prl" o="root" g="wheel" p="33188"/><f n="libtiff.3.dylib" o="root" g="wheel" p="33261"/><f n="libtiff.a" o="root" g="wheel" p="33188"/><f n="libtiff.dylib" o="root" g="wheel" p="33261"/><f n="libtiff.la" o="root" g="wheel" p="33261"/><f n="libtiffxx.3.dylib" o="root" g="wheel" p="33261"/><f n="libtiffxx.a" o="root" g="wheel" p="33188"/><f n="libtiffxx.dylib" o="root" g="wheel" p="33261"/><f n="libtiffxx.la" o="root" g="wheel" p="33261"/><f n="openstructure" o="root" g="wheel" p="16877"><f n="ost" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_base.so" o="root" g="wheel" p="33261"/><f n="bindings" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="hbplus.py" o="root" g="wheel" p="33188"/><f n="lga.py" o="root" g="wheel" p="33188"/><f n="msms.py" o="root" g="wheel" p="33188"/></f><f n="conop" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_conop.so" o="root" g="wheel" p="33261"/></f><f n="db" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/></f><f n="geom" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_geom.so" o="root" g="wheel" p="33261"/></f><f n="gfx" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_gfx.so" o="root" g="wheel" p="33261"/></f><f n="gui" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_gui.so" o="root" g="wheel" p="33261"/><f n="init_file_loader.py" o="root" g="wheel" p="33188"/><f n="init_menubar.py" o="root" g="wheel" p="33188"/><f n="scene" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="color_options_widget.py" o="root" g="wheel" p="33188"/><f n="color_select_widget.py" o="root" g="wheel" p="33188"/><f n="combo_options_widget.py" o="root" g="wheel" p="33188"/><f n="cpk_widget.py" o="root" g="wheel" p="33188"/><f n="custom_widget.py" o="root" g="wheel" p="33188"/><f n="gradient_editor_widget.py" o="root" g="wheel" p="33188"/><f n="gradient_info_handler.py" o="root" g="wheel" p="33188"/><f n="gradient_list_model.py" o="root" g="wheel" p="33188"/><f n="gradient_preset_widget.py" o="root" g="wheel" p="33188"/><f n="hsc_widget.py" o="root" g="wheel" p="33188"/><f n="immutable_gradient_info_handler.py" o="root" g="wheel" p="33188"/><f n="immutable_preset_info_handler.py" o="root" g="wheel" p="33188"/><f n="init_inspector.py" o="root" g="wheel" p="33188"/><f n="inspector_widget.py" o="root" g="wheel" p="33188"/><f n="preset.py" o="root" g="wheel" p="33188"/><f n="preset_editor_list_model.py" o="root" g="wheel" p="33188"/><f n="preset_editor_widget.py" o="root" g="wheel" p="33188"/><f n="preset_info_handler.py" o="root" g="wheel" p="33188"/><f n="preset_list_model.py" o="root" g="wheel" p="33188"/><f n="preset_widget.py" o="root" g="wheel" p="33188"/><f n="render_options_widget.py" o="root" g="wheel" p="33188"/><f n="scene_observer_impl.py" o="root" g="wheel" p="33188"/><f n="simple_widget.py" o="root" g="wheel" p="33188"/><f n="sline_widget.py" o="root" g="wheel" p="33188"/><f n="toolbar_options_widget.py" o="root" g="wheel" p="33188"/><f n="trace_widget.py" o="root" g="wheel" p="33188"/><f n="tube_widget.py" o="root" g="wheel" p="33188"/><f n="uniform_color_widget.py" o="root" g="wheel" p="33188"/></f></f><f n="info" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_info.so" o="root" g="wheel" p="33261"/></f><f n="io" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_io.so" o="root" g="wheel" p="33261"/></f><f n="iplt" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_iplt.so" o="root" g="wheel" p="33261"/><f n="alg" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_iplt_alg.so" o="root" g="wheel" p="33261"/></f></f><f n="mol" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_mol.so" o="root" g="wheel" p="33261"/><f n="alg" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_mol_alg.so" o="root" g="wheel" p="33261"/></f></f><f n="qa" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_qa.so" o="root" g="wheel" p="33261"/></f><f n="seq" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_seq.so" o="root" g="wheel" p="33261"/><f n="alg" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="_seq_alg.so" o="root" g="wheel" p="33261"/></f></f><f n="settings.py" o="root" g="wheel" p="33188"/></f></f><f n="phonon.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="AbstractAudioOutput" o="root" g="wheel" p="33188"/><f n="abstractaudiooutput.h" o="root" g="wheel" p="33188"/><f n="AbstractMediaStream" o="root" g="wheel" p="33188"/><f n="abstractmediastream.h" o="root" g="wheel" p="33188"/><f n="AbstractVideoOutput" o="root" g="wheel" p="33188"/><f n="abstractvideooutput.h" o="root" g="wheel" p="33188"/><f n="AddonInterface" o="root" g="wheel" p="33188"/><f n="addoninterface.h" o="root" g="wheel" p="33188"/><f n="AudioCaptureDevice" o="root" g="wheel" p="33188"/><f n="AudioCaptureDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioChannelDescription" o="root" g="wheel" p="33188"/><f n="AudioChannelDescriptionModel" o="root" g="wheel" p="33188"/><f n="AudioOutput" o="root" g="wheel" p="33188"/><f n="audiooutput.h" o="root" g="wheel" p="33188"/><f n="AudioOutputDevice" o="root" g="wheel" p="33188"/><f n="AudioOutputDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface" o="root" g="wheel" p="33188"/><f n="audiooutputinterface.h" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface40" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface42" o="root" g="wheel" p="33188"/><f n="BackendCapabilities" o="root" g="wheel" p="33188"/><f n="backendcapabilities.h" o="root" g="wheel" p="33188"/><f n="BackendInterface" o="root" g="wheel" p="33188"/><f n="backendinterface.h" o="root" g="wheel" p="33188"/><f n="Effect" o="root" g="wheel" p="33188"/><f n="effect.h" o="root" g="wheel" p="33188"/><f n="EffectDescription" o="root" g="wheel" p="33188"/><f n="EffectDescriptionModel" o="root" g="wheel" p="33188"/><f n="EffectInterface" o="root" g="wheel" p="33188"/><f n="effectinterface.h" o="root" g="wheel" p="33188"/><f n="EffectParameter" o="root" g="wheel" p="33188"/><f n="effectparameter.h" o="root" g="wheel" p="33188"/><f n="EffectWidget" o="root" g="wheel" p="33188"/><f n="effectwidget.h" o="root" g="wheel" p="33188"/><f n="Global" o="root" g="wheel" p="33188"/><f n="MediaController" o="root" g="wheel" p="33188"/><f n="mediacontroller.h" o="root" g="wheel" p="33188"/><f n="MediaNode" o="root" g="wheel" p="33188"/><f n="medianode.h" o="root" g="wheel" p="33188"/><f n="MediaObject" o="root" g="wheel" p="33188"/><f n="mediaobject.h" o="root" g="wheel" p="33188"/><f n="MediaObjectInterface" o="root" g="wheel" p="33188"/><f n="mediaobjectinterface.h" o="root" g="wheel" p="33188"/><f n="MediaSource" o="root" g="wheel" p="33188"/><f n="mediasource.h" o="root" g="wheel" p="33188"/><f n="ObjectDescription" o="root" g="wheel" p="33188"/><f n="objectdescription.h" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionData" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModel" o="root" g="wheel" p="33188"/><f n="objectdescriptionmodel.h" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModelData" o="root" g="wheel" p="33188"/><f n="Path" o="root" g="wheel" p="33188"/><f n="path.h" o="root" g="wheel" p="33188"/><f n="Phonon" o="root" g="wheel" p="33188"/><f n="phonon_export.h" o="root" g="wheel" p="33188"/><f n="phonondefs.h" o="root" g="wheel" p="33188"/><f n="phononnamespace.h" o="root" g="wheel" p="33188"/><f n="PlatformPlugin" o="root" g="wheel" p="33188"/><f n="platformplugin.h" o="root" g="wheel" p="33188"/><f n="SeekSlider" o="root" g="wheel" p="33188"/><f n="seekslider.h" o="root" g="wheel" p="33188"/><f n="StreamInterface" o="root" g="wheel" p="33188"/><f n="streaminterface.h" o="root" g="wheel" p="33188"/><f n="SubtitleDescription" o="root" g="wheel" p="33188"/><f n="SubtitleDescriptionModel" o="root" g="wheel" p="33188"/><f n="VideoPlayer" o="root" g="wheel" p="33188"/><f n="videoplayer.h" o="root" g="wheel" p="33188"/><f n="VideoWidget" o="root" g="wheel" p="33188"/><f n="videowidget.h" o="root" g="wheel" p="33188"/><f n="VideoWidgetInterface" o="root" g="wheel" p="33188"/><f n="videowidgetinterface.h" o="root" g="wheel" p="33188"/><f n="VolumeFaderEffect" o="root" g="wheel" p="33188"/><f n="volumefadereffect.h" o="root" g="wheel" p="33188"/><f n="VolumeFaderInterface" o="root" g="wheel" p="33188"/><f n="volumefaderinterface.h" o="root" g="wheel" p="33188"/><f n="VolumeSlider" o="root" g="wheel" p="33188"/><f n="volumeslider.h" o="root" g="wheel" p="33188"/></f><f n="phonon" o="root" g="wheel" p="33261"/><f n="phonon.prl" o="root" g="wheel" p="33188"/><f n="phonon_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="AbstractAudioOutput" o="root" g="wheel" p="33188"/><f n="abstractaudiooutput.h" o="root" g="wheel" p="33188"/><f n="AbstractMediaStream" o="root" g="wheel" p="33188"/><f n="abstractmediastream.h" o="root" g="wheel" p="33188"/><f n="AbstractVideoOutput" o="root" g="wheel" p="33188"/><f n="abstractvideooutput.h" o="root" g="wheel" p="33188"/><f n="AddonInterface" o="root" g="wheel" p="33188"/><f n="addoninterface.h" o="root" g="wheel" p="33188"/><f n="AudioCaptureDevice" o="root" g="wheel" p="33188"/><f n="AudioCaptureDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioChannelDescription" o="root" g="wheel" p="33188"/><f n="AudioChannelDescriptionModel" o="root" g="wheel" p="33188"/><f n="AudioOutput" o="root" g="wheel" p="33188"/><f n="audiooutput.h" o="root" g="wheel" p="33188"/><f n="AudioOutputDevice" o="root" g="wheel" p="33188"/><f n="AudioOutputDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface" o="root" g="wheel" p="33188"/><f n="audiooutputinterface.h" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface40" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface42" o="root" g="wheel" p="33188"/><f n="BackendCapabilities" o="root" g="wheel" p="33188"/><f n="backendcapabilities.h" o="root" g="wheel" p="33188"/><f n="BackendInterface" o="root" g="wheel" p="33188"/><f n="backendinterface.h" o="root" g="wheel" p="33188"/><f n="Effect" o="root" g="wheel" p="33188"/><f n="effect.h" o="root" g="wheel" p="33188"/><f n="EffectDescription" o="root" g="wheel" p="33188"/><f n="EffectDescriptionModel" o="root" g="wheel" p="33188"/><f n="EffectInterface" o="root" g="wheel" p="33188"/><f n="effectinterface.h" o="root" g="wheel" p="33188"/><f n="EffectParameter" o="root" g="wheel" p="33188"/><f n="effectparameter.h" o="root" g="wheel" p="33188"/><f n="EffectWidget" o="root" g="wheel" p="33188"/><f n="effectwidget.h" o="root" g="wheel" p="33188"/><f n="Global" o="root" g="wheel" p="33188"/><f n="MediaController" o="root" g="wheel" p="33188"/><f n="mediacontroller.h" o="root" g="wheel" p="33188"/><f n="MediaNode" o="root" g="wheel" p="33188"/><f n="medianode.h" o="root" g="wheel" p="33188"/><f n="MediaObject" o="root" g="wheel" p="33188"/><f n="mediaobject.h" o="root" g="wheel" p="33188"/><f n="MediaObjectInterface" o="root" g="wheel" p="33188"/><f n="mediaobjectinterface.h" o="root" g="wheel" p="33188"/><f n="MediaSource" o="root" g="wheel" p="33188"/><f n="mediasource.h" o="root" g="wheel" p="33188"/><f n="ObjectDescription" o="root" g="wheel" p="33188"/><f n="objectdescription.h" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionData" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModel" o="root" g="wheel" p="33188"/><f n="objectdescriptionmodel.h" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModelData" o="root" g="wheel" p="33188"/><f n="Path" o="root" g="wheel" p="33188"/><f n="path.h" o="root" g="wheel" p="33188"/><f n="Phonon" o="root" g="wheel" p="33188"/><f n="phonon_export.h" o="root" g="wheel" p="33188"/><f n="phonondefs.h" o="root" g="wheel" p="33188"/><f n="phononnamespace.h" o="root" g="wheel" p="33188"/><f n="PlatformPlugin" o="root" g="wheel" p="33188"/><f n="platformplugin.h" o="root" g="wheel" p="33188"/><f n="SeekSlider" o="root" g="wheel" p="33188"/><f n="seekslider.h" o="root" g="wheel" p="33188"/><f n="StreamInterface" o="root" g="wheel" p="33188"/><f n="streaminterface.h" o="root" g="wheel" p="33188"/><f n="SubtitleDescription" o="root" g="wheel" p="33188"/><f n="SubtitleDescriptionModel" o="root" g="wheel" p="33188"/><f n="VideoPlayer" o="root" g="wheel" p="33188"/><f n="videoplayer.h" o="root" g="wheel" p="33188"/><f n="VideoWidget" o="root" g="wheel" p="33188"/><f n="videowidget.h" o="root" g="wheel" p="33188"/><f n="VideoWidgetInterface" o="root" g="wheel" p="33188"/><f n="videowidgetinterface.h" o="root" g="wheel" p="33188"/><f n="VolumeFaderEffect" o="root" g="wheel" p="33188"/><f n="volumefadereffect.h" o="root" g="wheel" p="33188"/><f n="VolumeFaderInterface" o="root" g="wheel" p="33188"/><f n="volumefaderinterface.h" o="root" g="wheel" p="33188"/><f n="VolumeSlider" o="root" g="wheel" p="33188"/><f n="volumeslider.h" o="root" g="wheel" p="33188"/></f><f n="phonon" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="AbstractAudioOutput" o="root" g="wheel" p="33188"/><f n="abstractaudiooutput.h" o="root" g="wheel" p="33188"/><f n="AbstractMediaStream" o="root" g="wheel" p="33188"/><f n="abstractmediastream.h" o="root" g="wheel" p="33188"/><f n="AbstractVideoOutput" o="root" g="wheel" p="33188"/><f n="abstractvideooutput.h" o="root" g="wheel" p="33188"/><f n="AddonInterface" o="root" g="wheel" p="33188"/><f n="addoninterface.h" o="root" g="wheel" p="33188"/><f n="AudioCaptureDevice" o="root" g="wheel" p="33188"/><f n="AudioCaptureDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioChannelDescription" o="root" g="wheel" p="33188"/><f n="AudioChannelDescriptionModel" o="root" g="wheel" p="33188"/><f n="AudioOutput" o="root" g="wheel" p="33188"/><f n="audiooutput.h" o="root" g="wheel" p="33188"/><f n="AudioOutputDevice" o="root" g="wheel" p="33188"/><f n="AudioOutputDeviceModel" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface" o="root" g="wheel" p="33188"/><f n="audiooutputinterface.h" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface40" o="root" g="wheel" p="33188"/><f n="AudioOutputInterface42" o="root" g="wheel" p="33188"/><f n="BackendCapabilities" o="root" g="wheel" p="33188"/><f n="backendcapabilities.h" o="root" g="wheel" p="33188"/><f n="BackendInterface" o="root" g="wheel" p="33188"/><f n="backendinterface.h" o="root" g="wheel" p="33188"/><f n="Effect" o="root" g="wheel" p="33188"/><f n="effect.h" o="root" g="wheel" p="33188"/><f n="EffectDescription" o="root" g="wheel" p="33188"/><f n="EffectDescriptionModel" o="root" g="wheel" p="33188"/><f n="EffectInterface" o="root" g="wheel" p="33188"/><f n="effectinterface.h" o="root" g="wheel" p="33188"/><f n="EffectParameter" o="root" g="wheel" p="33188"/><f n="effectparameter.h" o="root" g="wheel" p="33188"/><f n="EffectWidget" o="root" g="wheel" p="33188"/><f n="effectwidget.h" o="root" g="wheel" p="33188"/><f n="Global" o="root" g="wheel" p="33188"/><f n="MediaController" o="root" g="wheel" p="33188"/><f n="mediacontroller.h" o="root" g="wheel" p="33188"/><f n="MediaNode" o="root" g="wheel" p="33188"/><f n="medianode.h" o="root" g="wheel" p="33188"/><f n="MediaObject" o="root" g="wheel" p="33188"/><f n="mediaobject.h" o="root" g="wheel" p="33188"/><f n="MediaObjectInterface" o="root" g="wheel" p="33188"/><f n="mediaobjectinterface.h" o="root" g="wheel" p="33188"/><f n="MediaSource" o="root" g="wheel" p="33188"/><f n="mediasource.h" o="root" g="wheel" p="33188"/><f n="ObjectDescription" o="root" g="wheel" p="33188"/><f n="objectdescription.h" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionData" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModel" o="root" g="wheel" p="33188"/><f n="objectdescriptionmodel.h" o="root" g="wheel" p="33188"/><f n="ObjectDescriptionModelData" o="root" g="wheel" p="33188"/><f n="Path" o="root" g="wheel" p="33188"/><f n="path.h" o="root" g="wheel" p="33188"/><f n="Phonon" o="root" g="wheel" p="33188"/><f n="phonon_export.h" o="root" g="wheel" p="33188"/><f n="phonondefs.h" o="root" g="wheel" p="33188"/><f n="phononnamespace.h" o="root" g="wheel" p="33188"/><f n="PlatformPlugin" o="root" g="wheel" p="33188"/><f n="platformplugin.h" o="root" g="wheel" p="33188"/><f n="SeekSlider" o="root" g="wheel" p="33188"/><f n="seekslider.h" o="root" g="wheel" p="33188"/><f n="StreamInterface" o="root" g="wheel" p="33188"/><f n="streaminterface.h" o="root" g="wheel" p="33188"/><f n="SubtitleDescription" o="root" g="wheel" p="33188"/><f n="SubtitleDescriptionModel" o="root" g="wheel" p="33188"/><f n="VideoPlayer" o="root" g="wheel" p="33188"/><f n="videoplayer.h" o="root" g="wheel" p="33188"/><f n="VideoWidget" o="root" g="wheel" p="33188"/><f n="videowidget.h" o="root" g="wheel" p="33188"/><f n="VideoWidgetInterface" o="root" g="wheel" p="33188"/><f n="videowidgetinterface.h" o="root" g="wheel" p="33188"/><f n="VolumeFaderEffect" o="root" g="wheel" p="33188"/><f n="volumefadereffect.h" o="root" g="wheel" p="33188"/><f n="VolumeFaderInterface" o="root" g="wheel" p="33188"/><f n="volumefaderinterface.h" o="root" g="wheel" p="33188"/><f n="VolumeSlider" o="root" g="wheel" p="33188"/><f n="volumeslider.h" o="root" g="wheel" p="33188"/></f><f n="phonon" o="root" g="wheel" p="33261"/></f></f></f><f n="phonon.la" o="root" g="wheel" p="33188"/><f n="pkgconfig" o="root" g="wheel" p="16877"><f n="fftw3f.pc" o="root" g="wheel" p="33188"/><f n="libpng.pc" o="root" g="wheel" p="33188"/><f n="libpng12.pc" o="root" g="wheel" p="33188"/><f n="phonon.pc" o="root" g="wheel" p="33188"/><f n="QtAssistant.pc" o="root" g="wheel" p="33188"/><f n="QtAssistantClient.pc" o="root" g="wheel" p="33188"/><f n="QtCLucene.pc" o="root" g="wheel" p="33188"/><f n="QtCore.pc" o="root" g="wheel" p="33188"/><f n="QtDBus.pc" o="root" g="wheel" p="33188"/><f n="QtDesigner.pc" o="root" g="wheel" p="33188"/><f n="QtDesignerComponents.pc" o="root" g="wheel" p="33188"/><f n="QtGui.pc" o="root" g="wheel" p="33188"/><f n="QtHelp.pc" o="root" g="wheel" p="33188"/><f n="QtNetwork.pc" o="root" g="wheel" p="33188"/><f n="QtOpenGL.pc" o="root" g="wheel" p="33188"/><f n="QtScript.pc" o="root" g="wheel" p="33188"/><f n="QtScriptTools.pc" o="root" g="wheel" p="33188"/><f n="QtSql.pc" o="root" g="wheel" p="33188"/><f n="QtSvg.pc" o="root" g="wheel" p="33188"/><f n="QtTest.pc" o="root" g="wheel" p="33188"/><f n="QtUiTools.pc" o="root" g="wheel" p="33188"/><f n="QtUiTools_debug.pc" o="root" g="wheel" p="33188"/><f n="QtWebKit.pc" o="root" g="wheel" p="33188"/><f n="QtXml.pc" o="root" g="wheel" p="33188"/><f n="QtXmlPatterns.pc" o="root" g="wheel" p="33188"/></f><f n="python2.6" o="root" g="wheel" p="16877"><f n="__future__.py" o="root" g="wheel" p="33188"/><f n="__future__.pyo" o="root" g="wheel" p="33188"/><f n="__phello__.foo.py" o="root" g="wheel" p="33188"/><f n="__phello__.foo.pyo" o="root" g="wheel" p="33188"/><f n="_abcoll.py" o="root" g="wheel" p="33188"/><f n="_abcoll.pyo" o="root" g="wheel" p="33188"/><f n="_LWPCookieJar.py" o="root" g="wheel" p="33188"/><f n="_LWPCookieJar.pyo" o="root" g="wheel" p="33188"/><f n="_MozillaCookieJar.py" o="root" g="wheel" p="33188"/><f n="_MozillaCookieJar.pyo" o="root" g="wheel" p="33188"/><f n="_strptime.py" o="root" g="wheel" p="33188"/><f n="_strptime.pyo" o="root" g="wheel" p="33188"/><f n="_threading_local.py" o="root" g="wheel" p="33188"/><f n="_threading_local.pyo" o="root" g="wheel" p="33188"/><f n="abc.py" o="root" g="wheel" p="33188"/><f n="abc.pyo" o="root" g="wheel" p="33188"/><f n="aifc.py" o="root" g="wheel" p="33188"/><f n="aifc.pyo" o="root" g="wheel" p="33188"/><f n="anydbm.py" o="root" g="wheel" p="33188"/><f n="anydbm.pyo" o="root" g="wheel" p="33188"/><f n="ast.py" o="root" g="wheel" p="33188"/><f n="ast.pyo" o="root" g="wheel" p="33188"/><f n="asynchat.py" o="root" g="wheel" p="33188"/><f n="asynchat.pyo" o="root" g="wheel" p="33188"/><f n="asyncore.py" o="root" g="wheel" p="33188"/><f n="asyncore.pyo" o="root" g="wheel" p="33188"/><f n="atexit.py" o="root" g="wheel" p="33188"/><f n="atexit.pyo" o="root" g="wheel" p="33188"/><f n="audiodev.py" o="root" g="wheel" p="33188"/><f n="audiodev.pyo" o="root" g="wheel" p="33188"/><f n="base64.py" o="root" g="wheel" p="33261"/><f n="base64.pyo" o="root" g="wheel" p="33188"/><f n="BaseHTTPServer.py" o="root" g="wheel" p="33188"/><f n="BaseHTTPServer.pyo" o="root" g="wheel" p="33188"/><f n="Bastion.py" o="root" g="wheel" p="33188"/><f n="Bastion.pyo" o="root" g="wheel" p="33188"/><f n="bdb.py" o="root" g="wheel" p="33188"/><f n="bdb.pyo" o="root" g="wheel" p="33188"/><f n="binhex.py" o="root" g="wheel" p="33188"/><f n="binhex.pyo" o="root" g="wheel" p="33188"/><f n="bisect.py" o="root" g="wheel" p="33188"/><f n="bisect.pyo" o="root" g="wheel" p="33188"/><f n="bsddb" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="db.py" o="root" g="wheel" p="33188"/><f n="db.pyc" o="root" g="wheel" p="33188"/><f n="db.pyo" o="root" g="wheel" p="33188"/><f n="dbobj.py" o="root" g="wheel" p="33188"/><f n="dbobj.pyc" o="root" g="wheel" p="33188"/><f n="dbobj.pyo" o="root" g="wheel" p="33188"/><f n="dbrecio.py" o="root" g="wheel" p="33188"/><f n="dbrecio.pyc" o="root" g="wheel" p="33188"/><f n="dbrecio.pyo" o="root" g="wheel" p="33188"/><f n="dbshelve.py" o="root" g="wheel" p="33188"/><f n="dbshelve.pyc" o="root" g="wheel" p="33188"/><f n="dbshelve.pyo" o="root" g="wheel" p="33188"/><f n="dbtables.py" o="root" g="wheel" p="33188"/><f n="dbtables.pyc" o="root" g="wheel" p="33188"/><f n="dbtables.pyo" o="root" g="wheel" p="33188"/><f n="dbutils.py" o="root" g="wheel" p="33188"/><f n="dbutils.pyc" o="root" g="wheel" p="33188"/><f n="dbutils.pyo" o="root" g="wheel" p="33188"/><f n="test" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="test_all.py" o="root" g="wheel" p="33188"/><f n="test_all.pyc" o="root" g="wheel" p="33188"/><f n="test_all.pyo" o="root" g="wheel" p="33188"/><f n="test_associate.py" o="root" g="wheel" p="33188"/><f n="test_associate.pyc" o="root" g="wheel" p="33188"/><f n="test_associate.pyo" o="root" g="wheel" p="33188"/><f n="test_basics.py" o="root" g="wheel" p="33188"/><f n="test_basics.pyc" o="root" g="wheel" p="33188"/><f n="test_basics.pyo" o="root" g="wheel" p="33188"/><f n="test_compare.py" o="root" g="wheel" p="33188"/><f n="test_compare.pyc" o="root" g="wheel" p="33188"/><f n="test_compare.pyo" o="root" g="wheel" p="33188"/><f n="test_compat.py" o="root" g="wheel" p="33188"/><f n="test_compat.pyc" o="root" g="wheel" p="33188"/><f n="test_compat.pyo" o="root" g="wheel" p="33188"/><f n="test_cursor_pget_bug.py" o="root" g="wheel" p="33188"/><f n="test_cursor_pget_bug.pyc" o="root" g="wheel" p="33188"/><f n="test_cursor_pget_bug.pyo" o="root" g="wheel" p="33188"/><f n="test_dbobj.py" o="root" g="wheel" p="33188"/><f n="test_dbobj.pyc" o="root" g="wheel" p="33188"/><f n="test_dbobj.pyo" o="root" g="wheel" p="33188"/><f n="test_dbshelve.py" o="root" g="wheel" p="33188"/><f n="test_dbshelve.pyc" o="root" g="wheel" p="33188"/><f n="test_dbshelve.pyo" o="root" g="wheel" p="33188"/><f n="test_dbtables.py" o="root" g="wheel" p="33188"/><f n="test_dbtables.pyc" o="root" g="wheel" p="33188"/><f n="test_dbtables.pyo" o="root" g="wheel" p="33188"/><f n="test_distributed_transactions.py" o="root" g="wheel" p="33188"/><f n="test_distributed_transactions.pyc" o="root" g="wheel" p="33188"/><f n="test_distributed_transactions.pyo" o="root" g="wheel" p="33188"/><f n="test_early_close.py" o="root" g="wheel" p="33188"/><f n="test_early_close.pyc" o="root" g="wheel" p="33188"/><f n="test_early_close.pyo" o="root" g="wheel" p="33188"/><f n="test_get_none.py" o="root" g="wheel" p="33188"/><f n="test_get_none.pyc" o="root" g="wheel" p="33188"/><f n="test_get_none.pyo" o="root" g="wheel" p="33188"/><f n="test_join.py" o="root" g="wheel" p="33188"/><f n="test_join.pyc" o="root" g="wheel" p="33188"/><f n="test_join.pyo" o="root" g="wheel" p="33188"/><f n="test_lock.py" o="root" g="wheel" p="33188"/><f n="test_lock.pyc" o="root" g="wheel" p="33188"/><f n="test_lock.pyo" o="root" g="wheel" p="33188"/><f n="test_misc.py" o="root" g="wheel" p="33188"/><f n="test_misc.pyc" o="root" g="wheel" p="33188"/><f n="test_misc.pyo" o="root" g="wheel" p="33188"/><f n="test_pickle.py" o="root" g="wheel" p="33188"/><f n="test_pickle.pyc" o="root" g="wheel" p="33188"/><f n="test_pickle.pyo" o="root" g="wheel" p="33188"/><f n="test_queue.py" o="root" g="wheel" p="33188"/><f n="test_queue.pyc" o="root" g="wheel" p="33188"/><f n="test_queue.pyo" o="root" g="wheel" p="33188"/><f n="test_recno.py" o="root" g="wheel" p="33188"/><f n="test_recno.pyc" o="root" g="wheel" p="33188"/><f n="test_recno.pyo" o="root" g="wheel" p="33188"/><f n="test_replication.py" o="root" g="wheel" p="33188"/><f n="test_replication.pyc" o="root" g="wheel" p="33188"/><f n="test_replication.pyo" o="root" g="wheel" p="33188"/><f n="test_sequence.py" o="root" g="wheel" p="33188"/><f n="test_sequence.pyc" o="root" g="wheel" p="33188"/><f n="test_sequence.pyo" o="root" g="wheel" p="33188"/><f n="test_thread.py" o="root" g="wheel" p="33188"/><f n="test_thread.pyc" o="root" g="wheel" p="33188"/><f n="test_thread.pyo" o="root" g="wheel" p="33188"/></f></f><f n="calendar.py" o="root" g="wheel" p="33188"/><f n="calendar.pyo" o="root" g="wheel" p="33188"/><f n="cgi.py" o="root" g="wheel" p="33261"/><f n="cgi.pyo" o="root" g="wheel" p="33188"/><f n="CGIHTTPServer.py" o="root" g="wheel" p="33188"/><f n="CGIHTTPServer.pyo" o="root" g="wheel" p="33188"/><f n="cgitb.py" o="root" g="wheel" p="33188"/><f n="cgitb.pyo" o="root" g="wheel" p="33188"/><f n="chunk.py" o="root" g="wheel" p="33188"/><f n="chunk.pyo" o="root" g="wheel" p="33188"/><f n="cmd.py" o="root" g="wheel" p="33188"/><f n="cmd.pyo" o="root" g="wheel" p="33188"/><f n="code.py" o="root" g="wheel" p="33188"/><f n="code.pyo" o="root" g="wheel" p="33188"/><f n="codecs.py" o="root" g="wheel" p="33188"/><f n="codecs.pyo" o="root" g="wheel" p="33188"/><f n="codeop.py" o="root" g="wheel" p="33188"/><f n="codeop.pyo" o="root" g="wheel" p="33188"/><f n="collections.py" o="root" g="wheel" p="33188"/><f n="collections.pyo" o="root" g="wheel" p="33188"/><f n="colorsys.py" o="root" g="wheel" p="33188"/><f n="colorsys.pyo" o="root" g="wheel" p="33188"/><f n="commands.py" o="root" g="wheel" p="33188"/><f n="commands.pyo" o="root" g="wheel" p="33188"/><f n="compileall.py" o="root" g="wheel" p="33188"/><f n="compileall.pyo" o="root" g="wheel" p="33188"/><f n="compiler" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="ast.py" o="root" g="wheel" p="33188"/><f n="ast.pyc" o="root" g="wheel" p="33188"/><f n="ast.pyo" o="root" g="wheel" p="33188"/><f n="consts.py" o="root" g="wheel" p="33188"/><f n="consts.pyc" o="root" g="wheel" p="33188"/><f n="consts.pyo" o="root" g="wheel" p="33188"/><f n="future.py" o="root" g="wheel" p="33188"/><f n="future.pyc" o="root" g="wheel" p="33188"/><f n="future.pyo" o="root" g="wheel" p="33188"/><f n="misc.py" o="root" g="wheel" p="33188"/><f n="misc.pyc" o="root" g="wheel" p="33188"/><f n="misc.pyo" o="root" g="wheel" p="33188"/><f n="pyassem.py" o="root" g="wheel" p="33188"/><f n="pyassem.pyc" o="root" g="wheel" p="33188"/><f n="pyassem.pyo" o="root" g="wheel" p="33188"/><f n="pycodegen.py" o="root" g="wheel" p="33188"/><f n="pycodegen.pyc" o="root" g="wheel" p="33188"/><f n="pycodegen.pyo" o="root" g="wheel" p="33188"/><f n="symbols.py" o="root" g="wheel" p="33188"/><f n="symbols.pyc" o="root" g="wheel" p="33188"/><f n="symbols.pyo" o="root" g="wheel" p="33188"/><f n="syntax.py" o="root" g="wheel" p="33188"/><f n="syntax.pyc" o="root" g="wheel" p="33188"/><f n="syntax.pyo" o="root" g="wheel" p="33188"/><f n="transformer.py" o="root" g="wheel" p="33188"/><f n="transformer.pyc" o="root" g="wheel" p="33188"/><f n="transformer.pyo" o="root" g="wheel" p="33188"/><f n="visitor.py" o="root" g="wheel" p="33188"/><f n="visitor.pyc" o="root" g="wheel" p="33188"/><f n="visitor.pyo" o="root" g="wheel" p="33188"/></f><f n="config" o="root" g="wheel" p="16877"><f n="config.c" o="root" g="wheel" p="33188"/><f n="config.c.in" o="root" g="wheel" p="33188"/><f n="install-sh" o="root" g="wheel" p="33261"/><f n="libpython2.6.a" o="root" g="wheel" p="33188"/><f n="Makefile" o="root" g="wheel" p="33188"/><f n="makesetup" o="root" g="wheel" p="33261"/><f n="python.o" o="root" g="wheel" p="33188"/><f n="Setup" o="root" g="wheel" p="33188"/><f n="Setup.config" o="root" g="wheel" p="33188"/><f n="Setup.local" o="root" g="wheel" p="33188"/></f><f n="ConfigParser.py" o="root" g="wheel" p="33188"/><f n="ConfigParser.pyo" o="root" g="wheel" p="33188"/><f n="contextlib.py" o="root" g="wheel" p="33188"/><f n="contextlib.pyo" o="root" g="wheel" p="33188"/><f n="Cookie.py" o="root" g="wheel" p="33188"/><f n="Cookie.pyo" o="root" g="wheel" p="33188"/><f n="cookielib.py" o="root" g="wheel" p="33188"/><f n="cookielib.pyo" o="root" g="wheel" p="33188"/><f n="copy.py" o="root" g="wheel" p="33188"/><f n="copy.pyo" o="root" g="wheel" p="33188"/><f n="copy_reg.py" o="root" g="wheel" p="33188"/><f n="copy_reg.pyo" o="root" g="wheel" p="33188"/><f n="cProfile.py" o="root" g="wheel" p="33261"/><f n="cProfile.pyo" o="root" g="wheel" p="33188"/><f n="csv.py" o="root" g="wheel" p="33188"/><f n="csv.pyo" o="root" g="wheel" p="33188"/><f n="ctypes" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="_endian.py" o="root" g="wheel" p="33188"/><f n="_endian.pyc" o="root" g="wheel" p="33188"/><f n="_endian.pyo" o="root" g="wheel" p="33188"/><f n="macholib" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="dyld.py" o="root" g="wheel" p="33188"/><f n="dyld.pyc" o="root" g="wheel" p="33188"/><f n="dyld.pyo" o="root" g="wheel" p="33188"/><f n="dylib.py" o="root" g="wheel" p="33188"/><f n="dylib.pyc" o="root" g="wheel" p="33188"/><f n="dylib.pyo" o="root" g="wheel" p="33188"/><f n="fetch_macholib" o="root" g="wheel" p="33261"/><f n="fetch_macholib.bat" o="root" g="wheel" p="33188"/><f n="framework.py" o="root" g="wheel" p="33188"/><f n="framework.pyc" o="root" g="wheel" p="33188"/><f n="framework.pyo" o="root" g="wheel" p="33188"/><f n="README.ctypes" o="root" g="wheel" p="33188"/></f><f n="test" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="runtests.py" o="root" g="wheel" p="33188"/><f n="runtests.pyc" o="root" g="wheel" p="33188"/><f n="runtests.pyo" o="root" g="wheel" p="33188"/><f n="test_anon.py" o="root" g="wheel" p="33188"/><f n="test_anon.pyc" o="root" g="wheel" p="33188"/><f n="test_anon.pyo" o="root" g="wheel" p="33188"/><f n="test_array_in_pointer.py" o="root" g="wheel" p="33188"/><f n="test_array_in_pointer.pyc" o="root" g="wheel" p="33188"/><f n="test_array_in_pointer.pyo" o="root" g="wheel" p="33188"/><f n="test_arrays.py" o="root" g="wheel" p="33188"/><f n="test_arrays.pyc" o="root" g="wheel" p="33188"/><f n="test_arrays.pyo" o="root" g="wheel" p="33188"/><f n="test_as_parameter.py" o="root" g="wheel" p="33188"/><f n="test_as_parameter.pyc" o="root" g="wheel" p="33188"/><f n="test_as_parameter.pyo" o="root" g="wheel" p="33188"/><f n="test_bitfields.py" o="root" g="wheel" p="33188"/><f n="test_bitfields.pyc" o="root" g="wheel" p="33188"/><f n="test_bitfields.pyo" o="root" g="wheel" p="33188"/><f n="test_buffers.py" o="root" g="wheel" p="33188"/><f n="test_buffers.pyc" o="root" g="wheel" p="33188"/><f n="test_buffers.pyo" o="root" g="wheel" p="33188"/><f n="test_byteswap.py" o="root" g="wheel" p="33188"/><f n="test_byteswap.pyc" o="root" g="wheel" p="33188"/><f n="test_byteswap.pyo" o="root" g="wheel" p="33188"/><f n="test_callbacks.py" o="root" g="wheel" p="33188"/><f n="test_callbacks.pyc" o="root" g="wheel" p="33188"/><f n="test_callbacks.pyo" o="root" g="wheel" p="33188"/><f n="test_cast.py" o="root" g="wheel" p="33188"/><f n="test_cast.pyc" o="root" g="wheel" p="33188"/><f n="test_cast.pyo" o="root" g="wheel" p="33188"/><f n="test_cfuncs.py" o="root" g="wheel" p="33188"/><f n="test_cfuncs.pyc" o="root" g="wheel" p="33188"/><f n="test_cfuncs.pyo" o="root" g="wheel" p="33188"/><f n="test_checkretval.py" o="root" g="wheel" p="33188"/><f n="test_checkretval.pyc" o="root" g="wheel" p="33188"/><f n="test_checkretval.pyo" o="root" g="wheel" p="33188"/><f n="test_delattr.py" o="root" g="wheel" p="33188"/><f n="test_delattr.pyc" o="root" g="wheel" p="33188"/><f n="test_delattr.pyo" o="root" g="wheel" p="33188"/><f n="test_errcheck.py" o="root" g="wheel" p="33188"/><f n="test_errcheck.pyc" o="root" g="wheel" p="33188"/><f n="test_errcheck.pyo" o="root" g="wheel" p="33188"/><f n="test_errno.py" o="root" g="wheel" p="33188"/><f n="test_errno.pyc" o="root" g="wheel" p="33188"/><f n="test_errno.pyo" o="root" g="wheel" p="33188"/><f n="test_find.py" o="root" g="wheel" p="33188"/><f n="test_find.pyc" o="root" g="wheel" p="33188"/><f n="test_find.pyo" o="root" g="wheel" p="33188"/><f n="test_frombuffer.py" o="root" g="wheel" p="33188"/><f n="test_frombuffer.pyc" o="root" g="wheel" p="33188"/><f n="test_frombuffer.pyo" o="root" g="wheel" p="33188"/><f n="test_funcptr.py" o="root" g="wheel" p="33188"/><f n="test_funcptr.pyc" o="root" g="wheel" p="33188"/><f n="test_funcptr.pyo" o="root" g="wheel" p="33188"/><f n="test_functions.py" o="root" g="wheel" p="33188"/><f n="test_functions.pyc" o="root" g="wheel" p="33188"/><f n="test_functions.pyo" o="root" g="wheel" p="33188"/><f n="test_incomplete.py" o="root" g="wheel" p="33188"/><f n="test_incomplete.pyc" o="root" g="wheel" p="33188"/><f n="test_incomplete.pyo" o="root" g="wheel" p="33188"/><f n="test_init.py" o="root" g="wheel" p="33188"/><f n="test_init.pyc" o="root" g="wheel" p="33188"/><f n="test_init.pyo" o="root" g="wheel" p="33188"/><f n="test_integers.py" o="root" g="wheel" p="33188"/><f n="test_integers.pyc" o="root" g="wheel" p="33188"/><f n="test_integers.pyo" o="root" g="wheel" p="33188"/><f n="test_internals.py" o="root" g="wheel" p="33188"/><f n="test_internals.pyc" o="root" g="wheel" p="33188"/><f n="test_internals.pyo" o="root" g="wheel" p="33188"/><f n="test_keeprefs.py" o="root" g="wheel" p="33188"/><f n="test_keeprefs.pyc" o="root" g="wheel" p="33188"/><f n="test_keeprefs.pyo" o="root" g="wheel" p="33188"/><f n="test_libc.py" o="root" g="wheel" p="33188"/><f n="test_libc.pyc" o="root" g="wheel" p="33188"/><f n="test_libc.pyo" o="root" g="wheel" p="33188"/><f n="test_loading.py" o="root" g="wheel" p="33188"/><f n="test_loading.pyc" o="root" g="wheel" p="33188"/><f n="test_loading.pyo" o="root" g="wheel" p="33188"/><f n="test_macholib.py" o="root" g="wheel" p="33188"/><f n="test_macholib.pyc" o="root" g="wheel" p="33188"/><f n="test_macholib.pyo" o="root" g="wheel" p="33188"/><f n="test_memfunctions.py" o="root" g="wheel" p="33188"/><f n="test_memfunctions.pyc" o="root" g="wheel" p="33188"/><f n="test_memfunctions.pyo" o="root" g="wheel" p="33188"/><f n="test_numbers.py" o="root" g="wheel" p="33188"/><f n="test_numbers.pyc" o="root" g="wheel" p="33188"/><f n="test_numbers.pyo" o="root" g="wheel" p="33188"/><f n="test_objects.py" o="root" g="wheel" p="33188"/><f n="test_objects.pyc" o="root" g="wheel" p="33188"/><f n="test_objects.pyo" o="root" g="wheel" p="33188"/><f n="test_parameters.py" o="root" g="wheel" p="33188"/><f n="test_parameters.pyc" o="root" g="wheel" p="33188"/><f n="test_parameters.pyo" o="root" g="wheel" p="33188"/><f n="test_pep3118.py" o="root" g="wheel" p="33188"/><f n="test_pep3118.pyc" o="root" g="wheel" p="33188"/><f n="test_pep3118.pyo" o="root" g="wheel" p="33188"/><f n="test_pickling.py" o="root" g="wheel" p="33188"/><f n="test_pickling.pyc" o="root" g="wheel" p="33188"/><f n="test_pickling.pyo" o="root" g="wheel" p="33188"/><f n="test_pointers.py" o="root" g="wheel" p="33188"/><f n="test_pointers.pyc" o="root" g="wheel" p="33188"/><f n="test_pointers.pyo" o="root" g="wheel" p="33188"/><f n="test_prototypes.py" o="root" g="wheel" p="33188"/><f n="test_prototypes.pyc" o="root" g="wheel" p="33188"/><f n="test_prototypes.pyo" o="root" g="wheel" p="33188"/><f n="test_python_api.py" o="root" g="wheel" p="33188"/><f n="test_python_api.pyc" o="root" g="wheel" p="33188"/><f n="test_python_api.pyo" o="root" g="wheel" p="33188"/><f n="test_random_things.py" o="root" g="wheel" p="33188"/><f n="test_random_things.pyc" o="root" g="wheel" p="33188"/><f n="test_random_things.pyo" o="root" g="wheel" p="33188"/><f n="test_refcounts.py" o="root" g="wheel" p="33188"/><f n="test_refcounts.pyc" o="root" g="wheel" p="33188"/><f n="test_refcounts.pyo" o="root" g="wheel" p="33188"/><f n="test_repr.py" o="root" g="wheel" p="33188"/><f n="test_repr.pyc" o="root" g="wheel" p="33188"/><f n="test_repr.pyo" o="root" g="wheel" p="33188"/><f n="test_returnfuncptrs.py" o="root" g="wheel" p="33188"/><f n="test_returnfuncptrs.pyc" o="root" g="wheel" p="33188"/><f n="test_returnfuncptrs.pyo" o="root" g="wheel" p="33188"/><f n="test_simplesubclasses.py" o="root" g="wheel" p="33188"/><f n="test_simplesubclasses.pyc" o="root" g="wheel" p="33188"/><f n="test_simplesubclasses.pyo" o="root" g="wheel" p="33188"/><f n="test_sizes.py" o="root" g="wheel" p="33188"/><f n="test_sizes.pyc" o="root" g="wheel" p="33188"/><f n="test_sizes.pyo" o="root" g="wheel" p="33188"/><f n="test_slicing.py" o="root" g="wheel" p="33188"/><f n="test_slicing.pyc" o="root" g="wheel" p="33188"/><f n="test_slicing.pyo" o="root" g="wheel" p="33188"/><f n="test_stringptr.py" o="root" g="wheel" p="33188"/><f n="test_stringptr.pyc" o="root" g="wheel" p="33188"/><f n="test_stringptr.pyo" o="root" g="wheel" p="33188"/><f n="test_strings.py" o="root" g="wheel" p="33188"/><f n="test_strings.pyc" o="root" g="wheel" p="33188"/><f n="test_strings.pyo" o="root" g="wheel" p="33188"/><f n="test_struct_fields.py" o="root" g="wheel" p="33188"/><f n="test_struct_fields.pyc" o="root" g="wheel" p="33188"/><f n="test_struct_fields.pyo" o="root" g="wheel" p="33188"/><f n="test_structures.py" o="root" g="wheel" p="33188"/><f n="test_structures.pyc" o="root" g="wheel" p="33188"/><f n="test_structures.pyo" o="root" g="wheel" p="33188"/><f n="test_unaligned_structures.py" o="root" g="wheel" p="33188"/><f n="test_unaligned_structures.pyc" o="root" g="wheel" p="33188"/><f n="test_unaligned_structures.pyo" o="root" g="wheel" p="33188"/><f n="test_unicode.py" o="root" g="wheel" p="33188"/><f n="test_unicode.pyc" o="root" g="wheel" p="33188"/><f n="test_unicode.pyo" o="root" g="wheel" p="33188"/><f n="test_values.py" o="root" g="wheel" p="33188"/><f n="test_values.pyc" o="root" g="wheel" p="33188"/><f n="test_values.pyo" o="root" g="wheel" p="33188"/><f n="test_varsize_struct.py" o="root" g="wheel" p="33188"/><f n="test_varsize_struct.pyc" o="root" g="wheel" p="33188"/><f n="test_varsize_struct.pyo" o="root" g="wheel" p="33188"/><f n="test_win32.py" o="root" g="wheel" p="33188"/><f n="test_win32.pyc" o="root" g="wheel" p="33188"/><f n="test_win32.pyo" o="root" g="wheel" p="33188"/></f><f n="util.py" o="root" g="wheel" p="33188"/><f n="util.pyc" o="root" g="wheel" p="33188"/><f n="util.pyo" o="root" g="wheel" p="33188"/><f n="wintypes.py" o="root" g="wheel" p="33188"/><f n="wintypes.pyc" o="root" g="wheel" p="33188"/><f n="wintypes.pyo" o="root" g="wheel" p="33188"/></f><f n="curses" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="ascii.py" o="root" g="wheel" p="33188"/><f n="ascii.pyc" o="root" g="wheel" p="33188"/><f n="ascii.pyo" o="root" g="wheel" p="33188"/><f n="has_key.py" o="root" g="wheel" p="33188"/><f n="has_key.pyc" o="root" g="wheel" p="33188"/><f n="has_key.pyo" o="root" g="wheel" p="33188"/><f n="panel.py" o="root" g="wheel" p="33188"/><f n="panel.pyc" o="root" g="wheel" p="33188"/><f n="panel.pyo" o="root" g="wheel" p="33188"/><f n="textpad.py" o="root" g="wheel" p="33188"/><f n="textpad.pyc" o="root" g="wheel" p="33188"/><f n="textpad.pyo" o="root" g="wheel" p="33188"/><f n="wrapper.py" o="root" g="wheel" p="33188"/><f n="wrapper.pyc" o="root" g="wheel" p="33188"/><f n="wrapper.pyo" o="root" g="wheel" p="33188"/></f><f n="dbhash.py" o="root" g="wheel" p="33188"/><f n="dbhash.pyo" o="root" g="wheel" p="33188"/><f n="decimal.py" o="root" g="wheel" p="33188"/><f n="decimal.pyo" o="root" g="wheel" p="33188"/><f n="difflib.py" o="root" g="wheel" p="33188"/><f n="difflib.pyo" o="root" g="wheel" p="33188"/><f n="dircache.py" o="root" g="wheel" p="33188"/><f n="dircache.pyo" o="root" g="wheel" p="33188"/><f n="dis.py" o="root" g="wheel" p="33188"/><f n="dis.pyo" o="root" g="wheel" p="33188"/><f n="distutils" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="archive_util.py" o="root" g="wheel" p="33188"/><f n="archive_util.pyc" o="root" g="wheel" p="33188"/><f n="archive_util.pyo" o="root" g="wheel" p="33188"/><f n="bcppcompiler.py" o="root" g="wheel" p="33188"/><f n="bcppcompiler.pyc" o="root" g="wheel" p="33188"/><f n="bcppcompiler.pyo" o="root" g="wheel" p="33188"/><f n="ccompiler.py" o="root" g="wheel" p="33188"/><f n="ccompiler.pyc" o="root" g="wheel" p="33188"/><f n="ccompiler.pyo" o="root" g="wheel" p="33188"/><f n="cmd.py" o="root" g="wheel" p="33188"/><f n="cmd.pyc" o="root" g="wheel" p="33188"/><f n="cmd.pyo" o="root" g="wheel" p="33188"/><f n="command" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="bdist.py" o="root" g="wheel" p="33188"/><f n="bdist.pyc" o="root" g="wheel" p="33188"/><f n="bdist.pyo" o="root" g="wheel" p="33188"/><f n="bdist_dumb.py" o="root" g="wheel" p="33188"/><f n="bdist_dumb.pyc" o="root" g="wheel" p="33188"/><f n="bdist_dumb.pyo" o="root" g="wheel" p="33188"/><f n="bdist_msi.py" o="root" g="wheel" p="33188"/><f n="bdist_msi.pyc" o="root" g="wheel" p="33188"/><f n="bdist_msi.pyo" o="root" g="wheel" p="33188"/><f n="bdist_rpm.py" o="root" g="wheel" p="33188"/><f n="bdist_rpm.pyc" o="root" g="wheel" p="33188"/><f n="bdist_rpm.pyo" o="root" g="wheel" p="33188"/><f n="bdist_wininst.py" o="root" g="wheel" p="33188"/><f n="bdist_wininst.pyc" o="root" g="wheel" p="33188"/><f n="bdist_wininst.pyo" o="root" g="wheel" p="33188"/><f n="build.py" o="root" g="wheel" p="33188"/><f n="build.pyc" o="root" g="wheel" p="33188"/><f n="build.pyo" o="root" g="wheel" p="33188"/><f n="build_clib.py" o="root" g="wheel" p="33188"/><f n="build_clib.pyc" o="root" g="wheel" p="33188"/><f n="build_clib.pyo" o="root" g="wheel" p="33188"/><f n="build_ext.py" o="root" g="wheel" p="33188"/><f n="build_ext.pyc" o="root" g="wheel" p="33188"/><f n="build_ext.pyo" o="root" g="wheel" p="33188"/><f n="build_py.py" o="root" g="wheel" p="33188"/><f n="build_py.pyc" o="root" g="wheel" p="33188"/><f n="build_py.pyo" o="root" g="wheel" p="33188"/><f n="build_scripts.py" o="root" g="wheel" p="33188"/><f n="build_scripts.pyc" o="root" g="wheel" p="33188"/><f n="build_scripts.pyo" o="root" g="wheel" p="33188"/><f n="clean.py" o="root" g="wheel" p="33188"/><f n="clean.pyc" o="root" g="wheel" p="33188"/><f n="clean.pyo" o="root" g="wheel" p="33188"/><f n="command_template" o="root" g="wheel" p="33188"/><f n="config.py" o="root" g="wheel" p="33188"/><f n="config.pyc" o="root" g="wheel" p="33188"/><f n="config.pyo" o="root" g="wheel" p="33188"/><f n="install.py" o="root" g="wheel" p="33188"/><f n="install.pyc" o="root" g="wheel" p="33188"/><f n="install.pyo" o="root" g="wheel" p="33188"/><f n="install_data.py" o="root" g="wheel" p="33188"/><f n="install_data.pyc" o="root" g="wheel" p="33188"/><f n="install_data.pyo" o="root" g="wheel" p="33188"/><f n="install_egg_info.py" o="root" g="wheel" p="33188"/><f n="install_egg_info.pyc" o="root" g="wheel" p="33188"/><f n="install_egg_info.pyo" o="root" g="wheel" p="33188"/><f n="install_headers.py" o="root" g="wheel" p="33188"/><f n="install_headers.pyc" o="root" g="wheel" p="33188"/><f n="install_headers.pyo" o="root" g="wheel" p="33188"/><f n="install_lib.py" o="root" g="wheel" p="33188"/><f n="install_lib.pyc" o="root" g="wheel" p="33188"/><f n="install_lib.pyo" o="root" g="wheel" p="33188"/><f n="install_scripts.py" o="root" g="wheel" p="33188"/><f n="install_scripts.pyc" o="root" g="wheel" p="33188"/><f n="install_scripts.pyo" o="root" g="wheel" p="33188"/><f n="register.py" o="root" g="wheel" p="33188"/><f n="register.pyc" o="root" g="wheel" p="33188"/><f n="register.pyo" o="root" g="wheel" p="33188"/><f n="sdist.py" o="root" g="wheel" p="33188"/><f n="sdist.pyc" o="root" g="wheel" p="33188"/><f n="sdist.pyo" o="root" g="wheel" p="33188"/><f n="upload.py" o="root" g="wheel" p="33188"/><f n="upload.pyc" o="root" g="wheel" p="33188"/><f n="upload.pyo" o="root" g="wheel" p="33188"/><f n="wininst-6.0.exe" o="root" g="wheel" p="33188"/><f n="wininst-7.1.exe" o="root" g="wheel" p="33188"/><f n="wininst-8.0.exe" o="root" g="wheel" p="33188"/><f n="wininst-9.0-amd64.exe" o="root" g="wheel" p="33188"/><f n="wininst-9.0.exe" o="root" g="wheel" p="33188"/></f><f n="config.py" o="root" g="wheel" p="33188"/><f n="config.pyc" o="root" g="wheel" p="33188"/><f n="config.pyo" o="root" g="wheel" p="33188"/><f n="core.py" o="root" g="wheel" p="33188"/><f n="core.pyc" o="root" g="wheel" p="33188"/><f n="core.pyo" o="root" g="wheel" p="33188"/><f n="cygwinccompiler.py" o="root" g="wheel" p="33188"/><f n="cygwinccompiler.pyc" o="root" g="wheel" p="33188"/><f n="cygwinccompiler.pyo" o="root" g="wheel" p="33188"/><f n="debug.py" o="root" g="wheel" p="33188"/><f n="debug.pyc" o="root" g="wheel" p="33188"/><f n="debug.pyo" o="root" g="wheel" p="33188"/><f n="dep_util.py" o="root" g="wheel" p="33188"/><f n="dep_util.pyc" o="root" g="wheel" p="33188"/><f n="dep_util.pyo" o="root" g="wheel" p="33188"/><f n="dir_util.py" o="root" g="wheel" p="33188"/><f n="dir_util.pyc" o="root" g="wheel" p="33188"/><f n="dir_util.pyo" o="root" g="wheel" p="33188"/><f n="dist.py" o="root" g="wheel" p="33188"/><f n="dist.pyc" o="root" g="wheel" p="33188"/><f n="dist.pyo" o="root" g="wheel" p="33188"/><f n="emxccompiler.py" o="root" g="wheel" p="33188"/><f n="emxccompiler.pyc" o="root" g="wheel" p="33188"/><f n="emxccompiler.pyo" o="root" g="wheel" p="33188"/><f n="errors.py" o="root" g="wheel" p="33188"/><f n="errors.pyc" o="root" g="wheel" p="33188"/><f n="errors.pyo" o="root" g="wheel" p="33188"/><f n="extension.py" o="root" g="wheel" p="33188"/><f n="extension.pyc" o="root" g="wheel" p="33188"/><f n="extension.pyo" o="root" g="wheel" p="33188"/><f n="fancy_getopt.py" o="root" g="wheel" p="33188"/><f n="fancy_getopt.pyc" o="root" g="wheel" p="33188"/><f n="fancy_getopt.pyo" o="root" g="wheel" p="33188"/><f n="file_util.py" o="root" g="wheel" p="33188"/><f n="file_util.pyc" o="root" g="wheel" p="33188"/><f n="file_util.pyo" o="root" g="wheel" p="33188"/><f n="filelist.py" o="root" g="wheel" p="33188"/><f n="filelist.pyc" o="root" g="wheel" p="33188"/><f n="filelist.pyo" o="root" g="wheel" p="33188"/><f n="log.py" o="root" g="wheel" p="33188"/><f n="log.pyc" o="root" g="wheel" p="33188"/><f n="log.pyo" o="root" g="wheel" p="33188"/><f n="msvc9compiler.py" o="root" g="wheel" p="33188"/><f n="msvc9compiler.pyc" o="root" g="wheel" p="33188"/><f n="msvc9compiler.pyo" o="root" g="wheel" p="33188"/><f n="msvccompiler.py" o="root" g="wheel" p="33188"/><f n="msvccompiler.pyc" o="root" g="wheel" p="33188"/><f n="msvccompiler.pyo" o="root" g="wheel" p="33188"/><f n="mwerkscompiler.py" o="root" g="wheel" p="33188"/><f n="mwerkscompiler.pyc" o="root" g="wheel" p="33188"/><f n="mwerkscompiler.pyo" o="root" g="wheel" p="33188"/><f n="README" o="root" g="wheel" p="33188"/><f n="spawn.py" o="root" g="wheel" p="33188"/><f n="spawn.pyc" o="root" g="wheel" p="33188"/><f n="spawn.pyo" o="root" g="wheel" p="33188"/><f n="sysconfig.py" o="root" g="wheel" p="33188"/><f n="sysconfig.pyc" o="root" g="wheel" p="33188"/><f n="sysconfig.pyo" o="root" g="wheel" p="33188"/><f n="tests" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="setuptools_build_ext.py" o="root" g="wheel" p="33188"/><f n="setuptools_build_ext.pyc" o="root" g="wheel" p="33188"/><f n="setuptools_build_ext.pyo" o="root" g="wheel" p="33188"/><f n="setuptools_extension.py" o="root" g="wheel" p="33188"/><f n="setuptools_extension.pyc" o="root" g="wheel" p="33188"/><f n="setuptools_extension.pyo" o="root" g="wheel" p="33188"/><f n="support.py" o="root" g="wheel" p="33188"/><f n="support.pyc" o="root" g="wheel" p="33188"/><f n="support.pyo" o="root" g="wheel" p="33188"/><f n="test_bdist_wininst.py" o="root" g="wheel" p="33188"/><f n="test_bdist_wininst.pyc" o="root" g="wheel" p="33188"/><f n="test_bdist_wininst.pyo" o="root" g="wheel" p="33188"/><f n="test_build_ext.py" o="root" g="wheel" p="33188"/><f n="test_build_ext.pyc" o="root" g="wheel" p="33188"/><f n="test_build_ext.pyo" o="root" g="wheel" p="33188"/><f n="test_build_py.py" o="root" g="wheel" p="33188"/><f n="test_build_py.pyc" o="root" g="wheel" p="33188"/><f n="test_build_py.pyo" o="root" g="wheel" p="33188"/><f n="test_build_scripts.py" o="root" g="wheel" p="33188"/><f n="test_build_scripts.pyc" o="root" g="wheel" p="33188"/><f n="test_build_scripts.pyo" o="root" g="wheel" p="33188"/><f n="test_config.py" o="root" g="wheel" p="33188"/><f n="test_config.pyc" o="root" g="wheel" p="33188"/><f n="test_config.pyo" o="root" g="wheel" p="33188"/><f n="test_core.py" o="root" g="wheel" p="33188"/><f n="test_core.pyc" o="root" g="wheel" p="33188"/><f n="test_core.pyo" o="root" g="wheel" p="33188"/><f n="test_dist.py" o="root" g="wheel" p="33188"/><f n="test_dist.pyc" o="root" g="wheel" p="33188"/><f n="test_dist.pyo" o="root" g="wheel" p="33188"/><f n="test_filelist.py" o="root" g="wheel" p="33188"/><f n="test_filelist.pyc" o="root" g="wheel" p="33188"/><f n="test_filelist.pyo" o="root" g="wheel" p="33188"/><f n="test_install.py" o="root" g="wheel" p="33188"/><f n="test_install.pyc" o="root" g="wheel" p="33188"/><f n="test_install.pyo" o="root" g="wheel" p="33188"/><f n="test_install_scripts.py" o="root" g="wheel" p="33188"/><f n="test_install_scripts.pyc" o="root" g="wheel" p="33188"/><f n="test_install_scripts.pyo" o="root" g="wheel" p="33188"/><f n="test_msvc9compiler.py" o="root" g="wheel" p="33188"/><f n="test_msvc9compiler.pyc" o="root" g="wheel" p="33188"/><f n="test_msvc9compiler.pyo" o="root" g="wheel" p="33188"/><f n="test_register.py" o="root" g="wheel" p="33188"/><f n="test_register.pyc" o="root" g="wheel" p="33188"/><f n="test_register.pyo" o="root" g="wheel" p="33188"/><f n="test_sdist.py" o="root" g="wheel" p="33188"/><f n="test_sdist.pyc" o="root" g="wheel" p="33188"/><f n="test_sdist.pyo" o="root" g="wheel" p="33188"/><f n="test_sysconfig.py" o="root" g="wheel" p="33188"/><f n="test_sysconfig.pyc" o="root" g="wheel" p="33188"/><f n="test_sysconfig.pyo" o="root" g="wheel" p="33188"/><f n="test_upload.py" o="root" g="wheel" p="33188"/><f n="test_upload.pyc" o="root" g="wheel" p="33188"/><f n="test_upload.pyo" o="root" g="wheel" p="33188"/><f n="test_versionpredicate.py" o="root" g="wheel" p="33188"/><f n="test_versionpredicate.pyc" o="root" g="wheel" p="33188"/><f n="test_versionpredicate.pyo" o="root" g="wheel" p="33188"/></f><f n="text_file.py" o="root" g="wheel" p="33188"/><f n="text_file.pyc" o="root" g="wheel" p="33188"/><f n="text_file.pyo" o="root" g="wheel" p="33188"/><f n="unixccompiler.py" o="root" g="wheel" p="33188"/><f n="unixccompiler.pyc" o="root" g="wheel" p="33188"/><f n="unixccompiler.pyo" o="root" g="wheel" p="33188"/><f n="util.py" o="root" g="wheel" p="33188"/><f n="util.pyc" o="root" g="wheel" p="33188"/><f n="util.pyo" o="root" g="wheel" p="33188"/><f n="version.py" o="root" g="wheel" p="33188"/><f n="version.pyc" o="root" g="wheel" p="33188"/><f n="version.pyo" o="root" g="wheel" p="33188"/><f n="versionpredicate.py" o="root" g="wheel" p="33188"/><f n="versionpredicate.pyc" o="root" g="wheel" p="33188"/><f n="versionpredicate.pyo" o="root" g="wheel" p="33188"/></f><f n="doctest.py" o="root" g="wheel" p="33188"/><f n="doctest.pyo" o="root" g="wheel" p="33188"/><f n="DocXMLRPCServer.py" o="root" g="wheel" p="33188"/><f n="DocXMLRPCServer.pyo" o="root" g="wheel" p="33188"/><f n="dumbdbm.py" o="root" g="wheel" p="33188"/><f n="dumbdbm.pyo" o="root" g="wheel" p="33188"/><f n="dummy_thread.py" o="root" g="wheel" p="33188"/><f n="dummy_thread.pyo" o="root" g="wheel" p="33188"/><f n="dummy_threading.py" o="root" g="wheel" p="33188"/><f n="dummy_threading.pyo" o="root" g="wheel" p="33188"/><f n="email" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="_parseaddr.py" o="root" g="wheel" p="33188"/><f n="_parseaddr.pyc" o="root" g="wheel" p="33188"/><f n="_parseaddr.pyo" o="root" g="wheel" p="33188"/><f n="base64mime.py" o="root" g="wheel" p="33188"/><f n="base64mime.pyc" o="root" g="wheel" p="33188"/><f n="base64mime.pyo" o="root" g="wheel" p="33188"/><f n="charset.py" o="root" g="wheel" p="33188"/><f n="charset.pyc" o="root" g="wheel" p="33188"/><f n="charset.pyo" o="root" g="wheel" p="33188"/><f n="encoders.py" o="root" g="wheel" p="33188"/><f n="encoders.pyc" o="root" g="wheel" p="33188"/><f n="encoders.pyo" o="root" g="wheel" p="33188"/><f n="errors.py" o="root" g="wheel" p="33188"/><f n="errors.pyc" o="root" g="wheel" p="33188"/><f n="errors.pyo" o="root" g="wheel" p="33188"/><f n="feedparser.py" o="root" g="wheel" p="33188"/><f n="feedparser.pyc" o="root" g="wheel" p="33188"/><f n="feedparser.pyo" o="root" g="wheel" p="33188"/><f n="generator.py" o="root" g="wheel" p="33188"/><f n="generator.pyc" o="root" g="wheel" p="33188"/><f n="generator.pyo" o="root" g="wheel" p="33188"/><f n="header.py" o="root" g="wheel" p="33188"/><f n="header.pyc" o="root" g="wheel" p="33188"/><f n="header.pyo" o="root" g="wheel" p="33188"/><f n="iterators.py" o="root" g="wheel" p="33188"/><f n="iterators.pyc" o="root" g="wheel" p="33188"/><f n="iterators.pyo" o="root" g="wheel" p="33188"/><f n="message.py" o="root" g="wheel" p="33188"/><f n="message.pyc" o="root" g="wheel" p="33188"/><f n="message.pyo" o="root" g="wheel" p="33188"/><f n="mime" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="application.py" o="root" g="wheel" p="33188"/><f n="application.pyc" o="root" g="wheel" p="33188"/><f n="application.pyo" o="root" g="wheel" p="33188"/><f n="audio.py" o="root" g="wheel" p="33188"/><f n="audio.pyc" o="root" g="wheel" p="33188"/><f n="audio.pyo" o="root" g="wheel" p="33188"/><f n="base.py" o="root" g="wheel" p="33188"/><f n="base.pyc" o="root" g="wheel" p="33188"/><f n="base.pyo" o="root" g="wheel" p="33188"/><f n="image.py" o="root" g="wheel" p="33188"/><f n="image.pyc" o="root" g="wheel" p="33188"/><f n="image.pyo" o="root" g="wheel" p="33188"/><f n="message.py" o="root" g="wheel" p="33188"/><f n="message.pyc" o="root" g="wheel" p="33188"/><f n="message.pyo" o="root" g="wheel" p="33188"/><f n="multipart.py" o="root" g="wheel" p="33188"/><f n="multipart.pyc" o="root" g="wheel" p="33188"/><f n="multipart.pyo" o="root" g="wheel" p="33188"/><f n="nonmultipart.py" o="root" g="wheel" p="33188"/><f n="nonmultipart.pyc" o="root" g="wheel" p="33188"/><f n="nonmultipart.pyo" o="root" g="wheel" p="33188"/><f n="text.py" o="root" g="wheel" p="33188"/><f n="text.pyc" o="root" g="wheel" p="33188"/><f n="text.pyo" o="root" g="wheel" p="33188"/></f><f n="parser.py" o="root" g="wheel" p="33188"/><f n="parser.pyc" o="root" g="wheel" p="33188"/><f n="parser.pyo" o="root" g="wheel" p="33188"/><f n="quoprimime.py" o="root" g="wheel" p="33188"/><f n="quoprimime.pyc" o="root" g="wheel" p="33188"/><f n="quoprimime.pyo" o="root" g="wheel" p="33188"/><f n="test" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="data" o="root" g="wheel" p="16877"><f n="audiotest.au" o="root" g="wheel" p="33188"/><f n="msg_01.txt" o="root" g="wheel" p="33188"/><f n="msg_02.txt" o="root" g="wheel" p="33188"/><f n="msg_03.txt" o="root" g="wheel" p="33188"/><f n="msg_04.txt" o="root" g="wheel" p="33188"/><f n="msg_05.txt" o="root" g="wheel" p="33188"/><f n="msg_06.txt" o="root" g="wheel" p="33188"/><f n="msg_07.txt" o="root" g="wheel" p="33188"/><f n="msg_08.txt" o="root" g="wheel" p="33188"/><f n="msg_09.txt" o="root" g="wheel" p="33188"/><f n="msg_10.txt" o="root" g="wheel" p="33188"/><f n="msg_11.txt" o="root" g="wheel" p="33188"/><f n="msg_12.txt" o="root" g="wheel" p="33188"/><f n="msg_12a.txt" o="root" g="wheel" p="33188"/><f n="msg_13.txt" o="root" g="wheel" p="33188"/><f n="msg_14.txt" o="root" g="wheel" p="33188"/><f n="msg_15.txt" o="root" g="wheel" p="33188"/><f n="msg_16.txt" o="root" g="wheel" p="33188"/><f n="msg_17.txt" o="root" g="wheel" p="33188"/><f n="msg_18.txt" o="root" g="wheel" p="33188"/><f n="msg_19.txt" o="root" g="wheel" p="33188"/><f n="msg_20.txt" o="root" g="wheel" p="33188"/><f n="msg_21.txt" o="root" g="wheel" p="33188"/><f n="msg_22.txt" o="root" g="wheel" p="33188"/><f n="msg_23.txt" o="root" g="wheel" p="33188"/><f n="msg_24.txt" o="root" g="wheel" p="33188"/><f n="msg_25.txt" o="root" g="wheel" p="33188"/><f n="msg_26.txt" o="root" g="wheel" p="33188"/><f n="msg_27.txt" o="root" g="wheel" p="33188"/><f n="msg_28.txt" o="root" g="wheel" p="33188"/><f n="msg_29.txt" o="root" g="wheel" p="33188"/><f n="msg_30.txt" o="root" g="wheel" p="33188"/><f n="msg_31.txt" o="root" g="wheel" p="33188"/><f n="msg_32.txt" o="root" g="wheel" p="33188"/><f n="msg_33.txt" o="root" g="wheel" p="33188"/><f n="msg_34.txt" o="root" g="wheel" p="33188"/><f n="msg_35.txt" o="root" g="wheel" p="33188"/><f n="msg_36.txt" o="root" g="wheel" p="33188"/><f n="msg_37.txt" o="root" g="wheel" p="33188"/><f n="msg_38.txt" o="root" g="wheel" p="33188"/><f n="msg_39.txt" o="root" g="wheel" p="33188"/><f n="msg_40.txt" o="root" g="wheel" p="33188"/><f n="msg_41.txt" o="root" g="wheel" p="33188"/><f n="msg_42.txt" o="root" g="wheel" p="33188"/><f n="msg_43.txt" o="root" g="wheel" p="33188"/><f n="msg_44.txt" o="root" g="wheel" p="33188"/><f n="PyBanner048.gif" o="root" g="wheel" p="33188"/></f><f n="test_email.py" o="root" g="wheel" p="33188"/><f n="test_email.pyc" o="root" g="wheel" p="33188"/><f n="test_email.pyo" o="root" g="wheel" p="33188"/><f n="test_email_codecs.py" o="root" g="wheel" p="33188"/><f n="test_email_codecs.pyc" o="root" g="wheel" p="33188"/><f n="test_email_codecs.pyo" o="root" g="wheel" p="33188"/><f n="test_email_codecs_renamed.py" o="root" g="wheel" p="33188"/><f n="test_email_codecs_renamed.pyc" o="root" g="wheel" p="33188"/><f n="test_email_codecs_renamed.pyo" o="root" g="wheel" p="33188"/><f n="test_email_renamed.py" o="root" g="wheel" p="33188"/><f n="test_email_renamed.pyc" o="root" g="wheel" p="33188"/><f n="test_email_renamed.pyo" o="root" g="wheel" p="33188"/><f n="test_email_torture.py" o="root" g="wheel" p="33188"/><f n="test_email_torture.pyc" o="root" g="wheel" p="33188"/><f n="test_email_torture.pyo" o="root" g="wheel" p="33188"/></f><f n="utils.py" o="root" g="wheel" p="33188"/><f n="utils.pyc" o="root" g="wheel" p="33188"/><f n="utils.pyo" o="root" g="wheel" p="33188"/></f><f n="encodings" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="aliases.py" o="root" g="wheel" p="33188"/><f n="aliases.pyc" o="root" g="wheel" p="33188"/><f n="aliases.pyo" o="root" g="wheel" p="33188"/><f n="ascii.py" o="root" g="wheel" p="33188"/><f n="ascii.pyc" o="root" g="wheel" p="33188"/><f n="ascii.pyo" o="root" g="wheel" p="33188"/><f n="base64_codec.py" o="root" g="wheel" p="33188"/><f n="base64_codec.pyc" o="root" g="wheel" p="33188"/><f n="base64_codec.pyo" o="root" g="wheel" p="33188"/><f n="big5.py" o="root" g="wheel" p="33188"/><f n="big5.pyc" o="root" g="wheel" p="33188"/><f n="big5.pyo" o="root" g="wheel" p="33188"/><f n="big5hkscs.py" o="root" g="wheel" p="33188"/><f n="big5hkscs.pyc" o="root" g="wheel" p="33188"/><f n="big5hkscs.pyo" o="root" g="wheel" p="33188"/><f n="bz2_codec.py" o="root" g="wheel" p="33188"/><f n="bz2_codec.pyc" o="root" g="wheel" p="33188"/><f n="bz2_codec.pyo" o="root" g="wheel" p="33188"/><f n="charmap.py" o="root" g="wheel" p="33188"/><f n="charmap.pyc" o="root" g="wheel" p="33188"/><f n="charmap.pyo" o="root" g="wheel" p="33188"/><f n="cp037.py" o="root" g="wheel" p="33188"/><f n="cp037.pyc" o="root" g="wheel" p="33188"/><f n="cp037.pyo" o="root" g="wheel" p="33188"/><f n="cp1006.py" o="root" g="wheel" p="33188"/><f n="cp1006.pyc" o="root" g="wheel" p="33188"/><f n="cp1006.pyo" o="root" g="wheel" p="33188"/><f n="cp1026.py" o="root" g="wheel" p="33188"/><f n="cp1026.pyc" o="root" g="wheel" p="33188"/><f n="cp1026.pyo" o="root" g="wheel" p="33188"/><f n="cp1140.py" o="root" g="wheel" p="33188"/><f n="cp1140.pyc" o="root" g="wheel" p="33188"/><f n="cp1140.pyo" o="root" g="wheel" p="33188"/><f n="cp1250.py" o="root" g="wheel" p="33188"/><f n="cp1250.pyc" o="root" g="wheel" p="33188"/><f n="cp1250.pyo" o="root" g="wheel" p="33188"/><f n="cp1251.py" o="root" g="wheel" p="33188"/><f n="cp1251.pyc" o="root" g="wheel" p="33188"/><f n="cp1251.pyo" o="root" g="wheel" p="33188"/><f n="cp1252.py" o="root" g="wheel" p="33188"/><f n="cp1252.pyc" o="root" g="wheel" p="33188"/><f n="cp1252.pyo" o="root" g="wheel" p="33188"/><f n="cp1253.py" o="root" g="wheel" p="33188"/><f n="cp1253.pyc" o="root" g="wheel" p="33188"/><f n="cp1253.pyo" o="root" g="wheel" p="33188"/><f n="cp1254.py" o="root" g="wheel" p="33188"/><f n="cp1254.pyc" o="root" g="wheel" p="33188"/><f n="cp1254.pyo" o="root" g="wheel" p="33188"/><f n="cp1255.py" o="root" g="wheel" p="33188"/><f n="cp1255.pyc" o="root" g="wheel" p="33188"/><f n="cp1255.pyo" o="root" g="wheel" p="33188"/><f n="cp1256.py" o="root" g="wheel" p="33188"/><f n="cp1256.pyc" o="root" g="wheel" p="33188"/><f n="cp1256.pyo" o="root" g="wheel" p="33188"/><f n="cp1257.py" o="root" g="wheel" p="33188"/><f n="cp1257.pyc" o="root" g="wheel" p="33188"/><f n="cp1257.pyo" o="root" g="wheel" p="33188"/><f n="cp1258.py" o="root" g="wheel" p="33188"/><f n="cp1258.pyc" o="root" g="wheel" p="33188"/><f n="cp1258.pyo" o="root" g="wheel" p="33188"/><f n="cp424.py" o="root" g="wheel" p="33188"/><f n="cp424.pyc" o="root" g="wheel" p="33188"/><f n="cp424.pyo" o="root" g="wheel" p="33188"/><f n="cp437.py" o="root" g="wheel" p="33188"/><f n="cp437.pyc" o="root" g="wheel" p="33188"/><f n="cp437.pyo" o="root" g="wheel" p="33188"/><f n="cp500.py" o="root" g="wheel" p="33188"/><f n="cp500.pyc" o="root" g="wheel" p="33188"/><f n="cp500.pyo" o="root" g="wheel" p="33188"/><f n="cp737.py" o="root" g="wheel" p="33188"/><f n="cp737.pyc" o="root" g="wheel" p="33188"/><f n="cp737.pyo" o="root" g="wheel" p="33188"/><f n="cp775.py" o="root" g="wheel" p="33188"/><f n="cp775.pyc" o="root" g="wheel" p="33188"/><f n="cp775.pyo" o="root" g="wheel" p="33188"/><f n="cp850.py" o="root" g="wheel" p="33188"/><f n="cp850.pyc" o="root" g="wheel" p="33188"/><f n="cp850.pyo" o="root" g="wheel" p="33188"/><f n="cp852.py" o="root" g="wheel" p="33188"/><f n="cp852.pyc" o="root" g="wheel" p="33188"/><f n="cp852.pyo" o="root" g="wheel" p="33188"/><f n="cp855.py" o="root" g="wheel" p="33188"/><f n="cp855.pyc" o="root" g="wheel" p="33188"/><f n="cp855.pyo" o="root" g="wheel" p="33188"/><f n="cp856.py" o="root" g="wheel" p="33188"/><f n="cp856.pyc" o="root" g="wheel" p="33188"/><f n="cp856.pyo" o="root" g="wheel" p="33188"/><f n="cp857.py" o="root" g="wheel" p="33188"/><f n="cp857.pyc" o="root" g="wheel" p="33188"/><f n="cp857.pyo" o="root" g="wheel" p="33188"/><f n="cp860.py" o="root" g="wheel" p="33188"/><f n="cp860.pyc" o="root" g="wheel" p="33188"/><f n="cp860.pyo" o="root" g="wheel" p="33188"/><f n="cp861.py" o="root" g="wheel" p="33188"/><f n="cp861.pyc" o="root" g="wheel" p="33188"/><f n="cp861.pyo" o="root" g="wheel" p="33188"/><f n="cp862.py" o="root" g="wheel" p="33188"/><f n="cp862.pyc" o="root" g="wheel" p="33188"/><f n="cp862.pyo" o="root" g="wheel" p="33188"/><f n="cp863.py" o="root" g="wheel" p="33188"/><f n="cp863.pyc" o="root" g="wheel" p="33188"/><f n="cp863.pyo" o="root" g="wheel" p="33188"/><f n="cp864.py" o="root" g="wheel" p="33188"/><f n="cp864.pyc" o="root" g="wheel" p="33188"/><f n="cp864.pyo" o="root" g="wheel" p="33188"/><f n="cp865.py" o="root" g="wheel" p="33188"/><f n="cp865.pyc" o="root" g="wheel" p="33188"/><f n="cp865.pyo" o="root" g="wheel" p="33188"/><f n="cp866.py" o="root" g="wheel" p="33188"/><f n="cp866.pyc" o="root" g="wheel" p="33188"/><f n="cp866.pyo" o="root" g="wheel" p="33188"/><f n="cp869.py" o="root" g="wheel" p="33188"/><f n="cp869.pyc" o="root" g="wheel" p="33188"/><f n="cp869.pyo" o="root" g="wheel" p="33188"/><f n="cp874.py" o="root" g="wheel" p="33188"/><f n="cp874.pyc" o="root" g="wheel" p="33188"/><f n="cp874.pyo" o="root" g="wheel" p="33188"/><f n="cp875.py" o="root" g="wheel" p="33188"/><f n="cp875.pyc" o="root" g="wheel" p="33188"/><f n="cp875.pyo" o="root" g="wheel" p="33188"/><f n="cp932.py" o="root" g="wheel" p="33188"/><f n="cp932.pyc" o="root" g="wheel" p="33188"/><f n="cp932.pyo" o="root" g="wheel" p="33188"/><f n="cp949.py" o="root" g="wheel" p="33188"/><f n="cp949.pyc" o="root" g="wheel" p="33188"/><f n="cp949.pyo" o="root" g="wheel" p="33188"/><f n="cp950.py" o="root" g="wheel" p="33188"/><f n="cp950.pyc" o="root" g="wheel" p="33188"/><f n="cp950.pyo" o="root" g="wheel" p="33188"/><f n="euc_jis_2004.py" o="root" g="wheel" p="33188"/><f n="euc_jis_2004.pyc" o="root" g="wheel" p="33188"/><f n="euc_jis_2004.pyo" o="root" g="wheel" p="33188"/><f n="euc_jisx0213.py" o="root" g="wheel" p="33188"/><f n="euc_jisx0213.pyc" o="root" g="wheel" p="33188"/><f n="euc_jisx0213.pyo" o="root" g="wheel" p="33188"/><f n="euc_jp.py" o="root" g="wheel" p="33188"/><f n="euc_jp.pyc" o="root" g="wheel" p="33188"/><f n="euc_jp.pyo" o="root" g="wheel" p="33188"/><f n="euc_kr.py" o="root" g="wheel" p="33188"/><f n="euc_kr.pyc" o="root" g="wheel" p="33188"/><f n="euc_kr.pyo" o="root" g="wheel" p="33188"/><f n="gb18030.py" o="root" g="wheel" p="33188"/><f n="gb18030.pyc" o="root" g="wheel" p="33188"/><f n="gb18030.pyo" o="root" g="wheel" p="33188"/><f n="gb2312.py" o="root" g="wheel" p="33188"/><f n="gb2312.pyc" o="root" g="wheel" p="33188"/><f n="gb2312.pyo" o="root" g="wheel" p="33188"/><f n="gbk.py" o="root" g="wheel" p="33188"/><f n="gbk.pyc" o="root" g="wheel" p="33188"/><f n="gbk.pyo" o="root" g="wheel" p="33188"/><f n="hex_codec.py" o="root" g="wheel" p="33188"/><f n="hex_codec.pyc" o="root" g="wheel" p="33188"/><f n="hex_codec.pyo" o="root" g="wheel" p="33188"/><f n="hp_roman8.py" o="root" g="wheel" p="33188"/><f n="hp_roman8.pyc" o="root" g="wheel" p="33188"/><f n="hp_roman8.pyo" o="root" g="wheel" p="33188"/><f n="hz.py" o="root" g="wheel" p="33188"/><f n="hz.pyc" o="root" g="wheel" p="33188"/><f n="hz.pyo" o="root" g="wheel" p="33188"/><f n="idna.py" o="root" g="wheel" p="33188"/><f n="idna.pyc" o="root" g="wheel" p="33188"/><f n="idna.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_jp.py" o="root" g="wheel" p="33188"/><f n="iso2022_jp.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_jp.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_jp_1.py" o="root" g="wheel" p="33188"/><f n="iso2022_jp_1.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_jp_1.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_jp_2.py" o="root" g="wheel" p="33188"/><f n="iso2022_jp_2.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_jp_2.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_jp_2004.py" o="root" g="wheel" p="33188"/><f n="iso2022_jp_2004.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_jp_2004.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_jp_3.py" o="root" g="wheel" p="33188"/><f n="iso2022_jp_3.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_jp_3.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_jp_ext.py" o="root" g="wheel" p="33188"/><f n="iso2022_jp_ext.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_jp_ext.pyo" o="root" g="wheel" p="33188"/><f n="iso2022_kr.py" o="root" g="wheel" p="33188"/><f n="iso2022_kr.pyc" o="root" g="wheel" p="33188"/><f n="iso2022_kr.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_1.py" o="root" g="wheel" p="33188"/><f n="iso8859_1.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_1.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_10.py" o="root" g="wheel" p="33188"/><f n="iso8859_10.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_10.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_11.py" o="root" g="wheel" p="33188"/><f n="iso8859_11.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_11.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_13.py" o="root" g="wheel" p="33188"/><f n="iso8859_13.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_13.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_14.py" o="root" g="wheel" p="33188"/><f n="iso8859_14.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_14.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_15.py" o="root" g="wheel" p="33188"/><f n="iso8859_15.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_15.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_16.py" o="root" g="wheel" p="33188"/><f n="iso8859_16.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_16.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_2.py" o="root" g="wheel" p="33188"/><f n="iso8859_2.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_2.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_3.py" o="root" g="wheel" p="33188"/><f n="iso8859_3.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_3.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_4.py" o="root" g="wheel" p="33188"/><f n="iso8859_4.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_4.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_5.py" o="root" g="wheel" p="33188"/><f n="iso8859_5.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_5.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_6.py" o="root" g="wheel" p="33188"/><f n="iso8859_6.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_6.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_7.py" o="root" g="wheel" p="33188"/><f n="iso8859_7.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_7.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_8.py" o="root" g="wheel" p="33188"/><f n="iso8859_8.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_8.pyo" o="root" g="wheel" p="33188"/><f n="iso8859_9.py" o="root" g="wheel" p="33188"/><f n="iso8859_9.pyc" o="root" g="wheel" p="33188"/><f n="iso8859_9.pyo" o="root" g="wheel" p="33188"/><f n="johab.py" o="root" g="wheel" p="33188"/><f n="johab.pyc" o="root" g="wheel" p="33188"/><f n="johab.pyo" o="root" g="wheel" p="33188"/><f n="koi8_r.py" o="root" g="wheel" p="33188"/><f n="koi8_r.pyc" o="root" g="wheel" p="33188"/><f n="koi8_r.pyo" o="root" g="wheel" p="33188"/><f n="koi8_u.py" o="root" g="wheel" p="33188"/><f n="koi8_u.pyc" o="root" g="wheel" p="33188"/><f n="koi8_u.pyo" o="root" g="wheel" p="33188"/><f n="latin_1.py" o="root" g="wheel" p="33188"/><f n="latin_1.pyc" o="root" g="wheel" p="33188"/><f n="latin_1.pyo" o="root" g="wheel" p="33188"/><f n="mac_arabic.py" o="root" g="wheel" p="33188"/><f n="mac_arabic.pyc" o="root" g="wheel" p="33188"/><f n="mac_arabic.pyo" o="root" g="wheel" p="33188"/><f n="mac_centeuro.py" o="root" g="wheel" p="33188"/><f n="mac_centeuro.pyc" o="root" g="wheel" p="33188"/><f n="mac_centeuro.pyo" o="root" g="wheel" p="33188"/><f n="mac_croatian.py" o="root" g="wheel" p="33188"/><f n="mac_croatian.pyc" o="root" g="wheel" p="33188"/><f n="mac_croatian.pyo" o="root" g="wheel" p="33188"/><f n="mac_cyrillic.py" o="root" g="wheel" p="33188"/><f n="mac_cyrillic.pyc" o="root" g="wheel" p="33188"/><f n="mac_cyrillic.pyo" o="root" g="wheel" p="33188"/><f n="mac_farsi.py" o="root" g="wheel" p="33188"/><f n="mac_farsi.pyc" o="root" g="wheel" p="33188"/><f n="mac_farsi.pyo" o="root" g="wheel" p="33188"/><f n="mac_greek.py" o="root" g="wheel" p="33188"/><f n="mac_greek.pyc" o="root" g="wheel" p="33188"/><f n="mac_greek.pyo" o="root" g="wheel" p="33188"/><f n="mac_iceland.py" o="root" g="wheel" p="33188"/><f n="mac_iceland.pyc" o="root" g="wheel" p="33188"/><f n="mac_iceland.pyo" o="root" g="wheel" p="33188"/><f n="mac_latin2.py" o="root" g="wheel" p="33188"/><f n="mac_latin2.pyc" o="root" g="wheel" p="33188"/><f n="mac_latin2.pyo" o="root" g="wheel" p="33188"/><f n="mac_roman.py" o="root" g="wheel" p="33188"/><f n="mac_roman.pyc" o="root" g="wheel" p="33188"/><f n="mac_roman.pyo" o="root" g="wheel" p="33188"/><f n="mac_romanian.py" o="root" g="wheel" p="33188"/><f n="mac_romanian.pyc" o="root" g="wheel" p="33188"/><f n="mac_romanian.pyo" o="root" g="wheel" p="33188"/><f n="mac_turkish.py" o="root" g="wheel" p="33188"/><f n="mac_turkish.pyc" o="root" g="wheel" p="33188"/><f n="mac_turkish.pyo" o="root" g="wheel" p="33188"/><f n="mbcs.py" o="root" g="wheel" p="33188"/><f n="mbcs.pyc" o="root" g="wheel" p="33188"/><f n="mbcs.pyo" o="root" g="wheel" p="33188"/><f n="palmos.py" o="root" g="wheel" p="33188"/><f n="palmos.pyc" o="root" g="wheel" p="33188"/><f n="palmos.pyo" o="root" g="wheel" p="33188"/><f n="ptcp154.py" o="root" g="wheel" p="33188"/><f n="ptcp154.pyc" o="root" g="wheel" p="33188"/><f n="ptcp154.pyo" o="root" g="wheel" p="33188"/><f n="punycode.py" o="root" g="wheel" p="33188"/><f n="punycode.pyc" o="root" g="wheel" p="33188"/><f n="punycode.pyo" o="root" g="wheel" p="33188"/><f n="quopri_codec.py" o="root" g="wheel" p="33188"/><f n="quopri_codec.pyc" o="root" g="wheel" p="33188"/><f n="quopri_codec.pyo" o="root" g="wheel" p="33188"/><f n="raw_unicode_escape.py" o="root" g="wheel" p="33188"/><f n="raw_unicode_escape.pyc" o="root" g="wheel" p="33188"/><f n="raw_unicode_escape.pyo" o="root" g="wheel" p="33188"/><f n="rot_13.py" o="root" g="wheel" p="33188"/><f n="rot_13.pyc" o="root" g="wheel" p="33188"/><f n="rot_13.pyo" o="root" g="wheel" p="33188"/><f n="shift_jis.py" o="root" g="wheel" p="33188"/><f n="shift_jis.pyc" o="root" g="wheel" p="33188"/><f n="shift_jis.pyo" o="root" g="wheel" p="33188"/><f n="shift_jis_2004.py" o="root" g="wheel" p="33188"/><f n="shift_jis_2004.pyc" o="root" g="wheel" p="33188"/><f n="shift_jis_2004.pyo" o="root" g="wheel" p="33188"/><f n="shift_jisx0213.py" o="root" g="wheel" p="33188"/><f n="shift_jisx0213.pyc" o="root" g="wheel" p="33188"/><f n="shift_jisx0213.pyo" o="root" g="wheel" p="33188"/><f n="string_escape.py" o="root" g="wheel" p="33188"/><f n="string_escape.pyc" o="root" g="wheel" p="33188"/><f n="string_escape.pyo" o="root" g="wheel" p="33188"/><f n="tis_620.py" o="root" g="wheel" p="33188"/><f n="tis_620.pyc" o="root" g="wheel" p="33188"/><f n="tis_620.pyo" o="root" g="wheel" p="33188"/><f n="undefined.py" o="root" g="wheel" p="33188"/><f n="undefined.pyc" o="root" g="wheel" p="33188"/><f n="undefined.pyo" o="root" g="wheel" p="33188"/><f n="unicode_escape.py" o="root" g="wheel" p="33188"/><f n="unicode_escape.pyc" o="root" g="wheel" p="33188"/><f n="unicode_escape.pyo" o="root" g="wheel" p="33188"/><f n="unicode_internal.py" o="root" g="wheel" p="33188"/><f n="unicode_internal.pyc" o="root" g="wheel" p="33188"/><f n="unicode_internal.pyo" o="root" g="wheel" p="33188"/><f n="utf_16.py" o="root" g="wheel" p="33188"/><f n="utf_16.pyc" o="root" g="wheel" p="33188"/><f n="utf_16.pyo" o="root" g="wheel" p="33188"/><f n="utf_16_be.py" o="root" g="wheel" p="33188"/><f n="utf_16_be.pyc" o="root" g="wheel" p="33188"/><f n="utf_16_be.pyo" o="root" g="wheel" p="33188"/><f n="utf_16_le.py" o="root" g="wheel" p="33188"/><f n="utf_16_le.pyc" o="root" g="wheel" p="33188"/><f n="utf_16_le.pyo" o="root" g="wheel" p="33188"/><f n="utf_32.py" o="root" g="wheel" p="33188"/><f n="utf_32.pyc" o="root" g="wheel" p="33188"/><f n="utf_32.pyo" o="root" g="wheel" p="33188"/><f n="utf_32_be.py" o="root" g="wheel" p="33188"/><f n="utf_32_be.pyc" o="root" g="wheel" p="33188"/><f n="utf_32_be.pyo" o="root" g="wheel" p="33188"/><f n="utf_32_le.py" o="root" g="wheel" p="33188"/><f n="utf_32_le.pyc" o="root" g="wheel" p="33188"/><f n="utf_32_le.pyo" o="root" g="wheel" p="33188"/><f n="utf_7.py" o="root" g="wheel" p="33188"/><f n="utf_7.pyc" o="root" g="wheel" p="33188"/><f n="utf_7.pyo" o="root" g="wheel" p="33188"/><f n="utf_8.py" o="root" g="wheel" p="33188"/><f n="utf_8.pyc" o="root" g="wheel" p="33188"/><f n="utf_8.pyo" o="root" g="wheel" p="33188"/><f n="utf_8_sig.py" o="root" g="wheel" p="33188"/><f n="utf_8_sig.pyc" o="root" g="wheel" p="33188"/><f n="utf_8_sig.pyo" o="root" g="wheel" p="33188"/><f n="uu_codec.py" o="root" g="wheel" p="33188"/><f n="uu_codec.pyc" o="root" g="wheel" p="33188"/><f n="uu_codec.pyo" o="root" g="wheel" p="33188"/><f n="zlib_codec.py" o="root" g="wheel" p="33188"/><f n="zlib_codec.pyc" o="root" g="wheel" p="33188"/><f n="zlib_codec.pyo" o="root" g="wheel" p="33188"/></f><f n="filecmp.py" o="root" g="wheel" p="33188"/><f n="filecmp.pyo" o="root" g="wheel" p="33188"/><f n="fileinput.py" o="root" g="wheel" p="33188"/><f n="fileinput.pyo" o="root" g="wheel" p="33188"/><f n="fnmatch.py" o="root" g="wheel" p="33188"/><f n="fnmatch.pyo" o="root" g="wheel" p="33188"/><f n="formatter.py" o="root" g="wheel" p="33188"/><f n="formatter.pyo" o="root" g="wheel" p="33188"/><f n="fpformat.py" o="root" g="wheel" p="33188"/><f n="fpformat.pyo" o="root" g="wheel" p="33188"/><f n="fractions.py" o="root" g="wheel" p="33261"/><f n="fractions.pyo" o="root" g="wheel" p="33188"/><f n="ftplib.py" o="root" g="wheel" p="33188"/><f n="ftplib.pyo" o="root" g="wheel" p="33188"/><f n="functools.py" o="root" g="wheel" p="33188"/><f n="functools.pyo" o="root" g="wheel" p="33188"/><f n="genericpath.py" o="root" g="wheel" p="33188"/><f n="genericpath.pyo" o="root" g="wheel" p="33188"/><f n="getopt.py" o="root" g="wheel" p="33188"/><f n="getopt.pyo" o="root" g="wheel" p="33188"/><f n="getpass.py" o="root" g="wheel" p="33188"/><f n="getpass.pyo" o="root" g="wheel" p="33188"/><f n="gettext.py" o="root" g="wheel" p="33188"/><f n="gettext.pyo" o="root" g="wheel" p="33188"/><f n="glob.py" o="root" g="wheel" p="33188"/><f n="glob.pyo" o="root" g="wheel" p="33188"/><f n="gzip.py" o="root" g="wheel" p="33188"/><f n="gzip.pyo" o="root" g="wheel" p="33188"/><f n="hashlib.py" o="root" g="wheel" p="33188"/><f n="hashlib.pyo" o="root" g="wheel" p="33188"/><f n="heapq.py" o="root" g="wheel" p="33188"/><f n="heapq.pyo" o="root" g="wheel" p="33188"/><f n="hmac.py" o="root" g="wheel" p="33188"/><f n="hmac.pyo" o="root" g="wheel" p="33188"/><f n="hotshot" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="log.py" o="root" g="wheel" p="33188"/><f n="log.pyc" o="root" g="wheel" p="33188"/><f n="log.pyo" o="root" g="wheel" p="33188"/><f n="stats.py" o="root" g="wheel" p="33188"/><f n="stats.pyc" o="root" g="wheel" p="33188"/><f n="stats.pyo" o="root" g="wheel" p="33188"/><f n="stones.py" o="root" g="wheel" p="33188"/><f n="stones.pyc" o="root" g="wheel" p="33188"/><f n="stones.pyo" o="root" g="wheel" p="33188"/></f><f n="htmlentitydefs.py" o="root" g="wheel" p="33188"/><f n="htmlentitydefs.pyo" o="root" g="wheel" p="33188"/><f n="htmllib.py" o="root" g="wheel" p="33188"/><f n="htmllib.pyo" o="root" g="wheel" p="33188"/><f n="HTMLParser.py" o="root" g="wheel" p="33188"/><f n="HTMLParser.pyo" o="root" g="wheel" p="33188"/><f n="httplib.py" o="root" g="wheel" p="33188"/><f n="httplib.pyo" o="root" g="wheel" p="33188"/><f n="idlelib" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="aboutDialog.py" o="root" g="wheel" p="33188"/><f n="aboutDialog.pyc" o="root" g="wheel" p="33188"/><f n="aboutDialog.pyo" o="root" g="wheel" p="33188"/><f n="AutoComplete.py" o="root" g="wheel" p="33188"/><f n="AutoComplete.pyc" o="root" g="wheel" p="33188"/><f n="AutoComplete.pyo" o="root" g="wheel" p="33188"/><f n="AutoCompleteWindow.py" o="root" g="wheel" p="33188"/><f n="AutoCompleteWindow.pyc" o="root" g="wheel" p="33188"/><f n="AutoCompleteWindow.pyo" o="root" g="wheel" p="33188"/><f n="AutoExpand.py" o="root" g="wheel" p="33188"/><f n="AutoExpand.pyc" o="root" g="wheel" p="33188"/><f n="AutoExpand.pyo" o="root" g="wheel" p="33188"/><f n="Bindings.py" o="root" g="wheel" p="33188"/><f n="Bindings.pyc" o="root" g="wheel" p="33188"/><f n="Bindings.pyo" o="root" g="wheel" p="33188"/><f n="CallTips.py" o="root" g="wheel" p="33188"/><f n="CallTips.pyc" o="root" g="wheel" p="33188"/><f n="CallTips.pyo" o="root" g="wheel" p="33188"/><f n="CallTipWindow.py" o="root" g="wheel" p="33188"/><f n="CallTipWindow.pyc" o="root" g="wheel" p="33188"/><f n="CallTipWindow.pyo" o="root" g="wheel" p="33188"/><f n="ChangeLog" o="root" g="wheel" p="33188"/><f n="ClassBrowser.py" o="root" g="wheel" p="33188"/><f n="ClassBrowser.pyc" o="root" g="wheel" p="33188"/><f n="ClassBrowser.pyo" o="root" g="wheel" p="33188"/><f n="CodeContext.py" o="root" g="wheel" p="33188"/><f n="CodeContext.pyc" o="root" g="wheel" p="33188"/><f n="CodeContext.pyo" o="root" g="wheel" p="33188"/><f n="ColorDelegator.py" o="root" g="wheel" p="33188"/><f n="ColorDelegator.pyc" o="root" g="wheel" p="33188"/><f n="ColorDelegator.pyo" o="root" g="wheel" p="33188"/><f n="config-extensions.def" o="root" g="wheel" p="33188"/><f n="config-highlight.def" o="root" g="wheel" p="33188"/><f n="config-keys.def" o="root" g="wheel" p="33188"/><f n="config-main.def" o="root" g="wheel" p="33188"/><f n="configDialog.py" o="root" g="wheel" p="33188"/><f n="configDialog.pyc" o="root" g="wheel" p="33188"/><f n="configDialog.pyo" o="root" g="wheel" p="33188"/><f n="configHandler.py" o="root" g="wheel" p="33188"/><f n="configHandler.pyc" o="root" g="wheel" p="33188"/><f n="configHandler.pyo" o="root" g="wheel" p="33188"/><f n="configHelpSourceEdit.py" o="root" g="wheel" p="33188"/><f n="configHelpSourceEdit.pyc" o="root" g="wheel" p="33188"/><f n="configHelpSourceEdit.pyo" o="root" g="wheel" p="33188"/><f n="configSectionNameDialog.py" o="root" g="wheel" p="33188"/><f n="configSectionNameDialog.pyc" o="root" g="wheel" p="33188"/><f n="configSectionNameDialog.pyo" o="root" g="wheel" p="33188"/><f n="CREDITS.txt" o="root" g="wheel" p="33188"/><f n="Debugger.py" o="root" g="wheel" p="33188"/><f n="Debugger.pyc" o="root" g="wheel" p="33188"/><f n="Debugger.pyo" o="root" g="wheel" p="33188"/><f n="Delegator.py" o="root" g="wheel" p="33188"/><f n="Delegator.pyc" o="root" g="wheel" p="33188"/><f n="Delegator.pyo" o="root" g="wheel" p="33188"/><f n="dynOptionMenuWidget.py" o="root" g="wheel" p="33188"/><f n="dynOptionMenuWidget.pyc" o="root" g="wheel" p="33188"/><f n="dynOptionMenuWidget.pyo" o="root" g="wheel" p="33188"/><f n="EditorWindow.py" o="root" g="wheel" p="33188"/><f n="EditorWindow.pyc" o="root" g="wheel" p="33188"/><f n="EditorWindow.pyo" o="root" g="wheel" p="33188"/><f n="extend.txt" o="root" g="wheel" p="33188"/><f n="FileList.py" o="root" g="wheel" p="33188"/><f n="FileList.pyc" o="root" g="wheel" p="33188"/><f n="FileList.pyo" o="root" g="wheel" p="33188"/><f n="FormatParagraph.py" o="root" g="wheel" p="33188"/><f n="FormatParagraph.pyc" o="root" g="wheel" p="33188"/><f n="FormatParagraph.pyo" o="root" g="wheel" p="33188"/><f n="GrepDialog.py" o="root" g="wheel" p="33188"/><f n="GrepDialog.pyc" o="root" g="wheel" p="33188"/><f n="GrepDialog.pyo" o="root" g="wheel" p="33188"/><f n="help.txt" o="root" g="wheel" p="33188"/><f n="HISTORY.txt" o="root" g="wheel" p="33188"/><f n="HyperParser.py" o="root" g="wheel" p="33188"/><f n="HyperParser.pyc" o="root" g="wheel" p="33188"/><f n="HyperParser.pyo" o="root" g="wheel" p="33188"/><f n="Icons" o="root" g="wheel" p="16877"><f n="folder.gif" o="root" g="wheel" p="33188"/><f n="idle.icns" o="root" g="wheel" p="33188"/><f n="minusnode.gif" o="root" g="wheel" p="33188"/><f n="openfolder.gif" o="root" g="wheel" p="33188"/><f n="plusnode.gif" o="root" g="wheel" p="33188"/><f n="python.gif" o="root" g="wheel" p="33188"/><f n="tk.gif" o="root" g="wheel" p="33188"/></f><f n="idle.bat" o="root" g="wheel" p="33261"/><f n="idle.py" o="root" g="wheel" p="33188"/><f n="idle.pyc" o="root" g="wheel" p="33188"/><f n="idle.pyo" o="root" g="wheel" p="33188"/><f n="idle.pyw" o="root" g="wheel" p="33188"/><f n="IdleHistory.py" o="root" g="wheel" p="33188"/><f n="IdleHistory.pyc" o="root" g="wheel" p="33188"/><f n="IdleHistory.pyo" o="root" g="wheel" p="33188"/><f n="idlever.py" o="root" g="wheel" p="33188"/><f n="idlever.pyc" o="root" g="wheel" p="33188"/><f n="idlever.pyo" o="root" g="wheel" p="33188"/><f n="IOBinding.py" o="root" g="wheel" p="33188"/><f n="IOBinding.pyc" o="root" g="wheel" p="33188"/><f n="IOBinding.pyo" o="root" g="wheel" p="33188"/><f n="keybindingDialog.py" o="root" g="wheel" p="33188"/><f n="keybindingDialog.pyc" o="root" g="wheel" p="33188"/><f n="keybindingDialog.pyo" o="root" g="wheel" p="33188"/><f n="macosxSupport.py" o="root" g="wheel" p="33188"/><f n="macosxSupport.pyc" o="root" g="wheel" p="33188"/><f n="macosxSupport.pyo" o="root" g="wheel" p="33188"/><f n="MultiCall.py" o="root" g="wheel" p="33188"/><f n="MultiCall.pyc" o="root" g="wheel" p="33188"/><f n="MultiCall.pyo" o="root" g="wheel" p="33188"/><f n="MultiStatusBar.py" o="root" g="wheel" p="33188"/><f n="MultiStatusBar.pyc" o="root" g="wheel" p="33188"/><f n="MultiStatusBar.pyo" o="root" g="wheel" p="33188"/><f n="NEWS.txt" o="root" g="wheel" p="33188"/><f n="ObjectBrowser.py" o="root" g="wheel" p="33188"/><f n="ObjectBrowser.pyc" o="root" g="wheel" p="33188"/><f n="ObjectBrowser.pyo" o="root" g="wheel" p="33188"/><f n="OutputWindow.py" o="root" g="wheel" p="33188"/><f n="OutputWindow.pyc" o="root" g="wheel" p="33188"/><f n="OutputWindow.pyo" o="root" g="wheel" p="33188"/><f n="ParenMatch.py" o="root" g="wheel" p="33188"/><f n="ParenMatch.pyc" o="root" g="wheel" p="33188"/><f n="ParenMatch.pyo" o="root" g="wheel" p="33188"/><f n="PathBrowser.py" o="root" g="wheel" p="33188"/><f n="PathBrowser.pyc" o="root" g="wheel" p="33188"/><f n="PathBrowser.pyo" o="root" g="wheel" p="33188"/><f n="Percolator.py" o="root" g="wheel" p="33188"/><f n="Percolator.pyc" o="root" g="wheel" p="33188"/><f n="Percolator.pyo" o="root" g="wheel" p="33188"/><f n="PyParse.py" o="root" g="wheel" p="33188"/><f n="PyParse.pyc" o="root" g="wheel" p="33188"/><f n="PyParse.pyo" o="root" g="wheel" p="33188"/><f n="PyShell.py" o="root" g="wheel" p="33188"/><f n="PyShell.pyc" o="root" g="wheel" p="33188"/><f n="PyShell.pyo" o="root" g="wheel" p="33188"/><f n="README.txt" o="root" g="wheel" p="33188"/><f n="RemoteDebugger.py" o="root" g="wheel" p="33188"/><f n="RemoteDebugger.pyc" o="root" g="wheel" p="33188"/><f n="RemoteDebugger.pyo" o="root" g="wheel" p="33188"/><f n="RemoteObjectBrowser.py" o="root" g="wheel" p="33188"/><f n="RemoteObjectBrowser.pyc" o="root" g="wheel" p="33188"/><f n="RemoteObjectBrowser.pyo" o="root" g="wheel" p="33188"/><f n="ReplaceDialog.py" o="root" g="wheel" p="33188"/><f n="ReplaceDialog.pyc" o="root" g="wheel" p="33188"/><f n="ReplaceDialog.pyo" o="root" g="wheel" p="33188"/><f n="rpc.py" o="root" g="wheel" p="33188"/><f n="rpc.pyc" o="root" g="wheel" p="33188"/><f n="rpc.pyo" o="root" g="wheel" p="33188"/><f n="run.py" o="root" g="wheel" p="33188"/><f n="run.pyc" o="root" g="wheel" p="33188"/><f n="run.pyo" o="root" g="wheel" p="33188"/><f n="ScriptBinding.py" o="root" g="wheel" p="33188"/><f n="ScriptBinding.pyc" o="root" g="wheel" p="33188"/><f n="ScriptBinding.pyo" o="root" g="wheel" p="33188"/><f n="ScrolledList.py" o="root" g="wheel" p="33188"/><f n="ScrolledList.pyc" o="root" g="wheel" p="33188"/><f n="ScrolledList.pyo" o="root" g="wheel" p="33188"/><f n="SearchDialog.py" o="root" g="wheel" p="33188"/><f n="SearchDialog.pyc" o="root" g="wheel" p="33188"/><f n="SearchDialog.pyo" o="root" g="wheel" p="33188"/><f n="SearchDialogBase.py" o="root" g="wheel" p="33188"/><f n="SearchDialogBase.pyc" o="root" g="wheel" p="33188"/><f n="SearchDialogBase.pyo" o="root" g="wheel" p="33188"/><f n="SearchEngine.py" o="root" g="wheel" p="33188"/><f n="SearchEngine.pyc" o="root" g="wheel" p="33188"/><f n="SearchEngine.pyo" o="root" g="wheel" p="33188"/><f n="StackViewer.py" o="root" g="wheel" p="33188"/><f n="StackViewer.pyc" o="root" g="wheel" p="33188"/><f n="StackViewer.pyo" o="root" g="wheel" p="33188"/><f n="tabbedpages.py" o="root" g="wheel" p="33188"/><f n="tabbedpages.pyc" o="root" g="wheel" p="33188"/><f n="tabbedpages.pyo" o="root" g="wheel" p="33188"/><f n="testcode.py" o="root" g="wheel" p="33188"/><f n="testcode.pyc" o="root" g="wheel" p="33188"/><f n="testcode.pyo" o="root" g="wheel" p="33188"/><f n="textView.py" o="root" g="wheel" p="33188"/><f n="textView.pyc" o="root" g="wheel" p="33188"/><f n="textView.pyo" o="root" g="wheel" p="33188"/><f n="TODO.txt" o="root" g="wheel" p="33188"/><f n="ToolTip.py" o="root" g="wheel" p="33188"/><f n="ToolTip.pyc" o="root" g="wheel" p="33188"/><f n="ToolTip.pyo" o="root" g="wheel" p="33188"/><f n="TreeWidget.py" o="root" g="wheel" p="33188"/><f n="TreeWidget.pyc" o="root" g="wheel" p="33188"/><f n="TreeWidget.pyo" o="root" g="wheel" p="33188"/><f n="UndoDelegator.py" o="root" g="wheel" p="33188"/><f n="UndoDelegator.pyc" o="root" g="wheel" p="33188"/><f n="UndoDelegator.pyo" o="root" g="wheel" p="33188"/><f n="WidgetRedirector.py" o="root" g="wheel" p="33188"/><f n="WidgetRedirector.pyc" o="root" g="wheel" p="33188"/><f n="WidgetRedirector.pyo" o="root" g="wheel" p="33188"/><f n="WindowList.py" o="root" g="wheel" p="33188"/><f n="WindowList.pyc" o="root" g="wheel" p="33188"/><f n="WindowList.pyo" o="root" g="wheel" p="33188"/><f n="ZoomHeight.py" o="root" g="wheel" p="33188"/><f n="ZoomHeight.pyc" o="root" g="wheel" p="33188"/><f n="ZoomHeight.pyo" o="root" g="wheel" p="33188"/></f><f n="ihooks.py" o="root" g="wheel" p="33188"/><f n="ihooks.pyo" o="root" g="wheel" p="33188"/><f n="imaplib.py" o="root" g="wheel" p="33188"/><f n="imaplib.pyo" o="root" g="wheel" p="33188"/><f n="imghdr.py" o="root" g="wheel" p="33188"/><f n="imghdr.pyo" o="root" g="wheel" p="33188"/><f n="imputil.py" o="root" g="wheel" p="33188"/><f n="imputil.pyo" o="root" g="wheel" p="33188"/><f n="inspect.py" o="root" g="wheel" p="33188"/><f n="inspect.pyo" o="root" g="wheel" p="33188"/><f n="io.py" o="root" g="wheel" p="33188"/><f n="io.pyo" o="root" g="wheel" p="33188"/><f n="json" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="decoder.py" o="root" g="wheel" p="33188"/><f n="decoder.pyc" o="root" g="wheel" p="33188"/><f n="decoder.pyo" o="root" g="wheel" p="33188"/><f n="encoder.py" o="root" g="wheel" p="33188"/><f n="encoder.pyc" o="root" g="wheel" p="33188"/><f n="encoder.pyo" o="root" g="wheel" p="33188"/><f n="scanner.py" o="root" g="wheel" p="33188"/><f n="scanner.pyc" o="root" g="wheel" p="33188"/><f n="scanner.pyo" o="root" g="wheel" p="33188"/><f n="tests" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="test_decode.py" o="root" g="wheel" p="33188"/><f n="test_decode.pyc" o="root" g="wheel" p="33188"/><f n="test_decode.pyo" o="root" g="wheel" p="33188"/><f n="test_default.py" o="root" g="wheel" p="33188"/><f n="test_default.pyc" o="root" g="wheel" p="33188"/><f n="test_default.pyo" o="root" g="wheel" p="33188"/><f n="test_dump.py" o="root" g="wheel" p="33188"/><f n="test_dump.pyc" o="root" g="wheel" p="33188"/><f n="test_dump.pyo" o="root" g="wheel" p="33188"/><f n="test_encode_basestring_ascii.py" o="root" g="wheel" p="33188"/><f n="test_encode_basestring_ascii.pyc" o="root" g="wheel" p="33188"/><f n="test_encode_basestring_ascii.pyo" o="root" g="wheel" p="33188"/><f n="test_fail.py" o="root" g="wheel" p="33188"/><f n="test_fail.pyc" o="root" g="wheel" p="33188"/><f n="test_fail.pyo" o="root" g="wheel" p="33188"/><f n="test_float.py" o="root" g="wheel" p="33188"/><f n="test_float.pyc" o="root" g="wheel" p="33188"/><f n="test_float.pyo" o="root" g="wheel" p="33188"/><f n="test_indent.py" o="root" g="wheel" p="33188"/><f n="test_indent.pyc" o="root" g="wheel" p="33188"/><f n="test_indent.pyo" o="root" g="wheel" p="33188"/><f n="test_pass1.py" o="root" g="wheel" p="33188"/><f n="test_pass1.pyc" o="root" g="wheel" p="33188"/><f n="test_pass1.pyo" o="root" g="wheel" p="33188"/><f n="test_pass2.py" o="root" g="wheel" p="33188"/><f n="test_pass2.pyc" o="root" g="wheel" p="33188"/><f n="test_pass2.pyo" o="root" g="wheel" p="33188"/><f n="test_pass3.py" o="root" g="wheel" p="33188"/><f n="test_pass3.pyc" o="root" g="wheel" p="33188"/><f n="test_pass3.pyo" o="root" g="wheel" p="33188"/><f n="test_recursion.py" o="root" g="wheel" p="33188"/><f n="test_recursion.pyc" o="root" g="wheel" p="33188"/><f n="test_recursion.pyo" o="root" g="wheel" p="33188"/><f n="test_scanstring.py" o="root" g="wheel" p="33188"/><f n="test_scanstring.pyc" o="root" g="wheel" p="33188"/><f n="test_scanstring.pyo" o="root" g="wheel" p="33188"/><f n="test_separators.py" o="root" g="wheel" p="33188"/><f n="test_separators.pyc" o="root" g="wheel" p="33188"/><f n="test_separators.pyo" o="root" g="wheel" p="33188"/><f n="test_speedups.py" o="root" g="wheel" p="33188"/><f n="test_speedups.pyc" o="root" g="wheel" p="33188"/><f n="test_speedups.pyo" o="root" g="wheel" p="33188"/><f n="test_unicode.py" o="root" g="wheel" p="33188"/><f n="test_unicode.pyc" o="root" g="wheel" p="33188"/><f n="test_unicode.pyo" o="root" g="wheel" p="33188"/></f><f n="tool.py" o="root" g="wheel" p="33188"/><f n="tool.pyc" o="root" g="wheel" p="33188"/><f n="tool.pyo" o="root" g="wheel" p="33188"/></f><f n="keyword.py" o="root" g="wheel" p="33261"/><f n="keyword.pyo" o="root" g="wheel" p="33188"/><f n="lib-dynload" o="root" g="wheel" p="16877"><f n="_AE.so" o="root" g="wheel" p="33261"/><f n="_AH.so" o="root" g="wheel" p="33261"/><f n="_App.so" o="root" g="wheel" p="33261"/><f n="_bisect.so" o="root" g="wheel" p="33261"/><f n="_bsddb.so" o="root" g="wheel" p="33261"/><f n="_bytesio.so" o="root" g="wheel" p="33261"/><f n="_CarbonEvt.so" o="root" g="wheel" p="33261"/><f n="_CF.so" o="root" g="wheel" p="33261"/><f n="_CG.so" o="root" g="wheel" p="33261"/><f n="_Cm.so" o="root" g="wheel" p="33261"/><f n="_codecs_cn.so" o="root" g="wheel" p="33261"/><f n="_codecs_hk.so" o="root" g="wheel" p="33261"/><f n="_codecs_iso2022.so" o="root" g="wheel" p="33261"/><f n="_codecs_jp.so" o="root" g="wheel" p="33261"/><f n="_codecs_kr.so" o="root" g="wheel" p="33261"/><f n="_codecs_tw.so" o="root" g="wheel" p="33261"/><f n="_collections.so" o="root" g="wheel" p="33261"/><f n="_csv.so" o="root" g="wheel" p="33261"/><f n="_Ctl.so" o="root" g="wheel" p="33261"/><f n="_ctypes.so" o="root" g="wheel" p="33261"/><f n="_ctypes_test.so" o="root" g="wheel" p="33261"/><f n="_curses.so" o="root" g="wheel" p="33261"/><f n="_curses_panel.so" o="root" g="wheel" p="33261"/><f n="_Dlg.so" o="root" g="wheel" p="33261"/><f n="_Drag.so" o="root" g="wheel" p="33261"/><f n="_elementtree.so" o="root" g="wheel" p="33261"/><f n="_Evt.so" o="root" g="wheel" p="33261"/><f n="_File.so" o="root" g="wheel" p="33261"/><f n="_fileio.so" o="root" g="wheel" p="33261"/><f n="_Fm.so" o="root" g="wheel" p="33261"/><f n="_Folder.so" o="root" g="wheel" p="33261"/><f n="_functools.so" o="root" g="wheel" p="33261"/><f n="_hashlib.so" o="root" g="wheel" p="33261"/><f n="_heapq.so" o="root" g="wheel" p="33261"/><f n="_Help.so" o="root" g="wheel" p="33261"/><f n="_hotshot.so" o="root" g="wheel" p="33261"/><f n="_IBCarbon.so" o="root" g="wheel" p="33261"/><f n="_Icn.so" o="root" g="wheel" p="33261"/><f n="_json.so" o="root" g="wheel" p="33261"/><f n="_Launch.so" o="root" g="wheel" p="33261"/><f n="_List.so" o="root" g="wheel" p="33261"/><f n="_locale.so" o="root" g="wheel" p="33261"/><f n="_lsprof.so" o="root" g="wheel" p="33261"/><f n="_Menu.so" o="root" g="wheel" p="33261"/><f n="_Mlte.so" o="root" g="wheel" p="33261"/><f n="_multibytecodec.so" o="root" g="wheel" p="33261"/><f n="_multiprocessing.so" o="root" g="wheel" p="33261"/><f n="_OSA.so" o="root" g="wheel" p="33261"/><f n="_Qd.so" o="root" g="wheel" p="33261"/><f n="_Qdoffs.so" o="root" g="wheel" p="33261"/><f n="_Qt.so" o="root" g="wheel" p="33261"/><f n="_random.so" o="root" g="wheel" p="33261"/><f n="_Res.so" o="root" g="wheel" p="33261"/><f n="_scproxy.so" o="root" g="wheel" p="33261"/><f n="_Scrap.so" o="root" g="wheel" p="33261"/><f n="_sha256.so" o="root" g="wheel" p="33261"/><f n="_sha512.so" o="root" g="wheel" p="33261"/><f n="_Snd.so" o="root" g="wheel" p="33261"/><f n="_socket.so" o="root" g="wheel" p="33261"/><f n="_sqlite3.so" o="root" g="wheel" p="33261"/><f n="_ssl.so" o="root" g="wheel" p="33261"/><f n="_struct.so" o="root" g="wheel" p="33261"/><f n="_TE.so" o="root" g="wheel" p="33261"/><f n="_testcapi.so" o="root" g="wheel" p="33261"/><f n="_tkinter.so" o="root" g="wheel" p="33261"/><f n="_weakref.so" o="root" g="wheel" p="33261"/><f n="_Win.so" o="root" g="wheel" p="33261"/><f n="array.so" o="root" g="wheel" p="33261"/><f n="audioop.so" o="root" g="wheel" p="33261"/><f n="autoGIL.so" o="root" g="wheel" p="33261"/><f n="binascii.so" o="root" g="wheel" p="33261"/><f n="bz2.so" o="root" g="wheel" p="33261"/><f n="cmath.so" o="root" g="wheel" p="33261"/><f n="ColorPicker.so" o="root" g="wheel" p="33261"/><f n="cPickle.so" o="root" g="wheel" p="33261"/><f n="crypt.so" o="root" g="wheel" p="33261"/><f n="cStringIO.so" o="root" g="wheel" p="33261"/><f n="datetime.so" o="root" g="wheel" p="33261"/><f n="dbm.so" o="root" g="wheel" p="33261"/><f n="dl.so" o="root" g="wheel" p="33261"/><f n="fcntl.so" o="root" g="wheel" p="33261"/><f n="future_builtins.so" o="root" g="wheel" p="33261"/><f n="gestalt.so" o="root" g="wheel" p="33261"/><f n="grp.so" o="root" g="wheel" p="33261"/><f n="icglue.so" o="root" g="wheel" p="33261"/><f n="imageop.so" o="root" g="wheel" p="33261"/><f n="itertools.so" o="root" g="wheel" p="33261"/><f n="MacOS.so" o="root" g="wheel" p="33261"/><f n="math.so" o="root" g="wheel" p="33261"/><f n="mmap.so" o="root" g="wheel" p="33261"/><f n="Nav.so" o="root" g="wheel" p="33261"/><f n="nis.so" o="root" g="wheel" p="33261"/><f n="operator.so" o="root" g="wheel" p="33261"/><f n="OSATerminology.so" o="root" g="wheel" p="33261"/><f n="parser.so" o="root" g="wheel" p="33261"/><f n="pyexpat.so" o="root" g="wheel" p="33261"/><f n="Python-2.6.4-py2.6.egg-info" o="root" g="wheel" p="33188"/><f n="resource.so" o="root" g="wheel" p="33261"/><f n="select.so" o="root" g="wheel" p="33261"/><f n="strop.so" o="root" g="wheel" p="33261"/><f n="syslog.so" o="root" g="wheel" p="33261"/><f n="termios.so" o="root" g="wheel" p="33261"/><f n="time.so" o="root" g="wheel" p="33261"/><f n="unicodedata.so" o="root" g="wheel" p="33261"/><f n="zlib.so" o="root" g="wheel" p="33261"/></f><f n="lib-old" o="root" g="wheel" p="16877"/><f n="lib-tk" o="root" g="wheel" p="16877"><f n="Canvas.py" o="root" g="wheel" p="33188"/><f n="Canvas.pyc" o="root" g="wheel" p="33188"/><f n="Canvas.pyo" o="root" g="wheel" p="33188"/><f n="Dialog.py" o="root" g="wheel" p="33188"/><f n="Dialog.pyc" o="root" g="wheel" p="33188"/><f n="Dialog.pyo" o="root" g="wheel" p="33188"/><f n="FileDialog.py" o="root" g="wheel" p="33188"/><f n="FileDialog.pyc" o="root" g="wheel" p="33188"/><f n="FileDialog.pyo" o="root" g="wheel" p="33188"/><f n="FixTk.py" o="root" g="wheel" p="33188"/><f n="FixTk.pyc" o="root" g="wheel" p="33188"/><f n="FixTk.pyo" o="root" g="wheel" p="33188"/><f n="ScrolledText.py" o="root" g="wheel" p="33188"/><f n="ScrolledText.pyc" o="root" g="wheel" p="33188"/><f n="ScrolledText.pyo" o="root" g="wheel" p="33188"/><f n="SimpleDialog.py" o="root" g="wheel" p="33188"/><f n="SimpleDialog.pyc" o="root" g="wheel" p="33188"/><f n="SimpleDialog.pyo" o="root" g="wheel" p="33188"/><f n="Tix.py" o="root" g="wheel" p="33261"/><f n="Tix.pyc" o="root" g="wheel" p="33188"/><f n="Tix.pyo" o="root" g="wheel" p="33188"/><f n="tkColorChooser.py" o="root" g="wheel" p="33188"/><f n="tkColorChooser.pyc" o="root" g="wheel" p="33188"/><f n="tkColorChooser.pyo" o="root" g="wheel" p="33188"/><f n="tkCommonDialog.py" o="root" g="wheel" p="33188"/><f n="tkCommonDialog.pyc" o="root" g="wheel" p="33188"/><f n="tkCommonDialog.pyo" o="root" g="wheel" p="33188"/><f n="Tkconstants.py" o="root" g="wheel" p="33188"/><f n="Tkconstants.pyc" o="root" g="wheel" p="33188"/><f n="Tkconstants.pyo" o="root" g="wheel" p="33188"/><f n="Tkdnd.py" o="root" g="wheel" p="33188"/><f n="Tkdnd.pyc" o="root" g="wheel" p="33188"/><f n="Tkdnd.pyo" o="root" g="wheel" p="33188"/><f n="tkFileDialog.py" o="root" g="wheel" p="33188"/><f n="tkFileDialog.pyc" o="root" g="wheel" p="33188"/><f n="tkFileDialog.pyo" o="root" g="wheel" p="33188"/><f n="tkFont.py" o="root" g="wheel" p="33188"/><f n="tkFont.pyc" o="root" g="wheel" p="33188"/><f n="tkFont.pyo" o="root" g="wheel" p="33188"/><f n="Tkinter.py" o="root" g="wheel" p="33188"/><f n="Tkinter.pyc" o="root" g="wheel" p="33188"/><f n="Tkinter.pyo" o="root" g="wheel" p="33188"/><f n="tkMessageBox.py" o="root" g="wheel" p="33188"/><f n="tkMessageBox.pyc" o="root" g="wheel" p="33188"/><f n="tkMessageBox.pyo" o="root" g="wheel" p="33188"/><f n="tkSimpleDialog.py" o="root" g="wheel" p="33188"/><f n="tkSimpleDialog.pyc" o="root" g="wheel" p="33188"/><f n="tkSimpleDialog.pyo" o="root" g="wheel" p="33188"/><f n="turtle.py" o="root" g="wheel" p="33188"/><f n="turtle.pyc" o="root" g="wheel" p="33188"/><f n="turtle.pyo" o="root" g="wheel" p="33188"/></f><f n="lib2to3" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="fixer_base.py" o="root" g="wheel" p="33188"/><f n="fixer_base.pyc" o="root" g="wheel" p="33188"/><f n="fixer_base.pyo" o="root" g="wheel" p="33188"/><f n="fixer_util.py" o="root" g="wheel" p="33188"/><f n="fixer_util.pyc" o="root" g="wheel" p="33188"/><f n="fixer_util.pyo" o="root" g="wheel" p="33188"/><f n="fixes" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="fix_apply.py" o="root" g="wheel" p="33188"/><f n="fix_apply.pyc" o="root" g="wheel" p="33188"/><f n="fix_apply.pyo" o="root" g="wheel" p="33188"/><f n="fix_basestring.py" o="root" g="wheel" p="33188"/><f n="fix_basestring.pyc" o="root" g="wheel" p="33188"/><f n="fix_basestring.pyo" o="root" g="wheel" p="33188"/><f n="fix_buffer.py" o="root" g="wheel" p="33188"/><f n="fix_buffer.pyc" o="root" g="wheel" p="33188"/><f n="fix_buffer.pyo" o="root" g="wheel" p="33188"/><f n="fix_callable.py" o="root" g="wheel" p="33188"/><f n="fix_callable.pyc" o="root" g="wheel" p="33188"/><f n="fix_callable.pyo" o="root" g="wheel" p="33188"/><f n="fix_dict.py" o="root" g="wheel" p="33188"/><f n="fix_dict.pyc" o="root" g="wheel" p="33188"/><f n="fix_dict.pyo" o="root" g="wheel" p="33188"/><f n="fix_except.py" o="root" g="wheel" p="33188"/><f n="fix_except.pyc" o="root" g="wheel" p="33188"/><f n="fix_except.pyo" o="root" g="wheel" p="33188"/><f n="fix_exec.py" o="root" g="wheel" p="33188"/><f n="fix_exec.pyc" o="root" g="wheel" p="33188"/><f n="fix_exec.pyo" o="root" g="wheel" p="33188"/><f n="fix_execfile.py" o="root" g="wheel" p="33188"/><f n="fix_execfile.pyc" o="root" g="wheel" p="33188"/><f n="fix_execfile.pyo" o="root" g="wheel" p="33188"/><f n="fix_filter.py" o="root" g="wheel" p="33188"/><f n="fix_filter.pyc" o="root" g="wheel" p="33188"/><f n="fix_filter.pyo" o="root" g="wheel" p="33188"/><f n="fix_funcattrs.py" o="root" g="wheel" p="33188"/><f n="fix_funcattrs.pyc" o="root" g="wheel" p="33188"/><f n="fix_funcattrs.pyo" o="root" g="wheel" p="33188"/><f n="fix_future.py" o="root" g="wheel" p="33188"/><f n="fix_future.pyc" o="root" g="wheel" p="33188"/><f n="fix_future.pyo" o="root" g="wheel" p="33188"/><f n="fix_getcwdu.py" o="root" g="wheel" p="33188"/><f n="fix_getcwdu.pyc" o="root" g="wheel" p="33188"/><f n="fix_getcwdu.pyo" o="root" g="wheel" p="33188"/><f n="fix_has_key.py" o="root" g="wheel" p="33188"/><f n="fix_has_key.pyc" o="root" g="wheel" p="33188"/><f n="fix_has_key.pyo" o="root" g="wheel" p="33188"/><f n="fix_idioms.py" o="root" g="wheel" p="33188"/><f n="fix_idioms.pyc" o="root" g="wheel" p="33188"/><f n="fix_idioms.pyo" o="root" g="wheel" p="33188"/><f n="fix_import.py" o="root" g="wheel" p="33188"/><f n="fix_import.pyc" o="root" g="wheel" p="33188"/><f n="fix_import.pyo" o="root" g="wheel" p="33188"/><f n="fix_imports.py" o="root" g="wheel" p="33188"/><f n="fix_imports.pyc" o="root" g="wheel" p="33188"/><f n="fix_imports.pyo" o="root" g="wheel" p="33188"/><f n="fix_imports2.py" o="root" g="wheel" p="33188"/><f n="fix_imports2.pyc" o="root" g="wheel" p="33188"/><f n="fix_imports2.pyo" o="root" g="wheel" p="33188"/><f n="fix_input.py" o="root" g="wheel" p="33188"/><f n="fix_input.pyc" o="root" g="wheel" p="33188"/><f n="fix_input.pyo" o="root" g="wheel" p="33188"/><f n="fix_intern.py" o="root" g="wheel" p="33188"/><f n="fix_intern.pyc" o="root" g="wheel" p="33188"/><f n="fix_intern.pyo" o="root" g="wheel" p="33188"/><f n="fix_isinstance.py" o="root" g="wheel" p="33188"/><f n="fix_isinstance.pyc" o="root" g="wheel" p="33188"/><f n="fix_isinstance.pyo" o="root" g="wheel" p="33188"/><f n="fix_itertools.py" o="root" g="wheel" p="33188"/><f n="fix_itertools.pyc" o="root" g="wheel" p="33188"/><f n="fix_itertools.pyo" o="root" g="wheel" p="33188"/><f n="fix_itertools_imports.py" o="root" g="wheel" p="33188"/><f n="fix_itertools_imports.pyc" o="root" g="wheel" p="33188"/><f n="fix_itertools_imports.pyo" o="root" g="wheel" p="33188"/><f n="fix_long.py" o="root" g="wheel" p="33188"/><f n="fix_long.pyc" o="root" g="wheel" p="33188"/><f n="fix_long.pyo" o="root" g="wheel" p="33188"/><f n="fix_map.py" o="root" g="wheel" p="33188"/><f n="fix_map.pyc" o="root" g="wheel" p="33188"/><f n="fix_map.pyo" o="root" g="wheel" p="33188"/><f n="fix_metaclass.py" o="root" g="wheel" p="33188"/><f n="fix_metaclass.pyc" o="root" g="wheel" p="33188"/><f n="fix_metaclass.pyo" o="root" g="wheel" p="33188"/><f n="fix_methodattrs.py" o="root" g="wheel" p="33188"/><f n="fix_methodattrs.pyc" o="root" g="wheel" p="33188"/><f n="fix_methodattrs.pyo" o="root" g="wheel" p="33188"/><f n="fix_ne.py" o="root" g="wheel" p="33188"/><f n="fix_ne.pyc" o="root" g="wheel" p="33188"/><f n="fix_ne.pyo" o="root" g="wheel" p="33188"/><f n="fix_next.py" o="root" g="wheel" p="33188"/><f n="fix_next.pyc" o="root" g="wheel" p="33188"/><f n="fix_next.pyo" o="root" g="wheel" p="33188"/><f n="fix_nonzero.py" o="root" g="wheel" p="33188"/><f n="fix_nonzero.pyc" o="root" g="wheel" p="33188"/><f n="fix_nonzero.pyo" o="root" g="wheel" p="33188"/><f n="fix_numliterals.py" o="root" g="wheel" p="33188"/><f n="fix_numliterals.pyc" o="root" g="wheel" p="33188"/><f n="fix_numliterals.pyo" o="root" g="wheel" p="33188"/><f n="fix_paren.py" o="root" g="wheel" p="33188"/><f n="fix_paren.pyc" o="root" g="wheel" p="33188"/><f n="fix_paren.pyo" o="root" g="wheel" p="33188"/><f n="fix_print.py" o="root" g="wheel" p="33188"/><f n="fix_print.pyc" o="root" g="wheel" p="33188"/><f n="fix_print.pyo" o="root" g="wheel" p="33188"/><f n="fix_raise.py" o="root" g="wheel" p="33188"/><f n="fix_raise.pyc" o="root" g="wheel" p="33188"/><f n="fix_raise.pyo" o="root" g="wheel" p="33188"/><f n="fix_raw_input.py" o="root" g="wheel" p="33188"/><f n="fix_raw_input.pyc" o="root" g="wheel" p="33188"/><f n="fix_raw_input.pyo" o="root" g="wheel" p="33188"/><f n="fix_reduce.py" o="root" g="wheel" p="33188"/><f n="fix_reduce.pyc" o="root" g="wheel" p="33188"/><f n="fix_reduce.pyo" o="root" g="wheel" p="33188"/><f n="fix_renames.py" o="root" g="wheel" p="33188"/><f n="fix_renames.pyc" o="root" g="wheel" p="33188"/><f n="fix_renames.pyo" o="root" g="wheel" p="33188"/><f n="fix_repr.py" o="root" g="wheel" p="33188"/><f n="fix_repr.pyc" o="root" g="wheel" p="33188"/><f n="fix_repr.pyo" o="root" g="wheel" p="33188"/><f n="fix_set_literal.py" o="root" g="wheel" p="33188"/><f n="fix_set_literal.pyc" o="root" g="wheel" p="33188"/><f n="fix_set_literal.pyo" o="root" g="wheel" p="33188"/><f n="fix_standarderror.py" o="root" g="wheel" p="33188"/><f n="fix_standarderror.pyc" o="root" g="wheel" p="33188"/><f n="fix_standarderror.pyo" o="root" g="wheel" p="33188"/><f n="fix_sys_exc.py" o="root" g="wheel" p="33188"/><f n="fix_sys_exc.pyc" o="root" g="wheel" p="33188"/><f n="fix_sys_exc.pyo" o="root" g="wheel" p="33188"/><f n="fix_throw.py" o="root" g="wheel" p="33188"/><f n="fix_throw.pyc" o="root" g="wheel" p="33188"/><f n="fix_throw.pyo" o="root" g="wheel" p="33188"/><f n="fix_tuple_params.py" o="root" g="wheel" p="33188"/><f n="fix_tuple_params.pyc" o="root" g="wheel" p="33188"/><f n="fix_tuple_params.pyo" o="root" g="wheel" p="33188"/><f n="fix_types.py" o="root" g="wheel" p="33188"/><f n="fix_types.pyc" o="root" g="wheel" p="33188"/><f n="fix_types.pyo" o="root" g="wheel" p="33188"/><f n="fix_unicode.py" o="root" g="wheel" p="33188"/><f n="fix_unicode.pyc" o="root" g="wheel" p="33188"/><f n="fix_unicode.pyo" o="root" g="wheel" p="33188"/><f n="fix_urllib.py" o="root" g="wheel" p="33188"/><f n="fix_urllib.pyc" o="root" g="wheel" p="33188"/><f n="fix_urllib.pyo" o="root" g="wheel" p="33188"/><f n="fix_ws_comma.py" o="root" g="wheel" p="33188"/><f n="fix_ws_comma.pyc" o="root" g="wheel" p="33188"/><f n="fix_ws_comma.pyo" o="root" g="wheel" p="33188"/><f n="fix_xrange.py" o="root" g="wheel" p="33188"/><f n="fix_xrange.pyc" o="root" g="wheel" p="33188"/><f n="fix_xrange.pyo" o="root" g="wheel" p="33188"/><f n="fix_xreadlines.py" o="root" g="wheel" p="33188"/><f n="fix_xreadlines.pyc" o="root" g="wheel" p="33188"/><f n="fix_xreadlines.pyo" o="root" g="wheel" p="33188"/><f n="fix_zip.py" o="root" g="wheel" p="33188"/><f n="fix_zip.pyc" o="root" g="wheel" p="33188"/><f n="fix_zip.pyo" o="root" g="wheel" p="33188"/></f><f n="Grammar.txt" o="root" g="wheel" p="33188"/><f n="Grammar2.6.4.final.0.pickle" o="root" g="wheel" p="33188"/><f n="main.py" o="root" g="wheel" p="33188"/><f n="main.pyc" o="root" g="wheel" p="33188"/><f n="main.pyo" o="root" g="wheel" p="33188"/><f n="patcomp.py" o="root" g="wheel" p="33188"/><f n="patcomp.pyc" o="root" g="wheel" p="33188"/><f n="patcomp.pyo" o="root" g="wheel" p="33188"/><f n="PatternGrammar.txt" o="root" g="wheel" p="33188"/><f n="PatternGrammar2.6.4.final.0.pickle" o="root" g="wheel" p="33188"/><f n="pgen2" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="conv.py" o="root" g="wheel" p="33188"/><f n="conv.pyc" o="root" g="wheel" p="33188"/><f n="conv.pyo" o="root" g="wheel" p="33188"/><f n="driver.py" o="root" g="wheel" p="33188"/><f n="driver.pyc" o="root" g="wheel" p="33188"/><f n="driver.pyo" o="root" g="wheel" p="33188"/><f n="grammar.py" o="root" g="wheel" p="33188"/><f n="grammar.pyc" o="root" g="wheel" p="33188"/><f n="grammar.pyo" o="root" g="wheel" p="33188"/><f n="literals.py" o="root" g="wheel" p="33188"/><f n="literals.pyc" o="root" g="wheel" p="33188"/><f n="literals.pyo" o="root" g="wheel" p="33188"/><f n="parse.py" o="root" g="wheel" p="33188"/><f n="parse.pyc" o="root" g="wheel" p="33188"/><f n="parse.pyo" o="root" g="wheel" p="33188"/><f n="pgen.py" o="root" g="wheel" p="33188"/><f n="pgen.pyc" o="root" g="wheel" p="33188"/><f n="pgen.pyo" o="root" g="wheel" p="33188"/><f n="token.py" o="root" g="wheel" p="33261"/><f n="token.pyc" o="root" g="wheel" p="33188"/><f n="token.pyo" o="root" g="wheel" p="33188"/><f n="tokenize.py" o="root" g="wheel" p="33188"/><f n="tokenize.pyc" o="root" g="wheel" p="33188"/><f n="tokenize.pyo" o="root" g="wheel" p="33188"/></f><f n="pygram.py" o="root" g="wheel" p="33188"/><f n="pygram.pyc" o="root" g="wheel" p="33188"/><f n="pygram.pyo" o="root" g="wheel" p="33188"/><f n="pytree.py" o="root" g="wheel" p="33188"/><f n="pytree.pyc" o="root" g="wheel" p="33188"/><f n="pytree.pyo" o="root" g="wheel" p="33188"/><f n="refactor.py" o="root" g="wheel" p="33261"/><f n="refactor.pyc" o="root" g="wheel" p="33188"/><f n="refactor.pyo" o="root" g="wheel" p="33188"/><f n="tests" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="pytree_idempotency.py" o="root" g="wheel" p="33261"/><f n="pytree_idempotency.pyc" o="root" g="wheel" p="33188"/><f n="pytree_idempotency.pyo" o="root" g="wheel" p="33188"/><f n="support.py" o="root" g="wheel" p="33188"/><f n="support.pyc" o="root" g="wheel" p="33188"/><f n="support.pyo" o="root" g="wheel" p="33188"/><f n="test_all_fixers.py" o="root" g="wheel" p="33188"/><f n="test_all_fixers.pyc" o="root" g="wheel" p="33188"/><f n="test_all_fixers.pyo" o="root" g="wheel" p="33188"/><f n="test_fixers.py" o="root" g="wheel" p="33261"/><f n="test_fixers.pyc" o="root" g="wheel" p="33188"/><f n="test_fixers.pyo" o="root" g="wheel" p="33188"/><f n="test_parser.py" o="root" g="wheel" p="33188"/><f n="test_parser.pyc" o="root" g="wheel" p="33188"/><f n="test_parser.pyo" o="root" g="wheel" p="33188"/><f n="test_pytree.py" o="root" g="wheel" p="33261"/><f n="test_pytree.pyc" o="root" g="wheel" p="33188"/><f n="test_pytree.pyo" o="root" g="wheel" p="33188"/><f n="test_refactor.py" o="root" g="wheel" p="33188"/><f n="test_refactor.pyc" o="root" g="wheel" p="33188"/><f n="test_refactor.pyo" o="root" g="wheel" p="33188"/><f n="test_util.py" o="root" g="wheel" p="33188"/><f n="test_util.pyc" o="root" g="wheel" p="33188"/><f n="test_util.pyo" o="root" g="wheel" p="33188"/></f></f><f n="LICENSE.txt" o="root" g="wheel" p="33188"/><f n="linecache.py" o="root" g="wheel" p="33188"/><f n="linecache.pyo" o="root" g="wheel" p="33188"/><f n="locale.py" o="root" g="wheel" p="33188"/><f n="locale.pyo" o="root" g="wheel" p="33188"/><f n="logging" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="config.py" o="root" g="wheel" p="33188"/><f n="config.pyc" o="root" g="wheel" p="33188"/><f n="config.pyo" o="root" g="wheel" p="33188"/><f n="handlers.py" o="root" g="wheel" p="33188"/><f n="handlers.pyc" o="root" g="wheel" p="33188"/><f n="handlers.pyo" o="root" g="wheel" p="33188"/></f><f n="macpath.py" o="root" g="wheel" p="33188"/><f n="macpath.pyo" o="root" g="wheel" p="33188"/><f n="macurl2path.py" o="root" g="wheel" p="33188"/><f n="macurl2path.pyo" o="root" g="wheel" p="33188"/><f n="mailbox.py" o="root" g="wheel" p="33261"/><f n="mailbox.pyo" o="root" g="wheel" p="33188"/><f n="mailcap.py" o="root" g="wheel" p="33188"/><f n="mailcap.pyo" o="root" g="wheel" p="33188"/><f n="markupbase.py" o="root" g="wheel" p="33188"/><f n="markupbase.pyo" o="root" g="wheel" p="33188"/><f n="md5.py" o="root" g="wheel" p="33188"/><f n="md5.pyo" o="root" g="wheel" p="33188"/><f n="mhlib.py" o="root" g="wheel" p="33188"/><f n="mhlib.pyo" o="root" g="wheel" p="33188"/><f n="mimetools.py" o="root" g="wheel" p="33188"/><f n="mimetools.pyo" o="root" g="wheel" p="33188"/><f n="mimetypes.py" o="root" g="wheel" p="33188"/><f n="mimetypes.pyo" o="root" g="wheel" p="33188"/><f n="MimeWriter.py" o="root" g="wheel" p="33188"/><f n="MimeWriter.pyo" o="root" g="wheel" p="33188"/><f n="mimify.py" o="root" g="wheel" p="33261"/><f n="mimify.pyo" o="root" g="wheel" p="33188"/><f n="modulefinder.py" o="root" g="wheel" p="33188"/><f n="modulefinder.pyo" o="root" g="wheel" p="33188"/><f n="multifile.py" o="root" g="wheel" p="33188"/><f n="multifile.pyo" o="root" g="wheel" p="33188"/><f n="multiprocessing" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="connection.py" o="root" g="wheel" p="33188"/><f n="connection.pyc" o="root" g="wheel" p="33188"/><f n="connection.pyo" o="root" g="wheel" p="33188"/><f n="dummy" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="connection.py" o="root" g="wheel" p="33188"/><f n="connection.pyc" o="root" g="wheel" p="33188"/><f n="connection.pyo" o="root" g="wheel" p="33188"/></f><f n="forking.py" o="root" g="wheel" p="33188"/><f n="forking.pyc" o="root" g="wheel" p="33188"/><f n="forking.pyo" o="root" g="wheel" p="33188"/><f n="heap.py" o="root" g="wheel" p="33188"/><f n="heap.pyc" o="root" g="wheel" p="33188"/><f n="heap.pyo" o="root" g="wheel" p="33188"/><f n="managers.py" o="root" g="wheel" p="33188"/><f n="managers.pyc" o="root" g="wheel" p="33188"/><f n="managers.pyo" o="root" g="wheel" p="33188"/><f n="pool.py" o="root" g="wheel" p="33188"/><f n="pool.pyc" o="root" g="wheel" p="33188"/><f n="pool.pyo" o="root" g="wheel" p="33188"/><f n="process.py" o="root" g="wheel" p="33188"/><f n="process.pyc" o="root" g="wheel" p="33188"/><f n="process.pyo" o="root" g="wheel" p="33188"/><f n="queues.py" o="root" g="wheel" p="33188"/><f n="queues.pyc" o="root" g="wheel" p="33188"/><f n="queues.pyo" o="root" g="wheel" p="33188"/><f n="reduction.py" o="root" g="wheel" p="33188"/><f n="reduction.pyc" o="root" g="wheel" p="33188"/><f n="reduction.pyo" o="root" g="wheel" p="33188"/><f n="sharedctypes.py" o="root" g="wheel" p="33188"/><f n="sharedctypes.pyc" o="root" g="wheel" p="33188"/><f n="sharedctypes.pyo" o="root" g="wheel" p="33188"/><f n="synchronize.py" o="root" g="wheel" p="33188"/><f n="synchronize.pyc" o="root" g="wheel" p="33188"/><f n="synchronize.pyo" o="root" g="wheel" p="33188"/><f n="util.py" o="root" g="wheel" p="33188"/><f n="util.pyc" o="root" g="wheel" p="33188"/><f n="util.pyo" o="root" g="wheel" p="33188"/></f><f n="mutex.py" o="root" g="wheel" p="33188"/><f n="mutex.pyo" o="root" g="wheel" p="33188"/><f n="netrc.py" o="root" g="wheel" p="33188"/><f n="netrc.pyo" o="root" g="wheel" p="33188"/><f n="new.py" o="root" g="wheel" p="33188"/><f n="new.pyo" o="root" g="wheel" p="33188"/><f n="nntplib.py" o="root" g="wheel" p="33188"/><f n="nntplib.pyo" o="root" g="wheel" p="33188"/><f n="ntpath.py" o="root" g="wheel" p="33188"/><f n="ntpath.pyo" o="root" g="wheel" p="33188"/><f n="nturl2path.py" o="root" g="wheel" p="33188"/><f n="nturl2path.pyo" o="root" g="wheel" p="33188"/><f n="numbers.py" o="root" g="wheel" p="33188"/><f n="numbers.pyo" o="root" g="wheel" p="33188"/><f n="opcode.py" o="root" g="wheel" p="33188"/><f n="opcode.pyo" o="root" g="wheel" p="33188"/><f n="optparse.py" o="root" g="wheel" p="33188"/><f n="optparse.pyo" o="root" g="wheel" p="33188"/><f n="os.py" o="root" g="wheel" p="33188"/><f n="os.pyo" o="root" g="wheel" p="33188"/><f n="os2emxpath.py" o="root" g="wheel" p="33188"/><f n="os2emxpath.pyo" o="root" g="wheel" p="33188"/><f n="pdb.doc" o="root" g="wheel" p="33188"/><f n="pdb.py" o="root" g="wheel" p="33261"/><f n="pdb.pyo" o="root" g="wheel" p="33188"/><f n="pickle.py" o="root" g="wheel" p="33188"/><f n="pickle.pyo" o="root" g="wheel" p="33188"/><f n="pickletools.py" o="root" g="wheel" p="33188"/><f n="pickletools.pyo" o="root" g="wheel" p="33188"/><f n="pipes.py" o="root" g="wheel" p="33188"/><f n="pipes.pyo" o="root" g="wheel" p="33188"/><f n="pkgutil.py" o="root" g="wheel" p="33188"/><f n="pkgutil.pyo" o="root" g="wheel" p="33188"/><f n="plat-darwin" o="root" g="wheel" p="16877"><f n="IN.py" o="root" g="wheel" p="33188"/><f n="IN.pyc" o="root" g="wheel" p="33188"/><f n="IN.pyo" o="root" g="wheel" p="33188"/><f n="regen" o="root" g="wheel" p="33261"/></f><f n="plat-mac" o="root" g="wheel" p="16877"><f n="aepack.py" o="root" g="wheel" p="33188"/><f n="aepack.pyc" o="root" g="wheel" p="33188"/><f n="aepack.pyo" o="root" g="wheel" p="33188"/><f n="aetools.py" o="root" g="wheel" p="33188"/><f n="aetools.pyc" o="root" g="wheel" p="33188"/><f n="aetools.pyo" o="root" g="wheel" p="33188"/><f n="aetypes.py" o="root" g="wheel" p="33188"/><f n="aetypes.pyc" o="root" g="wheel" p="33188"/><f n="aetypes.pyo" o="root" g="wheel" p="33188"/><f n="applesingle.py" o="root" g="wheel" p="33188"/><f n="applesingle.pyc" o="root" g="wheel" p="33188"/><f n="applesingle.pyo" o="root" g="wheel" p="33188"/><f n="appletrawmain.py" o="root" g="wheel" p="33188"/><f n="appletrawmain.pyc" o="root" g="wheel" p="33188"/><f n="appletrawmain.pyo" o="root" g="wheel" p="33188"/><f n="appletrunner.py" o="root" g="wheel" p="33261"/><f n="appletrunner.pyc" o="root" g="wheel" p="33188"/><f n="appletrunner.pyo" o="root" g="wheel" p="33188"/><f n="argvemulator.py" o="root" g="wheel" p="33188"/><f n="argvemulator.pyc" o="root" g="wheel" p="33188"/><f n="argvemulator.pyo" o="root" g="wheel" p="33188"/><f n="Audio_mac.py" o="root" g="wheel" p="33188"/><f n="Audio_mac.pyc" o="root" g="wheel" p="33188"/><f n="Audio_mac.pyo" o="root" g="wheel" p="33188"/><f n="bgenlocations.py" o="root" g="wheel" p="33188"/><f n="bgenlocations.pyc" o="root" g="wheel" p="33188"/><f n="bgenlocations.pyo" o="root" g="wheel" p="33188"/><f n="buildtools.py" o="root" g="wheel" p="33188"/><f n="buildtools.pyc" o="root" g="wheel" p="33188"/><f n="buildtools.pyo" o="root" g="wheel" p="33188"/><f n="bundlebuilder.py" o="root" g="wheel" p="33261"/><f n="bundlebuilder.pyc" o="root" g="wheel" p="33188"/><f n="bundlebuilder.pyo" o="root" g="wheel" p="33188"/><f n="Carbon" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="AE.py" o="root" g="wheel" p="33188"/><f n="AE.pyc" o="root" g="wheel" p="33188"/><f n="AE.pyo" o="root" g="wheel" p="33188"/><f n="AH.py" o="root" g="wheel" p="33188"/><f n="AH.pyc" o="root" g="wheel" p="33188"/><f n="AH.pyo" o="root" g="wheel" p="33188"/><f n="Alias.py" o="root" g="wheel" p="33188"/><f n="Alias.pyc" o="root" g="wheel" p="33188"/><f n="Alias.pyo" o="root" g="wheel" p="33188"/><f n="Aliases.py" o="root" g="wheel" p="33188"/><f n="Aliases.pyc" o="root" g="wheel" p="33188"/><f n="Aliases.pyo" o="root" g="wheel" p="33188"/><f n="App.py" o="root" g="wheel" p="33188"/><f n="App.pyc" o="root" g="wheel" p="33188"/><f n="App.pyo" o="root" g="wheel" p="33188"/><f n="Appearance.py" o="root" g="wheel" p="33188"/><f n="Appearance.pyc" o="root" g="wheel" p="33188"/><f n="Appearance.pyo" o="root" g="wheel" p="33188"/><f n="AppleEvents.py" o="root" g="wheel" p="33188"/><f n="AppleEvents.pyc" o="root" g="wheel" p="33188"/><f n="AppleEvents.pyo" o="root" g="wheel" p="33188"/><f n="AppleHelp.py" o="root" g="wheel" p="33188"/><f n="AppleHelp.pyc" o="root" g="wheel" p="33188"/><f n="AppleHelp.pyo" o="root" g="wheel" p="33188"/><f n="CarbonEvents.py" o="root" g="wheel" p="33261"/><f n="CarbonEvents.pyc" o="root" g="wheel" p="33188"/><f n="CarbonEvents.pyo" o="root" g="wheel" p="33188"/><f n="CarbonEvt.py" o="root" g="wheel" p="33261"/><f n="CarbonEvt.pyc" o="root" g="wheel" p="33188"/><f n="CarbonEvt.pyo" o="root" g="wheel" p="33188"/><f n="CF.py" o="root" g="wheel" p="33188"/><f n="CF.pyc" o="root" g="wheel" p="33188"/><f n="CF.pyo" o="root" g="wheel" p="33188"/><f n="CG.py" o="root" g="wheel" p="33261"/><f n="CG.pyc" o="root" g="wheel" p="33188"/><f n="CG.pyo" o="root" g="wheel" p="33188"/><f n="Cm.py" o="root" g="wheel" p="33188"/><f n="Cm.pyc" o="root" g="wheel" p="33188"/><f n="Cm.pyo" o="root" g="wheel" p="33188"/><f n="Components.py" o="root" g="wheel" p="33188"/><f n="Components.pyc" o="root" g="wheel" p="33188"/><f n="Components.pyo" o="root" g="wheel" p="33188"/><f n="ControlAccessor.py" o="root" g="wheel" p="33188"/><f n="ControlAccessor.pyc" o="root" g="wheel" p="33188"/><f n="ControlAccessor.pyo" o="root" g="wheel" p="33188"/><f n="Controls.py" o="root" g="wheel" p="33188"/><f n="Controls.pyc" o="root" g="wheel" p="33188"/><f n="Controls.pyo" o="root" g="wheel" p="33188"/><f n="CoreFoundation.py" o="root" g="wheel" p="33188"/><f n="CoreFoundation.pyc" o="root" g="wheel" p="33188"/><f n="CoreFoundation.pyo" o="root" g="wheel" p="33188"/><f n="CoreGraphics.py" o="root" g="wheel" p="33261"/><f n="CoreGraphics.pyc" o="root" g="wheel" p="33188"/><f n="CoreGraphics.pyo" o="root" g="wheel" p="33188"/><f n="Ctl.py" o="root" g="wheel" p="33188"/><f n="Ctl.pyc" o="root" g="wheel" p="33188"/><f n="Ctl.pyo" o="root" g="wheel" p="33188"/><f n="Dialogs.py" o="root" g="wheel" p="33188"/><f n="Dialogs.pyc" o="root" g="wheel" p="33188"/><f n="Dialogs.pyo" o="root" g="wheel" p="33188"/><f n="Dlg.py" o="root" g="wheel" p="33188"/><f n="Dlg.pyc" o="root" g="wheel" p="33188"/><f n="Dlg.pyo" o="root" g="wheel" p="33188"/><f n="Drag.py" o="root" g="wheel" p="33188"/><f n="Drag.pyc" o="root" g="wheel" p="33188"/><f n="Drag.pyo" o="root" g="wheel" p="33188"/><f n="Dragconst.py" o="root" g="wheel" p="33188"/><f n="Dragconst.pyc" o="root" g="wheel" p="33188"/><f n="Dragconst.pyo" o="root" g="wheel" p="33188"/><f n="Events.py" o="root" g="wheel" p="33188"/><f n="Events.pyc" o="root" g="wheel" p="33188"/><f n="Events.pyo" o="root" g="wheel" p="33188"/><f n="Evt.py" o="root" g="wheel" p="33188"/><f n="Evt.pyc" o="root" g="wheel" p="33188"/><f n="Evt.pyo" o="root" g="wheel" p="33188"/><f n="File.py" o="root" g="wheel" p="33188"/><f n="File.pyc" o="root" g="wheel" p="33188"/><f n="File.pyo" o="root" g="wheel" p="33188"/><f n="Files.py" o="root" g="wheel" p="33188"/><f n="Files.pyc" o="root" g="wheel" p="33188"/><f n="Files.pyo" o="root" g="wheel" p="33188"/><f n="Fm.py" o="root" g="wheel" p="33188"/><f n="Fm.pyc" o="root" g="wheel" p="33188"/><f n="Fm.pyo" o="root" g="wheel" p="33188"/><f n="Folder.py" o="root" g="wheel" p="33188"/><f n="Folder.pyc" o="root" g="wheel" p="33188"/><f n="Folder.pyo" o="root" g="wheel" p="33188"/><f n="Folders.py" o="root" g="wheel" p="33188"/><f n="Folders.pyc" o="root" g="wheel" p="33188"/><f n="Folders.pyo" o="root" g="wheel" p="33188"/><f n="Fonts.py" o="root" g="wheel" p="33188"/><f n="Fonts.pyc" o="root" g="wheel" p="33188"/><f n="Fonts.pyo" o="root" g="wheel" p="33188"/><f n="Help.py" o="root" g="wheel" p="33188"/><f n="Help.pyc" o="root" g="wheel" p="33188"/><f n="Help.pyo" o="root" g="wheel" p="33188"/><f n="IBCarbon.py" o="root" g="wheel" p="33188"/><f n="IBCarbon.pyc" o="root" g="wheel" p="33188"/><f n="IBCarbon.pyo" o="root" g="wheel" p="33188"/><f n="IBCarbonRuntime.py" o="root" g="wheel" p="33188"/><f n="IBCarbonRuntime.pyc" o="root" g="wheel" p="33188"/><f n="IBCarbonRuntime.pyo" o="root" g="wheel" p="33188"/><f n="Icn.py" o="root" g="wheel" p="33188"/><f n="Icn.pyc" o="root" g="wheel" p="33188"/><f n="Icn.pyo" o="root" g="wheel" p="33188"/><f n="Icons.py" o="root" g="wheel" p="33188"/><f n="Icons.pyc" o="root" g="wheel" p="33188"/><f n="Icons.pyo" o="root" g="wheel" p="33188"/><f n="Launch.py" o="root" g="wheel" p="33188"/><f n="Launch.pyc" o="root" g="wheel" p="33188"/><f n="Launch.pyo" o="root" g="wheel" p="33188"/><f n="LaunchServices.py" o="root" g="wheel" p="33188"/><f n="LaunchServices.pyc" o="root" g="wheel" p="33188"/><f n="LaunchServices.pyo" o="root" g="wheel" p="33188"/><f n="List.py" o="root" g="wheel" p="33188"/><f n="List.pyc" o="root" g="wheel" p="33188"/><f n="List.pyo" o="root" g="wheel" p="33188"/><f n="Lists.py" o="root" g="wheel" p="33188"/><f n="Lists.pyc" o="root" g="wheel" p="33188"/><f n="Lists.pyo" o="root" g="wheel" p="33188"/><f n="MacHelp.py" o="root" g="wheel" p="33188"/><f n="MacHelp.pyc" o="root" g="wheel" p="33188"/><f n="MacHelp.pyo" o="root" g="wheel" p="33188"/><f n="MacTextEditor.py" o="root" g="wheel" p="33188"/><f n="MacTextEditor.pyc" o="root" g="wheel" p="33188"/><f n="MacTextEditor.pyo" o="root" g="wheel" p="33188"/><f n="MediaDescr.py" o="root" g="wheel" p="33188"/><f n="MediaDescr.pyc" o="root" g="wheel" p="33188"/><f n="MediaDescr.pyo" o="root" g="wheel" p="33188"/><f n="Menu.py" o="root" g="wheel" p="33188"/><f n="Menu.pyc" o="root" g="wheel" p="33188"/><f n="Menu.pyo" o="root" g="wheel" p="33188"/><f n="Menus.py" o="root" g="wheel" p="33188"/><f n="Menus.pyc" o="root" g="wheel" p="33188"/><f n="Menus.pyo" o="root" g="wheel" p="33188"/><f n="Mlte.py" o="root" g="wheel" p="33188"/><f n="Mlte.pyc" o="root" g="wheel" p="33188"/><f n="Mlte.pyo" o="root" g="wheel" p="33188"/><f n="OSA.py" o="root" g="wheel" p="33188"/><f n="OSA.pyc" o="root" g="wheel" p="33188"/><f n="OSA.pyo" o="root" g="wheel" p="33188"/><f n="OSAconst.py" o="root" g="wheel" p="33188"/><f n="OSAconst.pyc" o="root" g="wheel" p="33188"/><f n="OSAconst.pyo" o="root" g="wheel" p="33188"/><f n="Qd.py" o="root" g="wheel" p="33188"/><f n="Qd.pyc" o="root" g="wheel" p="33188"/><f n="Qd.pyo" o="root" g="wheel" p="33188"/><f n="Qdoffs.py" o="root" g="wheel" p="33188"/><f n="Qdoffs.pyc" o="root" g="wheel" p="33188"/><f n="Qdoffs.pyo" o="root" g="wheel" p="33188"/><f n="QDOffscreen.py" o="root" g="wheel" p="33188"/><f n="QDOffscreen.pyc" o="root" g="wheel" p="33188"/><f n="QDOffscreen.pyo" o="root" g="wheel" p="33188"/><f n="Qt.py" o="root" g="wheel" p="33188"/><f n="Qt.pyc" o="root" g="wheel" p="33188"/><f n="Qt.pyo" o="root" g="wheel" p="33188"/><f n="QuickDraw.py" o="root" g="wheel" p="33188"/><f n="QuickDraw.pyc" o="root" g="wheel" p="33188"/><f n="QuickDraw.pyo" o="root" g="wheel" p="33188"/><f n="QuickTime.py" o="root" g="wheel" p="33188"/><f n="QuickTime.pyc" o="root" g="wheel" p="33188"/><f n="QuickTime.pyo" o="root" g="wheel" p="33188"/><f n="Res.py" o="root" g="wheel" p="33188"/><f n="Res.pyc" o="root" g="wheel" p="33188"/><f n="Res.pyo" o="root" g="wheel" p="33188"/><f n="Resources.py" o="root" g="wheel" p="33188"/><f n="Resources.pyc" o="root" g="wheel" p="33188"/><f n="Resources.pyo" o="root" g="wheel" p="33188"/><f n="Scrap.py" o="root" g="wheel" p="33188"/><f n="Scrap.pyc" o="root" g="wheel" p="33188"/><f n="Scrap.pyo" o="root" g="wheel" p="33188"/><f n="Snd.py" o="root" g="wheel" p="33188"/><f n="Snd.pyc" o="root" g="wheel" p="33188"/><f n="Snd.pyo" o="root" g="wheel" p="33188"/><f n="Sndihooks.py" o="root" g="wheel" p="33188"/><f n="Sndihooks.pyc" o="root" g="wheel" p="33188"/><f n="Sndihooks.pyo" o="root" g="wheel" p="33188"/><f n="Sound.py" o="root" g="wheel" p="33188"/><f n="Sound.pyc" o="root" g="wheel" p="33188"/><f n="Sound.pyo" o="root" g="wheel" p="33188"/><f n="TE.py" o="root" g="wheel" p="33188"/><f n="TE.pyc" o="root" g="wheel" p="33188"/><f n="TE.pyo" o="root" g="wheel" p="33188"/><f n="TextEdit.py" o="root" g="wheel" p="33188"/><f n="TextEdit.pyc" o="root" g="wheel" p="33188"/><f n="TextEdit.pyo" o="root" g="wheel" p="33188"/><f n="Win.py" o="root" g="wheel" p="33188"/><f n="Win.pyc" o="root" g="wheel" p="33188"/><f n="Win.pyo" o="root" g="wheel" p="33188"/><f n="Windows.py" o="root" g="wheel" p="33188"/><f n="Windows.pyc" o="root" g="wheel" p="33188"/><f n="Windows.pyo" o="root" g="wheel" p="33188"/></f><f n="cfmfile.py" o="root" g="wheel" p="33188"/><f n="cfmfile.pyc" o="root" g="wheel" p="33188"/><f n="cfmfile.pyo" o="root" g="wheel" p="33188"/><f n="dialogs.rsrc" o="root" g="wheel" p="33188"/><f n="EasyDialogs.py" o="root" g="wheel" p="33188"/><f n="EasyDialogs.pyc" o="root" g="wheel" p="33188"/><f n="EasyDialogs.pyo" o="root" g="wheel" p="33188"/><f n="errors.rsrc" o="root" g="wheel" p="33188"/><f n="findertools.py" o="root" g="wheel" p="33188"/><f n="findertools.pyc" o="root" g="wheel" p="33188"/><f n="findertools.pyo" o="root" g="wheel" p="33188"/><f n="FrameWork.py" o="root" g="wheel" p="33188"/><f n="FrameWork.pyc" o="root" g="wheel" p="33188"/><f n="FrameWork.pyo" o="root" g="wheel" p="33188"/><f n="gensuitemodule.py" o="root" g="wheel" p="33188"/><f n="gensuitemodule.pyc" o="root" g="wheel" p="33188"/><f n="gensuitemodule.pyo" o="root" g="wheel" p="33188"/><f n="ic.py" o="root" g="wheel" p="33188"/><f n="ic.pyc" o="root" g="wheel" p="33188"/><f n="ic.pyo" o="root" g="wheel" p="33188"/><f n="icopen.py" o="root" g="wheel" p="33188"/><f n="icopen.pyc" o="root" g="wheel" p="33188"/><f n="icopen.pyo" o="root" g="wheel" p="33188"/><f n="lib-scriptpackages" o="root" g="wheel" p="16877"><f n="_builtinSuites" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="builtin_Suite.py" o="root" g="wheel" p="33188"/><f n="builtin_Suite.pyc" o="root" g="wheel" p="33188"/><f n="builtin_Suite.pyo" o="root" g="wheel" p="33188"/></f><f n="CodeWarrior" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="CodeWarrior_suite.py" o="root" g="wheel" p="33188"/><f n="CodeWarrior_suite.pyc" o="root" g="wheel" p="33188"/><f n="CodeWarrior_suite.pyo" o="root" g="wheel" p="33188"/><f n="Metrowerks_Shell_Suite.py" o="root" g="wheel" p="33188"/><f n="Metrowerks_Shell_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Metrowerks_Shell_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Required.py" o="root" g="wheel" p="33188"/><f n="Required.pyc" o="root" g="wheel" p="33188"/><f n="Required.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/></f><f n="Explorer" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="Microsoft_Internet_Explorer.py" o="root" g="wheel" p="33188"/><f n="Microsoft_Internet_Explorer.pyc" o="root" g="wheel" p="33188"/><f n="Microsoft_Internet_Explorer.pyo" o="root" g="wheel" p="33188"/><f n="Netscape_Suite.py" o="root" g="wheel" p="33188"/><f n="Netscape_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Netscape_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Required_Suite.py" o="root" g="wheel" p="33188"/><f n="Required_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Required_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/><f n="URL_Suite.py" o="root" g="wheel" p="33188"/><f n="URL_Suite.pyc" o="root" g="wheel" p="33188"/><f n="URL_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Web_Browser_Suite.py" o="root" g="wheel" p="33188"/><f n="Web_Browser_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Web_Browser_Suite.pyo" o="root" g="wheel" p="33188"/></f><f n="Finder" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="Containers_and_folders.py" o="root" g="wheel" p="33188"/><f n="Containers_and_folders.pyc" o="root" g="wheel" p="33188"/><f n="Containers_and_folders.pyo" o="root" g="wheel" p="33188"/><f n="Enumerations.py" o="root" g="wheel" p="33188"/><f n="Enumerations.pyc" o="root" g="wheel" p="33188"/><f n="Enumerations.pyo" o="root" g="wheel" p="33188"/><f n="Files.py" o="root" g="wheel" p="33188"/><f n="Files.pyc" o="root" g="wheel" p="33188"/><f n="Files.pyo" o="root" g="wheel" p="33188"/><f n="Finder_Basics.py" o="root" g="wheel" p="33188"/><f n="Finder_Basics.pyc" o="root" g="wheel" p="33188"/><f n="Finder_Basics.pyo" o="root" g="wheel" p="33188"/><f n="Finder_items.py" o="root" g="wheel" p="33188"/><f n="Finder_items.pyc" o="root" g="wheel" p="33188"/><f n="Finder_items.pyo" o="root" g="wheel" p="33188"/><f n="Legacy_suite.py" o="root" g="wheel" p="33188"/><f n="Legacy_suite.pyc" o="root" g="wheel" p="33188"/><f n="Legacy_suite.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Type_Definitions.py" o="root" g="wheel" p="33188"/><f n="Type_Definitions.pyc" o="root" g="wheel" p="33188"/><f n="Type_Definitions.pyo" o="root" g="wheel" p="33188"/><f n="Window_classes.py" o="root" g="wheel" p="33188"/><f n="Window_classes.pyc" o="root" g="wheel" p="33188"/><f n="Window_classes.pyo" o="root" g="wheel" p="33188"/></f><f n="Netscape" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="Mozilla_suite.py" o="root" g="wheel" p="33188"/><f n="Mozilla_suite.pyc" o="root" g="wheel" p="33188"/><f n="Mozilla_suite.pyo" o="root" g="wheel" p="33188"/><f n="PowerPlant.py" o="root" g="wheel" p="33188"/><f n="PowerPlant.pyc" o="root" g="wheel" p="33188"/><f n="PowerPlant.pyo" o="root" g="wheel" p="33188"/><f n="Required_suite.py" o="root" g="wheel" p="33188"/><f n="Required_suite.pyc" o="root" g="wheel" p="33188"/><f n="Required_suite.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Standard_URL_suite.py" o="root" g="wheel" p="33188"/><f n="Standard_URL_suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_URL_suite.pyo" o="root" g="wheel" p="33188"/><f n="Text.py" o="root" g="wheel" p="33188"/><f n="Text.pyc" o="root" g="wheel" p="33188"/><f n="Text.pyo" o="root" g="wheel" p="33188"/><f n="WorldWideWeb_suite.py" o="root" g="wheel" p="33188"/><f n="WorldWideWeb_suite.pyc" o="root" g="wheel" p="33188"/><f n="WorldWideWeb_suite.pyo" o="root" g="wheel" p="33188"/></f><f n="StdSuites" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="AppleScript_Suite.py" o="root" g="wheel" p="33188"/><f n="AppleScript_Suite.pyc" o="root" g="wheel" p="33188"/><f n="AppleScript_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Macintosh_Connectivity_Clas.py" o="root" g="wheel" p="33188"/><f n="Macintosh_Connectivity_Clas.pyc" o="root" g="wheel" p="33188"/><f n="Macintosh_Connectivity_Clas.pyo" o="root" g="wheel" p="33188"/><f n="QuickDraw_Graphics_Suite.py" o="root" g="wheel" p="33188"/><f n="QuickDraw_Graphics_Suite.pyc" o="root" g="wheel" p="33188"/><f n="QuickDraw_Graphics_Suite.pyo" o="root" g="wheel" p="33188"/><f n="QuickDraw_Graphics_Suppleme.py" o="root" g="wheel" p="33188"/><f n="QuickDraw_Graphics_Suppleme.pyc" o="root" g="wheel" p="33188"/><f n="QuickDraw_Graphics_Suppleme.pyo" o="root" g="wheel" p="33188"/><f n="Required_Suite.py" o="root" g="wheel" p="33188"/><f n="Required_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Required_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Table_Suite.py" o="root" g="wheel" p="33188"/><f n="Table_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Table_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Text_Suite.py" o="root" g="wheel" p="33188"/><f n="Text_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Text_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Type_Names_Suite.py" o="root" g="wheel" p="33188"/><f n="Type_Names_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Type_Names_Suite.pyo" o="root" g="wheel" p="33188"/></f><f n="SystemEvents" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="Disk_Folder_File_Suite.py" o="root" g="wheel" p="33188"/><f n="Disk_Folder_File_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Disk_Folder_File_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Folder_Actions_Suite.py" o="root" g="wheel" p="33188"/><f n="Folder_Actions_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Folder_Actions_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Hidden_Suite.py" o="root" g="wheel" p="33188"/><f n="Hidden_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Hidden_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Login_Items_Suite.py" o="root" g="wheel" p="33188"/><f n="Login_Items_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Login_Items_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Power_Suite.py" o="root" g="wheel" p="33188"/><f n="Power_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Power_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Processes_Suite.py" o="root" g="wheel" p="33188"/><f n="Processes_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Processes_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/><f n="System_Events_Suite.py" o="root" g="wheel" p="33188"/><f n="System_Events_Suite.pyc" o="root" g="wheel" p="33188"/><f n="System_Events_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Text_Suite.py" o="root" g="wheel" p="33188"/><f n="Text_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Text_Suite.pyo" o="root" g="wheel" p="33188"/></f><f n="Terminal" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="Standard_Suite.py" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Standard_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Terminal_Suite.py" o="root" g="wheel" p="33188"/><f n="Terminal_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Terminal_Suite.pyo" o="root" g="wheel" p="33188"/><f n="Text_Suite.py" o="root" g="wheel" p="33188"/><f n="Text_Suite.pyc" o="root" g="wheel" p="33188"/><f n="Text_Suite.pyo" o="root" g="wheel" p="33188"/></f></f><f n="macerrors.py" o="root" g="wheel" p="33188"/><f n="macerrors.pyc" o="root" g="wheel" p="33188"/><f n="macerrors.pyo" o="root" g="wheel" p="33188"/><f n="macostools.py" o="root" g="wheel" p="33188"/><f n="macostools.pyc" o="root" g="wheel" p="33188"/><f n="macostools.pyo" o="root" g="wheel" p="33188"/><f n="macresource.py" o="root" g="wheel" p="33188"/><f n="macresource.pyc" o="root" g="wheel" p="33188"/><f n="macresource.pyo" o="root" g="wheel" p="33188"/><f n="MiniAEFrame.py" o="root" g="wheel" p="33188"/><f n="MiniAEFrame.pyc" o="root" g="wheel" p="33188"/><f n="MiniAEFrame.pyo" o="root" g="wheel" p="33188"/><f n="pimp.py" o="root" g="wheel" p="33188"/><f n="pimp.pyc" o="root" g="wheel" p="33188"/><f n="pimp.pyo" o="root" g="wheel" p="33188"/><f n="PixMapWrapper.py" o="root" g="wheel" p="33188"/><f n="PixMapWrapper.pyc" o="root" g="wheel" p="33188"/><f n="PixMapWrapper.pyo" o="root" g="wheel" p="33188"/><f n="terminalcommand.py" o="root" g="wheel" p="33188"/><f n="terminalcommand.pyc" o="root" g="wheel" p="33188"/><f n="terminalcommand.pyo" o="root" g="wheel" p="33188"/><f n="videoreader.py" o="root" g="wheel" p="33188"/><f n="videoreader.pyc" o="root" g="wheel" p="33188"/><f n="videoreader.pyo" o="root" g="wheel" p="33188"/></f><f n="platform.py" o="root" g="wheel" p="33261"/><f n="platform.pyo" o="root" g="wheel" p="33188"/><f n="plistlib.py" o="root" g="wheel" p="33188"/><f n="plistlib.pyo" o="root" g="wheel" p="33188"/><f n="popen2.py" o="root" g="wheel" p="33188"/><f n="popen2.pyo" o="root" g="wheel" p="33188"/><f n="poplib.py" o="root" g="wheel" p="33188"/><f n="poplib.pyo" o="root" g="wheel" p="33188"/><f n="posixfile.py" o="root" g="wheel" p="33188"/><f n="posixfile.pyo" o="root" g="wheel" p="33188"/><f n="posixpath.py" o="root" g="wheel" p="33188"/><f n="posixpath.pyo" o="root" g="wheel" p="33188"/><f n="pprint.py" o="root" g="wheel" p="33188"/><f n="pprint.pyo" o="root" g="wheel" p="33188"/><f n="profile.py" o="root" g="wheel" p="33261"/><f n="profile.pyo" o="root" g="wheel" p="33188"/><f n="pstats.py" o="root" g="wheel" p="33188"/><f n="pstats.pyo" o="root" g="wheel" p="33188"/><f n="pty.py" o="root" g="wheel" p="33188"/><f n="pty.pyo" o="root" g="wheel" p="33188"/><f n="py_compile.py" o="root" g="wheel" p="33188"/><f n="py_compile.pyo" o="root" g="wheel" p="33188"/><f n="pyclbr.py" o="root" g="wheel" p="33188"/><f n="pyclbr.pyo" o="root" g="wheel" p="33188"/><f n="pydoc.py" o="root" g="wheel" p="33261"/><f n="pydoc.pyo" o="root" g="wheel" p="33188"/><f n="pydoc_topics.py" o="root" g="wheel" p="33188"/><f n="pydoc_topics.pyo" o="root" g="wheel" p="33188"/><f n="Queue.py" o="root" g="wheel" p="33188"/><f n="Queue.pyo" o="root" g="wheel" p="33188"/><f n="quopri.py" o="root" g="wheel" p="33261"/><f n="quopri.pyo" o="root" g="wheel" p="33188"/><f n="random.py" o="root" g="wheel" p="33188"/><f n="random.pyo" o="root" g="wheel" p="33188"/><f n="re.py" o="root" g="wheel" p="33188"/><f n="re.pyo" o="root" g="wheel" p="33188"/><f n="repr.py" o="root" g="wheel" p="33188"/><f n="repr.pyo" o="root" g="wheel" p="33188"/><f n="rexec.py" o="root" g="wheel" p="33188"/><f n="rexec.pyo" o="root" g="wheel" p="33188"/><f n="rfc822.py" o="root" g="wheel" p="33188"/><f n="rfc822.pyo" o="root" g="wheel" p="33188"/><f n="rlcompleter.py" o="root" g="wheel" p="33188"/><f n="rlcompleter.pyo" o="root" g="wheel" p="33188"/><f n="robotparser.py" o="root" g="wheel" p="33188"/><f n="robotparser.pyo" o="root" g="wheel" p="33188"/><f n="runpy.py" o="root" g="wheel" p="33261"/><f n="runpy.pyo" o="root" g="wheel" p="33188"/><f n="sched.py" o="root" g="wheel" p="33188"/><f n="sched.pyo" o="root" g="wheel" p="33188"/><f n="sets.py" o="root" g="wheel" p="33188"/><f n="sets.pyo" o="root" g="wheel" p="33188"/><f n="sgmllib.py" o="root" g="wheel" p="33188"/><f n="sgmllib.pyo" o="root" g="wheel" p="33188"/><f n="sha.py" o="root" g="wheel" p="33188"/><f n="sha.pyo" o="root" g="wheel" p="33188"/><f n="shelve.py" o="root" g="wheel" p="33188"/><f n="shelve.pyo" o="root" g="wheel" p="33188"/><f n="shlex.py" o="root" g="wheel" p="33188"/><f n="shlex.pyo" o="root" g="wheel" p="33188"/><f n="shutil.py" o="root" g="wheel" p="33188"/><f n="shutil.pyo" o="root" g="wheel" p="33188"/><f n="SimpleHTTPServer.py" o="root" g="wheel" p="33188"/><f n="SimpleHTTPServer.pyo" o="root" g="wheel" p="33188"/><f n="SimpleXMLRPCServer.py" o="root" g="wheel" p="33188"/><f n="SimpleXMLRPCServer.pyo" o="root" g="wheel" p="33188"/><f n="site-packages" o="root" g="wheel" p="16877"><f n="PyQt4" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="phonon.so" o="root" g="wheel" p="33261"/><f n="pyqtconfig.py" o="root" g="wheel" p="33188"/><f n="Qt.so" o="root" g="wheel" p="33261"/><f n="QtAssistant.so" o="root" g="wheel" p="33261"/><f n="QtCore.so" o="root" g="wheel" p="33261"/><f n="QtDesigner.so" o="root" g="wheel" p="33261"/><f n="QtGui.so" o="root" g="wheel" p="33261"/><f n="QtHelp.so" o="root" g="wheel" p="33261"/><f n="QtNetwork.so" o="root" g="wheel" p="33261"/><f n="QtOpenGL.so" o="root" g="wheel" p="33261"/><f n="QtScript.so" o="root" g="wheel" p="33261"/><f n="QtScriptTools.so" o="root" g="wheel" p="33261"/><f n="QtSql.so" o="root" g="wheel" p="33261"/><f n="QtSvg.so" o="root" g="wheel" p="33261"/><f n="QtTest.so" o="root" g="wheel" p="33261"/><f n="QtWebKit.so" o="root" g="wheel" p="33261"/><f n="QtXml.so" o="root" g="wheel" p="33261"/><f n="QtXmlPatterns.so" o="root" g="wheel" p="33261"/><f n="uic" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="Compiler" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="compiler.py" o="root" g="wheel" p="33188"/><f n="indenter.py" o="root" g="wheel" p="33188"/><f n="misc.py" o="root" g="wheel" p="33188"/><f n="proxy_type.py" o="root" g="wheel" p="33188"/><f n="qobjectcreator.py" o="root" g="wheel" p="33188"/><f n="qtproxies.py" o="root" g="wheel" p="33188"/></f><f n="driver.py" o="root" g="wheel" p="33188"/><f n="exceptions.py" o="root" g="wheel" p="33188"/><f n="icon_cache.py" o="root" g="wheel" p="33188"/><f n="Loader" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="loader.py" o="root" g="wheel" p="33188"/><f n="qobjectcreator.py" o="root" g="wheel" p="33188"/></f><f n="objcreator.py" o="root" g="wheel" p="33188"/><f n="port_v2" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="ascii_upper.py" o="root" g="wheel" p="33188"/><f n="encode_utf8.py" o="root" g="wheel" p="33188"/><f n="invoke.py" o="root" g="wheel" p="33188"/><f n="load_plugin.py" o="root" g="wheel" p="33188"/><f n="proxy_base.py" o="root" g="wheel" p="33188"/><f n="string_io.py" o="root" g="wheel" p="33188"/></f><f n="port_v3" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="ascii_upper.py" o="root" g="wheel" p="33188"/><f n="encode_utf8.py" o="root" g="wheel" p="33188"/><f n="invoke.py" o="root" g="wheel" p="33188"/><f n="load_plugin.py" o="root" g="wheel" p="33188"/><f n="proxy_base.py" o="root" g="wheel" p="33188"/><f n="string_io.py" o="root" g="wheel" p="33188"/></f><f n="properties.py" o="root" g="wheel" p="33188"/><f n="pyuic.py" o="root" g="wheel" p="33188"/><f n="uiparser.py" o="root" g="wheel" p="33188"/><f n="widget-plugins" o="root" g="wheel" p="16877"><f n="phonon.py" o="root" g="wheel" p="33188"/><f n="qaxcontainer.py" o="root" g="wheel" p="33188"/><f n="qscintilla.py" o="root" g="wheel" p="33188"/><f n="qtwebkit.py" o="root" g="wheel" p="33188"/></f></f></f><f n="README" o="root" g="wheel" p="33188"/><f n="sip.so" o="root" g="wheel" p="33261"/><f n="sipconfig.py" o="root" g="wheel" p="33188"/><f n="sipdistutils.py" o="root" g="wheel" p="33188"/></f><f n="site.py" o="root" g="wheel" p="33188"/><f n="site.pyo" o="root" g="wheel" p="33188"/><f n="smtpd.py" o="root" g="wheel" p="33261"/><f n="smtpd.pyo" o="root" g="wheel" p="33188"/><f n="smtplib.py" o="root" g="wheel" p="33261"/><f n="smtplib.pyo" o="root" g="wheel" p="33188"/><f n="sndhdr.py" o="root" g="wheel" p="33188"/><f n="sndhdr.pyo" o="root" g="wheel" p="33188"/><f n="socket.py" o="root" g="wheel" p="33188"/><f n="socket.pyo" o="root" g="wheel" p="33188"/><f n="SocketServer.py" o="root" g="wheel" p="33188"/><f n="SocketServer.pyo" o="root" g="wheel" p="33188"/><f n="sqlite3" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="dbapi2.py" o="root" g="wheel" p="33188"/><f n="dbapi2.pyc" o="root" g="wheel" p="33188"/><f n="dbapi2.pyo" o="root" g="wheel" p="33188"/><f n="dump.py" o="root" g="wheel" p="33188"/><f n="dump.pyc" o="root" g="wheel" p="33188"/><f n="dump.pyo" o="root" g="wheel" p="33188"/><f n="test" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="dbapi.py" o="root" g="wheel" p="33188"/><f n="dbapi.pyc" o="root" g="wheel" p="33188"/><f n="dbapi.pyo" o="root" g="wheel" p="33188"/><f n="dump.py" o="root" g="wheel" p="33188"/><f n="dump.pyc" o="root" g="wheel" p="33188"/><f n="dump.pyo" o="root" g="wheel" p="33188"/><f n="factory.py" o="root" g="wheel" p="33188"/><f n="factory.pyc" o="root" g="wheel" p="33188"/><f n="factory.pyo" o="root" g="wheel" p="33188"/><f n="hooks.py" o="root" g="wheel" p="33188"/><f n="hooks.pyc" o="root" g="wheel" p="33188"/><f n="hooks.pyo" o="root" g="wheel" p="33188"/><f n="py25tests.py" o="root" g="wheel" p="33188"/><f n="py25tests.pyc" o="root" g="wheel" p="33188"/><f n="py25tests.pyo" o="root" g="wheel" p="33188"/><f n="regression.py" o="root" g="wheel" p="33188"/><f n="regression.pyc" o="root" g="wheel" p="33188"/><f n="regression.pyo" o="root" g="wheel" p="33188"/><f n="transactions.py" o="root" g="wheel" p="33188"/><f n="transactions.pyc" o="root" g="wheel" p="33188"/><f n="transactions.pyo" o="root" g="wheel" p="33188"/><f n="types.py" o="root" g="wheel" p="33188"/><f n="types.pyc" o="root" g="wheel" p="33188"/><f n="types.pyo" o="root" g="wheel" p="33188"/><f n="userfunctions.py" o="root" g="wheel" p="33188"/><f n="userfunctions.pyc" o="root" g="wheel" p="33188"/><f n="userfunctions.pyo" o="root" g="wheel" p="33188"/></f></f><f n="sre.py" o="root" g="wheel" p="33188"/><f n="sre.pyo" o="root" g="wheel" p="33188"/><f n="sre_compile.py" o="root" g="wheel" p="33188"/><f n="sre_compile.pyo" o="root" g="wheel" p="33188"/><f n="sre_constants.py" o="root" g="wheel" p="33188"/><f n="sre_constants.pyo" o="root" g="wheel" p="33188"/><f n="sre_parse.py" o="root" g="wheel" p="33188"/><f n="sre_parse.pyo" o="root" g="wheel" p="33188"/><f n="ssl.py" o="root" g="wheel" p="33188"/><f n="ssl.pyo" o="root" g="wheel" p="33188"/><f n="stat.py" o="root" g="wheel" p="33188"/><f n="stat.pyo" o="root" g="wheel" p="33188"/><f n="statvfs.py" o="root" g="wheel" p="33188"/><f n="statvfs.pyo" o="root" g="wheel" p="33188"/><f n="string.py" o="root" g="wheel" p="33188"/><f n="string.pyo" o="root" g="wheel" p="33188"/><f n="StringIO.py" o="root" g="wheel" p="33188"/><f n="StringIO.pyo" o="root" g="wheel" p="33188"/><f n="stringold.py" o="root" g="wheel" p="33188"/><f n="stringold.pyo" o="root" g="wheel" p="33188"/><f n="stringprep.py" o="root" g="wheel" p="33188"/><f n="stringprep.pyo" o="root" g="wheel" p="33188"/><f n="struct.py" o="root" g="wheel" p="33188"/><f n="struct.pyo" o="root" g="wheel" p="33188"/><f n="subprocess.py" o="root" g="wheel" p="33188"/><f n="subprocess.pyo" o="root" g="wheel" p="33188"/><f n="sunau.py" o="root" g="wheel" p="33188"/><f n="sunau.pyo" o="root" g="wheel" p="33188"/><f n="sunaudio.py" o="root" g="wheel" p="33188"/><f n="sunaudio.pyo" o="root" g="wheel" p="33188"/><f n="symbol.py" o="root" g="wheel" p="33261"/><f n="symbol.pyo" o="root" g="wheel" p="33188"/><f n="symtable.py" o="root" g="wheel" p="33188"/><f n="symtable.pyo" o="root" g="wheel" p="33188"/><f n="tabnanny.py" o="root" g="wheel" p="33261"/><f n="tabnanny.pyo" o="root" g="wheel" p="33188"/><f n="tarfile.py" o="root" g="wheel" p="33188"/><f n="tarfile.pyo" o="root" g="wheel" p="33188"/><f n="telnetlib.py" o="root" g="wheel" p="33188"/><f n="telnetlib.pyo" o="root" g="wheel" p="33188"/><f n="tempfile.py" o="root" g="wheel" p="33188"/><f n="tempfile.pyo" o="root" g="wheel" p="33188"/><f n="test" o="root" g="wheel" p="16877"><f n="185test.db" o="root" g="wheel" p="33188"/><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="audiotest.au" o="root" g="wheel" p="33188"/><f n="autotest.py" o="root" g="wheel" p="33188"/><f n="autotest.pyc" o="root" g="wheel" p="33188"/><f n="autotest.pyo" o="root" g="wheel" p="33188"/><f n="bad_coding.py" o="root" g="wheel" p="33188"/><f n="bad_coding2.py" o="root" g="wheel" p="33188"/><f n="badcert.pem" o="root" g="wheel" p="33188"/><f n="badkey.pem" o="root" g="wheel" p="33188"/><f n="badsyntax_future3.py" o="root" g="wheel" p="33188"/><f n="badsyntax_future4.py" o="root" g="wheel" p="33188"/><f n="badsyntax_future5.py" o="root" g="wheel" p="33188"/><f n="badsyntax_future6.py" o="root" g="wheel" p="33188"/><f n="badsyntax_future7.py" o="root" g="wheel" p="33188"/><f n="badsyntax_future8.py" o="root" g="wheel" p="33188"/><f n="badsyntax_future9.py" o="root" g="wheel" p="33188"/><f n="badsyntax_nocaret.py" o="root" g="wheel" p="33188"/><f n="buffer_tests.py" o="root" g="wheel" p="33188"/><f n="buffer_tests.pyc" o="root" g="wheel" p="33188"/><f n="buffer_tests.pyo" o="root" g="wheel" p="33188"/><f n="cfgparser.1" o="root" g="wheel" p="33188"/><f n="check_soundcard.vbs" o="root" g="wheel" p="33188"/><f n="cjkencodings_test.py" o="root" g="wheel" p="33188"/><f n="cjkencodings_test.pyc" o="root" g="wheel" p="33188"/><f n="cjkencodings_test.pyo" o="root" g="wheel" p="33188"/><f n="cmath_testcases.txt" o="root" g="wheel" p="33188"/><f n="curses_tests.py" o="root" g="wheel" p="33188"/><f n="curses_tests.pyc" o="root" g="wheel" p="33188"/><f n="curses_tests.pyo" o="root" g="wheel" p="33188"/><f n="decimaltestdata" o="root" g="wheel" p="16877"><f n="abs.decTest" o="root" g="wheel" p="33188"/><f n="add.decTest" o="root" g="wheel" p="33188"/><f n="and.decTest" o="root" g="wheel" p="33188"/><f n="base.decTest" o="root" g="wheel" p="33188"/><f n="clamp.decTest" o="root" g="wheel" p="33188"/><f n="class.decTest" o="root" g="wheel" p="33188"/><f n="compare.decTest" o="root" g="wheel" p="33188"/><f n="comparetotal.decTest" o="root" g="wheel" p="33188"/><f n="comparetotmag.decTest" o="root" g="wheel" p="33188"/><f n="copy.decTest" o="root" g="wheel" p="33188"/><f n="copyabs.decTest" o="root" g="wheel" p="33188"/><f n="copynegate.decTest" o="root" g="wheel" p="33188"/><f n="copysign.decTest" o="root" g="wheel" p="33188"/><f n="ddAbs.decTest" o="root" g="wheel" p="33188"/><f n="ddAdd.decTest" o="root" g="wheel" p="33188"/><f n="ddAnd.decTest" o="root" g="wheel" p="33188"/><f n="ddBase.decTest" o="root" g="wheel" p="33188"/><f n="ddCanonical.decTest" o="root" g="wheel" p="33188"/><f n="ddClass.decTest" o="root" g="wheel" p="33188"/><f n="ddCompare.decTest" o="root" g="wheel" p="33188"/><f n="ddCompareSig.decTest" o="root" g="wheel" p="33188"/><f n="ddCompareTotal.decTest" o="root" g="wheel" p="33188"/><f n="ddCompareTotalMag.decTest" o="root" g="wheel" p="33188"/><f n="ddCopy.decTest" o="root" g="wheel" p="33188"/><f n="ddCopyAbs.decTest" o="root" g="wheel" p="33188"/><f n="ddCopyNegate.decTest" o="root" g="wheel" p="33188"/><f n="ddCopySign.decTest" o="root" g="wheel" p="33188"/><f n="ddDivide.decTest" o="root" g="wheel" p="33188"/><f n="ddDivideInt.decTest" o="root" g="wheel" p="33188"/><f n="ddEncode.decTest" o="root" g="wheel" p="33188"/><f n="ddFMA.decTest" o="root" g="wheel" p="33188"/><f n="ddInvert.decTest" o="root" g="wheel" p="33188"/><f n="ddLogB.decTest" o="root" g="wheel" p="33188"/><f n="ddMax.decTest" o="root" g="wheel" p="33188"/><f n="ddMaxMag.decTest" o="root" g="wheel" p="33188"/><f n="ddMin.decTest" o="root" g="wheel" p="33188"/><f n="ddMinMag.decTest" o="root" g="wheel" p="33188"/><f n="ddMinus.decTest" o="root" g="wheel" p="33188"/><f n="ddMultiply.decTest" o="root" g="wheel" p="33188"/><f n="ddNextMinus.decTest" o="root" g="wheel" p="33188"/><f n="ddNextPlus.decTest" o="root" g="wheel" p="33188"/><f n="ddNextToward.decTest" o="root" g="wheel" p="33188"/><f n="ddOr.decTest" o="root" g="wheel" p="33188"/><f n="ddPlus.decTest" o="root" g="wheel" p="33188"/><f n="ddQuantize.decTest" o="root" g="wheel" p="33188"/><f n="ddReduce.decTest" o="root" g="wheel" p="33188"/><f n="ddRemainder.decTest" o="root" g="wheel" p="33188"/><f n="ddRemainderNear.decTest" o="root" g="wheel" p="33188"/><f n="ddRotate.decTest" o="root" g="wheel" p="33188"/><f n="ddSameQuantum.decTest" o="root" g="wheel" p="33188"/><f n="ddScaleB.decTest" o="root" g="wheel" p="33188"/><f n="ddShift.decTest" o="root" g="wheel" p="33188"/><f n="ddSubtract.decTest" o="root" g="wheel" p="33188"/><f n="ddToIntegral.decTest" o="root" g="wheel" p="33188"/><f n="ddXor.decTest" o="root" g="wheel" p="33188"/><f n="decDouble.decTest" o="root" g="wheel" p="33188"/><f n="decQuad.decTest" o="root" g="wheel" p="33188"/><f n="decSingle.decTest" o="root" g="wheel" p="33188"/><f n="divide.decTest" o="root" g="wheel" p="33188"/><f n="divideint.decTest" o="root" g="wheel" p="33188"/><f n="dqAbs.decTest" o="root" g="wheel" p="33188"/><f n="dqAdd.decTest" o="root" g="wheel" p="33188"/><f n="dqAnd.decTest" o="root" g="wheel" p="33188"/><f n="dqBase.decTest" o="root" g="wheel" p="33188"/><f n="dqCanonical.decTest" o="root" g="wheel" p="33188"/><f n="dqClass.decTest" o="root" g="wheel" p="33188"/><f n="dqCompare.decTest" o="root" g="wheel" p="33188"/><f n="dqCompareSig.decTest" o="root" g="wheel" p="33188"/><f n="dqCompareTotal.decTest" o="root" g="wheel" p="33188"/><f n="dqCompareTotalMag.decTest" o="root" g="wheel" p="33188"/><f n="dqCopy.decTest" o="root" g="wheel" p="33188"/><f n="dqCopyAbs.decTest" o="root" g="wheel" p="33188"/><f n="dqCopyNegate.decTest" o="root" g="wheel" p="33188"/><f n="dqCopySign.decTest" o="root" g="wheel" p="33188"/><f n="dqDivide.decTest" o="root" g="wheel" p="33188"/><f n="dqDivideInt.decTest" o="root" g="wheel" p="33188"/><f n="dqEncode.decTest" o="root" g="wheel" p="33188"/><f n="dqFMA.decTest" o="root" g="wheel" p="33188"/><f n="dqInvert.decTest" o="root" g="wheel" p="33188"/><f n="dqLogB.decTest" o="root" g="wheel" p="33188"/><f n="dqMax.decTest" o="root" g="wheel" p="33188"/><f n="dqMaxMag.decTest" o="root" g="wheel" p="33188"/><f n="dqMin.decTest" o="root" g="wheel" p="33188"/><f n="dqMinMag.decTest" o="root" g="wheel" p="33188"/><f n="dqMinus.decTest" o="root" g="wheel" p="33188"/><f n="dqMultiply.decTest" o="root" g="wheel" p="33188"/><f n="dqNextMinus.decTest" o="root" g="wheel" p="33188"/><f n="dqNextPlus.decTest" o="root" g="wheel" p="33188"/><f n="dqNextToward.decTest" o="root" g="wheel" p="33188"/><f n="dqOr.decTest" o="root" g="wheel" p="33188"/><f n="dqPlus.decTest" o="root" g="wheel" p="33188"/><f n="dqQuantize.decTest" o="root" g="wheel" p="33188"/><f n="dqReduce.decTest" o="root" g="wheel" p="33188"/><f n="dqRemainder.decTest" o="root" g="wheel" p="33188"/><f n="dqRemainderNear.decTest" o="root" g="wheel" p="33188"/><f n="dqRotate.decTest" o="root" g="wheel" p="33188"/><f n="dqSameQuantum.decTest" o="root" g="wheel" p="33188"/><f n="dqScaleB.decTest" o="root" g="wheel" p="33188"/><f n="dqShift.decTest" o="root" g="wheel" p="33188"/><f n="dqSubtract.decTest" o="root" g="wheel" p="33188"/><f n="dqToIntegral.decTest" o="root" g="wheel" p="33188"/><f n="dqXor.decTest" o="root" g="wheel" p="33188"/><f n="dsBase.decTest" o="root" g="wheel" p="33188"/><f n="dsEncode.decTest" o="root" g="wheel" p="33188"/><f n="exp.decTest" o="root" g="wheel" p="33188"/><f n="extra.decTest" o="root" g="wheel" p="33188"/><f n="fma.decTest" o="root" g="wheel" p="33188"/><f n="inexact.decTest" o="root" g="wheel" p="33188"/><f n="invert.decTest" o="root" g="wheel" p="33188"/><f n="ln.decTest" o="root" g="wheel" p="33188"/><f n="log10.decTest" o="root" g="wheel" p="33188"/><f n="logb.decTest" o="root" g="wheel" p="33188"/><f n="max.decTest" o="root" g="wheel" p="33188"/><f n="maxmag.decTest" o="root" g="wheel" p="33188"/><f n="min.decTest" o="root" g="wheel" p="33188"/><f n="minmag.decTest" o="root" g="wheel" p="33188"/><f n="minus.decTest" o="root" g="wheel" p="33188"/><f n="multiply.decTest" o="root" g="wheel" p="33188"/><f n="nextminus.decTest" o="root" g="wheel" p="33188"/><f n="nextplus.decTest" o="root" g="wheel" p="33188"/><f n="nexttoward.decTest" o="root" g="wheel" p="33188"/><f n="or.decTest" o="root" g="wheel" p="33188"/><f n="plus.decTest" o="root" g="wheel" p="33188"/><f n="power.decTest" o="root" g="wheel" p="33188"/><f n="powersqrt.decTest" o="root" g="wheel" p="33188"/><f n="quantize.decTest" o="root" g="wheel" p="33188"/><f n="randomBound32.decTest" o="root" g="wheel" p="33188"/><f n="randoms.decTest" o="root" g="wheel" p="33188"/><f n="reduce.decTest" o="root" g="wheel" p="33188"/><f n="remainder.decTest" o="root" g="wheel" p="33188"/><f n="remainderNear.decTest" o="root" g="wheel" p="33188"/><f n="rescale.decTest" o="root" g="wheel" p="33188"/><f n="rotate.decTest" o="root" g="wheel" p="33188"/><f n="rounding.decTest" o="root" g="wheel" p="33188"/><f n="samequantum.decTest" o="root" g="wheel" p="33188"/><f n="scaleb.decTest" o="root" g="wheel" p="33188"/><f n="shift.decTest" o="root" g="wheel" p="33188"/><f n="squareroot.decTest" o="root" g="wheel" p="33188"/><f n="subtract.decTest" o="root" g="wheel" p="33188"/><f n="testall.decTest" o="root" g="wheel" p="33188"/><f n="tointegral.decTest" o="root" g="wheel" p="33188"/><f n="tointegralx.decTest" o="root" g="wheel" p="33188"/><f n="xor.decTest" o="root" g="wheel" p="33188"/></f><f n="doctest_aliases.py" o="root" g="wheel" p="33188"/><f n="doctest_aliases.pyc" o="root" g="wheel" p="33188"/><f n="doctest_aliases.pyo" o="root" g="wheel" p="33188"/><f n="double_const.py" o="root" g="wheel" p="33188"/><f n="double_const.pyc" o="root" g="wheel" p="33188"/><f n="double_const.pyo" o="root" g="wheel" p="33188"/><f n="empty.vbs" o="root" g="wheel" p="33188"/><f n="exception_hierarchy.txt" o="root" g="wheel" p="33188"/><f n="floating_points.txt" o="root" g="wheel" p="33188"/><f n="fork_wait.py" o="root" g="wheel" p="33188"/><f n="fork_wait.pyc" o="root" g="wheel" p="33188"/><f n="fork_wait.pyo" o="root" g="wheel" p="33188"/><f n="greyrgb.uue" o="root" g="wheel" p="33188"/><f n="https_svn_python_org_root.pem" o="root" g="wheel" p="33188"/><f n="ieee754.txt" o="root" g="wheel" p="33188"/><f n="infinite_reload.py" o="root" g="wheel" p="33188"/><f n="infinite_reload.pyc" o="root" g="wheel" p="33188"/><f n="infinite_reload.pyo" o="root" g="wheel" p="33188"/><f n="inspect_fodder.py" o="root" g="wheel" p="33188"/><f n="inspect_fodder.pyc" o="root" g="wheel" p="33188"/><f n="inspect_fodder.pyo" o="root" g="wheel" p="33188"/><f n="inspect_fodder2.py" o="root" g="wheel" p="33188"/><f n="inspect_fodder2.pyc" o="root" g="wheel" p="33188"/><f n="inspect_fodder2.pyo" o="root" g="wheel" p="33188"/><f n="keycert.pem" o="root" g="wheel" p="33188"/><f n="list_tests.py" o="root" g="wheel" p="33188"/><f n="list_tests.pyc" o="root" g="wheel" p="33188"/><f n="list_tests.pyo" o="root" g="wheel" p="33188"/><f n="mapping_tests.py" o="root" g="wheel" p="33188"/><f n="mapping_tests.pyc" o="root" g="wheel" p="33188"/><f n="mapping_tests.pyo" o="root" g="wheel" p="33188"/><f n="nullcert.pem" o="root" g="wheel" p="33188"/><f n="outstanding_bugs.py" o="root" g="wheel" p="33188"/><f n="outstanding_bugs.pyc" o="root" g="wheel" p="33188"/><f n="outstanding_bugs.pyo" o="root" g="wheel" p="33188"/><f n="pickletester.py" o="root" g="wheel" p="33188"/><f n="pickletester.pyc" o="root" g="wheel" p="33188"/><f n="pickletester.pyo" o="root" g="wheel" p="33188"/><f n="profilee.py" o="root" g="wheel" p="33188"/><f n="profilee.pyc" o="root" g="wheel" p="33188"/><f n="profilee.pyo" o="root" g="wheel" p="33188"/><f n="pyclbr_input.py" o="root" g="wheel" p="33188"/><f n="pyclbr_input.pyc" o="root" g="wheel" p="33188"/><f n="pyclbr_input.pyo" o="root" g="wheel" p="33188"/><f n="pydoc_mod.py" o="root" g="wheel" p="33188"/><f n="pydoc_mod.pyc" o="root" g="wheel" p="33188"/><f n="pydoc_mod.pyo" o="root" g="wheel" p="33188"/><f n="pydocfodder.py" o="root" g="wheel" p="33188"/><f n="pydocfodder.pyc" o="root" g="wheel" p="33188"/><f n="pydocfodder.pyo" o="root" g="wheel" p="33188"/><f n="pystone.py" o="root" g="wheel" p="33261"/><f n="pystone.pyc" o="root" g="wheel" p="33188"/><f n="pystone.pyo" o="root" g="wheel" p="33188"/><f n="randv2_32.pck" o="root" g="wheel" p="33188"/><f n="randv2_64.pck" o="root" g="wheel" p="33188"/><f n="randv3.pck" o="root" g="wheel" p="33188"/><f n="re_tests.py" o="root" g="wheel" p="33261"/><f n="re_tests.pyc" o="root" g="wheel" p="33188"/><f n="re_tests.pyo" o="root" g="wheel" p="33188"/><f n="README" o="root" g="wheel" p="33188"/><f n="regex_tests.py" o="root" g="wheel" p="33188"/><f n="regex_tests.pyc" o="root" g="wheel" p="33188"/><f n="regex_tests.pyo" o="root" g="wheel" p="33188"/><f n="regrtest.py" o="root" g="wheel" p="33261"/><f n="regrtest.pyc" o="root" g="wheel" p="33188"/><f n="regrtest.pyo" o="root" g="wheel" p="33188"/><f n="relimport.py" o="root" g="wheel" p="33188"/><f n="relimport.pyc" o="root" g="wheel" p="33188"/><f n="relimport.pyo" o="root" g="wheel" p="33188"/><f n="reperf.py" o="root" g="wheel" p="33188"/><f n="reperf.pyc" o="root" g="wheel" p="33188"/><f n="reperf.pyo" o="root" g="wheel" p="33188"/><f n="sample_doctest.py" o="root" g="wheel" p="33188"/><f n="sample_doctest.pyc" o="root" g="wheel" p="33188"/><f n="sample_doctest.pyo" o="root" g="wheel" p="33188"/><f n="seq_tests.py" o="root" g="wheel" p="33188"/><f n="seq_tests.pyc" o="root" g="wheel" p="33188"/><f n="seq_tests.pyo" o="root" g="wheel" p="33188"/><f n="sgml_input.html" o="root" g="wheel" p="33188"/><f n="Sine-1000Hz-300ms.aif" o="root" g="wheel" p="33188"/><f n="sortperf.py" o="root" g="wheel" p="33188"/><f n="sortperf.pyc" o="root" g="wheel" p="33188"/><f n="sortperf.pyo" o="root" g="wheel" p="33188"/><f n="ssl_cert.pem" o="root" g="wheel" p="33188"/><f n="ssl_key.pem" o="root" g="wheel" p="33188"/><f n="string_tests.py" o="root" g="wheel" p="33188"/><f n="string_tests.pyc" o="root" g="wheel" p="33188"/><f n="string_tests.pyo" o="root" g="wheel" p="33188"/><f n="svn_python_org_https_cert.pem" o="root" g="wheel" p="33188"/><f n="test.xml" o="root" g="wheel" p="33188"/><f n="test.xml.out" o="root" g="wheel" p="33188"/><f n="test___all__.py" o="root" g="wheel" p="33188"/><f n="test___all__.pyc" o="root" g="wheel" p="33188"/><f n="test___all__.pyo" o="root" g="wheel" p="33188"/><f n="test___future__.py" o="root" g="wheel" p="33188"/><f n="test___future__.pyc" o="root" g="wheel" p="33188"/><f n="test___future__.pyo" o="root" g="wheel" p="33188"/><f n="test__locale.py" o="root" g="wheel" p="33188"/><f n="test__locale.pyc" o="root" g="wheel" p="33188"/><f n="test__locale.pyo" o="root" g="wheel" p="33188"/><f n="test_abc.py" o="root" g="wheel" p="33188"/><f n="test_abc.pyc" o="root" g="wheel" p="33188"/><f n="test_abc.pyo" o="root" g="wheel" p="33188"/><f n="test_abstract_numbers.py" o="root" g="wheel" p="33188"/><f n="test_abstract_numbers.pyc" o="root" g="wheel" p="33188"/><f n="test_abstract_numbers.pyo" o="root" g="wheel" p="33188"/><f n="test_aepack.py" o="root" g="wheel" p="33261"/><f n="test_aepack.pyc" o="root" g="wheel" p="33188"/><f n="test_aepack.pyo" o="root" g="wheel" p="33188"/><f n="test_aifc.py" o="root" g="wheel" p="33188"/><f n="test_aifc.pyc" o="root" g="wheel" p="33188"/><f n="test_aifc.pyo" o="root" g="wheel" p="33188"/><f n="test_al.py" o="root" g="wheel" p="33261"/><f n="test_al.pyc" o="root" g="wheel" p="33188"/><f n="test_al.pyo" o="root" g="wheel" p="33188"/><f n="test_anydbm.py" o="root" g="wheel" p="33188"/><f n="test_anydbm.pyc" o="root" g="wheel" p="33188"/><f n="test_anydbm.pyo" o="root" g="wheel" p="33188"/><f n="test_applesingle.py" o="root" g="wheel" p="33188"/><f n="test_applesingle.pyc" o="root" g="wheel" p="33188"/><f n="test_applesingle.pyo" o="root" g="wheel" p="33188"/><f n="test_array.py" o="root" g="wheel" p="33261"/><f n="test_array.pyc" o="root" g="wheel" p="33188"/><f n="test_array.pyo" o="root" g="wheel" p="33188"/><f n="test_ast.py" o="root" g="wheel" p="33188"/><f n="test_ast.pyc" o="root" g="wheel" p="33188"/><f n="test_ast.pyo" o="root" g="wheel" p="33188"/><f n="test_asynchat.py" o="root" g="wheel" p="33188"/><f n="test_asynchat.pyc" o="root" g="wheel" p="33188"/><f n="test_asynchat.pyo" o="root" g="wheel" p="33188"/><f n="test_asyncore.py" o="root" g="wheel" p="33188"/><f n="test_asyncore.pyc" o="root" g="wheel" p="33188"/><f n="test_asyncore.pyo" o="root" g="wheel" p="33188"/><f n="test_atexit.py" o="root" g="wheel" p="33188"/><f n="test_atexit.pyc" o="root" g="wheel" p="33188"/><f n="test_atexit.pyo" o="root" g="wheel" p="33188"/><f n="test_audioop.py" o="root" g="wheel" p="33188"/><f n="test_audioop.pyc" o="root" g="wheel" p="33188"/><f n="test_audioop.pyo" o="root" g="wheel" p="33188"/><f n="test_augassign.py" o="root" g="wheel" p="33188"/><f n="test_augassign.pyc" o="root" g="wheel" p="33188"/><f n="test_augassign.pyo" o="root" g="wheel" p="33188"/><f n="test_base64.py" o="root" g="wheel" p="33188"/><f n="test_base64.pyc" o="root" g="wheel" p="33188"/><f n="test_base64.pyo" o="root" g="wheel" p="33188"/><f n="test_bastion.py" o="root" g="wheel" p="33188"/><f n="test_bastion.pyc" o="root" g="wheel" p="33188"/><f n="test_bastion.pyo" o="root" g="wheel" p="33188"/><f n="test_bigaddrspace.py" o="root" g="wheel" p="33188"/><f n="test_bigaddrspace.pyc" o="root" g="wheel" p="33188"/><f n="test_bigaddrspace.pyo" o="root" g="wheel" p="33188"/><f n="test_bigmem.py" o="root" g="wheel" p="33188"/><f n="test_bigmem.pyc" o="root" g="wheel" p="33188"/><f n="test_bigmem.pyo" o="root" g="wheel" p="33188"/><f n="test_binascii.py" o="root" g="wheel" p="33261"/><f n="test_binascii.pyc" o="root" g="wheel" p="33188"/><f n="test_binascii.pyo" o="root" g="wheel" p="33188"/><f n="test_binhex.py" o="root" g="wheel" p="33261"/><f n="test_binhex.pyc" o="root" g="wheel" p="33188"/><f n="test_binhex.pyo" o="root" g="wheel" p="33188"/><f n="test_binop.py" o="root" g="wheel" p="33188"/><f n="test_binop.pyc" o="root" g="wheel" p="33188"/><f n="test_binop.pyo" o="root" g="wheel" p="33188"/><f n="test_bisect.py" o="root" g="wheel" p="33188"/><f n="test_bisect.pyc" o="root" g="wheel" p="33188"/><f n="test_bisect.pyo" o="root" g="wheel" p="33188"/><f n="test_bool.py" o="root" g="wheel" p="33188"/><f n="test_bool.pyc" o="root" g="wheel" p="33188"/><f n="test_bool.pyo" o="root" g="wheel" p="33188"/><f n="test_bsddb.py" o="root" g="wheel" p="33261"/><f n="test_bsddb.pyc" o="root" g="wheel" p="33188"/><f n="test_bsddb.pyo" o="root" g="wheel" p="33188"/><f n="test_bsddb185.py" o="root" g="wheel" p="33188"/><f n="test_bsddb185.pyc" o="root" g="wheel" p="33188"/><f n="test_bsddb185.pyo" o="root" g="wheel" p="33188"/><f n="test_bsddb3.py" o="root" g="wheel" p="33188"/><f n="test_bsddb3.pyc" o="root" g="wheel" p="33188"/><f n="test_bsddb3.pyo" o="root" g="wheel" p="33188"/><f n="test_buffer.py" o="root" g="wheel" p="33188"/><f n="test_buffer.pyc" o="root" g="wheel" p="33188"/><f n="test_buffer.pyo" o="root" g="wheel" p="33188"/><f n="test_bufio.py" o="root" g="wheel" p="33188"/><f n="test_bufio.pyc" o="root" g="wheel" p="33188"/><f n="test_bufio.pyo" o="root" g="wheel" p="33188"/><f n="test_builtin.py" o="root" g="wheel" p="33188"/><f n="test_builtin.pyc" o="root" g="wheel" p="33188"/><f n="test_builtin.pyo" o="root" g="wheel" p="33188"/><f n="test_bytes.py" o="root" g="wheel" p="33188"/><f n="test_bytes.pyc" o="root" g="wheel" p="33188"/><f n="test_bytes.pyo" o="root" g="wheel" p="33188"/><f n="test_bz2.py" o="root" g="wheel" p="33188"/><f n="test_bz2.pyc" o="root" g="wheel" p="33188"/><f n="test_bz2.pyo" o="root" g="wheel" p="33188"/><f n="test_calendar.py" o="root" g="wheel" p="33188"/><f n="test_calendar.pyc" o="root" g="wheel" p="33188"/><f n="test_calendar.pyo" o="root" g="wheel" p="33188"/><f n="test_call.py" o="root" g="wheel" p="33188"/><f n="test_call.pyc" o="root" g="wheel" p="33188"/><f n="test_call.pyo" o="root" g="wheel" p="33188"/><f n="test_capi.py" o="root" g="wheel" p="33188"/><f n="test_capi.pyc" o="root" g="wheel" p="33188"/><f n="test_capi.pyo" o="root" g="wheel" p="33188"/><f n="test_cd.py" o="root" g="wheel" p="33261"/><f n="test_cd.pyc" o="root" g="wheel" p="33188"/><f n="test_cd.pyo" o="root" g="wheel" p="33188"/><f n="test_cfgparser.py" o="root" g="wheel" p="33188"/><f n="test_cfgparser.pyc" o="root" g="wheel" p="33188"/><f n="test_cfgparser.pyo" o="root" g="wheel" p="33188"/><f n="test_cgi.py" o="root" g="wheel" p="33188"/><f n="test_cgi.pyc" o="root" g="wheel" p="33188"/><f n="test_cgi.pyo" o="root" g="wheel" p="33188"/><f n="test_charmapcodec.py" o="root" g="wheel" p="33188"/><f n="test_charmapcodec.pyc" o="root" g="wheel" p="33188"/><f n="test_charmapcodec.pyo" o="root" g="wheel" p="33188"/><f n="test_cl.py" o="root" g="wheel" p="33261"/><f n="test_cl.pyc" o="root" g="wheel" p="33188"/><f n="test_cl.pyo" o="root" g="wheel" p="33188"/><f n="test_class.py" o="root" g="wheel" p="33188"/><f n="test_class.pyc" o="root" g="wheel" p="33188"/><f n="test_class.pyo" o="root" g="wheel" p="33188"/><f n="test_cmath.py" o="root" g="wheel" p="33261"/><f n="test_cmath.pyc" o="root" g="wheel" p="33188"/><f n="test_cmath.pyo" o="root" g="wheel" p="33188"/><f n="test_cmd.py" o="root" g="wheel" p="33188"/><f n="test_cmd.pyc" o="root" g="wheel" p="33188"/><f n="test_cmd.pyo" o="root" g="wheel" p="33188"/><f n="test_cmd_line.py" o="root" g="wheel" p="33188"/><f n="test_cmd_line.pyc" o="root" g="wheel" p="33188"/><f n="test_cmd_line.pyo" o="root" g="wheel" p="33188"/><f n="test_cmd_line_script.py" o="root" g="wheel" p="33188"/><f n="test_cmd_line_script.pyc" o="root" g="wheel" p="33188"/><f n="test_cmd_line_script.pyo" o="root" g="wheel" p="33188"/><f n="test_code.py" o="root" g="wheel" p="33188"/><f n="test_code.pyc" o="root" g="wheel" p="33188"/><f n="test_code.pyo" o="root" g="wheel" p="33188"/><f n="test_codeccallbacks.py" o="root" g="wheel" p="33188"/><f n="test_codeccallbacks.pyc" o="root" g="wheel" p="33188"/><f n="test_codeccallbacks.pyo" o="root" g="wheel" p="33188"/><f n="test_codecencodings_cn.py" o="root" g="wheel" p="33188"/><f n="test_codecencodings_cn.pyc" o="root" g="wheel" p="33188"/><f n="test_codecencodings_cn.pyo" o="root" g="wheel" p="33188"/><f n="test_codecencodings_hk.py" o="root" g="wheel" p="33188"/><f n="test_codecencodings_hk.pyc" o="root" g="wheel" p="33188"/><f n="test_codecencodings_hk.pyo" o="root" g="wheel" p="33188"/><f n="test_codecencodings_jp.py" o="root" g="wheel" p="33188"/><f n="test_codecencodings_jp.pyc" o="root" g="wheel" p="33188"/><f n="test_codecencodings_jp.pyo" o="root" g="wheel" p="33188"/><f n="test_codecencodings_kr.py" o="root" g="wheel" p="33188"/><f n="test_codecencodings_kr.pyc" o="root" g="wheel" p="33188"/><f n="test_codecencodings_kr.pyo" o="root" g="wheel" p="33188"/><f n="test_codecencodings_tw.py" o="root" g="wheel" p="33188"/><f n="test_codecencodings_tw.pyc" o="root" g="wheel" p="33188"/><f n="test_codecencodings_tw.pyo" o="root" g="wheel" p="33188"/><f n="test_codecmaps_cn.py" o="root" g="wheel" p="33188"/><f n="test_codecmaps_cn.pyc" o="root" g="wheel" p="33188"/><f n="test_codecmaps_cn.pyo" o="root" g="wheel" p="33188"/><f n="test_codecmaps_hk.py" o="root" g="wheel" p="33188"/><f n="test_codecmaps_hk.pyc" o="root" g="wheel" p="33188"/><f n="test_codecmaps_hk.pyo" o="root" g="wheel" p="33188"/><f n="test_codecmaps_jp.py" o="root" g="wheel" p="33188"/><f n="test_codecmaps_jp.pyc" o="root" g="wheel" p="33188"/><f n="test_codecmaps_jp.pyo" o="root" g="wheel" p="33188"/><f n="test_codecmaps_kr.py" o="root" g="wheel" p="33188"/><f n="test_codecmaps_kr.pyc" o="root" g="wheel" p="33188"/><f n="test_codecmaps_kr.pyo" o="root" g="wheel" p="33188"/><f n="test_codecmaps_tw.py" o="root" g="wheel" p="33188"/><f n="test_codecmaps_tw.pyc" o="root" g="wheel" p="33188"/><f n="test_codecmaps_tw.pyo" o="root" g="wheel" p="33188"/><f n="test_codecs.py" o="root" g="wheel" p="33188"/><f n="test_codecs.pyc" o="root" g="wheel" p="33188"/><f n="test_codecs.pyo" o="root" g="wheel" p="33188"/><f n="test_codeop.py" o="root" g="wheel" p="33188"/><f n="test_codeop.pyc" o="root" g="wheel" p="33188"/><f n="test_codeop.pyo" o="root" g="wheel" p="33188"/><f n="test_coding.py" o="root" g="wheel" p="33188"/><f n="test_coding.pyc" o="root" g="wheel" p="33188"/><f n="test_coding.pyo" o="root" g="wheel" p="33188"/><f n="test_coercion.py" o="root" g="wheel" p="33188"/><f n="test_coercion.pyc" o="root" g="wheel" p="33188"/><f n="test_coercion.pyo" o="root" g="wheel" p="33188"/><f n="test_collections.py" o="root" g="wheel" p="33188"/><f n="test_collections.pyc" o="root" g="wheel" p="33188"/><f n="test_collections.pyo" o="root" g="wheel" p="33188"/><f n="test_colorsys.py" o="root" g="wheel" p="33188"/><f n="test_colorsys.pyc" o="root" g="wheel" p="33188"/><f n="test_colorsys.pyo" o="root" g="wheel" p="33188"/><f n="test_commands.py" o="root" g="wheel" p="33188"/><f n="test_commands.pyc" o="root" g="wheel" p="33188"/><f n="test_commands.pyo" o="root" g="wheel" p="33188"/><f n="test_compare.py" o="root" g="wheel" p="33188"/><f n="test_compare.pyc" o="root" g="wheel" p="33188"/><f n="test_compare.pyo" o="root" g="wheel" p="33188"/><f n="test_compile.py" o="root" g="wheel" p="33188"/><f n="test_compile.pyc" o="root" g="wheel" p="33188"/><f n="test_compile.pyo" o="root" g="wheel" p="33188"/><f n="test_compiler.py" o="root" g="wheel" p="33188"/><f n="test_compiler.pyc" o="root" g="wheel" p="33188"/><f n="test_compiler.pyo" o="root" g="wheel" p="33188"/><f n="test_complex.py" o="root" g="wheel" p="33188"/><f n="test_complex.pyc" o="root" g="wheel" p="33188"/><f n="test_complex.pyo" o="root" g="wheel" p="33188"/><f n="test_complex_args.py" o="root" g="wheel" p="33188"/><f n="test_complex_args.pyc" o="root" g="wheel" p="33188"/><f n="test_complex_args.pyo" o="root" g="wheel" p="33188"/><f n="test_contains.py" o="root" g="wheel" p="33188"/><f n="test_contains.pyc" o="root" g="wheel" p="33188"/><f n="test_contains.pyo" o="root" g="wheel" p="33188"/><f n="test_contextlib.py" o="root" g="wheel" p="33188"/><f n="test_contextlib.pyc" o="root" g="wheel" p="33188"/><f n="test_contextlib.pyo" o="root" g="wheel" p="33188"/><f n="test_cookie.py" o="root" g="wheel" p="33188"/><f n="test_cookie.pyc" o="root" g="wheel" p="33188"/><f n="test_cookie.pyo" o="root" g="wheel" p="33188"/><f n="test_cookielib.py" o="root" g="wheel" p="33188"/><f n="test_cookielib.pyc" o="root" g="wheel" p="33188"/><f n="test_cookielib.pyo" o="root" g="wheel" p="33188"/><f n="test_copy.py" o="root" g="wheel" p="33188"/><f n="test_copy.pyc" o="root" g="wheel" p="33188"/><f n="test_copy.pyo" o="root" g="wheel" p="33188"/><f n="test_copy_reg.py" o="root" g="wheel" p="33188"/><f n="test_copy_reg.pyc" o="root" g="wheel" p="33188"/><f n="test_copy_reg.pyo" o="root" g="wheel" p="33188"/><f n="test_cpickle.py" o="root" g="wheel" p="33188"/><f n="test_cpickle.pyc" o="root" g="wheel" p="33188"/><f n="test_cpickle.pyo" o="root" g="wheel" p="33188"/><f n="test_cprofile.py" o="root" g="wheel" p="33261"/><f n="test_cprofile.pyc" o="root" g="wheel" p="33188"/><f n="test_cprofile.pyo" o="root" g="wheel" p="33188"/><f n="test_crypt.py" o="root" g="wheel" p="33261"/><f n="test_crypt.pyc" o="root" g="wheel" p="33188"/><f n="test_crypt.pyo" o="root" g="wheel" p="33188"/><f n="test_csv.py" o="root" g="wheel" p="33188"/><f n="test_csv.pyc" o="root" g="wheel" p="33188"/><f n="test_csv.pyo" o="root" g="wheel" p="33188"/><f n="test_ctypes.py" o="root" g="wheel" p="33188"/><f n="test_ctypes.pyc" o="root" g="wheel" p="33188"/><f n="test_ctypes.pyo" o="root" g="wheel" p="33188"/><f n="test_curses.py" o="root" g="wheel" p="33188"/><f n="test_curses.pyc" o="root" g="wheel" p="33188"/><f n="test_curses.pyo" o="root" g="wheel" p="33188"/><f n="test_datetime.py" o="root" g="wheel" p="33188"/><f n="test_datetime.pyc" o="root" g="wheel" p="33188"/><f n="test_datetime.pyo" o="root" g="wheel" p="33188"/><f n="test_dbm.py" o="root" g="wheel" p="33261"/><f n="test_dbm.pyc" o="root" g="wheel" p="33188"/><f n="test_dbm.pyo" o="root" g="wheel" p="33188"/><f n="test_decimal.py" o="root" g="wheel" p="33188"/><f n="test_decimal.pyc" o="root" g="wheel" p="33188"/><f n="test_decimal.pyo" o="root" g="wheel" p="33188"/><f n="test_decorators.py" o="root" g="wheel" p="33188"/><f n="test_decorators.pyc" o="root" g="wheel" p="33188"/><f n="test_decorators.pyo" o="root" g="wheel" p="33188"/><f n="test_defaultdict.py" o="root" g="wheel" p="33188"/><f n="test_defaultdict.pyc" o="root" g="wheel" p="33188"/><f n="test_defaultdict.pyo" o="root" g="wheel" p="33188"/><f n="test_deque.py" o="root" g="wheel" p="33188"/><f n="test_deque.pyc" o="root" g="wheel" p="33188"/><f n="test_deque.pyo" o="root" g="wheel" p="33188"/><f n="test_descr.py" o="root" g="wheel" p="33188"/><f n="test_descr.pyc" o="root" g="wheel" p="33188"/><f n="test_descr.pyo" o="root" g="wheel" p="33188"/><f n="test_descrtut.py" o="root" g="wheel" p="33188"/><f n="test_descrtut.pyc" o="root" g="wheel" p="33188"/><f n="test_descrtut.pyo" o="root" g="wheel" p="33188"/><f n="test_dict.py" o="root" g="wheel" p="33188"/><f n="test_dict.pyc" o="root" g="wheel" p="33188"/><f n="test_dict.pyo" o="root" g="wheel" p="33188"/><f n="test_difflib.py" o="root" g="wheel" p="33188"/><f n="test_difflib.pyc" o="root" g="wheel" p="33188"/><f n="test_difflib.pyo" o="root" g="wheel" p="33188"/><f n="test_difflib_expect.html" o="root" g="wheel" p="33188"/><f n="test_dircache.py" o="root" g="wheel" p="33188"/><f n="test_dircache.pyc" o="root" g="wheel" p="33188"/><f n="test_dircache.pyo" o="root" g="wheel" p="33188"/><f n="test_dis.py" o="root" g="wheel" p="33188"/><f n="test_dis.pyc" o="root" g="wheel" p="33188"/><f n="test_dis.pyo" o="root" g="wheel" p="33188"/><f n="test_distutils.py" o="root" g="wheel" p="33188"/><f n="test_distutils.pyc" o="root" g="wheel" p="33188"/><f n="test_distutils.pyo" o="root" g="wheel" p="33188"/><f n="test_dl.py" o="root" g="wheel" p="33261"/><f n="test_dl.pyc" o="root" g="wheel" p="33188"/><f n="test_dl.pyo" o="root" g="wheel" p="33188"/><f n="test_doctest.py" o="root" g="wheel" p="33188"/><f n="test_doctest.pyc" o="root" g="wheel" p="33188"/><f n="test_doctest.pyo" o="root" g="wheel" p="33188"/><f n="test_doctest.txt" o="root" g="wheel" p="33188"/><f n="test_doctest2.py" o="root" g="wheel" p="33188"/><f n="test_doctest2.pyc" o="root" g="wheel" p="33188"/><f n="test_doctest2.pyo" o="root" g="wheel" p="33188"/><f n="test_doctest2.txt" o="root" g="wheel" p="33188"/><f n="test_doctest3.txt" o="root" g="wheel" p="33188"/><f n="test_doctest4.txt" o="root" g="wheel" p="33188"/><f n="test_docxmlrpc.py" o="root" g="wheel" p="33188"/><f n="test_docxmlrpc.pyc" o="root" g="wheel" p="33188"/><f n="test_docxmlrpc.pyo" o="root" g="wheel" p="33188"/><f n="test_dumbdbm.py" o="root" g="wheel" p="33188"/><f n="test_dumbdbm.pyc" o="root" g="wheel" p="33188"/><f n="test_dumbdbm.pyo" o="root" g="wheel" p="33188"/><f n="test_dummy_thread.py" o="root" g="wheel" p="33188"/><f n="test_dummy_thread.pyc" o="root" g="wheel" p="33188"/><f n="test_dummy_thread.pyo" o="root" g="wheel" p="33188"/><f n="test_dummy_threading.py" o="root" g="wheel" p="33188"/><f n="test_dummy_threading.pyc" o="root" g="wheel" p="33188"/><f n="test_dummy_threading.pyo" o="root" g="wheel" p="33188"/><f n="test_email.py" o="root" g="wheel" p="33188"/><f n="test_email.pyc" o="root" g="wheel" p="33188"/><f n="test_email.pyo" o="root" g="wheel" p="33188"/><f n="test_email_codecs.py" o="root" g="wheel" p="33188"/><f n="test_email_codecs.pyc" o="root" g="wheel" p="33188"/><f n="test_email_codecs.pyo" o="root" g="wheel" p="33188"/><f n="test_email_renamed.py" o="root" g="wheel" p="33188"/><f n="test_email_renamed.pyc" o="root" g="wheel" p="33188"/><f n="test_email_renamed.pyo" o="root" g="wheel" p="33188"/><f n="test_enumerate.py" o="root" g="wheel" p="33188"/><f n="test_enumerate.pyc" o="root" g="wheel" p="33188"/><f n="test_enumerate.pyo" o="root" g="wheel" p="33188"/><f n="test_eof.py" o="root" g="wheel" p="33188"/><f n="test_eof.pyc" o="root" g="wheel" p="33188"/><f n="test_eof.pyo" o="root" g="wheel" p="33188"/><f n="test_epoll.py" o="root" g="wheel" p="33188"/><f n="test_epoll.pyc" o="root" g="wheel" p="33188"/><f n="test_epoll.pyo" o="root" g="wheel" p="33188"/><f n="test_errno.py" o="root" g="wheel" p="33261"/><f n="test_errno.pyc" o="root" g="wheel" p="33188"/><f n="test_errno.pyo" o="root" g="wheel" p="33188"/><f n="test_exception_variations.py" o="root" g="wheel" p="33188"/><f n="test_exception_variations.pyc" o="root" g="wheel" p="33188"/><f n="test_exception_variations.pyo" o="root" g="wheel" p="33188"/><f n="test_exceptions.py" o="root" g="wheel" p="33188"/><f n="test_exceptions.pyc" o="root" g="wheel" p="33188"/><f n="test_exceptions.pyo" o="root" g="wheel" p="33188"/><f n="test_extcall.py" o="root" g="wheel" p="33188"/><f n="test_extcall.pyc" o="root" g="wheel" p="33188"/><f n="test_extcall.pyo" o="root" g="wheel" p="33188"/><f n="test_fcntl.py" o="root" g="wheel" p="33261"/><f n="test_fcntl.pyc" o="root" g="wheel" p="33188"/><f n="test_fcntl.pyo" o="root" g="wheel" p="33188"/><f n="test_file.py" o="root" g="wheel" p="33188"/><f n="test_file.pyc" o="root" g="wheel" p="33188"/><f n="test_file.pyo" o="root" g="wheel" p="33188"/><f n="test_filecmp.py" o="root" g="wheel" p="33188"/><f n="test_filecmp.pyc" o="root" g="wheel" p="33188"/><f n="test_filecmp.pyo" o="root" g="wheel" p="33188"/><f n="test_fileinput.py" o="root" g="wheel" p="33188"/><f n="test_fileinput.pyc" o="root" g="wheel" p="33188"/><f n="test_fileinput.pyo" o="root" g="wheel" p="33188"/><f n="test_fileio.py" o="root" g="wheel" p="33188"/><f n="test_fileio.pyc" o="root" g="wheel" p="33188"/><f n="test_fileio.pyo" o="root" g="wheel" p="33188"/><f n="test_float.py" o="root" g="wheel" p="33188"/><f n="test_float.pyc" o="root" g="wheel" p="33188"/><f n="test_float.pyo" o="root" g="wheel" p="33188"/><f n="test_fnmatch.py" o="root" g="wheel" p="33188"/><f n="test_fnmatch.pyc" o="root" g="wheel" p="33188"/><f n="test_fnmatch.pyo" o="root" g="wheel" p="33188"/><f n="test_fork1.py" o="root" g="wheel" p="33188"/><f n="test_fork1.pyc" o="root" g="wheel" p="33188"/><f n="test_fork1.pyo" o="root" g="wheel" p="33188"/><f n="test_format.py" o="root" g="wheel" p="33188"/><f n="test_format.pyc" o="root" g="wheel" p="33188"/><f n="test_format.pyo" o="root" g="wheel" p="33188"/><f n="test_fpformat.py" o="root" g="wheel" p="33188"/><f n="test_fpformat.pyc" o="root" g="wheel" p="33188"/><f n="test_fpformat.pyo" o="root" g="wheel" p="33188"/><f n="test_fractions.py" o="root" g="wheel" p="33188"/><f n="test_fractions.pyc" o="root" g="wheel" p="33188"/><f n="test_fractions.pyo" o="root" g="wheel" p="33188"/><f n="test_frozen.py" o="root" g="wheel" p="33188"/><f n="test_frozen.pyc" o="root" g="wheel" p="33188"/><f n="test_frozen.pyo" o="root" g="wheel" p="33188"/><f n="test_ftplib.py" o="root" g="wheel" p="33188"/><f n="test_ftplib.pyc" o="root" g="wheel" p="33188"/><f n="test_ftplib.pyo" o="root" g="wheel" p="33188"/><f n="test_funcattrs.py" o="root" g="wheel" p="33188"/><f n="test_funcattrs.pyc" o="root" g="wheel" p="33188"/><f n="test_funcattrs.pyo" o="root" g="wheel" p="33188"/><f n="test_functools.py" o="root" g="wheel" p="33188"/><f n="test_functools.pyc" o="root" g="wheel" p="33188"/><f n="test_functools.pyo" o="root" g="wheel" p="33188"/><f n="test_future.py" o="root" g="wheel" p="33188"/><f n="test_future.pyc" o="root" g="wheel" p="33188"/><f n="test_future.pyo" o="root" g="wheel" p="33188"/><f n="test_future1.py" o="root" g="wheel" p="33188"/><f n="test_future1.pyc" o="root" g="wheel" p="33188"/><f n="test_future1.pyo" o="root" g="wheel" p="33188"/><f n="test_future2.py" o="root" g="wheel" p="33188"/><f n="test_future2.pyc" o="root" g="wheel" p="33188"/><f n="test_future2.pyo" o="root" g="wheel" p="33188"/><f n="test_future3.py" o="root" g="wheel" p="33188"/><f n="test_future3.pyc" o="root" g="wheel" p="33188"/><f n="test_future3.pyo" o="root" g="wheel" p="33188"/><f n="test_future4.py" o="root" g="wheel" p="33188"/><f n="test_future4.pyc" o="root" g="wheel" p="33188"/><f n="test_future4.pyo" o="root" g="wheel" p="33188"/><f n="test_future5.py" o="root" g="wheel" p="33188"/><f n="test_future5.pyc" o="root" g="wheel" p="33188"/><f n="test_future5.pyo" o="root" g="wheel" p="33188"/><f n="test_future_builtins.py" o="root" g="wheel" p="33188"/><f n="test_future_builtins.pyc" o="root" g="wheel" p="33188"/><f n="test_future_builtins.pyo" o="root" g="wheel" p="33188"/><f n="test_gc.py" o="root" g="wheel" p="33188"/><f n="test_gc.pyc" o="root" g="wheel" p="33188"/><f n="test_gc.pyo" o="root" g="wheel" p="33188"/><f n="test_gdbm.py" o="root" g="wheel" p="33261"/><f n="test_gdbm.pyc" o="root" g="wheel" p="33188"/><f n="test_gdbm.pyo" o="root" g="wheel" p="33188"/><f n="test_generators.py" o="root" g="wheel" p="33188"/><f n="test_generators.pyc" o="root" g="wheel" p="33188"/><f n="test_generators.pyo" o="root" g="wheel" p="33188"/><f n="test_genericpath.py" o="root" g="wheel" p="33188"/><f n="test_genericpath.pyc" o="root" g="wheel" p="33188"/><f n="test_genericpath.pyo" o="root" g="wheel" p="33188"/><f n="test_genexps.py" o="root" g="wheel" p="33188"/><f n="test_genexps.pyc" o="root" g="wheel" p="33188"/><f n="test_genexps.pyo" o="root" g="wheel" p="33188"/><f n="test_getargs.py" o="root" g="wheel" p="33188"/><f n="test_getargs.pyc" o="root" g="wheel" p="33188"/><f n="test_getargs.pyo" o="root" g="wheel" p="33188"/><f n="test_getargs2.py" o="root" g="wheel" p="33188"/><f n="test_getargs2.pyc" o="root" g="wheel" p="33188"/><f n="test_getargs2.pyo" o="root" g="wheel" p="33188"/><f n="test_getopt.py" o="root" g="wheel" p="33188"/><f n="test_getopt.pyc" o="root" g="wheel" p="33188"/><f n="test_getopt.pyo" o="root" g="wheel" p="33188"/><f n="test_gettext.py" o="root" g="wheel" p="33188"/><f n="test_gettext.pyc" o="root" g="wheel" p="33188"/><f n="test_gettext.pyo" o="root" g="wheel" p="33188"/><f n="test_gl.py" o="root" g="wheel" p="33261"/><f n="test_gl.pyc" o="root" g="wheel" p="33188"/><f n="test_gl.pyo" o="root" g="wheel" p="33188"/><f n="test_glob.py" o="root" g="wheel" p="33188"/><f n="test_glob.pyc" o="root" g="wheel" p="33188"/><f n="test_glob.pyo" o="root" g="wheel" p="33188"/><f n="test_global.py" o="root" g="wheel" p="33188"/><f n="test_global.pyc" o="root" g="wheel" p="33188"/><f n="test_global.pyo" o="root" g="wheel" p="33188"/><f n="test_grammar.py" o="root" g="wheel" p="33188"/><f n="test_grammar.pyc" o="root" g="wheel" p="33188"/><f n="test_grammar.pyo" o="root" g="wheel" p="33188"/><f n="test_grp.py" o="root" g="wheel" p="33261"/><f n="test_grp.pyc" o="root" g="wheel" p="33188"/><f n="test_grp.pyo" o="root" g="wheel" p="33188"/><f n="test_gzip.py" o="root" g="wheel" p="33188"/><f n="test_gzip.pyc" o="root" g="wheel" p="33188"/><f n="test_gzip.pyo" o="root" g="wheel" p="33188"/><f n="test_hash.py" o="root" g="wheel" p="33188"/><f n="test_hash.pyc" o="root" g="wheel" p="33188"/><f n="test_hash.pyo" o="root" g="wheel" p="33188"/><f n="test_hashlib.py" o="root" g="wheel" p="33188"/><f n="test_hashlib.pyc" o="root" g="wheel" p="33188"/><f n="test_hashlib.pyo" o="root" g="wheel" p="33188"/><f n="test_heapq.py" o="root" g="wheel" p="33188"/><f n="test_heapq.pyc" o="root" g="wheel" p="33188"/><f n="test_heapq.pyo" o="root" g="wheel" p="33188"/><f n="test_hmac.py" o="root" g="wheel" p="33188"/><f n="test_hmac.pyc" o="root" g="wheel" p="33188"/><f n="test_hmac.pyo" o="root" g="wheel" p="33188"/><f n="test_hotshot.py" o="root" g="wheel" p="33188"/><f n="test_hotshot.pyc" o="root" g="wheel" p="33188"/><f n="test_hotshot.pyo" o="root" g="wheel" p="33188"/><f n="test_htmllib.py" o="root" g="wheel" p="33188"/><f n="test_htmllib.pyc" o="root" g="wheel" p="33188"/><f n="test_htmllib.pyo" o="root" g="wheel" p="33188"/><f n="test_htmlparser.py" o="root" g="wheel" p="33261"/><f n="test_htmlparser.pyc" o="root" g="wheel" p="33188"/><f n="test_htmlparser.pyo" o="root" g="wheel" p="33188"/><f n="test_httplib.py" o="root" g="wheel" p="33188"/><f n="test_httplib.pyc" o="root" g="wheel" p="33188"/><f n="test_httplib.pyo" o="root" g="wheel" p="33188"/><f n="test_httpservers.py" o="root" g="wheel" p="33188"/><f n="test_httpservers.pyc" o="root" g="wheel" p="33188"/><f n="test_httpservers.pyo" o="root" g="wheel" p="33188"/><f n="test_imageop.py" o="root" g="wheel" p="33261"/><f n="test_imageop.pyc" o="root" g="wheel" p="33188"/><f n="test_imageop.pyo" o="root" g="wheel" p="33188"/><f n="test_imaplib.py" o="root" g="wheel" p="33188"/><f n="test_imaplib.pyc" o="root" g="wheel" p="33188"/><f n="test_imaplib.pyo" o="root" g="wheel" p="33188"/><f n="test_imgfile.py" o="root" g="wheel" p="33261"/><f n="test_imgfile.pyc" o="root" g="wheel" p="33188"/><f n="test_imgfile.pyo" o="root" g="wheel" p="33188"/><f n="test_imp.py" o="root" g="wheel" p="33188"/><f n="test_imp.pyc" o="root" g="wheel" p="33188"/><f n="test_imp.pyo" o="root" g="wheel" p="33188"/><f n="test_import.py" o="root" g="wheel" p="33188"/><f n="test_import.pyc" o="root" g="wheel" p="33188"/><f n="test_import.pyo" o="root" g="wheel" p="33188"/><f n="test_importhooks.py" o="root" g="wheel" p="33188"/><f n="test_importhooks.pyc" o="root" g="wheel" p="33188"/><f n="test_importhooks.pyo" o="root" g="wheel" p="33188"/><f n="test_index.py" o="root" g="wheel" p="33188"/><f n="test_index.pyc" o="root" g="wheel" p="33188"/><f n="test_index.pyo" o="root" g="wheel" p="33188"/><f n="test_inspect.py" o="root" g="wheel" p="33188"/><f n="test_inspect.pyc" o="root" g="wheel" p="33188"/><f n="test_inspect.pyo" o="root" g="wheel" p="33188"/><f n="test_int.py" o="root" g="wheel" p="33188"/><f n="test_int.pyc" o="root" g="wheel" p="33188"/><f n="test_int.pyo" o="root" g="wheel" p="33188"/><f n="test_int_literal.py" o="root" g="wheel" p="33188"/><f n="test_int_literal.pyc" o="root" g="wheel" p="33188"/><f n="test_int_literal.pyo" o="root" g="wheel" p="33188"/><f n="test_io.py" o="root" g="wheel" p="33188"/><f n="test_io.pyc" o="root" g="wheel" p="33188"/><f n="test_io.pyo" o="root" g="wheel" p="33188"/><f n="test_ioctl.py" o="root" g="wheel" p="33188"/><f n="test_ioctl.pyc" o="root" g="wheel" p="33188"/><f n="test_ioctl.pyo" o="root" g="wheel" p="33188"/><f n="test_isinstance.py" o="root" g="wheel" p="33188"/><f n="test_isinstance.pyc" o="root" g="wheel" p="33188"/><f n="test_isinstance.pyo" o="root" g="wheel" p="33188"/><f n="test_iter.py" o="root" g="wheel" p="33188"/><f n="test_iter.pyc" o="root" g="wheel" p="33188"/><f n="test_iter.pyo" o="root" g="wheel" p="33188"/><f n="test_iterlen.py" o="root" g="wheel" p="33188"/><f n="test_iterlen.pyc" o="root" g="wheel" p="33188"/><f n="test_iterlen.pyo" o="root" g="wheel" p="33188"/><f n="test_itertools.py" o="root" g="wheel" p="33188"/><f n="test_itertools.pyc" o="root" g="wheel" p="33188"/><f n="test_itertools.pyo" o="root" g="wheel" p="33188"/><f n="test_json.py" o="root" g="wheel" p="33188"/><f n="test_json.pyc" o="root" g="wheel" p="33188"/><f n="test_json.pyo" o="root" g="wheel" p="33188"/><f n="test_kqueue.py" o="root" g="wheel" p="33188"/><f n="test_kqueue.pyc" o="root" g="wheel" p="33188"/><f n="test_kqueue.pyo" o="root" g="wheel" p="33188"/><f n="test_largefile.py" o="root" g="wheel" p="33188"/><f n="test_largefile.pyc" o="root" g="wheel" p="33188"/><f n="test_largefile.pyo" o="root" g="wheel" p="33188"/><f n="test_lib2to3.py" o="root" g="wheel" p="33188"/><f n="test_lib2to3.pyc" o="root" g="wheel" p="33188"/><f n="test_lib2to3.pyo" o="root" g="wheel" p="33188"/><f n="test_linecache.py" o="root" g="wheel" p="33188"/><f n="test_linecache.pyc" o="root" g="wheel" p="33188"/><f n="test_linecache.pyo" o="root" g="wheel" p="33188"/><f n="test_linuxaudiodev.py" o="root" g="wheel" p="33188"/><f n="test_linuxaudiodev.pyc" o="root" g="wheel" p="33188"/><f n="test_linuxaudiodev.pyo" o="root" g="wheel" p="33188"/><f n="test_list.py" o="root" g="wheel" p="33188"/><f n="test_list.pyc" o="root" g="wheel" p="33188"/><f n="test_list.pyo" o="root" g="wheel" p="33188"/><f n="test_locale.py" o="root" g="wheel" p="33188"/><f n="test_locale.pyc" o="root" g="wheel" p="33188"/><f n="test_locale.pyo" o="root" g="wheel" p="33188"/><f n="test_logging.py" o="root" g="wheel" p="33188"/><f n="test_logging.pyc" o="root" g="wheel" p="33188"/><f n="test_logging.pyo" o="root" g="wheel" p="33188"/><f n="test_long.py" o="root" g="wheel" p="33188"/><f n="test_long.pyc" o="root" g="wheel" p="33188"/><f n="test_long.pyo" o="root" g="wheel" p="33188"/><f n="test_long_future.py" o="root" g="wheel" p="33188"/><f n="test_long_future.pyc" o="root" g="wheel" p="33188"/><f n="test_long_future.pyo" o="root" g="wheel" p="33188"/><f n="test_longexp.py" o="root" g="wheel" p="33188"/><f n="test_longexp.pyc" o="root" g="wheel" p="33188"/><f n="test_longexp.pyo" o="root" g="wheel" p="33188"/><f n="test_macos.py" o="root" g="wheel" p="33188"/><f n="test_macos.pyc" o="root" g="wheel" p="33188"/><f n="test_macos.pyo" o="root" g="wheel" p="33188"/><f n="test_macostools.py" o="root" g="wheel" p="33188"/><f n="test_macostools.pyc" o="root" g="wheel" p="33188"/><f n="test_macostools.pyo" o="root" g="wheel" p="33188"/><f n="test_macpath.py" o="root" g="wheel" p="33188"/><f n="test_macpath.pyc" o="root" g="wheel" p="33188"/><f n="test_macpath.pyo" o="root" g="wheel" p="33188"/><f n="test_mailbox.py" o="root" g="wheel" p="33188"/><f n="test_mailbox.pyc" o="root" g="wheel" p="33188"/><f n="test_mailbox.pyo" o="root" g="wheel" p="33188"/><f n="test_marshal.py" o="root" g="wheel" p="33188"/><f n="test_marshal.pyc" o="root" g="wheel" p="33188"/><f n="test_marshal.pyo" o="root" g="wheel" p="33188"/><f n="test_math.py" o="root" g="wheel" p="33188"/><f n="test_math.pyc" o="root" g="wheel" p="33188"/><f n="test_math.pyo" o="root" g="wheel" p="33188"/><f n="test_md5.py" o="root" g="wheel" p="33188"/><f n="test_md5.pyc" o="root" g="wheel" p="33188"/><f n="test_md5.pyo" o="root" g="wheel" p="33188"/><f n="test_memoryio.py" o="root" g="wheel" p="33188"/><f n="test_memoryio.pyc" o="root" g="wheel" p="33188"/><f n="test_memoryio.pyo" o="root" g="wheel" p="33188"/><f n="test_mhlib.py" o="root" g="wheel" p="33188"/><f n="test_mhlib.pyc" o="root" g="wheel" p="33188"/><f n="test_mhlib.pyo" o="root" g="wheel" p="33188"/><f n="test_mimetools.py" o="root" g="wheel" p="33188"/><f n="test_mimetools.pyc" o="root" g="wheel" p="33188"/><f n="test_mimetools.pyo" o="root" g="wheel" p="33188"/><f n="test_mimetypes.py" o="root" g="wheel" p="33188"/><f n="test_mimetypes.pyc" o="root" g="wheel" p="33188"/><f n="test_mimetypes.pyo" o="root" g="wheel" p="33188"/><f n="test_MimeWriter.py" o="root" g="wheel" p="33188"/><f n="test_MimeWriter.pyc" o="root" g="wheel" p="33188"/><f n="test_MimeWriter.pyo" o="root" g="wheel" p="33188"/><f n="test_minidom.py" o="root" g="wheel" p="33188"/><f n="test_minidom.pyc" o="root" g="wheel" p="33188"/><f n="test_minidom.pyo" o="root" g="wheel" p="33188"/><f n="test_mmap.py" o="root" g="wheel" p="33188"/><f n="test_mmap.pyc" o="root" g="wheel" p="33188"/><f n="test_mmap.pyo" o="root" g="wheel" p="33188"/><f n="test_module.py" o="root" g="wheel" p="33188"/><f n="test_module.pyc" o="root" g="wheel" p="33188"/><f n="test_module.pyo" o="root" g="wheel" p="33188"/><f n="test_modulefinder.py" o="root" g="wheel" p="33188"/><f n="test_modulefinder.pyc" o="root" g="wheel" p="33188"/><f n="test_modulefinder.pyo" o="root" g="wheel" p="33188"/><f n="test_multibytecodec.py" o="root" g="wheel" p="33188"/><f n="test_multibytecodec.pyc" o="root" g="wheel" p="33188"/><f n="test_multibytecodec.pyo" o="root" g="wheel" p="33188"/><f n="test_multibytecodec_support.py" o="root" g="wheel" p="33188"/><f n="test_multibytecodec_support.pyc" o="root" g="wheel" p="33188"/><f n="test_multibytecodec_support.pyo" o="root" g="wheel" p="33188"/><f n="test_multifile.py" o="root" g="wheel" p="33188"/><f n="test_multifile.pyc" o="root" g="wheel" p="33188"/><f n="test_multifile.pyo" o="root" g="wheel" p="33188"/><f n="test_multiprocessing.py" o="root" g="wheel" p="33188"/><f n="test_multiprocessing.pyc" o="root" g="wheel" p="33188"/><f n="test_multiprocessing.pyo" o="root" g="wheel" p="33188"/><f n="test_mutants.py" o="root" g="wheel" p="33188"/><f n="test_mutants.pyc" o="root" g="wheel" p="33188"/><f n="test_mutants.pyo" o="root" g="wheel" p="33188"/><f n="test_mutex.py" o="root" g="wheel" p="33188"/><f n="test_mutex.pyc" o="root" g="wheel" p="33188"/><f n="test_mutex.pyo" o="root" g="wheel" p="33188"/><f n="test_netrc.py" o="root" g="wheel" p="33188"/><f n="test_netrc.pyc" o="root" g="wheel" p="33188"/><f n="test_netrc.pyo" o="root" g="wheel" p="33188"/><f n="test_new.py" o="root" g="wheel" p="33188"/><f n="test_new.pyc" o="root" g="wheel" p="33188"/><f n="test_new.pyo" o="root" g="wheel" p="33188"/><f n="test_nis.py" o="root" g="wheel" p="33188"/><f n="test_nis.pyc" o="root" g="wheel" p="33188"/><f n="test_nis.pyo" o="root" g="wheel" p="33188"/><f n="test_normalization.py" o="root" g="wheel" p="33188"/><f n="test_normalization.pyc" o="root" g="wheel" p="33188"/><f n="test_normalization.pyo" o="root" g="wheel" p="33188"/><f n="test_ntpath.py" o="root" g="wheel" p="33188"/><f n="test_ntpath.pyc" o="root" g="wheel" p="33188"/><f n="test_ntpath.pyo" o="root" g="wheel" p="33188"/><f n="test_old_mailbox.py" o="root" g="wheel" p="33188"/><f n="test_old_mailbox.pyc" o="root" g="wheel" p="33188"/><f n="test_old_mailbox.pyo" o="root" g="wheel" p="33188"/><f n="test_opcodes.py" o="root" g="wheel" p="33188"/><f n="test_opcodes.pyc" o="root" g="wheel" p="33188"/><f n="test_opcodes.pyo" o="root" g="wheel" p="33188"/><f n="test_openpty.py" o="root" g="wheel" p="33188"/><f n="test_openpty.pyc" o="root" g="wheel" p="33188"/><f n="test_openpty.pyo" o="root" g="wheel" p="33188"/><f n="test_operator.py" o="root" g="wheel" p="33188"/><f n="test_operator.pyc" o="root" g="wheel" p="33188"/><f n="test_operator.pyo" o="root" g="wheel" p="33188"/><f n="test_optparse.py" o="root" g="wheel" p="33188"/><f n="test_optparse.pyc" o="root" g="wheel" p="33188"/><f n="test_optparse.pyo" o="root" g="wheel" p="33188"/><f n="test_os.py" o="root" g="wheel" p="33188"/><f n="test_os.pyc" o="root" g="wheel" p="33188"/><f n="test_os.pyo" o="root" g="wheel" p="33188"/><f n="test_ossaudiodev.py" o="root" g="wheel" p="33188"/><f n="test_ossaudiodev.pyc" o="root" g="wheel" p="33188"/><f n="test_ossaudiodev.pyo" o="root" g="wheel" p="33188"/><f n="test_parser.py" o="root" g="wheel" p="33188"/><f n="test_parser.pyc" o="root" g="wheel" p="33188"/><f n="test_parser.pyo" o="root" g="wheel" p="33188"/><f n="test_peepholer.py" o="root" g="wheel" p="33188"/><f n="test_peepholer.pyc" o="root" g="wheel" p="33188"/><f n="test_peepholer.pyo" o="root" g="wheel" p="33188"/><f n="test_pep247.py" o="root" g="wheel" p="33188"/><f n="test_pep247.pyc" o="root" g="wheel" p="33188"/><f n="test_pep247.pyo" o="root" g="wheel" p="33188"/><f n="test_pep263.py" o="root" g="wheel" p="33188"/><f n="test_pep263.pyc" o="root" g="wheel" p="33188"/><f n="test_pep263.pyo" o="root" g="wheel" p="33188"/><f n="test_pep277.py" o="root" g="wheel" p="33188"/><f n="test_pep277.pyc" o="root" g="wheel" p="33188"/><f n="test_pep277.pyo" o="root" g="wheel" p="33188"/><f n="test_pep292.py" o="root" g="wheel" p="33188"/><f n="test_pep292.pyc" o="root" g="wheel" p="33188"/><f n="test_pep292.pyo" o="root" g="wheel" p="33188"/><f n="test_pep352.py" o="root" g="wheel" p="33188"/><f n="test_pep352.pyc" o="root" g="wheel" p="33188"/><f n="test_pep352.pyo" o="root" g="wheel" p="33188"/><f n="test_pickle.py" o="root" g="wheel" p="33188"/><f n="test_pickle.pyc" o="root" g="wheel" p="33188"/><f n="test_pickle.pyo" o="root" g="wheel" p="33188"/><f n="test_pickletools.py" o="root" g="wheel" p="33188"/><f n="test_pickletools.pyc" o="root" g="wheel" p="33188"/><f n="test_pickletools.pyo" o="root" g="wheel" p="33188"/><f n="test_pipes.py" o="root" g="wheel" p="33188"/><f n="test_pipes.pyc" o="root" g="wheel" p="33188"/><f n="test_pipes.pyo" o="root" g="wheel" p="33188"/><f n="test_pkg.py" o="root" g="wheel" p="33188"/><f n="test_pkg.pyc" o="root" g="wheel" p="33188"/><f n="test_pkg.pyo" o="root" g="wheel" p="33188"/><f n="test_pkgimport.py" o="root" g="wheel" p="33188"/><f n="test_pkgimport.pyc" o="root" g="wheel" p="33188"/><f n="test_pkgimport.pyo" o="root" g="wheel" p="33188"/><f n="test_pkgutil.py" o="root" g="wheel" p="33188"/><f n="test_pkgutil.pyc" o="root" g="wheel" p="33188"/><f n="test_pkgutil.pyo" o="root" g="wheel" p="33188"/><f n="test_platform.py" o="root" g="wheel" p="33188"/><f n="test_platform.pyc" o="root" g="wheel" p="33188"/><f n="test_platform.pyo" o="root" g="wheel" p="33188"/><f n="test_plistlib.py" o="root" g="wheel" p="33188"/><f n="test_plistlib.pyc" o="root" g="wheel" p="33188"/><f n="test_plistlib.pyo" o="root" g="wheel" p="33188"/><f n="test_poll.py" o="root" g="wheel" p="33188"/><f n="test_poll.pyc" o="root" g="wheel" p="33188"/><f n="test_poll.pyo" o="root" g="wheel" p="33188"/><f n="test_popen.py" o="root" g="wheel" p="33188"/><f n="test_popen.pyc" o="root" g="wheel" p="33188"/><f n="test_popen.pyo" o="root" g="wheel" p="33188"/><f n="test_popen2.py" o="root" g="wheel" p="33188"/><f n="test_popen2.pyc" o="root" g="wheel" p="33188"/><f n="test_popen2.pyo" o="root" g="wheel" p="33188"/><f n="test_poplib.py" o="root" g="wheel" p="33188"/><f n="test_poplib.pyc" o="root" g="wheel" p="33188"/><f n="test_poplib.pyo" o="root" g="wheel" p="33188"/><f n="test_posix.py" o="root" g="wheel" p="33188"/><f n="test_posix.pyc" o="root" g="wheel" p="33188"/><f n="test_posix.pyo" o="root" g="wheel" p="33188"/><f n="test_posixpath.py" o="root" g="wheel" p="33188"/><f n="test_posixpath.pyc" o="root" g="wheel" p="33188"/><f n="test_posixpath.pyo" o="root" g="wheel" p="33188"/><f n="test_pow.py" o="root" g="wheel" p="33188"/><f n="test_pow.pyc" o="root" g="wheel" p="33188"/><f n="test_pow.pyo" o="root" g="wheel" p="33188"/><f n="test_pprint.py" o="root" g="wheel" p="33188"/><f n="test_pprint.pyc" o="root" g="wheel" p="33188"/><f n="test_pprint.pyo" o="root" g="wheel" p="33188"/><f n="test_print.py" o="root" g="wheel" p="33188"/><f n="test_print.pyc" o="root" g="wheel" p="33188"/><f n="test_print.pyo" o="root" g="wheel" p="33188"/><f n="test_profile.py" o="root" g="wheel" p="33261"/><f n="test_profile.pyc" o="root" g="wheel" p="33188"/><f n="test_profile.pyo" o="root" g="wheel" p="33188"/><f n="test_profilehooks.py" o="root" g="wheel" p="33188"/><f n="test_profilehooks.pyc" o="root" g="wheel" p="33188"/><f n="test_profilehooks.pyo" o="root" g="wheel" p="33188"/><f n="test_property.py" o="root" g="wheel" p="33188"/><f n="test_property.pyc" o="root" g="wheel" p="33188"/><f n="test_property.pyo" o="root" g="wheel" p="33188"/><f n="test_pstats.py" o="root" g="wheel" p="33188"/><f n="test_pstats.pyc" o="root" g="wheel" p="33188"/><f n="test_pstats.pyo" o="root" g="wheel" p="33188"/><f n="test_pty.py" o="root" g="wheel" p="33188"/><f n="test_pty.pyc" o="root" g="wheel" p="33188"/><f n="test_pty.pyo" o="root" g="wheel" p="33188"/><f n="test_pwd.py" o="root" g="wheel" p="33188"/><f n="test_pwd.pyc" o="root" g="wheel" p="33188"/><f n="test_pwd.pyo" o="root" g="wheel" p="33188"/><f n="test_py3kwarn.py" o="root" g="wheel" p="33188"/><f n="test_py3kwarn.pyc" o="root" g="wheel" p="33188"/><f n="test_py3kwarn.pyo" o="root" g="wheel" p="33188"/><f n="test_pyclbr.py" o="root" g="wheel" p="33188"/><f n="test_pyclbr.pyc" o="root" g="wheel" p="33188"/><f n="test_pyclbr.pyo" o="root" g="wheel" p="33188"/><f n="test_pydoc.py" o="root" g="wheel" p="33188"/><f n="test_pydoc.pyc" o="root" g="wheel" p="33188"/><f n="test_pydoc.pyo" o="root" g="wheel" p="33188"/><f n="test_pyexpat.py" o="root" g="wheel" p="33188"/><f n="test_pyexpat.pyc" o="root" g="wheel" p="33188"/><f n="test_pyexpat.pyo" o="root" g="wheel" p="33188"/><f n="test_queue.py" o="root" g="wheel" p="33188"/><f n="test_queue.pyc" o="root" g="wheel" p="33188"/><f n="test_queue.pyo" o="root" g="wheel" p="33188"/><f n="test_quopri.py" o="root" g="wheel" p="33188"/><f n="test_quopri.pyc" o="root" g="wheel" p="33188"/><f n="test_quopri.pyo" o="root" g="wheel" p="33188"/><f n="test_random.py" o="root" g="wheel" p="33188"/><f n="test_random.pyc" o="root" g="wheel" p="33188"/><f n="test_random.pyo" o="root" g="wheel" p="33188"/><f n="test_re.py" o="root" g="wheel" p="33188"/><f n="test_re.pyc" o="root" g="wheel" p="33188"/><f n="test_re.pyo" o="root" g="wheel" p="33188"/><f n="test_repr.py" o="root" g="wheel" p="33188"/><f n="test_repr.pyc" o="root" g="wheel" p="33188"/><f n="test_repr.pyo" o="root" g="wheel" p="33188"/><f n="test_resource.py" o="root" g="wheel" p="33188"/><f n="test_resource.pyc" o="root" g="wheel" p="33188"/><f n="test_resource.pyo" o="root" g="wheel" p="33188"/><f n="test_rfc822.py" o="root" g="wheel" p="33188"/><f n="test_rfc822.pyc" o="root" g="wheel" p="33188"/><f n="test_rfc822.pyo" o="root" g="wheel" p="33188"/><f n="test_richcmp.py" o="root" g="wheel" p="33188"/><f n="test_richcmp.pyc" o="root" g="wheel" p="33188"/><f n="test_richcmp.pyo" o="root" g="wheel" p="33188"/><f n="test_robotparser.py" o="root" g="wheel" p="33188"/><f n="test_robotparser.pyc" o="root" g="wheel" p="33188"/><f n="test_robotparser.pyo" o="root" g="wheel" p="33188"/><f n="test_runpy.py" o="root" g="wheel" p="33188"/><f n="test_runpy.pyc" o="root" g="wheel" p="33188"/><f n="test_runpy.pyo" o="root" g="wheel" p="33188"/><f n="test_sax.py" o="root" g="wheel" p="33188"/><f n="test_sax.pyc" o="root" g="wheel" p="33188"/><f n="test_sax.pyo" o="root" g="wheel" p="33188"/><f n="test_scope.py" o="root" g="wheel" p="33188"/><f n="test_scope.pyc" o="root" g="wheel" p="33188"/><f n="test_scope.pyo" o="root" g="wheel" p="33188"/><f n="test_scriptpackages.py" o="root" g="wheel" p="33188"/><f n="test_scriptpackages.pyc" o="root" g="wheel" p="33188"/><f n="test_scriptpackages.pyo" o="root" g="wheel" p="33188"/><f n="test_select.py" o="root" g="wheel" p="33188"/><f n="test_select.pyc" o="root" g="wheel" p="33188"/><f n="test_select.pyo" o="root" g="wheel" p="33188"/><f n="test_set.py" o="root" g="wheel" p="33188"/><f n="test_set.pyc" o="root" g="wheel" p="33188"/><f n="test_set.pyo" o="root" g="wheel" p="33188"/><f n="test_sets.py" o="root" g="wheel" p="33188"/><f n="test_sets.pyc" o="root" g="wheel" p="33188"/><f n="test_sets.pyo" o="root" g="wheel" p="33188"/><f n="test_sgmllib.py" o="root" g="wheel" p="33188"/><f n="test_sgmllib.pyc" o="root" g="wheel" p="33188"/><f n="test_sgmllib.pyo" o="root" g="wheel" p="33188"/><f n="test_sha.py" o="root" g="wheel" p="33188"/><f n="test_sha.pyc" o="root" g="wheel" p="33188"/><f n="test_sha.pyo" o="root" g="wheel" p="33188"/><f n="test_shelve.py" o="root" g="wheel" p="33188"/><f n="test_shelve.pyc" o="root" g="wheel" p="33188"/><f n="test_shelve.pyo" o="root" g="wheel" p="33188"/><f n="test_shlex.py" o="root" g="wheel" p="33188"/><f n="test_shlex.pyc" o="root" g="wheel" p="33188"/><f n="test_shlex.pyo" o="root" g="wheel" p="33188"/><f n="test_shutil.py" o="root" g="wheel" p="33188"/><f n="test_shutil.pyc" o="root" g="wheel" p="33188"/><f n="test_shutil.pyo" o="root" g="wheel" p="33188"/><f n="test_signal.py" o="root" g="wheel" p="33188"/><f n="test_signal.pyc" o="root" g="wheel" p="33188"/><f n="test_signal.pyo" o="root" g="wheel" p="33188"/><f n="test_SimpleHTTPServer.py" o="root" g="wheel" p="33188"/><f n="test_SimpleHTTPServer.pyc" o="root" g="wheel" p="33188"/><f n="test_SimpleHTTPServer.pyo" o="root" g="wheel" p="33188"/><f n="test_site.py" o="root" g="wheel" p="33188"/><f n="test_site.pyc" o="root" g="wheel" p="33188"/><f n="test_site.pyo" o="root" g="wheel" p="33188"/><f n="test_slice.py" o="root" g="wheel" p="33188"/><f n="test_slice.pyc" o="root" g="wheel" p="33188"/><f n="test_slice.pyo" o="root" g="wheel" p="33188"/><f n="test_smtplib.py" o="root" g="wheel" p="33188"/><f n="test_smtplib.pyc" o="root" g="wheel" p="33188"/><f n="test_smtplib.pyo" o="root" g="wheel" p="33188"/><f n="test_smtpnet.py" o="root" g="wheel" p="33188"/><f n="test_smtpnet.pyc" o="root" g="wheel" p="33188"/><f n="test_smtpnet.pyo" o="root" g="wheel" p="33188"/><f n="test_socket.py" o="root" g="wheel" p="33188"/><f n="test_socket.pyc" o="root" g="wheel" p="33188"/><f n="test_socket.pyo" o="root" g="wheel" p="33188"/><f n="test_socketserver.py" o="root" g="wheel" p="33188"/><f n="test_socketserver.pyc" o="root" g="wheel" p="33188"/><f n="test_socketserver.pyo" o="root" g="wheel" p="33188"/><f n="test_softspace.py" o="root" g="wheel" p="33188"/><f n="test_softspace.pyc" o="root" g="wheel" p="33188"/><f n="test_softspace.pyo" o="root" g="wheel" p="33188"/><f n="test_sort.py" o="root" g="wheel" p="33188"/><f n="test_sort.pyc" o="root" g="wheel" p="33188"/><f n="test_sort.pyo" o="root" g="wheel" p="33188"/><f n="test_sqlite.py" o="root" g="wheel" p="33188"/><f n="test_sqlite.pyc" o="root" g="wheel" p="33188"/><f n="test_sqlite.pyo" o="root" g="wheel" p="33188"/><f n="test_ssl.py" o="root" g="wheel" p="33188"/><f n="test_ssl.pyc" o="root" g="wheel" p="33188"/><f n="test_ssl.pyo" o="root" g="wheel" p="33188"/><f n="test_startfile.py" o="root" g="wheel" p="33188"/><f n="test_startfile.pyc" o="root" g="wheel" p="33188"/><f n="test_startfile.pyo" o="root" g="wheel" p="33188"/><f n="test_str.py" o="root" g="wheel" p="33188"/><f n="test_str.pyc" o="root" g="wheel" p="33188"/><f n="test_str.pyo" o="root" g="wheel" p="33188"/><f n="test_strftime.py" o="root" g="wheel" p="33261"/><f n="test_strftime.pyc" o="root" g="wheel" p="33188"/><f n="test_strftime.pyo" o="root" g="wheel" p="33188"/><f n="test_string.py" o="root" g="wheel" p="33188"/><f n="test_string.pyc" o="root" g="wheel" p="33188"/><f n="test_string.pyo" o="root" g="wheel" p="33188"/><f n="test_StringIO.py" o="root" g="wheel" p="33188"/><f n="test_StringIO.pyc" o="root" g="wheel" p="33188"/><f n="test_StringIO.pyo" o="root" g="wheel" p="33188"/><f n="test_stringprep.py" o="root" g="wheel" p="33188"/><f n="test_stringprep.pyc" o="root" g="wheel" p="33188"/><f n="test_stringprep.pyo" o="root" g="wheel" p="33188"/><f n="test_strop.py" o="root" g="wheel" p="33188"/><f n="test_strop.pyc" o="root" g="wheel" p="33188"/><f n="test_strop.pyo" o="root" g="wheel" p="33188"/><f n="test_strptime.py" o="root" g="wheel" p="33188"/><f n="test_strptime.pyc" o="root" g="wheel" p="33188"/><f n="test_strptime.pyo" o="root" g="wheel" p="33188"/><f n="test_struct.py" o="root" g="wheel" p="33188"/><f n="test_struct.pyc" o="root" g="wheel" p="33188"/><f n="test_struct.pyo" o="root" g="wheel" p="33188"/><f n="test_structmembers.py" o="root" g="wheel" p="33188"/><f n="test_structmembers.pyc" o="root" g="wheel" p="33188"/><f n="test_structmembers.pyo" o="root" g="wheel" p="33188"/><f n="test_structseq.py" o="root" g="wheel" p="33188"/><f n="test_structseq.pyc" o="root" g="wheel" p="33188"/><f n="test_structseq.pyo" o="root" g="wheel" p="33188"/><f n="test_subprocess.py" o="root" g="wheel" p="33188"/><f n="test_subprocess.pyc" o="root" g="wheel" p="33188"/><f n="test_subprocess.pyo" o="root" g="wheel" p="33188"/><f n="test_sunaudiodev.py" o="root" g="wheel" p="33188"/><f n="test_sunaudiodev.pyc" o="root" g="wheel" p="33188"/><f n="test_sunaudiodev.pyo" o="root" g="wheel" p="33188"/><f n="test_sundry.py" o="root" g="wheel" p="33188"/><f n="test_sundry.pyc" o="root" g="wheel" p="33188"/><f n="test_sundry.pyo" o="root" g="wheel" p="33188"/><f n="test_support.py" o="root" g="wheel" p="33188"/><f n="test_support.pyc" o="root" g="wheel" p="33188"/><f n="test_support.pyo" o="root" g="wheel" p="33188"/><f n="test_symtable.py" o="root" g="wheel" p="33188"/><f n="test_symtable.pyc" o="root" g="wheel" p="33188"/><f n="test_symtable.pyo" o="root" g="wheel" p="33188"/><f n="test_syntax.py" o="root" g="wheel" p="33188"/><f n="test_syntax.pyc" o="root" g="wheel" p="33188"/><f n="test_syntax.pyo" o="root" g="wheel" p="33188"/><f n="test_sys.py" o="root" g="wheel" p="33188"/><f n="test_sys.pyc" o="root" g="wheel" p="33188"/><f n="test_sys.pyo" o="root" g="wheel" p="33188"/><f n="test_tarfile.py" o="root" g="wheel" p="33188"/><f n="test_tarfile.pyc" o="root" g="wheel" p="33188"/><f n="test_tarfile.pyo" o="root" g="wheel" p="33188"/><f n="test_tcl.py" o="root" g="wheel" p="33188"/><f n="test_tcl.pyc" o="root" g="wheel" p="33188"/><f n="test_tcl.pyo" o="root" g="wheel" p="33188"/><f n="test_telnetlib.py" o="root" g="wheel" p="33188"/><f n="test_telnetlib.pyc" o="root" g="wheel" p="33188"/><f n="test_telnetlib.pyo" o="root" g="wheel" p="33188"/><f n="test_tempfile.py" o="root" g="wheel" p="33188"/><f n="test_tempfile.pyc" o="root" g="wheel" p="33188"/><f n="test_tempfile.pyo" o="root" g="wheel" p="33188"/><f n="test_textwrap.py" o="root" g="wheel" p="33188"/><f n="test_textwrap.pyc" o="root" g="wheel" p="33188"/><f n="test_textwrap.pyo" o="root" g="wheel" p="33188"/><f n="test_thread.py" o="root" g="wheel" p="33188"/><f n="test_thread.pyc" o="root" g="wheel" p="33188"/><f n="test_thread.pyo" o="root" g="wheel" p="33188"/><f n="test_threaded_import.py" o="root" g="wheel" p="33188"/><f n="test_threaded_import.pyc" o="root" g="wheel" p="33188"/><f n="test_threaded_import.pyo" o="root" g="wheel" p="33188"/><f n="test_threadedtempfile.py" o="root" g="wheel" p="33188"/><f n="test_threadedtempfile.pyc" o="root" g="wheel" p="33188"/><f n="test_threadedtempfile.pyo" o="root" g="wheel" p="33188"/><f n="test_threading.py" o="root" g="wheel" p="33188"/><f n="test_threading.pyc" o="root" g="wheel" p="33188"/><f n="test_threading.pyo" o="root" g="wheel" p="33188"/><f n="test_threading_local.py" o="root" g="wheel" p="33188"/><f n="test_threading_local.pyc" o="root" g="wheel" p="33188"/><f n="test_threading_local.pyo" o="root" g="wheel" p="33188"/><f n="test_threadsignals.py" o="root" g="wheel" p="33188"/><f n="test_threadsignals.pyc" o="root" g="wheel" p="33188"/><f n="test_threadsignals.pyo" o="root" g="wheel" p="33188"/><f n="test_time.py" o="root" g="wheel" p="33188"/><f n="test_time.pyc" o="root" g="wheel" p="33188"/><f n="test_time.pyo" o="root" g="wheel" p="33188"/><f n="test_timeout.py" o="root" g="wheel" p="33188"/><f n="test_timeout.pyc" o="root" g="wheel" p="33188"/><f n="test_timeout.pyo" o="root" g="wheel" p="33188"/><f n="test_tokenize.py" o="root" g="wheel" p="33188"/><f n="test_tokenize.pyc" o="root" g="wheel" p="33188"/><f n="test_tokenize.pyo" o="root" g="wheel" p="33188"/><f n="test_trace.py" o="root" g="wheel" p="33188"/><f n="test_trace.pyc" o="root" g="wheel" p="33188"/><f n="test_trace.pyo" o="root" g="wheel" p="33188"/><f n="test_traceback.py" o="root" g="wheel" p="33188"/><f n="test_traceback.pyc" o="root" g="wheel" p="33188"/><f n="test_traceback.pyo" o="root" g="wheel" p="33188"/><f n="test_transformer.py" o="root" g="wheel" p="33188"/><f n="test_transformer.pyc" o="root" g="wheel" p="33188"/><f n="test_transformer.pyo" o="root" g="wheel" p="33188"/><f n="test_tuple.py" o="root" g="wheel" p="33188"/><f n="test_tuple.pyc" o="root" g="wheel" p="33188"/><f n="test_tuple.pyo" o="root" g="wheel" p="33188"/><f n="test_typechecks.py" o="root" g="wheel" p="33188"/><f n="test_typechecks.pyc" o="root" g="wheel" p="33188"/><f n="test_typechecks.pyo" o="root" g="wheel" p="33188"/><f n="test_types.py" o="root" g="wheel" p="33188"/><f n="test_types.pyc" o="root" g="wheel" p="33188"/><f n="test_types.pyo" o="root" g="wheel" p="33188"/><f n="test_ucn.py" o="root" g="wheel" p="33188"/><f n="test_ucn.pyc" o="root" g="wheel" p="33188"/><f n="test_ucn.pyo" o="root" g="wheel" p="33188"/><f n="test_unary.py" o="root" g="wheel" p="33188"/><f n="test_unary.pyc" o="root" g="wheel" p="33188"/><f n="test_unary.pyo" o="root" g="wheel" p="33188"/><f n="test_undocumented_details.py" o="root" g="wheel" p="33188"/><f n="test_undocumented_details.pyc" o="root" g="wheel" p="33188"/><f n="test_undocumented_details.pyo" o="root" g="wheel" p="33188"/><f n="test_unicode.py" o="root" g="wheel" p="33188"/><f n="test_unicode.pyc" o="root" g="wheel" p="33188"/><f n="test_unicode.pyo" o="root" g="wheel" p="33188"/><f n="test_unicode_file.py" o="root" g="wheel" p="33188"/><f n="test_unicode_file.pyc" o="root" g="wheel" p="33188"/><f n="test_unicode_file.pyo" o="root" g="wheel" p="33188"/><f n="test_unicodedata.py" o="root" g="wheel" p="33188"/><f n="test_unicodedata.pyc" o="root" g="wheel" p="33188"/><f n="test_unicodedata.pyo" o="root" g="wheel" p="33188"/><f n="test_unittest.py" o="root" g="wheel" p="33188"/><f n="test_unittest.pyc" o="root" g="wheel" p="33188"/><f n="test_unittest.pyo" o="root" g="wheel" p="33188"/><f n="test_univnewlines.py" o="root" g="wheel" p="33188"/><f n="test_univnewlines.pyc" o="root" g="wheel" p="33188"/><f n="test_univnewlines.pyo" o="root" g="wheel" p="33188"/><f n="test_unpack.py" o="root" g="wheel" p="33188"/><f n="test_unpack.pyc" o="root" g="wheel" p="33188"/><f n="test_unpack.pyo" o="root" g="wheel" p="33188"/><f n="test_urllib.py" o="root" g="wheel" p="33188"/><f n="test_urllib.pyc" o="root" g="wheel" p="33188"/><f n="test_urllib.pyo" o="root" g="wheel" p="33188"/><f n="test_urllib2.py" o="root" g="wheel" p="33188"/><f n="test_urllib2.pyc" o="root" g="wheel" p="33188"/><f n="test_urllib2.pyo" o="root" g="wheel" p="33188"/><f n="test_urllib2_localnet.py" o="root" g="wheel" p="33188"/><f n="test_urllib2_localnet.pyc" o="root" g="wheel" p="33188"/><f n="test_urllib2_localnet.pyo" o="root" g="wheel" p="33188"/><f n="test_urllib2net.py" o="root" g="wheel" p="33188"/><f n="test_urllib2net.pyc" o="root" g="wheel" p="33188"/><f n="test_urllib2net.pyo" o="root" g="wheel" p="33188"/><f n="test_urllibnet.py" o="root" g="wheel" p="33188"/><f n="test_urllibnet.pyc" o="root" g="wheel" p="33188"/><f n="test_urllibnet.pyo" o="root" g="wheel" p="33188"/><f n="test_urlparse.py" o="root" g="wheel" p="33188"/><f n="test_urlparse.pyc" o="root" g="wheel" p="33188"/><f n="test_urlparse.pyo" o="root" g="wheel" p="33188"/><f n="test_userdict.py" o="root" g="wheel" p="33188"/><f n="test_userdict.pyc" o="root" g="wheel" p="33188"/><f n="test_userdict.pyo" o="root" g="wheel" p="33188"/><f n="test_userlist.py" o="root" g="wheel" p="33188"/><f n="test_userlist.pyc" o="root" g="wheel" p="33188"/><f n="test_userlist.pyo" o="root" g="wheel" p="33188"/><f n="test_userstring.py" o="root" g="wheel" p="33261"/><f n="test_userstring.pyc" o="root" g="wheel" p="33188"/><f n="test_userstring.pyo" o="root" g="wheel" p="33188"/><f n="test_uu.py" o="root" g="wheel" p="33188"/><f n="test_uu.pyc" o="root" g="wheel" p="33188"/><f n="test_uu.pyo" o="root" g="wheel" p="33188"/><f n="test_uuid.py" o="root" g="wheel" p="33188"/><f n="test_uuid.pyc" o="root" g="wheel" p="33188"/><f n="test_uuid.pyo" o="root" g="wheel" p="33188"/><f n="test_wait3.py" o="root" g="wheel" p="33188"/><f n="test_wait3.pyc" o="root" g="wheel" p="33188"/><f n="test_wait3.pyo" o="root" g="wheel" p="33188"/><f n="test_wait4.py" o="root" g="wheel" p="33188"/><f n="test_wait4.pyc" o="root" g="wheel" p="33188"/><f n="test_wait4.pyo" o="root" g="wheel" p="33188"/><f n="test_warnings.py" o="root" g="wheel" p="33188"/><f n="test_warnings.pyc" o="root" g="wheel" p="33188"/><f n="test_warnings.pyo" o="root" g="wheel" p="33188"/><f n="test_wave.py" o="root" g="wheel" p="33188"/><f n="test_wave.pyc" o="root" g="wheel" p="33188"/><f n="test_wave.pyo" o="root" g="wheel" p="33188"/><f n="test_weakref.py" o="root" g="wheel" p="33188"/><f n="test_weakref.pyc" o="root" g="wheel" p="33188"/><f n="test_weakref.pyo" o="root" g="wheel" p="33188"/><f n="test_whichdb.py" o="root" g="wheel" p="33188"/><f n="test_whichdb.pyc" o="root" g="wheel" p="33188"/><f n="test_whichdb.pyo" o="root" g="wheel" p="33188"/><f n="test_winreg.py" o="root" g="wheel" p="33188"/><f n="test_winreg.pyc" o="root" g="wheel" p="33188"/><f n="test_winreg.pyo" o="root" g="wheel" p="33188"/><f n="test_winsound.py" o="root" g="wheel" p="33188"/><f n="test_winsound.pyc" o="root" g="wheel" p="33188"/><f n="test_winsound.pyo" o="root" g="wheel" p="33188"/><f n="test_with.py" o="root" g="wheel" p="33188"/><f n="test_with.pyc" o="root" g="wheel" p="33188"/><f n="test_with.pyo" o="root" g="wheel" p="33188"/><f n="test_wsgiref.py" o="root" g="wheel" p="33261"/><f n="test_wsgiref.pyc" o="root" g="wheel" p="33188"/><f n="test_wsgiref.pyo" o="root" g="wheel" p="33188"/><f n="test_xdrlib.py" o="root" g="wheel" p="33188"/><f n="test_xdrlib.pyc" o="root" g="wheel" p="33188"/><f n="test_xdrlib.pyo" o="root" g="wheel" p="33188"/><f n="test_xml_etree.py" o="root" g="wheel" p="33188"/><f n="test_xml_etree.pyc" o="root" g="wheel" p="33188"/><f n="test_xml_etree.pyo" o="root" g="wheel" p="33188"/><f n="test_xml_etree_c.py" o="root" g="wheel" p="33188"/><f n="test_xml_etree_c.pyc" o="root" g="wheel" p="33188"/><f n="test_xml_etree_c.pyo" o="root" g="wheel" p="33188"/><f n="test_xmllib.py" o="root" g="wheel" p="33188"/><f n="test_xmllib.pyc" o="root" g="wheel" p="33188"/><f n="test_xmllib.pyo" o="root" g="wheel" p="33188"/><f n="test_xmlrpc.py" o="root" g="wheel" p="33188"/><f n="test_xmlrpc.pyc" o="root" g="wheel" p="33188"/><f n="test_xmlrpc.pyo" o="root" g="wheel" p="33188"/><f n="test_xpickle.py" o="root" g="wheel" p="33188"/><f n="test_xpickle.pyc" o="root" g="wheel" p="33188"/><f n="test_xpickle.pyo" o="root" g="wheel" p="33188"/><f n="test_xrange.py" o="root" g="wheel" p="33188"/><f n="test_xrange.pyc" o="root" g="wheel" p="33188"/><f n="test_xrange.pyo" o="root" g="wheel" p="33188"/><f n="test_zipfile.py" o="root" g="wheel" p="33188"/><f n="test_zipfile.pyc" o="root" g="wheel" p="33188"/><f n="test_zipfile.pyo" o="root" g="wheel" p="33188"/><f n="test_zipfile64.py" o="root" g="wheel" p="33188"/><f n="test_zipfile64.pyc" o="root" g="wheel" p="33188"/><f n="test_zipfile64.pyo" o="root" g="wheel" p="33188"/><f n="test_zipimport.py" o="root" g="wheel" p="33188"/><f n="test_zipimport.pyc" o="root" g="wheel" p="33188"/><f n="test_zipimport.pyo" o="root" g="wheel" p="33188"/><f n="test_zipimport_support.py" o="root" g="wheel" p="33188"/><f n="test_zipimport_support.pyc" o="root" g="wheel" p="33188"/><f n="test_zipimport_support.pyo" o="root" g="wheel" p="33188"/><f n="test_zlib.py" o="root" g="wheel" p="33188"/><f n="test_zlib.pyc" o="root" g="wheel" p="33188"/><f n="test_zlib.pyo" o="root" g="wheel" p="33188"/><f n="testall.py" o="root" g="wheel" p="33188"/><f n="testall.pyc" o="root" g="wheel" p="33188"/><f n="testall.pyo" o="root" g="wheel" p="33188"/><f n="testcodec.py" o="root" g="wheel" p="33188"/><f n="testcodec.pyc" o="root" g="wheel" p="33188"/><f n="testcodec.pyo" o="root" g="wheel" p="33188"/><f n="testimg.uue" o="root" g="wheel" p="33188"/><f n="testimgr.uue" o="root" g="wheel" p="33188"/><f n="testrgb.uue" o="root" g="wheel" p="33188"/><f n="testtar.tar" o="root" g="wheel" p="33188"/><f n="tf_inherit_check.py" o="root" g="wheel" p="33188"/><f n="tf_inherit_check.pyc" o="root" g="wheel" p="33188"/><f n="tf_inherit_check.pyo" o="root" g="wheel" p="33188"/><f n="threaded_import_hangers.py" o="root" g="wheel" p="33188"/><f n="threaded_import_hangers.pyc" o="root" g="wheel" p="33188"/><f n="threaded_import_hangers.pyo" o="root" g="wheel" p="33188"/><f n="time_hashlib.py" o="root" g="wheel" p="33188"/><f n="time_hashlib.pyc" o="root" g="wheel" p="33188"/><f n="time_hashlib.pyo" o="root" g="wheel" p="33188"/><f n="tokenize_tests.txt" o="root" g="wheel" p="33188"/><f n="warning_tests.py" o="root" g="wheel" p="33188"/><f n="warning_tests.pyc" o="root" g="wheel" p="33188"/><f n="warning_tests.pyo" o="root" g="wheel" p="33188"/><f n="wrongcert.pem" o="root" g="wheel" p="33188"/><f n="xmltests.py" o="root" g="wheel" p="33188"/><f n="xmltests.pyc" o="root" g="wheel" p="33188"/><f n="xmltests.pyo" o="root" g="wheel" p="33188"/><f n="zipdir.zip" o="root" g="wheel" p="33188"/></f><f n="textwrap.py" o="root" g="wheel" p="33188"/><f n="textwrap.pyo" o="root" g="wheel" p="33188"/><f n="this.py" o="root" g="wheel" p="33188"/><f n="this.pyo" o="root" g="wheel" p="33188"/><f n="threading.py" o="root" g="wheel" p="33188"/><f n="threading.pyo" o="root" g="wheel" p="33188"/><f n="timeit.py" o="root" g="wheel" p="33188"/><f n="timeit.pyo" o="root" g="wheel" p="33188"/><f n="toaiff.py" o="root" g="wheel" p="33188"/><f n="toaiff.pyo" o="root" g="wheel" p="33188"/><f n="token.py" o="root" g="wheel" p="33261"/><f n="token.pyo" o="root" g="wheel" p="33188"/><f n="tokenize.py" o="root" g="wheel" p="33188"/><f n="tokenize.pyo" o="root" g="wheel" p="33188"/><f n="trace.py" o="root" g="wheel" p="33188"/><f n="trace.pyo" o="root" g="wheel" p="33188"/><f n="traceback.py" o="root" g="wheel" p="33188"/><f n="traceback.pyo" o="root" g="wheel" p="33188"/><f n="tty.py" o="root" g="wheel" p="33188"/><f n="tty.pyo" o="root" g="wheel" p="33188"/><f n="types.py" o="root" g="wheel" p="33188"/><f n="types.pyo" o="root" g="wheel" p="33188"/><f n="unittest.py" o="root" g="wheel" p="33188"/><f n="unittest.pyo" o="root" g="wheel" p="33188"/><f n="urllib.py" o="root" g="wheel" p="33188"/><f n="urllib.pyo" o="root" g="wheel" p="33188"/><f n="urllib2.py" o="root" g="wheel" p="33188"/><f n="urllib2.pyo" o="root" g="wheel" p="33188"/><f n="urlparse.py" o="root" g="wheel" p="33188"/><f n="urlparse.pyo" o="root" g="wheel" p="33188"/><f n="user.py" o="root" g="wheel" p="33188"/><f n="user.pyo" o="root" g="wheel" p="33188"/><f n="UserDict.py" o="root" g="wheel" p="33188"/><f n="UserDict.pyo" o="root" g="wheel" p="33188"/><f n="UserList.py" o="root" g="wheel" p="33188"/><f n="UserList.pyo" o="root" g="wheel" p="33188"/><f n="UserString.py" o="root" g="wheel" p="33261"/><f n="UserString.pyo" o="root" g="wheel" p="33188"/><f n="uu.py" o="root" g="wheel" p="33261"/><f n="uu.pyo" o="root" g="wheel" p="33188"/><f n="uuid.py" o="root" g="wheel" p="33188"/><f n="uuid.pyo" o="root" g="wheel" p="33188"/><f n="warnings.py" o="root" g="wheel" p="33188"/><f n="warnings.pyo" o="root" g="wheel" p="33188"/><f n="wave.py" o="root" g="wheel" p="33188"/><f n="wave.pyo" o="root" g="wheel" p="33188"/><f n="weakref.py" o="root" g="wheel" p="33188"/><f n="weakref.pyo" o="root" g="wheel" p="33188"/><f n="webbrowser.py" o="root" g="wheel" p="33188"/><f n="webbrowser.pyo" o="root" g="wheel" p="33188"/><f n="whichdb.py" o="root" g="wheel" p="33188"/><f n="whichdb.pyo" o="root" g="wheel" p="33188"/><f n="wsgiref" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="handlers.py" o="root" g="wheel" p="33188"/><f n="handlers.pyc" o="root" g="wheel" p="33188"/><f n="handlers.pyo" o="root" g="wheel" p="33188"/><f n="headers.py" o="root" g="wheel" p="33188"/><f n="headers.pyc" o="root" g="wheel" p="33188"/><f n="headers.pyo" o="root" g="wheel" p="33188"/><f n="simple_server.py" o="root" g="wheel" p="33188"/><f n="simple_server.pyc" o="root" g="wheel" p="33188"/><f n="simple_server.pyo" o="root" g="wheel" p="33188"/><f n="util.py" o="root" g="wheel" p="33188"/><f n="util.pyc" o="root" g="wheel" p="33188"/><f n="util.pyo" o="root" g="wheel" p="33188"/><f n="validate.py" o="root" g="wheel" p="33188"/><f n="validate.pyc" o="root" g="wheel" p="33188"/><f n="validate.pyo" o="root" g="wheel" p="33188"/></f><f n="wsgiref.egg-info" o="root" g="wheel" p="33188"/><f n="xdrlib.py" o="root" g="wheel" p="33188"/><f n="xdrlib.pyo" o="root" g="wheel" p="33188"/><f n="xml" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="dom" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="domreg.py" o="root" g="wheel" p="33188"/><f n="domreg.pyc" o="root" g="wheel" p="33188"/><f n="domreg.pyo" o="root" g="wheel" p="33188"/><f n="expatbuilder.py" o="root" g="wheel" p="33188"/><f n="expatbuilder.pyc" o="root" g="wheel" p="33188"/><f n="expatbuilder.pyo" o="root" g="wheel" p="33188"/><f n="minicompat.py" o="root" g="wheel" p="33188"/><f n="minicompat.pyc" o="root" g="wheel" p="33188"/><f n="minicompat.pyo" o="root" g="wheel" p="33188"/><f n="minidom.py" o="root" g="wheel" p="33188"/><f n="minidom.pyc" o="root" g="wheel" p="33188"/><f n="minidom.pyo" o="root" g="wheel" p="33188"/><f n="NodeFilter.py" o="root" g="wheel" p="33188"/><f n="NodeFilter.pyc" o="root" g="wheel" p="33188"/><f n="NodeFilter.pyo" o="root" g="wheel" p="33188"/><f n="pulldom.py" o="root" g="wheel" p="33188"/><f n="pulldom.pyc" o="root" g="wheel" p="33188"/><f n="pulldom.pyo" o="root" g="wheel" p="33188"/><f n="xmlbuilder.py" o="root" g="wheel" p="33188"/><f n="xmlbuilder.pyc" o="root" g="wheel" p="33188"/><f n="xmlbuilder.pyo" o="root" g="wheel" p="33188"/></f><f n="etree" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="cElementTree.py" o="root" g="wheel" p="33188"/><f n="cElementTree.pyc" o="root" g="wheel" p="33188"/><f n="cElementTree.pyo" o="root" g="wheel" p="33188"/><f n="ElementInclude.py" o="root" g="wheel" p="33188"/><f n="ElementInclude.pyc" o="root" g="wheel" p="33188"/><f n="ElementInclude.pyo" o="root" g="wheel" p="33188"/><f n="ElementPath.py" o="root" g="wheel" p="33188"/><f n="ElementPath.pyc" o="root" g="wheel" p="33188"/><f n="ElementPath.pyo" o="root" g="wheel" p="33188"/><f n="ElementTree.py" o="root" g="wheel" p="33188"/><f n="ElementTree.pyc" o="root" g="wheel" p="33188"/><f n="ElementTree.pyo" o="root" g="wheel" p="33188"/></f><f n="parsers" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="expat.py" o="root" g="wheel" p="33188"/><f n="expat.pyc" o="root" g="wheel" p="33188"/><f n="expat.pyo" o="root" g="wheel" p="33188"/></f><f n="sax" o="root" g="wheel" p="16877"><f n="__init__.py" o="root" g="wheel" p="33188"/><f n="__init__.pyc" o="root" g="wheel" p="33188"/><f n="__init__.pyo" o="root" g="wheel" p="33188"/><f n="_exceptions.py" o="root" g="wheel" p="33188"/><f n="_exceptions.pyc" o="root" g="wheel" p="33188"/><f n="_exceptions.pyo" o="root" g="wheel" p="33188"/><f n="expatreader.py" o="root" g="wheel" p="33188"/><f n="expatreader.pyc" o="root" g="wheel" p="33188"/><f n="expatreader.pyo" o="root" g="wheel" p="33188"/><f n="handler.py" o="root" g="wheel" p="33188"/><f n="handler.pyc" o="root" g="wheel" p="33188"/><f n="handler.pyo" o="root" g="wheel" p="33188"/><f n="saxutils.py" o="root" g="wheel" p="33188"/><f n="saxutils.pyc" o="root" g="wheel" p="33188"/><f n="saxutils.pyo" o="root" g="wheel" p="33188"/><f n="xmlreader.py" o="root" g="wheel" p="33188"/><f n="xmlreader.pyc" o="root" g="wheel" p="33188"/><f n="xmlreader.pyo" o="root" g="wheel" p="33188"/></f></f><f n="xmllib.py" o="root" g="wheel" p="33188"/><f n="xmllib.pyo" o="root" g="wheel" p="33188"/><f n="xmlrpclib.py" o="root" g="wheel" p="33188"/><f n="xmlrpclib.pyo" o="root" g="wheel" p="33188"/><f n="zipfile.py" o="root" g="wheel" p="33188"/><f n="zipfile.pyo" o="root" g="wheel" p="33188"/></f><f n="QtAssistant.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QAssistantClient" o="root" g="wheel" p="33188"/><f n="qassistantclient.h" o="root" g="wheel" p="33188"/><f n="qassistantclient_global.h" o="root" g="wheel" p="33188"/><f n="QtAssistant" o="root" g="wheel" p="33188"/></f><f n="QtAssistant" o="root" g="wheel" p="33261"/><f n="QtAssistant.prl" o="root" g="wheel" p="33188"/><f n="QtAssistant_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QAssistantClient" o="root" g="wheel" p="33188"/><f n="qassistantclient.h" o="root" g="wheel" p="33188"/><f n="qassistantclient_global.h" o="root" g="wheel" p="33188"/><f n="QtAssistant" o="root" g="wheel" p="33188"/></f><f n="QtAssistant" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QAssistantClient" o="root" g="wheel" p="33188"/><f n="qassistantclient.h" o="root" g="wheel" p="33188"/><f n="qassistantclient_global.h" o="root" g="wheel" p="33188"/><f n="QtAssistant" o="root" g="wheel" p="33188"/></f><f n="QtAssistant" o="root" g="wheel" p="33261"/></f></f></f><f n="QtCore.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="Q_INT16" o="root" g="wheel" p="33188"/><f n="Q_INT32" o="root" g="wheel" p="33188"/><f n="Q_INT64" o="root" g="wheel" p="33188"/><f n="Q_INT8" o="root" g="wheel" p="33188"/><f n="Q_LLONG" o="root" g="wheel" p="33188"/><f n="Q_LONG" o="root" g="wheel" p="33188"/><f n="Q_PID" o="root" g="wheel" p="33188"/><f n="Q_UINT16" o="root" g="wheel" p="33188"/><f n="Q_UINT32" o="root" g="wheel" p="33188"/><f n="Q_UINT64" o="root" g="wheel" p="33188"/><f n="Q_UINT8" o="root" g="wheel" p="33188"/><f n="Q_ULLONG" o="root" g="wheel" p="33188"/><f n="Q_ULONG" o="root" g="wheel" p="33188"/><f n="QAbstractEventDispatcher" o="root" g="wheel" p="33188"/><f n="qabstracteventdispatcher.h" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngine" o="root" g="wheel" p="33188"/><f n="qabstractfileengine.h" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngineHandler" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngineIterator" o="root" g="wheel" p="33188"/><f n="QAbstractItemModel" o="root" g="wheel" p="33188"/><f n="qabstractitemmodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractListModel" o="root" g="wheel" p="33188"/><f n="QAbstractTableModel" o="root" g="wheel" p="33188"/><f n="qalgorithms.h" o="root" g="wheel" p="33188"/><f n="QArgument" o="root" g="wheel" p="33188"/><f n="qatomic.h" o="root" g="wheel" p="33188"/><f n="qatomic_alpha.h" o="root" g="wheel" p="33188"/><f n="qatomic_arch.h" o="root" g="wheel" p="33188"/><f n="qatomic_arm.h" o="root" g="wheel" p="33188"/><f n="qatomic_armv6.h" o="root" g="wheel" p="33188"/><f n="qatomic_avr32.h" o="root" g="wheel" p="33188"/><f n="qatomic_bfin.h" o="root" g="wheel" p="33188"/><f n="qatomic_bootstrap.h" o="root" g="wheel" p="33188"/><f n="qatomic_generic.h" o="root" g="wheel" p="33188"/><f n="qatomic_i386.h" o="root" g="wheel" p="33188"/><f n="qatomic_ia64.h" o="root" g="wheel" p="33188"/><f n="qatomic_macosx.h" o="root" g="wheel" p="33188"/><f n="qatomic_mips.h" o="root" g="wheel" p="33188"/><f n="qatomic_parisc.h" o="root" g="wheel" p="33188"/><f n="qatomic_powerpc.h" o="root" g="wheel" p="33188"/><f n="qatomic_s390.h" o="root" g="wheel" p="33188"/><f n="qatomic_sh.h" o="root" g="wheel" p="33188"/><f n="qatomic_sh4a.h" o="root" g="wheel" p="33188"/><f n="qatomic_sparc.h" o="root" g="wheel" p="33188"/><f n="qatomic_x86_64.h" o="root" g="wheel" p="33188"/><f n="QAtomicInt" o="root" g="wheel" p="33188"/><f n="QAtomicPointer" o="root" g="wheel" p="33188"/><f n="qbasicatomic.h" o="root" g="wheel" p="33188"/><f n="QBasicAtomicInt" o="root" g="wheel" p="33188"/><f n="QBasicAtomicPointer" o="root" g="wheel" p="33188"/><f n="QBasicTimer" o="root" g="wheel" p="33188"/><f n="qbasictimer.h" o="root" g="wheel" p="33188"/><f n="QBitArray" o="root" g="wheel" p="33188"/><f n="qbitarray.h" o="root" g="wheel" p="33188"/><f n="QBitRef" o="root" g="wheel" p="33188"/><f n="QBool" o="root" g="wheel" p="33188"/><f n="QBuffer" o="root" g="wheel" p="33188"/><f n="qbuffer.h" o="root" g="wheel" p="33188"/><f n="QByteArray" o="root" g="wheel" p="33188"/><f n="qbytearray.h" o="root" g="wheel" p="33188"/><f n="QByteArrayMatcher" o="root" g="wheel" p="33188"/><f n="qbytearraymatcher.h" o="root" g="wheel" p="33188"/><f n="QByteRef" o="root" g="wheel" p="33188"/><f n="QCache" o="root" g="wheel" p="33188"/><f n="qcache.h" o="root" g="wheel" p="33188"/><f n="QChar" o="root" g="wheel" p="33188"/><f n="qchar.h" o="root" g="wheel" p="33188"/><f n="QCharRef" o="root" g="wheel" p="33188"/><f n="QChildEvent" o="root" g="wheel" p="33188"/><f n="qconfig-dist.h" o="root" g="wheel" p="33188"/><f n="qconfig-large.h" o="root" g="wheel" p="33188"/><f n="qconfig-medium.h" o="root" g="wheel" p="33188"/><f n="qconfig-minimal.h" o="root" g="wheel" p="33188"/><f n="qconfig-small.h" o="root" g="wheel" p="33188"/><f n="qconfig.h" o="root" g="wheel" p="33060"/><f n="QConstString" o="root" g="wheel" p="33188"/><f n="qcontainerfwd.h" o="root" g="wheel" p="33188"/><f n="QCOORD" o="root" g="wheel" p="33188"/><f n="QCoreApplication" o="root" g="wheel" p="33188"/><f n="qcoreapplication.h" o="root" g="wheel" p="33188"/><f n="qcoreevent.h" o="root" g="wheel" p="33188"/><f n="QCryptographicHash" o="root" g="wheel" p="33188"/><f n="qcryptographichash.h" o="root" g="wheel" p="33188"/><f n="QCustomEvent" o="root" g="wheel" p="33188"/><f n="QDataStream" o="root" g="wheel" p="33188"/><f n="qdatastream.h" o="root" g="wheel" p="33188"/><f n="QDate" o="root" g="wheel" p="33188"/><f n="QDateTime" o="root" g="wheel" p="33188"/><f n="qdatetime.h" o="root" g="wheel" p="33188"/><f n="QDebug" o="root" g="wheel" p="33188"/><f n="qdebug.h" o="root" g="wheel" p="33188"/><f n="QDir" o="root" g="wheel" p="33188"/><f n="qdir.h" o="root" g="wheel" p="33188"/><f n="QDirIterator" o="root" g="wheel" p="33188"/><f n="qdiriterator.h" o="root" g="wheel" p="33188"/><f n="QDynamicPropertyChangeEvent" o="root" g="wheel" p="33188"/><f n="qendian.h" o="root" g="wheel" p="33188"/><f n="QEvent" o="root" g="wheel" p="33188"/><f n="QEventLoop" o="root" g="wheel" p="33188"/><f n="qeventloop.h" o="root" g="wheel" p="33188"/><f n="QExplicitlySharedDataPointer" o="root" g="wheel" p="33188"/><f n="QFactoryInterface" o="root" g="wheel" p="33188"/><f n="qfactoryinterface.h" o="root" g="wheel" p="33188"/><f n="qfeatures.h" o="root" g="wheel" p="33188"/><f n="QFile" o="root" g="wheel" p="33188"/><f n="qfile.h" o="root" g="wheel" p="33188"/><f n="QFileInfo" o="root" g="wheel" p="33188"/><f n="qfileinfo.h" o="root" g="wheel" p="33188"/><f n="QFileInfoList" o="root" g="wheel" p="33188"/><f n="QFileInfoListIterator" o="root" g="wheel" p="33188"/><f n="QFileSystemWatcher" o="root" g="wheel" p="33188"/><f n="qfilesystemwatcher.h" o="root" g="wheel" p="33188"/><f n="QFlag" o="root" g="wheel" p="33188"/><f n="QFlags" o="root" g="wheel" p="33188"/><f n="QForeachContainer" o="root" g="wheel" p="33188"/><f n="QForeachContainerBase" o="root" g="wheel" p="33188"/><f n="QFSFileEngine" o="root" g="wheel" p="33188"/><f n="qfsfileengine.h" o="root" g="wheel" p="33188"/><f n="QFuture" o="root" g="wheel" p="33188"/><f n="qfuture.h" o="root" g="wheel" p="33188"/><f n="QFutureInterface" o="root" g="wheel" p="33188"/><f n="qfutureinterface.h" o="root" g="wheel" p="33188"/><f n="QFutureInterfaceBase" o="root" g="wheel" p="33188"/><f n="QFutureIterator" o="root" g="wheel" p="33188"/><f n="QFutureSynchronizer" o="root" g="wheel" p="33188"/><f n="qfuturesynchronizer.h" o="root" g="wheel" p="33188"/><f n="QFutureWatcher" o="root" g="wheel" p="33188"/><f n="qfuturewatcher.h" o="root" g="wheel" p="33188"/><f n="QFutureWatcherBase" o="root" g="wheel" p="33188"/><f n="QGenericArgument" o="root" g="wheel" p="33188"/><f n="QGenericReturnArgument" o="root" g="wheel" p="33188"/><f n="qglobal.h" o="root" g="wheel" p="33188"/><f n="QGlobalStatic" o="root" g="wheel" p="33188"/><f n="QGlobalStaticDeleter" o="root" g="wheel" p="33188"/><f n="QHash" o="root" g="wheel" p="33188"/><f n="qhash.h" o="root" g="wheel" p="33188"/><f n="QHashData" o="root" g="wheel" p="33188"/><f n="QHashDummyNode" o="root" g="wheel" p="33188"/><f n="QHashDummyValue" o="root" g="wheel" p="33188"/><f n="QHashIterator" o="root" g="wheel" p="33188"/><f n="QHashNode" o="root" g="wheel" p="33188"/><f n="QIncompatibleFlag" o="root" g="wheel" p="33188"/><f n="QInternal" o="root" g="wheel" p="33188"/><f n="QIntForSize" o="root" g="wheel" p="33188"/><f n="QIntForType" o="root" g="wheel" p="33188"/><f n="QIODevice" o="root" g="wheel" p="33188"/><f n="qiodevice.h" o="root" g="wheel" p="33188"/><f n="qiterator.h" o="root" g="wheel" p="33188"/><f n="QLatin1Char" o="root" g="wheel" p="33188"/><f n="QLatin1String" o="root" g="wheel" p="33188"/><f n="QLibrary" o="root" g="wheel" p="33188"/><f n="qlibrary.h" o="root" g="wheel" p="33188"/><f n="QLibraryInfo" o="root" g="wheel" p="33188"/><f n="qlibraryinfo.h" o="root" g="wheel" p="33188"/><f n="QLine" o="root" g="wheel" p="33188"/><f n="qline.h" o="root" g="wheel" p="33188"/><f n="QLineF" o="root" g="wheel" p="33188"/><f n="QLinkedList" o="root" g="wheel" p="33188"/><f n="qlinkedlist.h" o="root" g="wheel" p="33188"/><f n="QLinkedListData" o="root" g="wheel" p="33188"/><f n="QLinkedListIterator" o="root" g="wheel" p="33188"/><f n="QLinkedListNode" o="root" g="wheel" p="33188"/><f n="QList" o="root" g="wheel" p="33188"/><f n="qlist.h" o="root" g="wheel" p="33188"/><f n="QListData" o="root" g="wheel" p="33188"/><f n="QListIterator" o="root" g="wheel" p="33188"/><f n="QLocale" o="root" g="wheel" p="33188"/><f n="qlocale.h" o="root" g="wheel" p="33188"/><f n="QMap" o="root" g="wheel" p="33188"/><f n="qmap.h" o="root" g="wheel" p="33188"/><f n="QMapData" o="root" g="wheel" p="33188"/><f n="QMapIterator" o="root" g="wheel" p="33188"/><f n="QMapNode" o="root" g="wheel" p="33188"/><f n="QMapPayloadNode" o="root" g="wheel" p="33188"/><f n="qmath.h" o="root" g="wheel" p="33188"/><f n="QMetaClassInfo" o="root" g="wheel" p="33188"/><f n="QMetaEnum" o="root" g="wheel" p="33188"/><f n="QMetaMethod" o="root" g="wheel" p="33188"/><f n="QMetaObject" o="root" g="wheel" p="33188"/><f n="qmetaobject.h" o="root" g="wheel" p="33188"/><f n="QMetaObjectExtraData" o="root" g="wheel" p="33188"/><f n="QMetaProperty" o="root" g="wheel" p="33188"/><f n="QMetaType" o="root" g="wheel" p="33188"/><f n="qmetatype.h" o="root" g="wheel" p="33188"/><f n="QMetaTypeId" o="root" g="wheel" p="33188"/><f n="QMetaTypeId2" o="root" g="wheel" p="33188"/><f n="QMimeData" o="root" g="wheel" p="33188"/><f n="qmimedata.h" o="root" g="wheel" p="33188"/><f n="QModelIndex" o="root" g="wheel" p="33188"/><f n="QModelIndexList" o="root" g="wheel" p="33188"/><f n="QMultiHash" o="root" g="wheel" p="33188"/><f n="QMultiMap" o="root" g="wheel" p="33188"/><f n="QMutableFutureIterator" o="root" g="wheel" p="33188"/><f n="QMutableHashIterator" o="root" g="wheel" p="33188"/><f n="QMutableLinkedListIterator" o="root" g="wheel" p="33188"/><f n="QMutableListIterator" o="root" g="wheel" p="33188"/><f n="QMutableMapIterator" o="root" g="wheel" p="33188"/><f n="QMutableSetIterator" o="root" g="wheel" p="33188"/><f n="QMutableStringListIterator" o="root" g="wheel" p="33188"/><f n="QMutableVectorIterator" o="root" g="wheel" p="33188"/><f n="QMutex" o="root" g="wheel" p="33188"/><f n="qmutex.h" o="root" g="wheel" p="33188"/><f n="QMutexLocker" o="root" g="wheel" p="33188"/><f n="qnamespace.h" o="root" g="wheel" p="33188"/><f n="QNoDebug" o="root" g="wheel" p="33188"/><f n="QNoImplicitBoolCast" o="root" g="wheel" p="33188"/><f n="qnumeric.h" o="root" g="wheel" p="33188"/><f n="QObject" o="root" g="wheel" p="33188"/><f n="qobject.h" o="root" g="wheel" p="33188"/><f n="QObjectCleanupHandler" o="root" g="wheel" p="33188"/><f n="qobjectcleanuphandler.h" o="root" g="wheel" p="33188"/><f n="QObjectData" o="root" g="wheel" p="33188"/><f n="qobjectdefs.h" o="root" g="wheel" p="33188"/><f n="QObjectList" o="root" g="wheel" p="33188"/><f n="QObjectUserData" o="root" g="wheel" p="33188"/><f n="QPair" o="root" g="wheel" p="33188"/><f n="qpair.h" o="root" g="wheel" p="33188"/><f n="QPersistentModelIndex" o="root" g="wheel" p="33188"/><f n="qplugin.h" o="root" g="wheel" p="33188"/><f n="QPluginLoader" o="root" g="wheel" p="33188"/><f n="qpluginloader.h" o="root" g="wheel" p="33188"/><f n="QPoint" o="root" g="wheel" p="33188"/><f n="qpoint.h" o="root" g="wheel" p="33188"/><f n="QPointer" o="root" g="wheel" p="33188"/><f n="qpointer.h" o="root" g="wheel" p="33188"/><f n="QPointF" o="root" g="wheel" p="33188"/><f n="QProcess" o="root" g="wheel" p="33188"/><f n="qprocess.h" o="root" g="wheel" p="33188"/><f n="QQueue" o="root" g="wheel" p="33188"/><f n="qqueue.h" o="root" g="wheel" p="33188"/><f n="QReadLocker" o="root" g="wheel" p="33188"/><f n="QReadWriteLock" o="root" g="wheel" p="33188"/><f n="qreadwritelock.h" o="root" g="wheel" p="33188"/><f n="QRect" o="root" g="wheel" p="33188"/><f n="qrect.h" o="root" g="wheel" p="33188"/><f n="QRectF" o="root" g="wheel" p="33188"/><f n="QRegExp" o="root" g="wheel" p="33188"/><f n="qregexp.h" o="root" g="wheel" p="33188"/><f n="QResource" o="root" g="wheel" p="33188"/><f n="qresource.h" o="root" g="wheel" p="33188"/><f n="QReturnArgument" o="root" g="wheel" p="33188"/><f n="QRunnable" o="root" g="wheel" p="33188"/><f n="qrunnable.h" o="root" g="wheel" p="33188"/><f n="QSemaphore" o="root" g="wheel" p="33188"/><f n="qsemaphore.h" o="root" g="wheel" p="33188"/><f n="QSet" o="root" g="wheel" p="33188"/><f n="qset.h" o="root" g="wheel" p="33188"/><f n="QSetIterator" o="root" g="wheel" p="33188"/><f n="QSettings" o="root" g="wheel" p="33188"/><f n="qsettings.h" o="root" g="wheel" p="33188"/><f n="QSharedData" o="root" g="wheel" p="33188"/><f n="qshareddata.h" o="root" g="wheel" p="33188"/><f n="QSharedDataPointer" o="root" g="wheel" p="33188"/><f n="QSharedMemory" o="root" g="wheel" p="33188"/><f n="qsharedmemory.h" o="root" g="wheel" p="33188"/><f n="QSharedPointer" o="root" g="wheel" p="33188"/><f n="qsharedpointer.h" o="root" g="wheel" p="33188"/><f n="qsharedpointer_impl.h" o="root" g="wheel" p="33188"/><f n="QSignalMapper" o="root" g="wheel" p="33188"/><f n="qsignalmapper.h" o="root" g="wheel" p="33188"/><f n="QSize" o="root" g="wheel" p="33188"/><f n="qsize.h" o="root" g="wheel" p="33188"/><f n="QSizeF" o="root" g="wheel" p="33188"/><f n="QSocketNotifier" o="root" g="wheel" p="33188"/><f n="qsocketnotifier.h" o="root" g="wheel" p="33188"/><f n="QStack" o="root" g="wheel" p="33188"/><f n="qstack.h" o="root" g="wheel" p="33188"/><f n="QStdWString" o="root" g="wheel" p="33188"/><f n="QString" o="root" g="wheel" p="33188"/><f n="qstring.h" o="root" g="wheel" p="33188"/><f n="QStringList" o="root" g="wheel" p="33188"/><f n="qstringlist.h" o="root" g="wheel" p="33188"/><f n="QStringListIterator" o="root" g="wheel" p="33188"/><f n="QStringMatcher" o="root" g="wheel" p="33188"/><f n="qstringmatcher.h" o="root" g="wheel" p="33188"/><f n="QStringRef" o="root" g="wheel" p="33188"/><f n="QSysInfo" o="root" g="wheel" p="33188"/><f n="QSystemLocale" o="root" g="wheel" p="33188"/><f n="QSystemSemaphore" o="root" g="wheel" p="33188"/><f n="qsystemsemaphore.h" o="root" g="wheel" p="33188"/><f n="Qt" o="root" g="wheel" p="33188"/><f n="QtAlgorithms" o="root" g="wheel" p="33188"/><f n="QtCleanUpFunction" o="root" g="wheel" p="33188"/><f n="qtconcurrentcompilertest.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentexception.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentFilter" o="root" g="wheel" p="33188"/><f n="qtconcurrentfilter.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentfilterkernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentfunctionwrappers.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentiteratekernel.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentMap" o="root" g="wheel" p="33188"/><f n="qtconcurrentmap.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentmapkernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentmedian.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentreducekernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentresultstore.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentRun" o="root" g="wheel" p="33188"/><f n="qtconcurrentrun.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentrunbase.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentstoredfunctioncall.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentthreadengine.h" o="root" g="wheel" p="33188"/><f n="QtContainerFwd" o="root" g="wheel" p="33188"/><f n="QtCore" o="root" g="wheel" p="33188"/><f n="QtDebug" o="root" g="wheel" p="33188"/><f n="QTemporaryFile" o="root" g="wheel" p="33188"/><f n="qtemporaryfile.h" o="root" g="wheel" p="33188"/><f n="QtEndian" o="root" g="wheel" p="33188"/><f n="QTextBoundaryFinder" o="root" g="wheel" p="33188"/><f n="qtextboundaryfinder.h" o="root" g="wheel" p="33188"/><f n="QTextCodec" o="root" g="wheel" p="33188"/><f n="qtextcodec.h" o="root" g="wheel" p="33188"/><f n="QTextCodecFactoryInterface" o="root" g="wheel" p="33188"/><f n="QTextCodecPlugin" o="root" g="wheel" p="33188"/><f n="qtextcodecplugin.h" o="root" g="wheel" p="33188"/><f n="QTextDecoder" o="root" g="wheel" p="33188"/><f n="QTextEncoder" o="root" g="wheel" p="33188"/><f n="QTextIStream" o="root" g="wheel" p="33188"/><f n="QTextOStream" o="root" g="wheel" p="33188"/><f n="QTextStream" o="root" g="wheel" p="33188"/><f n="qtextstream.h" o="root" g="wheel" p="33188"/><f n="QTextStreamFunction" o="root" g="wheel" p="33188"/><f n="QTextStreamManipulator" o="root" g="wheel" p="33188"/><f n="QtGlobal" o="root" g="wheel" p="33188"/><f n="QThread" o="root" g="wheel" p="33188"/><f n="qthread.h" o="root" g="wheel" p="33188"/><f n="QThreadPool" o="root" g="wheel" p="33188"/><f n="qthreadpool.h" o="root" g="wheel" p="33188"/><f n="QThreadStorage" o="root" g="wheel" p="33188"/><f n="qthreadstorage.h" o="root" g="wheel" p="33188"/><f n="QThreadStorageData" o="root" g="wheel" p="33188"/><f n="QTime" o="root" g="wheel" p="33188"/><f n="QTimeLine" o="root" g="wheel" p="33188"/><f n="qtimeline.h" o="root" g="wheel" p="33188"/><f n="QTimer" o="root" g="wheel" p="33188"/><f n="qtimer.h" o="root" g="wheel" p="33188"/><f n="QTimerEvent" o="root" g="wheel" p="33188"/><f n="QtMsgHandler" o="root" g="wheel" p="33188"/><f n="QtPlugin" o="root" g="wheel" p="33188"/><f n="QtPluginInstanceFunction" o="root" g="wheel" p="33188"/><f n="QTranslator" o="root" g="wheel" p="33188"/><f n="qtranslator.h" o="root" g="wheel" p="33188"/><f n="QTS" o="root" g="wheel" p="33188"/><f n="QTypeInfo" o="root" g="wheel" p="33188"/><f n="QUintForSize" o="root" g="wheel" p="33188"/><f n="QUintForType" o="root" g="wheel" p="33188"/><f n="QUrl" o="root" g="wheel" p="33188"/><f n="qurl.h" o="root" g="wheel" p="33188"/><f n="QUuid" o="root" g="wheel" p="33188"/><f n="quuid.h" o="root" g="wheel" p="33188"/><f n="QVariant" o="root" g="wheel" p="33188"/><f n="qvariant.h" o="root" g="wheel" p="33188"/><f n="QVariantComparisonHelper" o="root" g="wheel" p="33188"/><f n="QVariantHash" o="root" g="wheel" p="33188"/><f n="QVariantList" o="root" g="wheel" p="33188"/><f n="QVariantMap" o="root" g="wheel" p="33188"/><f n="QVarLengthArray" o="root" g="wheel" p="33188"/><f n="qvarlengtharray.h" o="root" g="wheel" p="33188"/><f n="QVector" o="root" g="wheel" p="33188"/><f n="qvector.h" o="root" g="wheel" p="33188"/><f n="QVectorData" o="root" g="wheel" p="33188"/><f n="QVectorIterator" o="root" g="wheel" p="33188"/><f n="QVectorTypedData" o="root" g="wheel" p="33188"/><f n="QWaitCondition" o="root" g="wheel" p="33188"/><f n="qwaitcondition.h" o="root" g="wheel" p="33188"/><f n="QWeakPointer" o="root" g="wheel" p="33188"/><f n="QWriteLocker" o="root" g="wheel" p="33188"/><f n="qxmlstream.h" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttribute" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttributes" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamReader" o="root" g="wheel" p="33188"/><f n="QXmlStreamStringRef" o="root" g="wheel" p="33188"/><f n="QXmlStreamWriter" o="root" g="wheel" p="33188"/></f><f n="QtCore" o="root" g="wheel" p="33261"/><f n="QtCore.prl" o="root" g="wheel" p="33188"/><f n="QtCore_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="Q_INT16" o="root" g="wheel" p="33188"/><f n="Q_INT32" o="root" g="wheel" p="33188"/><f n="Q_INT64" o="root" g="wheel" p="33188"/><f n="Q_INT8" o="root" g="wheel" p="33188"/><f n="Q_LLONG" o="root" g="wheel" p="33188"/><f n="Q_LONG" o="root" g="wheel" p="33188"/><f n="Q_PID" o="root" g="wheel" p="33188"/><f n="Q_UINT16" o="root" g="wheel" p="33188"/><f n="Q_UINT32" o="root" g="wheel" p="33188"/><f n="Q_UINT64" o="root" g="wheel" p="33188"/><f n="Q_UINT8" o="root" g="wheel" p="33188"/><f n="Q_ULLONG" o="root" g="wheel" p="33188"/><f n="Q_ULONG" o="root" g="wheel" p="33188"/><f n="QAbstractEventDispatcher" o="root" g="wheel" p="33188"/><f n="qabstracteventdispatcher.h" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngine" o="root" g="wheel" p="33188"/><f n="qabstractfileengine.h" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngineHandler" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngineIterator" o="root" g="wheel" p="33188"/><f n="QAbstractItemModel" o="root" g="wheel" p="33188"/><f n="qabstractitemmodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractListModel" o="root" g="wheel" p="33188"/><f n="QAbstractTableModel" o="root" g="wheel" p="33188"/><f n="qalgorithms.h" o="root" g="wheel" p="33188"/><f n="QArgument" o="root" g="wheel" p="33188"/><f n="qatomic.h" o="root" g="wheel" p="33188"/><f n="qatomic_alpha.h" o="root" g="wheel" p="33188"/><f n="qatomic_arch.h" o="root" g="wheel" p="33188"/><f n="qatomic_arm.h" o="root" g="wheel" p="33188"/><f n="qatomic_armv6.h" o="root" g="wheel" p="33188"/><f n="qatomic_avr32.h" o="root" g="wheel" p="33188"/><f n="qatomic_bfin.h" o="root" g="wheel" p="33188"/><f n="qatomic_bootstrap.h" o="root" g="wheel" p="33188"/><f n="qatomic_generic.h" o="root" g="wheel" p="33188"/><f n="qatomic_i386.h" o="root" g="wheel" p="33188"/><f n="qatomic_ia64.h" o="root" g="wheel" p="33188"/><f n="qatomic_macosx.h" o="root" g="wheel" p="33188"/><f n="qatomic_mips.h" o="root" g="wheel" p="33188"/><f n="qatomic_parisc.h" o="root" g="wheel" p="33188"/><f n="qatomic_powerpc.h" o="root" g="wheel" p="33188"/><f n="qatomic_s390.h" o="root" g="wheel" p="33188"/><f n="qatomic_sh.h" o="root" g="wheel" p="33188"/><f n="qatomic_sh4a.h" o="root" g="wheel" p="33188"/><f n="qatomic_sparc.h" o="root" g="wheel" p="33188"/><f n="qatomic_x86_64.h" o="root" g="wheel" p="33188"/><f n="QAtomicInt" o="root" g="wheel" p="33188"/><f n="QAtomicPointer" o="root" g="wheel" p="33188"/><f n="qbasicatomic.h" o="root" g="wheel" p="33188"/><f n="QBasicAtomicInt" o="root" g="wheel" p="33188"/><f n="QBasicAtomicPointer" o="root" g="wheel" p="33188"/><f n="QBasicTimer" o="root" g="wheel" p="33188"/><f n="qbasictimer.h" o="root" g="wheel" p="33188"/><f n="QBitArray" o="root" g="wheel" p="33188"/><f n="qbitarray.h" o="root" g="wheel" p="33188"/><f n="QBitRef" o="root" g="wheel" p="33188"/><f n="QBool" o="root" g="wheel" p="33188"/><f n="QBuffer" o="root" g="wheel" p="33188"/><f n="qbuffer.h" o="root" g="wheel" p="33188"/><f n="QByteArray" o="root" g="wheel" p="33188"/><f n="qbytearray.h" o="root" g="wheel" p="33188"/><f n="QByteArrayMatcher" o="root" g="wheel" p="33188"/><f n="qbytearraymatcher.h" o="root" g="wheel" p="33188"/><f n="QByteRef" o="root" g="wheel" p="33188"/><f n="QCache" o="root" g="wheel" p="33188"/><f n="qcache.h" o="root" g="wheel" p="33188"/><f n="QChar" o="root" g="wheel" p="33188"/><f n="qchar.h" o="root" g="wheel" p="33188"/><f n="QCharRef" o="root" g="wheel" p="33188"/><f n="QChildEvent" o="root" g="wheel" p="33188"/><f n="qconfig-dist.h" o="root" g="wheel" p="33188"/><f n="qconfig-large.h" o="root" g="wheel" p="33188"/><f n="qconfig-medium.h" o="root" g="wheel" p="33188"/><f n="qconfig-minimal.h" o="root" g="wheel" p="33188"/><f n="qconfig-small.h" o="root" g="wheel" p="33188"/><f n="qconfig.h" o="root" g="wheel" p="33060"/><f n="QConstString" o="root" g="wheel" p="33188"/><f n="qcontainerfwd.h" o="root" g="wheel" p="33188"/><f n="QCOORD" o="root" g="wheel" p="33188"/><f n="QCoreApplication" o="root" g="wheel" p="33188"/><f n="qcoreapplication.h" o="root" g="wheel" p="33188"/><f n="qcoreevent.h" o="root" g="wheel" p="33188"/><f n="QCryptographicHash" o="root" g="wheel" p="33188"/><f n="qcryptographichash.h" o="root" g="wheel" p="33188"/><f n="QCustomEvent" o="root" g="wheel" p="33188"/><f n="QDataStream" o="root" g="wheel" p="33188"/><f n="qdatastream.h" o="root" g="wheel" p="33188"/><f n="QDate" o="root" g="wheel" p="33188"/><f n="QDateTime" o="root" g="wheel" p="33188"/><f n="qdatetime.h" o="root" g="wheel" p="33188"/><f n="QDebug" o="root" g="wheel" p="33188"/><f n="qdebug.h" o="root" g="wheel" p="33188"/><f n="QDir" o="root" g="wheel" p="33188"/><f n="qdir.h" o="root" g="wheel" p="33188"/><f n="QDirIterator" o="root" g="wheel" p="33188"/><f n="qdiriterator.h" o="root" g="wheel" p="33188"/><f n="QDynamicPropertyChangeEvent" o="root" g="wheel" p="33188"/><f n="qendian.h" o="root" g="wheel" p="33188"/><f n="QEvent" o="root" g="wheel" p="33188"/><f n="QEventLoop" o="root" g="wheel" p="33188"/><f n="qeventloop.h" o="root" g="wheel" p="33188"/><f n="QExplicitlySharedDataPointer" o="root" g="wheel" p="33188"/><f n="QFactoryInterface" o="root" g="wheel" p="33188"/><f n="qfactoryinterface.h" o="root" g="wheel" p="33188"/><f n="qfeatures.h" o="root" g="wheel" p="33188"/><f n="QFile" o="root" g="wheel" p="33188"/><f n="qfile.h" o="root" g="wheel" p="33188"/><f n="QFileInfo" o="root" g="wheel" p="33188"/><f n="qfileinfo.h" o="root" g="wheel" p="33188"/><f n="QFileInfoList" o="root" g="wheel" p="33188"/><f n="QFileInfoListIterator" o="root" g="wheel" p="33188"/><f n="QFileSystemWatcher" o="root" g="wheel" p="33188"/><f n="qfilesystemwatcher.h" o="root" g="wheel" p="33188"/><f n="QFlag" o="root" g="wheel" p="33188"/><f n="QFlags" o="root" g="wheel" p="33188"/><f n="QForeachContainer" o="root" g="wheel" p="33188"/><f n="QForeachContainerBase" o="root" g="wheel" p="33188"/><f n="QFSFileEngine" o="root" g="wheel" p="33188"/><f n="qfsfileengine.h" o="root" g="wheel" p="33188"/><f n="QFuture" o="root" g="wheel" p="33188"/><f n="qfuture.h" o="root" g="wheel" p="33188"/><f n="QFutureInterface" o="root" g="wheel" p="33188"/><f n="qfutureinterface.h" o="root" g="wheel" p="33188"/><f n="QFutureInterfaceBase" o="root" g="wheel" p="33188"/><f n="QFutureIterator" o="root" g="wheel" p="33188"/><f n="QFutureSynchronizer" o="root" g="wheel" p="33188"/><f n="qfuturesynchronizer.h" o="root" g="wheel" p="33188"/><f n="QFutureWatcher" o="root" g="wheel" p="33188"/><f n="qfuturewatcher.h" o="root" g="wheel" p="33188"/><f n="QFutureWatcherBase" o="root" g="wheel" p="33188"/><f n="QGenericArgument" o="root" g="wheel" p="33188"/><f n="QGenericReturnArgument" o="root" g="wheel" p="33188"/><f n="qglobal.h" o="root" g="wheel" p="33188"/><f n="QGlobalStatic" o="root" g="wheel" p="33188"/><f n="QGlobalStaticDeleter" o="root" g="wheel" p="33188"/><f n="QHash" o="root" g="wheel" p="33188"/><f n="qhash.h" o="root" g="wheel" p="33188"/><f n="QHashData" o="root" g="wheel" p="33188"/><f n="QHashDummyNode" o="root" g="wheel" p="33188"/><f n="QHashDummyValue" o="root" g="wheel" p="33188"/><f n="QHashIterator" o="root" g="wheel" p="33188"/><f n="QHashNode" o="root" g="wheel" p="33188"/><f n="QIncompatibleFlag" o="root" g="wheel" p="33188"/><f n="QInternal" o="root" g="wheel" p="33188"/><f n="QIntForSize" o="root" g="wheel" p="33188"/><f n="QIntForType" o="root" g="wheel" p="33188"/><f n="QIODevice" o="root" g="wheel" p="33188"/><f n="qiodevice.h" o="root" g="wheel" p="33188"/><f n="qiterator.h" o="root" g="wheel" p="33188"/><f n="QLatin1Char" o="root" g="wheel" p="33188"/><f n="QLatin1String" o="root" g="wheel" p="33188"/><f n="QLibrary" o="root" g="wheel" p="33188"/><f n="qlibrary.h" o="root" g="wheel" p="33188"/><f n="QLibraryInfo" o="root" g="wheel" p="33188"/><f n="qlibraryinfo.h" o="root" g="wheel" p="33188"/><f n="QLine" o="root" g="wheel" p="33188"/><f n="qline.h" o="root" g="wheel" p="33188"/><f n="QLineF" o="root" g="wheel" p="33188"/><f n="QLinkedList" o="root" g="wheel" p="33188"/><f n="qlinkedlist.h" o="root" g="wheel" p="33188"/><f n="QLinkedListData" o="root" g="wheel" p="33188"/><f n="QLinkedListIterator" o="root" g="wheel" p="33188"/><f n="QLinkedListNode" o="root" g="wheel" p="33188"/><f n="QList" o="root" g="wheel" p="33188"/><f n="qlist.h" o="root" g="wheel" p="33188"/><f n="QListData" o="root" g="wheel" p="33188"/><f n="QListIterator" o="root" g="wheel" p="33188"/><f n="QLocale" o="root" g="wheel" p="33188"/><f n="qlocale.h" o="root" g="wheel" p="33188"/><f n="QMap" o="root" g="wheel" p="33188"/><f n="qmap.h" o="root" g="wheel" p="33188"/><f n="QMapData" o="root" g="wheel" p="33188"/><f n="QMapIterator" o="root" g="wheel" p="33188"/><f n="QMapNode" o="root" g="wheel" p="33188"/><f n="QMapPayloadNode" o="root" g="wheel" p="33188"/><f n="qmath.h" o="root" g="wheel" p="33188"/><f n="QMetaClassInfo" o="root" g="wheel" p="33188"/><f n="QMetaEnum" o="root" g="wheel" p="33188"/><f n="QMetaMethod" o="root" g="wheel" p="33188"/><f n="QMetaObject" o="root" g="wheel" p="33188"/><f n="qmetaobject.h" o="root" g="wheel" p="33188"/><f n="QMetaObjectExtraData" o="root" g="wheel" p="33188"/><f n="QMetaProperty" o="root" g="wheel" p="33188"/><f n="QMetaType" o="root" g="wheel" p="33188"/><f n="qmetatype.h" o="root" g="wheel" p="33188"/><f n="QMetaTypeId" o="root" g="wheel" p="33188"/><f n="QMetaTypeId2" o="root" g="wheel" p="33188"/><f n="QMimeData" o="root" g="wheel" p="33188"/><f n="qmimedata.h" o="root" g="wheel" p="33188"/><f n="QModelIndex" o="root" g="wheel" p="33188"/><f n="QModelIndexList" o="root" g="wheel" p="33188"/><f n="QMultiHash" o="root" g="wheel" p="33188"/><f n="QMultiMap" o="root" g="wheel" p="33188"/><f n="QMutableFutureIterator" o="root" g="wheel" p="33188"/><f n="QMutableHashIterator" o="root" g="wheel" p="33188"/><f n="QMutableLinkedListIterator" o="root" g="wheel" p="33188"/><f n="QMutableListIterator" o="root" g="wheel" p="33188"/><f n="QMutableMapIterator" o="root" g="wheel" p="33188"/><f n="QMutableSetIterator" o="root" g="wheel" p="33188"/><f n="QMutableStringListIterator" o="root" g="wheel" p="33188"/><f n="QMutableVectorIterator" o="root" g="wheel" p="33188"/><f n="QMutex" o="root" g="wheel" p="33188"/><f n="qmutex.h" o="root" g="wheel" p="33188"/><f n="QMutexLocker" o="root" g="wheel" p="33188"/><f n="qnamespace.h" o="root" g="wheel" p="33188"/><f n="QNoDebug" o="root" g="wheel" p="33188"/><f n="QNoImplicitBoolCast" o="root" g="wheel" p="33188"/><f n="qnumeric.h" o="root" g="wheel" p="33188"/><f n="QObject" o="root" g="wheel" p="33188"/><f n="qobject.h" o="root" g="wheel" p="33188"/><f n="QObjectCleanupHandler" o="root" g="wheel" p="33188"/><f n="qobjectcleanuphandler.h" o="root" g="wheel" p="33188"/><f n="QObjectData" o="root" g="wheel" p="33188"/><f n="qobjectdefs.h" o="root" g="wheel" p="33188"/><f n="QObjectList" o="root" g="wheel" p="33188"/><f n="QObjectUserData" o="root" g="wheel" p="33188"/><f n="QPair" o="root" g="wheel" p="33188"/><f n="qpair.h" o="root" g="wheel" p="33188"/><f n="QPersistentModelIndex" o="root" g="wheel" p="33188"/><f n="qplugin.h" o="root" g="wheel" p="33188"/><f n="QPluginLoader" o="root" g="wheel" p="33188"/><f n="qpluginloader.h" o="root" g="wheel" p="33188"/><f n="QPoint" o="root" g="wheel" p="33188"/><f n="qpoint.h" o="root" g="wheel" p="33188"/><f n="QPointer" o="root" g="wheel" p="33188"/><f n="qpointer.h" o="root" g="wheel" p="33188"/><f n="QPointF" o="root" g="wheel" p="33188"/><f n="QProcess" o="root" g="wheel" p="33188"/><f n="qprocess.h" o="root" g="wheel" p="33188"/><f n="QQueue" o="root" g="wheel" p="33188"/><f n="qqueue.h" o="root" g="wheel" p="33188"/><f n="QReadLocker" o="root" g="wheel" p="33188"/><f n="QReadWriteLock" o="root" g="wheel" p="33188"/><f n="qreadwritelock.h" o="root" g="wheel" p="33188"/><f n="QRect" o="root" g="wheel" p="33188"/><f n="qrect.h" o="root" g="wheel" p="33188"/><f n="QRectF" o="root" g="wheel" p="33188"/><f n="QRegExp" o="root" g="wheel" p="33188"/><f n="qregexp.h" o="root" g="wheel" p="33188"/><f n="QResource" o="root" g="wheel" p="33188"/><f n="qresource.h" o="root" g="wheel" p="33188"/><f n="QReturnArgument" o="root" g="wheel" p="33188"/><f n="QRunnable" o="root" g="wheel" p="33188"/><f n="qrunnable.h" o="root" g="wheel" p="33188"/><f n="QSemaphore" o="root" g="wheel" p="33188"/><f n="qsemaphore.h" o="root" g="wheel" p="33188"/><f n="QSet" o="root" g="wheel" p="33188"/><f n="qset.h" o="root" g="wheel" p="33188"/><f n="QSetIterator" o="root" g="wheel" p="33188"/><f n="QSettings" o="root" g="wheel" p="33188"/><f n="qsettings.h" o="root" g="wheel" p="33188"/><f n="QSharedData" o="root" g="wheel" p="33188"/><f n="qshareddata.h" o="root" g="wheel" p="33188"/><f n="QSharedDataPointer" o="root" g="wheel" p="33188"/><f n="QSharedMemory" o="root" g="wheel" p="33188"/><f n="qsharedmemory.h" o="root" g="wheel" p="33188"/><f n="QSharedPointer" o="root" g="wheel" p="33188"/><f n="qsharedpointer.h" o="root" g="wheel" p="33188"/><f n="qsharedpointer_impl.h" o="root" g="wheel" p="33188"/><f n="QSignalMapper" o="root" g="wheel" p="33188"/><f n="qsignalmapper.h" o="root" g="wheel" p="33188"/><f n="QSize" o="root" g="wheel" p="33188"/><f n="qsize.h" o="root" g="wheel" p="33188"/><f n="QSizeF" o="root" g="wheel" p="33188"/><f n="QSocketNotifier" o="root" g="wheel" p="33188"/><f n="qsocketnotifier.h" o="root" g="wheel" p="33188"/><f n="QStack" o="root" g="wheel" p="33188"/><f n="qstack.h" o="root" g="wheel" p="33188"/><f n="QStdWString" o="root" g="wheel" p="33188"/><f n="QString" o="root" g="wheel" p="33188"/><f n="qstring.h" o="root" g="wheel" p="33188"/><f n="QStringList" o="root" g="wheel" p="33188"/><f n="qstringlist.h" o="root" g="wheel" p="33188"/><f n="QStringListIterator" o="root" g="wheel" p="33188"/><f n="QStringMatcher" o="root" g="wheel" p="33188"/><f n="qstringmatcher.h" o="root" g="wheel" p="33188"/><f n="QStringRef" o="root" g="wheel" p="33188"/><f n="QSysInfo" o="root" g="wheel" p="33188"/><f n="QSystemLocale" o="root" g="wheel" p="33188"/><f n="QSystemSemaphore" o="root" g="wheel" p="33188"/><f n="qsystemsemaphore.h" o="root" g="wheel" p="33188"/><f n="Qt" o="root" g="wheel" p="33188"/><f n="QtAlgorithms" o="root" g="wheel" p="33188"/><f n="QtCleanUpFunction" o="root" g="wheel" p="33188"/><f n="qtconcurrentcompilertest.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentexception.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentFilter" o="root" g="wheel" p="33188"/><f n="qtconcurrentfilter.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentfilterkernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentfunctionwrappers.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentiteratekernel.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentMap" o="root" g="wheel" p="33188"/><f n="qtconcurrentmap.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentmapkernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentmedian.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentreducekernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentresultstore.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentRun" o="root" g="wheel" p="33188"/><f n="qtconcurrentrun.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentrunbase.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentstoredfunctioncall.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentthreadengine.h" o="root" g="wheel" p="33188"/><f n="QtContainerFwd" o="root" g="wheel" p="33188"/><f n="QtCore" o="root" g="wheel" p="33188"/><f n="QtDebug" o="root" g="wheel" p="33188"/><f n="QTemporaryFile" o="root" g="wheel" p="33188"/><f n="qtemporaryfile.h" o="root" g="wheel" p="33188"/><f n="QtEndian" o="root" g="wheel" p="33188"/><f n="QTextBoundaryFinder" o="root" g="wheel" p="33188"/><f n="qtextboundaryfinder.h" o="root" g="wheel" p="33188"/><f n="QTextCodec" o="root" g="wheel" p="33188"/><f n="qtextcodec.h" o="root" g="wheel" p="33188"/><f n="QTextCodecFactoryInterface" o="root" g="wheel" p="33188"/><f n="QTextCodecPlugin" o="root" g="wheel" p="33188"/><f n="qtextcodecplugin.h" o="root" g="wheel" p="33188"/><f n="QTextDecoder" o="root" g="wheel" p="33188"/><f n="QTextEncoder" o="root" g="wheel" p="33188"/><f n="QTextIStream" o="root" g="wheel" p="33188"/><f n="QTextOStream" o="root" g="wheel" p="33188"/><f n="QTextStream" o="root" g="wheel" p="33188"/><f n="qtextstream.h" o="root" g="wheel" p="33188"/><f n="QTextStreamFunction" o="root" g="wheel" p="33188"/><f n="QTextStreamManipulator" o="root" g="wheel" p="33188"/><f n="QtGlobal" o="root" g="wheel" p="33188"/><f n="QThread" o="root" g="wheel" p="33188"/><f n="qthread.h" o="root" g="wheel" p="33188"/><f n="QThreadPool" o="root" g="wheel" p="33188"/><f n="qthreadpool.h" o="root" g="wheel" p="33188"/><f n="QThreadStorage" o="root" g="wheel" p="33188"/><f n="qthreadstorage.h" o="root" g="wheel" p="33188"/><f n="QThreadStorageData" o="root" g="wheel" p="33188"/><f n="QTime" o="root" g="wheel" p="33188"/><f n="QTimeLine" o="root" g="wheel" p="33188"/><f n="qtimeline.h" o="root" g="wheel" p="33188"/><f n="QTimer" o="root" g="wheel" p="33188"/><f n="qtimer.h" o="root" g="wheel" p="33188"/><f n="QTimerEvent" o="root" g="wheel" p="33188"/><f n="QtMsgHandler" o="root" g="wheel" p="33188"/><f n="QtPlugin" o="root" g="wheel" p="33188"/><f n="QtPluginInstanceFunction" o="root" g="wheel" p="33188"/><f n="QTranslator" o="root" g="wheel" p="33188"/><f n="qtranslator.h" o="root" g="wheel" p="33188"/><f n="QTS" o="root" g="wheel" p="33188"/><f n="QTypeInfo" o="root" g="wheel" p="33188"/><f n="QUintForSize" o="root" g="wheel" p="33188"/><f n="QUintForType" o="root" g="wheel" p="33188"/><f n="QUrl" o="root" g="wheel" p="33188"/><f n="qurl.h" o="root" g="wheel" p="33188"/><f n="QUuid" o="root" g="wheel" p="33188"/><f n="quuid.h" o="root" g="wheel" p="33188"/><f n="QVariant" o="root" g="wheel" p="33188"/><f n="qvariant.h" o="root" g="wheel" p="33188"/><f n="QVariantComparisonHelper" o="root" g="wheel" p="33188"/><f n="QVariantHash" o="root" g="wheel" p="33188"/><f n="QVariantList" o="root" g="wheel" p="33188"/><f n="QVariantMap" o="root" g="wheel" p="33188"/><f n="QVarLengthArray" o="root" g="wheel" p="33188"/><f n="qvarlengtharray.h" o="root" g="wheel" p="33188"/><f n="QVector" o="root" g="wheel" p="33188"/><f n="qvector.h" o="root" g="wheel" p="33188"/><f n="QVectorData" o="root" g="wheel" p="33188"/><f n="QVectorIterator" o="root" g="wheel" p="33188"/><f n="QVectorTypedData" o="root" g="wheel" p="33188"/><f n="QWaitCondition" o="root" g="wheel" p="33188"/><f n="qwaitcondition.h" o="root" g="wheel" p="33188"/><f n="QWeakPointer" o="root" g="wheel" p="33188"/><f n="QWriteLocker" o="root" g="wheel" p="33188"/><f n="qxmlstream.h" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttribute" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttributes" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamReader" o="root" g="wheel" p="33188"/><f n="QXmlStreamStringRef" o="root" g="wheel" p="33188"/><f n="QXmlStreamWriter" o="root" g="wheel" p="33188"/></f><f n="QtCore" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="Q_INT16" o="root" g="wheel" p="33188"/><f n="Q_INT32" o="root" g="wheel" p="33188"/><f n="Q_INT64" o="root" g="wheel" p="33188"/><f n="Q_INT8" o="root" g="wheel" p="33188"/><f n="Q_LLONG" o="root" g="wheel" p="33188"/><f n="Q_LONG" o="root" g="wheel" p="33188"/><f n="Q_PID" o="root" g="wheel" p="33188"/><f n="Q_UINT16" o="root" g="wheel" p="33188"/><f n="Q_UINT32" o="root" g="wheel" p="33188"/><f n="Q_UINT64" o="root" g="wheel" p="33188"/><f n="Q_UINT8" o="root" g="wheel" p="33188"/><f n="Q_ULLONG" o="root" g="wheel" p="33188"/><f n="Q_ULONG" o="root" g="wheel" p="33188"/><f n="QAbstractEventDispatcher" o="root" g="wheel" p="33188"/><f n="qabstracteventdispatcher.h" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngine" o="root" g="wheel" p="33188"/><f n="qabstractfileengine.h" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngineHandler" o="root" g="wheel" p="33188"/><f n="QAbstractFileEngineIterator" o="root" g="wheel" p="33188"/><f n="QAbstractItemModel" o="root" g="wheel" p="33188"/><f n="qabstractitemmodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractListModel" o="root" g="wheel" p="33188"/><f n="QAbstractTableModel" o="root" g="wheel" p="33188"/><f n="qalgorithms.h" o="root" g="wheel" p="33188"/><f n="QArgument" o="root" g="wheel" p="33188"/><f n="qatomic.h" o="root" g="wheel" p="33188"/><f n="qatomic_alpha.h" o="root" g="wheel" p="33188"/><f n="qatomic_arch.h" o="root" g="wheel" p="33188"/><f n="qatomic_arm.h" o="root" g="wheel" p="33188"/><f n="qatomic_armv6.h" o="root" g="wheel" p="33188"/><f n="qatomic_avr32.h" o="root" g="wheel" p="33188"/><f n="qatomic_bfin.h" o="root" g="wheel" p="33188"/><f n="qatomic_bootstrap.h" o="root" g="wheel" p="33188"/><f n="qatomic_generic.h" o="root" g="wheel" p="33188"/><f n="qatomic_i386.h" o="root" g="wheel" p="33188"/><f n="qatomic_ia64.h" o="root" g="wheel" p="33188"/><f n="qatomic_macosx.h" o="root" g="wheel" p="33188"/><f n="qatomic_mips.h" o="root" g="wheel" p="33188"/><f n="qatomic_parisc.h" o="root" g="wheel" p="33188"/><f n="qatomic_powerpc.h" o="root" g="wheel" p="33188"/><f n="qatomic_s390.h" o="root" g="wheel" p="33188"/><f n="qatomic_sh.h" o="root" g="wheel" p="33188"/><f n="qatomic_sh4a.h" o="root" g="wheel" p="33188"/><f n="qatomic_sparc.h" o="root" g="wheel" p="33188"/><f n="qatomic_x86_64.h" o="root" g="wheel" p="33188"/><f n="QAtomicInt" o="root" g="wheel" p="33188"/><f n="QAtomicPointer" o="root" g="wheel" p="33188"/><f n="qbasicatomic.h" o="root" g="wheel" p="33188"/><f n="QBasicAtomicInt" o="root" g="wheel" p="33188"/><f n="QBasicAtomicPointer" o="root" g="wheel" p="33188"/><f n="QBasicTimer" o="root" g="wheel" p="33188"/><f n="qbasictimer.h" o="root" g="wheel" p="33188"/><f n="QBitArray" o="root" g="wheel" p="33188"/><f n="qbitarray.h" o="root" g="wheel" p="33188"/><f n="QBitRef" o="root" g="wheel" p="33188"/><f n="QBool" o="root" g="wheel" p="33188"/><f n="QBuffer" o="root" g="wheel" p="33188"/><f n="qbuffer.h" o="root" g="wheel" p="33188"/><f n="QByteArray" o="root" g="wheel" p="33188"/><f n="qbytearray.h" o="root" g="wheel" p="33188"/><f n="QByteArrayMatcher" o="root" g="wheel" p="33188"/><f n="qbytearraymatcher.h" o="root" g="wheel" p="33188"/><f n="QByteRef" o="root" g="wheel" p="33188"/><f n="QCache" o="root" g="wheel" p="33188"/><f n="qcache.h" o="root" g="wheel" p="33188"/><f n="QChar" o="root" g="wheel" p="33188"/><f n="qchar.h" o="root" g="wheel" p="33188"/><f n="QCharRef" o="root" g="wheel" p="33188"/><f n="QChildEvent" o="root" g="wheel" p="33188"/><f n="qconfig-dist.h" o="root" g="wheel" p="33188"/><f n="qconfig-large.h" o="root" g="wheel" p="33188"/><f n="qconfig-medium.h" o="root" g="wheel" p="33188"/><f n="qconfig-minimal.h" o="root" g="wheel" p="33188"/><f n="qconfig-small.h" o="root" g="wheel" p="33188"/><f n="qconfig.h" o="root" g="wheel" p="33060"/><f n="QConstString" o="root" g="wheel" p="33188"/><f n="qcontainerfwd.h" o="root" g="wheel" p="33188"/><f n="QCOORD" o="root" g="wheel" p="33188"/><f n="QCoreApplication" o="root" g="wheel" p="33188"/><f n="qcoreapplication.h" o="root" g="wheel" p="33188"/><f n="qcoreevent.h" o="root" g="wheel" p="33188"/><f n="QCryptographicHash" o="root" g="wheel" p="33188"/><f n="qcryptographichash.h" o="root" g="wheel" p="33188"/><f n="QCustomEvent" o="root" g="wheel" p="33188"/><f n="QDataStream" o="root" g="wheel" p="33188"/><f n="qdatastream.h" o="root" g="wheel" p="33188"/><f n="QDate" o="root" g="wheel" p="33188"/><f n="QDateTime" o="root" g="wheel" p="33188"/><f n="qdatetime.h" o="root" g="wheel" p="33188"/><f n="QDebug" o="root" g="wheel" p="33188"/><f n="qdebug.h" o="root" g="wheel" p="33188"/><f n="QDir" o="root" g="wheel" p="33188"/><f n="qdir.h" o="root" g="wheel" p="33188"/><f n="QDirIterator" o="root" g="wheel" p="33188"/><f n="qdiriterator.h" o="root" g="wheel" p="33188"/><f n="QDynamicPropertyChangeEvent" o="root" g="wheel" p="33188"/><f n="qendian.h" o="root" g="wheel" p="33188"/><f n="QEvent" o="root" g="wheel" p="33188"/><f n="QEventLoop" o="root" g="wheel" p="33188"/><f n="qeventloop.h" o="root" g="wheel" p="33188"/><f n="QExplicitlySharedDataPointer" o="root" g="wheel" p="33188"/><f n="QFactoryInterface" o="root" g="wheel" p="33188"/><f n="qfactoryinterface.h" o="root" g="wheel" p="33188"/><f n="qfeatures.h" o="root" g="wheel" p="33188"/><f n="QFile" o="root" g="wheel" p="33188"/><f n="qfile.h" o="root" g="wheel" p="33188"/><f n="QFileInfo" o="root" g="wheel" p="33188"/><f n="qfileinfo.h" o="root" g="wheel" p="33188"/><f n="QFileInfoList" o="root" g="wheel" p="33188"/><f n="QFileInfoListIterator" o="root" g="wheel" p="33188"/><f n="QFileSystemWatcher" o="root" g="wheel" p="33188"/><f n="qfilesystemwatcher.h" o="root" g="wheel" p="33188"/><f n="QFlag" o="root" g="wheel" p="33188"/><f n="QFlags" o="root" g="wheel" p="33188"/><f n="QForeachContainer" o="root" g="wheel" p="33188"/><f n="QForeachContainerBase" o="root" g="wheel" p="33188"/><f n="QFSFileEngine" o="root" g="wheel" p="33188"/><f n="qfsfileengine.h" o="root" g="wheel" p="33188"/><f n="QFuture" o="root" g="wheel" p="33188"/><f n="qfuture.h" o="root" g="wheel" p="33188"/><f n="QFutureInterface" o="root" g="wheel" p="33188"/><f n="qfutureinterface.h" o="root" g="wheel" p="33188"/><f n="QFutureInterfaceBase" o="root" g="wheel" p="33188"/><f n="QFutureIterator" o="root" g="wheel" p="33188"/><f n="QFutureSynchronizer" o="root" g="wheel" p="33188"/><f n="qfuturesynchronizer.h" o="root" g="wheel" p="33188"/><f n="QFutureWatcher" o="root" g="wheel" p="33188"/><f n="qfuturewatcher.h" o="root" g="wheel" p="33188"/><f n="QFutureWatcherBase" o="root" g="wheel" p="33188"/><f n="QGenericArgument" o="root" g="wheel" p="33188"/><f n="QGenericReturnArgument" o="root" g="wheel" p="33188"/><f n="qglobal.h" o="root" g="wheel" p="33188"/><f n="QGlobalStatic" o="root" g="wheel" p="33188"/><f n="QGlobalStaticDeleter" o="root" g="wheel" p="33188"/><f n="QHash" o="root" g="wheel" p="33188"/><f n="qhash.h" o="root" g="wheel" p="33188"/><f n="QHashData" o="root" g="wheel" p="33188"/><f n="QHashDummyNode" o="root" g="wheel" p="33188"/><f n="QHashDummyValue" o="root" g="wheel" p="33188"/><f n="QHashIterator" o="root" g="wheel" p="33188"/><f n="QHashNode" o="root" g="wheel" p="33188"/><f n="QIncompatibleFlag" o="root" g="wheel" p="33188"/><f n="QInternal" o="root" g="wheel" p="33188"/><f n="QIntForSize" o="root" g="wheel" p="33188"/><f n="QIntForType" o="root" g="wheel" p="33188"/><f n="QIODevice" o="root" g="wheel" p="33188"/><f n="qiodevice.h" o="root" g="wheel" p="33188"/><f n="qiterator.h" o="root" g="wheel" p="33188"/><f n="QLatin1Char" o="root" g="wheel" p="33188"/><f n="QLatin1String" o="root" g="wheel" p="33188"/><f n="QLibrary" o="root" g="wheel" p="33188"/><f n="qlibrary.h" o="root" g="wheel" p="33188"/><f n="QLibraryInfo" o="root" g="wheel" p="33188"/><f n="qlibraryinfo.h" o="root" g="wheel" p="33188"/><f n="QLine" o="root" g="wheel" p="33188"/><f n="qline.h" o="root" g="wheel" p="33188"/><f n="QLineF" o="root" g="wheel" p="33188"/><f n="QLinkedList" o="root" g="wheel" p="33188"/><f n="qlinkedlist.h" o="root" g="wheel" p="33188"/><f n="QLinkedListData" o="root" g="wheel" p="33188"/><f n="QLinkedListIterator" o="root" g="wheel" p="33188"/><f n="QLinkedListNode" o="root" g="wheel" p="33188"/><f n="QList" o="root" g="wheel" p="33188"/><f n="qlist.h" o="root" g="wheel" p="33188"/><f n="QListData" o="root" g="wheel" p="33188"/><f n="QListIterator" o="root" g="wheel" p="33188"/><f n="QLocale" o="root" g="wheel" p="33188"/><f n="qlocale.h" o="root" g="wheel" p="33188"/><f n="QMap" o="root" g="wheel" p="33188"/><f n="qmap.h" o="root" g="wheel" p="33188"/><f n="QMapData" o="root" g="wheel" p="33188"/><f n="QMapIterator" o="root" g="wheel" p="33188"/><f n="QMapNode" o="root" g="wheel" p="33188"/><f n="QMapPayloadNode" o="root" g="wheel" p="33188"/><f n="qmath.h" o="root" g="wheel" p="33188"/><f n="QMetaClassInfo" o="root" g="wheel" p="33188"/><f n="QMetaEnum" o="root" g="wheel" p="33188"/><f n="QMetaMethod" o="root" g="wheel" p="33188"/><f n="QMetaObject" o="root" g="wheel" p="33188"/><f n="qmetaobject.h" o="root" g="wheel" p="33188"/><f n="QMetaObjectExtraData" o="root" g="wheel" p="33188"/><f n="QMetaProperty" o="root" g="wheel" p="33188"/><f n="QMetaType" o="root" g="wheel" p="33188"/><f n="qmetatype.h" o="root" g="wheel" p="33188"/><f n="QMetaTypeId" o="root" g="wheel" p="33188"/><f n="QMetaTypeId2" o="root" g="wheel" p="33188"/><f n="QMimeData" o="root" g="wheel" p="33188"/><f n="qmimedata.h" o="root" g="wheel" p="33188"/><f n="QModelIndex" o="root" g="wheel" p="33188"/><f n="QModelIndexList" o="root" g="wheel" p="33188"/><f n="QMultiHash" o="root" g="wheel" p="33188"/><f n="QMultiMap" o="root" g="wheel" p="33188"/><f n="QMutableFutureIterator" o="root" g="wheel" p="33188"/><f n="QMutableHashIterator" o="root" g="wheel" p="33188"/><f n="QMutableLinkedListIterator" o="root" g="wheel" p="33188"/><f n="QMutableListIterator" o="root" g="wheel" p="33188"/><f n="QMutableMapIterator" o="root" g="wheel" p="33188"/><f n="QMutableSetIterator" o="root" g="wheel" p="33188"/><f n="QMutableStringListIterator" o="root" g="wheel" p="33188"/><f n="QMutableVectorIterator" o="root" g="wheel" p="33188"/><f n="QMutex" o="root" g="wheel" p="33188"/><f n="qmutex.h" o="root" g="wheel" p="33188"/><f n="QMutexLocker" o="root" g="wheel" p="33188"/><f n="qnamespace.h" o="root" g="wheel" p="33188"/><f n="QNoDebug" o="root" g="wheel" p="33188"/><f n="QNoImplicitBoolCast" o="root" g="wheel" p="33188"/><f n="qnumeric.h" o="root" g="wheel" p="33188"/><f n="QObject" o="root" g="wheel" p="33188"/><f n="qobject.h" o="root" g="wheel" p="33188"/><f n="QObjectCleanupHandler" o="root" g="wheel" p="33188"/><f n="qobjectcleanuphandler.h" o="root" g="wheel" p="33188"/><f n="QObjectData" o="root" g="wheel" p="33188"/><f n="qobjectdefs.h" o="root" g="wheel" p="33188"/><f n="QObjectList" o="root" g="wheel" p="33188"/><f n="QObjectUserData" o="root" g="wheel" p="33188"/><f n="QPair" o="root" g="wheel" p="33188"/><f n="qpair.h" o="root" g="wheel" p="33188"/><f n="QPersistentModelIndex" o="root" g="wheel" p="33188"/><f n="qplugin.h" o="root" g="wheel" p="33188"/><f n="QPluginLoader" o="root" g="wheel" p="33188"/><f n="qpluginloader.h" o="root" g="wheel" p="33188"/><f n="QPoint" o="root" g="wheel" p="33188"/><f n="qpoint.h" o="root" g="wheel" p="33188"/><f n="QPointer" o="root" g="wheel" p="33188"/><f n="qpointer.h" o="root" g="wheel" p="33188"/><f n="QPointF" o="root" g="wheel" p="33188"/><f n="QProcess" o="root" g="wheel" p="33188"/><f n="qprocess.h" o="root" g="wheel" p="33188"/><f n="QQueue" o="root" g="wheel" p="33188"/><f n="qqueue.h" o="root" g="wheel" p="33188"/><f n="QReadLocker" o="root" g="wheel" p="33188"/><f n="QReadWriteLock" o="root" g="wheel" p="33188"/><f n="qreadwritelock.h" o="root" g="wheel" p="33188"/><f n="QRect" o="root" g="wheel" p="33188"/><f n="qrect.h" o="root" g="wheel" p="33188"/><f n="QRectF" o="root" g="wheel" p="33188"/><f n="QRegExp" o="root" g="wheel" p="33188"/><f n="qregexp.h" o="root" g="wheel" p="33188"/><f n="QResource" o="root" g="wheel" p="33188"/><f n="qresource.h" o="root" g="wheel" p="33188"/><f n="QReturnArgument" o="root" g="wheel" p="33188"/><f n="QRunnable" o="root" g="wheel" p="33188"/><f n="qrunnable.h" o="root" g="wheel" p="33188"/><f n="QSemaphore" o="root" g="wheel" p="33188"/><f n="qsemaphore.h" o="root" g="wheel" p="33188"/><f n="QSet" o="root" g="wheel" p="33188"/><f n="qset.h" o="root" g="wheel" p="33188"/><f n="QSetIterator" o="root" g="wheel" p="33188"/><f n="QSettings" o="root" g="wheel" p="33188"/><f n="qsettings.h" o="root" g="wheel" p="33188"/><f n="QSharedData" o="root" g="wheel" p="33188"/><f n="qshareddata.h" o="root" g="wheel" p="33188"/><f n="QSharedDataPointer" o="root" g="wheel" p="33188"/><f n="QSharedMemory" o="root" g="wheel" p="33188"/><f n="qsharedmemory.h" o="root" g="wheel" p="33188"/><f n="QSharedPointer" o="root" g="wheel" p="33188"/><f n="qsharedpointer.h" o="root" g="wheel" p="33188"/><f n="qsharedpointer_impl.h" o="root" g="wheel" p="33188"/><f n="QSignalMapper" o="root" g="wheel" p="33188"/><f n="qsignalmapper.h" o="root" g="wheel" p="33188"/><f n="QSize" o="root" g="wheel" p="33188"/><f n="qsize.h" o="root" g="wheel" p="33188"/><f n="QSizeF" o="root" g="wheel" p="33188"/><f n="QSocketNotifier" o="root" g="wheel" p="33188"/><f n="qsocketnotifier.h" o="root" g="wheel" p="33188"/><f n="QStack" o="root" g="wheel" p="33188"/><f n="qstack.h" o="root" g="wheel" p="33188"/><f n="QStdWString" o="root" g="wheel" p="33188"/><f n="QString" o="root" g="wheel" p="33188"/><f n="qstring.h" o="root" g="wheel" p="33188"/><f n="QStringList" o="root" g="wheel" p="33188"/><f n="qstringlist.h" o="root" g="wheel" p="33188"/><f n="QStringListIterator" o="root" g="wheel" p="33188"/><f n="QStringMatcher" o="root" g="wheel" p="33188"/><f n="qstringmatcher.h" o="root" g="wheel" p="33188"/><f n="QStringRef" o="root" g="wheel" p="33188"/><f n="QSysInfo" o="root" g="wheel" p="33188"/><f n="QSystemLocale" o="root" g="wheel" p="33188"/><f n="QSystemSemaphore" o="root" g="wheel" p="33188"/><f n="qsystemsemaphore.h" o="root" g="wheel" p="33188"/><f n="Qt" o="root" g="wheel" p="33188"/><f n="QtAlgorithms" o="root" g="wheel" p="33188"/><f n="QtCleanUpFunction" o="root" g="wheel" p="33188"/><f n="qtconcurrentcompilertest.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentexception.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentFilter" o="root" g="wheel" p="33188"/><f n="qtconcurrentfilter.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentfilterkernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentfunctionwrappers.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentiteratekernel.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentMap" o="root" g="wheel" p="33188"/><f n="qtconcurrentmap.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentmapkernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentmedian.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentreducekernel.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentresultstore.h" o="root" g="wheel" p="33188"/><f n="QtConcurrentRun" o="root" g="wheel" p="33188"/><f n="qtconcurrentrun.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentrunbase.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentstoredfunctioncall.h" o="root" g="wheel" p="33188"/><f n="qtconcurrentthreadengine.h" o="root" g="wheel" p="33188"/><f n="QtContainerFwd" o="root" g="wheel" p="33188"/><f n="QtCore" o="root" g="wheel" p="33188"/><f n="QtDebug" o="root" g="wheel" p="33188"/><f n="QTemporaryFile" o="root" g="wheel" p="33188"/><f n="qtemporaryfile.h" o="root" g="wheel" p="33188"/><f n="QtEndian" o="root" g="wheel" p="33188"/><f n="QTextBoundaryFinder" o="root" g="wheel" p="33188"/><f n="qtextboundaryfinder.h" o="root" g="wheel" p="33188"/><f n="QTextCodec" o="root" g="wheel" p="33188"/><f n="qtextcodec.h" o="root" g="wheel" p="33188"/><f n="QTextCodecFactoryInterface" o="root" g="wheel" p="33188"/><f n="QTextCodecPlugin" o="root" g="wheel" p="33188"/><f n="qtextcodecplugin.h" o="root" g="wheel" p="33188"/><f n="QTextDecoder" o="root" g="wheel" p="33188"/><f n="QTextEncoder" o="root" g="wheel" p="33188"/><f n="QTextIStream" o="root" g="wheel" p="33188"/><f n="QTextOStream" o="root" g="wheel" p="33188"/><f n="QTextStream" o="root" g="wheel" p="33188"/><f n="qtextstream.h" o="root" g="wheel" p="33188"/><f n="QTextStreamFunction" o="root" g="wheel" p="33188"/><f n="QTextStreamManipulator" o="root" g="wheel" p="33188"/><f n="QtGlobal" o="root" g="wheel" p="33188"/><f n="QThread" o="root" g="wheel" p="33188"/><f n="qthread.h" o="root" g="wheel" p="33188"/><f n="QThreadPool" o="root" g="wheel" p="33188"/><f n="qthreadpool.h" o="root" g="wheel" p="33188"/><f n="QThreadStorage" o="root" g="wheel" p="33188"/><f n="qthreadstorage.h" o="root" g="wheel" p="33188"/><f n="QThreadStorageData" o="root" g="wheel" p="33188"/><f n="QTime" o="root" g="wheel" p="33188"/><f n="QTimeLine" o="root" g="wheel" p="33188"/><f n="qtimeline.h" o="root" g="wheel" p="33188"/><f n="QTimer" o="root" g="wheel" p="33188"/><f n="qtimer.h" o="root" g="wheel" p="33188"/><f n="QTimerEvent" o="root" g="wheel" p="33188"/><f n="QtMsgHandler" o="root" g="wheel" p="33188"/><f n="QtPlugin" o="root" g="wheel" p="33188"/><f n="QtPluginInstanceFunction" o="root" g="wheel" p="33188"/><f n="QTranslator" o="root" g="wheel" p="33188"/><f n="qtranslator.h" o="root" g="wheel" p="33188"/><f n="QTS" o="root" g="wheel" p="33188"/><f n="QTypeInfo" o="root" g="wheel" p="33188"/><f n="QUintForSize" o="root" g="wheel" p="33188"/><f n="QUintForType" o="root" g="wheel" p="33188"/><f n="QUrl" o="root" g="wheel" p="33188"/><f n="qurl.h" o="root" g="wheel" p="33188"/><f n="QUuid" o="root" g="wheel" p="33188"/><f n="quuid.h" o="root" g="wheel" p="33188"/><f n="QVariant" o="root" g="wheel" p="33188"/><f n="qvariant.h" o="root" g="wheel" p="33188"/><f n="QVariantComparisonHelper" o="root" g="wheel" p="33188"/><f n="QVariantHash" o="root" g="wheel" p="33188"/><f n="QVariantList" o="root" g="wheel" p="33188"/><f n="QVariantMap" o="root" g="wheel" p="33188"/><f n="QVarLengthArray" o="root" g="wheel" p="33188"/><f n="qvarlengtharray.h" o="root" g="wheel" p="33188"/><f n="QVector" o="root" g="wheel" p="33188"/><f n="qvector.h" o="root" g="wheel" p="33188"/><f n="QVectorData" o="root" g="wheel" p="33188"/><f n="QVectorIterator" o="root" g="wheel" p="33188"/><f n="QVectorTypedData" o="root" g="wheel" p="33188"/><f n="QWaitCondition" o="root" g="wheel" p="33188"/><f n="qwaitcondition.h" o="root" g="wheel" p="33188"/><f n="QWeakPointer" o="root" g="wheel" p="33188"/><f n="QWriteLocker" o="root" g="wheel" p="33188"/><f n="qxmlstream.h" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttribute" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttributes" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamReader" o="root" g="wheel" p="33188"/><f n="QXmlStreamStringRef" o="root" g="wheel" p="33188"/><f n="QXmlStreamWriter" o="root" g="wheel" p="33188"/></f><f n="QtCore" o="root" g="wheel" p="33261"/></f></f></f><f n="QtCore.la" o="root" g="wheel" p="33188"/><f n="QtDBus.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QDBusAbstractAdaptor" o="root" g="wheel" p="33188"/><f n="qdbusabstractadaptor.h" o="root" g="wheel" p="33188"/><f n="QDBusAbstractInterface" o="root" g="wheel" p="33188"/><f n="qdbusabstractinterface.h" o="root" g="wheel" p="33188"/><f n="QDBusArgument" o="root" g="wheel" p="33188"/><f n="qdbusargument.h" o="root" g="wheel" p="33188"/><f n="QDBusConnection" o="root" g="wheel" p="33188"/><f n="qdbusconnection.h" o="root" g="wheel" p="33188"/><f n="QDBusConnectionInterface" o="root" g="wheel" p="33188"/><f n="qdbusconnectioninterface.h" o="root" g="wheel" p="33188"/><f n="QDBusContext" o="root" g="wheel" p="33188"/><f n="qdbuscontext.h" o="root" g="wheel" p="33188"/><f n="QDBusError" o="root" g="wheel" p="33188"/><f n="qdbuserror.h" o="root" g="wheel" p="33188"/><f n="qdbusextratypes.h" o="root" g="wheel" p="33188"/><f n="QDBusInterface" o="root" g="wheel" p="33188"/><f n="qdbusinterface.h" o="root" g="wheel" p="33188"/><f n="qdbusmacros.h" o="root" g="wheel" p="33188"/><f n="QDBusMessage" o="root" g="wheel" p="33188"/><f n="qdbusmessage.h" o="root" g="wheel" p="33188"/><f n="QDBusMetaType" o="root" g="wheel" p="33188"/><f n="qdbusmetatype.h" o="root" g="wheel" p="33188"/><f n="QDBusObjectPath" o="root" g="wheel" p="33188"/><f n="QDBusPendingCall" o="root" g="wheel" p="33188"/><f n="qdbuspendingcall.h" o="root" g="wheel" p="33188"/><f n="QDBusPendingCallWatcher" o="root" g="wheel" p="33188"/><f n="QDBusPendingReply" o="root" g="wheel" p="33188"/><f n="qdbuspendingreply.h" o="root" g="wheel" p="33188"/><f n="QDBusPendingReplyData" o="root" g="wheel" p="33188"/><f n="QDBusReply" o="root" g="wheel" p="33188"/><f n="qdbusreply.h" o="root" g="wheel" p="33188"/><f n="QDBusServer" o="root" g="wheel" p="33188"/><f n="qdbusserver.h" o="root" g="wheel" p="33188"/><f n="QDBusSignature" o="root" g="wheel" p="33188"/><f n="QDBusVariant" o="root" g="wheel" p="33188"/><f n="QtDBus" o="root" g="wheel" p="33188"/></f><f n="QtDBus" o="root" g="wheel" p="33261"/><f n="QtDBus.prl" o="root" g="wheel" p="33188"/><f n="QtDBus_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QDBusAbstractAdaptor" o="root" g="wheel" p="33188"/><f n="qdbusabstractadaptor.h" o="root" g="wheel" p="33188"/><f n="QDBusAbstractInterface" o="root" g="wheel" p="33188"/><f n="qdbusabstractinterface.h" o="root" g="wheel" p="33188"/><f n="QDBusArgument" o="root" g="wheel" p="33188"/><f n="qdbusargument.h" o="root" g="wheel" p="33188"/><f n="QDBusConnection" o="root" g="wheel" p="33188"/><f n="qdbusconnection.h" o="root" g="wheel" p="33188"/><f n="QDBusConnectionInterface" o="root" g="wheel" p="33188"/><f n="qdbusconnectioninterface.h" o="root" g="wheel" p="33188"/><f n="QDBusContext" o="root" g="wheel" p="33188"/><f n="qdbuscontext.h" o="root" g="wheel" p="33188"/><f n="QDBusError" o="root" g="wheel" p="33188"/><f n="qdbuserror.h" o="root" g="wheel" p="33188"/><f n="qdbusextratypes.h" o="root" g="wheel" p="33188"/><f n="QDBusInterface" o="root" g="wheel" p="33188"/><f n="qdbusinterface.h" o="root" g="wheel" p="33188"/><f n="qdbusmacros.h" o="root" g="wheel" p="33188"/><f n="QDBusMessage" o="root" g="wheel" p="33188"/><f n="qdbusmessage.h" o="root" g="wheel" p="33188"/><f n="QDBusMetaType" o="root" g="wheel" p="33188"/><f n="qdbusmetatype.h" o="root" g="wheel" p="33188"/><f n="QDBusObjectPath" o="root" g="wheel" p="33188"/><f n="QDBusPendingCall" o="root" g="wheel" p="33188"/><f n="qdbuspendingcall.h" o="root" g="wheel" p="33188"/><f n="QDBusPendingCallWatcher" o="root" g="wheel" p="33188"/><f n="QDBusPendingReply" o="root" g="wheel" p="33188"/><f n="qdbuspendingreply.h" o="root" g="wheel" p="33188"/><f n="QDBusPendingReplyData" o="root" g="wheel" p="33188"/><f n="QDBusReply" o="root" g="wheel" p="33188"/><f n="qdbusreply.h" o="root" g="wheel" p="33188"/><f n="QDBusServer" o="root" g="wheel" p="33188"/><f n="qdbusserver.h" o="root" g="wheel" p="33188"/><f n="QDBusSignature" o="root" g="wheel" p="33188"/><f n="QDBusVariant" o="root" g="wheel" p="33188"/><f n="QtDBus" o="root" g="wheel" p="33188"/></f><f n="QtDBus" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QDBusAbstractAdaptor" o="root" g="wheel" p="33188"/><f n="qdbusabstractadaptor.h" o="root" g="wheel" p="33188"/><f n="QDBusAbstractInterface" o="root" g="wheel" p="33188"/><f n="qdbusabstractinterface.h" o="root" g="wheel" p="33188"/><f n="QDBusArgument" o="root" g="wheel" p="33188"/><f n="qdbusargument.h" o="root" g="wheel" p="33188"/><f n="QDBusConnection" o="root" g="wheel" p="33188"/><f n="qdbusconnection.h" o="root" g="wheel" p="33188"/><f n="QDBusConnectionInterface" o="root" g="wheel" p="33188"/><f n="qdbusconnectioninterface.h" o="root" g="wheel" p="33188"/><f n="QDBusContext" o="root" g="wheel" p="33188"/><f n="qdbuscontext.h" o="root" g="wheel" p="33188"/><f n="QDBusError" o="root" g="wheel" p="33188"/><f n="qdbuserror.h" o="root" g="wheel" p="33188"/><f n="qdbusextratypes.h" o="root" g="wheel" p="33188"/><f n="QDBusInterface" o="root" g="wheel" p="33188"/><f n="qdbusinterface.h" o="root" g="wheel" p="33188"/><f n="qdbusmacros.h" o="root" g="wheel" p="33188"/><f n="QDBusMessage" o="root" g="wheel" p="33188"/><f n="qdbusmessage.h" o="root" g="wheel" p="33188"/><f n="QDBusMetaType" o="root" g="wheel" p="33188"/><f n="qdbusmetatype.h" o="root" g="wheel" p="33188"/><f n="QDBusObjectPath" o="root" g="wheel" p="33188"/><f n="QDBusPendingCall" o="root" g="wheel" p="33188"/><f n="qdbuspendingcall.h" o="root" g="wheel" p="33188"/><f n="QDBusPendingCallWatcher" o="root" g="wheel" p="33188"/><f n="QDBusPendingReply" o="root" g="wheel" p="33188"/><f n="qdbuspendingreply.h" o="root" g="wheel" p="33188"/><f n="QDBusPendingReplyData" o="root" g="wheel" p="33188"/><f n="QDBusReply" o="root" g="wheel" p="33188"/><f n="qdbusreply.h" o="root" g="wheel" p="33188"/><f n="QDBusServer" o="root" g="wheel" p="33188"/><f n="qdbusserver.h" o="root" g="wheel" p="33188"/><f n="QDBusSignature" o="root" g="wheel" p="33188"/><f n="QDBusVariant" o="root" g="wheel" p="33188"/><f n="QtDBus" o="root" g="wheel" p="33188"/></f><f n="QtDBus" o="root" g="wheel" p="33261"/></f></f></f><f n="QtDBus.la" o="root" g="wheel" p="33188"/><f n="QtDesigner.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="abstractactioneditor.h" o="root" g="wheel" p="33188"/><f n="abstractbrushmanager.h" o="root" g="wheel" p="33188"/><f n="abstractdnditem.h" o="root" g="wheel" p="33188"/><f n="abstractformbuilder.h" o="root" g="wheel" p="33188"/><f n="abstractformeditor.h" o="root" g="wheel" p="33188"/><f n="abstractformeditorplugin.h" o="root" g="wheel" p="33188"/><f n="abstractformwindow.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowcursor.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowmanager.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowtool.h" o="root" g="wheel" p="33188"/><f n="abstracticoncache.h" o="root" g="wheel" p="33188"/><f n="abstractintegration.h" o="root" g="wheel" p="33188"/><f n="abstractlanguage.h" o="root" g="wheel" p="33188"/><f n="abstractmetadatabase.h" o="root" g="wheel" p="33188"/><f n="abstractobjectinspector.h" o="root" g="wheel" p="33188"/><f n="abstractpromotioninterface.h" o="root" g="wheel" p="33188"/><f n="abstractpropertyeditor.h" o="root" g="wheel" p="33188"/><f n="abstractresourcebrowser.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetbox.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetdatabase.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetfactory.h" o="root" g="wheel" p="33188"/><f n="container.h" o="root" g="wheel" p="33188"/><f n="customwidget.h" o="root" g="wheel" p="33188"/><f n="default_extensionfactory.h" o="root" g="wheel" p="33188"/><f n="dynamicpropertysheet.h" o="root" g="wheel" p="33188"/><f n="extension.h" o="root" g="wheel" p="33188"/><f n="extension_global.h" o="root" g="wheel" p="33188"/><f n="extrainfo.h" o="root" g="wheel" p="33188"/><f n="formbuilder.h" o="root" g="wheel" p="33188"/><f n="layoutdecoration.h" o="root" g="wheel" p="33188"/><f n="membersheet.h" o="root" g="wheel" p="33188"/><f n="propertysheet.h" o="root" g="wheel" p="33188"/><f n="QAbstractExtensionFactory" o="root" g="wheel" p="33188"/><f n="QAbstractExtensionManager" o="root" g="wheel" p="33188"/><f n="QAbstractFormBuilder" o="root" g="wheel" p="33188"/><f n="qdesigner_components.h" o="root" g="wheel" p="33188"/><f n="qdesigner_components_global.h" o="root" g="wheel" p="33188"/><f n="QDesignerActionEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerBrushManagerInterface" o="root" g="wheel" p="33188"/><f n="QDesignerComponents" o="root" g="wheel" p="33188"/><f n="QDesignerContainerExtension" o="root" g="wheel" p="33188"/><f n="QDesignerCustomWidgetCollectionInterface" o="root" g="wheel" p="33188"/><f n="QDesignerCustomWidgetInterface" o="root" g="wheel" p="33188"/><f n="QDesignerDnDItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerDynamicPropertySheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerExportWidget" o="root" g="wheel" p="33188"/><f n="qdesignerexportwidget.h" o="root" g="wheel" p="33188"/><f n="QDesignerExtraInfoExtension" o="root" g="wheel" p="33188"/><f n="QDesignerFormEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormEditorPluginInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowCursorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowManagerInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowToolInterface" o="root" g="wheel" p="33188"/><f n="QDesignerIconCacheInterface" o="root" g="wheel" p="33188"/><f n="QDesignerIntegrationInterface" o="root" g="wheel" p="33188"/><f n="QDesignerLanguageExtension" o="root" g="wheel" p="33188"/><f n="QDesignerLayoutDecorationExtension" o="root" g="wheel" p="33188"/><f n="QDesignerMemberSheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerMetaDataBaseInterface" o="root" g="wheel" p="33188"/><f n="QDesignerMetaDataBaseItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerObjectInspectorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPromotionInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPropertyEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPropertySheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerResourceBrowserInterface" o="root" g="wheel" p="33188"/><f n="QDesignerTaskMenuExtension" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetBoxInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetDataBaseInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetDataBaseItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetFactoryInterface" o="root" g="wheel" p="33188"/><f n="QExtensionFactory" o="root" g="wheel" p="33188"/><f n="QExtensionManager" o="root" g="wheel" p="33188"/><f n="qextensionmanager.h" o="root" g="wheel" p="33188"/><f n="QFormBuilder" o="root" g="wheel" p="33188"/><f n="QtDesigner" o="root" g="wheel" p="33188"/><f n="sdk_global.h" o="root" g="wheel" p="33188"/><f n="taskmenu.h" o="root" g="wheel" p="33188"/><f n="uilib_global.h" o="root" g="wheel" p="33188"/></f><f n="QtDesigner" o="root" g="wheel" p="33261"/><f n="QtDesigner.prl" o="root" g="wheel" p="33188"/><f n="QtDesigner_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="abstractactioneditor.h" o="root" g="wheel" p="33188"/><f n="abstractbrushmanager.h" o="root" g="wheel" p="33188"/><f n="abstractdnditem.h" o="root" g="wheel" p="33188"/><f n="abstractformbuilder.h" o="root" g="wheel" p="33188"/><f n="abstractformeditor.h" o="root" g="wheel" p="33188"/><f n="abstractformeditorplugin.h" o="root" g="wheel" p="33188"/><f n="abstractformwindow.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowcursor.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowmanager.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowtool.h" o="root" g="wheel" p="33188"/><f n="abstracticoncache.h" o="root" g="wheel" p="33188"/><f n="abstractintegration.h" o="root" g="wheel" p="33188"/><f n="abstractlanguage.h" o="root" g="wheel" p="33188"/><f n="abstractmetadatabase.h" o="root" g="wheel" p="33188"/><f n="abstractobjectinspector.h" o="root" g="wheel" p="33188"/><f n="abstractpromotioninterface.h" o="root" g="wheel" p="33188"/><f n="abstractpropertyeditor.h" o="root" g="wheel" p="33188"/><f n="abstractresourcebrowser.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetbox.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetdatabase.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetfactory.h" o="root" g="wheel" p="33188"/><f n="container.h" o="root" g="wheel" p="33188"/><f n="customwidget.h" o="root" g="wheel" p="33188"/><f n="default_extensionfactory.h" o="root" g="wheel" p="33188"/><f n="dynamicpropertysheet.h" o="root" g="wheel" p="33188"/><f n="extension.h" o="root" g="wheel" p="33188"/><f n="extension_global.h" o="root" g="wheel" p="33188"/><f n="extrainfo.h" o="root" g="wheel" p="33188"/><f n="formbuilder.h" o="root" g="wheel" p="33188"/><f n="layoutdecoration.h" o="root" g="wheel" p="33188"/><f n="membersheet.h" o="root" g="wheel" p="33188"/><f n="propertysheet.h" o="root" g="wheel" p="33188"/><f n="QAbstractExtensionFactory" o="root" g="wheel" p="33188"/><f n="QAbstractExtensionManager" o="root" g="wheel" p="33188"/><f n="QAbstractFormBuilder" o="root" g="wheel" p="33188"/><f n="qdesigner_components.h" o="root" g="wheel" p="33188"/><f n="qdesigner_components_global.h" o="root" g="wheel" p="33188"/><f n="QDesignerActionEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerBrushManagerInterface" o="root" g="wheel" p="33188"/><f n="QDesignerComponents" o="root" g="wheel" p="33188"/><f n="QDesignerContainerExtension" o="root" g="wheel" p="33188"/><f n="QDesignerCustomWidgetCollectionInterface" o="root" g="wheel" p="33188"/><f n="QDesignerCustomWidgetInterface" o="root" g="wheel" p="33188"/><f n="QDesignerDnDItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerDynamicPropertySheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerExportWidget" o="root" g="wheel" p="33188"/><f n="qdesignerexportwidget.h" o="root" g="wheel" p="33188"/><f n="QDesignerExtraInfoExtension" o="root" g="wheel" p="33188"/><f n="QDesignerFormEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormEditorPluginInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowCursorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowManagerInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowToolInterface" o="root" g="wheel" p="33188"/><f n="QDesignerIconCacheInterface" o="root" g="wheel" p="33188"/><f n="QDesignerIntegrationInterface" o="root" g="wheel" p="33188"/><f n="QDesignerLanguageExtension" o="root" g="wheel" p="33188"/><f n="QDesignerLayoutDecorationExtension" o="root" g="wheel" p="33188"/><f n="QDesignerMemberSheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerMetaDataBaseInterface" o="root" g="wheel" p="33188"/><f n="QDesignerMetaDataBaseItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerObjectInspectorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPromotionInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPropertyEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPropertySheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerResourceBrowserInterface" o="root" g="wheel" p="33188"/><f n="QDesignerTaskMenuExtension" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetBoxInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetDataBaseInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetDataBaseItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetFactoryInterface" o="root" g="wheel" p="33188"/><f n="QExtensionFactory" o="root" g="wheel" p="33188"/><f n="QExtensionManager" o="root" g="wheel" p="33188"/><f n="qextensionmanager.h" o="root" g="wheel" p="33188"/><f n="QFormBuilder" o="root" g="wheel" p="33188"/><f n="QtDesigner" o="root" g="wheel" p="33188"/><f n="sdk_global.h" o="root" g="wheel" p="33188"/><f n="taskmenu.h" o="root" g="wheel" p="33188"/><f n="uilib_global.h" o="root" g="wheel" p="33188"/></f><f n="QtDesigner" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="abstractactioneditor.h" o="root" g="wheel" p="33188"/><f n="abstractbrushmanager.h" o="root" g="wheel" p="33188"/><f n="abstractdnditem.h" o="root" g="wheel" p="33188"/><f n="abstractformbuilder.h" o="root" g="wheel" p="33188"/><f n="abstractformeditor.h" o="root" g="wheel" p="33188"/><f n="abstractformeditorplugin.h" o="root" g="wheel" p="33188"/><f n="abstractformwindow.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowcursor.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowmanager.h" o="root" g="wheel" p="33188"/><f n="abstractformwindowtool.h" o="root" g="wheel" p="33188"/><f n="abstracticoncache.h" o="root" g="wheel" p="33188"/><f n="abstractintegration.h" o="root" g="wheel" p="33188"/><f n="abstractlanguage.h" o="root" g="wheel" p="33188"/><f n="abstractmetadatabase.h" o="root" g="wheel" p="33188"/><f n="abstractobjectinspector.h" o="root" g="wheel" p="33188"/><f n="abstractpromotioninterface.h" o="root" g="wheel" p="33188"/><f n="abstractpropertyeditor.h" o="root" g="wheel" p="33188"/><f n="abstractresourcebrowser.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetbox.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetdatabase.h" o="root" g="wheel" p="33188"/><f n="abstractwidgetfactory.h" o="root" g="wheel" p="33188"/><f n="container.h" o="root" g="wheel" p="33188"/><f n="customwidget.h" o="root" g="wheel" p="33188"/><f n="default_extensionfactory.h" o="root" g="wheel" p="33188"/><f n="dynamicpropertysheet.h" o="root" g="wheel" p="33188"/><f n="extension.h" o="root" g="wheel" p="33188"/><f n="extension_global.h" o="root" g="wheel" p="33188"/><f n="extrainfo.h" o="root" g="wheel" p="33188"/><f n="formbuilder.h" o="root" g="wheel" p="33188"/><f n="layoutdecoration.h" o="root" g="wheel" p="33188"/><f n="membersheet.h" o="root" g="wheel" p="33188"/><f n="propertysheet.h" o="root" g="wheel" p="33188"/><f n="QAbstractExtensionFactory" o="root" g="wheel" p="33188"/><f n="QAbstractExtensionManager" o="root" g="wheel" p="33188"/><f n="QAbstractFormBuilder" o="root" g="wheel" p="33188"/><f n="qdesigner_components.h" o="root" g="wheel" p="33188"/><f n="qdesigner_components_global.h" o="root" g="wheel" p="33188"/><f n="QDesignerActionEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerBrushManagerInterface" o="root" g="wheel" p="33188"/><f n="QDesignerComponents" o="root" g="wheel" p="33188"/><f n="QDesignerContainerExtension" o="root" g="wheel" p="33188"/><f n="QDesignerCustomWidgetCollectionInterface" o="root" g="wheel" p="33188"/><f n="QDesignerCustomWidgetInterface" o="root" g="wheel" p="33188"/><f n="QDesignerDnDItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerDynamicPropertySheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerExportWidget" o="root" g="wheel" p="33188"/><f n="qdesignerexportwidget.h" o="root" g="wheel" p="33188"/><f n="QDesignerExtraInfoExtension" o="root" g="wheel" p="33188"/><f n="QDesignerFormEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormEditorPluginInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowCursorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowManagerInterface" o="root" g="wheel" p="33188"/><f n="QDesignerFormWindowToolInterface" o="root" g="wheel" p="33188"/><f n="QDesignerIconCacheInterface" o="root" g="wheel" p="33188"/><f n="QDesignerIntegrationInterface" o="root" g="wheel" p="33188"/><f n="QDesignerLanguageExtension" o="root" g="wheel" p="33188"/><f n="QDesignerLayoutDecorationExtension" o="root" g="wheel" p="33188"/><f n="QDesignerMemberSheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerMetaDataBaseInterface" o="root" g="wheel" p="33188"/><f n="QDesignerMetaDataBaseItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerObjectInspectorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPromotionInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPropertyEditorInterface" o="root" g="wheel" p="33188"/><f n="QDesignerPropertySheetExtension" o="root" g="wheel" p="33188"/><f n="QDesignerResourceBrowserInterface" o="root" g="wheel" p="33188"/><f n="QDesignerTaskMenuExtension" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetBoxInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetDataBaseInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetDataBaseItemInterface" o="root" g="wheel" p="33188"/><f n="QDesignerWidgetFactoryInterface" o="root" g="wheel" p="33188"/><f n="QExtensionFactory" o="root" g="wheel" p="33188"/><f n="QExtensionManager" o="root" g="wheel" p="33188"/><f n="qextensionmanager.h" o="root" g="wheel" p="33188"/><f n="QFormBuilder" o="root" g="wheel" p="33188"/><f n="QtDesigner" o="root" g="wheel" p="33188"/><f n="sdk_global.h" o="root" g="wheel" p="33188"/><f n="taskmenu.h" o="root" g="wheel" p="33188"/><f n="uilib_global.h" o="root" g="wheel" p="33188"/></f><f n="QtDesigner" o="root" g="wheel" p="33261"/></f></f></f><f n="QtDesignerComponents.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="QtDesignerComponents" o="root" g="wheel" p="33261"/><f n="QtDesignerComponents.prl" o="root" g="wheel" p="33188"/><f n="QtDesignerComponents_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="QtDesignerComponents" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="QtDesignerComponents" o="root" g="wheel" p="33261"/></f></f></f><f n="QtGui.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QAbstractButton" o="root" g="wheel" p="33188"/><f n="qabstractbutton.h" o="root" g="wheel" p="33188"/><f n="QAbstractGraphicsShapeItem" o="root" g="wheel" p="33188"/><f n="QAbstractItemDelegate" o="root" g="wheel" p="33188"/><f n="qabstractitemdelegate.h" o="root" g="wheel" p="33188"/><f n="QAbstractItemView" o="root" g="wheel" p="33188"/><f n="qabstractitemview.h" o="root" g="wheel" p="33188"/><f n="QAbstractPageSetupDialog" o="root" g="wheel" p="33188"/><f n="qabstractpagesetupdialog.h" o="root" g="wheel" p="33188"/><f n="QAbstractPrintDialog" o="root" g="wheel" p="33188"/><f n="qabstractprintdialog.h" o="root" g="wheel" p="33188"/><f n="QAbstractProxyModel" o="root" g="wheel" p="33188"/><f n="qabstractproxymodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractScrollArea" o="root" g="wheel" p="33188"/><f n="qabstractscrollarea.h" o="root" g="wheel" p="33188"/><f n="QAbstractSlider" o="root" g="wheel" p="33188"/><f n="qabstractslider.h" o="root" g="wheel" p="33188"/><f n="QAbstractSpinBox" o="root" g="wheel" p="33188"/><f n="qabstractspinbox.h" o="root" g="wheel" p="33188"/><f n="QAbstractTextDocumentLayout" o="root" g="wheel" p="33188"/><f n="qabstracttextdocumentlayout.h" o="root" g="wheel" p="33188"/><f n="QAbstractUndoItem" o="root" g="wheel" p="33188"/><f n="QAccessible" o="root" g="wheel" p="33188"/><f n="qaccessible.h" o="root" g="wheel" p="33188"/><f n="qaccessible2.h" o="root" g="wheel" p="33188"/><f n="QAccessible2Interface" o="root" g="wheel" p="33188"/><f n="QAccessibleApplication" o="root" g="wheel" p="33188"/><f n="QAccessibleBridge" o="root" g="wheel" p="33188"/><f n="qaccessiblebridge.h" o="root" g="wheel" p="33188"/><f n="QAccessibleBridgeFactoryInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleBridgePlugin" o="root" g="wheel" p="33188"/><f n="QAccessibleEditableTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleEvent" o="root" g="wheel" p="33188"/><f n="QAccessibleFactoryInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleInterfaceEx" o="root" g="wheel" p="33188"/><f n="QAccessibleObject" o="root" g="wheel" p="33188"/><f n="qaccessibleobject.h" o="root" g="wheel" p="33188"/><f n="QAccessibleObjectEx" o="root" g="wheel" p="33188"/><f n="QAccessiblePlugin" o="root" g="wheel" p="33188"/><f n="qaccessibleplugin.h" o="root" g="wheel" p="33188"/><f n="QAccessibleSimpleEditableTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleTableInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleValueInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleWidget" o="root" g="wheel" p="33188"/><f n="qaccessiblewidget.h" o="root" g="wheel" p="33188"/><f n="QAccessibleWidgetEx" o="root" g="wheel" p="33188"/><f n="QAction" o="root" g="wheel" p="33188"/><f n="qaction.h" o="root" g="wheel" p="33188"/><f n="QActionEvent" o="root" g="wheel" p="33188"/><f n="QActionGroup" o="root" g="wheel" p="33188"/><f n="qactiongroup.h" o="root" g="wheel" p="33188"/><f n="QApplication" o="root" g="wheel" p="33188"/><f n="qapplication.h" o="root" g="wheel" p="33188"/><f n="QBitmap" o="root" g="wheel" p="33188"/><f n="qbitmap.h" o="root" g="wheel" p="33188"/><f n="QBoxLayout" o="root" g="wheel" p="33188"/><f n="qboxlayout.h" o="root" g="wheel" p="33188"/><f n="QBrush" o="root" g="wheel" p="33188"/><f n="qbrush.h" o="root" g="wheel" p="33188"/><f n="QBrushData" o="root" g="wheel" p="33188"/><f n="QButtonGroup" o="root" g="wheel" p="33188"/><f n="qbuttongroup.h" o="root" g="wheel" p="33188"/><f n="QCalendarWidget" o="root" g="wheel" p="33188"/><f n="qcalendarwidget.h" o="root" g="wheel" p="33188"/><f n="QCDEStyle" o="root" g="wheel" p="33188"/><f n="qcdestyle.h" o="root" g="wheel" p="33188"/><f n="QCheckBox" o="root" g="wheel" p="33188"/><f n="qcheckbox.h" o="root" g="wheel" p="33188"/><f n="QCleanlooksStyle" o="root" g="wheel" p="33188"/><f n="qcleanlooksstyle.h" o="root" g="wheel" p="33188"/><f n="QClipboard" o="root" g="wheel" p="33188"/><f n="qclipboard.h" o="root" g="wheel" p="33188"/><f n="QClipboardEvent" o="root" g="wheel" p="33188"/><f n="QCloseEvent" o="root" g="wheel" p="33188"/><f n="QColor" o="root" g="wheel" p="33188"/><f n="qcolor.h" o="root" g="wheel" p="33188"/><f n="QColorDialog" o="root" g="wheel" p="33188"/><f n="qcolordialog.h" o="root" g="wheel" p="33188"/><f n="QColorGroup" o="root" g="wheel" p="33188"/><f n="QColormap" o="root" g="wheel" p="33188"/><f n="qcolormap.h" o="root" g="wheel" p="33188"/><f n="QColumnView" o="root" g="wheel" p="33188"/><f n="qcolumnview.h" o="root" g="wheel" p="33188"/><f n="QComboBox" o="root" g="wheel" p="33188"/><f n="qcombobox.h" o="root" g="wheel" p="33188"/><f n="QCommandLinkButton" o="root" g="wheel" p="33188"/><f n="qcommandlinkbutton.h" o="root" g="wheel" p="33188"/><f n="QCommonStyle" o="root" g="wheel" p="33188"/><f n="qcommonstyle.h" o="root" g="wheel" p="33188"/><f n="QCompleter" o="root" g="wheel" p="33188"/><f n="qcompleter.h" o="root" g="wheel" p="33188"/><f n="QConicalGradient" o="root" g="wheel" p="33188"/><f n="QContextMenuEvent" o="root" g="wheel" p="33188"/><f n="QCursor" o="root" g="wheel" p="33188"/><f n="qcursor.h" o="root" g="wheel" p="33188"/><f n="QCursorShape" o="root" g="wheel" p="33188"/><f n="QDataWidgetMapper" o="root" g="wheel" p="33188"/><f n="qdatawidgetmapper.h" o="root" g="wheel" p="33188"/><f n="QDateEdit" o="root" g="wheel" p="33188"/><f n="QDateTimeEdit" o="root" g="wheel" p="33188"/><f n="qdatetimeedit.h" o="root" g="wheel" p="33188"/><f n="QDesktopServices" o="root" g="wheel" p="33188"/><f n="qdesktopservices.h" o="root" g="wheel" p="33188"/><f n="QDesktopWidget" o="root" g="wheel" p="33188"/><f n="qdesktopwidget.h" o="root" g="wheel" p="33188"/><f n="QDial" o="root" g="wheel" p="33188"/><f n="qdial.h" o="root" g="wheel" p="33188"/><f n="QDialog" o="root" g="wheel" p="33188"/><f n="qdialog.h" o="root" g="wheel" p="33188"/><f n="QDialogButtonBox" o="root" g="wheel" p="33188"/><f n="qdialogbuttonbox.h" o="root" g="wheel" p="33188"/><f n="QDirModel" o="root" g="wheel" p="33188"/><f n="qdirmodel.h" o="root" g="wheel" p="33188"/><f n="QDockWidget" o="root" g="wheel" p="33188"/><f n="qdockwidget.h" o="root" g="wheel" p="33188"/><f n="QDoubleSpinBox" o="root" g="wheel" p="33188"/><f n="QDoubleValidator" o="root" g="wheel" p="33188"/><f n="QDrag" o="root" g="wheel" p="33188"/><f n="qdrag.h" o="root" g="wheel" p="33188"/><f n="QDragEnterEvent" o="root" g="wheel" p="33188"/><f n="QDragLeaveEvent" o="root" g="wheel" p="33188"/><f n="QDragMoveEvent" o="root" g="wheel" p="33188"/><f n="QDragResponseEvent" o="root" g="wheel" p="33188"/><f n="qdrawutil.h" o="root" g="wheel" p="33188"/><f n="QDropEvent" o="root" g="wheel" p="33188"/><f n="QErrorMessage" o="root" g="wheel" p="33188"/><f n="qerrormessage.h" o="root" g="wheel" p="33188"/><f n="qevent.h" o="root" g="wheel" p="33188"/><f n="QFileDialog" o="root" g="wheel" p="33188"/><f n="qfiledialog.h" o="root" g="wheel" p="33188"/><f n="QFileIconProvider" o="root" g="wheel" p="33188"/><f n="qfileiconprovider.h" o="root" g="wheel" p="33188"/><f n="QFileOpenEvent" o="root" g="wheel" p="33188"/><f n="QFileSystemModel" o="root" g="wheel" p="33188"/><f n="qfilesystemmodel.h" o="root" g="wheel" p="33188"/><f n="QFocusEvent" o="root" g="wheel" p="33188"/><f n="QFocusFrame" o="root" g="wheel" p="33188"/><f n="qfocusframe.h" o="root" g="wheel" p="33188"/><f n="QFont" o="root" g="wheel" p="33188"/><f n="qfont.h" o="root" g="wheel" p="33188"/><f n="QFontComboBox" o="root" g="wheel" p="33188"/><f n="qfontcombobox.h" o="root" g="wheel" p="33188"/><f n="QFontDatabase" o="root" g="wheel" p="33188"/><f n="qfontdatabase.h" o="root" g="wheel" p="33188"/><f n="QFontDialog" o="root" g="wheel" p="33188"/><f n="qfontdialog.h" o="root" g="wheel" p="33188"/><f n="QFontInfo" o="root" g="wheel" p="33188"/><f n="qfontinfo.h" o="root" g="wheel" p="33188"/><f n="QFontMetrics" o="root" g="wheel" p="33188"/><f n="qfontmetrics.h" o="root" g="wheel" p="33188"/><f n="QFontMetricsF" o="root" g="wheel" p="33188"/><f n="QFormLayout" o="root" g="wheel" p="33188"/><f n="qformlayout.h" o="root" g="wheel" p="33188"/><f n="QFrame" o="root" g="wheel" p="33188"/><f n="qframe.h" o="root" g="wheel" p="33188"/><f n="QGradient" o="root" g="wheel" p="33188"/><f n="QGradientStop" o="root" g="wheel" p="33188"/><f n="QGradientStops" o="root" g="wheel" p="33188"/><f n="QGraphicsEllipseItem" o="root" g="wheel" p="33188"/><f n="QGraphicsGridLayout" o="root" g="wheel" p="33188"/><f n="qgraphicsgridlayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItem" o="root" g="wheel" p="33188"/><f n="qgraphicsitem.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItemAnimation" o="root" g="wheel" p="33188"/><f n="qgraphicsitemanimation.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItemGroup" o="root" g="wheel" p="33188"/><f n="QGraphicsLayout" o="root" g="wheel" p="33188"/><f n="qgraphicslayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLayoutItem" o="root" g="wheel" p="33188"/><f n="qgraphicslayoutitem.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLinearLayout" o="root" g="wheel" p="33188"/><f n="qgraphicslinearlayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLineItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPathItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPixmapItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPolygonItem" o="root" g="wheel" p="33188"/><f n="QGraphicsProxyWidget" o="root" g="wheel" p="33188"/><f n="qgraphicsproxywidget.h" o="root" g="wheel" p="33188"/><f n="QGraphicsRectItem" o="root" g="wheel" p="33188"/><f n="QGraphicsScene" o="root" g="wheel" p="33188"/><f n="qgraphicsscene.h" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneContextMenuEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneDragDropEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneEvent" o="root" g="wheel" p="33188"/><f n="qgraphicssceneevent.h" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneHelpEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneHoverEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneMouseEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneMoveEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneResizeEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneWheelEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSimpleTextItem" o="root" g="wheel" p="33188"/><f n="QGraphicsTextItem" o="root" g="wheel" p="33188"/><f n="QGraphicsView" o="root" g="wheel" p="33188"/><f n="qgraphicsview.h" o="root" g="wheel" p="33188"/><f n="QGraphicsWidget" o="root" g="wheel" p="33188"/><f n="qgraphicswidget.h" o="root" g="wheel" p="33188"/><f n="QGridLayout" o="root" g="wheel" p="33188"/><f n="qgridlayout.h" o="root" g="wheel" p="33188"/><f n="QGroupBox" o="root" g="wheel" p="33188"/><f n="qgroupbox.h" o="root" g="wheel" p="33188"/><f n="QGtkStyle" o="root" g="wheel" p="33188"/><f n="qgtkstyle.h" o="root" g="wheel" p="33188"/><f n="QHBoxLayout" o="root" g="wheel" p="33188"/><f n="QHeaderView" o="root" g="wheel" p="33188"/><f n="qheaderview.h" o="root" g="wheel" p="33188"/><f n="QHelpEvent" o="root" g="wheel" p="33188"/><f n="QHideEvent" o="root" g="wheel" p="33188"/><f n="QHoverEvent" o="root" g="wheel" p="33188"/><f n="QIcon" o="root" g="wheel" p="33188"/><f n="qicon.h" o="root" g="wheel" p="33188"/><f n="QIconDragEvent" o="root" g="wheel" p="33188"/><f n="QIconEngine" o="root" g="wheel" p="33188"/><f n="qiconengine.h" o="root" g="wheel" p="33188"/><f n="QIconEngineFactoryInterface" o="root" g="wheel" p="33188"/><f n="QIconEngineFactoryInterfaceV2" o="root" g="wheel" p="33188"/><f n="QIconEnginePlugin" o="root" g="wheel" p="33188"/><f n="qiconengineplugin.h" o="root" g="wheel" p="33188"/><f n="QIconEnginePluginV2" o="root" g="wheel" p="33188"/><f n="QIconEngineV2" o="root" g="wheel" p="33188"/><f n="QIconSet" o="root" g="wheel" p="33188"/><f n="QImage" o="root" g="wheel" p="33188"/><f n="qimage.h" o="root" g="wheel" p="33188"/><f n="QImageIOHandler" o="root" g="wheel" p="33188"/><f n="qimageiohandler.h" o="root" g="wheel" p="33188"/><f n="QImageIOHandlerFactoryInterface" o="root" g="wheel" p="33188"/><f n="QImageIOPlugin" o="root" g="wheel" p="33188"/><f n="QImageReader" o="root" g="wheel" p="33188"/><f n="qimagereader.h" o="root" g="wheel" p="33188"/><f n="QImageTextKeyLang" o="root" g="wheel" p="33188"/><f n="QImageWriter" o="root" g="wheel" p="33188"/><f n="qimagewriter.h" o="root" g="wheel" p="33188"/><f n="QInputContext" o="root" g="wheel" p="33188"/><f n="qinputcontext.h" o="root" g="wheel" p="33188"/><f n="QInputContextFactory" o="root" g="wheel" p="33188"/><f n="qinputcontextfactory.h" o="root" g="wheel" p="33188"/><f n="QInputContextFactoryInterface" o="root" g="wheel" p="33188"/><f n="QInputContextPlugin" o="root" g="wheel" p="33188"/><f n="qinputcontextplugin.h" o="root" g="wheel" p="33188"/><f n="QInputDialog" o="root" g="wheel" p="33188"/><f n="qinputdialog.h" o="root" g="wheel" p="33188"/><f n="QInputEvent" o="root" g="wheel" p="33188"/><f n="QInputMethodEvent" o="root" g="wheel" p="33188"/><f n="QIntValidator" o="root" g="wheel" p="33188"/><f n="QItemDelegate" o="root" g="wheel" p="33188"/><f n="qitemdelegate.h" o="root" g="wheel" p="33188"/><f n="QItemEditorCreator" o="root" g="wheel" p="33188"/><f n="QItemEditorCreatorBase" o="root" g="wheel" p="33188"/><f n="QItemEditorFactory" o="root" g="wheel" p="33188"/><f n="qitemeditorfactory.h" o="root" g="wheel" p="33188"/><f n="QItemSelection" o="root" g="wheel" p="33188"/><f n="QItemSelectionModel" o="root" g="wheel" p="33188"/><f n="qitemselectionmodel.h" o="root" g="wheel" p="33188"/><f n="QItemSelectionRange" o="root" g="wheel" p="33188"/><f n="QKeyEvent" o="root" g="wheel" p="33188"/><f n="QKeySequence" o="root" g="wheel" p="33188"/><f n="qkeysequence.h" o="root" g="wheel" p="33188"/><f n="QLabel" o="root" g="wheel" p="33188"/><f n="qlabel.h" o="root" g="wheel" p="33188"/><f n="QLayout" o="root" g="wheel" p="33188"/><f n="qlayout.h" o="root" g="wheel" p="33188"/><f n="QLayoutItem" o="root" g="wheel" p="33188"/><f n="qlayoutitem.h" o="root" g="wheel" p="33188"/><f n="QLayoutIterator" o="root" g="wheel" p="33188"/><f n="QLCDNumber" o="root" g="wheel" p="33188"/><f n="qlcdnumber.h" o="root" g="wheel" p="33188"/><f n="QLinearGradient" o="root" g="wheel" p="33188"/><f n="QLineEdit" o="root" g="wheel" p="33188"/><f n="qlineedit.h" o="root" g="wheel" p="33188"/><f n="QListView" o="root" g="wheel" p="33188"/><f n="qlistview.h" o="root" g="wheel" p="33188"/><f n="QListWidget" o="root" g="wheel" p="33188"/><f n="qlistwidget.h" o="root" g="wheel" p="33188"/><f n="QListWidgetItem" o="root" g="wheel" p="33188"/><f n="QMacCocoaViewContainer" o="root" g="wheel" p="33188"/><f n="qmaccocoaviewcontainer_mac.h" o="root" g="wheel" p="33188"/><f n="qmacdefines_mac.h" o="root" g="wheel" p="33188"/><f n="QMacMime" o="root" g="wheel" p="33188"/><f n="QMacNativeWidget" o="root" g="wheel" p="33188"/><f n="qmacnativewidget_mac.h" o="root" g="wheel" p="33188"/><f n="QMacPasteboardMime" o="root" g="wheel" p="33188"/><f n="QMacStyle" o="root" g="wheel" p="33188"/><f n="qmacstyle_mac.h" o="root" g="wheel" p="33188"/><f n="QMainWindow" o="root" g="wheel" p="33188"/><f n="qmainwindow.h" o="root" g="wheel" p="33188"/><f n="QMatrix" o="root" g="wheel" p="33188"/><f n="qmatrix.h" o="root" g="wheel" p="33188"/><f n="QMdiArea" o="root" g="wheel" p="33188"/><f n="qmdiarea.h" o="root" g="wheel" p="33188"/><f n="QMdiSubWindow" o="root" g="wheel" p="33188"/><f n="qmdisubwindow.h" o="root" g="wheel" p="33188"/><f n="QMenu" o="root" g="wheel" p="33188"/><f n="qmenu.h" o="root" g="wheel" p="33188"/><f n="QMenuBar" o="root" g="wheel" p="33188"/><f n="qmenubar.h" o="root" g="wheel" p="33188"/><f n="QMenubarUpdatedEvent" o="root" g="wheel" p="33188"/><f n="qmenudata.h" o="root" g="wheel" p="33188"/><f n="QMenuItem" o="root" g="wheel" p="33188"/><f n="QMessageBox" o="root" g="wheel" p="33188"/><f n="qmessagebox.h" o="root" g="wheel" p="33188"/><f n="qmime.h" o="root" g="wheel" p="33188"/><f n="QMimeSource" o="root" g="wheel" p="33188"/><f n="QMotifStyle" o="root" g="wheel" p="33188"/><f n="qmotifstyle.h" o="root" g="wheel" p="33188"/><f n="QMouseEvent" o="root" g="wheel" p="33188"/><f n="QMoveEvent" o="root" g="wheel" p="33188"/><f n="QMovie" o="root" g="wheel" p="33188"/><f n="qmovie.h" o="root" g="wheel" p="33188"/><f n="QPageSetupDialog" o="root" g="wheel" p="33188"/><f n="qpagesetupdialog.h" o="root" g="wheel" p="33188"/><f n="QPaintDevice" o="root" g="wheel" p="33188"/><f n="qpaintdevice.h" o="root" g="wheel" p="33188"/><f n="QPaintEngine" o="root" g="wheel" p="33188"/><f n="qpaintengine.h" o="root" g="wheel" p="33188"/><f n="QPaintEngineState" o="root" g="wheel" p="33188"/><f n="QPainter" o="root" g="wheel" p="33188"/><f n="qpainter.h" o="root" g="wheel" p="33188"/><f n="QPainterPath" o="root" g="wheel" p="33188"/><f n="qpainterpath.h" o="root" g="wheel" p="33188"/><f n="QPainterPathPrivate" o="root" g="wheel" p="33188"/><f n="QPainterPathStroker" o="root" g="wheel" p="33188"/><f n="QPaintEvent" o="root" g="wheel" p="33188"/><f n="QPalette" o="root" g="wheel" p="33188"/><f n="qpalette.h" o="root" g="wheel" p="33188"/><f n="QPen" o="root" g="wheel" p="33188"/><f n="qpen.h" o="root" g="wheel" p="33188"/><f n="QPicture" o="root" g="wheel" p="33188"/><f n="qpicture.h" o="root" g="wheel" p="33188"/><f n="QPictureFormatInterface" o="root" g="wheel" p="33188"/><f n="QPictureFormatPlugin" o="root" g="wheel" p="33188"/><f n="qpictureformatplugin.h" o="root" g="wheel" p="33188"/><f n="QPictureIO" o="root" g="wheel" p="33188"/><f n="QPixmap" o="root" g="wheel" p="33188"/><f n="qpixmap.h" o="root" g="wheel" p="33188"/><f n="QPixmapCache" o="root" g="wheel" p="33188"/><f n="qpixmapcache.h" o="root" g="wheel" p="33188"/><f n="QPlainTextDocumentLayout" o="root" g="wheel" p="33188"/><f n="QPlainTextEdit" o="root" g="wheel" p="33188"/><f n="qplaintextedit.h" o="root" g="wheel" p="33188"/><f n="QPlastiqueStyle" o="root" g="wheel" p="33188"/><f n="qplastiquestyle.h" o="root" g="wheel" p="33188"/><f n="QPolygon" o="root" g="wheel" p="33188"/><f n="qpolygon.h" o="root" g="wheel" p="33188"/><f n="QPolygonF" o="root" g="wheel" p="33188"/><f n="QPrintDialog" o="root" g="wheel" p="33188"/><f n="qprintdialog.h" o="root" g="wheel" p="33188"/><f n="QPrintEngine" o="root" g="wheel" p="33188"/><f n="qprintengine.h" o="root" g="wheel" p="33188"/><f n="QPrinter" o="root" g="wheel" p="33188"/><f n="qprinter.h" o="root" g="wheel" p="33188"/><f n="QPrinterInfo" o="root" g="wheel" p="33188"/><f n="qprinterinfo.h" o="root" g="wheel" p="33188"/><f n="QPrintPreviewDialog" o="root" g="wheel" p="33188"/><f n="qprintpreviewdialog.h" o="root" g="wheel" p="33188"/><f n="QPrintPreviewWidget" o="root" g="wheel" p="33188"/><f n="qprintpreviewwidget.h" o="root" g="wheel" p="33188"/><f n="QProgressBar" o="root" g="wheel" p="33188"/><f n="qprogressbar.h" o="root" g="wheel" p="33188"/><f n="QProgressDialog" o="root" g="wheel" p="33188"/><f n="qprogressdialog.h" o="root" g="wheel" p="33188"/><f n="QProxyModel" o="root" g="wheel" p="33188"/><f n="qproxymodel.h" o="root" g="wheel" p="33188"/><f n="QPushButton" o="root" g="wheel" p="33188"/><f n="qpushbutton.h" o="root" g="wheel" p="33188"/><f n="QRadialGradient" o="root" g="wheel" p="33188"/><f n="QRadioButton" o="root" g="wheel" p="33188"/><f n="qradiobutton.h" o="root" g="wheel" p="33188"/><f n="QRegExpValidator" o="root" g="wheel" p="33188"/><f n="QRegion" o="root" g="wheel" p="33188"/><f n="qregion.h" o="root" g="wheel" p="33188"/><f n="QResizeEvent" o="root" g="wheel" p="33188"/><f n="QRgb" o="root" g="wheel" p="33188"/><f n="qrgb.h" o="root" g="wheel" p="33188"/><f n="QRubberBand" o="root" g="wheel" p="33188"/><f n="qrubberband.h" o="root" g="wheel" p="33188"/><f n="QScrollArea" o="root" g="wheel" p="33188"/><f n="qscrollarea.h" o="root" g="wheel" p="33188"/><f n="QScrollBar" o="root" g="wheel" p="33188"/><f n="qscrollbar.h" o="root" g="wheel" p="33188"/><f n="QSessionManager" o="root" g="wheel" p="33188"/><f n="qsessionmanager.h" o="root" g="wheel" p="33188"/><f n="QShortcut" o="root" g="wheel" p="33188"/><f n="qshortcut.h" o="root" g="wheel" p="33188"/><f n="QShortcutEvent" o="root" g="wheel" p="33188"/><f n="QShowEvent" o="root" g="wheel" p="33188"/><f n="QSizeGrip" o="root" g="wheel" p="33188"/><f n="qsizegrip.h" o="root" g="wheel" p="33188"/><f n="QSizePolicy" o="root" g="wheel" p="33188"/><f n="qsizepolicy.h" o="root" g="wheel" p="33188"/><f n="QSlider" o="root" g="wheel" p="33188"/><f n="qslider.h" o="root" g="wheel" p="33188"/><f n="QSortFilterProxyModel" o="root" g="wheel" p="33188"/><f n="qsortfilterproxymodel.h" o="root" g="wheel" p="33188"/><f n="QSound" o="root" g="wheel" p="33188"/><f n="qsound.h" o="root" g="wheel" p="33188"/><f n="QSpacerItem" o="root" g="wheel" p="33188"/><f n="QSpinBox" o="root" g="wheel" p="33188"/><f n="qspinbox.h" o="root" g="wheel" p="33188"/><f n="QSplashScreen" o="root" g="wheel" p="33188"/><f n="qsplashscreen.h" o="root" g="wheel" p="33188"/><f n="QSplitter" o="root" g="wheel" p="33188"/><f n="qsplitter.h" o="root" g="wheel" p="33188"/><f n="QSplitterHandle" o="root" g="wheel" p="33188"/><f n="QStackedLayout" o="root" g="wheel" p="33188"/><f n="qstackedlayout.h" o="root" g="wheel" p="33188"/><f n="QStackedWidget" o="root" g="wheel" p="33188"/><f n="qstackedwidget.h" o="root" g="wheel" p="33188"/><f n="QStandardItem" o="root" g="wheel" p="33188"/><f n="QStandardItemEditorCreator" o="root" g="wheel" p="33188"/><f n="QStandardItemModel" o="root" g="wheel" p="33188"/><f n="qstandarditemmodel.h" o="root" g="wheel" p="33188"/><f n="QStatusBar" o="root" g="wheel" p="33188"/><f n="qstatusbar.h" o="root" g="wheel" p="33188"/><f n="QStatusTipEvent" o="root" g="wheel" p="33188"/><f n="QStringListModel" o="root" g="wheel" p="33188"/><f n="qstringlistmodel.h" o="root" g="wheel" p="33188"/><f n="QStyle" o="root" g="wheel" p="33188"/><f n="qstyle.h" o="root" g="wheel" p="33188"/><f n="QStyledItemDelegate" o="root" g="wheel" p="33188"/><f n="qstyleditemdelegate.h" o="root" g="wheel" p="33188"/><f n="QStyleFactory" o="root" g="wheel" p="33188"/><f n="qstylefactory.h" o="root" g="wheel" p="33188"/><f n="QStyleFactoryInterface" o="root" g="wheel" p="33188"/><f n="QStyleHintReturn" o="root" g="wheel" p="33188"/><f n="QStyleHintReturnMask" o="root" g="wheel" p="33188"/><f n="QStyleHintReturnVariant" o="root" g="wheel" p="33188"/><f n="QStyleOption" o="root" g="wheel" p="33188"/><f n="qstyleoption.h" o="root" g="wheel" p="33188"/><f n="QStyleOptionButton" o="root" g="wheel" p="33188"/><f n="QStyleOptionComboBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionComplex" o="root" g="wheel" p="33188"/><f n="QStyleOptionDockWidget" o="root" g="wheel" p="33188"/><f n="QStyleOptionDockWidgetV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionFocusRect" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrame" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrameV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrameV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionGraphicsItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionGroupBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionHeader" o="root" g="wheel" p="33188"/><f n="QStyleOptionMenuItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionProgressBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionProgressBarV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3DockWindow" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3ListView" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3ListViewItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionRubberBand" o="root" g="wheel" p="33188"/><f n="QStyleOptionSizeGrip" o="root" g="wheel" p="33188"/><f n="QStyleOptionSlider" o="root" g="wheel" p="33188"/><f n="QStyleOptionSpinBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionTab" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabBarBase" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabBarBaseV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabWidgetFrame" o="root" g="wheel" p="33188"/><f n="QStyleOptionTitleBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBoxV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolButton" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV4" o="root" g="wheel" p="33188"/><f n="QStylePainter" o="root" g="wheel" p="33188"/><f n="qstylepainter.h" o="root" g="wheel" p="33188"/><f n="QStylePlugin" o="root" g="wheel" p="33188"/><f n="qstyleplugin.h" o="root" g="wheel" p="33188"/><f n="QSyntaxHighlighter" o="root" g="wheel" p="33188"/><f n="qsyntaxhighlighter.h" o="root" g="wheel" p="33188"/><f n="QSystemTrayIcon" o="root" g="wheel" p="33188"/><f n="qsystemtrayicon.h" o="root" g="wheel" p="33188"/><f n="QTabBar" o="root" g="wheel" p="33188"/><f n="qtabbar.h" o="root" g="wheel" p="33188"/><f n="QTabletEvent" o="root" g="wheel" p="33188"/><f n="QTableView" o="root" g="wheel" p="33188"/><f n="qtableview.h" o="root" g="wheel" p="33188"/><f n="QTableWidget" o="root" g="wheel" p="33188"/><f n="qtablewidget.h" o="root" g="wheel" p="33188"/><f n="QTableWidgetItem" o="root" g="wheel" p="33188"/><f n="QTableWidgetSelectionRange" o="root" g="wheel" p="33188"/><f n="QTabWidget" o="root" g="wheel" p="33188"/><f n="qtabwidget.h" o="root" g="wheel" p="33188"/><f n="QtEvents" o="root" g="wheel" p="33188"/><f n="QTextBlock" o="root" g="wheel" p="33188"/><f n="QTextBlockFormat" o="root" g="wheel" p="33188"/><f n="QTextBlockGroup" o="root" g="wheel" p="33188"/><f n="QTextBlockUserData" o="root" g="wheel" p="33188"/><f n="QTextBrowser" o="root" g="wheel" p="33188"/><f n="qtextbrowser.h" o="root" g="wheel" p="33188"/><f n="QTextCharFormat" o="root" g="wheel" p="33188"/><f n="QTextCursor" o="root" g="wheel" p="33188"/><f n="qtextcursor.h" o="root" g="wheel" p="33188"/><f n="QTextDocument" o="root" g="wheel" p="33188"/><f n="qtextdocument.h" o="root" g="wheel" p="33188"/><f n="QTextDocumentFragment" o="root" g="wheel" p="33188"/><f n="qtextdocumentfragment.h" o="root" g="wheel" p="33188"/><f n="QTextDocumentWriter" o="root" g="wheel" p="33188"/><f n="qtextdocumentwriter.h" o="root" g="wheel" p="33188"/><f n="QTextEdit" o="root" g="wheel" p="33188"/><f n="qtextedit.h" o="root" g="wheel" p="33188"/><f n="QTextFormat" o="root" g="wheel" p="33188"/><f n="qtextformat.h" o="root" g="wheel" p="33188"/><f n="QTextFragment" o="root" g="wheel" p="33188"/><f n="QTextFrame" o="root" g="wheel" p="33188"/><f n="QTextFrameFormat" o="root" g="wheel" p="33188"/><f n="QTextFrameLayoutData" o="root" g="wheel" p="33188"/><f n="QTextImageFormat" o="root" g="wheel" p="33188"/><f n="QTextInlineObject" o="root" g="wheel" p="33188"/><f n="QTextItem" o="root" g="wheel" p="33188"/><f n="QTextLayout" o="root" g="wheel" p="33188"/><f n="qtextlayout.h" o="root" g="wheel" p="33188"/><f n="QTextLength" o="root" g="wheel" p="33188"/><f n="QTextLine" o="root" g="wheel" p="33188"/><f n="QTextList" o="root" g="wheel" p="33188"/><f n="qtextlist.h" o="root" g="wheel" p="33188"/><f n="QTextListFormat" o="root" g="wheel" p="33188"/><f n="QTextObject" o="root" g="wheel" p="33188"/><f n="qtextobject.h" o="root" g="wheel" p="33188"/><f n="QTextObjectInterface" o="root" g="wheel" p="33188"/><f n="QTextOption" o="root" g="wheel" p="33188"/><f n="qtextoption.h" o="root" g="wheel" p="33188"/><f n="QTextTable" o="root" g="wheel" p="33188"/><f n="qtexttable.h" o="root" g="wheel" p="33188"/><f n="QTextTableCell" o="root" g="wheel" p="33188"/><f n="QTextTableCellFormat" o="root" g="wheel" p="33188"/><f n="QTextTableFormat" o="root" g="wheel" p="33188"/><f n="QtGui" o="root" g="wheel" p="33188"/><f n="QTimeEdit" o="root" g="wheel" p="33188"/><f n="QToolBar" o="root" g="wheel" p="33188"/><f n="qtoolbar.h" o="root" g="wheel" p="33188"/><f n="QToolBarChangeEvent" o="root" g="wheel" p="33188"/><f n="QToolBox" o="root" g="wheel" p="33188"/><f n="qtoolbox.h" o="root" g="wheel" p="33188"/><f n="QToolButton" o="root" g="wheel" p="33188"/><f n="qtoolbutton.h" o="root" g="wheel" p="33188"/><f n="QToolTip" o="root" g="wheel" p="33188"/><f n="qtooltip.h" o="root" g="wheel" p="33188"/><f n="QTransform" o="root" g="wheel" p="33188"/><f n="qtransform.h" o="root" g="wheel" p="33188"/><f n="QTreeView" o="root" g="wheel" p="33188"/><f n="qtreeview.h" o="root" g="wheel" p="33188"/><f n="QTreeWidget" o="root" g="wheel" p="33188"/><f n="qtreewidget.h" o="root" g="wheel" p="33188"/><f n="QTreeWidgetItem" o="root" g="wheel" p="33188"/><f n="QTreeWidgetItemIterator" o="root" g="wheel" p="33188"/><f n="qtreewidgetitemiterator.h" o="root" g="wheel" p="33188"/><f n="QUndoCommand" o="root" g="wheel" p="33188"/><f n="QUndoGroup" o="root" g="wheel" p="33188"/><f n="qundogroup.h" o="root" g="wheel" p="33188"/><f n="QUndoStack" o="root" g="wheel" p="33188"/><f n="qundostack.h" o="root" g="wheel" p="33188"/><f n="QUndoView" o="root" g="wheel" p="33188"/><f n="qundoview.h" o="root" g="wheel" p="33188"/><f n="QUnixPrintWidget" o="root" g="wheel" p="33188"/><f n="QUpdateLaterEvent" o="root" g="wheel" p="33188"/><f n="QValidator" o="root" g="wheel" p="33188"/><f n="qvalidator.h" o="root" g="wheel" p="33188"/><f n="QVBoxLayout" o="root" g="wheel" p="33188"/><f n="QWhatsThis" o="root" g="wheel" p="33188"/><f n="qwhatsthis.h" o="root" g="wheel" p="33188"/><f n="QWhatsThisClickedEvent" o="root" g="wheel" p="33188"/><f n="QWheelEvent" o="root" g="wheel" p="33188"/><f n="QWidget" o="root" g="wheel" p="33188"/><f n="qwidget.h" o="root" g="wheel" p="33188"/><f n="QWidgetAction" o="root" g="wheel" p="33188"/><f n="qwidgetaction.h" o="root" g="wheel" p="33188"/><f n="QWidgetData" o="root" g="wheel" p="33188"/><f n="QWidgetItem" o="root" g="wheel" p="33188"/><f n="QWidgetItemV2" o="root" g="wheel" p="33188"/><f n="QWidgetList" o="root" g="wheel" p="33188"/><f n="QWidgetMapper" o="root" g="wheel" p="33188"/><f n="QWidgetSet" o="root" g="wheel" p="33188"/><f n="qwindowdefs.h" o="root" g="wheel" p="33188"/><f n="QWindowsCEStyle" o="root" g="wheel" p="33188"/><f n="qwindowscestyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsMime" o="root" g="wheel" p="33188"/><f n="QWindowsMobileStyle" o="root" g="wheel" p="33188"/><f n="qwindowsmobilestyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsStyle" o="root" g="wheel" p="33188"/><f n="qwindowsstyle.h" o="root" g="wheel" p="33188"/><f n="QWindowStateChangeEvent" o="root" g="wheel" p="33188"/><f n="QWindowsVistaStyle" o="root" g="wheel" p="33188"/><f n="qwindowsvistastyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsXPStyle" o="root" g="wheel" p="33188"/><f n="qwindowsxpstyle.h" o="root" g="wheel" p="33188"/><f n="QWizard" o="root" g="wheel" p="33188"/><f n="qwizard.h" o="root" g="wheel" p="33188"/><f n="QWizardPage" o="root" g="wheel" p="33188"/><f n="QWMatrix" o="root" g="wheel" p="33188"/><f n="qwmatrix.h" o="root" g="wheel" p="33188"/><f n="QWorkspace" o="root" g="wheel" p="33188"/><f n="qworkspace.h" o="root" g="wheel" p="33188"/></f><f n="QtGui" o="root" g="wheel" p="33261"/><f n="QtGui.prl" o="root" g="wheel" p="33188"/><f n="QtGui_debug.prl" o="root" g="wheel" p="33188"/><f n="Resources" o="root" g="wheel" p="16877"><f n="qt_menu.nib" o="root" g="wheel" p="16877"><f n="classes.nib" o="root" g="wheel" p="33188"/><f n="info.nib" o="root" g="wheel" p="33188"/><f n="keyedobjects.nib" o="root" g="wheel" p="33188"/></f></f><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QAbstractButton" o="root" g="wheel" p="33188"/><f n="qabstractbutton.h" o="root" g="wheel" p="33188"/><f n="QAbstractGraphicsShapeItem" o="root" g="wheel" p="33188"/><f n="QAbstractItemDelegate" o="root" g="wheel" p="33188"/><f n="qabstractitemdelegate.h" o="root" g="wheel" p="33188"/><f n="QAbstractItemView" o="root" g="wheel" p="33188"/><f n="qabstractitemview.h" o="root" g="wheel" p="33188"/><f n="QAbstractPageSetupDialog" o="root" g="wheel" p="33188"/><f n="qabstractpagesetupdialog.h" o="root" g="wheel" p="33188"/><f n="QAbstractPrintDialog" o="root" g="wheel" p="33188"/><f n="qabstractprintdialog.h" o="root" g="wheel" p="33188"/><f n="QAbstractProxyModel" o="root" g="wheel" p="33188"/><f n="qabstractproxymodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractScrollArea" o="root" g="wheel" p="33188"/><f n="qabstractscrollarea.h" o="root" g="wheel" p="33188"/><f n="QAbstractSlider" o="root" g="wheel" p="33188"/><f n="qabstractslider.h" o="root" g="wheel" p="33188"/><f n="QAbstractSpinBox" o="root" g="wheel" p="33188"/><f n="qabstractspinbox.h" o="root" g="wheel" p="33188"/><f n="QAbstractTextDocumentLayout" o="root" g="wheel" p="33188"/><f n="qabstracttextdocumentlayout.h" o="root" g="wheel" p="33188"/><f n="QAbstractUndoItem" o="root" g="wheel" p="33188"/><f n="QAccessible" o="root" g="wheel" p="33188"/><f n="qaccessible.h" o="root" g="wheel" p="33188"/><f n="qaccessible2.h" o="root" g="wheel" p="33188"/><f n="QAccessible2Interface" o="root" g="wheel" p="33188"/><f n="QAccessibleApplication" o="root" g="wheel" p="33188"/><f n="QAccessibleBridge" o="root" g="wheel" p="33188"/><f n="qaccessiblebridge.h" o="root" g="wheel" p="33188"/><f n="QAccessibleBridgeFactoryInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleBridgePlugin" o="root" g="wheel" p="33188"/><f n="QAccessibleEditableTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleEvent" o="root" g="wheel" p="33188"/><f n="QAccessibleFactoryInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleInterfaceEx" o="root" g="wheel" p="33188"/><f n="QAccessibleObject" o="root" g="wheel" p="33188"/><f n="qaccessibleobject.h" o="root" g="wheel" p="33188"/><f n="QAccessibleObjectEx" o="root" g="wheel" p="33188"/><f n="QAccessiblePlugin" o="root" g="wheel" p="33188"/><f n="qaccessibleplugin.h" o="root" g="wheel" p="33188"/><f n="QAccessibleSimpleEditableTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleTableInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleValueInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleWidget" o="root" g="wheel" p="33188"/><f n="qaccessiblewidget.h" o="root" g="wheel" p="33188"/><f n="QAccessibleWidgetEx" o="root" g="wheel" p="33188"/><f n="QAction" o="root" g="wheel" p="33188"/><f n="qaction.h" o="root" g="wheel" p="33188"/><f n="QActionEvent" o="root" g="wheel" p="33188"/><f n="QActionGroup" o="root" g="wheel" p="33188"/><f n="qactiongroup.h" o="root" g="wheel" p="33188"/><f n="QApplication" o="root" g="wheel" p="33188"/><f n="qapplication.h" o="root" g="wheel" p="33188"/><f n="QBitmap" o="root" g="wheel" p="33188"/><f n="qbitmap.h" o="root" g="wheel" p="33188"/><f n="QBoxLayout" o="root" g="wheel" p="33188"/><f n="qboxlayout.h" o="root" g="wheel" p="33188"/><f n="QBrush" o="root" g="wheel" p="33188"/><f n="qbrush.h" o="root" g="wheel" p="33188"/><f n="QBrushData" o="root" g="wheel" p="33188"/><f n="QButtonGroup" o="root" g="wheel" p="33188"/><f n="qbuttongroup.h" o="root" g="wheel" p="33188"/><f n="QCalendarWidget" o="root" g="wheel" p="33188"/><f n="qcalendarwidget.h" o="root" g="wheel" p="33188"/><f n="QCDEStyle" o="root" g="wheel" p="33188"/><f n="qcdestyle.h" o="root" g="wheel" p="33188"/><f n="QCheckBox" o="root" g="wheel" p="33188"/><f n="qcheckbox.h" o="root" g="wheel" p="33188"/><f n="QCleanlooksStyle" o="root" g="wheel" p="33188"/><f n="qcleanlooksstyle.h" o="root" g="wheel" p="33188"/><f n="QClipboard" o="root" g="wheel" p="33188"/><f n="qclipboard.h" o="root" g="wheel" p="33188"/><f n="QClipboardEvent" o="root" g="wheel" p="33188"/><f n="QCloseEvent" o="root" g="wheel" p="33188"/><f n="QColor" o="root" g="wheel" p="33188"/><f n="qcolor.h" o="root" g="wheel" p="33188"/><f n="QColorDialog" o="root" g="wheel" p="33188"/><f n="qcolordialog.h" o="root" g="wheel" p="33188"/><f n="QColorGroup" o="root" g="wheel" p="33188"/><f n="QColormap" o="root" g="wheel" p="33188"/><f n="qcolormap.h" o="root" g="wheel" p="33188"/><f n="QColumnView" o="root" g="wheel" p="33188"/><f n="qcolumnview.h" o="root" g="wheel" p="33188"/><f n="QComboBox" o="root" g="wheel" p="33188"/><f n="qcombobox.h" o="root" g="wheel" p="33188"/><f n="QCommandLinkButton" o="root" g="wheel" p="33188"/><f n="qcommandlinkbutton.h" o="root" g="wheel" p="33188"/><f n="QCommonStyle" o="root" g="wheel" p="33188"/><f n="qcommonstyle.h" o="root" g="wheel" p="33188"/><f n="QCompleter" o="root" g="wheel" p="33188"/><f n="qcompleter.h" o="root" g="wheel" p="33188"/><f n="QConicalGradient" o="root" g="wheel" p="33188"/><f n="QContextMenuEvent" o="root" g="wheel" p="33188"/><f n="QCursor" o="root" g="wheel" p="33188"/><f n="qcursor.h" o="root" g="wheel" p="33188"/><f n="QCursorShape" o="root" g="wheel" p="33188"/><f n="QDataWidgetMapper" o="root" g="wheel" p="33188"/><f n="qdatawidgetmapper.h" o="root" g="wheel" p="33188"/><f n="QDateEdit" o="root" g="wheel" p="33188"/><f n="QDateTimeEdit" o="root" g="wheel" p="33188"/><f n="qdatetimeedit.h" o="root" g="wheel" p="33188"/><f n="QDesktopServices" o="root" g="wheel" p="33188"/><f n="qdesktopservices.h" o="root" g="wheel" p="33188"/><f n="QDesktopWidget" o="root" g="wheel" p="33188"/><f n="qdesktopwidget.h" o="root" g="wheel" p="33188"/><f n="QDial" o="root" g="wheel" p="33188"/><f n="qdial.h" o="root" g="wheel" p="33188"/><f n="QDialog" o="root" g="wheel" p="33188"/><f n="qdialog.h" o="root" g="wheel" p="33188"/><f n="QDialogButtonBox" o="root" g="wheel" p="33188"/><f n="qdialogbuttonbox.h" o="root" g="wheel" p="33188"/><f n="QDirModel" o="root" g="wheel" p="33188"/><f n="qdirmodel.h" o="root" g="wheel" p="33188"/><f n="QDockWidget" o="root" g="wheel" p="33188"/><f n="qdockwidget.h" o="root" g="wheel" p="33188"/><f n="QDoubleSpinBox" o="root" g="wheel" p="33188"/><f n="QDoubleValidator" o="root" g="wheel" p="33188"/><f n="QDrag" o="root" g="wheel" p="33188"/><f n="qdrag.h" o="root" g="wheel" p="33188"/><f n="QDragEnterEvent" o="root" g="wheel" p="33188"/><f n="QDragLeaveEvent" o="root" g="wheel" p="33188"/><f n="QDragMoveEvent" o="root" g="wheel" p="33188"/><f n="QDragResponseEvent" o="root" g="wheel" p="33188"/><f n="qdrawutil.h" o="root" g="wheel" p="33188"/><f n="QDropEvent" o="root" g="wheel" p="33188"/><f n="QErrorMessage" o="root" g="wheel" p="33188"/><f n="qerrormessage.h" o="root" g="wheel" p="33188"/><f n="qevent.h" o="root" g="wheel" p="33188"/><f n="QFileDialog" o="root" g="wheel" p="33188"/><f n="qfiledialog.h" o="root" g="wheel" p="33188"/><f n="QFileIconProvider" o="root" g="wheel" p="33188"/><f n="qfileiconprovider.h" o="root" g="wheel" p="33188"/><f n="QFileOpenEvent" o="root" g="wheel" p="33188"/><f n="QFileSystemModel" o="root" g="wheel" p="33188"/><f n="qfilesystemmodel.h" o="root" g="wheel" p="33188"/><f n="QFocusEvent" o="root" g="wheel" p="33188"/><f n="QFocusFrame" o="root" g="wheel" p="33188"/><f n="qfocusframe.h" o="root" g="wheel" p="33188"/><f n="QFont" o="root" g="wheel" p="33188"/><f n="qfont.h" o="root" g="wheel" p="33188"/><f n="QFontComboBox" o="root" g="wheel" p="33188"/><f n="qfontcombobox.h" o="root" g="wheel" p="33188"/><f n="QFontDatabase" o="root" g="wheel" p="33188"/><f n="qfontdatabase.h" o="root" g="wheel" p="33188"/><f n="QFontDialog" o="root" g="wheel" p="33188"/><f n="qfontdialog.h" o="root" g="wheel" p="33188"/><f n="QFontInfo" o="root" g="wheel" p="33188"/><f n="qfontinfo.h" o="root" g="wheel" p="33188"/><f n="QFontMetrics" o="root" g="wheel" p="33188"/><f n="qfontmetrics.h" o="root" g="wheel" p="33188"/><f n="QFontMetricsF" o="root" g="wheel" p="33188"/><f n="QFormLayout" o="root" g="wheel" p="33188"/><f n="qformlayout.h" o="root" g="wheel" p="33188"/><f n="QFrame" o="root" g="wheel" p="33188"/><f n="qframe.h" o="root" g="wheel" p="33188"/><f n="QGradient" o="root" g="wheel" p="33188"/><f n="QGradientStop" o="root" g="wheel" p="33188"/><f n="QGradientStops" o="root" g="wheel" p="33188"/><f n="QGraphicsEllipseItem" o="root" g="wheel" p="33188"/><f n="QGraphicsGridLayout" o="root" g="wheel" p="33188"/><f n="qgraphicsgridlayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItem" o="root" g="wheel" p="33188"/><f n="qgraphicsitem.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItemAnimation" o="root" g="wheel" p="33188"/><f n="qgraphicsitemanimation.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItemGroup" o="root" g="wheel" p="33188"/><f n="QGraphicsLayout" o="root" g="wheel" p="33188"/><f n="qgraphicslayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLayoutItem" o="root" g="wheel" p="33188"/><f n="qgraphicslayoutitem.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLinearLayout" o="root" g="wheel" p="33188"/><f n="qgraphicslinearlayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLineItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPathItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPixmapItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPolygonItem" o="root" g="wheel" p="33188"/><f n="QGraphicsProxyWidget" o="root" g="wheel" p="33188"/><f n="qgraphicsproxywidget.h" o="root" g="wheel" p="33188"/><f n="QGraphicsRectItem" o="root" g="wheel" p="33188"/><f n="QGraphicsScene" o="root" g="wheel" p="33188"/><f n="qgraphicsscene.h" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneContextMenuEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneDragDropEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneEvent" o="root" g="wheel" p="33188"/><f n="qgraphicssceneevent.h" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneHelpEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneHoverEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneMouseEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneMoveEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneResizeEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneWheelEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSimpleTextItem" o="root" g="wheel" p="33188"/><f n="QGraphicsTextItem" o="root" g="wheel" p="33188"/><f n="QGraphicsView" o="root" g="wheel" p="33188"/><f n="qgraphicsview.h" o="root" g="wheel" p="33188"/><f n="QGraphicsWidget" o="root" g="wheel" p="33188"/><f n="qgraphicswidget.h" o="root" g="wheel" p="33188"/><f n="QGridLayout" o="root" g="wheel" p="33188"/><f n="qgridlayout.h" o="root" g="wheel" p="33188"/><f n="QGroupBox" o="root" g="wheel" p="33188"/><f n="qgroupbox.h" o="root" g="wheel" p="33188"/><f n="QGtkStyle" o="root" g="wheel" p="33188"/><f n="qgtkstyle.h" o="root" g="wheel" p="33188"/><f n="QHBoxLayout" o="root" g="wheel" p="33188"/><f n="QHeaderView" o="root" g="wheel" p="33188"/><f n="qheaderview.h" o="root" g="wheel" p="33188"/><f n="QHelpEvent" o="root" g="wheel" p="33188"/><f n="QHideEvent" o="root" g="wheel" p="33188"/><f n="QHoverEvent" o="root" g="wheel" p="33188"/><f n="QIcon" o="root" g="wheel" p="33188"/><f n="qicon.h" o="root" g="wheel" p="33188"/><f n="QIconDragEvent" o="root" g="wheel" p="33188"/><f n="QIconEngine" o="root" g="wheel" p="33188"/><f n="qiconengine.h" o="root" g="wheel" p="33188"/><f n="QIconEngineFactoryInterface" o="root" g="wheel" p="33188"/><f n="QIconEngineFactoryInterfaceV2" o="root" g="wheel" p="33188"/><f n="QIconEnginePlugin" o="root" g="wheel" p="33188"/><f n="qiconengineplugin.h" o="root" g="wheel" p="33188"/><f n="QIconEnginePluginV2" o="root" g="wheel" p="33188"/><f n="QIconEngineV2" o="root" g="wheel" p="33188"/><f n="QIconSet" o="root" g="wheel" p="33188"/><f n="QImage" o="root" g="wheel" p="33188"/><f n="qimage.h" o="root" g="wheel" p="33188"/><f n="QImageIOHandler" o="root" g="wheel" p="33188"/><f n="qimageiohandler.h" o="root" g="wheel" p="33188"/><f n="QImageIOHandlerFactoryInterface" o="root" g="wheel" p="33188"/><f n="QImageIOPlugin" o="root" g="wheel" p="33188"/><f n="QImageReader" o="root" g="wheel" p="33188"/><f n="qimagereader.h" o="root" g="wheel" p="33188"/><f n="QImageTextKeyLang" o="root" g="wheel" p="33188"/><f n="QImageWriter" o="root" g="wheel" p="33188"/><f n="qimagewriter.h" o="root" g="wheel" p="33188"/><f n="QInputContext" o="root" g="wheel" p="33188"/><f n="qinputcontext.h" o="root" g="wheel" p="33188"/><f n="QInputContextFactory" o="root" g="wheel" p="33188"/><f n="qinputcontextfactory.h" o="root" g="wheel" p="33188"/><f n="QInputContextFactoryInterface" o="root" g="wheel" p="33188"/><f n="QInputContextPlugin" o="root" g="wheel" p="33188"/><f n="qinputcontextplugin.h" o="root" g="wheel" p="33188"/><f n="QInputDialog" o="root" g="wheel" p="33188"/><f n="qinputdialog.h" o="root" g="wheel" p="33188"/><f n="QInputEvent" o="root" g="wheel" p="33188"/><f n="QInputMethodEvent" o="root" g="wheel" p="33188"/><f n="QIntValidator" o="root" g="wheel" p="33188"/><f n="QItemDelegate" o="root" g="wheel" p="33188"/><f n="qitemdelegate.h" o="root" g="wheel" p="33188"/><f n="QItemEditorCreator" o="root" g="wheel" p="33188"/><f n="QItemEditorCreatorBase" o="root" g="wheel" p="33188"/><f n="QItemEditorFactory" o="root" g="wheel" p="33188"/><f n="qitemeditorfactory.h" o="root" g="wheel" p="33188"/><f n="QItemSelection" o="root" g="wheel" p="33188"/><f n="QItemSelectionModel" o="root" g="wheel" p="33188"/><f n="qitemselectionmodel.h" o="root" g="wheel" p="33188"/><f n="QItemSelectionRange" o="root" g="wheel" p="33188"/><f n="QKeyEvent" o="root" g="wheel" p="33188"/><f n="QKeySequence" o="root" g="wheel" p="33188"/><f n="qkeysequence.h" o="root" g="wheel" p="33188"/><f n="QLabel" o="root" g="wheel" p="33188"/><f n="qlabel.h" o="root" g="wheel" p="33188"/><f n="QLayout" o="root" g="wheel" p="33188"/><f n="qlayout.h" o="root" g="wheel" p="33188"/><f n="QLayoutItem" o="root" g="wheel" p="33188"/><f n="qlayoutitem.h" o="root" g="wheel" p="33188"/><f n="QLayoutIterator" o="root" g="wheel" p="33188"/><f n="QLCDNumber" o="root" g="wheel" p="33188"/><f n="qlcdnumber.h" o="root" g="wheel" p="33188"/><f n="QLinearGradient" o="root" g="wheel" p="33188"/><f n="QLineEdit" o="root" g="wheel" p="33188"/><f n="qlineedit.h" o="root" g="wheel" p="33188"/><f n="QListView" o="root" g="wheel" p="33188"/><f n="qlistview.h" o="root" g="wheel" p="33188"/><f n="QListWidget" o="root" g="wheel" p="33188"/><f n="qlistwidget.h" o="root" g="wheel" p="33188"/><f n="QListWidgetItem" o="root" g="wheel" p="33188"/><f n="QMacCocoaViewContainer" o="root" g="wheel" p="33188"/><f n="qmaccocoaviewcontainer_mac.h" o="root" g="wheel" p="33188"/><f n="qmacdefines_mac.h" o="root" g="wheel" p="33188"/><f n="QMacMime" o="root" g="wheel" p="33188"/><f n="QMacNativeWidget" o="root" g="wheel" p="33188"/><f n="qmacnativewidget_mac.h" o="root" g="wheel" p="33188"/><f n="QMacPasteboardMime" o="root" g="wheel" p="33188"/><f n="QMacStyle" o="root" g="wheel" p="33188"/><f n="qmacstyle_mac.h" o="root" g="wheel" p="33188"/><f n="QMainWindow" o="root" g="wheel" p="33188"/><f n="qmainwindow.h" o="root" g="wheel" p="33188"/><f n="QMatrix" o="root" g="wheel" p="33188"/><f n="qmatrix.h" o="root" g="wheel" p="33188"/><f n="QMdiArea" o="root" g="wheel" p="33188"/><f n="qmdiarea.h" o="root" g="wheel" p="33188"/><f n="QMdiSubWindow" o="root" g="wheel" p="33188"/><f n="qmdisubwindow.h" o="root" g="wheel" p="33188"/><f n="QMenu" o="root" g="wheel" p="33188"/><f n="qmenu.h" o="root" g="wheel" p="33188"/><f n="QMenuBar" o="root" g="wheel" p="33188"/><f n="qmenubar.h" o="root" g="wheel" p="33188"/><f n="QMenubarUpdatedEvent" o="root" g="wheel" p="33188"/><f n="qmenudata.h" o="root" g="wheel" p="33188"/><f n="QMenuItem" o="root" g="wheel" p="33188"/><f n="QMessageBox" o="root" g="wheel" p="33188"/><f n="qmessagebox.h" o="root" g="wheel" p="33188"/><f n="qmime.h" o="root" g="wheel" p="33188"/><f n="QMimeSource" o="root" g="wheel" p="33188"/><f n="QMotifStyle" o="root" g="wheel" p="33188"/><f n="qmotifstyle.h" o="root" g="wheel" p="33188"/><f n="QMouseEvent" o="root" g="wheel" p="33188"/><f n="QMoveEvent" o="root" g="wheel" p="33188"/><f n="QMovie" o="root" g="wheel" p="33188"/><f n="qmovie.h" o="root" g="wheel" p="33188"/><f n="QPageSetupDialog" o="root" g="wheel" p="33188"/><f n="qpagesetupdialog.h" o="root" g="wheel" p="33188"/><f n="QPaintDevice" o="root" g="wheel" p="33188"/><f n="qpaintdevice.h" o="root" g="wheel" p="33188"/><f n="QPaintEngine" o="root" g="wheel" p="33188"/><f n="qpaintengine.h" o="root" g="wheel" p="33188"/><f n="QPaintEngineState" o="root" g="wheel" p="33188"/><f n="QPainter" o="root" g="wheel" p="33188"/><f n="qpainter.h" o="root" g="wheel" p="33188"/><f n="QPainterPath" o="root" g="wheel" p="33188"/><f n="qpainterpath.h" o="root" g="wheel" p="33188"/><f n="QPainterPathPrivate" o="root" g="wheel" p="33188"/><f n="QPainterPathStroker" o="root" g="wheel" p="33188"/><f n="QPaintEvent" o="root" g="wheel" p="33188"/><f n="QPalette" o="root" g="wheel" p="33188"/><f n="qpalette.h" o="root" g="wheel" p="33188"/><f n="QPen" o="root" g="wheel" p="33188"/><f n="qpen.h" o="root" g="wheel" p="33188"/><f n="QPicture" o="root" g="wheel" p="33188"/><f n="qpicture.h" o="root" g="wheel" p="33188"/><f n="QPictureFormatInterface" o="root" g="wheel" p="33188"/><f n="QPictureFormatPlugin" o="root" g="wheel" p="33188"/><f n="qpictureformatplugin.h" o="root" g="wheel" p="33188"/><f n="QPictureIO" o="root" g="wheel" p="33188"/><f n="QPixmap" o="root" g="wheel" p="33188"/><f n="qpixmap.h" o="root" g="wheel" p="33188"/><f n="QPixmapCache" o="root" g="wheel" p="33188"/><f n="qpixmapcache.h" o="root" g="wheel" p="33188"/><f n="QPlainTextDocumentLayout" o="root" g="wheel" p="33188"/><f n="QPlainTextEdit" o="root" g="wheel" p="33188"/><f n="qplaintextedit.h" o="root" g="wheel" p="33188"/><f n="QPlastiqueStyle" o="root" g="wheel" p="33188"/><f n="qplastiquestyle.h" o="root" g="wheel" p="33188"/><f n="QPolygon" o="root" g="wheel" p="33188"/><f n="qpolygon.h" o="root" g="wheel" p="33188"/><f n="QPolygonF" o="root" g="wheel" p="33188"/><f n="QPrintDialog" o="root" g="wheel" p="33188"/><f n="qprintdialog.h" o="root" g="wheel" p="33188"/><f n="QPrintEngine" o="root" g="wheel" p="33188"/><f n="qprintengine.h" o="root" g="wheel" p="33188"/><f n="QPrinter" o="root" g="wheel" p="33188"/><f n="qprinter.h" o="root" g="wheel" p="33188"/><f n="QPrinterInfo" o="root" g="wheel" p="33188"/><f n="qprinterinfo.h" o="root" g="wheel" p="33188"/><f n="QPrintPreviewDialog" o="root" g="wheel" p="33188"/><f n="qprintpreviewdialog.h" o="root" g="wheel" p="33188"/><f n="QPrintPreviewWidget" o="root" g="wheel" p="33188"/><f n="qprintpreviewwidget.h" o="root" g="wheel" p="33188"/><f n="QProgressBar" o="root" g="wheel" p="33188"/><f n="qprogressbar.h" o="root" g="wheel" p="33188"/><f n="QProgressDialog" o="root" g="wheel" p="33188"/><f n="qprogressdialog.h" o="root" g="wheel" p="33188"/><f n="QProxyModel" o="root" g="wheel" p="33188"/><f n="qproxymodel.h" o="root" g="wheel" p="33188"/><f n="QPushButton" o="root" g="wheel" p="33188"/><f n="qpushbutton.h" o="root" g="wheel" p="33188"/><f n="QRadialGradient" o="root" g="wheel" p="33188"/><f n="QRadioButton" o="root" g="wheel" p="33188"/><f n="qradiobutton.h" o="root" g="wheel" p="33188"/><f n="QRegExpValidator" o="root" g="wheel" p="33188"/><f n="QRegion" o="root" g="wheel" p="33188"/><f n="qregion.h" o="root" g="wheel" p="33188"/><f n="QResizeEvent" o="root" g="wheel" p="33188"/><f n="QRgb" o="root" g="wheel" p="33188"/><f n="qrgb.h" o="root" g="wheel" p="33188"/><f n="QRubberBand" o="root" g="wheel" p="33188"/><f n="qrubberband.h" o="root" g="wheel" p="33188"/><f n="QScrollArea" o="root" g="wheel" p="33188"/><f n="qscrollarea.h" o="root" g="wheel" p="33188"/><f n="QScrollBar" o="root" g="wheel" p="33188"/><f n="qscrollbar.h" o="root" g="wheel" p="33188"/><f n="QSessionManager" o="root" g="wheel" p="33188"/><f n="qsessionmanager.h" o="root" g="wheel" p="33188"/><f n="QShortcut" o="root" g="wheel" p="33188"/><f n="qshortcut.h" o="root" g="wheel" p="33188"/><f n="QShortcutEvent" o="root" g="wheel" p="33188"/><f n="QShowEvent" o="root" g="wheel" p="33188"/><f n="QSizeGrip" o="root" g="wheel" p="33188"/><f n="qsizegrip.h" o="root" g="wheel" p="33188"/><f n="QSizePolicy" o="root" g="wheel" p="33188"/><f n="qsizepolicy.h" o="root" g="wheel" p="33188"/><f n="QSlider" o="root" g="wheel" p="33188"/><f n="qslider.h" o="root" g="wheel" p="33188"/><f n="QSortFilterProxyModel" o="root" g="wheel" p="33188"/><f n="qsortfilterproxymodel.h" o="root" g="wheel" p="33188"/><f n="QSound" o="root" g="wheel" p="33188"/><f n="qsound.h" o="root" g="wheel" p="33188"/><f n="QSpacerItem" o="root" g="wheel" p="33188"/><f n="QSpinBox" o="root" g="wheel" p="33188"/><f n="qspinbox.h" o="root" g="wheel" p="33188"/><f n="QSplashScreen" o="root" g="wheel" p="33188"/><f n="qsplashscreen.h" o="root" g="wheel" p="33188"/><f n="QSplitter" o="root" g="wheel" p="33188"/><f n="qsplitter.h" o="root" g="wheel" p="33188"/><f n="QSplitterHandle" o="root" g="wheel" p="33188"/><f n="QStackedLayout" o="root" g="wheel" p="33188"/><f n="qstackedlayout.h" o="root" g="wheel" p="33188"/><f n="QStackedWidget" o="root" g="wheel" p="33188"/><f n="qstackedwidget.h" o="root" g="wheel" p="33188"/><f n="QStandardItem" o="root" g="wheel" p="33188"/><f n="QStandardItemEditorCreator" o="root" g="wheel" p="33188"/><f n="QStandardItemModel" o="root" g="wheel" p="33188"/><f n="qstandarditemmodel.h" o="root" g="wheel" p="33188"/><f n="QStatusBar" o="root" g="wheel" p="33188"/><f n="qstatusbar.h" o="root" g="wheel" p="33188"/><f n="QStatusTipEvent" o="root" g="wheel" p="33188"/><f n="QStringListModel" o="root" g="wheel" p="33188"/><f n="qstringlistmodel.h" o="root" g="wheel" p="33188"/><f n="QStyle" o="root" g="wheel" p="33188"/><f n="qstyle.h" o="root" g="wheel" p="33188"/><f n="QStyledItemDelegate" o="root" g="wheel" p="33188"/><f n="qstyleditemdelegate.h" o="root" g="wheel" p="33188"/><f n="QStyleFactory" o="root" g="wheel" p="33188"/><f n="qstylefactory.h" o="root" g="wheel" p="33188"/><f n="QStyleFactoryInterface" o="root" g="wheel" p="33188"/><f n="QStyleHintReturn" o="root" g="wheel" p="33188"/><f n="QStyleHintReturnMask" o="root" g="wheel" p="33188"/><f n="QStyleHintReturnVariant" o="root" g="wheel" p="33188"/><f n="QStyleOption" o="root" g="wheel" p="33188"/><f n="qstyleoption.h" o="root" g="wheel" p="33188"/><f n="QStyleOptionButton" o="root" g="wheel" p="33188"/><f n="QStyleOptionComboBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionComplex" o="root" g="wheel" p="33188"/><f n="QStyleOptionDockWidget" o="root" g="wheel" p="33188"/><f n="QStyleOptionDockWidgetV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionFocusRect" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrame" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrameV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrameV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionGraphicsItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionGroupBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionHeader" o="root" g="wheel" p="33188"/><f n="QStyleOptionMenuItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionProgressBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionProgressBarV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3DockWindow" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3ListView" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3ListViewItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionRubberBand" o="root" g="wheel" p="33188"/><f n="QStyleOptionSizeGrip" o="root" g="wheel" p="33188"/><f n="QStyleOptionSlider" o="root" g="wheel" p="33188"/><f n="QStyleOptionSpinBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionTab" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabBarBase" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabBarBaseV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabWidgetFrame" o="root" g="wheel" p="33188"/><f n="QStyleOptionTitleBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBoxV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolButton" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV4" o="root" g="wheel" p="33188"/><f n="QStylePainter" o="root" g="wheel" p="33188"/><f n="qstylepainter.h" o="root" g="wheel" p="33188"/><f n="QStylePlugin" o="root" g="wheel" p="33188"/><f n="qstyleplugin.h" o="root" g="wheel" p="33188"/><f n="QSyntaxHighlighter" o="root" g="wheel" p="33188"/><f n="qsyntaxhighlighter.h" o="root" g="wheel" p="33188"/><f n="QSystemTrayIcon" o="root" g="wheel" p="33188"/><f n="qsystemtrayicon.h" o="root" g="wheel" p="33188"/><f n="QTabBar" o="root" g="wheel" p="33188"/><f n="qtabbar.h" o="root" g="wheel" p="33188"/><f n="QTabletEvent" o="root" g="wheel" p="33188"/><f n="QTableView" o="root" g="wheel" p="33188"/><f n="qtableview.h" o="root" g="wheel" p="33188"/><f n="QTableWidget" o="root" g="wheel" p="33188"/><f n="qtablewidget.h" o="root" g="wheel" p="33188"/><f n="QTableWidgetItem" o="root" g="wheel" p="33188"/><f n="QTableWidgetSelectionRange" o="root" g="wheel" p="33188"/><f n="QTabWidget" o="root" g="wheel" p="33188"/><f n="qtabwidget.h" o="root" g="wheel" p="33188"/><f n="QtEvents" o="root" g="wheel" p="33188"/><f n="QTextBlock" o="root" g="wheel" p="33188"/><f n="QTextBlockFormat" o="root" g="wheel" p="33188"/><f n="QTextBlockGroup" o="root" g="wheel" p="33188"/><f n="QTextBlockUserData" o="root" g="wheel" p="33188"/><f n="QTextBrowser" o="root" g="wheel" p="33188"/><f n="qtextbrowser.h" o="root" g="wheel" p="33188"/><f n="QTextCharFormat" o="root" g="wheel" p="33188"/><f n="QTextCursor" o="root" g="wheel" p="33188"/><f n="qtextcursor.h" o="root" g="wheel" p="33188"/><f n="QTextDocument" o="root" g="wheel" p="33188"/><f n="qtextdocument.h" o="root" g="wheel" p="33188"/><f n="QTextDocumentFragment" o="root" g="wheel" p="33188"/><f n="qtextdocumentfragment.h" o="root" g="wheel" p="33188"/><f n="QTextDocumentWriter" o="root" g="wheel" p="33188"/><f n="qtextdocumentwriter.h" o="root" g="wheel" p="33188"/><f n="QTextEdit" o="root" g="wheel" p="33188"/><f n="qtextedit.h" o="root" g="wheel" p="33188"/><f n="QTextFormat" o="root" g="wheel" p="33188"/><f n="qtextformat.h" o="root" g="wheel" p="33188"/><f n="QTextFragment" o="root" g="wheel" p="33188"/><f n="QTextFrame" o="root" g="wheel" p="33188"/><f n="QTextFrameFormat" o="root" g="wheel" p="33188"/><f n="QTextFrameLayoutData" o="root" g="wheel" p="33188"/><f n="QTextImageFormat" o="root" g="wheel" p="33188"/><f n="QTextInlineObject" o="root" g="wheel" p="33188"/><f n="QTextItem" o="root" g="wheel" p="33188"/><f n="QTextLayout" o="root" g="wheel" p="33188"/><f n="qtextlayout.h" o="root" g="wheel" p="33188"/><f n="QTextLength" o="root" g="wheel" p="33188"/><f n="QTextLine" o="root" g="wheel" p="33188"/><f n="QTextList" o="root" g="wheel" p="33188"/><f n="qtextlist.h" o="root" g="wheel" p="33188"/><f n="QTextListFormat" o="root" g="wheel" p="33188"/><f n="QTextObject" o="root" g="wheel" p="33188"/><f n="qtextobject.h" o="root" g="wheel" p="33188"/><f n="QTextObjectInterface" o="root" g="wheel" p="33188"/><f n="QTextOption" o="root" g="wheel" p="33188"/><f n="qtextoption.h" o="root" g="wheel" p="33188"/><f n="QTextTable" o="root" g="wheel" p="33188"/><f n="qtexttable.h" o="root" g="wheel" p="33188"/><f n="QTextTableCell" o="root" g="wheel" p="33188"/><f n="QTextTableCellFormat" o="root" g="wheel" p="33188"/><f n="QTextTableFormat" o="root" g="wheel" p="33188"/><f n="QtGui" o="root" g="wheel" p="33188"/><f n="QTimeEdit" o="root" g="wheel" p="33188"/><f n="QToolBar" o="root" g="wheel" p="33188"/><f n="qtoolbar.h" o="root" g="wheel" p="33188"/><f n="QToolBarChangeEvent" o="root" g="wheel" p="33188"/><f n="QToolBox" o="root" g="wheel" p="33188"/><f n="qtoolbox.h" o="root" g="wheel" p="33188"/><f n="QToolButton" o="root" g="wheel" p="33188"/><f n="qtoolbutton.h" o="root" g="wheel" p="33188"/><f n="QToolTip" o="root" g="wheel" p="33188"/><f n="qtooltip.h" o="root" g="wheel" p="33188"/><f n="QTransform" o="root" g="wheel" p="33188"/><f n="qtransform.h" o="root" g="wheel" p="33188"/><f n="QTreeView" o="root" g="wheel" p="33188"/><f n="qtreeview.h" o="root" g="wheel" p="33188"/><f n="QTreeWidget" o="root" g="wheel" p="33188"/><f n="qtreewidget.h" o="root" g="wheel" p="33188"/><f n="QTreeWidgetItem" o="root" g="wheel" p="33188"/><f n="QTreeWidgetItemIterator" o="root" g="wheel" p="33188"/><f n="qtreewidgetitemiterator.h" o="root" g="wheel" p="33188"/><f n="QUndoCommand" o="root" g="wheel" p="33188"/><f n="QUndoGroup" o="root" g="wheel" p="33188"/><f n="qundogroup.h" o="root" g="wheel" p="33188"/><f n="QUndoStack" o="root" g="wheel" p="33188"/><f n="qundostack.h" o="root" g="wheel" p="33188"/><f n="QUndoView" o="root" g="wheel" p="33188"/><f n="qundoview.h" o="root" g="wheel" p="33188"/><f n="QUnixPrintWidget" o="root" g="wheel" p="33188"/><f n="QUpdateLaterEvent" o="root" g="wheel" p="33188"/><f n="QValidator" o="root" g="wheel" p="33188"/><f n="qvalidator.h" o="root" g="wheel" p="33188"/><f n="QVBoxLayout" o="root" g="wheel" p="33188"/><f n="QWhatsThis" o="root" g="wheel" p="33188"/><f n="qwhatsthis.h" o="root" g="wheel" p="33188"/><f n="QWhatsThisClickedEvent" o="root" g="wheel" p="33188"/><f n="QWheelEvent" o="root" g="wheel" p="33188"/><f n="QWidget" o="root" g="wheel" p="33188"/><f n="qwidget.h" o="root" g="wheel" p="33188"/><f n="QWidgetAction" o="root" g="wheel" p="33188"/><f n="qwidgetaction.h" o="root" g="wheel" p="33188"/><f n="QWidgetData" o="root" g="wheel" p="33188"/><f n="QWidgetItem" o="root" g="wheel" p="33188"/><f n="QWidgetItemV2" o="root" g="wheel" p="33188"/><f n="QWidgetList" o="root" g="wheel" p="33188"/><f n="QWidgetMapper" o="root" g="wheel" p="33188"/><f n="QWidgetSet" o="root" g="wheel" p="33188"/><f n="qwindowdefs.h" o="root" g="wheel" p="33188"/><f n="QWindowsCEStyle" o="root" g="wheel" p="33188"/><f n="qwindowscestyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsMime" o="root" g="wheel" p="33188"/><f n="QWindowsMobileStyle" o="root" g="wheel" p="33188"/><f n="qwindowsmobilestyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsStyle" o="root" g="wheel" p="33188"/><f n="qwindowsstyle.h" o="root" g="wheel" p="33188"/><f n="QWindowStateChangeEvent" o="root" g="wheel" p="33188"/><f n="QWindowsVistaStyle" o="root" g="wheel" p="33188"/><f n="qwindowsvistastyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsXPStyle" o="root" g="wheel" p="33188"/><f n="qwindowsxpstyle.h" o="root" g="wheel" p="33188"/><f n="QWizard" o="root" g="wheel" p="33188"/><f n="qwizard.h" o="root" g="wheel" p="33188"/><f n="QWizardPage" o="root" g="wheel" p="33188"/><f n="QWMatrix" o="root" g="wheel" p="33188"/><f n="qwmatrix.h" o="root" g="wheel" p="33188"/><f n="QWorkspace" o="root" g="wheel" p="33188"/><f n="qworkspace.h" o="root" g="wheel" p="33188"/></f><f n="QtGui" o="root" g="wheel" p="33261"/><f n="Resources" o="root" g="wheel" p="16877"><f n="qt_menu.nib" o="root" g="wheel" p="16877"><f n="classes.nib" o="root" g="wheel" p="33188"/><f n="info.nib" o="root" g="wheel" p="33188"/><f n="keyedobjects.nib" o="root" g="wheel" p="33188"/></f></f></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QAbstractButton" o="root" g="wheel" p="33188"/><f n="qabstractbutton.h" o="root" g="wheel" p="33188"/><f n="QAbstractGraphicsShapeItem" o="root" g="wheel" p="33188"/><f n="QAbstractItemDelegate" o="root" g="wheel" p="33188"/><f n="qabstractitemdelegate.h" o="root" g="wheel" p="33188"/><f n="QAbstractItemView" o="root" g="wheel" p="33188"/><f n="qabstractitemview.h" o="root" g="wheel" p="33188"/><f n="QAbstractPageSetupDialog" o="root" g="wheel" p="33188"/><f n="qabstractpagesetupdialog.h" o="root" g="wheel" p="33188"/><f n="QAbstractPrintDialog" o="root" g="wheel" p="33188"/><f n="qabstractprintdialog.h" o="root" g="wheel" p="33188"/><f n="QAbstractProxyModel" o="root" g="wheel" p="33188"/><f n="qabstractproxymodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractScrollArea" o="root" g="wheel" p="33188"/><f n="qabstractscrollarea.h" o="root" g="wheel" p="33188"/><f n="QAbstractSlider" o="root" g="wheel" p="33188"/><f n="qabstractslider.h" o="root" g="wheel" p="33188"/><f n="QAbstractSpinBox" o="root" g="wheel" p="33188"/><f n="qabstractspinbox.h" o="root" g="wheel" p="33188"/><f n="QAbstractTextDocumentLayout" o="root" g="wheel" p="33188"/><f n="qabstracttextdocumentlayout.h" o="root" g="wheel" p="33188"/><f n="QAbstractUndoItem" o="root" g="wheel" p="33188"/><f n="QAccessible" o="root" g="wheel" p="33188"/><f n="qaccessible.h" o="root" g="wheel" p="33188"/><f n="qaccessible2.h" o="root" g="wheel" p="33188"/><f n="QAccessible2Interface" o="root" g="wheel" p="33188"/><f n="QAccessibleApplication" o="root" g="wheel" p="33188"/><f n="QAccessibleBridge" o="root" g="wheel" p="33188"/><f n="qaccessiblebridge.h" o="root" g="wheel" p="33188"/><f n="QAccessibleBridgeFactoryInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleBridgePlugin" o="root" g="wheel" p="33188"/><f n="QAccessibleEditableTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleEvent" o="root" g="wheel" p="33188"/><f n="QAccessibleFactoryInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleInterfaceEx" o="root" g="wheel" p="33188"/><f n="QAccessibleObject" o="root" g="wheel" p="33188"/><f n="qaccessibleobject.h" o="root" g="wheel" p="33188"/><f n="QAccessibleObjectEx" o="root" g="wheel" p="33188"/><f n="QAccessiblePlugin" o="root" g="wheel" p="33188"/><f n="qaccessibleplugin.h" o="root" g="wheel" p="33188"/><f n="QAccessibleSimpleEditableTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleTableInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleTextInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleValueInterface" o="root" g="wheel" p="33188"/><f n="QAccessibleWidget" o="root" g="wheel" p="33188"/><f n="qaccessiblewidget.h" o="root" g="wheel" p="33188"/><f n="QAccessibleWidgetEx" o="root" g="wheel" p="33188"/><f n="QAction" o="root" g="wheel" p="33188"/><f n="qaction.h" o="root" g="wheel" p="33188"/><f n="QActionEvent" o="root" g="wheel" p="33188"/><f n="QActionGroup" o="root" g="wheel" p="33188"/><f n="qactiongroup.h" o="root" g="wheel" p="33188"/><f n="QApplication" o="root" g="wheel" p="33188"/><f n="qapplication.h" o="root" g="wheel" p="33188"/><f n="QBitmap" o="root" g="wheel" p="33188"/><f n="qbitmap.h" o="root" g="wheel" p="33188"/><f n="QBoxLayout" o="root" g="wheel" p="33188"/><f n="qboxlayout.h" o="root" g="wheel" p="33188"/><f n="QBrush" o="root" g="wheel" p="33188"/><f n="qbrush.h" o="root" g="wheel" p="33188"/><f n="QBrushData" o="root" g="wheel" p="33188"/><f n="QButtonGroup" o="root" g="wheel" p="33188"/><f n="qbuttongroup.h" o="root" g="wheel" p="33188"/><f n="QCalendarWidget" o="root" g="wheel" p="33188"/><f n="qcalendarwidget.h" o="root" g="wheel" p="33188"/><f n="QCDEStyle" o="root" g="wheel" p="33188"/><f n="qcdestyle.h" o="root" g="wheel" p="33188"/><f n="QCheckBox" o="root" g="wheel" p="33188"/><f n="qcheckbox.h" o="root" g="wheel" p="33188"/><f n="QCleanlooksStyle" o="root" g="wheel" p="33188"/><f n="qcleanlooksstyle.h" o="root" g="wheel" p="33188"/><f n="QClipboard" o="root" g="wheel" p="33188"/><f n="qclipboard.h" o="root" g="wheel" p="33188"/><f n="QClipboardEvent" o="root" g="wheel" p="33188"/><f n="QCloseEvent" o="root" g="wheel" p="33188"/><f n="QColor" o="root" g="wheel" p="33188"/><f n="qcolor.h" o="root" g="wheel" p="33188"/><f n="QColorDialog" o="root" g="wheel" p="33188"/><f n="qcolordialog.h" o="root" g="wheel" p="33188"/><f n="QColorGroup" o="root" g="wheel" p="33188"/><f n="QColormap" o="root" g="wheel" p="33188"/><f n="qcolormap.h" o="root" g="wheel" p="33188"/><f n="QColumnView" o="root" g="wheel" p="33188"/><f n="qcolumnview.h" o="root" g="wheel" p="33188"/><f n="QComboBox" o="root" g="wheel" p="33188"/><f n="qcombobox.h" o="root" g="wheel" p="33188"/><f n="QCommandLinkButton" o="root" g="wheel" p="33188"/><f n="qcommandlinkbutton.h" o="root" g="wheel" p="33188"/><f n="QCommonStyle" o="root" g="wheel" p="33188"/><f n="qcommonstyle.h" o="root" g="wheel" p="33188"/><f n="QCompleter" o="root" g="wheel" p="33188"/><f n="qcompleter.h" o="root" g="wheel" p="33188"/><f n="QConicalGradient" o="root" g="wheel" p="33188"/><f n="QContextMenuEvent" o="root" g="wheel" p="33188"/><f n="QCursor" o="root" g="wheel" p="33188"/><f n="qcursor.h" o="root" g="wheel" p="33188"/><f n="QCursorShape" o="root" g="wheel" p="33188"/><f n="QDataWidgetMapper" o="root" g="wheel" p="33188"/><f n="qdatawidgetmapper.h" o="root" g="wheel" p="33188"/><f n="QDateEdit" o="root" g="wheel" p="33188"/><f n="QDateTimeEdit" o="root" g="wheel" p="33188"/><f n="qdatetimeedit.h" o="root" g="wheel" p="33188"/><f n="QDesktopServices" o="root" g="wheel" p="33188"/><f n="qdesktopservices.h" o="root" g="wheel" p="33188"/><f n="QDesktopWidget" o="root" g="wheel" p="33188"/><f n="qdesktopwidget.h" o="root" g="wheel" p="33188"/><f n="QDial" o="root" g="wheel" p="33188"/><f n="qdial.h" o="root" g="wheel" p="33188"/><f n="QDialog" o="root" g="wheel" p="33188"/><f n="qdialog.h" o="root" g="wheel" p="33188"/><f n="QDialogButtonBox" o="root" g="wheel" p="33188"/><f n="qdialogbuttonbox.h" o="root" g="wheel" p="33188"/><f n="QDirModel" o="root" g="wheel" p="33188"/><f n="qdirmodel.h" o="root" g="wheel" p="33188"/><f n="QDockWidget" o="root" g="wheel" p="33188"/><f n="qdockwidget.h" o="root" g="wheel" p="33188"/><f n="QDoubleSpinBox" o="root" g="wheel" p="33188"/><f n="QDoubleValidator" o="root" g="wheel" p="33188"/><f n="QDrag" o="root" g="wheel" p="33188"/><f n="qdrag.h" o="root" g="wheel" p="33188"/><f n="QDragEnterEvent" o="root" g="wheel" p="33188"/><f n="QDragLeaveEvent" o="root" g="wheel" p="33188"/><f n="QDragMoveEvent" o="root" g="wheel" p="33188"/><f n="QDragResponseEvent" o="root" g="wheel" p="33188"/><f n="qdrawutil.h" o="root" g="wheel" p="33188"/><f n="QDropEvent" o="root" g="wheel" p="33188"/><f n="QErrorMessage" o="root" g="wheel" p="33188"/><f n="qerrormessage.h" o="root" g="wheel" p="33188"/><f n="qevent.h" o="root" g="wheel" p="33188"/><f n="QFileDialog" o="root" g="wheel" p="33188"/><f n="qfiledialog.h" o="root" g="wheel" p="33188"/><f n="QFileIconProvider" o="root" g="wheel" p="33188"/><f n="qfileiconprovider.h" o="root" g="wheel" p="33188"/><f n="QFileOpenEvent" o="root" g="wheel" p="33188"/><f n="QFileSystemModel" o="root" g="wheel" p="33188"/><f n="qfilesystemmodel.h" o="root" g="wheel" p="33188"/><f n="QFocusEvent" o="root" g="wheel" p="33188"/><f n="QFocusFrame" o="root" g="wheel" p="33188"/><f n="qfocusframe.h" o="root" g="wheel" p="33188"/><f n="QFont" o="root" g="wheel" p="33188"/><f n="qfont.h" o="root" g="wheel" p="33188"/><f n="QFontComboBox" o="root" g="wheel" p="33188"/><f n="qfontcombobox.h" o="root" g="wheel" p="33188"/><f n="QFontDatabase" o="root" g="wheel" p="33188"/><f n="qfontdatabase.h" o="root" g="wheel" p="33188"/><f n="QFontDialog" o="root" g="wheel" p="33188"/><f n="qfontdialog.h" o="root" g="wheel" p="33188"/><f n="QFontInfo" o="root" g="wheel" p="33188"/><f n="qfontinfo.h" o="root" g="wheel" p="33188"/><f n="QFontMetrics" o="root" g="wheel" p="33188"/><f n="qfontmetrics.h" o="root" g="wheel" p="33188"/><f n="QFontMetricsF" o="root" g="wheel" p="33188"/><f n="QFormLayout" o="root" g="wheel" p="33188"/><f n="qformlayout.h" o="root" g="wheel" p="33188"/><f n="QFrame" o="root" g="wheel" p="33188"/><f n="qframe.h" o="root" g="wheel" p="33188"/><f n="QGradient" o="root" g="wheel" p="33188"/><f n="QGradientStop" o="root" g="wheel" p="33188"/><f n="QGradientStops" o="root" g="wheel" p="33188"/><f n="QGraphicsEllipseItem" o="root" g="wheel" p="33188"/><f n="QGraphicsGridLayout" o="root" g="wheel" p="33188"/><f n="qgraphicsgridlayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItem" o="root" g="wheel" p="33188"/><f n="qgraphicsitem.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItemAnimation" o="root" g="wheel" p="33188"/><f n="qgraphicsitemanimation.h" o="root" g="wheel" p="33188"/><f n="QGraphicsItemGroup" o="root" g="wheel" p="33188"/><f n="QGraphicsLayout" o="root" g="wheel" p="33188"/><f n="qgraphicslayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLayoutItem" o="root" g="wheel" p="33188"/><f n="qgraphicslayoutitem.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLinearLayout" o="root" g="wheel" p="33188"/><f n="qgraphicslinearlayout.h" o="root" g="wheel" p="33188"/><f n="QGraphicsLineItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPathItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPixmapItem" o="root" g="wheel" p="33188"/><f n="QGraphicsPolygonItem" o="root" g="wheel" p="33188"/><f n="QGraphicsProxyWidget" o="root" g="wheel" p="33188"/><f n="qgraphicsproxywidget.h" o="root" g="wheel" p="33188"/><f n="QGraphicsRectItem" o="root" g="wheel" p="33188"/><f n="QGraphicsScene" o="root" g="wheel" p="33188"/><f n="qgraphicsscene.h" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneContextMenuEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneDragDropEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneEvent" o="root" g="wheel" p="33188"/><f n="qgraphicssceneevent.h" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneHelpEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneHoverEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneMouseEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneMoveEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneResizeEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSceneWheelEvent" o="root" g="wheel" p="33188"/><f n="QGraphicsSimpleTextItem" o="root" g="wheel" p="33188"/><f n="QGraphicsTextItem" o="root" g="wheel" p="33188"/><f n="QGraphicsView" o="root" g="wheel" p="33188"/><f n="qgraphicsview.h" o="root" g="wheel" p="33188"/><f n="QGraphicsWidget" o="root" g="wheel" p="33188"/><f n="qgraphicswidget.h" o="root" g="wheel" p="33188"/><f n="QGridLayout" o="root" g="wheel" p="33188"/><f n="qgridlayout.h" o="root" g="wheel" p="33188"/><f n="QGroupBox" o="root" g="wheel" p="33188"/><f n="qgroupbox.h" o="root" g="wheel" p="33188"/><f n="QGtkStyle" o="root" g="wheel" p="33188"/><f n="qgtkstyle.h" o="root" g="wheel" p="33188"/><f n="QHBoxLayout" o="root" g="wheel" p="33188"/><f n="QHeaderView" o="root" g="wheel" p="33188"/><f n="qheaderview.h" o="root" g="wheel" p="33188"/><f n="QHelpEvent" o="root" g="wheel" p="33188"/><f n="QHideEvent" o="root" g="wheel" p="33188"/><f n="QHoverEvent" o="root" g="wheel" p="33188"/><f n="QIcon" o="root" g="wheel" p="33188"/><f n="qicon.h" o="root" g="wheel" p="33188"/><f n="QIconDragEvent" o="root" g="wheel" p="33188"/><f n="QIconEngine" o="root" g="wheel" p="33188"/><f n="qiconengine.h" o="root" g="wheel" p="33188"/><f n="QIconEngineFactoryInterface" o="root" g="wheel" p="33188"/><f n="QIconEngineFactoryInterfaceV2" o="root" g="wheel" p="33188"/><f n="QIconEnginePlugin" o="root" g="wheel" p="33188"/><f n="qiconengineplugin.h" o="root" g="wheel" p="33188"/><f n="QIconEnginePluginV2" o="root" g="wheel" p="33188"/><f n="QIconEngineV2" o="root" g="wheel" p="33188"/><f n="QIconSet" o="root" g="wheel" p="33188"/><f n="QImage" o="root" g="wheel" p="33188"/><f n="qimage.h" o="root" g="wheel" p="33188"/><f n="QImageIOHandler" o="root" g="wheel" p="33188"/><f n="qimageiohandler.h" o="root" g="wheel" p="33188"/><f n="QImageIOHandlerFactoryInterface" o="root" g="wheel" p="33188"/><f n="QImageIOPlugin" o="root" g="wheel" p="33188"/><f n="QImageReader" o="root" g="wheel" p="33188"/><f n="qimagereader.h" o="root" g="wheel" p="33188"/><f n="QImageTextKeyLang" o="root" g="wheel" p="33188"/><f n="QImageWriter" o="root" g="wheel" p="33188"/><f n="qimagewriter.h" o="root" g="wheel" p="33188"/><f n="QInputContext" o="root" g="wheel" p="33188"/><f n="qinputcontext.h" o="root" g="wheel" p="33188"/><f n="QInputContextFactory" o="root" g="wheel" p="33188"/><f n="qinputcontextfactory.h" o="root" g="wheel" p="33188"/><f n="QInputContextFactoryInterface" o="root" g="wheel" p="33188"/><f n="QInputContextPlugin" o="root" g="wheel" p="33188"/><f n="qinputcontextplugin.h" o="root" g="wheel" p="33188"/><f n="QInputDialog" o="root" g="wheel" p="33188"/><f n="qinputdialog.h" o="root" g="wheel" p="33188"/><f n="QInputEvent" o="root" g="wheel" p="33188"/><f n="QInputMethodEvent" o="root" g="wheel" p="33188"/><f n="QIntValidator" o="root" g="wheel" p="33188"/><f n="QItemDelegate" o="root" g="wheel" p="33188"/><f n="qitemdelegate.h" o="root" g="wheel" p="33188"/><f n="QItemEditorCreator" o="root" g="wheel" p="33188"/><f n="QItemEditorCreatorBase" o="root" g="wheel" p="33188"/><f n="QItemEditorFactory" o="root" g="wheel" p="33188"/><f n="qitemeditorfactory.h" o="root" g="wheel" p="33188"/><f n="QItemSelection" o="root" g="wheel" p="33188"/><f n="QItemSelectionModel" o="root" g="wheel" p="33188"/><f n="qitemselectionmodel.h" o="root" g="wheel" p="33188"/><f n="QItemSelectionRange" o="root" g="wheel" p="33188"/><f n="QKeyEvent" o="root" g="wheel" p="33188"/><f n="QKeySequence" o="root" g="wheel" p="33188"/><f n="qkeysequence.h" o="root" g="wheel" p="33188"/><f n="QLabel" o="root" g="wheel" p="33188"/><f n="qlabel.h" o="root" g="wheel" p="33188"/><f n="QLayout" o="root" g="wheel" p="33188"/><f n="qlayout.h" o="root" g="wheel" p="33188"/><f n="QLayoutItem" o="root" g="wheel" p="33188"/><f n="qlayoutitem.h" o="root" g="wheel" p="33188"/><f n="QLayoutIterator" o="root" g="wheel" p="33188"/><f n="QLCDNumber" o="root" g="wheel" p="33188"/><f n="qlcdnumber.h" o="root" g="wheel" p="33188"/><f n="QLinearGradient" o="root" g="wheel" p="33188"/><f n="QLineEdit" o="root" g="wheel" p="33188"/><f n="qlineedit.h" o="root" g="wheel" p="33188"/><f n="QListView" o="root" g="wheel" p="33188"/><f n="qlistview.h" o="root" g="wheel" p="33188"/><f n="QListWidget" o="root" g="wheel" p="33188"/><f n="qlistwidget.h" o="root" g="wheel" p="33188"/><f n="QListWidgetItem" o="root" g="wheel" p="33188"/><f n="QMacCocoaViewContainer" o="root" g="wheel" p="33188"/><f n="qmaccocoaviewcontainer_mac.h" o="root" g="wheel" p="33188"/><f n="qmacdefines_mac.h" o="root" g="wheel" p="33188"/><f n="QMacMime" o="root" g="wheel" p="33188"/><f n="QMacNativeWidget" o="root" g="wheel" p="33188"/><f n="qmacnativewidget_mac.h" o="root" g="wheel" p="33188"/><f n="QMacPasteboardMime" o="root" g="wheel" p="33188"/><f n="QMacStyle" o="root" g="wheel" p="33188"/><f n="qmacstyle_mac.h" o="root" g="wheel" p="33188"/><f n="QMainWindow" o="root" g="wheel" p="33188"/><f n="qmainwindow.h" o="root" g="wheel" p="33188"/><f n="QMatrix" o="root" g="wheel" p="33188"/><f n="qmatrix.h" o="root" g="wheel" p="33188"/><f n="QMdiArea" o="root" g="wheel" p="33188"/><f n="qmdiarea.h" o="root" g="wheel" p="33188"/><f n="QMdiSubWindow" o="root" g="wheel" p="33188"/><f n="qmdisubwindow.h" o="root" g="wheel" p="33188"/><f n="QMenu" o="root" g="wheel" p="33188"/><f n="qmenu.h" o="root" g="wheel" p="33188"/><f n="QMenuBar" o="root" g="wheel" p="33188"/><f n="qmenubar.h" o="root" g="wheel" p="33188"/><f n="QMenubarUpdatedEvent" o="root" g="wheel" p="33188"/><f n="qmenudata.h" o="root" g="wheel" p="33188"/><f n="QMenuItem" o="root" g="wheel" p="33188"/><f n="QMessageBox" o="root" g="wheel" p="33188"/><f n="qmessagebox.h" o="root" g="wheel" p="33188"/><f n="qmime.h" o="root" g="wheel" p="33188"/><f n="QMimeSource" o="root" g="wheel" p="33188"/><f n="QMotifStyle" o="root" g="wheel" p="33188"/><f n="qmotifstyle.h" o="root" g="wheel" p="33188"/><f n="QMouseEvent" o="root" g="wheel" p="33188"/><f n="QMoveEvent" o="root" g="wheel" p="33188"/><f n="QMovie" o="root" g="wheel" p="33188"/><f n="qmovie.h" o="root" g="wheel" p="33188"/><f n="QPageSetupDialog" o="root" g="wheel" p="33188"/><f n="qpagesetupdialog.h" o="root" g="wheel" p="33188"/><f n="QPaintDevice" o="root" g="wheel" p="33188"/><f n="qpaintdevice.h" o="root" g="wheel" p="33188"/><f n="QPaintEngine" o="root" g="wheel" p="33188"/><f n="qpaintengine.h" o="root" g="wheel" p="33188"/><f n="QPaintEngineState" o="root" g="wheel" p="33188"/><f n="QPainter" o="root" g="wheel" p="33188"/><f n="qpainter.h" o="root" g="wheel" p="33188"/><f n="QPainterPath" o="root" g="wheel" p="33188"/><f n="qpainterpath.h" o="root" g="wheel" p="33188"/><f n="QPainterPathPrivate" o="root" g="wheel" p="33188"/><f n="QPainterPathStroker" o="root" g="wheel" p="33188"/><f n="QPaintEvent" o="root" g="wheel" p="33188"/><f n="QPalette" o="root" g="wheel" p="33188"/><f n="qpalette.h" o="root" g="wheel" p="33188"/><f n="QPen" o="root" g="wheel" p="33188"/><f n="qpen.h" o="root" g="wheel" p="33188"/><f n="QPicture" o="root" g="wheel" p="33188"/><f n="qpicture.h" o="root" g="wheel" p="33188"/><f n="QPictureFormatInterface" o="root" g="wheel" p="33188"/><f n="QPictureFormatPlugin" o="root" g="wheel" p="33188"/><f n="qpictureformatplugin.h" o="root" g="wheel" p="33188"/><f n="QPictureIO" o="root" g="wheel" p="33188"/><f n="QPixmap" o="root" g="wheel" p="33188"/><f n="qpixmap.h" o="root" g="wheel" p="33188"/><f n="QPixmapCache" o="root" g="wheel" p="33188"/><f n="qpixmapcache.h" o="root" g="wheel" p="33188"/><f n="QPlainTextDocumentLayout" o="root" g="wheel" p="33188"/><f n="QPlainTextEdit" o="root" g="wheel" p="33188"/><f n="qplaintextedit.h" o="root" g="wheel" p="33188"/><f n="QPlastiqueStyle" o="root" g="wheel" p="33188"/><f n="qplastiquestyle.h" o="root" g="wheel" p="33188"/><f n="QPolygon" o="root" g="wheel" p="33188"/><f n="qpolygon.h" o="root" g="wheel" p="33188"/><f n="QPolygonF" o="root" g="wheel" p="33188"/><f n="QPrintDialog" o="root" g="wheel" p="33188"/><f n="qprintdialog.h" o="root" g="wheel" p="33188"/><f n="QPrintEngine" o="root" g="wheel" p="33188"/><f n="qprintengine.h" o="root" g="wheel" p="33188"/><f n="QPrinter" o="root" g="wheel" p="33188"/><f n="qprinter.h" o="root" g="wheel" p="33188"/><f n="QPrinterInfo" o="root" g="wheel" p="33188"/><f n="qprinterinfo.h" o="root" g="wheel" p="33188"/><f n="QPrintPreviewDialog" o="root" g="wheel" p="33188"/><f n="qprintpreviewdialog.h" o="root" g="wheel" p="33188"/><f n="QPrintPreviewWidget" o="root" g="wheel" p="33188"/><f n="qprintpreviewwidget.h" o="root" g="wheel" p="33188"/><f n="QProgressBar" o="root" g="wheel" p="33188"/><f n="qprogressbar.h" o="root" g="wheel" p="33188"/><f n="QProgressDialog" o="root" g="wheel" p="33188"/><f n="qprogressdialog.h" o="root" g="wheel" p="33188"/><f n="QProxyModel" o="root" g="wheel" p="33188"/><f n="qproxymodel.h" o="root" g="wheel" p="33188"/><f n="QPushButton" o="root" g="wheel" p="33188"/><f n="qpushbutton.h" o="root" g="wheel" p="33188"/><f n="QRadialGradient" o="root" g="wheel" p="33188"/><f n="QRadioButton" o="root" g="wheel" p="33188"/><f n="qradiobutton.h" o="root" g="wheel" p="33188"/><f n="QRegExpValidator" o="root" g="wheel" p="33188"/><f n="QRegion" o="root" g="wheel" p="33188"/><f n="qregion.h" o="root" g="wheel" p="33188"/><f n="QResizeEvent" o="root" g="wheel" p="33188"/><f n="QRgb" o="root" g="wheel" p="33188"/><f n="qrgb.h" o="root" g="wheel" p="33188"/><f n="QRubberBand" o="root" g="wheel" p="33188"/><f n="qrubberband.h" o="root" g="wheel" p="33188"/><f n="QScrollArea" o="root" g="wheel" p="33188"/><f n="qscrollarea.h" o="root" g="wheel" p="33188"/><f n="QScrollBar" o="root" g="wheel" p="33188"/><f n="qscrollbar.h" o="root" g="wheel" p="33188"/><f n="QSessionManager" o="root" g="wheel" p="33188"/><f n="qsessionmanager.h" o="root" g="wheel" p="33188"/><f n="QShortcut" o="root" g="wheel" p="33188"/><f n="qshortcut.h" o="root" g="wheel" p="33188"/><f n="QShortcutEvent" o="root" g="wheel" p="33188"/><f n="QShowEvent" o="root" g="wheel" p="33188"/><f n="QSizeGrip" o="root" g="wheel" p="33188"/><f n="qsizegrip.h" o="root" g="wheel" p="33188"/><f n="QSizePolicy" o="root" g="wheel" p="33188"/><f n="qsizepolicy.h" o="root" g="wheel" p="33188"/><f n="QSlider" o="root" g="wheel" p="33188"/><f n="qslider.h" o="root" g="wheel" p="33188"/><f n="QSortFilterProxyModel" o="root" g="wheel" p="33188"/><f n="qsortfilterproxymodel.h" o="root" g="wheel" p="33188"/><f n="QSound" o="root" g="wheel" p="33188"/><f n="qsound.h" o="root" g="wheel" p="33188"/><f n="QSpacerItem" o="root" g="wheel" p="33188"/><f n="QSpinBox" o="root" g="wheel" p="33188"/><f n="qspinbox.h" o="root" g="wheel" p="33188"/><f n="QSplashScreen" o="root" g="wheel" p="33188"/><f n="qsplashscreen.h" o="root" g="wheel" p="33188"/><f n="QSplitter" o="root" g="wheel" p="33188"/><f n="qsplitter.h" o="root" g="wheel" p="33188"/><f n="QSplitterHandle" o="root" g="wheel" p="33188"/><f n="QStackedLayout" o="root" g="wheel" p="33188"/><f n="qstackedlayout.h" o="root" g="wheel" p="33188"/><f n="QStackedWidget" o="root" g="wheel" p="33188"/><f n="qstackedwidget.h" o="root" g="wheel" p="33188"/><f n="QStandardItem" o="root" g="wheel" p="33188"/><f n="QStandardItemEditorCreator" o="root" g="wheel" p="33188"/><f n="QStandardItemModel" o="root" g="wheel" p="33188"/><f n="qstandarditemmodel.h" o="root" g="wheel" p="33188"/><f n="QStatusBar" o="root" g="wheel" p="33188"/><f n="qstatusbar.h" o="root" g="wheel" p="33188"/><f n="QStatusTipEvent" o="root" g="wheel" p="33188"/><f n="QStringListModel" o="root" g="wheel" p="33188"/><f n="qstringlistmodel.h" o="root" g="wheel" p="33188"/><f n="QStyle" o="root" g="wheel" p="33188"/><f n="qstyle.h" o="root" g="wheel" p="33188"/><f n="QStyledItemDelegate" o="root" g="wheel" p="33188"/><f n="qstyleditemdelegate.h" o="root" g="wheel" p="33188"/><f n="QStyleFactory" o="root" g="wheel" p="33188"/><f n="qstylefactory.h" o="root" g="wheel" p="33188"/><f n="QStyleFactoryInterface" o="root" g="wheel" p="33188"/><f n="QStyleHintReturn" o="root" g="wheel" p="33188"/><f n="QStyleHintReturnMask" o="root" g="wheel" p="33188"/><f n="QStyleHintReturnVariant" o="root" g="wheel" p="33188"/><f n="QStyleOption" o="root" g="wheel" p="33188"/><f n="qstyleoption.h" o="root" g="wheel" p="33188"/><f n="QStyleOptionButton" o="root" g="wheel" p="33188"/><f n="QStyleOptionComboBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionComplex" o="root" g="wheel" p="33188"/><f n="QStyleOptionDockWidget" o="root" g="wheel" p="33188"/><f n="QStyleOptionDockWidgetV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionFocusRect" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrame" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrameV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionFrameV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionGraphicsItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionGroupBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionHeader" o="root" g="wheel" p="33188"/><f n="QStyleOptionMenuItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionProgressBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionProgressBarV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3DockWindow" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3ListView" o="root" g="wheel" p="33188"/><f n="QStyleOptionQ3ListViewItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionRubberBand" o="root" g="wheel" p="33188"/><f n="QStyleOptionSizeGrip" o="root" g="wheel" p="33188"/><f n="QStyleOptionSlider" o="root" g="wheel" p="33188"/><f n="QStyleOptionSpinBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionTab" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabBarBase" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabBarBaseV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionTabWidgetFrame" o="root" g="wheel" p="33188"/><f n="QStyleOptionTitleBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBar" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBox" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolBoxV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionToolButton" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItem" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV2" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV3" o="root" g="wheel" p="33188"/><f n="QStyleOptionViewItemV4" o="root" g="wheel" p="33188"/><f n="QStylePainter" o="root" g="wheel" p="33188"/><f n="qstylepainter.h" o="root" g="wheel" p="33188"/><f n="QStylePlugin" o="root" g="wheel" p="33188"/><f n="qstyleplugin.h" o="root" g="wheel" p="33188"/><f n="QSyntaxHighlighter" o="root" g="wheel" p="33188"/><f n="qsyntaxhighlighter.h" o="root" g="wheel" p="33188"/><f n="QSystemTrayIcon" o="root" g="wheel" p="33188"/><f n="qsystemtrayicon.h" o="root" g="wheel" p="33188"/><f n="QTabBar" o="root" g="wheel" p="33188"/><f n="qtabbar.h" o="root" g="wheel" p="33188"/><f n="QTabletEvent" o="root" g="wheel" p="33188"/><f n="QTableView" o="root" g="wheel" p="33188"/><f n="qtableview.h" o="root" g="wheel" p="33188"/><f n="QTableWidget" o="root" g="wheel" p="33188"/><f n="qtablewidget.h" o="root" g="wheel" p="33188"/><f n="QTableWidgetItem" o="root" g="wheel" p="33188"/><f n="QTableWidgetSelectionRange" o="root" g="wheel" p="33188"/><f n="QTabWidget" o="root" g="wheel" p="33188"/><f n="qtabwidget.h" o="root" g="wheel" p="33188"/><f n="QtEvents" o="root" g="wheel" p="33188"/><f n="QTextBlock" o="root" g="wheel" p="33188"/><f n="QTextBlockFormat" o="root" g="wheel" p="33188"/><f n="QTextBlockGroup" o="root" g="wheel" p="33188"/><f n="QTextBlockUserData" o="root" g="wheel" p="33188"/><f n="QTextBrowser" o="root" g="wheel" p="33188"/><f n="qtextbrowser.h" o="root" g="wheel" p="33188"/><f n="QTextCharFormat" o="root" g="wheel" p="33188"/><f n="QTextCursor" o="root" g="wheel" p="33188"/><f n="qtextcursor.h" o="root" g="wheel" p="33188"/><f n="QTextDocument" o="root" g="wheel" p="33188"/><f n="qtextdocument.h" o="root" g="wheel" p="33188"/><f n="QTextDocumentFragment" o="root" g="wheel" p="33188"/><f n="qtextdocumentfragment.h" o="root" g="wheel" p="33188"/><f n="QTextDocumentWriter" o="root" g="wheel" p="33188"/><f n="qtextdocumentwriter.h" o="root" g="wheel" p="33188"/><f n="QTextEdit" o="root" g="wheel" p="33188"/><f n="qtextedit.h" o="root" g="wheel" p="33188"/><f n="QTextFormat" o="root" g="wheel" p="33188"/><f n="qtextformat.h" o="root" g="wheel" p="33188"/><f n="QTextFragment" o="root" g="wheel" p="33188"/><f n="QTextFrame" o="root" g="wheel" p="33188"/><f n="QTextFrameFormat" o="root" g="wheel" p="33188"/><f n="QTextFrameLayoutData" o="root" g="wheel" p="33188"/><f n="QTextImageFormat" o="root" g="wheel" p="33188"/><f n="QTextInlineObject" o="root" g="wheel" p="33188"/><f n="QTextItem" o="root" g="wheel" p="33188"/><f n="QTextLayout" o="root" g="wheel" p="33188"/><f n="qtextlayout.h" o="root" g="wheel" p="33188"/><f n="QTextLength" o="root" g="wheel" p="33188"/><f n="QTextLine" o="root" g="wheel" p="33188"/><f n="QTextList" o="root" g="wheel" p="33188"/><f n="qtextlist.h" o="root" g="wheel" p="33188"/><f n="QTextListFormat" o="root" g="wheel" p="33188"/><f n="QTextObject" o="root" g="wheel" p="33188"/><f n="qtextobject.h" o="root" g="wheel" p="33188"/><f n="QTextObjectInterface" o="root" g="wheel" p="33188"/><f n="QTextOption" o="root" g="wheel" p="33188"/><f n="qtextoption.h" o="root" g="wheel" p="33188"/><f n="QTextTable" o="root" g="wheel" p="33188"/><f n="qtexttable.h" o="root" g="wheel" p="33188"/><f n="QTextTableCell" o="root" g="wheel" p="33188"/><f n="QTextTableCellFormat" o="root" g="wheel" p="33188"/><f n="QTextTableFormat" o="root" g="wheel" p="33188"/><f n="QtGui" o="root" g="wheel" p="33188"/><f n="QTimeEdit" o="root" g="wheel" p="33188"/><f n="QToolBar" o="root" g="wheel" p="33188"/><f n="qtoolbar.h" o="root" g="wheel" p="33188"/><f n="QToolBarChangeEvent" o="root" g="wheel" p="33188"/><f n="QToolBox" o="root" g="wheel" p="33188"/><f n="qtoolbox.h" o="root" g="wheel" p="33188"/><f n="QToolButton" o="root" g="wheel" p="33188"/><f n="qtoolbutton.h" o="root" g="wheel" p="33188"/><f n="QToolTip" o="root" g="wheel" p="33188"/><f n="qtooltip.h" o="root" g="wheel" p="33188"/><f n="QTransform" o="root" g="wheel" p="33188"/><f n="qtransform.h" o="root" g="wheel" p="33188"/><f n="QTreeView" o="root" g="wheel" p="33188"/><f n="qtreeview.h" o="root" g="wheel" p="33188"/><f n="QTreeWidget" o="root" g="wheel" p="33188"/><f n="qtreewidget.h" o="root" g="wheel" p="33188"/><f n="QTreeWidgetItem" o="root" g="wheel" p="33188"/><f n="QTreeWidgetItemIterator" o="root" g="wheel" p="33188"/><f n="qtreewidgetitemiterator.h" o="root" g="wheel" p="33188"/><f n="QUndoCommand" o="root" g="wheel" p="33188"/><f n="QUndoGroup" o="root" g="wheel" p="33188"/><f n="qundogroup.h" o="root" g="wheel" p="33188"/><f n="QUndoStack" o="root" g="wheel" p="33188"/><f n="qundostack.h" o="root" g="wheel" p="33188"/><f n="QUndoView" o="root" g="wheel" p="33188"/><f n="qundoview.h" o="root" g="wheel" p="33188"/><f n="QUnixPrintWidget" o="root" g="wheel" p="33188"/><f n="QUpdateLaterEvent" o="root" g="wheel" p="33188"/><f n="QValidator" o="root" g="wheel" p="33188"/><f n="qvalidator.h" o="root" g="wheel" p="33188"/><f n="QVBoxLayout" o="root" g="wheel" p="33188"/><f n="QWhatsThis" o="root" g="wheel" p="33188"/><f n="qwhatsthis.h" o="root" g="wheel" p="33188"/><f n="QWhatsThisClickedEvent" o="root" g="wheel" p="33188"/><f n="QWheelEvent" o="root" g="wheel" p="33188"/><f n="QWidget" o="root" g="wheel" p="33188"/><f n="qwidget.h" o="root" g="wheel" p="33188"/><f n="QWidgetAction" o="root" g="wheel" p="33188"/><f n="qwidgetaction.h" o="root" g="wheel" p="33188"/><f n="QWidgetData" o="root" g="wheel" p="33188"/><f n="QWidgetItem" o="root" g="wheel" p="33188"/><f n="QWidgetItemV2" o="root" g="wheel" p="33188"/><f n="QWidgetList" o="root" g="wheel" p="33188"/><f n="QWidgetMapper" o="root" g="wheel" p="33188"/><f n="QWidgetSet" o="root" g="wheel" p="33188"/><f n="qwindowdefs.h" o="root" g="wheel" p="33188"/><f n="QWindowsCEStyle" o="root" g="wheel" p="33188"/><f n="qwindowscestyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsMime" o="root" g="wheel" p="33188"/><f n="QWindowsMobileStyle" o="root" g="wheel" p="33188"/><f n="qwindowsmobilestyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsStyle" o="root" g="wheel" p="33188"/><f n="qwindowsstyle.h" o="root" g="wheel" p="33188"/><f n="QWindowStateChangeEvent" o="root" g="wheel" p="33188"/><f n="QWindowsVistaStyle" o="root" g="wheel" p="33188"/><f n="qwindowsvistastyle.h" o="root" g="wheel" p="33188"/><f n="QWindowsXPStyle" o="root" g="wheel" p="33188"/><f n="qwindowsxpstyle.h" o="root" g="wheel" p="33188"/><f n="QWizard" o="root" g="wheel" p="33188"/><f n="qwizard.h" o="root" g="wheel" p="33188"/><f n="QWizardPage" o="root" g="wheel" p="33188"/><f n="QWMatrix" o="root" g="wheel" p="33188"/><f n="qwmatrix.h" o="root" g="wheel" p="33188"/><f n="QWorkspace" o="root" g="wheel" p="33188"/><f n="qworkspace.h" o="root" g="wheel" p="33188"/></f><f n="QtGui" o="root" g="wheel" p="33261"/><f n="Resources" o="root" g="wheel" p="16877"><f n="qt_menu.nib" o="root" g="wheel" p="16877"><f n="classes.nib" o="root" g="wheel" p="33188"/><f n="info.nib" o="root" g="wheel" p="33188"/><f n="keyedobjects.nib" o="root" g="wheel" p="33188"/></f></f></f></f></f><f n="QtGui.la" o="root" g="wheel" p="33188"/><f n="QtHelp.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="qhelp_global.h" o="root" g="wheel" p="33188"/><f n="QHelpContentItem" o="root" g="wheel" p="33188"/><f n="QHelpContentModel" o="root" g="wheel" p="33188"/><f n="QHelpContentWidget" o="root" g="wheel" p="33188"/><f n="qhelpcontentwidget.h" o="root" g="wheel" p="33188"/><f n="QHelpEngine" o="root" g="wheel" p="33188"/><f n="qhelpengine.h" o="root" g="wheel" p="33188"/><f n="QHelpEngineCore" o="root" g="wheel" p="33188"/><f n="qhelpenginecore.h" o="root" g="wheel" p="33188"/><f n="QHelpGlobal" o="root" g="wheel" p="33188"/><f n="QHelpIndexModel" o="root" g="wheel" p="33188"/><f n="QHelpIndexWidget" o="root" g="wheel" p="33188"/><f n="qhelpindexwidget.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchEngine" o="root" g="wheel" p="33188"/><f n="qhelpsearchengine.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchQuery" o="root" g="wheel" p="33188"/><f n="QHelpSearchQueryWidget" o="root" g="wheel" p="33188"/><f n="qhelpsearchquerywidget.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchResultWidget" o="root" g="wheel" p="33188"/><f n="qhelpsearchresultwidget.h" o="root" g="wheel" p="33188"/><f n="QtHelp" o="root" g="wheel" p="33188"/></f><f n="QtHelp" o="root" g="wheel" p="33261"/><f n="QtHelp.prl" o="root" g="wheel" p="33188"/><f n="QtHelp_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="qhelp_global.h" o="root" g="wheel" p="33188"/><f n="QHelpContentItem" o="root" g="wheel" p="33188"/><f n="QHelpContentModel" o="root" g="wheel" p="33188"/><f n="QHelpContentWidget" o="root" g="wheel" p="33188"/><f n="qhelpcontentwidget.h" o="root" g="wheel" p="33188"/><f n="QHelpEngine" o="root" g="wheel" p="33188"/><f n="qhelpengine.h" o="root" g="wheel" p="33188"/><f n="QHelpEngineCore" o="root" g="wheel" p="33188"/><f n="qhelpenginecore.h" o="root" g="wheel" p="33188"/><f n="QHelpGlobal" o="root" g="wheel" p="33188"/><f n="QHelpIndexModel" o="root" g="wheel" p="33188"/><f n="QHelpIndexWidget" o="root" g="wheel" p="33188"/><f n="qhelpindexwidget.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchEngine" o="root" g="wheel" p="33188"/><f n="qhelpsearchengine.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchQuery" o="root" g="wheel" p="33188"/><f n="QHelpSearchQueryWidget" o="root" g="wheel" p="33188"/><f n="qhelpsearchquerywidget.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchResultWidget" o="root" g="wheel" p="33188"/><f n="qhelpsearchresultwidget.h" o="root" g="wheel" p="33188"/><f n="QtHelp" o="root" g="wheel" p="33188"/></f><f n="QtHelp" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="qhelp_global.h" o="root" g="wheel" p="33188"/><f n="QHelpContentItem" o="root" g="wheel" p="33188"/><f n="QHelpContentModel" o="root" g="wheel" p="33188"/><f n="QHelpContentWidget" o="root" g="wheel" p="33188"/><f n="qhelpcontentwidget.h" o="root" g="wheel" p="33188"/><f n="QHelpEngine" o="root" g="wheel" p="33188"/><f n="qhelpengine.h" o="root" g="wheel" p="33188"/><f n="QHelpEngineCore" o="root" g="wheel" p="33188"/><f n="qhelpenginecore.h" o="root" g="wheel" p="33188"/><f n="QHelpGlobal" o="root" g="wheel" p="33188"/><f n="QHelpIndexModel" o="root" g="wheel" p="33188"/><f n="QHelpIndexWidget" o="root" g="wheel" p="33188"/><f n="qhelpindexwidget.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchEngine" o="root" g="wheel" p="33188"/><f n="qhelpsearchengine.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchQuery" o="root" g="wheel" p="33188"/><f n="QHelpSearchQueryWidget" o="root" g="wheel" p="33188"/><f n="qhelpsearchquerywidget.h" o="root" g="wheel" p="33188"/><f n="QHelpSearchResultWidget" o="root" g="wheel" p="33188"/><f n="qhelpsearchresultwidget.h" o="root" g="wheel" p="33188"/><f n="QtHelp" o="root" g="wheel" p="33188"/></f><f n="QtHelp" o="root" g="wheel" p="33261"/></f></f></f><f n="QtHelp.la" o="root" g="wheel" p="33188"/><f n="QtNetwork.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="Q_IPV6ADDR" o="root" g="wheel" p="33188"/><f n="QAbstractNetworkCache" o="root" g="wheel" p="33188"/><f n="qabstractnetworkcache.h" o="root" g="wheel" p="33188"/><f n="QAbstractSocket" o="root" g="wheel" p="33188"/><f n="qabstractsocket.h" o="root" g="wheel" p="33188"/><f n="QAuthenticator" o="root" g="wheel" p="33188"/><f n="qauthenticator.h" o="root" g="wheel" p="33188"/><f n="QFtp" o="root" g="wheel" p="33188"/><f n="qftp.h" o="root" g="wheel" p="33188"/><f n="QHostAddress" o="root" g="wheel" p="33188"/><f n="qhostaddress.h" o="root" g="wheel" p="33188"/><f n="QHostInfo" o="root" g="wheel" p="33188"/><f n="qhostinfo.h" o="root" g="wheel" p="33188"/><f n="QHttp" o="root" g="wheel" p="33188"/><f n="qhttp.h" o="root" g="wheel" p="33188"/><f n="QHttpHeader" o="root" g="wheel" p="33188"/><f n="QHttpRequestHeader" o="root" g="wheel" p="33188"/><f n="QHttpResponseHeader" o="root" g="wheel" p="33188"/><f n="QIPv6Address" o="root" g="wheel" p="33188"/><f n="QLocalServer" o="root" g="wheel" p="33188"/><f n="qlocalserver.h" o="root" g="wheel" p="33188"/><f n="QLocalSocket" o="root" g="wheel" p="33188"/><f n="qlocalsocket.h" o="root" g="wheel" p="33188"/><f n="QNetworkAccessManager" o="root" g="wheel" p="33188"/><f n="qnetworkaccessmanager.h" o="root" g="wheel" p="33188"/><f n="QNetworkAddressEntry" o="root" g="wheel" p="33188"/><f n="QNetworkCacheMetaData" o="root" g="wheel" p="33188"/><f n="QNetworkCookie" o="root" g="wheel" p="33188"/><f n="qnetworkcookie.h" o="root" g="wheel" p="33188"/><f n="QNetworkCookieJar" o="root" g="wheel" p="33188"/><f n="QNetworkDiskCache" o="root" g="wheel" p="33188"/><f n="qnetworkdiskcache.h" o="root" g="wheel" p="33188"/><f n="QNetworkInterface" o="root" g="wheel" p="33188"/><f n="qnetworkinterface.h" o="root" g="wheel" p="33188"/><f n="QNetworkProxy" o="root" g="wheel" p="33188"/><f n="qnetworkproxy.h" o="root" g="wheel" p="33188"/><f n="QNetworkProxyFactory" o="root" g="wheel" p="33188"/><f n="QNetworkProxyQuery" o="root" g="wheel" p="33188"/><f n="QNetworkReply" o="root" g="wheel" p="33188"/><f n="qnetworkreply.h" o="root" g="wheel" p="33188"/><f n="QNetworkRequest" o="root" g="wheel" p="33188"/><f n="qnetworkrequest.h" o="root" g="wheel" p="33188"/><f n="QSsl" o="root" g="wheel" p="33188"/><f n="qssl.h" o="root" g="wheel" p="33188"/><f n="QSslCertificate" o="root" g="wheel" p="33188"/><f n="qsslcertificate.h" o="root" g="wheel" p="33188"/><f n="QSslCipher" o="root" g="wheel" p="33188"/><f n="qsslcipher.h" o="root" g="wheel" p="33188"/><f n="QSslConfiguration" o="root" g="wheel" p="33188"/><f n="qsslconfiguration.h" o="root" g="wheel" p="33188"/><f n="QSslError" o="root" g="wheel" p="33188"/><f n="qsslerror.h" o="root" g="wheel" p="33188"/><f n="QSslKey" o="root" g="wheel" p="33188"/><f n="qsslkey.h" o="root" g="wheel" p="33188"/><f n="QSslSocket" o="root" g="wheel" p="33188"/><f n="qsslsocket.h" o="root" g="wheel" p="33188"/><f n="QTcpServer" o="root" g="wheel" p="33188"/><f n="qtcpserver.h" o="root" g="wheel" p="33188"/><f n="QTcpSocket" o="root" g="wheel" p="33188"/><f n="qtcpsocket.h" o="root" g="wheel" p="33188"/><f n="QtNetwork" o="root" g="wheel" p="33188"/><f n="QUdpSocket" o="root" g="wheel" p="33188"/><f n="qudpsocket.h" o="root" g="wheel" p="33188"/><f n="QUrlInfo" o="root" g="wheel" p="33188"/><f n="qurlinfo.h" o="root" g="wheel" p="33188"/></f><f n="QtNetwork" o="root" g="wheel" p="33261"/><f n="QtNetwork.prl" o="root" g="wheel" p="33188"/><f n="QtNetwork_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="Q_IPV6ADDR" o="root" g="wheel" p="33188"/><f n="QAbstractNetworkCache" o="root" g="wheel" p="33188"/><f n="qabstractnetworkcache.h" o="root" g="wheel" p="33188"/><f n="QAbstractSocket" o="root" g="wheel" p="33188"/><f n="qabstractsocket.h" o="root" g="wheel" p="33188"/><f n="QAuthenticator" o="root" g="wheel" p="33188"/><f n="qauthenticator.h" o="root" g="wheel" p="33188"/><f n="QFtp" o="root" g="wheel" p="33188"/><f n="qftp.h" o="root" g="wheel" p="33188"/><f n="QHostAddress" o="root" g="wheel" p="33188"/><f n="qhostaddress.h" o="root" g="wheel" p="33188"/><f n="QHostInfo" o="root" g="wheel" p="33188"/><f n="qhostinfo.h" o="root" g="wheel" p="33188"/><f n="QHttp" o="root" g="wheel" p="33188"/><f n="qhttp.h" o="root" g="wheel" p="33188"/><f n="QHttpHeader" o="root" g="wheel" p="33188"/><f n="QHttpRequestHeader" o="root" g="wheel" p="33188"/><f n="QHttpResponseHeader" o="root" g="wheel" p="33188"/><f n="QIPv6Address" o="root" g="wheel" p="33188"/><f n="QLocalServer" o="root" g="wheel" p="33188"/><f n="qlocalserver.h" o="root" g="wheel" p="33188"/><f n="QLocalSocket" o="root" g="wheel" p="33188"/><f n="qlocalsocket.h" o="root" g="wheel" p="33188"/><f n="QNetworkAccessManager" o="root" g="wheel" p="33188"/><f n="qnetworkaccessmanager.h" o="root" g="wheel" p="33188"/><f n="QNetworkAddressEntry" o="root" g="wheel" p="33188"/><f n="QNetworkCacheMetaData" o="root" g="wheel" p="33188"/><f n="QNetworkCookie" o="root" g="wheel" p="33188"/><f n="qnetworkcookie.h" o="root" g="wheel" p="33188"/><f n="QNetworkCookieJar" o="root" g="wheel" p="33188"/><f n="QNetworkDiskCache" o="root" g="wheel" p="33188"/><f n="qnetworkdiskcache.h" o="root" g="wheel" p="33188"/><f n="QNetworkInterface" o="root" g="wheel" p="33188"/><f n="qnetworkinterface.h" o="root" g="wheel" p="33188"/><f n="QNetworkProxy" o="root" g="wheel" p="33188"/><f n="qnetworkproxy.h" o="root" g="wheel" p="33188"/><f n="QNetworkProxyFactory" o="root" g="wheel" p="33188"/><f n="QNetworkProxyQuery" o="root" g="wheel" p="33188"/><f n="QNetworkReply" o="root" g="wheel" p="33188"/><f n="qnetworkreply.h" o="root" g="wheel" p="33188"/><f n="QNetworkRequest" o="root" g="wheel" p="33188"/><f n="qnetworkrequest.h" o="root" g="wheel" p="33188"/><f n="QSsl" o="root" g="wheel" p="33188"/><f n="qssl.h" o="root" g="wheel" p="33188"/><f n="QSslCertificate" o="root" g="wheel" p="33188"/><f n="qsslcertificate.h" o="root" g="wheel" p="33188"/><f n="QSslCipher" o="root" g="wheel" p="33188"/><f n="qsslcipher.h" o="root" g="wheel" p="33188"/><f n="QSslConfiguration" o="root" g="wheel" p="33188"/><f n="qsslconfiguration.h" o="root" g="wheel" p="33188"/><f n="QSslError" o="root" g="wheel" p="33188"/><f n="qsslerror.h" o="root" g="wheel" p="33188"/><f n="QSslKey" o="root" g="wheel" p="33188"/><f n="qsslkey.h" o="root" g="wheel" p="33188"/><f n="QSslSocket" o="root" g="wheel" p="33188"/><f n="qsslsocket.h" o="root" g="wheel" p="33188"/><f n="QTcpServer" o="root" g="wheel" p="33188"/><f n="qtcpserver.h" o="root" g="wheel" p="33188"/><f n="QTcpSocket" o="root" g="wheel" p="33188"/><f n="qtcpsocket.h" o="root" g="wheel" p="33188"/><f n="QtNetwork" o="root" g="wheel" p="33188"/><f n="QUdpSocket" o="root" g="wheel" p="33188"/><f n="qudpsocket.h" o="root" g="wheel" p="33188"/><f n="QUrlInfo" o="root" g="wheel" p="33188"/><f n="qurlinfo.h" o="root" g="wheel" p="33188"/></f><f n="QtNetwork" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="Q_IPV6ADDR" o="root" g="wheel" p="33188"/><f n="QAbstractNetworkCache" o="root" g="wheel" p="33188"/><f n="qabstractnetworkcache.h" o="root" g="wheel" p="33188"/><f n="QAbstractSocket" o="root" g="wheel" p="33188"/><f n="qabstractsocket.h" o="root" g="wheel" p="33188"/><f n="QAuthenticator" o="root" g="wheel" p="33188"/><f n="qauthenticator.h" o="root" g="wheel" p="33188"/><f n="QFtp" o="root" g="wheel" p="33188"/><f n="qftp.h" o="root" g="wheel" p="33188"/><f n="QHostAddress" o="root" g="wheel" p="33188"/><f n="qhostaddress.h" o="root" g="wheel" p="33188"/><f n="QHostInfo" o="root" g="wheel" p="33188"/><f n="qhostinfo.h" o="root" g="wheel" p="33188"/><f n="QHttp" o="root" g="wheel" p="33188"/><f n="qhttp.h" o="root" g="wheel" p="33188"/><f n="QHttpHeader" o="root" g="wheel" p="33188"/><f n="QHttpRequestHeader" o="root" g="wheel" p="33188"/><f n="QHttpResponseHeader" o="root" g="wheel" p="33188"/><f n="QIPv6Address" o="root" g="wheel" p="33188"/><f n="QLocalServer" o="root" g="wheel" p="33188"/><f n="qlocalserver.h" o="root" g="wheel" p="33188"/><f n="QLocalSocket" o="root" g="wheel" p="33188"/><f n="qlocalsocket.h" o="root" g="wheel" p="33188"/><f n="QNetworkAccessManager" o="root" g="wheel" p="33188"/><f n="qnetworkaccessmanager.h" o="root" g="wheel" p="33188"/><f n="QNetworkAddressEntry" o="root" g="wheel" p="33188"/><f n="QNetworkCacheMetaData" o="root" g="wheel" p="33188"/><f n="QNetworkCookie" o="root" g="wheel" p="33188"/><f n="qnetworkcookie.h" o="root" g="wheel" p="33188"/><f n="QNetworkCookieJar" o="root" g="wheel" p="33188"/><f n="QNetworkDiskCache" o="root" g="wheel" p="33188"/><f n="qnetworkdiskcache.h" o="root" g="wheel" p="33188"/><f n="QNetworkInterface" o="root" g="wheel" p="33188"/><f n="qnetworkinterface.h" o="root" g="wheel" p="33188"/><f n="QNetworkProxy" o="root" g="wheel" p="33188"/><f n="qnetworkproxy.h" o="root" g="wheel" p="33188"/><f n="QNetworkProxyFactory" o="root" g="wheel" p="33188"/><f n="QNetworkProxyQuery" o="root" g="wheel" p="33188"/><f n="QNetworkReply" o="root" g="wheel" p="33188"/><f n="qnetworkreply.h" o="root" g="wheel" p="33188"/><f n="QNetworkRequest" o="root" g="wheel" p="33188"/><f n="qnetworkrequest.h" o="root" g="wheel" p="33188"/><f n="QSsl" o="root" g="wheel" p="33188"/><f n="qssl.h" o="root" g="wheel" p="33188"/><f n="QSslCertificate" o="root" g="wheel" p="33188"/><f n="qsslcertificate.h" o="root" g="wheel" p="33188"/><f n="QSslCipher" o="root" g="wheel" p="33188"/><f n="qsslcipher.h" o="root" g="wheel" p="33188"/><f n="QSslConfiguration" o="root" g="wheel" p="33188"/><f n="qsslconfiguration.h" o="root" g="wheel" p="33188"/><f n="QSslError" o="root" g="wheel" p="33188"/><f n="qsslerror.h" o="root" g="wheel" p="33188"/><f n="QSslKey" o="root" g="wheel" p="33188"/><f n="qsslkey.h" o="root" g="wheel" p="33188"/><f n="QSslSocket" o="root" g="wheel" p="33188"/><f n="qsslsocket.h" o="root" g="wheel" p="33188"/><f n="QTcpServer" o="root" g="wheel" p="33188"/><f n="qtcpserver.h" o="root" g="wheel" p="33188"/><f n="QTcpSocket" o="root" g="wheel" p="33188"/><f n="qtcpsocket.h" o="root" g="wheel" p="33188"/><f n="QtNetwork" o="root" g="wheel" p="33188"/><f n="QUdpSocket" o="root" g="wheel" p="33188"/><f n="qudpsocket.h" o="root" g="wheel" p="33188"/><f n="QUrlInfo" o="root" g="wheel" p="33188"/><f n="qurlinfo.h" o="root" g="wheel" p="33188"/></f><f n="QtNetwork" o="root" g="wheel" p="33261"/></f></f></f><f n="QtNetwork.la" o="root" g="wheel" p="33188"/><f n="QtOpenGL.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="glgc_shader_source.h" o="root" g="wheel" p="33188"/><f n="qgl.h" o="root" g="wheel" p="33188"/><f n="QGLColormap" o="root" g="wheel" p="33188"/><f n="qglcolormap.h" o="root" g="wheel" p="33188"/><f n="QGLContext" o="root" g="wheel" p="33188"/><f n="QGLFormat" o="root" g="wheel" p="33188"/><f n="QGLFramebufferObject" o="root" g="wheel" p="33188"/><f n="qglframebufferobject.h" o="root" g="wheel" p="33188"/><f n="QGLPixelBuffer" o="root" g="wheel" p="33188"/><f n="qglpixelbuffer.h" o="root" g="wheel" p="33188"/><f n="QGLWidget" o="root" g="wheel" p="33188"/><f n="QMacCompatGLenum" o="root" g="wheel" p="33188"/><f n="QMacCompatGLint" o="root" g="wheel" p="33188"/><f n="QMacCompatGLuint" o="root" g="wheel" p="33188"/><f n="QMacGLCompatTypes" o="root" g="wheel" p="33188"/><f n="QtOpenGL" o="root" g="wheel" p="33188"/></f><f n="QtOpenGL" o="root" g="wheel" p="33261"/><f n="QtOpenGL.prl" o="root" g="wheel" p="33188"/><f n="QtOpenGL_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="glgc_shader_source.h" o="root" g="wheel" p="33188"/><f n="qgl.h" o="root" g="wheel" p="33188"/><f n="QGLColormap" o="root" g="wheel" p="33188"/><f n="qglcolormap.h" o="root" g="wheel" p="33188"/><f n="QGLContext" o="root" g="wheel" p="33188"/><f n="QGLFormat" o="root" g="wheel" p="33188"/><f n="QGLFramebufferObject" o="root" g="wheel" p="33188"/><f n="qglframebufferobject.h" o="root" g="wheel" p="33188"/><f n="QGLPixelBuffer" o="root" g="wheel" p="33188"/><f n="qglpixelbuffer.h" o="root" g="wheel" p="33188"/><f n="QGLWidget" o="root" g="wheel" p="33188"/><f n="QMacCompatGLenum" o="root" g="wheel" p="33188"/><f n="QMacCompatGLint" o="root" g="wheel" p="33188"/><f n="QMacCompatGLuint" o="root" g="wheel" p="33188"/><f n="QMacGLCompatTypes" o="root" g="wheel" p="33188"/><f n="QtOpenGL" o="root" g="wheel" p="33188"/></f><f n="QtOpenGL" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="glgc_shader_source.h" o="root" g="wheel" p="33188"/><f n="qgl.h" o="root" g="wheel" p="33188"/><f n="QGLColormap" o="root" g="wheel" p="33188"/><f n="qglcolormap.h" o="root" g="wheel" p="33188"/><f n="QGLContext" o="root" g="wheel" p="33188"/><f n="QGLFormat" o="root" g="wheel" p="33188"/><f n="QGLFramebufferObject" o="root" g="wheel" p="33188"/><f n="qglframebufferobject.h" o="root" g="wheel" p="33188"/><f n="QGLPixelBuffer" o="root" g="wheel" p="33188"/><f n="qglpixelbuffer.h" o="root" g="wheel" p="33188"/><f n="QGLWidget" o="root" g="wheel" p="33188"/><f n="QMacCompatGLenum" o="root" g="wheel" p="33188"/><f n="QMacCompatGLint" o="root" g="wheel" p="33188"/><f n="QMacCompatGLuint" o="root" g="wheel" p="33188"/><f n="QMacGLCompatTypes" o="root" g="wheel" p="33188"/><f n="QtOpenGL" o="root" g="wheel" p="33188"/></f><f n="QtOpenGL" o="root" g="wheel" p="33261"/></f></f></f><f n="QtOpenGL.la" o="root" g="wheel" p="33188"/><f n="QtScript.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QScriptable" o="root" g="wheel" p="33188"/><f n="qscriptable.h" o="root" g="wheel" p="33188"/><f n="QScriptClass" o="root" g="wheel" p="33188"/><f n="qscriptclass.h" o="root" g="wheel" p="33188"/><f n="QScriptClassPropertyIterator" o="root" g="wheel" p="33188"/><f n="qscriptclasspropertyiterator.h" o="root" g="wheel" p="33188"/><f n="QScriptContext" o="root" g="wheel" p="33188"/><f n="qscriptcontext.h" o="root" g="wheel" p="33188"/><f n="QScriptContextInfo" o="root" g="wheel" p="33188"/><f n="qscriptcontextinfo.h" o="root" g="wheel" p="33188"/><f n="QScriptContextInfoList" o="root" g="wheel" p="33188"/><f n="QScriptEngine" o="root" g="wheel" p="33188"/><f n="qscriptengine.h" o="root" g="wheel" p="33188"/><f n="QScriptEngineAgent" o="root" g="wheel" p="33188"/><f n="qscriptengineagent.h" o="root" g="wheel" p="33188"/><f n="QScriptExtensionInterface" o="root" g="wheel" p="33188"/><f n="qscriptextensioninterface.h" o="root" g="wheel" p="33188"/><f n="QScriptExtensionPlugin" o="root" g="wheel" p="33188"/><f n="qscriptextensionplugin.h" o="root" g="wheel" p="33188"/><f n="QScriptString" o="root" g="wheel" p="33188"/><f n="qscriptstring.h" o="root" g="wheel" p="33188"/><f n="QScriptSyntaxCheckResult" o="root" g="wheel" p="33188"/><f n="QScriptValue" o="root" g="wheel" p="33188"/><f n="qscriptvalue.h" o="root" g="wheel" p="33188"/><f n="QScriptValueIterator" o="root" g="wheel" p="33188"/><f n="qscriptvalueiterator.h" o="root" g="wheel" p="33188"/><f n="QScriptValueList" o="root" g="wheel" p="33188"/><f n="QtScript" o="root" g="wheel" p="33188"/></f><f n="QtScript" o="root" g="wheel" p="33261"/><f n="QtScript.prl" o="root" g="wheel" p="33188"/><f n="QtScript_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QScriptable" o="root" g="wheel" p="33188"/><f n="qscriptable.h" o="root" g="wheel" p="33188"/><f n="QScriptClass" o="root" g="wheel" p="33188"/><f n="qscriptclass.h" o="root" g="wheel" p="33188"/><f n="QScriptClassPropertyIterator" o="root" g="wheel" p="33188"/><f n="qscriptclasspropertyiterator.h" o="root" g="wheel" p="33188"/><f n="QScriptContext" o="root" g="wheel" p="33188"/><f n="qscriptcontext.h" o="root" g="wheel" p="33188"/><f n="QScriptContextInfo" o="root" g="wheel" p="33188"/><f n="qscriptcontextinfo.h" o="root" g="wheel" p="33188"/><f n="QScriptContextInfoList" o="root" g="wheel" p="33188"/><f n="QScriptEngine" o="root" g="wheel" p="33188"/><f n="qscriptengine.h" o="root" g="wheel" p="33188"/><f n="QScriptEngineAgent" o="root" g="wheel" p="33188"/><f n="qscriptengineagent.h" o="root" g="wheel" p="33188"/><f n="QScriptExtensionInterface" o="root" g="wheel" p="33188"/><f n="qscriptextensioninterface.h" o="root" g="wheel" p="33188"/><f n="QScriptExtensionPlugin" o="root" g="wheel" p="33188"/><f n="qscriptextensionplugin.h" o="root" g="wheel" p="33188"/><f n="QScriptString" o="root" g="wheel" p="33188"/><f n="qscriptstring.h" o="root" g="wheel" p="33188"/><f n="QScriptSyntaxCheckResult" o="root" g="wheel" p="33188"/><f n="QScriptValue" o="root" g="wheel" p="33188"/><f n="qscriptvalue.h" o="root" g="wheel" p="33188"/><f n="QScriptValueIterator" o="root" g="wheel" p="33188"/><f n="qscriptvalueiterator.h" o="root" g="wheel" p="33188"/><f n="QScriptValueList" o="root" g="wheel" p="33188"/><f n="QtScript" o="root" g="wheel" p="33188"/></f><f n="QtScript" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QScriptable" o="root" g="wheel" p="33188"/><f n="qscriptable.h" o="root" g="wheel" p="33188"/><f n="QScriptClass" o="root" g="wheel" p="33188"/><f n="qscriptclass.h" o="root" g="wheel" p="33188"/><f n="QScriptClassPropertyIterator" o="root" g="wheel" p="33188"/><f n="qscriptclasspropertyiterator.h" o="root" g="wheel" p="33188"/><f n="QScriptContext" o="root" g="wheel" p="33188"/><f n="qscriptcontext.h" o="root" g="wheel" p="33188"/><f n="QScriptContextInfo" o="root" g="wheel" p="33188"/><f n="qscriptcontextinfo.h" o="root" g="wheel" p="33188"/><f n="QScriptContextInfoList" o="root" g="wheel" p="33188"/><f n="QScriptEngine" o="root" g="wheel" p="33188"/><f n="qscriptengine.h" o="root" g="wheel" p="33188"/><f n="QScriptEngineAgent" o="root" g="wheel" p="33188"/><f n="qscriptengineagent.h" o="root" g="wheel" p="33188"/><f n="QScriptExtensionInterface" o="root" g="wheel" p="33188"/><f n="qscriptextensioninterface.h" o="root" g="wheel" p="33188"/><f n="QScriptExtensionPlugin" o="root" g="wheel" p="33188"/><f n="qscriptextensionplugin.h" o="root" g="wheel" p="33188"/><f n="QScriptString" o="root" g="wheel" p="33188"/><f n="qscriptstring.h" o="root" g="wheel" p="33188"/><f n="QScriptSyntaxCheckResult" o="root" g="wheel" p="33188"/><f n="QScriptValue" o="root" g="wheel" p="33188"/><f n="qscriptvalue.h" o="root" g="wheel" p="33188"/><f n="QScriptValueIterator" o="root" g="wheel" p="33188"/><f n="qscriptvalueiterator.h" o="root" g="wheel" p="33188"/><f n="QScriptValueList" o="root" g="wheel" p="33188"/><f n="QtScript" o="root" g="wheel" p="33188"/></f><f n="QtScript" o="root" g="wheel" p="33261"/></f></f></f><f n="QtScript.la" o="root" g="wheel" p="33188"/><f n="QtScriptTools.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QScriptEngineDebugger" o="root" g="wheel" p="33188"/><f n="qscriptenginedebugger.h" o="root" g="wheel" p="33188"/><f n="QtScriptTools" o="root" g="wheel" p="33188"/></f><f n="QtScriptTools" o="root" g="wheel" p="33261"/><f n="QtScriptTools.prl" o="root" g="wheel" p="33188"/><f n="QtScriptTools_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QScriptEngineDebugger" o="root" g="wheel" p="33188"/><f n="qscriptenginedebugger.h" o="root" g="wheel" p="33188"/><f n="QtScriptTools" o="root" g="wheel" p="33188"/></f><f n="QtScriptTools" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QScriptEngineDebugger" o="root" g="wheel" p="33188"/><f n="qscriptenginedebugger.h" o="root" g="wheel" p="33188"/><f n="QtScriptTools" o="root" g="wheel" p="33188"/></f><f n="QtScriptTools" o="root" g="wheel" p="33261"/></f></f></f><f n="QtScriptTools.la" o="root" g="wheel" p="33188"/><f n="QtSql.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QDB2Driver" o="root" g="wheel" p="33188"/><f n="QDB2Result" o="root" g="wheel" p="33188"/><f n="QIBaseDriver" o="root" g="wheel" p="33188"/><f n="QIBaseResult" o="root" g="wheel" p="33188"/><f n="QMYSQLDriver" o="root" g="wheel" p="33188"/><f n="QMYSQLResult" o="root" g="wheel" p="33188"/><f n="QOCIDriver" o="root" g="wheel" p="33188"/><f n="QOCIResult" o="root" g="wheel" p="33188"/><f n="QODBCDriver" o="root" g="wheel" p="33188"/><f n="QODBCResult" o="root" g="wheel" p="33188"/><f n="QPSQLDriver" o="root" g="wheel" p="33188"/><f n="QPSQLResult" o="root" g="wheel" p="33188"/><f n="qsql.h" o="root" g="wheel" p="33188"/><f n="qsql_db2.h" o="root" g="wheel" p="33188"/><f n="qsql_ibase.h" o="root" g="wheel" p="33188"/><f n="qsql_mysql.h" o="root" g="wheel" p="33188"/><f n="qsql_oci.h" o="root" g="wheel" p="33188"/><f n="qsql_odbc.h" o="root" g="wheel" p="33188"/><f n="qsql_psql.h" o="root" g="wheel" p="33188"/><f n="qsql_sqlite.h" o="root" g="wheel" p="33188"/><f n="qsql_sqlite2.h" o="root" g="wheel" p="33188"/><f n="qsql_tds.h" o="root" g="wheel" p="33188"/><f n="QSqlDatabase" o="root" g="wheel" p="33188"/><f n="qsqldatabase.h" o="root" g="wheel" p="33188"/><f n="QSqlDriver" o="root" g="wheel" p="33188"/><f n="qsqldriver.h" o="root" g="wheel" p="33188"/><f n="QSqlDriverCreator" o="root" g="wheel" p="33188"/><f n="QSqlDriverCreatorBase" o="root" g="wheel" p="33188"/><f n="QSqlDriverFactoryInterface" o="root" g="wheel" p="33188"/><f n="QSqlDriverPlugin" o="root" g="wheel" p="33188"/><f n="qsqldriverplugin.h" o="root" g="wheel" p="33188"/><f n="QSqlError" o="root" g="wheel" p="33188"/><f n="qsqlerror.h" o="root" g="wheel" p="33188"/><f n="QSqlField" o="root" g="wheel" p="33188"/><f n="qsqlfield.h" o="root" g="wheel" p="33188"/><f n="QSqlIndex" o="root" g="wheel" p="33188"/><f n="qsqlindex.h" o="root" g="wheel" p="33188"/><f n="QSQLite2Driver" o="root" g="wheel" p="33188"/><f n="QSQLite2Result" o="root" g="wheel" p="33188"/><f n="QSQLiteDriver" o="root" g="wheel" p="33188"/><f n="QSQLiteResult" o="root" g="wheel" p="33188"/><f n="QSqlQuery" o="root" g="wheel" p="33188"/><f n="qsqlquery.h" o="root" g="wheel" p="33188"/><f n="QSqlQueryModel" o="root" g="wheel" p="33188"/><f n="qsqlquerymodel.h" o="root" g="wheel" p="33188"/><f n="QSqlRecord" o="root" g="wheel" p="33188"/><f n="qsqlrecord.h" o="root" g="wheel" p="33188"/><f n="QSqlRelation" o="root" g="wheel" p="33188"/><f n="QSqlRelationalDelegate" o="root" g="wheel" p="33188"/><f n="qsqlrelationaldelegate.h" o="root" g="wheel" p="33188"/><f n="QSqlRelationalTableModel" o="root" g="wheel" p="33188"/><f n="qsqlrelationaltablemodel.h" o="root" g="wheel" p="33188"/><f n="QSqlResult" o="root" g="wheel" p="33188"/><f n="qsqlresult.h" o="root" g="wheel" p="33188"/><f n="QSqlTableModel" o="root" g="wheel" p="33188"/><f n="qsqltablemodel.h" o="root" g="wheel" p="33188"/><f n="QTDSDriver" o="root" g="wheel" p="33188"/><f n="QTDSResult" o="root" g="wheel" p="33188"/><f n="QtSql" o="root" g="wheel" p="33188"/></f><f n="QtSql" o="root" g="wheel" p="33261"/><f n="QtSql.prl" o="root" g="wheel" p="33188"/><f n="QtSql_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QDB2Driver" o="root" g="wheel" p="33188"/><f n="QDB2Result" o="root" g="wheel" p="33188"/><f n="QIBaseDriver" o="root" g="wheel" p="33188"/><f n="QIBaseResult" o="root" g="wheel" p="33188"/><f n="QMYSQLDriver" o="root" g="wheel" p="33188"/><f n="QMYSQLResult" o="root" g="wheel" p="33188"/><f n="QOCIDriver" o="root" g="wheel" p="33188"/><f n="QOCIResult" o="root" g="wheel" p="33188"/><f n="QODBCDriver" o="root" g="wheel" p="33188"/><f n="QODBCResult" o="root" g="wheel" p="33188"/><f n="QPSQLDriver" o="root" g="wheel" p="33188"/><f n="QPSQLResult" o="root" g="wheel" p="33188"/><f n="qsql.h" o="root" g="wheel" p="33188"/><f n="qsql_db2.h" o="root" g="wheel" p="33188"/><f n="qsql_ibase.h" o="root" g="wheel" p="33188"/><f n="qsql_mysql.h" o="root" g="wheel" p="33188"/><f n="qsql_oci.h" o="root" g="wheel" p="33188"/><f n="qsql_odbc.h" o="root" g="wheel" p="33188"/><f n="qsql_psql.h" o="root" g="wheel" p="33188"/><f n="qsql_sqlite.h" o="root" g="wheel" p="33188"/><f n="qsql_sqlite2.h" o="root" g="wheel" p="33188"/><f n="qsql_tds.h" o="root" g="wheel" p="33188"/><f n="QSqlDatabase" o="root" g="wheel" p="33188"/><f n="qsqldatabase.h" o="root" g="wheel" p="33188"/><f n="QSqlDriver" o="root" g="wheel" p="33188"/><f n="qsqldriver.h" o="root" g="wheel" p="33188"/><f n="QSqlDriverCreator" o="root" g="wheel" p="33188"/><f n="QSqlDriverCreatorBase" o="root" g="wheel" p="33188"/><f n="QSqlDriverFactoryInterface" o="root" g="wheel" p="33188"/><f n="QSqlDriverPlugin" o="root" g="wheel" p="33188"/><f n="qsqldriverplugin.h" o="root" g="wheel" p="33188"/><f n="QSqlError" o="root" g="wheel" p="33188"/><f n="qsqlerror.h" o="root" g="wheel" p="33188"/><f n="QSqlField" o="root" g="wheel" p="33188"/><f n="qsqlfield.h" o="root" g="wheel" p="33188"/><f n="QSqlIndex" o="root" g="wheel" p="33188"/><f n="qsqlindex.h" o="root" g="wheel" p="33188"/><f n="QSQLite2Driver" o="root" g="wheel" p="33188"/><f n="QSQLite2Result" o="root" g="wheel" p="33188"/><f n="QSQLiteDriver" o="root" g="wheel" p="33188"/><f n="QSQLiteResult" o="root" g="wheel" p="33188"/><f n="QSqlQuery" o="root" g="wheel" p="33188"/><f n="qsqlquery.h" o="root" g="wheel" p="33188"/><f n="QSqlQueryModel" o="root" g="wheel" p="33188"/><f n="qsqlquerymodel.h" o="root" g="wheel" p="33188"/><f n="QSqlRecord" o="root" g="wheel" p="33188"/><f n="qsqlrecord.h" o="root" g="wheel" p="33188"/><f n="QSqlRelation" o="root" g="wheel" p="33188"/><f n="QSqlRelationalDelegate" o="root" g="wheel" p="33188"/><f n="qsqlrelationaldelegate.h" o="root" g="wheel" p="33188"/><f n="QSqlRelationalTableModel" o="root" g="wheel" p="33188"/><f n="qsqlrelationaltablemodel.h" o="root" g="wheel" p="33188"/><f n="QSqlResult" o="root" g="wheel" p="33188"/><f n="qsqlresult.h" o="root" g="wheel" p="33188"/><f n="QSqlTableModel" o="root" g="wheel" p="33188"/><f n="qsqltablemodel.h" o="root" g="wheel" p="33188"/><f n="QTDSDriver" o="root" g="wheel" p="33188"/><f n="QTDSResult" o="root" g="wheel" p="33188"/><f n="QtSql" o="root" g="wheel" p="33188"/></f><f n="QtSql" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QDB2Driver" o="root" g="wheel" p="33188"/><f n="QDB2Result" o="root" g="wheel" p="33188"/><f n="QIBaseDriver" o="root" g="wheel" p="33188"/><f n="QIBaseResult" o="root" g="wheel" p="33188"/><f n="QMYSQLDriver" o="root" g="wheel" p="33188"/><f n="QMYSQLResult" o="root" g="wheel" p="33188"/><f n="QOCIDriver" o="root" g="wheel" p="33188"/><f n="QOCIResult" o="root" g="wheel" p="33188"/><f n="QODBCDriver" o="root" g="wheel" p="33188"/><f n="QODBCResult" o="root" g="wheel" p="33188"/><f n="QPSQLDriver" o="root" g="wheel" p="33188"/><f n="QPSQLResult" o="root" g="wheel" p="33188"/><f n="qsql.h" o="root" g="wheel" p="33188"/><f n="qsql_db2.h" o="root" g="wheel" p="33188"/><f n="qsql_ibase.h" o="root" g="wheel" p="33188"/><f n="qsql_mysql.h" o="root" g="wheel" p="33188"/><f n="qsql_oci.h" o="root" g="wheel" p="33188"/><f n="qsql_odbc.h" o="root" g="wheel" p="33188"/><f n="qsql_psql.h" o="root" g="wheel" p="33188"/><f n="qsql_sqlite.h" o="root" g="wheel" p="33188"/><f n="qsql_sqlite2.h" o="root" g="wheel" p="33188"/><f n="qsql_tds.h" o="root" g="wheel" p="33188"/><f n="QSqlDatabase" o="root" g="wheel" p="33188"/><f n="qsqldatabase.h" o="root" g="wheel" p="33188"/><f n="QSqlDriver" o="root" g="wheel" p="33188"/><f n="qsqldriver.h" o="root" g="wheel" p="33188"/><f n="QSqlDriverCreator" o="root" g="wheel" p="33188"/><f n="QSqlDriverCreatorBase" o="root" g="wheel" p="33188"/><f n="QSqlDriverFactoryInterface" o="root" g="wheel" p="33188"/><f n="QSqlDriverPlugin" o="root" g="wheel" p="33188"/><f n="qsqldriverplugin.h" o="root" g="wheel" p="33188"/><f n="QSqlError" o="root" g="wheel" p="33188"/><f n="qsqlerror.h" o="root" g="wheel" p="33188"/><f n="QSqlField" o="root" g="wheel" p="33188"/><f n="qsqlfield.h" o="root" g="wheel" p="33188"/><f n="QSqlIndex" o="root" g="wheel" p="33188"/><f n="qsqlindex.h" o="root" g="wheel" p="33188"/><f n="QSQLite2Driver" o="root" g="wheel" p="33188"/><f n="QSQLite2Result" o="root" g="wheel" p="33188"/><f n="QSQLiteDriver" o="root" g="wheel" p="33188"/><f n="QSQLiteResult" o="root" g="wheel" p="33188"/><f n="QSqlQuery" o="root" g="wheel" p="33188"/><f n="qsqlquery.h" o="root" g="wheel" p="33188"/><f n="QSqlQueryModel" o="root" g="wheel" p="33188"/><f n="qsqlquerymodel.h" o="root" g="wheel" p="33188"/><f n="QSqlRecord" o="root" g="wheel" p="33188"/><f n="qsqlrecord.h" o="root" g="wheel" p="33188"/><f n="QSqlRelation" o="root" g="wheel" p="33188"/><f n="QSqlRelationalDelegate" o="root" g="wheel" p="33188"/><f n="qsqlrelationaldelegate.h" o="root" g="wheel" p="33188"/><f n="QSqlRelationalTableModel" o="root" g="wheel" p="33188"/><f n="qsqlrelationaltablemodel.h" o="root" g="wheel" p="33188"/><f n="QSqlResult" o="root" g="wheel" p="33188"/><f n="qsqlresult.h" o="root" g="wheel" p="33188"/><f n="QSqlTableModel" o="root" g="wheel" p="33188"/><f n="qsqltablemodel.h" o="root" g="wheel" p="33188"/><f n="QTDSDriver" o="root" g="wheel" p="33188"/><f n="QTDSResult" o="root" g="wheel" p="33188"/><f n="QtSql" o="root" g="wheel" p="33188"/></f><f n="QtSql" o="root" g="wheel" p="33261"/></f></f></f><f n="QtSql.la" o="root" g="wheel" p="33188"/><f n="QtSvg.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QGraphicsSvgItem" o="root" g="wheel" p="33188"/><f n="qgraphicssvgitem.h" o="root" g="wheel" p="33188"/><f n="QSvgGenerator" o="root" g="wheel" p="33188"/><f n="qsvggenerator.h" o="root" g="wheel" p="33188"/><f n="QSvgRenderer" o="root" g="wheel" p="33188"/><f n="qsvgrenderer.h" o="root" g="wheel" p="33188"/><f n="QSvgWidget" o="root" g="wheel" p="33188"/><f n="qsvgwidget.h" o="root" g="wheel" p="33188"/><f n="QtSvg" o="root" g="wheel" p="33188"/></f><f n="QtSvg" o="root" g="wheel" p="33261"/><f n="QtSvg.prl" o="root" g="wheel" p="33188"/><f n="QtSvg_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QGraphicsSvgItem" o="root" g="wheel" p="33188"/><f n="qgraphicssvgitem.h" o="root" g="wheel" p="33188"/><f n="QSvgGenerator" o="root" g="wheel" p="33188"/><f n="qsvggenerator.h" o="root" g="wheel" p="33188"/><f n="QSvgRenderer" o="root" g="wheel" p="33188"/><f n="qsvgrenderer.h" o="root" g="wheel" p="33188"/><f n="QSvgWidget" o="root" g="wheel" p="33188"/><f n="qsvgwidget.h" o="root" g="wheel" p="33188"/><f n="QtSvg" o="root" g="wheel" p="33188"/></f><f n="QtSvg" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QGraphicsSvgItem" o="root" g="wheel" p="33188"/><f n="qgraphicssvgitem.h" o="root" g="wheel" p="33188"/><f n="QSvgGenerator" o="root" g="wheel" p="33188"/><f n="qsvggenerator.h" o="root" g="wheel" p="33188"/><f n="QSvgRenderer" o="root" g="wheel" p="33188"/><f n="qsvgrenderer.h" o="root" g="wheel" p="33188"/><f n="QSvgWidget" o="root" g="wheel" p="33188"/><f n="qsvgwidget.h" o="root" g="wheel" p="33188"/><f n="QtSvg" o="root" g="wheel" p="33188"/></f><f n="QtSvg" o="root" g="wheel" p="33261"/></f></f></f><f n="QtSvg.la" o="root" g="wheel" p="33188"/><f n="QtTest.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="qbenchmark.h" o="root" g="wheel" p="33188"/><f n="QEventSizeOfChecker" o="root" g="wheel" p="33188"/><f n="QSignalSpy" o="root" g="wheel" p="33188"/><f n="qsignalspy.h" o="root" g="wheel" p="33188"/><f n="QSpontaneKeyEvent" o="root" g="wheel" p="33188"/><f n="QTest" o="root" g="wheel" p="33188"/><f n="qtest.h" o="root" g="wheel" p="33188"/><f n="qtest_global.h" o="root" g="wheel" p="33188"/><f n="qtest_gui.h" o="root" g="wheel" p="33188"/><f n="QTestAccessibility" o="root" g="wheel" p="33188"/><f n="QTestAccessibilityEvent" o="root" g="wheel" p="33188"/><f n="qtestaccessible.h" o="root" g="wheel" p="33188"/><f n="qtestassert.h" o="root" g="wheel" p="33188"/><f n="qtestcase.h" o="root" g="wheel" p="33188"/><f n="QTestData" o="root" g="wheel" p="33188"/><f n="qtestdata.h" o="root" g="wheel" p="33188"/><f n="QTestDelayEvent" o="root" g="wheel" p="33188"/><f n="QTestEvent" o="root" g="wheel" p="33188"/><f n="qtestevent.h" o="root" g="wheel" p="33188"/><f n="QTestEventList" o="root" g="wheel" p="33188"/><f n="QTestEventLoop" o="root" g="wheel" p="33188"/><f n="qtesteventloop.h" o="root" g="wheel" p="33188"/><f n="qtestkeyboard.h" o="root" g="wheel" p="33188"/><f n="QTestKeyClicksEvent" o="root" g="wheel" p="33188"/><f n="QTestKeyEvent" o="root" g="wheel" p="33188"/><f n="qtestmouse.h" o="root" g="wheel" p="33188"/><f n="QTestMouseEvent" o="root" g="wheel" p="33188"/><f n="qtestspontaneevent.h" o="root" g="wheel" p="33188"/><f n="qtestsystem.h" o="root" g="wheel" p="33188"/><f n="QtTest" o="root" g="wheel" p="33188"/></f><f n="QtTest" o="root" g="wheel" p="33261"/><f n="QtTest.prl" o="root" g="wheel" p="33188"/><f n="QtTest_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="qbenchmark.h" o="root" g="wheel" p="33188"/><f n="QEventSizeOfChecker" o="root" g="wheel" p="33188"/><f n="QSignalSpy" o="root" g="wheel" p="33188"/><f n="qsignalspy.h" o="root" g="wheel" p="33188"/><f n="QSpontaneKeyEvent" o="root" g="wheel" p="33188"/><f n="QTest" o="root" g="wheel" p="33188"/><f n="qtest.h" o="root" g="wheel" p="33188"/><f n="qtest_global.h" o="root" g="wheel" p="33188"/><f n="qtest_gui.h" o="root" g="wheel" p="33188"/><f n="QTestAccessibility" o="root" g="wheel" p="33188"/><f n="QTestAccessibilityEvent" o="root" g="wheel" p="33188"/><f n="qtestaccessible.h" o="root" g="wheel" p="33188"/><f n="qtestassert.h" o="root" g="wheel" p="33188"/><f n="qtestcase.h" o="root" g="wheel" p="33188"/><f n="QTestData" o="root" g="wheel" p="33188"/><f n="qtestdata.h" o="root" g="wheel" p="33188"/><f n="QTestDelayEvent" o="root" g="wheel" p="33188"/><f n="QTestEvent" o="root" g="wheel" p="33188"/><f n="qtestevent.h" o="root" g="wheel" p="33188"/><f n="QTestEventList" o="root" g="wheel" p="33188"/><f n="QTestEventLoop" o="root" g="wheel" p="33188"/><f n="qtesteventloop.h" o="root" g="wheel" p="33188"/><f n="qtestkeyboard.h" o="root" g="wheel" p="33188"/><f n="QTestKeyClicksEvent" o="root" g="wheel" p="33188"/><f n="QTestKeyEvent" o="root" g="wheel" p="33188"/><f n="qtestmouse.h" o="root" g="wheel" p="33188"/><f n="QTestMouseEvent" o="root" g="wheel" p="33188"/><f n="qtestspontaneevent.h" o="root" g="wheel" p="33188"/><f n="qtestsystem.h" o="root" g="wheel" p="33188"/><f n="QtTest" o="root" g="wheel" p="33188"/></f><f n="QtTest" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="qbenchmark.h" o="root" g="wheel" p="33188"/><f n="QEventSizeOfChecker" o="root" g="wheel" p="33188"/><f n="QSignalSpy" o="root" g="wheel" p="33188"/><f n="qsignalspy.h" o="root" g="wheel" p="33188"/><f n="QSpontaneKeyEvent" o="root" g="wheel" p="33188"/><f n="QTest" o="root" g="wheel" p="33188"/><f n="qtest.h" o="root" g="wheel" p="33188"/><f n="qtest_global.h" o="root" g="wheel" p="33188"/><f n="qtest_gui.h" o="root" g="wheel" p="33188"/><f n="QTestAccessibility" o="root" g="wheel" p="33188"/><f n="QTestAccessibilityEvent" o="root" g="wheel" p="33188"/><f n="qtestaccessible.h" o="root" g="wheel" p="33188"/><f n="qtestassert.h" o="root" g="wheel" p="33188"/><f n="qtestcase.h" o="root" g="wheel" p="33188"/><f n="QTestData" o="root" g="wheel" p="33188"/><f n="qtestdata.h" o="root" g="wheel" p="33188"/><f n="QTestDelayEvent" o="root" g="wheel" p="33188"/><f n="QTestEvent" o="root" g="wheel" p="33188"/><f n="qtestevent.h" o="root" g="wheel" p="33188"/><f n="QTestEventList" o="root" g="wheel" p="33188"/><f n="QTestEventLoop" o="root" g="wheel" p="33188"/><f n="qtesteventloop.h" o="root" g="wheel" p="33188"/><f n="qtestkeyboard.h" o="root" g="wheel" p="33188"/><f n="QTestKeyClicksEvent" o="root" g="wheel" p="33188"/><f n="QTestKeyEvent" o="root" g="wheel" p="33188"/><f n="qtestmouse.h" o="root" g="wheel" p="33188"/><f n="QTestMouseEvent" o="root" g="wheel" p="33188"/><f n="qtestspontaneevent.h" o="root" g="wheel" p="33188"/><f n="qtestsystem.h" o="root" g="wheel" p="33188"/><f n="QtTest" o="root" g="wheel" p="33188"/></f><f n="QtTest" o="root" g="wheel" p="33261"/></f></f></f><f n="QtTest.la" o="root" g="wheel" p="33188"/><f n="QtWebKit.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QtWebKit" o="root" g="wheel" p="33188"/><f n="QWebDatabase" o="root" g="wheel" p="33188"/><f n="qwebdatabase.h" o="root" g="wheel" p="33188"/><f n="QWebFrame" o="root" g="wheel" p="33188"/><f n="qwebframe.h" o="root" g="wheel" p="33188"/><f n="QWebHistory" o="root" g="wheel" p="33188"/><f n="qwebhistory.h" o="root" g="wheel" p="33188"/><f n="QWebHistoryInterface" o="root" g="wheel" p="33188"/><f n="qwebhistoryinterface.h" o="root" g="wheel" p="33188"/><f n="QWebHistoryItem" o="root" g="wheel" p="33188"/><f n="QWebHitTestResult" o="root" g="wheel" p="33188"/><f n="qwebkitglobal.h" o="root" g="wheel" p="33188"/><f n="QWebPage" o="root" g="wheel" p="33188"/><f n="qwebpage.h" o="root" g="wheel" p="33188"/><f n="QWebPluginFactory" o="root" g="wheel" p="33188"/><f n="qwebpluginfactory.h" o="root" g="wheel" p="33188"/><f n="QWebSecurityOrigin" o="root" g="wheel" p="33188"/><f n="qwebsecurityorigin.h" o="root" g="wheel" p="33188"/><f n="QWebSettings" o="root" g="wheel" p="33188"/><f n="qwebsettings.h" o="root" g="wheel" p="33188"/><f n="QWebView" o="root" g="wheel" p="33188"/><f n="qwebview.h" o="root" g="wheel" p="33188"/></f><f n="QtWebKit" o="root" g="wheel" p="33261"/><f n="QtWebKit.prl" o="root" g="wheel" p="33188"/><f n="QtWebKit_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QtWebKit" o="root" g="wheel" p="33188"/><f n="QWebDatabase" o="root" g="wheel" p="33188"/><f n="qwebdatabase.h" o="root" g="wheel" p="33188"/><f n="QWebFrame" o="root" g="wheel" p="33188"/><f n="qwebframe.h" o="root" g="wheel" p="33188"/><f n="QWebHistory" o="root" g="wheel" p="33188"/><f n="qwebhistory.h" o="root" g="wheel" p="33188"/><f n="QWebHistoryInterface" o="root" g="wheel" p="33188"/><f n="qwebhistoryinterface.h" o="root" g="wheel" p="33188"/><f n="QWebHistoryItem" o="root" g="wheel" p="33188"/><f n="QWebHitTestResult" o="root" g="wheel" p="33188"/><f n="qwebkitglobal.h" o="root" g="wheel" p="33188"/><f n="QWebPage" o="root" g="wheel" p="33188"/><f n="qwebpage.h" o="root" g="wheel" p="33188"/><f n="QWebPluginFactory" o="root" g="wheel" p="33188"/><f n="qwebpluginfactory.h" o="root" g="wheel" p="33188"/><f n="QWebSecurityOrigin" o="root" g="wheel" p="33188"/><f n="qwebsecurityorigin.h" o="root" g="wheel" p="33188"/><f n="QWebSettings" o="root" g="wheel" p="33188"/><f n="qwebsettings.h" o="root" g="wheel" p="33188"/><f n="QWebView" o="root" g="wheel" p="33188"/><f n="qwebview.h" o="root" g="wheel" p="33188"/></f><f n="QtWebKit" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QtWebKit" o="root" g="wheel" p="33188"/><f n="QWebDatabase" o="root" g="wheel" p="33188"/><f n="qwebdatabase.h" o="root" g="wheel" p="33188"/><f n="QWebFrame" o="root" g="wheel" p="33188"/><f n="qwebframe.h" o="root" g="wheel" p="33188"/><f n="QWebHistory" o="root" g="wheel" p="33188"/><f n="qwebhistory.h" o="root" g="wheel" p="33188"/><f n="QWebHistoryInterface" o="root" g="wheel" p="33188"/><f n="qwebhistoryinterface.h" o="root" g="wheel" p="33188"/><f n="QWebHistoryItem" o="root" g="wheel" p="33188"/><f n="QWebHitTestResult" o="root" g="wheel" p="33188"/><f n="qwebkitglobal.h" o="root" g="wheel" p="33188"/><f n="QWebPage" o="root" g="wheel" p="33188"/><f n="qwebpage.h" o="root" g="wheel" p="33188"/><f n="QWebPluginFactory" o="root" g="wheel" p="33188"/><f n="qwebpluginfactory.h" o="root" g="wheel" p="33188"/><f n="QWebSecurityOrigin" o="root" g="wheel" p="33188"/><f n="qwebsecurityorigin.h" o="root" g="wheel" p="33188"/><f n="QWebSettings" o="root" g="wheel" p="33188"/><f n="qwebsettings.h" o="root" g="wheel" p="33188"/><f n="QWebView" o="root" g="wheel" p="33188"/><f n="qwebview.h" o="root" g="wheel" p="33188"/></f><f n="QtWebKit" o="root" g="wheel" p="33261"/></f></f></f><f n="QtWebKit.la" o="root" g="wheel" p="33188"/><f n="QtXml.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="qdom.h" o="root" g="wheel" p="33188"/><f n="QDomAttr" o="root" g="wheel" p="33188"/><f n="QDomCDATASection" o="root" g="wheel" p="33188"/><f n="QDomCharacterData" o="root" g="wheel" p="33188"/><f n="QDomComment" o="root" g="wheel" p="33188"/><f n="QDomDocument" o="root" g="wheel" p="33188"/><f n="QDomDocumentFragment" o="root" g="wheel" p="33188"/><f n="QDomDocumentType" o="root" g="wheel" p="33188"/><f n="QDomElement" o="root" g="wheel" p="33188"/><f n="QDomEntity" o="root" g="wheel" p="33188"/><f n="QDomEntityReference" o="root" g="wheel" p="33188"/><f n="QDomImplementation" o="root" g="wheel" p="33188"/><f n="QDomNamedNodeMap" o="root" g="wheel" p="33188"/><f n="QDomNode" o="root" g="wheel" p="33188"/><f n="QDomNodeList" o="root" g="wheel" p="33188"/><f n="QDomNotation" o="root" g="wheel" p="33188"/><f n="QDomProcessingInstruction" o="root" g="wheel" p="33188"/><f n="QDomText" o="root" g="wheel" p="33188"/><f n="QtXml" o="root" g="wheel" p="33188"/><f n="qxml.h" o="root" g="wheel" p="33188"/><f n="QXmlAttributes" o="root" g="wheel" p="33188"/><f n="QXmlContentHandler" o="root" g="wheel" p="33188"/><f n="QXmlDeclHandler" o="root" g="wheel" p="33188"/><f n="QXmlDefaultHandler" o="root" g="wheel" p="33188"/><f n="QXmlDTDHandler" o="root" g="wheel" p="33188"/><f n="QXmlEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlErrorHandler" o="root" g="wheel" p="33188"/><f n="QXmlInputSource" o="root" g="wheel" p="33188"/><f n="QXmlLexicalHandler" o="root" g="wheel" p="33188"/><f n="QXmlLocator" o="root" g="wheel" p="33188"/><f n="QXmlNamespaceSupport" o="root" g="wheel" p="33188"/><f n="QXmlParseException" o="root" g="wheel" p="33188"/><f n="QXmlReader" o="root" g="wheel" p="33188"/><f n="QXmlSimpleReader" o="root" g="wheel" p="33188"/><f n="qxmlstream.h" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttribute" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttributes" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamReader" o="root" g="wheel" p="33188"/><f n="QXmlStreamStringRef" o="root" g="wheel" p="33188"/><f n="QXmlStreamWriter" o="root" g="wheel" p="33188"/></f><f n="QtXml" o="root" g="wheel" p="33261"/><f n="QtXml.prl" o="root" g="wheel" p="33188"/><f n="QtXml_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="qdom.h" o="root" g="wheel" p="33188"/><f n="QDomAttr" o="root" g="wheel" p="33188"/><f n="QDomCDATASection" o="root" g="wheel" p="33188"/><f n="QDomCharacterData" o="root" g="wheel" p="33188"/><f n="QDomComment" o="root" g="wheel" p="33188"/><f n="QDomDocument" o="root" g="wheel" p="33188"/><f n="QDomDocumentFragment" o="root" g="wheel" p="33188"/><f n="QDomDocumentType" o="root" g="wheel" p="33188"/><f n="QDomElement" o="root" g="wheel" p="33188"/><f n="QDomEntity" o="root" g="wheel" p="33188"/><f n="QDomEntityReference" o="root" g="wheel" p="33188"/><f n="QDomImplementation" o="root" g="wheel" p="33188"/><f n="QDomNamedNodeMap" o="root" g="wheel" p="33188"/><f n="QDomNode" o="root" g="wheel" p="33188"/><f n="QDomNodeList" o="root" g="wheel" p="33188"/><f n="QDomNotation" o="root" g="wheel" p="33188"/><f n="QDomProcessingInstruction" o="root" g="wheel" p="33188"/><f n="QDomText" o="root" g="wheel" p="33188"/><f n="QtXml" o="root" g="wheel" p="33188"/><f n="qxml.h" o="root" g="wheel" p="33188"/><f n="QXmlAttributes" o="root" g="wheel" p="33188"/><f n="QXmlContentHandler" o="root" g="wheel" p="33188"/><f n="QXmlDeclHandler" o="root" g="wheel" p="33188"/><f n="QXmlDefaultHandler" o="root" g="wheel" p="33188"/><f n="QXmlDTDHandler" o="root" g="wheel" p="33188"/><f n="QXmlEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlErrorHandler" o="root" g="wheel" p="33188"/><f n="QXmlInputSource" o="root" g="wheel" p="33188"/><f n="QXmlLexicalHandler" o="root" g="wheel" p="33188"/><f n="QXmlLocator" o="root" g="wheel" p="33188"/><f n="QXmlNamespaceSupport" o="root" g="wheel" p="33188"/><f n="QXmlParseException" o="root" g="wheel" p="33188"/><f n="QXmlReader" o="root" g="wheel" p="33188"/><f n="QXmlSimpleReader" o="root" g="wheel" p="33188"/><f n="qxmlstream.h" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttribute" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttributes" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamReader" o="root" g="wheel" p="33188"/><f n="QXmlStreamStringRef" o="root" g="wheel" p="33188"/><f n="QXmlStreamWriter" o="root" g="wheel" p="33188"/></f><f n="QtXml" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="qdom.h" o="root" g="wheel" p="33188"/><f n="QDomAttr" o="root" g="wheel" p="33188"/><f n="QDomCDATASection" o="root" g="wheel" p="33188"/><f n="QDomCharacterData" o="root" g="wheel" p="33188"/><f n="QDomComment" o="root" g="wheel" p="33188"/><f n="QDomDocument" o="root" g="wheel" p="33188"/><f n="QDomDocumentFragment" o="root" g="wheel" p="33188"/><f n="QDomDocumentType" o="root" g="wheel" p="33188"/><f n="QDomElement" o="root" g="wheel" p="33188"/><f n="QDomEntity" o="root" g="wheel" p="33188"/><f n="QDomEntityReference" o="root" g="wheel" p="33188"/><f n="QDomImplementation" o="root" g="wheel" p="33188"/><f n="QDomNamedNodeMap" o="root" g="wheel" p="33188"/><f n="QDomNode" o="root" g="wheel" p="33188"/><f n="QDomNodeList" o="root" g="wheel" p="33188"/><f n="QDomNotation" o="root" g="wheel" p="33188"/><f n="QDomProcessingInstruction" o="root" g="wheel" p="33188"/><f n="QDomText" o="root" g="wheel" p="33188"/><f n="QtXml" o="root" g="wheel" p="33188"/><f n="qxml.h" o="root" g="wheel" p="33188"/><f n="QXmlAttributes" o="root" g="wheel" p="33188"/><f n="QXmlContentHandler" o="root" g="wheel" p="33188"/><f n="QXmlDeclHandler" o="root" g="wheel" p="33188"/><f n="QXmlDefaultHandler" o="root" g="wheel" p="33188"/><f n="QXmlDTDHandler" o="root" g="wheel" p="33188"/><f n="QXmlEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlErrorHandler" o="root" g="wheel" p="33188"/><f n="QXmlInputSource" o="root" g="wheel" p="33188"/><f n="QXmlLexicalHandler" o="root" g="wheel" p="33188"/><f n="QXmlLocator" o="root" g="wheel" p="33188"/><f n="QXmlNamespaceSupport" o="root" g="wheel" p="33188"/><f n="QXmlParseException" o="root" g="wheel" p="33188"/><f n="QXmlReader" o="root" g="wheel" p="33188"/><f n="QXmlSimpleReader" o="root" g="wheel" p="33188"/><f n="qxmlstream.h" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttribute" o="root" g="wheel" p="33188"/><f n="QXmlStreamAttributes" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamEntityResolver" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNamespaceDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclaration" o="root" g="wheel" p="33188"/><f n="QXmlStreamNotationDeclarations" o="root" g="wheel" p="33188"/><f n="QXmlStreamReader" o="root" g="wheel" p="33188"/><f n="QXmlStreamStringRef" o="root" g="wheel" p="33188"/><f n="QXmlStreamWriter" o="root" g="wheel" p="33188"/></f><f n="QtXml" o="root" g="wheel" p="33261"/></f></f></f><f n="QtXml.la" o="root" g="wheel" p="33188"/><f n="QtXmlPatterns.framework" o="root" g="wheel" p="16877"><f n="Contents" o="root" g="wheel" p="16877"><f n="Info.plist" o="root" g="wheel" p="33188"/></f><f n="Headers" o="root" g="wheel" p="16877"><f n="QAbstractMessageHandler" o="root" g="wheel" p="33188"/><f n="qabstractmessagehandler.h" o="root" g="wheel" p="33188"/><f n="QAbstractUriResolver" o="root" g="wheel" p="33188"/><f n="qabstracturiresolver.h" o="root" g="wheel" p="33188"/><f n="QAbstractXmlNodeModel" o="root" g="wheel" p="33188"/><f n="qabstractxmlnodemodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractXmlReceiver" o="root" g="wheel" p="33188"/><f n="qabstractxmlreceiver.h" o="root" g="wheel" p="33188"/><f n="QSimpleXmlNodeModel" o="root" g="wheel" p="33188"/><f n="qsimplexmlnodemodel.h" o="root" g="wheel" p="33188"/><f n="QSourceLocation" o="root" g="wheel" p="33188"/><f n="qsourcelocation.h" o="root" g="wheel" p="33188"/><f n="QtXmlPatterns" o="root" g="wheel" p="33188"/><f n="QXmlFormatter" o="root" g="wheel" p="33188"/><f n="qxmlformatter.h" o="root" g="wheel" p="33188"/><f n="QXmlItem" o="root" g="wheel" p="33188"/><f n="QXmlName" o="root" g="wheel" p="33188"/><f n="qxmlname.h" o="root" g="wheel" p="33188"/><f n="QXmlNamePool" o="root" g="wheel" p="33188"/><f n="qxmlnamepool.h" o="root" g="wheel" p="33188"/><f n="QXmlNodeModelIndex" o="root" g="wheel" p="33188"/><f n="QXmlQuery" o="root" g="wheel" p="33188"/><f n="qxmlquery.h" o="root" g="wheel" p="33188"/><f n="QXmlResultItems" o="root" g="wheel" p="33188"/><f n="qxmlresultitems.h" o="root" g="wheel" p="33188"/><f n="QXmlSerializer" o="root" g="wheel" p="33188"/><f n="qxmlserializer.h" o="root" g="wheel" p="33188"/></f><f n="QtXmlPatterns" o="root" g="wheel" p="33261"/><f n="QtXmlPatterns.prl" o="root" g="wheel" p="33188"/><f n="QtXmlPatterns_debug.prl" o="root" g="wheel" p="33188"/><f n="Versions" o="root" g="wheel" p="16877"><f n="4" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QAbstractMessageHandler" o="root" g="wheel" p="33188"/><f n="qabstractmessagehandler.h" o="root" g="wheel" p="33188"/><f n="QAbstractUriResolver" o="root" g="wheel" p="33188"/><f n="qabstracturiresolver.h" o="root" g="wheel" p="33188"/><f n="QAbstractXmlNodeModel" o="root" g="wheel" p="33188"/><f n="qabstractxmlnodemodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractXmlReceiver" o="root" g="wheel" p="33188"/><f n="qabstractxmlreceiver.h" o="root" g="wheel" p="33188"/><f n="QSimpleXmlNodeModel" o="root" g="wheel" p="33188"/><f n="qsimplexmlnodemodel.h" o="root" g="wheel" p="33188"/><f n="QSourceLocation" o="root" g="wheel" p="33188"/><f n="qsourcelocation.h" o="root" g="wheel" p="33188"/><f n="QtXmlPatterns" o="root" g="wheel" p="33188"/><f n="QXmlFormatter" o="root" g="wheel" p="33188"/><f n="qxmlformatter.h" o="root" g="wheel" p="33188"/><f n="QXmlItem" o="root" g="wheel" p="33188"/><f n="QXmlName" o="root" g="wheel" p="33188"/><f n="qxmlname.h" o="root" g="wheel" p="33188"/><f n="QXmlNamePool" o="root" g="wheel" p="33188"/><f n="qxmlnamepool.h" o="root" g="wheel" p="33188"/><f n="QXmlNodeModelIndex" o="root" g="wheel" p="33188"/><f n="QXmlQuery" o="root" g="wheel" p="33188"/><f n="qxmlquery.h" o="root" g="wheel" p="33188"/><f n="QXmlResultItems" o="root" g="wheel" p="33188"/><f n="qxmlresultitems.h" o="root" g="wheel" p="33188"/><f n="QXmlSerializer" o="root" g="wheel" p="33188"/><f n="qxmlserializer.h" o="root" g="wheel" p="33188"/></f><f n="QtXmlPatterns" o="root" g="wheel" p="33261"/></f><f n="Current" o="root" g="wheel" p="16877"><f n="Headers" o="root" g="wheel" p="16877"><f n="QAbstractMessageHandler" o="root" g="wheel" p="33188"/><f n="qabstractmessagehandler.h" o="root" g="wheel" p="33188"/><f n="QAbstractUriResolver" o="root" g="wheel" p="33188"/><f n="qabstracturiresolver.h" o="root" g="wheel" p="33188"/><f n="QAbstractXmlNodeModel" o="root" g="wheel" p="33188"/><f n="qabstractxmlnodemodel.h" o="root" g="wheel" p="33188"/><f n="QAbstractXmlReceiver" o="root" g="wheel" p="33188"/><f n="qabstractxmlreceiver.h" o="root" g="wheel" p="33188"/><f n="QSimpleXmlNodeModel" o="root" g="wheel" p="33188"/><f n="qsimplexmlnodemodel.h" o="root" g="wheel" p="33188"/><f n="QSourceLocation" o="root" g="wheel" p="33188"/><f n="qsourcelocation.h" o="root" g="wheel" p="33188"/><f n="QtXmlPatterns" o="root" g="wheel" p="33188"/><f n="QXmlFormatter" o="root" g="wheel" p="33188"/><f n="qxmlformatter.h" o="root" g="wheel" p="33188"/><f n="QXmlItem" o="root" g="wheel" p="33188"/><f n="QXmlName" o="root" g="wheel" p="33188"/><f n="qxmlname.h" o="root" g="wheel" p="33188"/><f n="QXmlNamePool" o="root" g="wheel" p="33188"/><f n="qxmlnamepool.h" o="root" g="wheel" p="33188"/><f n="QXmlNodeModelIndex" o="root" g="wheel" p="33188"/><f n="QXmlQuery" o="root" g="wheel" p="33188"/><f n="qxmlquery.h" o="root" g="wheel" p="33188"/><f n="QXmlResultItems" o="root" g="wheel" p="33188"/><f n="qxmlresultitems.h" o="root" g="wheel" p="33188"/><f n="QXmlSerializer" o="root" g="wheel" p="33188"/><f n="qxmlserializer.h" o="root" g="wheel" p="33188"/></f><f n="QtXmlPatterns" o="root" g="wheel" p="33261"/></f></f></f><f n="QtXmlPatterns.la" o="root" g="wheel" p="33188"/></f><f n="mkspecs" o="root" g="wheel" p="16877"><f n="darwin-g++" o="root" g="wheel" p="16877"><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="default" o="root" g="wheel" p="16877"><f n="Info.plist.app" o="root" g="wheel" p="33188"/><f n="Info.plist.lib" o="root" g="wheel" p="33188"/><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="features" o="root" g="wheel" p="16877"><f n="assistant.prf" o="root" g="wheel" p="33188"/><f n="build_pass.prf" o="root" g="wheel" p="33188"/><f n="dbusadaptors.prf" o="root" g="wheel" p="33188"/><f n="dbusinterfaces.prf" o="root" g="wheel" p="33188"/><f n="debug.prf" o="root" g="wheel" p="33188"/><f n="debug_and_release.prf" o="root" g="wheel" p="33188"/><f n="default_post.prf" o="root" g="wheel" p="33188"/><f n="default_pre.prf" o="root" g="wheel" p="33188"/><f n="designer.prf" o="root" g="wheel" p="33188"/><f n="dll.prf" o="root" g="wheel" p="33188"/><f n="exclusive_builds.prf" o="root" g="wheel" p="33188"/><f n="help.prf" o="root" g="wheel" p="33188"/><f n="include_source_dir.prf" o="root" g="wheel" p="33188"/><f n="incredibuild_xge.prf" o="root" g="wheel" p="33188"/><f n="lex.prf" o="root" g="wheel" p="33188"/><f n="link_pkgconfig.prf" o="root" g="wheel" p="33188"/><f n="mac" o="root" g="wheel" p="16877"><f n="default_post.prf" o="root" g="wheel" p="33188"/><f n="default_pre.prf" o="root" g="wheel" p="33188"/><f n="dwarf2.prf" o="root" g="wheel" p="33188"/><f n="objective_c.prf" o="root" g="wheel" p="33188"/><f n="ppc.prf" o="root" g="wheel" p="33188"/><f n="ppc64.prf" o="root" g="wheel" p="33188"/><f n="rez.prf" o="root" g="wheel" p="33188"/><f n="sdk.prf" o="root" g="wheel" p="33188"/><f n="x86.prf" o="root" g="wheel" p="33188"/><f n="x86_64.prf" o="root" g="wheel" p="33188"/></f><f n="moc.prf" o="root" g="wheel" p="33188"/><f n="no_debug_info.prf" o="root" g="wheel" p="33188"/><f n="qdbus.prf" o="root" g="wheel" p="33188"/><f n="qt.prf" o="root" g="wheel" p="33188"/><f n="qt_config.prf" o="root" g="wheel" p="33188"/><f n="qt_functions.prf" o="root" g="wheel" p="33188"/><f n="qtestlib.prf" o="root" g="wheel" p="33188"/><f n="qtopia.prf" o="root" g="wheel" p="33188"/><f n="qtopiainc.prf" o="root" g="wheel" p="33188"/><f n="qtopialib.prf" o="root" g="wheel" p="33188"/><f n="release.prf" o="root" g="wheel" p="33188"/><f n="resources.prf" o="root" g="wheel" p="33188"/><f n="shared.prf" o="root" g="wheel" p="33188"/><f n="silent.prf" o="root" g="wheel" p="33188"/><f n="static.prf" o="root" g="wheel" p="33188"/><f n="static_and_shared.prf" o="root" g="wheel" p="33188"/><f n="staticlib.prf" o="root" g="wheel" p="33188"/><f n="uic.prf" o="root" g="wheel" p="33188"/><f n="uitools.prf" o="root" g="wheel" p="33188"/><f n="unix" o="root" g="wheel" p="16877"><f n="bsymbolic_functions.prf" o="root" g="wheel" p="33188"/><f n="dylib.prf" o="root" g="wheel" p="33188"/><f n="hide_symbols.prf" o="root" g="wheel" p="33188"/><f n="largefile.prf" o="root" g="wheel" p="33188"/><f n="opengl.prf" o="root" g="wheel" p="33188"/><f n="separate_debug_info.prf" o="root" g="wheel" p="33188"/><f n="thread.prf" o="root" g="wheel" p="33188"/><f n="x11.prf" o="root" g="wheel" p="33188"/><f n="x11inc.prf" o="root" g="wheel" p="33188"/><f n="x11lib.prf" o="root" g="wheel" p="33188"/><f n="x11sm.prf" o="root" g="wheel" p="33188"/></f><f n="use_c_linker.prf" o="root" g="wheel" p="33188"/><f n="warn_off.prf" o="root" g="wheel" p="33188"/><f n="warn_on.prf" o="root" g="wheel" p="33188"/><f n="win32" o="root" g="wheel" p="16877"><f n="console.prf" o="root" g="wheel" p="33188"/><f n="default_post.prf" o="root" g="wheel" p="33188"/><f n="default_pre.prf" o="root" g="wheel" p="33188"/><f n="dumpcpp.prf" o="root" g="wheel" p="33188"/><f n="embed_manifest_dll.prf" o="root" g="wheel" p="33188"/><f n="embed_manifest_exe.prf" o="root" g="wheel" p="33188"/><f n="exceptions.prf" o="root" g="wheel" p="33188"/><f n="exceptions_off.prf" o="root" g="wheel" p="33188"/><f n="ltcg.prf" o="root" g="wheel" p="33188"/><f n="opengl.prf" o="root" g="wheel" p="33188"/><f n="qaxcontainer.prf" o="root" g="wheel" p="33188"/><f n="qaxserver.prf" o="root" g="wheel" p="33188"/><f n="qt_dll.prf" o="root" g="wheel" p="33188"/><f n="rtti.prf" o="root" g="wheel" p="33188"/><f n="rtti_off.prf" o="root" g="wheel" p="33188"/><f n="stl.prf" o="root" g="wheel" p="33188"/><f n="stl_off.prf" o="root" g="wheel" p="33188"/><f n="thread.prf" o="root" g="wheel" p="33188"/><f n="thread_off.prf" o="root" g="wheel" p="33188"/><f n="windows.prf" o="root" g="wheel" p="33188"/></f><f n="yacc.prf" o="root" g="wheel" p="33188"/></f><f n="macx-g++" o="root" g="wheel" p="16877"><f n="Info.plist.app" o="root" g="wheel" p="33188"/><f n="Info.plist.lib" o="root" g="wheel" p="33188"/><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="macx-g++42" o="root" g="wheel" p="16877"><f n="Info.plist.app" o="root" g="wheel" p="33188"/><f n="Info.plist.lib" o="root" g="wheel" p="33188"/><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="macx-icc" o="root" g="wheel" p="16877"><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="macx-llvm" o="root" g="wheel" p="16877"><f n="Info.plist.app" o="root" g="wheel" p="33188"/><f n="Info.plist.lib" o="root" g="wheel" p="33188"/><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="macx-pbuilder" o="root" g="wheel" p="16877"><f n="Info.plist.app" o="root" g="wheel" p="33261"/><f n="qmake.conf" o="root" g="wheel" p="33261"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="macx-xcode" o="root" g="wheel" p="16877"><f n="Info.plist.app" o="root" g="wheel" p="33261"/><f n="Info.plist.lib" o="root" g="wheel" p="33188"/><f n="qmake.conf" o="root" g="wheel" p="33261"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f><f n="macx-xlc" o="root" g="wheel" p="16877"><f n="qmake.conf" o="root" g="wheel" p="33188"/><f n="qplatformdefs.h" o="root" g="wheel" p="33188"/></f></f><f n="phrasebooks" o="root" g="wheel" p="16877"><f n="danish.qph" o="root" g="wheel" p="33188"/><f n="dutch.qph" o="root" g="wheel" p="33188"/><f n="finnish.qph" o="root" g="wheel" p="33188"/><f n="french.qph" o="root" g="wheel" p="33188"/><f n="german.qph" o="root" g="wheel" p="33188"/><f n="italian.qph" o="root" g="wheel" p="33188"/><f n="japanese.qph" o="root" g="wheel" p="33188"/><f n="norwegian.qph" o="root" g="wheel" p="33188"/><f n="polish.qph" o="root" g="wheel" p="33188"/><f n="russian.qph" o="root" g="wheel" p="33188"/><f n="spanish.qph" o="root" g="wheel" p="33188"/><f n="swedish.qph" o="root" g="wheel" p="33188"/></f><f n="plugins" o="root" g="wheel" p="16877"><f n="accessible" o="root" g="wheel" p="16877"><f n="libqtaccessiblewidgets.dylib" o="root" g="wheel" p="33261"/></f><f n="codecs" o="root" g="wheel" p="16877"><f n="libqcncodecs.dylib" o="root" g="wheel" p="33261"/><f n="libqjpcodecs.dylib" o="root" g="wheel" p="33261"/><f n="libqkrcodecs.dylib" o="root" g="wheel" p="33261"/><f n="libqtwcodecs.dylib" o="root" g="wheel" p="33261"/></f><f n="designer" o="root" g="wheel" p="16877"><f n="libarthurplugin.dylib" o="root" g="wheel" p="33261"/><f n="libcontainerextension.dylib" o="root" g="wheel" p="33261"/><f n="libcustomwidgetplugin.dylib" o="root" g="wheel" p="33261"/><f n="libphononwidgets.dylib" o="root" g="wheel" p="33261"/><f n="libpythonplugin.dylib" o="root" g="wheel" p="33261"/><f n="libqwebview.dylib" o="root" g="wheel" p="33261"/><f n="libtaskmenuextension.dylib" o="root" g="wheel" p="33261"/><f n="libworldtimeclockplugin.dylib" o="root" g="wheel" p="33261"/><f n="python" o="root" g="wheel" p="16877"/></f><f n="graphicssystems" o="root" g="wheel" p="16877"><f n="libqglgraphicssystem.dylib" o="root" g="wheel" p="33261"/></f><f n="iconengines" o="root" g="wheel" p="16877"><f n="libqsvgicon.dylib" o="root" g="wheel" p="33261"/></f><f n="imageformats" o="root" g="wheel" p="16877"><f n="libqgif.dylib" o="root" g="wheel" p="33261"/><f n="libqico.dylib" o="root" g="wheel" p="33261"/><f n="libqjpeg.dylib" o="root" g="wheel" p="33261"/><f n="libqmng.dylib" o="root" g="wheel" p="33261"/><f n="libqsvg.dylib" o="root" g="wheel" p="33261"/><f n="libqtiff.dylib" o="root" g="wheel" p="33261"/></f><f n="phonon_backend" o="root" g="wheel" p="16877"><f n="libphonon_qt7.dylib" o="root" g="wheel" p="33261"/></f><f n="script" o="root" g="wheel" p="16877"><f n="libqtscriptdbus.dylib" o="root" g="wheel" p="33261"/></f><f n="sqldrivers" o="root" g="wheel" p="16877"><f n="libqsqlite.dylib" o="root" g="wheel" p="33261"/><f n="libqsqlodbc.dylib" o="root" g="wheel" p="33261"/></f></f><f n="q3porting.xml" o="root" g="wheel" p="33188"/><f n="share" o="root" g="wheel" p="16877"><f n="openstructure" o="root" g="wheel" p="16877"><f n="gui" o="root" g="wheel" p="16877"><f n="icons" o="root" g="wheel" p="16877"><f n="add_icon.png" o="root" g="wheel" p="33188"/><f n="close_icon.png" o="root" g="wheel" p="33188"/><f n="distance_icon.png" o="root" g="wheel" p="33188"/><f n="map_icon.png" o="root" g="wheel" p="33188"/><f n="rigid_body_manipulator_icon.png" o="root" g="wheel" p="33188"/><f n="selection_icon.png" o="root" g="wheel" p="33188"/><f n="show_sidebar_icon.png" o="root" g="wheel" p="33188"/><f n="site_icon.png" o="root" g="wheel" p="33188"/><f n="split_icon.png" o="root" g="wheel" p="33188"/></f></f><f n="scene" o="root" g="wheel" p="16877"><f n="gradients.xml" o="root" g="wheel" p="33188"/><f n="icons" o="root" g="wheel" p="16877"><f n="color_icon.png" o="root" g="wheel" p="33188"/><f n="render_icon.png" o="root" g="wheel" p="33188"/><f n="tool_icon.png" o="root" g="wheel" p="33188"/></f><f n="presets.xml" o="root" g="wheel" p="33188"/></f><f n="shader" o="root" g="wheel" p="16893"><f n="aaline_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="basic_hf_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="basic_lf_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="basic_lf_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="basic_lfs_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="basic_lfs_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="fast_sphere_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="fast_sphere_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="fraglight_lf_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="fraglight_lf_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="fraglight_lfs_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="fraglight_lfs_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="iso_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="iso_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="noop_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="outline_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="selfx_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="selfx_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="toon2_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="toon_fs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><f n="toon_vs.glsl" o="root" g="wheel" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="textures" o="root" g="wheel" p="16877"><f n="glyph_texture.png" o="root" g="wheel" p="33188"/><f n="test_texture.png" o="root" g="wheel" p="33188"/></f></f><f n="sip" o="root" g="wheel" p="16877"><f n="PyQt4" o="root" g="wheel" p="16877"><f n="phonon" o="root" g="wheel" p="16877"><f n="abstractaudiooutput.sip" o="root" g="wheel" p="33188"/><f n="abstractvideooutput.sip" o="root" g="wheel" p="33188"/><f n="audiooutput.sip" o="root" g="wheel" p="33188"/><f n="backendcapabilities.sip" o="root" g="wheel" p="33188"/><f n="effect.sip" o="root" g="wheel" p="33188"/><f n="effectparameter.sip" o="root" g="wheel" p="33188"/><f n="effectwidget.sip" o="root" g="wheel" p="33188"/><f n="mediacontroller.sip" o="root" g="wheel" p="33188"/><f n="medianode.sip" o="root" g="wheel" p="33188"/><f n="mediaobject.sip" o="root" g="wheel" p="33188"/><f n="mediasource.sip" o="root" g="wheel" p="33188"/><f n="objectdescription.sip" o="root" g="wheel" p="33188"/><f n="path.sip" o="root" g="wheel" p="33188"/><f n="phononmod.sip" o="root" g="wheel" p="33188"/><f n="phononnamespace.sip" o="root" g="wheel" p="33188"/><f n="seekslider.sip" o="root" g="wheel" p="33188"/><f n="videoplayer.sip" o="root" g="wheel" p="33188"/><f n="videowidget.sip" o="root" g="wheel" p="33188"/><f n="volumeslider.sip" o="root" g="wheel" p="33188"/></f><f n="Qt" o="root" g="wheel" p="16877"><f n="Qtmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtAssistant" o="root" g="wheel" p="16877"><f n="qassistantclient.sip" o="root" g="wheel" p="33188"/><f n="QtAssistantmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtCore" o="root" g="wheel" p="16877"><f n="qabstracteventdispatcher.sip" o="root" g="wheel" p="33188"/><f n="qabstractfileengine.sip" o="root" g="wheel" p="33188"/><f n="qabstractitemmodel.sip" o="root" g="wheel" p="33188"/><f n="qbasictimer.sip" o="root" g="wheel" p="33188"/><f n="qbitarray.sip" o="root" g="wheel" p="33188"/><f n="qbuffer.sip" o="root" g="wheel" p="33188"/><f n="qbytearray.sip" o="root" g="wheel" p="33188"/><f n="qbytearraymatcher.sip" o="root" g="wheel" p="33188"/><f n="qchar.sip" o="root" g="wheel" p="33188"/><f n="qcoreapplication.sip" o="root" g="wheel" p="33188"/><f n="qcoreevent.sip" o="root" g="wheel" p="33188"/><f n="qcryptographichash.sip" o="root" g="wheel" p="33188"/><f n="qdatastream.sip" o="root" g="wheel" p="33188"/><f n="qdatetime.sip" o="root" g="wheel" p="33188"/><f n="qdir.sip" o="root" g="wheel" p="33188"/><f n="qdiriterator.sip" o="root" g="wheel" p="33188"/><f n="qeventloop.sip" o="root" g="wheel" p="33188"/><f n="qfile.sip" o="root" g="wheel" p="33188"/><f n="qfileinfo.sip" o="root" g="wheel" p="33188"/><f n="qfilesystemwatcher.sip" o="root" g="wheel" p="33188"/><f n="qfsfileengine.sip" o="root" g="wheel" p="33188"/><f n="qglobal.sip" o="root" g="wheel" p="33188"/><f n="qhash.sip" o="root" g="wheel" p="33188"/><f n="qiodevice.sip" o="root" g="wheel" p="33188"/><f n="qlibrary.sip" o="root" g="wheel" p="33188"/><f n="qlibraryinfo.sip" o="root" g="wheel" p="33188"/><f n="qline.sip" o="root" g="wheel" p="33188"/><f n="qlist.sip" o="root" g="wheel" p="33188"/><f n="qlocale.sip" o="root" g="wheel" p="33188"/><f n="qmap.sip" o="root" g="wheel" p="33188"/><f n="qmetaobject.sip" o="root" g="wheel" p="33188"/><f n="qmetatype.sip" o="root" g="wheel" p="33188"/><f n="qmimedata.sip" o="root" g="wheel" p="33188"/><f n="qmutex.sip" o="root" g="wheel" p="33188"/><f n="qnamespace.sip" o="root" g="wheel" p="33188"/><f n="qnumeric.sip" o="root" g="wheel" p="33188"/><f n="qobject.sip" o="root" g="wheel" p="33188"/><f n="qobjectcleanuphandler.sip" o="root" g="wheel" p="33188"/><f n="qobjectdefs.sip" o="root" g="wheel" p="33188"/><f n="qpair.sip" o="root" g="wheel" p="33188"/><f n="qpluginloader.sip" o="root" g="wheel" p="33188"/><f n="qpoint.sip" o="root" g="wheel" p="33188"/><f n="qprocess.sip" o="root" g="wheel" p="33188"/><f n="qreadwritelock.sip" o="root" g="wheel" p="33188"/><f n="qrect.sip" o="root" g="wheel" p="33188"/><f n="qregexp.sip" o="root" g="wheel" p="33188"/><f n="qresource.sip" o="root" g="wheel" p="33188"/><f n="qrunnable.sip" o="root" g="wheel" p="33188"/><f n="qsemaphore.sip" o="root" g="wheel" p="33188"/><f n="qsettings.sip" o="root" g="wheel" p="33188"/><f n="qsharedmemory.sip" o="root" g="wheel" p="33188"/><f n="qsignalmapper.sip" o="root" g="wheel" p="33188"/><f n="qsize.sip" o="root" g="wheel" p="33188"/><f n="qsocketnotifier.sip" o="root" g="wheel" p="33188"/><f n="qstring.sip" o="root" g="wheel" p="33188"/><f n="qstringlist.sip" o="root" g="wheel" p="33188"/><f n="qstringmatcher.sip" o="root" g="wheel" p="33188"/><f n="qsystemsemaphore.sip" o="root" g="wheel" p="33188"/><f n="QtCoremod.sip" o="root" g="wheel" p="33188"/><f n="qtemporaryfile.sip" o="root" g="wheel" p="33188"/><f n="qtextboundaryfinder.sip" o="root" g="wheel" p="33188"/><f n="qtextcodec.sip" o="root" g="wheel" p="33188"/><f n="qtextstream.sip" o="root" g="wheel" p="33188"/><f n="qthread.sip" o="root" g="wheel" p="33188"/><f n="qthreadpool.sip" o="root" g="wheel" p="33188"/><f n="qtimeline.sip" o="root" g="wheel" p="33188"/><f n="qtimer.sip" o="root" g="wheel" p="33188"/><f n="qtranslator.sip" o="root" g="wheel" p="33188"/><f n="qurl.sip" o="root" g="wheel" p="33188"/><f n="quuid.sip" o="root" g="wheel" p="33188"/><f n="qvariant.sip" o="root" g="wheel" p="33188"/><f n="qvector.sip" o="root" g="wheel" p="33188"/><f n="qwaitcondition.sip" o="root" g="wheel" p="33188"/><f n="qxmlstream.sip" o="root" g="wheel" p="33188"/></f><f n="QtDesigner" o="root" g="wheel" p="16877"><f n="abstractactioneditor.sip" o="root" g="wheel" p="33188"/><f n="abstractformbuilder.sip" o="root" g="wheel" p="33188"/><f n="abstractformeditor.sip" o="root" g="wheel" p="33188"/><f n="abstractformwindow.sip" o="root" g="wheel" p="33188"/><f n="abstractformwindowcursor.sip" o="root" g="wheel" p="33188"/><f n="abstractformwindowmanager.sip" o="root" g="wheel" p="33188"/><f n="abstractobjectinspector.sip" o="root" g="wheel" p="33188"/><f n="abstractpropertyeditor.sip" o="root" g="wheel" p="33188"/><f n="abstractwidgetbox.sip" o="root" g="wheel" p="33188"/><f n="container.sip" o="root" g="wheel" p="33188"/><f n="customwidget.sip" o="root" g="wheel" p="33188"/><f n="default_extensionfactory.sip" o="root" g="wheel" p="33188"/><f n="extension.sip" o="root" g="wheel" p="33188"/><f n="formbuilder.sip" o="root" g="wheel" p="33188"/><f n="membersheet.sip" o="root" g="wheel" p="33188"/><f n="propertysheet.sip" o="root" g="wheel" p="33188"/><f n="qextensionmanager.sip" o="root" g="wheel" p="33188"/><f n="qpydesignercontainerextension.sip" o="root" g="wheel" p="33188"/><f n="qpydesignercustomwidgetcollectionplugin.sip" o="root" g="wheel" p="33188"/><f n="qpydesignercustomwidgetplugin.sip" o="root" g="wheel" p="33188"/><f n="qpydesignermembersheetextension.sip" o="root" g="wheel" p="33188"/><f n="qpydesignerpropertysheetextension.sip" o="root" g="wheel" p="33188"/><f n="qpydesignertaskmenuextension.sip" o="root" g="wheel" p="33188"/><f n="QtDesignermod.sip" o="root" g="wheel" p="33188"/><f n="taskmenu.sip" o="root" g="wheel" p="33188"/></f><f n="QtGui" o="root" g="wheel" p="16877"><f n="qabstractbutton.sip" o="root" g="wheel" p="33188"/><f n="qabstractitemdelegate.sip" o="root" g="wheel" p="33188"/><f n="qabstractitemview.sip" o="root" g="wheel" p="33188"/><f n="qabstractprintdialog.sip" o="root" g="wheel" p="33188"/><f n="qabstractproxymodel.sip" o="root" g="wheel" p="33188"/><f n="qabstractscrollarea.sip" o="root" g="wheel" p="33188"/><f n="qabstractslider.sip" o="root" g="wheel" p="33188"/><f n="qabstractspinbox.sip" o="root" g="wheel" p="33188"/><f n="qabstracttextdocumentlayout.sip" o="root" g="wheel" p="33188"/><f n="qaction.sip" o="root" g="wheel" p="33188"/><f n="qactiongroup.sip" o="root" g="wheel" p="33188"/><f n="qapplication.sip" o="root" g="wheel" p="33188"/><f n="qbitmap.sip" o="root" g="wheel" p="33188"/><f n="qboxlayout.sip" o="root" g="wheel" p="33188"/><f n="qbrush.sip" o="root" g="wheel" p="33188"/><f n="qbuttongroup.sip" o="root" g="wheel" p="33188"/><f n="qcalendarwidget.sip" o="root" g="wheel" p="33188"/><f n="qcheckbox.sip" o="root" g="wheel" p="33188"/><f n="qclipboard.sip" o="root" g="wheel" p="33188"/><f n="qcolor.sip" o="root" g="wheel" p="33188"/><f n="qcolordialog.sip" o="root" g="wheel" p="33188"/><f n="qcolumnview.sip" o="root" g="wheel" p="33188"/><f n="qcombobox.sip" o="root" g="wheel" p="33188"/><f n="qcommandlinkbutton.sip" o="root" g="wheel" p="33188"/><f n="qcompleter.sip" o="root" g="wheel" p="33188"/><f n="qcursor.sip" o="root" g="wheel" p="33188"/><f n="qdatawidgetmapper.sip" o="root" g="wheel" p="33188"/><f n="qdatetimeedit.sip" o="root" g="wheel" p="33188"/><f n="qdesktopservices.sip" o="root" g="wheel" p="33188"/><f n="qdesktopwidget.sip" o="root" g="wheel" p="33188"/><f n="qdial.sip" o="root" g="wheel" p="33188"/><f n="qdialog.sip" o="root" g="wheel" p="33188"/><f n="qdialogbuttonbox.sip" o="root" g="wheel" p="33188"/><f n="qdirmodel.sip" o="root" g="wheel" p="33188"/><f n="qdockwidget.sip" o="root" g="wheel" p="33188"/><f n="qdrag.sip" o="root" g="wheel" p="33188"/><f n="qdrawutil.sip" o="root" g="wheel" p="33188"/><f n="qerrormessage.sip" o="root" g="wheel" p="33188"/><f n="qevent.sip" o="root" g="wheel" p="33188"/><f n="qfiledialog.sip" o="root" g="wheel" p="33188"/><f n="qfileiconprovider.sip" o="root" g="wheel" p="33188"/><f n="qfilesystemmodel.sip" o="root" g="wheel" p="33188"/><f n="qfocusframe.sip" o="root" g="wheel" p="33188"/><f n="qfont.sip" o="root" g="wheel" p="33188"/><f n="qfontcombobox.sip" o="root" g="wheel" p="33188"/><f n="qfontdatabase.sip" o="root" g="wheel" p="33188"/><f n="qfontdialog.sip" o="root" g="wheel" p="33188"/><f n="qfontinfo.sip" o="root" g="wheel" p="33188"/><f n="qfontmetrics.sip" o="root" g="wheel" p="33188"/><f n="qformlayout.sip" o="root" g="wheel" p="33188"/><f n="qframe.sip" o="root" g="wheel" p="33188"/><f n="qgraphicsgridlayout.sip" o="root" g="wheel" p="33188"/><f n="qgraphicsitem.sip" o="root" g="wheel" p="33188"/><f n="qgraphicsitemanimation.sip" o="root" g="wheel" p="33188"/><f n="qgraphicslayout.sip" o="root" g="wheel" p="33188"/><f n="qgraphicslayoutitem.sip" o="root" g="wheel" p="33188"/><f n="qgraphicslinearlayout.sip" o="root" g="wheel" p="33188"/><f n="qgraphicsproxywidget.sip" o="root" g="wheel" p="33188"/><f n="qgraphicsscene.sip" o="root" g="wheel" p="33188"/><f n="qgraphicssceneevent.sip" o="root" g="wheel" p="33188"/><f n="qgraphicsview.sip" o="root" g="wheel" p="33188"/><f n="qgraphicswidget.sip" o="root" g="wheel" p="33188"/><f n="qgridlayout.sip" o="root" g="wheel" p="33188"/><f n="qgroupbox.sip" o="root" g="wheel" p="33188"/><f n="qheaderview.sip" o="root" g="wheel" p="33188"/><f n="qicon.sip" o="root" g="wheel" p="33188"/><f n="qiconengine.sip" o="root" g="wheel" p="33188"/><f n="qimage.sip" o="root" g="wheel" p="33188"/><f n="qimageiohandler.sip" o="root" g="wheel" p="33188"/><f n="qimagereader.sip" o="root" g="wheel" p="33188"/><f n="qimagewriter.sip" o="root" g="wheel" p="33188"/><f n="qinputcontext.sip" o="root" g="wheel" p="33188"/><f n="qinputcontextfactory.sip" o="root" g="wheel" p="33188"/><f n="qinputdialog.sip" o="root" g="wheel" p="33188"/><f n="qitemdelegate.sip" o="root" g="wheel" p="33188"/><f n="qitemeditorfactory.sip" o="root" g="wheel" p="33188"/><f n="qitemselectionmodel.sip" o="root" g="wheel" p="33188"/><f n="qkeysequence.sip" o="root" g="wheel" p="33188"/><f n="qlabel.sip" o="root" g="wheel" p="33188"/><f n="qlayout.sip" o="root" g="wheel" p="33188"/><f n="qlayoutitem.sip" o="root" g="wheel" p="33188"/><f n="qlcdnumber.sip" o="root" g="wheel" p="33188"/><f n="qlineedit.sip" o="root" g="wheel" p="33188"/><f n="qlistview.sip" o="root" g="wheel" p="33188"/><f n="qlistwidget.sip" o="root" g="wheel" p="33188"/><f n="qmainwindow.sip" o="root" g="wheel" p="33188"/><f n="qmatrix.sip" o="root" g="wheel" p="33188"/><f n="qmdiarea.sip" o="root" g="wheel" p="33188"/><f n="qmdisubwindow.sip" o="root" g="wheel" p="33188"/><f n="qmenu.sip" o="root" g="wheel" p="33188"/><f n="qmenubar.sip" o="root" g="wheel" p="33188"/><f n="qmessagebox.sip" o="root" g="wheel" p="33188"/><f n="qmime.sip" o="root" g="wheel" p="33188"/><f n="qmovie.sip" o="root" g="wheel" p="33188"/><f n="qpagesetupdialog.sip" o="root" g="wheel" p="33188"/><f n="qpaintdevice.sip" o="root" g="wheel" p="33188"/><f n="qpaintengine.sip" o="root" g="wheel" p="33188"/><f n="qpainter.sip" o="root" g="wheel" p="33188"/><f n="qpainterpath.sip" o="root" g="wheel" p="33188"/><f n="qpalette.sip" o="root" g="wheel" p="33188"/><f n="qpen.sip" o="root" g="wheel" p="33188"/><f n="qpicture.sip" o="root" g="wheel" p="33188"/><f n="qpixmap.sip" o="root" g="wheel" p="33188"/><f n="qpixmapcache.sip" o="root" g="wheel" p="33188"/><f n="qplaintextedit.sip" o="root" g="wheel" p="33188"/><f n="qpolygon.sip" o="root" g="wheel" p="33188"/><f n="qprintdialog.sip" o="root" g="wheel" p="33188"/><f n="qprintengine.sip" o="root" g="wheel" p="33188"/><f n="qprinter.sip" o="root" g="wheel" p="33188"/><f n="qprinterinfo.sip" o="root" g="wheel" p="33188"/><f n="qprintpreviewdialog.sip" o="root" g="wheel" p="33188"/><f n="qprintpreviewwidget.sip" o="root" g="wheel" p="33188"/><f n="qprogressbar.sip" o="root" g="wheel" p="33188"/><f n="qprogressdialog.sip" o="root" g="wheel" p="33188"/><f n="qproxymodel.sip" o="root" g="wheel" p="33188"/><f n="qpushbutton.sip" o="root" g="wheel" p="33188"/><f n="qpytextobject.sip" o="root" g="wheel" p="33188"/><f n="qradiobutton.sip" o="root" g="wheel" p="33188"/><f n="qregion.sip" o="root" g="wheel" p="33188"/><f n="qrgb.sip" o="root" g="wheel" p="33188"/><f n="qrubberband.sip" o="root" g="wheel" p="33188"/><f n="qscrollarea.sip" o="root" g="wheel" p="33188"/><f n="qscrollbar.sip" o="root" g="wheel" p="33188"/><f n="qsessionmanager.sip" o="root" g="wheel" p="33188"/><f n="qshortcut.sip" o="root" g="wheel" p="33188"/><f n="qsizegrip.sip" o="root" g="wheel" p="33188"/><f n="qsizepolicy.sip" o="root" g="wheel" p="33188"/><f n="qslider.sip" o="root" g="wheel" p="33188"/><f n="qsortfilterproxymodel.sip" o="root" g="wheel" p="33188"/><f n="qsound.sip" o="root" g="wheel" p="33188"/><f n="qspinbox.sip" o="root" g="wheel" p="33188"/><f n="qsplashscreen.sip" o="root" g="wheel" p="33188"/><f n="qsplitter.sip" o="root" g="wheel" p="33188"/><f n="qstackedlayout.sip" o="root" g="wheel" p="33188"/><f n="qstackedwidget.sip" o="root" g="wheel" p="33188"/><f n="qstandarditemmodel.sip" o="root" g="wheel" p="33188"/><f n="qstatusbar.sip" o="root" g="wheel" p="33188"/><f n="qstringlistmodel.sip" o="root" g="wheel" p="33188"/><f n="qstyle.sip" o="root" g="wheel" p="33188"/><f n="qstyleditemdelegate.sip" o="root" g="wheel" p="33188"/><f n="qstylefactory.sip" o="root" g="wheel" p="33188"/><f n="qstyleoption.sip" o="root" g="wheel" p="33188"/><f n="qstylepainter.sip" o="root" g="wheel" p="33188"/><f n="qsyntaxhighlighter.sip" o="root" g="wheel" p="33188"/><f n="qsystemtrayicon.sip" o="root" g="wheel" p="33188"/><f n="qtabbar.sip" o="root" g="wheel" p="33188"/><f n="qtableview.sip" o="root" g="wheel" p="33188"/><f n="qtablewidget.sip" o="root" g="wheel" p="33188"/><f n="qtabwidget.sip" o="root" g="wheel" p="33188"/><f n="qtextbrowser.sip" o="root" g="wheel" p="33188"/><f n="qtextcursor.sip" o="root" g="wheel" p="33188"/><f n="qtextdocument.sip" o="root" g="wheel" p="33188"/><f n="qtextdocumentfragment.sip" o="root" g="wheel" p="33188"/><f n="qtextdocumentwriter.sip" o="root" g="wheel" p="33188"/><f n="qtextedit.sip" o="root" g="wheel" p="33188"/><f n="qtextformat.sip" o="root" g="wheel" p="33188"/><f n="qtextlayout.sip" o="root" g="wheel" p="33188"/><f n="qtextlist.sip" o="root" g="wheel" p="33188"/><f n="qtextobject.sip" o="root" g="wheel" p="33188"/><f n="qtextoption.sip" o="root" g="wheel" p="33188"/><f n="qtexttable.sip" o="root" g="wheel" p="33188"/><f n="QtGuimod.sip" o="root" g="wheel" p="33188"/><f n="qtoolbar.sip" o="root" g="wheel" p="33188"/><f n="qtoolbox.sip" o="root" g="wheel" p="33188"/><f n="qtoolbutton.sip" o="root" g="wheel" p="33188"/><f n="qtooltip.sip" o="root" g="wheel" p="33188"/><f n="qtransform.sip" o="root" g="wheel" p="33188"/><f n="qtreeview.sip" o="root" g="wheel" p="33188"/><f n="qtreewidget.sip" o="root" g="wheel" p="33188"/><f n="qtreewidgetitemiterator.sip" o="root" g="wheel" p="33188"/><f n="qundogroup.sip" o="root" g="wheel" p="33188"/><f n="qundostack.sip" o="root" g="wheel" p="33188"/><f n="qundoview.sip" o="root" g="wheel" p="33188"/><f n="qvalidator.sip" o="root" g="wheel" p="33188"/><f n="qwhatsthis.sip" o="root" g="wheel" p="33188"/><f n="qwidget.sip" o="root" g="wheel" p="33188"/><f n="qwidgetaction.sip" o="root" g="wheel" p="33188"/><f n="qwindowdefs.sip" o="root" g="wheel" p="33188"/><f n="qwizard.sip" o="root" g="wheel" p="33188"/><f n="qworkspace.sip" o="root" g="wheel" p="33188"/><f n="qx11embed_x11.sip" o="root" g="wheel" p="33188"/><f n="qx11info_x11.sip" o="root" g="wheel" p="33188"/></f><f n="QtHelp" o="root" g="wheel" p="16877"><f n="qhelpcontentwidget.sip" o="root" g="wheel" p="33188"/><f n="qhelpengine.sip" o="root" g="wheel" p="33188"/><f n="qhelpenginecore.sip" o="root" g="wheel" p="33188"/><f n="qhelpindexwidget.sip" o="root" g="wheel" p="33188"/><f n="qhelpsearchengine.sip" o="root" g="wheel" p="33188"/><f n="qhelpsearchquerywidget.sip" o="root" g="wheel" p="33188"/><f n="qhelpsearchresultwidget.sip" o="root" g="wheel" p="33188"/><f n="QtHelpmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtNetwork" o="root" g="wheel" p="16877"><f n="qabstractnetworkcache.sip" o="root" g="wheel" p="33188"/><f n="qabstractsocket.sip" o="root" g="wheel" p="33188"/><f n="qauthenticator.sip" o="root" g="wheel" p="33188"/><f n="qftp.sip" o="root" g="wheel" p="33188"/><f n="qhostaddress.sip" o="root" g="wheel" p="33188"/><f n="qhostinfo.sip" o="root" g="wheel" p="33188"/><f n="qhttp.sip" o="root" g="wheel" p="33188"/><f n="qlocalserver.sip" o="root" g="wheel" p="33188"/><f n="qlocalsocket.sip" o="root" g="wheel" p="33188"/><f n="qnetworkaccessmanager.sip" o="root" g="wheel" p="33188"/><f n="qnetworkcookie.sip" o="root" g="wheel" p="33188"/><f n="qnetworkdiskcache.sip" o="root" g="wheel" p="33188"/><f n="qnetworkinterface.sip" o="root" g="wheel" p="33188"/><f n="qnetworkproxy.sip" o="root" g="wheel" p="33188"/><f n="qnetworkreply.sip" o="root" g="wheel" p="33188"/><f n="qnetworkrequest.sip" o="root" g="wheel" p="33188"/><f n="qssl.sip" o="root" g="wheel" p="33188"/><f n="qsslcertificate.sip" o="root" g="wheel" p="33188"/><f n="qsslcipher.sip" o="root" g="wheel" p="33188"/><f n="qsslconfiguration.sip" o="root" g="wheel" p="33188"/><f n="qsslerror.sip" o="root" g="wheel" p="33188"/><f n="qsslkey.sip" o="root" g="wheel" p="33188"/><f n="qsslsocket.sip" o="root" g="wheel" p="33188"/><f n="qtcpserver.sip" o="root" g="wheel" p="33188"/><f n="qtcpsocket.sip" o="root" g="wheel" p="33188"/><f n="QtNetworkmod.sip" o="root" g="wheel" p="33188"/><f n="qudpsocket.sip" o="root" g="wheel" p="33188"/><f n="qurlinfo.sip" o="root" g="wheel" p="33188"/></f><f n="QtOpenGL" o="root" g="wheel" p="16877"><f n="qgl.sip" o="root" g="wheel" p="33188"/><f n="qglcolormap.sip" o="root" g="wheel" p="33188"/><f n="qglframebufferobject.sip" o="root" g="wheel" p="33188"/><f n="qglpixelbuffer.sip" o="root" g="wheel" p="33188"/><f n="QtOpenGLmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtScript" o="root" g="wheel" p="16877"><f n="qscriptclass.sip" o="root" g="wheel" p="33188"/><f n="qscriptclasspropertyiterator.sip" o="root" g="wheel" p="33188"/><f n="qscriptcontext.sip" o="root" g="wheel" p="33188"/><f n="qscriptcontextinfo.sip" o="root" g="wheel" p="33188"/><f n="qscriptengine.sip" o="root" g="wheel" p="33188"/><f n="qscriptengineagent.sip" o="root" g="wheel" p="33188"/><f n="qscriptstring.sip" o="root" g="wheel" p="33188"/><f n="qscriptvalue.sip" o="root" g="wheel" p="33188"/><f n="qscriptvalueiterator.sip" o="root" g="wheel" p="33188"/><f n="QtScriptmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtScriptTools" o="root" g="wheel" p="16877"><f n="qscriptenginedebugger.sip" o="root" g="wheel" p="33188"/><f n="QtScriptToolsmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtSql" o="root" g="wheel" p="16877"><f n="qsql.sip" o="root" g="wheel" p="33188"/><f n="qsqldatabase.sip" o="root" g="wheel" p="33188"/><f n="qsqldriver.sip" o="root" g="wheel" p="33188"/><f n="qsqlerror.sip" o="root" g="wheel" p="33188"/><f n="qsqlfield.sip" o="root" g="wheel" p="33188"/><f n="qsqlindex.sip" o="root" g="wheel" p="33188"/><f n="qsqlquery.sip" o="root" g="wheel" p="33188"/><f n="qsqlquerymodel.sip" o="root" g="wheel" p="33188"/><f n="qsqlrecord.sip" o="root" g="wheel" p="33188"/><f n="qsqlrelationaldelegate.sip" o="root" g="wheel" p="33188"/><f n="qsqlrelationaltablemodel.sip" o="root" g="wheel" p="33188"/><f n="qsqlresult.sip" o="root" g="wheel" p="33188"/><f n="qsqltablemodel.sip" o="root" g="wheel" p="33188"/><f n="QtSqlmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtSvg" o="root" g="wheel" p="16877"><f n="qgraphicssvgitem.sip" o="root" g="wheel" p="33188"/><f n="qsvggenerator.sip" o="root" g="wheel" p="33188"/><f n="qsvgrenderer.sip" o="root" g="wheel" p="33188"/><f n="qsvgwidget.sip" o="root" g="wheel" p="33188"/><f n="QtSvgmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtTest" o="root" g="wheel" p="16877"><f n="qtestcase.sip" o="root" g="wheel" p="33188"/><f n="qtestkeyboard.sip" o="root" g="wheel" p="33188"/><f n="qtestmouse.sip" o="root" g="wheel" p="33188"/><f n="qtestsystem.sip" o="root" g="wheel" p="33188"/><f n="QtTestmod.sip" o="root" g="wheel" p="33188"/></f><f n="QtWebKit" o="root" g="wheel" p="16877"><f n="QtWebKitmod.sip" o="root" g="wheel" p="33188"/><f n="qwebdatabase.sip" o="root" g="wheel" p="33188"/><f n="qwebframe.sip" o="root" g="wheel" p="33188"/><f n="qwebhistory.sip" o="root" g="wheel" p="33188"/><f n="qwebhistoryinterface.sip" o="root" g="wheel" p="33188"/><f n="qwebpage.sip" o="root" g="wheel" p="33188"/><f n="qwebpluginfactory.sip" o="root" g="wheel" p="33188"/><f n="qwebsecurityorigin.sip" o="root" g="wheel" p="33188"/><f n="qwebsettings.sip" o="root" g="wheel" p="33188"/><f n="qwebview.sip" o="root" g="wheel" p="33188"/></f><f n="QtXml" o="root" g="wheel" p="16877"><f n="qdom.sip" o="root" g="wheel" p="33188"/><f n="QtXmlmod.sip" o="root" g="wheel" p="33188"/><f n="qxml.sip" o="root" g="wheel" p="33188"/><f n="qxmlstream.sip" o="root" g="wheel" p="33188"/></f><f n="QtXmlPatterns" o="root" g="wheel" p="16877"><f n="qabstractmessagehandler.sip" o="root" g="wheel" p="33188"/><f n="qabstracturiresolver.sip" o="root" g="wheel" p="33188"/><f n="qabstractxmlnodemodel.sip" o="root" g="wheel" p="33188"/><f n="qabstractxmlreceiver.sip" o="root" g="wheel" p="33188"/><f n="qsimplexmlnodemodel.sip" o="root" g="wheel" p="33188"/><f n="qsourcelocation.sip" o="root" g="wheel" p="33188"/><f n="QtXmlPatternsmod.sip" o="root" g="wheel" p="33188"/><f n="qxmlformatter.sip" o="root" g="wheel" p="33188"/><f n="qxmlname.sip" o="root" g="wheel" p="33188"/><f n="qxmlnamepool.sip" o="root" g="wheel" p="33188"/><f n="qxmlquery.sip" o="root" g="wheel" p="33188"/><f n="qxmlresultitems.sip" o="root" g="wheel" p="33188"/><f n="qxmlserializer.sip" o="root" g="wheel" p="33188"/></f></f></f></f></f></pkg-contents> \ No newline at end of file diff --git a/deployment/macos/Installer.pmdoc/02openstructure.xml b/deployment/macos/Installer.pmdoc/02openstructure.xml deleted file mode 100644 index 24daef59a833cdb44b5fd035d6a3cb7c954bfa52..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/02openstructure.xml +++ /dev/null @@ -1 +0,0 @@ -<pkgref spec="1.12" uuid="16CBBEAE-26C1-4732-A0CB-BBC43AB06B0B"><config><identifier>org.openstructure.OST.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom>/usr/openstructure</installFrom><installTo mod="true">/usr/openstructure</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>installTo.path</mod><mod>installTo</mod><mod>identifier</mod></config><contents><file-list>02openstructure-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file diff --git a/deployment/macos/Installer.pmdoc/03examples-contents.xml b/deployment/macos/Installer.pmdoc/03examples-contents.xml deleted file mode 100644 index d0ea01668515fc9f9b0a4f8833856d330997dd0f..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/03examples-contents.xml +++ /dev/null @@ -1 +0,0 @@ -<pkg-contents spec="1.12"><f n="examples" o="marco" g="staff" p="16877" pt="/Users/marco/Projects/ost/examples" m="false" t="file"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16820"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16820"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16820"><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16820"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16820"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="entity" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="bbox.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="color_by_property.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment2.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_selection.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_symmetry.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gradient.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="load_and_display.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="primitives.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="random_lines.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="rendermodes.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="bbox.py.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="primitives.py.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="tempfile.2.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.3.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.4.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.5.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.6.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.7.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.8.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="bbox.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="color_by_property.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment2.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_selection.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_symmetry.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gradient.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="load_and_display.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="primitives.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="random_lines.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="rendermodes.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="iplt" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="circle.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="square.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone1.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone2.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone3.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone4.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone5.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="circle.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="create_split_image.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fft_li.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="modulate_image.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="spoke_pattern.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="square.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone1.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone2.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone3.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone4.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone5.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="view_phase_diff.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="circle.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="create_split_image.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fft_li.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="modulate_image.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="spoke_pattern.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="square.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone1.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone2.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone3.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone4.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone5.png" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="view_phase_diff.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="map" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="gfx_mapiso.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_mapslab.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="tempfile.2.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.3.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="gfx_mapiso.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_mapslab.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="misc" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="bitmap_export.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="export_pov.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="the_hammer.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="tempfile.2.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.3.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.4.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="bitmap_export.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="export_pov.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="the_hammer.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="modelling" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="roll_helix.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="strip_sidechains.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="roll_helix.py.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="strip_sidechains.py.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="roll_helix.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="strip_sidechains.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="surf" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="sdh.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_rsurf.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_surf.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_surf_pov.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="tempfile.2.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="fragment.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.face" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="sdh.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.vert" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="test_rsurf.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_surf.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_surf_pov.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="trj" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="mpor_trj.crd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj_short.trj.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.dcd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj.crd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj_short.trj.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.dcd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_trj.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_trj_blur.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="fragment.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj.crd" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="mpor_trj_short.trj" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="sample.dcd" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.pdb" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_trj.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_trj_blur.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="ui" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-revert" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="board.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="color_tool.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mdi_example.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="menubar_example.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="widget_example.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16820"><mod>mode</mod></f><f n="tempfile.3.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.4.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.5.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.6.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tempfile.tmp" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16820"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="board.py" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="color_tool.py" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="mdi_example.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="menubar_example.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="widget_example.py" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f></f></pkg-contents> \ No newline at end of file diff --git a/deployment/macos/Installer.pmdoc/03examples.xml b/deployment/macos/Installer.pmdoc/03examples.xml deleted file mode 100644 index eb3e19890eb4607fce33cdb92fecf1ab39b30bc4..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/03examples.xml +++ /dev/null @@ -1 +0,0 @@ -<pkgref spec="1.12" uuid="3B183244-2EEB-4A57-B208-AC7286128C55"><config><identifier>org.openstructure.OST.examples.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom>/Users/marco/Projects/ost/examples</installFrom><installTo mod="true">/Applications/OpenStructure/Examples</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>installTo.path</mod><mod>installTo</mod><mod>identifier</mod></config><contents><file-list>03examples-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file diff --git a/deployment/macos/Installer.pmdoc/index.xml b/deployment/macos/Installer.pmdoc/index.xml deleted file mode 100644 index 905606181a707e6cd0e8bc8500414b4b2cfb0924..0000000000000000000000000000000000000000 --- a/deployment/macos/Installer.pmdoc/index.xml +++ /dev/null @@ -1,11 +0,0 @@ -<pkmkdoc spec="1.12"><properties><title>OpenStructure</title><build>/Users/marco/Projects/ost/deployment/macos/openstructure_1.0a_1655.pkg</build><organization>org.openstructure</organization><userSees ui="both"/><min-target os="3"/><domain anywhere="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="DNG" id="choice1" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.openstructure.DNG.pkg"/></choice><choice title="OpenStructure" id="choice2" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.openstructure.OST.pkg"/></choice><choice title="Examples" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.openstructure.OST.examples.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"><resource relative="true" mod="true" type="license">../../LICENSE.txt</resource><resource mime-type="text/rtf" kind="embedded" type="conclusion"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 -{\fonttbl\f0\fnil\fcharset0 LucidaGrande;\f1\fmodern\fcharset0 Courier;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural - -\f0\fs26 \cf0 If you would like to run OpenStructure from the commandline, please add the following line to -\f1 .bashrc -\f0 or -\f1 .bash_profile:\ -\ -export PATH=/usr/openstructure/bin:$PATH}]]></resource></locale></resources><flags/><item type="file">01dng.xml</item><item type="file">02openstructure.xml</item><item type="file">03examples.xml</item><mod>properties.title</mod></pkmkdoc> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/01dng-contents.xml b/deployment/macos/OpenStructure.pmdoc/01dng-contents.xml new file mode 100644 index 0000000000000000000000000000000000000000..07ba5eb54bb1bc79de429156dc817df23e274fb8 --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/01dng-contents.xml @@ -0,0 +1 @@ +<pkg-contents spec="1.12"><f n="DNG.app" o="root" g="admin" p="16893" pt="/Users/marco/Projects/prod_ost/deployment/macos/DNG.app" m="true" t="file"><f n="Contents" o="root" g="admin" p="16893"><f n="Info.plist" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MacOS" o="root" g="admin" p="16893"><f n="dng" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="PkgInfo" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Resources" o="root" g="admin" p="16893"><f n="icon.icns" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f></pkg-contents> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/01dng.xml b/deployment/macos/OpenStructure.pmdoc/01dng.xml new file mode 100644 index 0000000000000000000000000000000000000000..08783eb2be2b5b349a3690e009ed429d67353a0d --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/01dng.xml @@ -0,0 +1 @@ +<pkgref spec="1.12" uuid="2FD6FA09-D2A6-4765-A83C-B0F8E372E8FD"><config><identifier>org.openstructure.DNG.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" includeRoot="true">DNG.app</installFrom><installTo>/Applications</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>requireAuthorization</mod><mod>relocatable</mod><mod>installFrom.isRelativeType</mod><mod>includeRoot</mod><mod>identifier</mod></config><contents><file-list>01dng-contents.xml</file-list><component id="org.openstructure.OpenStructure" path="/Users/marco/Projects/prod_ost/deployment/macos/DNG.app" version="" isRelocatable="true"><locator-info><token title="pkmk-token-18"><search-rule><combo identifier="org.openstructure.OpenStructure" default-path="/Applications/DNG.app"/></search-rule></token></locator-info></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/02standalone-contents.xml b/deployment/macos/OpenStructure.pmdoc/02standalone-contents.xml new file mode 100644 index 0000000000000000000000000000000000000000..017395170b0b9af69db19dd8ec696b7bd3ebe17a --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/02standalone-contents.xml @@ -0,0 +1 @@ +<pkg-contents spec="1.12"><f n="standalone" o="marco" g="staff" p="16877" pt="/Users/marco/Projects/prod_ost/deployment/macos/standalone" m="false" t="file"><f n="bin" o="marco" g="staff" p="16893"><f n="chemdict_tool" o="marco" g="staff" p="33277"/><f n="dng" o="marco" g="staff" p="33277"/><f n="gosty" o="marco" g="staff" p="33277"/><f n="ost" o="marco" g="staff" p="33277"/><f n="python" o="marco" g="staff" p="33277"/></f><f n="lib" o="marco" g="staff" p="16893"><f n="libboost_filesystem-mt.dylib" o="marco" g="staff" p="33204"/><f n="libboost_iostreams-mt.dylib" o="marco" g="staff" p="33204"/><f n="libboost_program_options-mt.dylib" o="marco" g="staff" p="33204"/><f n="libboost_python-mt.dylib" o="marco" g="staff" p="33204"/><f n="libboost_regex-mt.dylib" o="marco" g="staff" p="33204"/><f n="libboost_system-mt.1.41.0.dylib" o="marco" g="staff" p="33204"/><f n="libboost_system-mt.dylib" o="marco" g="staff" p="33204"/><f n="libfftw3f_threads.3.dylib" o="marco" g="staff" p="33204"/><f n="libgcc_s.1.dylib" o="marco" g="staff" p="33204"/><f n="libost_base.dylib" o="marco" g="staff" p="33204"/><f n="libost_conop.dylib" o="marco" g="staff" p="33204"/><f n="libost_db.dylib" o="marco" g="staff" p="33204"/><f n="libost_geom.dylib" o="marco" g="staff" p="33204"/><f n="libost_gfx.dylib" o="marco" g="staff" p="33204"/><f n="libost_gui.dylib" o="marco" g="staff" p="33204"/><f n="libost_img.dylib" o="marco" g="staff" p="33204"/><f n="libost_img_alg.dylib" o="marco" g="staff" p="33204"/><f n="libost_info.dylib" o="marco" g="staff" p="33204"/><f n="libost_io.dylib" o="marco" g="staff" p="33204"/><f n="libost_mol.dylib" o="marco" g="staff" p="33204"/><f n="libost_mol_alg.dylib" o="marco" g="staff" p="33204"/><f n="libost_qa.dylib" o="marco" g="staff" p="33204"/><f n="libost_seq.dylib" o="marco" g="staff" p="33204"/><f n="libost_seq_alg.dylib" o="marco" g="staff" p="33204"/><f n="libpng12.0.dylib" o="marco" g="staff" p="33204"/><f n="libpython2.6.dylib" o="marco" g="staff" p="33204"/><f n="libtiff.3.dylib" o="marco" g="staff" p="33204"/><f n="openstructure" o="marco" g="staff" p="16893"><f n="init.py" o="marco" g="staff" p="33204"/><f n="init_cl.py" o="marco" g="staff" p="33204"/><f n="init_iplt.py" o="marco" g="staff" p="33204"/><f n="ost" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_base.so" o="marco" g="staff" p="33204"/><f n="bindings" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="clustalw.py" o="marco" g="staff" p="33204"/><f n="dssp.py" o="marco" g="staff" p="33204"/><f n="hbplus.py" o="marco" g="staff" p="33277"/><f n="lga.py" o="marco" g="staff" p="33277"/><f n="msms.py" o="marco" g="staff" p="33204"/><f n="tmtools.py" o="marco" g="staff" p="33204"/><f n="utils.py" o="marco" g="staff" p="33204"/></f><f n="conop" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_conop.so" o="marco" g="staff" p="33204"/></f><f n="db" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/></f><f n="geom" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_geom.so" o="marco" g="staff" p="33204"/></f><f n="gfx" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_gfx.so" o="marco" g="staff" p="33204"/></f><f n="gui" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_gui.so" o="marco" g="staff" p="33204"/><f n="init_context_menu.py" o="marco" g="staff" p="33204"/><f n="init_menubar.py" o="marco" g="staff" p="33204"/><f n="init_spacenav.py" o="marco" g="staff" p="33204"/><f n="scene" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="color_options_widget.py" o="marco" g="staff" p="33204"/><f n="color_select_widget.py" o="marco" g="staff" p="33204"/><f n="combo_options_widget.py" o="marco" g="staff" p="33204"/><f n="cpk_widget.py" o="marco" g="staff" p="33204"/><f n="custom_widget.py" o="marco" g="staff" p="33204"/><f n="file_loader.py" o="marco" g="staff" p="33204"/><f n="gradient_editor_widget.py" o="marco" g="staff" p="33204"/><f n="gradient_info_handler.py" o="marco" g="staff" p="33204"/><f n="gradient_list_model.py" o="marco" g="staff" p="33204"/><f n="gradient_preset_widget.py" o="marco" g="staff" p="33204"/><f n="hsc_widget.py" o="marco" g="staff" p="33204"/><f n="immutable_gradient_info_handler.py" o="marco" g="staff" p="33204"/><f n="immutable_loader_info_handler.py" o="marco" g="staff" p="33204"/><f n="immutable_preset_info_handler.py" o="marco" g="staff" p="33204"/><f n="init_inspector.py" o="marco" g="staff" p="33204"/><f n="inspector_widget.py" o="marco" g="staff" p="33204"/><f n="line_trace_widget.py" o="marco" g="staff" p="33204"/><f n="loader_info_handler.py" o="marco" g="staff" p="33204"/><f n="loader_list_model.py" o="marco" g="staff" p="33204"/><f n="loader_manager_widget.py" o="marco" g="staff" p="33204"/><f n="map_level_widget.py" o="marco" g="staff" p="33204"/><f n="preset.py" o="marco" g="staff" p="33204"/><f n="preset_editor_list_model.py" o="marco" g="staff" p="33204"/><f n="preset_editor_widget.py" o="marco" g="staff" p="33204"/><f n="preset_info_handler.py" o="marco" g="staff" p="33204"/><f n="preset_list_model.py" o="marco" g="staff" p="33204"/><f n="preset_widget.py" o="marco" g="staff" p="33204"/><f n="render_mode_widget.py" o="marco" g="staff" p="33204"/><f n="render_op.py" o="marco" g="staff" p="33204"/><f n="render_options_widget.py" o="marco" g="staff" p="33204"/><f n="scene_observer_impl.py" o="marco" g="staff" p="33204"/><f n="scene_selection_helper.py" o="marco" g="staff" p="33204"/><f n="simple_widget.py" o="marco" g="staff" p="33204"/><f n="sline_widget.py" o="marco" g="staff" p="33204"/><f n="toolbar_options_widget.py" o="marco" g="staff" p="33204"/><f n="trace_widget.py" o="marco" g="staff" p="33204"/><f n="tube_widget.py" o="marco" g="staff" p="33204"/><f n="uniform_color_widget.py" o="marco" g="staff" p="33204"/><f n="visibility_op.py" o="marco" g="staff" p="33204"/><f n="wireframe_widget.py" o="marco" g="staff" p="33204"/></f></f><f n="img" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_img.so" o="marco" g="staff" p="33204"/><f n="alg" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_img_alg.so" o="marco" g="staff" p="33204"/></f></f><f n="info" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_info.so" o="marco" g="staff" p="33204"/></f><f n="io" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_io.so" o="marco" g="staff" p="33204"/><f n="hhsearch.py" o="marco" g="staff" p="33277"/><f n="repository.py" o="marco" g="staff" p="33204"/></f><f n="mol" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_mol.so" o="marco" g="staff" p="33204"/><f n="alg" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_mol_alg.so" o="marco" g="staff" p="33204"/><f n="views.py" o="marco" g="staff" p="33277"/></f></f><f n="qa" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_qa.so" o="marco" g="staff" p="33204"/></f><f n="seq" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="_seq.so" o="marco" g="staff" p="33204"/><f n="alg" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_seq_alg.so" o="marco" g="staff" p="33204"/><f n="mat.py" o="marco" g="staff" p="33204"/></f></f><f n="settings.py" o="marco" g="staff" p="33204"/><f n="stutil.py" o="marco" g="staff" p="33204"/><f n="stutil.pyc" o="marco" g="staff" p="33188"/></f><f n="PyQt4" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="phonon.so" o="marco" g="staff" p="33204"/><f n="pyqtconfig.py" o="marco" g="staff" p="33204"/><f n="Qt.so" o="marco" g="staff" p="33204"/><f n="QtAssistant.so" o="marco" g="staff" p="33204"/><f n="QtCore.so" o="marco" g="staff" p="33204"/><f n="QtDesigner.so" o="marco" g="staff" p="33204"/><f n="QtGui.so" o="marco" g="staff" p="33204"/><f n="QtHelp.so" o="marco" g="staff" p="33204"/><f n="QtNetwork.so" o="marco" g="staff" p="33204"/><f n="QtOpenGL.so" o="marco" g="staff" p="33204"/><f n="QtScript.so" o="marco" g="staff" p="33204"/><f n="QtScriptTools.so" o="marco" g="staff" p="33204"/><f n="QtSql.so" o="marco" g="staff" p="33204"/><f n="QtSvg.so" o="marco" g="staff" p="33204"/><f n="QtTest.so" o="marco" g="staff" p="33204"/><f n="QtWebKit.so" o="marco" g="staff" p="33204"/><f n="QtXml.so" o="marco" g="staff" p="33204"/><f n="QtXmlPatterns.so" o="marco" g="staff" p="33204"/><f n="uic" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="Compiler" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="compiler.py" o="marco" g="staff" p="33204"/><f n="indenter.py" o="marco" g="staff" p="33204"/><f n="misc.py" o="marco" g="staff" p="33204"/><f n="proxy_type.py" o="marco" g="staff" p="33204"/><f n="qobjectcreator.py" o="marco" g="staff" p="33204"/><f n="qtproxies.py" o="marco" g="staff" p="33204"/></f><f n="driver.py" o="marco" g="staff" p="33204"/><f n="exceptions.py" o="marco" g="staff" p="33204"/><f n="icon_cache.py" o="marco" g="staff" p="33277"/><f n="Loader" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="loader.py" o="marco" g="staff" p="33204"/><f n="qobjectcreator.py" o="marco" g="staff" p="33204"/></f><f n="objcreator.py" o="marco" g="staff" p="33204"/><f n="port_v2" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="ascii_upper.py" o="marco" g="staff" p="33204"/><f n="encode_utf8.py" o="marco" g="staff" p="33204"/><f n="invoke.py" o="marco" g="staff" p="33204"/><f n="load_plugin.py" o="marco" g="staff" p="33204"/><f n="proxy_base.py" o="marco" g="staff" p="33204"/><f n="string_io.py" o="marco" g="staff" p="33204"/></f><f n="port_v3" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="ascii_upper.py" o="marco" g="staff" p="33204"/><f n="encode_utf8.py" o="marco" g="staff" p="33204"/><f n="invoke.py" o="marco" g="staff" p="33204"/><f n="load_plugin.py" o="marco" g="staff" p="33204"/><f n="proxy_base.py" o="marco" g="staff" p="33204"/><f n="string_io.py" o="marco" g="staff" p="33204"/></f><f n="properties.py" o="marco" g="staff" p="33204"/><f n="pyuic.py" o="marco" g="staff" p="33204"/><f n="uiparser.py" o="marco" g="staff" p="33204"/><f n="widget-plugins" o="marco" g="staff" p="16893"><f n="phonon.py" o="marco" g="staff" p="33204"/><f n="qaxcontainer.py" o="marco" g="staff" p="33204"/><f n="qscintilla.py" o="marco" g="staff" p="33204"/><f n="qtwebkit.py" o="marco" g="staff" p="33204"/></f></f></f><f n="sip.so" o="marco" g="staff" p="33204"/><f n="sipconfig.py" o="marco" g="staff" p="33204"/><f n="sipdistutils.py" o="marco" g="staff" p="33204"/></f><f n="python2.6" o="marco" g="staff" p="16893"><f n="__future__.py" o="marco" g="staff" p="33277"/><f n="__phello__.foo.py" o="marco" g="staff" p="33204"/><f n="_abcoll.py" o="marco" g="staff" p="33204"/><f n="_abcoll.pyc" o="marco" g="staff" p="33188"/><f n="_LWPCookieJar.py" o="marco" g="staff" p="33277"/><f n="_MozillaCookieJar.py" o="marco" g="staff" p="33277"/><f n="_strptime.py" o="marco" g="staff" p="33277"/><f n="_threading_local.py" o="marco" g="staff" p="33277"/><f n="abc.py" o="marco" g="staff" p="33204"/><f n="abc.pyc" o="marco" g="staff" p="33188"/><f n="aifc.py" o="marco" g="staff" p="33277"/><f n="anydbm.py" o="marco" g="staff" p="33277"/><f n="ast.py" o="marco" g="staff" p="33204"/><f n="asynchat.py" o="marco" g="staff" p="33204"/><f n="asyncore.py" o="marco" g="staff" p="33204"/><f n="atexit.py" o="marco" g="staff" p="33277"/><f n="audiodev.py" o="marco" g="staff" p="33277"/><f n="base64.py" o="marco" g="staff" p="33277"/><f n="BaseHTTPServer.py" o="marco" g="staff" p="33277"/><f n="Bastion.py" o="marco" g="staff" p="33277"/><f n="bdb.py" o="marco" g="staff" p="33277"/><f n="binhex.py" o="marco" g="staff" p="33277"/><f n="bisect.py" o="marco" g="staff" p="33277"/><f n="bsddb" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="db.py" o="marco" g="staff" p="33204"/><f n="dbobj.py" o="marco" g="staff" p="33204"/><f n="dbrecio.py" o="marco" g="staff" p="33204"/><f n="dbshelve.py" o="marco" g="staff" p="33277"/><f n="dbtables.py" o="marco" g="staff" p="33204"/><f n="dbutils.py" o="marco" g="staff" p="33204"/><f n="test" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="test_all.py" o="marco" g="staff" p="33277"/><f n="test_associate.py" o="marco" g="staff" p="33277"/><f n="test_basics.py" o="marco" g="staff" p="33277"/><f n="test_compare.py" o="marco" g="staff" p="33277"/><f n="test_compat.py" o="marco" g="staff" p="33277"/><f n="test_cursor_pget_bug.py" o="marco" g="staff" p="33204"/><f n="test_dbobj.py" o="marco" g="staff" p="33204"/><f n="test_dbshelve.py" o="marco" g="staff" p="33277"/><f n="test_dbtables.py" o="marco" g="staff" p="33277"/><f n="test_distributed_transactions.py" o="marco" g="staff" p="33277"/><f n="test_early_close.py" o="marco" g="staff" p="33277"/><f n="test_get_none.py" o="marco" g="staff" p="33277"/><f n="test_join.py" o="marco" g="staff" p="33277"/><f n="test_lock.py" o="marco" g="staff" p="33277"/><f n="test_misc.py" o="marco" g="staff" p="33277"/><f n="test_pickle.py" o="marco" g="staff" p="33204"/><f n="test_queue.py" o="marco" g="staff" p="33277"/><f n="test_recno.py" o="marco" g="staff" p="33277"/><f n="test_replication.py" o="marco" g="staff" p="33277"/><f n="test_sequence.py" o="marco" g="staff" p="33204"/><f n="test_thread.py" o="marco" g="staff" p="33277"/></f></f><f n="calendar.py" o="marco" g="staff" p="33277"/><f n="cgi.py" o="marco" g="staff" p="33277"/><f n="CGIHTTPServer.py" o="marco" g="staff" p="33277"/><f n="cgitb.py" o="marco" g="staff" p="33277"/><f n="chunk.py" o="marco" g="staff" p="33277"/><f n="cmd.py" o="marco" g="staff" p="33277"/><f n="code.py" o="marco" g="staff" p="33277"/><f n="codecs.py" o="marco" g="staff" p="33277"/><f n="codecs.pyc" o="marco" g="staff" p="33188"/><f n="codeop.py" o="marco" g="staff" p="33204"/><f n="collections.py" o="marco" g="staff" p="33204"/><f n="colorsys.py" o="marco" g="staff" p="33277"/><f n="commands.py" o="marco" g="staff" p="33277"/><f n="compileall.py" o="marco" g="staff" p="33277"/><f n="compiler" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="ast.py" o="marco" g="staff" p="33277"/><f n="consts.py" o="marco" g="staff" p="33204"/><f n="future.py" o="marco" g="staff" p="33277"/><f n="misc.py" o="marco" g="staff" p="33204"/><f n="pyassem.py" o="marco" g="staff" p="33277"/><f n="pycodegen.py" o="marco" g="staff" p="33204"/><f n="symbols.py" o="marco" g="staff" p="33277"/><f n="syntax.py" o="marco" g="staff" p="33277"/><f n="transformer.py" o="marco" g="staff" p="33277"/><f n="visitor.py" o="marco" g="staff" p="33204"/></f><f n="config" o="marco" g="staff" p="16893"><f n="config.c" o="marco" g="staff" p="33204"/><f n="config.c.in" o="marco" g="staff" p="33204"/><f n="install-sh" o="marco" g="staff" p="33277"/><f n="libpython2.6.a" o="marco" g="staff" p="33204"/><f n="Makefile" o="marco" g="staff" p="33204"/><f n="makesetup" o="marco" g="staff" p="33277"/><f n="python.o" o="marco" g="staff" p="33204"/><f n="Setup" o="marco" g="staff" p="33204"/><f n="Setup.config" o="marco" g="staff" p="33204"/><f n="Setup.local" o="marco" g="staff" p="33204"/></f><f n="ConfigParser.py" o="marco" g="staff" p="33277"/><f n="contextlib.py" o="marco" g="staff" p="33277"/><f n="Cookie.py" o="marco" g="staff" p="33277"/><f n="cookielib.py" o="marco" g="staff" p="33277"/><f n="copy.py" o="marco" g="staff" p="33277"/><f n="copy.pyc" o="marco" g="staff" p="33188"/><f n="copy_reg.py" o="marco" g="staff" p="33277"/><f n="copy_reg.pyc" o="marco" g="staff" p="33188"/><f n="cProfile.py" o="marco" g="staff" p="33277"/><f n="csv.py" o="marco" g="staff" p="33204"/><f n="ctypes" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_endian.py" o="marco" g="staff" p="33204"/><f n="macholib" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="dyld.py" o="marco" g="staff" p="33204"/><f n="dylib.py" o="marco" g="staff" p="33204"/><f n="fetch_macholib" o="marco" g="staff" p="33277"/><f n="fetch_macholib.bat" o="marco" g="staff" p="33204"/><f n="framework.py" o="marco" g="staff" p="33204"/><f n="README.ctypes" o="marco" g="staff" p="33204"/></f><f n="test" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="runtests.py" o="marco" g="staff" p="33277"/><f n="test_anon.py" o="marco" g="staff" p="33204"/><f n="test_array_in_pointer.py" o="marco" g="staff" p="33204"/><f n="test_arrays.py" o="marco" g="staff" p="33204"/><f n="test_as_parameter.py" o="marco" g="staff" p="33204"/><f n="test_bitfields.py" o="marco" g="staff" p="33204"/><f n="test_buffers.py" o="marco" g="staff" p="33204"/><f n="test_byteswap.py" o="marco" g="staff" p="33204"/><f n="test_callbacks.py" o="marco" g="staff" p="33204"/><f n="test_cast.py" o="marco" g="staff" p="33204"/><f n="test_cfuncs.py" o="marco" g="staff" p="33204"/><f n="test_checkretval.py" o="marco" g="staff" p="33204"/><f n="test_delattr.py" o="marco" g="staff" p="33204"/><f n="test_errcheck.py" o="marco" g="staff" p="33204"/><f n="test_errno.py" o="marco" g="staff" p="33204"/><f n="test_find.py" o="marco" g="staff" p="33204"/><f n="test_frombuffer.py" o="marco" g="staff" p="33204"/><f n="test_funcptr.py" o="marco" g="staff" p="33204"/><f n="test_functions.py" o="marco" g="staff" p="33277"/><f n="test_incomplete.py" o="marco" g="staff" p="33204"/><f n="test_init.py" o="marco" g="staff" p="33204"/><f n="test_integers.py" o="marco" g="staff" p="33204"/><f n="test_internals.py" o="marco" g="staff" p="33204"/><f n="test_keeprefs.py" o="marco" g="staff" p="33204"/><f n="test_libc.py" o="marco" g="staff" p="33204"/><f n="test_loading.py" o="marco" g="staff" p="33204"/><f n="test_macholib.py" o="marco" g="staff" p="33204"/><f n="test_memfunctions.py" o="marco" g="staff" p="33204"/><f n="test_numbers.py" o="marco" g="staff" p="33204"/><f n="test_objects.py" o="marco" g="staff" p="33204"/><f n="test_parameters.py" o="marco" g="staff" p="33204"/><f n="test_pep3118.py" o="marco" g="staff" p="33204"/><f n="test_pickling.py" o="marco" g="staff" p="33204"/><f n="test_pointers.py" o="marco" g="staff" p="33204"/><f n="test_prototypes.py" o="marco" g="staff" p="33204"/><f n="test_python_api.py" o="marco" g="staff" p="33204"/><f n="test_random_things.py" o="marco" g="staff" p="33204"/><f n="test_refcounts.py" o="marco" g="staff" p="33204"/><f n="test_repr.py" o="marco" g="staff" p="33204"/><f n="test_returnfuncptrs.py" o="marco" g="staff" p="33204"/><f n="test_simplesubclasses.py" o="marco" g="staff" p="33204"/><f n="test_sizes.py" o="marco" g="staff" p="33204"/><f n="test_slicing.py" o="marco" g="staff" p="33204"/><f n="test_stringptr.py" o="marco" g="staff" p="33204"/><f n="test_strings.py" o="marco" g="staff" p="33204"/><f n="test_struct_fields.py" o="marco" g="staff" p="33204"/><f n="test_structures.py" o="marco" g="staff" p="33204"/><f n="test_unaligned_structures.py" o="marco" g="staff" p="33204"/><f n="test_unicode.py" o="marco" g="staff" p="33204"/><f n="test_values.py" o="marco" g="staff" p="33277"/><f n="test_varsize_struct.py" o="marco" g="staff" p="33204"/><f n="test_win32.py" o="marco" g="staff" p="33204"/></f><f n="util.py" o="marco" g="staff" p="33204"/><f n="wintypes.py" o="marco" g="staff" p="33204"/></f><f n="curses" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="ascii.py" o="marco" g="staff" p="33277"/><f n="has_key.py" o="marco" g="staff" p="33204"/><f n="panel.py" o="marco" g="staff" p="33277"/><f n="textpad.py" o="marco" g="staff" p="33277"/><f n="wrapper.py" o="marco" g="staff" p="33277"/></f><f n="dbhash.py" o="marco" g="staff" p="33277"/><f n="decimal.py" o="marco" g="staff" p="33204"/><f n="difflib.py" o="marco" g="staff" p="33277"/><f n="dircache.py" o="marco" g="staff" p="33277"/><f n="dis.py" o="marco" g="staff" p="33277"/><f n="distutils" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="archive_util.py" o="marco" g="staff" p="33277"/><f n="bcppcompiler.py" o="marco" g="staff" p="33277"/><f n="ccompiler.py" o="marco" g="staff" p="33277"/><f n="cmd.py" o="marco" g="staff" p="33277"/><f n="command" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="bdist.py" o="marco" g="staff" p="33277"/><f n="bdist_dumb.py" o="marco" g="staff" p="33277"/><f n="bdist_msi.py" o="marco" g="staff" p="33204"/><f n="bdist_rpm.py" o="marco" g="staff" p="33277"/><f n="bdist_wininst.py" o="marco" g="staff" p="33277"/><f n="build.py" o="marco" g="staff" p="33277"/><f n="build_clib.py" o="marco" g="staff" p="33277"/><f n="build_ext.py" o="marco" g="staff" p="33277"/><f n="build_py.py" o="marco" g="staff" p="33277"/><f n="build_scripts.py" o="marco" g="staff" p="33277"/><f n="clean.py" o="marco" g="staff" p="33277"/><f n="command_template" o="marco" g="staff" p="33277"/><f n="config.py" o="marco" g="staff" p="33277"/><f n="install.py" o="marco" g="staff" p="33277"/><f n="install_data.py" o="marco" g="staff" p="33277"/><f n="install_egg_info.py" o="marco" g="staff" p="33277"/><f n="install_headers.py" o="marco" g="staff" p="33277"/><f n="install_lib.py" o="marco" g="staff" p="33204"/><f n="install_scripts.py" o="marco" g="staff" p="33277"/><f n="register.py" o="marco" g="staff" p="33277"/><f n="sdist.py" o="marco" g="staff" p="33277"/><f n="upload.py" o="marco" g="staff" p="33277"/><f n="wininst-6.0.exe" o="marco" g="staff" p="33277"/><f n="wininst-7.1.exe" o="marco" g="staff" p="33277"/><f n="wininst-8.0.exe" o="marco" g="staff" p="33277"/><f n="wininst-9.0-amd64.exe" o="marco" g="staff" p="33277"/><f n="wininst-9.0.exe" o="marco" g="staff" p="33277"/></f><f n="config.py" o="marco" g="staff" p="33277"/><f n="core.py" o="marco" g="staff" p="33277"/><f n="cygwinccompiler.py" o="marco" g="staff" p="33277"/><f n="debug.py" o="marco" g="staff" p="33204"/><f n="dep_util.py" o="marco" g="staff" p="33277"/><f n="dir_util.py" o="marco" g="staff" p="33277"/><f n="dist.py" o="marco" g="staff" p="33277"/><f n="emxccompiler.py" o="marco" g="staff" p="33277"/><f n="errors.py" o="marco" g="staff" p="33277"/><f n="extension.py" o="marco" g="staff" p="33277"/><f n="fancy_getopt.py" o="marco" g="staff" p="33277"/><f n="file_util.py" o="marco" g="staff" p="33277"/><f n="filelist.py" o="marco" g="staff" p="33277"/><f n="log.py" o="marco" g="staff" p="33277"/><f n="msvc9compiler.py" o="marco" g="staff" p="33277"/><f n="msvccompiler.py" o="marco" g="staff" p="33277"/><f n="mwerkscompiler.py" o="marco" g="staff" p="33277"/><f n="README" o="marco" g="staff" p="33204"/><f n="spawn.py" o="marco" g="staff" p="33277"/><f n="sysconfig.py" o="marco" g="staff" p="33277"/><f n="tests" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="setuptools_build_ext.py" o="marco" g="staff" p="33204"/><f n="setuptools_extension.py" o="marco" g="staff" p="33204"/><f n="support.py" o="marco" g="staff" p="33277"/><f n="test_bdist_wininst.py" o="marco" g="staff" p="33277"/><f n="test_build_ext.py" o="marco" g="staff" p="33204"/><f n="test_build_py.py" o="marco" g="staff" p="33277"/><f n="test_build_scripts.py" o="marco" g="staff" p="33277"/><f n="test_config.py" o="marco" g="staff" p="33277"/><f n="test_core.py" o="marco" g="staff" p="33277"/><f n="test_dist.py" o="marco" g="staff" p="33204"/><f n="test_filelist.py" o="marco" g="staff" p="33277"/><f n="test_install.py" o="marco" g="staff" p="33277"/><f n="test_install_scripts.py" o="marco" g="staff" p="33277"/><f n="test_msvc9compiler.py" o="marco" g="staff" p="33277"/><f n="test_register.py" o="marco" g="staff" p="33277"/><f n="test_sdist.py" o="marco" g="staff" p="33277"/><f n="test_sysconfig.py" o="marco" g="staff" p="33277"/><f n="test_upload.py" o="marco" g="staff" p="33277"/><f n="test_versionpredicate.py" o="marco" g="staff" p="33277"/></f><f n="text_file.py" o="marco" g="staff" p="33277"/><f n="unixccompiler.py" o="marco" g="staff" p="33277"/><f n="util.py" o="marco" g="staff" p="33277"/><f n="version.py" o="marco" g="staff" p="33204"/><f n="versionpredicate.py" o="marco" g="staff" p="33277"/></f><f n="doctest.py" o="marco" g="staff" p="33204"/><f n="DocXMLRPCServer.py" o="marco" g="staff" p="33277"/><f n="dumbdbm.py" o="marco" g="staff" p="33277"/><f n="dummy_thread.py" o="marco" g="staff" p="33277"/><f n="dummy_threading.py" o="marco" g="staff" p="33277"/><f n="email" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="_parseaddr.py" o="marco" g="staff" p="33204"/><f n="base64mime.py" o="marco" g="staff" p="33204"/><f n="charset.py" o="marco" g="staff" p="33204"/><f n="encoders.py" o="marco" g="staff" p="33204"/><f n="errors.py" o="marco" g="staff" p="33204"/><f n="feedparser.py" o="marco" g="staff" p="33204"/><f n="generator.py" o="marco" g="staff" p="33204"/><f n="header.py" o="marco" g="staff" p="33204"/><f n="iterators.py" o="marco" g="staff" p="33204"/><f n="message.py" o="marco" g="staff" p="33204"/><f n="mime" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="application.py" o="marco" g="staff" p="33204"/><f n="audio.py" o="marco" g="staff" p="33204"/><f n="base.py" o="marco" g="staff" p="33204"/><f n="image.py" o="marco" g="staff" p="33204"/><f n="message.py" o="marco" g="staff" p="33204"/><f n="multipart.py" o="marco" g="staff" p="33204"/><f n="nonmultipart.py" o="marco" g="staff" p="33204"/><f n="text.py" o="marco" g="staff" p="33204"/></f><f n="parser.py" o="marco" g="staff" p="33204"/><f n="quoprimime.py" o="marco" g="staff" p="33204"/><f n="test" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="data" o="marco" g="staff" p="16893"><f n="audiotest.au" o="marco" g="staff" p="33204"/><f n="msg_01.txt" o="marco" g="staff" p="33204"/><f n="msg_02.txt" o="marco" g="staff" p="33204"/><f n="msg_03.txt" o="marco" g="staff" p="33204"/><f n="msg_04.txt" o="marco" g="staff" p="33204"/><f n="msg_05.txt" o="marco" g="staff" p="33204"/><f n="msg_06.txt" o="marco" g="staff" p="33204"/><f n="msg_07.txt" o="marco" g="staff" p="33204"/><f n="msg_08.txt" o="marco" g="staff" p="33204"/><f n="msg_09.txt" o="marco" g="staff" p="33204"/><f n="msg_10.txt" o="marco" g="staff" p="33204"/><f n="msg_11.txt" o="marco" g="staff" p="33204"/><f n="msg_12.txt" o="marco" g="staff" p="33204"/><f n="msg_12a.txt" o="marco" g="staff" p="33204"/><f n="msg_13.txt" o="marco" g="staff" p="33204"/><f n="msg_14.txt" o="marco" g="staff" p="33204"/><f n="msg_15.txt" o="marco" g="staff" p="33204"/><f n="msg_16.txt" o="marco" g="staff" p="33204"/><f n="msg_17.txt" o="marco" g="staff" p="33204"/><f n="msg_18.txt" o="marco" g="staff" p="33204"/><f n="msg_19.txt" o="marco" g="staff" p="33204"/><f n="msg_20.txt" o="marco" g="staff" p="33204"/><f n="msg_21.txt" o="marco" g="staff" p="33204"/><f n="msg_22.txt" o="marco" g="staff" p="33204"/><f n="msg_23.txt" o="marco" g="staff" p="33204"/><f n="msg_24.txt" o="marco" g="staff" p="33204"/><f n="msg_25.txt" o="marco" g="staff" p="33204"/><f n="msg_26.txt" o="marco" g="staff" p="33204"/><f n="msg_27.txt" o="marco" g="staff" p="33204"/><f n="msg_28.txt" o="marco" g="staff" p="33204"/><f n="msg_29.txt" o="marco" g="staff" p="33204"/><f n="msg_30.txt" o="marco" g="staff" p="33204"/><f n="msg_31.txt" o="marco" g="staff" p="33204"/><f n="msg_32.txt" o="marco" g="staff" p="33204"/><f n="msg_33.txt" o="marco" g="staff" p="33204"/><f n="msg_34.txt" o="marco" g="staff" p="33204"/><f n="msg_35.txt" o="marco" g="staff" p="33204"/><f n="msg_36.txt" o="marco" g="staff" p="33204"/><f n="msg_37.txt" o="marco" g="staff" p="33204"/><f n="msg_38.txt" o="marco" g="staff" p="33204"/><f n="msg_39.txt" o="marco" g="staff" p="33204"/><f n="msg_40.txt" o="marco" g="staff" p="33204"/><f n="msg_41.txt" o="marco" g="staff" p="33204"/><f n="msg_42.txt" o="marco" g="staff" p="33204"/><f n="msg_43.txt" o="marco" g="staff" p="33204"/><f n="msg_44.txt" o="marco" g="staff" p="33204"/><f n="PyBanner048.gif" o="marco" g="staff" p="33204"/></f><f n="test_email.py" o="marco" g="staff" p="33204"/><f n="test_email_codecs.py" o="marco" g="staff" p="33204"/><f n="test_email_codecs_renamed.py" o="marco" g="staff" p="33204"/><f n="test_email_renamed.py" o="marco" g="staff" p="33204"/><f n="test_email_torture.py" o="marco" g="staff" p="33204"/></f><f n="utils.py" o="marco" g="staff" p="33204"/></f><f n="encodings" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="__init__.pyc" o="marco" g="staff" p="33188"/><f n="aliases.py" o="marco" g="staff" p="33277"/><f n="aliases.pyc" o="marco" g="staff" p="33188"/><f n="ascii.py" o="marco" g="staff" p="33277"/><f n="base64_codec.py" o="marco" g="staff" p="33277"/><f n="big5.py" o="marco" g="staff" p="33204"/><f n="big5hkscs.py" o="marco" g="staff" p="33204"/><f n="bz2_codec.py" o="marco" g="staff" p="33277"/><f n="charmap.py" o="marco" g="staff" p="33277"/><f n="cp037.py" o="marco" g="staff" p="33277"/><f n="cp1006.py" o="marco" g="staff" p="33277"/><f n="cp1026.py" o="marco" g="staff" p="33277"/><f n="cp1140.py" o="marco" g="staff" p="33277"/><f n="cp1250.py" o="marco" g="staff" p="33277"/><f n="cp1251.py" o="marco" g="staff" p="33277"/><f n="cp1252.py" o="marco" g="staff" p="33277"/><f n="cp1253.py" o="marco" g="staff" p="33277"/><f n="cp1254.py" o="marco" g="staff" p="33277"/><f n="cp1255.py" o="marco" g="staff" p="33277"/><f n="cp1256.py" o="marco" g="staff" p="33277"/><f n="cp1257.py" o="marco" g="staff" p="33277"/><f n="cp1258.py" o="marco" g="staff" p="33277"/><f n="cp424.py" o="marco" g="staff" p="33277"/><f n="cp437.py" o="marco" g="staff" p="33277"/><f n="cp500.py" o="marco" g="staff" p="33277"/><f n="cp737.py" o="marco" g="staff" p="33277"/><f n="cp775.py" o="marco" g="staff" p="33277"/><f n="cp850.py" o="marco" g="staff" p="33277"/><f n="cp852.py" o="marco" g="staff" p="33277"/><f n="cp855.py" o="marco" g="staff" p="33277"/><f n="cp856.py" o="marco" g="staff" p="33277"/><f n="cp857.py" o="marco" g="staff" p="33277"/><f n="cp860.py" o="marco" g="staff" p="33277"/><f n="cp861.py" o="marco" g="staff" p="33277"/><f n="cp862.py" o="marco" g="staff" p="33277"/><f n="cp863.py" o="marco" g="staff" p="33277"/><f n="cp864.py" o="marco" g="staff" p="33277"/><f n="cp865.py" o="marco" g="staff" p="33277"/><f n="cp866.py" o="marco" g="staff" p="33277"/><f n="cp869.py" o="marco" g="staff" p="33277"/><f n="cp874.py" o="marco" g="staff" p="33277"/><f n="cp875.py" o="marco" g="staff" p="33277"/><f n="cp932.py" o="marco" g="staff" p="33204"/><f n="cp949.py" o="marco" g="staff" p="33204"/><f n="cp950.py" o="marco" g="staff" p="33204"/><f n="euc_jis_2004.py" o="marco" g="staff" p="33204"/><f n="euc_jisx0213.py" o="marco" g="staff" p="33204"/><f n="euc_jp.py" o="marco" g="staff" p="33204"/><f n="euc_kr.py" o="marco" g="staff" p="33204"/><f n="gb18030.py" o="marco" g="staff" p="33204"/><f n="gb2312.py" o="marco" g="staff" p="33204"/><f n="gbk.py" o="marco" g="staff" p="33204"/><f n="hex_codec.py" o="marco" g="staff" p="33277"/><f n="hp_roman8.py" o="marco" g="staff" p="33277"/><f n="hz.py" o="marco" g="staff" p="33204"/><f n="idna.py" o="marco" g="staff" p="33204"/><f n="iso2022_jp.py" o="marco" g="staff" p="33204"/><f n="iso2022_jp_1.py" o="marco" g="staff" p="33204"/><f n="iso2022_jp_2.py" o="marco" g="staff" p="33204"/><f n="iso2022_jp_2004.py" o="marco" g="staff" p="33204"/><f n="iso2022_jp_3.py" o="marco" g="staff" p="33204"/><f n="iso2022_jp_ext.py" o="marco" g="staff" p="33204"/><f n="iso2022_kr.py" o="marco" g="staff" p="33204"/><f n="iso8859_1.py" o="marco" g="staff" p="33277"/><f n="iso8859_10.py" o="marco" g="staff" p="33277"/><f n="iso8859_11.py" o="marco" g="staff" p="33277"/><f n="iso8859_13.py" o="marco" g="staff" p="33277"/><f n="iso8859_14.py" o="marco" g="staff" p="33277"/><f n="iso8859_15.py" o="marco" g="staff" p="33277"/><f n="iso8859_16.py" o="marco" g="staff" p="33277"/><f n="iso8859_2.py" o="marco" g="staff" p="33277"/><f n="iso8859_3.py" o="marco" g="staff" p="33277"/><f n="iso8859_4.py" o="marco" g="staff" p="33277"/><f n="iso8859_5.py" o="marco" g="staff" p="33277"/><f n="iso8859_6.py" o="marco" g="staff" p="33277"/><f n="iso8859_7.py" o="marco" g="staff" p="33277"/><f n="iso8859_8.py" o="marco" g="staff" p="33277"/><f n="iso8859_9.py" o="marco" g="staff" p="33277"/><f n="johab.py" o="marco" g="staff" p="33204"/><f n="koi8_r.py" o="marco" g="staff" p="33277"/><f n="koi8_u.py" o="marco" g="staff" p="33277"/><f n="latin_1.py" o="marco" g="staff" p="33277"/><f n="mac_arabic.py" o="marco" g="staff" p="33277"/><f n="mac_centeuro.py" o="marco" g="staff" p="33277"/><f n="mac_croatian.py" o="marco" g="staff" p="33277"/><f n="mac_cyrillic.py" o="marco" g="staff" p="33277"/><f n="mac_farsi.py" o="marco" g="staff" p="33277"/><f n="mac_greek.py" o="marco" g="staff" p="33277"/><f n="mac_iceland.py" o="marco" g="staff" p="33277"/><f n="mac_latin2.py" o="marco" g="staff" p="33277"/><f n="mac_roman.py" o="marco" g="staff" p="33277"/><f n="mac_romanian.py" o="marco" g="staff" p="33277"/><f n="mac_turkish.py" o="marco" g="staff" p="33277"/><f n="mbcs.py" o="marco" g="staff" p="33277"/><f n="palmos.py" o="marco" g="staff" p="33277"/><f n="ptcp154.py" o="marco" g="staff" p="33277"/><f n="punycode.py" o="marco" g="staff" p="33204"/><f n="quopri_codec.py" o="marco" g="staff" p="33277"/><f n="raw_unicode_escape.py" o="marco" g="staff" p="33277"/><f n="rot_13.py" o="marco" g="staff" p="33277"/><f n="shift_jis.py" o="marco" g="staff" p="33204"/><f n="shift_jis_2004.py" o="marco" g="staff" p="33204"/><f n="shift_jisx0213.py" o="marco" g="staff" p="33204"/><f n="string_escape.py" o="marco" g="staff" p="33204"/><f n="tis_620.py" o="marco" g="staff" p="33277"/><f n="undefined.py" o="marco" g="staff" p="33277"/><f n="unicode_escape.py" o="marco" g="staff" p="33277"/><f n="unicode_internal.py" o="marco" g="staff" p="33277"/><f n="utf_16.py" o="marco" g="staff" p="33277"/><f n="utf_16_be.py" o="marco" g="staff" p="33277"/><f n="utf_16_le.py" o="marco" g="staff" p="33277"/><f n="utf_32.py" o="marco" g="staff" p="33277"/><f n="utf_32_be.py" o="marco" g="staff" p="33277"/><f n="utf_32_le.py" o="marco" g="staff" p="33277"/><f n="utf_7.py" o="marco" g="staff" p="33277"/><f n="utf_8.py" o="marco" g="staff" p="33277"/><f n="utf_8.pyc" o="marco" g="staff" p="33188"/><f n="utf_8_sig.py" o="marco" g="staff" p="33277"/><f n="uu_codec.py" o="marco" g="staff" p="33277"/><f n="zlib_codec.py" o="marco" g="staff" p="33277"/></f><f n="filecmp.py" o="marco" g="staff" p="33277"/><f n="fileinput.py" o="marco" g="staff" p="33277"/><f n="fnmatch.py" o="marco" g="staff" p="33277"/><f n="formatter.py" o="marco" g="staff" p="33277"/><f n="fpformat.py" o="marco" g="staff" p="33277"/><f n="fractions.py" o="marco" g="staff" p="33277"/><f n="ftplib.py" o="marco" g="staff" p="33277"/><f n="functools.py" o="marco" g="staff" p="33277"/><f n="functools.pyc" o="marco" g="staff" p="33188"/><f n="genericpath.py" o="marco" g="staff" p="33277"/><f n="genericpath.pyc" o="marco" g="staff" p="33188"/><f n="getopt.py" o="marco" g="staff" p="33204"/><f n="getpass.py" o="marco" g="staff" p="33277"/><f n="gettext.py" o="marco" g="staff" p="33277"/><f n="gettext.pyc" o="marco" g="staff" p="33188"/><f n="glob.py" o="marco" g="staff" p="33277"/><f n="gzip.py" o="marco" g="staff" p="33277"/><f n="hashlib.py" o="marco" g="staff" p="33204"/><f n="heapq.py" o="marco" g="staff" p="33204"/><f n="hmac.py" o="marco" g="staff" p="33277"/><f n="hotshot" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="log.py" o="marco" g="staff" p="33204"/><f n="stats.py" o="marco" g="staff" p="33277"/><f n="stones.py" o="marco" g="staff" p="33204"/></f><f n="htmlentitydefs.py" o="marco" g="staff" p="33277"/><f n="htmllib.py" o="marco" g="staff" p="33277"/><f n="HTMLParser.py" o="marco" g="staff" p="33277"/><f n="httplib.py" o="marco" g="staff" p="33277"/><f n="idlelib" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="aboutDialog.py" o="marco" g="staff" p="33277"/><f n="AutoComplete.py" o="marco" g="staff" p="33277"/><f n="AutoCompleteWindow.py" o="marco" g="staff" p="33277"/><f n="AutoExpand.py" o="marco" g="staff" p="33204"/><f n="Bindings.py" o="marco" g="staff" p="33277"/><f n="CallTips.py" o="marco" g="staff" p="33277"/><f n="CallTipWindow.py" o="marco" g="staff" p="33277"/><f n="ChangeLog" o="marco" g="staff" p="33204"/><f n="ClassBrowser.py" o="marco" g="staff" p="33277"/><f n="CodeContext.py" o="marco" g="staff" p="33277"/><f n="ColorDelegator.py" o="marco" g="staff" p="33204"/><f n="config-extensions.def" o="marco" g="staff" p="33204"/><f n="config-highlight.def" o="marco" g="staff" p="33204"/><f n="config-keys.def" o="marco" g="staff" p="33204"/><f n="config-main.def" o="marco" g="staff" p="33204"/><f n="configDialog.py" o="marco" g="staff" p="33277"/><f n="configHandler.py" o="marco" g="staff" p="33277"/><f n="configHelpSourceEdit.py" o="marco" g="staff" p="33204"/><f n="configSectionNameDialog.py" o="marco" g="staff" p="33277"/><f n="CREDITS.txt" o="marco" g="staff" p="33204"/><f n="Debugger.py" o="marco" g="staff" p="33204"/><f n="Delegator.py" o="marco" g="staff" p="33204"/><f n="dynOptionMenuWidget.py" o="marco" g="staff" p="33277"/><f n="EditorWindow.py" o="marco" g="staff" p="33204"/><f n="extend.txt" o="marco" g="staff" p="33204"/><f n="FileList.py" o="marco" g="staff" p="33204"/><f n="FormatParagraph.py" o="marco" g="staff" p="33204"/><f n="GrepDialog.py" o="marco" g="staff" p="33204"/><f n="help.txt" o="marco" g="staff" p="33204"/><f n="HISTORY.txt" o="marco" g="staff" p="33204"/><f n="HyperParser.py" o="marco" g="staff" p="33277"/><f n="Icons" o="marco" g="staff" p="16893"><f n="folder.gif" o="marco" g="staff" p="33204"/><f n="idle.icns" o="marco" g="staff" p="33204"/><f n="minusnode.gif" o="marco" g="staff" p="33204"/><f n="openfolder.gif" o="marco" g="staff" p="33204"/><f n="plusnode.gif" o="marco" g="staff" p="33204"/><f n="python.gif" o="marco" g="staff" p="33204"/><f n="tk.gif" o="marco" g="staff" p="33204"/></f><f n="idle.bat" o="marco" g="staff" p="33277"/><f n="idle.py" o="marco" g="staff" p="33204"/><f n="idle.pyw" o="marco" g="staff" p="33204"/><f n="IdleHistory.py" o="marco" g="staff" p="33204"/><f n="idlever.py" o="marco" g="staff" p="33204"/><f n="IOBinding.py" o="marco" g="staff" p="33204"/><f n="keybindingDialog.py" o="marco" g="staff" p="33277"/><f n="macosxSupport.py" o="marco" g="staff" p="33277"/><f n="MultiCall.py" o="marco" g="staff" p="33277"/><f n="MultiStatusBar.py" o="marco" g="staff" p="33204"/><f n="NEWS.txt" o="marco" g="staff" p="33204"/><f n="ObjectBrowser.py" o="marco" g="staff" p="33204"/><f n="OutputWindow.py" o="marco" g="staff" p="33204"/><f n="ParenMatch.py" o="marco" g="staff" p="33277"/><f n="PathBrowser.py" o="marco" g="staff" p="33204"/><f n="Percolator.py" o="marco" g="staff" p="33204"/><f n="PyParse.py" o="marco" g="staff" p="33204"/><f n="PyShell.py" o="marco" g="staff" p="33277"/><f n="README.txt" o="marco" g="staff" p="33204"/><f n="RemoteDebugger.py" o="marco" g="staff" p="33277"/><f n="RemoteObjectBrowser.py" o="marco" g="staff" p="33204"/><f n="ReplaceDialog.py" o="marco" g="staff" p="33204"/><f n="rpc.py" o="marco" g="staff" p="33277"/><f n="run.py" o="marco" g="staff" p="33204"/><f n="ScriptBinding.py" o="marco" g="staff" p="33277"/><f n="ScrolledList.py" o="marco" g="staff" p="33204"/><f n="SearchDialog.py" o="marco" g="staff" p="33204"/><f n="SearchDialogBase.py" o="marco" g="staff" p="33204"/><f n="SearchEngine.py" o="marco" g="staff" p="33204"/><f n="StackViewer.py" o="marco" g="staff" p="33204"/><f n="tabbedpages.py" o="marco" g="staff" p="33277"/><f n="testcode.py" o="marco" g="staff" p="33204"/><f n="textView.py" o="marco" g="staff" p="33277"/><f n="TODO.txt" o="marco" g="staff" p="33204"/><f n="ToolTip.py" o="marco" g="staff" p="33204"/><f n="TreeWidget.py" o="marco" g="staff" p="33204"/><f n="UndoDelegator.py" o="marco" g="staff" p="33204"/><f n="WidgetRedirector.py" o="marco" g="staff" p="33204"/><f n="WindowList.py" o="marco" g="staff" p="33204"/><f n="ZoomHeight.py" o="marco" g="staff" p="33204"/></f><f n="ihooks.py" o="marco" g="staff" p="33277"/><f n="imaplib.py" o="marco" g="staff" p="33277"/><f n="imghdr.py" o="marco" g="staff" p="33277"/><f n="imputil.py" o="marco" g="staff" p="33277"/><f n="inspect.py" o="marco" g="staff" p="33204"/><f n="io.py" o="marco" g="staff" p="33277"/><f n="json" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="decoder.py" o="marco" g="staff" p="33277"/><f n="encoder.py" o="marco" g="staff" p="33277"/><f n="scanner.py" o="marco" g="staff" p="33277"/><f n="tests" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="test_decode.py" o="marco" g="staff" p="33204"/><f n="test_default.py" o="marco" g="staff" p="33204"/><f n="test_dump.py" o="marco" g="staff" p="33204"/><f n="test_encode_basestring_ascii.py" o="marco" g="staff" p="33204"/><f n="test_fail.py" o="marco" g="staff" p="33204"/><f n="test_float.py" o="marco" g="staff" p="33204"/><f n="test_indent.py" o="marco" g="staff" p="33204"/><f n="test_pass1.py" o="marco" g="staff" p="33204"/><f n="test_pass2.py" o="marco" g="staff" p="33204"/><f n="test_pass3.py" o="marco" g="staff" p="33204"/><f n="test_recursion.py" o="marco" g="staff" p="33204"/><f n="test_scanstring.py" o="marco" g="staff" p="33204"/><f n="test_separators.py" o="marco" g="staff" p="33204"/><f n="test_speedups.py" o="marco" g="staff" p="33204"/><f n="test_unicode.py" o="marco" g="staff" p="33204"/></f><f n="tool.py" o="marco" g="staff" p="33204"/></f><f n="keyword.py" o="marco" g="staff" p="33277"/><f n="lib-dynload" o="marco" g="staff" p="16893"><f n="_AE.so" o="marco" g="staff" p="33204"/><f n="_AH.so" o="marco" g="staff" p="33204"/><f n="_App.so" o="marco" g="staff" p="33204"/><f n="_bisect.so" o="marco" g="staff" p="33204"/><f n="_bsddb.so" o="marco" g="staff" p="33204"/><f n="_bytesio.so" o="marco" g="staff" p="33204"/><f n="_CarbonEvt.so" o="marco" g="staff" p="33204"/><f n="_CF.so" o="marco" g="staff" p="33204"/><f n="_CG.so" o="marco" g="staff" p="33204"/><f n="_Cm.so" o="marco" g="staff" p="33204"/><f n="_codecs_cn.so" o="marco" g="staff" p="33204"/><f n="_codecs_hk.so" o="marco" g="staff" p="33204"/><f n="_codecs_iso2022.so" o="marco" g="staff" p="33204"/><f n="_codecs_jp.so" o="marco" g="staff" p="33204"/><f n="_codecs_kr.so" o="marco" g="staff" p="33204"/><f n="_codecs_tw.so" o="marco" g="staff" p="33204"/><f n="_collections.so" o="marco" g="staff" p="33204"/><f n="_csv.so" o="marco" g="staff" p="33204"/><f n="_Ctl.so" o="marco" g="staff" p="33204"/><f n="_ctypes.so" o="marco" g="staff" p="33204"/><f n="_ctypes_test.so" o="marco" g="staff" p="33204"/><f n="_curses.so" o="marco" g="staff" p="33204"/><f n="_curses_panel.so" o="marco" g="staff" p="33204"/><f n="_Dlg.so" o="marco" g="staff" p="33204"/><f n="_Drag.so" o="marco" g="staff" p="33204"/><f n="_elementtree.so" o="marco" g="staff" p="33204"/><f n="_Evt.so" o="marco" g="staff" p="33204"/><f n="_File.so" o="marco" g="staff" p="33204"/><f n="_fileio.so" o="marco" g="staff" p="33204"/><f n="_Fm.so" o="marco" g="staff" p="33204"/><f n="_Folder.so" o="marco" g="staff" p="33204"/><f n="_functools.so" o="marco" g="staff" p="33204"/><f n="_hashlib.so" o="marco" g="staff" p="33204"/><f n="_heapq.so" o="marco" g="staff" p="33204"/><f n="_Help.so" o="marco" g="staff" p="33204"/><f n="_hotshot.so" o="marco" g="staff" p="33204"/><f n="_IBCarbon.so" o="marco" g="staff" p="33204"/><f n="_Icn.so" o="marco" g="staff" p="33204"/><f n="_json.so" o="marco" g="staff" p="33204"/><f n="_Launch.so" o="marco" g="staff" p="33204"/><f n="_List.so" o="marco" g="staff" p="33204"/><f n="_locale.so" o="marco" g="staff" p="33204"/><f n="_lsprof.so" o="marco" g="staff" p="33204"/><f n="_Menu.so" o="marco" g="staff" p="33204"/><f n="_Mlte.so" o="marco" g="staff" p="33204"/><f n="_multibytecodec.so" o="marco" g="staff" p="33204"/><f n="_multiprocessing.so" o="marco" g="staff" p="33204"/><f n="_OSA.so" o="marco" g="staff" p="33204"/><f n="_Qd.so" o="marco" g="staff" p="33204"/><f n="_Qdoffs.so" o="marco" g="staff" p="33204"/><f n="_Qt.so" o="marco" g="staff" p="33204"/><f n="_random.so" o="marco" g="staff" p="33204"/><f n="_Res.so" o="marco" g="staff" p="33204"/><f n="_scproxy.so" o="marco" g="staff" p="33204"/><f n="_Scrap.so" o="marco" g="staff" p="33204"/><f n="_sha256.so" o="marco" g="staff" p="33204"/><f n="_sha512.so" o="marco" g="staff" p="33204"/><f n="_Snd.so" o="marco" g="staff" p="33204"/><f n="_socket.so" o="marco" g="staff" p="33204"/><f n="_sqlite3.so" o="marco" g="staff" p="33204"/><f n="_ssl.so" o="marco" g="staff" p="33204"/><f n="_struct.so" o="marco" g="staff" p="33204"/><f n="_TE.so" o="marco" g="staff" p="33204"/><f n="_testcapi.so" o="marco" g="staff" p="33204"/><f n="_tkinter.so" o="marco" g="staff" p="33204"/><f n="_weakref.so" o="marco" g="staff" p="33204"/><f n="_Win.so" o="marco" g="staff" p="33204"/><f n="array.so" o="marco" g="staff" p="33204"/><f n="audioop.so" o="marco" g="staff" p="33204"/><f n="autoGIL.so" o="marco" g="staff" p="33204"/><f n="binascii.so" o="marco" g="staff" p="33204"/><f n="bz2.so" o="marco" g="staff" p="33204"/><f n="cmath.so" o="marco" g="staff" p="33204"/><f n="ColorPicker.so" o="marco" g="staff" p="33204"/><f n="cPickle.so" o="marco" g="staff" p="33204"/><f n="crypt.so" o="marco" g="staff" p="33204"/><f n="cStringIO.so" o="marco" g="staff" p="33204"/><f n="datetime.so" o="marco" g="staff" p="33204"/><f n="dbm.so" o="marco" g="staff" p="33204"/><f n="dl.so" o="marco" g="staff" p="33204"/><f n="fcntl.so" o="marco" g="staff" p="33204"/><f n="future_builtins.so" o="marco" g="staff" p="33204"/><f n="gestalt.so" o="marco" g="staff" p="33204"/><f n="grp.so" o="marco" g="staff" p="33204"/><f n="icglue.so" o="marco" g="staff" p="33204"/><f n="imageop.so" o="marco" g="staff" p="33204"/><f n="itertools.so" o="marco" g="staff" p="33204"/><f n="MacOS.so" o="marco" g="staff" p="33204"/><f n="math.so" o="marco" g="staff" p="33204"/><f n="mmap.so" o="marco" g="staff" p="33204"/><f n="Nav.so" o="marco" g="staff" p="33204"/><f n="nis.so" o="marco" g="staff" p="33204"/><f n="operator.so" o="marco" g="staff" p="33204"/><f n="OSATerminology.so" o="marco" g="staff" p="33204"/><f n="parser.so" o="marco" g="staff" p="33204"/><f n="pyexpat.so" o="marco" g="staff" p="33204"/><f n="Python-2.6.4-py2.6.egg-info" o="marco" g="staff" p="33204"/><f n="resource.so" o="marco" g="staff" p="33204"/><f n="select.so" o="marco" g="staff" p="33204"/><f n="strop.so" o="marco" g="staff" p="33204"/><f n="syslog.so" o="marco" g="staff" p="33204"/><f n="termios.so" o="marco" g="staff" p="33204"/><f n="time.so" o="marco" g="staff" p="33204"/><f n="unicodedata.so" o="marco" g="staff" p="33204"/><f n="zlib.so" o="marco" g="staff" p="33204"/></f><f n="lib-old" o="marco" g="staff" p="16893"/><f n="lib-tk" o="marco" g="staff" p="16893"><f n="Canvas.py" o="marco" g="staff" p="33204"/><f n="Dialog.py" o="marco" g="staff" p="33204"/><f n="FileDialog.py" o="marco" g="staff" p="33277"/><f n="FixTk.py" o="marco" g="staff" p="33204"/><f n="ScrolledText.py" o="marco" g="staff" p="33277"/><f n="SimpleDialog.py" o="marco" g="staff" p="33277"/><f n="Tix.py" o="marco" g="staff" p="33277"/><f n="tkColorChooser.py" o="marco" g="staff" p="33204"/><f n="tkCommonDialog.py" o="marco" g="staff" p="33204"/><f n="Tkconstants.py" o="marco" g="staff" p="33204"/><f n="Tkdnd.py" o="marco" g="staff" p="33277"/><f n="tkFileDialog.py" o="marco" g="staff" p="33204"/><f n="tkFont.py" o="marco" g="staff" p="33204"/><f n="Tkinter.py" o="marco" g="staff" p="33277"/><f n="tkMessageBox.py" o="marco" g="staff" p="33204"/><f n="tkSimpleDialog.py" o="marco" g="staff" p="33204"/><f n="turtle.py" o="marco" g="staff" p="33204"/></f><f n="lib2to3" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="fixer_base.py" o="marco" g="staff" p="33204"/><f n="fixer_util.py" o="marco" g="staff" p="33277"/><f n="fixes" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="fix_apply.py" o="marco" g="staff" p="33204"/><f n="fix_basestring.py" o="marco" g="staff" p="33277"/><f n="fix_buffer.py" o="marco" g="staff" p="33204"/><f n="fix_callable.py" o="marco" g="staff" p="33204"/><f n="fix_dict.py" o="marco" g="staff" p="33204"/><f n="fix_except.py" o="marco" g="staff" p="33277"/><f n="fix_exec.py" o="marco" g="staff" p="33204"/><f n="fix_execfile.py" o="marco" g="staff" p="33204"/><f n="fix_filter.py" o="marco" g="staff" p="33204"/><f n="fix_funcattrs.py" o="marco" g="staff" p="33277"/><f n="fix_future.py" o="marco" g="staff" p="33277"/><f n="fix_getcwdu.py" o="marco" g="staff" p="33277"/><f n="fix_has_key.py" o="marco" g="staff" p="33204"/><f n="fix_idioms.py" o="marco" g="staff" p="33277"/><f n="fix_import.py" o="marco" g="staff" p="33277"/><f n="fix_imports.py" o="marco" g="staff" p="33277"/><f n="fix_imports2.py" o="marco" g="staff" p="33277"/><f n="fix_input.py" o="marco" g="staff" p="33277"/><f n="fix_intern.py" o="marco" g="staff" p="33204"/><f n="fix_isinstance.py" o="marco" g="staff" p="33204"/><f n="fix_itertools.py" o="marco" g="staff" p="33277"/><f n="fix_itertools_imports.py" o="marco" g="staff" p="33277"/><f n="fix_long.py" o="marco" g="staff" p="33204"/><f n="fix_map.py" o="marco" g="staff" p="33204"/><f n="fix_metaclass.py" o="marco" g="staff" p="33277"/><f n="fix_methodattrs.py" o="marco" g="staff" p="33277"/><f n="fix_ne.py" o="marco" g="staff" p="33204"/><f n="fix_next.py" o="marco" g="staff" p="33277"/><f n="fix_nonzero.py" o="marco" g="staff" p="33277"/><f n="fix_numliterals.py" o="marco" g="staff" p="33277"/><f n="fix_paren.py" o="marco" g="staff" p="33277"/><f n="fix_print.py" o="marco" g="staff" p="33204"/><f n="fix_raise.py" o="marco" g="staff" p="33277"/><f n="fix_raw_input.py" o="marco" g="staff" p="33277"/><f n="fix_reduce.py" o="marco" g="staff" p="33204"/><f n="fix_renames.py" o="marco" g="staff" p="33277"/><f n="fix_repr.py" o="marco" g="staff" p="33204"/><f n="fix_set_literal.py" o="marco" g="staff" p="33277"/><f n="fix_standarderror.py" o="marco" g="staff" p="33204"/><f n="fix_sys_exc.py" o="marco" g="staff" p="33277"/><f n="fix_throw.py" o="marco" g="staff" p="33277"/><f n="fix_tuple_params.py" o="marco" g="staff" p="33277"/><f n="fix_types.py" o="marco" g="staff" p="33204"/><f n="fix_unicode.py" o="marco" g="staff" p="33277"/><f n="fix_urllib.py" o="marco" g="staff" p="33277"/><f n="fix_ws_comma.py" o="marco" g="staff" p="33277"/><f n="fix_xrange.py" o="marco" g="staff" p="33204"/><f n="fix_xreadlines.py" o="marco" g="staff" p="33277"/><f n="fix_zip.py" o="marco" g="staff" p="33277"/></f><f n="Grammar.txt" o="marco" g="staff" p="33204"/><f n="Grammar2.6.4.final.0.pickle" o="marco" g="staff" p="33204"/><f n="main.py" o="marco" g="staff" p="33277"/><f n="patcomp.py" o="marco" g="staff" p="33204"/><f n="PatternGrammar.txt" o="marco" g="staff" p="33204"/><f n="PatternGrammar2.6.4.final.0.pickle" o="marco" g="staff" p="33204"/><f n="pgen2" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="conv.py" o="marco" g="staff" p="33204"/><f n="driver.py" o="marco" g="staff" p="33204"/><f n="grammar.py" o="marco" g="staff" p="33204"/><f n="literals.py" o="marco" g="staff" p="33204"/><f n="parse.py" o="marco" g="staff" p="33204"/><f n="pgen.py" o="marco" g="staff" p="33204"/><f n="token.py" o="marco" g="staff" p="33277"/><f n="tokenize.py" o="marco" g="staff" p="33204"/></f><f n="pygram.py" o="marco" g="staff" p="33204"/><f n="pytree.py" o="marco" g="staff" p="33204"/><f n="refactor.py" o="marco" g="staff" p="33277"/><f n="tests" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="pytree_idempotency.py" o="marco" g="staff" p="33277"/><f n="support.py" o="marco" g="staff" p="33277"/><f n="test_all_fixers.py" o="marco" g="staff" p="33277"/><f n="test_fixers.py" o="marco" g="staff" p="33277"/><f n="test_parser.py" o="marco" g="staff" p="33277"/><f n="test_pytree.py" o="marco" g="staff" p="33277"/><f n="test_refactor.py" o="marco" g="staff" p="33277"/><f n="test_util.py" o="marco" g="staff" p="33277"/></f></f><f n="LICENSE.txt" o="marco" g="staff" p="33204"/><f n="linecache.py" o="marco" g="staff" p="33277"/><f n="linecache.pyc" o="marco" g="staff" p="33188"/><f n="locale.py" o="marco" g="staff" p="33277"/><f n="locale.pyc" o="marco" g="staff" p="33188"/><f n="logging" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="config.py" o="marco" g="staff" p="33204"/><f n="handlers.py" o="marco" g="staff" p="33204"/></f><f n="macpath.py" o="marco" g="staff" p="33277"/><f n="macurl2path.py" o="marco" g="staff" p="33277"/><f n="mailbox.py" o="marco" g="staff" p="33277"/><f n="mailcap.py" o="marco" g="staff" p="33277"/><f n="markupbase.py" o="marco" g="staff" p="33277"/><f n="md5.py" o="marco" g="staff" p="33204"/><f n="mhlib.py" o="marco" g="staff" p="33277"/><f n="mimetools.py" o="marco" g="staff" p="33277"/><f n="mimetypes.py" o="marco" g="staff" p="33277"/><f n="MimeWriter.py" o="marco" g="staff" p="33277"/><f n="mimify.py" o="marco" g="staff" p="33277"/><f n="modulefinder.py" o="marco" g="staff" p="33277"/><f n="multifile.py" o="marco" g="staff" p="33277"/><f n="multiprocessing" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="connection.py" o="marco" g="staff" p="33204"/><f n="dummy" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="connection.py" o="marco" g="staff" p="33204"/></f><f n="forking.py" o="marco" g="staff" p="33204"/><f n="heap.py" o="marco" g="staff" p="33204"/><f n="managers.py" o="marco" g="staff" p="33204"/><f n="pool.py" o="marco" g="staff" p="33204"/><f n="process.py" o="marco" g="staff" p="33204"/><f n="queues.py" o="marco" g="staff" p="33204"/><f n="reduction.py" o="marco" g="staff" p="33204"/><f n="sharedctypes.py" o="marco" g="staff" p="33204"/><f n="synchronize.py" o="marco" g="staff" p="33204"/><f n="util.py" o="marco" g="staff" p="33204"/></f><f n="mutex.py" o="marco" g="staff" p="33277"/><f n="netrc.py" o="marco" g="staff" p="33277"/><f n="new.py" o="marco" g="staff" p="33277"/><f n="nntplib.py" o="marco" g="staff" p="33277"/><f n="ntpath.py" o="marco" g="staff" p="33204"/><f n="nturl2path.py" o="marco" g="staff" p="33277"/><f n="numbers.py" o="marco" g="staff" p="33204"/><f n="opcode.py" o="marco" g="staff" p="33204"/><f n="optparse.py" o="marco" g="staff" p="33277"/><f n="optparse.pyc" o="marco" g="staff" p="33188"/><f n="os.py" o="marco" g="staff" p="33204"/><f n="os.pyc" o="marco" g="staff" p="33188"/><f n="os2emxpath.py" o="marco" g="staff" p="33204"/><f n="pdb.doc" o="marco" g="staff" p="33204"/><f n="pdb.py" o="marco" g="staff" p="33277"/><f n="pickle.py" o="marco" g="staff" p="33277"/><f n="pickletools.py" o="marco" g="staff" p="33204"/><f n="pipes.py" o="marco" g="staff" p="33277"/><f n="pkgutil.py" o="marco" g="staff" p="33277"/><f n="plat-darwin" o="marco" g="staff" p="16893"><f n="IN.py" o="marco" g="staff" p="33204"/><f n="regen" o="marco" g="staff" p="33277"/></f><f n="plat-mac" o="marco" g="staff" p="16893"><f n="aepack.py" o="marco" g="staff" p="33277"/><f n="aetools.py" o="marco" g="staff" p="33277"/><f n="aetypes.py" o="marco" g="staff" p="33277"/><f n="applesingle.py" o="marco" g="staff" p="33204"/><f n="appletrawmain.py" o="marco" g="staff" p="33204"/><f n="appletrunner.py" o="marco" g="staff" p="33277"/><f n="argvemulator.py" o="marco" g="staff" p="33277"/><f n="Audio_mac.py" o="marco" g="staff" p="33204"/><f n="bgenlocations.py" o="marco" g="staff" p="33204"/><f n="buildtools.py" o="marco" g="staff" p="33277"/><f n="bundlebuilder.py" o="marco" g="staff" p="33277"/><f n="Carbon" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="AE.py" o="marco" g="staff" p="33204"/><f n="AH.py" o="marco" g="staff" p="33204"/><f n="Alias.py" o="marco" g="staff" p="33204"/><f n="Aliases.py" o="marco" g="staff" p="33204"/><f n="App.py" o="marco" g="staff" p="33204"/><f n="Appearance.py" o="marco" g="staff" p="33204"/><f n="AppleEvents.py" o="marco" g="staff" p="33204"/><f n="AppleHelp.py" o="marco" g="staff" p="33204"/><f n="CarbonEvents.py" o="marco" g="staff" p="33277"/><f n="CarbonEvt.py" o="marco" g="staff" p="33277"/><f n="CF.py" o="marco" g="staff" p="33204"/><f n="CG.py" o="marco" g="staff" p="33277"/><f n="Cm.py" o="marco" g="staff" p="33204"/><f n="Components.py" o="marco" g="staff" p="33204"/><f n="ControlAccessor.py" o="marco" g="staff" p="33204"/><f n="Controls.py" o="marco" g="staff" p="33204"/><f n="CoreFoundation.py" o="marco" g="staff" p="33204"/><f n="CoreGraphics.py" o="marco" g="staff" p="33277"/><f n="Ctl.py" o="marco" g="staff" p="33204"/><f n="Dialogs.py" o="marco" g="staff" p="33204"/><f n="Dlg.py" o="marco" g="staff" p="33204"/><f n="Drag.py" o="marco" g="staff" p="33204"/><f n="Dragconst.py" o="marco" g="staff" p="33204"/><f n="Events.py" o="marco" g="staff" p="33204"/><f n="Evt.py" o="marco" g="staff" p="33204"/><f n="File.py" o="marco" g="staff" p="33204"/><f n="Files.py" o="marco" g="staff" p="33204"/><f n="Fm.py" o="marco" g="staff" p="33204"/><f n="Folder.py" o="marco" g="staff" p="33204"/><f n="Folders.py" o="marco" g="staff" p="33204"/><f n="Fonts.py" o="marco" g="staff" p="33204"/><f n="Help.py" o="marco" g="staff" p="33204"/><f n="IBCarbon.py" o="marco" g="staff" p="33204"/><f n="IBCarbonRuntime.py" o="marco" g="staff" p="33204"/><f n="Icn.py" o="marco" g="staff" p="33204"/><f n="Icons.py" o="marco" g="staff" p="33204"/><f n="Launch.py" o="marco" g="staff" p="33204"/><f n="LaunchServices.py" o="marco" g="staff" p="33204"/><f n="List.py" o="marco" g="staff" p="33204"/><f n="Lists.py" o="marco" g="staff" p="33204"/><f n="MacHelp.py" o="marco" g="staff" p="33204"/><f n="MacTextEditor.py" o="marco" g="staff" p="33204"/><f n="MediaDescr.py" o="marco" g="staff" p="33204"/><f n="Menu.py" o="marco" g="staff" p="33204"/><f n="Menus.py" o="marco" g="staff" p="33204"/><f n="Mlte.py" o="marco" g="staff" p="33204"/><f n="OSA.py" o="marco" g="staff" p="33204"/><f n="OSAconst.py" o="marco" g="staff" p="33204"/><f n="Qd.py" o="marco" g="staff" p="33204"/><f n="Qdoffs.py" o="marco" g="staff" p="33204"/><f n="QDOffscreen.py" o="marco" g="staff" p="33204"/><f n="Qt.py" o="marco" g="staff" p="33204"/><f n="QuickDraw.py" o="marco" g="staff" p="33204"/><f n="QuickTime.py" o="marco" g="staff" p="33204"/><f n="Res.py" o="marco" g="staff" p="33204"/><f n="Resources.py" o="marco" g="staff" p="33204"/><f n="Scrap.py" o="marco" g="staff" p="33204"/><f n="Snd.py" o="marco" g="staff" p="33204"/><f n="Sndihooks.py" o="marco" g="staff" p="33204"/><f n="Sound.py" o="marco" g="staff" p="33204"/><f n="TE.py" o="marco" g="staff" p="33204"/><f n="TextEdit.py" o="marco" g="staff" p="33204"/><f n="Win.py" o="marco" g="staff" p="33204"/><f n="Windows.py" o="marco" g="staff" p="33204"/></f><f n="cfmfile.py" o="marco" g="staff" p="33277"/><f n="dialogs.rsrc" o="marco" g="staff" p="33204"/><f n="EasyDialogs.py" o="marco" g="staff" p="33277"/><f n="errors.rsrc" o="marco" g="staff" p="33204"/><f n="findertools.py" o="marco" g="staff" p="33277"/><f n="FrameWork.py" o="marco" g="staff" p="33204"/><f n="gensuitemodule.py" o="marco" g="staff" p="33277"/><f n="ic.py" o="marco" g="staff" p="33277"/><f n="icopen.py" o="marco" g="staff" p="33277"/><f n="lib-scriptpackages" o="marco" g="staff" p="16893"><f n="_builtinSuites" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="builtin_Suite.py" o="marco" g="staff" p="33277"/></f><f n="CodeWarrior" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="CodeWarrior_suite.py" o="marco" g="staff" p="33277"/><f n="Metrowerks_Shell_Suite.py" o="marco" g="staff" p="33277"/><f n="Required.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/></f><f n="Explorer" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="Microsoft_Internet_Explorer.py" o="marco" g="staff" p="33277"/><f n="Netscape_Suite.py" o="marco" g="staff" p="33277"/><f n="Required_Suite.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/><f n="URL_Suite.py" o="marco" g="staff" p="33277"/><f n="Web_Browser_Suite.py" o="marco" g="staff" p="33277"/></f><f n="Finder" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="Containers_and_folders.py" o="marco" g="staff" p="33277"/><f n="Enumerations.py" o="marco" g="staff" p="33277"/><f n="Files.py" o="marco" g="staff" p="33277"/><f n="Finder_Basics.py" o="marco" g="staff" p="33277"/><f n="Finder_items.py" o="marco" g="staff" p="33277"/><f n="Legacy_suite.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/><f n="Type_Definitions.py" o="marco" g="staff" p="33277"/><f n="Window_classes.py" o="marco" g="staff" p="33277"/></f><f n="Netscape" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="Mozilla_suite.py" o="marco" g="staff" p="33277"/><f n="PowerPlant.py" o="marco" g="staff" p="33277"/><f n="Required_suite.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/><f n="Standard_URL_suite.py" o="marco" g="staff" p="33277"/><f n="Text.py" o="marco" g="staff" p="33277"/><f n="WorldWideWeb_suite.py" o="marco" g="staff" p="33277"/></f><f n="StdSuites" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="AppleScript_Suite.py" o="marco" g="staff" p="33277"/><f n="Macintosh_Connectivity_Clas.py" o="marco" g="staff" p="33277"/><f n="QuickDraw_Graphics_Suite.py" o="marco" g="staff" p="33277"/><f n="QuickDraw_Graphics_Suppleme.py" o="marco" g="staff" p="33277"/><f n="Required_Suite.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/><f n="Table_Suite.py" o="marco" g="staff" p="33277"/><f n="Text_Suite.py" o="marco" g="staff" p="33277"/><f n="Type_Names_Suite.py" o="marco" g="staff" p="33277"/></f><f n="SystemEvents" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="Disk_Folder_File_Suite.py" o="marco" g="staff" p="33277"/><f n="Folder_Actions_Suite.py" o="marco" g="staff" p="33277"/><f n="Hidden_Suite.py" o="marco" g="staff" p="33277"/><f n="Login_Items_Suite.py" o="marco" g="staff" p="33277"/><f n="Power_Suite.py" o="marco" g="staff" p="33277"/><f n="Processes_Suite.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/><f n="System_Events_Suite.py" o="marco" g="staff" p="33277"/><f n="Text_Suite.py" o="marco" g="staff" p="33277"/></f><f n="Terminal" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="Standard_Suite.py" o="marco" g="staff" p="33277"/><f n="Terminal_Suite.py" o="marco" g="staff" p="33277"/><f n="Text_Suite.py" o="marco" g="staff" p="33277"/></f></f><f n="macerrors.py" o="marco" g="staff" p="33204"/><f n="macostools.py" o="marco" g="staff" p="33277"/><f n="macresource.py" o="marco" g="staff" p="33277"/><f n="MiniAEFrame.py" o="marco" g="staff" p="33277"/><f n="pimp.py" o="marco" g="staff" p="33277"/><f n="PixMapWrapper.py" o="marco" g="staff" p="33277"/><f n="terminalcommand.py" o="marco" g="staff" p="33277"/><f n="videoreader.py" o="marco" g="staff" p="33204"/></f><f n="platform.py" o="marco" g="staff" p="33277"/><f n="platform.pyc" o="marco" g="staff" p="33188"/><f n="plistlib.py" o="marco" g="staff" p="33204"/><f n="popen2.py" o="marco" g="staff" p="33277"/><f n="poplib.py" o="marco" g="staff" p="33277"/><f n="posixfile.py" o="marco" g="staff" p="33277"/><f n="posixpath.py" o="marco" g="staff" p="33277"/><f n="posixpath.pyc" o="marco" g="staff" p="33188"/><f n="pprint.py" o="marco" g="staff" p="33204"/><f n="profile.py" o="marco" g="staff" p="33277"/><f n="pstats.py" o="marco" g="staff" p="33277"/><f n="pty.py" o="marco" g="staff" p="33277"/><f n="py_compile.py" o="marco" g="staff" p="33277"/><f n="pyclbr.py" o="marco" g="staff" p="33277"/><f n="pydoc.py" o="marco" g="staff" p="33277"/><f n="pydoc_topics.py" o="marco" g="staff" p="33204"/><f n="Queue.py" o="marco" g="staff" p="33277"/><f n="quopri.py" o="marco" g="staff" p="33277"/><f n="random.py" o="marco" g="staff" p="33277"/><f n="re.py" o="marco" g="staff" p="33204"/><f n="re.pyc" o="marco" g="staff" p="33188"/><f n="repr.py" o="marco" g="staff" p="33277"/><f n="rexec.py" o="marco" g="staff" p="33277"/><f n="rfc822.py" o="marco" g="staff" p="33277"/><f n="rlcompleter.py" o="marco" g="staff" p="33277"/><f n="robotparser.py" o="marco" g="staff" p="33277"/><f n="runpy.py" o="marco" g="staff" p="33277"/><f n="sched.py" o="marco" g="staff" p="33277"/><f n="sets.py" o="marco" g="staff" p="33277"/><f n="sgmllib.py" o="marco" g="staff" p="33277"/><f n="sha.py" o="marco" g="staff" p="33204"/><f n="shelve.py" o="marco" g="staff" p="33277"/><f n="shlex.py" o="marco" g="staff" p="33204"/><f n="shutil.py" o="marco" g="staff" p="33277"/><f n="SimpleHTTPServer.py" o="marco" g="staff" p="33277"/><f n="SimpleXMLRPCServer.py" o="marco" g="staff" p="33277"/><f n="site.py" o="marco" g="staff" p="33277"/><f n="site.pyc" o="marco" g="staff" p="33188"/><f n="smtpd.py" o="marco" g="staff" p="33277"/><f n="smtplib.py" o="marco" g="staff" p="33277"/><f n="sndhdr.py" o="marco" g="staff" p="33277"/><f n="socket.py" o="marco" g="staff" p="33204"/><f n="SocketServer.py" o="marco" g="staff" p="33277"/><f n="sqlite3" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="dbapi2.py" o="marco" g="staff" p="33204"/><f n="dump.py" o="marco" g="staff" p="33204"/><f n="test" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="dbapi.py" o="marco" g="staff" p="33204"/><f n="dump.py" o="marco" g="staff" p="33204"/><f n="factory.py" o="marco" g="staff" p="33204"/><f n="hooks.py" o="marco" g="staff" p="33204"/><f n="py25tests.py" o="marco" g="staff" p="33204"/><f n="regression.py" o="marco" g="staff" p="33204"/><f n="transactions.py" o="marco" g="staff" p="33204"/><f n="types.py" o="marco" g="staff" p="33204"/><f n="userfunctions.py" o="marco" g="staff" p="33204"/></f></f><f n="sre.py" o="marco" g="staff" p="33277"/><f n="sre_compile.py" o="marco" g="staff" p="33204"/><f n="sre_compile.pyc" o="marco" g="staff" p="33188"/><f n="sre_constants.py" o="marco" g="staff" p="33204"/><f n="sre_constants.pyc" o="marco" g="staff" p="33188"/><f n="sre_parse.py" o="marco" g="staff" p="33204"/><f n="sre_parse.pyc" o="marco" g="staff" p="33188"/><f n="ssl.py" o="marco" g="staff" p="33204"/><f n="stat.py" o="marco" g="staff" p="33277"/><f n="stat.pyc" o="marco" g="staff" p="33188"/><f n="statvfs.py" o="marco" g="staff" p="33277"/><f n="string.py" o="marco" g="staff" p="33277"/><f n="string.pyc" o="marco" g="staff" p="33188"/><f n="StringIO.py" o="marco" g="staff" p="33204"/><f n="stringold.py" o="marco" g="staff" p="33204"/><f n="stringprep.py" o="marco" g="staff" p="33204"/><f n="struct.py" o="marco" g="staff" p="33204"/><f n="struct.pyc" o="marco" g="staff" p="33188"/><f n="subprocess.py" o="marco" g="staff" p="33204"/><f n="sunau.py" o="marco" g="staff" p="33277"/><f n="sunaudio.py" o="marco" g="staff" p="33277"/><f n="symbol.py" o="marco" g="staff" p="33277"/><f n="symtable.py" o="marco" g="staff" p="33277"/><f n="tabnanny.py" o="marco" g="staff" p="33277"/><f n="tarfile.py" o="marco" g="staff" p="33277"/><f n="telnetlib.py" o="marco" g="staff" p="33204"/><f n="tempfile.py" o="marco" g="staff" p="33277"/><f n="test" o="marco" g="staff" p="16893"><f n="185test.db" o="marco" g="staff" p="33204"/><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="audiotest.au" o="marco" g="staff" p="33204"/><f n="autotest.py" o="marco" g="staff" p="33204"/><f n="bad_coding.py" o="marco" g="staff" p="33204"/><f n="bad_coding2.py" o="marco" g="staff" p="33204"/><f n="badcert.pem" o="marco" g="staff" p="33204"/><f n="badkey.pem" o="marco" g="staff" p="33204"/><f n="badsyntax_future3.py" o="marco" g="staff" p="33277"/><f n="badsyntax_future4.py" o="marco" g="staff" p="33277"/><f n="badsyntax_future5.py" o="marco" g="staff" p="33277"/><f n="badsyntax_future6.py" o="marco" g="staff" p="33277"/><f n="badsyntax_future7.py" o="marco" g="staff" p="33277"/><f n="badsyntax_future8.py" o="marco" g="staff" p="33277"/><f n="badsyntax_future9.py" o="marco" g="staff" p="33277"/><f n="badsyntax_nocaret.py" o="marco" g="staff" p="33204"/><f n="buffer_tests.py" o="marco" g="staff" p="33204"/><f n="cfgparser.1" o="marco" g="staff" p="33204"/><f n="check_soundcard.vbs" o="marco" g="staff" p="33204"/><f n="cjkencodings_test.py" o="marco" g="staff" p="33204"/><f n="cmath_testcases.txt" o="marco" g="staff" p="33204"/><f n="curses_tests.py" o="marco" g="staff" p="33277"/><f n="decimaltestdata" o="marco" g="staff" p="16893"><f n="abs.decTest" o="marco" g="staff" p="33204"/><f n="add.decTest" o="marco" g="staff" p="33204"/><f n="and.decTest" o="marco" g="staff" p="33204"/><f n="base.decTest" o="marco" g="staff" p="33204"/><f n="clamp.decTest" o="marco" g="staff" p="33204"/><f n="class.decTest" o="marco" g="staff" p="33204"/><f n="compare.decTest" o="marco" g="staff" p="33204"/><f n="comparetotal.decTest" o="marco" g="staff" p="33204"/><f n="comparetotmag.decTest" o="marco" g="staff" p="33204"/><f n="copy.decTest" o="marco" g="staff" p="33204"/><f n="copyabs.decTest" o="marco" g="staff" p="33204"/><f n="copynegate.decTest" o="marco" g="staff" p="33204"/><f n="copysign.decTest" o="marco" g="staff" p="33204"/><f n="ddAbs.decTest" o="marco" g="staff" p="33204"/><f n="ddAdd.decTest" o="marco" g="staff" p="33204"/><f n="ddAnd.decTest" o="marco" g="staff" p="33204"/><f n="ddBase.decTest" o="marco" g="staff" p="33204"/><f n="ddCanonical.decTest" o="marco" g="staff" p="33204"/><f n="ddClass.decTest" o="marco" g="staff" p="33204"/><f n="ddCompare.decTest" o="marco" g="staff" p="33204"/><f n="ddCompareSig.decTest" o="marco" g="staff" p="33204"/><f n="ddCompareTotal.decTest" o="marco" g="staff" p="33204"/><f n="ddCompareTotalMag.decTest" o="marco" g="staff" p="33204"/><f n="ddCopy.decTest" o="marco" g="staff" p="33204"/><f n="ddCopyAbs.decTest" o="marco" g="staff" p="33204"/><f n="ddCopyNegate.decTest" o="marco" g="staff" p="33204"/><f n="ddCopySign.decTest" o="marco" g="staff" p="33204"/><f n="ddDivide.decTest" o="marco" g="staff" p="33204"/><f n="ddDivideInt.decTest" o="marco" g="staff" p="33204"/><f n="ddEncode.decTest" o="marco" g="staff" p="33204"/><f n="ddFMA.decTest" o="marco" g="staff" p="33204"/><f n="ddInvert.decTest" o="marco" g="staff" p="33204"/><f n="ddLogB.decTest" o="marco" g="staff" p="33204"/><f n="ddMax.decTest" o="marco" g="staff" p="33204"/><f n="ddMaxMag.decTest" o="marco" g="staff" p="33204"/><f n="ddMin.decTest" o="marco" g="staff" p="33204"/><f n="ddMinMag.decTest" o="marco" g="staff" p="33204"/><f n="ddMinus.decTest" o="marco" g="staff" p="33204"/><f n="ddMultiply.decTest" o="marco" g="staff" p="33204"/><f n="ddNextMinus.decTest" o="marco" g="staff" p="33204"/><f n="ddNextPlus.decTest" o="marco" g="staff" p="33204"/><f n="ddNextToward.decTest" o="marco" g="staff" p="33204"/><f n="ddOr.decTest" o="marco" g="staff" p="33204"/><f n="ddPlus.decTest" o="marco" g="staff" p="33204"/><f n="ddQuantize.decTest" o="marco" g="staff" p="33204"/><f n="ddReduce.decTest" o="marco" g="staff" p="33204"/><f n="ddRemainder.decTest" o="marco" g="staff" p="33204"/><f n="ddRemainderNear.decTest" o="marco" g="staff" p="33204"/><f n="ddRotate.decTest" o="marco" g="staff" p="33204"/><f n="ddSameQuantum.decTest" o="marco" g="staff" p="33204"/><f n="ddScaleB.decTest" o="marco" g="staff" p="33204"/><f n="ddShift.decTest" o="marco" g="staff" p="33204"/><f n="ddSubtract.decTest" o="marco" g="staff" p="33204"/><f n="ddToIntegral.decTest" o="marco" g="staff" p="33204"/><f n="ddXor.decTest" o="marco" g="staff" p="33204"/><f n="decDouble.decTest" o="marco" g="staff" p="33204"/><f n="decQuad.decTest" o="marco" g="staff" p="33204"/><f n="decSingle.decTest" o="marco" g="staff" p="33204"/><f n="divide.decTest" o="marco" g="staff" p="33204"/><f n="divideint.decTest" o="marco" g="staff" p="33204"/><f n="dqAbs.decTest" o="marco" g="staff" p="33204"/><f n="dqAdd.decTest" o="marco" g="staff" p="33204"/><f n="dqAnd.decTest" o="marco" g="staff" p="33204"/><f n="dqBase.decTest" o="marco" g="staff" p="33204"/><f n="dqCanonical.decTest" o="marco" g="staff" p="33204"/><f n="dqClass.decTest" o="marco" g="staff" p="33204"/><f n="dqCompare.decTest" o="marco" g="staff" p="33204"/><f n="dqCompareSig.decTest" o="marco" g="staff" p="33204"/><f n="dqCompareTotal.decTest" o="marco" g="staff" p="33204"/><f n="dqCompareTotalMag.decTest" o="marco" g="staff" p="33204"/><f n="dqCopy.decTest" o="marco" g="staff" p="33204"/><f n="dqCopyAbs.decTest" o="marco" g="staff" p="33204"/><f n="dqCopyNegate.decTest" o="marco" g="staff" p="33204"/><f n="dqCopySign.decTest" o="marco" g="staff" p="33204"/><f n="dqDivide.decTest" o="marco" g="staff" p="33204"/><f n="dqDivideInt.decTest" o="marco" g="staff" p="33204"/><f n="dqEncode.decTest" o="marco" g="staff" p="33204"/><f n="dqFMA.decTest" o="marco" g="staff" p="33204"/><f n="dqInvert.decTest" o="marco" g="staff" p="33204"/><f n="dqLogB.decTest" o="marco" g="staff" p="33204"/><f n="dqMax.decTest" o="marco" g="staff" p="33204"/><f n="dqMaxMag.decTest" o="marco" g="staff" p="33204"/><f n="dqMin.decTest" o="marco" g="staff" p="33204"/><f n="dqMinMag.decTest" o="marco" g="staff" p="33204"/><f n="dqMinus.decTest" o="marco" g="staff" p="33204"/><f n="dqMultiply.decTest" o="marco" g="staff" p="33204"/><f n="dqNextMinus.decTest" o="marco" g="staff" p="33204"/><f n="dqNextPlus.decTest" o="marco" g="staff" p="33204"/><f n="dqNextToward.decTest" o="marco" g="staff" p="33204"/><f n="dqOr.decTest" o="marco" g="staff" p="33204"/><f n="dqPlus.decTest" o="marco" g="staff" p="33204"/><f n="dqQuantize.decTest" o="marco" g="staff" p="33204"/><f n="dqReduce.decTest" o="marco" g="staff" p="33204"/><f n="dqRemainder.decTest" o="marco" g="staff" p="33204"/><f n="dqRemainderNear.decTest" o="marco" g="staff" p="33204"/><f n="dqRotate.decTest" o="marco" g="staff" p="33204"/><f n="dqSameQuantum.decTest" o="marco" g="staff" p="33204"/><f n="dqScaleB.decTest" o="marco" g="staff" p="33204"/><f n="dqShift.decTest" o="marco" g="staff" p="33204"/><f n="dqSubtract.decTest" o="marco" g="staff" p="33204"/><f n="dqToIntegral.decTest" o="marco" g="staff" p="33204"/><f n="dqXor.decTest" o="marco" g="staff" p="33204"/><f n="dsBase.decTest" o="marco" g="staff" p="33204"/><f n="dsEncode.decTest" o="marco" g="staff" p="33204"/><f n="exp.decTest" o="marco" g="staff" p="33204"/><f n="extra.decTest" o="marco" g="staff" p="33204"/><f n="fma.decTest" o="marco" g="staff" p="33204"/><f n="inexact.decTest" o="marco" g="staff" p="33204"/><f n="invert.decTest" o="marco" g="staff" p="33204"/><f n="ln.decTest" o="marco" g="staff" p="33204"/><f n="log10.decTest" o="marco" g="staff" p="33204"/><f n="logb.decTest" o="marco" g="staff" p="33204"/><f n="max.decTest" o="marco" g="staff" p="33204"/><f n="maxmag.decTest" o="marco" g="staff" p="33204"/><f n="min.decTest" o="marco" g="staff" p="33204"/><f n="minmag.decTest" o="marco" g="staff" p="33204"/><f n="minus.decTest" o="marco" g="staff" p="33204"/><f n="multiply.decTest" o="marco" g="staff" p="33204"/><f n="nextminus.decTest" o="marco" g="staff" p="33204"/><f n="nextplus.decTest" o="marco" g="staff" p="33204"/><f n="nexttoward.decTest" o="marco" g="staff" p="33204"/><f n="or.decTest" o="marco" g="staff" p="33204"/><f n="plus.decTest" o="marco" g="staff" p="33204"/><f n="power.decTest" o="marco" g="staff" p="33204"/><f n="powersqrt.decTest" o="marco" g="staff" p="33204"/><f n="quantize.decTest" o="marco" g="staff" p="33204"/><f n="randomBound32.decTest" o="marco" g="staff" p="33204"/><f n="randoms.decTest" o="marco" g="staff" p="33204"/><f n="reduce.decTest" o="marco" g="staff" p="33204"/><f n="remainder.decTest" o="marco" g="staff" p="33204"/><f n="remainderNear.decTest" o="marco" g="staff" p="33204"/><f n="rescale.decTest" o="marco" g="staff" p="33204"/><f n="rotate.decTest" o="marco" g="staff" p="33204"/><f n="rounding.decTest" o="marco" g="staff" p="33204"/><f n="samequantum.decTest" o="marco" g="staff" p="33204"/><f n="scaleb.decTest" o="marco" g="staff" p="33204"/><f n="shift.decTest" o="marco" g="staff" p="33204"/><f n="squareroot.decTest" o="marco" g="staff" p="33204"/><f n="subtract.decTest" o="marco" g="staff" p="33204"/><f n="testall.decTest" o="marco" g="staff" p="33204"/><f n="tointegral.decTest" o="marco" g="staff" p="33204"/><f n="tointegralx.decTest" o="marco" g="staff" p="33204"/><f n="xor.decTest" o="marco" g="staff" p="33204"/></f><f n="doctest_aliases.py" o="marco" g="staff" p="33204"/><f n="double_const.py" o="marco" g="staff" p="33204"/><f n="empty.vbs" o="marco" g="staff" p="33204"/><f n="exception_hierarchy.txt" o="marco" g="staff" p="33204"/><f n="floating_points.txt" o="marco" g="staff" p="33204"/><f n="fork_wait.py" o="marco" g="staff" p="33277"/><f n="greyrgb.uue" o="marco" g="staff" p="33204"/><f n="https_svn_python_org_root.pem" o="marco" g="staff" p="33204"/><f n="ieee754.txt" o="marco" g="staff" p="33204"/><f n="infinite_reload.py" o="marco" g="staff" p="33204"/><f n="inspect_fodder.py" o="marco" g="staff" p="33204"/><f n="inspect_fodder2.py" o="marco" g="staff" p="33204"/><f n="keycert.pem" o="marco" g="staff" p="33204"/><f n="list_tests.py" o="marco" g="staff" p="33277"/><f n="mapping_tests.py" o="marco" g="staff" p="33204"/><f n="nullcert.pem" o="marco" g="staff" p="33204"/><f n="outstanding_bugs.py" o="marco" g="staff" p="33204"/><f n="pickletester.py" o="marco" g="staff" p="33204"/><f n="profilee.py" o="marco" g="staff" p="33277"/><f n="pyclbr_input.py" o="marco" g="staff" p="33277"/><f n="pydoc_mod.py" o="marco" g="staff" p="33277"/><f n="pydocfodder.py" o="marco" g="staff" p="33277"/><f n="pystone.py" o="marco" g="staff" p="33277"/><f n="randv2_32.pck" o="marco" g="staff" p="33204"/><f n="randv2_64.pck" o="marco" g="staff" p="33204"/><f n="randv3.pck" o="marco" g="staff" p="33204"/><f n="re_tests.py" o="marco" g="staff" p="33277"/><f n="README" o="marco" g="staff" p="33204"/><f n="regex_tests.py" o="marco" g="staff" p="33204"/><f n="regrtest.py" o="marco" g="staff" p="33277"/><f n="relimport.py" o="marco" g="staff" p="33204"/><f n="reperf.py" o="marco" g="staff" p="33204"/><f n="sample_doctest.py" o="marco" g="staff" p="33277"/><f n="seq_tests.py" o="marco" g="staff" p="33277"/><f n="sgml_input.html" o="marco" g="staff" p="33204"/><f n="Sine-1000Hz-300ms.aif" o="marco" g="staff" p="33204"/><f n="sortperf.py" o="marco" g="staff" p="33277"/><f n="ssl_cert.pem" o="marco" g="staff" p="33204"/><f n="ssl_key.pem" o="marco" g="staff" p="33204"/><f n="string_tests.py" o="marco" g="staff" p="33277"/><f n="svn_python_org_https_cert.pem" o="marco" g="staff" p="33204"/><f n="test.xml" o="marco" g="staff" p="33204"/><f n="test.xml.out" o="marco" g="staff" p="33204"/><f n="test___all__.py" o="marco" g="staff" p="33204"/><f n="test___future__.py" o="marco" g="staff" p="33277"/><f n="test__locale.py" o="marco" g="staff" p="33204"/><f n="test_abc.py" o="marco" g="staff" p="33204"/><f n="test_abstract_numbers.py" o="marco" g="staff" p="33277"/><f n="test_aepack.py" o="marco" g="staff" p="33277"/><f n="test_aifc.py" o="marco" g="staff" p="33204"/><f n="test_al.py" o="marco" g="staff" p="33277"/><f n="test_anydbm.py" o="marco" g="staff" p="33277"/><f n="test_applesingle.py" o="marco" g="staff" p="33204"/><f n="test_array.py" o="marco" g="staff" p="33277"/><f n="test_ast.py" o="marco" g="staff" p="33204"/><f n="test_asynchat.py" o="marco" g="staff" p="33204"/><f n="test_asyncore.py" o="marco" g="staff" p="33204"/><f n="test_atexit.py" o="marco" g="staff" p="33204"/><f n="test_audioop.py" o="marco" g="staff" p="33204"/><f n="test_augassign.py" o="marco" g="staff" p="33204"/><f n="test_base64.py" o="marco" g="staff" p="33204"/><f n="test_bastion.py" o="marco" g="staff" p="33204"/><f n="test_bigaddrspace.py" o="marco" g="staff" p="33204"/><f n="test_bigmem.py" o="marco" g="staff" p="33204"/><f n="test_binascii.py" o="marco" g="staff" p="33277"/><f n="test_binhex.py" o="marco" g="staff" p="33277"/><f n="test_binop.py" o="marco" g="staff" p="33277"/><f n="test_bisect.py" o="marco" g="staff" p="33204"/><f n="test_bool.py" o="marco" g="staff" p="33204"/><f n="test_bsddb.py" o="marco" g="staff" p="33277"/><f n="test_bsddb185.py" o="marco" g="staff" p="33277"/><f n="test_bsddb3.py" o="marco" g="staff" p="33204"/><f n="test_buffer.py" o="marco" g="staff" p="33277"/><f n="test_bufio.py" o="marco" g="staff" p="33204"/><f n="test_builtin.py" o="marco" g="staff" p="33204"/><f n="test_bytes.py" o="marco" g="staff" p="33277"/><f n="test_bz2.py" o="marco" g="staff" p="33277"/><f n="test_calendar.py" o="marco" g="staff" p="33204"/><f n="test_call.py" o="marco" g="staff" p="33204"/><f n="test_capi.py" o="marco" g="staff" p="33204"/><f n="test_cd.py" o="marco" g="staff" p="33277"/><f n="test_cfgparser.py" o="marco" g="staff" p="33204"/><f n="test_cgi.py" o="marco" g="staff" p="33204"/><f n="test_charmapcodec.py" o="marco" g="staff" p="33277"/><f n="test_cl.py" o="marco" g="staff" p="33277"/><f n="test_class.py" o="marco" g="staff" p="33204"/><f n="test_cmath.py" o="marco" g="staff" p="33277"/><f n="test_cmd.py" o="marco" g="staff" p="33277"/><f n="test_cmd_line.py" o="marco" g="staff" p="33204"/><f n="test_cmd_line_script.py" o="marco" g="staff" p="33204"/><f n="test_code.py" o="marco" g="staff" p="33277"/><f n="test_codeccallbacks.py" o="marco" g="staff" p="33204"/><f n="test_codecencodings_cn.py" o="marco" g="staff" p="33277"/><f n="test_codecencodings_hk.py" o="marco" g="staff" p="33277"/><f n="test_codecencodings_jp.py" o="marco" g="staff" p="33277"/><f n="test_codecencodings_kr.py" o="marco" g="staff" p="33277"/><f n="test_codecencodings_tw.py" o="marco" g="staff" p="33277"/><f n="test_codecmaps_cn.py" o="marco" g="staff" p="33277"/><f n="test_codecmaps_hk.py" o="marco" g="staff" p="33277"/><f n="test_codecmaps_jp.py" o="marco" g="staff" p="33277"/><f n="test_codecmaps_kr.py" o="marco" g="staff" p="33277"/><f n="test_codecmaps_tw.py" o="marco" g="staff" p="33277"/><f n="test_codecs.py" o="marco" g="staff" p="33204"/><f n="test_codeop.py" o="marco" g="staff" p="33277"/><f n="test_coding.py" o="marco" g="staff" p="33204"/><f n="test_coercion.py" o="marco" g="staff" p="33204"/><f n="test_collections.py" o="marco" g="staff" p="33204"/><f n="test_colorsys.py" o="marco" g="staff" p="33204"/><f n="test_commands.py" o="marco" g="staff" p="33204"/><f n="test_compare.py" o="marco" g="staff" p="33204"/><f n="test_compile.py" o="marco" g="staff" p="33204"/><f n="test_compiler.py" o="marco" g="staff" p="33204"/><f n="test_complex.py" o="marco" g="staff" p="33204"/><f n="test_complex_args.py" o="marco" g="staff" p="33204"/><f n="test_contains.py" o="marco" g="staff" p="33204"/><f n="test_contextlib.py" o="marco" g="staff" p="33277"/><f n="test_cookie.py" o="marco" g="staff" p="33204"/><f n="test_cookielib.py" o="marco" g="staff" p="33204"/><f n="test_copy.py" o="marco" g="staff" p="33277"/><f n="test_copy_reg.py" o="marco" g="staff" p="33204"/><f n="test_cpickle.py" o="marco" g="staff" p="33204"/><f n="test_cprofile.py" o="marco" g="staff" p="33277"/><f n="test_crypt.py" o="marco" g="staff" p="33277"/><f n="test_csv.py" o="marco" g="staff" p="33204"/><f n="test_ctypes.py" o="marco" g="staff" p="33204"/><f n="test_curses.py" o="marco" g="staff" p="33204"/><f n="test_datetime.py" o="marco" g="staff" p="33277"/><f n="test_dbm.py" o="marco" g="staff" p="33277"/><f n="test_decimal.py" o="marco" g="staff" p="33204"/><f n="test_decorators.py" o="marco" g="staff" p="33204"/><f n="test_defaultdict.py" o="marco" g="staff" p="33277"/><f n="test_deque.py" o="marco" g="staff" p="33204"/><f n="test_descr.py" o="marco" g="staff" p="33204"/><f n="test_descrtut.py" o="marco" g="staff" p="33204"/><f n="test_dict.py" o="marco" g="staff" p="33204"/><f n="test_difflib.py" o="marco" g="staff" p="33204"/><f n="test_difflib_expect.html" o="marco" g="staff" p="33204"/><f n="test_dircache.py" o="marco" g="staff" p="33277"/><f n="test_dis.py" o="marco" g="staff" p="33204"/><f n="test_distutils.py" o="marco" g="staff" p="33277"/><f n="test_dl.py" o="marco" g="staff" p="33277"/><f n="test_doctest.py" o="marco" g="staff" p="33277"/><f n="test_doctest.txt" o="marco" g="staff" p="33204"/><f n="test_doctest2.py" o="marco" g="staff" p="33204"/><f n="test_doctest2.txt" o="marco" g="staff" p="33204"/><f n="test_doctest3.txt" o="marco" g="staff" p="33204"/><f n="test_doctest4.txt" o="marco" g="staff" p="33204"/><f n="test_docxmlrpc.py" o="marco" g="staff" p="33204"/><f n="test_dumbdbm.py" o="marco" g="staff" p="33277"/><f n="test_dummy_thread.py" o="marco" g="staff" p="33277"/><f n="test_dummy_threading.py" o="marco" g="staff" p="33204"/><f n="test_email.py" o="marco" g="staff" p="33204"/><f n="test_email_codecs.py" o="marco" g="staff" p="33204"/><f n="test_email_renamed.py" o="marco" g="staff" p="33204"/><f n="test_enumerate.py" o="marco" g="staff" p="33204"/><f n="test_eof.py" o="marco" g="staff" p="33277"/><f n="test_epoll.py" o="marco" g="staff" p="33204"/><f n="test_errno.py" o="marco" g="staff" p="33277"/><f n="test_exception_variations.py" o="marco" g="staff" p="33204"/><f n="test_exceptions.py" o="marco" g="staff" p="33204"/><f n="test_extcall.py" o="marco" g="staff" p="33277"/><f n="test_fcntl.py" o="marco" g="staff" p="33277"/><f n="test_file.py" o="marco" g="staff" p="33204"/><f n="test_filecmp.py" o="marco" g="staff" p="33204"/><f n="test_fileinput.py" o="marco" g="staff" p="33204"/><f n="test_fileio.py" o="marco" g="staff" p="33204"/><f n="test_float.py" o="marco" g="staff" p="33204"/><f n="test_fnmatch.py" o="marco" g="staff" p="33277"/><f n="test_fork1.py" o="marco" g="staff" p="33277"/><f n="test_format.py" o="marco" g="staff" p="33204"/><f n="test_fpformat.py" o="marco" g="staff" p="33204"/><f n="test_fractions.py" o="marco" g="staff" p="33277"/><f n="test_frozen.py" o="marco" g="staff" p="33204"/><f n="test_ftplib.py" o="marco" g="staff" p="33277"/><f n="test_funcattrs.py" o="marco" g="staff" p="33204"/><f n="test_functools.py" o="marco" g="staff" p="33204"/><f n="test_future.py" o="marco" g="staff" p="33204"/><f n="test_future1.py" o="marco" g="staff" p="33277"/><f n="test_future2.py" o="marco" g="staff" p="33277"/><f n="test_future3.py" o="marco" g="staff" p="33204"/><f n="test_future4.py" o="marco" g="staff" p="33204"/><f n="test_future5.py" o="marco" g="staff" p="33204"/><f n="test_future_builtins.py" o="marco" g="staff" p="33204"/><f n="test_gc.py" o="marco" g="staff" p="33204"/><f n="test_gdbm.py" o="marco" g="staff" p="33277"/><f n="test_generators.py" o="marco" g="staff" p="33204"/><f n="test_genericpath.py" o="marco" g="staff" p="33204"/><f n="test_genexps.py" o="marco" g="staff" p="33204"/><f n="test_getargs.py" o="marco" g="staff" p="33277"/><f n="test_getargs2.py" o="marco" g="staff" p="33204"/><f n="test_getopt.py" o="marco" g="staff" p="33204"/><f n="test_gettext.py" o="marco" g="staff" p="33204"/><f n="test_gl.py" o="marco" g="staff" p="33277"/><f n="test_glob.py" o="marco" g="staff" p="33204"/><f n="test_global.py" o="marco" g="staff" p="33277"/><f n="test_grammar.py" o="marco" g="staff" p="33204"/><f n="test_grp.py" o="marco" g="staff" p="33277"/><f n="test_gzip.py" o="marco" g="staff" p="33277"/><f n="test_hash.py" o="marco" g="staff" p="33204"/><f n="test_hashlib.py" o="marco" g="staff" p="33204"/><f n="test_heapq.py" o="marco" g="staff" p="33277"/><f n="test_hmac.py" o="marco" g="staff" p="33204"/><f n="test_hotshot.py" o="marco" g="staff" p="33204"/><f n="test_htmllib.py" o="marco" g="staff" p="33204"/><f n="test_htmlparser.py" o="marco" g="staff" p="33277"/><f n="test_httplib.py" o="marco" g="staff" p="33204"/><f n="test_httpservers.py" o="marco" g="staff" p="33277"/><f n="test_imageop.py" o="marco" g="staff" p="33277"/><f n="test_imaplib.py" o="marco" g="staff" p="33204"/><f n="test_imgfile.py" o="marco" g="staff" p="33277"/><f n="test_imp.py" o="marco" g="staff" p="33204"/><f n="test_import.py" o="marco" g="staff" p="33204"/><f n="test_importhooks.py" o="marco" g="staff" p="33204"/><f n="test_index.py" o="marco" g="staff" p="33204"/><f n="test_inspect.py" o="marco" g="staff" p="33204"/><f n="test_int.py" o="marco" g="staff" p="33204"/><f n="test_int_literal.py" o="marco" g="staff" p="33277"/><f n="test_io.py" o="marco" g="staff" p="33277"/><f n="test_ioctl.py" o="marco" g="staff" p="33204"/><f n="test_isinstance.py" o="marco" g="staff" p="33204"/><f n="test_iter.py" o="marco" g="staff" p="33204"/><f n="test_iterlen.py" o="marco" g="staff" p="33277"/><f n="test_itertools.py" o="marco" g="staff" p="33204"/><f n="test_json.py" o="marco" g="staff" p="33277"/><f n="test_kqueue.py" o="marco" g="staff" p="33277"/><f n="test_largefile.py" o="marco" g="staff" p="33277"/><f n="test_lib2to3.py" o="marco" g="staff" p="33204"/><f n="test_linecache.py" o="marco" g="staff" p="33277"/><f n="test_linuxaudiodev.py" o="marco" g="staff" p="33204"/><f n="test_list.py" o="marco" g="staff" p="33204"/><f n="test_locale.py" o="marco" g="staff" p="33204"/><f n="test_logging.py" o="marco" g="staff" p="33277"/><f n="test_long.py" o="marco" g="staff" p="33204"/><f n="test_long_future.py" o="marco" g="staff" p="33204"/><f n="test_longexp.py" o="marco" g="staff" p="33204"/><f n="test_macos.py" o="marco" g="staff" p="33204"/><f n="test_macostools.py" o="marco" g="staff" p="33204"/><f n="test_macpath.py" o="marco" g="staff" p="33204"/><f n="test_mailbox.py" o="marco" g="staff" p="33204"/><f n="test_marshal.py" o="marco" g="staff" p="33277"/><f n="test_math.py" o="marco" g="staff" p="33204"/><f n="test_md5.py" o="marco" g="staff" p="33204"/><f n="test_memoryio.py" o="marco" g="staff" p="33277"/><f n="test_mhlib.py" o="marco" g="staff" p="33277"/><f n="test_mimetools.py" o="marco" g="staff" p="33204"/><f n="test_mimetypes.py" o="marco" g="staff" p="33204"/><f n="test_MimeWriter.py" o="marco" g="staff" p="33277"/><f n="test_minidom.py" o="marco" g="staff" p="33204"/><f n="test_mmap.py" o="marco" g="staff" p="33204"/><f n="test_module.py" o="marco" g="staff" p="33204"/><f n="test_modulefinder.py" o="marco" g="staff" p="33204"/><f n="test_multibytecodec.py" o="marco" g="staff" p="33277"/><f n="test_multibytecodec_support.py" o="marco" g="staff" p="33277"/><f n="test_multifile.py" o="marco" g="staff" p="33204"/><f n="test_multiprocessing.py" o="marco" g="staff" p="33277"/><f n="test_mutants.py" o="marco" g="staff" p="33204"/><f n="test_mutex.py" o="marco" g="staff" p="33204"/><f n="test_netrc.py" o="marco" g="staff" p="33204"/><f n="test_new.py" o="marco" g="staff" p="33204"/><f n="test_nis.py" o="marco" g="staff" p="33204"/><f n="test_normalization.py" o="marco" g="staff" p="33204"/><f n="test_ntpath.py" o="marco" g="staff" p="33204"/><f n="test_old_mailbox.py" o="marco" g="staff" p="33204"/><f n="test_opcodes.py" o="marco" g="staff" p="33204"/><f n="test_openpty.py" o="marco" g="staff" p="33204"/><f n="test_operator.py" o="marco" g="staff" p="33204"/><f n="test_optparse.py" o="marco" g="staff" p="33277"/><f n="test_os.py" o="marco" g="staff" p="33204"/><f n="test_ossaudiodev.py" o="marco" g="staff" p="33204"/><f n="test_parser.py" o="marco" g="staff" p="33204"/><f n="test_peepholer.py" o="marco" g="staff" p="33204"/><f n="test_pep247.py" o="marco" g="staff" p="33277"/><f n="test_pep263.py" o="marco" g="staff" p="33277"/><f n="test_pep277.py" o="marco" g="staff" p="33204"/><f n="test_pep292.py" o="marco" g="staff" p="33204"/><f n="test_pep352.py" o="marco" g="staff" p="33204"/><f n="test_pickle.py" o="marco" g="staff" p="33204"/><f n="test_pickletools.py" o="marco" g="staff" p="33204"/><f n="test_pipes.py" o="marco" g="staff" p="33204"/><f n="test_pkg.py" o="marco" g="staff" p="33204"/><f n="test_pkgimport.py" o="marco" g="staff" p="33204"/><f n="test_pkgutil.py" o="marco" g="staff" p="33204"/><f n="test_platform.py" o="marco" g="staff" p="33204"/><f n="test_plistlib.py" o="marco" g="staff" p="33204"/><f n="test_poll.py" o="marco" g="staff" p="33204"/><f n="test_popen.py" o="marco" g="staff" p="33277"/><f n="test_popen2.py" o="marco" g="staff" p="33277"/><f n="test_poplib.py" o="marco" g="staff" p="33204"/><f n="test_posix.py" o="marco" g="staff" p="33204"/><f n="test_posixpath.py" o="marco" g="staff" p="33204"/><f n="test_pow.py" o="marco" g="staff" p="33204"/><f n="test_pprint.py" o="marco" g="staff" p="33204"/><f n="test_print.py" o="marco" g="staff" p="33277"/><f n="test_profile.py" o="marco" g="staff" p="33277"/><f n="test_profilehooks.py" o="marco" g="staff" p="33204"/><f n="test_property.py" o="marco" g="staff" p="33204"/><f n="test_pstats.py" o="marco" g="staff" p="33204"/><f n="test_pty.py" o="marco" g="staff" p="33204"/><f n="test_pwd.py" o="marco" g="staff" p="33204"/><f n="test_py3kwarn.py" o="marco" g="staff" p="33204"/><f n="test_pyclbr.py" o="marco" g="staff" p="33204"/><f n="test_pydoc.py" o="marco" g="staff" p="33204"/><f n="test_pyexpat.py" o="marco" g="staff" p="33204"/><f n="test_queue.py" o="marco" g="staff" p="33204"/><f n="test_quopri.py" o="marco" g="staff" p="33204"/><f n="test_random.py" o="marco" g="staff" p="33277"/><f n="test_re.py" o="marco" g="staff" p="33204"/><f n="test_repr.py" o="marco" g="staff" p="33277"/><f n="test_resource.py" o="marco" g="staff" p="33204"/><f n="test_rfc822.py" o="marco" g="staff" p="33204"/><f n="test_richcmp.py" o="marco" g="staff" p="33204"/><f n="test_robotparser.py" o="marco" g="staff" p="33204"/><f n="test_runpy.py" o="marco" g="staff" p="33204"/><f n="test_sax.py" o="marco" g="staff" p="33204"/><f n="test_scope.py" o="marco" g="staff" p="33204"/><f n="test_scriptpackages.py" o="marco" g="staff" p="33204"/><f n="test_select.py" o="marco" g="staff" p="33204"/><f n="test_set.py" o="marco" g="staff" p="33204"/><f n="test_sets.py" o="marco" g="staff" p="33277"/><f n="test_sgmllib.py" o="marco" g="staff" p="33204"/><f n="test_sha.py" o="marco" g="staff" p="33204"/><f n="test_shelve.py" o="marco" g="staff" p="33204"/><f n="test_shlex.py" o="marco" g="staff" p="33204"/><f n="test_shutil.py" o="marco" g="staff" p="33204"/><f n="test_signal.py" o="marco" g="staff" p="33204"/><f n="test_SimpleHTTPServer.py" o="marco" g="staff" p="33277"/><f n="test_site.py" o="marco" g="staff" p="33277"/><f n="test_slice.py" o="marco" g="staff" p="33204"/><f n="test_smtplib.py" o="marco" g="staff" p="33204"/><f n="test_smtpnet.py" o="marco" g="staff" p="33277"/><f n="test_socket.py" o="marco" g="staff" p="33277"/><f n="test_socketserver.py" o="marco" g="staff" p="33277"/><f n="test_softspace.py" o="marco" g="staff" p="33204"/><f n="test_sort.py" o="marco" g="staff" p="33204"/><f n="test_sqlite.py" o="marco" g="staff" p="33204"/><f n="test_ssl.py" o="marco" g="staff" p="33204"/><f n="test_startfile.py" o="marco" g="staff" p="33204"/><f n="test_str.py" o="marco" g="staff" p="33204"/><f n="test_strftime.py" o="marco" g="staff" p="33277"/><f n="test_string.py" o="marco" g="staff" p="33204"/><f n="test_StringIO.py" o="marco" g="staff" p="33204"/><f n="test_stringprep.py" o="marco" g="staff" p="33204"/><f n="test_strop.py" o="marco" g="staff" p="33204"/><f n="test_strptime.py" o="marco" g="staff" p="33277"/><f n="test_struct.py" o="marco" g="staff" p="33204"/><f n="test_structmembers.py" o="marco" g="staff" p="33204"/><f n="test_structseq.py" o="marco" g="staff" p="33204"/><f n="test_subprocess.py" o="marco" g="staff" p="33204"/><f n="test_sunaudiodev.py" o="marco" g="staff" p="33204"/><f n="test_sundry.py" o="marco" g="staff" p="33277"/><f n="test_support.py" o="marco" g="staff" p="33277"/><f n="test_symtable.py" o="marco" g="staff" p="33277"/><f n="test_syntax.py" o="marco" g="staff" p="33277"/><f n="test_sys.py" o="marco" g="staff" p="33204"/><f n="test_tarfile.py" o="marco" g="staff" p="33204"/><f n="test_tcl.py" o="marco" g="staff" p="33277"/><f n="test_telnetlib.py" o="marco" g="staff" p="33204"/><f n="test_tempfile.py" o="marco" g="staff" p="33204"/><f n="test_textwrap.py" o="marco" g="staff" p="33204"/><f n="test_thread.py" o="marco" g="staff" p="33204"/><f n="test_threaded_import.py" o="marco" g="staff" p="33204"/><f n="test_threadedtempfile.py" o="marco" g="staff" p="33277"/><f n="test_threading.py" o="marco" g="staff" p="33204"/><f n="test_threading_local.py" o="marco" g="staff" p="33204"/><f n="test_threadsignals.py" o="marco" g="staff" p="33277"/><f n="test_time.py" o="marco" g="staff" p="33204"/><f n="test_timeout.py" o="marco" g="staff" p="33277"/><f n="test_tokenize.py" o="marco" g="staff" p="33204"/><f n="test_trace.py" o="marco" g="staff" p="33204"/><f n="test_traceback.py" o="marco" g="staff" p="33277"/><f n="test_transformer.py" o="marco" g="staff" p="33204"/><f n="test_tuple.py" o="marco" g="staff" p="33204"/><f n="test_typechecks.py" o="marco" g="staff" p="33277"/><f n="test_types.py" o="marco" g="staff" p="33204"/><f n="test_ucn.py" o="marco" g="staff" p="33277"/><f n="test_unary.py" o="marco" g="staff" p="33277"/><f n="test_undocumented_details.py" o="marco" g="staff" p="33204"/><f n="test_unicode.py" o="marco" g="staff" p="33204"/><f n="test_unicode_file.py" o="marco" g="staff" p="33204"/><f n="test_unicodedata.py" o="marco" g="staff" p="33277"/><f n="test_unittest.py" o="marco" g="staff" p="33277"/><f n="test_univnewlines.py" o="marco" g="staff" p="33204"/><f n="test_unpack.py" o="marco" g="staff" p="33204"/><f n="test_urllib.py" o="marco" g="staff" p="33277"/><f n="test_urllib2.py" o="marco" g="staff" p="33204"/><f n="test_urllib2_localnet.py" o="marco" g="staff" p="33277"/><f n="test_urllib2net.py" o="marco" g="staff" p="33277"/><f n="test_urllibnet.py" o="marco" g="staff" p="33277"/><f n="test_urlparse.py" o="marco" g="staff" p="33277"/><f n="test_userdict.py" o="marco" g="staff" p="33204"/><f n="test_userlist.py" o="marco" g="staff" p="33204"/><f n="test_userstring.py" o="marco" g="staff" p="33277"/><f n="test_uu.py" o="marco" g="staff" p="33277"/><f n="test_uuid.py" o="marco" g="staff" p="33204"/><f n="test_wait3.py" o="marco" g="staff" p="33277"/><f n="test_wait4.py" o="marco" g="staff" p="33277"/><f n="test_warnings.py" o="marco" g="staff" p="33204"/><f n="test_wave.py" o="marco" g="staff" p="33204"/><f n="test_weakref.py" o="marco" g="staff" p="33204"/><f n="test_whichdb.py" o="marco" g="staff" p="33277"/><f n="test_winreg.py" o="marco" g="staff" p="33204"/><f n="test_winsound.py" o="marco" g="staff" p="33204"/><f n="test_with.py" o="marco" g="staff" p="33277"/><f n="test_wsgiref.py" o="marco" g="staff" p="33277"/><f n="test_xdrlib.py" o="marco" g="staff" p="33204"/><f n="test_xml_etree.py" o="marco" g="staff" p="33204"/><f n="test_xml_etree_c.py" o="marco" g="staff" p="33204"/><f n="test_xmllib.py" o="marco" g="staff" p="33204"/><f n="test_xmlrpc.py" o="marco" g="staff" p="33204"/><f n="test_xpickle.py" o="marco" g="staff" p="33204"/><f n="test_xrange.py" o="marco" g="staff" p="33204"/><f n="test_zipfile.py" o="marco" g="staff" p="33204"/><f n="test_zipfile64.py" o="marco" g="staff" p="33204"/><f n="test_zipimport.py" o="marco" g="staff" p="33204"/><f n="test_zipimport_support.py" o="marco" g="staff" p="33204"/><f n="test_zlib.py" o="marco" g="staff" p="33204"/><f n="testall.py" o="marco" g="staff" p="33204"/><f n="testcodec.py" o="marco" g="staff" p="33277"/><f n="testimg.uue" o="marco" g="staff" p="33204"/><f n="testimgr.uue" o="marco" g="staff" p="33204"/><f n="testrgb.uue" o="marco" g="staff" p="33204"/><f n="testtar.tar" o="marco" g="staff" p="33204"/><f n="tf_inherit_check.py" o="marco" g="staff" p="33204"/><f n="threaded_import_hangers.py" o="marco" g="staff" p="33204"/><f n="time_hashlib.py" o="marco" g="staff" p="33204"/><f n="tokenize_tests.txt" o="marco" g="staff" p="33204"/><f n="warning_tests.py" o="marco" g="staff" p="33204"/><f n="wrongcert.pem" o="marco" g="staff" p="33204"/><f n="xmltests.py" o="marco" g="staff" p="33204"/><f n="zipdir.zip" o="marco" g="staff" p="33204"/></f><f n="textwrap.py" o="marco" g="staff" p="33277"/><f n="textwrap.pyc" o="marco" g="staff" p="33188"/><f n="this.py" o="marco" g="staff" p="33204"/><f n="threading.py" o="marco" g="staff" p="33277"/><f n="timeit.py" o="marco" g="staff" p="33277"/><f n="toaiff.py" o="marco" g="staff" p="33277"/><f n="token.py" o="marco" g="staff" p="33277"/><f n="tokenize.py" o="marco" g="staff" p="33277"/><f n="trace.py" o="marco" g="staff" p="33277"/><f n="traceback.py" o="marco" g="staff" p="33277"/><f n="tty.py" o="marco" g="staff" p="33277"/><f n="types.py" o="marco" g="staff" p="33277"/><f n="types.pyc" o="marco" g="staff" p="33188"/><f n="unittest.py" o="marco" g="staff" p="33277"/><f n="urllib.py" o="marco" g="staff" p="33277"/><f n="urllib2.py" o="marco" g="staff" p="33277"/><f n="urlparse.py" o="marco" g="staff" p="33277"/><f n="user.py" o="marco" g="staff" p="33277"/><f n="UserDict.py" o="marco" g="staff" p="33277"/><f n="UserDict.pyc" o="marco" g="staff" p="33188"/><f n="UserList.py" o="marco" g="staff" p="33277"/><f n="UserString.py" o="marco" g="staff" p="33277"/><f n="uu.py" o="marco" g="staff" p="33277"/><f n="uuid.py" o="marco" g="staff" p="33204"/><f n="warnings.py" o="marco" g="staff" p="33277"/><f n="warnings.pyc" o="marco" g="staff" p="33188"/><f n="wave.py" o="marco" g="staff" p="33277"/><f n="weakref.py" o="marco" g="staff" p="33277"/><f n="webbrowser.py" o="marco" g="staff" p="33277"/><f n="whichdb.py" o="marco" g="staff" p="33204"/><f n="wsgiref" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="handlers.py" o="marco" g="staff" p="33277"/><f n="headers.py" o="marco" g="staff" p="33277"/><f n="simple_server.py" o="marco" g="staff" p="33277"/><f n="util.py" o="marco" g="staff" p="33277"/><f n="validate.py" o="marco" g="staff" p="33204"/></f><f n="wsgiref.egg-info" o="marco" g="staff" p="33204"/><f n="xdrlib.py" o="marco" g="staff" p="33277"/><f n="xml" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="dom" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="domreg.py" o="marco" g="staff" p="33277"/><f n="expatbuilder.py" o="marco" g="staff" p="33277"/><f n="minicompat.py" o="marco" g="staff" p="33277"/><f n="minidom.py" o="marco" g="staff" p="33277"/><f n="NodeFilter.py" o="marco" g="staff" p="33204"/><f n="pulldom.py" o="marco" g="staff" p="33204"/><f n="xmlbuilder.py" o="marco" g="staff" p="33277"/></f><f n="etree" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33204"/><f n="cElementTree.py" o="marco" g="staff" p="33204"/><f n="ElementInclude.py" o="marco" g="staff" p="33204"/><f n="ElementPath.py" o="marco" g="staff" p="33204"/><f n="ElementTree.py" o="marco" g="staff" p="33204"/></f><f n="parsers" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="expat.py" o="marco" g="staff" p="33277"/></f><f n="sax" o="marco" g="staff" p="16893"><f n="__init__.py" o="marco" g="staff" p="33277"/><f n="_exceptions.py" o="marco" g="staff" p="33277"/><f n="expatreader.py" o="marco" g="staff" p="33277"/><f n="handler.py" o="marco" g="staff" p="33277"/><f n="saxutils.py" o="marco" g="staff" p="33277"/><f n="xmlreader.py" o="marco" g="staff" p="33277"/></f></f><f n="xmllib.py" o="marco" g="staff" p="33277"/><f n="xmlrpclib.py" o="marco" g="staff" p="33204"/><f n="zipfile.py" o="marco" g="staff" p="33277"/></f><f n="QtCore.framework" o="marco" g="staff" p="16893"><f n="Contents" o="marco" g="staff" p="16893"><f n="Info.plist" o="marco" g="staff" p="33204"/></f><f n="QtCore" o="marco" g="staff" p="33277"/><f n="QtCore.prl" o="marco" g="staff" p="33204"/><f n="QtCore_debug.prl" o="marco" g="staff" p="33204"/><f n="Versions" o="marco" g="staff" p="16893"><f n="4" o="marco" g="staff" p="16893"><f n="QtCore" o="marco" g="staff" p="33204"/></f></f></f><f n="QtGui.framework" o="marco" g="staff" p="16893"><f n="Contents" o="marco" g="staff" p="16893"><f n="Info.plist" o="marco" g="staff" p="33204"/></f><f n="QtGui" o="marco" g="staff" p="33277"/><f n="QtGui.prl" o="marco" g="staff" p="33204"/><f n="QtGui_debug.prl" o="marco" g="staff" p="33204"/><f n="Resources" o="marco" g="staff" p="16893"><f n="qt_menu.nib" o="marco" g="staff" p="16893"><f n="classes.nib" o="marco" g="staff" p="33204"/><f n="info.nib" o="marco" g="staff" p="33204"/><f n="keyedobjects.nib" o="marco" g="staff" p="33204"/></f></f><f n="Versions" o="marco" g="staff" p="16893"><f n="4" o="marco" g="staff" p="16893"><f n="QtGui" o="marco" g="staff" p="33204"/><f n="Resources" o="marco" g="staff" p="16893"><f n="qt_menu.nib" o="marco" g="staff" p="16893"><f n="classes.nib" o="marco" g="staff" p="33204"/><f n="info.nib" o="marco" g="staff" p="33204"/><f n="keyedobjects.nib" o="marco" g="staff" p="33204"/></f></f></f></f></f><f n="QtNetwork.framework" o="marco" g="staff" p="16893"><f n="Contents" o="marco" g="staff" p="16893"><f n="Info.plist" o="marco" g="staff" p="33204"/></f><f n="QtNetwork" o="marco" g="staff" p="33277"/><f n="QtNetwork.prl" o="marco" g="staff" p="33204"/><f n="QtNetwork_debug.prl" o="marco" g="staff" p="33204"/><f n="Versions" o="marco" g="staff" p="16893"><f n="4" o="marco" g="staff" p="16893"><f n="QtNetwork" o="marco" g="staff" p="33204"/></f></f></f><f n="QtOpenGL.framework" o="marco" g="staff" p="16893"><f n="Contents" o="marco" g="staff" p="16893"><f n="Info.plist" o="marco" g="staff" p="33204"/></f><f n="QtOpenGL" o="marco" g="staff" p="33277"/><f n="QtOpenGL.prl" o="marco" g="staff" p="33204"/><f n="QtOpenGL_debug.prl" o="marco" g="staff" p="33204"/><f n="Versions" o="marco" g="staff" p="16893"><f n="4" o="marco" g="staff" p="16893"><f n="QtOpenGL" o="marco" g="staff" p="33204"/></f></f></f><f n="QtXml.framework" o="marco" g="staff" p="16893"><f n="Contents" o="marco" g="staff" p="16893"><f n="Info.plist" o="marco" g="staff" p="33204"/></f><f n="QtXml" o="marco" g="staff" p="33277"/><f n="QtXml.prl" o="marco" g="staff" p="33204"/><f n="QtXml_debug.prl" o="marco" g="staff" p="33204"/><f n="Versions" o="marco" g="staff" p="16893"><f n="4" o="marco" g="staff" p="16893"><f n="QtXml" o="marco" g="staff" p="33204"/></f></f></f></f><f n="share" o="marco" g="staff" p="16893"><f n="openstructure" o="marco" g="staff" p="16893"><f n="atom_scattering_properties.txt" o="marco" g="staff" p="33204"/><f n="compounds.chemlib" o="marco" g="staff" p="33204"/><f n="gui" o="marco" g="staff" p="16893"><f n="icons" o="marco" g="staff" p="16893"><f n="add_icon.png" o="marco" g="staff" p="33204"/><f n="close_icon.png" o="marco" g="staff" p="33204"/><f n="distance_icon.png" o="marco" g="staff" p="33204"/><f n="find_icon.png" o="marco" g="staff" p="33204"/><f n="map_icon.png" o="marco" g="staff" p="33204"/><f n="menubar_icon.png" o="marco" g="staff" p="33204"/><f n="rigid_body_manipulator_icon.png" o="marco" g="staff" p="33204"/><f n="selection_icon.png" o="marco" g="staff" p="33204"/><f n="show_sidebar_icon.png" o="marco" g="staff" p="33204"/><f n="site_icon.png" o="marco" g="staff" p="33204"/><f n="split_icon.png" o="marco" g="staff" p="33204"/></f></f><f n="scene" o="marco" g="staff" p="16893"><f n="gradients.xml" o="marco" g="staff" p="33204"/><f n="icons" o="marco" g="staff" p="16893"><f n="color_icon.png" o="marco" g="staff" p="33204"/><f n="preset_icon.png" o="marco" g="staff" p="33204"/><f n="render_icon.png" o="marco" g="staff" p="33204"/><f n="tool_icon.png" o="marco" g="staff" p="33204"/></f><f n="loaders.xml" o="marco" g="staff" p="33204"/><f n="presets.xml" o="marco" g="staff" p="33204"/></f><f n="textures" o="marco" g="staff" p="16893"><f n="glyph_texture.png" o="marco" g="staff" p="33204"/><f n="test_texture.png" o="marco" g="staff" p="33204"/></f></f></f></f></pkg-contents> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/02standalone.xml b/deployment/macos/OpenStructure.pmdoc/02standalone.xml new file mode 100644 index 0000000000000000000000000000000000000000..7a54f677ae14a43721dfa5a7e3a665ac77f7f68e --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/02standalone.xml @@ -0,0 +1 @@ +<pkgref spec="1.12" uuid="7458E2CA-C8AE-40AC-B086-775A710CD49E"><config><identifier>org.openstructure.OpenStructure.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true">standalone</installFrom><installTo mod="true">/Library/OpenStructure</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>requireAuthorization</mod><mod>relocatable</mod><mod>installFrom.isRelativeType</mod><mod>installTo.path</mod><mod>installTo</mod><mod>identifier</mod></config><contents><file-list>02standalone-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/03examples-contents.xml b/deployment/macos/OpenStructure.pmdoc/03examples-contents.xml new file mode 100644 index 0000000000000000000000000000000000000000..f18a985612230d440ca95a85e4f7440be08ac5e1 --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/03examples-contents.xml @@ -0,0 +1 @@ +<pkg-contents spec="1.12"><f n="examples" o="marco" g="staff" p="16877" pt="/Users/marco/Projects/prod_ost/examples" m="false" t="file"><f n=".DS_Store" o="root" g="admin" p="33204"><mod>mode</mod></f><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="dokk" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="config.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dokk.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dokk.svn-base" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="glwin.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="hud.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="KEYS.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="level.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="level_info.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="level_intro.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="level_messages.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="name_enter.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="score_updater.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="spacenav_connect.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="spnav_input.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="start_dokk.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="config.py" o="marco" g="staff" p="33204"/><f n="config.pyc" o="marco" g="staff" p="33204"/><f n="datafiles" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="hud.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="hudF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="dengue" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="level.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="levelF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.sdf.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="top_ten.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="level.ini" o="marco" g="staff" p="33204"/><f n="levelF.ini" o="marco" g="staff" p="33204"/><f n="ligand.sdf" o="marco" g="staff" p="33204"/><f n="protein.pdb" o="marco" g="staff" p="33204"/><f n="surface.face" o="marco" g="staff" p="33204"/><f n="surface.vert" o="marco" g="staff" p="33204"/><f n="top_ten.ini" o="marco" g="staff" p="33204"/></f><f n="glyoxalase" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="level.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="levelF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.sdf.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="top_ten.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="level.ini" o="marco" g="staff" p="33204"/><f n="levelF.ini" o="marco" g="staff" p="33204"/><f n="ligand.sdf" o="marco" g="staff" p="33204"/><f n="protein.pdb" o="marco" g="staff" p="33204"/><f n="surface.face" o="marco" g="staff" p="33204"/><f n="surface.vert" o="marco" g="staff" p="33204"/><f n="top_ten.ini" o="marco" g="staff" p="33204"/></f><f n="hud.ini" o="marco" g="staff" p="33204"/><f n="hudF.ini" o="marco" g="staff" p="33204"/><f n="retinol" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="level.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="levelF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.sdf.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="top_ten.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="level.ini" o="marco" g="staff" p="33204"/><f n="levelF.ini" o="marco" g="staff" p="33204"/><f n="ligand.sdf" o="marco" g="staff" p="33204"/><f n="protein.pdb" o="marco" g="staff" p="33204"/><f n="surface.face" o="marco" g="staff" p="33204"/><f n="surface.vert" o="marco" g="staff" p="33204"/><f n="top_ten.ini" o="marco" g="staff" p="33204"/></f><f n="thrombin" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="level.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="levelF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.sdf.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="top_ten.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="level.ini" o="marco" g="staff" p="33204"/><f n="levelF.ini" o="marco" g="staff" p="33204"/><f n="ligand.sdf" o="marco" g="staff" p="33204"/><f n="protein.pdb" o="marco" g="staff" p="33204"/><f n="surface.face" o="marco" g="staff" p="33204"/><f n="surface.vert" o="marco" g="staff" p="33204"/><f n="top_ten.ini" o="marco" g="staff" p="33204"/></f><f n="tutorial_1" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="level.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="levelF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.sdf.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="top_ten.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="level.ini" o="marco" g="staff" p="33204"/><f n="levelF.ini" o="marco" g="staff" p="33204"/><f n="ligand.sdf" o="marco" g="staff" p="33204"/><f n="protein.pdb" o="marco" g="staff" p="33204"/><f n="surface.face" o="marco" g="staff" p="33204"/><f n="surface.vert" o="marco" g="staff" p="33204"/><f n="top_ten.ini" o="marco" g="staff" p="33204"/></f><f n="tutorial_2" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="level.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="levelF.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="ligand.sdf.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="protein.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="surface.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="top_ten.ini.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="level.ini" o="marco" g="staff" p="33204"/><f n="levelF.ini" o="marco" g="staff" p="33204"/><f n="ligand.sdf" o="marco" g="staff" p="33204"/><f n="protein.pdb" o="marco" g="staff" p="33204"/><f n="surface.face" o="marco" g="staff" p="33204"/><f n="surface.vert" o="marco" g="staff" p="33204"/><f n="top_ten.ini" o="marco" g="staff" p="33204"/></f></f><f n="dokk" o="marco" g="staff" p="33277"/><f n="dokk.py" o="marco" g="staff" p="33204"/><f n="dokk.pyc" o="marco" g="staff" p="33204"/><f n="glwin.py" o="marco" g="staff" p="33204"/><f n="glwin.pyc" o="marco" g="staff" p="33204"/><f n="hud.py" o="marco" g="staff" p="33204"/><f n="images" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="openstructure.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="rotation.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="translation.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="openstructure.png" o="marco" g="staff" p="33204"/><f n="rotation.png" o="marco" g="staff" p="33204"/><f n="translation.png" o="marco" g="staff" p="33204"/></f><f n="KEYS" o="marco" g="staff" p="33204"/><f n="level.py" o="marco" g="staff" p="33204"/><f n="level.pyc" o="marco" g="staff" p="33204"/><f n="level_info.py" o="marco" g="staff" p="33204"/><f n="level_intro.py" o="marco" g="staff" p="33204"/><f n="level_messages.py" o="marco" g="staff" p="33204"/><f n="ligand.py" o="marco" g="staff" p="33204"/><f n="ligand.pyc" o="marco" g="staff" p="33204"/><f n="name_enter.py" o="marco" g="staff" p="33204"/><f n="protein.py" o="marco" g="staff" p="33204"/><f n="protein.pyc" o="marco" g="staff" p="33204"/><f n="score_updater.py" o="marco" g="staff" p="33204"/><f n="score_updater.pyc" o="marco" g="staff" p="33204"/><f n="spacenav_connect.py" o="marco" g="staff" p="33204"/><f n="spnav_input.py" o="marco" g="staff" p="33204"/><f n="start_dokk.py" o="marco" g="staff" p="33204"/><f n="surface.py" o="marco" g="staff" p="33204"/><f n="surface.pyc" o="marco" g="staff" p="33204"/></f><f n="entity" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="bbox.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="color_by_property.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment2.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_selection.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_symmetry.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gradient.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="load_and_display.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="pdb1ake.ent.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="pdb4ake.ent.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="primitives.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="random_lines.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="rendermodes.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="superpose.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="bbox.py" o="marco" g="staff" p="33204"/><f n="color_by_property.py" o="marco" g="staff" p="33204"/><f n="fragment.pdb" o="marco" g="staff" p="33204"/><f n="fragment2.pdb" o="marco" g="staff" p="33204"/><f n="gfx_selection.py" o="marco" g="staff" p="33204"/><f n="gfx_symmetry.py" o="marco" g="staff" p="33204"/><f n="gradient.py" o="marco" g="staff" p="33204"/><f n="load_and_display.py" o="marco" g="staff" p="33204"/><f n="pdb1ake.ent" o="marco" g="staff" p="33204"/><f n="pdb4ake.ent" o="marco" g="staff" p="33204"/><f n="primitives.py" o="marco" g="staff" p="33204"/><f n="random_lines.py" o="marco" g="staff" p="33204"/><f n="rendermodes.py" o="marco" g="staff" p="33204"/><f n="sdh.pdb" o="marco" g="staff" p="33204"/><f n="superpose.py" o="marco" g="staff" p="33204"/></f><f n="harmony" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="harmony.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="glwin.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="harmony.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="harmony.svn-base" o="marco" g="staff" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="glwin.py" o="marco" g="staff" p="33204"/><f n="glwin.pyc" o="marco" g="staff" p="33204"/><f n="harmony" o="marco" g="staff" p="33277"/><f n="harmony.py" o="marco" g="staff" p="33204"/></f><f n="img" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="circle.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="square.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone1.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone2.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone3.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone4.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone5.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="circle.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="create_split_image.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fft_li.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="modulate_image.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="spoke_pattern.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="square.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone1.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone2.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone3.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone4.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="tone5.png.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="view_phase_diff.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="circle.png" o="marco" g="staff" p="33204"/><f n="create_split_image.py" o="marco" g="staff" p="33204"/><f n="fft_li.py" o="marco" g="staff" p="33204"/><f n="modulate_image.py" o="marco" g="staff" p="33204"/><f n="spoke_pattern.py" o="marco" g="staff" p="33204"/><f n="square.png" o="marco" g="staff" p="33204"/><f n="tone1.png" o="marco" g="staff" p="33204"/><f n="tone2.png" o="marco" g="staff" p="33204"/><f n="tone3.png" o="marco" g="staff" p="33204"/><f n="tone4.png" o="marco" g="staff" p="33204"/><f n="tone5.png" o="marco" g="staff" p="33204"/><f n="view_phase_diff.py" o="marco" g="staff" p="33204"/></f><f n="map" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="1ppt.map.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="1ppt.map.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="1ppt.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_mapiso.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="gfx_mapslab.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="1ppt.map" o="marco" g="staff" p="33204"/><f n="1ppt.pdb" o="marco" g="staff" p="33204"/><f n="gfx_mapiso.py" o="marco" g="staff" p="33204"/><f n="gfx_mapslab.py" o="marco" g="staff" p="33204"/></f><f n="misc" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="bitmap_export.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="export_pov.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="fragment.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="the_hammer.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="bitmap_export.py" o="marco" g="staff" p="33204"/><f n="export_pov.py" o="marco" g="staff" p="33204"/><f n="fragment.face" o="marco" g="staff" p="33204"/><f n="fragment.pdb" o="marco" g="staff" p="33204"/><f n="fragment.vert" o="marco" g="staff" p="33204"/><f n="the_hammer.py" o="marco" g="staff" p="33204"/></f><f n="modelling" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="roll_helix.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="strip_sidechains.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="roll_helix.py" o="marco" g="staff" p="33204"/><f n="sdh.pdb" o="marco" g="staff" p="33204"/><f n="strip_sidechains.py" o="marco" g="staff" p="33204"/></f><f n="seq" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="conservation.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="seq_viewer.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sh2.aln.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sh2.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sh2.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sh2.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="conservation.py" o="marco" g="staff" p="33204"/><f n="seq_viewer.py" o="marco" g="staff" p="33204"/><f n="sh2.aln" o="marco" g="staff" p="33204"/><f n="sh2.face" o="marco" g="staff" p="33204"/><f n="sh2.pdb" o="marco" g="staff" p="33204"/><f n="sh2.vert" o="marco" g="staff" p="33204"/></f><f n="surf" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="sdh.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.face.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sdh.vert.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_surf.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_surf_pov.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="fragment.pdb" o="marco" g="staff" p="33204"/><f n="sdh.face" o="marco" g="staff" p="33277"/><f n="sdh.pdb" o="marco" g="staff" p="33204"/><f n="sdh.vert" o="marco" g="staff" p="33277"/><f n="test_surf.py" o="marco" g="staff" p="33204"/><f n="test_surf_pov.py" o="marco" g="staff" p="33204"/></f><f n="trj" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><f n="mpor_trj.crd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj_short.trj.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.dcd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="fragment.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj.crd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="mpor_trj_short.trj.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.dcd.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="sample.pdb.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_trj.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="test_trj_blur.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="fragment.pdb" o="marco" g="staff" p="33204"/><f n="mpor_trj.crd" o="marco" g="staff" p="33277"/><f n="mpor_trj_short.trj" o="marco" g="staff" p="33277"/><f n="sample.dcd" o="marco" g="staff" p="33204"/><f n="sample.pdb" o="marco" g="staff" p="33204"/><f n="test_trj.py" o="marco" g="staff" p="33204"/><f n="test_trj_blur.py" o="marco" g="staff" p="33204"/></f><f n="ui" o="marco" g="staff" p="16893"><f n=".svn" o="marco" g="staff" p="16893"><f n="all-wcprops" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="entries" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><f n="board.py.svn-base" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="color_tool.py.svn-base" o="marco" g="staff" p="33277"><mod>mode</mod></f><f n="mdi_example.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="menubar_example.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><f n="widget_example.py.svn-base" o="marco" g="staff" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="marco" g="staff" p="16893"><f n="prop-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="props" o="marco" g="staff" p="16893"><mod>mode</mod></f><f n="text-base" o="marco" g="staff" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="board.py" o="marco" g="staff" p="33277"/><f n="board.pyc" o="marco" g="staff" p="33204"/><f n="color_tool.py" o="marco" g="staff" p="33277"/><f n="mdi_example.py" o="marco" g="staff" p="33204"/><f n="menubar_example.py" o="marco" g="staff" p="33204"/><f n="widget_example.py" o="marco" g="staff" p="33204"/></f></f></pkg-contents> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/03examples.xml b/deployment/macos/OpenStructure.pmdoc/03examples.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff0317996f21014d462583eae994b0775529ce4b --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/03examples.xml @@ -0,0 +1 @@ +<pkgref spec="1.12" uuid="C2FAE439-87F5-415C-91EE-0436CC2E4D66"><config><identifier>org.openstructure.Examples.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true">../../examples</installFrom><installTo mod="true">/Library/OpenStructure/examples</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>installFrom.isRelativeType</mod><mod>installTo.path</mod><mod>installFrom.path</mod><mod>installTo</mod><mod>identifier</mod></config><contents><file-list>03examples-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref> \ No newline at end of file diff --git a/deployment/macos/OpenStructure.pmdoc/index.xml b/deployment/macos/OpenStructure.pmdoc/index.xml new file mode 100644 index 0000000000000000000000000000000000000000..58623dbf2cb0cf54e05205cd5611105624528a24 --- /dev/null +++ b/deployment/macos/OpenStructure.pmdoc/index.xml @@ -0,0 +1 @@ +<pkmkdoc spec="1.12"><properties><title>OpenStructure</title><build>/Users/marco/Sites/ost-leopard.pkg</build><organization>org.openstructure</organization><userSees ui="easy"/><min-target os="3"/><domain system="true" user="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="DNG" id="choice6" description="DNG Graphical Frontend" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.openstructure.DNG.pkg"/></choice><choice title="OpenStructure" id="choice7" description="The OpenStructure Framework" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.openstructure.OpenStructure.pkg"/></choice><choice title="examples" id="choice8" description="OpenStructure Example Files" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.openstructure.Examples.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"/></resources><flags/><item type="file">01dng.xml</item><item type="file">02standalone.xml</item><item type="file">03examples.xml</item><mod>properties.customizeOption</mod><mod>properties.userDomain</mod><mod>properties.title</mod><mod>properties.anywhereDomain</mod><mod>properties.systemDomain</mod></pkmkdoc> \ No newline at end of file diff --git a/deployment/macos/bundle.py b/deployment/macos/bundle.py new file mode 100644 index 0000000000000000000000000000000000000000..01d25441be9c6678576cd25f075f6496c28bbe89 --- /dev/null +++ b/deployment/macos/bundle.py @@ -0,0 +1,85 @@ +INFO_PLIST="""<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" + "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>dng</string> + <key>CFBundleHelpBookFolder</key> + <string>OpenStructure Manual</string> + <key>CFBundleHelpBookName</key> + <string>_BUNDLE_ Help</string> + <key>CFBundleIconFile</key> + <string>icon.icns</string> + <key>CFBundleIdentifier</key> + <string>org.openstructure.OpenStructure</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string></string> + <key>NSMainNibFile</key> + <string>MainMenu</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> +</dict> +</plist>""" + +import os +from shutil import copy +import stat +def _WritePkgInfo(bundle): + pkg_info=open(os.path.join(bundle+'.app', 'Contents/PkgInfo'), 'w+') + pkg_info.write('APPL????') + pkg_info.close() + +def _WriteInfoPList(bundle): + info_plist=open(os.path.join(bundle+'.app', 'Contents/Info.plist'), 'w+') + info_plist.write(INFO_PLIST) + info_plist.close() + +def _WriteScript(bundle, standalone): + if standalone: + script="""#!/bin/sh +if [ -h "$0" ] ; then + SCRIPT_NAME=`readlink "$0"` +else + SCRIPT_NAME="$0" +fi +`dirname "$SCRIPT_NAME"`/../bin/dng + """ + else: + script="""#!/bin/sh +if [ -e $HOME/Library/OpenStructure/bin/dng ]; then + $HOME/Library/OpenStructure/bin/dng +else + /Library/OpenStructure/bin/dng +fi + """ + bin_path=os.path.join('%s.app' % bundle, 'Contents/MacOS/dng') + bin=open(bin_path, 'w+') + bin.write(script) + bin.close() + os.system('chmod a+x %s' % bin_path) + +def _CreateBundleSkeleton(bundle, standalone): + bin_path=os.path.join('%s.app' % bundle, 'Contents/MacOS') + if not os.path.exists(bin_path): + os.makedirs(bin_path) + _WritePkgInfo(bundle) + _WriteInfoPList(bundle) + _WriteScript(bundle, standalone) + res_dir='%s.app/Contents/Resources' % bundle + if not os.path.exists(res_dir): + os.makedirs(res_dir) + copy('../../graphics/icon.icns', res_dir) + +def create_bundle(bundle_name, standalone=False): + _CreateBundleSkeleton(bundle_name, standalone) + if standalone: + os.system('mv standalone/* DNG.app/Contents/') \ No newline at end of file diff --git a/deployment/macos/create_bundle.py b/deployment/macos/create_bundle.py index 74f8b486621d53acfe73fd4e4242aeebcfc877a8..6a00d75db3bba9f127b6527b2fa91b6046837580 100644 --- a/deployment/macos/create_bundle.py +++ b/deployment/macos/create_bundle.py @@ -7,6 +7,10 @@ INFO_PLIST="""<?xml version="1.0" encoding="UTF-8"?> <string>English</string> <key>CFBundleExecutable</key> <string>dng</string> + <key>CFBundleName</key> + <string>DNG</string> + <key>CFBundleDisplayName</key> + <string>DNG</string> <key>CFBundleHelpBookFolder</key> <string>OpenStructure Manual</string> <key>CFBundleHelpBookName</key> diff --git a/deployment/macos/deploy.py b/deployment/macos/deploy.py new file mode 100644 index 0000000000000000000000000000000000000000..60d45e647da40c0b94d806b6a8107cdc6569049e --- /dev/null +++ b/deployment/macos/deploy.py @@ -0,0 +1,23 @@ +import bundle +import deps +import sys +from optparse import OptionParser +import shutil +import os +p=OptionParser() +p.add_option('--bundle', action='store_true', default=False) +p.add_option('--no_rpath', action='store_true', + default=False) +p.add_option('--macports_workaround', action='store_true', default=False) +opts, args=p.parse_args() +deps.make_standalone('../../stage', 'standalone', True, + opts.no_rpath, + macports_workaround=opts.macports_workaround) +if os.path.exists('DNG.app'): + shutil.rmtree('DNG.app') +bundle.create_bundle('DNG', opts.bundle) +if opts.bundle: + shutil.copytree('../../examples', 'DNG.app/Contents/examples') + os.system('rm `find DNG.app/Contents/examples/ -name "*.pyc"`') + os.system('rm -rf DNG.app/Contents/examples/harmony') + os.system('rm -rf DNG.app/Contents/examples/dokk') \ No newline at end of file diff --git a/deployment/macos/deps.py b/deployment/macos/deps.py new file mode 100644 index 0000000000000000000000000000000000000000..460071d1b7effb0eb7477549f9495699891729da --- /dev/null +++ b/deployment/macos/deps.py @@ -0,0 +1,319 @@ +import os +import subprocess +import shutil +import sys +import glob + +def _lib_name(component): + return 'libost_%s.dylib' % component + +def _deps_for_lib(lib, pool, recursive=True): + if lib in pool: + return + otool=subprocess.Popen(['otool', '-L', lib], stdout=subprocess.PIPE) + output=otool.communicate()[0] + lines=output.split('\n')[1:] + for line in lines: + d=line.split(' ')[0].strip() + if len(d)>0: + if d==lib: + continue + if d not in pool: + if d.startswith('/System') or d.startswith('/usr/lib'): + continue + if recursive: + _deps_for_lib(d, pool) + pool.add(d) + return + +def collect_deps(stage_dir, components, binaries, site_packages, + site_packages_dir): + """ + Collect the dependencies for the given components and returns a list of + frameworks/libraries that the component depends on. + """ + pool=set() + for component in components: + lib_name=os.path.abspath(os.path.join(stage_dir, 'lib', + _lib_name(component))) + if not os.path.exists(lib_name): + print 'WARNING:', lib_name, 'does not exist' + if lib_name not in pool: + _deps_for_lib(lib_name, pool) + pool.add(lib_name) + for bin in binaries: + bin_name=os.path.abspath(os.path.join(stage_dir, 'bin', + bin)) + if not os.path.exists(bin_name): + print 'WARNING:', bin_name, 'does not exist' + continue + if bin_name not in pool: + _deps_for_lib(bin_name, pool) + for site_package in site_packages: + full_path=os.path.join(site_packages_dir, site_package) + if not os.path.exists(full_path): + print 'WARNING', site_package, 'does not exists' + continue + if os.path.isdir(full_path): + for so_file in glob.glob(os.path.join(full_path, '*.so')): + _deps_for_lib(so_file, pool) + return pool + +BINARIES=['gosty', 'chemdict_tool'] +COMPONENTS=['mol', 'geom', 'conop', 'gfx', 'gui', 'seq_alg', 'seq', + 'img', 'img_alg', 'qa', 'info', 'io', 'db', 'base'] +SCRIPTS=['dng', 'ost'] +CHANGE_ID_RPATH='install_name_tool -id @rpath/%s %s' +CHANGE_ID='install_name_tool -id @executable_path/%s %s' +CHANGE_LOAD_CMD_RPATH='install_name_tool -change %s @rpath/%s %s' +CHANGE_LOAD_CMD='install_name_tool -change %s @executable_path/%s %s' +ADD_RPATH='install_name_tool -add_rpath %s %s 2> /dev/null' +SITE_PACKAGES=['sip.so', 'sipconfig.py', 'sipdistutils.py', 'PyQt4'] +REMOVE_HEADERS='rm -rf `find %s/lib -type d -name Headers`' +REMOVE_CURRENT='rm -rf `find %s/lib -type d -name Current`' +# collect libs of non-standard libraries/frameworks we depend on + +def copy_binaries(stage_dir, outdir, binary_names, scripts, use_rpath, + append_bin=True): + + exe_path=os.path.abspath(os.path.join(outdir, 'bin')) + for binary_name in binary_names: + if append_bin: + bin_name=os.path.join(stage_dir, 'bin', binary_name) + else: + bin_name=os.path.join(stage_dir, binary_name) + if not os.path.exists(bin_name): + print 'WARNING:', binary_name, 'does not exist' + continue + dst_name=os.path.join(outdir, 'bin', os.path.basename(bin_name)) + shutil.copy(bin_name, dst_name) + update_load_commands(dst_name, True, use_rpath, exe_path) + os.system(ADD_RPATH % ('../lib', dst_name)) + for script in scripts: + shutil.copy(os.path.join(stage_dir, 'bin', script), + os.path.join(outdir,'bin', script)) + +def split_framework_components(abs_path): + """ + Splits the path pointing to a dynamic library within a framework + + '/System/Frameworks/A.framework/Versions/4/A' => + ['/System/Frameworks/A.framework', 'Versions/4/A'] + """ + parts=abs_path.split('/') + for i, s in enumerate(parts): + if s.endswith('.framework'): + lead=os.path.join('/', *parts[:i+1]) + trail=os.path.join(*parts[i+1:]) + return lead, trail + +def change_id(id, lib, use_rpath): + os.chmod(lib, 0666) + if use_rpath: + os.system(CHANGE_ID_RPATH % (id,lib)) + else: + os.system(CHANGE_ID % (id,lib)) + os.chmod(lib, 0444) + +def update_load_commands(lib, exe, use_rpath, exe_path): + direct_deps=set() + _deps_for_lib(lib, direct_deps, recursive=False) + os.chmod(lib, 0666) + for direct_dep in direct_deps: + if direct_dep.endswith('.dylib'): + if use_rpath: + new_name=os.path.basename(direct_dep) + os.system(CHANGE_LOAD_CMD_RPATH % (direct_dep, new_name, lib)) + else: + new_name=os.path.join('../lib', os.path.basename(direct_dep)) + os.system(CHANGE_LOAD_CMD % (direct_dep, new_name, lib)) + else: + assert direct_dep.find('.framework/')>=0 + if use_rpath: + framework_path, rel_path=split_framework_components(direct_dep) + framework_name=os.path.basename(framework_path) + new_name=os.path.join(framework_name, rel_path) + os.system(CHANGE_LOAD_CMD_RPATH % (direct_dep, new_name, lib)) + else: + framework_path, rel_path=split_framework_components(direct_dep) + framework_name=os.path.basename(framework_path) + new_name=os.path.join('../lib', framework_name, rel_path) + os.system(CHANGE_LOAD_CMD % (direct_dep, new_name, lib)) + if use_rpath: + os.system(ADD_RPATH % ('.', lib)) + if exe: + os.chmod(lib, 0555) + else: + os.chmod(lib, 0444) + +def copy_deps(dependencies, outdir, use_rpath): + exe_path=os.path.join(outdir, 'bin') + for dep in dependencies: + if dep.endswith('.dylib'): + dst_name=os.path.join(outdir, 'lib', os.path.basename(dep)) + if not os.path.exists(dep): + continue + shutil.copy(dep, dst_name) + if use_rpath: + change_id(os.path.basename(dep), dst_name, use_rpath) + else: + change_id('../lib/%s' % os.path.basename(dep), dst_name, use_rpath) + update_load_commands(dst_name, False, use_rpath, exe_path) + else: + assert dep.find('.framework/')>=0 + framework_path, rel_path=split_framework_components(dep) + framework_name=os.path.basename(framework_path) + dst_name=os.path.join(outdir, 'lib', framework_name) + shutil.copytree(framework_path, dst_name) + if use_rpath: + change_id(os.path.join(dst_name, rel_path), + os.path.join(dst_name, rel_path), use_rpath) + else: + change_id(os.path.join('../lib', framework_name, rel_path), + os.path.join(dst_name, rel_path), use_rpath) + os.unlink(os.path.join(dst_name, os.path.splitext(framework_name)[0])) + update_load_commands(os.path.join(dst_name, rel_path), False, + use_rpath, exe_path) + +def update_pymod_shared_objects(args, path, files): + lib_path, use_rpath=args + exe_path=os.path.abspath(os.path.join(lib_path, '../bin')) + for f in files: + if not os.path.exists(os.path.join(path, f)): + continue + base, ext=os.path.splitext(f) + if ext=='.so': + path_to_lib_path=os.path.relpath(lib_path, path) + abs_name=os.path.join(path, f) + os.system(ADD_RPATH % (path_to_lib_path, abs_name)) + update_load_commands(abs_name, False, use_rpath, exe_path) + elif ext in ('.pyc', '.pyo'): + os.unlink(os.path.join(path, f)) + +def get_site_package_dir(): + """ + Get site-package directory of this python installation. This assumes + that ost was linked against the same version of Python + """ + for p in sys.path: + pattern='/site-packages' + index=p.find(pattern) + if index>=0: + return p[:index+len(pattern)] + raise RuntimeError("Couldn't determine site-packages location") + +def get_python_home(): + """ + Derive Python home by looking at the location of the os module + """ + return os.path.dirname(sys.modules['os'].__file__) + +def check_install_name_tool_capabilities(): + """ + Find out whether install_name_tool supports the add_rpath option. + """ + inst_name_tool=subprocess.Popen('install_name_tool', shell=True, + stderr=subprocess.PIPE) + output=inst_name_tool.communicate()[1] + return output.find('-add_rpath')!=-1 + +def make_standalone(stage_dir, outdir, no_includes, force_no_rpath=False, + macports_workaround=False): + site_packages=get_site_package_dir() + # figure out if install_name_tool supports the -add_rpath option. + use_rpath=True + if not check_install_name_tool_capabilities(): + print "install_name_tool doesn't support the -add_rpath option." + print "I will fallback to the more arcane @executable_path" + use_rpath=False + elif force_no_rpath: + print "I will use the arcane @executable_path" + use_rpath=False + + if os.path.exists(outdir): + shutil.rmtree(outdir) + os.system('mkdir -p "%s"' % outdir) + os.system('mkdir -p "%s/lib"' % outdir) + os.system('mkdir -p "%s/bin"' % outdir) + print 'copying shared datafiles' + shutil.copytree(os.path.join(stage_dir, 'share'), + os.path.join(outdir, 'share')) + print 'collecting dependencies' + deps=collect_deps(stage_dir, COMPONENTS, BINARIES, SITE_PACKAGES, + site_packages) + print 'copying dependencies' + copy_deps(deps, outdir, use_rpath) + print 'copying binaries' + copy_binaries(stage_dir, outdir, BINARIES, SCRIPTS, use_rpath) + print 'copying pymod' + shutil.copytree(os.path.join(stage_dir, 'lib/openstructure'), + os.path.join(outdir, 'lib/openstructure')) + copied_py_framework=False + non_std_python=False + if os.path.exists(os.path.join(outdir, 'lib/Python.framework')): + framework_path=os.path.join(outdir, 'lib/Python.framework') + nonstd_python=True + copied_py_framework=True + if len(glob.glob(os.path.join(outdir, 'lib', 'libpython*')))>0: + non_std_python=True + if non_std_python: + print 'looks like we are using a non-standard python.' + python_home=get_python_home() + if not copied_py_framework: + print 'also copying python modules from %s' % python_home + modules_dst=os.path.join(outdir, 'lib', os.path.basename(python_home)) + shutil.copytree(python_home, modules_dst) + if os.path.exists(os.path.join(modules_dst, 'site-packages')): + shutil.rmtree(os.path.join(modules_dst, 'site-packages')) + copy_binaries(os.path.join(python_home, '../..'), outdir, + ['python'], [], use_rpath) + python_bin=os.path.abspath(os.path.join(python_home, '../../bin/python')) + else: + # For MacPorts it's even more involved. Python is not executed directly + # but rather uses a wrapper executable that calls the actual python exe. + # We have to include that one into the bundle. + if macports_workaround: + path_to_app='../../Resources/Python.app/Contents/MacOS/' + exe_path=os.path.join(python_home, path_to_app) + copy_binaries(exe_path, outdir, ['python'], [], + use_rpath, append_bin=False) + python_bin=os.path.join('/opt/local/bin/python') + else: + copy_binaries(os.path.join(python_home, '../..'), outdir, + ['python'], [], use_rpath) + python_bin=os.path.abspath(os.path.join(python_home, '../../bin/python')) + # remove all versions but the one we are using + version_string=sys.version[0:3] + prefix, postfix=split_framework_components(python_home) + site_packages_dir=os.path.join(outdir, 'lib', 'Python.framework', + postfix, 'site-packages') + if os.path.exists(site_packages_dir): + shutil.rmtree(site_packages_dir) + for directory in glob.glob(os.path.join(framework_path, 'Versions/*')): + if os.path.basename(directory)!=version_string: + shutil.rmtree(directory) + # replace the python executable + ost_script=os.path.join(outdir, 'bin', 'ost') + os.chmod(ost_script, 0666) + script=''.join(open(ost_script, 'r').readlines()) + script=script.replace(python_bin, '$BIN_DIR/python') + open(ost_script, 'w').write(script) + os.chmod(ost_script, 0555) + elif use_rpath==False: + print 'BIG FAT WARNING: Creation bundle with @executable_path and default' + print 'Python might not work. Test carefully before deploying.' + + if no_includes: + os.system(REMOVE_HEADERS % outdir) + os.system(REMOVE_CURRENT % outdir) + print 'copying site-packages' + for sp in SITE_PACKAGES: + src=os.path.join(site_packages, sp) + if os.path.isdir(src): + shutil.copytree(src, os.path.join(outdir, 'lib/openstructure', sp)) + else: + shutil.copy(src, os.path.join(outdir, 'lib/openstructure', sp)) + print 'updating link commands of python shared objects' + os.path.walk(os.path.join(outdir, 'lib'), + update_pymod_shared_objects, + (os.path.join(outdir, 'lib'), use_rpath)) diff --git a/deployment/win/CMakeLists.txt b/deployment/win/CMakeLists.txt index 931ed78e0d78b3601ac87d8e62618cbd57a2af19..01c1a1d7a1ad9dab4b969f5516fdc071dc6bd440 100644 --- a/deployment/win/CMakeLists.txt +++ b/deployment/win/CMakeLists.txt @@ -1,5 +1,5 @@ if(DEPLOYMENT) - get_ost_rev() +# get_ost_rev() include(Deployment) set(SUBST_DICT OST_VERSION="${OST_VERSION}") add_custom_target(deployment ALL) diff --git a/deployment/win/create_archive.bat b/deployment/win/create_archive.bat deleted file mode 100644 index 06902f502663f74180ca21132c842f14d606a6e4..0000000000000000000000000000000000000000 --- a/deployment/win/create_archive.bat +++ /dev/null @@ -1,24 +0,0 @@ -@ECHO OFF -REM create a zip archive for deployment on windows -REM no regisrty entries -REM no PATHs will be changed except in the DNG session -set inst_dir=openstructure1.0.0a1_1885 -set archive_name=OpenStructureWin32 -if exist "%inst_dir%" rmdir /S /Q "%inst_dir%" -if exist %archive_name%.zip del %archive_name%.zip*.* -REM dir /S %inst_dir% -mkdir "%inst_dir%\share\openstructure\examples" -mkdir "%inst_dir%\lib\site-packages" -mkdir "%inst_dir%\bin" -xcopy /E /I ..\..\examples "%inst_dir%\share\openstructure\examples" -xcopy /E /I ..\..\stage\share "%inst_dir%\share\" -REM xcopy /E /I ..\..\website\html "%inst_dir%\share\doc" -copy d:\programs\bin\python.exe "%inst_dir%\bin" - -xcopy /E /I /EXCLUDE:excludes d:\programs\lib "%inst_dir%\lib" -xcopy /E /I ..\..\stage\lib "%inst_dir%\lib" -xcopy /E /I /EXCLUDE:excludes ..\..\stage\bin "%inst_dir%\bin" -set PATH="c:\Program Files (x86)"\7-Zip\;%PATH% -REM 7z a -r -t7z %archive_name% "%inst_dir%" > log -REM if exist %archive_name%.7z copy /b 7zS.sfx + config.txt + %archive_name%.7z %archive_name%.exe -7z a -r -tzip %archive_name% "%inst_dir%" > log diff --git a/deployment/win/create_archive.bat.in b/deployment/win/create_archive.bat.in index de67e8fa0f02c9f63b504245de6a4d3f5123818d..47168bf3fe90c02e5ecec263efb8a1e9299f2688 100644 --- a/deployment/win/create_archive.bat.in +++ b/deployment/win/create_archive.bat.in @@ -1,7 +1,10 @@ @ECHO OFF REM create a zip archive for deployment on windows -REM no regisrty entries +REM no registry entries REM no PATHs will be changed except in the DNG session +REM +REM Author Juergen Haas +REM set inst_dir=openstructure@OST_VERSION@ set archive_name=OpenStructureWin32 if exist "%inst_dir%" rmdir /S /Q "%inst_dir%" @@ -10,15 +13,19 @@ REM dir /S %inst_dir% mkdir "%inst_dir%\share\openstructure\examples" mkdir "%inst_dir%\lib\site-packages" mkdir "%inst_dir%\bin" -xcopy /E /I ..\..\examples "%inst_dir%\share\openstructure\examples" -xcopy /E /I ..\..\stage\share "%inst_dir%\share\" +xcopy /E /I /Y /EXCLUDE:exclude_file_types ..\..\examples "%inst_dir%\share\openstructure\examples" +xcopy /E /I /Y /EXCLUDE:exclude_file_types ..\..\stage\share "%inst_dir%\share\" REM xcopy /E /I ..\..\website\html "%inst_dir%\share\doc" copy d:\programs\bin\python.exe "%inst_dir%\bin" - -xcopy /E /I /EXCLUDE:excludes d:\programs\lib "%inst_dir%\lib" -xcopy /E /I ..\..\stage\lib "%inst_dir%\lib" -xcopy /E /I /EXCLUDE:excludes ..\..\stage\bin "%inst_dir%\bin" +copy ..\README.html "%inst_dir%" +copy ..\..\graphics\favicon.ico "%inst_dir%\share" +copy dng.bat "%inst_dir%" +xcopy /E /I /Y /EXCLUDE:excludes+exclude_file_types d:\programs\lib "%inst_dir%\lib" +xcopy /E /I /Y /EXCLUDE:excludes+exclude_file_types ..\..\stage\lib "%inst_dir%\lib" +xcopy /E /I /Y /EXCLUDE:excludes+exclude_file_types ..\..\stage\bin "%inst_dir%\bin" set PATH="c:\Program Files (x86)"\7-Zip\;%PATH% REM 7z a -r -t7z %archive_name% "%inst_dir%" > log REM if exist %archive_name%.7z copy /b 7zS.sfx + config.txt + %archive_name%.7z %archive_name%.exe +if exist \TMTools\TMalign.exe copy /B \TMTools\TMalign.exe "%inst_dir%\bin\Release" +if exist \TMTools\TMscore.exe copy /B \TMTools\TMscore.exe "%inst_dir%\bin\Release" 7z a -r -tzip %archive_name% "%inst_dir%" > log \ No newline at end of file diff --git a/deployment/win/dng.bat b/deployment/win/dng.bat new file mode 100644 index 0000000000000000000000000000000000000000..388e79e936dc18abd87c3902f3819b44a22f4869 --- /dev/null +++ b/deployment/win/dng.bat @@ -0,0 +1,23 @@ +@ECHO OFF +REM ------------------------------------------------------------------------------ +REM This file is part of the OpenStructure project <www.openstructure.org> +REM +REM Copyright (C) 2008-2010 by the OpenStructure authors +REM +REM This library is free software; you can redistribute it and/or modify it under +REM the terms of the GNU Lesser General Public License as published by the Free +REM Software Foundation; either version 3.0 of the License, or (at your option) +REM any later version. +REM This library is distributed in the hope that it will be useful, but WITHOUT +REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +REM FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +REM details. +REM +REM You should have received a copy of the GNU Lesser General Public License +REM along with this library; if not, write to the Free Software Foundation, Inc., +REM 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +REM ------------------------------------------------------------------------------ +REM Windows startup script for a protein-centric user interface +REM Author: Juergen Haas + +call "%~dp0\bin\dng.bat" %* diff --git a/deployment/win/exclude_file_types b/deployment/win/exclude_file_types new file mode 100644 index 0000000000000000000000000000000000000000..2ef73e4f551bffe1190f5eb9902bc69e7ec7a9a4 --- /dev/null +++ b/deployment/win/exclude_file_types @@ -0,0 +1,7 @@ +.lib +.exp +.pyc +.idb +dokk +harmony +README diff --git a/deployment/win/excludes b/deployment/win/excludes index cd3894ade9c8cd5571d39e7d2c84bb571ac97f35..9e8fc733f560afd6a1ac1eeb5f34b27e1921cc7d 100644 --- a/deployment/win/excludes +++ b/deployment/win/excludes @@ -3,4 +3,7 @@ graph prg_exec signals libboost -create_archive \ No newline at end of file +create_archive +.pdb +markdown +pygments \ No newline at end of file diff --git a/deployment/win/log b/deployment/win/log deleted file mode 100644 index e599d7444e0d8461dd2f5f901a5dc3a40701cb30..0000000000000000000000000000000000000000 --- a/deployment/win/log +++ /dev/null @@ -1,2542 +0,0 @@ - -7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03 -Scanning - -Creating archive OpenStructure_WIN32.zip - -Compressing openstructure\bin\bjam.exe -Compressing openstructure\bin\dng.bat -Compressing openstructure\bin\Eula.txt -Compressing openstructure\bin\gipltng.bat -Compressing openstructure\bin\init.py -Compressing openstructure\bin\init_cl.py -Compressing openstructure\bin\init_iplt.py -Compressing openstructure\bin\jom.exe -Compressing openstructure\bin\ost.bat -Compressing openstructure\bin\pexports.exe -Compressing openstructure\bin\phonon4.dll -Compressing openstructure\bin\phonond4.dll -Compressing openstructure\bin\procmon.chm -Compressing openstructure\bin\Procmon.exe -Compressing openstructure\bin\python.exe -Compressing openstructure\bin\python.suo -Compressing openstructure\bin\Qt3Support4.dll -Compressing openstructure\bin\Qt3Supportd4.dll -Compressing openstructure\bin\QtCore4.dll -Compressing openstructure\bin\QtCored4.dll -Compressing openstructure\bin\QtGui4.dll -Compressing openstructure\bin\QtGuid4.dll -Compressing openstructure\bin\QtNetwork4.dll -Compressing openstructure\bin\QtNetworkd4.dll -Compressing openstructure\bin\QtOpenGL4.dll -Compressing openstructure\bin\QtOpenGLd4.dll -Compressing openstructure\bin\QtScript4.dll -Compressing openstructure\bin\QtScriptd4.dll -Compressing openstructure\bin\QtScriptTools4.dll -Compressing openstructure\bin\QtScriptToolsd4.dll -Compressing openstructure\bin\QtSql4.dll -Compressing openstructure\bin\QtSqld4.dll -Compressing openstructure\bin\QtSvg4.dll -Compressing openstructure\bin\QtSvgd4.dll -Compressing openstructure\bin\QtTest4.dll -Compressing openstructure\bin\QtTestd4.dll -Compressing openstructure\bin\QtXml4.dll -Compressing openstructure\bin\QtXmld4.dll -Compressing openstructure\bin\QtXmlPatterns4.dll -Compressing openstructure\bin\QtXmlPatternsd4.dll -Compressing openstructure\bin\Release\chemdict_tool.exe -Compressing openstructure\bin\Release\chemdict_tool.exp -Compressing openstructure\bin\Release\chemdict_tool.idb -Compressing openstructure\bin\Release\chemdict_tool.lib -Compressing openstructure\bin\Release\gosty.exe -Compressing openstructure\bin\Release\gosty.exp -Compressing openstructure\bin\Release\gosty.idb -Compressing openstructure\bin\Release\gosty.lib -Compressing openstructure\bin\sip.exe -Compressing openstructure\bin\sip.exe.manifest -Compressing openstructure\lib\abc.py -Compressing openstructure\lib\abc.pyc -Compressing openstructure\lib\aifc.py -Compressing openstructure\lib\anydbm.py -Compressing openstructure\lib\ast.py -Compressing openstructure\lib\asynchat.py -Compressing openstructure\lib\asyncore.py -Compressing openstructure\lib\atexit.py -Compressing openstructure\lib\atexit.pyc -Compressing openstructure\lib\audiodev.py -Compressing openstructure\lib\base64.py -Compressing openstructure\lib\BaseHTTPServer.py -Compressing openstructure\lib\Bastion.py -Compressing openstructure\lib\bdb.py -Compressing openstructure\lib\bdb.pyc -Compressing openstructure\lib\binhex.py -Compressing openstructure\lib\bisect.py -Compressing openstructure\lib\boost_date_time-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_date_time-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_date_time-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_date_time-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_date_time-vc90-mt-gd.lib -Compressing openstructure\lib\boost_date_time-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_date_time-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_date_time-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_date_time-vc90-mt.lib -Compressing openstructure\lib\boost_filesystem-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_filesystem-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_filesystem-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_filesystem-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_filesystem-vc90-mt-gd.lib -Compressing openstructure\lib\boost_filesystem-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_filesystem-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_filesystem-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_filesystem-vc90-mt.lib -Compressing openstructure\lib\boost_iostreams-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_iostreams-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_iostreams-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_iostreams-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_iostreams-vc90-mt-gd.lib -Compressing openstructure\lib\boost_iostreams-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_iostreams-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_iostreams-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_iostreams-vc90-mt.lib -Compressing openstructure\lib\boost_math_c99-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_math_c99-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_math_c99-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_math_c99-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_math_c99-vc90-mt-gd.lib -Compressing openstructure\lib\boost_math_c99-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_math_c99-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_math_c99-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_math_c99-vc90-mt.lib -Compressing openstructure\lib\boost_math_c99f-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_math_c99f-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_math_c99f-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_math_c99f-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_math_c99f-vc90-mt-gd.lib -Compressing openstructure\lib\boost_math_c99f-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_math_c99f-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_math_c99f-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_math_c99f-vc90-mt.lib -Compressing openstructure\lib\boost_math_c99l-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_math_c99l-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_math_c99l-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_math_c99l-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_math_c99l-vc90-mt-gd.lib -Compressing openstructure\lib\boost_math_c99l-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_math_c99l-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_math_c99l-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_math_c99l-vc90-mt.lib -Compressing openstructure\lib\boost_math_tr1-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_math_tr1-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_math_tr1-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_math_tr1-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_math_tr1-vc90-mt-gd.lib -Compressing openstructure\lib\boost_math_tr1-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_math_tr1-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_math_tr1-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_math_tr1-vc90-mt.lib -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-gd.lib -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_math_tr1f-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_math_tr1f-vc90-mt.lib -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-gd.lib -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_math_tr1l-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_math_tr1l-vc90-mt.lib -Compressing openstructure\lib\boost_program_options-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_program_options-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_program_options-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_program_options-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_program_options-vc90-mt-gd.lib -Compressing openstructure\lib\boost_program_options-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_program_options-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_program_options-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_program_options-vc90-mt.lib -Compressing openstructure\lib\boost_python-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_python-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_python-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_python-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_python-vc90-mt-gd.lib -Compressing openstructure\lib\boost_python-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_python-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_python-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_python-vc90-mt.lib -Compressing openstructure\lib\boost_regex-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_regex-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_regex-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_regex-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_regex-vc90-mt-gd.lib -Compressing openstructure\lib\boost_regex-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_regex-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_regex-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_regex-vc90-mt.lib -Compressing openstructure\lib\boost_serialization-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_serialization-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_serialization-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_serialization-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_serialization-vc90-mt-gd.lib -Compressing openstructure\lib\boost_serialization-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_serialization-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_serialization-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_serialization-vc90-mt.lib -Compressing openstructure\lib\boost_system-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_system-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_system-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_system-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_system-vc90-mt-gd.lib -Compressing openstructure\lib\boost_system-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_system-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_system-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_system-vc90-mt.lib -Compressing openstructure\lib\boost_thread-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_thread-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_thread-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_thread-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_thread-vc90-mt-gd.lib -Compressing openstructure\lib\boost_thread-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_thread-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_thread-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_thread-vc90-mt.lib -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-gd.lib -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_unit_test_framework-vc90-mt.lib -Compressing openstructure\lib\boost_wave-vc90-mt-1_40.dll -Compressing openstructure\lib\boost_wave-vc90-mt-1_40.lib -Compressing openstructure\lib\boost_wave-vc90-mt-gd-1_40.dll -Compressing openstructure\lib\boost_wave-vc90-mt-gd-1_40.lib -Compressing openstructure\lib\boost_wave-vc90-mt-gd.lib -Compressing openstructure\lib\boost_wave-vc90-mt-gyd-1_40.dll -Compressing openstructure\lib\boost_wave-vc90-mt-gyd-1_40.lib -Compressing openstructure\lib\boost_wave-vc90-mt-gyd.lib -Compressing openstructure\lib\boost_wave-vc90-mt.lib -Compressing openstructure\lib\bsddb\db.py -Compressing openstructure\lib\bsddb\dbobj.py -Compressing openstructure\lib\bsddb\dbrecio.py -Compressing openstructure\lib\bsddb\dbshelve.py -Compressing openstructure\lib\bsddb\dbtables.py -Compressing openstructure\lib\bsddb\dbutils.py -Compressing openstructure\lib\bsddb\test\test_all.py -Compressing openstructure\lib\bsddb\test\test_associate.py -Compressing openstructure\lib\bsddb\test\test_basics.py -Compressing openstructure\lib\bsddb\test\test_compare.py -Compressing openstructure\lib\bsddb\test\test_compat.py -Compressing openstructure\lib\bsddb\test\test_cursor_pget_bug.py -Compressing openstructure\lib\bsddb\test\test_dbobj.py -Compressing openstructure\lib\bsddb\test\test_dbshelve.py -Compressing openstructure\lib\bsddb\test\test_dbtables.py -Compressing openstructure\lib\bsddb\test\test_distributed_transactions.py -Compressing openstructure\lib\bsddb\test\test_early_close.py -Compressing openstructure\lib\bsddb\test\test_get_none.py -Compressing openstructure\lib\bsddb\test\test_join.py -Compressing openstructure\lib\bsddb\test\test_lock.py -Compressing openstructure\lib\bsddb\test\test_misc.py -Compressing openstructure\lib\bsddb\test\test_pickle.py -Compressing openstructure\lib\bsddb\test\test_queue.py -Compressing openstructure\lib\bsddb\test\test_recno.py -Compressing openstructure\lib\bsddb\test\test_replication.py -Compressing openstructure\lib\bsddb\test\test_sequence.py -Compressing openstructure\lib\bsddb\test\test_thread.py -Compressing openstructure\lib\bsddb\test\__init__.py -Compressing openstructure\lib\bsddb\__init__.py -Compressing openstructure\lib\calendar.py -Compressing openstructure\lib\cgi.py -Compressing openstructure\lib\CGIHTTPServer.py -Compressing openstructure\lib\cgitb.py -Compressing openstructure\lib\chunk.py -Compressing openstructure\lib\cmd.py -Compressing openstructure\lib\cmd.pyc -Compressing openstructure\lib\code.py -Compressing openstructure\lib\code.pyc -Compressing openstructure\lib\codecs.py -Compressing openstructure\lib\codecs.pyc -Compressing openstructure\lib\codeop.py -Compressing openstructure\lib\codeop.pyc -Compressing openstructure\lib\collections.py -Compressing openstructure\lib\collections.pyc -Compressing openstructure\lib\colorsys.py -Compressing openstructure\lib\commands.py -Compressing openstructure\lib\compileall.py -Compressing openstructure\lib\compiler\ast.py -Compressing openstructure\lib\compiler\consts.py -Compressing openstructure\lib\compiler\future.py -Compressing openstructure\lib\compiler\misc.py -Compressing openstructure\lib\compiler\pyassem.py -Compressing openstructure\lib\compiler\pycodegen.py -Compressing openstructure\lib\compiler\symbols.py -Compressing openstructure\lib\compiler\syntax.py -Compressing openstructure\lib\compiler\transformer.py -Compressing openstructure\lib\compiler\visitor.py -Compressing openstructure\lib\compiler\__init__.py -Compressing openstructure\lib\ConfigParser.py -Compressing openstructure\lib\ConfigParser.pyc -Compressing openstructure\lib\contextlib.py -Compressing openstructure\lib\Cookie.py -Compressing openstructure\lib\cookielib.py -Compressing openstructure\lib\copy.py -Compressing openstructure\lib\copy.pyc -Compressing openstructure\lib\copy_reg.py -Compressing openstructure\lib\copy_reg.pyc -Compressing openstructure\lib\cProfile.py -Compressing openstructure\lib\csv.py -Compressing openstructure\lib\ctypes\macholib\dyld.py -Compressing openstructure\lib\ctypes\macholib\dylib.py -Compressing openstructure\lib\ctypes\macholib\fetch_macholib -Compressing openstructure\lib\ctypes\macholib\fetch_macholib.bat -Compressing openstructure\lib\ctypes\macholib\framework.py -Compressing openstructure\lib\ctypes\macholib\README.ctypes -Compressing openstructure\lib\ctypes\macholib\__init__.py -Compressing openstructure\lib\ctypes\test\runtests.py -Compressing openstructure\lib\ctypes\test\test_anon.py -Compressing openstructure\lib\ctypes\test\test_arrays.py -Compressing openstructure\lib\ctypes\test\test_array_in_pointer.py -Compressing openstructure\lib\ctypes\test\test_as_parameter.py -Compressing openstructure\lib\ctypes\test\test_bitfields.py -Compressing openstructure\lib\ctypes\test\test_buffers.py -Compressing openstructure\lib\ctypes\test\test_byteswap.py -Compressing openstructure\lib\ctypes\test\test_callbacks.py -Compressing openstructure\lib\ctypes\test\test_cast.py -Compressing openstructure\lib\ctypes\test\test_cfuncs.py -Compressing openstructure\lib\ctypes\test\test_checkretval.py -Compressing openstructure\lib\ctypes\test\test_delattr.py -Compressing openstructure\lib\ctypes\test\test_errcheck.py -Compressing openstructure\lib\ctypes\test\test_errno.py -Compressing openstructure\lib\ctypes\test\test_find.py -Compressing openstructure\lib\ctypes\test\test_frombuffer.py -Compressing openstructure\lib\ctypes\test\test_funcptr.py -Compressing openstructure\lib\ctypes\test\test_functions.py -Compressing openstructure\lib\ctypes\test\test_incomplete.py -Compressing openstructure\lib\ctypes\test\test_init.py -Compressing openstructure\lib\ctypes\test\test_integers.py -Compressing openstructure\lib\ctypes\test\test_internals.py -Compressing openstructure\lib\ctypes\test\test_keeprefs.py -Compressing openstructure\lib\ctypes\test\test_libc.py -Compressing openstructure\lib\ctypes\test\test_loading.py -Compressing openstructure\lib\ctypes\test\test_macholib.py -Compressing openstructure\lib\ctypes\test\test_memfunctions.py -Compressing openstructure\lib\ctypes\test\test_numbers.py -Compressing openstructure\lib\ctypes\test\test_objects.py -Compressing openstructure\lib\ctypes\test\test_parameters.py -Compressing openstructure\lib\ctypes\test\test_pep3118.py -Compressing openstructure\lib\ctypes\test\test_pickling.py -Compressing openstructure\lib\ctypes\test\test_pointers.py -Compressing openstructure\lib\ctypes\test\test_prototypes.py -Compressing openstructure\lib\ctypes\test\test_python_api.py -Compressing openstructure\lib\ctypes\test\test_random_things.py -Compressing openstructure\lib\ctypes\test\test_refcounts.py -Compressing openstructure\lib\ctypes\test\test_repr.py -Compressing openstructure\lib\ctypes\test\test_returnfuncptrs.py -Compressing openstructure\lib\ctypes\test\test_simplesubclasses.py -Compressing openstructure\lib\ctypes\test\test_sizes.py -Compressing openstructure\lib\ctypes\test\test_slicing.py -Compressing openstructure\lib\ctypes\test\test_stringptr.py -Compressing openstructure\lib\ctypes\test\test_strings.py -Compressing openstructure\lib\ctypes\test\test_structures.py -Compressing openstructure\lib\ctypes\test\test_struct_fields.py -Compressing openstructure\lib\ctypes\test\test_unaligned_structures.py -Compressing openstructure\lib\ctypes\test\test_unicode.py -Compressing openstructure\lib\ctypes\test\test_values.py -Compressing openstructure\lib\ctypes\test\test_varsize_struct.py -Compressing openstructure\lib\ctypes\test\test_win32.py -Compressing openstructure\lib\ctypes\test\__init__.py -Compressing openstructure\lib\ctypes\util.py -Compressing openstructure\lib\ctypes\wintypes.py -Compressing openstructure\lib\ctypes\_endian.py -Compressing openstructure\lib\ctypes\_endian.pyc -Compressing openstructure\lib\ctypes\__init__.py -Compressing openstructure\lib\ctypes\__init__.pyc -Compressing openstructure\lib\curses\ascii.py -Compressing openstructure\lib\curses\has_key.py -Compressing openstructure\lib\curses\panel.py -Compressing openstructure\lib\curses\textpad.py -Compressing openstructure\lib\curses\wrapper.py -Compressing openstructure\lib\curses\__init__.py -Compressing openstructure\lib\dbhash.py -Compressing openstructure\lib\dd -Compressing openstructure\lib\decimal.py -Compressing openstructure\lib\difflib.py -Compressing openstructure\lib\dircache.py -Compressing openstructure\lib\dis.py -Compressing openstructure\lib\distutils\archive_util.py -Compressing openstructure\lib\distutils\archive_util.pyc -Compressing openstructure\lib\distutils\bcppcompiler.py -Compressing openstructure\lib\distutils\ccompiler.py -Compressing openstructure\lib\distutils\cmd.py -Compressing openstructure\lib\distutils\cmd.pyc -Compressing openstructure\lib\distutils\command\bdist.py -Compressing openstructure\lib\distutils\command\bdist_dumb.py -Compressing openstructure\lib\distutils\command\bdist_msi.py -Compressing openstructure\lib\distutils\command\bdist_rpm.py -Compressing openstructure\lib\distutils\command\bdist_wininst.py -Compressing openstructure\lib\distutils\command\build.py -Compressing openstructure\lib\distutils\command\build.pyc -Compressing openstructure\lib\distutils\command\build_clib.py -Compressing openstructure\lib\distutils\command\build_ext.py -Compressing openstructure\lib\distutils\command\build_py.py -Compressing openstructure\lib\distutils\command\build_py.pyc -Compressing openstructure\lib\distutils\command\build_scripts.py -Compressing openstructure\lib\distutils\command\build_scripts.pyc -Compressing openstructure\lib\distutils\command\clean.py -Compressing openstructure\lib\distutils\command\command_template -Compressing openstructure\lib\distutils\command\config.py -Compressing openstructure\lib\distutils\command\install.py -Compressing openstructure\lib\distutils\command\install.pyc -Compressing openstructure\lib\distutils\command\install_data.py -Compressing openstructure\lib\distutils\command\install_egg_info.py -Compressing openstructure\lib\distutils\command\install_egg_info.pyc -Compressing openstructure\lib\distutils\command\install_headers.py -Compressing openstructure\lib\distutils\command\install_lib.py -Compressing openstructure\lib\distutils\command\install_lib.pyc -Compressing openstructure\lib\distutils\command\install_scripts.py -Compressing openstructure\lib\distutils\command\install_scripts.pyc -Compressing openstructure\lib\distutils\command\register.py -Compressing openstructure\lib\distutils\command\sdist.py -Compressing openstructure\lib\distutils\command\upload.py -Compressing openstructure\lib\distutils\command\wininst-6.0.exe -Compressing openstructure\lib\distutils\command\wininst-7.1.exe -Compressing openstructure\lib\distutils\command\wininst-8.0.exe -Compressing openstructure\lib\distutils\command\wininst-9.0-amd64.exe -Compressing openstructure\lib\distutils\command\wininst-9.0.exe -Compressing openstructure\lib\distutils\command\__init__.py -Compressing openstructure\lib\distutils\command\__init__.pyc -Compressing openstructure\lib\distutils\config.py -Compressing openstructure\lib\distutils\config.pyc -Compressing openstructure\lib\distutils\core.py -Compressing openstructure\lib\distutils\core.pyc -Compressing openstructure\lib\distutils\cygwinccompiler.py -Compressing openstructure\lib\distutils\debug.py -Compressing openstructure\lib\distutils\debug.pyc -Compressing openstructure\lib\distutils\dep_util.py -Compressing openstructure\lib\distutils\dep_util.pyc -Compressing openstructure\lib\distutils\dir_util.py -Compressing openstructure\lib\distutils\dir_util.pyc -Compressing openstructure\lib\distutils\dist.py -Compressing openstructure\lib\distutils\dist.pyc -Compressing openstructure\lib\distutils\emxccompiler.py -Compressing openstructure\lib\distutils\errors.py -Compressing openstructure\lib\distutils\errors.pyc -Compressing openstructure\lib\distutils\extension.py -Compressing openstructure\lib\distutils\extension.pyc -Compressing openstructure\lib\distutils\fancy_getopt.py -Compressing openstructure\lib\distutils\fancy_getopt.pyc -Compressing openstructure\lib\distutils\filelist.py -Compressing openstructure\lib\distutils\file_util.py -Compressing openstructure\lib\distutils\file_util.pyc -Compressing openstructure\lib\distutils\log.py -Compressing openstructure\lib\distutils\log.pyc -Compressing openstructure\lib\distutils\msvc9compiler.py -Compressing openstructure\lib\distutils\msvccompiler.py -Compressing openstructure\lib\distutils\mwerkscompiler.py -Compressing openstructure\lib\distutils\README -Compressing openstructure\lib\distutils\spawn.py -Compressing openstructure\lib\distutils\spawn.pyc -Compressing openstructure\lib\distutils\sysconfig.py -Compressing openstructure\lib\distutils\sysconfig.pyc -Compressing openstructure\lib\distutils\tests\setuptools_build_ext.py -Compressing openstructure\lib\distutils\tests\setuptools_extension.py -Compressing openstructure\lib\distutils\tests\support.py -Compressing openstructure\lib\distutils\tests\test_bdist_wininst.py -Compressing openstructure\lib\distutils\tests\test_build_ext.py -Compressing openstructure\lib\distutils\tests\test_build_py.py -Compressing openstructure\lib\distutils\tests\test_build_scripts.py -Compressing openstructure\lib\distutils\tests\test_config.py -Compressing openstructure\lib\distutils\tests\test_core.py -Compressing openstructure\lib\distutils\tests\test_dist.py -Compressing openstructure\lib\distutils\tests\test_filelist.py -Compressing openstructure\lib\distutils\tests\test_install.py -Compressing openstructure\lib\distutils\tests\test_install_scripts.py -Compressing openstructure\lib\distutils\tests\test_msvc9compiler.py -Compressing openstructure\lib\distutils\tests\test_register.py -Compressing openstructure\lib\distutils\tests\test_sdist.py -Compressing openstructure\lib\distutils\tests\test_sysconfig.py -Compressing openstructure\lib\distutils\tests\test_upload.py -Compressing openstructure\lib\distutils\tests\test_versionpredicate.py -Compressing openstructure\lib\distutils\tests\__init__.py -Compressing openstructure\lib\distutils\text_file.py -Compressing openstructure\lib\distutils\unixccompiler.py -Compressing openstructure\lib\distutils\util.py -Compressing openstructure\lib\distutils\util.pyc -Compressing openstructure\lib\distutils\version.py -Compressing openstructure\lib\distutils\versionpredicate.py -Compressing openstructure\lib\distutils\__init__.py -Compressing openstructure\lib\distutils\__init__.pyc -Compressing openstructure\lib\doctest.py -Compressing openstructure\lib\DocXMLRPCServer.py -Compressing openstructure\lib\dumbdbm.py -Compressing openstructure\lib\dummy_thread.py -Compressing openstructure\lib\dummy_threading.py -Compressing openstructure\lib\email\base64mime.py -Compressing openstructure\lib\email\charset.py -Compressing openstructure\lib\email\encoders.py -Compressing openstructure\lib\email\errors.py -Compressing openstructure\lib\email\feedparser.py -Compressing openstructure\lib\email\generator.py -Compressing openstructure\lib\email\header.py -Compressing openstructure\lib\email\iterators.py -Compressing openstructure\lib\email\message.py -Compressing openstructure\lib\email\mime\application.py -Compressing openstructure\lib\email\mime\audio.py -Compressing openstructure\lib\email\mime\base.py -Compressing openstructure\lib\email\mime\image.py -Compressing openstructure\lib\email\mime\message.py -Compressing openstructure\lib\email\mime\multipart.py -Compressing openstructure\lib\email\mime\nonmultipart.py -Compressing openstructure\lib\email\mime\text.py -Compressing openstructure\lib\email\mime\__init__.py -Compressing openstructure\lib\email\parser.py -Compressing openstructure\lib\email\quoprimime.py -Compressing openstructure\lib\email\test\data\audiotest.au -Compressing openstructure\lib\email\test\data\msg_01.txt -Compressing openstructure\lib\email\test\data\msg_02.txt -Compressing openstructure\lib\email\test\data\msg_03.txt -Compressing openstructure\lib\email\test\data\msg_04.txt -Compressing openstructure\lib\email\test\data\msg_05.txt -Compressing openstructure\lib\email\test\data\msg_06.txt -Compressing openstructure\lib\email\test\data\msg_07.txt -Compressing openstructure\lib\email\test\data\msg_08.txt -Compressing openstructure\lib\email\test\data\msg_09.txt -Compressing openstructure\lib\email\test\data\msg_10.txt -Compressing openstructure\lib\email\test\data\msg_11.txt -Compressing openstructure\lib\email\test\data\msg_13.txt -Compressing openstructure\lib\email\test\data\msg_14.txt -Compressing openstructure\lib\email\test\data\msg_15.txt -Compressing openstructure\lib\email\test\data\msg_16.txt -Compressing openstructure\lib\email\test\data\msg_17.txt -Compressing openstructure\lib\email\test\data\msg_18.txt -Compressing openstructure\lib\email\test\data\msg_19.txt -Compressing openstructure\lib\email\test\data\msg_20.txt -Compressing openstructure\lib\email\test\data\msg_21.txt -Compressing openstructure\lib\email\test\data\msg_22.txt -Compressing openstructure\lib\email\test\data\msg_23.txt -Compressing openstructure\lib\email\test\data\msg_24.txt -Compressing openstructure\lib\email\test\data\msg_25.txt -Compressing openstructure\lib\email\test\data\msg_26.txt -Compressing openstructure\lib\email\test\data\msg_27.txt -Compressing openstructure\lib\email\test\data\msg_28.txt -Compressing openstructure\lib\email\test\data\msg_29.txt -Compressing openstructure\lib\email\test\data\msg_30.txt -Compressing openstructure\lib\email\test\data\msg_31.txt -Compressing openstructure\lib\email\test\data\msg_32.txt -Compressing openstructure\lib\email\test\data\msg_33.txt -Compressing openstructure\lib\email\test\data\msg_34.txt -Compressing openstructure\lib\email\test\data\msg_35.txt -Compressing openstructure\lib\email\test\data\msg_36.txt -Compressing openstructure\lib\email\test\data\msg_37.txt -Compressing openstructure\lib\email\test\data\msg_38.txt -Compressing openstructure\lib\email\test\data\msg_39.txt -Compressing openstructure\lib\email\test\data\msg_40.txt -Compressing openstructure\lib\email\test\data\msg_41.txt -Compressing openstructure\lib\email\test\data\msg_42.txt -Compressing openstructure\lib\email\test\data\msg_43.txt -Compressing openstructure\lib\email\test\data\msg_44.txt -Compressing openstructure\lib\email\test\data\PyBanner048.gif -Compressing openstructure\lib\email\test\test_email.py -Compressing openstructure\lib\email\test\test_email_codecs.py -Compressing openstructure\lib\email\test\test_email_codecs_renamed.py -Compressing openstructure\lib\email\test\test_email_renamed.py -Compressing openstructure\lib\email\test\test_email_torture.py -Compressing openstructure\lib\email\test\__init__.py -Compressing openstructure\lib\email\utils.py -Compressing openstructure\lib\email\_parseaddr.py -Compressing openstructure\lib\email\__init__.py -Compressing openstructure\lib\encodings\aliases.py -Compressing openstructure\lib\encodings\aliases.pyc -Compressing openstructure\lib\encodings\ascii.py -Compressing openstructure\lib\encodings\ascii.pyc -Compressing openstructure\lib\encodings\base64_codec.py -Compressing openstructure\lib\encodings\big5.py -Compressing openstructure\lib\encodings\big5hkscs.py -Compressing openstructure\lib\encodings\bz2_codec.py -Compressing openstructure\lib\encodings\charmap.py -Compressing openstructure\lib\encodings\cp037.py -Compressing openstructure\lib\encodings\cp1006.py -Compressing openstructure\lib\encodings\cp1026.py -Compressing openstructure\lib\encodings\cp1140.py -Compressing openstructure\lib\encodings\cp424.py -Compressing openstructure\lib\encodings\cp437.py -Compressing openstructure\lib\encodings\cp437.pyc -Compressing openstructure\lib\encodings\cp500.py -Compressing openstructure\lib\encodings\cp737.py -Compressing openstructure\lib\encodings\cp775.py -Compressing openstructure\lib\encodings\cp850.py -Compressing openstructure\lib\encodings\cp852.py -Compressing openstructure\lib\encodings\cp855.py -Compressing openstructure\lib\encodings\cp856.py -Compressing openstructure\lib\encodings\cp857.py -Compressing openstructure\lib\encodings\cp860.py -Compressing openstructure\lib\encodings\cp861.py -Compressing openstructure\lib\encodings\cp862.py -Compressing openstructure\lib\encodings\cp863.py -Compressing openstructure\lib\encodings\cp864.py -Compressing openstructure\lib\encodings\cp865.py -Compressing openstructure\lib\encodings\cp866.py -Compressing openstructure\lib\encodings\cp869.py -Compressing openstructure\lib\encodings\cp874.py -Compressing openstructure\lib\encodings\cp875.py -Compressing openstructure\lib\encodings\cp932.py -Compressing openstructure\lib\encodings\cp949.py -Compressing openstructure\lib\encodings\cp950.py -Compressing openstructure\lib\encodings\euc_jisx0213.py -Compressing openstructure\lib\encodings\euc_jis_2004.py -Compressing openstructure\lib\encodings\euc_jp.py -Compressing openstructure\lib\encodings\euc_jp.pyc -Compressing openstructure\lib\encodings\euc_kr.py -Compressing openstructure\lib\encodings\gb18030.py -Compressing openstructure\lib\encodings\gbk.py -Compressing openstructure\lib\encodings\hex_codec.py -Compressing openstructure\lib\encodings\hp_roman8.py -Compressing openstructure\lib\encodings\hz.py -Compressing openstructure\lib\encodings\idna.py -Compressing openstructure\lib\encodings\iso2022_jp.py -Compressing openstructure\lib\encodings\iso2022_jp_1.py -Compressing openstructure\lib\encodings\iso2022_jp_2.py -Compressing openstructure\lib\encodings\iso2022_jp_2004.py -Compressing openstructure\lib\encodings\iso2022_jp_3.py -Compressing openstructure\lib\encodings\iso2022_jp_ext.py -Compressing openstructure\lib\encodings\iso2022_kr.py -Compressing openstructure\lib\encodings\iso8859_1.py -Compressing openstructure\lib\encodings\iso8859_10.py -Compressing openstructure\lib\encodings\iso8859_11.py -Compressing openstructure\lib\encodings\iso8859_13.py -Compressing openstructure\lib\encodings\iso8859_14.py -Compressing openstructure\lib\encodings\iso8859_15.py -Compressing openstructure\lib\encodings\iso8859_16.py -Compressing openstructure\lib\encodings\iso8859_2.py -Compressing openstructure\lib\encodings\iso8859_3.py -Compressing openstructure\lib\encodings\iso8859_4.py -Compressing openstructure\lib\encodings\iso8859_5.py -Compressing openstructure\lib\encodings\iso8859_6.py -Compressing openstructure\lib\encodings\iso8859_7.py -Compressing openstructure\lib\encodings\iso8859_8.py -Compressing openstructure\lib\encodings\iso8859_8.pyc -Compressing openstructure\lib\encodings\iso8859_9.py -Compressing openstructure\lib\encodings\johab.py -Compressing openstructure\lib\encodings\koi8_r.py -Compressing openstructure\lib\encodings\koi8_u.py -Compressing openstructure\lib\encodings\latin_1.py -Compressing openstructure\lib\encodings\mac_arabic.py -Compressing openstructure\lib\encodings\mac_centeuro.py -Compressing openstructure\lib\encodings\mac_croatian.py -Compressing openstructure\lib\encodings\mac_cyrillic.py -Compressing openstructure\lib\encodings\mac_farsi.py -Compressing openstructure\lib\encodings\mac_greek.py -Compressing openstructure\lib\encodings\mac_iceland.py -Compressing openstructure\lib\encodings\mac_latin2.py -Compressing openstructure\lib\encodings\mac_roman.py -Compressing openstructure\lib\encodings\mac_romanian.py -Compressing openstructure\lib\encodings\mac_turkish.py -Compressing openstructure\lib\encodings\mbcs.py -Compressing openstructure\lib\encodings\palmos.py -Compressing openstructure\lib\encodings\ptcp154.py -Compressing openstructure\lib\encodings\punycode.py -Compressing openstructure\lib\encodings\quopri_codec.py -Compressing openstructure\lib\encodings\raw_unicode_escape.py -Compressing openstructure\lib\encodings\rot_13.py -Compressing openstructure\lib\encodings\shift_jis.py -Compressing openstructure\lib\encodings\shift_jis.pyc -Compressing openstructure\lib\encodings\shift_jisx0213.py -Compressing openstructure\lib\encodings\shift_jis_2004.py -Compressing openstructure\lib\encodings\string_escape.py -Compressing openstructure\lib\encodings\tis_620.py -Compressing openstructure\lib\encodings\undefined.py -Compressing openstructure\lib\encodings\unicode_escape.py -Compressing openstructure\lib\encodings\unicode_internal.py -Compressing openstructure\lib\encodings\utf_16.py -Compressing openstructure\lib\encodings\utf_16_be.py -Compressing openstructure\lib\encodings\utf_16_be.pyc -Compressing openstructure\lib\encodings\utf_16_le.py -Compressing openstructure\lib\encodings\utf_32.py -Compressing openstructure\lib\encodings\utf_32_be.py -Compressing openstructure\lib\encodings\utf_32_le.py -Compressing openstructure\lib\encodings\utf_7.py -Compressing openstructure\lib\encodings\utf_8.py -Compressing openstructure\lib\encodings\utf_8.pyc -Compressing openstructure\lib\encodings\utf_8_sig.py -Compressing openstructure\lib\encodings\uu_codec.py -Compressing openstructure\lib\encodings\zlib_codec.py -Compressing openstructure\lib\encodings\__init__.py -Compressing openstructure\lib\encodings\__init__.pyc -Compressing openstructure\lib\filecmp.py -Compressing openstructure\lib\fileinput.py -Compressing openstructure\lib\fnmatch.py -Compressing openstructure\lib\fnmatch.pyc -Compressing openstructure\lib\formatter.py -Compressing openstructure\lib\fpformat.py -Compressing openstructure\lib\fractions.py -Compressing openstructure\lib\ftplib.py -Compressing openstructure\lib\functools.py -Compressing openstructure\lib\functools.pyc -Compressing openstructure\lib\genericpath.py -Compressing openstructure\lib\genericpath.pyc -Compressing openstructure\lib\getopt.py -Compressing openstructure\lib\getopt.pyc -Compressing openstructure\lib\getpass.py -Compressing openstructure\lib\gettext.py -Compressing openstructure\lib\gettext.pyc -Compressing openstructure\lib\glob.py -Compressing openstructure\lib\glob.pyc -Compressing openstructure\lib\gzip.py -Compressing openstructure\lib\hashlib.py -Compressing openstructure\lib\heapq.py -Compressing openstructure\lib\hmac.py -Compressing openstructure\lib\hotshot\log.py -Compressing openstructure\lib\hotshot\stats.py -Compressing openstructure\lib\hotshot\stones.py -Compressing openstructure\lib\hotshot\__init__.py -Compressing openstructure\lib\htmlentitydefs.py -Compressing openstructure\lib\htmlentitydefs.pyc -Compressing openstructure\lib\htmllib.py -Compressing openstructure\lib\HTMLParser.py -Compressing openstructure\lib\httplib.py -Compressing openstructure\lib\httplib.pyc -Compressing openstructure\lib\idlelib\aboutDialog.py -Compressing openstructure\lib\idlelib\AutoComplete.py -Compressing openstructure\lib\idlelib\AutoCompleteWindow.py -Compressing openstructure\lib\idlelib\AutoExpand.py -Compressing openstructure\lib\idlelib\Bindings.py -Compressing openstructure\lib\idlelib\CallTips.py -Compressing openstructure\lib\idlelib\CallTipWindow.py -Compressing openstructure\lib\idlelib\ChangeLog -Compressing openstructure\lib\idlelib\CodeContext.py -Compressing openstructure\lib\idlelib\ColorDelegator.py -Compressing openstructure\lib\idlelib\config-extensions.def -Compressing openstructure\lib\idlelib\config-highlight.def -Compressing openstructure\lib\idlelib\config-keys.def -Compressing openstructure\lib\idlelib\config-main.def -Compressing openstructure\lib\idlelib\configDialog.py -Compressing openstructure\lib\idlelib\configHandler.py -Compressing openstructure\lib\idlelib\configHelpSourceEdit.py -Compressing openstructure\lib\idlelib\configSectionNameDialog.py -Compressing openstructure\lib\idlelib\CREDITS.txt -Compressing openstructure\lib\idlelib\Debugger.py -Compressing openstructure\lib\idlelib\Delegator.py -Compressing openstructure\lib\idlelib\dynOptionMenuWidget.py -Compressing openstructure\lib\idlelib\EditorWindow.py -Compressing openstructure\lib\idlelib\extend.txt -Compressing openstructure\lib\idlelib\FileList.py -Compressing openstructure\lib\idlelib\GrepDialog.py -Compressing openstructure\lib\idlelib\help.txt -Compressing openstructure\lib\idlelib\HISTORY.txt -Compressing openstructure\lib\idlelib\HyperParser.py -Compressing openstructure\lib\idlelib\Icons\folder.gif -Compressing openstructure\lib\idlelib\Icons\idle.icns -Compressing openstructure\lib\idlelib\Icons\minusnode.gif -Compressing openstructure\lib\idlelib\Icons\openfolder.gif -Compressing openstructure\lib\idlelib\Icons\plusnode.gif -Compressing openstructure\lib\idlelib\Icons\python.gif -Compressing openstructure\lib\idlelib\Icons\tk.gif -Compressing openstructure\lib\idlelib\idle.bat -Compressing openstructure\lib\idlelib\idle.py -Compressing openstructure\lib\idlelib\idle.pyw -Compressing openstructure\lib\idlelib\IdleHistory.py -Compressing openstructure\lib\idlelib\idlever.py -Compressing openstructure\lib\idlelib\IOBinding.py -Compressing openstructure\lib\idlelib\keybindingDialog.py -Compressing openstructure\lib\idlelib\macosxSupport.py -Compressing openstructure\lib\idlelib\MultiCall.py -Compressing openstructure\lib\idlelib\MultiStatusBar.py -Compressing openstructure\lib\idlelib\NEWS.txt -Compressing openstructure\lib\idlelib\OutputWindow.py -Compressing openstructure\lib\idlelib\ParenMatch.py -Compressing openstructure\lib\idlelib\Percolator.py -Compressing openstructure\lib\idlelib\PyParse.py -Compressing openstructure\lib\idlelib\PyShell.py -Compressing openstructure\lib\idlelib\README.txt -Compressing openstructure\lib\idlelib\RemoteDebugger.py -Compressing openstructure\lib\idlelib\ReplaceDialog.py -Compressing openstructure\lib\idlelib\rpc.py -Compressing openstructure\lib\idlelib\run.py -Compressing openstructure\lib\idlelib\ScriptBinding.py -Compressing openstructure\lib\idlelib\ScrolledList.py -Compressing openstructure\lib\idlelib\SearchDialog.py -Compressing openstructure\lib\idlelib\SearchDialogBase.py -Compressing openstructure\lib\idlelib\SearchEngine.py -Compressing openstructure\lib\idlelib\StackViewer.py -Compressing openstructure\lib\idlelib\tabbedpages.py -Compressing openstructure\lib\idlelib\testcode.py -Compressing openstructure\lib\idlelib\textView.py -Compressing openstructure\lib\idlelib\TODO.txt -Compressing openstructure\lib\idlelib\ToolTip.py -Compressing openstructure\lib\idlelib\TreeWidget.py -Compressing openstructure\lib\idlelib\UndoDelegator.py -Compressing openstructure\lib\idlelib\WidgetRedirector.py -Compressing openstructure\lib\idlelib\WindowList.py -Compressing openstructure\lib\idlelib\ZoomHeight.py -Compressing openstructure\lib\idlelib\__init__.py -Compressing openstructure\lib\ihooks.py -Compressing openstructure\lib\imaplib.py -Compressing openstructure\lib\imghdr.py -Compressing openstructure\lib\imputil.py -Compressing openstructure\lib\inspect.py -Compressing openstructure\lib\io.py -Compressing openstructure\lib\json\decoder.py -Compressing openstructure\lib\json\encoder.py -Compressing openstructure\lib\json\scanner.py -Compressing openstructure\lib\json\tests\test_decode.py -Compressing openstructure\lib\json\tests\test_default.py -Compressing openstructure\lib\json\tests\test_dump.py -Compressing openstructure\lib\json\tests\test_encode_basestring_ascii.py -Compressing openstructure\lib\json\tests\test_fail.py -Compressing openstructure\lib\json\tests\test_float.py -Compressing openstructure\lib\json\tests\test_indent.py -Compressing openstructure\lib\json\tests\test_pass1.py -Compressing openstructure\lib\json\tests\test_pass2.py -Compressing openstructure\lib\json\tests\test_pass3.py -Compressing openstructure\lib\json\tests\test_recursion.py -Compressing openstructure\lib\json\tests\test_scanstring.py -Compressing openstructure\lib\json\tests\test_separators.py -Compressing openstructure\lib\json\tests\test_speedups.py -Compressing openstructure\lib\json\tests\test_unicode.py -Compressing openstructure\lib\json\tests\__init__.py -Compressing openstructure\lib\json\tool.py -Compressing openstructure\lib\json\__init__.py -Compressing openstructure\lib\keyword.py -Compressing openstructure\lib\keyword.pyc -Compressing openstructure\lib\lib-tk\Canvas.py -Compressing openstructure\lib\lib-tk\Dialog.py -Compressing openstructure\lib\lib-tk\FileDialog.py -Compressing openstructure\lib\lib-tk\FixTk.py -Compressing openstructure\lib\lib-tk\ScrolledText.py -Compressing openstructure\lib\lib-tk\SimpleDialog.py -Compressing openstructure\lib\lib-tk\Tix.py -Compressing openstructure\lib\lib-tk\tkColorChooser.py -Compressing openstructure\lib\lib-tk\tkCommonDialog.py -Compressing openstructure\lib\lib-tk\Tkconstants.py -Compressing openstructure\lib\lib-tk\Tkdnd.py -Compressing openstructure\lib\lib-tk\tkFileDialog.py -Compressing openstructure\lib\lib-tk\tkFont.py -Compressing openstructure\lib\lib-tk\Tkinter.py -Compressing openstructure\lib\lib-tk\tkMessageBox.py -Compressing openstructure\lib\lib-tk\tkSimpleDialog.py -Compressing openstructure\lib\lib-tk\turtle.py -Compressing openstructure\lib\lib2to3\fixer_base.py -Compressing openstructure\lib\lib2to3\fixer_util.py -Compressing openstructure\lib\lib2to3\fixes\fix_apply.py -Compressing openstructure\lib\lib2to3\fixes\fix_basestring.py -Compressing openstructure\lib\lib2to3\fixes\fix_buffer.py -Compressing openstructure\lib\lib2to3\fixes\fix_callable.py -Compressing openstructure\lib\lib2to3\fixes\fix_dict.py -Compressing openstructure\lib\lib2to3\fixes\fix_except.py -Compressing openstructure\lib\lib2to3\fixes\fix_exec.py -Compressing openstructure\lib\lib2to3\fixes\fix_execfile.py -Compressing openstructure\lib\lib2to3\fixes\fix_filter.py -Compressing openstructure\lib\lib2to3\fixes\fix_funcattrs.py -Compressing openstructure\lib\lib2to3\fixes\fix_future.py -Compressing openstructure\lib\lib2to3\fixes\fix_getcwdu.py -Compressing openstructure\lib\lib2to3\fixes\fix_has_key.py -Compressing openstructure\lib\lib2to3\fixes\fix_idioms.py -Compressing openstructure\lib\lib2to3\fixes\fix_import.py -Compressing openstructure\lib\lib2to3\fixes\fix_imports.py -Compressing openstructure\lib\lib2to3\fixes\fix_imports2.py -Compressing openstructure\lib\lib2to3\fixes\fix_input.py -Compressing openstructure\lib\lib2to3\fixes\fix_intern.py -Compressing openstructure\lib\lib2to3\fixes\fix_isinstance.py -Compressing openstructure\lib\lib2to3\fixes\fix_itertools.py -Compressing openstructure\lib\lib2to3\fixes\fix_itertools_imports.py -Compressing openstructure\lib\lib2to3\fixes\fix_long.py -Compressing openstructure\lib\lib2to3\fixes\fix_map.py -Compressing openstructure\lib\lib2to3\fixes\fix_metaclass.py -Compressing openstructure\lib\lib2to3\fixes\fix_methodattrs.py -Compressing openstructure\lib\lib2to3\fixes\fix_ne.py -Compressing openstructure\lib\lib2to3\fixes\fix_next.py -Compressing openstructure\lib\lib2to3\fixes\fix_nonzero.py -Compressing openstructure\lib\lib2to3\fixes\fix_numliterals.py -Compressing openstructure\lib\lib2to3\fixes\fix_paren.py -Compressing openstructure\lib\lib2to3\fixes\fix_print.py -Compressing openstructure\lib\lib2to3\fixes\fix_raise.py -Compressing openstructure\lib\lib2to3\fixes\fix_raw_input.py -Compressing openstructure\lib\lib2to3\fixes\fix_reduce.py -Compressing openstructure\lib\lib2to3\fixes\fix_renames.py -Compressing openstructure\lib\lib2to3\fixes\fix_repr.py -Compressing openstructure\lib\lib2to3\fixes\fix_set_literal.py -Compressing openstructure\lib\lib2to3\fixes\fix_standarderror.py -Compressing openstructure\lib\lib2to3\fixes\fix_sys_exc.py -Compressing openstructure\lib\lib2to3\fixes\fix_throw.py -Compressing openstructure\lib\lib2to3\fixes\fix_tuple_params.py -Compressing openstructure\lib\lib2to3\fixes\fix_types.py -Compressing openstructure\lib\lib2to3\fixes\fix_unicode.py -Compressing openstructure\lib\lib2to3\fixes\fix_urllib.py -Compressing openstructure\lib\lib2to3\fixes\fix_ws_comma.py -Compressing openstructure\lib\lib2to3\fixes\fix_xrange.py -Compressing openstructure\lib\lib2to3\fixes\fix_xreadlines.py -Compressing openstructure\lib\lib2to3\fixes\fix_zip.py -Compressing openstructure\lib\lib2to3\fixes\__init__.py -Compressing openstructure\lib\lib2to3\Grammar.txt -Compressing openstructure\lib\lib2to3\main.py -Compressing openstructure\lib\lib2to3\patcomp.py -Compressing openstructure\lib\lib2to3\PatternGrammar.txt -Compressing openstructure\lib\lib2to3\pgen2\conv.py -Compressing openstructure\lib\lib2to3\pgen2\driver.py -Compressing openstructure\lib\lib2to3\pgen2\grammar.py -Compressing openstructure\lib\lib2to3\pgen2\literals.py -Compressing openstructure\lib\lib2to3\pgen2\parse.py -Compressing openstructure\lib\lib2to3\pgen2\pgen.py -Compressing openstructure\lib\lib2to3\pgen2\token.py -Compressing openstructure\lib\lib2to3\pgen2\tokenize.py -Compressing openstructure\lib\lib2to3\pgen2\__init__.py -Compressing openstructure\lib\lib2to3\pygram.py -Compressing openstructure\lib\lib2to3\pytree.py -Compressing openstructure\lib\lib2to3\refactor.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\bad_order.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\myfixes\fix_explicit.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\myfixes\fix_first.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\myfixes\fix_last.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\myfixes\fix_parrot.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\myfixes\fix_preorder.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\myfixes\__init__.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\no_fixer_cls.py -Compressing openstructure\lib\lib2to3\tests\data\fixers\parrot_example.py -Compressing openstructure\lib\lib2to3\tests\data\infinite_recursion.py -Compressing openstructure\lib\lib2to3\tests\data\py2_test_grammar.py -Compressing openstructure\lib\lib2to3\tests\data\py3_test_grammar.py -Compressing openstructure\lib\lib2to3\tests\data\README -Compressing openstructure\lib\lib2to3\tests\pytree_idempotency.py -Compressing openstructure\lib\lib2to3\tests\support.py -Compressing openstructure\lib\lib2to3\tests\test_all_fixers.py -Compressing openstructure\lib\lib2to3\tests\test_fixers.py -Compressing openstructure\lib\lib2to3\tests\test_parser.py -Compressing openstructure\lib\lib2to3\tests\test_pytree.py -Compressing openstructure\lib\lib2to3\tests\test_refactor.py -Compressing openstructure\lib\lib2to3\tests\test_util.py -Compressing openstructure\lib\lib2to3\tests\__init__.py -Compressing openstructure\lib\lib2to3\__init__.py -Compressing openstructure\lib\libfftw.lib -Compressing openstructure\lib\libfftw3-3.def -Compressing openstructure\lib\libfftw3-3.dll -Compressing openstructure\lib\libfftw3-3.exp -Compressing openstructure\lib\libfftw3-3.lib -Compressing openstructure\lib\libfftw3f-3.def -Compressing openstructure\lib\libfftw3f-3.dll -Compressing openstructure\lib\libfftw3f-3.exp -Compressing openstructure\lib\libfftw3f-3.lib -Compressing openstructure\lib\libfftwf.lib -Compressing openstructure\lib\libjpeg.lib -Compressing openstructure\lib\libpng-bcc.lib -Compressing openstructure\lib\libpng.dll.a -Compressing openstructure\lib\libpng.la -Compressing openstructure\lib\libpng.lib -Compressing openstructure\lib\libpng13.dll -Compressing openstructure\lib\libpng13.exp -Compressing openstructure\lib\libpng13.lib -Compressing openstructure\lib\libpng13d.dll -Compressing openstructure\lib\libpng13d.exp -Compressing openstructure\lib\libpng13d.lib -Compressing openstructure\lib\libtiff.def -Compressing openstructure\lib\libtiff.dll -Compressing openstructure\lib\libtiff.dll.manifest -Compressing openstructure\lib\libtiff.lib -Compressing openstructure\lib\libtiff.pdb -Compressing openstructure\lib\libtiff_i.exp -Compressing openstructure\lib\libtiff_i.lib -Compressing openstructure\lib\linecache.py -Compressing openstructure\lib\linecache.pyc -Compressing openstructure\lib\locale.py -Compressing openstructure\lib\locale.pyc -Compressing openstructure\lib\logging\config.py -Compressing openstructure\lib\logging\handlers.py -Compressing openstructure\lib\logging\__init__.py -Compressing openstructure\lib\logging\__init__.pyc -Compressing openstructure\lib\macpath.py -Compressing openstructure\lib\macurl2path.py -Compressing openstructure\lib\mailbox.py -Compressing openstructure\lib\mailcap.py -Compressing openstructure\lib\make_buildinfo.exe -Compressing openstructure\lib\make_versioninfo.exe -Compressing openstructure\lib\make_versioninfo_d.exe -Compressing openstructure\lib\markupbase.py -Compressing openstructure\lib\markupbase.pyc -Compressing openstructure\lib\md5.py -Compressing openstructure\lib\mhlib.py -Compressing openstructure\lib\mimetools.py -Compressing openstructure\lib\mimetools.pyc -Compressing openstructure\lib\mimetypes.py -Compressing openstructure\lib\MimeWriter.py -Compressing openstructure\lib\mimify.py -Compressing openstructure\lib\modulefinder.py -Compressing openstructure\lib\msilib\schema.py -Compressing openstructure\lib\msilib\sequence.py -Compressing openstructure\lib\msilib\text.py -Compressing openstructure\lib\msilib\__init__.py -Compressing openstructure\lib\multifile.py -Compressing openstructure\lib\multiprocessing\connection.py -Compressing openstructure\lib\multiprocessing\dummy\connection.py -Compressing openstructure\lib\multiprocessing\dummy\__init__.py -Compressing openstructure\lib\multiprocessing\forking.py -Compressing openstructure\lib\multiprocessing\heap.py -Compressing openstructure\lib\multiprocessing\managers.py -Compressing openstructure\lib\multiprocessing\pool.py -Compressing openstructure\lib\multiprocessing\process.py -Compressing openstructure\lib\multiprocessing\queues.py -Compressing openstructure\lib\multiprocessing\reduction.py -Compressing openstructure\lib\multiprocessing\sharedctypes.py -Compressing openstructure\lib\multiprocessing\synchronize.py -Compressing openstructure\lib\multiprocessing\util.py -Compressing openstructure\lib\multiprocessing\__init__.py -Compressing openstructure\lib\mutex.py -Compressing openstructure\lib\netrc.py -Compressing openstructure\lib\new.py -Compressing openstructure\lib\nntplib.py -Compressing openstructure\lib\ntpath.py -Compressing openstructure\lib\ntpath.pyc -Compressing openstructure\lib\nturl2path.py -Compressing openstructure\lib\numbers.py -Compressing openstructure\lib\opcode.py -Compressing openstructure\lib\openstructure\ost\bindings\hbplus.py -Compressing openstructure\lib\openstructure\ost\bindings\lga.py -Compressing openstructure\lib\openstructure\ost\bindings\msms.py -Compressing openstructure\lib\openstructure\ost\bindings\__init__.py -Compressing openstructure\lib\openstructure\ost\conop\_conop.idb -Compressing openstructure\lib\openstructure\ost\conop\_conop.pyd -Compressing openstructure\lib\openstructure\ost\conop\__init__.py -Compressing openstructure\lib\openstructure\ost\conop\__init__.pyc -Compressing openstructure\lib\openstructure\ost\db\__init__.py -Compressing openstructure\lib\openstructure\ost\geom\_geom.idb -Compressing openstructure\lib\openstructure\ost\geom\_geom.pyd -Compressing openstructure\lib\openstructure\ost\geom\__init__.py -Compressing openstructure\lib\openstructure\ost\geom\__init__.pyc -Compressing openstructure\lib\openstructure\ost\gfx\_gfx.idb -Compressing openstructure\lib\openstructure\ost\gfx\_gfx.pyd -Compressing openstructure\lib\openstructure\ost\gfx\__init__.py -Compressing openstructure\lib\openstructure\ost\gfx\__init__.pyc -Compressing openstructure\lib\openstructure\ost\gui\distances.py -Compressing openstructure\lib\openstructure\ost\gui\distances.pyc -Compressing openstructure\lib\openstructure\ost\gui\init_file_loader.py -Compressing openstructure\lib\openstructure\ost\gui\init_file_loader.pyc -Compressing openstructure\lib\openstructure\ost\gui\init_menubar.py -Compressing openstructure\lib\openstructure\ost\gui\init_menubar.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\color_options_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\color_options_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\color_select_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\color_select_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\combo_options_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\combo_options_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\cpk_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\cpk_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\custom_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\custom_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_editor_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_editor_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_info_handler.py -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_info_handler.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_list_model.py -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_list_model.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_preset_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\gradient_preset_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\hsc_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\hsc_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\immutable_gradient_info_handler.py -Compressing openstructure\lib\openstructure\ost\gui\scene\immutable_gradient_info_handler.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\immutable_preset_info_handler.py -Compressing openstructure\lib\openstructure\ost\gui\scene\immutable_preset_info_handler.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\init_inspector.py -Compressing openstructure\lib\openstructure\ost\gui\scene\init_inspector.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\inspector_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\inspector_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\preset.py -Compressing openstructure\lib\openstructure\ost\gui\scene\preset.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_editor_list_model.py -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_editor_list_model.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_editor_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_editor_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_info_handler.py -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_info_handler.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_list_model.py -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_list_model.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\preset_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\render_options_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\render_options_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\scene_observer_impl.py -Compressing openstructure\lib\openstructure\ost\gui\scene\scene_observer_impl.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\simple_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\simple_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\sline_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\sline_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\toolbar_options_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\toolbar_options_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\trace_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\trace_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\tube_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\tube_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\uniform_color_widget.py -Compressing openstructure\lib\openstructure\ost\gui\scene\uniform_color_widget.pyc -Compressing openstructure\lib\openstructure\ost\gui\scene\__init__.py -Compressing openstructure\lib\openstructure\ost\gui\scene\__init__.pyc -Compressing openstructure\lib\openstructure\ost\gui\_gui.idb -Compressing openstructure\lib\openstructure\ost\gui\_gui.pyd -Compressing openstructure\lib\openstructure\ost\gui\__init__.py -Compressing openstructure\lib\openstructure\ost\gui\__init__.pyc -Compressing openstructure\lib\openstructure\ost\info\_info.idb -Compressing openstructure\lib\openstructure\ost\info\_info.pyd -Compressing openstructure\lib\openstructure\ost\info\__init__.py -Compressing openstructure\lib\openstructure\ost\info\__init__.pyc -Compressing openstructure\lib\openstructure\ost\io\_io.idb -Compressing openstructure\lib\openstructure\ost\io\_io.pyd -Compressing openstructure\lib\openstructure\ost\io\__init__.py -Compressing openstructure\lib\openstructure\ost\io\__init__.pyc -Compressing openstructure\lib\openstructure\ost\iplt\alg\_iplt_alg.idb -Compressing openstructure\lib\openstructure\ost\iplt\alg\_iplt_alg.pyd -Compressing openstructure\lib\openstructure\ost\iplt\alg\__init__.py -Compressing openstructure\lib\openstructure\ost\iplt\_iplt.idb -Compressing openstructure\lib\openstructure\ost\iplt\_iplt.pyd -Compressing openstructure\lib\openstructure\ost\iplt\__init__.py -Compressing openstructure\lib\openstructure\ost\iplt\__init__.pyc -Compressing openstructure\lib\openstructure\ost\mol\alg\_mol_alg.idb -Compressing openstructure\lib\openstructure\ost\mol\alg\_mol_alg.pyd -Compressing openstructure\lib\openstructure\ost\mol\alg\__init__.py -Compressing openstructure\lib\openstructure\ost\mol\_mol.idb -Compressing openstructure\lib\openstructure\ost\mol\_mol.pyd -Compressing openstructure\lib\openstructure\ost\mol\__init__.py -Compressing openstructure\lib\openstructure\ost\mol\__init__.pyc -Compressing openstructure\lib\openstructure\ost\qa\_qa.idb -Compressing openstructure\lib\openstructure\ost\qa\_qa.pyd -Compressing openstructure\lib\openstructure\ost\qa\__init__.py -Compressing openstructure\lib\openstructure\ost\seq\alg\_seq_alg.idb -Compressing openstructure\lib\openstructure\ost\seq\alg\_seq_alg.pyd -Compressing openstructure\lib\openstructure\ost\seq\alg\__init__.py -Compressing openstructure\lib\openstructure\ost\seq\_seq.idb -Compressing openstructure\lib\openstructure\ost\seq\_seq.pyd -Compressing openstructure\lib\openstructure\ost\seq\__init__.py -Compressing openstructure\lib\openstructure\ost\seq\__init__.pyc -Compressing openstructure\lib\openstructure\ost\settings.py -Compressing openstructure\lib\openstructure\ost\_base.idb -Compressing openstructure\lib\openstructure\ost\_base.pyd -Compressing openstructure\lib\openstructure\ost\__init__.py -Compressing openstructure\lib\openstructure\ost\__init__.pyc -Compressing openstructure\lib\optparse.py -Compressing openstructure\lib\optparse.pyc -Compressing openstructure\lib\os.py -Compressing openstructure\lib\os.pyc -Compressing openstructure\lib\os2emxpath.py -Compressing openstructure\lib\pdb.doc -Compressing openstructure\lib\pdb.py -Compressing openstructure\lib\pdb.pyc -Compressing openstructure\lib\pickle.py -Compressing openstructure\lib\pickle.pyc -Compressing openstructure\lib\pickletools.py -Compressing openstructure\lib\pipes.py -Compressing openstructure\lib\pkgutil.py -Compressing openstructure\lib\pkgutil.pyc -Compressing openstructure\lib\plat-aix3\IN.py -Compressing openstructure\lib\plat-aix3\regen -Compressing openstructure\lib\plat-aix4\IN.py -Compressing openstructure\lib\plat-aix4\regen -Compressing openstructure\lib\plat-atheos\IN.py -Compressing openstructure\lib\plat-atheos\regen -Compressing openstructure\lib\plat-atheos\TYPES.py -Compressing openstructure\lib\plat-beos5\IN.py -Compressing openstructure\lib\plat-beos5\regen -Compressing openstructure\lib\plat-darwin\IN.py -Compressing openstructure\lib\plat-darwin\regen -Compressing openstructure\lib\plat-freebsd4\IN.py -Compressing openstructure\lib\plat-freebsd4\regen -Compressing openstructure\lib\plat-freebsd5\IN.py -Compressing openstructure\lib\plat-freebsd5\regen -Compressing openstructure\lib\plat-freebsd6\IN.py -Compressing openstructure\lib\plat-freebsd6\regen -Compressing openstructure\lib\plat-freebsd7\IN.py -Compressing openstructure\lib\plat-freebsd7\regen -Compressing openstructure\lib\plat-freebsd8\IN.py -Compressing openstructure\lib\plat-freebsd8\regen -Compressing openstructure\lib\plat-generic\regen -Compressing openstructure\lib\plat-irix5\AL.py -Compressing openstructure\lib\plat-irix5\CD.py -Compressing openstructure\lib\plat-irix5\cddb.py -Compressing openstructure\lib\plat-irix5\cdplayer.py -Compressing openstructure\lib\plat-irix5\CL.py -Compressing openstructure\lib\plat-irix5\CL_old.py -Compressing openstructure\lib\plat-irix5\DEVICE.py -Compressing openstructure\lib\plat-irix5\ERRNO.py -Compressing openstructure\lib\plat-irix5\FILE.py -Compressing openstructure\lib\plat-irix5\FL.py -Compressing openstructure\lib\plat-irix5\flp.doc -Compressing openstructure\lib\plat-irix5\flp.py -Compressing openstructure\lib\plat-irix5\GET.py -Compressing openstructure\lib\plat-irix5\GL.py -Compressing openstructure\lib\plat-irix5\GLWS.py -Compressing openstructure\lib\plat-irix5\IN.py -Compressing openstructure\lib\plat-irix5\IOCTL.py -Compressing openstructure\lib\plat-irix5\jpeg.py -Compressing openstructure\lib\plat-irix5\panel.py -Compressing openstructure\lib\plat-irix5\panelparser.py -Compressing openstructure\lib\plat-irix5\readcd.doc -Compressing openstructure\lib\plat-irix5\readcd.py -Compressing openstructure\lib\plat-irix5\regen -Compressing openstructure\lib\plat-irix5\SV.py -Compressing openstructure\lib\plat-irix5\torgb.py -Compressing openstructure\lib\plat-irix5\WAIT.py -Compressing openstructure\lib\plat-irix6\AL.py -Compressing openstructure\lib\plat-irix6\CD.py -Compressing openstructure\lib\plat-irix6\cddb.py -Compressing openstructure\lib\plat-irix6\cdplayer.py -Compressing openstructure\lib\plat-irix6\CL.py -Compressing openstructure\lib\plat-irix6\DEVICE.py -Compressing openstructure\lib\plat-irix6\ERRNO.py -Compressing openstructure\lib\plat-irix6\FILE.py -Compressing openstructure\lib\plat-irix6\FL.py -Compressing openstructure\lib\plat-irix6\flp.doc -Compressing openstructure\lib\plat-irix6\flp.py -Compressing openstructure\lib\plat-irix6\GET.py -Compressing openstructure\lib\plat-irix6\GL.py -Compressing openstructure\lib\plat-irix6\GLWS.py -Compressing openstructure\lib\plat-irix6\IN.py -Compressing openstructure\lib\plat-irix6\IOCTL.py -Compressing openstructure\lib\plat-irix6\jpeg.py -Compressing openstructure\lib\plat-irix6\panel.py -Compressing openstructure\lib\plat-irix6\panelparser.py -Compressing openstructure\lib\plat-irix6\readcd.doc -Compressing openstructure\lib\plat-irix6\readcd.py -Compressing openstructure\lib\plat-irix6\regen -Compressing openstructure\lib\plat-irix6\SV.py -Compressing openstructure\lib\plat-irix6\torgb.py -Compressing openstructure\lib\plat-irix6\WAIT.py -Compressing openstructure\lib\plat-linux2\CDROM.py -Compressing openstructure\lib\plat-linux2\DLFCN.py -Compressing openstructure\lib\plat-linux2\IN.py -Compressing openstructure\lib\plat-linux2\regen -Compressing openstructure\lib\plat-linux2\TYPES.py -Compressing openstructure\lib\plat-mac\aepack.py -Compressing openstructure\lib\plat-mac\aetools.py -Compressing openstructure\lib\plat-mac\aetypes.py -Compressing openstructure\lib\plat-mac\applesingle.py -Compressing openstructure\lib\plat-mac\appletrawmain.py -Compressing openstructure\lib\plat-mac\appletrunner.py -Compressing openstructure\lib\plat-mac\argvemulator.py -Compressing openstructure\lib\plat-mac\Audio_mac.py -Compressing openstructure\lib\plat-mac\bgenlocations.py -Compressing openstructure\lib\plat-mac\buildtools.py -Compressing openstructure\lib\plat-mac\bundlebuilder.py -Compressing openstructure\lib\plat-mac\Carbon\AE.py -Compressing openstructure\lib\plat-mac\Carbon\AH.py -Compressing openstructure\lib\plat-mac\Carbon\Alias.py -Compressing openstructure\lib\plat-mac\Carbon\Aliases.py -Compressing openstructure\lib\plat-mac\Carbon\App.py -Compressing openstructure\lib\plat-mac\Carbon\Appearance.py -Compressing openstructure\lib\plat-mac\Carbon\AppleEvents.py -Compressing openstructure\lib\plat-mac\Carbon\AppleHelp.py -Compressing openstructure\lib\plat-mac\Carbon\CarbonEvents.py -Compressing openstructure\lib\plat-mac\Carbon\CarbonEvt.py -Compressing openstructure\lib\plat-mac\Carbon\CF.py -Compressing openstructure\lib\plat-mac\Carbon\CG.py -Compressing openstructure\lib\plat-mac\Carbon\Cm.py -Compressing openstructure\lib\plat-mac\Carbon\Components.py -Compressing openstructure\lib\plat-mac\Carbon\ControlAccessor.py -Compressing openstructure\lib\plat-mac\Carbon\Controls.py -Compressing openstructure\lib\plat-mac\Carbon\CoreFoundation.py -Compressing openstructure\lib\plat-mac\Carbon\Ctl.py -Compressing openstructure\lib\plat-mac\Carbon\Dialogs.py -Compressing openstructure\lib\plat-mac\Carbon\Dlg.py -Compressing openstructure\lib\plat-mac\Carbon\Drag.py -Compressing openstructure\lib\plat-mac\Carbon\Dragconst.py -Compressing openstructure\lib\plat-mac\Carbon\Events.py -Compressing openstructure\lib\plat-mac\Carbon\Evt.py -Compressing openstructure\lib\plat-mac\Carbon\File.py -Compressing openstructure\lib\plat-mac\Carbon\Files.py -Compressing openstructure\lib\plat-mac\Carbon\Fm.py -Compressing openstructure\lib\plat-mac\Carbon\Folder.py -Compressing openstructure\lib\plat-mac\Carbon\Folders.py -Compressing openstructure\lib\plat-mac\Carbon\Fonts.py -Compressing openstructure\lib\plat-mac\Carbon\Help.py -Compressing openstructure\lib\plat-mac\Carbon\IBCarbon.py -Compressing openstructure\lib\plat-mac\Carbon\IBCarbonRuntime.py -Compressing openstructure\lib\plat-mac\Carbon\Icn.py -Compressing openstructure\lib\plat-mac\Carbon\Icons.py -Compressing openstructure\lib\plat-mac\Carbon\Launch.py -Compressing openstructure\lib\plat-mac\Carbon\LaunchServices.py -Compressing openstructure\lib\plat-mac\Carbon\List.py -Compressing openstructure\lib\plat-mac\Carbon\Lists.py -Compressing openstructure\lib\plat-mac\Carbon\MacHelp.py -Compressing openstructure\lib\plat-mac\Carbon\MacTextEditor.py -Compressing openstructure\lib\plat-mac\Carbon\MediaDescr.py -Compressing openstructure\lib\plat-mac\Carbon\Menu.py -Compressing openstructure\lib\plat-mac\Carbon\Menus.py -Compressing openstructure\lib\plat-mac\Carbon\Mlte.py -Compressing openstructure\lib\plat-mac\Carbon\OSA.py -Compressing openstructure\lib\plat-mac\Carbon\OSAconst.py -Compressing openstructure\lib\plat-mac\Carbon\Qd.py -Compressing openstructure\lib\plat-mac\Carbon\Qdoffs.py -Compressing openstructure\lib\plat-mac\Carbon\QDOffscreen.py -Compressing openstructure\lib\plat-mac\Carbon\Qt.py -Compressing openstructure\lib\plat-mac\Carbon\QuickDraw.py -Compressing openstructure\lib\plat-mac\Carbon\QuickTime.py -Compressing openstructure\lib\plat-mac\Carbon\Res.py -Compressing openstructure\lib\plat-mac\Carbon\Resources.py -Compressing openstructure\lib\plat-mac\Carbon\Scrap.py -Compressing openstructure\lib\plat-mac\Carbon\Snd.py -Compressing openstructure\lib\plat-mac\Carbon\Sndihooks.py -Compressing openstructure\lib\plat-mac\Carbon\Sound.py -Compressing openstructure\lib\plat-mac\Carbon\TE.py -Compressing openstructure\lib\plat-mac\Carbon\TextEdit.py -Compressing openstructure\lib\plat-mac\Carbon\Win.py -Compressing openstructure\lib\plat-mac\Carbon\Windows.py -Compressing openstructure\lib\plat-mac\Carbon\__init__.py -Compressing openstructure\lib\plat-mac\cfmfile.py -Compressing openstructure\lib\plat-mac\dialogs.rsrc -Compressing openstructure\lib\plat-mac\EasyDialogs.py -Compressing openstructure\lib\plat-mac\errors.rsrc -Compressing openstructure\lib\plat-mac\findertools.py -Compressing openstructure\lib\plat-mac\FrameWork.py -Compressing openstructure\lib\plat-mac\gensuitemodule.py -Compressing openstructure\lib\plat-mac\ic.py -Compressing openstructure\lib\plat-mac\icopen.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\CodeWarrior\CodeWarrior_suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\CodeWarrior\Metrowerks_Shell_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\CodeWarrior\Required.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\CodeWarrior\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\CodeWarrior\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Explorer\Microsoft_Internet_Explorer.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Explorer\Netscape_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Explorer\Required_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Explorer\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Explorer\URL_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Explorer\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Containers_and_folders.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Enumerations.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Files.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Finder_Basics.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Finder_items.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Legacy_suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Type_Definitions.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\Window_classes.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Finder\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\Mozilla_suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\PowerPlant.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\Required_suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\Standard_URL_suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\Text.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\WorldWideWeb_suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Netscape\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\AppleScript_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\Macintosh_Connectivity_Clas.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\Required_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\Table_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\Text_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\Type_Names_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\StdSuites\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Disk_Folder_File_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Folder_Actions_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Hidden_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Login_Items_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Power_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Processes_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\System_Events_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\Text_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\SystemEvents\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Terminal\Standard_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Terminal\Terminal_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Terminal\Text_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\Terminal\__init__.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\_builtinSuites\builtin_Suite.py -Compressing openstructure\lib\plat-mac\lib-scriptpackages\_builtinSuites\__init__.py -Compressing openstructure\lib\plat-mac\macerrors.py -Compressing openstructure\lib\plat-mac\macostools.py -Compressing openstructure\lib\plat-mac\macresource.py -Compressing openstructure\lib\plat-mac\MiniAEFrame.py -Compressing openstructure\lib\plat-mac\pimp.py -Compressing openstructure\lib\plat-mac\PixMapWrapper.py -Compressing openstructure\lib\plat-mac\terminalcommand.py -Compressing openstructure\lib\plat-mac\videoreader.py -Compressing openstructure\lib\plat-netbsd1\IN.py -Compressing openstructure\lib\plat-netbsd1\regen -Compressing openstructure\lib\plat-next3\regen -Compressing openstructure\lib\plat-os2emx\grp.py -Compressing openstructure\lib\plat-os2emx\IN.py -Compressing openstructure\lib\plat-os2emx\pwd.py -Compressing openstructure\lib\plat-os2emx\regen -Compressing openstructure\lib\plat-os2emx\SOCKET.py -Compressing openstructure\lib\plat-os2emx\_emx_link.py -Compressing openstructure\lib\plat-riscos\riscosenviron.py -Compressing openstructure\lib\plat-riscos\riscospath.py -Compressing openstructure\lib\plat-riscos\rourl2path.py -Compressing openstructure\lib\plat-sunos5\CDIO.py -Compressing openstructure\lib\plat-sunos5\DLFCN.py -Compressing openstructure\lib\plat-sunos5\IN.py -Compressing openstructure\lib\plat-sunos5\regen -Compressing openstructure\lib\plat-sunos5\STROPTS.py -Compressing openstructure\lib\plat-sunos5\SUNAUDIODEV.py -Compressing openstructure\lib\plat-sunos5\TYPES.py -Compressing openstructure\lib\plat-unixware7\IN.py -Compressing openstructure\lib\plat-unixware7\regen -Compressing openstructure\lib\plat-unixware7\STROPTS.py -Compressing openstructure\lib\platform.py -Compressing openstructure\lib\platform.pyc -Compressing openstructure\lib\plistlib.py -Compressing openstructure\lib\popen2.py -Compressing openstructure\lib\poplib.py -Compressing openstructure\lib\posixfile.py -Compressing openstructure\lib\posixpath.py -Compressing openstructure\lib\posixpath.pyc -Compressing openstructure\lib\pprint.py -Compressing openstructure\lib\pprint.pyc -Compressing openstructure\lib\profile.py -Compressing openstructure\lib\pstats.py -Compressing openstructure\lib\pty.py -Compressing openstructure\lib\pyclbr.py -Compressing openstructure\lib\pydoc.py -Compressing openstructure\lib\pydoc_topics.py -Compressing openstructure\lib\pyexpat.lib -Compressing openstructure\lib\pyexpat.pyd -Compressing openstructure\lib\pyexpat_d.lib -Compressing openstructure\lib\pyexpat_d.pyd -Compressing openstructure\lib\python.exe -Compressing openstructure\lib\python26.dll -Compressing openstructure\lib\python26.lib -Compressing openstructure\lib\python26_d.dll -Compressing openstructure\lib\python26_d.lib -Compressing openstructure\lib\pythonw.exe -Compressing openstructure\lib\pythonw_d.exe -Compressing openstructure\lib\python_d.exe -Compressing openstructure\lib\py_compile.py -Compressing openstructure\lib\py_compile.pyc -Compressing openstructure\lib\Queue.py -Compressing openstructure\lib\quopri.py -Compressing openstructure\lib\random.py -Compressing openstructure\lib\random.pyc -Compressing openstructure\lib\re.py -Compressing openstructure\lib\re.pyc -Compressing openstructure\lib\Release\ost_base.dll -Compressing openstructure\lib\Release\ost_base.exp -Compressing openstructure\lib\Release\ost_base.idb -Compressing openstructure\lib\Release\ost_base.lib -Compressing openstructure\lib\Release\ost_conop.dll -Compressing openstructure\lib\Release\ost_conop.exp -Compressing openstructure\lib\Release\ost_conop.idb -Compressing openstructure\lib\Release\ost_conop.lib -Compressing openstructure\lib\Release\ost_db.dll -Compressing openstructure\lib\Release\ost_db.exp -Compressing openstructure\lib\Release\ost_db.idb -Compressing openstructure\lib\Release\ost_db.lib -Compressing openstructure\lib\Release\ost_geom.dll -Compressing openstructure\lib\Release\ost_geom.exp -Compressing openstructure\lib\Release\ost_geom.idb -Compressing openstructure\lib\Release\ost_geom.lib -Compressing openstructure\lib\Release\ost_gfx.dll -Compressing openstructure\lib\Release\ost_gfx.exp -Compressing openstructure\lib\Release\ost_gfx.idb -Compressing openstructure\lib\Release\ost_gfx.lib -Compressing openstructure\lib\Release\ost_gui.dll -Compressing openstructure\lib\Release\ost_gui.exp -Compressing openstructure\lib\Release\ost_gui.idb -Compressing openstructure\lib\Release\ost_gui.lib -Compressing openstructure\lib\Release\ost_info.dll -Compressing openstructure\lib\Release\ost_info.exp -Compressing openstructure\lib\Release\ost_info.idb -Compressing openstructure\lib\Release\ost_info.lib -Compressing openstructure\lib\Release\ost_io.dll -Compressing openstructure\lib\Release\ost_io.exp -Compressing openstructure\lib\Release\ost_io.idb -Compressing openstructure\lib\Release\ost_io.lib -Compressing openstructure\lib\Release\ost_iplt.dll -Compressing openstructure\lib\Release\ost_iplt.exp -Compressing openstructure\lib\Release\ost_iplt.idb -Compressing openstructure\lib\Release\ost_iplt.lib -Compressing openstructure\lib\Release\ost_iplt_alg.dll -Compressing openstructure\lib\Release\ost_iplt_alg.exp -Compressing openstructure\lib\Release\ost_iplt_alg.idb -Compressing openstructure\lib\Release\ost_iplt_alg.lib -Compressing openstructure\lib\Release\ost_mol.dll -Compressing openstructure\lib\Release\ost_mol.exp -Compressing openstructure\lib\Release\ost_mol.idb -Compressing openstructure\lib\Release\ost_mol.lib -Compressing openstructure\lib\Release\ost_mol_alg.dll -Compressing openstructure\lib\Release\ost_mol_alg.exp -Compressing openstructure\lib\Release\ost_mol_alg.idb -Compressing openstructure\lib\Release\ost_mol_alg.lib -Compressing openstructure\lib\Release\ost_qa.dll -Compressing openstructure\lib\Release\ost_qa.exp -Compressing openstructure\lib\Release\ost_qa.idb -Compressing openstructure\lib\Release\ost_qa.lib -Compressing openstructure\lib\Release\ost_seq.dll -Compressing openstructure\lib\Release\ost_seq.exp -Compressing openstructure\lib\Release\ost_seq.idb -Compressing openstructure\lib\Release\ost_seq.lib -Compressing openstructure\lib\Release\ost_seq_alg.dll -Compressing openstructure\lib\Release\ost_seq_alg.exp -Compressing openstructure\lib\Release\ost_seq_alg.idb -Compressing openstructure\lib\Release\ost_seq_alg.lib -Compressing openstructure\lib\repr.py -Compressing openstructure\lib\repr.pyc -Compressing openstructure\lib\rexec.py -Compressing openstructure\lib\rfc822.py -Compressing openstructure\lib\rfc822.pyc -Compressing openstructure\lib\rlcompleter.py -Compressing openstructure\lib\robotparser.py -Compressing openstructure\lib\runpy.py -Compressing openstructure\lib\runpy.pyc -Compressing openstructure\lib\sched.py -Compressing openstructure\lib\select.lib -Compressing openstructure\lib\select.pyd -Compressing openstructure\lib\select_d.lib -Compressing openstructure\lib\select_d.pyd -Compressing openstructure\lib\sets.py -Compressing openstructure\lib\sgmllib.py -Compressing openstructure\lib\sgmllib.pyc -Compressing openstructure\lib\sha.py -Compressing openstructure\lib\shelve.py -Compressing openstructure\lib\shlex.py -Compressing openstructure\lib\shutil.py -Compressing openstructure\lib\shutil.pyc -Compressing openstructure\lib\SimpleHTTPServer.py -Compressing openstructure\lib\SimpleXMLRPCServer.py -Compressing openstructure\lib\site-packages\BeautifulSoup-3.0.8-py2.6.egg-info -Compressing openstructure\lib\site-packages\BeautifulSoup.py -Compressing openstructure\lib\site-packages\BeautifulSoup.pyc -Compressing openstructure\lib\site-packages\BeautifulSoupTests.py -Compressing openstructure\lib\site-packages\BeautifulSoupTests.pyc -Compressing openstructure\lib\site-packages\Markdown-2.0.3-py2.6.egg-info -Compressing openstructure\lib\site-packages\markdown\blockparser.py -Compressing openstructure\lib\site-packages\markdown\blockparser.pyc -Compressing openstructure\lib\site-packages\markdown\blockprocessors.py -Compressing openstructure\lib\site-packages\markdown\blockprocessors.pyc -Compressing openstructure\lib\site-packages\markdown\commandline.py -Compressing openstructure\lib\site-packages\markdown\commandline.pyc -Compressing openstructure\lib\site-packages\markdown\etree_loader.py -Compressing openstructure\lib\site-packages\markdown\etree_loader.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\abbr.py -Compressing openstructure\lib\site-packages\markdown\extensions\abbr.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\codehilite.py -Compressing openstructure\lib\site-packages\markdown\extensions\codehilite.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\def_list.py -Compressing openstructure\lib\site-packages\markdown\extensions\def_list.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\extra.py -Compressing openstructure\lib\site-packages\markdown\extensions\extra.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\fenced_code.py -Compressing openstructure\lib\site-packages\markdown\extensions\fenced_code.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\footnotes.py -Compressing openstructure\lib\site-packages\markdown\extensions\footnotes.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\headerid.py -Compressing openstructure\lib\site-packages\markdown\extensions\headerid.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\html_tidy.py -Compressing openstructure\lib\site-packages\markdown\extensions\html_tidy.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\imagelinks.py -Compressing openstructure\lib\site-packages\markdown\extensions\imagelinks.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\meta.py -Compressing openstructure\lib\site-packages\markdown\extensions\meta.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\rss.py -Compressing openstructure\lib\site-packages\markdown\extensions\rss.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\tables.py -Compressing openstructure\lib\site-packages\markdown\extensions\tables.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\toc.py -Compressing openstructure\lib\site-packages\markdown\extensions\toc.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\wikilinks.py -Compressing openstructure\lib\site-packages\markdown\extensions\wikilinks.pyc -Compressing openstructure\lib\site-packages\markdown\extensions\__init__.py -Compressing openstructure\lib\site-packages\markdown\extensions\__init__.pyc -Compressing openstructure\lib\site-packages\markdown\html4.py -Compressing openstructure\lib\site-packages\markdown\html4.pyc -Compressing openstructure\lib\site-packages\markdown\inlinepatterns.py -Compressing openstructure\lib\site-packages\markdown\inlinepatterns.pyc -Compressing openstructure\lib\site-packages\markdown\odict.py -Compressing openstructure\lib\site-packages\markdown\odict.pyc -Compressing openstructure\lib\site-packages\markdown\postprocessors.py -Compressing openstructure\lib\site-packages\markdown\postprocessors.pyc -Compressing openstructure\lib\site-packages\markdown\preprocessors.py -Compressing openstructure\lib\site-packages\markdown\preprocessors.pyc -Compressing openstructure\lib\site-packages\markdown\treeprocessors.py -Compressing openstructure\lib\site-packages\markdown\treeprocessors.pyc -Compressing openstructure\lib\site-packages\markdown\__init__.py -Compressing openstructure\lib\site-packages\markdown\__init__.pyc -Compressing openstructure\lib\site-packages\PyQt4\phonon.pyd -Compressing openstructure\lib\site-packages\PyQt4\pyqtconfig.py -Compressing openstructure\lib\site-packages\PyQt4\QAxContainer.pyd -Compressing openstructure\lib\site-packages\PyQt4\Qt.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtAssistant.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtCore.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtDesigner.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtGui.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtHelp.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtNetwork.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtOpenGL.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtScript.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtScriptTools.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtSql.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtSvg.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtTest.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtWebKit.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtXml.pyd -Compressing openstructure\lib\site-packages\PyQt4\QtXmlPatterns.pyd -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\compiler.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\indenter.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\misc.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\proxy_type.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\qobjectcreator.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\qtproxies.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Compiler\__init__.py -Compressing openstructure\lib\site-packages\PyQt4\uic\driver.py -Compressing openstructure\lib\site-packages\PyQt4\uic\exceptions.py -Compressing openstructure\lib\site-packages\PyQt4\uic\icon_cache.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Loader\loader.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Loader\qobjectcreator.py -Compressing openstructure\lib\site-packages\PyQt4\uic\Loader\__init__.py -Compressing openstructure\lib\site-packages\PyQt4\uic\objcreator.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\ascii_upper.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\encode_utf8.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\invoke.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\load_plugin.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\proxy_base.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\string_io.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v2\__init__.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\ascii_upper.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\encode_utf8.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\invoke.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\load_plugin.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\proxy_base.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\string_io.py -Compressing openstructure\lib\site-packages\PyQt4\uic\port_v3\__init__.py -Compressing openstructure\lib\site-packages\PyQt4\uic\properties.py -Compressing openstructure\lib\site-packages\PyQt4\uic\pyuic.py -Compressing openstructure\lib\site-packages\PyQt4\uic\uiparser.py -Compressing openstructure\lib\site-packages\PyQt4\uic\widget-plugins\phonon.py -Compressing openstructure\lib\site-packages\PyQt4\uic\widget-plugins\qaxcontainer.py -Compressing openstructure\lib\site-packages\PyQt4\uic\widget-plugins\qscintilla.py -Compressing openstructure\lib\site-packages\PyQt4\uic\widget-plugins\qtwebkit.py -Compressing openstructure\lib\site-packages\PyQt4\uic\__init__.py -Compressing openstructure\lib\site-packages\PyQt4\__init__.py -Compressing openstructure\lib\site-packages\PyQt4\__init__.pyc -Compressing openstructure\lib\site-packages\pyreadline-1.5-py2.6.egg-info -Compressing openstructure\lib\site-packages\pyreadline\clipboard\ironpython_clipboard.py -Compressing openstructure\lib\site-packages\pyreadline\clipboard\ironpython_clipboard.pyc -Compressing openstructure\lib\site-packages\pyreadline\clipboard\win32_clipboard.py -Compressing openstructure\lib\site-packages\pyreadline\clipboard\win32_clipboard.pyc -Compressing openstructure\lib\site-packages\pyreadline\clipboard\__init__.py -Compressing openstructure\lib\site-packages\pyreadline\clipboard\__init__.pyc -Compressing openstructure\lib\site-packages\pyreadline\configuration\pyreadlineconfig.ini -Compressing openstructure\lib\site-packages\pyreadline\configuration\startup.py -Compressing openstructure\lib\site-packages\pyreadline\configuration\startup.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\ansi.py -Compressing openstructure\lib\site-packages\pyreadline\console\ansi.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\console.py -Compressing openstructure\lib\site-packages\pyreadline\console\console.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\consolebase.py -Compressing openstructure\lib\site-packages\pyreadline\console\consolebase.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\console_attributes.py -Compressing openstructure\lib\site-packages\pyreadline\console\console_attributes.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\event.py -Compressing openstructure\lib\site-packages\pyreadline\console\event.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\ironpython_console.py -Compressing openstructure\lib\site-packages\pyreadline\console\ironpython_console.pyc -Compressing openstructure\lib\site-packages\pyreadline\console\__init__.py -Compressing openstructure\lib\site-packages\pyreadline\console\__init__.pyc -Compressing openstructure\lib\site-packages\pyreadline\error.py -Compressing openstructure\lib\site-packages\pyreadline\error.pyc -Compressing openstructure\lib\site-packages\pyreadline\get_doc.py -Compressing openstructure\lib\site-packages\pyreadline\get_doc.pyc -Compressing openstructure\lib\site-packages\pyreadline\keysyms\common.py -Compressing openstructure\lib\site-packages\pyreadline\keysyms\common.pyc -Compressing openstructure\lib\site-packages\pyreadline\keysyms\ironpython_keysyms.py -Compressing openstructure\lib\site-packages\pyreadline\keysyms\ironpython_keysyms.pyc -Compressing openstructure\lib\site-packages\pyreadline\keysyms\keysyms.py -Compressing openstructure\lib\site-packages\pyreadline\keysyms\keysyms.pyc -Compressing openstructure\lib\site-packages\pyreadline\keysyms\winconstants.py -Compressing openstructure\lib\site-packages\pyreadline\keysyms\winconstants.pyc -Compressing openstructure\lib\site-packages\pyreadline\keysyms\__init__.py -Compressing openstructure\lib\site-packages\pyreadline\keysyms\__init__.pyc -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\history.py -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\history.pyc -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\lineobj.py -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\lineobj.pyc -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\wordmatcher.py -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\wordmatcher.pyc -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\__init__.py -Compressing openstructure\lib\site-packages\pyreadline\lineeditor\__init__.pyc -Compressing openstructure\lib\site-packages\pyreadline\logger.py -Compressing openstructure\lib\site-packages\pyreadline\logger.pyc -Compressing openstructure\lib\site-packages\pyreadline\logserver.py -Compressing openstructure\lib\site-packages\pyreadline\logserver.pyc -Compressing openstructure\lib\site-packages\pyreadline\modes\basemode.py -Compressing openstructure\lib\site-packages\pyreadline\modes\basemode.pyc -Compressing openstructure\lib\site-packages\pyreadline\modes\emacs.py -Compressing openstructure\lib\site-packages\pyreadline\modes\emacs.pyc -Compressing openstructure\lib\site-packages\pyreadline\modes\notemacs.py -Compressing openstructure\lib\site-packages\pyreadline\modes\notemacs.pyc -Compressing openstructure\lib\site-packages\pyreadline\modes\vi.py -Compressing openstructure\lib\site-packages\pyreadline\modes\vi.pyc -Compressing openstructure\lib\site-packages\pyreadline\modes\__init__.py -Compressing openstructure\lib\site-packages\pyreadline\modes\__init__.pyc -Compressing openstructure\lib\site-packages\pyreadline\release.py -Compressing openstructure\lib\site-packages\pyreadline\release.pyc -Compressing openstructure\lib\site-packages\pyreadline\rlmain.py -Compressing openstructure\lib\site-packages\pyreadline\rlmain.pyc -Compressing openstructure\lib\site-packages\pyreadline\test\common.py -Compressing openstructure\lib\site-packages\pyreadline\test\common.pyc -Compressing openstructure\lib\site-packages\pyreadline\test\emacs_test.py -Compressing openstructure\lib\site-packages\pyreadline\test\emacs_test.pyc -Compressing openstructure\lib\site-packages\pyreadline\test\history_test.py -Compressing openstructure\lib\site-packages\pyreadline\test\history_test.pyc -Compressing openstructure\lib\site-packages\pyreadline\test\lineeditor_test.py -Compressing openstructure\lib\site-packages\pyreadline\test\lineeditor_test.pyc -Compressing openstructure\lib\site-packages\pyreadline\test\vi_test.py -Compressing openstructure\lib\site-packages\pyreadline\test\vi_test.pyc -Compressing openstructure\lib\site-packages\pyreadline\unicode_helper.py -Compressing openstructure\lib\site-packages\pyreadline\unicode_helper.pyc -Compressing openstructure\lib\site-packages\pyreadline\__init__.py -Compressing openstructure\lib\site-packages\pyreadline\__init__.pyc -Compressing openstructure\lib\site-packages\readline.py -Compressing openstructure\lib\site-packages\readline.pyc -Compressing openstructure\lib\site-packages\README -Compressing openstructure\lib\site-packages\sip.pyd -Compressing openstructure\lib\site-packages\sip.pyd.manifest -Compressing openstructure\lib\site-packages\sipconfig.py -Compressing openstructure\lib\site-packages\sipconfig.pyc -Compressing openstructure\lib\site-packages\sipdistutils.py -Compressing openstructure\lib\site.py -Compressing openstructure\lib\site.pyc -Compressing openstructure\lib\smtpd.py -Compressing openstructure\lib\smtplib.py -Compressing openstructure\lib\sndhdr.py -Compressing openstructure\lib\socket.py -Compressing openstructure\lib\socket.pyc -Compressing openstructure\lib\SocketServer.py -Compressing openstructure\lib\sqlite3\dbapi2.py -Compressing openstructure\lib\sqlite3\dump.py -Compressing openstructure\lib\sqlite3\test\dbapi.py -Compressing openstructure\lib\sqlite3\test\dump.py -Compressing openstructure\lib\sqlite3\test\factory.py -Compressing openstructure\lib\sqlite3\test\hooks.py -Compressing openstructure\lib\sqlite3\test\py25tests.py -Compressing openstructure\lib\sqlite3\test\regression.py -Compressing openstructure\lib\sqlite3\test\transactions.py -Compressing openstructure\lib\sqlite3\test\types.py -Compressing openstructure\lib\sqlite3\test\userfunctions.py -Compressing openstructure\lib\sqlite3\test\__init__.py -Compressing openstructure\lib\sqlite3\__init__.py -Compressing openstructure\lib\sre.py -Compressing openstructure\lib\sre_compile.py -Compressing openstructure\lib\sre_compile.pyc -Compressing openstructure\lib\sre_constants.py -Compressing openstructure\lib\sre_constants.pyc -Compressing openstructure\lib\sre_parse.py -Compressing openstructure\lib\sre_parse.pyc -Compressing openstructure\lib\ssl.py -Compressing openstructure\lib\ssl.pyc -Compressing openstructure\lib\stat.py -Compressing openstructure\lib\stat.pyc -Compressing openstructure\lib\statvfs.py -Compressing openstructure\lib\string.py -Compressing openstructure\lib\string.pyc -Compressing openstructure\lib\StringIO.py -Compressing openstructure\lib\stringold.py -Compressing openstructure\lib\stringprep.py -Compressing openstructure\lib\struct.py -Compressing openstructure\lib\struct.pyc -Compressing openstructure\lib\subprocess.py -Compressing openstructure\lib\subprocess.pyc -Compressing openstructure\lib\sunau.py -Compressing openstructure\lib\sunaudio.py -Compressing openstructure\lib\symbol.py -Compressing openstructure\lib\symtable.py -Compressing openstructure\lib\tabnanny.py -Compressing openstructure\lib\tarfile.py -Compressing openstructure\lib\telnetlib.py -Compressing openstructure\lib\tempfile.py -Compressing openstructure\lib\tempfile.pyc -Compressing openstructure\lib\test\185test.db -Compressing openstructure\lib\test\audiotest.au -Compressing openstructure\lib\test\autotest.py -Compressing openstructure\lib\test\badcert.pem -Compressing openstructure\lib\test\badkey.pem -Compressing openstructure\lib\test\badsyntax_future3.py -Compressing openstructure\lib\test\badsyntax_future4.py -Compressing openstructure\lib\test\badsyntax_future5.py -Compressing openstructure\lib\test\badsyntax_future6.py -Compressing openstructure\lib\test\badsyntax_future7.py -Compressing openstructure\lib\test\badsyntax_future8.py -Compressing openstructure\lib\test\badsyntax_future9.py -Compressing openstructure\lib\test\badsyntax_nocaret.py -Compressing openstructure\lib\test\bad_coding.py -Compressing openstructure\lib\test\bad_coding2.py -Compressing openstructure\lib\test\buffer_tests.py -Compressing openstructure\lib\test\cfgparser.1 -Compressing openstructure\lib\test\check_soundcard.vbs -Compressing openstructure\lib\test\cjkencodings_test.py -Compressing openstructure\lib\test\cmath_testcases.txt -Compressing openstructure\lib\test\crashers\bogus_code_obj.py -Compressing openstructure\lib\test\crashers\bogus_sre_bytecode.py -Compressing openstructure\lib\test\crashers\borrowed_ref_1.py -Compressing openstructure\lib\test\crashers\borrowed_ref_2.py -Compressing openstructure\lib\test\crashers\gc_inspection.py -Compressing openstructure\lib\test\crashers\infinite_loop_re.py -Compressing openstructure\lib\test\crashers\iter.py -Compressing openstructure\lib\test\crashers\loosing_mro_ref.py -Compressing openstructure\lib\test\crashers\multithreaded_close.py -Compressing openstructure\lib\test\crashers\mutation_inside_cyclegc.py -Compressing openstructure\lib\test\crashers\nasty_eq_vs_dict.py -Compressing openstructure\lib\test\crashers\README -Compressing openstructure\lib\test\crashers\recursion_limit_too_high.py -Compressing openstructure\lib\test\crashers\recursive_call.py -Compressing openstructure\lib\test\curses_tests.py -Compressing openstructure\lib\test\decimaltestdata\abs.decTest -Compressing openstructure\lib\test\decimaltestdata\add.decTest -Compressing openstructure\lib\test\decimaltestdata\and.decTest -Compressing openstructure\lib\test\decimaltestdata\base.decTest -Compressing openstructure\lib\test\decimaltestdata\clamp.decTest -Compressing openstructure\lib\test\decimaltestdata\class.decTest -Compressing openstructure\lib\test\decimaltestdata\compare.decTest -Compressing openstructure\lib\test\decimaltestdata\comparetotal.decTest -Compressing openstructure\lib\test\decimaltestdata\comparetotmag.decTest -Compressing openstructure\lib\test\decimaltestdata\copy.decTest -Compressing openstructure\lib\test\decimaltestdata\copyabs.decTest -Compressing openstructure\lib\test\decimaltestdata\copynegate.decTest -Compressing openstructure\lib\test\decimaltestdata\copysign.decTest -Compressing openstructure\lib\test\decimaltestdata\ddAbs.decTest -Compressing openstructure\lib\test\decimaltestdata\ddAdd.decTest -Compressing openstructure\lib\test\decimaltestdata\ddAnd.decTest -Compressing openstructure\lib\test\decimaltestdata\ddBase.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCanonical.decTest -Compressing openstructure\lib\test\decimaltestdata\ddClass.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCompare.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCompareSig.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCompareTotal.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCompareTotalMag.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCopy.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCopyAbs.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCopyNegate.decTest -Compressing openstructure\lib\test\decimaltestdata\ddCopySign.decTest -Compressing openstructure\lib\test\decimaltestdata\ddDivide.decTest -Compressing openstructure\lib\test\decimaltestdata\ddDivideInt.decTest -Compressing openstructure\lib\test\decimaltestdata\ddEncode.decTest -Compressing openstructure\lib\test\decimaltestdata\ddFMA.decTest -Compressing openstructure\lib\test\decimaltestdata\ddInvert.decTest -Compressing openstructure\lib\test\decimaltestdata\ddLogB.decTest -Compressing openstructure\lib\test\decimaltestdata\ddMax.decTest -Compressing openstructure\lib\test\decimaltestdata\ddMaxMag.decTest -Compressing openstructure\lib\test\decimaltestdata\ddMin.decTest -Compressing openstructure\lib\test\decimaltestdata\ddMinMag.decTest -Compressing openstructure\lib\test\decimaltestdata\ddMinus.decTest -Compressing openstructure\lib\test\decimaltestdata\ddMultiply.decTest -Compressing openstructure\lib\test\decimaltestdata\ddNextMinus.decTest -Compressing openstructure\lib\test\decimaltestdata\ddNextPlus.decTest -Compressing openstructure\lib\test\decimaltestdata\ddNextToward.decTest -Compressing openstructure\lib\test\decimaltestdata\ddOr.decTest -Compressing openstructure\lib\test\decimaltestdata\ddPlus.decTest -Compressing openstructure\lib\test\decimaltestdata\ddQuantize.decTest -Compressing openstructure\lib\test\decimaltestdata\ddReduce.decTest -Compressing openstructure\lib\test\decimaltestdata\ddRemainder.decTest -Compressing openstructure\lib\test\decimaltestdata\ddRemainderNear.decTest -Compressing openstructure\lib\test\decimaltestdata\ddRotate.decTest -Compressing openstructure\lib\test\decimaltestdata\ddSameQuantum.decTest -Compressing openstructure\lib\test\decimaltestdata\ddScaleB.decTest -Compressing openstructure\lib\test\decimaltestdata\ddShift.decTest -Compressing openstructure\lib\test\decimaltestdata\ddSubtract.decTest -Compressing openstructure\lib\test\decimaltestdata\ddToIntegral.decTest -Compressing openstructure\lib\test\decimaltestdata\ddXor.decTest -Compressing openstructure\lib\test\decimaltestdata\decDouble.decTest -Compressing openstructure\lib\test\decimaltestdata\decQuad.decTest -Compressing openstructure\lib\test\decimaltestdata\decSingle.decTest -Compressing openstructure\lib\test\decimaltestdata\divide.decTest -Compressing openstructure\lib\test\decimaltestdata\divideint.decTest -Compressing openstructure\lib\test\decimaltestdata\dqAbs.decTest -Compressing openstructure\lib\test\decimaltestdata\dqAdd.decTest -Compressing openstructure\lib\test\decimaltestdata\dqAnd.decTest -Compressing openstructure\lib\test\decimaltestdata\dqBase.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCanonical.decTest -Compressing openstructure\lib\test\decimaltestdata\dqClass.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCompare.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCompareSig.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCompareTotal.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCompareTotalMag.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCopy.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCopyAbs.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCopyNegate.decTest -Compressing openstructure\lib\test\decimaltestdata\dqCopySign.decTest -Compressing openstructure\lib\test\decimaltestdata\dqDivide.decTest -Compressing openstructure\lib\test\decimaltestdata\dqDivideInt.decTest -Compressing openstructure\lib\test\decimaltestdata\dqEncode.decTest -Compressing openstructure\lib\test\decimaltestdata\dqFMA.decTest -Compressing openstructure\lib\test\decimaltestdata\dqInvert.decTest -Compressing openstructure\lib\test\decimaltestdata\dqLogB.decTest -Compressing openstructure\lib\test\decimaltestdata\dqMax.decTest -Compressing openstructure\lib\test\decimaltestdata\dqMaxMag.decTest -Compressing openstructure\lib\test\decimaltestdata\dqMin.decTest -Compressing openstructure\lib\test\decimaltestdata\dqMinMag.decTest -Compressing openstructure\lib\test\decimaltestdata\dqMinus.decTest -Compressing openstructure\lib\test\decimaltestdata\dqMultiply.decTest -Compressing openstructure\lib\test\decimaltestdata\dqNextMinus.decTest -Compressing openstructure\lib\test\decimaltestdata\dqNextPlus.decTest -Compressing openstructure\lib\test\decimaltestdata\dqNextToward.decTest -Compressing openstructure\lib\test\decimaltestdata\dqOr.decTest -Compressing openstructure\lib\test\decimaltestdata\dqPlus.decTest -Compressing openstructure\lib\test\decimaltestdata\dqQuantize.decTest -Compressing openstructure\lib\test\decimaltestdata\dqReduce.decTest -Compressing openstructure\lib\test\decimaltestdata\dqRemainder.decTest -Compressing openstructure\lib\test\decimaltestdata\dqRemainderNear.decTest -Compressing openstructure\lib\test\decimaltestdata\dqRotate.decTest -Compressing openstructure\lib\test\decimaltestdata\dqSameQuantum.decTest -Compressing openstructure\lib\test\decimaltestdata\dqScaleB.decTest -Compressing openstructure\lib\test\decimaltestdata\dqShift.decTest -Compressing openstructure\lib\test\decimaltestdata\dqSubtract.decTest -Compressing openstructure\lib\test\decimaltestdata\dqToIntegral.decTest -Compressing openstructure\lib\test\decimaltestdata\dqXor.decTest -Compressing openstructure\lib\test\decimaltestdata\dsBase.decTest -Compressing openstructure\lib\test\decimaltestdata\dsEncode.decTest -Compressing openstructure\lib\test\decimaltestdata\exp.decTest -Compressing openstructure\lib\test\decimaltestdata\extra.decTest -Compressing openstructure\lib\test\decimaltestdata\fma.decTest -Compressing openstructure\lib\test\decimaltestdata\inexact.decTest -Compressing openstructure\lib\test\decimaltestdata\invert.decTest -Compressing openstructure\lib\test\decimaltestdata\ln.decTest -Compressing openstructure\lib\test\decimaltestdata\log10.decTest -Compressing openstructure\lib\test\decimaltestdata\logb.decTest -Compressing openstructure\lib\test\decimaltestdata\max.decTest -Compressing openstructure\lib\test\decimaltestdata\maxmag.decTest -Compressing openstructure\lib\test\decimaltestdata\min.decTest -Compressing openstructure\lib\test\decimaltestdata\minmag.decTest -Compressing openstructure\lib\test\decimaltestdata\minus.decTest -Compressing openstructure\lib\test\decimaltestdata\multiply.decTest -Compressing openstructure\lib\test\decimaltestdata\nextminus.decTest -Compressing openstructure\lib\test\decimaltestdata\nextplus.decTest -Compressing openstructure\lib\test\decimaltestdata\nexttoward.decTest -Compressing openstructure\lib\test\decimaltestdata\or.decTest -Compressing openstructure\lib\test\decimaltestdata\plus.decTest -Compressing openstructure\lib\test\decimaltestdata\power.decTest -Compressing openstructure\lib\test\decimaltestdata\powersqrt.decTest -Compressing openstructure\lib\test\decimaltestdata\quantize.decTest -Compressing openstructure\lib\test\decimaltestdata\randomBound32.decTest -Compressing openstructure\lib\test\decimaltestdata\randoms.decTest -Compressing openstructure\lib\test\decimaltestdata\reduce.decTest -Compressing openstructure\lib\test\decimaltestdata\remainder.decTest -Compressing openstructure\lib\test\decimaltestdata\remainderNear.decTest -Compressing openstructure\lib\test\decimaltestdata\rescale.decTest -Compressing openstructure\lib\test\decimaltestdata\rotate.decTest -Compressing openstructure\lib\test\decimaltestdata\rounding.decTest -Compressing openstructure\lib\test\decimaltestdata\samequantum.decTest -Compressing openstructure\lib\test\decimaltestdata\scaleb.decTest -Compressing openstructure\lib\test\decimaltestdata\shift.decTest -Compressing openstructure\lib\test\decimaltestdata\squareroot.decTest -Compressing openstructure\lib\test\decimaltestdata\subtract.decTest -Compressing openstructure\lib\test\decimaltestdata\testall.decTest -Compressing openstructure\lib\test\decimaltestdata\tointegral.decTest -Compressing openstructure\lib\test\decimaltestdata\tointegralx.decTest -Compressing openstructure\lib\test\decimaltestdata\xor.decTest -Compressing openstructure\lib\test\doctest_aliases.py -Compressing openstructure\lib\test\double_const.py -Compressing openstructure\lib\test\empty.vbs -Compressing openstructure\lib\test\exception_hierarchy.txt -Compressing openstructure\lib\test\floating_points.txt -Compressing openstructure\lib\test\fork_wait.py -Compressing openstructure\lib\test\greyrgb.uue -Compressing openstructure\lib\test\https_svn_python_org_root.pem -Compressing openstructure\lib\test\ieee754.txt -Compressing openstructure\lib\test\infinite_reload.py -Compressing openstructure\lib\test\inspect_fodder.py -Compressing openstructure\lib\test\inspect_fodder2.py -Compressing openstructure\lib\test\keycert.pem -Compressing openstructure\lib\test\leakers\README.txt -Compressing openstructure\lib\test\leakers\test_ctypes.py -Compressing openstructure\lib\test\leakers\test_gestalt.py -Compressing openstructure\lib\test\leakers\test_selftype.py -Compressing openstructure\lib\test\leakers\__init__.py -Compressing openstructure\lib\test\list_tests.py -Compressing openstructure\lib\test\mapping_tests.py -Compressing openstructure\lib\test\nullcert.pem -Compressing openstructure\lib\test\outstanding_bugs.py -Compressing openstructure\lib\test\pickletester.py -Compressing openstructure\lib\test\profilee.py -Compressing openstructure\lib\test\pyclbr_input.py -Compressing openstructure\lib\test\pydocfodder.py -Compressing openstructure\lib\test\pydoc_mod.py -Compressing openstructure\lib\test\pystone.py -Compressing openstructure\lib\test\randv2_32.pck -Compressing openstructure\lib\test\randv2_64.pck -Compressing openstructure\lib\test\randv3.pck -Compressing openstructure\lib\test\README -Compressing openstructure\lib\test\regex_tests.py -Compressing openstructure\lib\test\regrtest.py -Compressing openstructure\lib\test\relimport.py -Compressing openstructure\lib\test\reperf.py -Compressing openstructure\lib\test\re_tests.py -Compressing openstructure\lib\test\sample_doctest.py -Compressing openstructure\lib\test\seq_tests.py -Compressing openstructure\lib\test\sgml_input.html -Compressing openstructure\lib\test\Sine-1000Hz-300ms.aif -Compressing openstructure\lib\test\sortperf.py -Compressing openstructure\lib\test\ssl_cert.pem -Compressing openstructure\lib\test\ssl_key.pem -Compressing openstructure\lib\test\string_tests.py -Compressing openstructure\lib\test\svn_python_org_https_cert.pem -Compressing openstructure\lib\test\test.xml -Compressing openstructure\lib\test\test.xml.out -Compressing openstructure\lib\test\testall.py -Compressing openstructure\lib\test\testcodec.py -Compressing openstructure\lib\test\testimg.uue -Compressing openstructure\lib\test\testimgr.uue -Compressing openstructure\lib\test\testrgb.uue -Compressing openstructure\lib\test\testtar.tar -Compressing openstructure\lib\test\test_abc.py -Compressing openstructure\lib\test\test_abstract_numbers.py -Compressing openstructure\lib\test\test_aepack.py -Compressing openstructure\lib\test\test_aifc.py -Compressing openstructure\lib\test\test_al.py -Compressing openstructure\lib\test\test_anydbm.py -Compressing openstructure\lib\test\test_applesingle.py -Compressing openstructure\lib\test\test_array.py -Compressing openstructure\lib\test\test_ast.py -Compressing openstructure\lib\test\test_asynchat.py -Compressing openstructure\lib\test\test_asyncore.py -Compressing openstructure\lib\test\test_atexit.py -Compressing openstructure\lib\test\test_audioop.py -Compressing openstructure\lib\test\test_augassign.py -Compressing openstructure\lib\test\test_base64.py -Compressing openstructure\lib\test\test_bastion.py -Compressing openstructure\lib\test\test_bigaddrspace.py -Compressing openstructure\lib\test\test_bigmem.py -Compressing openstructure\lib\test\test_binascii.py -Compressing openstructure\lib\test\test_binhex.py -Compressing openstructure\lib\test\test_binop.py -Compressing openstructure\lib\test\test_bisect.py -Compressing openstructure\lib\test\test_bool.py -Compressing openstructure\lib\test\test_bsddb.py -Compressing openstructure\lib\test\test_bsddb185.py -Compressing openstructure\lib\test\test_bsddb3.py -Compressing openstructure\lib\test\test_buffer.py -Compressing openstructure\lib\test\test_bufio.py -Compressing openstructure\lib\test\test_builtin.py -Compressing openstructure\lib\test\test_bytes.py -Compressing openstructure\lib\test\test_bz2.py -Compressing openstructure\lib\test\test_calendar.py -Compressing openstructure\lib\test\test_call.py -Compressing openstructure\lib\test\test_capi.py -Compressing openstructure\lib\test\test_cd.py -Compressing openstructure\lib\test\test_cfgparser.py -Compressing openstructure\lib\test\test_cgi.py -Compressing openstructure\lib\test\test_charmapcodec.py -Compressing openstructure\lib\test\test_cl.py -Compressing openstructure\lib\test\test_class.py -Compressing openstructure\lib\test\test_cmath.py -Compressing openstructure\lib\test\test_cmd.py -Compressing openstructure\lib\test\test_cmd_line.py -Compressing openstructure\lib\test\test_cmd_line_script.py -Compressing openstructure\lib\test\test_code.py -Compressing openstructure\lib\test\test_codeccallbacks.py -Compressing openstructure\lib\test\test_codecencodings_cn.py -Compressing openstructure\lib\test\test_codecencodings_hk.py -Compressing openstructure\lib\test\test_codecencodings_jp.py -Compressing openstructure\lib\test\test_codecencodings_kr.py -Compressing openstructure\lib\test\test_codecencodings_tw.py -Compressing openstructure\lib\test\test_codecmaps_cn.py -Compressing openstructure\lib\test\test_codecmaps_hk.py -Compressing openstructure\lib\test\test_codecmaps_jp.py -Compressing openstructure\lib\test\test_codecmaps_kr.py -Compressing openstructure\lib\test\test_codecmaps_tw.py -Compressing openstructure\lib\test\test_codecs.py -Compressing openstructure\lib\test\test_codeop.py -Compressing openstructure\lib\test\test_coding.py -Compressing openstructure\lib\test\test_coercion.py -Compressing openstructure\lib\test\test_collections.py -Compressing openstructure\lib\test\test_colorsys.py -Compressing openstructure\lib\test\test_commands.py -Compressing openstructure\lib\test\test_compare.py -Compressing openstructure\lib\test\test_compile.py -Compressing openstructure\lib\test\test_compiler.py -Compressing openstructure\lib\test\test_complex.py -Compressing openstructure\lib\test\test_complex_args.py -Compressing openstructure\lib\test\test_contains.py -Compressing openstructure\lib\test\test_contextlib.py -Compressing openstructure\lib\test\test_cookie.py -Compressing openstructure\lib\test\test_cookielib.py -Compressing openstructure\lib\test\test_copy.py -Compressing openstructure\lib\test\test_copy_reg.py -Compressing openstructure\lib\test\test_cpickle.py -Compressing openstructure\lib\test\test_cprofile.py -Compressing openstructure\lib\test\test_crypt.py -Compressing openstructure\lib\test\test_csv.py -Compressing openstructure\lib\test\test_ctypes.py -Compressing openstructure\lib\test\test_curses.py -Compressing openstructure\lib\test\test_datetime.py -Compressing openstructure\lib\test\test_dbm.py -Compressing openstructure\lib\test\test_decimal.py -Compressing openstructure\lib\test\test_decorators.py -Compressing openstructure\lib\test\test_defaultdict.py -Compressing openstructure\lib\test\test_deque.py -Compressing openstructure\lib\test\test_descr.py -Compressing openstructure\lib\test\test_descrtut.py -Compressing openstructure\lib\test\test_dict.py -Compressing openstructure\lib\test\test_difflib.py -Compressing openstructure\lib\test\test_difflib_expect.html -Compressing openstructure\lib\test\test_dircache.py -Compressing openstructure\lib\test\test_dis.py -Compressing openstructure\lib\test\test_distutils.py -Compressing openstructure\lib\test\test_dl.py -Compressing openstructure\lib\test\test_doctest.py -Compressing openstructure\lib\test\test_doctest.txt -Compressing openstructure\lib\test\test_doctest2.py -Compressing openstructure\lib\test\test_doctest2.txt -Compressing openstructure\lib\test\test_doctest3.txt -Compressing openstructure\lib\test\test_doctest4.txt -Compressing openstructure\lib\test\test_docxmlrpc.py -Compressing openstructure\lib\test\test_dumbdbm.py -Compressing openstructure\lib\test\test_dummy_thread.py -Compressing openstructure\lib\test\test_dummy_threading.py -Compressing openstructure\lib\test\test_email.py -Compressing openstructure\lib\test\test_email_codecs.py -Compressing openstructure\lib\test\test_email_renamed.py -Compressing openstructure\lib\test\test_enumerate.py -Compressing openstructure\lib\test\test_eof.py -Compressing openstructure\lib\test\test_epoll.py -Compressing openstructure\lib\test\test_errno.py -Compressing openstructure\lib\test\test_exceptions.py -Compressing openstructure\lib\test\test_exception_variations.py -Compressing openstructure\lib\test\test_extcall.py -Compressing openstructure\lib\test\test_fcntl.py -Compressing openstructure\lib\test\test_file.py -Compressing openstructure\lib\test\test_filecmp.py -Compressing openstructure\lib\test\test_fileinput.py -Compressing openstructure\lib\test\test_fileio.py -Compressing openstructure\lib\test\test_float.py -Compressing openstructure\lib\test\test_fnmatch.py -Compressing openstructure\lib\test\test_fork1.py -Compressing openstructure\lib\test\test_format.py -Compressing openstructure\lib\test\test_fpformat.py -Compressing openstructure\lib\test\test_fractions.py -Compressing openstructure\lib\test\test_frozen.py -Compressing openstructure\lib\test\test_ftplib.py -Compressing openstructure\lib\test\test_funcattrs.py -Compressing openstructure\lib\test\test_functools.py -Compressing openstructure\lib\test\test_future.py -Compressing openstructure\lib\test\test_future1.py -Compressing openstructure\lib\test\test_future2.py -Compressing openstructure\lib\test\test_future3.py -Compressing openstructure\lib\test\test_future4.py -Compressing openstructure\lib\test\test_future5.py -Compressing openstructure\lib\test\test_future_builtins.py -Compressing openstructure\lib\test\test_gc.py -Compressing openstructure\lib\test\test_gdbm.py -Compressing openstructure\lib\test\test_generators.py -Compressing openstructure\lib\test\test_genericpath.py -Compressing openstructure\lib\test\test_genexps.py -Compressing openstructure\lib\test\test_getargs.py -Compressing openstructure\lib\test\test_getargs2.py -Compressing openstructure\lib\test\test_getopt.py -Compressing openstructure\lib\test\test_gettext.py -Compressing openstructure\lib\test\test_gl.py -Compressing openstructure\lib\test\test_glob.py -Compressing openstructure\lib\test\test_global.py -Compressing openstructure\lib\test\test_grammar.py -Compressing openstructure\lib\test\test_grp.py -Compressing openstructure\lib\test\test_gzip.py -Compressing openstructure\lib\test\test_hash.py -Compressing openstructure\lib\test\test_hashlib.py -Compressing openstructure\lib\test\test_heapq.py -Compressing openstructure\lib\test\test_hmac.py -Compressing openstructure\lib\test\test_hotshot.py -Compressing openstructure\lib\test\test_htmllib.py -Compressing openstructure\lib\test\test_htmlparser.py -Compressing openstructure\lib\test\test_httplib.py -Compressing openstructure\lib\test\test_httpservers.py -Compressing openstructure\lib\test\test_imageop.py -Compressing openstructure\lib\test\test_imaplib.py -Compressing openstructure\lib\test\test_imgfile.py -Compressing openstructure\lib\test\test_imp.py -Compressing openstructure\lib\test\test_import.py -Compressing openstructure\lib\test\test_importhooks.py -Compressing openstructure\lib\test\test_index.py -Compressing openstructure\lib\test\test_inspect.py -Compressing openstructure\lib\test\test_int.py -Compressing openstructure\lib\test\test_int_literal.py -Compressing openstructure\lib\test\test_io.py -Compressing openstructure\lib\test\test_ioctl.py -Compressing openstructure\lib\test\test_isinstance.py -Compressing openstructure\lib\test\test_iter.py -Compressing openstructure\lib\test\test_iterlen.py -Compressing openstructure\lib\test\test_itertools.py -Compressing openstructure\lib\test\test_json.py -Compressing openstructure\lib\test\test_kqueue.py -Compressing openstructure\lib\test\test_largefile.py -Compressing openstructure\lib\test\test_lib2to3.py -Compressing openstructure\lib\test\test_linecache.py -Compressing openstructure\lib\test\test_linuxaudiodev.py -Compressing openstructure\lib\test\test_list.py -Compressing openstructure\lib\test\test_locale.py -Compressing openstructure\lib\test\test_logging.py -Compressing openstructure\lib\test\test_long.py -Compressing openstructure\lib\test\test_longexp.py -Compressing openstructure\lib\test\test_long_future.py -Compressing openstructure\lib\test\test_macos.py -Compressing openstructure\lib\test\test_macostools.py -Compressing openstructure\lib\test\test_macpath.py -Compressing openstructure\lib\test\test_mailbox.py -Compressing openstructure\lib\test\test_marshal.py -Compressing openstructure\lib\test\test_math.py -Compressing openstructure\lib\test\test_md5.py -Compressing openstructure\lib\test\test_memoryio.py -Compressing openstructure\lib\test\test_mhlib.py -Compressing openstructure\lib\test\test_mimetools.py -Compressing openstructure\lib\test\test_mimetypes.py -Compressing openstructure\lib\test\test_MimeWriter.py -Compressing openstructure\lib\test\test_minidom.py -Compressing openstructure\lib\test\test_mmap.py -Compressing openstructure\lib\test\test_module.py -Compressing openstructure\lib\test\test_modulefinder.py -Compressing openstructure\lib\test\test_multibytecodec.py -Compressing openstructure\lib\test\test_multibytecodec_support.py -Compressing openstructure\lib\test\test_multifile.py -Compressing openstructure\lib\test\test_multiprocessing.py -Compressing openstructure\lib\test\test_mutants.py -Compressing openstructure\lib\test\test_mutex.py -Compressing openstructure\lib\test\test_netrc.py -Compressing openstructure\lib\test\test_new.py -Compressing openstructure\lib\test\test_nis.py -Compressing openstructure\lib\test\test_normalization.py -Compressing openstructure\lib\test\test_ntpath.py -Compressing openstructure\lib\test\test_old_mailbox.py -Compressing openstructure\lib\test\test_opcodes.py -Compressing openstructure\lib\test\test_openpty.py -Compressing openstructure\lib\test\test_operator.py -Compressing openstructure\lib\test\test_optparse.py -Compressing openstructure\lib\test\test_os.py -Compressing openstructure\lib\test\test_ossaudiodev.py -Compressing openstructure\lib\test\test_parser.py -Compressing openstructure\lib\test\test_peepholer.py -Compressing openstructure\lib\test\test_pep247.py -Compressing openstructure\lib\test\test_pep263.py -Compressing openstructure\lib\test\test_pep277.py -Compressing openstructure\lib\test\test_pep292.py -Compressing openstructure\lib\test\test_pep352.py -Compressing openstructure\lib\test\test_pickle.py -Compressing openstructure\lib\test\test_pickletools.py -Compressing openstructure\lib\test\test_pipes.py -Compressing openstructure\lib\test\test_pkg.py -Compressing openstructure\lib\test\test_pkgimport.py -Compressing openstructure\lib\test\test_pkgutil.py -Compressing openstructure\lib\test\test_platform.py -Compressing openstructure\lib\test\test_plistlib.py -Compressing openstructure\lib\test\test_poll.py -Compressing openstructure\lib\test\test_popen.py -Compressing openstructure\lib\test\test_popen2.py -Compressing openstructure\lib\test\test_poplib.py -Compressing openstructure\lib\test\test_posix.py -Compressing openstructure\lib\test\test_posixpath.py -Compressing openstructure\lib\test\test_pow.py -Compressing openstructure\lib\test\test_pprint.py -Compressing openstructure\lib\test\test_print.py -Compressing openstructure\lib\test\test_profile.py -Compressing openstructure\lib\test\test_profilehooks.py -Compressing openstructure\lib\test\test_property.py -Compressing openstructure\lib\test\test_pstats.py -Compressing openstructure\lib\test\test_pty.py -Compressing openstructure\lib\test\test_pwd.py -Compressing openstructure\lib\test\test_py3kwarn.py -Compressing openstructure\lib\test\test_pyclbr.py -Compressing openstructure\lib\test\test_pydoc.py -Compressing openstructure\lib\test\test_pyexpat.py -Compressing openstructure\lib\test\test_queue.py -Compressing openstructure\lib\test\test_quopri.py -Compressing openstructure\lib\test\test_random.py -Compressing openstructure\lib\test\test_re.py -Compressing openstructure\lib\test\test_repr.py -Compressing openstructure\lib\test\test_resource.py -Compressing openstructure\lib\test\test_rfc822.py -Compressing openstructure\lib\test\test_richcmp.py -Compressing openstructure\lib\test\test_robotparser.py -Compressing openstructure\lib\test\test_runpy.py -Compressing openstructure\lib\test\test_sax.py -Compressing openstructure\lib\test\test_scope.py -Compressing openstructure\lib\test\test_scriptpackages.py -Compressing openstructure\lib\test\test_select.py -Compressing openstructure\lib\test\test_set.py -Compressing openstructure\lib\test\test_sets.py -Compressing openstructure\lib\test\test_sgmllib.py -Compressing openstructure\lib\test\test_sha.py -Compressing openstructure\lib\test\test_shelve.py -Compressing openstructure\lib\test\test_shlex.py -Compressing openstructure\lib\test\test_shutil.py -Compressing openstructure\lib\test\test_signal.py -Compressing openstructure\lib\test\test_SimpleHTTPServer.py -Compressing openstructure\lib\test\test_site.py -Compressing openstructure\lib\test\test_slice.py -Compressing openstructure\lib\test\test_smtplib.py -Compressing openstructure\lib\test\test_smtpnet.py -Compressing openstructure\lib\test\test_socket.py -Compressing openstructure\lib\test\test_socketserver.py -Compressing openstructure\lib\test\test_softspace.py -Compressing openstructure\lib\test\test_sort.py -Compressing openstructure\lib\test\test_sqlite.py -Compressing openstructure\lib\test\test_ssl.py -Compressing openstructure\lib\test\test_startfile.py -Compressing openstructure\lib\test\test_str.py -Compressing openstructure\lib\test\test_strftime.py -Compressing openstructure\lib\test\test_string.py -Compressing openstructure\lib\test\test_StringIO.py -Compressing openstructure\lib\test\test_stringprep.py -Compressing openstructure\lib\test\test_strop.py -Compressing openstructure\lib\test\test_strptime.py -Compressing openstructure\lib\test\test_struct.py -Compressing openstructure\lib\test\test_structmembers.py -Compressing openstructure\lib\test\test_structseq.py -Compressing openstructure\lib\test\test_subprocess.py -Compressing openstructure\lib\test\test_sunaudiodev.py -Compressing openstructure\lib\test\test_sundry.py -Compressing openstructure\lib\test\test_support.py -Compressing openstructure\lib\test\test_symtable.py -Compressing openstructure\lib\test\test_syntax.py -Compressing openstructure\lib\test\test_sys.py -Compressing openstructure\lib\test\test_tarfile.py -Compressing openstructure\lib\test\test_tcl.py -Compressing openstructure\lib\test\test_telnetlib.py -Compressing openstructure\lib\test\test_tempfile.py -Compressing openstructure\lib\test\test_textwrap.py -Compressing openstructure\lib\test\test_thread.py -Compressing openstructure\lib\test\test_threadedtempfile.py -Compressing openstructure\lib\test\test_threaded_import.py -Compressing openstructure\lib\test\test_threading.py -Compressing openstructure\lib\test\test_threading_local.py -Compressing openstructure\lib\test\test_time.py -Compressing openstructure\lib\test\test_timeout.py -Compressing openstructure\lib\test\test_tokenize.py -Compressing openstructure\lib\test\test_trace.py -Compressing openstructure\lib\test\test_traceback.py -Compressing openstructure\lib\test\test_transformer.py -Compressing openstructure\lib\test\test_tuple.py -Compressing openstructure\lib\test\test_typechecks.py -Compressing openstructure\lib\test\test_types.py -Compressing openstructure\lib\test\test_ucn.py -Compressing openstructure\lib\test\test_unary.py -Compressing openstructure\lib\test\test_undocumented_details.py -Compressing openstructure\lib\test\test_unicode.py -Compressing openstructure\lib\test\test_unicodedata.py -Compressing openstructure\lib\test\test_unicode_file.py -Compressing openstructure\lib\test\test_unittest.py -Compressing openstructure\lib\test\test_univnewlines.py -Compressing openstructure\lib\test\test_unpack.py -Compressing openstructure\lib\test\test_urllib.py -Compressing openstructure\lib\test\test_urllib2.py -Compressing openstructure\lib\test\test_urllib2net.py -Compressing openstructure\lib\test\test_urllib2_localnet.py -Compressing openstructure\lib\test\test_urllibnet.py -Compressing openstructure\lib\test\test_urlparse.py -Compressing openstructure\lib\test\test_userdict.py -Compressing openstructure\lib\test\test_userlist.py -Compressing openstructure\lib\test\test_userstring.py -Compressing openstructure\lib\test\test_uu.py -Compressing openstructure\lib\test\test_uuid.py -Compressing openstructure\lib\test\test_wait3.py -Compressing openstructure\lib\test\test_wait4.py -Compressing openstructure\lib\test\test_warnings.py -Compressing openstructure\lib\test\test_wave.py -Compressing openstructure\lib\test\test_weakref.py -Compressing openstructure\lib\test\test_whichdb.py -Compressing openstructure\lib\test\test_winreg.py -Compressing openstructure\lib\test\test_winsound.py -Compressing openstructure\lib\test\test_with.py -Compressing openstructure\lib\test\test_wsgiref.py -Compressing openstructure\lib\test\test_xdrlib.py -Compressing openstructure\lib\test\test_xmllib.py -Compressing openstructure\lib\test\test_xmlrpc.py -Compressing openstructure\lib\test\test_xml_etree.py -Compressing openstructure\lib\test\test_xml_etree_c.py -Compressing openstructure\lib\test\test_xpickle.py -Compressing openstructure\lib\test\test_xrange.py -Compressing openstructure\lib\test\test_zipfile.py -Compressing openstructure\lib\test\test_zipfile64.py -Compressing openstructure\lib\test\test_zipimport.py -Compressing openstructure\lib\test\test_zipimport_support.py -Compressing openstructure\lib\test\test_zlib.py -Compressing openstructure\lib\test\test__locale.py -Compressing openstructure\lib\test\test___all__.py -Compressing openstructure\lib\test\test___future__.py -Compressing openstructure\lib\test\tf_inherit_check.py -Compressing openstructure\lib\test\threaded_import_hangers.py -Compressing openstructure\lib\test\time_hashlib.py -Compressing openstructure\lib\test\tokenize_tests.txt -Compressing openstructure\lib\test\warning_tests.py -Compressing openstructure\lib\test\wrongcert.pem -Compressing openstructure\lib\test\xmltests.py -Compressing openstructure\lib\test\zipdir.zip -Compressing openstructure\lib\test\__init__.py -Compressing openstructure\lib\textwrap.py -Compressing openstructure\lib\textwrap.pyc -Compressing openstructure\lib\this.py -Compressing openstructure\lib\threading.py -Compressing openstructure\lib\threading.pyc -Compressing openstructure\lib\timeit.py -Compressing openstructure\lib\toaiff.py -Compressing openstructure\lib\token.py -Compressing openstructure\lib\tokenize.py -Compressing openstructure\lib\trace.py -Compressing openstructure\lib\traceback.py -Compressing openstructure\lib\traceback.pyc -Compressing openstructure\lib\tty.py -Compressing openstructure\lib\types.py -Compressing openstructure\lib\types.pyc -Compressing openstructure\lib\unicodedata.lib -Compressing openstructure\lib\unicodedata.pyd -Compressing openstructure\lib\unicodedata_d.lib -Compressing openstructure\lib\unicodedata_d.pyd -Compressing openstructure\lib\unittest.py -Compressing openstructure\lib\unittest.pyc -Compressing openstructure\lib\urllib.py -Compressing openstructure\lib\urllib2.py -Compressing openstructure\lib\urlparse.py -Compressing openstructure\lib\urlparse.pyc -Compressing openstructure\lib\user.py -Compressing openstructure\lib\UserDict.py -Compressing openstructure\lib\UserDict.pyc -Compressing openstructure\lib\UserList.py -Compressing openstructure\lib\UserString.py -Compressing openstructure\lib\uu.py -Compressing openstructure\lib\uuid.py -Compressing openstructure\lib\w9xpopen.exe -Compressing openstructure\lib\warnings.py -Compressing openstructure\lib\warnings.pyc -Compressing openstructure\lib\wave.py -Compressing openstructure\lib\weakref.py -Compressing openstructure\lib\whichdb.py -Compressing openstructure\lib\winsound.lib -Compressing openstructure\lib\winsound.pyd -Compressing openstructure\lib\winsound_d.lib -Compressing openstructure\lib\winsound_d.pyd -Compressing openstructure\lib\wsgiref.egg-info -Compressing openstructure\lib\wsgiref\handlers.py -Compressing openstructure\lib\wsgiref\headers.py -Compressing openstructure\lib\wsgiref\simple_server.py -Compressing openstructure\lib\wsgiref\util.py -Compressing openstructure\lib\wsgiref\validate.py -Compressing openstructure\lib\wsgiref\__init__.py -Compressing openstructure\lib\xdrlib.py -Compressing openstructure\lib\xmllib.py -Compressing openstructure\lib\xmlrpclib.py -Compressing openstructure\lib\xml\dom\domreg.py -Compressing openstructure\lib\xml\dom\expatbuilder.py -Compressing openstructure\lib\xml\dom\minicompat.py -Compressing openstructure\lib\xml\dom\minidom.py -Compressing openstructure\lib\xml\dom\NodeFilter.py -Compressing openstructure\lib\xml\dom\pulldom.py -Compressing openstructure\lib\xml\dom\xmlbuilder.py -Compressing openstructure\lib\xml\dom\__init__.py -Compressing openstructure\lib\xml\etree\cElementTree.py -Compressing openstructure\lib\xml\etree\cElementTree.pyc -Compressing openstructure\lib\xml\etree\ElementInclude.py -Compressing openstructure\lib\xml\etree\ElementPath.py -Compressing openstructure\lib\xml\etree\ElementPath.pyc -Compressing openstructure\lib\xml\etree\ElementTree.py -Compressing openstructure\lib\xml\etree\ElementTree.pyc -Compressing openstructure\lib\xml\etree\__init__.py -Compressing openstructure\lib\xml\etree\__init__.pyc -Compressing openstructure\lib\xml\parsers\expat.py -Compressing openstructure\lib\xml\parsers\__init__.py -Compressing openstructure\lib\xml\sax\expatreader.py -Compressing openstructure\lib\xml\sax\handler.py -Compressing openstructure\lib\xml\sax\saxutils.py -Compressing openstructure\lib\xml\sax\xmlreader.py -Compressing openstructure\lib\xml\sax\_exceptions.py -Compressing openstructure\lib\xml\sax\__init__.py -Compressing openstructure\lib\xml\__init__.py -Compressing openstructure\lib\xml\__init__.pyc -Compressing openstructure\lib\zdll.exp -Compressing openstructure\lib\zdll.lib -Compressing openstructure\lib\zipfile.py -Compressing openstructure\lib\zlib.def -Compressing openstructure\lib\zlib1.dll -Compressing openstructure\lib\zlib1.exp -Compressing openstructure\lib\zlib1.lib -Compressing openstructure\lib\zlib1d.dll -Compressing openstructure\lib\zlib1d.lib -Compressing openstructure\lib\_abcoll.py -Compressing openstructure\lib\_abcoll.pyc -Compressing openstructure\lib\_ctypes.lib -Compressing openstructure\lib\_ctypes.pyd -Compressing openstructure\lib\_ctypes_d.lib -Compressing openstructure\lib\_ctypes_d.pyd -Compressing openstructure\lib\_ctypes_test.lib -Compressing openstructure\lib\_ctypes_test.pyd -Compressing openstructure\lib\_ctypes_test_d.lib -Compressing openstructure\lib\_ctypes_test_d.pyd -Compressing openstructure\lib\_elementtree.lib -Compressing openstructure\lib\_elementtree.pyd -Compressing openstructure\lib\_elementtree_d.lib -Compressing openstructure\lib\_elementtree_d.pyd -Compressing openstructure\lib\_LWPCookieJar.py -Compressing openstructure\lib\_MozillaCookieJar.py -Compressing openstructure\lib\_msi.lib -Compressing openstructure\lib\_msi.pyd -Compressing openstructure\lib\_msi_d.lib -Compressing openstructure\lib\_msi_d.pyd -Compressing openstructure\lib\_multiprocessing.lib -Compressing openstructure\lib\_multiprocessing.pyd -Compressing openstructure\lib\_multiprocessing_d.lib -Compressing openstructure\lib\_multiprocessing_d.pyd -Compressing openstructure\lib\_socket.lib -Compressing openstructure\lib\_socket.pyd -Compressing openstructure\lib\_socket_d.lib -Compressing openstructure\lib\_socket_d.pyd -Compressing openstructure\lib\_strptime.py -Compressing openstructure\lib\_testcapi.lib -Compressing openstructure\lib\_testcapi.pyd -Compressing openstructure\lib\_testcapi_d.lib -Compressing openstructure\lib\_testcapi_d.pyd -Compressing openstructure\lib\_threading_local.py -Compressing openstructure\lib\__future__.py -Compressing openstructure\lib\__future__.pyc -Compressing openstructure\lib\__phello__.foo.py -Compressing openstructure\share\openstructure\examples\entity\bbox.py -Compressing openstructure\share\openstructure\examples\entity\color_by_property.py -Compressing openstructure\share\openstructure\examples\entity\fragment.pdb -Compressing openstructure\share\openstructure\examples\entity\fragment2.pdb -Compressing openstructure\share\openstructure\examples\entity\gfx_selection.py -Compressing openstructure\share\openstructure\examples\entity\gfx_symmetry.py -Compressing openstructure\share\openstructure\examples\entity\gradient.py -Compressing openstructure\share\openstructure\examples\entity\load_and_display.py -Compressing openstructure\share\openstructure\examples\entity\primitives.py -Compressing openstructure\share\openstructure\examples\entity\random_lines.py -Compressing openstructure\share\openstructure\examples\entity\rendermodes.py -Compressing openstructure\share\openstructure\examples\entity\sdh.pdb -Compressing openstructure\share\openstructure\examples\iplt\circle.png -Compressing openstructure\share\openstructure\examples\iplt\create_split_image.py -Compressing openstructure\share\openstructure\examples\iplt\fft_li.py -Compressing openstructure\share\openstructure\examples\iplt\modulate_image.py -Compressing openstructure\share\openstructure\examples\iplt\spoke_pattern.py -Compressing openstructure\share\openstructure\examples\iplt\square.png -Compressing openstructure\share\openstructure\examples\iplt\tone1.png -Compressing openstructure\share\openstructure\examples\iplt\tone2.png -Compressing openstructure\share\openstructure\examples\iplt\tone3.png -Compressing openstructure\share\openstructure\examples\iplt\tone4.png -Compressing openstructure\share\openstructure\examples\iplt\tone5.png -Compressing openstructure\share\openstructure\examples\iplt\view_phase_diff.py -Compressing openstructure\share\openstructure\examples\map\gfx_mapiso.py -Compressing openstructure\share\openstructure\examples\map\gfx_mapslab.py -Compressing openstructure\share\openstructure\examples\misc\bitmap_export.py -Compressing openstructure\share\openstructure\examples\misc\export_pov.py -Compressing openstructure\share\openstructure\examples\misc\fragment.pdb -Compressing openstructure\share\openstructure\examples\misc\the_hammer.py -Compressing openstructure\share\openstructure\examples\modelling\roll_helix.py -Compressing openstructure\share\openstructure\examples\modelling\sdh.pdb -Compressing openstructure\share\openstructure\examples\modelling\strip_sidechains.py -Compressing openstructure\share\openstructure\examples\surf\fragment.pdb -Compressing openstructure\share\openstructure\examples\surf\sdh.face -Compressing openstructure\share\openstructure\examples\surf\sdh.pdb -Compressing openstructure\share\openstructure\examples\surf\sdh.vert -Compressing openstructure\share\openstructure\examples\surf\test_rsurf.py -Compressing openstructure\share\openstructure\examples\surf\test_surf.py -Compressing openstructure\share\openstructure\examples\surf\test_surf_pov.py -Compressing openstructure\share\openstructure\examples\trj\fragment.pdb -Compressing openstructure\share\openstructure\examples\trj\mpor_trj.crd -Compressing openstructure\share\openstructure\examples\trj\mpor_trj_short.trj -Compressing openstructure\share\openstructure\examples\trj\sample.dcd -Compressing openstructure\share\openstructure\examples\trj\sample.pdb -Compressing openstructure\share\openstructure\examples\trj\test_trj.py -Compressing openstructure\share\openstructure\examples\trj\test_trj_blur.py -Compressing openstructure\share\openstructure\examples\ui\board.py -Compressing openstructure\share\openstructure\examples\ui\color_tool.py -Compressing openstructure\share\openstructure\examples\ui\mdi_example.py -Compressing openstructure\share\openstructure\examples\ui\menubar_example.py -Compressing openstructure\share\openstructure\examples\ui\widget_example.py - -Everything is Ok diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..7c5f0a3725c4e27a34fd5a500aaae8dc224f880f --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,2 @@ +build +source diff --git a/doc/conf/conf.py b/doc/conf/conf.py index d7a1455a17fa44609c07625ed99d33de930ce6f1..e37ac88a4dba6c8b16869ba1964cb688104aa527 100644 --- a/doc/conf/conf.py +++ b/doc/conf/conf.py @@ -16,8 +16,10 @@ import sys, os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.append(os.path.abspath('.')) - +sys.path.append(os.path.join(os.path.abspath('../..'), + 'stage/lib/openstructure')) +sys.path.append(os.path.join(os.path.abspath('../..'), + 'stage/lib64/openstructure')) # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions @@ -86,7 +88,7 @@ exclude_trees = [] pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +modindex_common_prefix = ['ost.'] # -- Options for HTML output --------------------------------------------------- @@ -162,7 +164,6 @@ html_static_path = ['_static'] # Output file base name for HTML help builder. htmlhelp_basename = 'openstructure-doc' - # -- Options for LaTeX output -------------------------------------------------- # The paper size ('letter' or 'a4'). diff --git a/doc/make.py b/doc/make.py new file mode 100644 index 0000000000000000000000000000000000000000..1653dc73eb1ba177b05530200027f5e3bf90dd61 --- /dev/null +++ b/doc/make.py @@ -0,0 +1,97 @@ +import os, sys, re +import shutil +from ost import settings +from optparse import OptionParser + + +if len(sys.argv)==2: + root_dir=sys.argv[1] +else: + root_dir='.' + +def _OutputPath(inpath, outdir): + parts=inpath.split(os.path.sep) + filtered_parts=[outdir] + index=parts.index('modules') + for part in parts[index+1:]: + if part!='doc': + filtered_parts.append(part) + return os.path.join(*filtered_parts) + +def _RequireCopy(in_name, out_name): + if not os.path.exists(out_name): + return True + if os.path.getmtime(in_name)>os.path.getmtime(out_name): + return True + return False + + +pattern = re.compile('[a-zA-Z0-9_//]+\.png|[a-zA-Z0-9_//]+\.jpg') +def _CheckImage(in_name): + file = open(in_name, "r") + text = file.read() + picture_list = pattern.findall(text) + file.close() + return picture_list + +def _CreateAndCopy(in_name, outdir): + out_name=_OutputPath(in_name, outdir) + out_dir=os.path.dirname(out_name) + if not os.path.exists(out_dir): + _MkDir(out_dir) + if _RequireCopy(in_name, out_name): + print 'cp %s %s' % (in_name, out_name) + os.system('cp %s %s' % (in_name, out_name)) + +def _MkDir(dirname): + """ + Recursively create directories if they don't exist + """ + parts=dirname.split(os.path.sep) + for i, d in enumerate(parts): + n=os.path.join(*parts[:1+i]) + if not os.path.exists(n): + os.mkdir(n) + +def _CollectRstDocs(outdir, dirname, fnames): + for fname in fnames: + if fname.endswith('.rst'): + in_name=os.path.join(dirname, fname) + _CreateAndCopy(in_name,outdir) + img_list = _CheckImage(in_name) + for img in img_list: + img_name = os.path.join(dirname,img) + _CreateAndCopy(img_name, outdir) + + +def ParseArgs(): + parser = OptionParser("usage: ost make.py [options] ") + parser.add_option("-l","--linkcheck", action="store_true", default=False, dest="linkcheck", help="validate all external links") + parser.add_option("-b", "--build-html", action="store_true", default=False, dest="html", help="build html documentation") + parser.add_option("-d", "--doctest", action="store_true", default=False, dest="doctest", help="run all test") + parser.add_option("-q", "--quiet", action="store_true", default=False, dest="quiet", help="run all test") + return parser.parse_args() + +opts, args=ParseArgs() +if not opts.html and\ + not opts.linkcheck and\ + not opts.doctest: + opts.html=True + +opt_str='' +if opts.quiet: + opt_str=' -Q ' + +for sub_dir in ('modules',): + os.path.walk(sub_dir, _CollectRstDocs, 'doc/source') +sphinx_bin=settings.Locate(['sphinx-build', 'sphinx-build-2.6']) + +if opts.html: + os.system('%s %s -b html -c %s %s %s' % (sphinx_bin, opt_str, 'doc/conf', 'doc/source', + 'doc/build')) +if opts.doctest: + os.system('%s %s -b doctest -c %s %s %s' % (sphinx_bin, opt_str, 'doc/conf', 'doc/source', + 'doc/build')) +if opts.linkcheck: + os.system('%s %s -b linkcheck -c %s %s %s' % (sphinx_bin, opt_str, 'doc/conf', 'doc/source', + 'doc/build')) diff --git a/doc/to_sphinx.py b/doc/to_sphinx.py new file mode 100644 index 0000000000000000000000000000000000000000..09809d2351170a195c26aeada9f2c28b6d4a62fa --- /dev/null +++ b/doc/to_sphinx.py @@ -0,0 +1,78 @@ +import re +to_document=sys.argv[1] +parts=to_document.split('.') +module='.'.join(parts[:-1]) +class_name=parts[-1] +__import__(module, globals(), locals()) +mod=sys.modules[module] +the_class=getattr(mod, class_name) +print '.. currentmodule:: %s' % module +print '' +print '.. class:: %s' % class_name + +def _arg_type(arg_type): + if arg_type not in ('str', 'int', 'bool', 'float', 'None'): + return ':class:`%s`' % arg_type + return arg_type +class TypedArgument: + def __init__(self, name, arg_type): + self.name=name + self.type=_arg_type(arg_type) + +class Method: + def __init__(self, name, rtype, args, optional): + self.name=name + self.rtype=rtype + self.args=args + self.opt=optional + def to_sphinx(self): + if len(self.opt)>0: + signature='%s(%s%s)' % (self.name, ', '.join([a.name for a in self.args]), + '[, %s]' % ', '.join([a.name for a in self.opt])) + else: + signature='%s(%s)' % (self.name, ', '.join([a.name for a in self.args])) + val=' .. method:: %s\n\n' % signature + for arg in self.args+self.opt: + val+=' :param %s:\n' % arg.name + val+=' :type %s: %s\n' % (arg.name, arg.type) + val+=' :rtype: %s\n' % self.rtype + return val + +def parse_signature(signature): + arg=re.compile(r'\s*(\((?P<type>\w+)\)(?P<name>\w+),?\s*)*') + opt_args=re.compile(r'(?P<args>.*)(:?\[,(?P<kwargs>.*)\])') + method=re.compile(r'(?P<name>\w+)\((?P<args>.*)\) -> (?P<rtype>\w+)') + method_match=method.match(signature) + if method_match: + optional=opt_args.match(method_match.groupdict()['args']) + opt_args=[] + if optional: + for opt_arg in optional.groupdict()['kwargs'].split(','): + a=arg.match(opt_arg) + assert a + opt_args.append(TypedArgument(a.groupdict()['name'], a.groupdict()['type'])) + arg_string=optional.groupdict()['args'] + else: + arg_string=method_match.groupdict()['args'] + args=[] + for aarg in arg_string.split(','): + a=arg.match(aarg) + assert a + args.append(TypedArgument(a.groupdict()['name'], a.groupdict()['type'])) + + return Method(method_match.groupdict()['name'], + _arg_type(method_match.groupdict()['rtype']), + args[1:], opt_args) + print signature, 'not matched' + +if '--no-derived' in sys.argv: + members=the_class.__dict__.keys() +else: + members=dir(the_class) +for m in members: + if m.startswith('__'): + continue + member_doc=getattr(the_class, m).__doc__ + if member_doc: + method=parse_signature(member_doc.split('\n')[1]) + print method.to_sphinx() \ No newline at end of file diff --git a/examples/dokk/KEYS b/examples/code_fragments/dokk/KEYS similarity index 100% rename from examples/dokk/KEYS rename to examples/code_fragments/dokk/KEYS diff --git a/examples/dokk/config.py b/examples/code_fragments/dokk/config.py similarity index 100% rename from examples/dokk/config.py rename to examples/code_fragments/dokk/config.py diff --git a/examples/dokk/datafiles/dengue/level.ini b/examples/code_fragments/dokk/datafiles/dengue/level.ini similarity index 100% rename from examples/dokk/datafiles/dengue/level.ini rename to examples/code_fragments/dokk/datafiles/dengue/level.ini diff --git a/examples/dokk/datafiles/dengue/levelF.ini b/examples/code_fragments/dokk/datafiles/dengue/levelF.ini similarity index 100% rename from examples/dokk/datafiles/dengue/levelF.ini rename to examples/code_fragments/dokk/datafiles/dengue/levelF.ini diff --git a/examples/dokk/datafiles/dengue/ligand.sdf b/examples/code_fragments/dokk/datafiles/dengue/ligand.sdf similarity index 100% rename from examples/dokk/datafiles/dengue/ligand.sdf rename to examples/code_fragments/dokk/datafiles/dengue/ligand.sdf diff --git a/examples/dokk/datafiles/dengue/protein.pdb b/examples/code_fragments/dokk/datafiles/dengue/protein.pdb similarity index 100% rename from examples/dokk/datafiles/dengue/protein.pdb rename to examples/code_fragments/dokk/datafiles/dengue/protein.pdb diff --git a/examples/dokk/datafiles/dengue/surface.face b/examples/code_fragments/dokk/datafiles/dengue/surface.face similarity index 100% rename from examples/dokk/datafiles/dengue/surface.face rename to examples/code_fragments/dokk/datafiles/dengue/surface.face diff --git a/examples/dokk/datafiles/dengue/surface.vert b/examples/code_fragments/dokk/datafiles/dengue/surface.vert similarity index 100% rename from examples/dokk/datafiles/dengue/surface.vert rename to examples/code_fragments/dokk/datafiles/dengue/surface.vert diff --git a/examples/dokk/datafiles/dengue/top_ten.ini b/examples/code_fragments/dokk/datafiles/dengue/top_ten.ini similarity index 100% rename from examples/dokk/datafiles/dengue/top_ten.ini rename to examples/code_fragments/dokk/datafiles/dengue/top_ten.ini diff --git a/examples/dokk/datafiles/glyoxalase/level.ini b/examples/code_fragments/dokk/datafiles/glyoxalase/level.ini similarity index 100% rename from examples/dokk/datafiles/glyoxalase/level.ini rename to examples/code_fragments/dokk/datafiles/glyoxalase/level.ini diff --git a/examples/dokk/datafiles/glyoxalase/levelF.ini b/examples/code_fragments/dokk/datafiles/glyoxalase/levelF.ini similarity index 100% rename from examples/dokk/datafiles/glyoxalase/levelF.ini rename to examples/code_fragments/dokk/datafiles/glyoxalase/levelF.ini diff --git a/examples/dokk/datafiles/glyoxalase/ligand.sdf b/examples/code_fragments/dokk/datafiles/glyoxalase/ligand.sdf similarity index 100% rename from examples/dokk/datafiles/glyoxalase/ligand.sdf rename to examples/code_fragments/dokk/datafiles/glyoxalase/ligand.sdf diff --git a/examples/dokk/datafiles/glyoxalase/protein.pdb b/examples/code_fragments/dokk/datafiles/glyoxalase/protein.pdb similarity index 100% rename from examples/dokk/datafiles/glyoxalase/protein.pdb rename to examples/code_fragments/dokk/datafiles/glyoxalase/protein.pdb diff --git a/examples/dokk/datafiles/glyoxalase/surface.face b/examples/code_fragments/dokk/datafiles/glyoxalase/surface.face similarity index 100% rename from examples/dokk/datafiles/glyoxalase/surface.face rename to examples/code_fragments/dokk/datafiles/glyoxalase/surface.face diff --git a/examples/dokk/datafiles/glyoxalase/surface.vert b/examples/code_fragments/dokk/datafiles/glyoxalase/surface.vert similarity index 100% rename from examples/dokk/datafiles/glyoxalase/surface.vert rename to examples/code_fragments/dokk/datafiles/glyoxalase/surface.vert diff --git a/examples/dokk/datafiles/glyoxalase/top_ten.ini b/examples/code_fragments/dokk/datafiles/glyoxalase/top_ten.ini similarity index 100% rename from examples/dokk/datafiles/glyoxalase/top_ten.ini rename to examples/code_fragments/dokk/datafiles/glyoxalase/top_ten.ini diff --git a/examples/dokk/datafiles/hud.ini b/examples/code_fragments/dokk/datafiles/hud.ini similarity index 100% rename from examples/dokk/datafiles/hud.ini rename to examples/code_fragments/dokk/datafiles/hud.ini diff --git a/examples/dokk/datafiles/hudF.ini b/examples/code_fragments/dokk/datafiles/hudF.ini similarity index 100% rename from examples/dokk/datafiles/hudF.ini rename to examples/code_fragments/dokk/datafiles/hudF.ini diff --git a/examples/dokk/datafiles/retinol/level.ini b/examples/code_fragments/dokk/datafiles/retinol/level.ini similarity index 100% rename from examples/dokk/datafiles/retinol/level.ini rename to examples/code_fragments/dokk/datafiles/retinol/level.ini diff --git a/examples/dokk/datafiles/retinol/levelF.ini b/examples/code_fragments/dokk/datafiles/retinol/levelF.ini similarity index 100% rename from examples/dokk/datafiles/retinol/levelF.ini rename to examples/code_fragments/dokk/datafiles/retinol/levelF.ini diff --git a/examples/dokk/datafiles/retinol/ligand.sdf b/examples/code_fragments/dokk/datafiles/retinol/ligand.sdf similarity index 100% rename from examples/dokk/datafiles/retinol/ligand.sdf rename to examples/code_fragments/dokk/datafiles/retinol/ligand.sdf diff --git a/examples/dokk/datafiles/retinol/protein.pdb b/examples/code_fragments/dokk/datafiles/retinol/protein.pdb similarity index 100% rename from examples/dokk/datafiles/retinol/protein.pdb rename to examples/code_fragments/dokk/datafiles/retinol/protein.pdb diff --git a/examples/dokk/datafiles/retinol/surface.face b/examples/code_fragments/dokk/datafiles/retinol/surface.face similarity index 100% rename from examples/dokk/datafiles/retinol/surface.face rename to examples/code_fragments/dokk/datafiles/retinol/surface.face diff --git a/examples/dokk/datafiles/retinol/surface.vert b/examples/code_fragments/dokk/datafiles/retinol/surface.vert similarity index 100% rename from examples/dokk/datafiles/retinol/surface.vert rename to examples/code_fragments/dokk/datafiles/retinol/surface.vert diff --git a/examples/dokk/datafiles/retinol/top_ten.ini b/examples/code_fragments/dokk/datafiles/retinol/top_ten.ini similarity index 100% rename from examples/dokk/datafiles/retinol/top_ten.ini rename to examples/code_fragments/dokk/datafiles/retinol/top_ten.ini diff --git a/examples/dokk/datafiles/thrombin/level.ini b/examples/code_fragments/dokk/datafiles/thrombin/level.ini similarity index 100% rename from examples/dokk/datafiles/thrombin/level.ini rename to examples/code_fragments/dokk/datafiles/thrombin/level.ini diff --git a/examples/dokk/datafiles/thrombin/levelF.ini b/examples/code_fragments/dokk/datafiles/thrombin/levelF.ini similarity index 100% rename from examples/dokk/datafiles/thrombin/levelF.ini rename to examples/code_fragments/dokk/datafiles/thrombin/levelF.ini diff --git a/examples/dokk/datafiles/thrombin/ligand.sdf b/examples/code_fragments/dokk/datafiles/thrombin/ligand.sdf similarity index 100% rename from examples/dokk/datafiles/thrombin/ligand.sdf rename to examples/code_fragments/dokk/datafiles/thrombin/ligand.sdf diff --git a/examples/dokk/datafiles/thrombin/protein.pdb b/examples/code_fragments/dokk/datafiles/thrombin/protein.pdb similarity index 100% rename from examples/dokk/datafiles/thrombin/protein.pdb rename to examples/code_fragments/dokk/datafiles/thrombin/protein.pdb diff --git a/examples/dokk/datafiles/thrombin/surface.face b/examples/code_fragments/dokk/datafiles/thrombin/surface.face similarity index 100% rename from examples/dokk/datafiles/thrombin/surface.face rename to examples/code_fragments/dokk/datafiles/thrombin/surface.face diff --git a/examples/dokk/datafiles/thrombin/surface.vert b/examples/code_fragments/dokk/datafiles/thrombin/surface.vert similarity index 100% rename from examples/dokk/datafiles/thrombin/surface.vert rename to examples/code_fragments/dokk/datafiles/thrombin/surface.vert diff --git a/examples/dokk/datafiles/thrombin/top_ten.ini b/examples/code_fragments/dokk/datafiles/thrombin/top_ten.ini similarity index 100% rename from examples/dokk/datafiles/thrombin/top_ten.ini rename to examples/code_fragments/dokk/datafiles/thrombin/top_ten.ini diff --git a/examples/dokk/datafiles/tutorial_1/level.ini b/examples/code_fragments/dokk/datafiles/tutorial_1/level.ini similarity index 100% rename from examples/dokk/datafiles/tutorial_1/level.ini rename to examples/code_fragments/dokk/datafiles/tutorial_1/level.ini diff --git a/examples/dokk/datafiles/tutorial_1/levelF.ini b/examples/code_fragments/dokk/datafiles/tutorial_1/levelF.ini similarity index 100% rename from examples/dokk/datafiles/tutorial_1/levelF.ini rename to examples/code_fragments/dokk/datafiles/tutorial_1/levelF.ini diff --git a/examples/dokk/datafiles/tutorial_1/ligand.sdf b/examples/code_fragments/dokk/datafiles/tutorial_1/ligand.sdf similarity index 100% rename from examples/dokk/datafiles/tutorial_1/ligand.sdf rename to examples/code_fragments/dokk/datafiles/tutorial_1/ligand.sdf diff --git a/examples/dokk/datafiles/tutorial_1/protein.pdb b/examples/code_fragments/dokk/datafiles/tutorial_1/protein.pdb similarity index 100% rename from examples/dokk/datafiles/tutorial_1/protein.pdb rename to examples/code_fragments/dokk/datafiles/tutorial_1/protein.pdb diff --git a/examples/dokk/datafiles/tutorial_1/surface.face b/examples/code_fragments/dokk/datafiles/tutorial_1/surface.face similarity index 100% rename from examples/dokk/datafiles/tutorial_1/surface.face rename to examples/code_fragments/dokk/datafiles/tutorial_1/surface.face diff --git a/examples/dokk/datafiles/tutorial_1/surface.vert b/examples/code_fragments/dokk/datafiles/tutorial_1/surface.vert similarity index 100% rename from examples/dokk/datafiles/tutorial_1/surface.vert rename to examples/code_fragments/dokk/datafiles/tutorial_1/surface.vert diff --git a/examples/dokk/datafiles/tutorial_1/top_ten.ini b/examples/code_fragments/dokk/datafiles/tutorial_1/top_ten.ini similarity index 100% rename from examples/dokk/datafiles/tutorial_1/top_ten.ini rename to examples/code_fragments/dokk/datafiles/tutorial_1/top_ten.ini diff --git a/examples/dokk/datafiles/tutorial_2/level.ini b/examples/code_fragments/dokk/datafiles/tutorial_2/level.ini similarity index 100% rename from examples/dokk/datafiles/tutorial_2/level.ini rename to examples/code_fragments/dokk/datafiles/tutorial_2/level.ini diff --git a/examples/dokk/datafiles/tutorial_2/levelF.ini b/examples/code_fragments/dokk/datafiles/tutorial_2/levelF.ini similarity index 100% rename from examples/dokk/datafiles/tutorial_2/levelF.ini rename to examples/code_fragments/dokk/datafiles/tutorial_2/levelF.ini diff --git a/examples/dokk/datafiles/tutorial_2/ligand.sdf b/examples/code_fragments/dokk/datafiles/tutorial_2/ligand.sdf similarity index 100% rename from examples/dokk/datafiles/tutorial_2/ligand.sdf rename to examples/code_fragments/dokk/datafiles/tutorial_2/ligand.sdf diff --git a/examples/dokk/datafiles/tutorial_2/protein.pdb b/examples/code_fragments/dokk/datafiles/tutorial_2/protein.pdb similarity index 100% rename from examples/dokk/datafiles/tutorial_2/protein.pdb rename to examples/code_fragments/dokk/datafiles/tutorial_2/protein.pdb diff --git a/examples/dokk/datafiles/tutorial_2/surface.face b/examples/code_fragments/dokk/datafiles/tutorial_2/surface.face similarity index 100% rename from examples/dokk/datafiles/tutorial_2/surface.face rename to examples/code_fragments/dokk/datafiles/tutorial_2/surface.face diff --git a/examples/dokk/datafiles/tutorial_2/surface.vert b/examples/code_fragments/dokk/datafiles/tutorial_2/surface.vert similarity index 100% rename from examples/dokk/datafiles/tutorial_2/surface.vert rename to examples/code_fragments/dokk/datafiles/tutorial_2/surface.vert diff --git a/examples/dokk/datafiles/tutorial_2/top_ten.ini b/examples/code_fragments/dokk/datafiles/tutorial_2/top_ten.ini similarity index 100% rename from examples/dokk/datafiles/tutorial_2/top_ten.ini rename to examples/code_fragments/dokk/datafiles/tutorial_2/top_ten.ini diff --git a/examples/dokk/dokk b/examples/code_fragments/dokk/dokk similarity index 100% rename from examples/dokk/dokk rename to examples/code_fragments/dokk/dokk diff --git a/examples/dokk/dokk.py b/examples/code_fragments/dokk/dokk.py similarity index 100% rename from examples/dokk/dokk.py rename to examples/code_fragments/dokk/dokk.py diff --git a/examples/dokk/glwin.py b/examples/code_fragments/dokk/glwin.py similarity index 100% rename from examples/dokk/glwin.py rename to examples/code_fragments/dokk/glwin.py diff --git a/examples/dokk/hud.py b/examples/code_fragments/dokk/hud.py similarity index 100% rename from examples/dokk/hud.py rename to examples/code_fragments/dokk/hud.py diff --git a/examples/dokk/images/openstructure.png b/examples/code_fragments/dokk/images/openstructure.png similarity index 100% rename from examples/dokk/images/openstructure.png rename to examples/code_fragments/dokk/images/openstructure.png diff --git a/examples/dokk/images/rotation.png b/examples/code_fragments/dokk/images/rotation.png similarity index 100% rename from examples/dokk/images/rotation.png rename to examples/code_fragments/dokk/images/rotation.png diff --git a/examples/dokk/images/translation.png b/examples/code_fragments/dokk/images/translation.png similarity index 100% rename from examples/dokk/images/translation.png rename to examples/code_fragments/dokk/images/translation.png diff --git a/examples/dokk/level.py b/examples/code_fragments/dokk/level.py similarity index 100% rename from examples/dokk/level.py rename to examples/code_fragments/dokk/level.py diff --git a/examples/dokk/level_info.py b/examples/code_fragments/dokk/level_info.py similarity index 100% rename from examples/dokk/level_info.py rename to examples/code_fragments/dokk/level_info.py diff --git a/examples/dokk/level_intro.py b/examples/code_fragments/dokk/level_intro.py similarity index 100% rename from examples/dokk/level_intro.py rename to examples/code_fragments/dokk/level_intro.py diff --git a/examples/dokk/level_messages.py b/examples/code_fragments/dokk/level_messages.py similarity index 100% rename from examples/dokk/level_messages.py rename to examples/code_fragments/dokk/level_messages.py diff --git a/examples/dokk/ligand.py b/examples/code_fragments/dokk/ligand.py similarity index 100% rename from examples/dokk/ligand.py rename to examples/code_fragments/dokk/ligand.py diff --git a/examples/dokk/name_enter.py b/examples/code_fragments/dokk/name_enter.py similarity index 100% rename from examples/dokk/name_enter.py rename to examples/code_fragments/dokk/name_enter.py diff --git a/examples/dokk/protein.py b/examples/code_fragments/dokk/protein.py similarity index 100% rename from examples/dokk/protein.py rename to examples/code_fragments/dokk/protein.py diff --git a/examples/dokk/score_updater.py b/examples/code_fragments/dokk/score_updater.py similarity index 100% rename from examples/dokk/score_updater.py rename to examples/code_fragments/dokk/score_updater.py diff --git a/examples/dokk/spacenav_connect.py b/examples/code_fragments/dokk/spacenav_connect.py similarity index 100% rename from examples/dokk/spacenav_connect.py rename to examples/code_fragments/dokk/spacenav_connect.py diff --git a/examples/dokk/spnav_input.py b/examples/code_fragments/dokk/spnav_input.py similarity index 100% rename from examples/dokk/spnav_input.py rename to examples/code_fragments/dokk/spnav_input.py diff --git a/examples/dokk/start_dokk.py b/examples/code_fragments/dokk/start_dokk.py similarity index 100% rename from examples/dokk/start_dokk.py rename to examples/code_fragments/dokk/start_dokk.py diff --git a/examples/dokk/surface.py b/examples/code_fragments/dokk/surface.py similarity index 100% rename from examples/dokk/surface.py rename to examples/code_fragments/dokk/surface.py diff --git a/examples/entity/color_by_property.py b/examples/code_fragments/entity/color_by_property.py similarity index 100% rename from examples/entity/color_by_property.py rename to examples/code_fragments/entity/color_by_property.py diff --git a/examples/entity/fragment.pdb b/examples/code_fragments/entity/fragment.pdb similarity index 100% rename from examples/entity/fragment.pdb rename to examples/code_fragments/entity/fragment.pdb diff --git a/examples/entity/fragment2.pdb b/examples/code_fragments/entity/fragment2.pdb similarity index 100% rename from examples/entity/fragment2.pdb rename to examples/code_fragments/entity/fragment2.pdb diff --git a/examples/entity/gfx_selection.py b/examples/code_fragments/entity/gfx_selection.py similarity index 100% rename from examples/entity/gfx_selection.py rename to examples/code_fragments/entity/gfx_selection.py diff --git a/examples/entity/gfx_symmetry.py b/examples/code_fragments/entity/gfx_symmetry.py similarity index 100% rename from examples/entity/gfx_symmetry.py rename to examples/code_fragments/entity/gfx_symmetry.py diff --git a/examples/entity/gradient.py b/examples/code_fragments/entity/gradient.py similarity index 100% rename from examples/entity/gradient.py rename to examples/code_fragments/entity/gradient.py diff --git a/examples/entity/pdb1ake.ent b/examples/code_fragments/entity/pdb1ake.ent similarity index 100% rename from examples/entity/pdb1ake.ent rename to examples/code_fragments/entity/pdb1ake.ent diff --git a/examples/entity/pdb4ake.ent b/examples/code_fragments/entity/pdb4ake.ent similarity index 100% rename from examples/entity/pdb4ake.ent rename to examples/code_fragments/entity/pdb4ake.ent diff --git a/examples/entity/primitives.py b/examples/code_fragments/entity/primitives.py similarity index 100% rename from examples/entity/primitives.py rename to examples/code_fragments/entity/primitives.py diff --git a/examples/entity/random_lines.py b/examples/code_fragments/entity/random_lines.py similarity index 100% rename from examples/entity/random_lines.py rename to examples/code_fragments/entity/random_lines.py diff --git a/examples/entity/sdh.pdb b/examples/code_fragments/entity/sdh.pdb similarity index 100% rename from examples/entity/sdh.pdb rename to examples/code_fragments/entity/sdh.pdb diff --git a/examples/entity/superpose.py b/examples/code_fragments/entity/superpose.py similarity index 100% rename from examples/entity/superpose.py rename to examples/code_fragments/entity/superpose.py diff --git a/examples/harmony/glwin.py b/examples/code_fragments/harmony/glwin.py similarity index 100% rename from examples/harmony/glwin.py rename to examples/code_fragments/harmony/glwin.py diff --git a/examples/harmony/harmony b/examples/code_fragments/harmony/harmony similarity index 100% rename from examples/harmony/harmony rename to examples/code_fragments/harmony/harmony diff --git a/examples/harmony/harmony.py b/examples/code_fragments/harmony/harmony.py similarity index 100% rename from examples/harmony/harmony.py rename to examples/code_fragments/harmony/harmony.py diff --git a/examples/code_fragments/img/circle.png b/examples/code_fragments/img/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..61efe392847e7425ccb90aef460c2c0411de6abd Binary files /dev/null and b/examples/code_fragments/img/circle.png differ diff --git a/examples/img/create_split_image.py b/examples/code_fragments/img/create_split_image.py similarity index 85% rename from examples/img/create_split_image.py rename to examples/code_fragments/img/create_split_image.py index 084244455aa1de3a693cfb13297556c161c1c899..1da640423d02826a41233e42ec4904609898ffba 100644 --- a/examples/img/create_split_image.py +++ b/examples/code_fragments/img/create_split_image.py @@ -35,7 +35,12 @@ def CreateSplitImage(imagelist, start_at_y=True): count+=1 return result -imagelist=io.LoadImageList(sys.argv[1:-1]) +if len(sys.argv)<3: + imagelist=io.LoadImageList(['circle.png', 'square.png']) +else: + imagelist=io.LoadImageList(sys.argv[1:-1]) + result=CreateSplitImage(imagelist) v_result=gui.CreateDataViewer(result) -io.SaveImage(result,sys.argv[-1]) +main_area=gui.GostyApp.Instance().perspective.main_area +main_area.AddWidget("Split Image", v_result) diff --git a/examples/code_fragments/img/fft_li.py b/examples/code_fragments/img/fft_li.py new file mode 100644 index 0000000000000000000000000000000000000000..73681183e786e7d46f0505721470a2a4ea8e6cdf --- /dev/null +++ b/examples/code_fragments/img/fft_li.py @@ -0,0 +1,16 @@ +import sys +import ost.img.alg +if len(sys.argv)<2: + images=io.LoadImageList(['square.png','circle.png']) +else: + images=io.LoadImageList(sys.argv[1:]) +viewers=[] +i=1 +main_area=gui.GostyApp.Instance().perspective.main_area +for im in images: + im.CenterSpatialOrigin() + im.ApplyIP(img.alg.DFT()) + v=gui.CreateDataViewer(im) + viewers.append(v) + main_area.AddWidget('Image' + str(i), v) + i+=1 \ No newline at end of file diff --git a/examples/img/modulate_image.py b/examples/code_fragments/img/modulate_image.py similarity index 78% rename from examples/img/modulate_image.py rename to examples/code_fragments/img/modulate_image.py index d81fd59cb43884ac6b66113a77f226db309e64ab..bed29c56557019684e6291b9337b77a63a4d13dd 100644 --- a/examples/img/modulate_image.py +++ b/examples/code_fragments/img/modulate_image.py @@ -20,4 +20,6 @@ im3 = img.CreateImage(img.Size(400,400)) im3.Paste(im) im3.Paste(im2) -v=gui.CreateDataViewer(im3) \ No newline at end of file +v=gui.CreateDataViewer(im3) +main_area=gui.GostyApp.Instance().perspective.main_area +main_area.AddWidget("Modulated Image", v) \ No newline at end of file diff --git a/examples/img/spoke_pattern.py b/examples/code_fragments/img/spoke_pattern.py similarity index 74% rename from examples/img/spoke_pattern.py rename to examples/code_fragments/img/spoke_pattern.py index 7a11e42a1e60a0337e96ce01dac6e9c701c03618..c0a43b0013bb3d91d8391b25ca84d8e96e0bbe0a 100644 --- a/examples/img/spoke_pattern.py +++ b/examples/code_fragments/img/spoke_pattern.py @@ -2,15 +2,12 @@ import math import sys import ost.img.alg -if len(sys.argv)!=2: - raise RuntimeError('Wrong number of command line arguments. The name of the output file should be the only argument.') - # Tweakable parameters -wedge_start = 80 # Width of wedge at the narrower point -wedge_end = 2000 # Width of wedge at the broader point +wedge_start = 20 # Width of wedge at the narrower point +wedge_end = 500 # Width of wedge at the broader point number_of_bands = 11 # Number of alternating bands (must be odd) -size_of_image_x = 2000 # Size of the image (X) -size_of_image_y = 2000 # Size of the image (Y) +size_of_image_x = 500 # Size of the image (X) +size_of_image_y = 500 # Size of the image (Y) pixel_sampling = 1.0 * Units.A # Pixel width threshold = 2.0 * Units.A # Threshold for low pass filtering amplitude = 255 # amplitude of the obscillations @@ -42,8 +39,7 @@ for y in range (start_y,end_y+1): filter=ost.img.alg.GaussianLowPassFilter(threshold) image.ApplyIP(filter) -# Image is saved -io.SaveImage(image,sys.argv[1]) - # Viewer is launched to show the result -v=gui.CreateDataViewer(image) \ No newline at end of file +v=gui.CreateDataViewer(image) +main_area=gui.GostyApp.Instance().perspective.main_area +main_area.AddWidget("Modulated Image", v) \ No newline at end of file diff --git a/examples/img/square.png b/examples/code_fragments/img/square.png similarity index 100% rename from examples/img/square.png rename to examples/code_fragments/img/square.png diff --git a/examples/img/tone1.png b/examples/code_fragments/img/tone1.png similarity index 100% rename from examples/img/tone1.png rename to examples/code_fragments/img/tone1.png diff --git a/examples/img/tone2.png b/examples/code_fragments/img/tone2.png similarity index 100% rename from examples/img/tone2.png rename to examples/code_fragments/img/tone2.png diff --git a/examples/img/tone3.png b/examples/code_fragments/img/tone3.png similarity index 100% rename from examples/img/tone3.png rename to examples/code_fragments/img/tone3.png diff --git a/examples/img/tone4.png b/examples/code_fragments/img/tone4.png similarity index 100% rename from examples/img/tone4.png rename to examples/code_fragments/img/tone4.png diff --git a/examples/img/tone5.png b/examples/code_fragments/img/tone5.png similarity index 100% rename from examples/img/tone5.png rename to examples/code_fragments/img/tone5.png diff --git a/examples/img/view_phase_diff.py b/examples/code_fragments/img/view_phase_diff.py similarity index 68% rename from examples/img/view_phase_diff.py rename to examples/code_fragments/img/view_phase_diff.py index 0228a0e02fcc36190d8308940409b58daf0e0f00..4a395a50b094f008e15a8ec23bbf2f4d146a7c92 100644 --- a/examples/img/view_phase_diff.py +++ b/examples/code_fragments/img/view_phase_diff.py @@ -2,8 +2,12 @@ import sys import math import ost.img.alg -image1=io.LoadImage(sys.argv[1]) -image2=io.LoadImage(sys.argv[2]) +if len(sys.argv)==2: + image1=io.LoadImage(sys.argv[1]) + image2=io.LoadImage(sys.argv[2]) +else: + image1=io.LoadImage('square.png') + image2=io.LoadImage('circle.png') if image1.GetExtent() != image2.GetExtent(): raise RuntimeError('The input images should have the same size.') image1.CenterSpatialOrigin() @@ -18,4 +22,5 @@ for pixel in ex_it: phase_diff=phase1-phase2 diff_image.SetReal(pixel,180.0*float(phase_diff)/math.pi) v=gui.CreateDataViewer(diff_image) -v.SetName("Phase difference (in degrees)") +main_area=gui.GostyApp.Instance().perspective.main_area +main_area.AddWidget("Phase difference (in degrees)", v) \ No newline at end of file diff --git a/examples/map/1ppt.map b/examples/code_fragments/map/1ppt.map similarity index 100% rename from examples/map/1ppt.map rename to examples/code_fragments/map/1ppt.map diff --git a/examples/map/1ppt.pdb b/examples/code_fragments/map/1ppt.pdb similarity index 100% rename from examples/map/1ppt.pdb rename to examples/code_fragments/map/1ppt.pdb diff --git a/examples/map/gfx_mapiso.py b/examples/code_fragments/map/gfx_mapiso.py similarity index 100% rename from examples/map/gfx_mapiso.py rename to examples/code_fragments/map/gfx_mapiso.py diff --git a/examples/misc/bitmap_export.py b/examples/code_fragments/misc/bitmap_export.py similarity index 100% rename from examples/misc/bitmap_export.py rename to examples/code_fragments/misc/bitmap_export.py diff --git a/examples/misc/export_pov.py b/examples/code_fragments/misc/export_pov.py similarity index 100% rename from examples/misc/export_pov.py rename to examples/code_fragments/misc/export_pov.py diff --git a/examples/misc/fragment.face b/examples/code_fragments/misc/fragment.face similarity index 100% rename from examples/misc/fragment.face rename to examples/code_fragments/misc/fragment.face diff --git a/examples/misc/fragment.pdb b/examples/code_fragments/misc/fragment.pdb similarity index 100% rename from examples/misc/fragment.pdb rename to examples/code_fragments/misc/fragment.pdb diff --git a/examples/misc/fragment.vert b/examples/code_fragments/misc/fragment.vert similarity index 100% rename from examples/misc/fragment.vert rename to examples/code_fragments/misc/fragment.vert diff --git a/examples/modelling/roll_helix.py b/examples/code_fragments/misc/roll_helix.py similarity index 100% rename from examples/modelling/roll_helix.py rename to examples/code_fragments/misc/roll_helix.py diff --git a/examples/modelling/sdh.pdb b/examples/code_fragments/misc/sdh.pdb similarity index 100% rename from examples/modelling/sdh.pdb rename to examples/code_fragments/misc/sdh.pdb diff --git a/examples/modelling/strip_sidechains.py b/examples/code_fragments/misc/strip_sidechains.py similarity index 100% rename from examples/modelling/strip_sidechains.py rename to examples/code_fragments/misc/strip_sidechains.py diff --git a/examples/code_fragments/seq/seq_viewer.py b/examples/code_fragments/seq/seq_viewer.py new file mode 100644 index 0000000000000000000000000000000000000000..1ca2535e805a2b00cf0dcaff5fd8cea1a178163c --- /dev/null +++ b/examples/code_fragments/seq/seq_viewer.py @@ -0,0 +1,4 @@ +aln=io.LoadAlignment('sh2.aln') +v=gui.SequenceViewer() +v.AddAlignment(aln) +v.Show() diff --git a/examples/surf/fragment.pdb b/examples/code_fragments/surf/fragment.pdb similarity index 100% rename from examples/surf/fragment.pdb rename to examples/code_fragments/surf/fragment.pdb diff --git a/examples/surf/sdh.face b/examples/code_fragments/surf/sdh.face similarity index 100% rename from examples/surf/sdh.face rename to examples/code_fragments/surf/sdh.face diff --git a/examples/surf/sdh.pdb b/examples/code_fragments/surf/sdh.pdb similarity index 100% rename from examples/surf/sdh.pdb rename to examples/code_fragments/surf/sdh.pdb diff --git a/examples/surf/sdh.vert b/examples/code_fragments/surf/sdh.vert similarity index 100% rename from examples/surf/sdh.vert rename to examples/code_fragments/surf/sdh.vert diff --git a/examples/surf/test_surf.py b/examples/code_fragments/surf/test_surf.py similarity index 100% rename from examples/surf/test_surf.py rename to examples/code_fragments/surf/test_surf.py diff --git a/examples/surf/test_surf_pov.py b/examples/code_fragments/surf/test_surf_pov.py similarity index 100% rename from examples/surf/test_surf_pov.py rename to examples/code_fragments/surf/test_surf_pov.py diff --git a/examples/trj/fragment.pdb b/examples/code_fragments/trj/fragment.pdb similarity index 100% rename from examples/trj/fragment.pdb rename to examples/code_fragments/trj/fragment.pdb diff --git a/examples/trj/mpor_trj.crd b/examples/code_fragments/trj/mpor_trj.crd similarity index 100% rename from examples/trj/mpor_trj.crd rename to examples/code_fragments/trj/mpor_trj.crd diff --git a/examples/trj/mpor_trj_short.trj b/examples/code_fragments/trj/mpor_trj_short.trj similarity index 100% rename from examples/trj/mpor_trj_short.trj rename to examples/code_fragments/trj/mpor_trj_short.trj diff --git a/examples/trj/test_trj.py b/examples/code_fragments/trj/test_trj.py similarity index 87% rename from examples/trj/test_trj.py rename to examples/code_fragments/trj/test_trj.py index ae23e827465a0580c6e33f69a4c256a7f6b11366..0c3ed1f310eacb6e6e2a2dcc03af26a3aa077258 100644 --- a/examples/trj/test_trj.py +++ b/examples/code_fragments/trj/test_trj.py @@ -26,6 +26,4 @@ scene.SetCenter(go.GetCenter()) scene.AutoAutoslab(True) anim=Anim(cg,go) - -print "enter anim.start(10) to start trajectory animation; use anim.stop() to turn it off again." - +anim.start(10) diff --git a/examples/ui/board.py b/examples/code_fragments/ui/board.py similarity index 100% rename from examples/ui/board.py rename to examples/code_fragments/ui/board.py diff --git a/examples/ui/color_tool.py b/examples/code_fragments/ui/color_tool.py similarity index 100% rename from examples/ui/color_tool.py rename to examples/code_fragments/ui/color_tool.py diff --git a/examples/ui/mdi_example.py b/examples/code_fragments/ui/mdi_example.py similarity index 100% rename from examples/ui/mdi_example.py rename to examples/code_fragments/ui/mdi_example.py diff --git a/examples/ui/menubar_example.py b/examples/code_fragments/ui/menubar_example.py similarity index 100% rename from examples/ui/menubar_example.py rename to examples/code_fragments/ui/menubar_example.py diff --git a/examples/ui/widget_example.py b/examples/code_fragments/ui/widget_example.py similarity index 97% rename from examples/ui/widget_example.py rename to examples/code_fragments/ui/widget_example.py index a59847093e0f139199743b1f1eabe49aeea21904..733e9dcdb37de9be61eb7cbd4e4b6ed313fcaf5f 100644 --- a/examples/ui/widget_example.py +++ b/examples/code_fragments/ui/widget_example.py @@ -29,7 +29,7 @@ panels=gui.GostyApp.Instance().perspective.panels tetris=Board(panels.qobject) #Wrap widget to Qt Widget -wid=gui.WrappedWidget(tetris) +wid=gui.Widget(tetris) #Add Widget to widget pool panels.AddWidgetToPool("Break Widget",wid) diff --git a/examples/demos/bbox.py b/examples/demos/bbox.py new file mode 100644 index 0000000000000000000000000000000000000000..fa85b9a26676e876beb53f44494b44db108ff19a --- /dev/null +++ b/examples/demos/bbox.py @@ -0,0 +1,26 @@ +# This code example shows how to calculate and display an oriented bounding box +# that contains all the atoms of an entity. + +# remove all objects from scene, just in case +scene.RemoveAll() + +# Load sdh molecule +sdh=io.LoadPDB('data/sdh.pdb') +# Select backbone atoms of residues 99-128, which form a helix. +helix=sdh.Select('rnum=99:128 and cname=A and aname=CA,C,N,O') +# create a graphical representation of the helix and render it with simple +# lines. +go=gfx.Entity('helix', gfx.SIMPLE, helix) +# add it to the scene +scene.Add(go) + +# calculate the bounding box for the helix +bbox=mol.BoundingBoxFromEntity(helix) + +# create a graphical representation of the bounding box and add it to the scene +bb=gfx.Cuboid('xxx', bbox) +bb.SetFillColor(gfx.Color(0.5, 0.8, 0.5, 0.2)) +scene.Add(bb) + +# center the camera on the graphical object +scene.center=go.center diff --git a/examples/demos/charmm_trj_blur.py b/examples/demos/charmm_trj_blur.py new file mode 100644 index 0000000000000000000000000000000000000000..8edfdc0c2768007b83698acf22cd8f2caa012da7 --- /dev/null +++ b/examples/demos/charmm_trj_blur.py @@ -0,0 +1,45 @@ +# trajectory generated by Raimund Dutzler +from PyQt4 import QtCore +scene.RemoveAll() + + +class Anim(QtCore.QTimer): + """ + Timer used to animate the trajectory on screen. Each time the OnTimer + method gets called we advance the trajectory by one step and render + the scene on the screen. + """ + def __init__(self,cg,go): + QtCore.QTimer.__init__(self) + self.cg_=cg + self.go_=go + self.frame_=0 + QtCore.QObject.connect(self, QtCore.SIGNAL("timeout()"), self.OnTimer) + + def OnTimer(self): + self.frame_=(self.frame_+1)%self.cg_.GetFrameCount() + self.go_.BlurSnapshot() + self.cg_.CopyFrame(self.frame_) + self.go_.UpdatePositions() + + +# load CHARMM trajectory from sample.pdb and sample.dcd +cg = io.LoadCHARMMTraj("data/sample.pdb","data/sample.dcd") +# create graphical representation of the entity +eh=cg.GetEntity() +# we don't want to display the hydrogen atoms, so select everything that is +# not a hydrogen and pass that view to the gfx.Entity() constructor. +ev=eh.Select("not ele=H") +go=gfx.Entity("mol",gfx.SIMPLE, ev) +# enable the blur effect +go.SetBlur(True) + +# add it to the scene for rendering +scene.Add(go) +scene.SetCenter(go.GetCenter()) +scene.AutoAutoslab(True) + +# create an animation timer and start it +anim=Anim(cg,go) +print 'Demo 6: Import of a CHARMM trajectory. Type anim.stop() to halt animation, anim.start(100) to start it again with stepsize 100!Starting animation now....' +anim.start(50) diff --git a/examples/demos/conservation.py b/examples/demos/conservation.py new file mode 100644 index 0000000000000000000000000000000000000000..e4a254448462f41a68c15ff048fa6dc67dfe09ab --- /dev/null +++ b/examples/demos/conservation.py @@ -0,0 +1,49 @@ +from ost.seq import alg +scene.RemoveAll() +#------------------------------------------------------------------------------- +# Loading structure and alignment +#------------------------------------------------------------------------------- +m=io.LoadPDB('data/sh2.pdb') +mp=m.Select('ishetatm=false') +aln=io.LoadAlignment('data/sh2.aln') +aln.AttachView(0, mp) +aln.SetSequenceOffset(0, 1) +#------------------------------------------------------------------------------- +# Calculate conservation of alignment +# First we set all properties to zero, then let alg.Conservation assign the +# conservation scores to the residues +#------------------------------------------------------------------------------- +alg.Conservation(aln) + +#------------------------------------------------------------------------------- +# Setup Graphical Objects for Rendering +#------------------------------------------------------------------------------- +g=gfx.Entity('SH2', m) +s=io.LoadSurface('data/sh2.vert') +gs=gfx.Surface('SH2-surf', s) +scene.Add(gs) +scene.Add(g) +scene.CenterOn(g) + +s.Attach(mp.Select('ishetatm=false'), 8.0) + +gr=gfx.Gradient() +gr.SetColorAt(0.0, gfx.Color(0.1, 0.1, 0.8)) +gr.SetColorAt(1.0, gfx.Color(0.8, 0.1, 0.1)) + +gs.ColorBy('cons', gr, 0.8, 1.0, + mol.Prop.Level.RESIDUE) +g.SetRenderMode(gfx.HSC, + m.Select('ishetatm=false')) +g.SetRenderMode(gfx.CUSTOM, + m.Select('ishetatm=true')) +g.SetColor(gfx.YELLOW, 'ishetatm=true') + +#------------------------------------------------------------------------------- +# Create alignment viewer and show it on the screen +#------------------------------------------------------------------------------- +seq_viewer=gui.SequenceViewer() +seq_viewer.AddAlignment(aln) +seq_viewer.Show() + + diff --git a/examples/demos/correlate.py b/examples/demos/correlate.py new file mode 100644 index 0000000000000000000000000000000000000000..55bb4d068002e6de2d4f38ece15a8236fa467b37 --- /dev/null +++ b/examples/demos/correlate.py @@ -0,0 +1,91 @@ +# this script shows how to score a set of candidate fragments according to their +# correlation with a density map. fragments with a higher correlation are ranked +# better than fragments with a low correlation. +# + +# tabula rasa first +scene.RemoveAll() + + +import ost.img.alg as img_alg +from ost.mol.alg import EntityToDensityRosetta, HIGH_RESOLUTION +sdh=io.LoadPDB('data/sdh-complete.pdb') +sdh_within=sdh.Select('rnum=94:101 and aname=CA,C,N,O') + +padding=4 +# we use a isotropic sampling of 1Anstroem +bounds=sdh_within.bounds +actual_size=bounds.max-bounds.min +size=img.Size(int(actual_size.x+2*padding), + int(actual_size.y+2*padding), + int(actual_size.x+2*padding)) + +def CreateDensityMap(size, origin): + # create 3D image to hold the density information. Pixel sampling is 1A + # by default. The image is empty + dmap=img.CreateImage(size) + dmap.SetAbsoluteOrigin(origin) + return dmap +origin=bounds.min-geom.Vec3(padding, padding, padding) +dmap=CreateDensityMap(size, origin) +cmap=CreateDensityMap(size, origin) + +# create density for residue 94 to residue 101 +EntityToDensityRosetta(sdh_within, dmap, HIGH_RESOLUTION, 5.0) +map_go=gfx.MapIso('Density', dmap, 0.0) +map_go.SetLevel(map_go.GetMean()*2.0) +scene.Add(map_go) +scene.CenterOn(map_go) + +# load all loop candidates stored in the PDB file. note the use of the +# load_multi parameter +candidates=io.LoadPDB('data/loop-candidates.pdb', + load_multi=True) + +print len(candidates) +#------------------------------------------------------------------------------- +def Correlate(candidates): + # this function converts the candidate loop into a density and calculates the + # real-spatial cross correlation with the actual density. The correlation + # coefficient is stored as the "correl" property + + for index, candidate in enumerate(candidates): + EntityToDensityRosetta(candidate.CreateFullView(), cmap, + HIGH_RESOLUTION, 5.0, True) + + correl=img_alg.RealSpatialCrossCorrelation(dmap, cmap, dmap.GetExtent()) + candidate.SetFloatProp('correl', correl) +#------------------------------------------------------------------------------- + + +def Visualize(candidates): + # finally, sort the candidates by correlation and display them. + min_correl=min([c.GetFloatProp('correl') for c in candidates]) + max_correl=max([c.GetFloatProp('correl') for c in candidates]) + + gradient=gfx.Gradient() + gradient.SetColorAt(0.0, gfx.RED) + gradient.SetColorAt(1.0, gfx.GREEN) + + # sort candidates by correlation + def cmp_correl(lhs, rhs): + lhs_correl=lhs.GetFloatProp('correl') + rhs_correl=rhs.GetFloatProp('correl') + if lhs_correl>rhs_correl: + return -1 + elif lhs_correl==rhs_correl: + return 0 + else: + return 1 + candidates=sorted(candidates, cmp_correl) + + # create render objects and add to scene + for index, candidate in enumerate(candidates): + candidate_go=gfx.Entity('candidate %03d' % index, candidate) + norm=candidate.GetFloatProp('correl')/(max_correl-min_correl) + candidate_go.SetColor(gradient.GetColorAt(norm)) + scene.Add(candidate_go) + + +Correlate(candidates) +Visualize(candidates) diff --git a/examples/demos/data/1crn.pdb b/examples/demos/data/1crn.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8ce00cb3b36a2cd63533355d085ae71a5cc1a651 --- /dev/null +++ b/examples/demos/data/1crn.pdb @@ -0,0 +1,611 @@ +HEADER PLANT SEED PROTEIN 30-APR-81 1CRN +TITLE WATER STRUCTURE OF A HYDROPHOBIC PROTEIN AT ATOMIC +TITLE 2 RESOLUTION. PENTAGON RINGS OF WATER MOLECULES IN CRYSTALS +TITLE 3 OF CRAMBIN +COMPND MOL_ID: 1; +COMPND 2 MOLECULE: CRAMBIN; +COMPND 3 CHAIN: A; +COMPND 4 ENGINEERED: YES +SOURCE MOL_ID: 1; +SOURCE 2 ORGANISM_SCIENTIFIC: CRAMBE HISPANICA SUBSP. ABYSSINICA; +SOURCE 3 ORGANISM_TAXID: 3721; +SOURCE 4 STRAIN: SUBSP. ABYSSINICA +KEYWDS PLANT SEED PROTEIN +EXPDTA X-RAY DIFFRACTION +AUTHOR W.A.HENDRICKSON,M.M.TEETER +REVDAT 6 24-FEB-09 1CRN 1 VERSN +REVDAT 5 16-APR-87 1CRN 1 HEADER +REVDAT 4 04-MAR-85 1CRN 1 REMARK +REVDAT 3 30-SEP-83 1CRN 1 REVDAT +REVDAT 2 03-DEC-81 1CRN 1 SHEET +REVDAT 1 28-JUL-81 1CRN 0 +JRNL AUTH M.M.TEETER +JRNL TITL WATER STRUCTURE OF A HYDROPHOBIC PROTEIN AT ATOMIC +JRNL TITL 2 RESOLUTION: PENTAGON RINGS OF WATER MOLECULES IN +JRNL TITL 3 CRYSTALS OF CRAMBIN. +JRNL REF PROC.NATL.ACAD.SCI.USA V. 81 6014 1984 +JRNL REFN ISSN 0027-8424 +JRNL PMID 16593516 +JRNL DOI 10.1073/PNAS.81.19.6014 +REMARK 1 +REMARK 1 REFERENCE 1 +REMARK 1 AUTH W.A.HENDRICKSON,M.M.TEETER +REMARK 1 TITL STRUCTURE OF THE HYDROPHOBIC PROTEIN CRAMBIN +REMARK 1 TITL 2 DETERMINED DIRECTLY FROM THE ANOMALOUS SCATTERING +REMARK 1 TITL 3 OF SULPHUR +REMARK 1 REF NATURE V. 290 107 1981 +REMARK 1 REFN ISSN 0028-0836 +REMARK 1 REFERENCE 2 +REMARK 1 AUTH M.M.TEETER,W.A.HENDRICKSON +REMARK 1 TITL HIGHLY ORDERED CRYSTALS OF THE PLANT SEED PROTEIN +REMARK 1 TITL 2 CRAMBIN +REMARK 1 REF J.MOL.BIOL. V. 127 219 1979 +REMARK 1 REFN ISSN 0022-2836 +REMARK 2 +REMARK 2 RESOLUTION. 1.50 ANGSTROMS. +REMARK 3 +REMARK 3 REFINEMENT. +REMARK 3 PROGRAM : PROLSQ +REMARK 3 AUTHORS : KONNERT,HENDRICKSON +REMARK 3 +REMARK 3 DATA USED IN REFINEMENT. +REMARK 3 RESOLUTION RANGE HIGH (ANGSTROMS) : 1.50 +REMARK 3 RESOLUTION RANGE LOW (ANGSTROMS) : NULL +REMARK 3 DATA CUTOFF (SIGMA(F)) : NULL +REMARK 3 COMPLETENESS FOR RANGE (%) : NULL +REMARK 3 NUMBER OF REFLECTIONS : NULL +REMARK 3 +REMARK 3 FIT TO DATA USED IN REFINEMENT. +REMARK 3 CROSS-VALIDATION METHOD : NULL +REMARK 3 FREE R VALUE TEST SET SELECTION : NULL +REMARK 3 R VALUE (WORKING + TEST SET) : NULL +REMARK 3 R VALUE (WORKING SET) : NULL +REMARK 3 FREE R VALUE : NULL +REMARK 3 FREE R VALUE TEST SET SIZE (%) : NULL +REMARK 3 FREE R VALUE TEST SET COUNT : NULL +REMARK 3 +REMARK 3 FIT/AGREEMENT OF MODEL WITH ALL DATA. +REMARK 3 R VALUE (WORKING + TEST SET, NO CUTOFF) : NULL +REMARK 3 R VALUE (WORKING SET, NO CUTOFF) : NULL +REMARK 3 FREE R VALUE (NO CUTOFF) : NULL +REMARK 3 FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : NULL +REMARK 3 FREE R VALUE TEST SET COUNT (NO CUTOFF) : NULL +REMARK 3 TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : NULL +REMARK 3 +REMARK 3 NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT. +REMARK 3 PROTEIN ATOMS : 327 +REMARK 3 NUCLEIC ACID ATOMS : 0 +REMARK 3 HETEROGEN ATOMS : 0 +REMARK 3 SOLVENT ATOMS : 0 +REMARK 3 +REMARK 3 B VALUES. +REMARK 3 FROM WILSON PLOT (A**2) : NULL +REMARK 3 MEAN B VALUE (OVERALL, A**2) : NULL +REMARK 3 OVERALL ANISOTROPIC B VALUE. +REMARK 3 B11 (A**2) : NULL +REMARK 3 B22 (A**2) : NULL +REMARK 3 B33 (A**2) : NULL +REMARK 3 B12 (A**2) : NULL +REMARK 3 B13 (A**2) : NULL +REMARK 3 B23 (A**2) : NULL +REMARK 3 +REMARK 3 ESTIMATED COORDINATE ERROR. +REMARK 3 ESD FROM LUZZATI PLOT (A) : NULL +REMARK 3 ESD FROM SIGMAA (A) : NULL +REMARK 3 LOW RESOLUTION CUTOFF (A) : NULL +REMARK 3 +REMARK 3 RMS DEVIATIONS FROM IDEAL VALUES. +REMARK 3 DISTANCE RESTRAINTS. RMS SIGMA +REMARK 3 BOND LENGTH (A) : NULL ; NULL +REMARK 3 ANGLE DISTANCE (A) : NULL ; NULL +REMARK 3 INTRAPLANAR 1-4 DISTANCE (A) : NULL ; NULL +REMARK 3 H-BOND OR METAL COORDINATION (A) : NULL ; NULL +REMARK 3 +REMARK 3 PLANE RESTRAINT (A) : NULL ; NULL +REMARK 3 CHIRAL-CENTER RESTRAINT (A**3) : NULL ; NULL +REMARK 3 +REMARK 3 NON-BONDED CONTACT RESTRAINTS. +REMARK 3 SINGLE TORSION (A) : NULL ; NULL +REMARK 3 MULTIPLE TORSION (A) : NULL ; NULL +REMARK 3 H-BOND (X...Y) (A) : NULL ; NULL +REMARK 3 H-BOND (X-H...Y) (A) : NULL ; NULL +REMARK 3 +REMARK 3 CONFORMATIONAL TORSION ANGLE RESTRAINTS. +REMARK 3 SPECIFIED (DEGREES) : NULL ; NULL +REMARK 3 PLANAR (DEGREES) : NULL ; NULL +REMARK 3 STAGGERED (DEGREES) : NULL ; NULL +REMARK 3 TRANSVERSE (DEGREES) : NULL ; NULL +REMARK 3 +REMARK 3 ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA +REMARK 3 MAIN-CHAIN BOND (A**2) : NULL ; NULL +REMARK 3 MAIN-CHAIN ANGLE (A**2) : NULL ; NULL +REMARK 3 SIDE-CHAIN BOND (A**2) : NULL ; NULL +REMARK 3 SIDE-CHAIN ANGLE (A**2) : NULL ; NULL +REMARK 3 +REMARK 3 OTHER REFINEMENT REMARKS: NULL +REMARK 4 +REMARK 4 1CRN COMPLIES WITH FORMAT V. 3.15, 01-DEC-08 +REMARK 100 +REMARK 100 THIS ENTRY HAS BEEN PROCESSED BY BNL. +REMARK 200 +REMARK 200 EXPERIMENTAL DETAILS +REMARK 200 EXPERIMENT TYPE : X-RAY DIFFRACTION +REMARK 200 DATE OF DATA COLLECTION : NULL +REMARK 200 TEMPERATURE (KELVIN) : NULL +REMARK 200 PH : NULL +REMARK 200 NUMBER OF CRYSTALS USED : NULL +REMARK 200 +REMARK 200 SYNCHROTRON (Y/N) : NULL +REMARK 200 RADIATION SOURCE : NULL +REMARK 200 BEAMLINE : NULL +REMARK 200 X-RAY GENERATOR MODEL : NULL +REMARK 200 MONOCHROMATIC OR LAUE (M/L) : NULL +REMARK 200 WAVELENGTH OR RANGE (A) : NULL +REMARK 200 MONOCHROMATOR : NULL +REMARK 200 OPTICS : NULL +REMARK 200 +REMARK 200 DETECTOR TYPE : NULL +REMARK 200 DETECTOR MANUFACTURER : NULL +REMARK 200 INTENSITY-INTEGRATION SOFTWARE : NULL +REMARK 200 DATA SCALING SOFTWARE : NULL +REMARK 200 +REMARK 200 NUMBER OF UNIQUE REFLECTIONS : NULL +REMARK 200 RESOLUTION RANGE HIGH (A) : NULL +REMARK 200 RESOLUTION RANGE LOW (A) : NULL +REMARK 200 REJECTION CRITERIA (SIGMA(I)) : NULL +REMARK 200 +REMARK 200 OVERALL. +REMARK 200 COMPLETENESS FOR RANGE (%) : NULL +REMARK 200 DATA REDUNDANCY : NULL +REMARK 200 R MERGE (I) : NULL +REMARK 200 R SYM (I) : NULL +REMARK 200 <I/SIGMA(I)> FOR THE DATA SET : NULL +REMARK 200 +REMARK 200 IN THE HIGHEST RESOLUTION SHELL. +REMARK 200 HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : NULL +REMARK 200 HIGHEST RESOLUTION SHELL, RANGE LOW (A) : NULL +REMARK 200 COMPLETENESS FOR SHELL (%) : NULL +REMARK 200 DATA REDUNDANCY IN SHELL : NULL +REMARK 200 R MERGE FOR SHELL (I) : NULL +REMARK 200 R SYM FOR SHELL (I) : NULL +REMARK 200 <I/SIGMA(I)> FOR SHELL : NULL +REMARK 200 +REMARK 200 DIFFRACTION PROTOCOL: NULL +REMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: NULL +REMARK 200 SOFTWARE USED: NULL +REMARK 200 STARTING MODEL: NULL +REMARK 200 +REMARK 200 REMARK: NULL +REMARK 280 +REMARK 280 CRYSTAL +REMARK 280 SOLVENT CONTENT, VS (%): 32.16 +REMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 1.81 +REMARK 280 +REMARK 280 CRYSTALLIZATION CONDITIONS: NULL +REMARK 290 +REMARK 290 CRYSTALLOGRAPHIC SYMMETRY +REMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 1 21 1 +REMARK 290 +REMARK 290 SYMOP SYMMETRY +REMARK 290 NNNMMM OPERATOR +REMARK 290 1555 X,Y,Z +REMARK 290 2555 -X,Y+1/2,-Z +REMARK 290 +REMARK 290 WHERE NNN -> OPERATOR NUMBER +REMARK 290 MMM -> TRANSLATION VECTOR +REMARK 290 +REMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS +REMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM +REMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY +REMARK 290 RELATED MOLECULES. +REMARK 290 SMTRY1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 290 SMTRY2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 290 SMTRY3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 290 SMTRY1 2 -1.000000 0.000000 0.000000 0.00000 +REMARK 290 SMTRY2 2 0.000000 1.000000 0.000000 9.32505 +REMARK 290 SMTRY3 2 0.000000 0.000000 -1.000000 0.00000 +REMARK 290 +REMARK 290 REMARK: NULL +REMARK 300 +REMARK 300 BIOMOLECULE: 1 +REMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM +REMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN +REMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON +REMARK 300 BURIED SURFACE AREA. +REMARK 350 +REMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN +REMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE +REMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS +REMARK 350 GIVEN BELOW. BOTH NON-CRYSTALLOGRAPHIC AND +REMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN. +REMARK 350 +REMARK 350 BIOMOLECULE: 1 +REMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: MONOMERIC +REMARK 350 APPLY THE FOLLOWING TO CHAINS: A +REMARK 350 BIOMT1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 350 BIOMT2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 350 BIOMT3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 400 +REMARK 400 COMPOUND +REMARK 400 +REMARK 400 THE SECONDARY STRUCTURE SPECIFICATIONS ARE THOSE DEFINED +REMARK 400 IN REFERENCE 1 ABOVE AND DEPEND ON PARTICULAR DEFINITIONS +REMARK 400 THAT MAY AFFECT THE DETERMINATION OF END POINTS. PLEASE +REMARK 400 CONSULT THE PRIMARY REFERENCE AND EXAMINE STRUCTURAL +REMARK 400 DETAILS SUCH AS HYDROGEN BONDING AND CONFORMATION ANGLES +REMARK 400 WHEN MAKING USE OF THE SPECIFICATIONS. +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: COVALENT BOND ANGLES +REMARK 500 +REMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES +REMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE +REMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN +REMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE). +REMARK 500 +REMARK 500 STANDARD TABLE: +REMARK 500 FORMAT: (10X,I3,1X,A3,1X,A1,I4,A1,3(1X,A4,2X),12X,F5.1) +REMARK 500 +REMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999 +REMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996 +REMARK 500 +REMARK 500 M RES CSSEQI ATM1 ATM2 ATM3 +REMARK 500 ARG A 10 NE - CZ - NH2 ANGL. DEV. = -3.6 DEGREES +REMARK 500 TYR A 29 CB - CG - CD1 ANGL. DEV. = -4.7 DEGREES +REMARK 500 +REMARK 500 REMARK: NULL +DBREF 1CRN A 1 46 UNP P01542 CRAM_CRAAB 1 46 +SEQRES 1 A 46 THR THR CYS CYS PRO SER ILE VAL ALA ARG SER ASN PHE +SEQRES 2 A 46 ASN VAL CYS ARG LEU PRO GLY THR PRO GLU ALA ILE CYS +SEQRES 3 A 46 ALA THR TYR THR GLY CYS ILE ILE ILE PRO GLY ALA THR +SEQRES 4 A 46 CYS PRO GLY ASP TYR ALA ASN +HELIX 1 H1 ILE A 7 PRO A 19 13/10 CONFORMATION RES 17,19 13 +HELIX 2 H2 GLU A 23 THR A 30 1DISTORTED 3/10 AT RES 30 8 +SHEET 1 S1 2 THR A 1 CYS A 4 0 +SHEET 2 S1 2 CYS A 32 ILE A 35 -1 +SSBOND 1 CYS A 3 CYS A 40 1555 1555 2.00 +SSBOND 2 CYS A 4 CYS A 32 1555 1555 2.04 +SSBOND 3 CYS A 16 CYS A 26 1555 1555 2.05 +CRYST1 40.960 18.650 22.520 90.00 90.77 90.00 P 1 21 1 2 +ORIGX1 1.000000 0.000000 0.000000 0.00000 +ORIGX2 0.000000 1.000000 0.000000 0.00000 +ORIGX3 0.000000 0.000000 1.000000 0.00000 +SCALE1 0.024414 0.000000 -0.000328 0.00000 +SCALE2 0.000000 0.053619 0.000000 0.00000 +SCALE3 0.000000 0.000000 0.044409 0.00000 +ATOM 1 N THR A 1 17.047 14.099 3.625 1.00 13.79 N +ATOM 2 CA THR A 1 16.967 12.784 4.338 1.00 10.80 C +ATOM 3 C THR A 1 15.685 12.755 5.133 1.00 9.19 C +ATOM 4 O THR A 1 15.268 13.825 5.594 1.00 9.85 O +ATOM 5 CB THR A 1 18.170 12.703 5.337 1.00 13.02 C +ATOM 6 OG1 THR A 1 19.334 12.829 4.463 1.00 15.06 O +ATOM 7 CG2 THR A 1 18.150 11.546 6.304 1.00 14.23 C +ATOM 8 N THR A 2 15.115 11.555 5.265 1.00 7.81 N +ATOM 9 CA THR A 2 13.856 11.469 6.066 1.00 8.31 C +ATOM 10 C THR A 2 14.164 10.785 7.379 1.00 5.80 C +ATOM 11 O THR A 2 14.993 9.862 7.443 1.00 6.94 O +ATOM 12 CB THR A 2 12.732 10.711 5.261 1.00 10.32 C +ATOM 13 OG1 THR A 2 13.308 9.439 4.926 1.00 12.81 O +ATOM 14 CG2 THR A 2 12.484 11.442 3.895 1.00 11.90 C +ATOM 15 N CYS A 3 13.488 11.241 8.417 1.00 5.24 N +ATOM 16 CA CYS A 3 13.660 10.707 9.787 1.00 5.39 C +ATOM 17 C CYS A 3 12.269 10.431 10.323 1.00 4.45 C +ATOM 18 O CYS A 3 11.393 11.308 10.185 1.00 6.54 O +ATOM 19 CB CYS A 3 14.368 11.748 10.691 1.00 5.99 C +ATOM 20 SG CYS A 3 15.885 12.426 10.016 1.00 7.01 S +ATOM 21 N CYS A 4 12.019 9.272 10.928 1.00 3.90 N +ATOM 22 CA CYS A 4 10.646 8.991 11.408 1.00 4.24 C +ATOM 23 C CYS A 4 10.654 8.793 12.919 1.00 3.72 C +ATOM 24 O CYS A 4 11.659 8.296 13.491 1.00 5.30 O +ATOM 25 CB CYS A 4 10.057 7.752 10.682 1.00 4.41 C +ATOM 26 SG CYS A 4 9.837 8.018 8.904 1.00 4.72 S +ATOM 27 N PRO A 5 9.561 9.108 13.563 1.00 3.96 N +ATOM 28 CA PRO A 5 9.448 9.034 15.012 1.00 4.25 C +ATOM 29 C PRO A 5 9.288 7.670 15.606 1.00 4.96 C +ATOM 30 O PRO A 5 9.490 7.519 16.819 1.00 7.44 O +ATOM 31 CB PRO A 5 8.230 9.957 15.345 1.00 5.11 C +ATOM 32 CG PRO A 5 7.338 9.786 14.114 1.00 5.24 C +ATOM 33 CD PRO A 5 8.366 9.804 12.958 1.00 5.20 C +ATOM 34 N SER A 6 8.875 6.686 14.796 1.00 4.83 N +ATOM 35 CA SER A 6 8.673 5.314 15.279 1.00 4.45 C +ATOM 36 C SER A 6 8.753 4.376 14.083 1.00 4.99 C +ATOM 37 O SER A 6 8.726 4.858 12.923 1.00 4.61 O +ATOM 38 CB SER A 6 7.340 5.121 15.996 1.00 5.05 C +ATOM 39 OG SER A 6 6.274 5.220 15.031 1.00 6.39 O +ATOM 40 N ILE A 7 8.881 3.075 14.358 1.00 4.94 N +ATOM 41 CA ILE A 7 8.912 2.083 13.258 1.00 6.33 C +ATOM 42 C ILE A 7 7.581 2.090 12.506 1.00 5.32 C +ATOM 43 O ILE A 7 7.670 2.031 11.245 1.00 6.85 O +ATOM 44 CB ILE A 7 9.207 0.677 13.924 1.00 8.43 C +ATOM 45 CG1 ILE A 7 10.714 0.702 14.312 1.00 9.78 C +ATOM 46 CG2 ILE A 7 8.811 -0.477 12.969 1.00 11.70 C +ATOM 47 CD1 ILE A 7 11.185 -0.516 15.142 1.00 9.92 C +ATOM 48 N VAL A 8 6.458 2.162 13.159 1.00 5.02 N +ATOM 49 CA VAL A 8 5.145 2.209 12.453 1.00 6.93 C +ATOM 50 C VAL A 8 5.115 3.379 11.461 1.00 5.39 C +ATOM 51 O VAL A 8 4.664 3.268 10.343 1.00 6.30 O +ATOM 52 CB VAL A 8 3.995 2.354 13.478 1.00 9.64 C +ATOM 53 CG1 VAL A 8 2.716 2.891 12.869 1.00 13.85 C +ATOM 54 CG2 VAL A 8 3.758 1.032 14.208 1.00 11.97 C +ATOM 55 N ALA A 9 5.606 4.546 11.941 1.00 3.73 N +ATOM 56 CA ALA A 9 5.598 5.767 11.082 1.00 3.56 C +ATOM 57 C ALA A 9 6.441 5.527 9.850 1.00 4.13 C +ATOM 58 O ALA A 9 6.052 5.933 8.744 1.00 4.36 O +ATOM 59 CB ALA A 9 6.022 6.977 11.891 1.00 4.80 C +ATOM 60 N ARG A 10 7.647 4.909 10.005 1.00 3.73 N +ATOM 61 CA ARG A 10 8.496 4.609 8.837 1.00 3.38 C +ATOM 62 C ARG A 10 7.798 3.609 7.876 1.00 3.47 C +ATOM 63 O ARG A 10 7.878 3.778 6.651 1.00 4.67 O +ATOM 64 CB ARG A 10 9.847 4.020 9.305 1.00 3.95 C +ATOM 65 CG ARG A 10 10.752 3.607 8.149 1.00 4.55 C +ATOM 66 CD ARG A 10 11.226 4.699 7.244 1.00 5.89 C +ATOM 67 NE ARG A 10 12.143 5.571 8.035 1.00 6.20 N +ATOM 68 CZ ARG A 10 12.758 6.609 7.443 1.00 7.52 C +ATOM 69 NH1 ARG A 10 12.539 6.932 6.158 1.00 10.68 N +ATOM 70 NH2 ARG A 10 13.601 7.322 8.202 1.00 9.48 N +ATOM 71 N SER A 11 7.186 2.582 8.445 1.00 5.19 N +ATOM 72 CA SER A 11 6.500 1.584 7.565 1.00 4.60 C +ATOM 73 C SER A 11 5.382 2.313 6.773 1.00 4.84 C +ATOM 74 O SER A 11 5.213 2.016 5.557 1.00 5.84 O +ATOM 75 CB SER A 11 5.908 0.462 8.400 1.00 5.91 C +ATOM 76 OG SER A 11 6.990 -0.272 9.012 1.00 8.38 O +ATOM 77 N ASN A 12 4.648 3.182 7.446 1.00 3.54 N +ATOM 78 CA ASN A 12 3.545 3.935 6.751 1.00 4.57 C +ATOM 79 C ASN A 12 4.107 4.851 5.691 1.00 4.14 C +ATOM 80 O ASN A 12 3.536 5.001 4.617 1.00 5.52 O +ATOM 81 CB ASN A 12 2.663 4.677 7.748 1.00 6.42 C +ATOM 82 CG ASN A 12 1.802 3.735 8.610 1.00 8.25 C +ATOM 83 OD1 ASN A 12 1.567 2.613 8.165 1.00 12.72 O +ATOM 84 ND2 ASN A 12 1.394 4.252 9.767 1.00 9.92 N +ATOM 85 N PHE A 13 5.259 5.498 6.005 1.00 3.43 N +ATOM 86 CA PHE A 13 5.929 6.358 5.055 1.00 3.49 C +ATOM 87 C PHE A 13 6.304 5.578 3.799 1.00 3.40 C +ATOM 88 O PHE A 13 6.136 6.072 2.653 1.00 4.07 O +ATOM 89 CB PHE A 13 7.183 6.994 5.754 1.00 5.48 C +ATOM 90 CG PHE A 13 7.884 8.006 4.883 1.00 5.57 C +ATOM 91 CD1 PHE A 13 8.906 7.586 4.027 1.00 6.99 C +ATOM 92 CD2 PHE A 13 7.532 9.373 4.983 1.00 6.52 C +ATOM 93 CE1 PHE A 13 9.560 8.539 3.194 1.00 8.20 C +ATOM 94 CE2 PHE A 13 8.176 10.281 4.145 1.00 6.34 C +ATOM 95 CZ PHE A 13 9.141 9.845 3.292 1.00 6.84 C +ATOM 96 N ASN A 14 6.900 4.390 3.989 1.00 3.64 N +ATOM 97 CA ASN A 14 7.331 3.607 2.791 1.00 4.31 C +ATOM 98 C ASN A 14 6.116 3.210 1.915 1.00 3.98 C +ATOM 99 O ASN A 14 6.240 3.144 0.684 1.00 6.22 O +ATOM 100 CB ASN A 14 8.145 2.404 3.240 1.00 5.81 C +ATOM 101 CG ASN A 14 9.555 2.856 3.730 1.00 6.82 C +ATOM 102 OD1 ASN A 14 10.013 3.895 3.323 1.00 9.43 O +ATOM 103 ND2 ASN A 14 10.120 1.956 4.539 1.00 8.21 N +ATOM 104 N VAL A 15 4.993 2.927 2.571 1.00 3.76 N +ATOM 105 CA VAL A 15 3.782 2.599 1.742 1.00 3.98 C +ATOM 106 C VAL A 15 3.296 3.871 1.004 1.00 3.80 C +ATOM 107 O VAL A 15 2.947 3.817 -0.189 1.00 4.85 O +ATOM 108 CB VAL A 15 2.698 1.953 2.608 1.00 4.71 C +ATOM 109 CG1 VAL A 15 1.384 1.826 1.806 1.00 6.67 C +ATOM 110 CG2 VAL A 15 3.174 0.533 3.005 1.00 6.26 C +ATOM 111 N CYS A 16 3.321 4.987 1.720 1.00 3.79 N +ATOM 112 CA CYS A 16 2.890 6.285 1.126 1.00 3.54 C +ATOM 113 C CYS A 16 3.687 6.597 -0.111 1.00 3.48 C +ATOM 114 O CYS A 16 3.200 7.147 -1.103 1.00 4.63 O +ATOM 115 CB CYS A 16 3.039 7.369 2.240 1.00 4.58 C +ATOM 116 SG CYS A 16 2.559 9.014 1.649 1.00 5.66 S +ATOM 117 N ARG A 17 4.997 6.227 -0.100 1.00 3.99 N +ATOM 118 CA ARG A 17 5.895 6.489 -1.213 1.00 3.83 C +ATOM 119 C ARG A 17 5.738 5.560 -2.409 1.00 3.79 C +ATOM 120 O ARG A 17 6.228 5.901 -3.507 1.00 5.39 O +ATOM 121 CB ARG A 17 7.370 6.507 -0.731 1.00 4.11 C +ATOM 122 CG ARG A 17 7.717 7.687 0.206 1.00 4.69 C +ATOM 123 CD ARG A 17 7.949 8.947 -0.615 1.00 5.10 C +ATOM 124 NE ARG A 17 9.212 8.856 -1.337 1.00 4.71 N +ATOM 125 CZ ARG A 17 9.537 9.533 -2.431 1.00 5.28 C +ATOM 126 NH1 ARG A 17 8.659 10.350 -3.032 1.00 6.67 N +ATOM 127 NH2 ARG A 17 10.793 9.491 -2.899 1.00 6.41 N +ATOM 128 N LEU A 18 5.051 4.411 -2.204 1.00 4.70 N +ATOM 129 CA LEU A 18 4.933 3.431 -3.326 1.00 5.46 C +ATOM 130 C LEU A 18 4.397 4.014 -4.620 1.00 5.13 C +ATOM 131 O LEU A 18 4.988 3.755 -5.687 1.00 5.55 O +ATOM 132 CB LEU A 18 4.196 2.184 -2.863 1.00 6.47 C +ATOM 133 CG LEU A 18 4.960 1.178 -1.991 1.00 7.43 C +ATOM 134 CD1 LEU A 18 3.907 0.097 -1.634 1.00 8.70 C +ATOM 135 CD2 LEU A 18 6.129 0.606 -2.768 1.00 9.39 C +ATOM 136 N PRO A 19 3.329 4.795 -4.543 1.00 4.28 N +ATOM 137 CA PRO A 19 2.792 5.376 -5.797 1.00 5.38 C +ATOM 138 C PRO A 19 3.573 6.540 -6.322 1.00 6.30 C +ATOM 139 O PRO A 19 3.260 7.045 -7.422 1.00 9.62 O +ATOM 140 CB PRO A 19 1.358 5.766 -5.472 1.00 5.87 C +ATOM 141 CG PRO A 19 1.223 5.694 -3.993 1.00 6.47 C +ATOM 142 CD PRO A 19 2.421 4.941 -3.408 1.00 6.45 C +ATOM 143 N GLY A 20 4.565 7.047 -5.559 1.00 4.94 N +ATOM 144 CA GLY A 20 5.366 8.191 -6.018 1.00 5.39 C +ATOM 145 C GLY A 20 5.007 9.481 -5.280 1.00 5.03 C +ATOM 146 O GLY A 20 5.535 10.510 -5.730 1.00 7.34 O +ATOM 147 N THR A 21 4.181 9.438 -4.262 1.00 4.10 N +ATOM 148 CA THR A 21 3.767 10.609 -3.513 1.00 3.94 C +ATOM 149 C THR A 21 5.017 11.397 -3.042 1.00 3.96 C +ATOM 150 O THR A 21 5.947 10.757 -2.523 1.00 5.82 O +ATOM 151 CB THR A 21 2.992 10.188 -2.225 1.00 4.13 C +ATOM 152 OG1 THR A 21 2.051 9.144 -2.623 1.00 5.45 O +ATOM 153 CG2 THR A 21 2.260 11.349 -1.551 1.00 5.41 C +ATOM 154 N PRO A 22 4.971 12.703 -3.176 1.00 5.04 N +ATOM 155 CA PRO A 22 6.143 13.513 -2.696 1.00 4.69 C +ATOM 156 C PRO A 22 6.400 13.233 -1.225 1.00 4.19 C +ATOM 157 O PRO A 22 5.485 13.061 -0.382 1.00 4.47 O +ATOM 158 CB PRO A 22 5.703 14.969 -2.920 1.00 7.12 C +ATOM 159 CG PRO A 22 4.676 14.893 -3.996 1.00 7.03 C +ATOM 160 CD PRO A 22 3.964 13.567 -3.811 1.00 4.90 C +ATOM 161 N GLU A 23 7.728 13.297 -0.921 1.00 5.16 N +ATOM 162 CA GLU A 23 8.114 13.103 0.500 1.00 5.31 C +ATOM 163 C GLU A 23 7.427 14.073 1.410 1.00 4.11 C +ATOM 164 O GLU A 23 7.036 13.682 2.540 1.00 5.11 O +ATOM 165 CB GLU A 23 9.648 13.285 0.660 1.00 6.16 C +ATOM 166 CG GLU A 23 10.440 12.093 0.063 1.00 7.48 C +ATOM 167 CD GLU A 23 11.941 12.170 0.391 1.00 9.40 C +ATOM 168 OE1 GLU A 23 12.416 13.225 0.681 1.00 10.40 O +ATOM 169 OE2 GLU A 23 12.539 11.070 0.292 1.00 13.32 O +ATOM 170 N ALA A 24 7.212 15.334 0.966 1.00 4.56 N +ATOM 171 CA ALA A 24 6.614 16.317 1.913 1.00 4.49 C +ATOM 172 C ALA A 24 5.212 15.936 2.350 1.00 4.10 C +ATOM 173 O ALA A 24 4.782 16.166 3.495 1.00 5.64 O +ATOM 174 CB ALA A 24 6.605 17.695 1.246 1.00 5.80 C +ATOM 175 N ILE A 25 4.445 15.318 1.405 1.00 4.37 N +ATOM 176 CA ILE A 25 3.074 14.894 1.756 1.00 5.44 C +ATOM 177 C ILE A 25 3.085 13.643 2.645 1.00 4.32 C +ATOM 178 O ILE A 25 2.315 13.523 3.578 1.00 4.72 O +ATOM 179 CB ILE A 25 2.204 14.637 0.462 1.00 6.42 C +ATOM 180 CG1 ILE A 25 1.815 16.048 -0.129 1.00 7.50 C +ATOM 181 CG2 ILE A 25 0.903 13.864 0.811 1.00 7.65 C +ATOM 182 CD1 ILE A 25 0.756 16.761 0.757 1.00 7.80 C +ATOM 183 N CYS A 26 4.032 12.764 2.313 1.00 3.92 N +ATOM 184 CA CYS A 26 4.180 11.549 3.187 1.00 4.37 C +ATOM 185 C CYS A 26 4.632 11.944 4.596 1.00 3.95 C +ATOM 186 O CYS A 26 4.227 11.252 5.547 1.00 4.74 O +ATOM 187 CB CYS A 26 5.038 10.518 2.539 1.00 4.63 C +ATOM 188 SG CYS A 26 4.349 9.794 1.022 1.00 5.61 S +ATOM 189 N ALA A 27 5.408 13.012 4.694 1.00 3.89 N +ATOM 190 CA ALA A 27 5.879 13.502 6.026 1.00 4.43 C +ATOM 191 C ALA A 27 4.696 13.908 6.882 1.00 4.26 C +ATOM 192 O ALA A 27 4.528 13.422 8.025 1.00 5.44 O +ATOM 193 CB ALA A 27 6.880 14.615 5.830 1.00 5.36 C +ATOM 194 N THR A 28 3.827 14.802 6.358 1.00 4.53 N +ATOM 195 CA THR A 28 2.691 15.221 7.194 1.00 5.08 C +ATOM 196 C THR A 28 1.672 14.132 7.434 1.00 4.62 C +ATOM 197 O THR A 28 0.947 14.112 8.468 1.00 7.80 O +ATOM 198 CB THR A 28 1.986 16.520 6.614 1.00 6.03 C +ATOM 199 OG1 THR A 28 1.664 16.221 5.230 1.00 7.19 O +ATOM 200 CG2 THR A 28 2.914 17.739 6.700 1.00 7.34 C +ATOM 201 N TYR A 29 1.621 13.190 6.511 1.00 5.01 N +ATOM 202 CA TYR A 29 0.715 12.045 6.657 1.00 6.60 C +ATOM 203 C TYR A 29 1.125 11.125 7.815 1.00 4.92 C +ATOM 204 O TYR A 29 0.286 10.632 8.545 1.00 7.13 O +ATOM 205 CB TYR A 29 0.755 11.229 5.322 1.00 9.66 C +ATOM 206 CG TYR A 29 -0.203 10.044 5.354 1.00 11.56 C +ATOM 207 CD1 TYR A 29 -1.547 10.337 5.645 1.00 12.85 C +ATOM 208 CD2 TYR A 29 0.193 8.750 5.100 1.00 14.44 C +ATOM 209 CE1 TYR A 29 -2.496 9.329 5.673 1.00 16.61 C +ATOM 210 CE2 TYR A 29 -0.801 7.705 5.156 1.00 17.11 C +ATOM 211 CZ TYR A 29 -2.079 8.031 5.430 1.00 19.99 C +ATOM 212 OH TYR A 29 -3.097 7.057 5.458 1.00 28.98 O +ATOM 213 N THR A 30 2.470 10.984 7.995 1.00 5.31 N +ATOM 214 CA THR A 30 2.986 9.994 8.950 1.00 5.70 C +ATOM 215 C THR A 30 3.609 10.505 10.230 1.00 6.28 C +ATOM 216 O THR A 30 3.766 9.715 11.186 1.00 8.77 O +ATOM 217 CB THR A 30 4.076 9.103 8.225 1.00 6.55 C +ATOM 218 OG1 THR A 30 5.125 10.027 7.824 1.00 6.57 O +ATOM 219 CG2 THR A 30 3.493 8.324 7.035 1.00 7.29 C +ATOM 220 N GLY A 31 3.984 11.764 10.241 1.00 4.99 N +ATOM 221 CA GLY A 31 4.769 12.336 11.360 1.00 5.50 C +ATOM 222 C GLY A 31 6.255 12.243 11.106 1.00 4.19 C +ATOM 223 O GLY A 31 7.037 12.750 11.954 1.00 6.12 O +ATOM 224 N CYS A 32 6.710 11.631 9.992 1.00 4.30 N +ATOM 225 CA CYS A 32 8.140 11.694 9.635 1.00 4.89 C +ATOM 226 C CYS A 32 8.500 13.141 9.206 1.00 5.50 C +ATOM 227 O CYS A 32 7.581 13.949 8.944 1.00 5.82 O +ATOM 228 CB CYS A 32 8.504 10.686 8.530 1.00 4.66 C +ATOM 229 SG CYS A 32 8.048 8.987 8.881 1.00 5.33 S +ATOM 230 N ILE A 33 9.793 13.410 9.173 1.00 6.02 N +ATOM 231 CA ILE A 33 10.280 14.760 8.823 1.00 5.24 C +ATOM 232 C ILE A 33 11.346 14.658 7.743 1.00 5.16 C +ATOM 233 O ILE A 33 11.971 13.583 7.552 1.00 7.19 O +ATOM 234 CB ILE A 33 10.790 15.535 10.085 1.00 5.49 C +ATOM 235 CG1 ILE A 33 12.059 14.803 10.671 1.00 6.85 C +ATOM 236 CG2 ILE A 33 9.684 15.686 11.138 1.00 6.45 C +ATOM 237 CD1 ILE A 33 12.733 15.676 11.781 1.00 8.94 C +ATOM 238 N ILE A 34 11.490 15.773 7.038 1.00 5.52 N +ATOM 239 CA ILE A 34 12.552 15.877 6.036 1.00 6.82 C +ATOM 240 C ILE A 34 13.590 16.917 6.560 1.00 6.92 C +ATOM 241 O ILE A 34 13.168 18.006 6.945 1.00 9.22 O +ATOM 242 CB ILE A 34 11.987 16.360 4.681 1.00 8.11 C +ATOM 243 CG1 ILE A 34 10.914 15.338 4.163 1.00 9.59 C +ATOM 244 CG2 ILE A 34 13.131 16.517 3.629 1.00 9.73 C +ATOM 245 CD1 ILE A 34 10.151 16.024 2.938 1.00 13.41 C +ATOM 246 N ILE A 35 14.856 16.493 6.536 1.00 7.06 N +ATOM 247 CA ILE A 35 15.930 17.454 6.941 1.00 7.52 C +ATOM 248 C ILE A 35 16.913 17.550 5.819 1.00 6.63 C +ATOM 249 O ILE A 35 17.097 16.660 4.970 1.00 7.90 O +ATOM 250 CB ILE A 35 16.622 16.995 8.285 1.00 8.07 C +ATOM 251 CG1 ILE A 35 17.360 15.651 8.067 1.00 9.41 C +ATOM 252 CG2 ILE A 35 15.592 16.974 9.434 1.00 9.46 C +ATOM 253 CD1 ILE A 35 18.298 15.206 9.219 1.00 9.85 C +ATOM 254 N PRO A 36 17.664 18.669 5.806 1.00 8.07 N +ATOM 255 CA PRO A 36 18.635 18.861 4.738 1.00 8.78 C +ATOM 256 C PRO A 36 19.925 18.042 4.949 1.00 8.31 C +ATOM 257 O PRO A 36 20.593 17.742 3.945 1.00 9.09 O +ATOM 258 CB PRO A 36 18.945 20.364 4.783 1.00 9.67 C +ATOM 259 CG PRO A 36 18.238 20.937 5.908 1.00 10.15 C +ATOM 260 CD PRO A 36 17.371 19.900 6.596 1.00 9.53 C +ATOM 261 N GLY A 37 20.172 17.730 6.217 1.00 8.48 N +ATOM 262 CA GLY A 37 21.452 16.969 6.513 1.00 9.20 C +ATOM 263 C GLY A 37 21.143 15.478 6.427 1.00 10.41 C +ATOM 264 O GLY A 37 20.138 15.023 5.878 1.00 12.06 O +ATOM 265 N ALA A 38 22.055 14.701 7.032 1.00 9.24 N +ATOM 266 CA ALA A 38 22.019 13.242 7.020 1.00 9.24 C +ATOM 267 C ALA A 38 21.944 12.628 8.396 1.00 9.60 C +ATOM 268 O ALA A 38 21.869 11.387 8.435 1.00 13.65 O +ATOM 269 CB ALA A 38 23.246 12.697 6.275 1.00 10.43 C +ATOM 270 N THR A 39 21.894 13.435 9.436 1.00 8.70 N +ATOM 271 CA THR A 39 21.936 12.911 10.809 1.00 9.46 C +ATOM 272 C THR A 39 20.615 13.191 11.521 1.00 8.32 C +ATOM 273 O THR A 39 20.357 14.317 11.948 1.00 9.89 O +ATOM 274 CB THR A 39 23.131 13.601 11.593 1.00 10.72 C +ATOM 275 OG1 THR A 39 24.284 13.401 10.709 1.00 11.66 O +ATOM 276 CG2 THR A 39 23.340 12.935 12.962 1.00 11.81 C +ATOM 277 N CYS A 40 19.827 12.110 11.642 1.00 7.64 N +ATOM 278 CA CYS A 40 18.504 12.312 12.298 1.00 8.05 C +ATOM 279 C CYS A 40 18.684 12.451 13.784 1.00 7.63 C +ATOM 280 O CYS A 40 19.533 11.718 14.362 1.00 9.64 O +ATOM 281 CB CYS A 40 17.582 11.117 11.996 1.00 7.80 C +ATOM 282 SG CYS A 40 17.199 10.929 10.237 1.00 7.30 S +ATOM 283 N PRO A 41 17.880 13.266 14.426 1.00 8.00 N +ATOM 284 CA PRO A 41 17.924 13.421 15.877 1.00 8.96 C +ATOM 285 C PRO A 41 17.392 12.206 16.594 1.00 9.06 C +ATOM 286 O PRO A 41 16.652 11.368 16.033 1.00 8.82 O +ATOM 287 CB PRO A 41 17.076 14.658 16.145 1.00 10.39 C +ATOM 288 CG PRO A 41 16.098 14.689 14.997 1.00 10.99 C +ATOM 289 CD PRO A 41 16.859 14.150 13.779 1.00 10.49 C +ATOM 290 N GLY A 42 17.728 12.124 17.884 1.00 7.55 N +ATOM 291 CA GLY A 42 17.334 10.956 18.691 1.00 8.00 C +ATOM 292 C GLY A 42 15.875 10.688 18.871 1.00 7.22 C +ATOM 293 O GLY A 42 15.434 9.550 19.166 1.00 8.41 O +ATOM 294 N ASP A 43 15.036 11.747 18.715 1.00 5.54 N +ATOM 295 CA ASP A 43 13.564 11.573 18.836 1.00 5.85 C +ATOM 296 C ASP A 43 12.936 11.227 17.470 1.00 5.87 C +ATOM 297 O ASP A 43 11.720 11.040 17.428 1.00 7.29 O +ATOM 298 CB ASP A 43 12.933 12.737 19.580 1.00 6.72 C +ATOM 299 CG ASP A 43 13.140 14.094 18.958 1.00 8.59 C +ATOM 300 OD1 ASP A 43 14.109 14.303 18.212 1.00 9.59 O +ATOM 301 OD2 ASP A 43 12.267 14.963 19.265 1.00 11.45 O +ATOM 302 N TYR A 44 13.725 11.174 16.425 1.00 5.22 N +ATOM 303 CA TYR A 44 13.257 10.745 15.081 1.00 5.56 C +ATOM 304 C TYR A 44 14.275 9.687 14.612 1.00 4.61 C +ATOM 305 O TYR A 44 14.930 9.862 13.568 1.00 6.04 O +ATOM 306 CB TYR A 44 13.200 11.914 14.071 1.00 5.41 C +ATOM 307 CG TYR A 44 12.000 12.819 14.399 1.00 5.34 C +ATOM 308 CD1 TYR A 44 12.119 13.853 15.332 1.00 6.59 C +ATOM 309 CD2 TYR A 44 10.775 12.617 13.762 1.00 5.94 C +ATOM 310 CE1 TYR A 44 11.045 14.675 15.610 1.00 5.97 C +ATOM 311 CE2 TYR A 44 9.676 13.433 14.048 1.00 5.17 C +ATOM 312 CZ TYR A 44 9.802 14.456 14.996 1.00 5.96 C +ATOM 313 OH TYR A 44 8.740 15.265 15.269 1.00 8.60 O +ATOM 314 N ALA A 45 14.342 8.640 15.422 1.00 4.76 N +ATOM 315 CA ALA A 45 15.445 7.667 15.246 1.00 5.89 C +ATOM 316 C ALA A 45 15.171 6.533 14.280 1.00 6.67 C +ATOM 317 O ALA A 45 16.093 5.705 14.039 1.00 7.56 O +ATOM 318 CB ALA A 45 15.680 7.099 16.682 1.00 6.82 C +ATOM 319 N ASN A 46 13.966 6.502 13.739 1.00 5.80 N +ATOM 320 CA ASN A 46 13.512 5.395 12.878 1.00 6.15 C +ATOM 321 C ASN A 46 13.311 5.853 11.455 1.00 6.61 C +ATOM 322 O ASN A 46 13.733 6.929 11.026 1.00 7.18 O +ATOM 323 CB ASN A 46 12.266 4.769 13.501 1.00 7.27 C +ATOM 324 CG ASN A 46 12.538 4.304 14.922 1.00 7.98 C +ATOM 325 OD1 ASN A 46 11.982 4.849 15.886 1.00 11.00 O +ATOM 326 ND2 ASN A 46 13.407 3.298 15.015 1.00 10.32 N +ATOM 327 OXT ASN A 46 12.703 4.973 10.746 1.00 7.86 O +TER 328 ASN A 46 +CONECT 20 282 +CONECT 26 229 +CONECT 116 188 +CONECT 188 116 +CONECT 229 26 +CONECT 282 20 +MASTER 227 0 0 2 2 1 0 6 327 1 6 4 +END \ No newline at end of file diff --git a/examples/demos/data/loop-candidates.pdb b/examples/demos/data/loop-candidates.pdb new file mode 100644 index 0000000000000000000000000000000000000000..ffe1f2131b09b24b08aa08194ef6b4d216c92090 --- /dev/null +++ b/examples/demos/data/loop-candidates.pdb @@ -0,0 +1,2653 @@ +MODEL 1 +ATOM 1 N GLY A 1 38.710 1.038 82.108 1.00 0.00 N +ATOM 2 CA GLY A 1 37.883 0.416 83.169 1.00 0.00 C +ATOM 3 C GLY A 1 37.130 1.383 84.091 1.00 0.00 C +ATOM 4 O GLY A 1 36.425 0.948 85.043 1.00 0.00 O +ATOM 5 N GLY A 2 37.284 2.688 83.864 1.00 0.00 N +ATOM 6 CA GLY A 2 36.545 3.637 84.693 1.00 0.00 C +ATOM 7 C GLY A 2 36.251 4.894 83.921 1.00 0.00 C +ATOM 8 O GLY A 2 36.800 5.105 82.842 1.00 0.00 O +ATOM 9 N GLY A 3 35.362 5.719 84.474 1.00 0.00 N +ATOM 10 CA GLY A 3 35.067 7.002 83.865 1.00 0.00 C +ATOM 11 C GLY A 3 34.851 8.017 84.963 1.00 0.00 C +ATOM 12 O GLY A 3 34.138 7.742 85.934 1.00 0.00 O +ATOM 13 N GLY A 4 35.432 9.200 84.792 1.00 0.00 N +ATOM 14 CA GLY A 4 35.208 10.231 85.789 1.00 0.00 C +ATOM 15 C GLY A 4 33.904 10.992 85.530 1.00 0.00 C +ATOM 16 O GLY A 4 33.665 11.438 84.396 1.00 0.00 O +ATOM 17 N GLY A 5 33.088 11.162 86.578 1.00 0.00 N +ATOM 18 CA GLY A 5 31.857 11.927 86.457 1.00 0.00 C +ATOM 19 C GLY A 5 32.011 13.248 87.199 1.00 0.00 C +ATOM 20 O GLY A 5 33.024 13.530 87.835 1.00 0.00 O +ATOM 21 N GLY A 6 30.995 14.080 87.139 1.00 0.00 N +ATOM 22 CA GLY A 6 31.028 15.352 87.848 1.00 0.00 C +ATOM 23 C GLY A 6 31.072 15.151 89.369 1.00 0.00 C +ATOM 24 O GLY A 6 31.772 15.913 90.062 1.00 0.00 O +ATOM 25 N GLY A 7 30.377 14.144 89.904 1.00 0.00 N +ATOM 26 CA GLY A 7 30.434 13.930 91.366 1.00 0.00 C +ATOM 27 C GLY A 7 30.872 12.547 91.763 1.00 0.00 C +ATOM 28 O GLY A 7 31.198 12.335 92.930 1.00 0.00 O +ATOM 29 N GLY A 8 30.900 11.606 90.829 1.00 0.00 N +ATOM 30 CA GLY A 8 31.273 10.230 91.170 1.00 0.00 C +ATOM 31 C GLY A 8 32.201 9.611 90.119 1.00 0.00 C +ATOM 32 O GLY A 8 32.232 10.048 88.945 1.00 0.00 O +ENDMDL +MODEL 2 +ATOM 1 N GLY A 1 38.694 1.543 80.899 1.00 0.00 N +ATOM 2 CA GLY A 1 37.811 0.422 81.162 1.00 0.00 C +ATOM 3 C GLY A 1 36.813 0.739 82.269 1.00 0.00 C +ATOM 4 O GLY A 1 36.463 -0.139 83.053 1.00 0.00 O +ATOM 5 N GLY A 2 36.346 1.992 82.355 1.00 0.00 N +ATOM 6 CA GLY A 2 35.665 2.472 83.574 1.00 0.00 C +ATOM 7 C GLY A 2 34.159 2.214 83.809 1.00 0.00 C +ATOM 8 O GLY A 2 33.771 1.351 84.600 1.00 0.00 O +ATOM 9 N GLY A 3 33.352 2.956 83.052 1.00 0.00 N +ATOM 10 CA GLY A 3 31.921 3.300 83.269 1.00 0.00 C +ATOM 11 C GLY A 3 32.019 4.574 83.999 1.00 0.00 C +ATOM 12 O GLY A 3 31.244 5.489 83.769 1.00 0.00 O +ATOM 13 N GLY A 4 32.990 4.583 84.911 1.00 0.00 N +ATOM 14 CA GLY A 4 33.441 5.749 85.631 1.00 0.00 C +ATOM 15 C GLY A 4 32.618 6.160 86.832 1.00 0.00 C +ATOM 16 O GLY A 4 32.927 7.160 87.474 1.00 0.00 O +ATOM 17 N GLY A 5 31.565 5.399 87.135 1.00 0.00 N +ATOM 18 CA GLY A 5 30.952 5.520 88.450 1.00 0.00 C +ATOM 19 C GLY A 5 31.908 4.985 89.503 1.00 0.00 C +ATOM 20 O GLY A 5 32.967 4.457 89.168 1.00 0.00 O +ATOM 21 N GLY A 6 31.540 5.138 90.772 1.00 0.00 N +ATOM 22 CA GLY A 6 32.398 4.804 91.910 1.00 0.00 C +ATOM 23 C GLY A 6 33.617 5.704 91.979 1.00 0.00 C +ATOM 24 O GLY A 6 34.000 6.132 93.058 1.00 0.00 O +ATOM 25 N GLY A 7 34.213 6.004 90.833 1.00 0.00 N +ATOM 26 CA GLY A 7 35.205 7.050 90.732 1.00 0.00 C +ATOM 27 C GLY A 7 34.526 8.366 91.057 1.00 0.00 C +ATOM 28 O GLY A 7 35.012 9.145 91.867 1.00 0.00 O +ATOM 29 N GLY A 8 33.376 8.575 90.425 1.00 0.00 N +ATOM 30 CA GLY A 8 32.545 9.749 90.628 1.00 0.00 C +ATOM 31 C GLY A 8 31.847 9.644 91.961 1.00 0.00 C +ATOM 32 O GLY A 8 31.720 10.629 92.682 1.00 0.00 O +ENDMDL +MODEL 3 +ATOM 1 N GLY A 1 37.941 0.894 83.211 1.00 0.00 N +ATOM 2 CA GLY A 1 38.351 0.100 82.048 1.00 0.00 C +ATOM 3 C GLY A 1 38.070 -1.376 82.274 1.00 0.00 C +ATOM 4 O GLY A 1 38.284 -2.201 81.376 1.00 0.00 O +ATOM 5 N GLY A 2 37.577 -1.720 83.456 1.00 0.00 N +ATOM 6 CA GLY A 2 37.305 -3.108 83.793 1.00 0.00 C +ATOM 7 C GLY A 2 35.817 -3.450 83.857 1.00 0.00 C +ATOM 8 O GLY A 2 35.261 -3.793 84.918 1.00 0.00 O +ATOM 9 N GLY A 3 35.172 -3.308 82.705 1.00 0.00 N +ATOM 10 CA GLY A 3 33.763 -3.637 82.556 1.00 0.00 C +ATOM 11 C GLY A 3 32.846 -2.989 83.603 1.00 0.00 C +ATOM 12 O GLY A 3 31.974 -3.651 84.174 1.00 0.00 O +ATOM 13 N GLY A 4 33.052 -1.709 83.860 1.00 0.00 N +ATOM 14 CA GLY A 4 32.217 -0.991 84.809 1.00 0.00 C +ATOM 15 C GLY A 4 32.148 0.461 84.395 1.00 0.00 C +ATOM 16 O GLY A 4 33.131 1.048 83.942 1.00 0.00 O +ATOM 17 N GLY A 5 30.962 1.045 84.532 1.00 0.00 N +ATOM 18 CA GLY A 5 30.769 2.453 84.213 1.00 0.00 C +ATOM 19 C GLY A 5 30.966 3.174 85.535 1.00 0.00 C +ATOM 20 O GLY A 5 30.385 2.783 86.551 1.00 0.00 O +ATOM 21 N GLY A 6 31.820 4.186 85.540 1.00 0.00 N +ATOM 22 CA GLY A 6 32.099 4.919 86.770 1.00 0.00 C +ATOM 23 C GLY A 6 31.756 6.388 86.635 1.00 0.00 C +ATOM 24 O GLY A 6 32.114 7.016 85.634 1.00 0.00 O +ATOM 25 N GLY A 7 31.066 6.921 87.634 1.00 0.00 N +ATOM 26 CA GLY A 7 30.704 8.337 87.675 1.00 0.00 C +ATOM 27 C GLY A 7 31.026 8.785 89.086 1.00 0.00 C +ATOM 28 O GLY A 7 30.343 8.389 90.032 1.00 0.00 O +ATOM 29 N GLY A 8 32.072 9.583 89.225 1.00 0.00 N +ATOM 30 CA GLY A 8 32.490 10.046 90.544 1.00 0.00 C +ATOM 31 C GLY A 8 31.536 11.097 91.116 1.00 0.00 C +ATOM 32 O GLY A 8 31.042 11.965 90.410 1.00 0.00 O +ENDMDL +MODEL 4 +ATOM 1 N GLY A 1 39.299 0.095 81.830 1.00 0.00 N +ATOM 2 CA GLY A 1 39.119 0.759 83.108 1.00 0.00 C +ATOM 3 C GLY A 1 37.764 1.452 83.184 1.00 0.00 C +ATOM 4 O GLY A 1 37.537 2.450 82.498 1.00 0.00 O +ATOM 5 N GLY A 2 36.868 0.917 84.007 1.00 0.00 N +ATOM 6 CA GLY A 2 35.494 1.405 83.993 1.00 0.00 C +ATOM 7 C GLY A 2 35.271 2.570 84.917 1.00 0.00 C +ATOM 8 O GLY A 2 34.915 2.402 86.104 1.00 0.00 O +ATOM 9 N GLY A 3 35.453 3.778 84.371 1.00 0.00 N +ATOM 10 CA GLY A 3 35.322 5.017 85.129 1.00 0.00 C +ATOM 11 C GLY A 3 33.950 5.151 85.795 1.00 0.00 C +ATOM 12 O GLY A 3 33.791 5.918 86.743 1.00 0.00 O +ATOM 13 N GLY A 4 32.968 4.412 85.289 1.00 0.00 N +ATOM 14 CA GLY A 4 31.638 4.395 85.942 1.00 0.00 C +ATOM 15 C GLY A 4 31.632 3.697 87.308 1.00 0.00 C +ATOM 16 O GLY A 4 30.722 3.904 88.135 1.00 0.00 O +ATOM 17 N GLY A 5 32.652 2.890 87.543 1.00 0.00 N +ATOM 18 CA GLY A 5 32.844 2.171 88.786 1.00 0.00 C +ATOM 19 C GLY A 5 33.566 3.031 89.829 1.00 0.00 C +ATOM 20 O GLY A 5 33.797 2.588 90.956 1.00 0.00 O +ATOM 21 N GLY A 6 33.925 4.254 89.433 1.00 0.00 N +ATOM 22 CA GLY A 6 34.406 5.252 90.385 1.00 0.00 C +ATOM 23 C GLY A 6 33.271 5.638 91.330 1.00 0.00 C +ATOM 24 O GLY A 6 33.528 6.067 92.445 1.00 0.00 O +ATOM 25 N GLY A 7 32.033 5.455 90.876 1.00 0.00 N +ATOM 26 CA GLY A 7 30.831 5.799 91.649 1.00 0.00 C +ATOM 27 C GLY A 7 30.954 7.251 92.113 1.00 0.00 C +ATOM 28 O GLY A 7 30.787 7.549 93.287 1.00 0.00 O +ATOM 29 N GLY A 8 31.268 8.153 91.192 1.00 0.00 N +ATOM 30 CA GLY A 8 31.516 9.552 91.546 1.00 0.00 C +ATOM 31 C GLY A 8 30.747 10.448 90.577 1.00 0.00 C +ATOM 32 O GLY A 8 30.985 10.420 89.357 1.00 0.00 O +ENDMDL +MODEL 5 +ATOM 1 N GLY A 1 39.744 -0.325 82.421 1.00 0.00 N +ATOM 2 CA GLY A 1 39.895 0.901 83.202 1.00 0.00 C +ATOM 3 C GLY A 1 38.762 1.066 84.196 1.00 0.00 C +ATOM 4 O GLY A 1 37.599 0.811 83.892 1.00 0.00 O +ATOM 5 N GLY A 2 39.113 1.524 85.386 1.00 0.00 N +ATOM 6 CA GLY A 2 38.138 1.717 86.453 1.00 0.00 C +ATOM 7 C GLY A 2 37.298 2.967 86.290 1.00 0.00 C +ATOM 8 O GLY A 2 37.799 4.031 85.918 1.00 0.00 O +ATOM 9 N GLY A 3 36.005 2.819 86.581 1.00 0.00 N +ATOM 10 CA GLY A 3 35.075 3.936 86.547 1.00 0.00 C +ATOM 11 C GLY A 3 35.445 4.681 87.829 1.00 0.00 C +ATOM 12 O GLY A 3 35.957 4.072 88.768 1.00 0.00 O +ATOM 13 N GLY A 4 35.207 5.994 87.886 1.00 0.00 N +ATOM 14 CA GLY A 4 35.551 6.745 89.102 1.00 0.00 C +ATOM 15 C GLY A 4 34.529 6.479 90.214 1.00 0.00 C +ATOM 16 O GLY A 4 33.829 7.384 90.661 1.00 0.00 O +ATOM 17 N GLY A 5 34.473 5.223 90.650 1.00 0.00 N +ATOM 18 CA GLY A 5 33.540 4.769 91.678 1.00 0.00 C +ATOM 19 C GLY A 5 33.338 5.695 92.884 1.00 0.00 C +ATOM 20 O GLY A 5 32.206 6.074 93.207 1.00 0.00 O +ATOM 21 N GLY A 6 34.439 6.038 93.527 1.00 0.00 N +ATOM 22 CA GLY A 6 34.445 6.908 94.697 1.00 0.00 C +ATOM 23 C GLY A 6 33.809 8.300 94.412 1.00 0.00 C +ATOM 24 O GLY A 6 33.108 8.857 95.260 1.00 0.00 O +ATOM 25 N GLY A 7 34.046 8.822 93.207 1.00 0.00 N +ATOM 26 CA GLY A 7 33.586 10.164 92.797 1.00 0.00 C +ATOM 27 C GLY A 7 32.333 10.292 91.927 1.00 0.00 C +ATOM 28 O GLY A 7 31.781 11.389 91.815 1.00 0.00 O +ATOM 29 N GLY A 8 31.896 9.211 91.298 1.00 0.00 N +ATOM 30 CA GLY A 8 30.770 9.242 90.365 1.00 0.00 C +ATOM 31 C GLY A 8 30.018 10.561 90.198 1.00 0.00 C +ATOM 32 O GLY A 8 30.241 11.281 89.220 1.00 0.00 O +ENDMDL +MODEL 6 +ATOM 1 N GLY A 1 38.845 0.036 81.682 1.00 0.00 N +ATOM 2 CA GLY A 1 38.666 1.380 82.229 1.00 0.00 C +ATOM 3 C GLY A 1 37.534 1.444 83.244 1.00 0.00 C +ATOM 4 O GLY A 1 36.451 1.975 82.953 1.00 0.00 O +ATOM 5 N GLY A 2 37.779 0.917 84.460 1.00 0.00 N +ATOM 6 CA GLY A 2 36.852 0.846 85.602 1.00 0.00 C +ATOM 7 C GLY A 2 36.486 2.204 86.189 1.00 0.00 C +ATOM 8 O GLY A 2 36.941 3.246 85.708 1.00 0.00 O +ATOM 9 N GLY A 3 35.683 2.185 87.251 1.00 0.00 N +ATOM 10 CA GLY A 3 35.240 3.424 87.881 1.00 0.00 C +ATOM 11 C GLY A 3 36.365 4.153 88.606 1.00 0.00 C +ATOM 12 O GLY A 3 37.218 3.523 89.237 1.00 0.00 O +ATOM 13 N GLY A 4 36.363 5.489 88.522 1.00 0.00 N +ATOM 14 CA GLY A 4 37.393 6.314 89.170 1.00 0.00 C +ATOM 15 C GLY A 4 37.494 6.138 90.673 1.00 0.00 C +ATOM 16 O GLY A 4 36.500 6.133 91.396 1.00 0.00 O +ATOM 17 N GLY A 5 38.732 5.986 91.135 1.00 0.00 N +ATOM 18 CA GLY A 5 39.040 5.810 92.544 1.00 0.00 C +ATOM 19 C GLY A 5 38.724 7.052 93.392 1.00 0.00 C +ATOM 20 O GLY A 5 38.194 6.935 94.494 1.00 0.00 O +ATOM 21 N GLY A 6 39.034 8.229 92.873 1.00 0.00 N +ATOM 22 CA GLY A 6 38.811 9.444 93.642 1.00 0.00 C +ATOM 23 C GLY A 6 37.654 10.346 93.213 1.00 0.00 C +ATOM 24 O GLY A 6 37.661 11.548 93.504 1.00 0.00 O +ATOM 25 N GLY A 7 36.664 9.768 92.554 1.00 0.00 N +ATOM 26 CA GLY A 7 35.506 10.537 92.103 1.00 0.00 C +ATOM 27 C GLY A 7 34.300 9.629 91.948 1.00 0.00 C +ATOM 28 O GLY A 7 34.441 8.425 91.728 1.00 0.00 O +ATOM 29 N GLY A 8 33.103 10.186 92.089 1.00 0.00 N +ATOM 30 CA GLY A 8 31.883 9.408 91.889 1.00 0.00 C +ATOM 31 C GLY A 8 31.594 9.739 90.427 1.00 0.00 C +ATOM 32 O GLY A 8 30.907 10.720 90.130 1.00 0.00 O +ENDMDL +MODEL 7 +ATOM 1 N GLY A 1 37.351 1.566 82.295 1.00 0.00 N +ATOM 2 CA GLY A 1 38.039 0.665 81.359 1.00 0.00 C +ATOM 3 C GLY A 1 37.830 -0.812 81.756 1.00 0.00 C +ATOM 4 O GLY A 1 37.763 -1.698 80.888 1.00 0.00 O +ATOM 5 N GLY A 2 37.702 -1.064 83.062 1.00 0.00 N +ATOM 6 CA GLY A 2 37.456 -2.413 83.589 1.00 0.00 C +ATOM 7 C GLY A 2 35.968 -2.766 83.742 1.00 0.00 C +ATOM 8 O GLY A 2 35.620 -3.876 84.189 1.00 0.00 O +ATOM 9 N GLY A 3 35.090 -1.845 83.354 1.00 0.00 N +ATOM 10 CA GLY A 3 33.658 -2.115 83.335 1.00 0.00 C +ATOM 11 C GLY A 3 32.979 -2.182 84.690 1.00 0.00 C +ATOM 12 O GLY A 3 31.916 -2.801 84.800 1.00 0.00 O +ATOM 13 N GLY A 4 33.578 -1.567 85.705 1.00 0.00 N +ATOM 14 CA GLY A 4 32.956 -1.513 87.034 1.00 0.00 C +ATOM 15 C GLY A 4 31.843 -0.476 87.066 1.00 0.00 C +ATOM 16 O GLY A 4 31.939 0.550 86.399 1.00 0.00 O +ATOM 17 N GLY A 5 30.799 -0.755 87.834 1.00 0.00 N +ATOM 18 CA GLY A 5 29.668 0.170 87.970 1.00 0.00 C +ATOM 19 C GLY A 5 30.020 1.264 88.976 1.00 0.00 C +ATOM 20 O GLY A 5 29.487 1.282 90.091 1.00 0.00 O +ATOM 21 N GLY A 6 30.919 2.171 88.585 1.00 0.00 N +ATOM 22 CA GLY A 6 31.533 3.125 89.513 1.00 0.00 C +ATOM 23 C GLY A 6 31.207 4.575 89.179 1.00 0.00 C +ATOM 24 O GLY A 6 31.261 4.957 88.015 1.00 0.00 O +ATOM 25 N GLY A 7 30.837 5.361 90.194 1.00 0.00 N +ATOM 26 CA GLY A 7 30.699 6.804 90.041 1.00 0.00 C +ATOM 27 C GLY A 7 31.675 7.523 90.960 1.00 0.00 C +ATOM 28 O GLY A 7 31.924 7.093 92.102 1.00 0.00 O +ATOM 29 N GLY A 8 32.239 8.616 90.471 1.00 0.00 N +ATOM 30 CA GLY A 8 32.972 9.541 91.321 1.00 0.00 C +ATOM 31 C GLY A 8 32.023 10.616 91.820 1.00 0.00 C +ATOM 32 O GLY A 8 31.214 11.149 91.052 1.00 0.00 O +ENDMDL +MODEL 8 +ATOM 1 N GLY A 1 40.155 -0.234 82.459 1.00 0.00 N +ATOM 2 CA GLY A 1 38.773 -0.322 82.937 1.00 0.00 C +ATOM 3 C GLY A 1 38.504 0.803 83.932 1.00 0.00 C +ATOM 4 O GLY A 1 39.316 1.039 84.830 1.00 0.00 O +ATOM 5 N GLY A 2 37.372 1.475 83.781 1.00 0.00 N +ATOM 6 CA GLY A 2 37.052 2.577 84.667 1.00 0.00 C +ATOM 7 C GLY A 2 36.704 2.204 86.100 1.00 0.00 C +ATOM 8 O GLY A 2 36.356 1.060 86.386 1.00 0.00 O +ATOM 9 N GLY A 3 36.814 3.182 87.000 1.00 0.00 N +ATOM 10 CA GLY A 3 36.485 2.969 88.407 1.00 0.00 C +ATOM 11 C GLY A 3 36.007 4.296 89.005 1.00 0.00 C +ATOM 12 O GLY A 3 36.180 5.355 88.408 1.00 0.00 O +ATOM 13 N GLY A 4 35.405 4.217 90.188 1.00 0.00 N +ATOM 14 CA GLY A 4 34.882 5.394 90.870 1.00 0.00 C +ATOM 15 C GLY A 4 35.755 5.806 92.044 1.00 0.00 C +ATOM 16 O GLY A 4 35.297 6.519 92.940 1.00 0.00 O +ATOM 17 N GLY A 5 37.018 5.390 92.031 1.00 0.00 N +ATOM 18 CA GLY A 5 37.934 5.685 93.128 1.00 0.00 C +ATOM 19 C GLY A 5 38.069 7.173 93.478 1.00 0.00 C +ATOM 20 O GLY A 5 38.299 7.510 94.634 1.00 0.00 O +ATOM 21 N GLY A 6 37.925 8.062 92.493 1.00 0.00 N +ATOM 22 CA GLY A 6 38.021 9.494 92.796 1.00 0.00 C +ATOM 23 C GLY A 6 36.727 10.236 92.491 1.00 0.00 C +ATOM 24 O GLY A 6 36.744 11.433 92.185 1.00 0.00 O +ATOM 25 N GLY A 7 35.596 9.546 92.577 1.00 0.00 N +ATOM 26 CA GLY A 7 34.339 10.229 92.336 1.00 0.00 C +ATOM 27 C GLY A 7 33.536 9.740 91.148 1.00 0.00 C +ATOM 28 O GLY A 7 34.041 9.004 90.291 1.00 0.00 O +ATOM 29 N GLY A 8 32.290 10.176 91.084 1.00 0.00 N +ATOM 30 CA GLY A 8 31.387 9.769 90.018 1.00 0.00 C +ATOM 31 C GLY A 8 30.394 10.903 89.722 1.00 0.00 C +ATOM 32 O GLY A 8 30.216 11.806 90.533 1.00 0.00 O +ENDMDL +MODEL 9 +ATOM 1 N GLY A 1 37.374 -0.731 81.136 1.00 0.00 N +ATOM 2 CA GLY A 1 37.800 0.432 81.902 1.00 0.00 C +ATOM 3 C GLY A 1 36.895 0.678 83.101 1.00 0.00 C +ATOM 4 O GLY A 1 35.690 0.418 83.052 1.00 0.00 O +ATOM 5 N GLY A 2 37.479 1.184 84.189 1.00 0.00 N +ATOM 6 CA GLY A 2 36.706 1.475 85.386 1.00 0.00 C +ATOM 7 C GLY A 2 35.756 2.667 85.232 1.00 0.00 C +ATOM 8 O GLY A 2 34.893 2.892 86.090 1.00 0.00 O +ATOM 9 N GLY A 3 35.889 3.418 84.145 1.00 0.00 N +ATOM 10 CA GLY A 3 34.861 4.387 83.776 1.00 0.00 C +ATOM 11 C GLY A 3 33.488 3.725 83.637 1.00 0.00 C +ATOM 12 O GLY A 3 32.471 4.310 84.020 1.00 0.00 O +ATOM 13 N GLY A 4 33.472 2.504 83.100 1.00 0.00 N +ATOM 14 CA GLY A 4 32.247 1.734 82.880 1.00 0.00 C +ATOM 15 C GLY A 4 31.757 1.027 84.145 1.00 0.00 C +ATOM 16 O GLY A 4 30.795 0.271 84.099 1.00 0.00 O +ATOM 17 N GLY A 5 32.442 1.267 85.255 1.00 0.00 N +ATOM 18 CA GLY A 5 32.296 0.432 86.446 1.00 0.00 C +ATOM 19 C GLY A 5 31.821 1.338 87.569 1.00 0.00 C +ATOM 20 O GLY A 5 31.144 0.897 88.500 1.00 0.00 O +ATOM 21 N GLY A 6 32.209 2.603 87.456 1.00 0.00 N +ATOM 22 CA GLY A 6 32.437 3.460 88.611 1.00 0.00 C +ATOM 23 C GLY A 6 32.079 4.925 88.377 1.00 0.00 C +ATOM 24 O GLY A 6 32.329 5.490 87.311 1.00 0.00 O +ATOM 25 N GLY A 7 31.478 5.523 89.404 1.00 0.00 N +ATOM 26 CA GLY A 7 31.118 6.929 89.379 1.00 0.00 C +ATOM 27 C GLY A 7 31.647 7.587 90.641 1.00 0.00 C +ATOM 28 O GLY A 7 31.635 6.970 91.709 1.00 0.00 O +ATOM 29 N GLY A 8 32.114 8.821 90.500 1.00 0.00 N +ATOM 30 CA GLY A 8 32.738 9.602 91.564 1.00 0.00 C +ATOM 31 C GLY A 8 32.223 11.044 91.461 1.00 0.00 C +ATOM 32 O GLY A 8 32.400 11.701 90.438 1.00 0.00 O +ENDMDL +MODEL 10 +ATOM 1 N GLY A 1 39.541 0.503 82.277 1.00 0.00 N +ATOM 2 CA GLY A 1 38.394 0.734 83.188 1.00 0.00 C +ATOM 3 C GLY A 1 37.854 -0.517 83.923 1.00 0.00 C +ATOM 4 O GLY A 1 37.196 -0.427 84.945 1.00 0.00 O +ATOM 5 N GLY A 2 38.125 -1.671 83.352 1.00 0.00 N +ATOM 6 CA GLY A 2 37.855 -2.942 83.977 1.00 0.00 C +ATOM 7 C GLY A 2 38.757 -3.176 85.219 1.00 0.00 C +ATOM 8 O GLY A 2 38.420 -3.960 86.070 1.00 0.00 O +ATOM 9 N GLY A 3 39.841 -2.415 85.338 1.00 0.00 N +ATOM 10 CA GLY A 3 40.856 -2.641 86.363 1.00 0.00 C +ATOM 11 C GLY A 3 40.992 -1.561 87.421 1.00 0.00 C +ATOM 12 O GLY A 3 42.004 -1.491 88.124 1.00 0.00 O +ATOM 13 N GLY A 4 39.964 -0.738 87.514 1.00 0.00 N +ATOM 14 CA GLY A 4 39.921 0.411 88.397 1.00 0.00 C +ATOM 15 C GLY A 4 38.457 0.665 88.745 1.00 0.00 C +ATOM 16 O GLY A 4 37.572 0.189 88.029 1.00 0.00 O +ATOM 17 N GLY A 5 38.194 1.382 89.826 1.00 0.00 N +ATOM 18 CA GLY A 5 36.834 1.703 90.210 1.00 0.00 C +ATOM 19 C GLY A 5 36.634 3.239 90.178 1.00 0.00 C +ATOM 20 O GLY A 5 36.532 3.868 91.227 1.00 0.00 O +ATOM 21 N GLY A 6 36.579 3.855 88.993 1.00 0.00 N +ATOM 22 CA GLY A 6 36.211 5.276 88.904 1.00 0.00 C +ATOM 23 C GLY A 6 34.764 5.553 89.322 1.00 0.00 C +ATOM 24 O GLY A 6 33.860 4.815 88.924 1.00 0.00 O +ATOM 25 N GLY A 7 34.530 6.615 90.085 1.00 0.00 N +ATOM 26 CA GLY A 7 33.176 6.939 90.563 1.00 0.00 C +ATOM 27 C GLY A 7 32.891 8.448 90.633 1.00 0.00 C +ATOM 28 O GLY A 7 33.780 9.283 90.563 1.00 0.00 O +ATOM 29 N GLY A 8 31.615 8.757 90.751 1.00 0.00 N +ATOM 30 CA GLY A 8 31.153 10.058 91.188 1.00 0.00 C +ATOM 31 C GLY A 8 31.066 11.103 90.093 1.00 0.00 C +ATOM 32 O GLY A 8 31.422 10.845 88.934 1.00 0.00 O +ENDMDL +MODEL 11 +ATOM 1 N GLY A 1 38.620 1.006 81.483 1.00 0.00 N +ATOM 2 CA GLY A 1 38.588 -0.066 82.452 1.00 0.00 C +ATOM 3 C GLY A 1 37.849 0.257 83.755 1.00 0.00 C +ATOM 4 O GLY A 1 37.412 -0.646 84.458 1.00 0.00 O +ATOM 5 N GLY A 2 37.666 1.542 84.052 1.00 0.00 N +ATOM 6 CA GLY A 2 37.002 1.912 85.301 1.00 0.00 C +ATOM 7 C GLY A 2 35.912 2.978 85.151 1.00 0.00 C +ATOM 8 O GLY A 2 35.639 3.726 86.094 1.00 0.00 O +ATOM 9 N GLY A 3 35.284 3.033 83.975 1.00 0.00 N +ATOM 10 CA GLY A 3 34.240 4.031 83.687 1.00 0.00 C +ATOM 11 C GLY A 3 33.102 4.085 84.701 1.00 0.00 C +ATOM 12 O GLY A 3 32.537 5.151 84.941 1.00 0.00 O +ATOM 13 N GLY A 4 32.772 2.945 85.284 1.00 0.00 N +ATOM 14 CA GLY A 4 31.696 2.889 86.280 1.00 0.00 C +ATOM 15 C GLY A 4 32.066 3.712 87.511 1.00 0.00 C +ATOM 16 O GLY A 4 31.267 4.526 87.996 1.00 0.00 O +ATOM 17 N GLY A 5 33.274 3.513 88.012 1.00 0.00 N +ATOM 18 CA GLY A 5 33.745 4.237 89.188 1.00 0.00 C +ATOM 19 C GLY A 5 33.992 5.717 88.891 1.00 0.00 C +ATOM 20 O GLY A 5 33.590 6.587 89.657 1.00 0.00 O +ATOM 21 N GLY A 6 34.642 5.978 87.774 1.00 0.00 N +ATOM 22 CA GLY A 6 34.966 7.349 87.378 1.00 0.00 C +ATOM 23 C GLY A 6 33.759 8.251 87.147 1.00 0.00 C +ATOM 24 O GLY A 6 33.838 9.465 87.361 1.00 0.00 O +ATOM 25 N GLY A 7 32.625 7.690 86.732 1.00 0.00 N +ATOM 26 CA GLY A 7 31.438 8.499 86.503 1.00 0.00 C +ATOM 27 C GLY A 7 30.977 9.227 87.755 1.00 0.00 C +ATOM 28 O GLY A 7 30.245 10.224 87.670 1.00 0.00 O +ATOM 29 N GLY A 8 31.407 8.762 88.925 1.00 0.00 N +ATOM 30 CA GLY A 8 31.053 9.378 90.195 1.00 0.00 C +ATOM 31 C GLY A 8 31.840 10.665 90.433 1.00 0.00 C +ATOM 32 O GLY A 8 31.479 11.486 91.283 1.00 0.00 O +ENDMDL +MODEL 12 +ATOM 1 N GLY A 1 39.953 -0.206 81.840 1.00 0.00 N +ATOM 2 CA GLY A 1 39.805 1.058 82.531 1.00 0.00 C +ATOM 3 C GLY A 1 38.486 1.156 83.278 1.00 0.00 C +ATOM 4 O GLY A 1 37.448 0.639 82.819 1.00 0.00 O +ATOM 5 N GLY A 2 38.505 1.872 84.391 1.00 0.00 N +ATOM 6 CA GLY A 2 37.258 2.310 85.016 1.00 0.00 C +ATOM 7 C GLY A 2 37.077 3.772 84.687 1.00 0.00 C +ATOM 8 O GLY A 2 38.039 4.579 84.800 1.00 0.00 O +ATOM 9 N GLY A 3 35.867 4.137 84.263 1.00 0.00 N +ATOM 10 CA GLY A 3 35.573 5.530 84.015 1.00 0.00 C +ATOM 11 C GLY A 3 35.176 6.150 85.343 1.00 0.00 C +ATOM 12 O GLY A 3 34.005 6.038 85.782 1.00 0.00 O +ATOM 13 N GLY A 4 36.155 6.824 85.953 1.00 0.00 N +ATOM 14 CA GLY A 4 36.035 7.451 87.280 1.00 0.00 C +ATOM 15 C GLY A 4 34.937 8.505 87.320 1.00 0.00 C +ATOM 16 O GLY A 4 34.229 8.662 88.308 1.00 0.00 O +ATOM 17 N GLY A 5 34.813 9.216 86.222 1.00 0.00 N +ATOM 18 CA GLY A 5 33.855 10.288 86.072 1.00 0.00 C +ATOM 19 C GLY A 5 32.421 9.770 86.087 1.00 0.00 C +ATOM 20 O GLY A 5 31.618 10.230 86.914 1.00 0.00 O +ATOM 21 N GLY A 6 32.122 8.772 85.255 1.00 0.00 N +ATOM 22 CA GLY A 6 30.801 8.141 85.245 1.00 0.00 C +ATOM 23 C GLY A 6 30.468 7.572 86.635 1.00 0.00 C +ATOM 24 O GLY A 6 29.393 7.792 87.160 1.00 0.00 O +ATOM 25 N GLY A 7 31.421 6.851 87.241 1.00 0.00 N +ATOM 26 CA GLY A 7 31.171 6.158 88.511 1.00 0.00 C +ATOM 27 C GLY A 7 30.974 7.151 89.653 1.00 0.00 C +ATOM 28 O GLY A 7 30.375 6.817 90.677 1.00 0.00 O +ATOM 29 N GLY A 8 31.458 8.371 89.444 1.00 0.00 N +ATOM 30 CA GLY A 8 31.353 9.436 90.436 1.00 0.00 C +ATOM 31 C GLY A 8 30.061 10.226 90.334 1.00 0.00 C +ATOM 32 O GLY A 8 29.773 11.056 91.183 1.00 0.00 O +ENDMDL +MODEL 13 +ATOM 1 N GLY A 1 38.683 1.333 82.516 1.00 0.00 N +ATOM 2 CA GLY A 1 38.307 0.664 81.278 1.00 0.00 C +ATOM 3 C GLY A 1 36.802 0.574 81.321 1.00 0.00 C +ATOM 4 O GLY A 1 36.192 0.835 82.372 1.00 0.00 O +ATOM 5 N GLY A 2 36.115 0.175 80.239 1.00 0.00 N +ATOM 6 CA GLY A 2 34.667 0.042 80.383 1.00 0.00 C +ATOM 7 C GLY A 2 34.428 -1.204 81.224 1.00 0.00 C +ATOM 8 O GLY A 2 35.211 -2.183 81.211 1.00 0.00 O +ATOM 9 N GLY A 3 33.386 -1.153 82.028 1.00 0.00 N +ATOM 10 CA GLY A 3 33.079 -2.228 82.926 1.00 0.00 C +ATOM 11 C GLY A 3 33.935 -2.106 84.169 1.00 0.00 C +ATOM 12 O GLY A 3 33.808 -2.959 85.032 1.00 0.00 O +ATOM 13 N GLY A 4 34.842 -1.149 84.344 1.00 0.00 N +ATOM 14 CA GLY A 4 35.665 -1.122 85.547 1.00 0.00 C +ATOM 15 C GLY A 4 34.843 -0.423 86.596 1.00 0.00 C +ATOM 16 O GLY A 4 34.271 0.625 86.346 1.00 0.00 O +ATOM 17 N GLY A 5 34.710 -1.002 87.775 1.00 0.00 N +ATOM 18 CA GLY A 5 33.910 -0.447 88.835 1.00 0.00 C +ATOM 19 C GLY A 5 34.709 0.668 89.482 1.00 0.00 C +ATOM 20 O GLY A 5 35.882 0.506 89.820 1.00 0.00 O +ATOM 21 N GLY A 6 34.090 1.829 89.696 1.00 0.00 N +ATOM 22 CA GLY A 6 34.783 3.000 90.243 1.00 0.00 C +ATOM 23 C GLY A 6 33.741 4.016 90.726 1.00 0.00 C +ATOM 24 O GLY A 6 32.564 3.912 90.327 1.00 0.00 O +ATOM 25 N GLY A 7 34.166 4.969 91.553 1.00 0.00 N +ATOM 26 CA GLY A 7 33.341 6.047 92.072 1.00 0.00 C +ATOM 27 C GLY A 7 33.759 7.481 91.689 1.00 0.00 C +ATOM 28 O GLY A 7 34.946 7.876 91.749 1.00 0.00 O +ATOM 29 N GLY A 8 32.766 8.265 91.234 1.00 0.00 N +ATOM 30 CA GLY A 8 32.951 9.668 90.928 1.00 0.00 C +ATOM 31 C GLY A 8 31.907 10.479 91.685 1.00 0.00 C +ATOM 32 O GLY A 8 30.779 10.007 91.874 1.00 0.00 O +ENDMDL +MODEL 14 +ATOM 1 N GLY A 1 37.182 1.742 82.428 1.00 0.00 N +ATOM 2 CA GLY A 1 37.643 0.667 81.549 1.00 0.00 C +ATOM 3 C GLY A 1 39.072 0.216 81.809 1.00 0.00 C +ATOM 4 O GLY A 1 39.439 -0.904 81.465 1.00 0.00 O +ATOM 5 N GLY A 2 39.886 1.086 82.407 1.00 0.00 N +ATOM 6 CA GLY A 2 41.281 0.757 82.663 1.00 0.00 C +ATOM 7 C GLY A 2 41.649 0.350 84.088 1.00 0.00 C +ATOM 8 O GLY A 2 42.512 -0.503 84.274 1.00 0.00 O +ATOM 9 N GLY A 3 41.013 0.958 85.086 1.00 0.00 N +ATOM 10 CA GLY A 3 41.340 0.624 86.474 1.00 0.00 C +ATOM 11 C GLY A 3 40.145 0.074 87.259 1.00 0.00 C +ATOM 12 O GLY A 3 40.287 -0.304 88.424 1.00 0.00 O +ATOM 13 N GLY A 4 38.979 0.065 86.625 1.00 0.00 N +ATOM 14 CA GLY A 4 37.739 -0.439 87.221 1.00 0.00 C +ATOM 15 C GLY A 4 37.185 0.382 88.383 1.00 0.00 C +ATOM 16 O GLY A 4 36.354 -0.115 89.161 1.00 0.00 O +ATOM 17 N GLY A 5 37.640 1.625 88.513 1.00 0.00 N +ATOM 18 CA GLY A 5 37.140 2.513 89.569 1.00 0.00 C +ATOM 19 C GLY A 5 35.659 2.777 89.303 1.00 0.00 C +ATOM 20 O GLY A 5 35.243 2.927 88.154 1.00 0.00 O +ATOM 21 N GLY A 6 34.858 2.815 90.368 1.00 0.00 N +ATOM 22 CA GLY A 6 33.427 3.069 90.241 1.00 0.00 C +ATOM 23 C GLY A 6 33.207 4.559 90.022 1.00 0.00 C +ATOM 24 O GLY A 6 33.856 5.378 90.674 1.00 0.00 O +ATOM 25 N GLY A 7 32.326 4.924 89.095 1.00 0.00 N +ATOM 26 CA GLY A 7 32.070 6.343 88.841 1.00 0.00 C +ATOM 27 C GLY A 7 31.645 6.953 90.167 1.00 0.00 C +ATOM 28 O GLY A 7 30.921 6.330 90.948 1.00 0.00 O +ATOM 29 N GLY A 8 32.113 8.167 90.440 1.00 0.00 N +ATOM 30 CA GLY A 8 31.839 8.828 91.709 1.00 0.00 C +ATOM 31 C GLY A 8 31.749 10.354 91.593 1.00 0.00 C +ATOM 32 O GLY A 8 31.945 10.919 90.513 1.00 0.00 O +ENDMDL +MODEL 15 +ATOM 1 N GLY A 1 39.641 -0.389 81.968 1.00 0.00 N +ATOM 2 CA GLY A 1 38.975 -0.190 83.251 1.00 0.00 C +ATOM 3 C GLY A 1 37.895 0.867 83.050 1.00 0.00 C +ATOM 4 O GLY A 1 37.961 1.655 82.107 1.00 0.00 O +ATOM 5 N GLY A 2 36.915 0.880 83.945 1.00 0.00 N +ATOM 6 CA GLY A 2 35.838 1.849 83.854 1.00 0.00 C +ATOM 7 C GLY A 2 36.340 3.259 84.158 1.00 0.00 C +ATOM 8 O GLY A 2 37.301 3.443 84.908 1.00 0.00 O +ATOM 9 N GLY A 3 35.687 4.248 83.555 1.00 0.00 N +ATOM 10 CA GLY A 3 36.026 5.653 83.763 1.00 0.00 C +ATOM 11 C GLY A 3 35.367 6.063 85.078 1.00 0.00 C +ATOM 12 O GLY A 3 34.277 6.614 85.081 1.00 0.00 O +ATOM 13 N GLY A 4 36.042 5.794 86.189 1.00 0.00 N +ATOM 14 CA GLY A 4 35.487 6.105 87.491 1.00 0.00 C +ATOM 15 C GLY A 4 35.279 7.581 87.813 1.00 0.00 C +ATOM 16 O GLY A 4 34.380 7.929 88.572 1.00 0.00 O +ATOM 17 N GLY A 5 36.089 8.456 87.234 1.00 0.00 N +ATOM 18 CA GLY A 5 35.932 9.873 87.510 1.00 0.00 C +ATOM 19 C GLY A 5 34.578 10.342 86.961 1.00 0.00 C +ATOM 20 O GLY A 5 33.831 11.034 87.654 1.00 0.00 O +ATOM 21 N GLY A 6 34.262 9.937 85.734 1.00 0.00 N +ATOM 22 CA GLY A 6 32.983 10.318 85.121 1.00 0.00 C +ATOM 23 C GLY A 6 31.840 9.747 85.938 1.00 0.00 C +ATOM 24 O GLY A 6 30.828 10.409 86.188 1.00 0.00 O +ATOM 25 N GLY A 7 32.000 8.496 86.359 1.00 0.00 N +ATOM 26 CA GLY A 7 30.998 7.809 87.160 1.00 0.00 C +ATOM 27 C GLY A 7 30.757 8.566 88.457 1.00 0.00 C +ATOM 28 O GLY A 7 29.623 8.722 88.905 1.00 0.00 O +ATOM 29 N GLY A 8 31.840 9.034 89.080 1.00 0.00 N +ATOM 30 CA GLY A 8 31.720 9.787 90.321 1.00 0.00 C +ATOM 31 C GLY A 8 30.980 11.103 90.082 1.00 0.00 C +ATOM 32 O GLY A 8 30.219 11.548 90.931 1.00 0.00 O +ENDMDL +MODEL 16 +ATOM 1 N GLY A 1 38.167 0.379 81.889 1.00 0.00 N +ATOM 2 CA GLY A 1 37.050 -0.373 82.486 1.00 0.00 C +ATOM 3 C GLY A 1 36.575 0.380 83.751 1.00 0.00 C +ATOM 4 O GLY A 1 35.357 0.571 83.942 1.00 0.00 O +ATOM 5 N GLY A 2 37.510 0.835 84.589 1.00 0.00 N +ATOM 6 CA GLY A 2 37.169 1.497 85.861 1.00 0.00 C +ATOM 7 C GLY A 2 36.490 2.858 85.616 1.00 0.00 C +ATOM 8 O GLY A 2 35.541 3.231 86.317 1.00 0.00 O +ATOM 9 N GLY A 3 36.983 3.578 84.608 1.00 0.00 N +ATOM 10 CA GLY A 3 36.472 4.918 84.289 1.00 0.00 C +ATOM 11 C GLY A 3 35.003 4.848 83.856 1.00 0.00 C +ATOM 12 O GLY A 3 34.246 5.754 84.089 1.00 0.00 O +ATOM 13 N GLY A 4 34.583 3.753 83.265 1.00 0.00 N +ATOM 14 CA GLY A 4 33.202 3.598 82.814 1.00 0.00 C +ATOM 15 C GLY A 4 32.195 3.522 83.952 1.00 0.00 C +ATOM 16 O GLY A 4 31.042 3.830 83.743 1.00 0.00 O +ATOM 17 N GLY A 5 32.626 3.152 85.149 1.00 0.00 N +ATOM 18 CA GLY A 5 31.691 3.034 86.287 1.00 0.00 C +ATOM 19 C GLY A 5 32.046 3.719 87.599 1.00 0.00 C +ATOM 20 O GLY A 5 31.208 3.754 88.525 1.00 0.00 O +ATOM 21 N GLY A 6 33.251 4.287 87.716 1.00 0.00 N +ATOM 22 CA GLY A 6 33.657 4.992 88.937 1.00 0.00 C +ATOM 23 C GLY A 6 32.570 5.984 89.344 1.00 0.00 C +ATOM 24 O GLY A 6 32.355 6.946 88.608 1.00 0.00 O +ATOM 25 N GLY A 7 31.831 5.753 90.439 1.00 0.00 N +ATOM 26 CA GLY A 7 30.685 6.624 90.766 1.00 0.00 C +ATOM 27 C GLY A 7 31.021 8.145 90.799 1.00 0.00 C +ATOM 28 O GLY A 7 30.230 8.924 90.280 1.00 0.00 O +ATOM 29 N GLY A 8 32.170 8.519 91.307 1.00 0.00 N +ATOM 30 CA GLY A 8 32.538 9.943 91.436 1.00 0.00 C +ATOM 31 C GLY A 8 32.697 10.602 90.083 1.00 0.00 C +ATOM 32 O GLY A 8 32.403 11.795 89.956 1.00 0.00 O +ENDMDL +MODEL 17 +ATOM 1 N GLY A 1 38.218 0.458 80.761 1.00 0.00 N +ATOM 2 CA GLY A 1 37.387 1.339 81.552 1.00 0.00 C +ATOM 3 C GLY A 1 36.739 0.563 82.702 1.00 0.00 C +ATOM 4 O GLY A 1 35.939 -0.359 82.478 1.00 0.00 O +ATOM 5 N GLY A 2 37.113 0.911 83.924 1.00 0.00 N +ATOM 6 CA GLY A 2 36.557 0.280 85.117 1.00 0.00 C +ATOM 7 C GLY A 2 35.228 0.898 85.518 1.00 0.00 C +ATOM 8 O GLY A 2 34.968 2.075 85.248 1.00 0.00 O +ATOM 9 N GLY A 3 34.375 0.091 86.143 1.00 0.00 N +ATOM 10 CA GLY A 3 33.101 0.563 86.700 1.00 0.00 C +ATOM 11 C GLY A 3 33.229 0.760 88.205 1.00 0.00 C +ATOM 12 O GLY A 3 33.659 -0.160 88.917 1.00 0.00 O +ATOM 13 N GLY A 4 32.876 1.950 88.698 1.00 0.00 N +ATOM 14 CA GLY A 4 32.931 2.246 90.139 1.00 0.00 C +ATOM 15 C GLY A 4 31.917 1.430 90.937 1.00 0.00 C +ATOM 16 O GLY A 4 30.769 1.261 90.522 1.00 0.00 O +ATOM 17 N GLY A 5 32.369 0.902 92.079 1.00 0.00 N +ATOM 18 CA GLY A 5 31.493 0.182 92.985 1.00 0.00 C +ATOM 19 C GLY A 5 30.694 1.175 93.835 1.00 0.00 C +ATOM 20 O GLY A 5 29.521 0.944 94.131 1.00 0.00 O +ATOM 21 N GLY A 6 31.347 2.277 94.218 1.00 0.00 N +ATOM 22 CA GLY A 6 30.679 3.418 94.847 1.00 0.00 C +ATOM 23 C GLY A 6 30.788 4.659 93.964 1.00 0.00 C +ATOM 24 O GLY A 6 31.772 4.821 93.235 1.00 0.00 O +ATOM 25 N GLY A 7 29.797 5.545 94.049 1.00 0.00 N +ATOM 26 CA GLY A 7 29.766 6.765 93.227 1.00 0.00 C +ATOM 27 C GLY A 7 30.935 7.728 93.484 1.00 0.00 C +ATOM 28 O GLY A 7 31.381 7.886 94.613 1.00 0.00 O +ATOM 29 N GLY A 8 31.418 8.361 92.415 1.00 0.00 N +ATOM 30 CA GLY A 8 32.544 9.289 92.496 1.00 0.00 C +ATOM 31 C GLY A 8 32.300 10.571 91.667 1.00 0.00 C +ATOM 32 O GLY A 8 32.242 10.506 90.424 1.00 0.00 O +ENDMDL +MODEL 18 +ATOM 1 N GLY A 1 38.480 2.260 82.127 1.00 0.00 N +ATOM 2 CA GLY A 1 38.883 0.857 82.108 1.00 0.00 C +ATOM 3 C GLY A 1 38.363 -0.018 83.231 1.00 0.00 C +ATOM 4 O GLY A 1 38.512 -1.246 83.186 1.00 0.00 O +ATOM 5 N GLY A 2 37.758 0.581 84.244 1.00 0.00 N +ATOM 6 CA GLY A 2 37.245 -0.198 85.377 1.00 0.00 C +ATOM 7 C GLY A 2 36.081 -1.066 84.921 1.00 0.00 C +ATOM 8 O GLY A 2 35.106 -0.562 84.369 1.00 0.00 O +ATOM 9 N GLY A 3 36.172 -2.385 85.133 1.00 0.00 N +ATOM 10 CA GLY A 3 35.104 -3.303 84.719 1.00 0.00 C +ATOM 11 C GLY A 3 33.954 -3.172 85.712 1.00 0.00 C +ATOM 12 O GLY A 3 32.797 -3.013 85.307 1.00 0.00 O +ATOM 13 N GLY A 4 34.268 -3.279 86.992 1.00 0.00 N +ATOM 14 CA GLY A 4 33.283 -3.106 88.044 1.00 0.00 C +ATOM 15 C GLY A 4 33.149 -1.588 88.042 1.00 0.00 C +ATOM 16 O GLY A 4 34.144 -0.872 88.117 1.00 0.00 O +ATOM 17 N GLY A 5 31.926 -1.075 87.959 1.00 0.00 N +ATOM 18 CA GLY A 5 31.743 0.372 87.850 1.00 0.00 C +ATOM 19 C GLY A 5 31.054 1.128 88.978 1.00 0.00 C +ATOM 20 O GLY A 5 30.053 0.689 89.541 1.00 0.00 O +ATOM 21 N GLY A 6 31.643 2.274 89.298 1.00 0.00 N +ATOM 22 CA GLY A 6 31.097 3.200 90.290 1.00 0.00 C +ATOM 23 C GLY A 6 31.355 4.567 89.686 1.00 0.00 C +ATOM 24 O GLY A 6 32.481 5.070 89.686 1.00 0.00 O +ATOM 25 N GLY A 7 30.300 5.155 89.119 1.00 0.00 N +ATOM 26 CA GLY A 7 30.384 6.468 88.506 1.00 0.00 C +ATOM 27 C GLY A 7 30.286 7.484 89.637 1.00 0.00 C +ATOM 28 O GLY A 7 29.198 7.927 90.002 1.00 0.00 O +ATOM 29 N GLY A 8 31.432 7.845 90.186 1.00 0.00 N +ATOM 30 CA GLY A 8 31.498 8.772 91.296 1.00 0.00 C +ATOM 31 C GLY A 8 30.978 10.162 90.962 1.00 0.00 C +ATOM 32 O GLY A 8 31.228 10.693 89.878 1.00 0.00 O +ENDMDL +MODEL 19 +ATOM 1 N GLY A 1 36.903 0.607 83.038 1.00 0.00 N +ATOM 2 CA GLY A 1 37.620 -0.348 82.184 1.00 0.00 C +ATOM 3 C GLY A 1 36.819 -1.673 82.072 1.00 0.00 C +ATOM 4 O GLY A 1 36.542 -2.174 80.969 1.00 0.00 O +ATOM 5 N GLY A 2 36.358 -2.164 83.201 1.00 0.00 N +ATOM 6 CA GLY A 2 35.716 -3.450 83.259 1.00 0.00 C +ATOM 7 C GLY A 2 34.316 -3.408 82.795 1.00 0.00 C +ATOM 8 O GLY A 2 33.707 -4.457 82.654 1.00 0.00 O +ATOM 9 N GLY A 3 33.799 -2.215 82.529 1.00 0.00 N +ATOM 10 CA GLY A 3 32.465 -2.058 81.965 1.00 0.00 C +ATOM 11 C GLY A 3 31.366 -1.635 82.914 1.00 0.00 C +ATOM 12 O GLY A 3 30.171 -1.564 82.503 1.00 0.00 O +ATOM 13 N GLY A 4 31.710 -1.373 84.170 1.00 0.00 N +ATOM 14 CA GLY A 4 30.698 -0.955 85.153 1.00 0.00 C +ATOM 15 C GLY A 4 30.549 0.573 85.096 1.00 0.00 C +ATOM 16 O GLY A 4 31.521 1.292 85.352 1.00 0.00 O +ATOM 17 N GLY A 5 29.364 1.089 84.716 1.00 0.00 N +ATOM 18 CA GLY A 5 29.179 2.543 84.634 1.00 0.00 C +ATOM 19 C GLY A 5 29.519 3.169 85.989 1.00 0.00 C +ATOM 20 O GLY A 5 28.931 2.767 86.990 1.00 0.00 O +ATOM 21 N GLY A 6 30.432 4.140 85.989 1.00 0.00 N +ATOM 22 CA GLY A 6 31.010 4.725 87.210 1.00 0.00 C +ATOM 23 C GLY A 6 31.263 6.227 87.050 1.00 0.00 C +ATOM 24 O GLY A 6 31.497 6.713 85.950 1.00 0.00 O +ATOM 25 N GLY A 7 31.077 6.991 88.145 1.00 0.00 N +ATOM 26 CA GLY A 7 31.292 8.435 88.122 1.00 0.00 C +ATOM 27 C GLY A 7 31.868 8.867 89.490 1.00 0.00 C +ATOM 28 O GLY A 7 31.490 8.328 90.515 1.00 0.00 O +ATOM 29 N GLY A 8 32.833 9.783 89.453 1.00 0.00 N +ATOM 30 CA GLY A 8 33.435 10.345 90.659 1.00 0.00 C +ATOM 31 C GLY A 8 32.570 11.473 91.200 1.00 0.00 C +ATOM 32 O GLY A 8 32.084 12.323 90.449 1.00 0.00 O +ENDMDL +MODEL 20 +ATOM 1 N GLY A 1 38.166 1.246 81.226 1.00 0.00 N +ATOM 2 CA GLY A 1 37.189 0.831 82.229 1.00 0.00 C +ATOM 3 C GLY A 1 37.039 1.957 83.240 1.00 0.00 C +ATOM 4 O GLY A 1 38.009 2.659 83.543 1.00 0.00 O +ATOM 5 N GLY A 2 35.830 2.145 83.771 1.00 0.00 N +ATOM 6 CA GLY A 2 35.607 3.174 84.765 1.00 0.00 C +ATOM 7 C GLY A 2 34.796 2.638 85.930 1.00 0.00 C +ATOM 8 O GLY A 2 34.136 1.606 85.817 1.00 0.00 O +ATOM 9 N GLY A 3 34.866 3.335 87.056 1.00 0.00 N +ATOM 10 CA GLY A 3 34.112 2.956 88.255 1.00 0.00 C +ATOM 11 C GLY A 3 33.585 4.247 88.866 1.00 0.00 C +ATOM 12 O GLY A 3 34.169 5.313 88.679 1.00 0.00 O +ATOM 13 N GLY A 4 32.470 4.154 89.579 1.00 0.00 N +ATOM 14 CA GLY A 4 31.875 5.314 90.203 1.00 0.00 C +ATOM 15 C GLY A 4 31.776 5.061 91.703 1.00 0.00 C +ATOM 16 O GLY A 4 31.495 3.947 92.136 1.00 0.00 O +ATOM 17 N GLY A 5 32.016 6.105 92.485 1.00 0.00 N +ATOM 18 CA GLY A 5 31.936 6.022 93.928 1.00 0.00 C +ATOM 19 C GLY A 5 31.661 7.428 94.470 1.00 0.00 C +ATOM 20 O GLY A 5 32.153 8.423 93.940 1.00 0.00 O +ATOM 21 N GLY A 6 30.850 7.483 95.525 1.00 0.00 N +ATOM 22 CA GLY A 6 30.517 8.750 96.174 1.00 0.00 C +ATOM 23 C GLY A 6 30.046 9.835 95.200 1.00 0.00 C +ATOM 24 O GLY A 6 30.419 11.001 95.345 1.00 0.00 O +ATOM 25 N GLY A 7 29.242 9.430 94.230 1.00 0.00 N +ATOM 26 CA GLY A 7 28.700 10.371 93.262 1.00 0.00 C +ATOM 27 C GLY A 7 29.661 10.880 92.207 1.00 0.00 C +ATOM 28 O GLY A 7 29.342 11.798 91.449 1.00 0.00 O +ATOM 29 N GLY A 8 30.846 10.291 92.147 1.00 0.00 N +ATOM 30 CA GLY A 8 31.815 10.711 91.155 1.00 0.00 C +ATOM 31 C GLY A 8 32.597 9.534 90.589 1.00 0.00 C +ATOM 32 O GLY A 8 32.625 8.448 91.164 1.00 0.00 O +ENDMDL +MODEL 21 +ATOM 1 N GLY A 1 38.724 0.189 81.459 1.00 0.00 N +ATOM 2 CA GLY A 1 38.338 -0.291 82.779 1.00 0.00 C +ATOM 3 C GLY A 1 38.044 0.928 83.654 1.00 0.00 C +ATOM 4 O GLY A 1 38.699 1.956 83.528 1.00 0.00 O +ATOM 5 N GLY A 2 37.054 0.794 84.526 1.00 0.00 N +ATOM 6 CA GLY A 2 36.717 1.873 85.448 1.00 0.00 C +ATOM 7 C GLY A 2 36.076 1.272 86.679 1.00 0.00 C +ATOM 8 O GLY A 2 35.559 0.141 86.633 1.00 0.00 O +ATOM 9 N GLY A 3 36.125 2.002 87.778 1.00 0.00 N +ATOM 10 CA GLY A 3 35.535 1.532 89.019 1.00 0.00 C +ATOM 11 C GLY A 3 34.521 2.519 89.552 1.00 0.00 C +ATOM 12 O GLY A 3 34.178 3.488 88.873 1.00 0.00 O +ATOM 13 N GLY A 4 34.047 2.277 90.766 1.00 0.00 N +ATOM 14 CA GLY A 4 33.059 3.143 91.402 1.00 0.00 C +ATOM 15 C GLY A 4 33.484 4.619 91.496 1.00 0.00 C +ATOM 16 O GLY A 4 32.662 5.513 91.270 1.00 0.00 O +ATOM 17 N GLY A 5 34.743 4.857 91.820 1.00 0.00 N +ATOM 18 CA GLY A 5 35.248 6.216 91.942 1.00 0.00 C +ATOM 19 C GLY A 5 35.169 6.974 90.633 1.00 0.00 C +ATOM 20 O GLY A 5 34.803 8.157 90.591 1.00 0.00 O +ATOM 21 N GLY A 6 35.519 6.306 89.546 1.00 0.00 N +ATOM 22 CA GLY A 6 35.456 6.933 88.233 1.00 0.00 C +ATOM 23 C GLY A 6 34.024 7.414 87.949 1.00 0.00 C +ATOM 24 O GLY A 6 33.826 8.586 87.617 1.00 0.00 O +ATOM 25 N GLY A 7 33.037 6.541 88.107 1.00 0.00 N +ATOM 26 CA GLY A 7 31.629 6.893 87.855 1.00 0.00 C +ATOM 27 C GLY A 7 31.079 8.013 88.738 1.00 0.00 C +ATOM 28 O GLY A 7 30.057 8.616 88.397 1.00 0.00 O +ATOM 29 N GLY A 8 31.727 8.304 89.866 1.00 0.00 N +ATOM 30 CA GLY A 8 31.275 9.371 90.746 1.00 0.00 C +ATOM 31 C GLY A 8 31.808 10.749 90.305 1.00 0.00 C +ATOM 32 O GLY A 8 31.240 11.780 90.659 1.00 0.00 O +ENDMDL +MODEL 22 +ATOM 1 N GLY A 1 39.069 -0.340 82.442 1.00 0.00 N +ATOM 2 CA GLY A 1 38.719 1.050 82.701 1.00 0.00 C +ATOM 3 C GLY A 1 37.365 1.261 83.446 1.00 0.00 C +ATOM 4 O GLY A 1 37.076 2.380 83.867 1.00 0.00 O +ATOM 5 N GLY A 2 36.550 0.222 83.619 1.00 0.00 N +ATOM 6 CA GLY A 2 35.307 0.390 84.391 1.00 0.00 C +ATOM 7 C GLY A 2 35.410 -0.076 85.836 1.00 0.00 C +ATOM 8 O GLY A 2 34.546 0.274 86.629 1.00 0.00 O +ATOM 9 N GLY A 3 36.469 -0.838 86.162 1.00 0.00 N +ATOM 10 CA GLY A 3 36.567 -1.577 87.427 1.00 0.00 C +ATOM 11 C GLY A 3 37.202 -0.784 88.557 1.00 0.00 C +ATOM 12 O GLY A 3 36.851 -0.972 89.725 1.00 0.00 O +ATOM 13 N GLY A 4 38.154 0.089 88.216 1.00 0.00 N +ATOM 14 CA GLY A 4 38.785 0.904 89.219 1.00 0.00 C +ATOM 15 C GLY A 4 38.508 2.390 89.005 1.00 0.00 C +ATOM 16 O GLY A 4 39.178 3.229 89.600 1.00 0.00 O +ATOM 17 N GLY A 5 37.529 2.752 88.186 1.00 0.00 N +ATOM 18 CA GLY A 5 37.308 4.177 87.980 1.00 0.00 C +ATOM 19 C GLY A 5 36.650 4.779 89.226 1.00 0.00 C +ATOM 20 O GLY A 5 35.979 4.038 89.981 1.00 0.00 O +ATOM 21 N GLY A 6 36.864 6.107 89.472 1.00 0.00 N +ATOM 22 CA GLY A 6 36.392 6.705 90.708 1.00 0.00 C +ATOM 23 C GLY A 6 34.892 6.648 90.739 1.00 0.00 C +ATOM 24 O GLY A 6 34.243 6.819 89.707 1.00 0.00 O +ATOM 25 N GLY A 7 34.346 6.392 91.912 1.00 0.00 N +ATOM 26 CA GLY A 7 32.917 6.248 92.057 1.00 0.00 C +ATOM 27 C GLY A 7 32.092 7.474 91.624 1.00 0.00 C +ATOM 28 O GLY A 7 31.030 7.320 91.047 1.00 0.00 O +ATOM 29 N GLY A 8 32.579 8.697 91.876 1.00 0.00 N +ATOM 30 CA GLY A 8 31.810 9.916 91.501 1.00 0.00 C +ATOM 31 C GLY A 8 31.666 10.048 89.996 1.00 0.00 C +ATOM 32 O GLY A 8 30.801 10.791 89.517 1.00 0.00 O +ENDMDL +MODEL 23 +ATOM 1 N GLY A 1 38.583 0.593 81.223 1.00 0.00 N +ATOM 2 CA GLY A 1 37.539 -0.319 81.698 1.00 0.00 C +ATOM 3 C GLY A 1 36.664 0.136 82.867 1.00 0.00 C +ATOM 4 O GLY A 1 35.712 -0.558 83.242 1.00 0.00 O +ATOM 5 N GLY A 2 36.961 1.288 83.435 1.00 0.00 N +ATOM 6 CA GLY A 2 36.242 1.763 84.611 1.00 0.00 C +ATOM 7 C GLY A 2 35.514 3.074 84.376 1.00 0.00 C +ATOM 8 O GLY A 2 35.601 3.659 83.320 1.00 0.00 O +ATOM 9 N GLY A 3 34.760 3.546 85.384 1.00 0.00 N +ATOM 10 CA GLY A 3 34.101 4.829 85.146 1.00 0.00 C +ATOM 11 C GLY A 3 35.171 5.937 85.157 1.00 0.00 C +ATOM 12 O GLY A 3 36.258 5.761 85.726 1.00 0.00 O +ATOM 13 N GLY A 4 34.879 7.053 84.523 1.00 0.00 N +ATOM 14 CA GLY A 4 35.791 8.192 84.483 1.00 0.00 C +ATOM 15 C GLY A 4 35.867 8.795 85.912 1.00 0.00 C +ATOM 16 O GLY A 4 34.862 8.795 86.635 1.00 0.00 O +ATOM 17 N GLY A 5 37.023 9.317 86.310 1.00 0.00 N +ATOM 18 CA GLY A 5 37.134 9.902 87.658 1.00 0.00 C +ATOM 19 C GLY A 5 36.199 11.093 87.748 1.00 0.00 C +ATOM 20 O GLY A 5 35.674 11.389 88.803 1.00 0.00 O +ATOM 21 N GLY A 6 35.954 11.766 86.619 1.00 0.00 N +ATOM 22 CA GLY A 6 35.070 12.938 86.587 1.00 0.00 C +ATOM 23 C GLY A 6 33.592 12.644 86.816 1.00 0.00 C +ATOM 24 O GLY A 6 32.773 13.551 86.744 1.00 0.00 O +ATOM 25 N GLY A 7 33.250 11.374 87.036 1.00 0.00 N +ATOM 26 CA GLY A 7 31.863 11.010 87.288 1.00 0.00 C +ATOM 27 C GLY A 7 31.699 10.356 88.663 1.00 0.00 C +ATOM 28 O GLY A 7 30.619 9.910 89.009 1.00 0.00 O +ATOM 29 N GLY A 8 32.784 10.263 89.433 1.00 0.00 N +ATOM 30 CA GLY A 8 32.690 9.679 90.766 1.00 0.00 C +ATOM 31 C GLY A 8 32.066 10.731 91.714 1.00 0.00 C +ATOM 32 O GLY A 8 31.887 11.905 91.334 1.00 0.00 O +ENDMDL +MODEL 24 +ATOM 1 N GLY A 1 38.196 -0.187 81.440 1.00 0.00 N +ATOM 2 CA GLY A 1 39.051 0.635 82.304 1.00 0.00 C +ATOM 3 C GLY A 1 38.192 1.666 83.033 1.00 0.00 C +ATOM 4 O GLY A 1 37.416 2.395 82.405 1.00 0.00 O +ATOM 5 N GLY A 2 38.303 1.695 84.358 1.00 0.00 N +ATOM 6 CA GLY A 2 37.594 2.647 85.196 1.00 0.00 C +ATOM 7 C GLY A 2 38.662 3.579 85.784 1.00 0.00 C +ATOM 8 O GLY A 2 39.564 3.090 86.455 1.00 0.00 O +ATOM 9 N GLY A 3 38.601 4.880 85.496 1.00 0.00 N +ATOM 10 CA GLY A 3 39.570 5.880 85.991 1.00 0.00 C +ATOM 11 C GLY A 3 39.189 6.331 87.419 1.00 0.00 C +ATOM 12 O GLY A 3 38.016 6.609 87.678 1.00 0.00 O +ATOM 13 N GLY A 4 40.161 6.430 88.335 1.00 0.00 N +ATOM 14 CA GLY A 4 39.800 6.776 89.700 1.00 0.00 C +ATOM 15 C GLY A 4 39.037 8.098 89.748 1.00 0.00 C +ATOM 16 O GLY A 4 39.524 9.118 89.252 1.00 0.00 O +ATOM 17 N GLY A 5 37.860 8.060 90.352 1.00 0.00 N +ATOM 18 CA GLY A 5 37.011 9.236 90.425 1.00 0.00 C +ATOM 19 C GLY A 5 35.893 9.191 89.367 1.00 0.00 C +ATOM 20 O GLY A 5 34.844 9.784 89.564 1.00 0.00 O +ATOM 21 N GLY A 6 36.134 8.491 88.252 1.00 0.00 N +ATOM 22 CA GLY A 6 35.121 8.352 87.183 1.00 0.00 C +ATOM 23 C GLY A 6 33.841 7.758 87.762 1.00 0.00 C +ATOM 24 O GLY A 6 32.736 8.220 87.466 1.00 0.00 O +ATOM 25 N GLY A 7 34.014 6.756 88.632 1.00 0.00 N +ATOM 26 CA GLY A 7 32.906 6.059 89.265 1.00 0.00 C +ATOM 27 C GLY A 7 32.005 6.952 90.102 1.00 0.00 C +ATOM 28 O GLY A 7 30.839 6.613 90.337 1.00 0.00 O +ATOM 29 N GLY A 8 32.514 8.107 90.569 1.00 0.00 N +ATOM 30 CA GLY A 8 31.625 9.009 91.314 1.00 0.00 C +ATOM 31 C GLY A 8 31.371 10.285 90.489 1.00 0.00 C +ATOM 32 O GLY A 8 30.995 11.319 91.023 1.00 0.00 O +ENDMDL +MODEL 25 +ATOM 1 N GLY A 1 37.751 2.143 82.171 1.00 0.00 N +ATOM 2 CA GLY A 1 37.583 1.238 81.043 1.00 0.00 C +ATOM 3 C GLY A 1 36.549 0.164 81.327 1.00 0.00 C +ATOM 4 O GLY A 1 36.173 -0.575 80.425 1.00 0.00 O +ATOM 5 N GLY A 2 35.979 0.070 82.532 1.00 0.00 N +ATOM 6 CA GLY A 2 34.861 -0.819 82.743 1.00 0.00 C +ATOM 7 C GLY A 2 33.572 -0.051 82.957 1.00 0.00 C +ATOM 8 O GLY A 2 33.396 0.596 83.983 1.00 0.00 O +ATOM 9 N GLY A 3 32.592 -0.180 82.073 1.00 0.00 N +ATOM 10 CA GLY A 3 31.468 0.714 82.116 1.00 0.00 C +ATOM 11 C GLY A 3 30.484 0.279 83.162 1.00 0.00 C +ATOM 12 O GLY A 3 29.517 1.012 83.305 1.00 0.00 O +ATOM 13 N GLY A 4 30.651 -0.822 83.915 1.00 0.00 N +ATOM 14 CA GLY A 4 29.822 -1.108 85.071 1.00 0.00 C +ATOM 15 C GLY A 4 30.384 -0.569 86.370 1.00 0.00 C +ATOM 16 O GLY A 4 29.786 -0.818 87.407 1.00 0.00 O +ATOM 17 N GLY A 5 31.553 0.062 86.428 1.00 0.00 N +ATOM 18 CA GLY A 5 32.114 0.432 87.724 1.00 0.00 C +ATOM 19 C GLY A 5 31.321 1.646 88.271 1.00 0.00 C +ATOM 20 O GLY A 5 30.940 2.528 87.499 1.00 0.00 O +ATOM 21 N GLY A 6 31.018 1.823 89.546 1.00 0.00 N +ATOM 22 CA GLY A 6 30.430 3.041 90.096 1.00 0.00 C +ATOM 23 C GLY A 6 31.377 4.224 89.874 1.00 0.00 C +ATOM 24 O GLY A 6 32.598 4.085 90.057 1.00 0.00 O +ATOM 25 N GLY A 7 30.858 5.406 89.532 1.00 0.00 N +ATOM 26 CA GLY A 7 31.664 6.615 89.495 1.00 0.00 C +ATOM 27 C GLY A 7 31.772 7.287 90.852 1.00 0.00 C +ATOM 28 O GLY A 7 30.849 7.296 91.663 1.00 0.00 O +ATOM 29 N GLY A 8 32.920 7.870 91.174 1.00 0.00 N +ATOM 30 CA GLY A 8 33.048 8.763 92.312 1.00 0.00 C +ATOM 31 C GLY A 8 32.343 10.050 91.962 1.00 0.00 C +ATOM 32 O GLY A 8 32.155 10.368 90.787 1.00 0.00 O +ENDMDL +MODEL 26 +ATOM 1 N GLY A 1 37.411 1.343 82.224 1.00 0.00 N +ATOM 2 CA GLY A 1 38.024 0.076 81.827 1.00 0.00 C +ATOM 3 C GLY A 1 38.768 -0.546 83.011 1.00 0.00 C +ATOM 4 O GLY A 1 38.706 -1.754 83.239 1.00 0.00 O +ATOM 5 N GLY A 2 39.436 0.293 83.808 1.00 0.00 N +ATOM 6 CA GLY A 2 40.235 -0.195 84.923 1.00 0.00 C +ATOM 7 C GLY A 2 39.409 -0.555 86.137 1.00 0.00 C +ATOM 8 O GLY A 2 39.736 -1.503 86.840 1.00 0.00 O +ATOM 9 N GLY A 3 38.336 0.183 86.396 1.00 0.00 N +ATOM 10 CA GLY A 3 37.663 0.101 87.690 1.00 0.00 C +ATOM 11 C GLY A 3 36.183 -0.299 87.669 1.00 0.00 C +ATOM 12 O GLY A 3 35.584 -0.479 88.740 1.00 0.00 O +ATOM 13 N GLY A 4 35.577 -0.414 86.500 1.00 0.00 N +ATOM 14 CA GLY A 4 34.131 -0.508 86.425 1.00 0.00 C +ATOM 15 C GLY A 4 33.463 0.851 86.656 1.00 0.00 C +ATOM 16 O GLY A 4 34.142 1.865 86.810 1.00 0.00 O +ATOM 17 N GLY A 5 32.135 0.846 86.699 1.00 0.00 N +ATOM 18 CA GLY A 5 31.345 2.064 86.829 1.00 0.00 C +ATOM 19 C GLY A 5 31.153 2.389 88.288 1.00 0.00 C +ATOM 20 O GLY A 5 30.464 1.637 89.014 1.00 0.00 O +ATOM 21 N GLY A 6 31.776 3.475 88.721 1.00 0.00 N +ATOM 22 CA GLY A 6 31.831 3.846 90.105 1.00 0.00 C +ATOM 23 C GLY A 6 30.933 5.045 90.366 1.00 0.00 C +ATOM 24 O GLY A 6 30.453 5.685 89.428 1.00 0.00 O +ATOM 25 N GLY A 7 30.698 5.338 91.631 1.00 0.00 N +ATOM 26 CA GLY A 7 29.959 6.525 92.045 1.00 0.00 C +ATOM 27 C GLY A 7 30.832 7.737 91.743 1.00 0.00 C +ATOM 28 O GLY A 7 31.872 7.937 92.386 1.00 0.00 O +ATOM 29 N GLY A 8 30.447 8.528 90.755 1.00 0.00 N +ATOM 30 CA GLY A 8 31.329 9.574 90.232 1.00 0.00 C +ATOM 31 C GLY A 8 31.433 10.789 91.136 1.00 0.00 C +ATOM 32 O GLY A 8 32.464 11.490 91.172 1.00 0.00 O +ENDMDL +MODEL 27 +ATOM 1 N GLY A 1 39.153 0.625 82.874 1.00 0.00 N +ATOM 2 CA GLY A 1 38.021 0.979 82.086 1.00 0.00 C +ATOM 3 C GLY A 1 36.898 1.713 82.802 1.00 0.00 C +ATOM 4 O GLY A 1 36.537 2.769 82.329 1.00 0.00 O +ATOM 5 N GLY A 2 36.353 1.126 83.882 1.00 0.00 N +ATOM 6 CA GLY A 2 35.087 1.567 84.467 1.00 0.00 C +ATOM 7 C GLY A 2 35.209 1.802 85.977 1.00 0.00 C +ATOM 8 O GLY A 2 34.392 1.397 86.802 1.00 0.00 O +ATOM 9 N GLY A 3 36.308 2.557 86.284 1.00 0.00 N +ATOM 10 CA GLY A 3 36.485 2.878 87.716 1.00 0.00 C +ATOM 11 C GLY A 3 36.254 4.330 88.038 1.00 0.00 C +ATOM 12 O GLY A 3 36.241 4.727 89.223 1.00 0.00 O +ATOM 13 N GLY A 4 35.999 5.187 87.048 1.00 0.00 N +ATOM 14 CA GLY A 4 35.708 6.596 87.408 1.00 0.00 C +ATOM 15 C GLY A 4 34.469 6.667 88.311 1.00 0.00 C +ATOM 16 O GLY A 4 34.414 7.511 89.202 1.00 0.00 O +ATOM 17 N GLY A 5 33.505 5.758 88.098 1.00 0.00 N +ATOM 18 CA GLY A 5 32.324 5.744 88.958 1.00 0.00 C +ATOM 19 C GLY A 5 32.644 5.452 90.429 1.00 0.00 C +ATOM 20 O GLY A 5 31.785 5.716 91.288 1.00 0.00 O +ATOM 21 N GLY A 6 33.814 4.940 90.761 1.00 0.00 N +ATOM 22 CA GLY A 6 34.243 4.704 92.134 1.00 0.00 C +ATOM 23 C GLY A 6 34.957 5.924 92.708 1.00 0.00 C +ATOM 24 O GLY A 6 35.312 5.873 93.897 1.00 0.00 O +ATOM 25 N GLY A 7 35.109 6.968 91.934 1.00 0.00 N +ATOM 26 CA GLY A 7 35.547 8.251 92.400 1.00 0.00 C +ATOM 27 C GLY A 7 34.409 9.305 92.518 1.00 0.00 C +ATOM 28 O GLY A 7 34.328 10.051 93.505 1.00 0.00 O +ATOM 29 N GLY A 8 33.537 9.399 91.520 1.00 0.00 N +ATOM 30 CA GLY A 8 32.499 10.390 91.475 1.00 0.00 C +ATOM 31 C GLY A 8 31.323 9.939 90.618 1.00 0.00 C +ATOM 32 O GLY A 8 31.536 9.081 89.747 1.00 0.00 O +ENDMDL +MODEL 28 +ATOM 1 N GLY A 1 38.932 0.106 80.893 1.00 0.00 N +ATOM 2 CA GLY A 1 38.326 -0.059 82.213 1.00 0.00 C +ATOM 3 C GLY A 1 37.375 1.105 82.454 1.00 0.00 C +ATOM 4 O GLY A 1 37.713 2.262 82.196 1.00 0.00 O +ATOM 5 N GLY A 2 36.178 0.807 82.950 1.00 0.00 N +ATOM 6 CA GLY A 2 35.196 1.851 83.204 1.00 0.00 C +ATOM 7 C GLY A 2 34.992 2.115 84.692 1.00 0.00 C +ATOM 8 O GLY A 2 34.114 2.886 85.077 1.00 0.00 O +ATOM 9 N GLY A 3 35.827 1.485 85.531 1.00 0.00 N +ATOM 10 CA GLY A 3 35.682 1.623 86.978 1.00 0.00 C +ATOM 11 C GLY A 3 35.661 3.060 87.515 1.00 0.00 C +ATOM 12 O GLY A 3 34.894 3.374 88.422 1.00 0.00 O +ATOM 13 N GLY A 4 36.482 3.929 86.937 1.00 0.00 N +ATOM 14 CA GLY A 4 36.538 5.316 87.406 1.00 0.00 C +ATOM 15 C GLY A 4 35.178 6.004 87.358 1.00 0.00 C +ATOM 16 O GLY A 4 34.832 6.764 88.255 1.00 0.00 O +ATOM 17 N GLY A 5 34.398 5.731 86.312 1.00 0.00 N +ATOM 18 CA GLY A 5 33.087 6.351 86.168 1.00 0.00 C +ATOM 19 C GLY A 5 32.140 6.003 87.316 1.00 0.00 C +ATOM 20 O GLY A 5 31.267 6.791 87.658 1.00 0.00 O +ATOM 21 N GLY A 6 32.328 4.825 87.917 1.00 0.00 N +ATOM 22 CA GLY A 6 31.483 4.402 89.024 1.00 0.00 C +ATOM 23 C GLY A 6 31.960 4.916 90.373 1.00 0.00 C +ATOM 24 O GLY A 6 31.434 4.520 91.422 1.00 0.00 O +ATOM 25 N GLY A 7 32.953 5.811 90.354 1.00 0.00 N +ATOM 26 CA GLY A 7 33.489 6.373 91.595 1.00 0.00 C +ATOM 27 C GLY A 7 33.184 7.875 91.693 1.00 0.00 C +ATOM 28 O GLY A 7 33.427 8.488 92.730 1.00 0.00 O +ATOM 29 N GLY A 8 32.644 8.441 90.620 1.00 0.00 N +ATOM 30 CA GLY A 8 32.366 9.866 90.560 1.00 0.00 C +ATOM 31 C GLY A 8 31.156 10.367 91.364 1.00 0.00 C +ATOM 32 O GLY A 8 31.275 11.340 92.118 1.00 0.00 O +ENDMDL +MODEL 29 +ATOM 1 N GLY A 1 38.462 2.172 81.070 1.00 0.00 N +ATOM 2 CA GLY A 1 37.778 1.172 81.882 1.00 0.00 C +ATOM 3 C GLY A 1 37.322 1.903 83.149 1.00 0.00 C +ATOM 4 O GLY A 1 38.150 2.426 83.893 1.00 0.00 O +ATOM 5 N GLY A 2 36.014 1.930 83.380 1.00 0.00 N +ATOM 6 CA GLY A 2 35.451 2.564 84.561 1.00 0.00 C +ATOM 7 C GLY A 2 34.681 1.461 85.288 1.00 0.00 C +ATOM 8 O GLY A 2 33.774 0.870 84.715 1.00 0.00 O +ATOM 9 N GLY A 3 35.031 1.198 86.555 1.00 0.00 N +ATOM 10 CA GLY A 3 34.380 0.118 87.296 1.00 0.00 C +ATOM 11 C GLY A 3 33.416 0.511 88.389 1.00 0.00 C +ATOM 12 O GLY A 3 33.243 1.697 88.724 1.00 0.00 O +ATOM 13 N GLY A 4 32.801 -0.518 88.960 1.00 0.00 N +ATOM 14 CA GLY A 4 31.840 -0.367 90.041 1.00 0.00 C +ATOM 15 C GLY A 4 32.595 0.121 91.271 1.00 0.00 C +ATOM 16 O GLY A 4 32.001 0.567 92.249 1.00 0.00 O +ATOM 17 N GLY A 5 33.922 0.056 91.222 1.00 0.00 N +ATOM 18 CA GLY A 5 34.754 0.509 92.335 1.00 0.00 C +ATOM 19 C GLY A 5 35.210 1.962 92.193 1.00 0.00 C +ATOM 20 O GLY A 5 35.909 2.480 93.069 1.00 0.00 O +ATOM 21 N GLY A 6 34.839 2.605 91.092 1.00 0.00 N +ATOM 22 CA GLY A 6 35.202 4.005 90.864 1.00 0.00 C +ATOM 23 C GLY A 6 33.894 4.766 90.833 1.00 0.00 C +ATOM 24 O GLY A 6 33.714 5.692 90.041 1.00 0.00 O +ATOM 25 N GLY A 7 32.987 4.369 91.724 1.00 0.00 N +ATOM 26 CA GLY A 7 31.641 4.904 91.791 1.00 0.00 C +ATOM 27 C GLY A 7 31.368 6.260 92.458 1.00 0.00 C +ATOM 28 O GLY A 7 30.781 6.323 93.535 1.00 0.00 O +ATOM 29 N GLY A 8 31.791 7.335 91.792 1.00 0.00 N +ATOM 30 CA GLY A 8 31.523 8.681 92.263 1.00 0.00 C +ATOM 31 C GLY A 8 31.809 9.588 91.081 1.00 0.00 C +ATOM 32 O GLY A 8 32.537 9.209 90.157 1.00 0.00 O +ENDMDL +MODEL 30 +ATOM 1 N GLY A 1 37.996 0.156 81.281 1.00 0.00 N +ATOM 2 CA GLY A 1 38.922 0.251 82.391 1.00 0.00 C +ATOM 3 C GLY A 1 38.192 0.988 83.507 1.00 0.00 C +ATOM 4 O GLY A 1 38.189 2.215 83.559 1.00 0.00 O +ATOM 5 N GLY A 2 37.566 0.230 84.399 1.00 0.00 N +ATOM 6 CA GLY A 2 36.831 0.820 85.516 1.00 0.00 C +ATOM 7 C GLY A 2 37.715 1.475 86.574 1.00 0.00 C +ATOM 8 O GLY A 2 37.220 1.998 87.565 1.00 0.00 O +ATOM 9 N GLY A 3 39.029 1.389 86.413 1.00 0.00 N +ATOM 10 CA GLY A 3 39.936 2.021 87.348 1.00 0.00 C +ATOM 11 C GLY A 3 40.227 3.431 86.834 1.00 0.00 C +ATOM 12 O GLY A 3 39.780 4.420 87.413 1.00 0.00 O +ATOM 13 N GLY A 4 40.882 3.510 85.686 1.00 0.00 N +ATOM 14 CA GLY A 4 41.246 4.777 85.086 1.00 0.00 C +ATOM 15 C GLY A 4 40.069 5.636 84.638 1.00 0.00 C +ATOM 16 O GLY A 4 40.073 6.852 84.842 1.00 0.00 O +ATOM 17 N GLY A 5 39.048 5.012 84.058 1.00 0.00 N +ATOM 18 CA GLY A 5 37.907 5.763 83.551 1.00 0.00 C +ATOM 19 C GLY A 5 36.633 5.821 84.377 1.00 0.00 C +ATOM 20 O GLY A 5 35.579 6.212 83.867 1.00 0.00 O +ATOM 21 N GLY A 6 36.719 5.423 85.642 1.00 0.00 N +ATOM 22 CA GLY A 6 35.558 5.469 86.499 1.00 0.00 C +ATOM 23 C GLY A 6 35.244 6.927 86.822 1.00 0.00 C +ATOM 24 O GLY A 6 36.156 7.750 86.904 1.00 0.00 O +ATOM 25 N GLY A 7 33.952 7.242 86.929 1.00 0.00 N +ATOM 26 CA GLY A 7 33.478 8.586 87.269 1.00 0.00 C +ATOM 27 C GLY A 7 32.480 8.369 88.414 1.00 0.00 C +ATOM 28 O GLY A 7 31.917 7.294 88.540 1.00 0.00 O +ATOM 29 N GLY A 8 32.271 9.377 89.260 1.00 0.00 N +ATOM 30 CA GLY A 8 31.352 9.241 90.394 1.00 0.00 C +ATOM 31 C GLY A 8 31.070 10.592 91.053 1.00 0.00 C +ATOM 32 O GLY A 8 31.899 11.498 90.977 1.00 0.00 O +ENDMDL +MODEL 31 +ATOM 1 N GLY A 1 38.313 -1.305 82.154 1.00 0.00 N +ATOM 2 CA GLY A 1 38.583 -0.444 83.300 1.00 0.00 C +ATOM 3 C GLY A 1 37.675 0.776 83.192 1.00 0.00 C +ATOM 4 O GLY A 1 37.558 1.351 82.102 1.00 0.00 O +ATOM 5 N GLY A 2 36.988 1.086 84.287 1.00 0.00 N +ATOM 6 CA GLY A 2 36.195 2.349 84.414 1.00 0.00 C +ATOM 7 C GLY A 2 36.949 3.414 85.205 1.00 0.00 C +ATOM 8 O GLY A 2 37.501 3.107 86.250 1.00 0.00 O +ATOM 9 N GLY A 3 36.994 4.646 84.729 1.00 0.00 N +ATOM 10 CA GLY A 3 37.732 5.710 85.345 1.00 0.00 C +ATOM 11 C GLY A 3 36.884 6.374 86.378 1.00 0.00 C +ATOM 12 O GLY A 3 35.751 6.774 86.103 1.00 0.00 O +ATOM 13 N GLY A 4 37.441 6.528 87.597 1.00 0.00 N +ATOM 14 CA GLY A 4 36.687 7.180 88.659 1.00 0.00 C +ATOM 15 C GLY A 4 36.165 8.563 88.254 1.00 0.00 C +ATOM 16 O GLY A 4 35.015 8.925 88.641 1.00 0.00 O +ATOM 17 N GLY A 5 36.930 9.334 87.519 1.00 0.00 N +ATOM 18 CA GLY A 5 36.468 10.687 87.203 1.00 0.00 C +ATOM 19 C GLY A 5 35.179 10.582 86.379 1.00 0.00 C +ATOM 20 O GLY A 5 34.197 11.350 86.604 1.00 0.00 O +ATOM 21 N GLY A 6 35.097 9.662 85.434 1.00 0.00 N +ATOM 22 CA GLY A 6 33.887 9.539 84.638 1.00 0.00 C +ATOM 23 C GLY A 6 32.724 9.159 85.526 1.00 0.00 C +ATOM 24 O GLY A 6 31.600 9.677 85.386 1.00 0.00 O +ATOM 25 N GLY A 7 32.946 8.214 86.442 1.00 0.00 N +ATOM 26 CA GLY A 7 31.852 7.563 87.191 1.00 0.00 C +ATOM 27 C GLY A 7 31.310 8.541 88.245 1.00 0.00 C +ATOM 28 O GLY A 7 30.069 8.731 88.310 1.00 0.00 O +ATOM 29 N GLY A 8 32.199 9.181 89.000 1.00 0.00 N +ATOM 30 CA GLY A 8 31.781 9.986 90.130 1.00 0.00 C +ATOM 31 C GLY A 8 31.853 11.488 89.989 1.00 0.00 C +ATOM 32 O GLY A 8 31.226 12.224 90.837 1.00 0.00 O +ENDMDL +MODEL 32 +ATOM 1 N GLY A 1 39.092 1.113 81.936 1.00 0.00 N +ATOM 2 CA GLY A 1 39.129 1.651 83.290 1.00 0.00 C +ATOM 3 C GLY A 1 37.829 2.421 83.637 1.00 0.00 C +ATOM 4 O GLY A 1 37.176 2.887 82.674 1.00 0.00 O +ATOM 5 N GLY A 2 37.430 2.570 84.901 1.00 0.00 N +ATOM 6 CA GLY A 2 36.265 3.411 85.247 1.00 0.00 C +ATOM 7 C GLY A 2 36.375 4.911 84.856 1.00 0.00 C +ATOM 8 O GLY A 2 37.507 5.388 84.665 1.00 0.00 O +ATOM 9 N GLY A 3 35.211 5.617 84.805 1.00 0.00 N +ATOM 10 CA GLY A 3 35.169 7.079 84.730 1.00 0.00 C +ATOM 11 C GLY A 3 34.777 7.690 86.091 1.00 0.00 C +ATOM 12 O GLY A 3 34.030 7.025 86.870 1.00 0.00 O +ATOM 13 N GLY A 4 35.214 8.912 86.435 1.00 0.00 N +ATOM 14 CA GLY A 4 34.774 9.619 87.646 1.00 0.00 C +ATOM 15 C GLY A 4 34.406 11.048 87.237 1.00 0.00 C +ATOM 16 O GLY A 4 35.222 11.774 86.613 1.00 0.00 O +ATOM 17 N GLY A 5 33.161 11.485 87.552 1.00 0.00 N +ATOM 18 CA GLY A 5 32.755 12.889 87.289 1.00 0.00 C +ATOM 19 C GLY A 5 31.732 13.337 88.342 1.00 0.00 C +ATOM 20 O GLY A 5 30.797 12.619 88.722 1.00 0.00 O +ATOM 21 N GLY A 6 31.887 14.539 88.886 1.00 0.00 N +ATOM 22 CA GLY A 6 30.902 15.077 89.829 1.00 0.00 C +ATOM 23 C GLY A 6 30.559 14.171 91.020 1.00 0.00 C +ATOM 24 O GLY A 6 29.387 14.001 91.357 1.00 0.00 O +ATOM 25 N GLY A 7 31.546 13.574 91.643 1.00 0.00 N +ATOM 26 CA GLY A 7 31.333 12.784 92.850 1.00 0.00 C +ATOM 27 C GLY A 7 30.795 11.380 92.647 1.00 0.00 C +ATOM 28 O GLY A 7 30.437 10.761 93.695 1.00 0.00 O +ATOM 29 N GLY A 8 30.753 10.892 91.375 1.00 0.00 N +ATOM 30 CA GLY A 8 30.234 9.536 91.068 1.00 0.00 C +ATOM 31 C GLY A 8 31.228 8.703 90.249 1.00 0.00 C +ATOM 32 O GLY A 8 31.918 9.302 89.423 1.00 0.00 O +ENDMDL +MODEL 33 +ATOM 1 N GLY A 1 38.954 0.169 81.633 1.00 0.00 N +ATOM 2 CA GLY A 1 38.349 0.999 82.677 1.00 0.00 C +ATOM 3 C GLY A 1 38.739 2.481 82.521 1.00 0.00 C +ATOM 4 O GLY A 1 39.946 2.825 82.657 1.00 0.00 O +ATOM 5 N GLY A 2 37.791 3.413 82.284 1.00 0.00 N +ATOM 6 CA GLY A 2 38.040 4.869 82.188 1.00 0.00 C +ATOM 7 C GLY A 2 37.725 5.647 83.470 1.00 0.00 C +ATOM 8 O GLY A 2 38.519 6.544 83.869 1.00 0.00 O +ATOM 9 N GLY A 3 36.601 5.381 84.107 1.00 0.00 N +ATOM 10 CA GLY A 3 36.033 6.096 85.262 1.00 0.00 C +ATOM 11 C GLY A 3 35.642 5.151 86.417 1.00 0.00 C +ATOM 12 O GLY A 3 35.204 4.016 86.122 1.00 0.00 O +ATOM 13 N GLY A 4 35.759 5.526 87.699 1.00 0.00 N +ATOM 14 CA GLY A 4 35.514 4.679 88.892 1.00 0.00 C +ATOM 15 C GLY A 4 34.271 5.107 89.680 1.00 0.00 C +ATOM 16 O GLY A 4 34.222 6.173 90.302 1.00 0.00 O +ATOM 17 N GLY A 5 33.199 4.289 89.706 1.00 0.00 N +ATOM 18 CA GLY A 5 31.966 4.656 90.445 1.00 0.00 C +ATOM 19 C GLY A 5 32.199 4.809 91.963 1.00 0.00 C +ATOM 20 O GLY A 5 31.419 5.510 92.651 1.00 0.00 O +ATOM 21 N GLY A 6 33.245 4.239 92.557 1.00 0.00 N +ATOM 22 CA GLY A 6 33.461 4.357 93.988 1.00 0.00 C +ATOM 23 C GLY A 6 33.845 5.772 94.491 1.00 0.00 C +ATOM 24 O GLY A 6 33.758 6.072 95.712 1.00 0.00 O +ATOM 25 N GLY A 7 34.284 6.668 93.584 1.00 0.00 N +ATOM 26 CA GLY A 7 34.507 8.080 93.866 1.00 0.00 C +ATOM 27 C GLY A 7 33.443 8.958 93.172 1.00 0.00 C +ATOM 28 O GLY A 7 33.657 10.189 93.078 1.00 0.00 O +ATOM 29 N GLY A 8 32.309 8.403 92.712 1.00 0.00 N +ATOM 30 CA GLY A 8 31.244 9.202 92.091 1.00 0.00 C +ATOM 31 C GLY A 8 31.413 9.480 90.606 1.00 0.00 C +ATOM 32 O GLY A 8 30.732 10.396 90.073 1.00 0.00 O +ENDMDL +MODEL 34 +ATOM 1 N GLY A 1 38.627 2.438 81.755 1.00 0.00 N +ATOM 2 CA GLY A 1 38.954 1.036 81.541 1.00 0.00 C +ATOM 3 C GLY A 1 38.007 0.093 82.240 1.00 0.00 C +ATOM 4 O GLY A 1 38.132 -1.105 82.068 1.00 0.00 O +ATOM 5 N GLY A 2 37.085 0.605 83.047 1.00 0.00 N +ATOM 6 CA GLY A 2 36.004 -0.177 83.594 1.00 0.00 C +ATOM 7 C GLY A 2 34.901 -0.135 82.565 1.00 0.00 C +ATOM 8 O GLY A 2 34.402 0.920 82.210 1.00 0.00 O +ATOM 9 N GLY A 3 34.532 -1.287 82.066 1.00 0.00 N +ATOM 10 CA GLY A 3 33.591 -1.375 81.033 1.00 0.00 C +ATOM 11 C GLY A 3 32.141 -1.267 81.537 1.00 0.00 C +ATOM 12 O GLY A 3 31.273 -0.767 80.818 1.00 0.00 O +ATOM 13 N GLY A 4 31.886 -1.674 82.760 1.00 0.00 N +ATOM 14 CA GLY A 4 30.570 -1.493 83.406 1.00 0.00 C +ATOM 15 C GLY A 4 30.304 -0.012 83.683 1.00 0.00 C +ATOM 16 O GLY A 4 31.234 0.735 83.836 1.00 0.00 O +ATOM 17 N GLY A 5 29.017 0.401 83.763 1.00 0.00 N +ATOM 18 CA GLY A 5 28.708 1.823 84.060 1.00 0.00 C +ATOM 19 C GLY A 5 29.156 2.167 85.458 1.00 0.00 C +ATOM 20 O GLY A 5 28.885 1.403 86.365 1.00 0.00 O +ATOM 21 N GLY A 6 29.847 3.288 85.618 1.00 0.00 N +ATOM 22 CA GLY A 6 30.395 3.710 86.906 1.00 0.00 C +ATOM 23 C GLY A 6 29.927 5.123 87.165 1.00 0.00 C +ATOM 24 O GLY A 6 29.857 5.953 86.238 1.00 0.00 O +ATOM 25 N GLY A 7 29.658 5.402 88.441 1.00 0.00 N +ATOM 26 CA GLY A 7 29.435 6.733 88.884 1.00 0.00 C +ATOM 27 C GLY A 7 30.392 6.979 90.064 1.00 0.00 C +ATOM 28 O GLY A 7 30.575 6.102 90.901 1.00 0.00 O +ATOM 29 N GLY A 8 30.962 8.175 90.140 1.00 0.00 N +ATOM 30 CA GLY A 8 31.793 8.561 91.228 1.00 0.00 C +ATOM 31 C GLY A 8 31.171 9.823 91.796 1.00 0.00 C +ATOM 32 O GLY A 8 30.878 10.775 91.042 1.00 0.00 O +ENDMDL +MODEL 35 +ATOM 1 N GLY A 1 36.607 -0.710 81.680 1.00 0.00 N +ATOM 2 CA GLY A 1 37.298 0.454 82.225 1.00 0.00 C +ATOM 3 C GLY A 1 36.369 1.285 83.104 1.00 0.00 C +ATOM 4 O GLY A 1 36.754 1.743 84.183 1.00 0.00 O +ATOM 5 N GLY A 2 35.148 1.479 82.654 1.00 0.00 N +ATOM 6 CA GLY A 2 34.168 2.243 83.404 1.00 0.00 C +ATOM 7 C GLY A 2 33.825 1.524 84.726 1.00 0.00 C +ATOM 8 O GLY A 2 33.645 2.159 85.758 1.00 0.00 O +ATOM 9 N GLY A 3 33.766 0.200 84.682 1.00 0.00 N +ATOM 10 CA GLY A 3 33.433 -0.577 85.882 1.00 0.00 C +ATOM 11 C GLY A 3 34.421 -0.425 87.033 1.00 0.00 C +ATOM 12 O GLY A 3 34.027 -0.488 88.195 1.00 0.00 O +ATOM 13 N GLY A 4 35.690 -0.229 86.710 1.00 0.00 N +ATOM 14 CA GLY A 4 36.729 -0.102 87.727 1.00 0.00 C +ATOM 15 C GLY A 4 36.841 1.286 88.347 1.00 0.00 C +ATOM 16 O GLY A 4 37.532 1.459 89.343 1.00 0.00 O +ATOM 17 N GLY A 5 36.174 2.255 87.745 1.00 0.00 N +ATOM 18 CA GLY A 5 36.231 3.647 88.209 1.00 0.00 C +ATOM 19 C GLY A 5 35.616 3.879 89.592 1.00 0.00 C +ATOM 20 O GLY A 5 34.615 3.256 89.932 1.00 0.00 O +ATOM 21 N GLY A 6 36.214 4.784 90.381 1.00 0.00 N +ATOM 22 CA GLY A 6 35.671 5.081 91.719 1.00 0.00 C +ATOM 23 C GLY A 6 34.334 5.797 91.567 1.00 0.00 C +ATOM 24 O GLY A 6 34.067 6.409 90.536 1.00 0.00 O +ATOM 25 N GLY A 7 33.492 5.721 92.591 1.00 0.00 N +ATOM 26 CA GLY A 7 32.172 6.346 92.545 1.00 0.00 C +ATOM 27 C GLY A 7 32.112 7.784 92.018 1.00 0.00 C +ATOM 28 O GLY A 7 31.253 8.088 91.200 1.00 0.00 O +ATOM 29 N GLY A 8 33.021 8.647 92.455 1.00 0.00 N +ATOM 30 CA GLY A 8 32.974 10.045 92.034 1.00 0.00 C +ATOM 31 C GLY A 8 33.281 10.306 90.552 1.00 0.00 C +ATOM 32 O GLY A 8 32.902 11.345 90.006 1.00 0.00 O +ENDMDL +MODEL 36 +ATOM 1 N GLY A 1 40.266 0.182 82.567 1.00 0.00 N +ATOM 2 CA GLY A 1 39.138 -0.340 83.307 1.00 0.00 C +ATOM 3 C GLY A 1 38.324 0.793 83.934 1.00 0.00 C +ATOM 4 O GLY A 1 38.870 1.768 84.394 1.00 0.00 O +ATOM 5 N GLY A 2 37.010 0.625 84.006 1.00 0.00 N +ATOM 6 CA GLY A 2 36.153 1.639 84.581 1.00 0.00 C +ATOM 7 C GLY A 2 36.352 1.730 86.092 1.00 0.00 C +ATOM 8 O GLY A 2 36.711 0.744 86.749 1.00 0.00 O +ATOM 9 N GLY A 3 36.111 2.922 86.632 1.00 0.00 N +ATOM 10 CA GLY A 3 36.209 3.190 88.047 1.00 0.00 C +ATOM 11 C GLY A 3 35.026 4.083 88.337 1.00 0.00 C +ATOM 12 O GLY A 3 35.165 5.258 88.633 1.00 0.00 O +ATOM 13 N GLY A 4 33.855 3.480 88.218 1.00 0.00 N +ATOM 14 CA GLY A 4 32.588 4.207 88.110 1.00 0.00 C +ATOM 15 C GLY A 4 32.274 5.085 89.307 1.00 0.00 C +ATOM 16 O GLY A 4 31.847 6.221 89.146 1.00 0.00 O +ATOM 17 N GLY A 5 32.483 4.556 90.508 1.00 0.00 N +ATOM 18 CA GLY A 5 32.168 5.294 91.716 1.00 0.00 C +ATOM 19 C GLY A 5 33.029 6.547 91.860 1.00 0.00 C +ATOM 20 O GLY A 5 32.523 7.602 92.242 1.00 0.00 O +ATOM 21 N GLY A 6 34.323 6.437 91.558 1.00 0.00 N +ATOM 22 CA GLY A 6 35.195 7.631 91.547 1.00 0.00 C +ATOM 23 C GLY A 6 34.825 8.598 90.408 1.00 0.00 C +ATOM 24 O GLY A 6 34.721 9.805 90.626 1.00 0.00 O +ATOM 25 N GLY A 7 34.639 8.085 89.192 1.00 0.00 N +ATOM 26 CA GLY A 7 34.314 8.955 88.062 1.00 0.00 C +ATOM 27 C GLY A 7 33.017 9.717 88.321 1.00 0.00 C +ATOM 28 O GLY A 7 32.989 10.924 88.176 1.00 0.00 O +ATOM 29 N GLY A 8 31.980 9.024 88.777 1.00 0.00 N +ATOM 30 CA GLY A 8 30.719 9.675 89.179 1.00 0.00 C +ATOM 31 C GLY A 8 30.846 10.705 90.313 1.00 0.00 C +ATOM 32 O GLY A 8 30.137 11.711 90.302 1.00 0.00 O +ENDMDL +MODEL 37 +ATOM 1 N GLY A 1 39.038 2.060 81.426 1.00 0.00 N +ATOM 2 CA GLY A 1 39.548 0.816 82.014 1.00 0.00 C +ATOM 3 C GLY A 1 39.349 0.759 83.540 1.00 0.00 C +ATOM 4 O GLY A 1 39.486 -0.353 84.105 1.00 0.00 O +ATOM 5 N GLY A 2 39.051 1.870 84.196 1.00 0.00 N +ATOM 6 CA GLY A 2 38.928 1.921 85.639 1.00 0.00 C +ATOM 7 C GLY A 2 37.452 2.151 86.010 1.00 0.00 C +ATOM 8 O GLY A 2 36.922 3.238 85.850 1.00 0.00 O +ATOM 9 N GLY A 3 36.756 1.109 86.464 1.00 0.00 N +ATOM 10 CA GLY A 3 35.345 1.277 86.777 1.00 0.00 C +ATOM 11 C GLY A 3 35.053 2.356 87.826 1.00 0.00 C +ATOM 12 O GLY A 3 33.954 2.932 87.855 1.00 0.00 O +ATOM 13 N GLY A 4 36.034 2.659 88.677 1.00 0.00 N +ATOM 14 CA GLY A 4 35.828 3.688 89.696 1.00 0.00 C +ATOM 15 C GLY A 4 35.541 5.089 89.160 1.00 0.00 C +ATOM 16 O GLY A 4 34.884 5.884 89.855 1.00 0.00 O +ATOM 17 N GLY A 5 36.019 5.416 87.947 1.00 0.00 N +ATOM 18 CA GLY A 5 35.787 6.757 87.395 1.00 0.00 C +ATOM 19 C GLY A 5 34.412 6.830 86.721 1.00 0.00 C +ATOM 20 O GLY A 5 33.938 7.965 86.437 1.00 0.00 O +ATOM 21 N GLY A 6 33.789 5.695 86.374 1.00 0.00 N +ATOM 22 CA GLY A 6 32.563 5.651 85.633 1.00 0.00 C +ATOM 23 C GLY A 6 31.364 5.867 86.577 1.00 0.00 C +ATOM 24 O GLY A 6 31.071 4.976 87.355 1.00 0.00 O +ATOM 25 N GLY A 7 30.712 7.007 86.503 1.00 0.00 N +ATOM 26 CA GLY A 7 29.506 7.266 87.289 1.00 0.00 C +ATOM 27 C GLY A 7 29.728 7.770 88.697 1.00 0.00 C +ATOM 28 O GLY A 7 28.761 7.832 89.452 1.00 0.00 O +ATOM 29 N GLY A 8 30.941 8.181 89.061 1.00 0.00 N +ATOM 30 CA GLY A 8 31.142 8.691 90.394 1.00 0.00 C +ATOM 31 C GLY A 8 30.418 10.054 90.567 1.00 0.00 C +ATOM 32 O GLY A 8 29.935 10.345 91.662 1.00 0.00 O +ENDMDL +MODEL 38 +ATOM 1 N GLY A 1 39.593 0.822 82.094 1.00 0.00 N +ATOM 2 CA GLY A 1 38.674 -0.251 82.478 1.00 0.00 C +ATOM 3 C GLY A 1 37.426 0.213 83.240 1.00 0.00 C +ATOM 4 O GLY A 1 36.544 -0.598 83.540 1.00 0.00 O +ATOM 5 N GLY A 2 37.354 1.509 83.544 1.00 0.00 N +ATOM 6 CA GLY A 2 36.202 2.083 84.233 1.00 0.00 C +ATOM 7 C GLY A 2 35.820 3.411 83.586 1.00 0.00 C +ATOM 8 O GLY A 2 36.679 4.238 83.299 1.00 0.00 O +ATOM 9 N GLY A 3 34.517 3.622 83.355 1.00 0.00 N +ATOM 10 CA GLY A 3 34.021 4.952 83.026 1.00 0.00 C +ATOM 11 C GLY A 3 33.823 5.735 84.327 1.00 0.00 C +ATOM 12 O GLY A 3 32.778 5.628 84.977 1.00 0.00 O +ATOM 13 N GLY A 4 34.839 6.507 84.695 1.00 0.00 N +ATOM 14 CA GLY A 4 34.833 7.254 85.938 1.00 0.00 C +ATOM 15 C GLY A 4 33.924 8.481 85.911 1.00 0.00 C +ATOM 16 O GLY A 4 33.514 8.955 86.973 1.00 0.00 O +ATOM 17 N GLY A 5 33.597 8.984 84.724 1.00 0.00 N +ATOM 18 CA GLY A 5 32.628 10.078 84.607 1.00 0.00 C +ATOM 19 C GLY A 5 31.264 9.612 85.111 1.00 0.00 C +ATOM 20 O GLY A 5 30.546 10.370 85.784 1.00 0.00 O +ATOM 21 N GLY A 6 30.921 8.367 84.796 1.00 0.00 N +ATOM 22 CA GLY A 6 29.717 7.710 85.282 1.00 0.00 C +ATOM 23 C GLY A 6 29.793 7.433 86.784 1.00 0.00 C +ATOM 24 O GLY A 6 28.899 7.826 87.536 1.00 0.00 O +ATOM 25 N GLY A 7 30.867 6.780 87.225 1.00 0.00 N +ATOM 26 CA GLY A 7 31.023 6.403 88.630 1.00 0.00 C +ATOM 27 C GLY A 7 31.060 7.604 89.586 1.00 0.00 C +ATOM 28 O GLY A 7 30.468 7.555 90.674 1.00 0.00 O +ATOM 29 N GLY A 8 31.743 8.667 89.175 1.00 0.00 N +ATOM 30 CA GLY A 8 32.046 9.797 90.061 1.00 0.00 C +ATOM 31 C GLY A 8 30.827 10.691 90.383 1.00 0.00 C +ATOM 32 O GLY A 8 30.864 11.455 91.347 1.00 0.00 O +ENDMDL +MODEL 39 +ATOM 1 N GLY A 1 38.470 1.627 82.416 1.00 0.00 N +ATOM 2 CA GLY A 1 37.696 0.419 82.171 1.00 0.00 C +ATOM 3 C GLY A 1 36.434 0.547 83.010 1.00 0.00 C +ATOM 4 O GLY A 1 36.330 1.435 83.844 1.00 0.00 O +ATOM 5 N GLY A 2 35.469 -0.347 82.780 1.00 0.00 N +ATOM 6 CA GLY A 2 34.234 -0.306 83.543 1.00 0.00 C +ATOM 7 C GLY A 2 34.470 -0.614 85.027 1.00 0.00 C +ATOM 8 O GLY A 2 33.838 -0.025 85.904 1.00 0.00 O +ATOM 9 N GLY A 3 35.398 -1.531 85.308 1.00 0.00 N +ATOM 10 CA GLY A 3 35.731 -1.945 86.681 1.00 0.00 C +ATOM 11 C GLY A 3 36.388 -0.899 87.570 1.00 0.00 C +ATOM 12 O GLY A 3 36.156 -0.874 88.775 1.00 0.00 O +ATOM 13 N GLY A 4 37.216 -0.031 86.979 1.00 0.00 N +ATOM 14 CA GLY A 4 37.904 0.997 87.746 1.00 0.00 C +ATOM 15 C GLY A 4 37.022 2.221 88.035 1.00 0.00 C +ATOM 16 O GLY A 4 37.385 3.071 88.844 1.00 0.00 O +ATOM 17 N GLY A 5 35.886 2.307 87.348 1.00 0.00 N +ATOM 18 CA GLY A 5 34.975 3.424 87.528 1.00 0.00 C +ATOM 19 C GLY A 5 34.634 3.694 88.997 1.00 0.00 C +ATOM 20 O GLY A 5 33.820 2.995 89.600 1.00 0.00 O +ATOM 21 N GLY A 6 35.254 4.729 89.548 1.00 0.00 N +ATOM 22 CA GLY A 6 35.050 5.163 90.917 1.00 0.00 C +ATOM 23 C GLY A 6 33.580 5.527 91.106 1.00 0.00 C +ATOM 24 O GLY A 6 32.856 5.689 90.118 1.00 0.00 O +ATOM 25 N GLY A 7 33.099 5.620 92.359 1.00 0.00 N +ATOM 26 CA GLY A 7 31.690 5.980 92.528 1.00 0.00 C +ATOM 27 C GLY A 7 31.480 7.428 92.087 1.00 0.00 C +ATOM 28 O GLY A 7 30.413 7.790 91.599 1.00 0.00 O +ATOM 29 N GLY A 8 32.525 8.231 92.246 1.00 0.00 N +ATOM 30 CA GLY A 8 32.484 9.646 91.865 1.00 0.00 C +ATOM 31 C GLY A 8 32.481 9.784 90.341 1.00 0.00 C +ATOM 32 O GLY A 8 31.865 10.704 89.799 1.00 0.00 O +ENDMDL +MODEL 40 +ATOM 1 N GLY A 1 38.618 -0.755 82.798 1.00 0.00 N +ATOM 2 CA GLY A 1 39.414 0.455 83.005 1.00 0.00 C +ATOM 3 C GLY A 1 38.648 1.567 83.710 1.00 0.00 C +ATOM 4 O GLY A 1 39.248 2.544 84.154 1.00 0.00 O +ATOM 5 N GLY A 2 37.344 1.443 83.783 1.00 0.00 N +ATOM 6 CA GLY A 2 36.560 2.493 84.409 1.00 0.00 C +ATOM 7 C GLY A 2 36.741 2.454 85.945 1.00 0.00 C +ATOM 8 O GLY A 2 36.482 1.425 86.577 1.00 0.00 O +ATOM 9 N GLY A 3 37.178 3.583 86.524 1.00 0.00 N +ATOM 10 CA GLY A 3 37.454 3.736 87.960 1.00 0.00 C +ATOM 11 C GLY A 3 36.282 4.251 88.791 1.00 0.00 C +ATOM 12 O GLY A 3 35.329 4.821 88.260 1.00 0.00 O +ATOM 13 N GLY A 4 36.380 4.098 90.116 1.00 0.00 N +ATOM 14 CA GLY A 4 35.332 4.589 91.015 1.00 0.00 C +ATOM 15 C GLY A 4 35.197 6.163 90.831 1.00 0.00 C +ATOM 16 O GLY A 4 34.100 6.737 90.832 1.00 0.00 O +ATOM 17 N GLY A 5 36.334 6.853 90.647 1.00 0.00 N +ATOM 18 CA GLY A 5 36.268 8.269 90.372 1.00 0.00 C +ATOM 19 C GLY A 5 35.484 8.534 89.021 1.00 0.00 C +ATOM 20 O GLY A 5 34.659 9.454 88.947 1.00 0.00 O +ATOM 21 N GLY A 6 35.745 7.737 87.972 1.00 0.00 N +ATOM 22 CA GLY A 6 35.043 7.899 86.680 1.00 0.00 C +ATOM 23 C GLY A 6 33.518 7.781 86.909 1.00 0.00 C +ATOM 24 O GLY A 6 32.748 8.593 86.371 1.00 0.00 O +ATOM 25 N GLY A 7 33.099 6.795 87.710 1.00 0.00 N +ATOM 26 CA GLY A 7 31.676 6.564 87.990 1.00 0.00 C +ATOM 27 C GLY A 7 31.050 7.633 88.836 1.00 0.00 C +ATOM 28 O GLY A 7 29.853 7.946 88.640 1.00 0.00 O +ATOM 29 N GLY A 8 31.812 8.216 89.745 1.00 0.00 N +ATOM 30 CA GLY A 8 31.262 9.340 90.533 1.00 0.00 C +ATOM 31 C GLY A 8 31.187 10.639 89.680 1.00 0.00 C +ATOM 32 O GLY A 8 30.301 11.480 89.876 1.00 0.00 O +ENDMDL +MODEL 41 +ATOM 1 N GLY A 1 37.440 0.602 80.564 1.00 0.00 N +ATOM 2 CA GLY A 1 37.653 0.169 81.954 1.00 0.00 C +ATOM 3 C GLY A 1 36.818 0.949 82.964 1.00 0.00 C +ATOM 4 O GLY A 1 37.350 1.778 83.706 1.00 0.00 O +ATOM 5 N GLY A 2 35.501 0.699 83.015 1.00 0.00 N +ATOM 6 CA GLY A 2 34.623 1.397 83.960 1.00 0.00 C +ATOM 7 C GLY A 2 35.085 1.183 85.402 1.00 0.00 C +ATOM 8 O GLY A 2 35.917 0.311 85.663 1.00 0.00 O +ATOM 9 N GLY A 3 34.535 1.961 86.321 1.00 0.00 N +ATOM 10 CA GLY A 3 34.867 1.868 87.734 1.00 0.00 C +ATOM 11 C GLY A 3 34.024 2.884 88.510 1.00 0.00 C +ATOM 12 O GLY A 3 33.849 4.017 88.053 1.00 0.00 O +ATOM 13 N GLY A 4 33.508 2.483 89.667 1.00 0.00 N +ATOM 14 CA GLY A 4 32.682 3.394 90.448 1.00 0.00 C +ATOM 15 C GLY A 4 33.433 4.665 90.844 1.00 0.00 C +ATOM 16 O GLY A 4 32.874 5.764 90.766 1.00 0.00 O +ATOM 17 N GLY A 5 34.689 4.521 91.253 1.00 0.00 N +ATOM 18 CA GLY A 5 35.513 5.649 91.683 1.00 0.00 C +ATOM 19 C GLY A 5 35.897 6.607 90.558 1.00 0.00 C +ATOM 20 O GLY A 5 36.412 7.698 90.812 1.00 0.00 O +ATOM 21 N GLY A 6 35.661 6.191 89.315 1.00 0.00 N +ATOM 22 CA GLY A 6 35.956 7.023 88.154 1.00 0.00 C +ATOM 23 C GLY A 6 34.749 7.894 87.822 1.00 0.00 C +ATOM 24 O GLY A 6 34.888 8.984 87.260 1.00 0.00 O +ATOM 25 N GLY A 7 33.566 7.399 88.167 1.00 0.00 N +ATOM 26 CA GLY A 7 32.320 8.104 87.875 1.00 0.00 C +ATOM 27 C GLY A 7 31.813 8.909 89.068 1.00 0.00 C +ATOM 28 O GLY A 7 30.992 9.814 88.915 1.00 0.00 O +ATOM 29 N GLY A 8 32.326 8.574 90.241 1.00 0.00 N +ATOM 30 CA GLY A 8 31.893 9.222 91.470 1.00 0.00 C +ATOM 31 C GLY A 8 32.350 10.655 91.652 1.00 0.00 C +ATOM 32 O GLY A 8 33.276 11.129 90.997 1.00 0.00 O +ENDMDL +MODEL 42 +ATOM 1 N GLY A 1 39.776 2.585 82.143 1.00 0.00 N +ATOM 2 CA GLY A 1 39.130 1.611 83.025 1.00 0.00 C +ATOM 3 C GLY A 1 37.963 2.169 83.838 1.00 0.00 C +ATOM 4 O GLY A 1 37.169 1.401 84.367 1.00 0.00 O +ATOM 5 N GLY A 2 37.877 3.487 83.951 1.00 0.00 N +ATOM 6 CA GLY A 2 36.995 4.095 84.938 1.00 0.00 C +ATOM 7 C GLY A 2 36.767 5.572 84.655 1.00 0.00 C +ATOM 8 O GLY A 2 37.653 6.264 84.142 1.00 0.00 O +ATOM 9 N GLY A 3 35.566 6.045 84.995 1.00 0.00 N +ATOM 10 CA GLY A 3 35.225 7.457 84.972 1.00 0.00 C +ATOM 11 C GLY A 3 34.681 7.868 86.327 1.00 0.00 C +ATOM 12 O GLY A 3 33.989 7.083 86.974 1.00 0.00 O +ATOM 13 N GLY A 4 35.021 9.077 86.766 1.00 0.00 N +ATOM 14 CA GLY A 4 34.487 9.643 88.004 1.00 0.00 C +ATOM 15 C GLY A 4 33.871 11.009 87.696 1.00 0.00 C +ATOM 16 O GLY A 4 34.591 11.942 87.290 1.00 0.00 O +ATOM 17 N GLY A 5 32.563 11.112 87.871 1.00 0.00 N +ATOM 18 CA GLY A 5 31.789 12.310 87.547 1.00 0.00 C +ATOM 19 C GLY A 5 31.379 12.920 88.882 1.00 0.00 C +ATOM 20 O GLY A 5 30.431 12.445 89.520 1.00 0.00 O +ATOM 21 N GLY A 6 32.110 13.938 89.324 1.00 0.00 N +ATOM 22 CA GLY A 6 31.869 14.568 90.632 1.00 0.00 C +ATOM 23 C GLY A 6 31.683 13.533 91.742 1.00 0.00 C +ATOM 24 O GLY A 6 30.653 13.495 92.425 1.00 0.00 O +ATOM 25 N GLY A 7 32.692 12.678 91.905 1.00 0.00 N +ATOM 26 CA GLY A 7 32.743 11.620 92.925 1.00 0.00 C +ATOM 27 C GLY A 7 31.902 10.371 92.659 1.00 0.00 C +ATOM 28 O GLY A 7 32.001 9.419 93.419 1.00 0.00 O +ATOM 29 N GLY A 8 31.094 10.364 91.601 1.00 0.00 N +ATOM 30 CA GLY A 8 30.272 9.197 91.261 1.00 0.00 C +ATOM 31 C GLY A 8 30.997 8.343 90.219 1.00 0.00 C +ATOM 32 O GLY A 8 31.292 8.821 89.115 1.00 0.00 O +ENDMDL +MODEL 43 +ATOM 1 N GLY A 1 39.259 2.934 81.550 1.00 0.00 N +ATOM 2 CA GLY A 1 38.246 1.923 81.859 1.00 0.00 C +ATOM 3 C GLY A 1 37.198 2.357 82.850 1.00 0.00 C +ATOM 4 O GLY A 1 36.218 1.632 83.078 1.00 0.00 O +ATOM 5 N GLY A 2 37.386 3.529 83.444 1.00 0.00 N +ATOM 6 CA GLY A 2 36.442 4.071 84.414 1.00 0.00 C +ATOM 7 C GLY A 2 35.752 5.319 83.914 1.00 0.00 C +ATOM 8 O GLY A 2 36.245 6.015 83.017 1.00 0.00 O +ATOM 9 N GLY A 3 34.607 5.602 84.515 1.00 0.00 N +ATOM 10 CA GLY A 3 33.834 6.790 84.214 1.00 0.00 C +ATOM 11 C GLY A 3 33.756 7.532 85.538 1.00 0.00 C +ATOM 12 O GLY A 3 33.150 7.071 86.516 1.00 0.00 O +ATOM 13 N GLY A 4 34.403 8.695 85.577 1.00 0.00 N +ATOM 14 CA GLY A 4 34.453 9.521 86.759 1.00 0.00 C +ATOM 15 C GLY A 4 33.368 10.565 86.783 1.00 0.00 C +ATOM 16 O GLY A 4 33.389 11.527 86.043 1.00 0.00 O +ATOM 17 N GLY A 5 32.390 10.337 87.648 1.00 0.00 N +ATOM 18 CA GLY A 5 31.277 11.236 87.824 1.00 0.00 C +ATOM 19 C GLY A 5 31.606 12.076 89.041 1.00 0.00 C +ATOM 20 O GLY A 5 32.519 11.744 89.789 1.00 0.00 O +ATOM 21 N GLY A 6 30.874 13.165 89.260 1.00 0.00 N +ATOM 22 CA GLY A 6 31.073 14.075 90.388 1.00 0.00 C +ATOM 23 C GLY A 6 31.056 13.461 91.789 1.00 0.00 C +ATOM 24 O GLY A 6 31.872 13.830 92.641 1.00 0.00 O +ATOM 25 N GLY A 7 30.142 12.544 92.042 1.00 0.00 N +ATOM 26 CA GLY A 7 30.033 11.950 93.368 1.00 0.00 C +ATOM 27 C GLY A 7 30.474 10.487 93.471 1.00 0.00 C +ATOM 28 O GLY A 7 30.533 9.923 94.565 1.00 0.00 O +ATOM 29 N GLY A 8 30.778 9.867 92.328 1.00 0.00 N +ATOM 30 CA GLY A 8 31.211 8.487 92.325 1.00 0.00 C +ATOM 31 C GLY A 8 31.769 8.113 90.979 1.00 0.00 C +ATOM 32 O GLY A 8 31.747 8.912 90.040 1.00 0.00 O +ENDMDL +MODEL 44 +ATOM 1 N GLY A 1 38.563 -0.489 81.994 1.00 0.00 N +ATOM 2 CA GLY A 1 38.146 0.687 82.742 1.00 0.00 C +ATOM 3 C GLY A 1 38.503 0.672 84.197 1.00 0.00 C +ATOM 4 O GLY A 1 38.352 -0.352 84.820 1.00 0.00 O +ATOM 5 N GLY A 2 39.002 1.791 84.733 1.00 0.00 N +ATOM 6 CA GLY A 2 39.240 1.873 86.167 1.00 0.00 C +ATOM 7 C GLY A 2 37.921 2.517 86.590 1.00 0.00 C +ATOM 8 O GLY A 2 37.591 3.634 86.206 1.00 0.00 O +ATOM 9 N GLY A 3 37.114 1.773 87.344 1.00 0.00 N +ATOM 10 CA GLY A 3 35.826 2.316 87.778 1.00 0.00 C +ATOM 11 C GLY A 3 36.052 3.339 88.856 1.00 0.00 C +ATOM 12 O GLY A 3 37.172 3.475 89.323 1.00 0.00 O +ATOM 13 N GLY A 4 35.048 4.152 89.167 1.00 0.00 N +ATOM 14 CA GLY A 4 35.224 5.076 90.279 1.00 0.00 C +ATOM 15 C GLY A 4 34.225 4.637 91.324 1.00 0.00 C +ATOM 16 O GLY A 4 33.235 3.950 91.020 1.00 0.00 O +ATOM 17 N GLY A 5 34.403 5.110 92.532 1.00 0.00 N +ATOM 18 CA GLY A 5 33.524 4.716 93.614 1.00 0.00 C +ATOM 19 C GLY A 5 32.210 5.462 93.599 1.00 0.00 C +ATOM 20 O GLY A 5 32.188 6.689 93.375 1.00 0.00 O +ATOM 21 N GLY A 6 31.118 4.713 93.767 1.00 0.00 N +ATOM 22 CA GLY A 6 29.788 5.307 93.809 1.00 0.00 C +ATOM 23 C GLY A 6 29.458 6.047 92.511 1.00 0.00 C +ATOM 24 O GLY A 6 28.598 6.918 92.497 1.00 0.00 O +ATOM 25 N GLY A 7 30.137 5.691 91.421 1.00 0.00 N +ATOM 26 CA GLY A 7 29.901 6.321 90.123 1.00 0.00 C +ATOM 27 C GLY A 7 30.006 7.832 90.107 1.00 0.00 C +ATOM 28 O GLY A 7 29.414 8.508 89.248 1.00 0.00 O +ATOM 29 N GLY A 8 30.777 8.365 91.036 1.00 0.00 N +ATOM 30 CA GLY A 8 30.945 9.799 91.117 1.00 0.00 C +ATOM 31 C GLY A 8 31.698 10.430 89.918 1.00 0.00 C +ATOM 32 O GLY A 8 31.574 11.627 89.634 1.00 0.00 O +ENDMDL +MODEL 45 +ATOM 1 N GLY A 1 38.403 -1.404 82.273 1.00 0.00 N +ATOM 2 CA GLY A 1 37.654 -0.171 82.087 1.00 0.00 C +ATOM 3 C GLY A 1 37.445 0.534 83.417 1.00 0.00 C +ATOM 4 O GLY A 1 36.380 0.429 84.027 1.00 0.00 O +ATOM 5 N GLY A 2 38.474 1.238 83.871 1.00 0.00 N +ATOM 6 CA GLY A 2 38.424 1.953 85.147 1.00 0.00 C +ATOM 7 C GLY A 2 37.414 3.089 85.128 1.00 0.00 C +ATOM 8 O GLY A 2 37.056 3.614 84.063 1.00 0.00 O +ATOM 9 N GLY A 3 36.935 3.488 86.323 1.00 0.00 N +ATOM 10 CA GLY A 3 35.954 4.570 86.450 1.00 0.00 C +ATOM 11 C GLY A 3 36.612 5.838 85.960 1.00 0.00 C +ATOM 12 O GLY A 3 37.811 6.031 86.163 1.00 0.00 O +ATOM 13 N GLY A 4 35.861 6.702 85.291 1.00 0.00 N +ATOM 14 CA GLY A 4 36.486 7.933 84.842 1.00 0.00 C +ATOM 15 C GLY A 4 36.170 8.965 85.916 1.00 0.00 C +ATOM 16 O GLY A 4 35.013 9.106 86.329 1.00 0.00 O +ATOM 17 N GLY A 5 37.194 9.697 86.375 1.00 0.00 N +ATOM 18 CA GLY A 5 37.035 10.720 87.416 1.00 0.00 C +ATOM 19 C GLY A 5 35.807 11.621 87.253 1.00 0.00 C +ATOM 20 O GLY A 5 35.215 12.042 88.244 1.00 0.00 O +ATOM 21 N GLY A 6 35.424 11.915 86.008 1.00 0.00 N +ATOM 22 CA GLY A 6 34.269 12.784 85.774 1.00 0.00 C +ATOM 23 C GLY A 6 32.973 12.091 86.161 1.00 0.00 C +ATOM 24 O GLY A 6 31.918 12.728 86.321 1.00 0.00 O +ATOM 25 N GLY A 7 33.050 10.770 86.339 1.00 0.00 N +ATOM 26 CA GLY A 7 31.863 10.016 86.728 1.00 0.00 C +ATOM 27 C GLY A 7 31.663 9.923 88.234 1.00 0.00 C +ATOM 28 O GLY A 7 30.582 9.565 88.712 1.00 0.00 O +ATOM 29 N GLY A 8 32.710 10.241 88.977 1.00 0.00 N +ATOM 30 CA GLY A 8 32.658 10.192 90.432 1.00 0.00 C +ATOM 31 C GLY A 8 31.783 11.284 91.025 1.00 0.00 C +ATOM 32 O GLY A 8 31.487 12.292 90.369 1.00 0.00 O +ENDMDL +MODEL 46 +ATOM 1 N GLY A 1 39.770 0.835 82.050 1.00 0.00 N +ATOM 2 CA GLY A 1 38.584 0.016 82.083 1.00 0.00 C +ATOM 3 C GLY A 1 37.587 0.830 82.895 1.00 0.00 C +ATOM 4 O GLY A 1 37.580 0.766 84.106 1.00 0.00 O +ATOM 5 N GLY A 2 36.787 1.628 82.189 1.00 0.00 N +ATOM 6 CA GLY A 2 35.876 2.609 82.771 1.00 0.00 C +ATOM 7 C GLY A 2 35.063 2.203 83.987 1.00 0.00 C +ATOM 8 O GLY A 2 34.925 2.983 84.914 1.00 0.00 O +ATOM 9 N GLY A 3 34.548 0.983 83.969 1.00 0.00 N +ATOM 10 CA GLY A 3 33.732 0.462 85.050 1.00 0.00 C +ATOM 11 C GLY A 3 34.467 0.315 86.389 1.00 0.00 C +ATOM 12 O GLY A 3 33.824 0.348 87.438 1.00 0.00 O +ATOM 13 N GLY A 4 35.789 0.178 86.370 1.00 0.00 N +ATOM 14 CA GLY A 4 36.556 0.034 87.606 1.00 0.00 C +ATOM 15 C GLY A 4 37.627 1.096 87.800 1.00 0.00 C +ATOM 16 O GLY A 4 38.484 0.946 88.684 1.00 0.00 O +ATOM 17 N GLY A 5 37.565 2.191 87.039 1.00 0.00 N +ATOM 18 CA GLY A 5 38.578 3.238 87.171 1.00 0.00 C +ATOM 19 C GLY A 5 38.226 4.262 88.229 1.00 0.00 C +ATOM 20 O GLY A 5 38.931 4.350 89.233 1.00 0.00 O +ATOM 21 N GLY A 6 37.173 5.045 88.023 1.00 0.00 N +ATOM 22 CA GLY A 6 36.771 6.045 89.008 1.00 0.00 C +ATOM 23 C GLY A 6 35.265 6.276 88.932 1.00 0.00 C +ATOM 24 O GLY A 6 34.747 6.594 87.862 1.00 0.00 O +ATOM 25 N GLY A 7 34.581 6.091 90.064 1.00 0.00 N +ATOM 26 CA GLY A 7 33.141 6.289 90.147 1.00 0.00 C +ATOM 27 C GLY A 7 32.828 7.678 90.634 1.00 0.00 C +ATOM 28 O GLY A 7 32.900 7.970 91.834 1.00 0.00 O +ATOM 29 N GLY A 8 32.424 8.544 89.723 1.00 0.00 N +ATOM 30 CA GLY A 8 32.118 9.904 90.137 1.00 0.00 C +ATOM 31 C GLY A 8 30.748 10.114 90.808 1.00 0.00 C +ATOM 32 O GLY A 8 30.624 11.028 91.629 1.00 0.00 O +ENDMDL +MODEL 47 +ATOM 1 N GLY A 1 38.510 -0.099 81.982 1.00 0.00 N +ATOM 2 CA GLY A 1 38.333 1.361 82.050 1.00 0.00 C +ATOM 3 C GLY A 1 37.471 1.766 83.262 1.00 0.00 C +ATOM 4 O GLY A 1 37.834 2.654 84.030 1.00 0.00 O +ATOM 5 N GLY A 2 36.349 1.055 83.446 1.00 0.00 N +ATOM 6 CA GLY A 2 35.415 1.334 84.560 1.00 0.00 C +ATOM 7 C GLY A 2 36.114 1.125 85.900 1.00 0.00 C +ATOM 8 O GLY A 2 35.877 1.850 86.852 1.00 0.00 O +ATOM 9 N GLY A 3 36.995 0.136 85.964 1.00 0.00 N +ATOM 10 CA GLY A 3 37.732 -0.084 87.189 1.00 0.00 C +ATOM 11 C GLY A 3 38.781 1.014 87.450 1.00 0.00 C +ATOM 12 O GLY A 3 39.260 1.141 88.582 1.00 0.00 O +ATOM 13 N GLY A 4 39.164 1.797 86.439 1.00 0.00 N +ATOM 14 CA GLY A 4 40.157 2.856 86.672 1.00 0.00 C +ATOM 15 C GLY A 4 39.530 4.127 87.186 1.00 0.00 C +ATOM 16 O GLY A 4 40.211 4.974 87.723 1.00 0.00 O +ATOM 17 N GLY A 5 38.225 4.259 87.013 1.00 0.00 N +ATOM 18 CA GLY A 5 37.502 5.447 87.431 1.00 0.00 C +ATOM 19 C GLY A 5 37.257 5.487 88.910 1.00 0.00 C +ATOM 20 O GLY A 5 37.016 4.466 89.577 1.00 0.00 O +ATOM 21 N GLY A 6 37.328 6.715 89.424 1.00 0.00 N +ATOM 22 CA GLY A 6 37.050 6.973 90.833 1.00 0.00 C +ATOM 23 C GLY A 6 35.549 6.674 91.058 1.00 0.00 C +ATOM 24 O GLY A 6 34.749 6.704 90.097 1.00 0.00 O +ATOM 25 N GLY A 7 35.138 6.368 92.302 1.00 0.00 N +ATOM 26 CA GLY A 7 33.715 6.077 92.503 1.00 0.00 C +ATOM 27 C GLY A 7 32.740 7.156 91.978 1.00 0.00 C +ATOM 28 O GLY A 7 31.809 6.856 91.252 1.00 0.00 O +ATOM 29 N GLY A 8 32.984 8.406 92.343 1.00 0.00 N +ATOM 30 CA GLY A 8 32.093 9.488 91.936 1.00 0.00 C +ATOM 31 C GLY A 8 31.985 9.761 90.410 1.00 0.00 C +ATOM 32 O GLY A 8 31.039 10.449 89.963 1.00 0.00 O +ENDMDL +MODEL 48 +ATOM 1 N GLY A 1 38.701 2.524 82.446 1.00 0.00 N +ATOM 2 CA GLY A 1 38.474 1.142 82.082 1.00 0.00 C +ATOM 3 C GLY A 1 37.392 0.556 82.986 1.00 0.00 C +ATOM 4 O GLY A 1 37.482 0.665 84.233 1.00 0.00 O +ATOM 5 N GLY A 2 36.361 -0.063 82.382 1.00 0.00 N +ATOM 6 CA GLY A 2 35.259 -0.682 83.135 1.00 0.00 C +ATOM 7 C GLY A 2 35.784 -1.676 84.134 1.00 0.00 C +ATOM 8 O GLY A 2 36.610 -2.493 83.798 1.00 0.00 O +ATOM 9 N GLY A 3 35.312 -1.585 85.381 1.00 0.00 N +ATOM 10 CA GLY A 3 35.838 -2.416 86.439 1.00 0.00 C +ATOM 11 C GLY A 3 36.908 -1.748 87.285 1.00 0.00 C +ATOM 12 O GLY A 3 37.189 -2.202 88.364 1.00 0.00 O +ATOM 13 N GLY A 4 37.502 -0.669 86.777 1.00 0.00 N +ATOM 14 CA GLY A 4 38.470 0.135 87.520 1.00 0.00 C +ATOM 15 C GLY A 4 37.955 1.540 87.853 1.00 0.00 C +ATOM 16 O GLY A 4 38.561 2.241 88.676 1.00 0.00 O +ATOM 17 N GLY A 5 36.816 1.931 87.270 1.00 0.00 N +ATOM 18 CA GLY A 5 36.266 3.268 87.486 1.00 0.00 C +ATOM 19 C GLY A 5 35.472 3.371 88.800 1.00 0.00 C +ATOM 20 O GLY A 5 34.627 2.522 89.090 1.00 0.00 O +ATOM 21 N GLY A 6 35.758 4.419 89.568 1.00 0.00 N +ATOM 22 CA GLY A 6 35.182 4.585 90.906 1.00 0.00 C +ATOM 23 C GLY A 6 33.726 5.026 90.825 1.00 0.00 C +ATOM 24 O GLY A 6 33.319 5.584 89.818 1.00 0.00 O +ATOM 25 N GLY A 7 32.923 4.743 91.869 1.00 0.00 N +ATOM 26 CA GLY A 7 31.510 5.142 91.923 1.00 0.00 C +ATOM 27 C GLY A 7 31.201 6.601 91.564 1.00 0.00 C +ATOM 28 O GLY A 7 30.278 6.852 90.779 1.00 0.00 O +ATOM 29 N GLY A 8 31.942 7.542 92.128 1.00 0.00 N +ATOM 30 CA GLY A 8 31.716 8.966 91.851 1.00 0.00 C +ATOM 31 C GLY A 8 31.904 9.324 90.382 1.00 0.00 C +ATOM 32 O GLY A 8 31.243 10.214 89.854 1.00 0.00 O +ENDMDL +MODEL 49 +ATOM 1 N GLY A 1 38.423 0.523 82.473 1.00 0.00 N +ATOM 2 CA GLY A 1 37.931 -0.608 83.263 1.00 0.00 C +ATOM 3 C GLY A 1 36.940 -0.095 84.280 1.00 0.00 C +ATOM 4 O GLY A 1 37.039 1.040 84.751 1.00 0.00 O +ATOM 5 N GLY A 2 36.040 -0.994 84.690 1.00 0.00 N +ATOM 6 CA GLY A 2 35.109 -0.692 85.755 1.00 0.00 C +ATOM 7 C GLY A 2 33.730 -0.326 85.281 1.00 0.00 C +ATOM 8 O GLY A 2 33.432 -0.217 84.059 1.00 0.00 O +ATOM 9 N GLY A 3 32.846 -0.101 86.255 1.00 0.00 N +ATOM 10 CA GLY A 3 31.446 0.184 85.957 1.00 0.00 C +ATOM 11 C GLY A 3 31.166 1.659 85.708 1.00 0.00 C +ATOM 12 O GLY A 3 31.761 2.544 86.341 1.00 0.00 O +ATOM 13 N GLY A 4 30.247 1.951 84.769 1.00 0.00 N +ATOM 14 CA GLY A 4 29.786 3.298 84.521 1.00 0.00 C +ATOM 15 C GLY A 4 29.247 3.901 85.808 1.00 0.00 C +ATOM 16 O GLY A 4 29.439 5.071 86.102 1.00 0.00 O +ATOM 17 N GLY A 5 28.462 3.099 86.527 1.00 0.00 N +ATOM 18 CA GLY A 5 27.715 3.604 87.693 1.00 0.00 C +ATOM 19 C GLY A 5 28.578 4.160 88.827 1.00 0.00 C +ATOM 20 O GLY A 5 28.083 4.926 89.671 1.00 0.00 O +ATOM 21 N GLY A 6 29.800 3.694 88.897 1.00 0.00 N +ATOM 22 CA GLY A 6 30.689 4.103 90.000 1.00 0.00 C +ATOM 23 C GLY A 6 31.553 5.297 89.704 1.00 0.00 C +ATOM 24 O GLY A 6 32.428 5.634 90.542 1.00 0.00 O +ATOM 25 N GLY A 7 31.304 5.998 88.580 1.00 0.00 N +ATOM 26 CA GLY A 7 32.031 7.232 88.249 1.00 0.00 C +ATOM 27 C GLY A 7 31.603 8.287 89.286 1.00 0.00 C +ATOM 28 O GLY A 7 30.450 8.367 89.677 1.00 0.00 O +ATOM 29 N GLY A 8 32.560 9.076 89.750 1.00 0.00 N +ATOM 30 CA GLY A 8 32.241 10.083 90.723 1.00 0.00 C +ATOM 31 C GLY A 8 31.910 11.370 90.051 1.00 0.00 C +ATOM 32 O GLY A 8 31.985 11.453 88.811 1.00 0.00 O +ENDMDL +MODEL 50 +ATOM 1 N GLY A 1 38.184 1.163 83.396 1.00 0.00 N +ATOM 2 CA GLY A 1 38.703 0.241 82.394 1.00 0.00 C +ATOM 3 C GLY A 1 38.151 -1.173 82.602 1.00 0.00 C +ATOM 4 O GLY A 1 37.900 -1.897 81.635 1.00 0.00 O +ATOM 5 N GLY A 2 37.976 -1.565 83.856 1.00 0.00 N +ATOM 6 CA GLY A 2 37.448 -2.891 84.202 1.00 0.00 C +ATOM 7 C GLY A 2 35.930 -2.879 84.115 1.00 0.00 C +ATOM 8 O GLY A 2 35.278 -3.936 84.168 1.00 0.00 O +ATOM 9 N GLY A 3 35.363 -1.685 83.994 1.00 0.00 N +ATOM 10 CA GLY A 3 33.922 -1.483 83.914 1.00 0.00 C +ATOM 11 C GLY A 3 33.189 -1.926 85.183 1.00 0.00 C +ATOM 12 O GLY A 3 32.098 -2.486 85.121 1.00 0.00 O +ATOM 13 N GLY A 4 33.813 -1.657 86.324 1.00 0.00 N +ATOM 14 CA GLY A 4 33.210 -1.970 87.620 1.00 0.00 C +ATOM 15 C GLY A 4 32.345 -0.758 87.986 1.00 0.00 C +ATOM 16 O GLY A 4 32.734 0.382 87.734 1.00 0.00 O +ATOM 17 N GLY A 5 31.192 -0.991 88.604 1.00 0.00 N +ATOM 18 CA GLY A 5 30.320 0.106 88.986 1.00 0.00 C +ATOM 19 C GLY A 5 30.985 1.109 89.897 1.00 0.00 C +ATOM 20 O GLY A 5 31.705 0.743 90.826 1.00 0.00 O +ATOM 21 N GLY A 6 30.738 2.383 89.629 1.00 0.00 N +ATOM 22 CA GLY A 6 31.282 3.468 90.429 1.00 0.00 C +ATOM 23 C GLY A 6 30.473 4.729 90.204 1.00 0.00 C +ATOM 24 O GLY A 6 29.827 4.905 89.164 1.00 0.00 O +ATOM 25 N GLY A 7 30.485 5.611 91.202 1.00 0.00 N +ATOM 26 CA GLY A 7 29.792 6.877 91.112 1.00 0.00 C +ATOM 27 C GLY A 7 30.806 7.947 91.496 1.00 0.00 C +ATOM 28 O GLY A 7 31.227 8.026 92.654 1.00 0.00 O +ATOM 29 N GLY A 8 31.223 8.749 90.511 1.00 0.00 N +ATOM 30 CA GLY A 8 32.187 9.833 90.737 1.00 0.00 C +ATOM 31 C GLY A 8 31.329 11.098 90.758 1.00 0.00 C +ATOM 32 O GLY A 8 30.876 11.565 89.715 1.00 0.00 O +ENDMDL +MODEL 51 +ATOM 1 N GLY A 1 38.014 1.823 82.115 1.00 0.00 N +ATOM 2 CA GLY A 1 39.063 0.799 82.064 1.00 0.00 C +ATOM 3 C GLY A 1 39.544 0.512 83.481 1.00 0.00 C +ATOM 4 O GLY A 1 39.195 1.240 84.413 1.00 0.00 O +ATOM 5 N GLY A 2 40.344 -0.530 83.652 1.00 0.00 N +ATOM 6 CA GLY A 2 40.802 -0.920 84.983 1.00 0.00 C +ATOM 7 C GLY A 2 41.777 0.034 85.671 1.00 0.00 C +ATOM 8 O GLY A 2 42.161 -0.198 86.830 1.00 0.00 O +ATOM 9 N GLY A 3 42.172 1.102 84.997 1.00 0.00 N +ATOM 10 CA GLY A 3 43.095 2.061 85.596 1.00 0.00 C +ATOM 11 C GLY A 3 42.366 3.155 86.382 1.00 0.00 C +ATOM 12 O GLY A 3 43.001 3.942 87.095 1.00 0.00 O +ATOM 13 N GLY A 4 41.046 3.215 86.279 1.00 0.00 N +ATOM 14 CA GLY A 4 40.309 4.244 86.996 1.00 0.00 C +ATOM 15 C GLY A 4 39.254 3.674 87.934 1.00 0.00 C +ATOM 16 O GLY A 4 38.783 2.550 87.769 1.00 0.00 O +ATOM 17 N GLY A 5 38.890 4.460 88.937 1.00 0.00 N +ATOM 18 CA GLY A 5 37.867 4.038 89.882 1.00 0.00 C +ATOM 19 C GLY A 5 36.541 4.169 89.157 1.00 0.00 C +ATOM 20 O GLY A 5 36.420 4.926 88.201 1.00 0.00 O +ATOM 21 N GLY A 6 35.515 3.419 89.600 1.00 0.00 N +ATOM 22 CA GLY A 6 34.216 3.524 88.940 1.00 0.00 C +ATOM 23 C GLY A 6 33.691 4.959 88.938 1.00 0.00 C +ATOM 24 O GLY A 6 34.013 5.744 89.840 1.00 0.00 O +ATOM 25 N GLY A 7 32.888 5.327 87.934 1.00 0.00 N +ATOM 26 CA GLY A 7 32.341 6.686 87.856 1.00 0.00 C +ATOM 27 C GLY A 7 31.538 7.033 89.100 1.00 0.00 C +ATOM 28 O GLY A 7 30.686 6.262 89.539 1.00 0.00 O +ATOM 29 N GLY A 8 31.800 8.205 89.675 1.00 0.00 N +ATOM 30 CA GLY A 8 31.088 8.609 90.876 1.00 0.00 C +ATOM 31 C GLY A 8 30.589 10.055 90.863 1.00 0.00 C +ATOM 32 O GLY A 8 31.131 10.929 90.203 1.00 0.00 O +ENDMDL +MODEL 52 +ATOM 1 N GLY A 1 38.035 -0.676 81.845 1.00 0.00 N +ATOM 2 CA GLY A 1 37.256 -0.967 83.032 1.00 0.00 C +ATOM 3 C GLY A 1 36.862 0.321 83.700 1.00 0.00 C +ATOM 4 O GLY A 1 37.693 1.058 84.180 1.00 0.00 O +ATOM 5 N GLY A 2 35.565 0.606 83.670 1.00 0.00 N +ATOM 6 CA GLY A 2 35.061 1.797 84.295 1.00 0.00 C +ATOM 7 C GLY A 2 34.430 1.468 85.668 1.00 0.00 C +ATOM 8 O GLY A 2 33.444 0.717 85.754 1.00 0.00 O +ATOM 9 N GLY A 3 35.005 2.048 86.726 1.00 0.00 N +ATOM 10 CA GLY A 3 34.501 1.897 88.113 1.00 0.00 C +ATOM 11 C GLY A 3 33.492 2.995 88.453 1.00 0.00 C +ATOM 12 O GLY A 3 33.407 3.993 87.764 1.00 0.00 O +ATOM 13 N GLY A 4 32.745 2.797 89.517 1.00 0.00 N +ATOM 14 CA GLY A 4 31.845 3.831 90.045 1.00 0.00 C +ATOM 15 C GLY A 4 32.576 5.138 90.333 1.00 0.00 C +ATOM 16 O GLY A 4 32.101 6.218 89.989 1.00 0.00 O +ATOM 17 N GLY A 5 33.757 5.037 90.958 1.00 0.00 N +ATOM 18 CA GLY A 5 34.569 6.223 91.224 1.00 0.00 C +ATOM 19 C GLY A 5 34.944 6.983 89.950 1.00 0.00 C +ATOM 20 O GLY A 5 34.983 8.210 89.960 1.00 0.00 O +ATOM 21 N GLY A 6 35.119 6.274 88.819 1.00 0.00 N +ATOM 22 CA GLY A 6 35.502 6.934 87.568 1.00 0.00 C +ATOM 23 C GLY A 6 34.349 7.818 87.110 1.00 0.00 C +ATOM 24 O GLY A 6 34.550 8.908 86.586 1.00 0.00 O +ATOM 25 N GLY A 7 33.144 7.281 87.291 1.00 0.00 N +ATOM 26 CA GLY A 7 31.883 7.940 86.941 1.00 0.00 C +ATOM 27 C GLY A 7 31.599 9.195 87.762 1.00 0.00 C +ATOM 28 O GLY A 7 30.916 10.184 87.271 1.00 0.00 O +ATOM 29 N GLY A 8 32.118 9.244 88.995 1.00 0.00 N +ATOM 30 CA GLY A 8 31.781 10.303 89.963 1.00 0.00 C +ATOM 31 C GLY A 8 32.851 11.402 90.144 1.00 0.00 C +ATOM 32 O GLY A 8 32.644 12.344 90.918 1.00 0.00 O +ENDMDL +MODEL 53 +ATOM 1 N GLY A 1 39.380 0.420 83.735 1.00 0.00 N +ATOM 2 CA GLY A 1 38.555 0.224 82.551 1.00 0.00 C +ATOM 3 C GLY A 1 37.208 0.962 82.519 1.00 0.00 C +ATOM 4 O GLY A 1 36.653 1.164 81.432 1.00 0.00 O +ATOM 5 N GLY A 2 36.689 1.363 83.673 1.00 0.00 N +ATOM 6 CA GLY A 2 35.400 2.057 83.738 1.00 0.00 C +ATOM 7 C GLY A 2 35.374 3.202 82.730 1.00 0.00 C +ATOM 8 O GLY A 2 36.328 3.977 82.642 1.00 0.00 O +ATOM 9 N GLY A 3 34.297 3.309 81.928 1.00 0.00 N +ATOM 10 CA GLY A 3 34.123 4.342 80.901 1.00 0.00 C +ATOM 11 C GLY A 3 34.286 5.771 81.404 1.00 0.00 C +ATOM 12 O GLY A 3 34.730 6.648 80.664 1.00 0.00 O +ATOM 13 N GLY A 4 33.886 6.007 82.657 1.00 0.00 N +ATOM 14 CA GLY A 4 33.973 7.323 83.265 1.00 0.00 C +ATOM 15 C GLY A 4 34.872 7.253 84.487 1.00 0.00 C +ATOM 16 O GLY A 4 35.563 6.256 84.713 1.00 0.00 O +ATOM 17 N GLY A 5 34.901 8.329 85.269 1.00 0.00 N +ATOM 18 CA GLY A 5 35.697 8.340 86.490 1.00 0.00 C +ATOM 19 C GLY A 5 34.843 7.612 87.514 1.00 0.00 C +ATOM 20 O GLY A 5 33.760 8.088 87.869 1.00 0.00 O +ATOM 21 N GLY A 6 35.313 6.463 87.993 1.00 0.00 N +ATOM 22 CA GLY A 6 34.546 5.694 88.983 1.00 0.00 C +ATOM 23 C GLY A 6 34.300 6.448 90.300 1.00 0.00 C +ATOM 24 O GLY A 6 33.400 6.092 91.064 1.00 0.00 O +ATOM 25 N GLY A 7 35.064 7.517 90.528 1.00 0.00 N +ATOM 26 CA GLY A 7 34.930 8.321 91.742 1.00 0.00 C +ATOM 27 C GLY A 7 34.125 9.604 91.483 1.00 0.00 C +ATOM 28 O GLY A 7 34.169 10.531 92.285 1.00 0.00 O +ATOM 29 N GLY A 8 33.418 9.650 90.355 1.00 0.00 N +ATOM 30 CA GLY A 8 32.603 10.801 89.979 1.00 0.00 C +ATOM 31 C GLY A 8 31.216 10.605 90.604 1.00 0.00 C +ATOM 32 O GLY A 8 30.468 9.715 90.215 1.00 0.00 O +ENDMDL +MODEL 54 +ATOM 1 N GLY A 1 37.664 1.038 81.407 1.00 0.00 N +ATOM 2 CA GLY A 1 38.496 0.429 82.457 1.00 0.00 C +ATOM 3 C GLY A 1 38.084 0.844 83.862 1.00 0.00 C +ATOM 4 O GLY A 1 38.098 0.033 84.783 1.00 0.00 O +ATOM 5 N GLY A 2 37.734 2.111 84.033 1.00 0.00 N +ATOM 6 CA GLY A 2 37.510 2.626 85.390 1.00 0.00 C +ATOM 7 C GLY A 2 36.135 3.213 85.616 1.00 0.00 C +ATOM 8 O GLY A 2 35.504 2.908 86.634 1.00 0.00 O +ATOM 9 N GLY A 3 35.695 4.099 84.721 1.00 0.00 N +ATOM 10 CA GLY A 3 34.516 4.918 84.998 1.00 0.00 C +ATOM 11 C GLY A 3 33.176 4.196 84.909 1.00 0.00 C +ATOM 12 O GLY A 3 32.222 4.643 85.515 1.00 0.00 O +ATOM 13 N GLY A 4 33.121 3.082 84.177 1.00 0.00 N +ATOM 14 CA GLY A 4 31.914 2.261 84.160 1.00 0.00 C +ATOM 15 C GLY A 4 31.596 1.708 85.559 1.00 0.00 C +ATOM 16 O GLY A 4 30.425 1.640 85.953 1.00 0.00 O +ATOM 17 N GLY A 5 32.635 1.353 86.308 1.00 0.00 N +ATOM 18 CA GLY A 5 32.508 0.983 87.717 1.00 0.00 C +ATOM 19 C GLY A 5 32.431 2.223 88.628 1.00 0.00 C +ATOM 20 O GLY A 5 31.683 2.227 89.609 1.00 0.00 O +ATOM 21 N GLY A 6 33.211 3.260 88.322 1.00 0.00 N +ATOM 22 CA GLY A 6 33.310 4.421 89.209 1.00 0.00 C +ATOM 23 C GLY A 6 32.506 5.613 88.657 1.00 0.00 C +ATOM 24 O GLY A 6 33.073 6.621 88.217 1.00 0.00 O +ATOM 25 N GLY A 7 31.177 5.488 88.701 1.00 0.00 N +ATOM 26 CA GLY A 7 30.244 6.471 88.118 1.00 0.00 C +ATOM 27 C GLY A 7 30.322 7.857 88.752 1.00 0.00 C +ATOM 28 O GLY A 7 29.944 8.864 88.142 1.00 0.00 O +ATOM 29 N GLY A 8 30.821 7.905 89.984 1.00 0.00 N +ATOM 30 CA GLY A 8 30.921 9.148 90.765 1.00 0.00 C +ATOM 31 C GLY A 8 32.075 10.059 90.327 1.00 0.00 C +ATOM 32 O GLY A 8 32.189 11.208 90.783 1.00 0.00 O +ENDMDL +MODEL 55 +ATOM 1 N GLY A 1 38.228 0.952 81.047 1.00 0.00 N +ATOM 2 CA GLY A 1 37.631 1.889 82.004 1.00 0.00 C +ATOM 3 C GLY A 1 37.280 1.204 83.313 1.00 0.00 C +ATOM 4 O GLY A 1 36.967 0.015 83.342 1.00 0.00 O +ATOM 5 N GLY A 2 37.320 1.979 84.393 1.00 0.00 N +ATOM 6 CA GLY A 2 36.989 1.467 85.719 1.00 0.00 C +ATOM 7 C GLY A 2 35.513 1.057 85.725 1.00 0.00 C +ATOM 8 O GLY A 2 34.726 1.527 84.906 1.00 0.00 O +ATOM 9 N GLY A 3 35.162 0.182 86.653 1.00 0.00 N +ATOM 10 CA GLY A 3 33.792 -0.298 86.771 1.00 0.00 C +ATOM 11 C GLY A 3 33.155 0.177 88.064 1.00 0.00 C +ATOM 12 O GLY A 3 31.954 0.008 88.281 1.00 0.00 O +ATOM 13 N GLY A 4 33.978 0.773 88.915 1.00 0.00 N +ATOM 14 CA GLY A 4 33.516 1.283 90.205 1.00 0.00 C +ATOM 15 C GLY A 4 32.495 2.401 90.005 1.00 0.00 C +ATOM 16 O GLY A 4 32.492 3.074 88.964 1.00 0.00 O +ATOM 17 N GLY A 5 31.638 2.610 91.004 1.00 0.00 N +ATOM 18 CA GLY A 5 30.594 3.620 90.892 1.00 0.00 C +ATOM 19 C GLY A 5 30.368 4.477 92.128 1.00 0.00 C +ATOM 20 O GLY A 5 29.785 5.563 92.044 1.00 0.00 O +ATOM 21 N GLY A 6 30.799 3.993 93.291 1.00 0.00 N +ATOM 22 CA GLY A 6 30.603 4.749 94.523 1.00 0.00 C +ATOM 23 C GLY A 6 31.407 6.038 94.597 1.00 0.00 C +ATOM 24 O GLY A 6 32.456 6.177 93.966 1.00 0.00 O +ATOM 25 N GLY A 7 30.887 6.969 95.373 1.00 0.00 N +ATOM 26 CA GLY A 7 31.512 8.271 95.610 1.00 0.00 C +ATOM 27 C GLY A 7 32.050 9.007 94.393 1.00 0.00 C +ATOM 28 O GLY A 7 33.191 9.445 94.369 1.00 0.00 O +ATOM 29 N GLY A 8 31.196 9.155 93.382 1.00 0.00 N +ATOM 30 CA GLY A 8 31.571 9.880 92.181 1.00 0.00 C +ATOM 31 C GLY A 8 32.260 9.118 91.069 1.00 0.00 C +ATOM 32 O GLY A 8 32.461 9.684 89.988 1.00 0.00 O +ENDMDL +MODEL 56 +ATOM 1 N GLY A 1 38.796 2.120 82.098 1.00 0.00 N +ATOM 2 CA GLY A 1 38.931 0.723 82.487 1.00 0.00 C +ATOM 3 C GLY A 1 38.010 0.438 83.675 1.00 0.00 C +ATOM 4 O GLY A 1 37.672 -0.712 83.926 1.00 0.00 O +ATOM 5 N GLY A 2 37.612 1.481 84.391 1.00 0.00 N +ATOM 6 CA GLY A 2 36.662 1.394 85.485 1.00 0.00 C +ATOM 7 C GLY A 2 35.216 1.444 85.019 1.00 0.00 C +ATOM 8 O GLY A 2 34.869 2.334 84.225 1.00 0.00 O +ATOM 9 N GLY A 3 34.320 0.582 85.467 1.00 0.00 N +ATOM 10 CA GLY A 3 32.892 0.712 85.145 1.00 0.00 C +ATOM 11 C GLY A 3 32.315 2.057 85.583 1.00 0.00 C +ATOM 12 O GLY A 3 32.574 2.552 86.683 1.00 0.00 O +ATOM 13 N GLY A 4 31.529 2.652 84.694 1.00 0.00 N +ATOM 14 CA GLY A 4 30.885 3.959 84.859 1.00 0.00 C +ATOM 15 C GLY A 4 30.237 4.109 86.225 1.00 0.00 C +ATOM 16 O GLY A 4 30.196 5.155 86.874 1.00 0.00 O +ATOM 17 N GLY A 5 29.707 2.993 86.694 1.00 0.00 N +ATOM 18 CA GLY A 5 29.031 2.899 87.971 1.00 0.00 C +ATOM 19 C GLY A 5 29.965 2.561 89.126 1.00 0.00 C +ATOM 20 O GLY A 5 29.437 2.395 90.218 1.00 0.00 O +ATOM 21 N GLY A 6 31.268 2.408 88.925 1.00 0.00 N +ATOM 22 CA GLY A 6 32.154 1.888 89.959 1.00 0.00 C +ATOM 23 C GLY A 6 32.680 2.991 90.847 1.00 0.00 C +ATOM 24 O GLY A 6 33.148 2.716 91.959 1.00 0.00 O +ATOM 25 N GLY A 7 32.548 4.235 90.402 1.00 0.00 N +ATOM 26 CA GLY A 7 32.921 5.450 91.117 1.00 0.00 C +ATOM 27 C GLY A 7 31.852 6.515 90.920 1.00 0.00 C +ATOM 28 O GLY A 7 30.904 6.180 90.201 1.00 0.00 O +ATOM 29 N GLY A 8 31.927 7.708 91.454 1.00 0.00 N +ATOM 30 CA GLY A 8 31.001 8.799 91.207 1.00 0.00 C +ATOM 31 C GLY A 8 31.559 9.754 90.136 1.00 0.00 C +ATOM 32 O GLY A 8 31.132 10.892 89.998 1.00 0.00 O +ENDMDL +MODEL 57 +ATOM 1 N GLY A 1 38.632 1.099 81.688 1.00 0.00 N +ATOM 2 CA GLY A 1 38.819 -0.082 82.545 1.00 0.00 C +ATOM 3 C GLY A 1 37.847 -0.160 83.718 1.00 0.00 C +ATOM 4 O GLY A 1 37.387 -1.252 84.085 1.00 0.00 O +ATOM 5 N GLY A 2 37.554 0.988 84.318 1.00 0.00 N +ATOM 6 CA GLY A 2 36.874 1.004 85.614 1.00 0.00 C +ATOM 7 C GLY A 2 35.796 2.070 85.762 1.00 0.00 C +ATOM 8 O GLY A 2 35.773 3.042 85.014 1.00 0.00 O +ATOM 9 N GLY A 3 34.917 1.852 86.725 1.00 0.00 N +ATOM 10 CA GLY A 3 33.956 2.853 87.195 1.00 0.00 C +ATOM 11 C GLY A 3 34.035 2.940 88.718 1.00 0.00 C +ATOM 12 O GLY A 3 34.584 2.036 89.375 1.00 0.00 O +ATOM 13 N GLY A 4 33.492 4.004 89.288 1.00 0.00 N +ATOM 14 CA GLY A 4 33.424 4.135 90.745 1.00 0.00 C +ATOM 15 C GLY A 4 32.192 3.449 91.316 1.00 0.00 C +ATOM 16 O GLY A 4 31.084 3.594 90.789 1.00 0.00 O +ATOM 17 N GLY A 5 32.376 2.692 92.397 1.00 0.00 N +ATOM 18 CA GLY A 5 31.256 2.097 93.111 1.00 0.00 C +ATOM 19 C GLY A 5 30.407 3.224 93.684 1.00 0.00 C +ATOM 20 O GLY A 5 30.903 4.059 94.448 1.00 0.00 O +ATOM 21 N GLY A 6 29.135 3.270 93.290 1.00 0.00 N +ATOM 22 CA GLY A 6 28.229 4.304 93.763 1.00 0.00 C +ATOM 23 C GLY A 6 28.136 5.550 92.902 1.00 0.00 C +ATOM 24 O GLY A 6 27.324 6.425 93.191 1.00 0.00 O +ATOM 25 N GLY A 7 28.968 5.641 91.867 1.00 0.00 N +ATOM 26 CA GLY A 7 28.896 6.747 90.886 1.00 0.00 C +ATOM 27 C GLY A 7 29.969 7.806 91.057 1.00 0.00 C +ATOM 28 O GLY A 7 30.441 8.041 92.175 1.00 0.00 O +ATOM 29 N GLY A 8 30.330 8.459 89.948 1.00 0.00 N +ATOM 30 CA GLY A 8 31.394 9.488 89.969 1.00 0.00 C +ATOM 31 C GLY A 8 30.946 10.791 90.622 1.00 0.00 C +ATOM 32 O GLY A 8 31.791 11.589 91.061 1.00 0.00 O +ENDMDL +MODEL 58 +ATOM 1 N GLY A 1 38.254 -0.499 83.354 1.00 0.00 N +ATOM 2 CA GLY A 1 36.868 -0.171 83.098 1.00 0.00 C +ATOM 3 C GLY A 1 36.342 0.763 84.177 1.00 0.00 C +ATOM 4 O GLY A 1 36.439 0.439 85.363 1.00 0.00 O +ATOM 5 N GLY A 2 35.805 1.914 83.795 1.00 0.00 N +ATOM 6 CA GLY A 2 35.223 2.884 84.725 1.00 0.00 C +ATOM 7 C GLY A 2 33.706 2.726 84.744 1.00 0.00 C +ATOM 8 O GLY A 2 33.044 2.616 83.684 1.00 0.00 O +ATOM 9 N GLY A 3 33.096 2.691 85.916 1.00 0.00 N +ATOM 10 CA GLY A 3 31.605 2.607 85.984 1.00 0.00 C +ATOM 11 C GLY A 3 31.147 4.028 85.647 1.00 0.00 C +ATOM 12 O GLY A 3 31.258 4.911 86.539 1.00 0.00 O +ATOM 13 N GLY A 4 30.718 4.270 84.393 1.00 0.00 N +ATOM 14 CA GLY A 4 30.382 5.632 83.963 1.00 0.00 C +ATOM 15 C GLY A 4 29.188 6.254 84.664 1.00 0.00 C +ATOM 16 O GLY A 4 28.978 7.470 84.653 1.00 0.00 O +ATOM 17 N GLY A 5 28.325 5.440 85.272 1.00 0.00 N +ATOM 18 CA GLY A 5 27.155 5.888 85.980 1.00 0.00 C +ATOM 19 C GLY A 5 27.365 6.147 87.445 1.00 0.00 C +ATOM 20 O GLY A 5 26.442 6.620 88.130 1.00 0.00 O +ATOM 21 N GLY A 6 28.539 5.893 88.014 1.00 0.00 N +ATOM 22 CA GLY A 6 28.746 6.076 89.452 1.00 0.00 C +ATOM 23 C GLY A 6 29.604 7.275 89.761 1.00 0.00 C +ATOM 24 O GLY A 6 30.745 7.448 89.368 1.00 0.00 O +ATOM 25 N GLY A 7 29.022 8.175 90.577 1.00 0.00 N +ATOM 26 CA GLY A 7 29.712 9.405 91.011 1.00 0.00 C +ATOM 27 C GLY A 7 30.908 9.017 91.859 1.00 0.00 C +ATOM 28 O GLY A 7 30.826 8.126 92.665 1.00 0.00 O +ATOM 29 N GLY A 8 32.004 9.704 91.698 1.00 0.00 N +ATOM 30 CA GLY A 8 32.200 10.817 90.819 1.00 0.00 C +ATOM 31 C GLY A 8 32.678 10.450 89.431 1.00 0.00 C +ATOM 32 O GLY A 8 33.089 11.366 88.722 1.00 0.00 O +ENDMDL +MODEL 59 +ATOM 1 N GLY A 1 39.206 -0.938 83.320 1.00 0.00 N +ATOM 2 CA GLY A 1 38.373 0.258 83.318 1.00 0.00 C +ATOM 3 C GLY A 1 37.866 0.381 84.752 1.00 0.00 C +ATOM 4 O GLY A 1 37.238 -0.548 85.258 1.00 0.00 O +ATOM 5 N GLY A 2 38.148 1.490 85.403 1.00 0.00 N +ATOM 6 CA GLY A 2 37.719 1.651 86.785 1.00 0.00 C +ATOM 7 C GLY A 2 37.143 3.010 87.142 1.00 0.00 C +ATOM 8 O GLY A 2 37.617 4.045 86.688 1.00 0.00 O +ATOM 9 N GLY A 3 36.123 2.977 87.987 1.00 0.00 N +ATOM 10 CA GLY A 3 35.421 4.158 88.456 1.00 0.00 C +ATOM 11 C GLY A 3 35.673 4.306 89.955 1.00 0.00 C +ATOM 12 O GLY A 3 36.138 3.371 90.595 1.00 0.00 O +ATOM 13 N GLY A 4 35.363 5.475 90.519 1.00 0.00 N +ATOM 14 CA GLY A 4 35.536 5.642 91.952 1.00 0.00 C +ATOM 15 C GLY A 4 34.352 4.933 92.625 1.00 0.00 C +ATOM 16 O GLY A 4 33.438 4.448 91.934 1.00 0.00 O +ATOM 17 N GLY A 5 34.351 4.852 93.954 1.00 0.00 N +ATOM 18 CA GLY A 5 33.268 4.156 94.662 1.00 0.00 C +ATOM 19 C GLY A 5 31.856 4.551 94.267 1.00 0.00 C +ATOM 20 O GLY A 5 30.958 3.714 94.272 1.00 0.00 O +ATOM 21 N GLY A 6 31.658 5.813 93.923 1.00 0.00 N +ATOM 22 CA GLY A 6 30.331 6.278 93.564 1.00 0.00 C +ATOM 23 C GLY A 6 30.144 6.525 92.071 1.00 0.00 C +ATOM 24 O GLY A 6 29.068 6.968 91.654 1.00 0.00 O +ATOM 25 N GLY A 7 31.167 6.238 91.280 1.00 0.00 N +ATOM 26 CA GLY A 7 31.068 6.488 89.851 1.00 0.00 C +ATOM 27 C GLY A 7 30.788 7.967 89.643 1.00 0.00 C +ATOM 28 O GLY A 7 30.048 8.346 88.720 1.00 0.00 O +ATOM 29 N GLY A 8 31.378 8.800 90.489 1.00 0.00 N +ATOM 30 CA GLY A 8 31.149 10.242 90.404 1.00 0.00 C +ATOM 31 C GLY A 8 31.648 10.856 89.105 1.00 0.00 C +ATOM 32 O GLY A 8 31.188 11.926 88.703 1.00 0.00 O +ENDMDL +MODEL 60 +ATOM 1 N GLY A 1 38.605 -0.705 81.438 1.00 0.00 N +ATOM 2 CA GLY A 1 39.046 0.334 82.369 1.00 0.00 C +ATOM 3 C GLY A 1 37.822 0.727 83.183 1.00 0.00 C +ATOM 4 O GLY A 1 36.938 1.420 82.692 1.00 0.00 O +ATOM 5 N GLY A 2 37.797 0.284 84.427 1.00 0.00 N +ATOM 6 CA GLY A 2 36.673 0.565 85.298 1.00 0.00 C +ATOM 7 C GLY A 2 36.709 1.908 86.012 1.00 0.00 C +ATOM 8 O GLY A 2 37.758 2.445 86.359 1.00 0.00 O +ATOM 9 N GLY A 3 35.515 2.452 86.200 1.00 0.00 N +ATOM 10 CA GLY A 3 35.318 3.710 86.895 1.00 0.00 C +ATOM 11 C GLY A 3 34.336 3.331 88.007 1.00 0.00 C +ATOM 12 O GLY A 3 33.403 2.556 87.764 1.00 0.00 O +ATOM 13 N GLY A 4 34.537 3.831 89.217 1.00 0.00 N +ATOM 14 CA GLY A 4 33.645 3.453 90.305 1.00 0.00 C +ATOM 15 C GLY A 4 32.789 4.589 90.858 1.00 0.00 C +ATOM 16 O GLY A 4 32.982 5.758 90.528 1.00 0.00 O +ATOM 17 N GLY A 5 31.847 4.203 91.718 1.00 0.00 N +ATOM 18 CA GLY A 5 30.908 5.114 92.350 1.00 0.00 C +ATOM 19 C GLY A 5 31.593 6.262 93.091 1.00 0.00 C +ATOM 20 O GLY A 5 31.072 7.373 93.126 1.00 0.00 O +ATOM 21 N GLY A 6 32.759 5.995 93.674 1.00 0.00 N +ATOM 22 CA GLY A 6 33.503 7.019 94.413 1.00 0.00 C +ATOM 23 C GLY A 6 34.131 8.069 93.498 1.00 0.00 C +ATOM 24 O GLY A 6 34.204 9.238 93.859 1.00 0.00 O +ATOM 25 N GLY A 7 34.604 7.646 92.320 1.00 0.00 N +ATOM 26 CA GLY A 7 35.183 8.581 91.364 1.00 0.00 C +ATOM 27 C GLY A 7 34.081 9.534 90.912 1.00 0.00 C +ATOM 28 O GLY A 7 34.310 10.731 90.742 1.00 0.00 O +ATOM 29 N GLY A 8 32.891 8.985 90.708 1.00 0.00 N +ATOM 30 CA GLY A 8 31.730 9.750 90.268 1.00 0.00 C +ATOM 31 C GLY A 8 31.320 10.750 91.328 1.00 0.00 C +ATOM 32 O GLY A 8 30.908 11.870 91.016 1.00 0.00 O +ENDMDL +MODEL 61 +ATOM 1 N GLY A 1 39.222 2.594 82.608 1.00 0.00 N +ATOM 2 CA GLY A 1 38.824 1.304 82.039 1.00 0.00 C +ATOM 3 C GLY A 1 37.582 0.778 82.752 1.00 0.00 C +ATOM 4 O GLY A 1 36.582 0.469 82.114 1.00 0.00 O +ATOM 5 N GLY A 2 37.648 0.674 84.081 1.00 0.00 N +ATOM 6 CA GLY A 2 36.522 0.220 84.880 1.00 0.00 C +ATOM 7 C GLY A 2 36.218 1.293 85.919 1.00 0.00 C +ATOM 8 O GLY A 2 37.115 2.013 86.370 1.00 0.00 O +ATOM 9 N GLY A 3 34.943 1.407 86.301 1.00 0.00 N +ATOM 10 CA GLY A 3 34.527 2.448 87.225 1.00 0.00 C +ATOM 11 C GLY A 3 34.742 2.239 88.708 1.00 0.00 C +ATOM 12 O GLY A 3 34.354 3.072 89.521 1.00 0.00 O +ATOM 13 N GLY A 4 35.371 1.120 89.077 1.00 0.00 N +ATOM 14 CA GLY A 4 35.666 0.889 90.487 1.00 0.00 C +ATOM 15 C GLY A 4 36.845 1.811 90.735 1.00 0.00 C +ATOM 16 O GLY A 4 37.168 2.147 91.872 1.00 0.00 O +ATOM 17 N GLY A 5 37.468 2.241 89.637 1.00 0.00 N +ATOM 18 CA GLY A 5 38.609 3.148 89.657 1.00 0.00 C +ATOM 19 C GLY A 5 38.190 4.602 89.888 1.00 0.00 C +ATOM 20 O GLY A 5 39.037 5.447 90.180 1.00 0.00 O +ATOM 21 N GLY A 6 36.905 4.886 89.740 1.00 0.00 N +ATOM 22 CA GLY A 6 36.365 6.235 89.937 1.00 0.00 C +ATOM 23 C GLY A 6 34.884 6.076 90.209 1.00 0.00 C +ATOM 24 O GLY A 6 34.034 6.447 89.381 1.00 0.00 O +ATOM 25 N GLY A 7 34.537 5.545 91.386 1.00 0.00 N +ATOM 26 CA GLY A 7 33.163 5.296 91.824 1.00 0.00 C +ATOM 27 C GLY A 7 32.169 6.446 91.740 1.00 0.00 C +ATOM 28 O GLY A 7 30.970 6.206 91.570 1.00 0.00 O +ATOM 29 N GLY A 8 32.635 7.683 91.866 1.00 0.00 N +ATOM 30 CA GLY A 8 31.732 8.843 91.808 1.00 0.00 C +ATOM 31 C GLY A 8 31.455 9.176 90.357 1.00 0.00 C +ATOM 32 O GLY A 8 30.615 10.031 90.038 1.00 0.00 O +ENDMDL +MODEL 62 +ATOM 1 N GLY A 1 39.731 0.494 81.927 1.00 0.00 N +ATOM 2 CA GLY A 1 39.269 -0.046 83.188 1.00 0.00 C +ATOM 3 C GLY A 1 38.227 0.762 83.936 1.00 0.00 C +ATOM 4 O GLY A 1 37.555 1.628 83.366 1.00 0.00 O +ATOM 5 N GLY A 2 38.118 0.485 85.234 1.00 0.00 N +ATOM 6 CA GLY A 2 37.097 1.077 86.105 1.00 0.00 C +ATOM 7 C GLY A 2 37.452 2.522 86.504 1.00 0.00 C +ATOM 8 O GLY A 2 36.596 3.315 86.870 1.00 0.00 O +ATOM 9 N GLY A 3 38.767 2.810 86.469 1.00 0.00 N +ATOM 10 CA GLY A 3 39.225 4.192 86.657 1.00 0.00 C +ATOM 11 C GLY A 3 38.554 4.878 87.856 1.00 0.00 C +ATOM 12 O GLY A 3 37.803 5.829 87.710 1.00 0.00 O +ATOM 13 N GLY A 4 38.861 4.279 89.014 1.00 0.00 N +ATOM 14 CA GLY A 4 38.271 4.708 90.291 1.00 0.00 C +ATOM 15 C GLY A 4 38.363 6.192 90.660 1.00 0.00 C +ATOM 16 O GLY A 4 37.469 6.705 91.317 1.00 0.00 O +ATOM 17 N GLY A 5 39.413 6.882 90.216 1.00 0.00 N +ATOM 18 CA GLY A 5 39.545 8.290 90.554 1.00 0.00 C +ATOM 19 C GLY A 5 38.550 9.183 89.814 1.00 0.00 C +ATOM 20 O GLY A 5 38.417 10.362 90.149 1.00 0.00 O +ATOM 21 N GLY A 6 37.846 8.621 88.840 1.00 0.00 N +ATOM 22 CA GLY A 6 36.862 9.397 88.082 1.00 0.00 C +ATOM 23 C GLY A 6 35.441 8.928 88.341 1.00 0.00 C +ATOM 24 O GLY A 6 34.482 9.595 87.970 1.00 0.00 O +ATOM 25 N GLY A 7 35.305 7.771 88.986 1.00 0.00 N +ATOM 26 CA GLY A 7 33.972 7.228 89.262 1.00 0.00 C +ATOM 27 C GLY A 7 33.080 8.199 90.016 1.00 0.00 C +ATOM 28 O GLY A 7 33.496 8.790 91.025 1.00 0.00 O +ATOM 29 N GLY A 8 31.862 8.369 89.517 1.00 0.00 N +ATOM 30 CA GLY A 8 30.900 9.248 90.160 1.00 0.00 C +ATOM 31 C GLY A 8 31.080 10.744 89.977 1.00 0.00 C +ATOM 32 O GLY A 8 30.222 11.524 90.414 1.00 0.00 O +ENDMDL +MODEL 63 +ATOM 1 N GLY A 1 38.279 0.586 81.977 1.00 0.00 N +ATOM 2 CA GLY A 1 38.778 1.851 82.504 1.00 0.00 C +ATOM 3 C GLY A 1 37.748 2.418 83.473 1.00 0.00 C +ATOM 4 O GLY A 1 36.547 2.421 83.177 1.00 0.00 O +ATOM 5 N GLY A 2 38.208 2.879 84.640 1.00 0.00 N +ATOM 6 CA GLY A 2 37.354 3.605 85.592 1.00 0.00 C +ATOM 7 C GLY A 2 37.050 5.015 85.101 1.00 0.00 C +ATOM 8 O GLY A 2 37.924 5.686 84.538 1.00 0.00 O +ATOM 9 N GLY A 3 35.809 5.469 85.314 1.00 0.00 N +ATOM 10 CA GLY A 3 35.359 6.802 84.892 1.00 0.00 C +ATOM 11 C GLY A 3 35.078 7.700 86.081 1.00 0.00 C +ATOM 12 O GLY A 3 34.779 7.209 87.169 1.00 0.00 O +ATOM 13 N GLY A 4 35.214 9.014 85.882 1.00 0.00 N +ATOM 14 CA GLY A 4 35.009 9.999 86.960 1.00 0.00 C +ATOM 15 C GLY A 4 33.936 11.053 86.662 1.00 0.00 C +ATOM 16 O GLY A 4 33.788 11.494 85.516 1.00 0.00 O +ATOM 17 N GLY A 5 33.206 11.427 87.698 1.00 0.00 N +ATOM 18 CA GLY A 5 32.267 12.555 87.636 1.00 0.00 C +ATOM 19 C GLY A 5 32.147 13.146 89.034 1.00 0.00 C +ATOM 20 O GLY A 5 32.522 12.493 90.019 1.00 0.00 O +ATOM 21 N GLY A 6 31.644 14.402 89.152 1.00 0.00 N +ATOM 22 CA GLY A 6 31.269 14.941 90.466 1.00 0.00 C +ATOM 23 C GLY A 6 30.434 13.934 91.290 1.00 0.00 C +ATOM 24 O GLY A 6 30.741 13.689 92.469 1.00 0.00 O +ATOM 25 N GLY A 7 29.432 13.325 90.649 1.00 0.00 N +ATOM 26 CA GLY A 7 28.513 12.395 91.301 1.00 0.00 C +ATOM 27 C GLY A 7 29.084 10.989 91.574 1.00 0.00 C +ATOM 28 O GLY A 7 28.334 10.080 91.914 1.00 0.00 O +ATOM 29 N GLY A 8 30.398 10.825 91.422 1.00 0.00 N +ATOM 30 CA GLY A 8 31.058 9.532 91.708 1.00 0.00 C +ATOM 31 C GLY A 8 31.728 8.867 90.510 1.00 0.00 C +ATOM 32 O GLY A 8 31.838 9.473 89.430 1.00 0.00 O +ENDMDL +MODEL 64 +ATOM 1 N GLY A 1 39.045 0.158 82.105 1.00 0.00 N +ATOM 2 CA GLY A 1 37.783 -0.494 82.330 1.00 0.00 C +ATOM 3 C GLY A 1 36.946 0.182 83.389 1.00 0.00 C +ATOM 4 O GLY A 1 35.741 -0.001 83.433 1.00 0.00 O +ATOM 5 N GLY A 2 37.585 0.818 84.349 1.00 0.00 N +ATOM 6 CA GLY A 2 36.805 1.352 85.463 1.00 0.00 C +ATOM 7 C GLY A 2 36.195 2.766 85.225 1.00 0.00 C +ATOM 8 O GLY A 2 35.365 3.135 86.032 1.00 0.00 O +ATOM 9 N GLY A 3 36.769 3.595 84.312 1.00 0.00 N +ATOM 10 CA GLY A 3 36.206 4.913 83.990 1.00 0.00 C +ATOM 11 C GLY A 3 35.999 5.706 85.263 1.00 0.00 C +ATOM 12 O GLY A 3 34.922 6.248 85.523 1.00 0.00 O +ATOM 13 N GLY A 4 36.995 5.605 86.156 1.00 0.00 N +ATOM 14 CA GLY A 4 36.873 6.137 87.453 1.00 0.00 C +ATOM 15 C GLY A 4 36.328 7.564 87.529 1.00 0.00 C +ATOM 16 O GLY A 4 35.478 7.825 88.373 1.00 0.00 O +ATOM 17 N GLY A 5 36.949 8.513 86.777 1.00 0.00 N +ATOM 18 CA GLY A 5 36.537 9.919 86.848 1.00 0.00 C +ATOM 19 C GLY A 5 35.112 10.092 86.365 1.00 0.00 C +ATOM 20 O GLY A 5 34.326 10.868 86.954 1.00 0.00 O +ATOM 21 N GLY A 6 34.748 9.392 85.318 1.00 0.00 N +ATOM 22 CA GLY A 6 33.362 9.441 84.913 1.00 0.00 C +ATOM 23 C GLY A 6 32.462 9.011 86.078 1.00 0.00 C +ATOM 24 O GLY A 6 31.689 9.815 86.551 1.00 0.00 O +ATOM 25 N GLY A 7 32.551 7.771 86.574 1.00 0.00 N +ATOM 26 CA GLY A 7 31.820 7.401 87.799 1.00 0.00 C +ATOM 27 C GLY A 7 32.398 8.364 88.811 1.00 0.00 C +ATOM 28 O GLY A 7 33.471 8.880 88.657 1.00 0.00 O +ATOM 29 N GLY A 8 31.803 8.749 89.788 1.00 0.00 N +ATOM 30 CA GLY A 8 32.520 9.875 90.499 1.00 0.00 C +ATOM 31 C GLY A 8 31.879 11.200 90.198 1.00 0.00 C +ATOM 32 O GLY A 8 31.257 11.806 91.081 1.00 0.00 O +ENDMDL +MODEL 65 +ATOM 1 N GLY A 1 39.303 0.275 82.106 1.00 0.00 N +ATOM 2 CA GLY A 1 38.025 -0.383 82.303 1.00 0.00 C +ATOM 3 C GLY A 1 37.094 0.240 83.351 1.00 0.00 C +ATOM 4 O GLY A 1 35.879 0.187 83.203 1.00 0.00 O +ATOM 5 N GLY A 2 37.648 0.841 84.392 1.00 0.00 N +ATOM 6 CA GLY A 2 36.824 1.411 85.456 1.00 0.00 C +ATOM 7 C GLY A 2 36.228 2.808 85.244 1.00 0.00 C +ATOM 8 O GLY A 2 35.351 3.213 86.005 1.00 0.00 O +ATOM 9 N GLY A 3 36.687 3.551 84.235 1.00 0.00 N +ATOM 10 CA GLY A 3 36.145 4.905 83.962 1.00 0.00 C +ATOM 11 C GLY A 3 35.864 5.666 85.267 1.00 0.00 C +ATOM 12 O GLY A 3 34.807 6.282 85.411 1.00 0.00 O +ATOM 13 N GLY A 4 36.810 5.613 86.199 1.00 0.00 N +ATOM 14 CA GLY A 4 36.672 6.223 87.517 1.00 0.00 C +ATOM 15 C GLY A 4 36.176 7.680 87.593 1.00 0.00 C +ATOM 16 O GLY A 4 35.231 7.965 88.312 1.00 0.00 O +ATOM 17 N GLY A 5 36.839 8.592 86.890 1.00 0.00 N +ATOM 18 CA GLY A 5 36.441 10.001 86.935 1.00 0.00 C +ATOM 19 C GLY A 5 34.963 10.178 86.559 1.00 0.00 C +ATOM 20 O GLY A 5 34.218 10.871 87.237 1.00 0.00 O +ATOM 21 N GLY A 6 34.549 9.519 85.485 1.00 0.00 N +ATOM 22 CA GLY A 6 33.162 9.590 85.050 1.00 0.00 C +ATOM 23 C GLY A 6 32.224 9.080 86.142 1.00 0.00 C +ATOM 24 O GLY A 6 31.212 9.729 86.454 1.00 0.00 O +ATOM 25 N GLY A 7 32.545 7.928 86.724 1.00 0.00 N +ATOM 26 CA GLY A 7 31.693 7.371 87.765 1.00 0.00 C +ATOM 27 C GLY A 7 31.481 8.306 88.953 1.00 0.00 C +ATOM 28 O GLY A 7 30.351 8.479 89.412 1.00 0.00 O +ATOM 29 N GLY A 8 32.543 8.917 89.464 1.00 0.00 N +ATOM 30 CA GLY A 8 32.384 9.800 90.606 1.00 0.00 C +ATOM 31 C GLY A 8 31.625 11.066 90.196 1.00 0.00 C +ATOM 32 O GLY A 8 31.000 11.728 91.041 1.00 0.00 O +ENDMDL +MODEL 66 +ATOM 1 N GLY A 1 37.807 0.777 80.802 1.00 0.00 N +ATOM 2 CA GLY A 1 38.033 0.069 82.059 1.00 0.00 C +ATOM 3 C GLY A 1 37.583 0.823 83.300 1.00 0.00 C +ATOM 4 O GLY A 1 37.266 0.211 84.321 1.00 0.00 O +ATOM 5 N GLY A 2 37.547 2.152 83.204 1.00 0.00 N +ATOM 6 CA GLY A 2 37.147 2.976 84.347 1.00 0.00 C +ATOM 7 C GLY A 2 35.714 3.487 84.258 1.00 0.00 C +ATOM 8 O GLY A 2 35.345 4.451 84.938 1.00 0.00 O +ATOM 9 N GLY A 3 34.914 2.829 83.420 1.00 0.00 N +ATOM 10 CA GLY A 3 33.531 3.248 83.254 1.00 0.00 C +ATOM 11 C GLY A 3 32.756 3.283 84.556 1.00 0.00 C +ATOM 12 O GLY A 3 31.815 4.057 84.689 1.00 0.00 O +ATOM 13 N GLY A 4 33.142 2.452 85.512 1.00 0.00 N +ATOM 14 CA GLY A 4 32.439 2.441 86.775 1.00 0.00 C +ATOM 15 C GLY A 4 33.003 3.469 87.742 1.00 0.00 C +ATOM 16 O GLY A 4 32.351 3.874 88.704 1.00 0.00 O +ATOM 17 N GLY A 5 34.232 3.891 87.484 1.00 0.00 N +ATOM 18 CA GLY A 5 34.909 4.856 88.339 1.00 0.00 C +ATOM 19 C GLY A 5 34.610 6.300 87.910 1.00 0.00 C +ATOM 20 O GLY A 5 34.519 7.211 88.741 1.00 0.00 O +ATOM 21 N GLY A 6 34.432 6.500 86.600 1.00 0.00 N +ATOM 22 CA GLY A 6 34.135 7.818 86.051 1.00 0.00 C +ATOM 23 C GLY A 6 32.898 8.527 86.627 1.00 0.00 C +ATOM 24 O GLY A 6 32.951 9.704 86.932 1.00 0.00 O +ATOM 25 N GLY A 7 31.784 7.804 86.794 1.00 0.00 N +ATOM 26 CA GLY A 7 30.573 8.444 87.334 1.00 0.00 C +ATOM 27 C GLY A 7 30.700 9.210 88.649 1.00 0.00 C +ATOM 28 O GLY A 7 30.246 10.340 88.753 1.00 0.00 O +ATOM 29 N GLY A 8 31.302 8.572 89.648 1.00 0.00 N +ATOM 30 CA GLY A 8 31.478 9.211 90.943 1.00 0.00 C +ATOM 31 C GLY A 8 32.367 10.440 90.878 1.00 0.00 C +ATOM 32 O GLY A 8 32.162 11.406 91.620 1.00 0.00 O +ENDMDL +MODEL 67 +ATOM 1 N GLY A 1 39.077 -0.146 81.424 1.00 0.00 N +ATOM 2 CA GLY A 1 39.108 0.468 82.738 1.00 0.00 C +ATOM 3 C GLY A 1 37.709 0.797 83.207 1.00 0.00 C +ATOM 4 O GLY A 1 36.916 1.402 82.455 1.00 0.00 O +ATOM 5 N GLY A 2 37.399 0.399 84.439 1.00 0.00 N +ATOM 6 CA GLY A 2 36.101 0.670 85.033 1.00 0.00 C +ATOM 7 C GLY A 2 36.381 1.259 86.414 1.00 0.00 C +ATOM 8 O GLY A 2 36.686 0.549 87.374 1.00 0.00 O +ATOM 9 N GLY A 3 36.309 2.579 86.472 1.00 0.00 N +ATOM 10 CA GLY A 3 36.865 3.354 87.561 1.00 0.00 C +ATOM 11 C GLY A 3 35.734 3.922 88.372 1.00 0.00 C +ATOM 12 O GLY A 3 34.828 4.529 87.810 1.00 0.00 O +ATOM 13 N GLY A 4 35.773 3.732 89.691 1.00 0.00 N +ATOM 14 CA GLY A 4 34.790 4.339 90.611 1.00 0.00 C +ATOM 15 C GLY A 4 34.906 5.862 90.707 1.00 0.00 C +ATOM 16 O GLY A 4 33.902 6.550 90.815 1.00 0.00 O +ATOM 17 N GLY A 5 36.116 6.410 90.663 1.00 0.00 N +ATOM 18 CA GLY A 5 36.242 7.876 90.617 1.00 0.00 C +ATOM 19 C GLY A 5 35.680 8.485 89.355 1.00 0.00 C +ATOM 20 O GLY A 5 35.211 9.600 89.374 1.00 0.00 O +ATOM 21 N GLY A 6 35.704 7.767 88.243 1.00 0.00 N +ATOM 22 CA GLY A 6 35.017 8.251 87.036 1.00 0.00 C +ATOM 23 C GLY A 6 33.479 8.184 87.216 1.00 0.00 C +ATOM 24 O GLY A 6 32.779 9.158 86.935 1.00 0.00 O +ATOM 25 N GLY A 7 32.976 7.063 87.742 1.00 0.00 N +ATOM 26 CA GLY A 7 31.526 6.967 88.082 1.00 0.00 C +ATOM 27 C GLY A 7 31.074 8.058 89.042 1.00 0.00 C +ATOM 28 O GLY A 7 29.967 8.590 88.936 1.00 0.00 O +ATOM 29 N GLY A 8 31.922 8.384 89.995 1.00 0.00 N +ATOM 30 CA GLY A 8 31.553 9.353 91.011 1.00 0.00 C +ATOM 31 C GLY A 8 31.391 10.725 90.379 1.00 0.00 C +ATOM 32 O GLY A 8 30.592 11.529 90.843 1.00 0.00 O +ENDMDL +MODEL 68 +ATOM 1 N GLY A 1 39.190 -0.950 81.799 1.00 0.00 N +ATOM 2 CA GLY A 1 38.476 0.314 82.011 1.00 0.00 C +ATOM 3 C GLY A 1 37.921 0.286 83.428 1.00 0.00 C +ATOM 4 O GLY A 1 37.000 -0.477 83.731 1.00 0.00 O +ATOM 5 N GLY A 2 38.485 1.119 84.293 1.00 0.00 N +ATOM 6 CA GLY A 2 38.158 1.113 85.705 1.00 0.00 C +ATOM 7 C GLY A 2 37.209 2.250 86.072 1.00 0.00 C +ATOM 8 O GLY A 2 37.583 3.426 86.018 1.00 0.00 O +ATOM 9 N GLY A 3 35.976 1.880 86.422 1.00 0.00 N +ATOM 10 CA GLY A 3 34.967 2.830 86.888 1.00 0.00 C +ATOM 11 C GLY A 3 35.011 2.956 88.407 1.00 0.00 C +ATOM 12 O GLY A 3 35.118 1.956 89.121 1.00 0.00 O +ATOM 13 N GLY A 4 34.934 4.189 88.899 1.00 0.00 N +ATOM 14 CA GLY A 4 35.149 4.484 90.319 1.00 0.00 C +ATOM 15 C GLY A 4 34.125 5.457 90.893 1.00 0.00 C +ATOM 16 O GLY A 4 33.714 6.407 90.225 1.00 0.00 O +ATOM 17 N GLY A 5 33.733 5.218 92.141 1.00 0.00 N +ATOM 18 CA GLY A 5 32.793 6.076 92.870 1.00 0.00 C +ATOM 19 C GLY A 5 33.407 7.433 93.192 1.00 0.00 C +ATOM 20 O GLY A 5 32.720 8.464 93.127 1.00 0.00 O +ATOM 21 N GLY A 6 34.693 7.430 93.536 1.00 0.00 N +ATOM 22 CA GLY A 6 35.426 8.650 93.879 1.00 0.00 C +ATOM 23 C GLY A 6 35.418 9.660 92.725 1.00 0.00 C +ATOM 24 O GLY A 6 35.188 10.853 92.940 1.00 0.00 O +ATOM 25 N GLY A 7 35.667 9.162 91.515 1.00 0.00 N +ATOM 26 CA GLY A 7 35.628 9.976 90.297 1.00 0.00 C +ATOM 27 C GLY A 7 34.205 10.502 90.050 1.00 0.00 C +ATOM 28 O GLY A 7 34.025 11.651 89.639 1.00 0.00 O +ATOM 29 N GLY A 8 33.211 9.656 90.327 1.00 0.00 N +ATOM 30 CA GLY A 8 31.806 10.023 90.191 1.00 0.00 C +ATOM 31 C GLY A 8 31.402 11.064 91.234 1.00 0.00 C +ATOM 32 O GLY A 8 30.635 11.989 90.938 1.00 0.00 O +ENDMDL +MODEL 69 +ATOM 1 N GLY A 1 38.071 -1.691 83.155 1.00 0.00 N +ATOM 2 CA GLY A 1 37.483 -0.512 83.711 1.00 0.00 C +ATOM 3 C GLY A 1 37.698 0.729 82.884 1.00 0.00 C +ATOM 4 O GLY A 1 38.779 0.987 82.371 1.00 0.00 O +ATOM 5 N GLY A 2 36.692 1.560 82.836 1.00 0.00 N +ATOM 6 CA GLY A 2 36.803 2.917 82.301 1.00 0.00 C +ATOM 7 C GLY A 2 36.748 4.036 83.326 1.00 0.00 C +ATOM 8 O GLY A 2 36.413 3.820 84.496 1.00 0.00 O +ATOM 9 N GLY A 3 36.963 5.284 82.909 1.00 0.00 N +ATOM 10 CA GLY A 3 36.854 6.358 83.912 1.00 0.00 C +ATOM 11 C GLY A 3 35.423 6.580 84.397 1.00 0.00 C +ATOM 12 O GLY A 3 35.201 7.264 85.423 1.00 0.00 O +ATOM 13 N GLY A 4 34.425 6.032 83.678 1.00 0.00 N +ATOM 14 CA GLY A 4 33.055 6.236 84.107 1.00 0.00 C +ATOM 15 C GLY A 4 32.616 5.069 84.931 1.00 0.00 C +ATOM 16 O GLY A 4 31.462 5.039 85.375 1.00 0.00 O +ATOM 17 N GLY A 5 33.509 4.102 85.147 1.00 0.00 N +ATOM 18 CA GLY A 5 33.220 3.113 86.165 1.00 0.00 C +ATOM 19 C GLY A 5 33.816 3.594 87.506 1.00 0.00 C +ATOM 20 O GLY A 5 34.579 2.870 88.201 1.00 0.00 O +ATOM 21 N GLY A 6 33.488 4.842 87.854 1.00 0.00 N +ATOM 22 CA GLY A 6 33.932 5.469 89.104 1.00 0.00 C +ATOM 23 C GLY A 6 32.844 6.319 89.692 1.00 0.00 C +ATOM 24 O GLY A 6 31.937 6.727 88.998 1.00 0.00 O +ATOM 25 N GLY A 7 33.002 6.625 90.976 1.00 0.00 N +ATOM 26 CA GLY A 7 31.977 7.311 91.751 1.00 0.00 C +ATOM 27 C GLY A 7 31.803 8.760 91.281 1.00 0.00 C +ATOM 28 O GLY A 7 30.666 9.241 91.094 1.00 0.00 O +ATOM 29 N GLY A 8 32.913 9.474 91.150 1.00 0.00 N +ATOM 30 CA GLY A 8 32.789 10.921 90.882 1.00 0.00 C +ATOM 31 C GLY A 8 32.057 11.159 89.559 1.00 0.00 C +ATOM 32 O GLY A 8 31.331 12.120 89.412 1.00 0.00 O +ENDMDL +MODEL 70 +ATOM 1 N GLY A 1 37.362 0.673 83.667 1.00 0.00 N +ATOM 2 CA GLY A 1 37.884 -0.582 83.128 1.00 0.00 C +ATOM 3 C GLY A 1 37.111 -1.807 83.634 1.00 0.00 C +ATOM 4 O GLY A 1 37.072 -2.846 82.960 1.00 0.00 O +ATOM 5 N GLY A 2 36.515 -1.682 84.806 1.00 0.00 N +ATOM 6 CA GLY A 2 35.779 -2.797 85.374 1.00 0.00 C +ATOM 7 C GLY A 2 34.814 -2.396 86.487 1.00 0.00 C +ATOM 8 O GLY A 2 33.612 -2.629 86.382 1.00 0.00 O +ATOM 9 N GLY A 3 35.345 -1.787 87.544 1.00 0.00 N +ATOM 10 CA GLY A 3 34.534 -1.418 88.703 1.00 0.00 C +ATOM 11 C GLY A 3 33.745 -0.110 88.676 1.00 0.00 C +ATOM 12 O GLY A 3 32.961 0.159 89.588 1.00 0.00 O +ATOM 13 N GLY A 4 33.969 0.696 87.637 1.00 0.00 N +ATOM 14 CA GLY A 4 33.282 1.978 87.523 1.00 0.00 C +ATOM 15 C GLY A 4 34.293 3.079 87.273 1.00 0.00 C +ATOM 16 O GLY A 4 35.484 2.793 87.135 1.00 0.00 O +ATOM 17 N GLY A 5 33.828 4.321 87.179 1.00 0.00 N +ATOM 18 CA GLY A 5 34.718 5.461 86.965 1.00 0.00 C +ATOM 19 C GLY A 5 35.110 5.897 88.390 1.00 0.00 C +ATOM 20 O GLY A 5 34.252 6.236 89.199 1.00 0.00 O +ATOM 21 N GLY A 6 36.404 5.910 88.709 1.00 0.00 N +ATOM 22 CA GLY A 6 36.905 6.282 90.034 1.00 0.00 C +ATOM 23 C GLY A 6 36.901 7.754 90.430 1.00 0.00 C +ATOM 24 O GLY A 6 37.281 8.078 91.557 1.00 0.00 O +ATOM 25 N GLY A 7 36.463 8.635 89.550 1.00 0.00 N +ATOM 26 CA GLY A 7 36.500 10.061 89.852 1.00 0.00 C +ATOM 27 C GLY A 7 35.175 10.764 89.993 1.00 0.00 C +ATOM 28 O GLY A 7 35.085 11.972 89.796 1.00 0.00 O +ATOM 29 N GLY A 8 34.141 10.013 90.349 1.00 0.00 N +ATOM 30 CA GLY A 8 32.799 10.568 90.498 1.00 0.00 C +ATOM 31 C GLY A 8 32.440 11.402 89.281 1.00 0.00 C +ATOM 32 O GLY A 8 31.834 12.472 89.394 1.00 0.00 O +ENDMDL +MODEL 71 +ATOM 1 N GLY A 1 38.705 -0.723 81.652 1.00 0.00 N +ATOM 2 CA GLY A 1 37.858 -0.776 82.835 1.00 0.00 C +ATOM 3 C GLY A 1 37.151 0.590 82.928 1.00 0.00 C +ATOM 4 O GLY A 1 37.780 1.589 83.341 1.00 0.00 O +ATOM 5 N GLY A 2 35.904 0.556 82.527 1.00 0.00 N +ATOM 6 CA GLY A 2 35.211 1.852 82.459 1.00 0.00 C +ATOM 7 C GLY A 2 34.198 2.248 83.506 1.00 0.00 C +ATOM 8 O GLY A 2 33.769 1.511 84.401 1.00 0.00 O +ATOM 9 N GLY A 3 33.734 3.499 83.330 1.00 0.00 N +ATOM 10 CA GLY A 3 32.700 4.123 84.121 1.00 0.00 C +ATOM 11 C GLY A 3 33.140 4.728 85.428 1.00 0.00 C +ATOM 12 O GLY A 3 32.312 5.179 86.233 1.00 0.00 O +ATOM 13 N GLY A 4 34.462 4.816 85.574 1.00 0.00 N +ATOM 14 CA GLY A 4 35.079 5.380 86.767 1.00 0.00 C +ATOM 15 C GLY A 4 34.943 6.922 86.693 1.00 0.00 C +ATOM 16 O GLY A 4 34.945 7.606 87.698 1.00 0.00 O +ATOM 17 N GLY A 5 34.800 7.479 85.480 1.00 0.00 N +ATOM 18 CA GLY A 5 34.696 8.953 85.464 1.00 0.00 C +ATOM 19 C GLY A 5 33.283 9.366 85.850 1.00 0.00 C +ATOM 20 O GLY A 5 33.118 10.234 86.704 1.00 0.00 O +ATOM 21 N GLY A 6 32.312 8.712 85.232 1.00 0.00 N +ATOM 22 CA GLY A 6 30.921 8.998 85.492 1.00 0.00 C +ATOM 23 C GLY A 6 30.531 8.695 86.939 1.00 0.00 C +ATOM 24 O GLY A 6 29.696 9.392 87.536 1.00 0.00 O +ATOM 25 N GLY A 7 31.184 7.677 87.515 1.00 0.00 N +ATOM 26 CA GLY A 7 30.875 7.290 88.872 1.00 0.00 C +ATOM 27 C GLY A 7 31.308 8.334 89.859 1.00 0.00 C +ATOM 28 O GLY A 7 30.835 8.391 91.006 1.00 0.00 O +ATOM 29 N GLY A 8 32.271 9.157 89.427 1.00 0.00 N +ATOM 30 CA GLY A 8 32.652 10.231 90.390 1.00 0.00 C +ATOM 31 C GLY A 8 31.576 11.301 90.432 1.00 0.00 C +ATOM 32 O GLY A 8 31.489 12.102 91.365 1.00 0.00 O +ENDMDL +MODEL 72 +ATOM 1 N GLY A 1 39.129 1.753 81.267 1.00 0.00 N +ATOM 2 CA GLY A 1 39.295 2.047 82.683 1.00 0.00 C +ATOM 3 C GLY A 1 38.013 2.684 83.171 1.00 0.00 C +ATOM 4 O GLY A 1 37.538 2.395 84.252 1.00 0.00 O +ATOM 5 N GLY A 2 37.434 3.574 82.368 1.00 0.00 N +ATOM 6 CA GLY A 2 36.329 4.370 82.856 1.00 0.00 C +ATOM 7 C GLY A 2 35.125 3.477 83.044 1.00 0.00 C +ATOM 8 O GLY A 2 34.402 3.664 84.014 1.00 0.00 O +ATOM 9 N GLY A 3 34.905 2.559 82.094 1.00 0.00 N +ATOM 10 CA GLY A 3 33.750 1.668 82.135 1.00 0.00 C +ATOM 11 C GLY A 3 33.737 0.723 83.314 1.00 0.00 C +ATOM 12 O GLY A 3 32.627 0.331 83.782 1.00 0.00 O +ATOM 13 N GLY A 4 34.923 0.366 83.866 1.00 0.00 N +ATOM 14 CA GLY A 4 34.961 -0.458 85.126 1.00 0.00 C +ATOM 15 C GLY A 4 34.418 0.262 86.359 1.00 0.00 C +ATOM 16 O GLY A 4 33.885 -0.356 87.308 1.00 0.00 O +ATOM 17 N GLY A 5 34.541 1.581 86.350 1.00 0.00 N +ATOM 18 CA GLY A 5 34.264 2.358 87.557 1.00 0.00 C +ATOM 19 C GLY A 5 32.786 2.366 87.959 1.00 0.00 C +ATOM 20 O GLY A 5 31.914 2.397 87.104 1.00 0.00 O +ATOM 21 N GLY A 6 32.570 2.337 89.260 1.00 0.00 N +ATOM 22 CA GLY A 6 31.235 2.338 89.853 1.00 0.00 C +ATOM 23 C GLY A 6 31.078 3.507 90.809 1.00 0.00 C +ATOM 24 O GLY A 6 31.994 4.276 90.986 1.00 0.00 O +ATOM 25 N GLY A 7 29.886 3.651 91.398 1.00 0.00 N +ATOM 26 CA GLY A 7 29.632 4.726 92.355 1.00 0.00 C +ATOM 27 C GLY A 7 29.659 6.127 91.734 1.00 0.00 C +ATOM 28 O GLY A 7 29.163 6.329 90.626 1.00 0.00 O +ATOM 29 N GLY A 8 30.246 7.076 92.453 1.00 0.00 N +ATOM 30 CA GLY A 8 30.441 8.449 91.930 1.00 0.00 C +ATOM 31 C GLY A 8 31.378 8.508 90.746 1.00 0.00 C +ATOM 32 O GLY A 8 31.173 9.284 89.805 1.00 0.00 O +ENDMDL +MODEL 73 +ATOM 1 N GLY A 1 38.360 0.778 83.823 1.00 0.00 N +ATOM 2 CA GLY A 1 39.291 -0.040 83.064 1.00 0.00 C +ATOM 3 C GLY A 1 38.835 -1.482 83.014 1.00 0.00 C +ATOM 4 O GLY A 1 39.191 -2.218 82.087 1.00 0.00 O +ATOM 5 N GLY A 2 38.038 -1.893 83.996 1.00 0.00 N +ATOM 6 CA GLY A 2 37.512 -3.245 84.059 1.00 0.00 C +ATOM 7 C GLY A 2 36.294 -3.362 83.140 1.00 0.00 C +ATOM 8 O GLY A 2 35.592 -4.373 83.159 1.00 0.00 O +ATOM 9 N GLY A 3 36.041 -2.312 82.363 1.00 0.00 N +ATOM 10 CA GLY A 3 34.922 -2.312 81.431 1.00 0.00 C +ATOM 11 C GLY A 3 33.589 -1.830 81.958 1.00 0.00 C +ATOM 12 O GLY A 3 32.592 -1.885 81.243 1.00 0.00 O +ATOM 13 N GLY A 4 33.560 -1.363 83.194 1.00 0.00 N +ATOM 14 CA GLY A 4 32.318 -0.893 83.791 1.00 0.00 C +ATOM 15 C GLY A 4 31.984 0.549 83.435 1.00 0.00 C +ATOM 16 O GLY A 4 32.874 1.369 83.198 1.00 0.00 O +ATOM 17 N GLY A 5 30.700 0.851 83.381 1.00 0.00 N +ATOM 18 CA GLY A 5 30.234 2.204 83.119 1.00 0.00 C +ATOM 19 C GLY A 5 30.188 2.833 84.504 1.00 0.00 C +ATOM 20 O GLY A 5 29.537 2.307 85.414 1.00 0.00 O +ATOM 21 N GLY A 6 30.901 3.935 84.667 1.00 0.00 N +ATOM 22 CA GLY A 6 30.989 4.590 85.964 1.00 0.00 C +ATOM 23 C GLY A 6 30.716 6.088 85.945 1.00 0.00 C +ATOM 24 O GLY A 6 31.028 6.781 84.967 1.00 0.00 O +ATOM 25 N GLY A 7 30.122 6.575 87.022 1.00 0.00 N +ATOM 26 CA GLY A 7 29.837 7.995 87.179 1.00 0.00 C +ATOM 27 C GLY A 7 30.312 8.427 88.565 1.00 0.00 C +ATOM 28 O GLY A 7 30.035 7.756 89.570 1.00 0.00 O +ATOM 29 N GLY A 8 31.061 9.517 88.618 1.00 0.00 N +ATOM 30 CA GLY A 8 31.573 10.029 89.875 1.00 0.00 C +ATOM 31 C GLY A 8 30.789 11.263 90.302 1.00 0.00 C +ATOM 32 O GLY A 8 30.582 12.180 89.523 1.00 0.00 O +ENDMDL +MODEL 74 +ATOM 1 N GLY A 1 39.102 2.551 81.072 1.00 0.00 N +ATOM 2 CA GLY A 1 38.697 1.150 81.129 1.00 0.00 C +ATOM 3 C GLY A 1 37.922 0.814 82.399 1.00 0.00 C +ATOM 4 O GLY A 1 37.180 -0.165 82.439 1.00 0.00 O +ATOM 5 N GLY A 2 38.116 1.627 83.435 1.00 0.00 N +ATOM 6 CA GLY A 2 37.431 1.440 84.720 1.00 0.00 C +ATOM 7 C GLY A 2 36.941 2.816 85.154 1.00 0.00 C +ATOM 8 O GLY A 2 37.455 3.407 86.108 1.00 0.00 O +ATOM 9 N GLY A 3 35.920 3.304 84.453 1.00 0.00 N +ATOM 10 CA GLY A 3 35.345 4.626 84.691 1.00 0.00 C +ATOM 11 C GLY A 3 34.442 4.739 85.915 1.00 0.00 C +ATOM 12 O GLY A 3 34.167 5.849 86.383 1.00 0.00 O +ATOM 13 N GLY A 4 33.982 3.609 86.435 1.00 0.00 N +ATOM 14 CA GLY A 4 33.076 3.590 87.582 1.00 0.00 C +ATOM 15 C GLY A 4 33.500 4.511 88.731 1.00 0.00 C +ATOM 16 O GLY A 4 32.694 5.299 89.228 1.00 0.00 O +ATOM 17 N GLY A 5 34.753 4.409 89.145 1.00 0.00 N +ATOM 18 CA GLY A 5 35.244 5.214 90.265 1.00 0.00 C +ATOM 19 C GLY A 5 35.162 6.692 89.935 1.00 0.00 C +ATOM 20 O GLY A 5 34.574 7.481 90.672 1.00 0.00 O +ATOM 21 N GLY A 6 35.776 7.029 88.814 1.00 0.00 N +ATOM 22 CA GLY A 6 35.810 8.391 88.328 1.00 0.00 C +ATOM 23 C GLY A 6 34.386 8.960 88.231 1.00 0.00 C +ATOM 24 O GLY A 6 34.085 10.000 88.800 1.00 0.00 O +ATOM 25 N GLY A 7 33.509 8.262 87.517 1.00 0.00 N +ATOM 26 CA GLY A 7 32.123 8.703 87.357 1.00 0.00 C +ATOM 27 C GLY A 7 31.462 9.015 88.686 1.00 0.00 C +ATOM 28 O GLY A 7 30.726 9.995 88.818 1.00 0.00 O +ATOM 29 N GLY A 8 31.739 8.168 89.666 1.00 0.00 N +ATOM 30 CA GLY A 8 31.196 8.311 91.004 1.00 0.00 C +ATOM 31 C GLY A 8 31.651 9.608 91.676 1.00 0.00 C +ATOM 32 O GLY A 8 30.862 10.292 92.323 1.00 0.00 O +ENDMDL +MODEL 75 +ATOM 1 N GLY A 1 39.477 1.172 82.998 1.00 0.00 N +ATOM 2 CA GLY A 1 38.582 0.149 82.482 1.00 0.00 C +ATOM 3 C GLY A 1 37.132 0.396 82.864 1.00 0.00 C +ATOM 4 O GLY A 1 36.242 -0.398 82.543 1.00 0.00 O +ATOM 5 N GLY A 2 36.887 1.508 83.554 1.00 0.00 N +ATOM 6 CA GLY A 2 35.538 1.873 83.952 1.00 0.00 C +ATOM 7 C GLY A 2 34.924 1.061 85.073 1.00 0.00 C +ATOM 8 O GLY A 2 33.706 1.032 85.222 1.00 0.00 O +ATOM 9 N GLY A 3 35.772 0.413 85.874 1.00 0.00 N +ATOM 10 CA GLY A 3 35.285 -0.401 86.974 1.00 0.00 C +ATOM 11 C GLY A 3 34.809 0.425 88.169 1.00 0.00 C +ATOM 12 O GLY A 3 34.141 -0.103 89.060 1.00 0.00 O +ATOM 13 N GLY A 4 35.148 1.711 88.199 1.00 0.00 N +ATOM 14 CA GLY A 4 34.748 2.559 89.313 1.00 0.00 C +ATOM 15 C GLY A 4 33.960 3.802 88.904 1.00 0.00 C +ATOM 16 O GLY A 4 33.955 4.797 89.638 1.00 0.00 O +ATOM 17 N GLY A 5 33.297 3.762 87.757 1.00 0.00 N +ATOM 18 CA GLY A 5 32.533 4.912 87.276 1.00 0.00 C +ATOM 19 C GLY A 5 31.520 5.454 88.290 1.00 0.00 C +ATOM 20 O GLY A 5 31.305 6.665 88.365 1.00 0.00 O +ATOM 21 N GLY A 6 30.905 4.564 89.054 1.00 0.00 N +ATOM 22 CA GLY A 6 29.891 4.962 90.038 1.00 0.00 C +ATOM 23 C GLY A 6 30.461 5.619 91.284 1.00 0.00 C +ATOM 24 O GLY A 6 29.717 5.973 92.213 1.00 0.00 O +ATOM 25 N GLY A 7 31.779 5.798 91.327 1.00 0.00 N +ATOM 26 CA GLY A 7 32.417 6.399 92.484 1.00 0.00 C +ATOM 27 C GLY A 7 32.870 7.836 92.217 1.00 0.00 C +ATOM 28 O GLY A 7 33.776 8.354 92.873 1.00 0.00 O +ATOM 29 N GLY A 8 32.208 8.479 91.254 1.00 0.00 N +ATOM 30 CA GLY A 8 32.507 9.865 90.880 1.00 0.00 C +ATOM 31 C GLY A 8 31.158 10.569 90.730 1.00 0.00 C +ATOM 32 O GLY A 8 30.574 10.574 89.648 1.00 0.00 O +ENDMDL +MODEL 76 +ATOM 1 N GLY A 1 38.970 -0.729 81.676 1.00 0.00 N +ATOM 2 CA GLY A 1 38.693 0.612 82.190 1.00 0.00 C +ATOM 3 C GLY A 1 38.108 0.525 83.598 1.00 0.00 C +ATOM 4 O GLY A 1 37.650 1.523 84.136 1.00 0.00 O +ATOM 5 N GLY A 2 38.153 -0.651 84.205 1.00 0.00 N +ATOM 6 CA GLY A 2 37.481 -0.902 85.485 1.00 0.00 C +ATOM 7 C GLY A 2 37.836 0.074 86.607 1.00 0.00 C +ATOM 8 O GLY A 2 37.006 0.353 87.473 1.00 0.00 O +ATOM 9 N GLY A 3 39.073 0.578 86.616 1.00 0.00 N +ATOM 10 CA GLY A 3 39.498 1.485 87.685 1.00 0.00 C +ATOM 11 C GLY A 3 39.182 2.967 87.390 1.00 0.00 C +ATOM 12 O GLY A 3 39.408 3.835 88.227 1.00 0.00 O +ATOM 13 N GLY A 4 38.638 3.249 86.203 1.00 0.00 N +ATOM 14 CA GLY A 4 38.247 4.631 85.829 1.00 0.00 C +ATOM 15 C GLY A 4 37.174 5.120 86.832 1.00 0.00 C +ATOM 16 O GLY A 4 36.308 4.351 87.244 1.00 0.00 O +ATOM 17 N GLY A 5 37.271 6.378 87.280 1.00 0.00 N +ATOM 18 CA GLY A 5 36.411 6.889 88.369 1.00 0.00 C +ATOM 19 C GLY A 5 35.160 7.658 87.952 1.00 0.00 C +ATOM 20 O GLY A 5 34.550 8.362 88.768 1.00 0.00 O +ATOM 21 N GLY A 6 34.765 7.494 86.690 1.00 0.00 N +ATOM 22 CA GLY A 6 33.698 8.288 86.049 1.00 0.00 C +ATOM 23 C GLY A 6 32.276 8.162 86.668 1.00 0.00 C +ATOM 24 O GLY A 6 31.432 9.063 86.495 1.00 0.00 O +ATOM 25 N GLY A 7 32.019 7.051 87.356 1.00 0.00 N +ATOM 26 CA GLY A 7 30.755 6.847 88.042 1.00 0.00 C +ATOM 27 C GLY A 7 30.556 7.826 89.213 1.00 0.00 C +ATOM 28 O GLY A 7 29.471 7.868 89.801 1.00 0.00 O +ATOM 29 N GLY A 8 31.584 8.599 89.539 1.00 0.00 N +ATOM 30 CA GLY A 8 31.499 9.540 90.651 1.00 0.00 C +ATOM 31 C GLY A 8 31.246 10.995 90.300 1.00 0.00 C +ATOM 32 O GLY A 8 30.913 11.783 91.187 1.00 0.00 O +ENDMDL +MODEL 77 +ATOM 1 N GLY A 1 39.403 1.379 81.921 1.00 0.00 N +ATOM 2 CA GLY A 1 38.845 0.068 82.272 1.00 0.00 C +ATOM 3 C GLY A 1 37.793 0.199 83.362 1.00 0.00 C +ATOM 4 O GLY A 1 37.990 0.908 84.348 1.00 0.00 O +ATOM 5 N GLY A 2 36.675 -0.521 83.213 1.00 0.00 N +ATOM 6 CA GLY A 2 35.657 -0.431 84.298 1.00 0.00 C +ATOM 7 C GLY A 2 36.254 -1.144 85.545 1.00 0.00 C +ATOM 8 O GLY A 2 35.675 -1.085 86.620 1.00 0.00 O +ATOM 9 N GLY A 3 37.398 -1.766 85.290 1.00 0.00 N +ATOM 10 CA GLY A 3 38.194 -2.482 86.266 1.00 0.00 C +ATOM 11 C GLY A 3 38.514 -1.595 87.464 1.00 0.00 C +ATOM 12 O GLY A 3 37.984 -1.753 88.554 1.00 0.00 O +ATOM 13 N GLY A 4 39.394 -0.607 87.232 1.00 0.00 N +ATOM 14 CA GLY A 4 39.714 0.317 88.295 1.00 0.00 C +ATOM 15 C GLY A 4 38.828 1.486 88.380 1.00 0.00 C +ATOM 16 O GLY A 4 38.778 2.395 87.535 1.00 0.00 O +ATOM 17 N GLY A 5 37.953 1.521 89.403 1.00 0.00 N +ATOM 18 CA GLY A 5 37.004 2.620 89.484 1.00 0.00 C +ATOM 19 C GLY A 5 37.501 3.845 90.216 1.00 0.00 C +ATOM 20 O GLY A 5 38.489 3.824 90.944 1.00 0.00 O +ATOM 21 N GLY A 6 36.762 4.928 90.029 1.00 0.00 N +ATOM 22 CA GLY A 6 36.947 6.185 90.714 1.00 0.00 C +ATOM 23 C GLY A 6 35.558 6.586 91.295 1.00 0.00 C +ATOM 24 O GLY A 6 34.554 6.051 90.838 1.00 0.00 O +ATOM 25 N GLY A 7 35.558 7.472 92.270 1.00 0.00 N +ATOM 26 CA GLY A 7 34.273 7.907 92.880 1.00 0.00 C +ATOM 27 C GLY A 7 33.587 8.848 91.914 1.00 0.00 C +ATOM 28 O GLY A 7 34.113 9.892 91.525 1.00 0.00 O +ATOM 29 N GLY A 8 32.413 8.437 91.420 1.00 0.00 N +ATOM 30 CA GLY A 8 31.778 9.304 90.412 1.00 0.00 C +ATOM 31 C GLY A 8 30.880 10.320 91.057 1.00 0.00 C +ATOM 32 O GLY A 8 30.731 11.456 90.578 1.00 0.00 O +ENDMDL +MODEL 78 +ATOM 1 N GLY A 1 38.919 1.043 82.749 1.00 0.00 N +ATOM 2 CA GLY A 1 37.743 0.182 82.786 1.00 0.00 C +ATOM 3 C GLY A 1 36.746 0.581 83.905 1.00 0.00 C +ATOM 4 O GLY A 1 37.146 0.901 85.022 1.00 0.00 O +ATOM 5 N GLY A 2 35.468 0.697 83.518 1.00 0.00 N +ATOM 6 CA GLY A 2 34.252 0.697 84.387 1.00 0.00 C +ATOM 7 C GLY A 2 34.246 -0.125 85.695 1.00 0.00 C +ATOM 8 O GLY A 2 33.588 0.224 86.651 1.00 0.00 O +ATOM 9 N GLY A 3 34.904 -1.279 85.677 1.00 0.00 N +ATOM 10 CA GLY A 3 35.010 -2.130 86.847 1.00 0.00 C +ATOM 11 C GLY A 3 35.552 -1.344 88.055 1.00 0.00 C +ATOM 12 O GLY A 3 35.078 -1.548 89.185 1.00 0.00 O +ATOM 13 N GLY A 4 36.478 -0.423 87.797 1.00 0.00 N +ATOM 14 CA GLY A 4 37.238 0.277 88.841 1.00 0.00 C +ATOM 15 C GLY A 4 36.745 1.695 89.141 1.00 0.00 C +ATOM 16 O GLY A 4 37.243 2.350 90.053 1.00 0.00 O +ATOM 17 N GLY A 5 35.786 2.169 88.353 1.00 0.00 N +ATOM 18 CA GLY A 5 35.164 3.475 88.585 1.00 0.00 C +ATOM 19 C GLY A 5 34.384 3.515 89.907 1.00 0.00 C +ATOM 20 O GLY A 5 33.890 2.493 90.391 1.00 0.00 O +ATOM 21 N GLY A 6 34.289 4.704 90.474 1.00 0.00 N +ATOM 22 CA GLY A 6 33.533 4.981 91.675 1.00 0.00 C +ATOM 23 C GLY A 6 32.200 5.627 91.329 1.00 0.00 C +ATOM 24 O GLY A 6 31.832 5.748 90.158 1.00 0.00 O +ATOM 25 N GLY A 7 31.460 6.021 92.356 1.00 0.00 N +ATOM 26 CA GLY A 7 30.194 6.718 92.162 1.00 0.00 C +ATOM 27 C GLY A 7 30.417 8.162 91.753 1.00 0.00 C +ATOM 28 O GLY A 7 29.441 8.854 91.450 1.00 0.00 O +ATOM 29 N GLY A 8 31.647 8.654 91.799 1.00 0.00 N +ATOM 30 CA GLY A 8 31.946 9.995 91.299 1.00 0.00 C +ATOM 31 C GLY A 8 32.140 9.963 89.771 1.00 0.00 C +ATOM 32 O GLY A 8 31.936 10.963 89.093 1.00 0.00 O +ENDMDL +END \ No newline at end of file diff --git a/examples/trj/sample.dcd b/examples/demos/data/sample.dcd similarity index 100% rename from examples/trj/sample.dcd rename to examples/demos/data/sample.dcd diff --git a/examples/trj/sample.pdb b/examples/demos/data/sample.pdb similarity index 100% rename from examples/trj/sample.pdb rename to examples/demos/data/sample.pdb diff --git a/examples/demos/data/sdh-complete.pdb b/examples/demos/data/sdh-complete.pdb new file mode 100644 index 0000000000000000000000000000000000000000..af4812d0333a88029cf48c05a0a06a7a2d762395 --- /dev/null +++ b/examples/demos/data/sdh-complete.pdb @@ -0,0 +1,1942 @@ +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 2 2 ASN A 38 GLY A 50 1 13 +HELIX 3 3 ASP A 62 GLY A 78 1 17 +HELIX 4 4 PRO A 94 ILE A 98 5 5 +HELIX 5 5 THR A 99 VAL A 111 1 13 +HELIX 6 6 VAL A 111 GLY A 129 1 19 +HELIX 7 7 SER A 139 ARG A 143 5 5 +HELIX 8 8 VAL A 149 ILE A 171 1 23 +HELIX 9 9 HIS A 189 ASN A 202 1 14 +HELIX 10 10 GLY A 206 VAL A 216 1 11 +HELIX 11 11 ARG A 223 LEU A 234 1 12 +HELIX 12 12 ALA A 235 ASP A 240 5 6 +HELIX 13 13 ARG B 15 GLU B 28 1 14 +HELIX 14 14 ASN B 38 GLY B 50 1 13 +HELIX 15 15 ASP B 62 GLY B 78 1 17 +HELIX 16 16 PRO B 94 ILE B 98 5 5 +HELIX 17 17 THR B 99 VAL B 111 1 13 +HELIX 18 18 VAL B 111 GLY B 129 1 19 +HELIX 19 19 SER B 139 ARG B 143 5 5 +HELIX 20 20 VAL B 149 ILE B 171 1 23 +HELIX 21 21 HIS B 189 GLU B 201 1 13 +HELIX 22 22 GLY B 206 VAL B 216 1 11 +HELIX 23 23 ARG B 223 LEU B 234 1 12 +HELIX 24 24 ALA B 235 ASP B 240 5 6 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 2 A 7 ALA A 30 ASP A 36 1 N ILE A 34 O CYS A 54 +SHEET 3 A 7 LYS A 6 THR A 11 1 N LYS A 6 O ARG A 31 +SHEET 4 A 7 ILE A 82 ASN A 85 1 O ILE A 82 N LEU A 9 +SHEET 5 A 7 GLY A 132 MET A 137 1 O ILE A 135 N LEU A 83 +SHEET 6 A 7 ILE A 175 PRO A 182 1 O ASN A 176 N ILE A 134 +SHEET 7 A 7 THR A 246 VAL A 249 1 O TYR A 247 N ALA A 181 +SHEET 1 B 7 ALA B 53 ALA B 57 0 +SHEET 2 B 7 ARG B 31 ASP B 36 1 N ILE B 34 O CYS B 54 +SHEET 3 B 7 THR B 7 THR B 11 1 N ALA B 8 O ARG B 31 +SHEET 4 B 7 ILE B 82 ASN B 85 1 O VAL B 84 N LEU B 9 +SHEET 5 B 7 GLY B 132 MET B 137 1 O ILE B 135 N LEU B 83 +SHEET 6 B 7 ILE B 175 PRO B 182 1 O ASN B 176 N ILE B 134 +SHEET 7 B 7 THR B 246 VAL B 249 1 O TYR B 247 N ALA B 181 +CRYST1 67.465 67.465 191.044 90.00 90.00 120.00 P 31 2 1 12 +ORIGX1 1.000000 0.000000 0.000000 0.00000 +ORIGX2 0.000000 1.000000 0.000000 0.00000 +ORIGX3 0.000000 0.000000 1.000000 0.00000 +SCALE1 0.014823 0.008558 0.000000 0.00000 +SCALE2 0.000000 0.017116 0.000000 0.00000 +SCALE3 0.000000 0.000000 0.005234 0.00000 +ATOM 1 N MET A 1 21.609 35.384 56.705 1.00 41.48 N +ATOM 2 CA MET A 1 20.601 35.494 57.793 1.00 41.58 C +ATOM 3 C MET A 1 19.654 34.300 57.789 1.00 39.51 C +ATOM 4 O MET A 1 18.447 34.456 57.595 1.00 38.98 O +ATOM 5 CB MET A 1 19.789 36.783 57.639 1.00 45.90 C +ATOM 6 CG MET A 1 20.629 38.055 57.606 1.00 51.18 C +ATOM 7 SD MET A 1 21.638 38.325 59.084 1.00 55.83 S +ATOM 8 CE MET A 1 23.233 37.697 58.529 1.00 54.59 C +ATOM 9 N ARG A 2 20.202 33.112 58.011 1.00 36.39 N +ATOM 10 CA ARG A 2 19.396 31.903 58.033 1.00 34.35 C +ATOM 11 C ARG A 2 18.608 31.739 59.328 1.00 34.20 C +ATOM 12 O ARG A 2 17.651 30.965 59.381 1.00 32.64 O +ATOM 13 CB ARG A 2 20.284 30.681 57.801 1.00 33.48 C +ATOM 14 CG ARG A 2 20.665 30.488 56.342 1.00 31.69 C +ATOM 15 CD ARG A 2 21.557 29.281 56.154 1.00 29.91 C +ATOM 16 NE ARG A 2 22.931 29.557 56.551 1.00 28.95 N +ATOM 17 CZ ARG A 2 23.901 28.653 56.528 1.00 30.21 C +ATOM 18 NH1 ARG A 2 23.640 27.417 56.130 1.00 32.54 N +ATOM 19 NH2 ARG A 2 25.132 28.980 56.893 1.00 29.14 N +ATOM 20 N LEU A 3 19.003 32.473 60.366 1.00 35.07 N +ATOM 21 CA LEU A 3 18.330 32.402 61.664 1.00 34.70 C +ATOM 22 C LEU A 3 17.884 33.787 62.117 1.00 35.41 C +ATOM 23 O LEU A 3 17.853 34.091 63.308 1.00 35.91 O +ATOM 24 CB LEU A 3 19.269 31.793 62.710 1.00 31.47 C +ATOM 25 CG LEU A 3 19.695 30.340 62.501 1.00 29.10 C +ATOM 26 CD1 LEU A 3 20.585 29.897 63.648 1.00 26.97 C +ATOM 27 CD2 LEU A 3 18.461 29.459 62.420 1.00 27.95 C +ATOM 28 N ASP A 4 17.517 34.614 61.149 1.00 36.70 N +ATOM 29 CA ASP A 4 17.099 35.980 61.411 1.00 37.42 C +ATOM 30 C ASP A 4 15.897 36.114 62.343 1.00 37.20 C +ATOM 31 O ASP A 4 14.839 35.529 62.107 1.00 35.42 O +ATOM 32 CB ASP A 4 16.814 36.671 60.079 1.00 40.33 C +ATOM 33 CG ASP A 4 17.023 38.166 60.142 1.00 43.16 C +ATOM 34 OD1 ASP A 4 16.121 38.876 60.638 1.00 44.42 O +ATOM 35 OD2 ASP A 4 18.100 38.629 59.699 1.00 45.27 O +ATOM 36 N GLY A 5 16.085 36.893 63.408 1.00 38.60 N +ATOM 37 CA GLY A 5 15.027 37.141 64.378 1.00 40.00 C +ATOM 38 C GLY A 5 14.640 35.963 65.253 1.00 40.53 C +ATOM 39 O GLY A 5 13.475 35.828 65.645 1.00 40.48 O +ATOM 40 N LYS A 6 15.612 35.110 65.565 1.00 39.87 N +ATOM 41 CA LYS A 6 15.354 33.938 66.391 1.00 38.75 C +ATOM 42 C LYS A 6 16.248 33.899 67.615 1.00 37.16 C +ATOM 43 O LYS A 6 17.363 34.427 67.602 1.00 36.93 O +ATOM 44 CB LYS A 6 15.548 32.665 65.571 1.00 39.36 C +ATOM 45 CG LYS A 6 14.498 32.476 64.504 1.00 40.15 C +ATOM 46 CD LYS A 6 14.601 31.107 63.866 1.00 41.73 C +ATOM 47 CE LYS A 6 13.463 30.880 62.879 1.00 44.93 C +ATOM 48 NZ LYS A 6 12.132 31.017 63.537 1.00 44.56 N +ATOM 49 N THR A 7 15.750 33.261 68.670 1.00 34.56 N +ATOM 50 CA THR A 7 16.484 33.152 69.925 1.00 31.14 C +ATOM 51 C THR A 7 16.945 31.728 70.188 1.00 30.82 C +ATOM 52 O THR A 7 16.175 30.775 70.059 1.00 31.78 O +ATOM 53 CB THR A 7 15.618 33.605 71.114 1.00 30.89 C +ATOM 54 OG1 THR A 7 14.409 32.837 71.147 1.00 31.28 O +ATOM 55 CG2 THR A 7 15.263 35.077 70.991 1.00 32.31 C +ATOM 56 N ALA A 8 18.205 31.586 70.573 1.00 29.62 N +ATOM 57 CA ALA A 8 18.759 30.274 70.854 1.00 29.72 C +ATOM 58 C ALA A 8 19.461 30.202 72.215 1.00 30.28 C +ATOM 59 O ALA A 8 20.244 31.084 72.579 1.00 30.25 O +ATOM 60 CB ALA A 8 19.732 29.874 69.745 1.00 29.05 C +ATOM 61 N LEU A 9 19.163 29.146 72.964 1.00 28.68 N +ATOM 62 CA LEU A 9 19.784 28.923 74.261 1.00 26.72 C +ATOM 63 C LEU A 9 20.780 27.790 74.007 1.00 26.04 C +ATOM 64 O LEU A 9 20.390 26.713 73.554 1.00 26.45 O +ATOM 65 CB LEU A 9 18.733 28.471 75.291 1.00 26.06 C +ATOM 66 CG LEU A 9 19.044 28.458 76.801 1.00 25.33 C +ATOM 67 CD1 LEU A 9 17.929 27.731 77.537 1.00 23.24 C +ATOM 68 CD2 LEU A 9 20.359 27.772 77.089 1.00 25.34 C +ATOM 69 N ILE A 10 22.056 28.036 74.278 1.00 23.49 N +ATOM 70 CA ILE A 10 23.077 27.016 74.090 1.00 24.46 C +ATOM 71 C ILE A 10 23.777 26.777 75.422 1.00 27.09 C +ATOM 72 O ILE A 10 24.431 27.677 75.953 1.00 27.64 O +ATOM 73 CB ILE A 10 24.124 27.460 73.057 1.00 24.13 C +ATOM 74 CG1 ILE A 10 23.427 27.822 71.747 1.00 22.48 C +ATOM 75 CG2 ILE A 10 25.153 26.351 72.842 1.00 17.46 C +ATOM 76 CD1 ILE A 10 24.360 28.402 70.719 1.00 24.59 C +ATOM 77 N THR A 11 23.650 25.565 75.955 1.00 27.49 N +ATOM 78 CA THR A 11 24.256 25.247 77.240 1.00 28.56 C +ATOM 79 C THR A 11 25.740 24.948 77.123 1.00 29.62 C +ATOM 80 O THR A 11 26.186 24.359 76.138 1.00 32.36 O +ATOM 81 CB THR A 11 23.551 24.043 77.899 1.00 27.97 C +ATOM 82 OG1 THR A 11 23.883 22.839 77.199 1.00 27.93 O +ATOM 83 CG2 THR A 11 22.050 24.235 77.863 1.00 27.09 C +ATOM 84 N GLY A 12 26.499 25.356 78.137 1.00 29.33 N +ATOM 85 CA GLY A 12 27.934 25.121 78.150 1.00 29.86 C +ATOM 86 C GLY A 12 28.634 25.744 76.963 1.00 31.12 C +ATOM 87 O GLY A 12 29.570 25.170 76.407 1.00 32.13 O +ATOM 88 N SER A 13 28.186 26.939 76.592 1.00 32.78 N +ATOM 89 CA SER A 13 28.721 27.662 75.443 1.00 33.66 C +ATOM 90 C SER A 13 29.757 28.737 75.764 1.00 35.28 C +ATOM 91 O SER A 13 30.039 29.600 74.933 1.00 36.10 O +ATOM 92 CB SER A 13 27.561 28.292 74.674 1.00 32.16 C +ATOM 93 OG SER A 13 26.712 29.012 75.550 1.00 31.20 O +ATOM 94 N ALA A 14 30.323 28.696 76.963 1.00 36.42 N +ATOM 95 CA ALA A 14 31.320 29.688 77.335 1.00 36.95 C +ATOM 96 C ALA A 14 32.594 29.418 76.550 1.00 37.21 C +ATOM 97 O ALA A 14 33.338 30.338 76.218 1.00 36.96 O +ATOM 98 CB ALA A 14 31.600 29.621 78.834 1.00 36.61 C +ATOM 99 N ARG A 15 32.833 28.146 76.249 1.00 37.46 N +ATOM 100 CA ARG A 15 34.025 27.749 75.511 1.00 38.19 C +ATOM 101 C ARG A 15 33.755 26.585 74.573 1.00 36.88 C +ATOM 102 O ARG A 15 32.648 26.040 74.533 1.00 36.88 O +ATOM 103 CB ARG A 15 35.136 27.342 76.484 1.00 40.06 C +ATOM 104 CG ARG A 15 35.555 28.438 77.445 1.00 43.70 C +ATOM 105 CD ARG A 15 36.475 27.902 78.531 1.00 44.19 C +ATOM 106 NE ARG A 15 36.657 28.880 79.598 0.00 44.00 N +ATOM 107 CZ ARG A 15 37.270 28.625 80.748 0.00 44.01 C +ATOM 108 NH1 ARG A 15 37.389 29.576 81.664 0.00 43.97 N +ATOM 109 NH2 ARG A 15 37.761 27.416 80.985 0.00 43.97 N +ATOM 110 N GLY A 16 34.791 26.214 73.825 1.00 35.61 N +ATOM 111 CA GLY A 16 34.707 25.101 72.898 1.00 34.73 C +ATOM 112 C GLY A 16 33.653 25.160 71.808 1.00 33.39 C +ATOM 113 O GLY A 16 33.297 26.227 71.306 1.00 33.46 O +ATOM 114 N ILE A 17 33.164 23.980 71.445 1.00 32.78 N +ATOM 115 CA ILE A 17 32.152 23.820 70.409 1.00 31.95 C +ATOM 116 C ILE A 17 30.913 24.653 70.699 1.00 31.77 C +ATOM 117 O ILE A 17 30.311 25.231 69.789 1.00 32.50 O +ATOM 118 CB ILE A 17 31.747 22.340 70.285 1.00 30.90 C +ATOM 119 CG1 ILE A 17 32.954 21.519 69.822 1.00 31.07 C +ATOM 120 CG2 ILE A 17 30.574 22.194 69.336 1.00 32.31 C +ATOM 121 CD1 ILE A 17 32.682 20.030 69.689 1.00 31.10 C +ATOM 122 N GLY A 18 30.533 24.711 71.968 1.00 30.54 N +ATOM 123 CA GLY A 18 29.362 25.475 72.340 1.00 30.57 C +ATOM 124 C GLY A 18 29.499 26.918 71.916 1.00 31.00 C +ATOM 125 O GLY A 18 28.548 27.511 71.403 1.00 30.12 O +ATOM 126 N ARG A 19 30.685 27.484 72.133 1.00 32.12 N +ATOM 127 CA ARG A 19 30.947 28.870 71.768 1.00 34.24 C +ATOM 128 C ARG A 19 30.840 29.036 70.263 1.00 34.09 C +ATOM 129 O ARG A 19 30.246 30.000 69.775 1.00 34.42 O +ATOM 130 CB ARG A 19 32.341 29.306 72.227 1.00 35.54 C +ATOM 131 CG ARG A 19 32.719 30.675 71.700 1.00 37.76 C +ATOM 132 CD ARG A 19 33.872 31.311 72.446 1.00 41.26 C +ATOM 133 NE ARG A 19 34.100 32.671 71.961 1.00 45.22 N +ATOM 134 CZ ARG A 19 34.886 33.567 72.552 1.00 47.24 C +ATOM 135 NH1 ARG A 19 35.538 33.261 73.668 1.00 47.45 N +ATOM 136 NH2 ARG A 19 35.014 34.779 72.026 1.00 48.67 N +ATOM 137 N ALA A 20 31.420 28.084 69.537 1.00 33.55 N +ATOM 138 CA ALA A 20 31.395 28.100 68.081 1.00 32.10 C +ATOM 139 C ALA A 20 29.960 28.244 67.579 1.00 31.27 C +ATOM 140 O ALA A 20 29.657 29.151 66.801 1.00 30.43 O +ATOM 141 CB ALA A 20 32.014 26.822 67.542 1.00 33.12 C +ATOM 142 N PHE A 21 29.078 27.355 68.031 1.00 29.80 N +ATOM 143 CA PHE A 21 27.681 27.410 67.616 1.00 30.38 C +ATOM 144 C PHE A 21 27.098 28.791 67.875 1.00 31.24 C +ATOM 145 O PHE A 21 26.382 29.341 67.041 1.00 31.23 O +ATOM 146 CB PHE A 21 26.849 26.371 68.372 1.00 31.41 C +ATOM 147 CG PHE A 21 27.159 24.947 68.004 1.00 31.93 C +ATOM 148 CD1 PHE A 21 26.580 23.898 68.713 1.00 32.29 C +ATOM 149 CD2 PHE A 21 28.021 24.649 66.951 1.00 31.51 C +ATOM 150 CE1 PHE A 21 26.858 22.570 68.385 1.00 32.16 C +ATOM 151 CE2 PHE A 21 28.304 23.327 66.615 1.00 31.35 C +ATOM 152 CZ PHE A 21 27.718 22.286 67.334 1.00 32.56 C +ATOM 153 N ALA A 22 27.407 29.349 69.040 1.00 32.80 N +ATOM 154 CA ALA A 22 26.898 30.661 69.410 1.00 32.66 C +ATOM 155 C ALA A 22 27.351 31.695 68.394 1.00 33.14 C +ATOM 156 O ALA A 22 26.539 32.453 67.870 1.00 33.21 O +ATOM 157 CB ALA A 22 27.384 31.037 70.797 1.00 32.85 C +ATOM 158 N GLU A 23 28.649 31.723 68.120 1.00 33.91 N +ATOM 159 CA GLU A 23 29.184 32.667 67.152 1.00 36.31 C +ATOM 160 C GLU A 23 28.513 32.448 65.792 1.00 36.26 C +ATOM 161 O GLU A 23 28.056 33.402 65.158 1.00 37.82 O +ATOM 162 CB GLU A 23 30.713 32.521 67.046 1.00 36.10 C +ATOM 163 CG GLU A 23 31.437 32.932 68.324 1.00 40.69 C +ATOM 164 CD GLU A 23 32.958 32.853 68.229 1.00 43.33 C +ATOM 165 OE1 GLU A 23 33.481 31.834 67.729 1.00 45.41 O +ATOM 166 OE2 GLU A 23 33.635 33.805 68.678 1.00 45.19 O +ATOM 167 N ALA A 24 28.428 31.196 65.355 1.00 35.52 N +ATOM 168 CA ALA A 24 27.799 30.893 64.076 1.00 35.70 C +ATOM 169 C ALA A 24 26.343 31.359 64.068 1.00 36.18 C +ATOM 170 O ALA A 24 25.894 32.018 63.131 1.00 38.13 O +ATOM 171 CB ALA A 24 27.874 29.403 63.802 1.00 35.57 C +ATOM 172 N TYR A 25 25.609 31.018 65.120 1.00 35.70 N +ATOM 173 CA TYR A 25 24.209 31.409 65.240 1.00 34.64 C +ATOM 174 C TYR A 25 24.019 32.924 65.172 1.00 35.28 C +ATOM 175 O TYR A 25 23.109 33.417 64.498 1.00 34.85 O +ATOM 176 CB TYR A 25 23.638 30.869 66.553 1.00 32.65 C +ATOM 177 CG TYR A 25 23.047 29.482 66.442 1.00 31.55 C +ATOM 178 CD1 TYR A 25 23.584 28.537 65.564 1.00 29.81 C +ATOM 179 CD2 TYR A 25 21.943 29.113 67.212 1.00 32.84 C +ATOM 180 CE1 TYR A 25 23.033 27.262 65.452 1.00 28.86 C +ATOM 181 CE2 TYR A 25 21.384 27.835 67.109 1.00 31.38 C +ATOM 182 CZ TYR A 25 21.935 26.917 66.226 1.00 29.78 C +ATOM 183 OH TYR A 25 21.383 25.660 66.120 1.00 28.89 O +ATOM 184 N VAL A 26 24.872 33.660 65.878 1.00 36.23 N +ATOM 185 CA VAL A 26 24.792 35.115 65.884 1.00 37.22 C +ATOM 186 C VAL A 26 25.032 35.634 64.475 1.00 38.84 C +ATOM 187 O VAL A 26 24.326 36.525 64.003 1.00 38.94 O +ATOM 188 CB VAL A 26 25.840 35.733 66.833 1.00 36.95 C +ATOM 189 CG1 VAL A 26 25.880 37.247 66.655 1.00 36.32 C +ATOM 190 CG2 VAL A 26 25.497 35.381 68.278 1.00 35.50 C +ATOM 191 N ARG A 27 26.021 35.055 63.803 1.00 39.22 N +ATOM 192 CA ARG A 27 26.359 35.452 62.444 1.00 40.94 C +ATOM 193 C ARG A 27 25.161 35.300 61.511 1.00 40.42 C +ATOM 194 O ARG A 27 25.075 35.985 60.492 1.00 42.12 O +ATOM 195 CB ARG A 27 27.507 34.597 61.915 1.00 43.30 C +ATOM 196 CG ARG A 27 28.427 35.315 60.945 1.00 47.74 C +ATOM 197 CD ARG A 27 28.992 34.355 59.908 1.00 51.22 C +ATOM 198 NE ARG A 27 29.188 32.999 60.427 1.00 55.99 N +ATOM 199 CZ ARG A 27 28.554 31.917 59.964 1.00 58.56 C +ATOM 200 NH1 ARG A 27 28.791 30.722 60.490 1.00 58.38 N +ATOM 201 NH2 ARG A 27 27.680 32.024 58.969 1.00 60.19 N +ATOM 202 N GLU A 28 24.241 34.402 61.856 1.00 38.14 N +ATOM 203 CA GLU A 28 23.060 34.163 61.031 1.00 36.10 C +ATOM 204 C GLU A 28 21.870 35.017 61.452 1.00 36.39 C +ATOM 205 O GLU A 28 20.727 34.740 61.076 1.00 34.91 O +ATOM 206 CB GLU A 28 22.667 32.682 61.071 1.00 35.69 C +ATOM 207 CG GLU A 28 23.663 31.726 60.403 1.00 33.17 C +ATOM 208 CD GLU A 28 23.837 31.979 58.905 1.00 32.01 C +ATOM 209 OE1 GLU A 28 22.832 32.201 58.195 1.00 28.70 O +ATOM 210 OE2 GLU A 28 24.989 31.942 58.433 1.00 31.55 O +ATOM 211 N GLY A 29 22.149 36.047 62.247 1.00 37.61 N +ATOM 212 CA GLY A 29 21.108 36.956 62.694 1.00 39.19 C +ATOM 213 C GLY A 29 20.233 36.496 63.845 1.00 40.36 C +ATOM 214 O GLY A 29 19.062 36.883 63.935 1.00 40.61 O +ATOM 215 N ALA A 30 20.788 35.682 64.736 1.00 40.68 N +ATOM 216 CA ALA A 30 20.023 35.190 65.876 1.00 40.66 C +ATOM 217 C ALA A 30 20.555 35.725 67.199 1.00 40.40 C +ATOM 218 O ALA A 30 21.729 36.081 67.308 1.00 40.37 O +ATOM 219 CB ALA A 30 20.042 33.676 65.895 1.00 40.55 C +ATOM 220 N ARG A 31 19.674 35.795 68.193 1.00 40.42 N +ATOM 221 CA ARG A 31 20.044 36.250 69.532 1.00 40.52 C +ATOM 222 C ARG A 31 20.339 34.996 70.352 1.00 39.11 C +ATOM 223 O ARG A 31 19.508 34.094 70.439 1.00 38.13 O +ATOM 224 CB ARG A 31 18.899 37.053 70.158 1.00 42.90 C +ATOM 225 CG ARG A 31 18.781 38.467 69.597 1.00 46.44 C +ATOM 226 CD ARG A 31 17.354 38.820 69.230 1.00 48.95 C +ATOM 227 NE ARG A 31 16.476 38.861 70.394 1.00 53.95 N +ATOM 228 CZ ARG A 31 15.162 39.061 70.330 1.00 56.89 C +ATOM 229 NH1 ARG A 31 14.573 39.237 69.151 1.00 58.47 N +ATOM 230 NH2 ARG A 31 14.433 39.087 71.441 1.00 57.00 N +ATOM 231 N VAL A 32 21.529 34.935 70.938 1.00 37.80 N +ATOM 232 CA VAL A 32 21.924 33.765 71.711 1.00 36.59 C +ATOM 233 C VAL A 32 22.185 34.035 73.183 1.00 36.34 C +ATOM 234 O VAL A 32 22.528 35.146 73.578 1.00 35.13 O +ATOM 235 CB VAL A 32 23.194 33.133 71.128 1.00 36.30 C +ATOM 236 CG1 VAL A 32 23.024 32.916 69.627 1.00 37.03 C +ATOM 237 CG2 VAL A 32 24.390 34.025 71.416 1.00 35.06 C +ATOM 238 N ALA A 33 22.040 32.986 73.984 1.00 37.38 N +ATOM 239 CA ALA A 33 22.261 33.058 75.421 1.00 36.31 C +ATOM 240 C ALA A 33 23.443 32.179 75.785 1.00 36.88 C +ATOM 241 O ALA A 33 23.386 30.961 75.625 1.00 37.35 O +ATOM 242 CB ALA A 33 21.025 32.588 76.159 1.00 35.42 C +ATOM 243 N ILE A 34 24.518 32.795 76.264 1.00 38.13 N +ATOM 244 CA ILE A 34 25.699 32.038 76.657 1.00 38.94 C +ATOM 245 C ILE A 34 25.498 31.538 78.080 1.00 40.59 C +ATOM 246 O ILE A 34 25.831 32.227 79.043 1.00 40.22 O +ATOM 247 CB ILE A 34 26.975 32.904 76.619 1.00 38.37 C +ATOM 248 CG1 ILE A 34 27.170 33.497 75.222 1.00 38.46 C +ATOM 249 CG2 ILE A 34 28.185 32.057 76.997 1.00 37.39 C +ATOM 250 CD1 ILE A 34 27.420 32.462 74.150 1.00 38.95 C +ATOM 251 N ALA A 35 24.941 30.339 78.205 1.00 41.92 N +ATOM 252 CA ALA A 35 24.695 29.745 79.508 1.00 43.18 C +ATOM 253 C ALA A 35 25.878 28.894 79.938 1.00 44.41 C +ATOM 254 O ALA A 35 26.433 28.139 79.146 1.00 45.46 O +ATOM 255 CB ALA A 35 23.438 28.901 79.465 1.00 42.44 C +ATOM 256 N ASP A 36 26.262 29.028 81.200 1.00 46.15 N +ATOM 257 CA ASP A 36 27.373 28.265 81.745 1.00 47.31 C +ATOM 258 C ASP A 36 27.265 28.297 83.267 1.00 48.60 C +ATOM 259 O ASP A 36 26.596 29.168 83.829 1.00 49.31 O +ATOM 260 CB ASP A 36 28.699 28.877 81.297 1.00 46.39 C +ATOM 261 CG ASP A 36 29.828 27.871 81.287 1.00 45.88 C +ATOM 262 OD1 ASP A 36 29.800 26.960 80.432 1.00 45.19 O +ATOM 263 OD2 ASP A 36 30.738 27.988 82.136 1.00 45.12 O +ATOM 264 N ILE A 37 27.915 27.351 83.936 1.00 50.09 N +ATOM 265 CA ILE A 37 27.863 27.297 85.392 1.00 51.95 C +ATOM 266 C ILE A 37 28.675 28.423 86.033 1.00 53.37 C +ATOM 267 O ILE A 37 28.359 28.876 87.135 1.00 53.50 O +ATOM 268 CB ILE A 37 28.371 25.949 85.917 1.00 51.56 C +ATOM 269 CG1 ILE A 37 28.119 25.865 87.423 1.00 51.91 C +ATOM 270 CG2 ILE A 37 29.850 25.790 85.595 1.00 51.01 C +ATOM 271 CD1 ILE A 37 28.295 24.481 88.004 1.00 52.00 C +ATOM 272 N ASN A 38 29.720 28.865 85.335 1.00 54.64 N +ATOM 273 CA ASN A 38 30.572 29.955 85.808 1.00 55.52 C +ATOM 274 C ASN A 38 30.205 31.247 85.084 1.00 54.73 C +ATOM 275 O ASN A 38 30.615 31.463 83.940 1.00 55.80 O +ATOM 276 CB ASN A 38 32.046 29.639 85.552 1.00 56.47 C +ATOM 277 CG ASN A 38 32.936 30.854 85.732 1.00 57.78 C +ATOM 278 OD1 ASN A 38 32.920 31.504 86.782 1.00 57.89 O +ATOM 279 ND2 ASN A 38 33.717 31.170 84.706 1.00 58.70 N +ATOM 280 N LEU A 39 29.447 32.105 85.757 1.00 53.84 N +ATOM 281 CA LEU A 39 29.002 33.363 85.173 1.00 54.57 C +ATOM 282 C LEU A 39 30.136 34.284 84.727 1.00 55.54 C +ATOM 283 O LEU A 39 29.931 35.148 83.876 1.00 56.03 O +ATOM 284 CB LEU A 39 28.090 34.097 86.154 1.00 53.87 C +ATOM 285 CG LEU A 39 27.369 35.328 85.603 1.00 54.60 C +ATOM 286 CD1 LEU A 39 26.591 34.951 84.350 1.00 54.32 C +ATOM 287 CD2 LEU A 39 26.433 35.892 86.665 1.00 54.58 C +ATOM 288 N GLU A 40 31.327 34.104 85.295 1.00 56.31 N +ATOM 289 CA GLU A 40 32.472 34.933 84.916 1.00 57.01 C +ATOM 290 C GLU A 40 32.787 34.722 83.441 1.00 56.41 C +ATOM 291 O GLU A 40 32.757 35.662 82.649 1.00 57.32 O +ATOM 292 CB GLU A 40 33.716 34.579 85.745 1.00 57.92 C +ATOM 293 CG GLU A 40 33.674 35.022 87.199 1.00 57.86 C +ATOM 294 CD GLU A 40 34.962 34.708 87.935 0.00 57.81 C +ATOM 295 OE1 GLU A 40 36.020 35.241 87.537 0.00 57.80 O +ATOM 296 OE2 GLU A 40 34.918 33.927 88.909 0.00 57.80 O +ATOM 297 N ALA A 41 33.087 33.477 83.085 1.00 55.70 N +ATOM 298 CA ALA A 41 33.413 33.119 81.710 1.00 55.07 C +ATOM 299 C ALA A 41 32.261 33.441 80.760 1.00 54.36 C +ATOM 300 O ALA A 41 32.485 33.884 79.631 1.00 55.50 O +ATOM 301 CB ALA A 41 33.759 31.637 81.628 1.00 54.86 C +ATOM 302 N ALA A 42 31.033 33.217 81.220 1.00 51.88 N +ATOM 303 CA ALA A 42 29.860 33.487 80.406 1.00 50.49 C +ATOM 304 C ALA A 42 29.833 34.951 79.984 1.00 50.10 C +ATOM 305 O ALA A 42 29.768 35.254 78.795 1.00 50.28 O +ATOM 306 CB ALA A 42 28.595 33.138 81.176 1.00 49.63 C +ATOM 307 N ARG A 43 29.889 35.855 80.960 1.00 49.94 N +ATOM 308 CA ARG A 43 29.873 37.291 80.683 1.00 49.15 C +ATOM 309 C ARG A 43 31.008 37.677 79.745 1.00 48.09 C +ATOM 310 O ARG A 43 30.836 38.518 78.864 1.00 47.84 O +ATOM 311 CB ARG A 43 30.007 38.101 81.977 1.00 49.16 C +ATOM 312 CG ARG A 43 28.905 37.872 82.993 1.00 49.68 C +ATOM 313 CD ARG A 43 28.432 39.193 83.580 1.00 49.79 C +ATOM 314 NE ARG A 43 29.543 40.037 84.010 0.00 49.84 N +ATOM 315 CZ ARG A 43 30.359 39.749 85.018 0.00 49.87 C +ATOM 316 NH1 ARG A 43 30.194 38.631 85.712 0.00 49.88 N +ATOM 317 NH2 ARG A 43 31.344 40.580 85.331 0.00 49.88 N +ATOM 318 N ALA A 44 32.168 37.058 79.948 1.00 46.99 N +ATOM 319 CA ALA A 44 33.347 37.326 79.134 1.00 47.53 C +ATOM 320 C ALA A 44 33.092 37.017 77.663 1.00 48.09 C +ATOM 321 O ALA A 44 33.331 37.854 76.789 1.00 48.80 O +ATOM 322 CB ALA A 44 34.517 36.499 79.640 1.00 46.98 C +ATOM 323 N THR A 45 32.613 35.805 77.401 1.00 48.24 N +ATOM 324 CA THR A 45 32.315 35.359 76.046 1.00 47.85 C +ATOM 325 C THR A 45 31.174 36.166 75.430 1.00 48.44 C +ATOM 326 O THR A 45 31.248 36.574 74.271 1.00 48.68 O +ATOM 327 CB THR A 45 31.932 33.864 76.037 1.00 47.38 C +ATOM 328 OG1 THR A 45 33.031 33.089 76.529 1.00 45.66 O +ATOM 329 CG2 THR A 45 31.589 33.403 74.631 1.00 47.55 C +ATOM 330 N ALA A 46 30.121 36.396 76.207 1.00 49.20 N +ATOM 331 CA ALA A 46 28.970 37.147 75.722 1.00 50.60 C +ATOM 332 C ALA A 46 29.372 38.548 75.281 1.00 51.74 C +ATOM 333 O ALA A 46 28.896 39.053 74.260 1.00 52.51 O +ATOM 334 CB ALA A 46 27.906 37.228 76.806 1.00 50.87 C +ATOM 335 N ALA A 47 30.248 39.174 76.059 1.00 52.05 N +ATOM 336 CA ALA A 47 30.707 40.523 75.755 1.00 52.69 C +ATOM 337 C ALA A 47 31.644 40.502 74.553 1.00 51.52 C +ATOM 338 O ALA A 47 31.737 41.470 73.799 1.00 51.19 O +ATOM 339 CB ALA A 47 31.419 41.112 76.969 1.00 52.78 C +ATOM 340 N GLU A 48 32.330 39.380 74.388 1.00 51.09 N +ATOM 341 CA GLU A 48 33.274 39.192 73.301 1.00 51.37 C +ATOM 342 C GLU A 48 32.542 39.009 71.972 1.00 51.47 C +ATOM 343 O GLU A 48 33.058 39.387 70.918 1.00 52.14 O +ATOM 344 CB GLU A 48 34.139 37.968 73.606 1.00 52.10 C +ATOM 345 CG GLU A 48 35.520 37.991 72.994 1.00 54.21 C +ATOM 346 CD GLU A 48 36.492 37.099 73.748 1.00 54.75 C +ATOM 347 OE1 GLU A 48 36.631 37.285 74.974 1.00 56.29 O +ATOM 348 OE2 GLU A 48 37.119 36.218 73.125 1.00 55.57 O +ATOM 349 N ILE A 49 31.336 38.442 72.035 1.00 50.68 N +ATOM 350 CA ILE A 49 30.522 38.190 70.846 1.00 49.69 C +ATOM 351 C ILE A 49 29.723 39.410 70.390 1.00 49.67 C +ATOM 352 O ILE A 49 29.548 39.630 69.192 1.00 49.69 O +ATOM 353 CB ILE A 49 29.549 36.999 71.076 1.00 49.01 C +ATOM 354 CG1 ILE A 49 30.350 35.705 71.233 1.00 48.28 C +ATOM 355 CG2 ILE A 49 28.568 36.880 69.916 1.00 47.17 C +ATOM 356 CD1 ILE A 49 29.499 34.463 71.377 1.00 47.96 C +ATOM 357 N GLY A 50 29.228 40.200 71.335 1.00 49.39 N +ATOM 358 CA GLY A 50 28.476 41.377 70.949 1.00 49.47 C +ATOM 359 C GLY A 50 27.117 41.538 71.598 1.00 50.11 C +ATOM 360 O GLY A 50 26.726 40.737 72.449 1.00 50.29 O +ATOM 361 N PRO A 51 26.372 42.587 71.207 1.00 50.40 N +ATOM 362 CA PRO A 51 25.034 42.921 71.712 1.00 49.58 C +ATOM 363 C PRO A 51 23.998 41.830 71.457 1.00 49.02 C +ATOM 364 O PRO A 51 22.927 41.829 72.067 1.00 49.15 O +ATOM 365 CB PRO A 51 24.695 44.209 70.962 1.00 50.07 C +ATOM 366 CG PRO A 51 26.039 44.821 70.704 1.00 49.86 C +ATOM 367 CD PRO A 51 26.847 43.628 70.278 1.00 49.89 C +ATOM 368 N ALA A 52 24.318 40.909 70.553 1.00 48.54 N +ATOM 369 CA ALA A 52 23.401 39.823 70.213 1.00 48.72 C +ATOM 370 C ALA A 52 23.466 38.671 71.213 1.00 48.10 C +ATOM 371 O ALA A 52 22.586 37.809 71.240 1.00 48.18 O +ATOM 372 CB ALA A 52 23.698 39.313 68.809 1.00 47.21 C +ATOM 373 N ALA A 53 24.508 38.661 72.035 1.00 47.86 N +ATOM 374 CA ALA A 53 24.677 37.611 73.028 1.00 48.97 C +ATOM 375 C ALA A 53 24.611 38.150 74.458 1.00 49.45 C +ATOM 376 O ALA A 53 25.078 39.251 74.743 1.00 50.94 O +ATOM 377 CB ALA A 53 26.007 36.901 72.803 1.00 48.79 C +ATOM 378 N CYS A 54 24.015 37.370 75.351 1.00 48.98 N +ATOM 379 CA CYS A 54 23.913 37.747 76.749 1.00 48.17 C +ATOM 380 C CYS A 54 24.262 36.524 77.589 1.00 47.49 C +ATOM 381 O CYS A 54 24.032 35.389 77.168 1.00 47.24 O +ATOM 382 CB CYS A 54 22.505 38.250 77.070 1.00 49.09 C +ATOM 383 SG CYS A 54 21.176 37.139 76.603 1.00 53.63 S +ATOM 384 N ALA A 55 24.835 36.757 78.766 1.00 46.35 N +ATOM 385 CA ALA A 55 25.234 35.670 79.651 1.00 44.77 C +ATOM 386 C ALA A 55 24.166 35.313 80.682 1.00 44.27 C +ATOM 387 O ALA A 55 23.260 36.099 80.968 1.00 44.34 O +ATOM 388 CB ALA A 55 26.541 36.029 80.353 1.00 44.16 C +ATOM 389 N ILE A 56 24.274 34.107 81.224 1.00 43.29 N +ATOM 390 CA ILE A 56 23.343 33.630 82.237 1.00 42.02 C +ATOM 391 C ILE A 56 23.912 32.391 82.914 1.00 41.19 C +ATOM 392 O ILE A 56 24.461 31.500 82.259 1.00 40.62 O +ATOM 393 CB ILE A 56 21.952 33.301 81.641 1.00 41.75 C +ATOM 394 CG1 ILE A 56 20.980 32.970 82.770 1.00 41.95 C +ATOM 395 CG2 ILE A 56 22.037 32.118 80.696 1.00 41.03 C +ATOM 396 CD1 ILE A 56 19.538 32.936 82.327 1.00 42.82 C +ATOM 397 N ALA A 57 23.793 32.349 84.235 1.00 39.65 N +ATOM 398 CA ALA A 57 24.308 31.232 85.012 1.00 38.36 C +ATOM 399 C ALA A 57 23.370 30.037 84.907 1.00 37.61 C +ATOM 400 O ALA A 57 22.146 30.182 84.994 1.00 36.56 O +ATOM 401 CB ALA A 57 24.475 31.649 86.468 1.00 37.83 C +ATOM 402 N LEU A 58 23.947 28.855 84.717 1.00 36.28 N +ATOM 403 CA LEU A 58 23.140 27.651 84.599 1.00 35.96 C +ATOM 404 C LEU A 58 23.840 26.388 85.066 1.00 35.93 C +ATOM 405 O LEU A 58 24.970 26.097 84.670 1.00 36.09 O +ATOM 406 CB LEU A 58 22.692 27.458 83.152 1.00 35.23 C +ATOM 407 CG LEU A 58 21.843 26.214 82.879 1.00 33.94 C +ATOM 408 CD1 LEU A 58 20.495 26.339 83.567 1.00 30.46 C +ATOM 409 CD2 LEU A 58 21.654 26.060 81.378 1.00 33.43 C +ATOM 410 N ASP A 59 23.156 25.643 85.921 1.00 35.71 N +ATOM 411 CA ASP A 59 23.674 24.380 86.417 1.00 35.86 C +ATOM 412 C ASP A 59 22.624 23.368 85.984 1.00 35.81 C +ATOM 413 O ASP A 59 21.618 23.187 86.673 1.00 35.94 O +ATOM 414 CB ASP A 59 23.780 24.396 87.938 1.00 36.21 C +ATOM 415 CG ASP A 59 24.445 23.156 88.474 1.00 37.33 C +ATOM 416 OD1 ASP A 59 24.050 22.047 88.059 1.00 36.23 O +ATOM 417 OD2 ASP A 59 25.362 23.291 89.307 1.00 40.49 O +ATOM 418 N VAL A 60 22.845 22.723 84.838 1.00 34.59 N +ATOM 419 CA VAL A 60 21.877 21.764 84.314 1.00 33.19 C +ATOM 420 C VAL A 60 21.534 20.613 85.254 1.00 33.10 C +ATOM 421 O VAL A 60 20.557 19.899 85.025 1.00 31.94 O +ATOM 422 CB VAL A 60 22.331 21.174 82.945 1.00 32.86 C +ATOM 423 CG1 VAL A 60 22.377 22.279 81.896 1.00 30.34 C +ATOM 424 CG2 VAL A 60 23.684 20.491 83.078 1.00 31.52 C +ATOM 425 N THR A 61 22.321 20.434 86.312 1.00 33.07 N +ATOM 426 CA THR A 61 22.057 19.356 87.259 1.00 34.49 C +ATOM 427 C THR A 61 21.128 19.803 88.388 1.00 35.19 C +ATOM 428 O THR A 61 20.699 18.986 89.201 1.00 36.31 O +ATOM 429 CB THR A 61 23.344 18.836 87.901 1.00 34.05 C +ATOM 430 OG1 THR A 61 23.795 19.777 88.879 1.00 36.43 O +ATOM 431 CG2 THR A 61 24.422 18.655 86.856 1.00 33.40 C +ATOM 432 N ASP A 62 20.818 21.098 88.433 1.00 36.00 N +ATOM 433 CA ASP A 62 19.945 21.644 89.473 1.00 35.14 C +ATOM 434 C ASP A 62 18.631 22.188 88.916 1.00 34.81 C +ATOM 435 O ASP A 62 18.615 23.185 88.194 1.00 34.83 O +ATOM 436 CB ASP A 62 20.663 22.760 90.228 1.00 37.13 C +ATOM 437 CG ASP A 62 19.817 23.336 91.339 1.00 38.64 C +ATOM 438 OD1 ASP A 62 19.553 22.601 92.314 1.00 40.81 O +ATOM 439 OD2 ASP A 62 19.407 24.512 91.235 1.00 38.60 O +ATOM 440 N GLN A 63 17.527 21.546 89.275 1.00 33.87 N +ATOM 441 CA GLN A 63 16.217 21.962 88.794 1.00 33.52 C +ATOM 442 C GLN A 63 15.944 23.448 89.021 1.00 34.72 C +ATOM 443 O GLN A 63 15.393 24.129 88.158 1.00 35.13 O +ATOM 444 CB GLN A 63 15.128 21.138 89.477 1.00 32.53 C +ATOM 445 CG GLN A 63 13.749 21.322 88.871 1.00 32.39 C +ATOM 446 CD GLN A 63 13.678 20.827 87.437 1.00 32.46 C +ATOM 447 OE1 GLN A 63 13.977 19.666 87.154 1.00 31.56 O +ATOM 448 NE2 GLN A 63 13.279 21.707 86.526 1.00 30.21 N +ATOM 449 N ALA A 64 16.329 23.955 90.187 1.00 35.86 N +ATOM 450 CA ALA A 64 16.097 25.362 90.506 1.00 34.48 C +ATOM 451 C ALA A 64 16.796 26.271 89.506 1.00 32.80 C +ATOM 452 O ALA A 64 16.200 27.223 89.001 1.00 32.43 O +ATOM 453 CB ALA A 64 16.579 25.670 91.924 1.00 35.25 C +ATOM 454 N SER A 65 18.062 25.976 89.227 1.00 31.21 N +ATOM 455 CA SER A 65 18.843 26.772 88.284 1.00 30.13 C +ATOM 456 C SER A 65 18.215 26.692 86.894 1.00 29.47 C +ATOM 457 O SER A 65 18.210 27.665 86.144 1.00 27.80 O +ATOM 458 CB SER A 65 20.284 26.266 88.238 1.00 29.21 C +ATOM 459 OG SER A 65 21.095 27.121 87.457 1.00 30.51 O +ATOM 460 N ILE A 66 17.674 25.523 86.567 1.00 29.84 N +ATOM 461 CA ILE A 66 17.037 25.306 85.277 1.00 30.26 C +ATOM 462 C ILE A 66 15.785 26.169 85.134 1.00 32.24 C +ATOM 463 O ILE A 66 15.634 26.890 84.147 1.00 32.91 O +ATOM 464 CB ILE A 66 16.686 23.801 85.077 1.00 27.13 C +ATOM 465 CG1 ILE A 66 17.952 23.026 84.702 1.00 24.91 C +ATOM 466 CG2 ILE A 66 15.609 23.636 84.022 1.00 24.45 C +ATOM 467 CD1 ILE A 66 17.751 21.532 84.563 1.00 26.91 C +ATOM 468 N ASP A 67 14.893 26.108 86.117 1.00 34.00 N +ATOM 469 CA ASP A 67 13.664 26.895 86.059 1.00 35.40 C +ATOM 470 C ASP A 67 13.937 28.400 86.059 1.00 36.75 C +ATOM 471 O ASP A 67 13.202 29.176 85.442 1.00 36.01 O +ATOM 472 CB ASP A 67 12.742 26.532 87.225 1.00 36.58 C +ATOM 473 CG ASP A 67 12.308 25.081 87.193 1.00 38.36 C +ATOM 474 OD1 ASP A 67 11.931 24.610 86.103 1.00 39.81 O +ATOM 475 OD2 ASP A 67 12.336 24.413 88.252 1.00 38.47 O +ATOM 476 N ARG A 68 14.985 28.819 86.758 1.00 38.36 N +ATOM 477 CA ARG A 68 15.316 30.231 86.796 1.00 40.77 C +ATOM 478 C ARG A 68 15.752 30.657 85.408 1.00 41.08 C +ATOM 479 O ARG A 68 15.227 31.623 84.852 1.00 40.58 O +ATOM 480 CB ARG A 68 16.445 30.508 87.788 1.00 44.09 C +ATOM 481 CG ARG A 68 15.981 30.904 89.178 1.00 48.76 C +ATOM 482 CD ARG A 68 17.099 31.640 89.915 1.00 53.27 C +ATOM 483 NE ARG A 68 18.266 30.792 90.159 1.00 54.86 N +ATOM 484 CZ ARG A 68 18.303 29.815 91.061 1.00 54.87 C +ATOM 485 NH1 ARG A 68 17.235 29.562 91.810 1.00 55.06 N +ATOM 486 NH2 ARG A 68 19.406 29.090 91.213 1.00 54.48 N +ATOM 487 N CYS A 69 16.712 29.918 84.856 1.00 40.06 N +ATOM 488 CA CYS A 69 17.252 30.191 83.531 1.00 39.62 C +ATOM 489 C CYS A 69 16.169 30.403 82.475 1.00 38.72 C +ATOM 490 O CYS A 69 16.150 31.422 81.783 1.00 37.80 O +ATOM 491 CB CYS A 69 18.165 29.044 83.100 1.00 39.99 C +ATOM 492 SG CYS A 69 18.689 29.125 81.368 1.00 42.49 S +ATOM 493 N VAL A 70 15.265 29.438 82.361 1.00 38.16 N +ATOM 494 CA VAL A 70 14.189 29.507 81.384 1.00 37.40 C +ATOM 495 C VAL A 70 13.238 30.673 81.619 1.00 38.38 C +ATOM 496 O VAL A 70 12.861 31.369 80.679 1.00 40.49 O +ATOM 497 CB VAL A 70 13.381 28.194 81.370 1.00 36.15 C +ATOM 498 CG1 VAL A 70 12.103 28.367 80.558 1.00 34.94 C +ATOM 499 CG2 VAL A 70 14.233 27.081 80.784 1.00 34.51 C +ATOM 500 N ALA A 71 12.843 30.881 82.868 1.00 38.72 N +ATOM 501 CA ALA A 71 11.934 31.969 83.201 1.00 38.96 C +ATOM 502 C ALA A 71 12.553 33.335 82.885 1.00 39.02 C +ATOM 503 O ALA A 71 11.873 34.233 82.394 1.00 37.96 O +ATOM 504 CB ALA A 71 11.554 31.891 84.680 1.00 39.38 C +ATOM 505 N GLU A 72 13.844 33.483 83.160 1.00 38.71 N +ATOM 506 CA GLU A 72 14.534 34.741 82.913 1.00 40.87 C +ATOM 507 C GLU A 72 14.619 35.073 81.427 1.00 42.58 C +ATOM 508 O GLU A 72 14.327 36.200 81.017 1.00 43.89 O +ATOM 509 CB GLU A 72 15.936 34.691 83.515 1.00 41.27 C +ATOM 510 CG GLU A 72 16.717 35.978 83.370 1.00 44.16 C +ATOM 511 CD GLU A 72 17.913 36.020 84.299 1.00 46.54 C +ATOM 512 OE1 GLU A 72 18.684 37.003 84.250 1.00 46.48 O +ATOM 513 OE2 GLU A 72 18.076 35.063 85.086 1.00 48.50 O +ATOM 514 N LEU A 73 15.021 34.094 80.622 1.00 42.36 N +ATOM 515 CA LEU A 73 15.134 34.288 79.183 1.00 40.61 C +ATOM 516 C LEU A 73 13.766 34.552 78.574 1.00 41.27 C +ATOM 517 O LEU A 73 13.641 35.313 77.613 1.00 40.27 O +ATOM 518 CB LEU A 73 15.770 33.060 78.536 1.00 40.13 C +ATOM 519 CG LEU A 73 17.241 32.840 78.898 1.00 38.89 C +ATOM 520 CD1 LEU A 73 17.704 31.513 78.328 1.00 38.35 C +ATOM 521 CD2 LEU A 73 18.090 33.994 78.365 1.00 37.11 C +ATOM 522 N LEU A 74 12.738 33.925 79.135 1.00 42.57 N +ATOM 523 CA LEU A 74 11.384 34.124 78.639 1.00 45.20 C +ATOM 524 C LEU A 74 10.957 35.578 78.780 1.00 47.81 C +ATOM 525 O LEU A 74 10.206 36.089 77.953 1.00 48.42 O +ATOM 526 CB LEU A 74 10.395 33.229 79.386 1.00 43.87 C +ATOM 527 CG LEU A 74 10.201 31.823 78.817 1.00 44.62 C +ATOM 528 CD1 LEU A 74 9.162 31.074 79.643 1.00 45.12 C +ATOM 529 CD2 LEU A 74 9.745 31.919 77.367 1.00 44.40 C +ATOM 530 N ASP A 75 11.432 36.243 79.830 1.00 50.76 N +ATOM 531 CA ASP A 75 11.076 37.637 80.051 1.00 52.76 C +ATOM 532 C ASP A 75 11.948 38.559 79.219 1.00 52.17 C +ATOM 533 O ASP A 75 11.502 39.623 78.803 1.00 52.65 O +ATOM 534 CB ASP A 75 11.193 38.005 81.535 1.00 56.34 C +ATOM 535 CG ASP A 75 10.282 37.165 82.419 1.00 59.85 C +ATOM 536 OD1 ASP A 75 9.204 36.740 81.942 1.00 60.41 O +ATOM 537 OD2 ASP A 75 10.641 36.942 83.596 1.00 62.77 O +ATOM 538 N ARG A 76 13.189 38.152 78.972 1.00 51.65 N +ATOM 539 CA ARG A 76 14.096 38.966 78.170 1.00 50.77 C +ATOM 540 C ARG A 76 13.787 38.837 76.680 1.00 48.49 C +ATOM 541 O ARG A 76 13.930 39.802 75.932 1.00 48.31 O +ATOM 542 CB ARG A 76 15.558 38.560 78.388 1.00 52.74 C +ATOM 543 CG ARG A 76 16.071 38.633 79.814 1.00 56.53 C +ATOM 544 CD ARG A 76 17.593 38.707 79.785 1.00 60.30 C +ATOM 545 NE ARG A 76 18.226 38.126 80.965 1.00 64.33 N +ATOM 546 CZ ARG A 76 19.544 38.051 81.138 1.00 66.39 C +ATOM 547 NH1 ARG A 76 20.364 38.528 80.207 1.00 66.95 N +ATOM 548 NH2 ARG A 76 20.046 37.489 82.233 1.00 67.54 N +ATOM 549 N TRP A 77 13.367 37.649 76.250 1.00 45.41 N +ATOM 550 CA TRP A 77 13.073 37.420 74.835 1.00 42.13 C +ATOM 551 C TRP A 77 11.604 37.231 74.487 1.00 41.62 C +ATOM 552 O TRP A 77 11.191 37.532 73.372 1.00 42.05 O +ATOM 553 CB TRP A 77 13.828 36.196 74.313 1.00 40.03 C +ATOM 554 CG TRP A 77 15.319 36.285 74.371 1.00 37.51 C +ATOM 555 CD1 TRP A 77 16.080 37.418 74.381 1.00 36.49 C +ATOM 556 CD2 TRP A 77 16.236 35.186 74.343 1.00 36.56 C +ATOM 557 NE1 TRP A 77 17.415 37.092 74.356 1.00 36.46 N +ATOM 558 CE2 TRP A 77 17.538 35.726 74.331 1.00 35.91 C +ATOM 559 CE3 TRP A 77 16.083 33.793 74.319 1.00 36.20 C +ATOM 560 CZ2 TRP A 77 18.682 34.926 74.301 1.00 36.10 C +ATOM 561 CZ3 TRP A 77 17.218 32.997 74.289 1.00 35.54 C +ATOM 562 CH2 TRP A 77 18.501 33.567 74.278 1.00 35.62 C +ATOM 563 N GLY A 78 10.817 36.722 75.427 1.00 41.28 N +ATOM 564 CA GLY A 78 9.413 36.492 75.148 1.00 39.86 C +ATOM 565 C GLY A 78 9.199 35.091 74.606 1.00 39.97 C +ATOM 566 O GLY A 78 8.073 34.603 74.550 1.00 40.78 O +ATOM 567 N SER A 79 10.281 34.441 74.189 1.00 39.94 N +ATOM 568 CA SER A 79 10.198 33.078 73.665 1.00 40.25 C +ATOM 569 C SER A 79 11.570 32.517 73.303 1.00 39.63 C +ATOM 570 O SER A 79 12.458 33.249 72.854 1.00 39.90 O +ATOM 571 CB SER A 79 9.300 33.022 72.426 1.00 40.29 C +ATOM 572 OG SER A 79 9.923 33.655 71.324 1.00 41.43 O +ATOM 573 N ILE A 80 11.733 31.214 73.509 1.00 37.58 N +ATOM 574 CA ILE A 80 12.976 30.529 73.189 1.00 35.51 C +ATOM 575 C ILE A 80 12.668 29.699 71.951 1.00 34.68 C +ATOM 576 O ILE A 80 11.840 28.787 72.008 1.00 35.20 O +ATOM 577 CB ILE A 80 13.401 29.597 74.332 1.00 35.48 C +ATOM 578 CG1 ILE A 80 13.495 30.395 75.631 1.00 36.66 C +ATOM 579 CG2 ILE A 80 14.737 28.950 74.013 1.00 34.17 C +ATOM 580 CD1 ILE A 80 13.798 29.547 76.843 1.00 38.10 C +ATOM 581 N ASP A 81 13.314 30.021 70.832 1.00 31.81 N +ATOM 582 CA ASP A 81 13.066 29.295 69.590 1.00 29.02 C +ATOM 583 C ASP A 81 13.932 28.060 69.419 1.00 26.87 C +ATOM 584 O ASP A 81 13.478 27.046 68.891 1.00 25.72 O +ATOM 585 CB ASP A 81 13.288 30.199 68.377 1.00 30.39 C +ATOM 586 CG ASP A 81 12.416 31.436 68.400 1.00 32.09 C +ATOM 587 OD1 ASP A 81 11.213 31.313 68.725 1.00 32.38 O +ATOM 588 OD2 ASP A 81 12.938 32.527 68.081 1.00 32.67 O +ATOM 589 N ILE A 82 15.177 28.146 69.872 1.00 24.06 N +ATOM 590 CA ILE A 82 16.111 27.042 69.710 1.00 23.63 C +ATOM 591 C ILE A 82 16.885 26.710 70.981 1.00 23.22 C +ATOM 592 O ILE A 82 17.361 27.601 71.683 1.00 23.85 O +ATOM 593 CB ILE A 82 17.145 27.369 68.607 1.00 23.10 C +ATOM 594 CG1 ILE A 82 16.439 27.943 67.373 1.00 24.17 C +ATOM 595 CG2 ILE A 82 17.930 26.127 68.255 1.00 20.12 C +ATOM 596 CD1 ILE A 82 17.391 28.510 66.314 1.00 21.60 C +ATOM 597 N LEU A 83 17.036 25.419 71.249 1.00 22.50 N +ATOM 598 CA LEU A 83 17.762 24.955 72.423 1.00 21.46 C +ATOM 599 C LEU A 83 18.813 23.938 72.002 1.00 21.96 C +ATOM 600 O LEU A 83 18.507 22.958 71.319 1.00 23.88 O +ATOM 601 CB LEU A 83 16.781 24.334 73.430 1.00 21.20 C +ATOM 602 CG LEU A 83 17.255 23.705 74.752 1.00 22.02 C +ATOM 603 CD1 LEU A 83 17.386 22.220 74.577 1.00 24.56 C +ATOM 604 CD2 LEU A 83 18.561 24.314 75.223 1.00 21.61 C +ATOM 605 N VAL A 84 20.057 24.181 72.403 1.00 21.01 N +ATOM 606 CA VAL A 84 21.145 23.284 72.067 1.00 20.11 C +ATOM 607 C VAL A 84 21.814 22.744 73.319 1.00 20.79 C +ATOM 608 O VAL A 84 22.588 23.445 73.971 1.00 22.04 O +ATOM 609 CB VAL A 84 22.218 23.995 71.203 1.00 21.55 C +ATOM 610 CG1 VAL A 84 23.360 23.030 70.890 1.00 18.11 C +ATOM 611 CG2 VAL A 84 21.589 24.518 69.912 1.00 20.98 C +ATOM 612 N ASN A 85 21.509 21.496 73.656 1.00 20.08 N +ATOM 613 CA ASN A 85 22.106 20.862 74.819 1.00 18.51 C +ATOM 614 C ASN A 85 23.548 20.468 74.495 1.00 18.52 C +ATOM 615 O ASN A 85 23.817 19.350 74.057 1.00 19.21 O +ATOM 616 CB ASN A 85 21.304 19.622 75.233 1.00 18.41 C +ATOM 617 CG ASN A 85 19.937 19.970 75.824 1.00 18.99 C +ATOM 618 OD1 ASN A 85 19.813 20.879 76.644 1.00 16.61 O +ATOM 619 ND2 ASN A 85 18.908 19.230 75.419 1.00 18.55 N +ATOM 620 N ASN A 86 24.468 21.402 74.713 1.00 18.04 N +ATOM 621 CA ASN A 86 25.885 21.179 74.452 1.00 18.54 C +ATOM 622 C ASN A 86 26.713 20.843 75.712 1.00 18.47 C +ATOM 623 O ASN A 86 27.798 20.269 75.608 1.00 14.60 O +ATOM 624 CB ASN A 86 26.474 22.420 73.771 1.00 18.83 C +ATOM 625 CG ASN A 86 27.958 22.285 73.500 1.00 23.16 C +ATOM 626 OD1 ASN A 86 28.385 21.440 72.711 1.00 24.69 O +ATOM 627 ND2 ASN A 86 28.758 23.114 74.164 1.00 27.29 N +ATOM 628 N ALA A 87 26.208 21.199 76.895 1.00 18.54 N +ATOM 629 CA ALA A 87 26.934 20.936 78.146 1.00 18.23 C +ATOM 630 C ALA A 87 27.198 19.454 78.361 1.00 17.40 C +ATOM 631 O ALA A 87 26.286 18.635 78.299 1.00 18.97 O +ATOM 632 CB ALA A 87 26.164 21.504 79.332 1.00 18.39 C +ATOM 633 N ALA A 88 28.449 19.106 78.629 1.00 17.55 N +ATOM 634 CA ALA A 88 28.793 17.712 78.827 1.00 18.66 C +ATOM 635 C ALA A 88 30.147 17.528 79.504 1.00 20.46 C +ATOM 636 O ALA A 88 30.954 18.452 79.575 1.00 21.40 O +ATOM 637 CB ALA A 88 28.783 16.992 77.480 1.00 18.28 C +ATOM 638 N LEU A 89 30.384 16.322 80.004 1.00 22.35 N +ATOM 639 CA LEU A 89 31.637 15.993 80.661 1.00 22.91 C +ATOM 640 C LEU A 89 32.177 14.702 80.088 1.00 21.30 C +ATOM 641 O LEU A 89 31.428 13.839 79.646 1.00 19.69 O +ATOM 642 CB LEU A 89 31.445 15.823 82.173 1.00 27.01 C +ATOM 643 CG LEU A 89 31.564 17.045 83.089 1.00 29.37 C +ATOM 644 CD1 LEU A 89 31.381 16.585 84.531 1.00 30.12 C +ATOM 645 CD2 LEU A 89 32.931 17.704 82.926 1.00 29.29 C +ATOM 646 N PHE A 90 33.491 14.578 80.114 1.00 22.22 N +ATOM 647 CA PHE A 90 34.151 13.400 79.595 1.00 22.86 C +ATOM 648 C PHE A 90 35.035 12.768 80.668 1.00 24.47 C +ATOM 649 O PHE A 90 35.492 13.445 81.588 1.00 25.08 O +ATOM 650 CB PHE A 90 34.986 13.782 78.373 1.00 19.71 C +ATOM 651 CG PHE A 90 35.767 12.648 77.812 1.00 20.71 C +ATOM 652 CD1 PHE A 90 37.100 12.473 78.154 1.00 20.21 C +ATOM 653 CD2 PHE A 90 35.162 11.731 76.961 1.00 20.67 C +ATOM 654 CE1 PHE A 90 37.821 11.396 77.662 1.00 20.92 C +ATOM 655 CE2 PHE A 90 35.873 10.650 76.463 1.00 19.79 C +ATOM 656 CZ PHE A 90 37.208 10.485 76.812 1.00 21.68 C +ATOM 657 N ASP A 91 35.272 11.468 80.543 1.00 25.32 N +ATOM 658 CA ASP A 91 36.094 10.747 81.500 1.00 25.52 C +ATOM 659 C ASP A 91 36.311 9.346 80.941 1.00 26.06 C +ATOM 660 O ASP A 91 35.546 8.882 80.094 1.00 25.43 O +ATOM 661 CB ASP A 91 35.366 10.668 82.844 1.00 28.34 C +ATOM 662 CG ASP A 91 36.315 10.550 84.033 1.00 28.51 C +ATOM 663 OD1 ASP A 91 35.804 10.377 85.159 1.00 32.55 O +ATOM 664 OD2 ASP A 91 37.551 10.635 83.857 1.00 25.53 O +ATOM 665 N LEU A 92 37.354 8.671 81.406 1.00 25.99 N +ATOM 666 CA LEU A 92 37.626 7.326 80.930 1.00 25.97 C +ATOM 667 C LEU A 92 38.276 6.478 82.000 1.00 24.25 C +ATOM 668 O LEU A 92 38.981 6.986 82.864 1.00 25.34 O +ATOM 669 CB LEU A 92 38.512 7.376 79.679 1.00 28.10 C +ATOM 670 CG LEU A 92 39.851 8.112 79.755 1.00 29.37 C +ATOM 671 CD1 LEU A 92 40.986 7.107 79.781 1.00 31.08 C +ATOM 672 CD2 LEU A 92 39.999 9.018 78.551 1.00 30.89 C +ATOM 673 N ALA A 93 38.021 5.179 81.939 1.00 22.01 N +ATOM 674 CA ALA A 93 38.583 4.244 82.895 1.00 21.68 C +ATOM 675 C ALA A 93 38.022 2.870 82.587 1.00 19.84 C +ATOM 676 O ALA A 93 36.883 2.756 82.135 1.00 20.46 O +ATOM 677 CB ALA A 93 38.203 4.658 84.326 1.00 22.18 C +ATOM 678 N PRO A 94 38.820 1.809 82.805 1.00 18.44 N +ATOM 679 CA PRO A 94 38.352 0.445 82.542 1.00 18.56 C +ATOM 680 C PRO A 94 37.196 0.101 83.484 1.00 19.10 C +ATOM 681 O PRO A 94 36.959 0.790 84.482 1.00 17.96 O +ATOM 682 CB PRO A 94 39.587 -0.414 82.829 1.00 17.65 C +ATOM 683 CG PRO A 94 40.720 0.506 82.557 1.00 16.82 C +ATOM 684 CD PRO A 94 40.258 1.815 83.132 1.00 17.44 C +ATOM 685 N ILE A 95 36.486 -0.972 83.167 1.00 19.35 N +ATOM 686 CA ILE A 95 35.367 -1.411 83.984 1.00 19.77 C +ATOM 687 C ILE A 95 35.747 -1.563 85.463 1.00 19.74 C +ATOM 688 O ILE A 95 35.127 -0.953 86.328 1.00 18.49 O +ATOM 689 CB ILE A 95 34.809 -2.762 83.478 1.00 19.29 C +ATOM 690 CG1 ILE A 95 34.212 -2.590 82.077 1.00 19.44 C +ATOM 691 CG2 ILE A 95 33.753 -3.292 84.451 1.00 19.79 C +ATOM 692 CD1 ILE A 95 33.033 -1.623 82.015 1.00 17.09 C +ATOM 693 N VAL A 96 36.770 -2.361 85.750 1.00 19.67 N +ATOM 694 CA VAL A 96 37.171 -2.584 87.137 1.00 21.64 C +ATOM 695 C VAL A 96 37.706 -1.357 87.881 1.00 22.62 C +ATOM 696 O VAL A 96 38.021 -1.454 89.060 1.00 24.28 O +ATOM 697 CB VAL A 96 38.231 -3.719 87.257 1.00 20.39 C +ATOM 698 CG1 VAL A 96 37.755 -4.962 86.525 1.00 19.41 C +ATOM 699 CG2 VAL A 96 39.563 -3.254 86.712 1.00 19.92 C +ATOM 700 N GLU A 97 37.802 -0.210 87.212 1.00 22.01 N +ATOM 701 CA GLU A 97 38.312 0.998 87.861 1.00 20.95 C +ATOM 702 C GLU A 97 37.306 2.130 87.898 1.00 21.11 C +ATOM 703 O GLU A 97 37.590 3.202 88.427 1.00 22.26 O +ATOM 704 CB GLU A 97 39.578 1.496 87.161 1.00 21.10 C +ATOM 705 CG GLU A 97 40.823 0.688 87.471 1.00 23.62 C +ATOM 706 CD GLU A 97 42.031 1.163 86.693 1.00 23.81 C +ATOM 707 OE1 GLU A 97 42.268 2.387 86.640 1.00 26.41 O +ATOM 708 OE2 GLU A 97 42.750 0.312 86.139 1.00 27.00 O +ATOM 709 N ILE A 98 36.132 1.903 87.330 1.00 20.73 N +ATOM 710 CA ILE A 98 35.115 2.938 87.310 1.00 19.76 C +ATOM 711 C ILE A 98 34.722 3.267 88.748 1.00 20.11 C +ATOM 712 O ILE A 98 34.584 2.374 89.579 1.00 20.28 O +ATOM 713 CB ILE A 98 33.885 2.469 86.500 1.00 18.40 C +ATOM 714 CG1 ILE A 98 34.294 2.236 85.045 1.00 18.46 C +ATOM 715 CG2 ILE A 98 32.776 3.503 86.575 1.00 17.99 C +ATOM 716 CD1 ILE A 98 33.172 1.715 84.173 1.00 18.69 C +ATOM 717 N THR A 99 34.547 4.549 89.033 1.00 19.91 N +ATOM 718 CA THR A 99 34.184 4.991 90.370 1.00 20.47 C +ATOM 719 C THR A 99 32.757 5.507 90.386 1.00 21.49 C +ATOM 720 O THR A 99 32.218 5.877 89.345 1.00 22.14 O +ATOM 721 CB THR A 99 35.098 6.114 90.830 1.00 20.02 C +ATOM 722 OG1 THR A 99 34.848 7.281 90.037 1.00 21.23 O +ATOM 723 CG2 THR A 99 36.557 5.699 90.675 1.00 18.99 C +ATOM 724 N ARG A 100 32.147 5.533 91.567 1.00 20.86 N +ATOM 725 CA ARG A 100 30.775 6.008 91.693 1.00 21.25 C +ATOM 726 C ARG A 100 30.714 7.495 91.425 1.00 22.04 C +ATOM 727 O ARG A 100 29.669 8.028 91.049 1.00 21.32 O +ATOM 728 CB ARG A 100 30.229 5.733 93.096 1.00 21.99 C +ATOM 729 CG ARG A 100 30.030 4.270 93.416 1.00 21.45 C +ATOM 730 CD ARG A 100 28.595 4.022 93.803 1.00 21.05 C +ATOM 731 NE ARG A 100 28.301 2.599 93.840 1.00 21.89 N +ATOM 732 CZ ARG A 100 27.092 2.096 93.632 1.00 21.17 C +ATOM 733 NH1 ARG A 100 26.901 0.786 93.683 1.00 22.28 N +ATOM 734 NH2 ARG A 100 26.080 2.908 93.361 1.00 19.13 N +ATOM 735 N GLU A 101 31.837 8.172 91.634 1.00 22.16 N +ATOM 736 CA GLU A 101 31.873 9.605 91.408 1.00 25.43 C +ATOM 737 C GLU A 101 31.900 9.901 89.908 1.00 23.60 C +ATOM 738 O GLU A 101 31.289 10.865 89.455 1.00 23.03 O +ATOM 739 CB GLU A 101 33.089 10.227 92.102 1.00 28.13 C +ATOM 740 CG GLU A 101 34.409 9.639 91.670 1.00 37.06 C +ATOM 741 CD GLU A 101 35.225 10.609 90.858 1.00 41.38 C +ATOM 742 OE1 GLU A 101 35.562 10.294 89.700 1.00 43.62 O +ATOM 743 OE2 GLU A 101 35.532 11.691 91.387 1.00 47.06 O +ATOM 744 N SER A 102 32.595 9.075 89.135 1.00 22.31 N +ATOM 745 CA SER A 102 32.640 9.299 87.697 1.00 23.09 C +ATOM 746 C SER A 102 31.236 9.078 87.138 1.00 22.44 C +ATOM 747 O SER A 102 30.685 9.925 86.425 1.00 22.31 O +ATOM 748 CB SER A 102 33.622 8.342 87.034 1.00 25.08 C +ATOM 749 OG SER A 102 33.800 8.704 85.675 1.00 28.87 O +ATOM 750 N TYR A 103 30.656 7.937 87.481 1.00 18.65 N +ATOM 751 CA TYR A 103 29.314 7.609 87.044 1.00 21.34 C +ATOM 752 C TYR A 103 28.317 8.715 87.418 1.00 21.94 C +ATOM 753 O TYR A 103 27.665 9.296 86.552 1.00 23.56 O +ATOM 754 CB TYR A 103 28.872 6.288 87.679 1.00 21.53 C +ATOM 755 CG TYR A 103 27.416 5.967 87.449 1.00 23.00 C +ATOM 756 CD1 TYR A 103 26.987 5.416 86.243 1.00 22.62 C +ATOM 757 CD2 TYR A 103 26.455 6.268 88.417 1.00 22.76 C +ATOM 758 CE1 TYR A 103 25.640 5.177 86.002 1.00 22.98 C +ATOM 759 CE2 TYR A 103 25.098 6.032 88.183 1.00 23.79 C +ATOM 760 CZ TYR A 103 24.702 5.488 86.970 1.00 23.99 C +ATOM 761 OH TYR A 103 23.371 5.262 86.708 1.00 25.68 O +ATOM 762 N ASP A 104 28.207 8.991 88.714 1.00 22.49 N +ATOM 763 CA ASP A 104 27.284 10.000 89.238 1.00 23.01 C +ATOM 764 C ASP A 104 27.349 11.332 88.516 1.00 22.19 C +ATOM 765 O ASP A 104 26.316 11.929 88.203 1.00 21.72 O +ATOM 766 CB ASP A 104 27.558 10.261 90.724 1.00 24.41 C +ATOM 767 CG ASP A 104 27.167 9.095 91.619 1.00 26.69 C +ATOM 768 OD1 ASP A 104 27.576 9.116 92.797 1.00 29.39 O +ATOM 769 OD2 ASP A 104 26.455 8.171 91.169 1.00 25.80 O +ATOM 770 N ARG A 105 28.566 11.802 88.275 1.00 20.95 N +ATOM 771 CA ARG A 105 28.783 13.085 87.625 1.00 22.47 C +ATOM 772 C ARG A 105 28.437 13.138 86.119 1.00 22.12 C +ATOM 773 O ARG A 105 27.695 14.023 85.679 1.00 19.28 O +ATOM 774 CB ARG A 105 30.233 13.518 87.860 1.00 25.69 C +ATOM 775 CG ARG A 105 30.365 14.897 88.479 1.00 29.95 C +ATOM 776 CD ARG A 105 31.812 15.233 88.813 1.00 33.99 C +ATOM 777 NE ARG A 105 32.745 14.942 87.725 1.00 37.09 N +ATOM 778 CZ ARG A 105 33.587 13.912 87.719 1.00 39.00 C +ATOM 779 NH1 ARG A 105 33.616 13.065 88.745 1.00 41.45 N +ATOM 780 NH2 ARG A 105 34.412 13.734 86.696 1.00 39.59 N +ATOM 781 N LEU A 106 28.957 12.193 85.337 1.00 21.14 N +ATOM 782 CA LEU A 106 28.688 12.186 83.905 1.00 19.92 C +ATOM 783 C LEU A 106 27.204 12.029 83.595 1.00 19.76 C +ATOM 784 O LEU A 106 26.673 12.740 82.735 1.00 18.73 O +ATOM 785 CB LEU A 106 29.484 11.078 83.204 1.00 20.49 C +ATOM 786 CG LEU A 106 31.016 11.112 83.295 1.00 19.85 C +ATOM 787 CD1 LEU A 106 31.598 10.429 82.066 1.00 17.67 C +ATOM 788 CD2 LEU A 106 31.518 12.538 83.366 1.00 19.59 C +ATOM 789 N PHE A 107 26.527 11.114 84.286 1.00 17.48 N +ATOM 790 CA PHE A 107 25.104 10.928 84.029 1.00 18.47 C +ATOM 791 C PHE A 107 24.287 12.135 84.462 1.00 19.90 C +ATOM 792 O PHE A 107 23.299 12.495 83.811 1.00 20.21 O +ATOM 793 CB PHE A 107 24.575 9.664 84.712 1.00 18.99 C +ATOM 794 CG PHE A 107 24.696 8.424 83.865 1.00 17.93 C +ATOM 795 CD1 PHE A 107 25.901 7.745 83.767 1.00 16.68 C +ATOM 796 CD2 PHE A 107 23.605 7.961 83.135 1.00 17.68 C +ATOM 797 CE1 PHE A 107 26.020 6.622 82.950 1.00 19.17 C +ATOM 798 CE2 PHE A 107 23.713 6.844 82.318 1.00 18.06 C +ATOM 799 CZ PHE A 107 24.922 6.172 82.223 1.00 17.93 C +ATOM 800 N ALA A 108 24.699 12.770 85.556 1.00 20.29 N +ATOM 801 CA ALA A 108 23.997 13.949 86.050 1.00 20.07 C +ATOM 802 C ALA A 108 24.004 15.079 85.011 1.00 20.51 C +ATOM 803 O ALA A 108 22.982 15.712 84.752 1.00 21.81 O +ATOM 804 CB ALA A 108 24.640 14.424 87.339 1.00 20.59 C +ATOM 805 N ILE A 109 25.153 15.319 84.399 1.00 20.73 N +ATOM 806 CA ILE A 109 25.262 16.382 83.411 1.00 22.03 C +ATOM 807 C ILE A 109 24.875 16.005 81.984 1.00 20.38 C +ATOM 808 O ILE A 109 24.061 16.683 81.367 1.00 21.07 O +ATOM 809 CB ILE A 109 26.686 16.937 83.384 1.00 25.48 C +ATOM 810 CG1 ILE A 109 27.046 17.449 84.780 1.00 26.67 C +ATOM 811 CG2 ILE A 109 26.798 18.044 82.322 1.00 24.01 C +ATOM 812 CD1 ILE A 109 28.508 17.733 84.966 1.00 30.52 C +ATOM 813 N ASN A 110 25.460 14.928 81.466 1.00 19.70 N +ATOM 814 CA ASN A 110 25.198 14.479 80.099 1.00 18.57 C +ATOM 815 C ASN A 110 23.767 14.025 79.835 1.00 18.89 C +ATOM 816 O ASN A 110 23.135 14.459 78.870 1.00 20.23 O +ATOM 817 CB ASN A 110 26.157 13.345 79.734 1.00 16.62 C +ATOM 818 CG ASN A 110 27.614 13.775 79.784 1.00 18.15 C +ATOM 819 OD1 ASN A 110 27.928 14.921 80.134 1.00 16.03 O +ATOM 820 ND2 ASN A 110 28.515 12.855 79.435 1.00 15.67 N +ATOM 821 N VAL A 111 23.266 13.142 80.692 1.00 18.51 N +ATOM 822 CA VAL A 111 21.915 12.597 80.567 1.00 16.00 C +ATOM 823 C VAL A 111 20.874 13.482 81.245 1.00 19.45 C +ATOM 824 O VAL A 111 20.111 14.186 80.572 1.00 20.05 O +ATOM 825 CB VAL A 111 21.851 11.194 81.187 1.00 12.54 C +ATOM 826 CG1 VAL A 111 20.482 10.578 80.969 1.00 11.01 C +ATOM 827 CG2 VAL A 111 22.933 10.329 80.587 1.00 14.15 C +ATOM 828 N SER A 112 20.853 13.444 82.578 1.00 20.67 N +ATOM 829 CA SER A 112 19.916 14.231 83.381 1.00 20.34 C +ATOM 830 C SER A 112 19.820 15.688 82.933 1.00 19.69 C +ATOM 831 O SER A 112 18.725 16.234 82.783 1.00 19.30 O +ATOM 832 CB SER A 112 20.334 14.183 84.853 1.00 21.15 C +ATOM 833 OG SER A 112 19.541 15.059 85.628 1.00 23.67 O +ATOM 834 N GLY A 113 20.971 16.319 82.736 1.00 20.05 N +ATOM 835 CA GLY A 113 20.981 17.705 82.301 1.00 20.56 C +ATOM 836 C GLY A 113 20.255 17.912 80.983 1.00 20.79 C +ATOM 837 O GLY A 113 19.447 18.832 80.845 1.00 21.68 O +ATOM 838 N THR A 114 20.533 17.052 80.008 1.00 20.29 N +ATOM 839 CA THR A 114 19.891 17.154 78.700 1.00 19.33 C +ATOM 840 C THR A 114 18.387 16.920 78.787 1.00 19.05 C +ATOM 841 O THR A 114 17.593 17.664 78.200 1.00 18.95 O +ATOM 842 CB THR A 114 20.497 16.139 77.713 1.00 19.60 C +ATOM 843 OG1 THR A 114 21.835 16.535 77.391 1.00 19.37 O +ATOM 844 CG2 THR A 114 19.663 16.057 76.445 1.00 19.59 C +ATOM 845 N LEU A 115 17.994 15.890 79.530 1.00 18.82 N +ATOM 846 CA LEU A 115 16.582 15.569 79.677 1.00 19.61 C +ATOM 847 C LEU A 115 15.744 16.683 80.292 1.00 20.46 C +ATOM 848 O LEU A 115 14.806 17.181 79.665 1.00 21.53 O +ATOM 849 CB LEU A 115 16.405 14.295 80.508 1.00 20.85 C +ATOM 850 CG LEU A 115 14.952 13.919 80.845 1.00 22.57 C +ATOM 851 CD1 LEU A 115 14.116 13.802 79.573 1.00 22.28 C +ATOM 852 CD2 LEU A 115 14.937 12.609 81.608 1.00 23.14 C +ATOM 853 N PHE A 116 16.069 17.079 81.517 1.00 20.51 N +ATOM 854 CA PHE A 116 15.280 18.113 82.187 1.00 20.87 C +ATOM 855 C PHE A 116 15.379 19.487 81.546 1.00 20.41 C +ATOM 856 O PHE A 116 14.469 20.308 81.678 1.00 20.80 O +ATOM 857 CB PHE A 116 15.629 18.143 83.682 1.00 18.66 C +ATOM 858 CG PHE A 116 15.251 16.871 84.389 1.00 15.88 C +ATOM 859 CD1 PHE A 116 13.913 16.548 84.587 1.00 14.86 C +ATOM 860 CD2 PHE A 116 16.220 15.938 84.735 1.00 16.05 C +ATOM 861 CE1 PHE A 116 13.546 15.305 85.106 1.00 16.33 C +ATOM 862 CE2 PHE A 116 15.861 14.696 85.253 1.00 15.00 C +ATOM 863 CZ PHE A 116 14.524 14.379 85.438 1.00 13.88 C +ATOM 864 N MET A 117 16.471 19.734 80.832 1.00 21.77 N +ATOM 865 CA MET A 117 16.632 21.007 80.139 1.00 22.20 C +ATOM 866 C MET A 117 15.644 20.960 78.957 1.00 21.64 C +ATOM 867 O MET A 117 15.004 21.955 78.626 1.00 21.47 O +ATOM 868 CB MET A 117 18.073 21.152 79.655 1.00 23.05 C +ATOM 869 CG MET A 117 18.524 22.578 79.398 1.00 28.50 C +ATOM 870 SD MET A 117 18.551 23.661 80.862 1.00 29.23 S +ATOM 871 CE MET A 117 17.487 24.948 80.296 1.00 28.57 C +ATOM 872 N MET A 118 15.508 19.786 78.341 1.00 22.05 N +ATOM 873 CA MET A 118 14.574 19.596 77.230 1.00 22.31 C +ATOM 874 C MET A 118 13.153 19.802 77.736 1.00 23.71 C +ATOM 875 O MET A 118 12.328 20.469 77.104 1.00 23.35 O +ATOM 876 CB MET A 118 14.654 18.170 76.674 1.00 20.90 C +ATOM 877 CG MET A 118 15.500 17.977 75.430 1.00 23.11 C +ATOM 878 SD MET A 118 14.977 16.476 74.535 1.00 22.63 S +ATOM 879 CE MET A 118 15.543 15.185 75.629 1.00 23.25 C +ATOM 880 N GLN A 119 12.869 19.195 78.882 1.00 25.13 N +ATOM 881 CA GLN A 119 11.548 19.276 79.477 1.00 25.60 C +ATOM 882 C GLN A 119 11.169 20.713 79.807 1.00 25.48 C +ATOM 883 O GLN A 119 10.057 21.152 79.521 1.00 25.67 O +ATOM 884 CB GLN A 119 11.511 18.424 80.734 1.00 26.26 C +ATOM 885 CG GLN A 119 10.141 18.293 81.353 1.00 27.78 C +ATOM 886 CD GLN A 119 10.219 17.718 82.746 1.00 26.91 C +ATOM 887 OE1 GLN A 119 10.850 18.303 83.629 1.00 26.42 O +ATOM 888 NE2 GLN A 119 9.592 16.564 82.951 1.00 24.18 N +ATOM 889 N ALA A 120 12.097 21.449 80.403 1.00 25.78 N +ATOM 890 CA ALA A 120 11.831 22.835 80.753 1.00 27.01 C +ATOM 891 C ALA A 120 11.499 23.684 79.516 1.00 28.88 C +ATOM 892 O ALA A 120 10.482 24.383 79.487 1.00 29.66 O +ATOM 893 CB ALA A 120 13.025 23.412 81.481 1.00 27.01 C +ATOM 894 N VAL A 121 12.355 23.621 78.495 1.00 29.43 N +ATOM 895 CA VAL A 121 12.145 24.390 77.263 1.00 28.82 C +ATOM 896 C VAL A 121 10.920 23.912 76.471 1.00 28.60 C +ATOM 897 O VAL A 121 10.148 24.719 75.956 1.00 28.22 O +ATOM 898 CB VAL A 121 13.390 24.325 76.350 1.00 28.69 C +ATOM 899 CG1 VAL A 121 13.077 24.935 75.002 1.00 28.19 C +ATOM 900 CG2 VAL A 121 14.552 25.063 77.004 1.00 26.94 C +ATOM 901 N ALA A 122 10.742 22.601 76.379 1.00 28.03 N +ATOM 902 CA ALA A 122 9.602 22.051 75.660 1.00 28.61 C +ATOM 903 C ALA A 122 8.283 22.558 76.251 1.00 29.97 C +ATOM 904 O ALA A 122 7.343 22.873 75.510 1.00 28.96 O +ATOM 905 CB ALA A 122 9.643 20.531 75.705 1.00 27.15 C +ATOM 906 N ARG A 123 8.209 22.628 77.581 1.00 29.83 N +ATOM 907 CA ARG A 123 6.992 23.097 78.240 1.00 30.06 C +ATOM 908 C ARG A 123 6.700 24.532 77.846 1.00 29.11 C +ATOM 909 O ARG A 123 5.543 24.904 77.656 1.00 28.37 O +ATOM 910 CB ARG A 123 7.093 22.966 79.772 1.00 31.03 C +ATOM 911 CG ARG A 123 6.661 21.586 80.275 1.00 33.90 C +ATOM 912 CD ARG A 123 6.420 21.507 81.786 1.00 35.16 C +ATOM 913 NE ARG A 123 7.652 21.407 82.567 1.00 37.11 N +ATOM 914 CZ ARG A 123 7.826 20.563 83.583 1.00 37.79 C +ATOM 915 NH1 ARG A 123 6.849 19.738 83.941 1.00 36.14 N +ATOM 916 NH2 ARG A 123 8.976 20.547 84.249 1.00 38.09 N +ATOM 917 N ALA A 124 7.755 25.332 77.710 1.00 28.70 N +ATOM 918 CA ALA A 124 7.602 26.726 77.310 1.00 28.61 C +ATOM 919 C ALA A 124 7.128 26.802 75.856 1.00 29.37 C +ATOM 920 O ALA A 124 6.189 27.532 75.542 1.00 29.55 O +ATOM 921 CB ALA A 124 8.922 27.466 77.466 1.00 25.88 C +ATOM 922 N MET A 125 7.776 26.037 74.979 1.00 28.86 N +ATOM 923 CA MET A 125 7.419 26.033 73.565 1.00 29.90 C +ATOM 924 C MET A 125 5.969 25.639 73.359 1.00 30.75 C +ATOM 925 O MET A 125 5.251 26.270 72.588 1.00 32.33 O +ATOM 926 CB MET A 125 8.342 25.090 72.782 1.00 27.85 C +ATOM 927 CG MET A 125 9.752 25.623 72.668 1.00 26.04 C +ATOM 928 SD MET A 125 10.951 24.448 72.031 1.00 29.91 S +ATOM 929 CE MET A 125 12.401 25.529 71.840 1.00 24.28 C +ATOM 930 N ILE A 126 5.529 24.598 74.050 1.00 32.14 N +ATOM 931 CA ILE A 126 4.150 24.164 73.920 1.00 33.78 C +ATOM 932 C ILE A 126 3.215 25.327 74.265 1.00 35.78 C +ATOM 933 O ILE A 126 2.251 25.600 73.545 1.00 36.73 O +ATOM 934 CB ILE A 126 3.875 22.948 74.832 1.00 33.34 C +ATOM 935 CG1 ILE A 126 4.761 21.780 74.385 1.00 33.90 C +ATOM 936 CG2 ILE A 126 2.398 22.566 74.776 1.00 32.20 C +ATOM 937 CD1 ILE A 126 4.585 20.505 75.165 1.00 32.43 C +ATOM 938 N ALA A 127 3.518 26.022 75.358 1.00 38.03 N +ATOM 939 CA ALA A 127 2.718 27.164 75.791 1.00 38.24 C +ATOM 940 C ALA A 127 2.785 28.257 74.733 1.00 38.06 C +ATOM 941 O ALA A 127 1.771 28.851 74.382 1.00 38.38 O +ATOM 942 CB ALA A 127 3.233 27.692 77.128 1.00 38.48 C +ATOM 943 N GLY A 128 3.987 28.514 74.227 1.00 39.05 N +ATOM 944 CA GLY A 128 4.162 29.525 73.198 1.00 39.65 C +ATOM 945 C GLY A 128 3.233 29.306 72.013 1.00 41.06 C +ATOM 946 O GLY A 128 2.808 30.260 71.366 1.00 42.05 O +ATOM 947 N GLY A 129 2.922 28.047 71.720 1.00 40.32 N +ATOM 948 CA GLY A 129 2.022 27.750 70.623 1.00 40.33 C +ATOM 949 C GLY A 129 2.581 27.847 69.213 1.00 40.71 C +ATOM 950 O GLY A 129 1.820 27.773 68.249 1.00 40.37 O +ATOM 951 N ARG A 130 3.892 28.012 69.070 1.00 40.56 N +ATOM 952 CA ARG A 130 4.476 28.099 67.735 1.00 39.75 C +ATOM 953 C ARG A 130 5.716 27.214 67.544 1.00 37.42 C +ATOM 954 O ARG A 130 6.677 27.595 66.872 1.00 35.99 O +ATOM 955 CB ARG A 130 4.783 29.563 67.392 1.00 41.96 C +ATOM 956 CG ARG A 130 5.719 30.268 68.350 1.00 45.95 C +ATOM 957 CD ARG A 130 5.420 31.758 68.392 1.00 48.73 C +ATOM 958 NE ARG A 130 6.545 32.526 68.917 1.00 53.36 N +ATOM 959 CZ ARG A 130 7.662 32.772 68.236 1.00 55.86 C +ATOM 960 NH1 ARG A 130 7.806 32.312 66.996 1.00 56.76 N +ATOM 961 NH2 ARG A 130 8.637 33.481 68.791 1.00 56.58 N +ATOM 962 N GLY A 131 5.665 26.025 68.142 1.00 34.51 N +ATOM 963 CA GLY A 131 6.745 25.057 68.035 1.00 31.01 C +ATOM 964 C GLY A 131 8.140 25.535 68.390 1.00 28.67 C +ATOM 965 O GLY A 131 8.309 26.505 69.127 1.00 28.29 O +ATOM 966 N GLY A 132 9.141 24.836 67.859 1.00 26.33 N +ATOM 967 CA GLY A 132 10.524 25.192 68.113 1.00 23.68 C +ATOM 968 C GLY A 132 11.477 24.103 67.660 1.00 22.44 C +ATOM 969 O GLY A 132 11.050 23.060 67.166 1.00 21.64 O +ATOM 970 N LYS A 133 12.772 24.348 67.828 1.00 21.27 N +ATOM 971 CA LYS A 133 13.795 23.386 67.445 1.00 21.71 C +ATOM 972 C LYS A 133 14.684 23.020 68.636 1.00 21.26 C +ATOM 973 O LYS A 133 15.133 23.895 69.379 1.00 20.38 O +ATOM 974 CB LYS A 133 14.693 23.964 66.343 1.00 23.68 C +ATOM 975 CG LYS A 133 13.987 24.412 65.069 1.00 24.24 C +ATOM 976 CD LYS A 133 13.427 23.235 64.299 1.00 24.24 C +ATOM 977 CE LYS A 133 12.870 23.676 62.960 1.00 21.90 C +ATOM 978 NZ LYS A 133 12.283 22.503 62.259 1.00 24.56 N +ATOM 979 N ILE A 134 14.939 21.728 68.813 1.00 20.43 N +ATOM 980 CA ILE A 134 15.814 21.273 69.889 1.00 20.62 C +ATOM 981 C ILE A 134 16.877 20.375 69.291 1.00 20.28 C +ATOM 982 O ILE A 134 16.568 19.405 68.593 1.00 20.31 O +ATOM 983 CB ILE A 134 15.059 20.471 70.991 1.00 21.36 C +ATOM 984 CG1 ILE A 134 14.103 21.388 71.750 1.00 18.16 C +ATOM 985 CG2 ILE A 134 16.066 19.879 71.984 1.00 19.10 C +ATOM 986 CD1 ILE A 134 13.185 20.658 72.688 1.00 22.19 C +ATOM 987 N ILE A 135 18.132 20.703 69.569 1.00 20.25 N +ATOM 988 CA ILE A 135 19.249 19.928 69.060 1.00 19.84 C +ATOM 989 C ILE A 135 20.095 19.402 70.208 1.00 19.85 C +ATOM 990 O ILE A 135 20.602 20.181 71.017 1.00 20.82 O +ATOM 991 CB ILE A 135 20.147 20.790 68.156 1.00 20.63 C +ATOM 992 CG1 ILE A 135 19.316 21.393 67.027 1.00 21.25 C +ATOM 993 CG2 ILE A 135 21.286 19.956 67.603 1.00 16.92 C +ATOM 994 CD1 ILE A 135 20.084 22.389 66.188 1.00 22.38 C +ATOM 995 N ASN A 136 20.242 18.083 70.285 1.00 19.12 N +ATOM 996 CA ASN A 136 21.061 17.483 71.327 1.00 19.66 C +ATOM 997 C ASN A 136 22.407 17.123 70.748 1.00 19.41 C +ATOM 998 O ASN A 136 22.533 16.892 69.551 1.00 22.83 O +ATOM 999 CB ASN A 136 20.409 16.223 71.898 1.00 18.43 C +ATOM 1000 CG ASN A 136 19.079 16.509 72.539 1.00 20.02 C +ATOM 1001 OD1 ASN A 136 18.873 17.594 73.095 1.00 18.24 O +ATOM 1002 ND2 ASN A 136 18.163 15.541 72.475 1.00 15.50 N +ATOM 1003 N MET A 137 23.416 17.085 71.602 1.00 18.84 N +ATOM 1004 CA MET A 137 24.750 16.741 71.167 1.00 19.71 C +ATOM 1005 C MET A 137 25.118 15.339 71.639 1.00 20.72 C +ATOM 1006 O MET A 137 25.384 15.108 72.824 1.00 23.43 O +ATOM 1007 CB MET A 137 25.757 17.755 71.711 1.00 20.02 C +ATOM 1008 CG MET A 137 25.652 19.142 71.089 1.00 23.09 C +ATOM 1009 SD MET A 137 26.076 19.168 69.318 1.00 22.73 S +ATOM 1010 CE MET A 137 27.855 19.057 69.408 1.00 23.85 C +ATOM 1011 N ALA A 138 25.105 14.393 70.714 1.00 18.57 N +ATOM 1012 CA ALA A 138 25.474 13.032 71.047 1.00 18.03 C +ATOM 1013 C ALA A 138 26.960 12.943 70.742 1.00 17.33 C +ATOM 1014 O ALA A 138 27.712 13.876 71.033 1.00 17.16 O +ATOM 1015 CB ALA A 138 24.682 12.037 70.197 1.00 16.15 C +ATOM 1016 N SER A 139 27.378 11.840 70.136 1.00 16.62 N +ATOM 1017 CA SER A 139 28.785 11.635 69.806 1.00 16.28 C +ATOM 1018 C SER A 139 28.960 10.227 69.278 1.00 15.83 C +ATOM 1019 O SER A 139 28.139 9.352 69.548 1.00 15.25 O +ATOM 1020 CB SER A 139 29.655 11.809 71.054 1.00 16.49 C +ATOM 1021 OG SER A 139 30.775 10.932 71.030 1.00 17.38 O +ATOM 1022 N GLN A 140 30.028 10.005 68.525 1.00 16.70 N +ATOM 1023 CA GLN A 140 30.286 8.676 67.997 1.00 19.84 C +ATOM 1024 C GLN A 140 30.321 7.671 69.151 1.00 19.01 C +ATOM 1025 O GLN A 140 29.987 6.496 68.979 1.00 17.76 O +ATOM 1026 CB GLN A 140 31.624 8.648 67.257 1.00 22.44 C +ATOM 1027 CG GLN A 140 32.817 9.036 68.107 1.00 26.33 C +ATOM 1028 CD GLN A 140 34.137 8.760 67.407 1.00 30.24 C +ATOM 1029 OE1 GLN A 140 34.353 9.203 66.277 1.00 30.88 O +ATOM 1030 NE2 GLN A 140 35.031 8.024 68.077 1.00 30.11 N +ATOM 1031 N ALA A 141 30.729 8.145 70.327 1.00 19.37 N +ATOM 1032 CA ALA A 141 30.823 7.288 71.508 1.00 18.60 C +ATOM 1033 C ALA A 141 29.474 6.669 71.842 1.00 17.25 C +ATOM 1034 O ALA A 141 29.411 5.561 72.367 1.00 14.43 O +ATOM 1035 CB ALA A 141 31.342 8.081 72.691 1.00 17.72 C +ATOM 1036 N GLY A 142 28.402 7.386 71.515 1.00 17.68 N +ATOM 1037 CA GLY A 142 27.066 6.890 71.785 1.00 18.97 C +ATOM 1038 C GLY A 142 26.553 5.866 70.787 1.00 20.14 C +ATOM 1039 O GLY A 142 25.454 5.339 70.965 1.00 19.86 O +ATOM 1040 N ARG A 143 27.340 5.583 69.748 1.00 21.05 N +ATOM 1041 CA ARG A 143 26.961 4.624 68.703 1.00 20.57 C +ATOM 1042 C ARG A 143 27.436 3.215 69.022 1.00 21.89 C +ATOM 1043 O ARG A 143 26.758 2.242 68.706 1.00 24.11 O +ATOM 1044 CB ARG A 143 27.552 5.036 67.352 1.00 19.46 C +ATOM 1045 CG ARG A 143 27.044 6.359 66.796 1.00 18.05 C +ATOM 1046 CD ARG A 143 25.587 6.273 66.365 1.00 16.48 C +ATOM 1047 NE ARG A 143 25.222 7.405 65.519 1.00 17.15 N +ATOM 1048 CZ ARG A 143 24.004 7.627 65.035 1.00 15.24 C +ATOM 1049 NH1 ARG A 143 23.785 8.686 64.275 1.00 15.49 N +ATOM 1050 NH2 ARG A 143 23.007 6.800 65.313 1.00 13.65 N +ATOM 1051 N ARG A 144 28.615 3.112 69.628 1.00 22.09 N +ATOM 1052 CA ARG A 144 29.182 1.819 69.997 1.00 21.38 C +ATOM 1053 C ARG A 144 30.032 1.970 71.254 1.00 21.68 C +ATOM 1054 O ARG A 144 30.651 3.010 71.474 1.00 20.35 O +ATOM 1055 CB ARG A 144 30.045 1.252 68.855 1.00 22.18 C +ATOM 1056 CG ARG A 144 31.409 1.918 68.663 1.00 21.83 C +ATOM 1057 CD ARG A 144 31.289 3.345 68.152 1.00 25.39 C +ATOM 1058 NE ARG A 144 32.552 4.069 68.273 1.00 30.20 N +ATOM 1059 CZ ARG A 144 33.186 4.286 69.424 1.00 33.72 C +ATOM 1060 NH1 ARG A 144 32.680 3.838 70.571 1.00 33.69 N +ATOM 1061 NH2 ARG A 144 34.334 4.951 69.430 1.00 34.47 N +ATOM 1062 N GLY A 145 30.060 0.929 72.078 1.00 22.26 N +ATOM 1063 CA GLY A 145 30.841 0.994 73.299 1.00 22.50 C +ATOM 1064 C GLY A 145 32.327 0.922 73.023 1.00 24.41 C +ATOM 1065 O GLY A 145 32.736 0.555 71.919 1.00 24.30 O +ATOM 1066 N GLU A 146 33.126 1.291 74.025 1.00 24.94 N +ATOM 1067 CA GLU A 146 34.591 1.260 73.963 1.00 24.35 C +ATOM 1068 C GLU A 146 35.117 0.706 75.282 1.00 23.71 C +ATOM 1069 O GLU A 146 34.540 0.950 76.344 1.00 23.59 O +ATOM 1070 CB GLU A 146 35.173 2.656 73.757 1.00 27.30 C +ATOM 1071 CG GLU A 146 34.969 3.237 72.379 1.00 30.94 C +ATOM 1072 CD GLU A 146 35.747 4.525 72.192 1.00 34.30 C +ATOM 1073 OE1 GLU A 146 36.998 4.465 72.222 1.00 34.64 O +ATOM 1074 OE2 GLU A 146 35.108 5.593 72.027 1.00 36.59 O +ATOM 1075 N ALA A 147 36.227 -0.016 75.211 1.00 21.29 N +ATOM 1076 CA ALA A 147 36.822 -0.638 76.385 1.00 20.14 C +ATOM 1077 C ALA A 147 37.123 0.289 77.563 1.00 19.98 C +ATOM 1078 O ALA A 147 36.817 -0.052 78.708 1.00 21.78 O +ATOM 1079 CB ALA A 147 38.088 -1.385 75.981 1.00 17.96 C +ATOM 1080 N LEU A 148 37.711 1.451 77.300 1.00 18.18 N +ATOM 1081 CA LEU A 148 38.056 2.372 78.380 1.00 16.96 C +ATOM 1082 C LEU A 148 37.144 3.586 78.514 1.00 16.48 C +ATOM 1083 O LEU A 148 37.491 4.539 79.210 1.00 16.83 O +ATOM 1084 CB LEU A 148 39.491 2.872 78.199 1.00 16.32 C +ATOM 1085 CG LEU A 148 40.585 1.838 77.941 1.00 16.15 C +ATOM 1086 CD1 LEU A 148 41.905 2.557 77.783 1.00 16.30 C +ATOM 1087 CD2 LEU A 148 40.652 0.843 79.082 1.00 16.62 C +ATOM 1088 N VAL A 149 35.987 3.572 77.862 1.00 16.80 N +ATOM 1089 CA VAL A 149 35.092 4.732 77.938 1.00 16.61 C +ATOM 1090 C VAL A 149 33.651 4.344 78.246 1.00 16.36 C +ATOM 1091 O VAL A 149 32.705 5.004 77.799 1.00 16.06 O +ATOM 1092 CB VAL A 149 35.111 5.539 76.605 1.00 17.74 C +ATOM 1093 CG1 VAL A 149 34.578 6.944 76.842 1.00 15.17 C +ATOM 1094 CG2 VAL A 149 36.530 5.585 76.034 1.00 13.64 C +ATOM 1095 N GLY A 150 33.501 3.272 79.018 1.00 15.60 N +ATOM 1096 CA GLY A 150 32.186 2.779 79.385 1.00 14.75 C +ATOM 1097 C GLY A 150 31.181 3.808 79.859 1.00 15.37 C +ATOM 1098 O GLY A 150 30.080 3.888 79.299 1.00 15.20 O +ATOM 1099 N VAL A 151 31.541 4.594 80.878 1.00 14.19 N +ATOM 1100 CA VAL A 151 30.620 5.595 81.422 1.00 14.53 C +ATOM 1101 C VAL A 151 30.240 6.677 80.428 1.00 14.06 C +ATOM 1102 O VAL A 151 29.063 6.968 80.258 1.00 17.92 O +ATOM 1103 CB VAL A 151 31.190 6.277 82.698 1.00 16.19 C +ATOM 1104 CG1 VAL A 151 30.226 7.348 83.200 1.00 14.78 C +ATOM 1105 CG2 VAL A 151 31.413 5.243 83.789 1.00 15.99 C +ATOM 1106 N TYR A 152 31.222 7.284 79.772 1.00 15.98 N +ATOM 1107 CA TYR A 152 30.922 8.330 78.791 1.00 17.81 C +ATOM 1108 C TYR A 152 30.028 7.791 77.657 1.00 16.55 C +ATOM 1109 O TYR A 152 29.004 8.392 77.327 1.00 13.34 O +ATOM 1110 CB TYR A 152 32.214 8.902 78.199 1.00 18.53 C +ATOM 1111 CG TYR A 152 31.976 9.985 77.166 1.00 21.15 C +ATOM 1112 CD1 TYR A 152 31.471 11.230 77.541 1.00 20.27 C +ATOM 1113 CD2 TYR A 152 32.245 9.761 75.808 1.00 19.65 C +ATOM 1114 CE1 TYR A 152 31.242 12.228 76.596 1.00 21.19 C +ATOM 1115 CE2 TYR A 152 32.014 10.754 74.853 1.00 17.35 C +ATOM 1116 CZ TYR A 152 31.516 11.981 75.255 1.00 21.77 C +ATOM 1117 OH TYR A 152 31.297 12.976 74.329 1.00 22.64 O +ATOM 1118 N CYS A 153 30.424 6.652 77.085 1.00 15.84 N +ATOM 1119 CA CYS A 153 29.675 6.020 76.002 1.00 16.54 C +ATOM 1120 C CYS A 153 28.224 5.802 76.370 1.00 16.71 C +ATOM 1121 O CYS A 153 27.327 6.112 75.584 1.00 18.01 O +ATOM 1122 CB CYS A 153 30.294 4.672 75.633 1.00 15.99 C +ATOM 1123 SG CYS A 153 31.808 4.781 74.650 1.00 17.20 S +ATOM 1124 N ALA A 154 27.996 5.276 77.571 1.00 17.44 N +ATOM 1125 CA ALA A 154 26.642 5.000 78.047 1.00 15.73 C +ATOM 1126 C ALA A 154 25.799 6.255 78.160 1.00 14.77 C +ATOM 1127 O ALA A 154 24.591 6.199 77.962 1.00 15.79 O +ATOM 1128 CB ALA A 154 26.687 4.276 79.388 1.00 16.69 C +ATOM 1129 N THR A 155 26.415 7.390 78.480 1.00 14.37 N +ATOM 1130 CA THR A 155 25.637 8.621 78.587 1.00 14.85 C +ATOM 1131 C THR A 155 25.218 9.078 77.198 1.00 15.17 C +ATOM 1132 O THR A 155 24.095 9.551 76.988 1.00 15.78 O +ATOM 1133 CB THR A 155 26.434 9.765 79.241 1.00 15.92 C +ATOM 1134 OG1 THR A 155 27.517 10.144 78.379 1.00 12.15 O +ATOM 1135 CG2 THR A 155 26.975 9.332 80.611 1.00 13.53 C +ATOM 1136 N LYS A 156 26.121 8.940 76.238 1.00 16.19 N +ATOM 1137 CA LYS A 156 25.801 9.357 74.887 1.00 17.27 C +ATOM 1138 C LYS A 156 24.752 8.453 74.256 1.00 16.60 C +ATOM 1139 O LYS A 156 23.866 8.930 73.543 1.00 15.42 O +ATOM 1140 CB LYS A 156 27.072 9.436 74.053 1.00 18.41 C +ATOM 1141 CG LYS A 156 27.961 10.605 74.490 1.00 19.98 C +ATOM 1142 CD LYS A 156 27.158 11.905 74.555 1.00 19.81 C +ATOM 1143 CE LYS A 156 28.058 13.092 74.852 1.00 25.05 C +ATOM 1144 NZ LYS A 156 27.297 14.376 74.954 1.00 26.40 N +ATOM 1145 N ALA A 157 24.820 7.157 74.544 1.00 15.12 N +ATOM 1146 CA ALA A 157 23.817 6.246 74.008 1.00 16.09 C +ATOM 1147 C ALA A 157 22.451 6.686 74.542 1.00 16.14 C +ATOM 1148 O ALA A 157 21.448 6.656 73.826 1.00 17.97 O +ATOM 1149 CB ALA A 157 24.116 4.814 74.431 1.00 14.14 C +ATOM 1150 N ALA A 158 22.420 7.106 75.803 1.00 15.79 N +ATOM 1151 CA ALA A 158 21.180 7.561 76.425 1.00 14.27 C +ATOM 1152 C ALA A 158 20.654 8.829 75.751 1.00 12.98 C +ATOM 1153 O ALA A 158 19.443 9.011 75.598 1.00 11.65 O +ATOM 1154 CB ALA A 158 21.404 7.816 77.906 1.00 13.63 C +ATOM 1155 N VAL A 159 21.562 9.713 75.357 1.00 14.09 N +ATOM 1156 CA VAL A 159 21.161 10.950 74.701 1.00 15.94 C +ATOM 1157 C VAL A 159 20.473 10.648 73.377 1.00 16.91 C +ATOM 1158 O VAL A 159 19.471 11.284 73.021 1.00 18.62 O +ATOM 1159 CB VAL A 159 22.373 11.848 74.418 1.00 19.36 C +ATOM 1160 CG1 VAL A 159 21.985 12.959 73.430 1.00 17.95 C +ATOM 1161 CG2 VAL A 159 22.886 12.434 75.720 1.00 16.29 C +ATOM 1162 N ILE A 160 21.019 9.678 72.650 1.00 15.23 N +ATOM 1163 CA ILE A 160 20.455 9.282 71.372 1.00 15.18 C +ATOM 1164 C ILE A 160 19.058 8.728 71.612 1.00 16.04 C +ATOM 1165 O ILE A 160 18.108 9.050 70.883 1.00 16.42 O +ATOM 1166 CB ILE A 160 21.359 8.227 70.675 1.00 14.97 C +ATOM 1167 CG1 ILE A 160 22.633 8.914 70.163 1.00 11.63 C +ATOM 1168 CG2 ILE A 160 20.609 7.539 69.539 1.00 13.25 C +ATOM 1169 CD1 ILE A 160 23.622 7.982 69.527 1.00 9.69 C +ATOM 1170 N SER A 161 18.929 7.912 72.654 1.00 16.35 N +ATOM 1171 CA SER A 161 17.634 7.322 72.994 1.00 16.15 C +ATOM 1172 C SER A 161 16.607 8.401 73.340 1.00 15.16 C +ATOM 1173 O SER A 161 15.473 8.377 72.850 1.00 16.17 O +ATOM 1174 CB SER A 161 17.786 6.352 74.168 1.00 15.04 C +ATOM 1175 OG SER A 161 16.537 5.776 74.501 1.00 16.19 O +ATOM 1176 N LEU A 162 17.006 9.351 74.179 1.00 14.13 N +ATOM 1177 CA LEU A 162 16.112 10.432 74.578 1.00 15.33 C +ATOM 1178 C LEU A 162 15.708 11.329 73.402 1.00 16.38 C +ATOM 1179 O LEU A 162 14.595 11.868 73.374 1.00 16.59 O +ATOM 1180 CB LEU A 162 16.773 11.274 75.669 1.00 16.85 C +ATOM 1181 CG LEU A 162 16.979 10.572 77.017 1.00 17.26 C +ATOM 1182 CD1 LEU A 162 17.834 11.443 77.909 1.00 16.81 C +ATOM 1183 CD2 LEU A 162 15.637 10.292 77.660 1.00 13.61 C +ATOM 1184 N THR A 163 16.614 11.501 72.441 1.00 16.75 N +ATOM 1185 CA THR A 163 16.327 12.323 71.264 1.00 17.10 C +ATOM 1186 C THR A 163 15.199 11.668 70.456 1.00 16.30 C +ATOM 1187 O THR A 163 14.300 12.345 69.943 1.00 17.26 O +ATOM 1188 CB THR A 163 17.581 12.479 70.367 1.00 19.11 C +ATOM 1189 OG1 THR A 163 18.609 13.174 71.085 1.00 19.02 O +ATOM 1190 CG2 THR A 163 17.247 13.262 69.116 1.00 20.19 C +ATOM 1191 N GLN A 164 15.232 10.345 70.360 1.00 15.12 N +ATOM 1192 CA GLN A 164 14.196 9.631 69.626 1.00 15.44 C +ATOM 1193 C GLN A 164 12.866 9.703 70.365 1.00 15.95 C +ATOM 1194 O GLN A 164 11.827 10.002 69.768 1.00 16.78 O +ATOM 1195 CB GLN A 164 14.594 8.171 69.436 1.00 14.78 C +ATOM 1196 CG GLN A 164 15.960 8.006 68.828 1.00 15.84 C +ATOM 1197 CD GLN A 164 16.342 6.556 68.675 1.00 19.19 C +ATOM 1198 OE1 GLN A 164 15.880 5.699 69.433 1.00 20.32 O +ATOM 1199 NE2 GLN A 164 17.206 6.270 67.709 1.00 16.87 N +ATOM 1200 N SER A 165 12.894 9.435 71.669 1.00 16.16 N +ATOM 1201 CA SER A 165 11.671 9.476 72.461 1.00 14.84 C +ATOM 1202 C SER A 165 11.068 10.873 72.475 1.00 12.80 C +ATOM 1203 O SER A 165 9.867 11.041 72.257 1.00 13.05 O +ATOM 1204 CB SER A 165 11.942 9.012 73.894 1.00 15.53 C +ATOM 1205 OG SER A 165 12.432 7.684 73.900 1.00 15.44 O +ATOM 1206 N ALA A 166 11.894 11.879 72.726 1.00 11.66 N +ATOM 1207 CA ALA A 166 11.383 13.244 72.752 1.00 13.41 C +ATOM 1208 C ALA A 166 10.881 13.601 71.361 1.00 16.14 C +ATOM 1209 O ALA A 166 9.799 14.167 71.215 1.00 18.02 O +ATOM 1210 CB ALA A 166 12.480 14.221 73.188 1.00 11.62 C +ATOM 1211 N GLY A 167 11.668 13.245 70.345 1.00 17.23 N +ATOM 1212 CA GLY A 167 11.309 13.538 68.971 1.00 18.65 C +ATOM 1213 C GLY A 167 9.927 13.067 68.568 1.00 19.67 C +ATOM 1214 O GLY A 167 9.132 13.843 68.040 1.00 20.49 O +ATOM 1215 N LEU A 168 9.634 11.795 68.810 1.00 19.99 N +ATOM 1216 CA LEU A 168 8.331 11.240 68.463 1.00 21.31 C +ATOM 1217 C LEU A 168 7.215 11.866 69.294 1.00 23.15 C +ATOM 1218 O LEU A 168 6.094 12.054 68.812 1.00 24.54 O +ATOM 1219 CB LEU A 168 8.319 9.726 68.692 1.00 19.65 C +ATOM 1220 CG LEU A 168 9.337 8.869 67.934 1.00 23.11 C +ATOM 1221 CD1 LEU A 168 9.266 7.438 68.448 1.00 21.84 C +ATOM 1222 CD2 LEU A 168 9.063 8.915 66.433 1.00 22.24 C +ATOM 1223 N ASN A 169 7.531 12.194 70.545 1.00 24.02 N +ATOM 1224 CA ASN A 169 6.549 12.754 71.466 1.00 23.10 C +ATOM 1225 C ASN A 169 6.266 14.231 71.281 1.00 22.53 C +ATOM 1226 O ASN A 169 5.136 14.669 71.454 1.00 22.07 O +ATOM 1227 CB ASN A 169 6.990 12.496 72.916 1.00 23.60 C +ATOM 1228 CG ASN A 169 5.961 12.959 73.936 1.00 22.75 C +ATOM 1229 OD1 ASN A 169 4.781 12.639 73.833 1.00 22.50 O +ATOM 1230 ND2 ASN A 169 6.411 13.706 74.929 1.00 22.50 N +ATOM 1231 N LEU A 170 7.280 14.998 70.907 1.00 22.86 N +ATOM 1232 CA LEU A 170 7.094 16.434 70.758 1.00 23.51 C +ATOM 1233 C LEU A 170 6.769 16.972 69.368 1.00 24.90 C +ATOM 1234 O LEU A 170 6.344 18.122 69.241 1.00 23.81 O +ATOM 1235 CB LEU A 170 8.324 17.165 71.301 1.00 23.37 C +ATOM 1236 CG LEU A 170 8.609 16.983 72.796 1.00 22.33 C +ATOM 1237 CD1 LEU A 170 9.751 17.884 73.208 1.00 19.90 C +ATOM 1238 CD2 LEU A 170 7.364 17.320 73.603 1.00 22.34 C +ATOM 1239 N ILE A 171 6.960 16.158 68.330 1.00 25.65 N +ATOM 1240 CA ILE A 171 6.692 16.617 66.973 1.00 25.81 C +ATOM 1241 C ILE A 171 5.238 17.038 66.758 1.00 27.43 C +ATOM 1242 O ILE A 171 4.957 17.870 65.900 1.00 27.46 O +ATOM 1243 CB ILE A 171 7.073 15.547 65.919 1.00 24.70 C +ATOM 1244 CG1 ILE A 171 6.946 16.142 64.514 1.00 22.26 C +ATOM 1245 CG2 ILE A 171 6.178 14.328 66.049 1.00 23.61 C +ATOM 1246 CD1 ILE A 171 7.824 17.352 64.287 1.00 18.76 C +ATOM 1247 N ARG A 172 4.323 16.475 67.545 1.00 29.18 N +ATOM 1248 CA ARG A 172 2.900 16.801 67.435 1.00 30.92 C +ATOM 1249 C ARG A 172 2.662 18.266 67.803 1.00 29.99 C +ATOM 1250 O ARG A 172 1.680 18.861 67.384 1.00 29.53 O +ATOM 1251 CB ARG A 172 2.061 15.911 68.367 1.00 35.19 C +ATOM 1252 CG ARG A 172 2.675 14.538 68.698 1.00 43.55 C +ATOM 1253 CD ARG A 172 2.946 13.704 67.444 1.00 50.59 C +ATOM 1254 NE ARG A 172 3.530 12.391 67.732 1.00 55.89 N +ATOM 1255 CZ ARG A 172 2.868 11.368 68.269 1.00 59.21 C +ATOM 1256 NH1 ARG A 172 1.583 11.496 68.587 1.00 60.66 N +ATOM 1257 NH2 ARG A 172 3.488 10.209 68.477 1.00 59.15 N +ATOM 1258 N HIS A 173 3.559 18.843 68.597 1.00 30.06 N +ATOM 1259 CA HIS A 173 3.425 20.237 69.011 1.00 29.38 C +ATOM 1260 C HIS A 173 4.262 21.152 68.143 1.00 28.54 C +ATOM 1261 O HIS A 173 4.419 22.333 68.450 1.00 29.83 O +ATOM 1262 CB HIS A 173 3.852 20.425 70.473 1.00 30.23 C +ATOM 1263 CG HIS A 173 2.985 19.703 71.452 1.00 31.94 C +ATOM 1264 ND1 HIS A 173 3.316 18.468 71.971 1.00 33.73 N +ATOM 1265 CD2 HIS A 173 1.775 20.017 71.973 1.00 31.84 C +ATOM 1266 CE1 HIS A 173 2.348 18.053 72.766 1.00 34.56 C +ATOM 1267 NE2 HIS A 173 1.400 18.975 72.785 1.00 34.51 N +ATOM 1268 N GLY A 174 4.811 20.600 67.067 1.00 27.07 N +ATOM 1269 CA GLY A 174 5.625 21.396 66.167 1.00 24.63 C +ATOM 1270 C GLY A 174 7.044 21.592 66.647 1.00 23.40 C +ATOM 1271 O GLY A 174 7.710 22.553 66.264 1.00 24.50 O +ATOM 1272 N ILE A 175 7.515 20.681 67.491 1.00 22.24 N +ATOM 1273 CA ILE A 175 8.871 20.766 68.012 1.00 20.63 C +ATOM 1274 C ILE A 175 9.708 19.642 67.419 1.00 21.17 C +ATOM 1275 O ILE A 175 9.385 18.465 67.598 1.00 20.43 O +ATOM 1276 CB ILE A 175 8.905 20.619 69.547 1.00 20.05 C +ATOM 1277 CG1 ILE A 175 8.014 21.676 70.199 1.00 21.88 C +ATOM 1278 CG2 ILE A 175 10.333 20.755 70.046 1.00 16.31 C +ATOM 1279 CD1 ILE A 175 7.888 21.532 71.712 1.00 20.44 C +ATOM 1280 N ASN A 176 10.771 20.010 66.706 1.00 20.73 N +ATOM 1281 CA ASN A 176 11.665 19.029 66.100 1.00 20.36 C +ATOM 1282 C ASN A 176 12.803 18.757 67.060 1.00 18.91 C +ATOM 1283 O ASN A 176 13.425 19.695 67.568 1.00 17.94 O +ATOM 1284 CB ASN A 176 12.287 19.545 64.791 1.00 20.67 C +ATOM 1285 CG ASN A 176 11.263 19.820 63.714 1.00 23.34 C +ATOM 1286 OD1 ASN A 176 10.635 20.881 63.692 1.00 25.32 O +ATOM 1287 ND2 ASN A 176 11.084 18.859 62.812 1.00 20.98 N +ATOM 1288 N VAL A 177 13.076 17.481 67.301 1.00 15.54 N +ATOM 1289 CA VAL A 177 14.179 17.110 68.168 1.00 16.40 C +ATOM 1290 C VAL A 177 15.119 16.164 67.409 1.00 15.61 C +ATOM 1291 O VAL A 177 14.715 15.089 66.975 1.00 15.59 O +ATOM 1292 CB VAL A 177 13.684 16.407 69.470 1.00 18.18 C +ATOM 1293 CG1 VAL A 177 14.871 16.167 70.412 1.00 15.32 C +ATOM 1294 CG2 VAL A 177 12.617 17.256 70.161 1.00 15.53 C +ATOM 1295 N ASN A 178 16.367 16.577 67.241 1.00 14.59 N +ATOM 1296 CA ASN A 178 17.356 15.764 66.547 1.00 16.00 C +ATOM 1297 C ASN A 178 18.671 15.956 67.290 1.00 17.44 C +ATOM 1298 O ASN A 178 18.761 16.804 68.175 1.00 18.35 O +ATOM 1299 CB ASN A 178 17.524 16.229 65.092 1.00 14.42 C +ATOM 1300 CG ASN A 178 16.262 16.057 64.268 1.00 13.37 C +ATOM 1301 OD1 ASN A 178 15.859 14.939 63.950 1.00 11.38 O +ATOM 1302 ND2 ASN A 178 15.628 17.169 63.924 1.00 11.38 N +ATOM 1303 N ALA A 179 19.688 15.186 66.925 1.00 16.81 N +ATOM 1304 CA ALA A 179 20.989 15.304 67.572 1.00 17.70 C +ATOM 1305 C ALA A 179 22.123 15.270 66.553 1.00 18.08 C +ATOM 1306 O ALA A 179 21.953 14.787 65.435 1.00 18.21 O +ATOM 1307 CB ALA A 179 21.173 14.179 68.583 1.00 16.58 C +ATOM 1308 N ILE A 180 23.276 15.795 66.948 1.00 18.15 N +ATOM 1309 CA ILE A 180 24.461 15.798 66.094 1.00 18.35 C +ATOM 1310 C ILE A 180 25.481 14.913 66.804 1.00 18.11 C +ATOM 1311 O ILE A 180 25.656 15.030 68.012 1.00 20.45 O +ATOM 1312 CB ILE A 180 25.058 17.219 65.955 1.00 18.29 C +ATOM 1313 CG1 ILE A 180 24.052 18.151 65.279 1.00 16.41 C +ATOM 1314 CG2 ILE A 180 26.357 17.168 65.177 1.00 15.58 C +ATOM 1315 CD1 ILE A 180 24.489 19.593 65.282 1.00 16.74 C +ATOM 1316 N ALA A 181 26.143 14.025 66.072 1.00 17.12 N +ATOM 1317 CA ALA A 181 27.132 13.147 66.683 1.00 17.03 C +ATOM 1318 C ALA A 181 28.529 13.392 66.124 1.00 18.92 C +ATOM 1319 O ALA A 181 28.909 12.838 65.093 1.00 18.45 O +ATOM 1320 CB ALA A 181 26.740 11.693 66.487 1.00 15.64 C +ATOM 1321 N PRO A 182 29.311 14.249 66.799 1.00 19.68 N +ATOM 1322 CA PRO A 182 30.670 14.542 66.338 1.00 19.64 C +ATOM 1323 C PRO A 182 31.542 13.292 66.450 1.00 22.18 C +ATOM 1324 O PRO A 182 31.157 12.306 67.080 1.00 22.23 O +ATOM 1325 CB PRO A 182 31.132 15.638 67.299 1.00 17.46 C +ATOM 1326 CG PRO A 182 29.844 16.304 67.729 1.00 17.22 C +ATOM 1327 CD PRO A 182 28.925 15.130 67.919 1.00 17.83 C +ATOM 1328 N GLY A 183 32.712 13.332 65.831 1.00 24.56 N +ATOM 1329 CA GLY A 183 33.623 12.212 65.920 1.00 29.35 C +ATOM 1330 C GLY A 183 34.672 12.638 66.923 1.00 33.20 C +ATOM 1331 O GLY A 183 34.347 12.963 68.069 1.00 34.83 O +ATOM 1332 N VAL A 184 35.929 12.651 66.503 1.00 35.67 N +ATOM 1333 CA VAL A 184 37.002 13.089 67.382 1.00 40.16 C +ATOM 1334 C VAL A 184 37.278 14.560 67.066 1.00 42.25 C +ATOM 1335 O VAL A 184 37.712 14.896 65.969 1.00 42.64 O +ATOM 1336 CB VAL A 184 38.275 12.242 67.168 1.00 40.51 C +ATOM 1337 CG1 VAL A 184 38.078 10.861 67.770 1.00 39.63 C +ATOM 1338 CG2 VAL A 184 38.572 12.108 65.677 1.00 42.18 C +ATOM 1339 N VAL A 185 36.990 15.440 68.017 1.00 45.34 N +ATOM 1340 CA VAL A 185 37.209 16.866 67.814 1.00 49.56 C +ATOM 1341 C VAL A 185 38.413 17.329 68.610 1.00 53.11 C +ATOM 1342 O VAL A 185 38.526 17.042 69.803 1.00 53.93 O +ATOM 1343 CB VAL A 185 35.991 17.699 68.258 1.00 49.58 C +ATOM 1344 CG1 VAL A 185 36.274 19.185 68.049 1.00 48.44 C +ATOM 1345 CG2 VAL A 185 34.763 17.274 67.475 1.00 49.21 C +ATOM 1346 N ASP A 186 39.313 18.050 67.950 1.00 56.68 N +ATOM 1347 CA ASP A 186 40.503 18.541 68.622 1.00 60.24 C +ATOM 1348 C ASP A 186 40.135 19.607 69.646 1.00 62.23 C +ATOM 1349 O ASP A 186 39.107 20.279 69.539 1.00 62.03 O +ATOM 1350 CB ASP A 186 41.504 19.109 67.612 1.00 61.15 C +ATOM 1351 CG ASP A 186 42.919 19.189 68.171 1.00 63.02 C +ATOM 1352 OD1 ASP A 186 43.123 18.821 69.348 1.00 64.60 O +ATOM 1353 OD2 ASP A 186 43.833 19.618 67.432 1.00 63.98 O +ATOM 1354 N GLY A 187 41.003 19.740 70.638 1.00 65.34 N +ATOM 1355 CA GLY A 187 40.821 20.690 71.715 1.00 68.73 C +ATOM 1356 C GLY A 187 41.956 20.428 72.685 1.00 70.64 C +ATOM 1357 O GLY A 187 42.683 19.439 72.548 1.00 71.06 O +ATOM 1358 N GLU A 188 42.121 21.299 73.668 1.00 72.17 N +ATOM 1359 CA GLU A 188 43.197 21.121 74.630 1.00 73.53 C +ATOM 1360 C GLU A 188 43.054 19.842 75.458 1.00 73.25 C +ATOM 1361 O GLU A 188 44.049 19.200 75.784 1.00 74.21 O +ATOM 1362 CB GLU A 188 43.271 22.342 75.543 1.00 74.81 C +ATOM 1363 CG GLU A 188 41.928 22.763 76.092 1.00 76.65 C +ATOM 1364 CD GLU A 188 41.994 24.089 76.813 1.00 78.01 C +ATOM 1365 OE1 GLU A 188 43.107 24.642 76.944 1.00 79.12 O +ATOM 1366 OE2 GLU A 188 40.932 24.580 77.251 1.00 79.03 O +ATOM 1367 N HIS A 189 41.821 19.466 75.785 1.00 71.89 N +ATOM 1368 CA HIS A 189 41.573 18.263 76.580 1.00 70.38 C +ATOM 1369 C HIS A 189 42.370 17.050 76.095 1.00 69.41 C +ATOM 1370 O HIS A 189 42.613 16.111 76.857 1.00 69.33 O +ATOM 1371 CB HIS A 189 40.085 17.922 76.557 1.00 70.47 C +ATOM 1372 CG HIS A 189 39.545 17.702 75.178 1.00 71.14 C +ATOM 1373 ND1 HIS A 189 39.521 18.695 74.224 1.00 70.60 N +ATOM 1374 CD2 HIS A 189 39.030 16.598 74.587 1.00 71.47 C +ATOM 1375 CE1 HIS A 189 39.016 18.214 73.103 1.00 70.66 C +ATOM 1376 NE2 HIS A 189 38.710 16.942 73.296 1.00 71.08 N +ATOM 1377 N TRP A 190 42.779 17.073 74.830 1.00 67.92 N +ATOM 1378 CA TRP A 190 43.533 15.962 74.262 1.00 66.94 C +ATOM 1379 C TRP A 190 44.908 15.743 74.875 1.00 67.66 C +ATOM 1380 O TRP A 190 45.518 14.692 74.680 1.00 68.15 O +ATOM 1381 CB TRP A 190 43.659 16.118 72.742 1.00 64.11 C +ATOM 1382 CG TRP A 190 42.594 15.354 72.011 1.00 60.92 C +ATOM 1383 CD1 TRP A 190 41.423 15.844 71.506 1.00 59.84 C +ATOM 1384 CD2 TRP A 190 42.559 13.939 71.804 1.00 58.82 C +ATOM 1385 NE1 TRP A 190 40.659 14.819 71.002 1.00 58.65 N +ATOM 1386 CE2 TRP A 190 41.332 13.638 71.174 1.00 58.69 C +ATOM 1387 CE3 TRP A 190 43.444 12.893 72.096 1.00 58.51 C +ATOM 1388 CZ2 TRP A 190 40.968 12.334 70.828 1.00 58.32 C +ATOM 1389 CZ3 TRP A 190 43.081 11.596 71.753 1.00 58.65 C +ATOM 1390 CH2 TRP A 190 41.853 11.329 71.126 1.00 58.40 C +ATOM 1391 N ASP A 191 45.395 16.728 75.620 1.00 68.65 N +ATOM 1392 CA ASP A 191 46.702 16.612 76.258 1.00 69.33 C +ATOM 1393 C ASP A 191 46.625 15.519 77.322 1.00 68.31 C +ATOM 1394 O ASP A 191 47.409 14.566 77.316 1.00 68.22 O +ATOM 1395 CB ASP A 191 47.091 17.933 76.934 1.00 71.80 C +ATOM 1396 CG ASP A 191 46.715 19.154 76.108 1.00 73.75 C +ATOM 1397 OD1 ASP A 191 46.139 20.104 76.687 1.00 74.00 O +ATOM 1398 OD2 ASP A 191 46.997 19.172 74.890 1.00 74.44 O +ATOM 1399 N GLY A 192 45.665 15.674 78.231 1.00 66.70 N +ATOM 1400 CA GLY A 192 45.484 14.717 79.309 1.00 64.71 C +ATOM 1401 C GLY A 192 44.892 13.401 78.852 1.00 63.30 C +ATOM 1402 O GLY A 192 45.316 12.335 79.301 1.00 62.40 O +ATOM 1403 N VAL A 193 43.905 13.477 77.963 1.00 62.43 N +ATOM 1404 CA VAL A 193 43.255 12.283 77.439 1.00 60.31 C +ATOM 1405 C VAL A 193 44.321 11.369 76.855 1.00 59.50 C +ATOM 1406 O VAL A 193 44.338 10.164 77.114 1.00 58.71 O +ATOM 1407 CB VAL A 193 42.238 12.639 76.335 1.00 59.25 C +ATOM 1408 CG1 VAL A 193 41.577 11.375 75.802 1.00 58.69 C +ATOM 1409 CG2 VAL A 193 41.197 13.594 76.886 1.00 58.50 C +ATOM 1410 N ASP A 194 45.215 11.962 76.072 1.00 59.03 N +ATOM 1411 CA ASP A 194 46.304 11.229 75.441 1.00 58.59 C +ATOM 1412 C ASP A 194 47.185 10.585 76.515 1.00 57.85 C +ATOM 1413 O ASP A 194 47.600 9.427 76.391 1.00 57.67 O +ATOM 1414 CB ASP A 194 47.133 12.182 74.578 1.00 58.32 C +ATOM 1415 CG ASP A 194 48.300 11.494 73.915 1.00 58.85 C +ATOM 1416 OD1 ASP A 194 48.063 10.640 73.033 1.00 58.08 O +ATOM 1417 OD2 ASP A 194 49.452 11.804 74.287 1.00 58.45 O +ATOM 1418 N ALA A 195 47.464 11.347 77.569 1.00 56.42 N +ATOM 1419 CA ALA A 195 48.283 10.861 78.674 1.00 55.64 C +ATOM 1420 C ALA A 195 47.628 9.632 79.285 1.00 54.70 C +ATOM 1421 O ALA A 195 48.298 8.649 79.614 1.00 53.94 O +ATOM 1422 CB ALA A 195 48.429 11.947 79.728 1.00 55.46 C +ATOM 1423 N LYS A 196 46.311 9.707 79.437 1.00 54.16 N +ATOM 1424 CA LYS A 196 45.529 8.617 79.998 1.00 53.98 C +ATOM 1425 C LYS A 196 45.733 7.338 79.193 1.00 53.52 C +ATOM 1426 O LYS A 196 46.170 6.320 79.736 1.00 53.23 O +ATOM 1427 CB LYS A 196 44.047 8.993 80.005 1.00 54.35 C +ATOM 1428 CG LYS A 196 43.696 10.096 80.979 1.00 56.27 C +ATOM 1429 CD LYS A 196 43.783 9.592 82.407 1.00 58.25 C +ATOM 1430 CE LYS A 196 43.293 10.636 83.400 1.00 59.44 C +ATOM 1431 NZ LYS A 196 43.173 10.073 84.778 1.00 60.85 N +ATOM 1432 N PHE A 197 45.417 7.394 77.900 1.00 52.11 N +ATOM 1433 CA PHE A 197 45.566 6.233 77.029 1.00 51.19 C +ATOM 1434 C PHE A 197 47.010 5.746 76.998 1.00 51.30 C +ATOM 1435 O PHE A 197 47.270 4.541 77.045 1.00 50.40 O +ATOM 1436 CB PHE A 197 45.109 6.556 75.600 1.00 49.19 C +ATOM 1437 CG PHE A 197 43.616 6.671 75.443 1.00 46.86 C +ATOM 1438 CD1 PHE A 197 42.996 7.915 75.417 1.00 45.15 C +ATOM 1439 CD2 PHE A 197 42.831 5.530 75.310 1.00 46.08 C +ATOM 1440 CE1 PHE A 197 41.618 8.020 75.256 1.00 44.34 C +ATOM 1441 CE2 PHE A 197 41.455 5.626 75.149 1.00 44.65 C +ATOM 1442 CZ PHE A 197 40.847 6.873 75.121 1.00 43.84 C +ATOM 1443 N ALA A 198 47.948 6.683 76.914 1.00 52.00 N +ATOM 1444 CA ALA A 198 49.363 6.330 76.881 1.00 53.89 C +ATOM 1445 C ALA A 198 49.704 5.450 78.084 1.00 54.91 C +ATOM 1446 O ALA A 198 50.444 4.468 77.970 1.00 53.95 O +ATOM 1447 CB ALA A 198 50.216 7.595 76.895 1.00 51.77 C +ATOM 1448 N ASP A 199 49.138 5.806 79.231 1.00 56.75 N +ATOM 1449 CA ASP A 199 49.374 5.082 80.469 1.00 58.72 C +ATOM 1450 C ASP A 199 48.558 3.789 80.559 1.00 58.47 C +ATOM 1451 O ASP A 199 49.040 2.780 81.076 1.00 58.04 O +ATOM 1452 CB ASP A 199 49.055 5.992 81.659 1.00 61.40 C +ATOM 1453 CG ASP A 199 49.597 5.452 82.966 1.00 64.83 C +ATOM 1454 OD1 ASP A 199 50.822 5.204 83.045 1.00 66.81 O +ATOM 1455 OD2 ASP A 199 48.803 5.278 83.916 1.00 66.48 O +ATOM 1456 N TYR A 200 47.327 3.826 80.054 1.00 57.94 N +ATOM 1457 CA TYR A 200 46.440 2.663 80.075 1.00 57.30 C +ATOM 1458 C TYR A 200 46.791 1.606 79.027 1.00 58.08 C +ATOM 1459 O TYR A 200 46.448 0.433 79.192 1.00 58.00 O +ATOM 1460 CB TYR A 200 44.986 3.088 79.837 1.00 54.81 C +ATOM 1461 CG TYR A 200 44.243 3.630 81.041 1.00 54.29 C +ATOM 1462 CD1 TYR A 200 43.683 4.909 81.018 1.00 53.72 C +ATOM 1463 CD2 TYR A 200 44.057 2.851 82.184 1.00 54.57 C +ATOM 1464 CE1 TYR A 200 42.952 5.400 82.100 1.00 53.10 C +ATOM 1465 CE2 TYR A 200 43.325 3.334 83.278 1.00 53.99 C +ATOM 1466 CZ TYR A 200 42.777 4.609 83.225 1.00 53.47 C +ATOM 1467 OH TYR A 200 42.052 5.094 84.288 1.00 52.20 O +ATOM 1468 N GLU A 201 47.471 2.010 77.956 1.00 58.77 N +ATOM 1469 CA GLU A 201 47.796 1.072 76.885 1.00 60.18 C +ATOM 1470 C GLU A 201 49.277 0.900 76.553 1.00 60.32 C +ATOM 1471 O GLU A 201 49.615 0.309 75.526 1.00 59.03 O +ATOM 1472 CB GLU A 201 47.040 1.470 75.613 1.00 61.22 C +ATOM 1473 CG GLU A 201 45.736 2.205 75.889 1.00 63.44 C +ATOM 1474 CD GLU A 201 44.867 2.370 74.656 1.00 64.50 C +ATOM 1475 OE1 GLU A 201 44.289 1.362 74.196 1.00 64.36 O +ATOM 1476 OE2 GLU A 201 44.763 3.507 74.148 1.00 64.74 O +ATOM 1477 N ASN A 202 50.158 1.404 77.410 1.00 60.96 N +ATOM 1478 CA ASN A 202 51.591 1.270 77.168 1.00 61.64 C +ATOM 1479 C ASN A 202 51.925 1.851 75.792 1.00 61.22 C +ATOM 1480 O ASN A 202 52.417 1.154 74.904 1.00 60.33 O +ATOM 1481 CB ASN A 202 51.986 -0.214 77.244 1.00 62.95 C +ATOM 1482 CG ASN A 202 53.487 -0.435 77.135 1.00 64.07 C +ATOM 1483 OD1 ASN A 202 54.276 0.209 77.830 1.00 64.55 O +ATOM 1484 ND2 ASN A 202 53.887 -1.363 76.268 1.00 64.74 N +ATOM 1485 N LEU A 203 51.639 3.138 75.626 1.00 60.87 N +ATOM 1486 CA LEU A 203 51.895 3.835 74.373 1.00 60.56 C +ATOM 1487 C LEU A 203 52.716 5.089 74.643 1.00 60.41 C +ATOM 1488 O LEU A 203 52.573 5.717 75.691 1.00 60.44 O +ATOM 1489 CB LEU A 203 50.574 4.238 73.709 1.00 60.79 C +ATOM 1490 CG LEU A 203 49.587 3.146 73.281 1.00 61.14 C +ATOM 1491 CD1 LEU A 203 48.275 3.787 72.850 1.00 60.55 C +ATOM 1492 CD2 LEU A 203 50.182 2.319 72.147 1.00 60.88 C +ATOM 1493 N PRO A 204 53.594 5.467 73.701 1.00 60.19 N +ATOM 1494 CA PRO A 204 54.427 6.664 73.866 1.00 60.30 C +ATOM 1495 C PRO A 204 53.537 7.894 74.018 1.00 60.41 C +ATOM 1496 O PRO A 204 52.481 7.977 73.395 1.00 60.34 O +ATOM 1497 CB PRO A 204 55.237 6.703 72.570 1.00 60.07 C +ATOM 1498 CG PRO A 204 55.349 5.254 72.197 1.00 60.33 C +ATOM 1499 CD PRO A 204 53.954 4.742 72.470 1.00 60.03 C +ATOM 1500 N ARG A 205 53.956 8.843 74.843 1.00 60.69 N +ATOM 1501 CA ARG A 205 53.171 10.052 75.047 1.00 62.34 C +ATOM 1502 C ARG A 205 52.963 10.758 73.706 1.00 61.75 C +ATOM 1503 O ARG A 205 53.929 11.175 73.066 1.00 62.25 O +ATOM 1504 CB ARG A 205 53.895 10.993 76.007 1.00 65.20 C +ATOM 1505 CG ARG A 205 54.473 10.317 77.238 1.00 71.21 C +ATOM 1506 CD ARG A 205 55.347 11.294 78.010 1.00 75.99 C +ATOM 1507 NE ARG A 205 56.194 10.634 79.002 1.00 80.68 N +ATOM 1508 CZ ARG A 205 57.146 11.250 79.701 1.00 82.80 C +ATOM 1509 NH1 ARG A 205 57.375 12.547 79.520 1.00 83.42 N +ATOM 1510 NH2 ARG A 205 57.876 10.569 80.578 1.00 83.44 N +ATOM 1511 N GLY A 206 51.709 10.885 73.280 1.00 60.65 N +ATOM 1512 CA GLY A 206 51.414 11.553 72.021 1.00 58.74 C +ATOM 1513 C GLY A 206 51.039 10.648 70.858 1.00 57.72 C +ATOM 1514 O GLY A 206 50.530 11.116 69.840 1.00 57.45 O +ATOM 1515 N GLU A 207 51.288 9.353 71.005 1.00 56.61 N +ATOM 1516 CA GLU A 207 50.983 8.390 69.957 1.00 56.75 C +ATOM 1517 C GLU A 207 49.481 8.210 69.758 1.00 56.35 C +ATOM 1518 O GLU A 207 49.008 8.095 68.630 1.00 56.37 O +ATOM 1519 CB GLU A 207 51.619 7.035 70.289 1.00 58.24 C +ATOM 1520 CG GLU A 207 51.245 5.907 69.328 1.00 61.56 C +ATOM 1521 CD GLU A 207 51.943 6.005 67.978 1.00 63.92 C +ATOM 1522 OE1 GLU A 207 52.271 7.134 67.547 1.00 64.56 O +ATOM 1523 OE2 GLU A 207 52.148 4.946 67.340 1.00 64.66 O +ATOM 1524 N LYS A 208 48.736 8.184 70.858 1.00 55.81 N +ATOM 1525 CA LYS A 208 47.291 7.994 70.803 1.00 54.47 C +ATOM 1526 C LYS A 208 46.591 9.054 69.968 1.00 54.10 C +ATOM 1527 O LYS A 208 45.808 8.731 69.076 1.00 54.24 O +ATOM 1528 CB LYS A 208 46.695 7.998 72.215 1.00 53.61 C +ATOM 1529 CG LYS A 208 45.220 7.622 72.257 1.00 51.11 C +ATOM 1530 CD LYS A 208 45.027 6.180 71.831 1.00 49.58 C +ATOM 1531 CE LYS A 208 43.572 5.785 71.839 1.00 46.85 C +ATOM 1532 NZ LYS A 208 43.441 4.340 71.534 1.00 46.61 N +ATOM 1533 N LYS A 209 46.868 10.319 70.265 1.00 53.65 N +ATOM 1534 CA LYS A 209 46.248 11.420 69.535 1.00 53.32 C +ATOM 1535 C LYS A 209 46.620 11.367 68.062 1.00 54.50 C +ATOM 1536 O LYS A 209 45.845 11.783 67.202 1.00 54.77 O +ATOM 1537 CB LYS A 209 46.683 12.763 70.116 1.00 51.21 C +ATOM 1538 CG LYS A 209 46.033 13.946 69.436 1.00 48.73 C +ATOM 1539 CD LYS A 209 46.562 15.259 69.976 1.00 48.11 C +ATOM 1540 CE LYS A 209 45.841 16.435 69.349 1.00 46.46 C +ATOM 1541 NZ LYS A 209 46.410 17.738 69.771 1.00 47.55 N +ATOM 1542 N ARG A 210 47.813 10.858 67.777 1.00 55.70 N +ATOM 1543 CA ARG A 210 48.287 10.749 66.406 1.00 56.99 C +ATOM 1544 C ARG A 210 47.528 9.641 65.680 1.00 56.95 C +ATOM 1545 O ARG A 210 47.042 9.840 64.564 1.00 56.48 O +ATOM 1546 CB ARG A 210 49.784 10.440 66.385 1.00 58.95 C +ATOM 1547 CG ARG A 210 50.405 10.512 65.001 1.00 61.02 C +ATOM 1548 CD ARG A 210 51.718 9.749 64.944 1.00 63.75 C +ATOM 1549 NE ARG A 210 51.524 8.322 65.202 1.00 65.84 N +ATOM 1550 CZ ARG A 210 50.788 7.512 64.442 1.00 66.16 C +ATOM 1551 NH1 ARG A 210 50.170 7.983 63.366 1.00 66.15 N +ATOM 1552 NH2 ARG A 210 50.667 6.228 64.759 1.00 65.33 N +ATOM 1553 N GLN A 211 47.438 8.476 66.319 1.00 56.05 N +ATOM 1554 CA GLN A 211 46.735 7.331 65.748 1.00 55.34 C +ATOM 1555 C GLN A 211 45.298 7.708 65.427 1.00 53.74 C +ATOM 1556 O GLN A 211 44.826 7.499 64.309 1.00 53.99 O +ATOM 1557 CB GLN A 211 46.732 6.146 66.727 1.00 57.24 C +ATOM 1558 CG GLN A 211 48.058 5.403 66.842 1.00 60.85 C +ATOM 1559 CD GLN A 211 47.982 4.210 67.784 1.00 62.89 C +ATOM 1560 OE1 GLN A 211 47.139 3.324 67.620 1.00 63.24 O +ATOM 1561 NE2 GLN A 211 48.868 4.182 68.773 1.00 63.72 N +ATOM 1562 N VAL A 212 44.615 8.273 66.419 1.00 51.56 N +ATOM 1563 CA VAL A 212 43.216 8.679 66.295 1.00 48.04 C +ATOM 1564 C VAL A 212 42.937 9.604 65.116 1.00 45.48 C +ATOM 1565 O VAL A 212 42.021 9.362 64.334 1.00 43.48 O +ATOM 1566 CB VAL A 212 42.735 9.375 67.585 1.00 46.87 C +ATOM 1567 CG1 VAL A 212 41.301 9.839 67.425 1.00 47.50 C +ATOM 1568 CG2 VAL A 212 42.853 8.419 68.756 1.00 45.84 C +ATOM 1569 N GLY A 213 43.728 10.664 65.000 1.00 44.03 N +ATOM 1570 CA GLY A 213 43.542 11.616 63.919 1.00 43.19 C +ATOM 1571 C GLY A 213 43.835 11.061 62.538 1.00 42.50 C +ATOM 1572 O GLY A 213 43.246 11.501 61.552 1.00 42.61 O +ATOM 1573 N ALA A 214 44.744 10.093 62.468 1.00 41.63 N +ATOM 1574 CA ALA A 214 45.119 9.474 61.203 1.00 39.58 C +ATOM 1575 C ALA A 214 44.128 8.385 60.793 1.00 38.85 C +ATOM 1576 O ALA A 214 44.039 8.032 59.619 1.00 39.86 O +ATOM 1577 CB ALA A 214 46.525 8.886 61.313 1.00 39.82 C +ATOM 1578 N ALA A 215 43.381 7.856 61.757 1.00 36.60 N +ATOM 1579 CA ALA A 215 42.414 6.801 61.472 1.00 33.99 C +ATOM 1580 C ALA A 215 41.119 7.352 60.886 1.00 32.84 C +ATOM 1581 O ALA A 215 40.317 6.603 60.317 1.00 32.52 O +ATOM 1582 CB ALA A 215 42.118 6.010 62.738 1.00 33.98 C +ATOM 1583 N VAL A 216 40.911 8.658 61.033 1.00 31.30 N +ATOM 1584 CA VAL A 216 39.713 9.302 60.498 1.00 30.33 C +ATOM 1585 C VAL A 216 39.781 9.256 58.980 1.00 29.51 C +ATOM 1586 O VAL A 216 40.721 9.778 58.388 1.00 29.59 O +ATOM 1587 CB VAL A 216 39.629 10.780 60.920 1.00 30.17 C +ATOM 1588 CG1 VAL A 216 38.431 11.439 60.253 1.00 28.16 C +ATOM 1589 CG2 VAL A 216 39.532 10.885 62.433 1.00 29.30 C +ATOM 1590 N PRO A 217 38.790 8.624 58.331 1.00 28.53 N +ATOM 1591 CA PRO A 217 38.765 8.523 56.867 1.00 27.89 C +ATOM 1592 C PRO A 217 39.094 9.848 56.183 1.00 26.79 C +ATOM 1593 O PRO A 217 39.957 9.895 55.316 1.00 25.32 O +ATOM 1594 CB PRO A 217 37.342 8.054 56.582 1.00 28.59 C +ATOM 1595 CG PRO A 217 37.060 7.170 57.762 1.00 28.21 C +ATOM 1596 CD PRO A 217 37.598 7.987 58.920 1.00 28.45 C +ATOM 1597 N PHE A 218 38.410 10.916 56.589 1.00 26.23 N +ATOM 1598 CA PHE A 218 38.634 12.243 56.020 1.00 26.96 C +ATOM 1599 C PHE A 218 40.113 12.639 56.061 1.00 28.62 C +ATOM 1600 O PHE A 218 40.557 13.473 55.273 1.00 29.39 O +ATOM 1601 CB PHE A 218 37.813 13.294 56.771 1.00 25.34 C +ATOM 1602 CG PHE A 218 37.843 14.663 56.135 1.00 26.10 C +ATOM 1603 CD1 PHE A 218 36.899 15.020 55.175 1.00 26.93 C +ATOM 1604 CD2 PHE A 218 38.807 15.600 56.501 1.00 26.10 C +ATOM 1605 CE1 PHE A 218 36.912 16.287 54.594 1.00 24.35 C +ATOM 1606 CE2 PHE A 218 38.828 16.870 55.925 1.00 25.01 C +ATOM 1607 CZ PHE A 218 37.879 17.213 54.972 1.00 24.55 C +ATOM 1608 N GLY A 219 40.870 12.068 56.992 1.00 29.98 N +ATOM 1609 CA GLY A 219 42.286 12.383 57.062 1.00 31.28 C +ATOM 1610 C GLY A 219 42.759 13.360 58.125 1.00 32.62 C +ATOM 1611 O GLY A 219 43.926 13.766 58.115 1.00 32.48 O +ATOM 1612 N ARG A 220 41.872 13.752 59.034 1.00 32.75 N +ATOM 1613 CA ARG A 220 42.264 14.667 60.099 1.00 32.67 C +ATOM 1614 C ARG A 220 41.242 14.715 61.222 1.00 33.39 C +ATOM 1615 O ARG A 220 40.089 14.311 61.058 1.00 33.04 O +ATOM 1616 CB ARG A 220 42.488 16.080 59.549 1.00 32.06 C +ATOM 1617 CG ARG A 220 41.264 16.982 59.553 1.00 31.62 C +ATOM 1618 CD ARG A 220 41.560 18.295 58.836 1.00 31.43 C +ATOM 1619 NE ARG A 220 40.436 19.233 58.714 1.00 32.68 N +ATOM 1620 CZ ARG A 220 39.176 18.996 59.067 1.00 34.77 C +ATOM 1621 NH1 ARG A 220 38.819 17.833 59.589 1.00 40.13 N +ATOM 1622 NH2 ARG A 220 38.260 19.936 58.887 1.00 33.56 N +ATOM 1623 N MET A 221 41.685 15.210 62.369 1.00 34.46 N +ATOM 1624 CA MET A 221 40.823 15.330 63.526 1.00 36.12 C +ATOM 1625 C MET A 221 39.796 16.421 63.233 1.00 35.62 C +ATOM 1626 O MET A 221 40.037 17.306 62.409 1.00 35.49 O +ATOM 1627 CB MET A 221 41.665 15.687 64.752 1.00 39.51 C +ATOM 1628 CG MET A 221 40.999 15.396 66.074 1.00 41.17 C +ATOM 1629 SD MET A 221 42.254 15.072 67.311 1.00 48.07 S +ATOM 1630 CE MET A 221 42.587 13.344 67.007 1.00 44.94 C +ATOM 1631 N GLY A 222 38.651 16.349 63.903 1.00 35.13 N +ATOM 1632 CA GLY A 222 37.597 17.323 63.689 1.00 34.04 C +ATOM 1633 C GLY A 222 37.910 18.728 64.160 1.00 34.46 C +ATOM 1634 O GLY A 222 38.894 18.968 64.856 1.00 32.50 O +ATOM 1635 N ARG A 223 37.043 19.660 63.779 1.00 35.55 N +ATOM 1636 CA ARG A 223 37.194 21.064 64.128 1.00 37.27 C +ATOM 1637 C ARG A 223 35.792 21.624 64.353 1.00 37.14 C +ATOM 1638 O ARG A 223 34.829 21.146 63.758 1.00 37.79 O +ATOM 1639 CB ARG A 223 37.882 21.789 62.973 1.00 40.76 C +ATOM 1640 CG ARG A 223 38.869 22.866 63.374 1.00 46.38 C +ATOM 1641 CD ARG A 223 40.052 22.861 62.420 1.00 48.38 C +ATOM 1642 NE ARG A 223 39.629 22.531 61.062 1.00 51.61 N +ATOM 1643 CZ ARG A 223 40.445 22.473 60.012 1.00 52.89 C +ATOM 1644 NH1 ARG A 223 41.738 22.727 60.162 1.00 54.40 N +ATOM 1645 NH2 ARG A 223 39.969 22.155 58.813 1.00 52.64 N +ATOM 1646 N ALA A 224 35.666 22.629 65.208 1.00 36.60 N +ATOM 1647 CA ALA A 224 34.352 23.200 65.480 1.00 36.54 C +ATOM 1648 C ALA A 224 33.659 23.649 64.195 1.00 36.01 C +ATOM 1649 O ALA A 224 32.459 23.456 64.030 1.00 35.98 O +ATOM 1650 CB ALA A 224 34.479 24.371 66.450 1.00 36.19 C +ATOM 1651 N GLU A 225 34.427 24.239 63.285 1.00 36.54 N +ATOM 1652 CA GLU A 225 33.897 24.725 62.015 1.00 36.13 C +ATOM 1653 C GLU A 225 33.254 23.635 61.161 1.00 33.95 C +ATOM 1654 O GLU A 225 32.456 23.929 60.276 1.00 33.83 O +ATOM 1655 CB GLU A 225 35.006 25.414 61.213 1.00 38.60 C +ATOM 1656 CG GLU A 225 35.567 26.663 61.881 1.00 43.71 C +ATOM 1657 CD GLU A 225 36.398 26.357 63.118 1.00 46.36 C +ATOM 1658 OE1 GLU A 225 36.616 27.290 63.919 1.00 49.37 O +ATOM 1659 OE2 GLU A 225 36.842 25.199 63.285 1.00 46.89 O +ATOM 1660 N ASP A 226 33.600 22.380 61.418 1.00 30.48 N +ATOM 1661 CA ASP A 226 33.019 21.290 60.651 1.00 28.59 C +ATOM 1662 C ASP A 226 31.594 21.013 61.090 1.00 27.55 C +ATOM 1663 O ASP A 226 30.814 20.431 60.341 1.00 26.90 O +ATOM 1664 CB ASP A 226 33.837 20.012 60.819 1.00 27.46 C +ATOM 1665 CG ASP A 226 35.259 20.175 60.355 1.00 29.29 C +ATOM 1666 OD1 ASP A 226 35.484 20.992 59.431 1.00 33.27 O +ATOM 1667 OD2 ASP A 226 36.149 19.482 60.894 1.00 26.89 O +ATOM 1668 N LEU A 227 31.260 21.451 62.301 1.00 26.95 N +ATOM 1669 CA LEU A 227 29.941 21.213 62.888 1.00 25.55 C +ATOM 1670 C LEU A 227 28.897 22.318 62.761 1.00 24.79 C +ATOM 1671 O LEU A 227 27.705 22.033 62.713 1.00 25.55 O +ATOM 1672 CB LEU A 227 30.111 20.860 64.373 1.00 24.60 C +ATOM 1673 CG LEU A 227 30.508 19.435 64.795 1.00 25.02 C +ATOM 1674 CD1 LEU A 227 31.388 18.770 63.767 1.00 22.80 C +ATOM 1675 CD2 LEU A 227 31.224 19.509 66.133 1.00 25.24 C +ATOM 1676 N THR A 228 29.334 23.571 62.708 1.00 25.33 N +ATOM 1677 CA THR A 228 28.405 24.699 62.631 1.00 26.26 C +ATOM 1678 C THR A 228 27.376 24.663 61.496 1.00 25.76 C +ATOM 1679 O THR A 228 26.234 25.099 61.683 1.00 27.50 O +ATOM 1680 CB THR A 228 29.172 26.033 62.583 1.00 27.39 C +ATOM 1681 OG1 THR A 228 30.023 26.063 61.432 1.00 29.26 O +ATOM 1682 CG2 THR A 228 30.029 26.186 63.838 1.00 27.87 C +ATOM 1683 N GLY A 229 27.762 24.143 60.332 1.00 23.67 N +ATOM 1684 CA GLY A 229 26.829 24.065 59.218 1.00 20.40 C +ATOM 1685 C GLY A 229 25.595 23.251 59.573 1.00 19.34 C +ATOM 1686 O GLY A 229 24.463 23.688 59.356 1.00 18.85 O +ATOM 1687 N MET A 230 25.812 22.059 60.120 1.00 19.43 N +ATOM 1688 CA MET A 230 24.717 21.176 60.517 1.00 20.56 C +ATOM 1689 C MET A 230 23.919 21.779 61.690 1.00 20.54 C +ATOM 1690 O MET A 230 22.688 21.683 61.736 1.00 19.43 O +ATOM 1691 CB MET A 230 25.279 19.802 60.898 1.00 21.95 C +ATOM 1692 CG MET A 230 24.234 18.778 61.285 1.00 22.84 C +ATOM 1693 SD MET A 230 23.037 18.482 59.979 1.00 25.30 S +ATOM 1694 CE MET A 230 23.893 17.232 59.046 1.00 23.83 C +ATOM 1695 N ALA A 231 24.622 22.409 62.628 1.00 19.80 N +ATOM 1696 CA ALA A 231 23.976 23.043 63.774 1.00 19.79 C +ATOM 1697 C ALA A 231 22.955 24.077 63.285 1.00 20.62 C +ATOM 1698 O ALA A 231 21.874 24.224 63.863 1.00 20.55 O +ATOM 1699 CB ALA A 231 25.024 23.716 64.657 1.00 18.85 C +ATOM 1700 N ILE A 232 23.308 24.790 62.218 1.00 21.65 N +ATOM 1701 CA ILE A 232 22.429 25.804 61.622 1.00 22.41 C +ATOM 1702 C ILE A 232 21.302 25.157 60.798 1.00 22.34 C +ATOM 1703 O ILE A 232 20.125 25.508 60.938 1.00 22.23 O +ATOM 1704 CB ILE A 232 23.233 26.760 60.690 1.00 22.14 C +ATOM 1705 CG1 ILE A 232 24.255 27.553 61.510 1.00 21.71 C +ATOM 1706 CG2 ILE A 232 22.293 27.711 59.970 1.00 20.73 C +ATOM 1707 CD1 ILE A 232 25.247 28.342 60.672 1.00 21.14 C +ATOM 1708 N PHE A 233 21.669 24.206 59.942 1.00 21.98 N +ATOM 1709 CA PHE A 233 20.696 23.536 59.094 1.00 20.26 C +ATOM 1710 C PHE A 233 19.520 22.942 59.863 1.00 20.62 C +ATOM 1711 O PHE A 233 18.363 23.154 59.495 1.00 21.09 O +ATOM 1712 CB PHE A 233 21.366 22.430 58.284 1.00 19.22 C +ATOM 1713 CG PHE A 233 20.426 21.720 57.347 1.00 19.57 C +ATOM 1714 CD1 PHE A 233 19.952 22.355 56.203 1.00 20.24 C +ATOM 1715 CD2 PHE A 233 19.993 20.430 57.622 1.00 19.07 C +ATOM 1716 CE1 PHE A 233 19.057 21.715 55.347 1.00 20.20 C +ATOM 1717 CE2 PHE A 233 19.097 19.779 56.773 1.00 20.60 C +ATOM 1718 CZ PHE A 233 18.628 20.424 55.632 1.00 20.62 C +ATOM 1719 N LEU A 234 19.813 22.191 60.921 1.00 19.98 N +ATOM 1720 CA LEU A 234 18.761 21.559 61.715 1.00 20.60 C +ATOM 1721 C LEU A 234 17.793 22.544 62.361 1.00 21.64 C +ATOM 1722 O LEU A 234 16.700 22.160 62.771 1.00 21.11 O +ATOM 1723 CB LEU A 234 19.375 20.668 62.798 1.00 18.60 C +ATOM 1724 CG LEU A 234 19.938 19.333 62.308 1.00 17.74 C +ATOM 1725 CD1 LEU A 234 20.567 18.564 63.458 1.00 15.97 C +ATOM 1726 CD2 LEU A 234 18.812 18.524 61.682 1.00 17.93 C +ATOM 1727 N ALA A 235 18.192 23.812 62.439 1.00 22.87 N +ATOM 1728 CA ALA A 235 17.355 24.841 63.045 1.00 25.13 C +ATOM 1729 C ALA A 235 16.507 25.610 62.037 1.00 26.81 C +ATOM 1730 O ALA A 235 15.700 26.459 62.423 1.00 28.97 O +ATOM 1731 CB ALA A 235 18.229 25.820 63.833 1.00 24.33 C +ATOM 1732 N THR A 236 16.679 25.320 60.752 1.00 26.60 N +ATOM 1733 CA THR A 236 15.925 26.025 59.716 1.00 26.35 C +ATOM 1734 C THR A 236 14.688 25.260 59.259 1.00 25.67 C +ATOM 1735 O THR A 236 14.532 24.071 59.542 1.00 26.18 O +ATOM 1736 CB THR A 236 16.804 26.292 58.486 1.00 26.23 C +ATOM 1737 OG1 THR A 236 17.209 25.042 57.917 1.00 25.70 O +ATOM 1738 CG2 THR A 236 18.039 27.087 58.877 1.00 24.61 C +ATOM 1739 N PRO A 237 13.778 25.941 58.551 1.00 24.86 N +ATOM 1740 CA PRO A 237 12.575 25.249 58.086 1.00 24.52 C +ATOM 1741 C PRO A 237 12.850 24.220 56.990 1.00 25.24 C +ATOM 1742 O PRO A 237 11.963 23.448 56.627 1.00 25.86 O +ATOM 1743 CB PRO A 237 11.670 26.392 57.627 1.00 22.45 C +ATOM 1744 CG PRO A 237 12.629 27.458 57.243 1.00 23.42 C +ATOM 1745 CD PRO A 237 13.675 27.391 58.319 1.00 24.22 C +ATOM 1746 N GLU A 238 14.072 24.200 56.463 1.00 25.76 N +ATOM 1747 CA GLU A 238 14.415 23.223 55.440 1.00 26.78 C +ATOM 1748 C GLU A 238 14.594 21.862 56.098 1.00 27.45 C +ATOM 1749 O GLU A 238 14.824 20.858 55.417 1.00 28.63 O +ATOM 1750 CB GLU A 238 15.705 23.607 54.707 1.00 28.34 C +ATOM 1751 CG GLU A 238 15.549 24.748 53.720 1.00 29.47 C +ATOM 1752 CD GLU A 238 16.743 24.880 52.781 1.00 31.84 C +ATOM 1753 OE1 GLU A 238 17.884 25.016 53.266 1.00 32.42 O +ATOM 1754 OE2 GLU A 238 16.541 24.850 51.549 1.00 33.50 O +ATOM 1755 N ALA A 239 14.476 21.836 57.425 1.00 26.09 N +ATOM 1756 CA ALA A 239 14.619 20.605 58.196 1.00 24.01 C +ATOM 1757 C ALA A 239 13.340 20.241 58.953 1.00 24.62 C +ATOM 1758 O ALA A 239 13.337 19.321 59.780 1.00 25.04 O +ATOM 1759 CB ALA A 239 15.778 20.741 59.175 1.00 23.04 C +ATOM 1760 N ASP A 240 12.251 20.949 58.668 1.00 22.92 N +ATOM 1761 CA ASP A 240 10.983 20.679 59.340 1.00 21.54 C +ATOM 1762 C ASP A 240 10.523 19.235 59.247 1.00 21.09 C +ATOM 1763 O ASP A 240 9.713 18.798 60.058 1.00 21.96 O +ATOM 1764 CB ASP A 240 9.864 21.549 58.776 1.00 21.66 C +ATOM 1765 CG ASP A 240 9.937 22.983 59.245 1.00 22.84 C +ATOM 1766 OD1 ASP A 240 10.857 23.337 60.015 1.00 23.30 O +ATOM 1767 OD2 ASP A 240 9.054 23.762 58.833 1.00 25.36 O +ATOM 1768 N TYR A 241 11.009 18.494 58.260 1.00 19.28 N +ATOM 1769 CA TYR A 241 10.574 17.113 58.113 1.00 18.03 C +ATOM 1770 C TYR A 241 11.587 16.132 58.710 1.00 18.36 C +ATOM 1771 O TYR A 241 11.430 14.915 58.583 1.00 18.99 O +ATOM 1772 CB TYR A 241 10.320 16.795 56.629 1.00 16.72 C +ATOM 1773 CG TYR A 241 9.357 15.646 56.381 1.00 14.84 C +ATOM 1774 CD1 TYR A 241 8.013 15.730 56.776 1.00 15.54 C +ATOM 1775 CD2 TYR A 241 9.787 14.472 55.761 1.00 12.80 C +ATOM 1776 CE1 TYR A 241 7.128 14.668 56.561 1.00 14.31 C +ATOM 1777 CE2 TYR A 241 8.912 13.410 55.539 1.00 12.47 C +ATOM 1778 CZ TYR A 241 7.590 13.514 55.941 1.00 14.81 C +ATOM 1779 OH TYR A 241 6.733 12.456 55.731 1.00 17.97 O +ATOM 1780 N ILE A 242 12.624 16.659 59.360 1.00 18.06 N +ATOM 1781 CA ILE A 242 13.632 15.802 59.990 1.00 18.59 C +ATOM 1782 C ILE A 242 13.275 15.639 61.479 1.00 20.10 C +ATOM 1783 O ILE A 242 13.363 16.584 62.262 1.00 18.52 O +ATOM 1784 CB ILE A 242 15.044 16.401 59.828 1.00 16.72 C +ATOM 1785 CG1 ILE A 242 15.407 16.442 58.333 1.00 16.44 C +ATOM 1786 CG2 ILE A 242 16.056 15.562 60.591 1.00 15.55 C +ATOM 1787 CD1 ILE A 242 16.715 17.134 58.009 1.00 13.53 C +ATOM 1788 N VAL A 243 12.864 14.430 61.854 1.00 20.04 N +ATOM 1789 CA VAL A 243 12.441 14.145 63.225 1.00 18.99 C +ATOM 1790 C VAL A 243 13.112 12.946 63.895 1.00 18.34 C +ATOM 1791 O VAL A 243 13.210 11.873 63.303 1.00 18.35 O +ATOM 1792 CB VAL A 243 10.923 13.896 63.262 1.00 18.93 C +ATOM 1793 CG1 VAL A 243 10.460 13.640 64.685 1.00 18.33 C +ATOM 1794 CG2 VAL A 243 10.198 15.083 62.658 1.00 17.52 C +ATOM 1795 N ALA A 244 13.554 13.145 65.138 1.00 17.17 N +ATOM 1796 CA ALA A 244 14.180 12.100 65.952 1.00 16.24 C +ATOM 1797 C ALA A 244 15.363 11.404 65.300 1.00 15.92 C +ATOM 1798 O ALA A 244 15.486 10.185 65.372 1.00 18.93 O +ATOM 1799 CB ALA A 244 13.128 11.057 66.361 1.00 12.40 C +ATOM 1800 N GLN A 245 16.247 12.179 64.689 1.00 15.76 N +ATOM 1801 CA GLN A 245 17.418 11.619 64.031 1.00 14.89 C +ATOM 1802 C GLN A 245 18.677 12.078 64.733 1.00 14.04 C +ATOM 1803 O GLN A 245 18.679 13.107 65.421 1.00 13.19 O +ATOM 1804 CB GLN A 245 17.496 12.098 62.566 1.00 16.43 C +ATOM 1805 CG GLN A 245 16.248 11.831 61.733 1.00 14.23 C +ATOM 1806 CD GLN A 245 15.967 10.355 61.600 1.00 13.84 C +ATOM 1807 OE1 GLN A 245 16.882 9.559 61.366 1.00 15.40 O +ATOM 1808 NE2 GLN A 245 14.700 9.975 61.740 1.00 12.98 N +ATOM 1809 N THR A 246 19.746 11.311 64.532 1.00 13.90 N +ATOM 1810 CA THR A 246 21.073 11.618 65.060 1.00 13.69 C +ATOM 1811 C THR A 246 21.963 11.546 63.810 1.00 14.66 C +ATOM 1812 O THR A 246 22.130 10.479 63.219 1.00 15.17 O +ATOM 1813 CB THR A 246 21.543 10.573 66.112 1.00 13.15 C +ATOM 1814 OG1 THR A 246 20.665 10.607 67.247 1.00 14.80 O +ATOM 1815 CG2 THR A 246 22.958 10.882 66.581 1.00 10.43 C +ATOM 1816 N TYR A 247 22.493 12.695 63.398 1.00 14.72 N +ATOM 1817 CA TYR A 247 23.338 12.801 62.209 1.00 13.19 C +ATOM 1818 C TYR A 247 24.814 12.835 62.562 1.00 14.07 C +ATOM 1819 O TYR A 247 25.249 13.694 63.324 1.00 15.30 O +ATOM 1820 CB TYR A 247 22.986 14.074 61.436 1.00 10.03 C +ATOM 1821 CG TYR A 247 21.655 14.036 60.698 1.00 10.79 C +ATOM 1822 CD1 TYR A 247 21.058 15.210 60.240 1.00 10.59 C +ATOM 1823 CD2 TYR A 247 21.023 12.831 60.410 1.00 9.17 C +ATOM 1824 CE1 TYR A 247 19.871 15.181 59.514 1.00 11.19 C +ATOM 1825 CE2 TYR A 247 19.840 12.796 59.681 1.00 9.39 C +ATOM 1826 CZ TYR A 247 19.274 13.973 59.238 1.00 10.28 C +ATOM 1827 OH TYR A 247 18.108 13.938 58.506 1.00 16.71 O +ATOM 1828 N ASN A 248 25.582 11.910 61.998 1.00 13.65 N +ATOM 1829 CA ASN A 248 27.012 11.844 62.258 1.00 16.85 C +ATOM 1830 C ASN A 248 27.802 12.808 61.380 1.00 18.74 C +ATOM 1831 O ASN A 248 27.707 12.752 60.148 1.00 22.45 O +ATOM 1832 CB ASN A 248 27.529 10.424 62.015 1.00 17.50 C +ATOM 1833 CG ASN A 248 27.012 9.429 63.034 1.00 19.69 C +ATOM 1834 OD1 ASN A 248 26.091 9.720 63.800 1.00 18.80 O +ATOM 1835 ND2 ASN A 248 27.602 8.238 63.042 1.00 21.89 N +ATOM 1836 N VAL A 249 28.572 13.690 62.014 1.00 18.57 N +ATOM 1837 CA VAL A 249 29.420 14.646 61.301 1.00 18.70 C +ATOM 1838 C VAL A 249 30.800 14.378 61.884 1.00 20.64 C +ATOM 1839 O VAL A 249 31.308 15.149 62.698 1.00 22.16 O +ATOM 1840 CB VAL A 249 28.997 16.110 61.576 1.00 18.65 C +ATOM 1841 CG1 VAL A 249 29.853 17.072 60.737 1.00 18.55 C +ATOM 1842 CG2 VAL A 249 27.526 16.300 61.236 1.00 15.89 C +ATOM 1843 N ASP A 250 31.399 13.275 61.440 1.00 21.03 N +ATOM 1844 CA ASP A 250 32.677 12.801 61.955 1.00 21.01 C +ATOM 1845 C ASP A 250 33.738 12.428 60.914 1.00 21.15 C +ATOM 1846 O ASP A 250 34.615 11.612 61.204 1.00 20.51 O +ATOM 1847 CB ASP A 250 32.391 11.562 62.789 1.00 23.83 C +ATOM 1848 CG ASP A 250 31.742 10.454 61.955 1.00 27.33 C +ATOM 1849 OD1 ASP A 250 31.203 9.479 62.526 1.00 28.60 O +ATOM 1850 OD2 ASP A 250 31.777 10.562 60.708 1.00 28.72 O +ATOM 1851 N GLY A 251 33.659 12.986 59.709 1.00 20.11 N +ATOM 1852 CA GLY A 251 34.647 12.657 58.691 1.00 17.10 C +ATOM 1853 C GLY A 251 34.732 11.174 58.349 1.00 18.53 C +ATOM 1854 O GLY A 251 35.765 10.691 57.867 1.00 17.43 O +ATOM 1855 N GLY A 252 33.653 10.441 58.610 1.00 18.10 N +ATOM 1856 CA GLY A 252 33.631 9.026 58.300 1.00 19.73 C +ATOM 1857 C GLY A 252 33.998 8.089 59.440 1.00 23.83 C +ATOM 1858 O GLY A 252 34.022 6.867 59.248 1.00 22.71 O +ATOM 1859 N ASN A 253 34.276 8.640 60.623 1.00 25.53 N +ATOM 1860 CA ASN A 253 34.653 7.820 61.778 1.00 25.63 C +ATOM 1861 C ASN A 253 33.661 6.701 62.091 1.00 24.79 C +ATOM 1862 O ASN A 253 34.053 5.594 62.456 1.00 25.09 O +ATOM 1863 CB ASN A 253 34.850 8.707 63.001 1.00 27.95 C +ATOM 1864 CG ASN A 253 36.241 8.580 63.574 1.00 32.16 C +ATOM 1865 OD1 ASN A 253 37.211 8.425 62.829 1.00 33.89 O +ATOM 1866 ND2 ASN A 253 36.355 8.652 64.898 1.00 33.82 N +ATOM 1867 N TRP A 254 32.375 6.989 61.957 1.00 23.58 N +ATOM 1868 CA TRP A 254 31.353 5.983 62.190 1.00 23.49 C +ATOM 1869 C TRP A 254 30.267 6.167 61.134 1.00 24.70 C +ATOM 1870 O TRP A 254 29.931 7.291 60.768 1.00 25.29 O +ATOM 1871 CB TRP A 254 30.769 6.117 63.600 1.00 23.33 C +ATOM 1872 CG TRP A 254 29.962 4.923 63.981 1.00 18.89 C +ATOM 1873 CD1 TRP A 254 28.604 4.811 63.964 1.00 19.59 C +ATOM 1874 CD2 TRP A 254 30.468 3.639 64.353 1.00 18.21 C +ATOM 1875 NE1 TRP A 254 28.229 3.532 64.301 1.00 18.41 N +ATOM 1876 CE2 TRP A 254 29.355 2.791 64.544 1.00 19.37 C +ATOM 1877 CE3 TRP A 254 31.756 3.121 64.540 1.00 17.89 C +ATOM 1878 CZ2 TRP A 254 29.489 1.449 64.921 1.00 19.13 C +ATOM 1879 CZ3 TRP A 254 31.890 1.790 64.912 1.00 19.67 C +ATOM 1880 CH2 TRP A 254 30.762 0.967 65.097 1.00 20.58 C +ATOM 1881 N MET A 255 29.709 5.069 60.642 1.00 26.34 N +ATOM 1882 CA MET A 255 28.701 5.164 59.592 1.00 27.93 C +ATOM 1883 C MET A 255 27.302 4.748 60.005 1.00 27.64 C +ATOM 1884 O MET A 255 27.057 3.586 60.326 1.00 29.54 O +ATOM 1885 CB MET A 255 29.146 4.331 58.399 1.00 28.54 C +ATOM 1886 CG MET A 255 30.558 4.642 57.948 1.00 30.99 C +ATOM 1887 SD MET A 255 31.116 3.394 56.790 1.00 34.74 S +ATOM 1888 CE MET A 255 31.526 2.062 57.912 1.00 35.45 C +ATOM 1889 N SER A 256 26.376 5.699 59.965 1.00 26.90 N +ATOM 1890 CA SER A 256 24.998 5.430 60.347 1.00 28.27 C +ATOM 1891 C SER A 256 24.040 5.839 59.231 1.00 28.44 C +ATOM 1892 O SER A 256 24.543 6.294 58.186 1.00 28.92 O +ATOM 1893 CB SER A 256 24.664 6.188 61.642 1.00 28.64 C +ATOM 1894 OG SER A 256 25.569 5.836 62.681 1.00 28.28 O +ATOM 1895 OXT SER A 256 22.811 5.701 59.408 1.00 27.92 O +TER 1896 SER A 256 +END \ No newline at end of file diff --git a/examples/demos/data/sdh.pdb b/examples/demos/data/sdh.pdb new file mode 100644 index 0000000000000000000000000000000000000000..796f7fa85f97be7d3cd7a3287225d36b06e4e39c --- /dev/null +++ b/examples/demos/data/sdh.pdb @@ -0,0 +1,3838 @@ +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 2 2 ASN A 38 GLY A 50 1 13 +HELIX 3 3 ASP A 62 GLY A 78 1 17 +HELIX 4 4 PRO A 94 ILE A 98 5 5 +HELIX 5 5 THR A 99 VAL A 111 1 13 +HELIX 6 6 VAL A 111 GLY A 129 1 19 +HELIX 7 7 SER A 139 ARG A 143 5 5 +HELIX 8 8 VAL A 149 ILE A 171 1 23 +HELIX 9 9 HIS A 189 ASN A 202 1 14 +HELIX 10 10 GLY A 206 VAL A 216 1 11 +HELIX 11 11 ARG A 223 LEU A 234 1 12 +HELIX 12 12 ALA A 235 ASP A 240 5 6 +HELIX 13 13 ARG B 15 GLU B 28 1 14 +HELIX 14 14 ASN B 38 GLY B 50 1 13 +HELIX 15 15 ASP B 62 GLY B 78 1 17 +HELIX 16 16 PRO B 94 ILE B 98 5 5 +HELIX 17 17 THR B 99 VAL B 111 1 13 +HELIX 18 18 VAL B 111 GLY B 129 1 19 +HELIX 19 19 SER B 139 ARG B 143 5 5 +HELIX 20 20 VAL B 149 ILE B 171 1 23 +HELIX 21 21 HIS B 189 GLU B 201 1 13 +HELIX 22 22 GLY B 206 VAL B 216 1 11 +HELIX 23 23 ARG B 223 LEU B 234 1 12 +HELIX 24 24 ALA B 235 ASP B 240 5 6 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 2 A 7 ALA A 30 ASP A 36 1 N ILE A 34 O CYS A 54 +SHEET 3 A 7 LYS A 6 THR A 11 1 N LYS A 6 O ARG A 31 +SHEET 4 A 7 ILE A 82 ASN A 85 1 O ILE A 82 N LEU A 9 +SHEET 5 A 7 GLY A 132 MET A 137 1 O ILE A 135 N LEU A 83 +SHEET 6 A 7 ILE A 175 PRO A 182 1 O ASN A 176 N ILE A 134 +SHEET 7 A 7 THR A 246 VAL A 249 1 O TYR A 247 N ALA A 181 +SHEET 1 B 7 ALA B 53 ALA B 57 0 +SHEET 2 B 7 ARG B 31 ASP B 36 1 N ILE B 34 O CYS B 54 +SHEET 3 B 7 THR B 7 THR B 11 1 N ALA B 8 O ARG B 31 +SHEET 4 B 7 ILE B 82 ASN B 85 1 O VAL B 84 N LEU B 9 +SHEET 5 B 7 GLY B 132 MET B 137 1 O ILE B 135 N LEU B 83 +SHEET 6 B 7 ILE B 175 PRO B 182 1 O ASN B 176 N ILE B 134 +SHEET 7 B 7 THR B 246 VAL B 249 1 O TYR B 247 N ALA B 181 +CRYST1 67.465 67.465 191.044 90.00 90.00 120.00 P 31 2 1 12 +ORIGX1 1.000000 0.000000 0.000000 0.00000 +ORIGX2 0.000000 1.000000 0.000000 0.00000 +ORIGX3 0.000000 0.000000 1.000000 0.00000 +SCALE1 0.014823 0.008558 0.000000 0.00000 +SCALE2 0.000000 0.017116 0.000000 0.00000 +SCALE3 0.000000 0.000000 0.005234 0.00000 +ATOM 1 N MET A 1 21.609 35.384 56.705 1.00 41.48 N +ATOM 2 CA MET A 1 20.601 35.494 57.793 1.00 41.58 C +ATOM 3 C MET A 1 19.654 34.300 57.789 1.00 39.51 C +ATOM 4 O MET A 1 18.447 34.456 57.595 1.00 38.98 O +ATOM 5 CB MET A 1 19.789 36.783 57.639 1.00 45.90 C +ATOM 6 CG MET A 1 20.629 38.055 57.606 1.00 51.18 C +ATOM 7 SD MET A 1 21.638 38.325 59.084 1.00 55.83 S +ATOM 8 CE MET A 1 23.233 37.697 58.529 1.00 54.59 C +ATOM 9 N ARG A 2 20.202 33.112 58.011 1.00 36.39 N +ATOM 10 CA ARG A 2 19.396 31.903 58.033 1.00 34.35 C +ATOM 11 C ARG A 2 18.608 31.739 59.328 1.00 34.20 C +ATOM 12 O ARG A 2 17.651 30.965 59.381 1.00 32.64 O +ATOM 13 CB ARG A 2 20.284 30.681 57.801 1.00 33.48 C +ATOM 14 CG ARG A 2 20.665 30.488 56.342 1.00 31.69 C +ATOM 15 CD ARG A 2 21.557 29.281 56.154 1.00 29.91 C +ATOM 16 NE ARG A 2 22.931 29.557 56.551 1.00 28.95 N +ATOM 17 CZ ARG A 2 23.901 28.653 56.528 1.00 30.21 C +ATOM 18 NH1 ARG A 2 23.640 27.417 56.130 1.00 32.54 N +ATOM 19 NH2 ARG A 2 25.132 28.980 56.893 1.00 29.14 N +ATOM 20 N LEU A 3 19.003 32.473 60.366 1.00 35.07 N +ATOM 21 CA LEU A 3 18.330 32.402 61.664 1.00 34.70 C +ATOM 22 C LEU A 3 17.884 33.787 62.117 1.00 35.41 C +ATOM 23 O LEU A 3 17.853 34.091 63.308 1.00 35.91 O +ATOM 24 CB LEU A 3 19.269 31.793 62.710 1.00 31.47 C +ATOM 25 CG LEU A 3 19.695 30.340 62.501 1.00 29.10 C +ATOM 26 CD1 LEU A 3 20.585 29.897 63.648 1.00 26.97 C +ATOM 27 CD2 LEU A 3 18.461 29.459 62.420 1.00 27.95 C +ATOM 28 N ASP A 4 17.517 34.614 61.149 1.00 36.70 N +ATOM 29 CA ASP A 4 17.099 35.980 61.411 1.00 37.42 C +ATOM 30 C ASP A 4 15.897 36.114 62.343 1.00 37.20 C +ATOM 31 O ASP A 4 14.839 35.529 62.107 1.00 35.42 O +ATOM 32 CB ASP A 4 16.814 36.671 60.079 1.00 40.33 C +ATOM 33 CG ASP A 4 17.023 38.166 60.142 1.00 43.16 C +ATOM 34 OD1 ASP A 4 16.121 38.876 60.638 1.00 44.42 O +ATOM 35 OD2 ASP A 4 18.100 38.629 59.699 1.00 45.27 O +ATOM 36 N GLY A 5 16.085 36.893 63.408 1.00 38.60 N +ATOM 37 CA GLY A 5 15.027 37.141 64.378 1.00 40.00 C +ATOM 38 C GLY A 5 14.640 35.963 65.253 1.00 40.53 C +ATOM 39 O GLY A 5 13.475 35.828 65.645 1.00 40.48 O +ATOM 40 N LYS A 6 15.612 35.110 65.565 1.00 39.87 N +ATOM 41 CA LYS A 6 15.354 33.938 66.391 1.00 38.75 C +ATOM 42 C LYS A 6 16.248 33.899 67.615 1.00 37.16 C +ATOM 43 O LYS A 6 17.363 34.427 67.602 1.00 36.93 O +ATOM 44 CB LYS A 6 15.548 32.665 65.571 1.00 39.36 C +ATOM 45 CG LYS A 6 14.498 32.476 64.504 1.00 40.15 C +ATOM 46 CD LYS A 6 14.601 31.107 63.866 1.00 41.73 C +ATOM 47 CE LYS A 6 13.463 30.880 62.879 1.00 44.93 C +ATOM 48 NZ LYS A 6 12.132 31.017 63.537 1.00 44.56 N +ATOM 49 N THR A 7 15.750 33.261 68.670 1.00 34.56 N +ATOM 50 CA THR A 7 16.484 33.152 69.925 1.00 31.14 C +ATOM 51 C THR A 7 16.945 31.728 70.188 1.00 30.82 C +ATOM 52 O THR A 7 16.175 30.775 70.059 1.00 31.78 O +ATOM 53 CB THR A 7 15.618 33.605 71.114 1.00 30.89 C +ATOM 54 OG1 THR A 7 14.409 32.837 71.147 1.00 31.28 O +ATOM 55 CG2 THR A 7 15.263 35.077 70.991 1.00 32.31 C +ATOM 56 N ALA A 8 18.205 31.586 70.573 1.00 29.62 N +ATOM 57 CA ALA A 8 18.759 30.274 70.854 1.00 29.72 C +ATOM 58 C ALA A 8 19.461 30.202 72.215 1.00 30.28 C +ATOM 59 O ALA A 8 20.244 31.084 72.579 1.00 30.25 O +ATOM 60 CB ALA A 8 19.732 29.874 69.745 1.00 29.05 C +ATOM 61 N LEU A 9 19.163 29.146 72.964 1.00 28.68 N +ATOM 62 CA LEU A 9 19.784 28.923 74.261 1.00 26.72 C +ATOM 63 C LEU A 9 20.780 27.790 74.007 1.00 26.04 C +ATOM 64 O LEU A 9 20.390 26.713 73.554 1.00 26.45 O +ATOM 65 CB LEU A 9 18.733 28.471 75.291 1.00 26.06 C +ATOM 66 CG LEU A 9 19.044 28.458 76.801 1.00 25.33 C +ATOM 67 CD1 LEU A 9 17.929 27.731 77.537 1.00 23.24 C +ATOM 68 CD2 LEU A 9 20.359 27.772 77.089 1.00 25.34 C +ATOM 69 N ILE A 10 22.056 28.036 74.278 1.00 23.49 N +ATOM 70 CA ILE A 10 23.077 27.016 74.090 1.00 24.46 C +ATOM 71 C ILE A 10 23.777 26.777 75.422 1.00 27.09 C +ATOM 72 O ILE A 10 24.431 27.677 75.953 1.00 27.64 O +ATOM 73 CB ILE A 10 24.124 27.460 73.057 1.00 24.13 C +ATOM 74 CG1 ILE A 10 23.427 27.822 71.747 1.00 22.48 C +ATOM 75 CG2 ILE A 10 25.153 26.351 72.842 1.00 17.46 C +ATOM 76 CD1 ILE A 10 24.360 28.402 70.719 1.00 24.59 C +ATOM 77 N THR A 11 23.650 25.565 75.955 1.00 27.49 N +ATOM 78 CA THR A 11 24.256 25.247 77.240 1.00 28.56 C +ATOM 79 C THR A 11 25.740 24.948 77.123 1.00 29.62 C +ATOM 80 O THR A 11 26.186 24.359 76.138 1.00 32.36 O +ATOM 81 CB THR A 11 23.551 24.043 77.899 1.00 27.97 C +ATOM 82 OG1 THR A 11 23.883 22.839 77.199 1.00 27.93 O +ATOM 83 CG2 THR A 11 22.050 24.235 77.863 1.00 27.09 C +ATOM 84 N GLY A 12 26.499 25.356 78.137 1.00 29.33 N +ATOM 85 CA GLY A 12 27.934 25.121 78.150 1.00 29.86 C +ATOM 86 C GLY A 12 28.634 25.744 76.963 1.00 31.12 C +ATOM 87 O GLY A 12 29.570 25.170 76.407 1.00 32.13 O +ATOM 88 N SER A 13 28.186 26.939 76.592 1.00 32.78 N +ATOM 89 CA SER A 13 28.721 27.662 75.443 1.00 33.66 C +ATOM 90 C SER A 13 29.757 28.737 75.764 1.00 35.28 C +ATOM 91 O SER A 13 30.039 29.600 74.933 1.00 36.10 O +ATOM 92 CB SER A 13 27.561 28.292 74.674 1.00 32.16 C +ATOM 93 OG SER A 13 26.712 29.012 75.550 1.00 31.20 O +ATOM 94 N ALA A 14 30.323 28.696 76.963 1.00 36.42 N +ATOM 95 CA ALA A 14 31.320 29.688 77.335 1.00 36.95 C +ATOM 96 C ALA A 14 32.594 29.418 76.550 1.00 37.21 C +ATOM 97 O ALA A 14 33.338 30.338 76.218 1.00 36.96 O +ATOM 98 CB ALA A 14 31.600 29.621 78.834 1.00 36.61 C +ATOM 99 N ARG A 15 32.833 28.146 76.249 1.00 37.46 N +ATOM 100 CA ARG A 15 34.025 27.749 75.511 1.00 38.19 C +ATOM 101 C ARG A 15 33.755 26.585 74.573 1.00 36.88 C +ATOM 102 O ARG A 15 32.648 26.040 74.533 1.00 36.88 O +ATOM 103 CB ARG A 15 35.136 27.342 76.484 1.00 40.06 C +ATOM 104 CG ARG A 15 35.555 28.438 77.445 1.00 43.70 C +ATOM 105 CD ARG A 15 36.475 27.902 78.531 1.00 44.19 C +ATOM 106 NE ARG A 15 36.657 28.880 79.598 0.00 44.00 N +ATOM 107 CZ ARG A 15 37.270 28.625 80.748 0.00 44.01 C +ATOM 108 NH1 ARG A 15 37.389 29.576 81.664 0.00 43.97 N +ATOM 109 NH2 ARG A 15 37.761 27.416 80.985 0.00 43.97 N +ATOM 110 N GLY A 16 34.791 26.214 73.825 1.00 35.61 N +ATOM 111 CA GLY A 16 34.707 25.101 72.898 1.00 34.73 C +ATOM 112 C GLY A 16 33.653 25.160 71.808 1.00 33.39 C +ATOM 113 O GLY A 16 33.297 26.227 71.306 1.00 33.46 O +ATOM 114 N ILE A 17 33.164 23.980 71.445 1.00 32.78 N +ATOM 115 CA ILE A 17 32.152 23.820 70.409 1.00 31.95 C +ATOM 116 C ILE A 17 30.913 24.653 70.699 1.00 31.77 C +ATOM 117 O ILE A 17 30.311 25.231 69.789 1.00 32.50 O +ATOM 118 CB ILE A 17 31.747 22.340 70.285 1.00 30.90 C +ATOM 119 CG1 ILE A 17 32.954 21.519 69.822 1.00 31.07 C +ATOM 120 CG2 ILE A 17 30.574 22.194 69.336 1.00 32.31 C +ATOM 121 CD1 ILE A 17 32.682 20.030 69.689 1.00 31.10 C +ATOM 122 N GLY A 18 30.533 24.711 71.968 1.00 30.54 N +ATOM 123 CA GLY A 18 29.362 25.475 72.340 1.00 30.57 C +ATOM 124 C GLY A 18 29.499 26.918 71.916 1.00 31.00 C +ATOM 125 O GLY A 18 28.548 27.511 71.403 1.00 30.12 O +ATOM 126 N ARG A 19 30.685 27.484 72.133 1.00 32.12 N +ATOM 127 CA ARG A 19 30.947 28.870 71.768 1.00 34.24 C +ATOM 128 C ARG A 19 30.840 29.036 70.263 1.00 34.09 C +ATOM 129 O ARG A 19 30.246 30.000 69.775 1.00 34.42 O +ATOM 130 CB ARG A 19 32.341 29.306 72.227 1.00 35.54 C +ATOM 131 CG ARG A 19 32.719 30.675 71.700 1.00 37.76 C +ATOM 132 CD ARG A 19 33.872 31.311 72.446 1.00 41.26 C +ATOM 133 NE ARG A 19 34.100 32.671 71.961 1.00 45.22 N +ATOM 134 CZ ARG A 19 34.886 33.567 72.552 1.00 47.24 C +ATOM 135 NH1 ARG A 19 35.538 33.261 73.668 1.00 47.45 N +ATOM 136 NH2 ARG A 19 35.014 34.779 72.026 1.00 48.67 N +ATOM 137 N ALA A 20 31.420 28.084 69.537 1.00 33.55 N +ATOM 138 CA ALA A 20 31.395 28.100 68.081 1.00 32.10 C +ATOM 139 C ALA A 20 29.960 28.244 67.579 1.00 31.27 C +ATOM 140 O ALA A 20 29.657 29.151 66.801 1.00 30.43 O +ATOM 141 CB ALA A 20 32.014 26.822 67.542 1.00 33.12 C +ATOM 142 N PHE A 21 29.078 27.355 68.031 1.00 29.80 N +ATOM 143 CA PHE A 21 27.681 27.410 67.616 1.00 30.38 C +ATOM 144 C PHE A 21 27.098 28.791 67.875 1.00 31.24 C +ATOM 145 O PHE A 21 26.382 29.341 67.041 1.00 31.23 O +ATOM 146 CB PHE A 21 26.849 26.371 68.372 1.00 31.41 C +ATOM 147 CG PHE A 21 27.159 24.947 68.004 1.00 31.93 C +ATOM 148 CD1 PHE A 21 26.580 23.898 68.713 1.00 32.29 C +ATOM 149 CD2 PHE A 21 28.021 24.649 66.951 1.00 31.51 C +ATOM 150 CE1 PHE A 21 26.858 22.570 68.385 1.00 32.16 C +ATOM 151 CE2 PHE A 21 28.304 23.327 66.615 1.00 31.35 C +ATOM 152 CZ PHE A 21 27.718 22.286 67.334 1.00 32.56 C +ATOM 153 N ALA A 22 27.407 29.349 69.040 1.00 32.80 N +ATOM 154 CA ALA A 22 26.898 30.661 69.410 1.00 32.66 C +ATOM 155 C ALA A 22 27.351 31.695 68.394 1.00 33.14 C +ATOM 156 O ALA A 22 26.539 32.453 67.870 1.00 33.21 O +ATOM 157 CB ALA A 22 27.384 31.037 70.797 1.00 32.85 C +ATOM 158 N GLU A 23 28.649 31.723 68.120 1.00 33.91 N +ATOM 159 CA GLU A 23 29.184 32.667 67.152 1.00 36.31 C +ATOM 160 C GLU A 23 28.513 32.448 65.792 1.00 36.26 C +ATOM 161 O GLU A 23 28.056 33.402 65.158 1.00 37.82 O +ATOM 162 CB GLU A 23 30.713 32.521 67.046 1.00 36.10 C +ATOM 163 CG GLU A 23 31.437 32.932 68.324 1.00 40.69 C +ATOM 164 CD GLU A 23 32.958 32.853 68.229 1.00 43.33 C +ATOM 165 OE1 GLU A 23 33.481 31.834 67.729 1.00 45.41 O +ATOM 166 OE2 GLU A 23 33.635 33.805 68.678 1.00 45.19 O +ATOM 167 N ALA A 24 28.428 31.196 65.355 1.00 35.52 N +ATOM 168 CA ALA A 24 27.799 30.893 64.076 1.00 35.70 C +ATOM 169 C ALA A 24 26.343 31.359 64.068 1.00 36.18 C +ATOM 170 O ALA A 24 25.894 32.018 63.131 1.00 38.13 O +ATOM 171 CB ALA A 24 27.874 29.403 63.802 1.00 35.57 C +ATOM 172 N TYR A 25 25.609 31.018 65.120 1.00 35.70 N +ATOM 173 CA TYR A 25 24.209 31.409 65.240 1.00 34.64 C +ATOM 174 C TYR A 25 24.019 32.924 65.172 1.00 35.28 C +ATOM 175 O TYR A 25 23.109 33.417 64.498 1.00 34.85 O +ATOM 176 CB TYR A 25 23.638 30.869 66.553 1.00 32.65 C +ATOM 177 CG TYR A 25 23.047 29.482 66.442 1.00 31.55 C +ATOM 178 CD1 TYR A 25 23.584 28.537 65.564 1.00 29.81 C +ATOM 179 CD2 TYR A 25 21.943 29.113 67.212 1.00 32.84 C +ATOM 180 CE1 TYR A 25 23.033 27.262 65.452 1.00 28.86 C +ATOM 181 CE2 TYR A 25 21.384 27.835 67.109 1.00 31.38 C +ATOM 182 CZ TYR A 25 21.935 26.917 66.226 1.00 29.78 C +ATOM 183 OH TYR A 25 21.383 25.660 66.120 1.00 28.89 O +ATOM 184 N VAL A 26 24.872 33.660 65.878 1.00 36.23 N +ATOM 185 CA VAL A 26 24.792 35.115 65.884 1.00 37.22 C +ATOM 186 C VAL A 26 25.032 35.634 64.475 1.00 38.84 C +ATOM 187 O VAL A 26 24.326 36.525 64.003 1.00 38.94 O +ATOM 188 CB VAL A 26 25.840 35.733 66.833 1.00 36.95 C +ATOM 189 CG1 VAL A 26 25.880 37.247 66.655 1.00 36.32 C +ATOM 190 CG2 VAL A 26 25.497 35.381 68.278 1.00 35.50 C +ATOM 191 N ARG A 27 26.021 35.055 63.803 1.00 39.22 N +ATOM 192 CA ARG A 27 26.359 35.452 62.444 1.00 40.94 C +ATOM 193 C ARG A 27 25.161 35.300 61.511 1.00 40.42 C +ATOM 194 O ARG A 27 25.075 35.985 60.492 1.00 42.12 O +ATOM 195 CB ARG A 27 27.507 34.597 61.915 1.00 43.30 C +ATOM 196 CG ARG A 27 28.427 35.315 60.945 1.00 47.74 C +ATOM 197 CD ARG A 27 28.992 34.355 59.908 1.00 51.22 C +ATOM 198 NE ARG A 27 29.188 32.999 60.427 1.00 55.99 N +ATOM 199 CZ ARG A 27 28.554 31.917 59.964 1.00 58.56 C +ATOM 200 NH1 ARG A 27 28.791 30.722 60.490 1.00 58.38 N +ATOM 201 NH2 ARG A 27 27.680 32.024 58.969 1.00 60.19 N +ATOM 202 N GLU A 28 24.241 34.402 61.856 1.00 38.14 N +ATOM 203 CA GLU A 28 23.060 34.163 61.031 1.00 36.10 C +ATOM 204 C GLU A 28 21.870 35.017 61.452 1.00 36.39 C +ATOM 205 O GLU A 28 20.727 34.740 61.076 1.00 34.91 O +ATOM 206 CB GLU A 28 22.667 32.682 61.071 1.00 35.69 C +ATOM 207 CG GLU A 28 23.663 31.726 60.403 1.00 33.17 C +ATOM 208 CD GLU A 28 23.837 31.979 58.905 1.00 32.01 C +ATOM 209 OE1 GLU A 28 22.832 32.201 58.195 1.00 28.70 O +ATOM 210 OE2 GLU A 28 24.989 31.942 58.433 1.00 31.55 O +ATOM 211 N GLY A 29 22.149 36.047 62.247 1.00 37.61 N +ATOM 212 CA GLY A 29 21.108 36.956 62.694 1.00 39.19 C +ATOM 213 C GLY A 29 20.233 36.496 63.845 1.00 40.36 C +ATOM 214 O GLY A 29 19.062 36.883 63.935 1.00 40.61 O +ATOM 215 N ALA A 30 20.788 35.682 64.736 1.00 40.68 N +ATOM 216 CA ALA A 30 20.023 35.190 65.876 1.00 40.66 C +ATOM 217 C ALA A 30 20.555 35.725 67.199 1.00 40.40 C +ATOM 218 O ALA A 30 21.729 36.081 67.308 1.00 40.37 O +ATOM 219 CB ALA A 30 20.042 33.676 65.895 1.00 40.55 C +ATOM 220 N ARG A 31 19.674 35.795 68.193 1.00 40.42 N +ATOM 221 CA ARG A 31 20.044 36.250 69.532 1.00 40.52 C +ATOM 222 C ARG A 31 20.339 34.996 70.352 1.00 39.11 C +ATOM 223 O ARG A 31 19.508 34.094 70.439 1.00 38.13 O +ATOM 224 CB ARG A 31 18.899 37.053 70.158 1.00 42.90 C +ATOM 225 CG ARG A 31 18.781 38.467 69.597 1.00 46.44 C +ATOM 226 CD ARG A 31 17.354 38.820 69.230 1.00 48.95 C +ATOM 227 NE ARG A 31 16.476 38.861 70.394 1.00 53.95 N +ATOM 228 CZ ARG A 31 15.162 39.061 70.330 1.00 56.89 C +ATOM 229 NH1 ARG A 31 14.573 39.237 69.151 1.00 58.47 N +ATOM 230 NH2 ARG A 31 14.433 39.087 71.441 1.00 57.00 N +ATOM 231 N VAL A 32 21.529 34.935 70.938 1.00 37.80 N +ATOM 232 CA VAL A 32 21.924 33.765 71.711 1.00 36.59 C +ATOM 233 C VAL A 32 22.185 34.035 73.183 1.00 36.34 C +ATOM 234 O VAL A 32 22.528 35.146 73.578 1.00 35.13 O +ATOM 235 CB VAL A 32 23.194 33.133 71.128 1.00 36.30 C +ATOM 236 CG1 VAL A 32 23.024 32.916 69.627 1.00 37.03 C +ATOM 237 CG2 VAL A 32 24.390 34.025 71.416 1.00 35.06 C +ATOM 238 N ALA A 33 22.040 32.986 73.984 1.00 37.38 N +ATOM 239 CA ALA A 33 22.261 33.058 75.421 1.00 36.31 C +ATOM 240 C ALA A 33 23.443 32.179 75.785 1.00 36.88 C +ATOM 241 O ALA A 33 23.386 30.961 75.625 1.00 37.35 O +ATOM 242 CB ALA A 33 21.025 32.588 76.159 1.00 35.42 C +ATOM 243 N ILE A 34 24.518 32.795 76.264 1.00 38.13 N +ATOM 244 CA ILE A 34 25.699 32.038 76.657 1.00 38.94 C +ATOM 245 C ILE A 34 25.498 31.538 78.080 1.00 40.59 C +ATOM 246 O ILE A 34 25.831 32.227 79.043 1.00 40.22 O +ATOM 247 CB ILE A 34 26.975 32.904 76.619 1.00 38.37 C +ATOM 248 CG1 ILE A 34 27.170 33.497 75.222 1.00 38.46 C +ATOM 249 CG2 ILE A 34 28.185 32.057 76.997 1.00 37.39 C +ATOM 250 CD1 ILE A 34 27.420 32.462 74.150 1.00 38.95 C +ATOM 251 N ALA A 35 24.941 30.339 78.205 1.00 41.92 N +ATOM 252 CA ALA A 35 24.695 29.745 79.508 1.00 43.18 C +ATOM 253 C ALA A 35 25.878 28.894 79.938 1.00 44.41 C +ATOM 254 O ALA A 35 26.433 28.139 79.146 1.00 45.46 O +ATOM 255 CB ALA A 35 23.438 28.901 79.465 1.00 42.44 C +ATOM 256 N ASP A 36 26.262 29.028 81.200 1.00 46.15 N +ATOM 257 CA ASP A 36 27.373 28.265 81.745 1.00 47.31 C +ATOM 258 C ASP A 36 27.265 28.297 83.267 1.00 48.60 C +ATOM 259 O ASP A 36 26.596 29.168 83.829 1.00 49.31 O +ATOM 260 CB ASP A 36 28.699 28.877 81.297 1.00 46.39 C +ATOM 261 CG ASP A 36 29.828 27.871 81.287 1.00 45.88 C +ATOM 262 OD1 ASP A 36 29.800 26.960 80.432 1.00 45.19 O +ATOM 263 OD2 ASP A 36 30.738 27.988 82.136 1.00 45.12 O +ATOM 264 N ILE A 37 27.915 27.351 83.936 1.00 50.09 N +ATOM 265 CA ILE A 37 27.863 27.297 85.392 1.00 51.95 C +ATOM 266 C ILE A 37 28.675 28.423 86.033 1.00 53.37 C +ATOM 267 O ILE A 37 28.359 28.876 87.135 1.00 53.50 O +ATOM 268 CB ILE A 37 28.371 25.949 85.917 1.00 51.56 C +ATOM 269 CG1 ILE A 37 28.119 25.865 87.423 1.00 51.91 C +ATOM 270 CG2 ILE A 37 29.850 25.790 85.595 1.00 51.01 C +ATOM 271 CD1 ILE A 37 28.295 24.481 88.004 1.00 52.00 C +ATOM 272 N ASN A 38 29.720 28.865 85.335 1.00 54.64 N +ATOM 273 CA ASN A 38 30.572 29.955 85.808 1.00 55.52 C +ATOM 274 C ASN A 38 30.205 31.247 85.084 1.00 54.73 C +ATOM 275 O ASN A 38 30.615 31.463 83.940 1.00 55.80 O +ATOM 276 CB ASN A 38 32.046 29.639 85.552 1.00 56.47 C +ATOM 277 CG ASN A 38 32.936 30.854 85.732 1.00 57.78 C +ATOM 278 OD1 ASN A 38 32.920 31.504 86.782 1.00 57.89 O +ATOM 279 ND2 ASN A 38 33.717 31.170 84.706 1.00 58.70 N +ATOM 280 N LEU A 39 29.447 32.105 85.757 1.00 53.84 N +ATOM 281 CA LEU A 39 29.002 33.363 85.173 1.00 54.57 C +ATOM 282 C LEU A 39 30.136 34.284 84.727 1.00 55.54 C +ATOM 283 O LEU A 39 29.931 35.148 83.876 1.00 56.03 O +ATOM 284 CB LEU A 39 28.090 34.097 86.154 1.00 53.87 C +ATOM 285 CG LEU A 39 27.369 35.328 85.603 1.00 54.60 C +ATOM 286 CD1 LEU A 39 26.591 34.951 84.350 1.00 54.32 C +ATOM 287 CD2 LEU A 39 26.433 35.892 86.665 1.00 54.58 C +ATOM 288 N GLU A 40 31.327 34.104 85.295 1.00 56.31 N +ATOM 289 CA GLU A 40 32.472 34.933 84.916 1.00 57.01 C +ATOM 290 C GLU A 40 32.787 34.722 83.441 1.00 56.41 C +ATOM 291 O GLU A 40 32.757 35.662 82.649 1.00 57.32 O +ATOM 292 CB GLU A 40 33.716 34.579 85.745 1.00 57.92 C +ATOM 293 CG GLU A 40 33.674 35.022 87.199 1.00 57.86 C +ATOM 294 CD GLU A 40 34.962 34.708 87.935 0.00 57.81 C +ATOM 295 OE1 GLU A 40 36.020 35.241 87.537 0.00 57.80 O +ATOM 296 OE2 GLU A 40 34.918 33.927 88.909 0.00 57.80 O +ATOM 297 N ALA A 41 33.087 33.477 83.085 1.00 55.70 N +ATOM 298 CA ALA A 41 33.413 33.119 81.710 1.00 55.07 C +ATOM 299 C ALA A 41 32.261 33.441 80.760 1.00 54.36 C +ATOM 300 O ALA A 41 32.485 33.884 79.631 1.00 55.50 O +ATOM 301 CB ALA A 41 33.759 31.637 81.628 1.00 54.86 C +ATOM 302 N ALA A 42 31.033 33.217 81.220 1.00 51.88 N +ATOM 303 CA ALA A 42 29.860 33.487 80.406 1.00 50.49 C +ATOM 304 C ALA A 42 29.833 34.951 79.984 1.00 50.10 C +ATOM 305 O ALA A 42 29.768 35.254 78.795 1.00 50.28 O +ATOM 306 CB ALA A 42 28.595 33.138 81.176 1.00 49.63 C +ATOM 307 N ARG A 43 29.889 35.855 80.960 1.00 49.94 N +ATOM 308 CA ARG A 43 29.873 37.291 80.683 1.00 49.15 C +ATOM 309 C ARG A 43 31.008 37.677 79.745 1.00 48.09 C +ATOM 310 O ARG A 43 30.836 38.518 78.864 1.00 47.84 O +ATOM 311 CB ARG A 43 30.007 38.101 81.977 1.00 49.16 C +ATOM 312 CG ARG A 43 28.905 37.872 82.993 1.00 49.68 C +ATOM 313 CD ARG A 43 28.432 39.193 83.580 1.00 49.79 C +ATOM 314 NE ARG A 43 29.543 40.037 84.010 0.00 49.84 N +ATOM 315 CZ ARG A 43 30.359 39.749 85.018 0.00 49.87 C +ATOM 316 NH1 ARG A 43 30.194 38.631 85.712 0.00 49.88 N +ATOM 317 NH2 ARG A 43 31.344 40.580 85.331 0.00 49.88 N +ATOM 318 N ALA A 44 32.168 37.058 79.948 1.00 46.99 N +ATOM 319 CA ALA A 44 33.347 37.326 79.134 1.00 47.53 C +ATOM 320 C ALA A 44 33.092 37.017 77.663 1.00 48.09 C +ATOM 321 O ALA A 44 33.331 37.854 76.789 1.00 48.80 O +ATOM 322 CB ALA A 44 34.517 36.499 79.640 1.00 46.98 C +ATOM 323 N THR A 45 32.613 35.805 77.401 1.00 48.24 N +ATOM 324 CA THR A 45 32.315 35.359 76.046 1.00 47.85 C +ATOM 325 C THR A 45 31.174 36.166 75.430 1.00 48.44 C +ATOM 326 O THR A 45 31.248 36.574 74.271 1.00 48.68 O +ATOM 327 CB THR A 45 31.932 33.864 76.037 1.00 47.38 C +ATOM 328 OG1 THR A 45 33.031 33.089 76.529 1.00 45.66 O +ATOM 329 CG2 THR A 45 31.589 33.403 74.631 1.00 47.55 C +ATOM 330 N ALA A 46 30.121 36.396 76.207 1.00 49.20 N +ATOM 331 CA ALA A 46 28.970 37.147 75.722 1.00 50.60 C +ATOM 332 C ALA A 46 29.372 38.548 75.281 1.00 51.74 C +ATOM 333 O ALA A 46 28.896 39.053 74.260 1.00 52.51 O +ATOM 334 CB ALA A 46 27.906 37.228 76.806 1.00 50.87 C +ATOM 335 N ALA A 47 30.248 39.174 76.059 1.00 52.05 N +ATOM 336 CA ALA A 47 30.707 40.523 75.755 1.00 52.69 C +ATOM 337 C ALA A 47 31.644 40.502 74.553 1.00 51.52 C +ATOM 338 O ALA A 47 31.737 41.470 73.799 1.00 51.19 O +ATOM 339 CB ALA A 47 31.419 41.112 76.969 1.00 52.78 C +ATOM 340 N GLU A 48 32.330 39.380 74.388 1.00 51.09 N +ATOM 341 CA GLU A 48 33.274 39.192 73.301 1.00 51.37 C +ATOM 342 C GLU A 48 32.542 39.009 71.972 1.00 51.47 C +ATOM 343 O GLU A 48 33.058 39.387 70.918 1.00 52.14 O +ATOM 344 CB GLU A 48 34.139 37.968 73.606 1.00 52.10 C +ATOM 345 CG GLU A 48 35.520 37.991 72.994 1.00 54.21 C +ATOM 346 CD GLU A 48 36.492 37.099 73.748 1.00 54.75 C +ATOM 347 OE1 GLU A 48 36.631 37.285 74.974 1.00 56.29 O +ATOM 348 OE2 GLU A 48 37.119 36.218 73.125 1.00 55.57 O +ATOM 349 N ILE A 49 31.336 38.442 72.035 1.00 50.68 N +ATOM 350 CA ILE A 49 30.522 38.190 70.846 1.00 49.69 C +ATOM 351 C ILE A 49 29.723 39.410 70.390 1.00 49.67 C +ATOM 352 O ILE A 49 29.548 39.630 69.192 1.00 49.69 O +ATOM 353 CB ILE A 49 29.549 36.999 71.076 1.00 49.01 C +ATOM 354 CG1 ILE A 49 30.350 35.705 71.233 1.00 48.28 C +ATOM 355 CG2 ILE A 49 28.568 36.880 69.916 1.00 47.17 C +ATOM 356 CD1 ILE A 49 29.499 34.463 71.377 1.00 47.96 C +ATOM 357 N GLY A 50 29.228 40.200 71.335 1.00 49.39 N +ATOM 358 CA GLY A 50 28.476 41.377 70.949 1.00 49.47 C +ATOM 359 C GLY A 50 27.117 41.538 71.598 1.00 50.11 C +ATOM 360 O GLY A 50 26.726 40.737 72.449 1.00 50.29 O +ATOM 361 N PRO A 51 26.372 42.587 71.207 1.00 50.40 N +ATOM 362 CA PRO A 51 25.034 42.921 71.712 1.00 49.58 C +ATOM 363 C PRO A 51 23.998 41.830 71.457 1.00 49.02 C +ATOM 364 O PRO A 51 22.927 41.829 72.067 1.00 49.15 O +ATOM 365 CB PRO A 51 24.695 44.209 70.962 1.00 50.07 C +ATOM 366 CG PRO A 51 26.039 44.821 70.704 1.00 49.86 C +ATOM 367 CD PRO A 51 26.847 43.628 70.278 1.00 49.89 C +ATOM 368 N ALA A 52 24.318 40.909 70.553 1.00 48.54 N +ATOM 369 CA ALA A 52 23.401 39.823 70.213 1.00 48.72 C +ATOM 370 C ALA A 52 23.466 38.671 71.213 1.00 48.10 C +ATOM 371 O ALA A 52 22.586 37.809 71.240 1.00 48.18 O +ATOM 372 CB ALA A 52 23.698 39.313 68.809 1.00 47.21 C +ATOM 373 N ALA A 53 24.508 38.661 72.035 1.00 47.86 N +ATOM 374 CA ALA A 53 24.677 37.611 73.028 1.00 48.97 C +ATOM 375 C ALA A 53 24.611 38.150 74.458 1.00 49.45 C +ATOM 376 O ALA A 53 25.078 39.251 74.743 1.00 50.94 O +ATOM 377 CB ALA A 53 26.007 36.901 72.803 1.00 48.79 C +ATOM 378 N CYS A 54 24.015 37.370 75.351 1.00 48.98 N +ATOM 379 CA CYS A 54 23.913 37.747 76.749 1.00 48.17 C +ATOM 380 C CYS A 54 24.262 36.524 77.589 1.00 47.49 C +ATOM 381 O CYS A 54 24.032 35.389 77.168 1.00 47.24 O +ATOM 382 CB CYS A 54 22.505 38.250 77.070 1.00 49.09 C +ATOM 383 SG CYS A 54 21.176 37.139 76.603 1.00 53.63 S +ATOM 384 N ALA A 55 24.835 36.757 78.766 1.00 46.35 N +ATOM 385 CA ALA A 55 25.234 35.670 79.651 1.00 44.77 C +ATOM 386 C ALA A 55 24.166 35.313 80.682 1.00 44.27 C +ATOM 387 O ALA A 55 23.260 36.099 80.968 1.00 44.34 O +ATOM 388 CB ALA A 55 26.541 36.029 80.353 1.00 44.16 C +ATOM 389 N ILE A 56 24.274 34.107 81.224 1.00 43.29 N +ATOM 390 CA ILE A 56 23.343 33.630 82.237 1.00 42.02 C +ATOM 391 C ILE A 56 23.912 32.391 82.914 1.00 41.19 C +ATOM 392 O ILE A 56 24.461 31.500 82.259 1.00 40.62 O +ATOM 393 CB ILE A 56 21.952 33.301 81.641 1.00 41.75 C +ATOM 394 CG1 ILE A 56 20.980 32.970 82.770 1.00 41.95 C +ATOM 395 CG2 ILE A 56 22.037 32.118 80.696 1.00 41.03 C +ATOM 396 CD1 ILE A 56 19.538 32.936 82.327 1.00 42.82 C +ATOM 397 N ALA A 57 23.793 32.349 84.235 1.00 39.65 N +ATOM 398 CA ALA A 57 24.308 31.232 85.012 1.00 38.36 C +ATOM 399 C ALA A 57 23.370 30.037 84.907 1.00 37.61 C +ATOM 400 O ALA A 57 22.146 30.182 84.994 1.00 36.56 O +ATOM 401 CB ALA A 57 24.475 31.649 86.468 1.00 37.83 C +ATOM 402 N LEU A 58 23.947 28.855 84.717 1.00 36.28 N +ATOM 403 CA LEU A 58 23.140 27.651 84.599 1.00 35.96 C +ATOM 404 C LEU A 58 23.840 26.388 85.066 1.00 35.93 C +ATOM 405 O LEU A 58 24.970 26.097 84.670 1.00 36.09 O +ATOM 406 CB LEU A 58 22.692 27.458 83.152 1.00 35.23 C +ATOM 407 CG LEU A 58 21.843 26.214 82.879 1.00 33.94 C +ATOM 408 CD1 LEU A 58 20.495 26.339 83.567 1.00 30.46 C +ATOM 409 CD2 LEU A 58 21.654 26.060 81.378 1.00 33.43 C +ATOM 410 N ASP A 59 23.156 25.643 85.921 1.00 35.71 N +ATOM 411 CA ASP A 59 23.674 24.380 86.417 1.00 35.86 C +ATOM 412 C ASP A 59 22.624 23.368 85.984 1.00 35.81 C +ATOM 413 O ASP A 59 21.618 23.187 86.673 1.00 35.94 O +ATOM 414 CB ASP A 59 23.780 24.396 87.938 1.00 36.21 C +ATOM 415 CG ASP A 59 24.445 23.156 88.474 1.00 37.33 C +ATOM 416 OD1 ASP A 59 24.050 22.047 88.059 1.00 36.23 O +ATOM 417 OD2 ASP A 59 25.362 23.291 89.307 1.00 40.49 O +ATOM 418 N VAL A 60 22.845 22.723 84.838 1.00 34.59 N +ATOM 419 CA VAL A 60 21.877 21.764 84.314 1.00 33.19 C +ATOM 420 C VAL A 60 21.534 20.613 85.254 1.00 33.10 C +ATOM 421 O VAL A 60 20.557 19.899 85.025 1.00 31.94 O +ATOM 422 CB VAL A 60 22.331 21.174 82.945 1.00 32.86 C +ATOM 423 CG1 VAL A 60 22.377 22.279 81.896 1.00 30.34 C +ATOM 424 CG2 VAL A 60 23.684 20.491 83.078 1.00 31.52 C +ATOM 425 N THR A 61 22.321 20.434 86.312 1.00 33.07 N +ATOM 426 CA THR A 61 22.057 19.356 87.259 1.00 34.49 C +ATOM 427 C THR A 61 21.128 19.803 88.388 1.00 35.19 C +ATOM 428 O THR A 61 20.699 18.986 89.201 1.00 36.31 O +ATOM 429 CB THR A 61 23.344 18.836 87.901 1.00 34.05 C +ATOM 430 OG1 THR A 61 23.795 19.777 88.879 1.00 36.43 O +ATOM 431 CG2 THR A 61 24.422 18.655 86.856 1.00 33.40 C +ATOM 432 N ASP A 62 20.818 21.098 88.433 1.00 36.00 N +ATOM 433 CA ASP A 62 19.945 21.644 89.473 1.00 35.14 C +ATOM 434 C ASP A 62 18.631 22.188 88.916 1.00 34.81 C +ATOM 435 O ASP A 62 18.615 23.185 88.194 1.00 34.83 O +ATOM 436 CB ASP A 62 20.663 22.760 90.228 1.00 37.13 C +ATOM 437 CG ASP A 62 19.817 23.336 91.339 1.00 38.64 C +ATOM 438 OD1 ASP A 62 19.553 22.601 92.314 1.00 40.81 O +ATOM 439 OD2 ASP A 62 19.407 24.512 91.235 1.00 38.60 O +ATOM 440 N GLN A 63 17.527 21.546 89.275 1.00 33.87 N +ATOM 441 CA GLN A 63 16.217 21.962 88.794 1.00 33.52 C +ATOM 442 C GLN A 63 15.944 23.448 89.021 1.00 34.72 C +ATOM 443 O GLN A 63 15.393 24.129 88.158 1.00 35.13 O +ATOM 444 CB GLN A 63 15.128 21.138 89.477 1.00 32.53 C +ATOM 445 CG GLN A 63 13.749 21.322 88.871 1.00 32.39 C +ATOM 446 CD GLN A 63 13.678 20.827 87.437 1.00 32.46 C +ATOM 447 OE1 GLN A 63 13.977 19.666 87.154 1.00 31.56 O +ATOM 448 NE2 GLN A 63 13.279 21.707 86.526 1.00 30.21 N +ATOM 449 N ALA A 64 16.329 23.955 90.187 1.00 35.86 N +ATOM 450 CA ALA A 64 16.097 25.362 90.506 1.00 34.48 C +ATOM 451 C ALA A 64 16.796 26.271 89.506 1.00 32.80 C +ATOM 452 O ALA A 64 16.200 27.223 89.001 1.00 32.43 O +ATOM 453 CB ALA A 64 16.579 25.670 91.924 1.00 35.25 C +ATOM 454 N SER A 65 18.062 25.976 89.227 1.00 31.21 N +ATOM 455 CA SER A 65 18.843 26.772 88.284 1.00 30.13 C +ATOM 456 C SER A 65 18.215 26.692 86.894 1.00 29.47 C +ATOM 457 O SER A 65 18.210 27.665 86.144 1.00 27.80 O +ATOM 458 CB SER A 65 20.284 26.266 88.238 1.00 29.21 C +ATOM 459 OG SER A 65 21.095 27.121 87.457 1.00 30.51 O +ATOM 460 N ILE A 66 17.674 25.523 86.567 1.00 29.84 N +ATOM 461 CA ILE A 66 17.037 25.306 85.277 1.00 30.26 C +ATOM 462 C ILE A 66 15.785 26.169 85.134 1.00 32.24 C +ATOM 463 O ILE A 66 15.634 26.890 84.147 1.00 32.91 O +ATOM 464 CB ILE A 66 16.686 23.801 85.077 1.00 27.13 C +ATOM 465 CG1 ILE A 66 17.952 23.026 84.702 1.00 24.91 C +ATOM 466 CG2 ILE A 66 15.609 23.636 84.022 1.00 24.45 C +ATOM 467 CD1 ILE A 66 17.751 21.532 84.563 1.00 26.91 C +ATOM 468 N ASP A 67 14.893 26.108 86.117 1.00 34.00 N +ATOM 469 CA ASP A 67 13.664 26.895 86.059 1.00 35.40 C +ATOM 470 C ASP A 67 13.937 28.400 86.059 1.00 36.75 C +ATOM 471 O ASP A 67 13.202 29.176 85.442 1.00 36.01 O +ATOM 472 CB ASP A 67 12.742 26.532 87.225 1.00 36.58 C +ATOM 473 CG ASP A 67 12.308 25.081 87.193 1.00 38.36 C +ATOM 474 OD1 ASP A 67 11.931 24.610 86.103 1.00 39.81 O +ATOM 475 OD2 ASP A 67 12.336 24.413 88.252 1.00 38.47 O +ATOM 476 N ARG A 68 14.985 28.819 86.758 1.00 38.36 N +ATOM 477 CA ARG A 68 15.316 30.231 86.796 1.00 40.77 C +ATOM 478 C ARG A 68 15.752 30.657 85.408 1.00 41.08 C +ATOM 479 O ARG A 68 15.227 31.623 84.852 1.00 40.58 O +ATOM 480 CB ARG A 68 16.445 30.508 87.788 1.00 44.09 C +ATOM 481 CG ARG A 68 15.981 30.904 89.178 1.00 48.76 C +ATOM 482 CD ARG A 68 17.099 31.640 89.915 1.00 53.27 C +ATOM 483 NE ARG A 68 18.266 30.792 90.159 1.00 54.86 N +ATOM 484 CZ ARG A 68 18.303 29.815 91.061 1.00 54.87 C +ATOM 485 NH1 ARG A 68 17.235 29.562 91.810 1.00 55.06 N +ATOM 486 NH2 ARG A 68 19.406 29.090 91.213 1.00 54.48 N +ATOM 487 N CYS A 69 16.712 29.918 84.856 1.00 40.06 N +ATOM 488 CA CYS A 69 17.252 30.191 83.531 1.00 39.62 C +ATOM 489 C CYS A 69 16.169 30.403 82.475 1.00 38.72 C +ATOM 490 O CYS A 69 16.150 31.422 81.783 1.00 37.80 O +ATOM 491 CB CYS A 69 18.165 29.044 83.100 1.00 39.99 C +ATOM 492 SG CYS A 69 18.689 29.125 81.368 1.00 42.49 S +ATOM 493 N VAL A 70 15.265 29.438 82.361 1.00 38.16 N +ATOM 494 CA VAL A 70 14.189 29.507 81.384 1.00 37.40 C +ATOM 495 C VAL A 70 13.238 30.673 81.619 1.00 38.38 C +ATOM 496 O VAL A 70 12.861 31.369 80.679 1.00 40.49 O +ATOM 497 CB VAL A 70 13.381 28.194 81.370 1.00 36.15 C +ATOM 498 CG1 VAL A 70 12.103 28.367 80.558 1.00 34.94 C +ATOM 499 CG2 VAL A 70 14.233 27.081 80.784 1.00 34.51 C +ATOM 500 N ALA A 71 12.843 30.881 82.868 1.00 38.72 N +ATOM 501 CA ALA A 71 11.934 31.969 83.201 1.00 38.96 C +ATOM 502 C ALA A 71 12.553 33.335 82.885 1.00 39.02 C +ATOM 503 O ALA A 71 11.873 34.233 82.394 1.00 37.96 O +ATOM 504 CB ALA A 71 11.554 31.891 84.680 1.00 39.38 C +ATOM 505 N GLU A 72 13.844 33.483 83.160 1.00 38.71 N +ATOM 506 CA GLU A 72 14.534 34.741 82.913 1.00 40.87 C +ATOM 507 C GLU A 72 14.619 35.073 81.427 1.00 42.58 C +ATOM 508 O GLU A 72 14.327 36.200 81.017 1.00 43.89 O +ATOM 509 CB GLU A 72 15.936 34.691 83.515 1.00 41.27 C +ATOM 510 CG GLU A 72 16.717 35.978 83.370 1.00 44.16 C +ATOM 511 CD GLU A 72 17.913 36.020 84.299 1.00 46.54 C +ATOM 512 OE1 GLU A 72 18.684 37.003 84.250 1.00 46.48 O +ATOM 513 OE2 GLU A 72 18.076 35.063 85.086 1.00 48.50 O +ATOM 514 N LEU A 73 15.021 34.094 80.622 1.00 42.36 N +ATOM 515 CA LEU A 73 15.134 34.288 79.183 1.00 40.61 C +ATOM 516 C LEU A 73 13.766 34.552 78.574 1.00 41.27 C +ATOM 517 O LEU A 73 13.641 35.313 77.613 1.00 40.27 O +ATOM 518 CB LEU A 73 15.770 33.060 78.536 1.00 40.13 C +ATOM 519 CG LEU A 73 17.241 32.840 78.898 1.00 38.89 C +ATOM 520 CD1 LEU A 73 17.704 31.513 78.328 1.00 38.35 C +ATOM 521 CD2 LEU A 73 18.090 33.994 78.365 1.00 37.11 C +ATOM 522 N LEU A 74 12.738 33.925 79.135 1.00 42.57 N +ATOM 523 CA LEU A 74 11.384 34.124 78.639 1.00 45.20 C +ATOM 524 C LEU A 74 10.957 35.578 78.780 1.00 47.81 C +ATOM 525 O LEU A 74 10.206 36.089 77.953 1.00 48.42 O +ATOM 526 CB LEU A 74 10.395 33.229 79.386 1.00 43.87 C +ATOM 527 CG LEU A 74 10.201 31.823 78.817 1.00 44.62 C +ATOM 528 CD1 LEU A 74 9.162 31.074 79.643 1.00 45.12 C +ATOM 529 CD2 LEU A 74 9.745 31.919 77.367 1.00 44.40 C +ATOM 530 N ASP A 75 11.432 36.243 79.830 1.00 50.76 N +ATOM 531 CA ASP A 75 11.076 37.637 80.051 1.00 52.76 C +ATOM 532 C ASP A 75 11.948 38.559 79.219 1.00 52.17 C +ATOM 533 O ASP A 75 11.502 39.623 78.803 1.00 52.65 O +ATOM 534 CB ASP A 75 11.193 38.005 81.535 1.00 56.34 C +ATOM 535 CG ASP A 75 10.282 37.165 82.419 1.00 59.85 C +ATOM 536 OD1 ASP A 75 9.204 36.740 81.942 1.00 60.41 O +ATOM 537 OD2 ASP A 75 10.641 36.942 83.596 1.00 62.77 O +ATOM 538 N ARG A 76 13.189 38.152 78.972 1.00 51.65 N +ATOM 539 CA ARG A 76 14.096 38.966 78.170 1.00 50.77 C +ATOM 540 C ARG A 76 13.787 38.837 76.680 1.00 48.49 C +ATOM 541 O ARG A 76 13.930 39.802 75.932 1.00 48.31 O +ATOM 542 CB ARG A 76 15.558 38.560 78.388 1.00 52.74 C +ATOM 543 CG ARG A 76 16.071 38.633 79.814 1.00 56.53 C +ATOM 544 CD ARG A 76 17.593 38.707 79.785 1.00 60.30 C +ATOM 545 NE ARG A 76 18.226 38.126 80.965 1.00 64.33 N +ATOM 546 CZ ARG A 76 19.544 38.051 81.138 1.00 66.39 C +ATOM 547 NH1 ARG A 76 20.364 38.528 80.207 1.00 66.95 N +ATOM 548 NH2 ARG A 76 20.046 37.489 82.233 1.00 67.54 N +ATOM 549 N TRP A 77 13.367 37.649 76.250 1.00 45.41 N +ATOM 550 CA TRP A 77 13.073 37.420 74.835 1.00 42.13 C +ATOM 551 C TRP A 77 11.604 37.231 74.487 1.00 41.62 C +ATOM 552 O TRP A 77 11.191 37.532 73.372 1.00 42.05 O +ATOM 553 CB TRP A 77 13.828 36.196 74.313 1.00 40.03 C +ATOM 554 CG TRP A 77 15.319 36.285 74.371 1.00 37.51 C +ATOM 555 CD1 TRP A 77 16.080 37.418 74.381 1.00 36.49 C +ATOM 556 CD2 TRP A 77 16.236 35.186 74.343 1.00 36.56 C +ATOM 557 NE1 TRP A 77 17.415 37.092 74.356 1.00 36.46 N +ATOM 558 CE2 TRP A 77 17.538 35.726 74.331 1.00 35.91 C +ATOM 559 CE3 TRP A 77 16.083 33.793 74.319 1.00 36.20 C +ATOM 560 CZ2 TRP A 77 18.682 34.926 74.301 1.00 36.10 C +ATOM 561 CZ3 TRP A 77 17.218 32.997 74.289 1.00 35.54 C +ATOM 562 CH2 TRP A 77 18.501 33.567 74.278 1.00 35.62 C +ATOM 563 N GLY A 78 10.817 36.722 75.427 1.00 41.28 N +ATOM 564 CA GLY A 78 9.413 36.492 75.148 1.00 39.86 C +ATOM 565 C GLY A 78 9.199 35.091 74.606 1.00 39.97 C +ATOM 566 O GLY A 78 8.073 34.603 74.550 1.00 40.78 O +ATOM 567 N SER A 79 10.281 34.441 74.189 1.00 39.94 N +ATOM 568 CA SER A 79 10.198 33.078 73.665 1.00 40.25 C +ATOM 569 C SER A 79 11.570 32.517 73.303 1.00 39.63 C +ATOM 570 O SER A 79 12.458 33.249 72.854 1.00 39.90 O +ATOM 571 CB SER A 79 9.300 33.022 72.426 1.00 40.29 C +ATOM 572 OG SER A 79 9.923 33.655 71.324 1.00 41.43 O +ATOM 573 N ILE A 80 11.733 31.214 73.509 1.00 37.58 N +ATOM 574 CA ILE A 80 12.976 30.529 73.189 1.00 35.51 C +ATOM 575 C ILE A 80 12.668 29.699 71.951 1.00 34.68 C +ATOM 576 O ILE A 80 11.840 28.787 72.008 1.00 35.20 O +ATOM 577 CB ILE A 80 13.401 29.597 74.332 1.00 35.48 C +ATOM 578 CG1 ILE A 80 13.495 30.395 75.631 1.00 36.66 C +ATOM 579 CG2 ILE A 80 14.737 28.950 74.013 1.00 34.17 C +ATOM 580 CD1 ILE A 80 13.798 29.547 76.843 1.00 38.10 C +ATOM 581 N ASP A 81 13.314 30.021 70.832 1.00 31.81 N +ATOM 582 CA ASP A 81 13.066 29.295 69.590 1.00 29.02 C +ATOM 583 C ASP A 81 13.932 28.060 69.419 1.00 26.87 C +ATOM 584 O ASP A 81 13.478 27.046 68.891 1.00 25.72 O +ATOM 585 CB ASP A 81 13.288 30.199 68.377 1.00 30.39 C +ATOM 586 CG ASP A 81 12.416 31.436 68.400 1.00 32.09 C +ATOM 587 OD1 ASP A 81 11.213 31.313 68.725 1.00 32.38 O +ATOM 588 OD2 ASP A 81 12.938 32.527 68.081 1.00 32.67 O +ATOM 589 N ILE A 82 15.177 28.146 69.872 1.00 24.06 N +ATOM 590 CA ILE A 82 16.111 27.042 69.710 1.00 23.63 C +ATOM 591 C ILE A 82 16.885 26.710 70.981 1.00 23.22 C +ATOM 592 O ILE A 82 17.361 27.601 71.683 1.00 23.85 O +ATOM 593 CB ILE A 82 17.145 27.369 68.607 1.00 23.10 C +ATOM 594 CG1 ILE A 82 16.439 27.943 67.373 1.00 24.17 C +ATOM 595 CG2 ILE A 82 17.930 26.127 68.255 1.00 20.12 C +ATOM 596 CD1 ILE A 82 17.391 28.510 66.314 1.00 21.60 C +ATOM 597 N LEU A 83 17.036 25.419 71.249 1.00 22.50 N +ATOM 598 CA LEU A 83 17.762 24.955 72.423 1.00 21.46 C +ATOM 599 C LEU A 83 18.813 23.938 72.002 1.00 21.96 C +ATOM 600 O LEU A 83 18.507 22.958 71.319 1.00 23.88 O +ATOM 601 CB LEU A 83 16.781 24.334 73.430 1.00 21.20 C +ATOM 602 CG LEU A 83 17.255 23.705 74.752 1.00 22.02 C +ATOM 603 CD1 LEU A 83 17.386 22.220 74.577 1.00 24.56 C +ATOM 604 CD2 LEU A 83 18.561 24.314 75.223 1.00 21.61 C +ATOM 605 N VAL A 84 20.057 24.181 72.403 1.00 21.01 N +ATOM 606 CA VAL A 84 21.145 23.284 72.067 1.00 20.11 C +ATOM 607 C VAL A 84 21.814 22.744 73.319 1.00 20.79 C +ATOM 608 O VAL A 84 22.588 23.445 73.971 1.00 22.04 O +ATOM 609 CB VAL A 84 22.218 23.995 71.203 1.00 21.55 C +ATOM 610 CG1 VAL A 84 23.360 23.030 70.890 1.00 18.11 C +ATOM 611 CG2 VAL A 84 21.589 24.518 69.912 1.00 20.98 C +ATOM 612 N ASN A 85 21.509 21.496 73.656 1.00 20.08 N +ATOM 613 CA ASN A 85 22.106 20.862 74.819 1.00 18.51 C +ATOM 614 C ASN A 85 23.548 20.468 74.495 1.00 18.52 C +ATOM 615 O ASN A 85 23.817 19.350 74.057 1.00 19.21 O +ATOM 616 CB ASN A 85 21.304 19.622 75.233 1.00 18.41 C +ATOM 617 CG ASN A 85 19.937 19.970 75.824 1.00 18.99 C +ATOM 618 OD1 ASN A 85 19.813 20.879 76.644 1.00 16.61 O +ATOM 619 ND2 ASN A 85 18.908 19.230 75.419 1.00 18.55 N +ATOM 620 N ASN A 86 24.468 21.402 74.713 1.00 18.04 N +ATOM 621 CA ASN A 86 25.885 21.179 74.452 1.00 18.54 C +ATOM 622 C ASN A 86 26.713 20.843 75.712 1.00 18.47 C +ATOM 623 O ASN A 86 27.798 20.269 75.608 1.00 14.60 O +ATOM 624 CB ASN A 86 26.474 22.420 73.771 1.00 18.83 C +ATOM 625 CG ASN A 86 27.958 22.285 73.500 1.00 23.16 C +ATOM 626 OD1 ASN A 86 28.385 21.440 72.711 1.00 24.69 O +ATOM 627 ND2 ASN A 86 28.758 23.114 74.164 1.00 27.29 N +ATOM 628 N ALA A 87 26.208 21.199 76.895 1.00 18.54 N +ATOM 629 CA ALA A 87 26.934 20.936 78.146 1.00 18.23 C +ATOM 630 C ALA A 87 27.198 19.454 78.361 1.00 17.40 C +ATOM 631 O ALA A 87 26.286 18.635 78.299 1.00 18.97 O +ATOM 632 CB ALA A 87 26.164 21.504 79.332 1.00 18.39 C +ATOM 633 N ALA A 88 28.449 19.106 78.629 1.00 17.55 N +ATOM 634 CA ALA A 88 28.793 17.712 78.827 1.00 18.66 C +ATOM 635 C ALA A 88 30.147 17.528 79.504 1.00 20.46 C +ATOM 636 O ALA A 88 30.954 18.452 79.575 1.00 21.40 O +ATOM 637 CB ALA A 88 28.783 16.992 77.480 1.00 18.28 C +ATOM 638 N LEU A 89 30.384 16.322 80.004 1.00 22.35 N +ATOM 639 CA LEU A 89 31.637 15.993 80.661 1.00 22.91 C +ATOM 640 C LEU A 89 32.177 14.702 80.088 1.00 21.30 C +ATOM 641 O LEU A 89 31.428 13.839 79.646 1.00 19.69 O +ATOM 642 CB LEU A 89 31.445 15.823 82.173 1.00 27.01 C +ATOM 643 CG LEU A 89 31.564 17.045 83.089 1.00 29.37 C +ATOM 644 CD1 LEU A 89 31.381 16.585 84.531 1.00 30.12 C +ATOM 645 CD2 LEU A 89 32.931 17.704 82.926 1.00 29.29 C +ATOM 646 N PHE A 90 33.491 14.578 80.114 1.00 22.22 N +ATOM 647 CA PHE A 90 34.151 13.400 79.595 1.00 22.86 C +ATOM 648 C PHE A 90 35.035 12.768 80.668 1.00 24.47 C +ATOM 649 O PHE A 90 35.492 13.445 81.588 1.00 25.08 O +ATOM 650 CB PHE A 90 34.986 13.782 78.373 1.00 19.71 C +ATOM 651 CG PHE A 90 35.767 12.648 77.812 1.00 20.71 C +ATOM 652 CD1 PHE A 90 37.100 12.473 78.154 1.00 20.21 C +ATOM 653 CD2 PHE A 90 35.162 11.731 76.961 1.00 20.67 C +ATOM 654 CE1 PHE A 90 37.821 11.396 77.662 1.00 20.92 C +ATOM 655 CE2 PHE A 90 35.873 10.650 76.463 1.00 19.79 C +ATOM 656 CZ PHE A 90 37.208 10.485 76.812 1.00 21.68 C +ATOM 657 N ASP A 91 35.272 11.468 80.543 1.00 25.32 N +ATOM 658 CA ASP A 91 36.094 10.747 81.500 1.00 25.52 C +ATOM 659 C ASP A 91 36.311 9.346 80.941 1.00 26.06 C +ATOM 660 O ASP A 91 35.546 8.882 80.094 1.00 25.43 O +ATOM 661 CB ASP A 91 35.366 10.668 82.844 1.00 28.34 C +ATOM 662 CG ASP A 91 36.315 10.550 84.033 1.00 28.51 C +ATOM 663 OD1 ASP A 91 35.804 10.377 85.159 1.00 32.55 O +ATOM 664 OD2 ASP A 91 37.551 10.635 83.857 1.00 25.53 O +ATOM 665 N LEU A 92 37.354 8.671 81.406 1.00 25.99 N +ATOM 666 CA LEU A 92 37.626 7.326 80.930 1.00 25.97 C +ATOM 667 C LEU A 92 38.276 6.478 82.000 1.00 24.25 C +ATOM 668 O LEU A 92 38.981 6.986 82.864 1.00 25.34 O +ATOM 669 CB LEU A 92 38.512 7.376 79.679 1.00 28.10 C +ATOM 670 CG LEU A 92 39.851 8.112 79.755 1.00 29.37 C +ATOM 671 CD1 LEU A 92 40.986 7.107 79.781 1.00 31.08 C +ATOM 672 CD2 LEU A 92 39.999 9.018 78.551 1.00 30.89 C +ATOM 673 N ALA A 93 38.021 5.179 81.939 1.00 22.01 N +ATOM 674 CA ALA A 93 38.583 4.244 82.895 1.00 21.68 C +ATOM 675 C ALA A 93 38.022 2.870 82.587 1.00 19.84 C +ATOM 676 O ALA A 93 36.883 2.756 82.135 1.00 20.46 O +ATOM 677 CB ALA A 93 38.203 4.658 84.326 1.00 22.18 C +ATOM 678 N PRO A 94 38.820 1.809 82.805 1.00 18.44 N +ATOM 679 CA PRO A 94 38.352 0.445 82.542 1.00 18.56 C +ATOM 680 C PRO A 94 37.196 0.101 83.484 1.00 19.10 C +ATOM 681 O PRO A 94 36.959 0.790 84.482 1.00 17.96 O +ATOM 682 CB PRO A 94 39.587 -0.414 82.829 1.00 17.65 C +ATOM 683 CG PRO A 94 40.720 0.506 82.557 1.00 16.82 C +ATOM 684 CD PRO A 94 40.258 1.815 83.132 1.00 17.44 C +ATOM 685 N ILE A 95 36.486 -0.972 83.167 1.00 19.35 N +ATOM 686 CA ILE A 95 35.367 -1.411 83.984 1.00 19.77 C +ATOM 687 C ILE A 95 35.747 -1.563 85.463 1.00 19.74 C +ATOM 688 O ILE A 95 35.127 -0.953 86.328 1.00 18.49 O +ATOM 689 CB ILE A 95 34.809 -2.762 83.478 1.00 19.29 C +ATOM 690 CG1 ILE A 95 34.212 -2.590 82.077 1.00 19.44 C +ATOM 691 CG2 ILE A 95 33.753 -3.292 84.451 1.00 19.79 C +ATOM 692 CD1 ILE A 95 33.033 -1.623 82.015 1.00 17.09 C +ATOM 693 N VAL A 96 36.770 -2.361 85.750 1.00 19.67 N +ATOM 694 CA VAL A 96 37.171 -2.584 87.137 1.00 21.64 C +ATOM 695 C VAL A 96 37.706 -1.357 87.881 1.00 22.62 C +ATOM 696 O VAL A 96 38.021 -1.454 89.060 1.00 24.28 O +ATOM 697 CB VAL A 96 38.231 -3.719 87.257 1.00 20.39 C +ATOM 698 CG1 VAL A 96 37.755 -4.962 86.525 1.00 19.41 C +ATOM 699 CG2 VAL A 96 39.563 -3.254 86.712 1.00 19.92 C +ATOM 700 N GLU A 97 37.802 -0.210 87.212 1.00 22.01 N +ATOM 701 CA GLU A 97 38.312 0.998 87.861 1.00 20.95 C +ATOM 702 C GLU A 97 37.306 2.130 87.898 1.00 21.11 C +ATOM 703 O GLU A 97 37.590 3.202 88.427 1.00 22.26 O +ATOM 704 CB GLU A 97 39.578 1.496 87.161 1.00 21.10 C +ATOM 705 CG GLU A 97 40.823 0.688 87.471 1.00 23.62 C +ATOM 706 CD GLU A 97 42.031 1.163 86.693 1.00 23.81 C +ATOM 707 OE1 GLU A 97 42.268 2.387 86.640 1.00 26.41 O +ATOM 708 OE2 GLU A 97 42.750 0.312 86.139 1.00 27.00 O +ATOM 709 N ILE A 98 36.132 1.903 87.330 1.00 20.73 N +ATOM 710 CA ILE A 98 35.115 2.938 87.310 1.00 19.76 C +ATOM 711 C ILE A 98 34.722 3.267 88.748 1.00 20.11 C +ATOM 712 O ILE A 98 34.584 2.374 89.579 1.00 20.28 O +ATOM 713 CB ILE A 98 33.885 2.469 86.500 1.00 18.40 C +ATOM 714 CG1 ILE A 98 34.294 2.236 85.045 1.00 18.46 C +ATOM 715 CG2 ILE A 98 32.776 3.503 86.575 1.00 17.99 C +ATOM 716 CD1 ILE A 98 33.172 1.715 84.173 1.00 18.69 C +ATOM 717 N THR A 99 34.547 4.549 89.033 1.00 19.91 N +ATOM 718 CA THR A 99 34.184 4.991 90.370 1.00 20.47 C +ATOM 719 C THR A 99 32.757 5.507 90.386 1.00 21.49 C +ATOM 720 O THR A 99 32.218 5.877 89.345 1.00 22.14 O +ATOM 721 CB THR A 99 35.098 6.114 90.830 1.00 20.02 C +ATOM 722 OG1 THR A 99 34.848 7.281 90.037 1.00 21.23 O +ATOM 723 CG2 THR A 99 36.557 5.699 90.675 1.00 18.99 C +ATOM 724 N ARG A 100 32.147 5.533 91.567 1.00 20.86 N +ATOM 725 CA ARG A 100 30.775 6.008 91.693 1.00 21.25 C +ATOM 726 C ARG A 100 30.714 7.495 91.425 1.00 22.04 C +ATOM 727 O ARG A 100 29.669 8.028 91.049 1.00 21.32 O +ATOM 728 CB ARG A 100 30.229 5.733 93.096 1.00 21.99 C +ATOM 729 CG ARG A 100 30.030 4.270 93.416 1.00 21.45 C +ATOM 730 CD ARG A 100 28.595 4.022 93.803 1.00 21.05 C +ATOM 731 NE ARG A 100 28.301 2.599 93.840 1.00 21.89 N +ATOM 732 CZ ARG A 100 27.092 2.096 93.632 1.00 21.17 C +ATOM 733 NH1 ARG A 100 26.901 0.786 93.683 1.00 22.28 N +ATOM 734 NH2 ARG A 100 26.080 2.908 93.361 1.00 19.13 N +ATOM 735 N GLU A 101 31.837 8.172 91.634 1.00 22.16 N +ATOM 736 CA GLU A 101 31.873 9.605 91.408 1.00 25.43 C +ATOM 737 C GLU A 101 31.900 9.901 89.908 1.00 23.60 C +ATOM 738 O GLU A 101 31.289 10.865 89.455 1.00 23.03 O +ATOM 739 CB GLU A 101 33.089 10.227 92.102 1.00 28.13 C +ATOM 740 CG GLU A 101 34.409 9.639 91.670 1.00 37.06 C +ATOM 741 CD GLU A 101 35.225 10.609 90.858 1.00 41.38 C +ATOM 742 OE1 GLU A 101 35.562 10.294 89.700 1.00 43.62 O +ATOM 743 OE2 GLU A 101 35.532 11.691 91.387 1.00 47.06 O +ATOM 744 N SER A 102 32.595 9.075 89.135 1.00 22.31 N +ATOM 745 CA SER A 102 32.640 9.299 87.697 1.00 23.09 C +ATOM 746 C SER A 102 31.236 9.078 87.138 1.00 22.44 C +ATOM 747 O SER A 102 30.685 9.925 86.425 1.00 22.31 O +ATOM 748 CB SER A 102 33.622 8.342 87.034 1.00 25.08 C +ATOM 749 OG SER A 102 33.800 8.704 85.675 1.00 28.87 O +ATOM 750 N TYR A 103 30.656 7.937 87.481 1.00 18.65 N +ATOM 751 CA TYR A 103 29.314 7.609 87.044 1.00 21.34 C +ATOM 752 C TYR A 103 28.317 8.715 87.418 1.00 21.94 C +ATOM 753 O TYR A 103 27.665 9.296 86.552 1.00 23.56 O +ATOM 754 CB TYR A 103 28.872 6.288 87.679 1.00 21.53 C +ATOM 755 CG TYR A 103 27.416 5.967 87.449 1.00 23.00 C +ATOM 756 CD1 TYR A 103 26.987 5.416 86.243 1.00 22.62 C +ATOM 757 CD2 TYR A 103 26.455 6.268 88.417 1.00 22.76 C +ATOM 758 CE1 TYR A 103 25.640 5.177 86.002 1.00 22.98 C +ATOM 759 CE2 TYR A 103 25.098 6.032 88.183 1.00 23.79 C +ATOM 760 CZ TYR A 103 24.702 5.488 86.970 1.00 23.99 C +ATOM 761 OH TYR A 103 23.371 5.262 86.708 1.00 25.68 O +ATOM 762 N ASP A 104 28.207 8.991 88.714 1.00 22.49 N +ATOM 763 CA ASP A 104 27.284 10.000 89.238 1.00 23.01 C +ATOM 764 C ASP A 104 27.349 11.332 88.516 1.00 22.19 C +ATOM 765 O ASP A 104 26.316 11.929 88.203 1.00 21.72 O +ATOM 766 CB ASP A 104 27.558 10.261 90.724 1.00 24.41 C +ATOM 767 CG ASP A 104 27.167 9.095 91.619 1.00 26.69 C +ATOM 768 OD1 ASP A 104 27.576 9.116 92.797 1.00 29.39 O +ATOM 769 OD2 ASP A 104 26.455 8.171 91.169 1.00 25.80 O +ATOM 770 N ARG A 105 28.566 11.802 88.275 1.00 20.95 N +ATOM 771 CA ARG A 105 28.783 13.085 87.625 1.00 22.47 C +ATOM 772 C ARG A 105 28.437 13.138 86.119 1.00 22.12 C +ATOM 773 O ARG A 105 27.695 14.023 85.679 1.00 19.28 O +ATOM 774 CB ARG A 105 30.233 13.518 87.860 1.00 25.69 C +ATOM 775 CG ARG A 105 30.365 14.897 88.479 1.00 29.95 C +ATOM 776 CD ARG A 105 31.812 15.233 88.813 1.00 33.99 C +ATOM 777 NE ARG A 105 32.745 14.942 87.725 1.00 37.09 N +ATOM 778 CZ ARG A 105 33.587 13.912 87.719 1.00 39.00 C +ATOM 779 NH1 ARG A 105 33.616 13.065 88.745 1.00 41.45 N +ATOM 780 NH2 ARG A 105 34.412 13.734 86.696 1.00 39.59 N +ATOM 781 N LEU A 106 28.957 12.193 85.337 1.00 21.14 N +ATOM 782 CA LEU A 106 28.688 12.186 83.905 1.00 19.92 C +ATOM 783 C LEU A 106 27.204 12.029 83.595 1.00 19.76 C +ATOM 784 O LEU A 106 26.673 12.740 82.735 1.00 18.73 O +ATOM 785 CB LEU A 106 29.484 11.078 83.204 1.00 20.49 C +ATOM 786 CG LEU A 106 31.016 11.112 83.295 1.00 19.85 C +ATOM 787 CD1 LEU A 106 31.598 10.429 82.066 1.00 17.67 C +ATOM 788 CD2 LEU A 106 31.518 12.538 83.366 1.00 19.59 C +ATOM 789 N PHE A 107 26.527 11.114 84.286 1.00 17.48 N +ATOM 790 CA PHE A 107 25.104 10.928 84.029 1.00 18.47 C +ATOM 791 C PHE A 107 24.287 12.135 84.462 1.00 19.90 C +ATOM 792 O PHE A 107 23.299 12.495 83.811 1.00 20.21 O +ATOM 793 CB PHE A 107 24.575 9.664 84.712 1.00 18.99 C +ATOM 794 CG PHE A 107 24.696 8.424 83.865 1.00 17.93 C +ATOM 795 CD1 PHE A 107 25.901 7.745 83.767 1.00 16.68 C +ATOM 796 CD2 PHE A 107 23.605 7.961 83.135 1.00 17.68 C +ATOM 797 CE1 PHE A 107 26.020 6.622 82.950 1.00 19.17 C +ATOM 798 CE2 PHE A 107 23.713 6.844 82.318 1.00 18.06 C +ATOM 799 CZ PHE A 107 24.922 6.172 82.223 1.00 17.93 C +ATOM 800 N ALA A 108 24.699 12.770 85.556 1.00 20.29 N +ATOM 801 CA ALA A 108 23.997 13.949 86.050 1.00 20.07 C +ATOM 802 C ALA A 108 24.004 15.079 85.011 1.00 20.51 C +ATOM 803 O ALA A 108 22.982 15.712 84.752 1.00 21.81 O +ATOM 804 CB ALA A 108 24.640 14.424 87.339 1.00 20.59 C +ATOM 805 N ILE A 109 25.153 15.319 84.399 1.00 20.73 N +ATOM 806 CA ILE A 109 25.262 16.382 83.411 1.00 22.03 C +ATOM 807 C ILE A 109 24.875 16.005 81.984 1.00 20.38 C +ATOM 808 O ILE A 109 24.061 16.683 81.367 1.00 21.07 O +ATOM 809 CB ILE A 109 26.686 16.937 83.384 1.00 25.48 C +ATOM 810 CG1 ILE A 109 27.046 17.449 84.780 1.00 26.67 C +ATOM 811 CG2 ILE A 109 26.798 18.044 82.322 1.00 24.01 C +ATOM 812 CD1 ILE A 109 28.508 17.733 84.966 1.00 30.52 C +ATOM 813 N ASN A 110 25.460 14.928 81.466 1.00 19.70 N +ATOM 814 CA ASN A 110 25.198 14.479 80.099 1.00 18.57 C +ATOM 815 C ASN A 110 23.767 14.025 79.835 1.00 18.89 C +ATOM 816 O ASN A 110 23.135 14.459 78.870 1.00 20.23 O +ATOM 817 CB ASN A 110 26.157 13.345 79.734 1.00 16.62 C +ATOM 818 CG ASN A 110 27.614 13.775 79.784 1.00 18.15 C +ATOM 819 OD1 ASN A 110 27.928 14.921 80.134 1.00 16.03 O +ATOM 820 ND2 ASN A 110 28.515 12.855 79.435 1.00 15.67 N +ATOM 821 N VAL A 111 23.266 13.142 80.692 1.00 18.51 N +ATOM 822 CA VAL A 111 21.915 12.597 80.567 1.00 16.00 C +ATOM 823 C VAL A 111 20.874 13.482 81.245 1.00 19.45 C +ATOM 824 O VAL A 111 20.111 14.186 80.572 1.00 20.05 O +ATOM 825 CB VAL A 111 21.851 11.194 81.187 1.00 12.54 C +ATOM 826 CG1 VAL A 111 20.482 10.578 80.969 1.00 11.01 C +ATOM 827 CG2 VAL A 111 22.933 10.329 80.587 1.00 14.15 C +ATOM 828 N SER A 112 20.853 13.444 82.578 1.00 20.67 N +ATOM 829 CA SER A 112 19.916 14.231 83.381 1.00 20.34 C +ATOM 830 C SER A 112 19.820 15.688 82.933 1.00 19.69 C +ATOM 831 O SER A 112 18.725 16.234 82.783 1.00 19.30 O +ATOM 832 CB SER A 112 20.334 14.183 84.853 1.00 21.15 C +ATOM 833 OG SER A 112 19.541 15.059 85.628 1.00 23.67 O +ATOM 834 N GLY A 113 20.971 16.319 82.736 1.00 20.05 N +ATOM 835 CA GLY A 113 20.981 17.705 82.301 1.00 20.56 C +ATOM 836 C GLY A 113 20.255 17.912 80.983 1.00 20.79 C +ATOM 837 O GLY A 113 19.447 18.832 80.845 1.00 21.68 O +ATOM 838 N THR A 114 20.533 17.052 80.008 1.00 20.29 N +ATOM 839 CA THR A 114 19.891 17.154 78.700 1.00 19.33 C +ATOM 840 C THR A 114 18.387 16.920 78.787 1.00 19.05 C +ATOM 841 O THR A 114 17.593 17.664 78.200 1.00 18.95 O +ATOM 842 CB THR A 114 20.497 16.139 77.713 1.00 19.60 C +ATOM 843 OG1 THR A 114 21.835 16.535 77.391 1.00 19.37 O +ATOM 844 CG2 THR A 114 19.663 16.057 76.445 1.00 19.59 C +ATOM 845 N LEU A 115 17.994 15.890 79.530 1.00 18.82 N +ATOM 846 CA LEU A 115 16.582 15.569 79.677 1.00 19.61 C +ATOM 847 C LEU A 115 15.744 16.683 80.292 1.00 20.46 C +ATOM 848 O LEU A 115 14.806 17.181 79.665 1.00 21.53 O +ATOM 849 CB LEU A 115 16.405 14.295 80.508 1.00 20.85 C +ATOM 850 CG LEU A 115 14.952 13.919 80.845 1.00 22.57 C +ATOM 851 CD1 LEU A 115 14.116 13.802 79.573 1.00 22.28 C +ATOM 852 CD2 LEU A 115 14.937 12.609 81.608 1.00 23.14 C +ATOM 853 N PHE A 116 16.069 17.079 81.517 1.00 20.51 N +ATOM 854 CA PHE A 116 15.280 18.113 82.187 1.00 20.87 C +ATOM 855 C PHE A 116 15.379 19.487 81.546 1.00 20.41 C +ATOM 856 O PHE A 116 14.469 20.308 81.678 1.00 20.80 O +ATOM 857 CB PHE A 116 15.629 18.143 83.682 1.00 18.66 C +ATOM 858 CG PHE A 116 15.251 16.871 84.389 1.00 15.88 C +ATOM 859 CD1 PHE A 116 13.913 16.548 84.587 1.00 14.86 C +ATOM 860 CD2 PHE A 116 16.220 15.938 84.735 1.00 16.05 C +ATOM 861 CE1 PHE A 116 13.546 15.305 85.106 1.00 16.33 C +ATOM 862 CE2 PHE A 116 15.861 14.696 85.253 1.00 15.00 C +ATOM 863 CZ PHE A 116 14.524 14.379 85.438 1.00 13.88 C +ATOM 864 N MET A 117 16.471 19.734 80.832 1.00 21.77 N +ATOM 865 CA MET A 117 16.632 21.007 80.139 1.00 22.20 C +ATOM 866 C MET A 117 15.644 20.960 78.957 1.00 21.64 C +ATOM 867 O MET A 117 15.004 21.955 78.626 1.00 21.47 O +ATOM 868 CB MET A 117 18.073 21.152 79.655 1.00 23.05 C +ATOM 869 CG MET A 117 18.524 22.578 79.398 1.00 28.50 C +ATOM 870 SD MET A 117 18.551 23.661 80.862 1.00 29.23 S +ATOM 871 CE MET A 117 17.487 24.948 80.296 1.00 28.57 C +ATOM 872 N MET A 118 15.508 19.786 78.341 1.00 22.05 N +ATOM 873 CA MET A 118 14.574 19.596 77.230 1.00 22.31 C +ATOM 874 C MET A 118 13.153 19.802 77.736 1.00 23.71 C +ATOM 875 O MET A 118 12.328 20.469 77.104 1.00 23.35 O +ATOM 876 CB MET A 118 14.654 18.170 76.674 1.00 20.90 C +ATOM 877 CG MET A 118 15.500 17.977 75.430 1.00 23.11 C +ATOM 878 SD MET A 118 14.977 16.476 74.535 1.00 22.63 S +ATOM 879 CE MET A 118 15.543 15.185 75.629 1.00 23.25 C +ATOM 880 N GLN A 119 12.869 19.195 78.882 1.00 25.13 N +ATOM 881 CA GLN A 119 11.548 19.276 79.477 1.00 25.60 C +ATOM 882 C GLN A 119 11.169 20.713 79.807 1.00 25.48 C +ATOM 883 O GLN A 119 10.057 21.152 79.521 1.00 25.67 O +ATOM 884 CB GLN A 119 11.511 18.424 80.734 1.00 26.26 C +ATOM 885 CG GLN A 119 10.141 18.293 81.353 1.00 27.78 C +ATOM 886 CD GLN A 119 10.219 17.718 82.746 1.00 26.91 C +ATOM 887 OE1 GLN A 119 10.850 18.303 83.629 1.00 26.42 O +ATOM 888 NE2 GLN A 119 9.592 16.564 82.951 1.00 24.18 N +ATOM 889 N ALA A 120 12.097 21.449 80.403 1.00 25.78 N +ATOM 890 CA ALA A 120 11.831 22.835 80.753 1.00 27.01 C +ATOM 891 C ALA A 120 11.499 23.684 79.516 1.00 28.88 C +ATOM 892 O ALA A 120 10.482 24.383 79.487 1.00 29.66 O +ATOM 893 CB ALA A 120 13.025 23.412 81.481 1.00 27.01 C +ATOM 894 N VAL A 121 12.355 23.621 78.495 1.00 29.43 N +ATOM 895 CA VAL A 121 12.145 24.390 77.263 1.00 28.82 C +ATOM 896 C VAL A 121 10.920 23.912 76.471 1.00 28.60 C +ATOM 897 O VAL A 121 10.148 24.719 75.956 1.00 28.22 O +ATOM 898 CB VAL A 121 13.390 24.325 76.350 1.00 28.69 C +ATOM 899 CG1 VAL A 121 13.077 24.935 75.002 1.00 28.19 C +ATOM 900 CG2 VAL A 121 14.552 25.063 77.004 1.00 26.94 C +ATOM 901 N ALA A 122 10.742 22.601 76.379 1.00 28.03 N +ATOM 902 CA ALA A 122 9.602 22.051 75.660 1.00 28.61 C +ATOM 903 C ALA A 122 8.283 22.558 76.251 1.00 29.97 C +ATOM 904 O ALA A 122 7.343 22.873 75.510 1.00 28.96 O +ATOM 905 CB ALA A 122 9.643 20.531 75.705 1.00 27.15 C +ATOM 906 N ARG A 123 8.209 22.628 77.581 1.00 29.83 N +ATOM 907 CA ARG A 123 6.992 23.097 78.240 1.00 30.06 C +ATOM 908 C ARG A 123 6.700 24.532 77.846 1.00 29.11 C +ATOM 909 O ARG A 123 5.543 24.904 77.656 1.00 28.37 O +ATOM 910 CB ARG A 123 7.093 22.966 79.772 1.00 31.03 C +ATOM 911 CG ARG A 123 6.661 21.586 80.275 1.00 33.90 C +ATOM 912 CD ARG A 123 6.420 21.507 81.786 1.00 35.16 C +ATOM 913 NE ARG A 123 7.652 21.407 82.567 1.00 37.11 N +ATOM 914 CZ ARG A 123 7.826 20.563 83.583 1.00 37.79 C +ATOM 915 NH1 ARG A 123 6.849 19.738 83.941 1.00 36.14 N +ATOM 916 NH2 ARG A 123 8.976 20.547 84.249 1.00 38.09 N +ATOM 917 N ALA A 124 7.755 25.332 77.710 1.00 28.70 N +ATOM 918 CA ALA A 124 7.602 26.726 77.310 1.00 28.61 C +ATOM 919 C ALA A 124 7.128 26.802 75.856 1.00 29.37 C +ATOM 920 O ALA A 124 6.189 27.532 75.542 1.00 29.55 O +ATOM 921 CB ALA A 124 8.922 27.466 77.466 1.00 25.88 C +ATOM 922 N MET A 125 7.776 26.037 74.979 1.00 28.86 N +ATOM 923 CA MET A 125 7.419 26.033 73.565 1.00 29.90 C +ATOM 924 C MET A 125 5.969 25.639 73.359 1.00 30.75 C +ATOM 925 O MET A 125 5.251 26.270 72.588 1.00 32.33 O +ATOM 926 CB MET A 125 8.342 25.090 72.782 1.00 27.85 C +ATOM 927 CG MET A 125 9.752 25.623 72.668 1.00 26.04 C +ATOM 928 SD MET A 125 10.951 24.448 72.031 1.00 29.91 S +ATOM 929 CE MET A 125 12.401 25.529 71.840 1.00 24.28 C +ATOM 930 N ILE A 126 5.529 24.598 74.050 1.00 32.14 N +ATOM 931 CA ILE A 126 4.150 24.164 73.920 1.00 33.78 C +ATOM 932 C ILE A 126 3.215 25.327 74.265 1.00 35.78 C +ATOM 933 O ILE A 126 2.251 25.600 73.545 1.00 36.73 O +ATOM 934 CB ILE A 126 3.875 22.948 74.832 1.00 33.34 C +ATOM 935 CG1 ILE A 126 4.761 21.780 74.385 1.00 33.90 C +ATOM 936 CG2 ILE A 126 2.398 22.566 74.776 1.00 32.20 C +ATOM 937 CD1 ILE A 126 4.585 20.505 75.165 1.00 32.43 C +ATOM 938 N ALA A 127 3.518 26.022 75.358 1.00 38.03 N +ATOM 939 CA ALA A 127 2.718 27.164 75.791 1.00 38.24 C +ATOM 940 C ALA A 127 2.785 28.257 74.733 1.00 38.06 C +ATOM 941 O ALA A 127 1.771 28.851 74.382 1.00 38.38 O +ATOM 942 CB ALA A 127 3.233 27.692 77.128 1.00 38.48 C +ATOM 943 N GLY A 128 3.987 28.514 74.227 1.00 39.05 N +ATOM 944 CA GLY A 128 4.162 29.525 73.198 1.00 39.65 C +ATOM 945 C GLY A 128 3.233 29.306 72.013 1.00 41.06 C +ATOM 946 O GLY A 128 2.808 30.260 71.366 1.00 42.05 O +ATOM 947 N GLY A 129 2.922 28.047 71.720 1.00 40.32 N +ATOM 948 CA GLY A 129 2.022 27.750 70.623 1.00 40.33 C +ATOM 949 C GLY A 129 2.581 27.847 69.213 1.00 40.71 C +ATOM 950 O GLY A 129 1.820 27.773 68.249 1.00 40.37 O +ATOM 951 N ARG A 130 3.892 28.012 69.070 1.00 40.56 N +ATOM 952 CA ARG A 130 4.476 28.099 67.735 1.00 39.75 C +ATOM 953 C ARG A 130 5.716 27.214 67.544 1.00 37.42 C +ATOM 954 O ARG A 130 6.677 27.595 66.872 1.00 35.99 O +ATOM 955 CB ARG A 130 4.783 29.563 67.392 1.00 41.96 C +ATOM 956 CG ARG A 130 5.719 30.268 68.350 1.00 45.95 C +ATOM 957 CD ARG A 130 5.420 31.758 68.392 1.00 48.73 C +ATOM 958 NE ARG A 130 6.545 32.526 68.917 1.00 53.36 N +ATOM 959 CZ ARG A 130 7.662 32.772 68.236 1.00 55.86 C +ATOM 960 NH1 ARG A 130 7.806 32.312 66.996 1.00 56.76 N +ATOM 961 NH2 ARG A 130 8.637 33.481 68.791 1.00 56.58 N +ATOM 962 N GLY A 131 5.665 26.025 68.142 1.00 34.51 N +ATOM 963 CA GLY A 131 6.745 25.057 68.035 1.00 31.01 C +ATOM 964 C GLY A 131 8.140 25.535 68.390 1.00 28.67 C +ATOM 965 O GLY A 131 8.309 26.505 69.127 1.00 28.29 O +ATOM 966 N GLY A 132 9.141 24.836 67.859 1.00 26.33 N +ATOM 967 CA GLY A 132 10.524 25.192 68.113 1.00 23.68 C +ATOM 968 C GLY A 132 11.477 24.103 67.660 1.00 22.44 C +ATOM 969 O GLY A 132 11.050 23.060 67.166 1.00 21.64 O +ATOM 970 N LYS A 133 12.772 24.348 67.828 1.00 21.27 N +ATOM 971 CA LYS A 133 13.795 23.386 67.445 1.00 21.71 C +ATOM 972 C LYS A 133 14.684 23.020 68.636 1.00 21.26 C +ATOM 973 O LYS A 133 15.133 23.895 69.379 1.00 20.38 O +ATOM 974 CB LYS A 133 14.693 23.964 66.343 1.00 23.68 C +ATOM 975 CG LYS A 133 13.987 24.412 65.069 1.00 24.24 C +ATOM 976 CD LYS A 133 13.427 23.235 64.299 1.00 24.24 C +ATOM 977 CE LYS A 133 12.870 23.676 62.960 1.00 21.90 C +ATOM 978 NZ LYS A 133 12.283 22.503 62.259 1.00 24.56 N +ATOM 979 N ILE A 134 14.939 21.728 68.813 1.00 20.43 N +ATOM 980 CA ILE A 134 15.814 21.273 69.889 1.00 20.62 C +ATOM 981 C ILE A 134 16.877 20.375 69.291 1.00 20.28 C +ATOM 982 O ILE A 134 16.568 19.405 68.593 1.00 20.31 O +ATOM 983 CB ILE A 134 15.059 20.471 70.991 1.00 21.36 C +ATOM 984 CG1 ILE A 134 14.103 21.388 71.750 1.00 18.16 C +ATOM 985 CG2 ILE A 134 16.066 19.879 71.984 1.00 19.10 C +ATOM 986 CD1 ILE A 134 13.185 20.658 72.688 1.00 22.19 C +ATOM 987 N ILE A 135 18.132 20.703 69.569 1.00 20.25 N +ATOM 988 CA ILE A 135 19.249 19.928 69.060 1.00 19.84 C +ATOM 989 C ILE A 135 20.095 19.402 70.208 1.00 19.85 C +ATOM 990 O ILE A 135 20.602 20.181 71.017 1.00 20.82 O +ATOM 991 CB ILE A 135 20.147 20.790 68.156 1.00 20.63 C +ATOM 992 CG1 ILE A 135 19.316 21.393 67.027 1.00 21.25 C +ATOM 993 CG2 ILE A 135 21.286 19.956 67.603 1.00 16.92 C +ATOM 994 CD1 ILE A 135 20.084 22.389 66.188 1.00 22.38 C +ATOM 995 N ASN A 136 20.242 18.083 70.285 1.00 19.12 N +ATOM 996 CA ASN A 136 21.061 17.483 71.327 1.00 19.66 C +ATOM 997 C ASN A 136 22.407 17.123 70.748 1.00 19.41 C +ATOM 998 O ASN A 136 22.533 16.892 69.551 1.00 22.83 O +ATOM 999 CB ASN A 136 20.409 16.223 71.898 1.00 18.43 C +ATOM 1000 CG ASN A 136 19.079 16.509 72.539 1.00 20.02 C +ATOM 1001 OD1 ASN A 136 18.873 17.594 73.095 1.00 18.24 O +ATOM 1002 ND2 ASN A 136 18.163 15.541 72.475 1.00 15.50 N +ATOM 1003 N MET A 137 23.416 17.085 71.602 1.00 18.84 N +ATOM 1004 CA MET A 137 24.750 16.741 71.167 1.00 19.71 C +ATOM 1005 C MET A 137 25.118 15.339 71.639 1.00 20.72 C +ATOM 1006 O MET A 137 25.384 15.108 72.824 1.00 23.43 O +ATOM 1007 CB MET A 137 25.757 17.755 71.711 1.00 20.02 C +ATOM 1008 CG MET A 137 25.652 19.142 71.089 1.00 23.09 C +ATOM 1009 SD MET A 137 26.076 19.168 69.318 1.00 22.73 S +ATOM 1010 CE MET A 137 27.855 19.057 69.408 1.00 23.85 C +ATOM 1011 N ALA A 138 25.105 14.393 70.714 1.00 18.57 N +ATOM 1012 CA ALA A 138 25.474 13.032 71.047 1.00 18.03 C +ATOM 1013 C ALA A 138 26.960 12.943 70.742 1.00 17.33 C +ATOM 1014 O ALA A 138 27.712 13.876 71.033 1.00 17.16 O +ATOM 1015 CB ALA A 138 24.682 12.037 70.197 1.00 16.15 C +ATOM 1016 N SER A 139 27.378 11.840 70.136 1.00 16.62 N +ATOM 1017 CA SER A 139 28.785 11.635 69.806 1.00 16.28 C +ATOM 1018 C SER A 139 28.960 10.227 69.278 1.00 15.83 C +ATOM 1019 O SER A 139 28.139 9.352 69.548 1.00 15.25 O +ATOM 1020 CB SER A 139 29.655 11.809 71.054 1.00 16.49 C +ATOM 1021 OG SER A 139 30.775 10.932 71.030 1.00 17.38 O +ATOM 1022 N GLN A 140 30.028 10.005 68.525 1.00 16.70 N +ATOM 1023 CA GLN A 140 30.286 8.676 67.997 1.00 19.84 C +ATOM 1024 C GLN A 140 30.321 7.671 69.151 1.00 19.01 C +ATOM 1025 O GLN A 140 29.987 6.496 68.979 1.00 17.76 O +ATOM 1026 CB GLN A 140 31.624 8.648 67.257 1.00 22.44 C +ATOM 1027 CG GLN A 140 32.817 9.036 68.107 1.00 26.33 C +ATOM 1028 CD GLN A 140 34.137 8.760 67.407 1.00 30.24 C +ATOM 1029 OE1 GLN A 140 34.353 9.203 66.277 1.00 30.88 O +ATOM 1030 NE2 GLN A 140 35.031 8.024 68.077 1.00 30.11 N +ATOM 1031 N ALA A 141 30.729 8.145 70.327 1.00 19.37 N +ATOM 1032 CA ALA A 141 30.823 7.288 71.508 1.00 18.60 C +ATOM 1033 C ALA A 141 29.474 6.669 71.842 1.00 17.25 C +ATOM 1034 O ALA A 141 29.411 5.561 72.367 1.00 14.43 O +ATOM 1035 CB ALA A 141 31.342 8.081 72.691 1.00 17.72 C +ATOM 1036 N GLY A 142 28.402 7.386 71.515 1.00 17.68 N +ATOM 1037 CA GLY A 142 27.066 6.890 71.785 1.00 18.97 C +ATOM 1038 C GLY A 142 26.553 5.866 70.787 1.00 20.14 C +ATOM 1039 O GLY A 142 25.454 5.339 70.965 1.00 19.86 O +ATOM 1040 N ARG A 143 27.340 5.583 69.748 1.00 21.05 N +ATOM 1041 CA ARG A 143 26.961 4.624 68.703 1.00 20.57 C +ATOM 1042 C ARG A 143 27.436 3.215 69.022 1.00 21.89 C +ATOM 1043 O ARG A 143 26.758 2.242 68.706 1.00 24.11 O +ATOM 1044 CB ARG A 143 27.552 5.036 67.352 1.00 19.46 C +ATOM 1045 CG ARG A 143 27.044 6.359 66.796 1.00 18.05 C +ATOM 1046 CD ARG A 143 25.587 6.273 66.365 1.00 16.48 C +ATOM 1047 NE ARG A 143 25.222 7.405 65.519 1.00 17.15 N +ATOM 1048 CZ ARG A 143 24.004 7.627 65.035 1.00 15.24 C +ATOM 1049 NH1 ARG A 143 23.785 8.686 64.275 1.00 15.49 N +ATOM 1050 NH2 ARG A 143 23.007 6.800 65.313 1.00 13.65 N +ATOM 1051 N ARG A 144 28.615 3.112 69.628 1.00 22.09 N +ATOM 1052 CA ARG A 144 29.182 1.819 69.997 1.00 21.38 C +ATOM 1053 C ARG A 144 30.032 1.970 71.254 1.00 21.68 C +ATOM 1054 O ARG A 144 30.651 3.010 71.474 1.00 20.35 O +ATOM 1055 CB ARG A 144 30.045 1.252 68.855 1.00 22.18 C +ATOM 1056 CG ARG A 144 31.409 1.918 68.663 1.00 21.83 C +ATOM 1057 CD ARG A 144 31.289 3.345 68.152 1.00 25.39 C +ATOM 1058 NE ARG A 144 32.552 4.069 68.273 1.00 30.20 N +ATOM 1059 CZ ARG A 144 33.186 4.286 69.424 1.00 33.72 C +ATOM 1060 NH1 ARG A 144 32.680 3.838 70.571 1.00 33.69 N +ATOM 1061 NH2 ARG A 144 34.334 4.951 69.430 1.00 34.47 N +ATOM 1062 N GLY A 145 30.060 0.929 72.078 1.00 22.26 N +ATOM 1063 CA GLY A 145 30.841 0.994 73.299 1.00 22.50 C +ATOM 1064 C GLY A 145 32.327 0.922 73.023 1.00 24.41 C +ATOM 1065 O GLY A 145 32.736 0.555 71.919 1.00 24.30 O +ATOM 1066 N GLU A 146 33.126 1.291 74.025 1.00 24.94 N +ATOM 1067 CA GLU A 146 34.591 1.260 73.963 1.00 24.35 C +ATOM 1068 C GLU A 146 35.117 0.706 75.282 1.00 23.71 C +ATOM 1069 O GLU A 146 34.540 0.950 76.344 1.00 23.59 O +ATOM 1070 CB GLU A 146 35.173 2.656 73.757 1.00 27.30 C +ATOM 1071 CG GLU A 146 34.969 3.237 72.379 1.00 30.94 C +ATOM 1072 CD GLU A 146 35.747 4.525 72.192 1.00 34.30 C +ATOM 1073 OE1 GLU A 146 36.998 4.465 72.222 1.00 34.64 O +ATOM 1074 OE2 GLU A 146 35.108 5.593 72.027 1.00 36.59 O +ATOM 1075 N ALA A 147 36.227 -0.016 75.211 1.00 21.29 N +ATOM 1076 CA ALA A 147 36.822 -0.638 76.385 1.00 20.14 C +ATOM 1077 C ALA A 147 37.123 0.289 77.563 1.00 19.98 C +ATOM 1078 O ALA A 147 36.817 -0.052 78.708 1.00 21.78 O +ATOM 1079 CB ALA A 147 38.088 -1.385 75.981 1.00 17.96 C +ATOM 1080 N LEU A 148 37.711 1.451 77.300 1.00 18.18 N +ATOM 1081 CA LEU A 148 38.056 2.372 78.380 1.00 16.96 C +ATOM 1082 C LEU A 148 37.144 3.586 78.514 1.00 16.48 C +ATOM 1083 O LEU A 148 37.491 4.539 79.210 1.00 16.83 O +ATOM 1084 CB LEU A 148 39.491 2.872 78.199 1.00 16.32 C +ATOM 1085 CG LEU A 148 40.585 1.838 77.941 1.00 16.15 C +ATOM 1086 CD1 LEU A 148 41.905 2.557 77.783 1.00 16.30 C +ATOM 1087 CD2 LEU A 148 40.652 0.843 79.082 1.00 16.62 C +ATOM 1088 N VAL A 149 35.987 3.572 77.862 1.00 16.80 N +ATOM 1089 CA VAL A 149 35.092 4.732 77.938 1.00 16.61 C +ATOM 1090 C VAL A 149 33.651 4.344 78.246 1.00 16.36 C +ATOM 1091 O VAL A 149 32.705 5.004 77.799 1.00 16.06 O +ATOM 1092 CB VAL A 149 35.111 5.539 76.605 1.00 17.74 C +ATOM 1093 CG1 VAL A 149 34.578 6.944 76.842 1.00 15.17 C +ATOM 1094 CG2 VAL A 149 36.530 5.585 76.034 1.00 13.64 C +ATOM 1095 N GLY A 150 33.501 3.272 79.018 1.00 15.60 N +ATOM 1096 CA GLY A 150 32.186 2.779 79.385 1.00 14.75 C +ATOM 1097 C GLY A 150 31.181 3.808 79.859 1.00 15.37 C +ATOM 1098 O GLY A 150 30.080 3.888 79.299 1.00 15.20 O +ATOM 1099 N VAL A 151 31.541 4.594 80.878 1.00 14.19 N +ATOM 1100 CA VAL A 151 30.620 5.595 81.422 1.00 14.53 C +ATOM 1101 C VAL A 151 30.240 6.677 80.428 1.00 14.06 C +ATOM 1102 O VAL A 151 29.063 6.968 80.258 1.00 17.92 O +ATOM 1103 CB VAL A 151 31.190 6.277 82.698 1.00 16.19 C +ATOM 1104 CG1 VAL A 151 30.226 7.348 83.200 1.00 14.78 C +ATOM 1105 CG2 VAL A 151 31.413 5.243 83.789 1.00 15.99 C +ATOM 1106 N TYR A 152 31.222 7.284 79.772 1.00 15.98 N +ATOM 1107 CA TYR A 152 30.922 8.330 78.791 1.00 17.81 C +ATOM 1108 C TYR A 152 30.028 7.791 77.657 1.00 16.55 C +ATOM 1109 O TYR A 152 29.004 8.392 77.327 1.00 13.34 O +ATOM 1110 CB TYR A 152 32.214 8.902 78.199 1.00 18.53 C +ATOM 1111 CG TYR A 152 31.976 9.985 77.166 1.00 21.15 C +ATOM 1112 CD1 TYR A 152 31.471 11.230 77.541 1.00 20.27 C +ATOM 1113 CD2 TYR A 152 32.245 9.761 75.808 1.00 19.65 C +ATOM 1114 CE1 TYR A 152 31.242 12.228 76.596 1.00 21.19 C +ATOM 1115 CE2 TYR A 152 32.014 10.754 74.853 1.00 17.35 C +ATOM 1116 CZ TYR A 152 31.516 11.981 75.255 1.00 21.77 C +ATOM 1117 OH TYR A 152 31.297 12.976 74.329 1.00 22.64 O +ATOM 1118 N CYS A 153 30.424 6.652 77.085 1.00 15.84 N +ATOM 1119 CA CYS A 153 29.675 6.020 76.002 1.00 16.54 C +ATOM 1120 C CYS A 153 28.224 5.802 76.370 1.00 16.71 C +ATOM 1121 O CYS A 153 27.327 6.112 75.584 1.00 18.01 O +ATOM 1122 CB CYS A 153 30.294 4.672 75.633 1.00 15.99 C +ATOM 1123 SG CYS A 153 31.808 4.781 74.650 1.00 17.20 S +ATOM 1124 N ALA A 154 27.996 5.276 77.571 1.00 17.44 N +ATOM 1125 CA ALA A 154 26.642 5.000 78.047 1.00 15.73 C +ATOM 1126 C ALA A 154 25.799 6.255 78.160 1.00 14.77 C +ATOM 1127 O ALA A 154 24.591 6.199 77.962 1.00 15.79 O +ATOM 1128 CB ALA A 154 26.687 4.276 79.388 1.00 16.69 C +ATOM 1129 N THR A 155 26.415 7.390 78.480 1.00 14.37 N +ATOM 1130 CA THR A 155 25.637 8.621 78.587 1.00 14.85 C +ATOM 1131 C THR A 155 25.218 9.078 77.198 1.00 15.17 C +ATOM 1132 O THR A 155 24.095 9.551 76.988 1.00 15.78 O +ATOM 1133 CB THR A 155 26.434 9.765 79.241 1.00 15.92 C +ATOM 1134 OG1 THR A 155 27.517 10.144 78.379 1.00 12.15 O +ATOM 1135 CG2 THR A 155 26.975 9.332 80.611 1.00 13.53 C +ATOM 1136 N LYS A 156 26.121 8.940 76.238 1.00 16.19 N +ATOM 1137 CA LYS A 156 25.801 9.357 74.887 1.00 17.27 C +ATOM 1138 C LYS A 156 24.752 8.453 74.256 1.00 16.60 C +ATOM 1139 O LYS A 156 23.866 8.930 73.543 1.00 15.42 O +ATOM 1140 CB LYS A 156 27.072 9.436 74.053 1.00 18.41 C +ATOM 1141 CG LYS A 156 27.961 10.605 74.490 1.00 19.98 C +ATOM 1142 CD LYS A 156 27.158 11.905 74.555 1.00 19.81 C +ATOM 1143 CE LYS A 156 28.058 13.092 74.852 1.00 25.05 C +ATOM 1144 NZ LYS A 156 27.297 14.376 74.954 1.00 26.40 N +ATOM 1145 N ALA A 157 24.820 7.157 74.544 1.00 15.12 N +ATOM 1146 CA ALA A 157 23.817 6.246 74.008 1.00 16.09 C +ATOM 1147 C ALA A 157 22.451 6.686 74.542 1.00 16.14 C +ATOM 1148 O ALA A 157 21.448 6.656 73.826 1.00 17.97 O +ATOM 1149 CB ALA A 157 24.116 4.814 74.431 1.00 14.14 C +ATOM 1150 N ALA A 158 22.420 7.106 75.803 1.00 15.79 N +ATOM 1151 CA ALA A 158 21.180 7.561 76.425 1.00 14.27 C +ATOM 1152 C ALA A 158 20.654 8.829 75.751 1.00 12.98 C +ATOM 1153 O ALA A 158 19.443 9.011 75.598 1.00 11.65 O +ATOM 1154 CB ALA A 158 21.404 7.816 77.906 1.00 13.63 C +ATOM 1155 N VAL A 159 21.562 9.713 75.357 1.00 14.09 N +ATOM 1156 CA VAL A 159 21.161 10.950 74.701 1.00 15.94 C +ATOM 1157 C VAL A 159 20.473 10.648 73.377 1.00 16.91 C +ATOM 1158 O VAL A 159 19.471 11.284 73.021 1.00 18.62 O +ATOM 1159 CB VAL A 159 22.373 11.848 74.418 1.00 19.36 C +ATOM 1160 CG1 VAL A 159 21.985 12.959 73.430 1.00 17.95 C +ATOM 1161 CG2 VAL A 159 22.886 12.434 75.720 1.00 16.29 C +ATOM 1162 N ILE A 160 21.019 9.678 72.650 1.00 15.23 N +ATOM 1163 CA ILE A 160 20.455 9.282 71.372 1.00 15.18 C +ATOM 1164 C ILE A 160 19.058 8.728 71.612 1.00 16.04 C +ATOM 1165 O ILE A 160 18.108 9.050 70.883 1.00 16.42 O +ATOM 1166 CB ILE A 160 21.359 8.227 70.675 1.00 14.97 C +ATOM 1167 CG1 ILE A 160 22.633 8.914 70.163 1.00 11.63 C +ATOM 1168 CG2 ILE A 160 20.609 7.539 69.539 1.00 13.25 C +ATOM 1169 CD1 ILE A 160 23.622 7.982 69.527 1.00 9.69 C +ATOM 1170 N SER A 161 18.929 7.912 72.654 1.00 16.35 N +ATOM 1171 CA SER A 161 17.634 7.322 72.994 1.00 16.15 C +ATOM 1172 C SER A 161 16.607 8.401 73.340 1.00 15.16 C +ATOM 1173 O SER A 161 15.473 8.377 72.850 1.00 16.17 O +ATOM 1174 CB SER A 161 17.786 6.352 74.168 1.00 15.04 C +ATOM 1175 OG SER A 161 16.537 5.776 74.501 1.00 16.19 O +ATOM 1176 N LEU A 162 17.006 9.351 74.179 1.00 14.13 N +ATOM 1177 CA LEU A 162 16.112 10.432 74.578 1.00 15.33 C +ATOM 1178 C LEU A 162 15.708 11.329 73.402 1.00 16.38 C +ATOM 1179 O LEU A 162 14.595 11.868 73.374 1.00 16.59 O +ATOM 1180 CB LEU A 162 16.773 11.274 75.669 1.00 16.85 C +ATOM 1181 CG LEU A 162 16.979 10.572 77.017 1.00 17.26 C +ATOM 1182 CD1 LEU A 162 17.834 11.443 77.909 1.00 16.81 C +ATOM 1183 CD2 LEU A 162 15.637 10.292 77.660 1.00 13.61 C +ATOM 1184 N THR A 163 16.614 11.501 72.441 1.00 16.75 N +ATOM 1185 CA THR A 163 16.327 12.323 71.264 1.00 17.10 C +ATOM 1186 C THR A 163 15.199 11.668 70.456 1.00 16.30 C +ATOM 1187 O THR A 163 14.300 12.345 69.943 1.00 17.26 O +ATOM 1188 CB THR A 163 17.581 12.479 70.367 1.00 19.11 C +ATOM 1189 OG1 THR A 163 18.609 13.174 71.085 1.00 19.02 O +ATOM 1190 CG2 THR A 163 17.247 13.262 69.116 1.00 20.19 C +ATOM 1191 N GLN A 164 15.232 10.345 70.360 1.00 15.12 N +ATOM 1192 CA GLN A 164 14.196 9.631 69.626 1.00 15.44 C +ATOM 1193 C GLN A 164 12.866 9.703 70.365 1.00 15.95 C +ATOM 1194 O GLN A 164 11.827 10.002 69.768 1.00 16.78 O +ATOM 1195 CB GLN A 164 14.594 8.171 69.436 1.00 14.78 C +ATOM 1196 CG GLN A 164 15.960 8.006 68.828 1.00 15.84 C +ATOM 1197 CD GLN A 164 16.342 6.556 68.675 1.00 19.19 C +ATOM 1198 OE1 GLN A 164 15.880 5.699 69.433 1.00 20.32 O +ATOM 1199 NE2 GLN A 164 17.206 6.270 67.709 1.00 16.87 N +ATOM 1200 N SER A 165 12.894 9.435 71.669 1.00 16.16 N +ATOM 1201 CA SER A 165 11.671 9.476 72.461 1.00 14.84 C +ATOM 1202 C SER A 165 11.068 10.873 72.475 1.00 12.80 C +ATOM 1203 O SER A 165 9.867 11.041 72.257 1.00 13.05 O +ATOM 1204 CB SER A 165 11.942 9.012 73.894 1.00 15.53 C +ATOM 1205 OG SER A 165 12.432 7.684 73.900 1.00 15.44 O +ATOM 1206 N ALA A 166 11.894 11.879 72.726 1.00 11.66 N +ATOM 1207 CA ALA A 166 11.383 13.244 72.752 1.00 13.41 C +ATOM 1208 C ALA A 166 10.881 13.601 71.361 1.00 16.14 C +ATOM 1209 O ALA A 166 9.799 14.167 71.215 1.00 18.02 O +ATOM 1210 CB ALA A 166 12.480 14.221 73.188 1.00 11.62 C +ATOM 1211 N GLY A 167 11.668 13.245 70.345 1.00 17.23 N +ATOM 1212 CA GLY A 167 11.309 13.538 68.971 1.00 18.65 C +ATOM 1213 C GLY A 167 9.927 13.067 68.568 1.00 19.67 C +ATOM 1214 O GLY A 167 9.132 13.843 68.040 1.00 20.49 O +ATOM 1215 N LEU A 168 9.634 11.795 68.810 1.00 19.99 N +ATOM 1216 CA LEU A 168 8.331 11.240 68.463 1.00 21.31 C +ATOM 1217 C LEU A 168 7.215 11.866 69.294 1.00 23.15 C +ATOM 1218 O LEU A 168 6.094 12.054 68.812 1.00 24.54 O +ATOM 1219 CB LEU A 168 8.319 9.726 68.692 1.00 19.65 C +ATOM 1220 CG LEU A 168 9.337 8.869 67.934 1.00 23.11 C +ATOM 1221 CD1 LEU A 168 9.266 7.438 68.448 1.00 21.84 C +ATOM 1222 CD2 LEU A 168 9.063 8.915 66.433 1.00 22.24 C +ATOM 1223 N ASN A 169 7.531 12.194 70.545 1.00 24.02 N +ATOM 1224 CA ASN A 169 6.549 12.754 71.466 1.00 23.10 C +ATOM 1225 C ASN A 169 6.266 14.231 71.281 1.00 22.53 C +ATOM 1226 O ASN A 169 5.136 14.669 71.454 1.00 22.07 O +ATOM 1227 CB ASN A 169 6.990 12.496 72.916 1.00 23.60 C +ATOM 1228 CG ASN A 169 5.961 12.959 73.936 1.00 22.75 C +ATOM 1229 OD1 ASN A 169 4.781 12.639 73.833 1.00 22.50 O +ATOM 1230 ND2 ASN A 169 6.411 13.706 74.929 1.00 22.50 N +ATOM 1231 N LEU A 170 7.280 14.998 70.907 1.00 22.86 N +ATOM 1232 CA LEU A 170 7.094 16.434 70.758 1.00 23.51 C +ATOM 1233 C LEU A 170 6.769 16.972 69.368 1.00 24.90 C +ATOM 1234 O LEU A 170 6.344 18.122 69.241 1.00 23.81 O +ATOM 1235 CB LEU A 170 8.324 17.165 71.301 1.00 23.37 C +ATOM 1236 CG LEU A 170 8.609 16.983 72.796 1.00 22.33 C +ATOM 1237 CD1 LEU A 170 9.751 17.884 73.208 1.00 19.90 C +ATOM 1238 CD2 LEU A 170 7.364 17.320 73.603 1.00 22.34 C +ATOM 1239 N ILE A 171 6.960 16.158 68.330 1.00 25.65 N +ATOM 1240 CA ILE A 171 6.692 16.617 66.973 1.00 25.81 C +ATOM 1241 C ILE A 171 5.238 17.038 66.758 1.00 27.43 C +ATOM 1242 O ILE A 171 4.957 17.870 65.900 1.00 27.46 O +ATOM 1243 CB ILE A 171 7.073 15.547 65.919 1.00 24.70 C +ATOM 1244 CG1 ILE A 171 6.946 16.142 64.514 1.00 22.26 C +ATOM 1245 CG2 ILE A 171 6.178 14.328 66.049 1.00 23.61 C +ATOM 1246 CD1 ILE A 171 7.824 17.352 64.287 1.00 18.76 C +ATOM 1247 N ARG A 172 4.323 16.475 67.545 1.00 29.18 N +ATOM 1248 CA ARG A 172 2.900 16.801 67.435 1.00 30.92 C +ATOM 1249 C ARG A 172 2.662 18.266 67.803 1.00 29.99 C +ATOM 1250 O ARG A 172 1.680 18.861 67.384 1.00 29.53 O +ATOM 1251 CB ARG A 172 2.061 15.911 68.367 1.00 35.19 C +ATOM 1252 CG ARG A 172 2.675 14.538 68.698 1.00 43.55 C +ATOM 1253 CD ARG A 172 2.946 13.704 67.444 1.00 50.59 C +ATOM 1254 NE ARG A 172 3.530 12.391 67.732 1.00 55.89 N +ATOM 1255 CZ ARG A 172 2.868 11.368 68.269 1.00 59.21 C +ATOM 1256 NH1 ARG A 172 1.583 11.496 68.587 1.00 60.66 N +ATOM 1257 NH2 ARG A 172 3.488 10.209 68.477 1.00 59.15 N +ATOM 1258 N HIS A 173 3.559 18.843 68.597 1.00 30.06 N +ATOM 1259 CA HIS A 173 3.425 20.237 69.011 1.00 29.38 C +ATOM 1260 C HIS A 173 4.262 21.152 68.143 1.00 28.54 C +ATOM 1261 O HIS A 173 4.419 22.333 68.450 1.00 29.83 O +ATOM 1262 CB HIS A 173 3.852 20.425 70.473 1.00 30.23 C +ATOM 1263 CG HIS A 173 2.985 19.703 71.452 1.00 31.94 C +ATOM 1264 ND1 HIS A 173 3.316 18.468 71.971 1.00 33.73 N +ATOM 1265 CD2 HIS A 173 1.775 20.017 71.973 1.00 31.84 C +ATOM 1266 CE1 HIS A 173 2.348 18.053 72.766 1.00 34.56 C +ATOM 1267 NE2 HIS A 173 1.400 18.975 72.785 1.00 34.51 N +ATOM 1268 N GLY A 174 4.811 20.600 67.067 1.00 27.07 N +ATOM 1269 CA GLY A 174 5.625 21.396 66.167 1.00 24.63 C +ATOM 1270 C GLY A 174 7.044 21.592 66.647 1.00 23.40 C +ATOM 1271 O GLY A 174 7.710 22.553 66.264 1.00 24.50 O +ATOM 1272 N ILE A 175 7.515 20.681 67.491 1.00 22.24 N +ATOM 1273 CA ILE A 175 8.871 20.766 68.012 1.00 20.63 C +ATOM 1274 C ILE A 175 9.708 19.642 67.419 1.00 21.17 C +ATOM 1275 O ILE A 175 9.385 18.465 67.598 1.00 20.43 O +ATOM 1276 CB ILE A 175 8.905 20.619 69.547 1.00 20.05 C +ATOM 1277 CG1 ILE A 175 8.014 21.676 70.199 1.00 21.88 C +ATOM 1278 CG2 ILE A 175 10.333 20.755 70.046 1.00 16.31 C +ATOM 1279 CD1 ILE A 175 7.888 21.532 71.712 1.00 20.44 C +ATOM 1280 N ASN A 176 10.771 20.010 66.706 1.00 20.73 N +ATOM 1281 CA ASN A 176 11.665 19.029 66.100 1.00 20.36 C +ATOM 1282 C ASN A 176 12.803 18.757 67.060 1.00 18.91 C +ATOM 1283 O ASN A 176 13.425 19.695 67.568 1.00 17.94 O +ATOM 1284 CB ASN A 176 12.287 19.545 64.791 1.00 20.67 C +ATOM 1285 CG ASN A 176 11.263 19.820 63.714 1.00 23.34 C +ATOM 1286 OD1 ASN A 176 10.635 20.881 63.692 1.00 25.32 O +ATOM 1287 ND2 ASN A 176 11.084 18.859 62.812 1.00 20.98 N +ATOM 1288 N VAL A 177 13.076 17.481 67.301 1.00 15.54 N +ATOM 1289 CA VAL A 177 14.179 17.110 68.168 1.00 16.40 C +ATOM 1290 C VAL A 177 15.119 16.164 67.409 1.00 15.61 C +ATOM 1291 O VAL A 177 14.715 15.089 66.975 1.00 15.59 O +ATOM 1292 CB VAL A 177 13.684 16.407 69.470 1.00 18.18 C +ATOM 1293 CG1 VAL A 177 14.871 16.167 70.412 1.00 15.32 C +ATOM 1294 CG2 VAL A 177 12.617 17.256 70.161 1.00 15.53 C +ATOM 1295 N ASN A 178 16.367 16.577 67.241 1.00 14.59 N +ATOM 1296 CA ASN A 178 17.356 15.764 66.547 1.00 16.00 C +ATOM 1297 C ASN A 178 18.671 15.956 67.290 1.00 17.44 C +ATOM 1298 O ASN A 178 18.761 16.804 68.175 1.00 18.35 O +ATOM 1299 CB ASN A 178 17.524 16.229 65.092 1.00 14.42 C +ATOM 1300 CG ASN A 178 16.262 16.057 64.268 1.00 13.37 C +ATOM 1301 OD1 ASN A 178 15.859 14.939 63.950 1.00 11.38 O +ATOM 1302 ND2 ASN A 178 15.628 17.169 63.924 1.00 11.38 N +ATOM 1303 N ALA A 179 19.688 15.186 66.925 1.00 16.81 N +ATOM 1304 CA ALA A 179 20.989 15.304 67.572 1.00 17.70 C +ATOM 1305 C ALA A 179 22.123 15.270 66.553 1.00 18.08 C +ATOM 1306 O ALA A 179 21.953 14.787 65.435 1.00 18.21 O +ATOM 1307 CB ALA A 179 21.173 14.179 68.583 1.00 16.58 C +ATOM 1308 N ILE A 180 23.276 15.795 66.948 1.00 18.15 N +ATOM 1309 CA ILE A 180 24.461 15.798 66.094 1.00 18.35 C +ATOM 1310 C ILE A 180 25.481 14.913 66.804 1.00 18.11 C +ATOM 1311 O ILE A 180 25.656 15.030 68.012 1.00 20.45 O +ATOM 1312 CB ILE A 180 25.058 17.219 65.955 1.00 18.29 C +ATOM 1313 CG1 ILE A 180 24.052 18.151 65.279 1.00 16.41 C +ATOM 1314 CG2 ILE A 180 26.357 17.168 65.177 1.00 15.58 C +ATOM 1315 CD1 ILE A 180 24.489 19.593 65.282 1.00 16.74 C +ATOM 1316 N ALA A 181 26.143 14.025 66.072 1.00 17.12 N +ATOM 1317 CA ALA A 181 27.132 13.147 66.683 1.00 17.03 C +ATOM 1318 C ALA A 181 28.529 13.392 66.124 1.00 18.92 C +ATOM 1319 O ALA A 181 28.909 12.838 65.093 1.00 18.45 O +ATOM 1320 CB ALA A 181 26.740 11.693 66.487 1.00 15.64 C +ATOM 1321 N PRO A 182 29.311 14.249 66.799 1.00 19.68 N +ATOM 1322 CA PRO A 182 30.670 14.542 66.338 1.00 19.64 C +ATOM 1323 C PRO A 182 31.542 13.292 66.450 1.00 22.18 C +ATOM 1324 O PRO A 182 31.157 12.306 67.080 1.00 22.23 O +ATOM 1325 CB PRO A 182 31.132 15.638 67.299 1.00 17.46 C +ATOM 1326 CG PRO A 182 29.844 16.304 67.729 1.00 17.22 C +ATOM 1327 CD PRO A 182 28.925 15.130 67.919 1.00 17.83 C +ATOM 1328 N GLY A 183 32.712 13.332 65.831 1.00 24.56 N +ATOM 1329 CA GLY A 183 33.623 12.212 65.920 1.00 29.35 C +ATOM 1330 C GLY A 183 34.672 12.638 66.923 1.00 33.20 C +ATOM 1331 O GLY A 183 34.347 12.963 68.069 1.00 34.83 O +ATOM 1332 N VAL A 184 35.929 12.651 66.503 1.00 35.67 N +ATOM 1333 CA VAL A 184 37.002 13.089 67.382 1.00 40.16 C +ATOM 1334 C VAL A 184 37.278 14.560 67.066 1.00 42.25 C +ATOM 1335 O VAL A 184 37.712 14.896 65.969 1.00 42.64 O +ATOM 1336 CB VAL A 184 38.275 12.242 67.168 1.00 40.51 C +ATOM 1337 CG1 VAL A 184 38.078 10.861 67.770 1.00 39.63 C +ATOM 1338 CG2 VAL A 184 38.572 12.108 65.677 1.00 42.18 C +ATOM 1339 N VAL A 185 36.990 15.440 68.017 1.00 45.34 N +ATOM 1340 CA VAL A 185 37.209 16.866 67.814 1.00 49.56 C +ATOM 1341 C VAL A 185 38.413 17.329 68.610 1.00 53.11 C +ATOM 1342 O VAL A 185 38.526 17.042 69.803 1.00 53.93 O +ATOM 1343 CB VAL A 185 35.991 17.699 68.258 1.00 49.58 C +ATOM 1344 CG1 VAL A 185 36.274 19.185 68.049 1.00 48.44 C +ATOM 1345 CG2 VAL A 185 34.763 17.274 67.475 1.00 49.21 C +ATOM 1346 N ASP A 186 39.313 18.050 67.950 1.00 56.68 N +ATOM 1347 CA ASP A 186 40.503 18.541 68.622 1.00 60.24 C +ATOM 1348 C ASP A 186 40.135 19.607 69.646 1.00 62.23 C +ATOM 1349 O ASP A 186 39.107 20.279 69.539 1.00 62.03 O +ATOM 1350 CB ASP A 186 41.504 19.109 67.612 1.00 61.15 C +ATOM 1351 CG ASP A 186 42.919 19.189 68.171 1.00 63.02 C +ATOM 1352 OD1 ASP A 186 43.123 18.821 69.348 1.00 64.60 O +ATOM 1353 OD2 ASP A 186 43.833 19.618 67.432 1.00 63.98 O +ATOM 1354 N GLY A 187 41.003 19.740 70.638 1.00 65.34 N +ATOM 1355 CA GLY A 187 40.821 20.690 71.715 1.00 68.73 C +ATOM 1356 C GLY A 187 41.956 20.428 72.685 1.00 70.64 C +ATOM 1357 O GLY A 187 42.683 19.439 72.548 1.00 71.06 O +ATOM 1358 N GLU A 188 42.121 21.299 73.668 1.00 72.17 N +ATOM 1359 CA GLU A 188 43.197 21.121 74.630 1.00 73.53 C +ATOM 1360 C GLU A 188 43.054 19.842 75.458 1.00 73.25 C +ATOM 1361 O GLU A 188 44.049 19.200 75.784 1.00 74.21 O +ATOM 1362 CB GLU A 188 43.271 22.342 75.543 1.00 74.81 C +ATOM 1363 CG GLU A 188 41.928 22.763 76.092 1.00 76.65 C +ATOM 1364 CD GLU A 188 41.994 24.089 76.813 1.00 78.01 C +ATOM 1365 OE1 GLU A 188 43.107 24.642 76.944 1.00 79.12 O +ATOM 1366 OE2 GLU A 188 40.932 24.580 77.251 1.00 79.03 O +ATOM 1367 N HIS A 189 41.821 19.466 75.785 1.00 71.89 N +ATOM 1368 CA HIS A 189 41.573 18.263 76.580 1.00 70.38 C +ATOM 1369 C HIS A 189 42.370 17.050 76.095 1.00 69.41 C +ATOM 1370 O HIS A 189 42.613 16.111 76.857 1.00 69.33 O +ATOM 1371 CB HIS A 189 40.085 17.922 76.557 1.00 70.47 C +ATOM 1372 CG HIS A 189 39.545 17.702 75.178 1.00 71.14 C +ATOM 1373 ND1 HIS A 189 39.521 18.695 74.224 1.00 70.60 N +ATOM 1374 CD2 HIS A 189 39.030 16.598 74.587 1.00 71.47 C +ATOM 1375 CE1 HIS A 189 39.016 18.214 73.103 1.00 70.66 C +ATOM 1376 NE2 HIS A 189 38.710 16.942 73.296 1.00 71.08 N +ATOM 1377 N TRP A 190 42.779 17.073 74.830 1.00 67.92 N +ATOM 1378 CA TRP A 190 43.533 15.962 74.262 1.00 66.94 C +ATOM 1379 C TRP A 190 44.908 15.743 74.875 1.00 67.66 C +ATOM 1380 O TRP A 190 45.518 14.692 74.680 1.00 68.15 O +ATOM 1381 CB TRP A 190 43.659 16.118 72.742 1.00 64.11 C +ATOM 1382 CG TRP A 190 42.594 15.354 72.011 1.00 60.92 C +ATOM 1383 CD1 TRP A 190 41.423 15.844 71.506 1.00 59.84 C +ATOM 1384 CD2 TRP A 190 42.559 13.939 71.804 1.00 58.82 C +ATOM 1385 NE1 TRP A 190 40.659 14.819 71.002 1.00 58.65 N +ATOM 1386 CE2 TRP A 190 41.332 13.638 71.174 1.00 58.69 C +ATOM 1387 CE3 TRP A 190 43.444 12.893 72.096 1.00 58.51 C +ATOM 1388 CZ2 TRP A 190 40.968 12.334 70.828 1.00 58.32 C +ATOM 1389 CZ3 TRP A 190 43.081 11.596 71.753 1.00 58.65 C +ATOM 1390 CH2 TRP A 190 41.853 11.329 71.126 1.00 58.40 C +ATOM 1391 N ASP A 191 45.395 16.728 75.620 1.00 68.65 N +ATOM 1392 CA ASP A 191 46.702 16.612 76.258 1.00 69.33 C +ATOM 1393 C ASP A 191 46.625 15.519 77.322 1.00 68.31 C +ATOM 1394 O ASP A 191 47.409 14.566 77.316 1.00 68.22 O +ATOM 1395 CB ASP A 191 47.091 17.933 76.934 1.00 71.80 C +ATOM 1396 CG ASP A 191 46.715 19.154 76.108 1.00 73.75 C +ATOM 1397 OD1 ASP A 191 46.139 20.104 76.687 1.00 74.00 O +ATOM 1398 OD2 ASP A 191 46.997 19.172 74.890 1.00 74.44 O +ATOM 1399 N GLY A 192 45.665 15.674 78.231 1.00 66.70 N +ATOM 1400 CA GLY A 192 45.484 14.717 79.309 1.00 64.71 C +ATOM 1401 C GLY A 192 44.892 13.401 78.852 1.00 63.30 C +ATOM 1402 O GLY A 192 45.316 12.335 79.301 1.00 62.40 O +ATOM 1403 N VAL A 193 43.905 13.477 77.963 1.00 62.43 N +ATOM 1404 CA VAL A 193 43.255 12.283 77.439 1.00 60.31 C +ATOM 1405 C VAL A 193 44.321 11.369 76.855 1.00 59.50 C +ATOM 1406 O VAL A 193 44.338 10.164 77.114 1.00 58.71 O +ATOM 1407 CB VAL A 193 42.238 12.639 76.335 1.00 59.25 C +ATOM 1408 CG1 VAL A 193 41.577 11.375 75.802 1.00 58.69 C +ATOM 1409 CG2 VAL A 193 41.197 13.594 76.886 1.00 58.50 C +ATOM 1410 N ASP A 194 45.215 11.962 76.072 1.00 59.03 N +ATOM 1411 CA ASP A 194 46.304 11.229 75.441 1.00 58.59 C +ATOM 1412 C ASP A 194 47.185 10.585 76.515 1.00 57.85 C +ATOM 1413 O ASP A 194 47.600 9.427 76.391 1.00 57.67 O +ATOM 1414 CB ASP A 194 47.133 12.182 74.578 1.00 58.32 C +ATOM 1415 CG ASP A 194 48.300 11.494 73.915 1.00 58.85 C +ATOM 1416 OD1 ASP A 194 48.063 10.640 73.033 1.00 58.08 O +ATOM 1417 OD2 ASP A 194 49.452 11.804 74.287 1.00 58.45 O +ATOM 1418 N ALA A 195 47.464 11.347 77.569 1.00 56.42 N +ATOM 1419 CA ALA A 195 48.283 10.861 78.674 1.00 55.64 C +ATOM 1420 C ALA A 195 47.628 9.632 79.285 1.00 54.70 C +ATOM 1421 O ALA A 195 48.298 8.649 79.614 1.00 53.94 O +ATOM 1422 CB ALA A 195 48.429 11.947 79.728 1.00 55.46 C +ATOM 1423 N LYS A 196 46.311 9.707 79.437 1.00 54.16 N +ATOM 1424 CA LYS A 196 45.529 8.617 79.998 1.00 53.98 C +ATOM 1425 C LYS A 196 45.733 7.338 79.193 1.00 53.52 C +ATOM 1426 O LYS A 196 46.170 6.320 79.736 1.00 53.23 O +ATOM 1427 CB LYS A 196 44.047 8.993 80.005 1.00 54.35 C +ATOM 1428 CG LYS A 196 43.696 10.096 80.979 1.00 56.27 C +ATOM 1429 CD LYS A 196 43.783 9.592 82.407 1.00 58.25 C +ATOM 1430 CE LYS A 196 43.293 10.636 83.400 1.00 59.44 C +ATOM 1431 NZ LYS A 196 43.173 10.073 84.778 1.00 60.85 N +ATOM 1432 N PHE A 197 45.417 7.394 77.900 1.00 52.11 N +ATOM 1433 CA PHE A 197 45.566 6.233 77.029 1.00 51.19 C +ATOM 1434 C PHE A 197 47.010 5.746 76.998 1.00 51.30 C +ATOM 1435 O PHE A 197 47.270 4.541 77.045 1.00 50.40 O +ATOM 1436 CB PHE A 197 45.109 6.556 75.600 1.00 49.19 C +ATOM 1437 CG PHE A 197 43.616 6.671 75.443 1.00 46.86 C +ATOM 1438 CD1 PHE A 197 42.996 7.915 75.417 1.00 45.15 C +ATOM 1439 CD2 PHE A 197 42.831 5.530 75.310 1.00 46.08 C +ATOM 1440 CE1 PHE A 197 41.618 8.020 75.256 1.00 44.34 C +ATOM 1441 CE2 PHE A 197 41.455 5.626 75.149 1.00 44.65 C +ATOM 1442 CZ PHE A 197 40.847 6.873 75.121 1.00 43.84 C +ATOM 1443 N ALA A 198 47.948 6.683 76.914 1.00 52.00 N +ATOM 1444 CA ALA A 198 49.363 6.330 76.881 1.00 53.89 C +ATOM 1445 C ALA A 198 49.704 5.450 78.084 1.00 54.91 C +ATOM 1446 O ALA A 198 50.444 4.468 77.970 1.00 53.95 O +ATOM 1447 CB ALA A 198 50.216 7.595 76.895 1.00 51.77 C +ATOM 1448 N ASP A 199 49.138 5.806 79.231 1.00 56.75 N +ATOM 1449 CA ASP A 199 49.374 5.082 80.469 1.00 58.72 C +ATOM 1450 C ASP A 199 48.558 3.789 80.559 1.00 58.47 C +ATOM 1451 O ASP A 199 49.040 2.780 81.076 1.00 58.04 O +ATOM 1452 CB ASP A 199 49.055 5.992 81.659 1.00 61.40 C +ATOM 1453 CG ASP A 199 49.597 5.452 82.966 1.00 64.83 C +ATOM 1454 OD1 ASP A 199 50.822 5.204 83.045 1.00 66.81 O +ATOM 1455 OD2 ASP A 199 48.803 5.278 83.916 1.00 66.48 O +ATOM 1456 N TYR A 200 47.327 3.826 80.054 1.00 57.94 N +ATOM 1457 CA TYR A 200 46.440 2.663 80.075 1.00 57.30 C +ATOM 1458 C TYR A 200 46.791 1.606 79.027 1.00 58.08 C +ATOM 1459 O TYR A 200 46.448 0.433 79.192 1.00 58.00 O +ATOM 1460 CB TYR A 200 44.986 3.088 79.837 1.00 54.81 C +ATOM 1461 CG TYR A 200 44.243 3.630 81.041 1.00 54.29 C +ATOM 1462 CD1 TYR A 200 43.683 4.909 81.018 1.00 53.72 C +ATOM 1463 CD2 TYR A 200 44.057 2.851 82.184 1.00 54.57 C +ATOM 1464 CE1 TYR A 200 42.952 5.400 82.100 1.00 53.10 C +ATOM 1465 CE2 TYR A 200 43.325 3.334 83.278 1.00 53.99 C +ATOM 1466 CZ TYR A 200 42.777 4.609 83.225 1.00 53.47 C +ATOM 1467 OH TYR A 200 42.052 5.094 84.288 1.00 52.20 O +ATOM 1468 N GLU A 201 47.471 2.010 77.956 1.00 58.77 N +ATOM 1469 CA GLU A 201 47.796 1.072 76.885 1.00 60.18 C +ATOM 1470 C GLU A 201 49.277 0.900 76.553 1.00 60.32 C +ATOM 1471 O GLU A 201 49.615 0.309 75.526 1.00 59.03 O +ATOM 1472 CB GLU A 201 47.040 1.470 75.613 1.00 61.22 C +ATOM 1473 CG GLU A 201 45.736 2.205 75.889 1.00 63.44 C +ATOM 1474 CD GLU A 201 44.867 2.370 74.656 1.00 64.50 C +ATOM 1475 OE1 GLU A 201 44.289 1.362 74.196 1.00 64.36 O +ATOM 1476 OE2 GLU A 201 44.763 3.507 74.148 1.00 64.74 O +ATOM 1477 N ASN A 202 50.158 1.404 77.410 1.00 60.96 N +ATOM 1478 CA ASN A 202 51.591 1.270 77.168 1.00 61.64 C +ATOM 1479 C ASN A 202 51.925 1.851 75.792 1.00 61.22 C +ATOM 1480 O ASN A 202 52.417 1.154 74.904 1.00 60.33 O +ATOM 1481 CB ASN A 202 51.986 -0.214 77.244 1.00 62.95 C +ATOM 1482 CG ASN A 202 53.487 -0.435 77.135 1.00 64.07 C +ATOM 1483 OD1 ASN A 202 54.276 0.209 77.830 1.00 64.55 O +ATOM 1484 ND2 ASN A 202 53.887 -1.363 76.268 1.00 64.74 N +ATOM 1485 N LEU A 203 51.639 3.138 75.626 1.00 60.87 N +ATOM 1486 CA LEU A 203 51.895 3.835 74.373 1.00 60.56 C +ATOM 1487 C LEU A 203 52.716 5.089 74.643 1.00 60.41 C +ATOM 1488 O LEU A 203 52.573 5.717 75.691 1.00 60.44 O +ATOM 1489 CB LEU A 203 50.574 4.238 73.709 1.00 60.79 C +ATOM 1490 CG LEU A 203 49.587 3.146 73.281 1.00 61.14 C +ATOM 1491 CD1 LEU A 203 48.275 3.787 72.850 1.00 60.55 C +ATOM 1492 CD2 LEU A 203 50.182 2.319 72.147 1.00 60.88 C +ATOM 1493 N PRO A 204 53.594 5.467 73.701 1.00 60.19 N +ATOM 1494 CA PRO A 204 54.427 6.664 73.866 1.00 60.30 C +ATOM 1495 C PRO A 204 53.537 7.894 74.018 1.00 60.41 C +ATOM 1496 O PRO A 204 52.481 7.977 73.395 1.00 60.34 O +ATOM 1497 CB PRO A 204 55.237 6.703 72.570 1.00 60.07 C +ATOM 1498 CG PRO A 204 55.349 5.254 72.197 1.00 60.33 C +ATOM 1499 CD PRO A 204 53.954 4.742 72.470 1.00 60.03 C +ATOM 1500 N ARG A 205 53.956 8.843 74.843 1.00 60.69 N +ATOM 1501 CA ARG A 205 53.171 10.052 75.047 1.00 62.34 C +ATOM 1502 C ARG A 205 52.963 10.758 73.706 1.00 61.75 C +ATOM 1503 O ARG A 205 53.929 11.175 73.066 1.00 62.25 O +ATOM 1504 CB ARG A 205 53.895 10.993 76.007 1.00 65.20 C +ATOM 1505 CG ARG A 205 54.473 10.317 77.238 1.00 71.21 C +ATOM 1506 CD ARG A 205 55.347 11.294 78.010 1.00 75.99 C +ATOM 1507 NE ARG A 205 56.194 10.634 79.002 1.00 80.68 N +ATOM 1508 CZ ARG A 205 57.146 11.250 79.701 1.00 82.80 C +ATOM 1509 NH1 ARG A 205 57.375 12.547 79.520 1.00 83.42 N +ATOM 1510 NH2 ARG A 205 57.876 10.569 80.578 1.00 83.44 N +ATOM 1511 N GLY A 206 51.709 10.885 73.280 1.00 60.65 N +ATOM 1512 CA GLY A 206 51.414 11.553 72.021 1.00 58.74 C +ATOM 1513 C GLY A 206 51.039 10.648 70.858 1.00 57.72 C +ATOM 1514 O GLY A 206 50.530 11.116 69.840 1.00 57.45 O +ATOM 1515 N GLU A 207 51.288 9.353 71.005 1.00 56.61 N +ATOM 1516 CA GLU A 207 50.983 8.390 69.957 1.00 56.75 C +ATOM 1517 C GLU A 207 49.481 8.210 69.758 1.00 56.35 C +ATOM 1518 O GLU A 207 49.008 8.095 68.630 1.00 56.37 O +ATOM 1519 CB GLU A 207 51.619 7.035 70.289 1.00 58.24 C +ATOM 1520 CG GLU A 207 51.245 5.907 69.328 1.00 61.56 C +ATOM 1521 CD GLU A 207 51.943 6.005 67.978 1.00 63.92 C +ATOM 1522 OE1 GLU A 207 52.271 7.134 67.547 1.00 64.56 O +ATOM 1523 OE2 GLU A 207 52.148 4.946 67.340 1.00 64.66 O +ATOM 1524 N LYS A 208 48.736 8.184 70.858 1.00 55.81 N +ATOM 1525 CA LYS A 208 47.291 7.994 70.803 1.00 54.47 C +ATOM 1526 C LYS A 208 46.591 9.054 69.968 1.00 54.10 C +ATOM 1527 O LYS A 208 45.808 8.731 69.076 1.00 54.24 O +ATOM 1528 CB LYS A 208 46.695 7.998 72.215 1.00 53.61 C +ATOM 1529 CG LYS A 208 45.220 7.622 72.257 1.00 51.11 C +ATOM 1530 CD LYS A 208 45.027 6.180 71.831 1.00 49.58 C +ATOM 1531 CE LYS A 208 43.572 5.785 71.839 1.00 46.85 C +ATOM 1532 NZ LYS A 208 43.441 4.340 71.534 1.00 46.61 N +ATOM 1533 N LYS A 209 46.868 10.319 70.265 1.00 53.65 N +ATOM 1534 CA LYS A 209 46.248 11.420 69.535 1.00 53.32 C +ATOM 1535 C LYS A 209 46.620 11.367 68.062 1.00 54.50 C +ATOM 1536 O LYS A 209 45.845 11.783 67.202 1.00 54.77 O +ATOM 1537 CB LYS A 209 46.683 12.763 70.116 1.00 51.21 C +ATOM 1538 CG LYS A 209 46.033 13.946 69.436 1.00 48.73 C +ATOM 1539 CD LYS A 209 46.562 15.259 69.976 1.00 48.11 C +ATOM 1540 CE LYS A 209 45.841 16.435 69.349 1.00 46.46 C +ATOM 1541 NZ LYS A 209 46.410 17.738 69.771 1.00 47.55 N +ATOM 1542 N ARG A 210 47.813 10.858 67.777 1.00 55.70 N +ATOM 1543 CA ARG A 210 48.287 10.749 66.406 1.00 56.99 C +ATOM 1544 C ARG A 210 47.528 9.641 65.680 1.00 56.95 C +ATOM 1545 O ARG A 210 47.042 9.840 64.564 1.00 56.48 O +ATOM 1546 CB ARG A 210 49.784 10.440 66.385 1.00 58.95 C +ATOM 1547 CG ARG A 210 50.405 10.512 65.001 1.00 61.02 C +ATOM 1548 CD ARG A 210 51.718 9.749 64.944 1.00 63.75 C +ATOM 1549 NE ARG A 210 51.524 8.322 65.202 1.00 65.84 N +ATOM 1550 CZ ARG A 210 50.788 7.512 64.442 1.00 66.16 C +ATOM 1551 NH1 ARG A 210 50.170 7.983 63.366 1.00 66.15 N +ATOM 1552 NH2 ARG A 210 50.667 6.228 64.759 1.00 65.33 N +ATOM 1553 N GLN A 211 47.438 8.476 66.319 1.00 56.05 N +ATOM 1554 CA GLN A 211 46.735 7.331 65.748 1.00 55.34 C +ATOM 1555 C GLN A 211 45.298 7.708 65.427 1.00 53.74 C +ATOM 1556 O GLN A 211 44.826 7.499 64.309 1.00 53.99 O +ATOM 1557 CB GLN A 211 46.732 6.146 66.727 1.00 57.24 C +ATOM 1558 CG GLN A 211 48.058 5.403 66.842 1.00 60.85 C +ATOM 1559 CD GLN A 211 47.982 4.210 67.784 1.00 62.89 C +ATOM 1560 OE1 GLN A 211 47.139 3.324 67.620 1.00 63.24 O +ATOM 1561 NE2 GLN A 211 48.868 4.182 68.773 1.00 63.72 N +ATOM 1562 N VAL A 212 44.615 8.273 66.419 1.00 51.56 N +ATOM 1563 CA VAL A 212 43.216 8.679 66.295 1.00 48.04 C +ATOM 1564 C VAL A 212 42.937 9.604 65.116 1.00 45.48 C +ATOM 1565 O VAL A 212 42.021 9.362 64.334 1.00 43.48 O +ATOM 1566 CB VAL A 212 42.735 9.375 67.585 1.00 46.87 C +ATOM 1567 CG1 VAL A 212 41.301 9.839 67.425 1.00 47.50 C +ATOM 1568 CG2 VAL A 212 42.853 8.419 68.756 1.00 45.84 C +ATOM 1569 N GLY A 213 43.728 10.664 65.000 1.00 44.03 N +ATOM 1570 CA GLY A 213 43.542 11.616 63.919 1.00 43.19 C +ATOM 1571 C GLY A 213 43.835 11.061 62.538 1.00 42.50 C +ATOM 1572 O GLY A 213 43.246 11.501 61.552 1.00 42.61 O +ATOM 1573 N ALA A 214 44.744 10.093 62.468 1.00 41.63 N +ATOM 1574 CA ALA A 214 45.119 9.474 61.203 1.00 39.58 C +ATOM 1575 C ALA A 214 44.128 8.385 60.793 1.00 38.85 C +ATOM 1576 O ALA A 214 44.039 8.032 59.619 1.00 39.86 O +ATOM 1577 CB ALA A 214 46.525 8.886 61.313 1.00 39.82 C +ATOM 1578 N ALA A 215 43.381 7.856 61.757 1.00 36.60 N +ATOM 1579 CA ALA A 215 42.414 6.801 61.472 1.00 33.99 C +ATOM 1580 C ALA A 215 41.119 7.352 60.886 1.00 32.84 C +ATOM 1581 O ALA A 215 40.317 6.603 60.317 1.00 32.52 O +ATOM 1582 CB ALA A 215 42.118 6.010 62.738 1.00 33.98 C +ATOM 1583 N VAL A 216 40.911 8.658 61.033 1.00 31.30 N +ATOM 1584 CA VAL A 216 39.713 9.302 60.498 1.00 30.33 C +ATOM 1585 C VAL A 216 39.781 9.256 58.980 1.00 29.51 C +ATOM 1586 O VAL A 216 40.721 9.778 58.388 1.00 29.59 O +ATOM 1587 CB VAL A 216 39.629 10.780 60.920 1.00 30.17 C +ATOM 1588 CG1 VAL A 216 38.431 11.439 60.253 1.00 28.16 C +ATOM 1589 CG2 VAL A 216 39.532 10.885 62.433 1.00 29.30 C +ATOM 1590 N PRO A 217 38.790 8.624 58.331 1.00 28.53 N +ATOM 1591 CA PRO A 217 38.765 8.523 56.867 1.00 27.89 C +ATOM 1592 C PRO A 217 39.094 9.848 56.183 1.00 26.79 C +ATOM 1593 O PRO A 217 39.957 9.895 55.316 1.00 25.32 O +ATOM 1594 CB PRO A 217 37.342 8.054 56.582 1.00 28.59 C +ATOM 1595 CG PRO A 217 37.060 7.170 57.762 1.00 28.21 C +ATOM 1596 CD PRO A 217 37.598 7.987 58.920 1.00 28.45 C +ATOM 1597 N PHE A 218 38.410 10.916 56.589 1.00 26.23 N +ATOM 1598 CA PHE A 218 38.634 12.243 56.020 1.00 26.96 C +ATOM 1599 C PHE A 218 40.113 12.639 56.061 1.00 28.62 C +ATOM 1600 O PHE A 218 40.557 13.473 55.273 1.00 29.39 O +ATOM 1601 CB PHE A 218 37.813 13.294 56.771 1.00 25.34 C +ATOM 1602 CG PHE A 218 37.843 14.663 56.135 1.00 26.10 C +ATOM 1603 CD1 PHE A 218 36.899 15.020 55.175 1.00 26.93 C +ATOM 1604 CD2 PHE A 218 38.807 15.600 56.501 1.00 26.10 C +ATOM 1605 CE1 PHE A 218 36.912 16.287 54.594 1.00 24.35 C +ATOM 1606 CE2 PHE A 218 38.828 16.870 55.925 1.00 25.01 C +ATOM 1607 CZ PHE A 218 37.879 17.213 54.972 1.00 24.55 C +ATOM 1608 N GLY A 219 40.870 12.068 56.992 1.00 29.98 N +ATOM 1609 CA GLY A 219 42.286 12.383 57.062 1.00 31.28 C +ATOM 1610 C GLY A 219 42.759 13.360 58.125 1.00 32.62 C +ATOM 1611 O GLY A 219 43.926 13.766 58.115 1.00 32.48 O +ATOM 1612 N ARG A 220 41.872 13.752 59.034 1.00 32.75 N +ATOM 1613 CA ARG A 220 42.264 14.667 60.099 1.00 32.67 C +ATOM 1614 C ARG A 220 41.242 14.715 61.222 1.00 33.39 C +ATOM 1615 O ARG A 220 40.089 14.311 61.058 1.00 33.04 O +ATOM 1616 CB ARG A 220 42.488 16.080 59.549 1.00 32.06 C +ATOM 1617 CG ARG A 220 41.264 16.982 59.553 1.00 31.62 C +ATOM 1618 CD ARG A 220 41.560 18.295 58.836 1.00 31.43 C +ATOM 1619 NE ARG A 220 40.436 19.233 58.714 1.00 32.68 N +ATOM 1620 CZ ARG A 220 39.176 18.996 59.067 1.00 34.77 C +ATOM 1621 NH1 ARG A 220 38.819 17.833 59.589 1.00 40.13 N +ATOM 1622 NH2 ARG A 220 38.260 19.936 58.887 1.00 33.56 N +ATOM 1623 N MET A 221 41.685 15.210 62.369 1.00 34.46 N +ATOM 1624 CA MET A 221 40.823 15.330 63.526 1.00 36.12 C +ATOM 1625 C MET A 221 39.796 16.421 63.233 1.00 35.62 C +ATOM 1626 O MET A 221 40.037 17.306 62.409 1.00 35.49 O +ATOM 1627 CB MET A 221 41.665 15.687 64.752 1.00 39.51 C +ATOM 1628 CG MET A 221 40.999 15.396 66.074 1.00 41.17 C +ATOM 1629 SD MET A 221 42.254 15.072 67.311 1.00 48.07 S +ATOM 1630 CE MET A 221 42.587 13.344 67.007 1.00 44.94 C +ATOM 1631 N GLY A 222 38.651 16.349 63.903 1.00 35.13 N +ATOM 1632 CA GLY A 222 37.597 17.323 63.689 1.00 34.04 C +ATOM 1633 C GLY A 222 37.910 18.728 64.160 1.00 34.46 C +ATOM 1634 O GLY A 222 38.894 18.968 64.856 1.00 32.50 O +ATOM 1635 N ARG A 223 37.043 19.660 63.779 1.00 35.55 N +ATOM 1636 CA ARG A 223 37.194 21.064 64.128 1.00 37.27 C +ATOM 1637 C ARG A 223 35.792 21.624 64.353 1.00 37.14 C +ATOM 1638 O ARG A 223 34.829 21.146 63.758 1.00 37.79 O +ATOM 1639 CB ARG A 223 37.882 21.789 62.973 1.00 40.76 C +ATOM 1640 CG ARG A 223 38.869 22.866 63.374 1.00 46.38 C +ATOM 1641 CD ARG A 223 40.052 22.861 62.420 1.00 48.38 C +ATOM 1642 NE ARG A 223 39.629 22.531 61.062 1.00 51.61 N +ATOM 1643 CZ ARG A 223 40.445 22.473 60.012 1.00 52.89 C +ATOM 1644 NH1 ARG A 223 41.738 22.727 60.162 1.00 54.40 N +ATOM 1645 NH2 ARG A 223 39.969 22.155 58.813 1.00 52.64 N +ATOM 1646 N ALA A 224 35.666 22.629 65.208 1.00 36.60 N +ATOM 1647 CA ALA A 224 34.352 23.200 65.480 1.00 36.54 C +ATOM 1648 C ALA A 224 33.659 23.649 64.195 1.00 36.01 C +ATOM 1649 O ALA A 224 32.459 23.456 64.030 1.00 35.98 O +ATOM 1650 CB ALA A 224 34.479 24.371 66.450 1.00 36.19 C +ATOM 1651 N GLU A 225 34.427 24.239 63.285 1.00 36.54 N +ATOM 1652 CA GLU A 225 33.897 24.725 62.015 1.00 36.13 C +ATOM 1653 C GLU A 225 33.254 23.635 61.161 1.00 33.95 C +ATOM 1654 O GLU A 225 32.456 23.929 60.276 1.00 33.83 O +ATOM 1655 CB GLU A 225 35.006 25.414 61.213 1.00 38.60 C +ATOM 1656 CG GLU A 225 35.567 26.663 61.881 1.00 43.71 C +ATOM 1657 CD GLU A 225 36.398 26.357 63.118 1.00 46.36 C +ATOM 1658 OE1 GLU A 225 36.616 27.290 63.919 1.00 49.37 O +ATOM 1659 OE2 GLU A 225 36.842 25.199 63.285 1.00 46.89 O +ATOM 1660 N ASP A 226 33.600 22.380 61.418 1.00 30.48 N +ATOM 1661 CA ASP A 226 33.019 21.290 60.651 1.00 28.59 C +ATOM 1662 C ASP A 226 31.594 21.013 61.090 1.00 27.55 C +ATOM 1663 O ASP A 226 30.814 20.431 60.341 1.00 26.90 O +ATOM 1664 CB ASP A 226 33.837 20.012 60.819 1.00 27.46 C +ATOM 1665 CG ASP A 226 35.259 20.175 60.355 1.00 29.29 C +ATOM 1666 OD1 ASP A 226 35.484 20.992 59.431 1.00 33.27 O +ATOM 1667 OD2 ASP A 226 36.149 19.482 60.894 1.00 26.89 O +ATOM 1668 N LEU A 227 31.260 21.451 62.301 1.00 26.95 N +ATOM 1669 CA LEU A 227 29.941 21.213 62.888 1.00 25.55 C +ATOM 1670 C LEU A 227 28.897 22.318 62.761 1.00 24.79 C +ATOM 1671 O LEU A 227 27.705 22.033 62.713 1.00 25.55 O +ATOM 1672 CB LEU A 227 30.111 20.860 64.373 1.00 24.60 C +ATOM 1673 CG LEU A 227 30.508 19.435 64.795 1.00 25.02 C +ATOM 1674 CD1 LEU A 227 31.388 18.770 63.767 1.00 22.80 C +ATOM 1675 CD2 LEU A 227 31.224 19.509 66.133 1.00 25.24 C +ATOM 1676 N THR A 228 29.334 23.571 62.708 1.00 25.33 N +ATOM 1677 CA THR A 228 28.405 24.699 62.631 1.00 26.26 C +ATOM 1678 C THR A 228 27.376 24.663 61.496 1.00 25.76 C +ATOM 1679 O THR A 228 26.234 25.099 61.683 1.00 27.50 O +ATOM 1680 CB THR A 228 29.172 26.033 62.583 1.00 27.39 C +ATOM 1681 OG1 THR A 228 30.023 26.063 61.432 1.00 29.26 O +ATOM 1682 CG2 THR A 228 30.029 26.186 63.838 1.00 27.87 C +ATOM 1683 N GLY A 229 27.762 24.143 60.332 1.00 23.67 N +ATOM 1684 CA GLY A 229 26.829 24.065 59.218 1.00 20.40 C +ATOM 1685 C GLY A 229 25.595 23.251 59.573 1.00 19.34 C +ATOM 1686 O GLY A 229 24.463 23.688 59.356 1.00 18.85 O +ATOM 1687 N MET A 230 25.812 22.059 60.120 1.00 19.43 N +ATOM 1688 CA MET A 230 24.717 21.176 60.517 1.00 20.56 C +ATOM 1689 C MET A 230 23.919 21.779 61.690 1.00 20.54 C +ATOM 1690 O MET A 230 22.688 21.683 61.736 1.00 19.43 O +ATOM 1691 CB MET A 230 25.279 19.802 60.898 1.00 21.95 C +ATOM 1692 CG MET A 230 24.234 18.778 61.285 1.00 22.84 C +ATOM 1693 SD MET A 230 23.037 18.482 59.979 1.00 25.30 S +ATOM 1694 CE MET A 230 23.893 17.232 59.046 1.00 23.83 C +ATOM 1695 N ALA A 231 24.622 22.409 62.628 1.00 19.80 N +ATOM 1696 CA ALA A 231 23.976 23.043 63.774 1.00 19.79 C +ATOM 1697 C ALA A 231 22.955 24.077 63.285 1.00 20.62 C +ATOM 1698 O ALA A 231 21.874 24.224 63.863 1.00 20.55 O +ATOM 1699 CB ALA A 231 25.024 23.716 64.657 1.00 18.85 C +ATOM 1700 N ILE A 232 23.308 24.790 62.218 1.00 21.65 N +ATOM 1701 CA ILE A 232 22.429 25.804 61.622 1.00 22.41 C +ATOM 1702 C ILE A 232 21.302 25.157 60.798 1.00 22.34 C +ATOM 1703 O ILE A 232 20.125 25.508 60.938 1.00 22.23 O +ATOM 1704 CB ILE A 232 23.233 26.760 60.690 1.00 22.14 C +ATOM 1705 CG1 ILE A 232 24.255 27.553 61.510 1.00 21.71 C +ATOM 1706 CG2 ILE A 232 22.293 27.711 59.970 1.00 20.73 C +ATOM 1707 CD1 ILE A 232 25.247 28.342 60.672 1.00 21.14 C +ATOM 1708 N PHE A 233 21.669 24.206 59.942 1.00 21.98 N +ATOM 1709 CA PHE A 233 20.696 23.536 59.094 1.00 20.26 C +ATOM 1710 C PHE A 233 19.520 22.942 59.863 1.00 20.62 C +ATOM 1711 O PHE A 233 18.363 23.154 59.495 1.00 21.09 O +ATOM 1712 CB PHE A 233 21.366 22.430 58.284 1.00 19.22 C +ATOM 1713 CG PHE A 233 20.426 21.720 57.347 1.00 19.57 C +ATOM 1714 CD1 PHE A 233 19.952 22.355 56.203 1.00 20.24 C +ATOM 1715 CD2 PHE A 233 19.993 20.430 57.622 1.00 19.07 C +ATOM 1716 CE1 PHE A 233 19.057 21.715 55.347 1.00 20.20 C +ATOM 1717 CE2 PHE A 233 19.097 19.779 56.773 1.00 20.60 C +ATOM 1718 CZ PHE A 233 18.628 20.424 55.632 1.00 20.62 C +ATOM 1719 N LEU A 234 19.813 22.191 60.921 1.00 19.98 N +ATOM 1720 CA LEU A 234 18.761 21.559 61.715 1.00 20.60 C +ATOM 1721 C LEU A 234 17.793 22.544 62.361 1.00 21.64 C +ATOM 1722 O LEU A 234 16.700 22.160 62.771 1.00 21.11 O +ATOM 1723 CB LEU A 234 19.375 20.668 62.798 1.00 18.60 C +ATOM 1724 CG LEU A 234 19.938 19.333 62.308 1.00 17.74 C +ATOM 1725 CD1 LEU A 234 20.567 18.564 63.458 1.00 15.97 C +ATOM 1726 CD2 LEU A 234 18.812 18.524 61.682 1.00 17.93 C +ATOM 1727 N ALA A 235 18.192 23.812 62.439 1.00 22.87 N +ATOM 1728 CA ALA A 235 17.355 24.841 63.045 1.00 25.13 C +ATOM 1729 C ALA A 235 16.507 25.610 62.037 1.00 26.81 C +ATOM 1730 O ALA A 235 15.700 26.459 62.423 1.00 28.97 O +ATOM 1731 CB ALA A 235 18.229 25.820 63.833 1.00 24.33 C +ATOM 1732 N THR A 236 16.679 25.320 60.752 1.00 26.60 N +ATOM 1733 CA THR A 236 15.925 26.025 59.716 1.00 26.35 C +ATOM 1734 C THR A 236 14.688 25.260 59.259 1.00 25.67 C +ATOM 1735 O THR A 236 14.532 24.071 59.542 1.00 26.18 O +ATOM 1736 CB THR A 236 16.804 26.292 58.486 1.00 26.23 C +ATOM 1737 OG1 THR A 236 17.209 25.042 57.917 1.00 25.70 O +ATOM 1738 CG2 THR A 236 18.039 27.087 58.877 1.00 24.61 C +ATOM 1739 N PRO A 237 13.778 25.941 58.551 1.00 24.86 N +ATOM 1740 CA PRO A 237 12.575 25.249 58.086 1.00 24.52 C +ATOM 1741 C PRO A 237 12.850 24.220 56.990 1.00 25.24 C +ATOM 1742 O PRO A 237 11.963 23.448 56.627 1.00 25.86 O +ATOM 1743 CB PRO A 237 11.670 26.392 57.627 1.00 22.45 C +ATOM 1744 CG PRO A 237 12.629 27.458 57.243 1.00 23.42 C +ATOM 1745 CD PRO A 237 13.675 27.391 58.319 1.00 24.22 C +ATOM 1746 N GLU A 238 14.072 24.200 56.463 1.00 25.76 N +ATOM 1747 CA GLU A 238 14.415 23.223 55.440 1.00 26.78 C +ATOM 1748 C GLU A 238 14.594 21.862 56.098 1.00 27.45 C +ATOM 1749 O GLU A 238 14.824 20.858 55.417 1.00 28.63 O +ATOM 1750 CB GLU A 238 15.705 23.607 54.707 1.00 28.34 C +ATOM 1751 CG GLU A 238 15.549 24.748 53.720 1.00 29.47 C +ATOM 1752 CD GLU A 238 16.743 24.880 52.781 1.00 31.84 C +ATOM 1753 OE1 GLU A 238 17.884 25.016 53.266 1.00 32.42 O +ATOM 1754 OE2 GLU A 238 16.541 24.850 51.549 1.00 33.50 O +ATOM 1755 N ALA A 239 14.476 21.836 57.425 1.00 26.09 N +ATOM 1756 CA ALA A 239 14.619 20.605 58.196 1.00 24.01 C +ATOM 1757 C ALA A 239 13.340 20.241 58.953 1.00 24.62 C +ATOM 1758 O ALA A 239 13.337 19.321 59.780 1.00 25.04 O +ATOM 1759 CB ALA A 239 15.778 20.741 59.175 1.00 23.04 C +ATOM 1760 N ASP A 240 12.251 20.949 58.668 1.00 22.92 N +ATOM 1761 CA ASP A 240 10.983 20.679 59.340 1.00 21.54 C +ATOM 1762 C ASP A 240 10.523 19.235 59.247 1.00 21.09 C +ATOM 1763 O ASP A 240 9.713 18.798 60.058 1.00 21.96 O +ATOM 1764 CB ASP A 240 9.864 21.549 58.776 1.00 21.66 C +ATOM 1765 CG ASP A 240 9.937 22.983 59.245 1.00 22.84 C +ATOM 1766 OD1 ASP A 240 10.857 23.337 60.015 1.00 23.30 O +ATOM 1767 OD2 ASP A 240 9.054 23.762 58.833 1.00 25.36 O +ATOM 1768 N TYR A 241 11.009 18.494 58.260 1.00 19.28 N +ATOM 1769 CA TYR A 241 10.574 17.113 58.113 1.00 18.03 C +ATOM 1770 C TYR A 241 11.587 16.132 58.710 1.00 18.36 C +ATOM 1771 O TYR A 241 11.430 14.915 58.583 1.00 18.99 O +ATOM 1772 CB TYR A 241 10.320 16.795 56.629 1.00 16.72 C +ATOM 1773 CG TYR A 241 9.357 15.646 56.381 1.00 14.84 C +ATOM 1774 CD1 TYR A 241 8.013 15.730 56.776 1.00 15.54 C +ATOM 1775 CD2 TYR A 241 9.787 14.472 55.761 1.00 12.80 C +ATOM 1776 CE1 TYR A 241 7.128 14.668 56.561 1.00 14.31 C +ATOM 1777 CE2 TYR A 241 8.912 13.410 55.539 1.00 12.47 C +ATOM 1778 CZ TYR A 241 7.590 13.514 55.941 1.00 14.81 C +ATOM 1779 OH TYR A 241 6.733 12.456 55.731 1.00 17.97 O +ATOM 1780 N ILE A 242 12.624 16.659 59.360 1.00 18.06 N +ATOM 1781 CA ILE A 242 13.632 15.802 59.990 1.00 18.59 C +ATOM 1782 C ILE A 242 13.275 15.639 61.479 1.00 20.10 C +ATOM 1783 O ILE A 242 13.363 16.584 62.262 1.00 18.52 O +ATOM 1784 CB ILE A 242 15.044 16.401 59.828 1.00 16.72 C +ATOM 1785 CG1 ILE A 242 15.407 16.442 58.333 1.00 16.44 C +ATOM 1786 CG2 ILE A 242 16.056 15.562 60.591 1.00 15.55 C +ATOM 1787 CD1 ILE A 242 16.715 17.134 58.009 1.00 13.53 C +ATOM 1788 N VAL A 243 12.864 14.430 61.854 1.00 20.04 N +ATOM 1789 CA VAL A 243 12.441 14.145 63.225 1.00 18.99 C +ATOM 1790 C VAL A 243 13.112 12.946 63.895 1.00 18.34 C +ATOM 1791 O VAL A 243 13.210 11.873 63.303 1.00 18.35 O +ATOM 1792 CB VAL A 243 10.923 13.896 63.262 1.00 18.93 C +ATOM 1793 CG1 VAL A 243 10.460 13.640 64.685 1.00 18.33 C +ATOM 1794 CG2 VAL A 243 10.198 15.083 62.658 1.00 17.52 C +ATOM 1795 N ALA A 244 13.554 13.145 65.138 1.00 17.17 N +ATOM 1796 CA ALA A 244 14.180 12.100 65.952 1.00 16.24 C +ATOM 1797 C ALA A 244 15.363 11.404 65.300 1.00 15.92 C +ATOM 1798 O ALA A 244 15.486 10.185 65.372 1.00 18.93 O +ATOM 1799 CB ALA A 244 13.128 11.057 66.361 1.00 12.40 C +ATOM 1800 N GLN A 245 16.247 12.179 64.689 1.00 15.76 N +ATOM 1801 CA GLN A 245 17.418 11.619 64.031 1.00 14.89 C +ATOM 1802 C GLN A 245 18.677 12.078 64.733 1.00 14.04 C +ATOM 1803 O GLN A 245 18.679 13.107 65.421 1.00 13.19 O +ATOM 1804 CB GLN A 245 17.496 12.098 62.566 1.00 16.43 C +ATOM 1805 CG GLN A 245 16.248 11.831 61.733 1.00 14.23 C +ATOM 1806 CD GLN A 245 15.967 10.355 61.600 1.00 13.84 C +ATOM 1807 OE1 GLN A 245 16.882 9.559 61.366 1.00 15.40 O +ATOM 1808 NE2 GLN A 245 14.700 9.975 61.740 1.00 12.98 N +ATOM 1809 N THR A 246 19.746 11.311 64.532 1.00 13.90 N +ATOM 1810 CA THR A 246 21.073 11.618 65.060 1.00 13.69 C +ATOM 1811 C THR A 246 21.963 11.546 63.810 1.00 14.66 C +ATOM 1812 O THR A 246 22.130 10.479 63.219 1.00 15.17 O +ATOM 1813 CB THR A 246 21.543 10.573 66.112 1.00 13.15 C +ATOM 1814 OG1 THR A 246 20.665 10.607 67.247 1.00 14.80 O +ATOM 1815 CG2 THR A 246 22.958 10.882 66.581 1.00 10.43 C +ATOM 1816 N TYR A 247 22.493 12.695 63.398 1.00 14.72 N +ATOM 1817 CA TYR A 247 23.338 12.801 62.209 1.00 13.19 C +ATOM 1818 C TYR A 247 24.814 12.835 62.562 1.00 14.07 C +ATOM 1819 O TYR A 247 25.249 13.694 63.324 1.00 15.30 O +ATOM 1820 CB TYR A 247 22.986 14.074 61.436 1.00 10.03 C +ATOM 1821 CG TYR A 247 21.655 14.036 60.698 1.00 10.79 C +ATOM 1822 CD1 TYR A 247 21.058 15.210 60.240 1.00 10.59 C +ATOM 1823 CD2 TYR A 247 21.023 12.831 60.410 1.00 9.17 C +ATOM 1824 CE1 TYR A 247 19.871 15.181 59.514 1.00 11.19 C +ATOM 1825 CE2 TYR A 247 19.840 12.796 59.681 1.00 9.39 C +ATOM 1826 CZ TYR A 247 19.274 13.973 59.238 1.00 10.28 C +ATOM 1827 OH TYR A 247 18.108 13.938 58.506 1.00 16.71 O +ATOM 1828 N ASN A 248 25.582 11.910 61.998 1.00 13.65 N +ATOM 1829 CA ASN A 248 27.012 11.844 62.258 1.00 16.85 C +ATOM 1830 C ASN A 248 27.802 12.808 61.380 1.00 18.74 C +ATOM 1831 O ASN A 248 27.707 12.752 60.148 1.00 22.45 O +ATOM 1832 CB ASN A 248 27.529 10.424 62.015 1.00 17.50 C +ATOM 1833 CG ASN A 248 27.012 9.429 63.034 1.00 19.69 C +ATOM 1834 OD1 ASN A 248 26.091 9.720 63.800 1.00 18.80 O +ATOM 1835 ND2 ASN A 248 27.602 8.238 63.042 1.00 21.89 N +ATOM 1836 N VAL A 249 28.572 13.690 62.014 1.00 18.57 N +ATOM 1837 CA VAL A 249 29.420 14.646 61.301 1.00 18.70 C +ATOM 1838 C VAL A 249 30.800 14.378 61.884 1.00 20.64 C +ATOM 1839 O VAL A 249 31.308 15.149 62.698 1.00 22.16 O +ATOM 1840 CB VAL A 249 28.997 16.110 61.576 1.00 18.65 C +ATOM 1841 CG1 VAL A 249 29.853 17.072 60.737 1.00 18.55 C +ATOM 1842 CG2 VAL A 249 27.526 16.300 61.236 1.00 15.89 C +ATOM 1843 N ASP A 250 31.399 13.275 61.440 1.00 21.03 N +ATOM 1844 CA ASP A 250 32.677 12.801 61.955 1.00 21.01 C +ATOM 1845 C ASP A 250 33.738 12.428 60.914 1.00 21.15 C +ATOM 1846 O ASP A 250 34.615 11.612 61.204 1.00 20.51 O +ATOM 1847 CB ASP A 250 32.391 11.562 62.789 1.00 23.83 C +ATOM 1848 CG ASP A 250 31.742 10.454 61.955 1.00 27.33 C +ATOM 1849 OD1 ASP A 250 31.203 9.479 62.526 1.00 28.60 O +ATOM 1850 OD2 ASP A 250 31.777 10.562 60.708 1.00 28.72 O +ATOM 1851 N GLY A 251 33.659 12.986 59.709 1.00 20.11 N +ATOM 1852 CA GLY A 251 34.647 12.657 58.691 1.00 17.10 C +ATOM 1853 C GLY A 251 34.732 11.174 58.349 1.00 18.53 C +ATOM 1854 O GLY A 251 35.765 10.691 57.867 1.00 17.43 O +ATOM 1855 N GLY A 252 33.653 10.441 58.610 1.00 18.10 N +ATOM 1856 CA GLY A 252 33.631 9.026 58.300 1.00 19.73 C +ATOM 1857 C GLY A 252 33.998 8.089 59.440 1.00 23.83 C +ATOM 1858 O GLY A 252 34.022 6.867 59.248 1.00 22.71 O +ATOM 1859 N ASN A 253 34.276 8.640 60.623 1.00 25.53 N +ATOM 1860 CA ASN A 253 34.653 7.820 61.778 1.00 25.63 C +ATOM 1861 C ASN A 253 33.661 6.701 62.091 1.00 24.79 C +ATOM 1862 O ASN A 253 34.053 5.594 62.456 1.00 25.09 O +ATOM 1863 CB ASN A 253 34.850 8.707 63.001 1.00 27.95 C +ATOM 1864 CG ASN A 253 36.241 8.580 63.574 1.00 32.16 C +ATOM 1865 OD1 ASN A 253 37.211 8.425 62.829 1.00 33.89 O +ATOM 1866 ND2 ASN A 253 36.355 8.652 64.898 1.00 33.82 N +ATOM 1867 N TRP A 254 32.375 6.989 61.957 1.00 23.58 N +ATOM 1868 CA TRP A 254 31.353 5.983 62.190 1.00 23.49 C +ATOM 1869 C TRP A 254 30.267 6.167 61.134 1.00 24.70 C +ATOM 1870 O TRP A 254 29.931 7.291 60.768 1.00 25.29 O +ATOM 1871 CB TRP A 254 30.769 6.117 63.600 1.00 23.33 C +ATOM 1872 CG TRP A 254 29.962 4.923 63.981 1.00 18.89 C +ATOM 1873 CD1 TRP A 254 28.604 4.811 63.964 1.00 19.59 C +ATOM 1874 CD2 TRP A 254 30.468 3.639 64.353 1.00 18.21 C +ATOM 1875 NE1 TRP A 254 28.229 3.532 64.301 1.00 18.41 N +ATOM 1876 CE2 TRP A 254 29.355 2.791 64.544 1.00 19.37 C +ATOM 1877 CE3 TRP A 254 31.756 3.121 64.540 1.00 17.89 C +ATOM 1878 CZ2 TRP A 254 29.489 1.449 64.921 1.00 19.13 C +ATOM 1879 CZ3 TRP A 254 31.890 1.790 64.912 1.00 19.67 C +ATOM 1880 CH2 TRP A 254 30.762 0.967 65.097 1.00 20.58 C +ATOM 1881 N MET A 255 29.709 5.069 60.642 1.00 26.34 N +ATOM 1882 CA MET A 255 28.701 5.164 59.592 1.00 27.93 C +ATOM 1883 C MET A 255 27.302 4.748 60.005 1.00 27.64 C +ATOM 1884 O MET A 255 27.057 3.586 60.326 1.00 29.54 O +ATOM 1885 CB MET A 255 29.146 4.331 58.399 1.00 28.54 C +ATOM 1886 CG MET A 255 30.558 4.642 57.948 1.00 30.99 C +ATOM 1887 SD MET A 255 31.116 3.394 56.790 1.00 34.74 S +ATOM 1888 CE MET A 255 31.526 2.062 57.912 1.00 35.45 C +ATOM 1889 N SER A 256 26.376 5.699 59.965 1.00 26.90 N +ATOM 1890 CA SER A 256 24.998 5.430 60.347 1.00 28.27 C +ATOM 1891 C SER A 256 24.040 5.839 59.231 1.00 28.44 C +ATOM 1892 O SER A 256 24.543 6.294 58.186 1.00 28.92 O +ATOM 1893 CB SER A 256 24.664 6.188 61.642 1.00 28.64 C +ATOM 1894 OG SER A 256 25.569 5.836 62.681 1.00 28.28 O +ATOM 1895 OXT SER A 256 22.811 5.701 59.408 1.00 27.92 O +TER 1896 SER A 256 +ATOM 1897 N MET B 1 22.333 -31.975 81.215 1.00 44.89 N +ATOM 1898 CA MET B 1 23.104 -30.998 82.028 1.00 43.40 C +ATOM 1899 C MET B 1 24.121 -30.191 81.211 1.00 40.48 C +ATOM 1900 O MET B 1 25.266 -30.614 81.040 1.00 38.97 O +ATOM 1901 CB MET B 1 23.828 -31.727 83.164 1.00 48.82 C +ATOM 1902 CG MET B 1 23.086 -31.723 84.500 1.00 55.57 C +ATOM 1903 SD MET B 1 21.607 -32.746 84.539 1.00 63.93 S +ATOM 1904 CE MET B 1 21.996 -33.836 85.950 1.00 64.69 C +ATOM 1905 N ARG B 2 23.696 -29.028 80.719 1.00 36.83 N +ATOM 1906 CA ARG B 2 24.559 -28.139 79.937 1.00 34.96 C +ATOM 1907 C ARG B 2 25.364 -27.172 80.811 1.00 35.14 C +ATOM 1908 O ARG B 2 26.395 -26.645 80.380 1.00 32.28 O +ATOM 1909 CB ARG B 2 23.718 -27.336 78.940 1.00 33.73 C +ATOM 1910 CG ARG B 2 23.238 -28.146 77.746 1.00 32.92 C +ATOM 1911 CD ARG B 2 22.324 -27.336 76.844 1.00 31.91 C +ATOM 1912 NE ARG B 2 20.948 -27.300 77.331 1.00 29.39 N +ATOM 1913 CZ ARG B 2 19.974 -26.610 76.748 1.00 28.52 C +ATOM 1914 NH1 ARG B 2 20.230 -25.900 75.658 1.00 29.53 N +ATOM 1915 NH2 ARG B 2 18.748 -26.629 77.251 1.00 24.50 N +ATOM 1916 N LEU B 3 24.879 -26.948 82.035 1.00 35.35 N +ATOM 1917 CA LEU B 3 25.517 -26.051 83.001 1.00 35.96 C +ATOM 1918 C LEU B 3 25.918 -26.814 84.257 1.00 36.30 C +ATOM 1919 O LEU B 3 25.896 -26.269 85.363 1.00 36.22 O +ATOM 1920 CB LEU B 3 24.552 -24.934 83.398 1.00 35.42 C +ATOM 1921 CG LEU B 3 24.114 -23.986 82.292 1.00 35.29 C +ATOM 1922 CD1 LEU B 3 23.053 -23.030 82.818 1.00 34.67 C +ATOM 1923 CD2 LEU B 3 25.326 -23.232 81.782 1.00 36.28 C +ATOM 1924 N ASP B 4 26.293 -28.071 84.073 1.00 36.90 N +ATOM 1925 CA ASP B 4 26.676 -28.939 85.174 1.00 36.98 C +ATOM 1926 C ASP B 4 27.895 -28.464 85.964 1.00 35.91 C +ATOM 1927 O ASP B 4 28.965 -28.220 85.397 1.00 35.18 O +ATOM 1928 CB ASP B 4 26.921 -30.348 84.631 1.00 40.30 C +ATOM 1929 CG ASP B 4 26.710 -31.417 85.672 1.00 42.40 C +ATOM 1930 OD1 ASP B 4 27.611 -31.630 86.508 1.00 43.22 O +ATOM 1931 OD2 ASP B 4 25.630 -32.042 85.657 1.00 45.90 O +ATOM 1932 N GLY B 5 27.712 -28.331 87.278 1.00 33.88 N +ATOM 1933 CA GLY B 5 28.795 -27.922 88.158 1.00 32.44 C +ATOM 1934 C GLY B 5 29.114 -26.440 88.192 1.00 31.59 C +ATOM 1935 O GLY B 5 30.175 -26.035 88.671 1.00 30.27 O +ATOM 1936 N LYS B 6 28.194 -25.621 87.701 1.00 29.73 N +ATOM 1937 CA LYS B 6 28.425 -24.190 87.678 1.00 26.65 C +ATOM 1938 C LYS B 6 27.518 -23.429 88.609 1.00 24.24 C +ATOM 1939 O LYS B 6 26.453 -23.911 88.999 1.00 21.80 O +ATOM 1940 CB LYS B 6 28.272 -23.674 86.250 1.00 28.36 C +ATOM 1941 CG LYS B 6 29.349 -24.236 85.362 1.00 30.63 C +ATOM 1942 CD LYS B 6 29.236 -23.799 83.936 1.00 30.62 C +ATOM 1943 CE LYS B 6 30.451 -24.305 83.190 1.00 31.26 C +ATOM 1944 NZ LYS B 6 31.699 -23.829 83.847 1.00 30.39 N +ATOM 1945 N THR B 7 27.956 -22.227 88.962 1.00 22.81 N +ATOM 1946 CA THR B 7 27.197 -21.370 89.858 1.00 22.54 C +ATOM 1947 C THR B 7 26.767 -20.100 89.133 1.00 22.22 C +ATOM 1948 O THR B 7 27.528 -19.531 88.344 1.00 21.28 O +ATOM 1949 CB THR B 7 28.037 -20.980 91.090 1.00 22.52 C +ATOM 1950 OG1 THR B 7 29.159 -20.196 90.672 1.00 22.87 O +ATOM 1951 CG2 THR B 7 28.545 -22.224 91.804 1.00 18.96 C +ATOM 1952 N ALA B 8 25.546 -19.658 89.406 1.00 20.36 N +ATOM 1953 CA ALA B 8 25.024 -18.457 88.775 1.00 19.59 C +ATOM 1954 C ALA B 8 24.261 -17.582 89.756 1.00 20.06 C +ATOM 1955 O ALA B 8 23.399 -18.063 90.499 1.00 20.55 O +ATOM 1956 CB ALA B 8 24.111 -18.833 87.608 1.00 15.64 C +ATOM 1957 N LEU B 9 24.588 -16.295 89.747 1.00 19.16 N +ATOM 1958 CA LEU B 9 23.926 -15.312 90.590 1.00 18.15 C +ATOM 1959 C LEU B 9 22.953 -14.591 89.658 1.00 18.73 C +ATOM 1960 O LEU B 9 23.372 -13.997 88.663 1.00 18.64 O +ATOM 1961 CB LEU B 9 24.947 -14.304 91.132 1.00 17.78 C +ATOM 1962 CG LEU B 9 24.555 -13.263 92.196 1.00 19.20 C +ATOM 1963 CD1 LEU B 9 25.601 -12.159 92.229 1.00 15.11 C +ATOM 1964 CD2 LEU B 9 23.215 -12.653 91.904 1.00 20.63 C +ATOM 1965 N ILE B 10 21.665 -14.640 89.980 1.00 17.93 N +ATOM 1966 CA ILE B 10 20.636 -13.984 89.176 1.00 17.19 C +ATOM 1967 C ILE B 10 19.904 -12.944 90.025 1.00 18.44 C +ATOM 1968 O ILE B 10 19.183 -13.293 90.962 1.00 19.83 O +ATOM 1969 CB ILE B 10 19.604 -15.017 88.654 1.00 16.99 C +ATOM 1970 CG1 ILE B 10 20.332 -16.144 87.923 1.00 15.93 C +ATOM 1971 CG2 ILE B 10 18.590 -14.336 87.746 1.00 14.63 C +ATOM 1972 CD1 ILE B 10 19.466 -17.338 87.639 1.00 17.02 C +ATOM 1973 N THR B 11 20.077 -11.669 89.685 1.00 19.15 N +ATOM 1974 CA THR B 11 19.445 -10.585 90.428 1.00 19.20 C +ATOM 1975 C THR B 11 17.965 -10.413 90.106 1.00 21.01 C +ATOM 1976 O THR B 11 17.540 -10.555 88.961 1.00 22.16 O +ATOM 1977 CB THR B 11 20.174 -9.255 90.177 1.00 19.26 C +ATOM 1978 OG1 THR B 11 19.923 -8.804 88.842 1.00 20.14 O +ATOM 1979 CG2 THR B 11 21.675 -9.442 90.360 1.00 18.23 C +ATOM 1980 N GLY B 12 17.179 -10.103 91.131 1.00 21.33 N +ATOM 1981 CA GLY B 12 15.751 -9.927 90.946 1.00 19.80 C +ATOM 1982 C GLY B 12 15.078 -11.200 90.481 1.00 20.92 C +ATOM 1983 O GLY B 12 14.114 -11.145 89.718 1.00 22.27 O +ATOM 1984 N SER B 13 15.573 -12.346 90.946 1.00 21.37 N +ATOM 1985 CA SER B 13 15.024 -13.643 90.549 1.00 21.26 C +ATOM 1986 C SER B 13 13.969 -14.265 91.468 1.00 23.60 C +ATOM 1987 O SER B 13 13.649 -15.449 91.340 1.00 23.89 O +ATOM 1988 CB SER B 13 16.164 -14.644 90.350 1.00 20.11 C +ATOM 1989 OG SER B 13 17.050 -14.647 91.454 1.00 19.93 O +ATOM 1990 N ALA B 14 13.418 -13.488 92.390 1.00 24.69 N +ATOM 1991 CA ALA B 14 12.398 -14.040 93.274 1.00 26.06 C +ATOM 1992 C ALA B 14 11.129 -14.347 92.477 1.00 26.36 C +ATOM 1993 O ALA B 14 10.396 -15.281 92.797 1.00 25.95 O +ATOM 1994 CB ALA B 14 12.089 -13.062 94.410 1.00 26.92 C +ATOM 1995 N ARG B 15 10.875 -13.558 91.437 1.00 28.20 N +ATOM 1996 CA ARG B 15 9.692 -13.752 90.598 1.00 28.95 C +ATOM 1997 C ARG B 15 9.992 -13.451 89.131 1.00 27.90 C +ATOM 1998 O ARG B 15 11.118 -13.126 88.764 1.00 28.52 O +ATOM 1999 CB ARG B 15 8.556 -12.832 91.065 1.00 30.38 C +ATOM 2000 CG ARG B 15 8.137 -13.025 92.508 1.00 33.62 C +ATOM 2001 CD ARG B 15 7.232 -11.897 92.978 1.00 35.09 C +ATOM 2002 NE ARG B 15 7.046 -11.929 94.425 0.00 35.26 N +ATOM 2003 CZ ARG B 15 6.444 -10.972 95.124 0.00 35.58 C +ATOM 2004 NH1 ARG B 15 6.321 -11.089 96.439 0.00 35.71 N +ATOM 2005 NH2 ARG B 15 5.969 -9.897 94.510 0.00 35.71 N +ATOM 2006 N GLY B 16 8.963 -13.570 88.300 1.00 28.38 N +ATOM 2007 CA GLY B 16 9.088 -13.272 86.883 1.00 27.70 C +ATOM 2008 C GLY B 16 10.120 -14.022 86.065 1.00 26.50 C +ATOM 2009 O GLY B 16 10.411 -15.197 86.306 1.00 26.60 O +ATOM 2010 N ILE B 17 10.671 -13.317 85.083 1.00 24.92 N +ATOM 2011 CA ILE B 17 11.663 -13.871 84.171 1.00 24.22 C +ATOM 2012 C ILE B 17 12.906 -14.332 84.910 1.00 22.77 C +ATOM 2013 O ILE B 17 13.517 -15.340 84.542 1.00 20.48 O +ATOM 2014 CB ILE B 17 12.052 -12.823 83.095 1.00 25.86 C +ATOM 2015 CG1 ILE B 17 10.816 -12.466 82.262 1.00 26.75 C +ATOM 2016 CG2 ILE B 17 13.147 -13.365 82.192 1.00 26.68 C +ATOM 2017 CD1 ILE B 17 11.022 -11.286 81.334 1.00 29.46 C +ATOM 2018 N GLY B 18 13.279 -13.586 85.949 1.00 22.63 N +ATOM 2019 CA GLY B 18 14.445 -13.944 86.738 1.00 20.55 C +ATOM 2020 C GLY B 18 14.283 -15.324 87.353 1.00 20.30 C +ATOM 2021 O GLY B 18 15.242 -16.102 87.412 1.00 20.43 O +ATOM 2022 N ARG B 19 13.072 -15.638 87.807 1.00 19.66 N +ATOM 2023 CA ARG B 19 12.815 -16.941 88.403 1.00 21.57 C +ATOM 2024 C ARG B 19 12.823 -18.055 87.357 1.00 22.14 C +ATOM 2025 O ARG B 19 13.253 -19.174 87.642 1.00 21.61 O +ATOM 2026 CB ARG B 19 11.479 -16.950 89.148 1.00 21.15 C +ATOM 2027 CG ARG B 19 11.103 -18.342 89.628 1.00 22.88 C +ATOM 2028 CD ARG B 19 9.922 -18.353 90.575 1.00 23.47 C +ATOM 2029 NE ARG B 19 9.606 -19.731 90.946 1.00 27.34 N +ATOM 2030 CZ ARG B 19 8.836 -20.083 91.971 1.00 25.27 C +ATOM 2031 NH1 ARG B 19 8.289 -19.157 92.749 1.00 24.67 N +ATOM 2032 NH2 ARG B 19 8.616 -21.368 92.213 1.00 22.11 N +ATOM 2033 N ALA B 20 12.345 -17.752 86.152 1.00 23.22 N +ATOM 2034 CA ALA B 20 12.327 -18.748 85.077 1.00 24.03 C +ATOM 2035 C ALA B 20 13.762 -19.138 84.706 1.00 23.64 C +ATOM 2036 O ALA B 20 14.050 -20.308 84.439 1.00 23.70 O +ATOM 2037 CB ALA B 20 11.597 -18.201 83.860 1.00 24.34 C +ATOM 2038 N PHE B 21 14.661 -18.158 84.688 1.00 22.59 N +ATOM 2039 CA PHE B 21 16.061 -18.434 84.375 1.00 23.39 C +ATOM 2040 C PHE B 21 16.659 -19.340 85.457 1.00 22.18 C +ATOM 2041 O PHE B 21 17.356 -20.308 85.151 1.00 20.85 O +ATOM 2042 CB PHE B 21 16.876 -17.133 84.302 1.00 25.80 C +ATOM 2043 CG PHE B 21 16.602 -16.291 83.082 1.00 28.44 C +ATOM 2044 CD1 PHE B 21 17.211 -15.051 82.938 1.00 27.80 C +ATOM 2045 CD2 PHE B 21 15.734 -16.729 82.081 1.00 30.26 C +ATOM 2046 CE1 PHE B 21 16.963 -14.257 81.823 1.00 28.47 C +ATOM 2047 CE2 PHE B 21 15.482 -15.940 80.960 1.00 28.96 C +ATOM 2048 CZ PHE B 21 16.096 -14.701 80.833 1.00 29.04 C +ATOM 2049 N ALA B 22 16.388 -19.018 86.722 1.00 21.58 N +ATOM 2050 CA ALA B 22 16.908 -19.807 87.842 1.00 19.55 C +ATOM 2051 C ALA B 22 16.420 -21.251 87.776 1.00 18.43 C +ATOM 2052 O ALA B 22 17.212 -22.182 87.902 1.00 16.52 O +ATOM 2053 CB ALA B 22 16.502 -19.176 89.159 1.00 19.16 C +ATOM 2054 N GLU B 23 15.122 -21.446 87.571 1.00 19.05 N +ATOM 2055 CA GLU B 23 14.595 -22.806 87.481 1.00 21.77 C +ATOM 2056 C GLU B 23 15.245 -23.546 86.305 1.00 22.05 C +ATOM 2057 O GLU B 23 15.593 -24.727 86.417 1.00 22.62 O +ATOM 2058 CB GLU B 23 13.070 -22.792 87.308 1.00 22.91 C +ATOM 2059 CG GLU B 23 12.316 -22.076 88.418 1.00 28.47 C +ATOM 2060 CD GLU B 23 10.799 -22.126 88.240 1.00 33.10 C +ATOM 2061 OE1 GLU B 23 10.323 -21.939 87.096 1.00 36.89 O +ATOM 2062 OE2 GLU B 23 10.080 -22.334 89.242 1.00 33.36 O +ATOM 2063 N ALA B 24 15.428 -22.848 85.185 1.00 21.40 N +ATOM 2064 CA ALA B 24 16.036 -23.464 84.003 1.00 22.63 C +ATOM 2065 C ALA B 24 17.500 -23.829 84.234 1.00 21.75 C +ATOM 2066 O ALA B 24 17.942 -24.915 83.852 1.00 23.64 O +ATOM 2067 CB ALA B 24 15.907 -22.535 82.793 1.00 21.76 C +ATOM 2068 N TYR B 25 18.253 -22.931 84.859 1.00 20.93 N +ATOM 2069 CA TYR B 25 19.666 -23.189 85.135 1.00 22.36 C +ATOM 2070 C TYR B 25 19.819 -24.361 86.096 1.00 23.70 C +ATOM 2071 O TYR B 25 20.755 -25.150 85.984 1.00 24.29 O +ATOM 2072 CB TYR B 25 20.337 -21.951 85.741 1.00 21.31 C +ATOM 2073 CG TYR B 25 20.839 -20.912 84.747 1.00 22.24 C +ATOM 2074 CD1 TYR B 25 20.276 -20.784 83.467 1.00 20.54 C +ATOM 2075 CD2 TYR B 25 21.850 -20.022 85.111 1.00 20.72 C +ATOM 2076 CE1 TYR B 25 20.713 -19.795 82.584 1.00 18.84 C +ATOM 2077 CE2 TYR B 25 22.291 -19.033 84.242 1.00 21.60 C +ATOM 2078 CZ TYR B 25 21.722 -18.921 82.980 1.00 21.84 C +ATOM 2079 OH TYR B 25 22.174 -17.932 82.131 1.00 18.02 O +ATOM 2080 N VAL B 26 18.900 -24.470 87.050 1.00 25.10 N +ATOM 2081 CA VAL B 26 18.959 -25.558 88.014 1.00 25.83 C +ATOM 2082 C VAL B 26 18.697 -26.875 87.294 1.00 27.16 C +ATOM 2083 O VAL B 26 19.274 -27.906 87.636 1.00 27.40 O +ATOM 2084 CB VAL B 26 17.919 -25.368 89.150 1.00 25.72 C +ATOM 2085 CG1 VAL B 26 17.880 -26.604 90.033 1.00 24.96 C +ATOM 2086 CG2 VAL B 26 18.286 -24.158 89.989 1.00 25.40 C +ATOM 2087 N ARG B 27 17.830 -26.833 86.287 1.00 28.53 N +ATOM 2088 CA ARG B 27 17.506 -28.026 85.516 1.00 27.91 C +ATOM 2089 C ARG B 27 18.738 -28.486 84.723 1.00 26.84 C +ATOM 2090 O ARG B 27 18.917 -29.676 84.471 1.00 25.84 O +ATOM 2091 CB ARG B 27 16.354 -27.720 84.563 1.00 30.90 C +ATOM 2092 CG ARG B 27 15.469 -28.901 84.212 1.00 35.78 C +ATOM 2093 CD ARG B 27 14.486 -28.524 83.097 1.00 42.80 C +ATOM 2094 NE ARG B 27 14.091 -27.111 83.132 1.00 48.12 N +ATOM 2095 CZ ARG B 27 13.013 -26.622 83.749 1.00 50.43 C +ATOM 2096 NH1 ARG B 27 12.768 -25.316 83.711 1.00 49.33 N +ATOM 2097 NH2 ARG B 27 12.173 -27.428 84.390 1.00 51.54 N +ATOM 2098 N GLU B 28 19.593 -27.544 84.335 1.00 25.59 N +ATOM 2099 CA GLU B 28 20.790 -27.892 83.575 1.00 24.76 C +ATOM 2100 C GLU B 28 21.961 -28.287 84.464 1.00 25.07 C +ATOM 2101 O GLU B 28 23.103 -28.337 84.002 1.00 25.42 O +ATOM 2102 CB GLU B 28 21.215 -26.732 82.667 1.00 25.33 C +ATOM 2103 CG GLU B 28 20.206 -26.353 81.577 1.00 24.57 C +ATOM 2104 CD GLU B 28 19.950 -27.467 80.571 1.00 24.49 C +ATOM 2105 OE1 GLU B 28 20.919 -28.130 80.129 1.00 21.01 O +ATOM 2106 OE2 GLU B 28 18.770 -27.668 80.212 1.00 25.76 O +ATOM 2107 N GLY B 29 21.677 -28.547 85.740 1.00 25.37 N +ATOM 2108 CA GLY B 29 22.711 -28.976 86.673 1.00 23.05 C +ATOM 2109 C GLY B 29 23.549 -27.899 87.333 1.00 23.39 C +ATOM 2110 O GLY B 29 24.701 -28.129 87.692 1.00 23.11 O +ATOM 2111 N ALA B 30 22.982 -26.719 87.519 1.00 23.26 N +ATOM 2112 CA ALA B 30 23.738 -25.644 88.135 1.00 23.66 C +ATOM 2113 C ALA B 30 23.230 -25.268 89.527 1.00 24.47 C +ATOM 2114 O ALA B 30 22.118 -25.636 89.928 1.00 22.22 O +ATOM 2115 CB ALA B 30 23.703 -24.421 87.229 1.00 24.61 C +ATOM 2116 N ARG B 31 24.071 -24.546 90.262 1.00 24.74 N +ATOM 2117 CA ARG B 31 23.728 -24.052 91.591 1.00 26.57 C +ATOM 2118 C ARG B 31 23.424 -22.583 91.381 1.00 25.17 C +ATOM 2119 O ARG B 31 24.200 -21.875 90.744 1.00 27.00 O +ATOM 2120 CB ARG B 31 24.903 -24.218 92.555 1.00 29.68 C +ATOM 2121 CG ARG B 31 24.972 -25.596 93.174 1.00 35.53 C +ATOM 2122 CD ARG B 31 26.380 -26.153 93.139 1.00 42.84 C +ATOM 2123 NE ARG B 31 27.300 -25.435 94.015 1.00 49.08 N +ATOM 2124 CZ ARG B 31 28.609 -25.672 94.076 1.00 52.51 C +ATOM 2125 NH1 ARG B 31 29.150 -26.607 93.306 1.00 55.10 N +ATOM 2126 NH2 ARG B 31 29.379 -24.979 94.909 1.00 53.63 N +ATOM 2127 N VAL B 32 22.293 -22.125 91.897 1.00 24.47 N +ATOM 2128 CA VAL B 32 21.908 -20.734 91.712 1.00 24.54 C +ATOM 2129 C VAL B 32 21.646 -19.967 93.006 1.00 23.18 C +ATOM 2130 O VAL B 32 21.415 -20.551 94.054 1.00 24.08 O +ATOM 2131 CB VAL B 32 20.659 -20.642 90.811 1.00 23.56 C +ATOM 2132 CG1 VAL B 32 20.919 -21.385 89.508 1.00 25.77 C +ATOM 2133 CG2 VAL B 32 19.449 -21.228 91.523 1.00 22.64 C +ATOM 2134 N ALA B 33 21.693 -18.644 92.909 1.00 23.50 N +ATOM 2135 CA ALA B 33 21.455 -17.761 94.040 1.00 22.30 C +ATOM 2136 C ALA B 33 20.263 -16.870 93.734 1.00 22.94 C +ATOM 2137 O ALA B 33 20.312 -16.051 92.814 1.00 22.76 O +ATOM 2138 CB ALA B 33 22.689 -16.899 94.304 1.00 19.92 C +ATOM 2139 N ILE B 34 19.183 -17.041 94.488 1.00 23.37 N +ATOM 2140 CA ILE B 34 18.005 -16.216 94.293 1.00 23.97 C +ATOM 2141 C ILE B 34 18.243 -14.935 95.080 1.00 25.84 C +ATOM 2142 O ILE B 34 17.995 -14.877 96.279 1.00 27.31 O +ATOM 2143 CB ILE B 34 16.732 -16.910 94.811 1.00 22.92 C +ATOM 2144 CG1 ILE B 34 16.569 -18.274 94.131 1.00 23.22 C +ATOM 2145 CG2 ILE B 34 15.517 -16.038 94.533 1.00 19.65 C +ATOM 2146 CD1 ILE B 34 16.474 -18.211 92.601 1.00 22.45 C +ATOM 2147 N ALA B 35 18.759 -13.918 94.402 1.00 27.21 N +ATOM 2148 CA ALA B 35 19.040 -12.637 95.033 1.00 28.61 C +ATOM 2149 C ALA B 35 17.872 -11.703 94.808 1.00 30.87 C +ATOM 2150 O ALA B 35 17.390 -11.565 93.685 1.00 33.64 O +ATOM 2151 CB ALA B 35 20.307 -12.032 94.447 1.00 27.10 C +ATOM 2152 N ASP B 36 17.411 -11.059 95.872 1.00 31.94 N +ATOM 2153 CA ASP B 36 16.291 -10.139 95.754 1.00 32.69 C +ATOM 2154 C ASP B 36 16.371 -9.171 96.915 1.00 32.21 C +ATOM 2155 O ASP B 36 17.035 -9.453 97.907 1.00 31.56 O +ATOM 2156 CB ASP B 36 14.972 -10.911 95.802 1.00 35.02 C +ATOM 2157 CG ASP B 36 13.849 -10.197 95.073 1.00 36.76 C +ATOM 2158 OD1 ASP B 36 13.867 -10.191 93.821 1.00 36.57 O +ATOM 2159 OD2 ASP B 36 12.954 -9.644 95.753 1.00 37.09 O +ATOM 2160 N ILE B 37 15.703 -8.032 96.793 1.00 33.01 N +ATOM 2161 CA ILE B 37 15.728 -7.051 97.865 1.00 36.39 C +ATOM 2162 C ILE B 37 14.874 -7.527 99.042 1.00 38.31 C +ATOM 2163 O ILE B 37 15.113 -7.143 100.194 1.00 38.62 O +ATOM 2164 CB ILE B 37 15.238 -5.673 97.376 1.00 36.78 C +ATOM 2165 CG1 ILE B 37 15.509 -4.624 98.455 1.00 37.34 C +ATOM 2166 CG2 ILE B 37 13.762 -5.733 97.023 1.00 35.45 C +ATOM 2167 CD1 ILE B 37 15.404 -3.193 97.957 1.00 40.15 C +ATOM 2168 N ASN B 38 13.885 -8.372 98.750 1.00 38.59 N +ATOM 2169 CA ASN B 38 13.019 -8.926 99.788 1.00 39.38 C +ATOM 2170 C ASN B 38 13.413 -10.371 100.091 1.00 37.56 C +ATOM 2171 O ASN B 38 13.061 -11.286 99.348 1.00 36.79 O +ATOM 2172 CB ASN B 38 11.553 -8.877 99.354 1.00 43.02 C +ATOM 2173 CG ASN B 38 10.641 -9.646 100.299 1.00 46.46 C +ATOM 2174 OD1 ASN B 38 10.715 -9.492 101.521 1.00 47.86 O +ATOM 2175 ND2 ASN B 38 9.774 -10.477 99.736 1.00 47.66 N +ATOM 2176 N LEU B 39 14.138 -10.566 101.190 1.00 36.36 N +ATOM 2177 CA LEU B 39 14.605 -11.890 101.591 1.00 35.56 C +ATOM 2178 C LEU B 39 13.477 -12.906 101.828 1.00 36.41 C +ATOM 2179 O LEU B 39 13.660 -14.110 101.640 1.00 35.39 O +ATOM 2180 CB LEU B 39 15.477 -11.763 102.841 1.00 33.92 C +ATOM 2181 CG LEU B 39 16.226 -13.011 103.312 1.00 34.93 C +ATOM 2182 CD1 LEU B 39 17.059 -13.592 102.181 1.00 33.38 C +ATOM 2183 CD2 LEU B 39 17.114 -12.640 104.480 1.00 34.08 C +ATOM 2184 N GLU B 40 12.310 -12.418 102.231 1.00 37.11 N +ATOM 2185 CA GLU B 40 11.162 -13.287 102.475 1.00 37.39 C +ATOM 2186 C GLU B 40 10.851 -14.045 101.181 1.00 35.36 C +ATOM 2187 O GLU B 40 10.841 -15.276 101.146 1.00 34.64 O +ATOM 2188 CB GLU B 40 9.951 -12.440 102.881 1.00 39.37 C +ATOM 2189 CG GLU B 40 9.209 -12.911 104.114 0.00 39.68 C +ATOM 2190 CD GLU B 40 8.082 -11.969 104.496 0.00 40.25 C +ATOM 2191 OE1 GLU B 40 6.918 -12.418 104.531 0.00 40.48 O +ATOM 2192 OE2 GLU B 40 8.360 -10.780 104.758 0.00 40.48 O +ATOM 2193 N ALA B 41 10.606 -13.287 100.117 1.00 33.95 N +ATOM 2194 CA ALA B 41 10.298 -13.856 98.808 1.00 31.20 C +ATOM 2195 C ALA B 41 11.466 -14.681 98.295 1.00 27.51 C +ATOM 2196 O ALA B 41 11.279 -15.765 97.748 1.00 27.50 O +ATOM 2197 CB ALA B 41 9.973 -12.741 97.819 1.00 31.33 C +ATOM 2198 N ALA B 42 12.672 -14.159 98.473 1.00 25.36 N +ATOM 2199 CA ALA B 42 13.871 -14.854 98.030 1.00 25.75 C +ATOM 2200 C ALA B 42 13.937 -16.249 98.635 1.00 25.80 C +ATOM 2201 O ALA B 42 14.137 -17.231 97.918 1.00 25.78 O +ATOM 2202 CB ALA B 42 15.115 -14.058 98.409 1.00 26.01 C +ATOM 2203 N ARG B 43 13.765 -16.338 99.951 1.00 25.39 N +ATOM 2204 CA ARG B 43 13.806 -17.630 100.630 1.00 23.77 C +ATOM 2205 C ARG B 43 12.717 -18.555 100.097 1.00 22.22 C +ATOM 2206 O ARG B 43 12.967 -19.730 99.817 1.00 19.94 O +ATOM 2207 CB ARG B 43 13.615 -17.457 102.139 1.00 25.61 C +ATOM 2208 CG ARG B 43 14.665 -16.601 102.831 1.00 27.52 C +ATOM 2209 CD ARG B 43 15.122 -17.243 104.140 1.00 31.58 C +ATOM 2210 NE ARG B 43 14.005 -17.700 104.968 1.00 32.09 N +ATOM 2211 CZ ARG B 43 13.156 -16.893 105.595 1.00 33.64 C +ATOM 2212 NH1 ARG B 43 13.291 -15.574 105.502 1.00 35.77 N +ATOM 2213 NH2 ARG B 43 12.157 -17.406 106.298 1.00 32.05 N +ATOM 2214 N ALA B 44 11.508 -18.015 99.964 1.00 20.81 N +ATOM 2215 CA ALA B 44 10.368 -18.785 99.471 1.00 22.16 C +ATOM 2216 C ALA B 44 10.644 -19.465 98.125 1.00 24.28 C +ATOM 2217 O ALA B 44 10.371 -20.658 97.949 1.00 24.24 O +ATOM 2218 CB ALA B 44 9.137 -17.879 99.358 1.00 21.07 C +ATOM 2219 N THR B 45 11.182 -18.704 97.174 1.00 24.35 N +ATOM 2220 CA THR B 45 11.480 -19.249 95.856 1.00 23.83 C +ATOM 2221 C THR B 45 12.624 -20.255 95.922 1.00 22.06 C +ATOM 2222 O THR B 45 12.583 -21.286 95.258 1.00 22.32 O +ATOM 2223 CB THR B 45 11.825 -18.115 94.860 1.00 25.00 C +ATOM 2224 OG1 THR B 45 10.646 -17.338 94.603 1.00 23.08 O +ATOM 2225 CG2 THR B 45 12.356 -18.679 93.555 1.00 23.55 C +ATOM 2226 N ALA B 46 13.640 -19.963 96.727 1.00 22.75 N +ATOM 2227 CA ALA B 46 14.784 -20.871 96.874 1.00 23.64 C +ATOM 2228 C ALA B 46 14.346 -22.223 97.441 1.00 24.53 C +ATOM 2229 O ALA B 46 14.796 -23.270 96.991 1.00 24.93 O +ATOM 2230 CB ALA B 46 15.838 -20.247 97.780 1.00 22.38 C +ATOM 2231 N ALA B 47 13.464 -22.189 98.433 1.00 26.28 N +ATOM 2232 CA ALA B 47 12.956 -23.406 99.051 1.00 27.22 C +ATOM 2233 C ALA B 47 12.123 -24.175 98.037 1.00 28.08 C +ATOM 2234 O ALA B 47 12.160 -25.405 97.986 1.00 28.55 O +ATOM 2235 CB ALA B 47 12.094 -23.051 100.256 1.00 26.43 C +ATOM 2236 N GLU B 48 11.367 -23.426 97.239 1.00 29.28 N +ATOM 2237 CA GLU B 48 10.488 -23.979 96.216 1.00 30.61 C +ATOM 2238 C GLU B 48 11.277 -24.678 95.098 1.00 29.87 C +ATOM 2239 O GLU B 48 10.871 -25.733 94.609 1.00 27.86 O +ATOM 2240 CB GLU B 48 9.625 -22.849 95.637 1.00 33.09 C +ATOM 2241 CG GLU B 48 8.197 -23.240 95.309 1.00 39.45 C +ATOM 2242 CD GLU B 48 7.268 -22.032 95.188 1.00 44.25 C +ATOM 2243 OE1 GLU B 48 7.190 -21.235 96.151 1.00 44.72 O +ATOM 2244 OE2 GLU B 48 6.607 -21.882 94.134 1.00 48.84 O +ATOM 2245 N ILE B 49 12.406 -24.090 94.709 1.00 28.63 N +ATOM 2246 CA ILE B 49 13.240 -24.651 93.652 1.00 27.66 C +ATOM 2247 C ILE B 49 14.073 -25.845 94.120 1.00 28.83 C +ATOM 2248 O ILE B 49 14.316 -26.771 93.345 1.00 30.78 O +ATOM 2249 CB ILE B 49 14.174 -23.567 93.045 1.00 26.34 C +ATOM 2250 CG1 ILE B 49 13.340 -22.553 92.256 1.00 25.39 C +ATOM 2251 CG2 ILE B 49 15.204 -24.203 92.133 1.00 23.84 C +ATOM 2252 CD1 ILE B 49 14.124 -21.353 91.775 1.00 23.60 C +ATOM 2253 N GLY B 50 14.528 -25.835 95.371 1.00 27.21 N +ATOM 2254 CA GLY B 50 15.297 -26.973 95.846 1.00 26.07 C +ATOM 2255 C GLY B 50 16.700 -26.744 96.389 1.00 25.55 C +ATOM 2256 O GLY B 50 17.215 -25.629 96.385 1.00 24.65 O +ATOM 2257 N PRO B 51 17.353 -27.819 96.856 1.00 25.51 N +ATOM 2258 CA PRO B 51 18.704 -27.824 97.428 1.00 25.54 C +ATOM 2259 C PRO B 51 19.773 -27.134 96.585 1.00 26.21 C +ATOM 2260 O PRO B 51 20.834 -26.787 97.099 1.00 27.79 O +ATOM 2261 CB PRO B 51 19.007 -29.314 97.590 1.00 24.96 C +ATOM 2262 CG PRO B 51 17.674 -29.923 97.763 1.00 26.34 C +ATOM 2263 CD PRO B 51 16.823 -29.189 96.768 1.00 23.65 C +ATOM 2264 N ALA B 52 19.516 -26.948 95.293 1.00 26.16 N +ATOM 2265 CA ALA B 52 20.514 -26.313 94.432 1.00 25.27 C +ATOM 2266 C ALA B 52 20.468 -24.791 94.504 1.00 24.44 C +ATOM 2267 O ALA B 52 21.460 -24.120 94.216 1.00 24.99 O +ATOM 2268 CB ALA B 52 20.338 -26.779 92.986 1.00 24.01 C +ATOM 2269 N ALA B 53 19.320 -24.256 94.907 1.00 22.34 N +ATOM 2270 CA ALA B 53 19.126 -22.816 95.007 1.00 22.39 C +ATOM 2271 C ALA B 53 19.167 -22.270 96.439 1.00 22.83 C +ATOM 2272 O ALA B 53 18.587 -22.856 97.349 1.00 22.96 O +ATOM 2273 CB ALA B 53 17.801 -22.451 94.362 1.00 19.59 C +ATOM 2274 N CYS B 54 19.852 -21.145 96.634 1.00 22.97 N +ATOM 2275 CA CYS B 54 19.927 -20.517 97.949 1.00 25.09 C +ATOM 2276 C CYS B 54 19.461 -19.070 97.826 1.00 25.89 C +ATOM 2277 O CYS B 54 19.558 -18.481 96.754 1.00 27.36 O +ATOM 2278 CB CYS B 54 21.352 -20.592 98.526 1.00 24.07 C +ATOM 2279 SG CYS B 54 22.669 -19.731 97.633 1.00 30.68 S +ATOM 2280 N ALA B 55 18.936 -18.507 98.911 1.00 26.00 N +ATOM 2281 CA ALA B 55 18.436 -17.133 98.894 1.00 25.48 C +ATOM 2282 C ALA B 55 19.427 -16.162 99.518 1.00 25.52 C +ATOM 2283 O ALA B 55 20.243 -16.552 100.348 1.00 27.47 O +ATOM 2284 CB ALA B 55 17.105 -17.056 99.624 1.00 23.92 C +ATOM 2285 N ILE B 56 19.358 -14.898 99.110 1.00 25.47 N +ATOM 2286 CA ILE B 56 20.250 -13.872 99.636 1.00 25.34 C +ATOM 2287 C ILE B 56 19.702 -12.488 99.328 1.00 25.82 C +ATOM 2288 O ILE B 56 19.256 -12.223 98.217 1.00 25.75 O +ATOM 2289 CB ILE B 56 21.667 -13.995 99.045 1.00 26.48 C +ATOM 2290 CG1 ILE B 56 22.590 -12.957 99.693 1.00 27.83 C +ATOM 2291 CG2 ILE B 56 21.625 -13.804 97.546 1.00 25.28 C +ATOM 2292 CD1 ILE B 56 24.067 -13.181 99.397 1.00 28.39 C +ATOM 2293 N ALA B 57 19.733 -11.606 100.323 1.00 25.62 N +ATOM 2294 CA ALA B 57 19.223 -10.257 100.151 1.00 24.70 C +ATOM 2295 C ALA B 57 20.192 -9.427 99.338 1.00 24.32 C +ATOM 2296 O ALA B 57 21.403 -9.472 99.566 1.00 24.02 O +ATOM 2297 CB ALA B 57 18.993 -9.609 101.501 1.00 24.92 C +ATOM 2298 N LEU B 58 19.650 -8.673 98.385 1.00 24.01 N +ATOM 2299 CA LEU B 58 20.463 -7.815 97.528 1.00 23.73 C +ATOM 2300 C LEU B 58 19.715 -6.576 97.055 1.00 24.08 C +ATOM 2301 O LEU B 58 18.587 -6.660 96.574 1.00 24.10 O +ATOM 2302 CB LEU B 58 20.949 -8.593 96.302 1.00 21.68 C +ATOM 2303 CG LEU B 58 21.790 -7.797 95.295 1.00 19.77 C +ATOM 2304 CD1 LEU B 58 23.116 -7.395 95.933 1.00 15.95 C +ATOM 2305 CD2 LEU B 58 22.040 -8.647 94.058 1.00 14.69 C +ATOM 2306 N ASP B 59 20.351 -5.423 97.220 1.00 25.28 N +ATOM 2307 CA ASP B 59 19.791 -4.155 96.770 1.00 25.81 C +ATOM 2308 C ASP B 59 20.864 -3.597 95.846 1.00 24.95 C +ATOM 2309 O ASP B 59 21.820 -2.964 96.303 1.00 23.50 O +ATOM 2310 CB ASP B 59 19.575 -3.188 97.933 1.00 27.37 C +ATOM 2311 CG ASP B 59 19.025 -1.842 97.476 1.00 28.24 C +ATOM 2312 OD1 ASP B 59 19.362 -1.418 96.354 1.00 28.27 O +ATOM 2313 OD2 ASP B 59 18.270 -1.199 98.238 1.00 30.72 O +ATOM 2314 N VAL B 60 20.703 -3.851 94.551 1.00 24.97 N +ATOM 2315 CA VAL B 60 21.662 -3.412 93.536 1.00 22.87 C +ATOM 2316 C VAL B 60 21.978 -1.915 93.512 1.00 22.57 C +ATOM 2317 O VAL B 60 22.908 -1.495 92.822 1.00 22.46 O +ATOM 2318 CB VAL B 60 21.202 -3.859 92.125 1.00 22.68 C +ATOM 2319 CG1 VAL B 60 21.265 -5.374 92.016 1.00 18.44 C +ATOM 2320 CG2 VAL B 60 19.779 -3.375 91.857 1.00 21.63 C +ATOM 2321 N THR B 61 21.223 -1.113 94.260 1.00 22.05 N +ATOM 2322 CA THR B 61 21.475 0.326 94.307 1.00 22.52 C +ATOM 2323 C THR B 61 22.346 0.727 95.495 1.00 22.66 C +ATOM 2324 O THR B 61 22.598 1.916 95.708 1.00 22.47 O +ATOM 2325 CB THR B 61 20.176 1.141 94.418 1.00 24.16 C +ATOM 2326 OG1 THR B 61 19.622 0.975 95.730 1.00 22.40 O +ATOM 2327 CG2 THR B 61 19.168 0.695 93.372 1.00 23.65 C +ATOM 2328 N ASP B 62 22.803 -0.254 96.267 1.00 23.85 N +ATOM 2329 CA ASP B 62 23.638 0.022 97.438 1.00 23.58 C +ATOM 2330 C ASP B 62 24.949 -0.727 97.348 1.00 22.37 C +ATOM 2331 O ASP B 62 24.972 -1.954 97.380 1.00 22.85 O +ATOM 2332 CB ASP B 62 22.913 -0.382 98.728 1.00 26.51 C +ATOM 2333 CG ASP B 62 23.800 -0.254 99.960 1.00 27.97 C +ATOM 2334 OD1 ASP B 62 24.169 0.883 100.320 1.00 27.97 O +ATOM 2335 OD2 ASP B 62 24.140 -1.293 100.560 1.00 29.84 O +ATOM 2336 N GLN B 63 26.046 0.012 97.242 1.00 21.31 N +ATOM 2337 CA GLN B 63 27.353 -0.617 97.127 1.00 21.19 C +ATOM 2338 C GLN B 63 27.613 -1.626 98.242 1.00 22.04 C +ATOM 2339 O GLN B 63 28.148 -2.708 97.997 1.00 22.82 O +ATOM 2340 CB GLN B 63 28.448 0.450 97.129 1.00 19.83 C +ATOM 2341 CG GLN B 63 29.824 -0.075 96.746 1.00 18.65 C +ATOM 2342 CD GLN B 63 29.831 -0.732 95.373 1.00 18.74 C +ATOM 2343 OE1 GLN B 63 29.308 -0.172 94.405 1.00 16.61 O +ATOM 2344 NE2 GLN B 63 30.428 -1.918 95.282 1.00 14.02 N +ATOM 2345 N ALA B 64 27.231 -1.269 99.469 1.00 23.54 N +ATOM 2346 CA ALA B 64 27.439 -2.142 100.626 1.00 21.32 C +ATOM 2347 C ALA B 64 26.756 -3.482 100.409 1.00 19.75 C +ATOM 2348 O ALA B 64 27.364 -4.537 100.593 1.00 19.11 O +ATOM 2349 CB ALA B 64 26.904 -1.475 101.892 1.00 20.75 C +ATOM 2350 N SER B 65 25.489 -3.433 100.012 1.00 18.59 N +ATOM 2351 CA SER B 65 24.728 -4.646 99.758 1.00 19.89 C +ATOM 2352 C SER B 65 25.381 -5.457 98.635 1.00 21.50 C +ATOM 2353 O SER B 65 25.389 -6.686 98.671 1.00 21.86 O +ATOM 2354 CB SER B 65 23.290 -4.293 99.382 1.00 18.17 C +ATOM 2355 OG SER B 65 22.511 -5.466 99.222 1.00 16.77 O +ATOM 2356 N ILE B 66 25.943 -4.761 97.650 1.00 22.00 N +ATOM 2357 CA ILE B 66 26.596 -5.419 96.527 1.00 23.44 C +ATOM 2358 C ILE B 66 27.833 -6.187 96.980 1.00 25.17 C +ATOM 2359 O ILE B 66 27.987 -7.366 96.656 1.00 27.84 O +ATOM 2360 CB ILE B 66 26.984 -4.383 95.427 1.00 22.96 C +ATOM 2361 CG1 ILE B 66 25.717 -3.887 94.724 1.00 20.97 C +ATOM 2362 CG2 ILE B 66 27.947 -5.003 94.413 1.00 21.20 C +ATOM 2363 CD1 ILE B 66 25.949 -2.755 93.755 1.00 20.97 C +ATOM 2364 N ASP B 67 28.709 -5.529 97.731 1.00 26.27 N +ATOM 2365 CA ASP B 67 29.926 -6.178 98.214 1.00 28.93 C +ATOM 2366 C ASP B 67 29.637 -7.344 99.162 1.00 28.84 C +ATOM 2367 O ASP B 67 30.335 -8.362 99.135 1.00 28.08 O +ATOM 2368 CB ASP B 67 30.833 -5.159 98.911 1.00 32.12 C +ATOM 2369 CG ASP B 67 31.293 -4.052 97.976 1.00 36.40 C +ATOM 2370 OD1 ASP B 67 31.662 -4.369 96.823 1.00 40.15 O +ATOM 2371 OD2 ASP B 67 31.298 -2.872 98.391 1.00 37.10 O +ATOM 2372 N ARG B 68 28.613 -7.198 99.999 1.00 29.04 N +ATOM 2373 CA ARG B 68 28.254 -8.260 100.930 1.00 30.81 C +ATOM 2374 C ARG B 68 27.750 -9.485 100.202 1.00 29.73 C +ATOM 2375 O ARG B 68 28.100 -10.610 100.563 1.00 30.58 O +ATOM 2376 CB ARG B 68 27.177 -7.802 101.903 1.00 33.18 C +ATOM 2377 CG ARG B 68 27.722 -7.238 103.192 1.00 38.38 C +ATOM 2378 CD ARG B 68 26.645 -7.276 104.265 1.00 41.68 C +ATOM 2379 NE ARG B 68 25.462 -6.516 103.872 1.00 44.19 N +ATOM 2380 CZ ARG B 68 25.393 -5.187 103.866 1.00 45.09 C +ATOM 2381 NH1 ARG B 68 26.444 -4.461 104.238 1.00 45.47 N +ATOM 2382 NH2 ARG B 68 24.271 -4.582 103.489 1.00 44.53 N +ATOM 2383 N CYS B 69 26.920 -9.266 99.185 1.00 27.69 N +ATOM 2384 CA CYS B 69 26.374 -10.372 98.407 1.00 27.26 C +ATOM 2385 C CYS B 69 27.470 -11.180 97.717 1.00 26.20 C +ATOM 2386 O CYS B 69 27.477 -12.404 97.779 1.00 27.84 O +ATOM 2387 CB CYS B 69 25.386 -9.858 97.358 1.00 27.37 C +ATOM 2388 SG CYS B 69 24.907 -11.103 96.122 1.00 27.40 S +ATOM 2389 N VAL B 70 28.398 -10.496 97.064 1.00 25.79 N +ATOM 2390 CA VAL B 70 29.475 -11.187 96.367 1.00 24.75 C +ATOM 2391 C VAL B 70 30.364 -11.955 97.341 1.00 24.23 C +ATOM 2392 O VAL B 70 30.635 -13.144 97.142 1.00 24.56 O +ATOM 2393 CB VAL B 70 30.334 -10.189 95.549 1.00 24.90 C +ATOM 2394 CG1 VAL B 70 31.486 -10.919 94.874 1.00 22.87 C +ATOM 2395 CG2 VAL B 70 29.467 -9.498 94.504 1.00 22.50 C +ATOM 2396 N ALA B 71 30.814 -11.276 98.392 1.00 23.23 N +ATOM 2397 CA ALA B 71 31.665 -11.904 99.403 1.00 24.27 C +ATOM 2398 C ALA B 71 31.014 -13.156 100.004 1.00 23.55 C +ATOM 2399 O ALA B 71 31.661 -14.195 100.146 1.00 21.52 O +ATOM 2400 CB ALA B 71 31.981 -10.902 100.516 1.00 23.88 C +ATOM 2401 N GLU B 72 29.736 -13.056 100.356 1.00 22.84 N +ATOM 2402 CA GLU B 72 29.044 -14.191 100.938 1.00 26.18 C +ATOM 2403 C GLU B 72 28.986 -15.374 99.986 1.00 26.89 C +ATOM 2404 O GLU B 72 29.245 -16.513 100.385 1.00 26.97 O +ATOM 2405 CB GLU B 72 27.627 -13.814 101.356 1.00 28.11 C +ATOM 2406 CG GLU B 72 26.868 -15.006 101.923 1.00 33.57 C +ATOM 2407 CD GLU B 72 25.582 -14.626 102.628 1.00 36.18 C +ATOM 2408 OE1 GLU B 72 24.825 -15.551 102.993 1.00 36.10 O +ATOM 2409 OE2 GLU B 72 25.328 -13.412 102.819 1.00 39.21 O +ATOM 2410 N LEU B 73 28.641 -15.102 98.729 1.00 27.02 N +ATOM 2411 CA LEU B 73 28.558 -16.151 97.721 1.00 25.80 C +ATOM 2412 C LEU B 73 29.924 -16.760 97.449 1.00 25.40 C +ATOM 2413 O LEU B 73 30.034 -17.958 97.181 1.00 24.34 O +ATOM 2414 CB LEU B 73 27.960 -15.599 96.429 1.00 24.20 C +ATOM 2415 CG LEU B 73 26.456 -15.369 96.540 1.00 24.33 C +ATOM 2416 CD1 LEU B 73 25.926 -14.704 95.270 1.00 24.51 C +ATOM 2417 CD2 LEU B 73 25.777 -16.707 96.794 1.00 20.33 C +ATOM 2418 N LEU B 74 30.968 -15.941 97.522 1.00 25.86 N +ATOM 2419 CA LEU B 74 32.307 -16.453 97.297 1.00 28.35 C +ATOM 2420 C LEU B 74 32.698 -17.439 98.402 1.00 30.09 C +ATOM 2421 O LEU B 74 33.427 -18.396 98.147 1.00 30.57 O +ATOM 2422 CB LEU B 74 33.315 -15.304 97.204 1.00 27.89 C +ATOM 2423 CG LEU B 74 33.440 -14.679 95.809 1.00 28.34 C +ATOM 2424 CD1 LEU B 74 34.458 -13.551 95.839 1.00 28.19 C +ATOM 2425 CD2 LEU B 74 33.867 -15.742 94.802 1.00 25.80 C +ATOM 2426 N ASP B 75 32.207 -17.217 99.622 1.00 31.99 N +ATOM 2427 CA ASP B 75 32.503 -18.131 100.725 1.00 34.52 C +ATOM 2428 C ASP B 75 31.677 -19.402 100.598 1.00 33.26 C +ATOM 2429 O ASP B 75 32.149 -20.495 100.911 1.00 33.83 O +ATOM 2430 CB ASP B 75 32.205 -17.481 102.077 1.00 40.19 C +ATOM 2431 CG ASP B 75 33.268 -16.485 102.492 1.00 45.68 C +ATOM 2432 OD1 ASP B 75 33.903 -16.694 103.550 1.00 48.50 O +ATOM 2433 OD2 ASP B 75 33.472 -15.496 101.758 1.00 48.96 O +ATOM 2434 N ARG B 76 30.441 -19.254 100.136 1.00 30.91 N +ATOM 2435 CA ARG B 76 29.557 -20.396 99.973 1.00 30.18 C +ATOM 2436 C ARG B 76 29.900 -21.275 98.767 1.00 30.09 C +ATOM 2437 O ARG B 76 29.826 -22.503 98.853 1.00 29.36 O +ATOM 2438 CB ARG B 76 28.113 -19.923 99.854 1.00 30.20 C +ATOM 2439 CG ARG B 76 27.531 -19.314 101.115 1.00 30.91 C +ATOM 2440 CD ARG B 76 26.066 -18.974 100.905 1.00 33.29 C +ATOM 2441 NE ARG B 76 25.424 -18.456 102.112 1.00 37.95 N +ATOM 2442 CZ ARG B 76 25.277 -19.141 103.246 1.00 40.03 C +ATOM 2443 NH1 ARG B 76 25.728 -20.387 103.351 1.00 40.50 N +ATOM 2444 NH2 ARG B 76 24.669 -18.582 104.284 1.00 40.44 N +ATOM 2445 N TRP B 77 30.276 -20.653 97.649 1.00 29.76 N +ATOM 2446 CA TRP B 77 30.603 -21.405 96.432 1.00 29.47 C +ATOM 2447 C TRP B 77 32.089 -21.520 96.088 1.00 30.25 C +ATOM 2448 O TRP B 77 32.536 -22.547 95.568 1.00 30.65 O +ATOM 2449 CB TRP B 77 29.896 -20.801 95.220 1.00 29.78 C +ATOM 2450 CG TRP B 77 28.412 -20.873 95.257 1.00 29.33 C +ATOM 2451 CD1 TRP B 77 27.647 -21.805 95.899 1.00 28.49 C +ATOM 2452 CD2 TRP B 77 27.504 -20.023 94.552 1.00 28.69 C +ATOM 2453 NE1 TRP B 77 26.319 -21.589 95.633 1.00 28.29 N +ATOM 2454 CE2 TRP B 77 26.202 -20.501 94.807 1.00 29.02 C +ATOM 2455 CE3 TRP B 77 27.665 -18.904 93.724 1.00 29.88 C +ATOM 2456 CZ2 TRP B 77 25.061 -19.898 94.261 1.00 31.59 C +ATOM 2457 CZ3 TRP B 77 26.530 -18.302 93.180 1.00 30.49 C +ATOM 2458 CH2 TRP B 77 25.245 -18.802 93.452 1.00 31.51 C +ATOM 2459 N GLY B 78 32.852 -20.469 96.364 1.00 29.47 N +ATOM 2460 CA GLY B 78 34.263 -20.497 96.045 1.00 29.41 C +ATOM 2461 C GLY B 78 34.509 -19.717 94.766 1.00 31.04 C +ATOM 2462 O GLY B 78 35.633 -19.296 94.488 1.00 31.95 O +ATOM 2463 N SER B 79 33.449 -19.520 93.985 1.00 30.19 N +ATOM 2464 CA SER B 79 33.539 -18.778 92.731 1.00 29.27 C +ATOM 2465 C SER B 79 32.168 -18.595 92.097 1.00 28.21 C +ATOM 2466 O SER B 79 31.287 -19.444 92.246 1.00 28.29 O +ATOM 2467 CB SER B 79 34.427 -19.518 91.735 1.00 31.60 C +ATOM 2468 OG SER B 79 33.770 -20.682 91.259 1.00 32.83 O +ATOM 2469 N ILE B 80 32.000 -17.482 91.391 1.00 26.65 N +ATOM 2470 CA ILE B 80 30.755 -17.175 90.688 1.00 26.52 C +ATOM 2471 C ILE B 80 31.034 -17.313 89.188 1.00 25.21 C +ATOM 2472 O ILE B 80 31.724 -16.482 88.602 1.00 24.65 O +ATOM 2473 CB ILE B 80 30.296 -15.736 90.967 1.00 26.80 C +ATOM 2474 CG1 ILE B 80 30.119 -15.522 92.473 1.00 26.83 C +ATOM 2475 CG2 ILE B 80 28.991 -15.466 90.250 1.00 27.12 C +ATOM 2476 CD1 ILE B 80 29.888 -14.067 92.856 1.00 23.61 C +ATOM 2477 N ASP B 81 30.504 -18.360 88.567 1.00 24.46 N +ATOM 2478 CA ASP B 81 30.745 -18.583 87.146 1.00 24.39 C +ATOM 2479 C ASP B 81 29.876 -17.746 86.216 1.00 24.74 C +ATOM 2480 O ASP B 81 30.334 -17.299 85.169 1.00 25.43 O +ATOM 2481 CB ASP B 81 30.540 -20.059 86.796 1.00 24.37 C +ATOM 2482 CG ASP B 81 31.357 -20.988 87.671 1.00 25.38 C +ATOM 2483 OD1 ASP B 81 32.566 -20.723 87.856 1.00 26.43 O +ATOM 2484 OD2 ASP B 81 30.789 -21.991 88.163 1.00 25.53 O +ATOM 2485 N ILE B 82 28.623 -17.536 86.601 1.00 23.93 N +ATOM 2486 CA ILE B 82 27.683 -16.792 85.772 1.00 21.60 C +ATOM 2487 C ILE B 82 26.957 -15.698 86.554 1.00 22.34 C +ATOM 2488 O ILE B 82 26.583 -15.898 87.704 1.00 22.43 O +ATOM 2489 CB ILE B 82 26.612 -17.740 85.205 1.00 18.73 C +ATOM 2490 CG1 ILE B 82 27.274 -18.978 84.625 1.00 17.05 C +ATOM 2491 CG2 ILE B 82 25.791 -17.038 84.145 1.00 19.79 C +ATOM 2492 CD1 ILE B 82 26.296 -20.077 84.303 1.00 18.47 C +ATOM 2493 N LEU B 83 26.747 -14.551 85.911 1.00 22.57 N +ATOM 2494 CA LEU B 83 26.041 -13.435 86.525 1.00 21.18 C +ATOM 2495 C LEU B 83 24.974 -12.917 85.558 1.00 21.01 C +ATOM 2496 O LEU B 83 25.299 -12.461 84.467 1.00 23.64 O +ATOM 2497 CB LEU B 83 27.027 -12.311 86.867 1.00 21.01 C +ATOM 2498 CG LEU B 83 26.573 -11.020 87.578 1.00 21.35 C +ATOM 2499 CD1 LEU B 83 26.493 -9.891 86.598 1.00 19.17 C +ATOM 2500 CD2 LEU B 83 25.240 -11.222 88.288 1.00 20.83 C +ATOM 2501 N VAL B 84 23.706 -12.998 85.948 1.00 17.93 N +ATOM 2502 CA VAL B 84 22.629 -12.507 85.104 1.00 17.00 C +ATOM 2503 C VAL B 84 21.988 -11.275 85.728 1.00 18.72 C +ATOM 2504 O VAL B 84 21.257 -11.387 86.717 1.00 20.49 O +ATOM 2505 CB VAL B 84 21.511 -13.569 84.892 1.00 15.76 C +ATOM 2506 CG1 VAL B 84 20.376 -12.965 84.077 1.00 13.04 C +ATOM 2507 CG2 VAL B 84 22.060 -14.787 84.170 1.00 12.13 C +ATOM 2508 N ASN B 85 22.255 -10.103 85.157 1.00 17.74 N +ATOM 2509 CA ASN B 85 21.669 -8.873 85.667 1.00 17.59 C +ATOM 2510 C ASN B 85 20.222 -8.713 85.213 1.00 18.43 C +ATOM 2511 O ASN B 85 19.945 -7.998 84.255 1.00 20.52 O +ATOM 2512 CB ASN B 85 22.485 -7.666 85.212 1.00 19.96 C +ATOM 2513 CG ASN B 85 23.784 -7.515 85.982 1.00 20.72 C +ATOM 2514 OD1 ASN B 85 23.793 -7.571 87.207 1.00 21.77 O +ATOM 2515 ND2 ASN B 85 24.884 -7.306 85.267 1.00 21.98 N +ATOM 2516 N ASN B 86 19.298 -9.365 85.914 1.00 18.82 N +ATOM 2517 CA ASN B 86 17.879 -9.306 85.569 1.00 20.37 C +ATOM 2518 C ASN B 86 17.045 -8.235 86.294 1.00 21.88 C +ATOM 2519 O ASN B 86 15.982 -7.833 85.806 1.00 23.37 O +ATOM 2520 CB ASN B 86 17.242 -10.669 85.818 1.00 21.44 C +ATOM 2521 CG ASN B 86 15.740 -10.649 85.640 1.00 24.23 C +ATOM 2522 OD1 ASN B 86 15.238 -10.580 84.523 1.00 27.01 O +ATOM 2523 ND2 ASN B 86 15.011 -10.696 86.750 1.00 28.11 N +ATOM 2524 N ALA B 87 17.510 -7.782 87.453 1.00 20.24 N +ATOM 2525 CA ALA B 87 16.778 -6.782 88.227 1.00 20.38 C +ATOM 2526 C ALA B 87 16.534 -5.476 87.456 1.00 20.34 C +ATOM 2527 O ALA B 87 17.457 -4.899 86.879 1.00 18.29 O +ATOM 2528 CB ALA B 87 17.531 -6.491 89.530 1.00 19.62 C +ATOM 2529 N ALA B 88 15.291 -5.001 87.458 1.00 21.38 N +ATOM 2530 CA ALA B 88 14.964 -3.761 86.751 1.00 23.92 C +ATOM 2531 C ALA B 88 13.566 -3.233 87.067 1.00 24.82 C +ATOM 2532 O ALA B 88 12.708 -3.969 87.549 1.00 26.22 O +ATOM 2533 CB ALA B 88 15.102 -3.975 85.243 1.00 22.81 C +ATOM 2534 N LEU B 89 13.348 -1.951 86.788 1.00 26.09 N +ATOM 2535 CA LEU B 89 12.053 -1.314 87.008 1.00 28.25 C +ATOM 2536 C LEU B 89 11.531 -0.698 85.720 1.00 28.98 C +ATOM 2537 O LEU B 89 12.308 -0.239 84.883 1.00 28.20 O +ATOM 2538 CB LEU B 89 12.156 -0.213 88.060 1.00 31.55 C +ATOM 2539 CG LEU B 89 12.031 -0.642 89.519 1.00 35.98 C +ATOM 2540 CD1 LEU B 89 12.190 0.578 90.422 1.00 36.17 C +ATOM 2541 CD2 LEU B 89 10.678 -1.317 89.732 1.00 34.89 C +ATOM 2542 N PHE B 90 10.211 -0.680 85.572 1.00 28.92 N +ATOM 2543 CA PHE B 90 9.589 -0.109 84.386 1.00 30.19 C +ATOM 2544 C PHE B 90 8.722 1.072 84.779 1.00 31.05 C +ATOM 2545 O PHE B 90 8.181 1.108 85.879 1.00 33.06 O +ATOM 2546 CB PHE B 90 8.742 -1.169 83.673 1.00 30.00 C +ATOM 2547 CG PHE B 90 7.941 -0.632 82.522 1.00 30.62 C +ATOM 2548 CD1 PHE B 90 6.633 -0.192 82.709 1.00 30.23 C +ATOM 2549 CD2 PHE B 90 8.506 -0.532 81.255 1.00 30.79 C +ATOM 2550 CE1 PHE B 90 5.897 0.344 81.649 1.00 29.95 C +ATOM 2551 CE2 PHE B 90 7.782 0.001 80.190 1.00 30.56 C +ATOM 2552 CZ PHE B 90 6.475 0.441 80.388 1.00 30.53 C +ATOM 2553 N ASP B 91 8.594 2.042 83.885 1.00 30.81 N +ATOM 2554 CA ASP B 91 7.777 3.214 84.163 1.00 31.47 C +ATOM 2555 C ASP B 91 7.533 3.968 82.857 1.00 32.99 C +ATOM 2556 O ASP B 91 8.304 3.838 81.902 1.00 33.34 O +ATOM 2557 CB ASP B 91 8.491 4.114 85.173 1.00 32.21 C +ATOM 2558 CG ASP B 91 7.540 5.063 85.897 1.00 34.44 C +ATOM 2559 OD1 ASP B 91 8.035 5.932 86.649 1.00 34.19 O +ATOM 2560 OD2 ASP B 91 6.304 4.939 85.724 1.00 31.85 O +ATOM 2561 N LEU B 92 6.455 4.744 82.801 1.00 33.27 N +ATOM 2562 CA LEU B 92 6.155 5.495 81.595 1.00 32.93 C +ATOM 2563 C LEU B 92 5.484 6.828 81.867 1.00 31.45 C +ATOM 2564 O LEU B 92 4.758 6.983 82.842 1.00 31.93 O +ATOM 2565 CB LEU B 92 5.307 4.646 80.638 1.00 35.41 C +ATOM 2566 CG LEU B 92 4.068 3.901 81.137 1.00 37.67 C +ATOM 2567 CD1 LEU B 92 2.898 4.847 81.224 1.00 39.67 C +ATOM 2568 CD2 LEU B 92 3.730 2.781 80.170 1.00 38.88 C +ATOM 2569 N ALA B 93 5.756 7.793 80.994 1.00 30.81 N +ATOM 2570 CA ALA B 93 5.202 9.138 81.098 1.00 29.23 C +ATOM 2571 C ALA B 93 5.763 10.025 79.986 1.00 28.02 C +ATOM 2572 O ALA B 93 6.919 9.884 79.592 1.00 26.12 O +ATOM 2573 CB ALA B 93 5.544 9.746 82.453 1.00 27.08 C +ATOM 2574 N PRO B 94 4.939 10.942 79.461 1.00 26.67 N +ATOM 2575 CA PRO B 94 5.383 11.845 78.400 1.00 26.91 C +ATOM 2576 C PRO B 94 6.555 12.667 78.923 1.00 27.53 C +ATOM 2577 O PRO B 94 6.814 12.706 80.128 1.00 26.43 O +ATOM 2578 CB PRO B 94 4.152 12.712 78.146 1.00 27.05 C +ATOM 2579 CG PRO B 94 3.021 11.802 78.488 1.00 27.57 C +ATOM 2580 CD PRO B 94 3.508 11.133 79.748 1.00 26.64 C +ATOM 2581 N ILE B 95 7.252 13.330 78.013 1.00 27.51 N +ATOM 2582 CA ILE B 95 8.397 14.146 78.376 1.00 27.66 C +ATOM 2583 C ILE B 95 8.036 15.206 79.414 1.00 27.98 C +ATOM 2584 O ILE B 95 8.672 15.300 80.459 1.00 27.66 O +ATOM 2585 CB ILE B 95 8.991 14.842 77.119 1.00 28.16 C +ATOM 2586 CG1 ILE B 95 9.500 13.782 76.131 1.00 27.81 C +ATOM 2587 CG2 ILE B 95 10.124 15.789 77.517 1.00 26.99 C +ATOM 2588 CD1 ILE B 95 10.700 12.997 76.617 1.00 22.85 C +ATOM 2589 N VAL B 96 7.009 15.998 79.127 1.00 28.66 N +ATOM 2590 CA VAL B 96 6.603 17.070 80.029 1.00 30.17 C +ATOM 2591 C VAL B 96 6.074 16.602 81.384 1.00 30.39 C +ATOM 2592 O VAL B 96 5.785 17.417 82.252 1.00 29.52 O +ATOM 2593 CB VAL B 96 5.545 17.981 79.359 1.00 30.04 C +ATOM 2594 CG1 VAL B 96 6.086 18.507 78.048 1.00 31.22 C +ATOM 2595 CG2 VAL B 96 4.267 17.215 79.115 1.00 29.69 C +ATOM 2596 N GLU B 97 5.959 15.293 81.571 1.00 31.45 N +ATOM 2597 CA GLU B 97 5.460 14.759 82.833 1.00 31.22 C +ATOM 2598 C GLU B 97 6.464 13.881 83.569 1.00 30.63 C +ATOM 2599 O GLU B 97 6.137 13.293 84.601 1.00 33.54 O +ATOM 2600 CB GLU B 97 4.175 13.966 82.599 1.00 32.15 C +ATOM 2601 CG GLU B 97 2.940 14.823 82.399 1.00 34.52 C +ATOM 2602 CD GLU B 97 1.703 13.982 82.148 1.00 37.03 C +ATOM 2603 OE1 GLU B 97 1.551 12.939 82.820 1.00 39.62 O +ATOM 2604 OE2 GLU B 97 0.879 14.363 81.288 1.00 38.29 O +ATOM 2605 N ILE B 98 7.683 13.789 83.053 1.00 27.60 N +ATOM 2606 CA ILE B 98 8.701 12.970 83.700 1.00 25.34 C +ATOM 2607 C ILE B 98 9.149 13.622 85.009 1.00 25.66 C +ATOM 2608 O ILE B 98 9.461 14.813 85.041 1.00 24.48 O +ATOM 2609 CB ILE B 98 9.922 12.772 82.773 1.00 23.13 C +ATOM 2610 CG1 ILE B 98 9.511 11.945 81.548 1.00 21.81 C +ATOM 2611 CG2 ILE B 98 11.052 12.091 83.533 1.00 22.68 C +ATOM 2612 CD1 ILE B 98 10.624 11.741 80.535 1.00 17.95 C +ATOM 2613 N THR B 99 9.173 12.842 86.088 1.00 26.22 N +ATOM 2614 CA THR B 99 9.580 13.360 87.398 1.00 26.13 C +ATOM 2615 C THR B 99 11.010 12.955 87.717 1.00 27.11 C +ATOM 2616 O THR B 99 11.498 11.924 87.242 1.00 27.77 O +ATOM 2617 CB THR B 99 8.679 12.828 88.546 1.00 25.46 C +ATOM 2618 OG1 THR B 99 8.806 11.403 88.636 1.00 25.04 O +ATOM 2619 CG2 THR B 99 7.224 13.181 88.302 1.00 21.48 C +ATOM 2620 N ARG B 100 11.681 13.770 88.523 1.00 27.26 N +ATOM 2621 CA ARG B 100 13.053 13.481 88.924 1.00 29.26 C +ATOM 2622 C ARG B 100 13.046 12.168 89.664 1.00 30.24 C +ATOM 2623 O ARG B 100 13.992 11.377 89.627 1.00 30.47 O +ATOM 2624 CB ARG B 100 13.563 14.546 89.884 1.00 29.17 C +ATOM 2625 CG ARG B 100 13.764 15.893 89.265 1.00 30.31 C +ATOM 2626 CD ARG B 100 15.226 16.212 89.253 1.00 29.58 C +ATOM 2627 NE ARG B 100 15.501 17.398 88.463 1.00 30.62 N +ATOM 2628 CZ ARG B 100 16.716 17.748 88.072 1.00 29.67 C +ATOM 2629 NH1 ARG B 100 16.887 18.844 87.353 1.00 31.99 N +ATOM 2630 NH2 ARG B 100 17.758 16.999 88.402 1.00 28.57 N +ATOM 2631 N GLU B 101 11.956 11.927 90.356 1.00 31.97 N +ATOM 2632 CA GLU B 101 11.854 10.745 91.161 1.00 34.22 C +ATOM 2633 C GLU B 101 11.839 9.536 90.258 1.00 31.44 C +ATOM 2634 O GLU B 101 12.512 8.524 90.523 1.00 31.10 O +ATOM 2635 CB GLU B 101 10.613 10.908 92.033 1.00 40.52 C +ATOM 2636 CG GLU B 101 10.399 12.396 92.527 1.00 50.10 C +ATOM 2637 CD GLU B 101 11.699 13.248 92.737 1.00 56.02 C +ATOM 2638 OE1 GLU B 101 12.793 12.835 92.309 1.00 61.23 O +ATOM 2639 OE2 GLU B 101 11.621 14.365 93.319 1.00 57.13 O +ATOM 2640 N SER B 102 11.081 9.611 89.170 1.00 29.97 N +ATOM 2641 CA SER B 102 11.031 8.475 88.250 1.00 28.47 C +ATOM 2642 C SER B 102 12.412 8.252 87.649 1.00 26.04 C +ATOM 2643 O SER B 102 12.894 7.127 87.652 1.00 25.10 O +ATOM 2644 CB SER B 102 9.989 8.653 87.106 1.00 31.00 C +ATOM 2645 OG SER B 102 10.016 7.512 86.232 1.00 36.70 O +ATOM 2646 N TYR B 103 13.028 9.309 87.121 1.00 23.82 N +ATOM 2647 CA TYR B 103 14.359 9.221 86.545 1.00 22.22 C +ATOM 2648 C TYR B 103 15.373 8.573 87.505 1.00 21.92 C +ATOM 2649 O TYR B 103 16.052 7.622 87.137 1.00 21.08 O +ATOM 2650 CB TYR B 103 14.866 10.615 86.162 1.00 20.27 C +ATOM 2651 CG TYR B 103 16.339 10.687 85.786 1.00 20.21 C +ATOM 2652 CD1 TYR B 103 16.778 10.359 84.498 1.00 22.77 C +ATOM 2653 CD2 TYR B 103 17.306 11.046 86.729 1.00 22.35 C +ATOM 2654 CE1 TYR B 103 18.149 10.384 84.162 1.00 23.06 C +ATOM 2655 CE2 TYR B 103 18.677 11.069 86.401 1.00 22.43 C +ATOM 2656 CZ TYR B 103 19.087 10.733 85.119 1.00 25.32 C +ATOM 2657 OH TYR B 103 20.429 10.712 84.795 1.00 25.61 O +ATOM 2658 N ASP B 104 15.487 9.123 88.716 1.00 23.77 N +ATOM 2659 CA ASP B 104 16.427 8.652 89.750 1.00 23.05 C +ATOM 2660 C ASP B 104 16.433 7.141 90.029 1.00 22.60 C +ATOM 2661 O ASP B 104 17.494 6.533 90.093 1.00 21.81 O +ATOM 2662 CB ASP B 104 16.162 9.407 91.056 1.00 26.31 C +ATOM 2663 CG ASP B 104 16.664 10.846 91.026 1.00 28.27 C +ATOM 2664 OD1 ASP B 104 16.451 11.555 92.026 1.00 33.48 O +ATOM 2665 OD2 ASP B 104 17.275 11.276 90.021 1.00 32.58 O +ATOM 2666 N ARG B 105 15.247 6.563 90.201 1.00 24.33 N +ATOM 2667 CA ARG B 105 15.072 5.125 90.481 1.00 28.07 C +ATOM 2668 C ARG B 105 15.499 4.202 89.341 1.00 28.14 C +ATOM 2669 O ARG B 105 16.391 3.354 89.515 1.00 29.78 O +ATOM 2670 CB ARG B 105 13.605 4.816 90.760 1.00 31.94 C +ATOM 2671 CG ARG B 105 13.206 4.693 92.198 1.00 38.12 C +ATOM 2672 CD ARG B 105 11.863 3.981 92.260 1.00 43.51 C +ATOM 2673 NE ARG B 105 10.722 4.876 92.063 1.00 50.43 N +ATOM 2674 CZ ARG B 105 10.322 5.766 92.968 1.00 53.44 C +ATOM 2675 NH1 ARG B 105 10.976 5.867 94.118 1.00 53.99 N +ATOM 2676 NH2 ARG B 105 9.273 6.552 92.736 1.00 54.85 N +ATOM 2677 N LEU B 106 14.860 4.396 88.190 1.00 26.67 N +ATOM 2678 CA LEU B 106 15.138 3.610 87.021 1.00 24.60 C +ATOM 2679 C LEU B 106 16.612 3.592 86.682 1.00 22.14 C +ATOM 2680 O LEU B 106 17.179 2.544 86.407 1.00 24.24 O +ATOM 2681 CB LEU B 106 14.324 4.146 85.846 1.00 25.18 C +ATOM 2682 CG LEU B 106 12.802 4.137 85.945 1.00 27.37 C +ATOM 2683 CD1 LEU B 106 12.263 3.918 84.549 1.00 29.98 C +ATOM 2684 CD2 LEU B 106 12.342 3.009 86.859 1.00 26.50 C +ATOM 2685 N PHE B 107 17.249 4.751 86.720 1.00 20.70 N +ATOM 2686 CA PHE B 107 18.675 4.758 86.399 1.00 20.59 C +ATOM 2687 C PHE B 107 19.487 4.098 87.509 1.00 20.12 C +ATOM 2688 O PHE B 107 20.477 3.380 87.254 1.00 18.46 O +ATOM 2689 CB PHE B 107 19.202 6.182 86.098 1.00 20.24 C +ATOM 2690 CG PHE B 107 19.092 6.575 84.635 1.00 22.27 C +ATOM 2691 CD1 PHE B 107 17.875 6.982 84.086 1.00 21.87 C +ATOM 2692 CD2 PHE B 107 20.194 6.471 83.798 1.00 22.37 C +ATOM 2693 CE1 PHE B 107 17.766 7.274 82.725 1.00 21.47 C +ATOM 2694 CE2 PHE B 107 20.091 6.758 82.440 1.00 22.43 C +ATOM 2695 CZ PHE B 107 18.877 7.159 81.906 1.00 20.01 C +ATOM 2696 N ALA B 108 19.024 4.301 88.740 1.00 18.94 N +ATOM 2697 CA ALA B 108 19.677 3.720 89.908 1.00 17.94 C +ATOM 2698 C ALA B 108 19.663 2.196 89.852 1.00 16.95 C +ATOM 2699 O ALA B 108 20.687 1.551 90.077 1.00 17.89 O +ATOM 2700 CB ALA B 108 18.984 4.195 91.195 1.00 19.04 C +ATOM 2701 N ILE B 109 18.504 1.626 89.542 1.00 16.19 N +ATOM 2702 CA ILE B 109 18.365 0.176 89.475 1.00 17.64 C +ATOM 2703 C ILE B 109 18.748 -0.448 88.128 1.00 17.10 C +ATOM 2704 O ILE B 109 19.561 -1.378 88.091 1.00 16.49 O +ATOM 2705 CB ILE B 109 16.924 -0.242 89.845 1.00 18.13 C +ATOM 2706 CG1 ILE B 109 16.669 0.088 91.319 1.00 18.34 C +ATOM 2707 CG2 ILE B 109 16.716 -1.734 89.593 1.00 15.67 C +ATOM 2708 CD1 ILE B 109 15.255 -0.219 91.790 1.00 19.09 C +ATOM 2709 N ASN B 110 18.178 0.061 87.034 1.00 17.66 N +ATOM 2710 CA ASN B 110 18.456 -0.475 85.691 1.00 18.19 C +ATOM 2711 C ASN B 110 19.877 -0.283 85.169 1.00 17.17 C +ATOM 2712 O ASN B 110 20.442 -1.192 84.563 1.00 17.15 O +ATOM 2713 CB ASN B 110 17.485 0.117 84.671 1.00 18.31 C +ATOM 2714 CG ASN B 110 16.041 -0.220 84.976 1.00 20.74 C +ATOM 2715 OD1 ASN B 110 15.746 -1.016 85.877 1.00 23.05 O +ATOM 2716 ND2 ASN B 110 15.129 0.380 84.224 1.00 19.57 N +ATOM 2717 N VAL B 111 20.453 0.892 85.402 1.00 17.00 N +ATOM 2718 CA VAL B 111 21.801 1.179 84.922 1.00 15.28 C +ATOM 2719 C VAL B 111 22.866 1.020 85.995 1.00 17.90 C +ATOM 2720 O VAL B 111 23.760 0.178 85.873 1.00 19.15 O +ATOM 2721 CB VAL B 111 21.903 2.608 84.363 1.00 13.21 C +ATOM 2722 CG1 VAL B 111 23.259 2.809 83.714 1.00 12.84 C +ATOM 2723 CG2 VAL B 111 20.783 2.865 83.375 1.00 12.05 C +ATOM 2724 N SER B 112 22.780 1.837 87.041 1.00 18.36 N +ATOM 2725 CA SER B 112 23.748 1.780 88.132 1.00 19.64 C +ATOM 2726 C SER B 112 23.885 0.355 88.687 1.00 18.94 C +ATOM 2727 O SER B 112 24.998 -0.172 88.841 1.00 17.94 O +ATOM 2728 CB SER B 112 23.322 2.734 89.246 1.00 21.80 C +ATOM 2729 OG SER B 112 24.242 2.680 90.314 1.00 28.43 O +ATOM 2730 N GLY B 113 22.746 -0.264 88.980 1.00 17.85 N +ATOM 2731 CA GLY B 113 22.758 -1.619 89.493 1.00 17.71 C +ATOM 2732 C GLY B 113 23.492 -2.595 88.586 1.00 18.57 C +ATOM 2733 O GLY B 113 24.285 -3.406 89.063 1.00 19.29 O +ATOM 2734 N THR B 114 23.248 -2.523 87.278 1.00 17.20 N +ATOM 2735 CA THR B 114 23.902 -3.436 86.342 1.00 16.24 C +ATOM 2736 C THR B 114 25.409 -3.189 86.265 1.00 14.79 C +ATOM 2737 O THR B 114 26.206 -4.127 86.283 1.00 14.42 O +ATOM 2738 CB THR B 114 23.261 -3.333 84.913 1.00 18.11 C +ATOM 2739 OG1 THR B 114 21.918 -3.843 84.952 1.00 14.24 O +ATOM 2740 CG2 THR B 114 24.070 -4.134 83.883 1.00 14.85 C +ATOM 2741 N LEU B 115 25.802 -1.924 86.203 1.00 14.67 N +ATOM 2742 CA LEU B 115 27.218 -1.582 86.114 1.00 15.55 C +ATOM 2743 C LEU B 115 28.047 -2.047 87.313 1.00 16.25 C +ATOM 2744 O LEU B 115 28.971 -2.847 87.174 1.00 15.59 O +ATOM 2745 CB LEU B 115 27.379 -0.070 85.939 1.00 14.22 C +ATOM 2746 CG LEU B 115 28.798 0.514 85.892 1.00 14.05 C +ATOM 2747 CD1 LEU B 115 29.658 -0.228 84.881 1.00 11.31 C +ATOM 2748 CD2 LEU B 115 28.706 1.992 85.543 1.00 12.48 C +ATOM 2749 N PHE B 116 27.717 -1.551 88.496 1.00 17.84 N +ATOM 2750 CA PHE B 116 28.477 -1.928 89.682 1.00 18.67 C +ATOM 2751 C PHE B 116 28.359 -3.413 90.043 1.00 17.90 C +ATOM 2752 O PHE B 116 29.293 -4.005 90.587 1.00 17.62 O +ATOM 2753 CB PHE B 116 28.087 -0.991 90.831 1.00 17.76 C +ATOM 2754 CG PHE B 116 28.430 0.444 90.539 1.00 16.87 C +ATOM 2755 CD1 PHE B 116 29.763 0.833 90.421 1.00 18.19 C +ATOM 2756 CD2 PHE B 116 27.438 1.371 90.255 1.00 15.94 C +ATOM 2757 CE1 PHE B 116 30.102 2.118 90.015 1.00 18.47 C +ATOM 2758 CE2 PHE B 116 27.767 2.660 89.846 1.00 18.33 C +ATOM 2759 CZ PHE B 116 29.103 3.034 89.724 1.00 17.25 C +ATOM 2760 N MET B 117 27.231 -4.029 89.710 1.00 18.04 N +ATOM 2761 CA MET B 117 27.070 -5.450 89.980 1.00 18.53 C +ATOM 2762 C MET B 117 28.039 -6.194 89.051 1.00 18.50 C +ATOM 2763 O MET B 117 28.626 -7.208 89.438 1.00 20.66 O +ATOM 2764 CB MET B 117 25.628 -5.868 89.709 1.00 20.82 C +ATOM 2765 CG MET B 117 25.200 -7.150 90.378 1.00 25.65 C +ATOM 2766 SD MET B 117 25.284 -7.066 92.183 1.00 31.09 S +ATOM 2767 CE MET B 117 26.372 -8.407 92.502 1.00 28.42 C +ATOM 2768 N MET B 118 28.212 -5.678 87.830 1.00 17.59 N +ATOM 2769 CA MET B 118 29.131 -6.267 86.841 1.00 17.19 C +ATOM 2770 C MET B 118 30.578 -6.145 87.319 1.00 15.33 C +ATOM 2771 O MET B 118 31.376 -7.091 87.238 1.00 14.04 O +ATOM 2772 CB MET B 118 29.023 -5.544 85.486 1.00 17.97 C +ATOM 2773 CG MET B 118 28.343 -6.328 84.365 1.00 20.09 C +ATOM 2774 SD MET B 118 28.773 -5.713 82.688 1.00 18.06 S +ATOM 2775 CE MET B 118 28.195 -4.056 82.753 1.00 10.37 C +ATOM 2776 N GLN B 119 30.911 -4.952 87.794 1.00 14.53 N +ATOM 2777 CA GLN B 119 32.246 -4.655 88.283 1.00 16.86 C +ATOM 2778 C GLN B 119 32.645 -5.548 89.461 1.00 17.40 C +ATOM 2779 O GLN B 119 33.763 -6.062 89.512 1.00 16.78 O +ATOM 2780 CB GLN B 119 32.306 -3.189 88.703 1.00 17.76 C +ATOM 2781 CG GLN B 119 33.679 -2.708 89.119 1.00 19.12 C +ATOM 2782 CD GLN B 119 33.609 -1.340 89.747 1.00 20.67 C +ATOM 2783 OE1 GLN B 119 32.991 -1.164 90.803 1.00 23.16 O +ATOM 2784 NE2 GLN B 119 34.229 -0.357 89.104 1.00 20.22 N +ATOM 2785 N ALA B 120 31.721 -5.731 90.402 1.00 17.66 N +ATOM 2786 CA ALA B 120 31.979 -6.547 91.583 1.00 18.10 C +ATOM 2787 C ALA B 120 32.296 -7.988 91.218 1.00 19.17 C +ATOM 2788 O ALA B 120 33.295 -8.549 91.673 1.00 19.42 O +ATOM 2789 CB ALA B 120 30.782 -6.501 92.502 1.00 17.70 C +ATOM 2790 N VAL B 121 31.444 -8.580 90.385 1.00 21.10 N +ATOM 2791 CA VAL B 121 31.610 -9.965 89.958 1.00 20.64 C +ATOM 2792 C VAL B 121 32.780 -10.141 88.990 1.00 23.03 C +ATOM 2793 O VAL B 121 33.456 -11.181 88.995 1.00 23.79 O +ATOM 2794 CB VAL B 121 30.314 -10.484 89.315 1.00 19.82 C +ATOM 2795 CG1 VAL B 121 30.493 -11.899 88.830 1.00 20.19 C +ATOM 2796 CG2 VAL B 121 29.186 -10.424 90.324 1.00 21.01 C +ATOM 2797 N ALA B 122 33.024 -9.134 88.158 1.00 23.76 N +ATOM 2798 CA ALA B 122 34.137 -9.210 87.216 1.00 24.52 C +ATOM 2799 C ALA B 122 35.413 -9.304 88.036 1.00 24.80 C +ATOM 2800 O ALA B 122 36.255 -10.167 87.789 1.00 24.75 O +ATOM 2801 CB ALA B 122 34.169 -7.966 86.319 1.00 25.31 C +ATOM 2802 N ARG B 123 35.546 -8.413 89.018 1.00 25.93 N +ATOM 2803 CA ARG B 123 36.716 -8.401 89.890 1.00 28.03 C +ATOM 2804 C ARG B 123 36.962 -9.793 90.461 1.00 27.25 C +ATOM 2805 O ARG B 123 38.089 -10.291 90.445 1.00 28.11 O +ATOM 2806 CB ARG B 123 36.522 -7.402 91.037 1.00 30.50 C +ATOM 2807 CG ARG B 123 36.670 -5.951 90.623 1.00 35.47 C +ATOM 2808 CD ARG B 123 37.683 -5.227 91.504 1.00 40.24 C +ATOM 2809 NE ARG B 123 37.231 -5.113 92.887 1.00 44.36 N +ATOM 2810 CZ ARG B 123 36.197 -4.370 93.274 1.00 47.50 C +ATOM 2811 NH1 ARG B 123 35.505 -3.668 92.379 1.00 47.47 N +ATOM 2812 NH2 ARG B 123 35.852 -4.329 94.555 1.00 47.51 N +ATOM 2813 N ALA B 124 35.902 -10.422 90.956 1.00 25.79 N +ATOM 2814 CA ALA B 124 36.021 -11.757 91.519 1.00 25.52 C +ATOM 2815 C ALA B 124 36.461 -12.753 90.452 1.00 27.01 C +ATOM 2816 O ALA B 124 37.356 -13.566 90.689 1.00 25.97 O +ATOM 2817 CB ALA B 124 34.697 -12.186 92.125 1.00 25.79 C +ATOM 2818 N MET B 125 35.836 -12.690 89.275 1.00 28.07 N +ATOM 2819 CA MET B 125 36.198 -13.595 88.184 1.00 28.97 C +ATOM 2820 C MET B 125 37.649 -13.416 87.760 1.00 29.69 C +ATOM 2821 O MET B 125 38.355 -14.398 87.552 1.00 30.94 O +ATOM 2822 CB MET B 125 35.281 -13.390 86.980 1.00 28.91 C +ATOM 2823 CG MET B 125 33.857 -13.819 87.244 1.00 28.91 C +ATOM 2824 SD MET B 125 32.754 -13.319 85.934 1.00 30.10 S +ATOM 2825 CE MET B 125 31.431 -14.503 86.111 1.00 25.08 C +ATOM 2826 N ILE B 126 38.103 -12.172 87.636 1.00 29.78 N +ATOM 2827 CA ILE B 126 39.487 -11.943 87.245 1.00 31.12 C +ATOM 2828 C ILE B 126 40.420 -12.551 88.293 1.00 33.62 C +ATOM 2829 O ILE B 126 41.419 -13.190 87.953 1.00 34.26 O +ATOM 2830 CB ILE B 126 39.786 -10.442 87.081 1.00 29.76 C +ATOM 2831 CG1 ILE B 126 38.974 -9.888 85.908 1.00 28.59 C +ATOM 2832 CG2 ILE B 126 41.270 -10.226 86.817 1.00 29.28 C +ATOM 2833 CD1 ILE B 126 39.197 -8.419 85.652 1.00 28.05 C +ATOM 2834 N ALA B 127 40.084 -12.366 89.567 1.00 35.16 N +ATOM 2835 CA ALA B 127 40.896 -12.917 90.652 1.00 35.66 C +ATOM 2836 C ALA B 127 40.798 -14.439 90.640 1.00 35.46 C +ATOM 2837 O ALA B 127 41.742 -15.131 91.004 1.00 35.97 O +ATOM 2838 CB ALA B 127 40.424 -12.367 92.000 1.00 33.45 C +ATOM 2839 N GLY B 128 39.646 -14.952 90.218 1.00 36.75 N +ATOM 2840 CA GLY B 128 39.445 -16.389 90.155 1.00 36.42 C +ATOM 2841 C GLY B 128 40.402 -17.034 89.173 1.00 37.02 C +ATOM 2842 O GLY B 128 40.810 -18.176 89.358 1.00 37.19 O +ATOM 2843 N GLY B 129 40.744 -16.303 88.116 1.00 38.14 N +ATOM 2844 CA GLY B 129 41.678 -16.812 87.128 1.00 38.10 C +ATOM 2845 C GLY B 129 41.122 -17.775 86.101 1.00 38.78 C +ATOM 2846 O GLY B 129 41.878 -18.337 85.309 1.00 39.67 O +ATOM 2847 N ARG B 130 39.813 -17.986 86.096 1.00 39.46 N +ATOM 2848 CA ARG B 130 39.238 -18.894 85.115 1.00 40.73 C +ATOM 2849 C ARG B 130 38.037 -18.309 84.378 1.00 38.98 C +ATOM 2850 O ARG B 130 37.140 -19.035 83.943 1.00 38.75 O +ATOM 2851 CB ARG B 130 38.881 -20.227 85.776 1.00 44.97 C +ATOM 2852 CG ARG B 130 37.966 -20.135 86.974 1.00 49.80 C +ATOM 2853 CD ARG B 130 38.324 -21.225 87.973 1.00 55.25 C +ATOM 2854 NE ARG B 130 37.211 -21.563 88.853 1.00 60.12 N +ATOM 2855 CZ ARG B 130 36.150 -22.270 88.475 1.00 62.56 C +ATOM 2856 NH1 ARG B 130 36.058 -22.719 87.230 1.00 63.15 N +ATOM 2857 NH2 ARG B 130 35.182 -22.533 89.343 1.00 65.26 N +ATOM 2858 N GLY B 131 38.035 -16.985 84.247 1.00 35.09 N +ATOM 2859 CA GLY B 131 36.973 -16.297 83.538 1.00 33.85 C +ATOM 2860 C GLY B 131 35.553 -16.527 84.008 1.00 32.12 C +ATOM 2861 O GLY B 131 35.321 -16.879 85.162 1.00 33.29 O +ATOM 2862 N GLY B 132 34.601 -16.313 83.101 1.00 30.38 N +ATOM 2863 CA GLY B 132 33.199 -16.482 83.429 1.00 26.76 C +ATOM 2864 C GLY B 132 32.258 -15.932 82.373 1.00 25.57 C +ATOM 2865 O GLY B 132 32.690 -15.485 81.314 1.00 26.37 O +ATOM 2866 N LYS B 133 30.966 -15.958 82.684 1.00 24.46 N +ATOM 2867 CA LYS B 133 29.911 -15.497 81.792 1.00 22.99 C +ATOM 2868 C LYS B 133 29.013 -14.446 82.443 1.00 23.36 C +ATOM 2869 O LYS B 133 28.475 -14.665 83.530 1.00 26.10 O +ATOM 2870 CB LYS B 133 29.026 -16.678 81.386 1.00 22.72 C +ATOM 2871 CG LYS B 133 29.746 -17.821 80.695 1.00 23.16 C +ATOM 2872 CD LYS B 133 30.197 -17.444 79.302 1.00 20.39 C +ATOM 2873 CE LYS B 133 30.870 -18.628 78.627 1.00 22.52 C +ATOM 2874 NZ LYS B 133 31.426 -18.250 77.301 1.00 23.90 N +ATOM 2875 N ILE B 134 28.847 -13.309 81.775 1.00 21.94 N +ATOM 2876 CA ILE B 134 27.976 -12.248 82.270 1.00 20.45 C +ATOM 2877 C ILE B 134 26.905 -11.987 81.214 1.00 20.97 C +ATOM 2878 O ILE B 134 27.220 -11.817 80.034 1.00 24.32 O +ATOM 2879 CB ILE B 134 28.745 -10.938 82.545 1.00 17.42 C +ATOM 2880 CG1 ILE B 134 29.712 -11.131 83.714 1.00 17.98 C +ATOM 2881 CG2 ILE B 134 27.768 -9.834 82.895 1.00 15.93 C +ATOM 2882 CD1 ILE B 134 30.520 -9.889 84.062 1.00 14.84 C +ATOM 2883 N ILE B 135 25.646 -11.965 81.646 1.00 18.32 N +ATOM 2884 CA ILE B 135 24.513 -11.748 80.765 1.00 13.96 C +ATOM 2885 C ILE B 135 23.648 -10.622 81.295 1.00 16.69 C +ATOM 2886 O ILE B 135 23.099 -10.730 82.392 1.00 18.09 O +ATOM 2887 CB ILE B 135 23.640 -13.005 80.682 1.00 13.51 C +ATOM 2888 CG1 ILE B 135 24.445 -14.161 80.091 1.00 11.69 C +ATOM 2889 CG2 ILE B 135 22.397 -12.723 79.856 1.00 13.39 C +ATOM 2890 CD1 ILE B 135 23.678 -15.461 80.021 1.00 9.93 C +ATOM 2891 N ASN B 136 23.519 -9.545 80.522 1.00 15.42 N +ATOM 2892 CA ASN B 136 22.700 -8.419 80.935 1.00 15.26 C +ATOM 2893 C ASN B 136 21.348 -8.520 80.266 1.00 17.30 C +ATOM 2894 O ASN B 136 21.212 -9.136 79.214 1.00 17.77 O +ATOM 2895 CB ASN B 136 23.355 -7.087 80.559 1.00 14.91 C +ATOM 2896 CG ASN B 136 24.725 -6.918 81.187 1.00 18.67 C +ATOM 2897 OD1 ASN B 136 24.929 -7.280 82.342 1.00 19.20 O +ATOM 2898 ND2 ASN B 136 25.667 -6.356 80.434 1.00 15.78 N +ATOM 2899 N MET B 137 20.340 -7.926 80.887 1.00 18.96 N +ATOM 2900 CA MET B 137 19.010 -7.953 80.327 1.00 19.92 C +ATOM 2901 C MET B 137 18.715 -6.599 79.755 1.00 22.28 C +ATOM 2902 O MET B 137 18.592 -5.612 80.486 1.00 22.16 O +ATOM 2903 CB MET B 137 17.977 -8.304 81.392 1.00 19.46 C +ATOM 2904 CG MET B 137 18.075 -9.743 81.858 1.00 21.29 C +ATOM 2905 SD MET B 137 17.881 -10.917 80.489 1.00 22.94 S +ATOM 2906 CE MET B 137 16.103 -11.037 80.435 1.00 17.97 C +ATOM 2907 N ALA B 138 18.623 -6.558 78.431 1.00 24.30 N +ATOM 2908 CA ALA B 138 18.326 -5.329 77.724 1.00 24.69 C +ATOM 2909 C ALA B 138 16.827 -5.334 77.459 1.00 25.28 C +ATOM 2910 O ALA B 138 16.046 -5.789 78.297 1.00 25.48 O +ATOM 2911 CB ALA B 138 19.106 -5.277 76.424 1.00 23.00 C +ATOM 2912 N SER B 139 16.426 -4.848 76.291 1.00 25.17 N +ATOM 2913 CA SER B 139 15.015 -4.795 75.939 1.00 24.47 C +ATOM 2914 C SER B 139 14.868 -4.112 74.586 1.00 24.65 C +ATOM 2915 O SER B 139 15.739 -3.343 74.179 1.00 21.99 O +ATOM 2916 CB SER B 139 14.250 -3.997 77.001 1.00 23.52 C +ATOM 2917 OG SER B 139 12.912 -3.756 76.600 1.00 24.45 O +ATOM 2918 N GLN B 140 13.770 -4.389 73.888 1.00 24.49 N +ATOM 2919 CA GLN B 140 13.560 -3.750 72.602 1.00 25.89 C +ATOM 2920 C GLN B 140 13.554 -2.245 72.827 1.00 23.93 C +ATOM 2921 O GLN B 140 13.946 -1.470 71.950 1.00 24.37 O +ATOM 2922 CB GLN B 140 12.233 -4.193 71.976 1.00 28.95 C +ATOM 2923 CG GLN B 140 11.027 -4.098 72.893 1.00 32.22 C +ATOM 2924 CD GLN B 140 9.710 -4.202 72.129 1.00 34.46 C +ATOM 2925 OE1 GLN B 140 9.517 -5.111 71.314 1.00 34.39 O +ATOM 2926 NE2 GLN B 140 8.795 -3.268 72.394 1.00 34.07 N +ATOM 2927 N ALA B 141 13.129 -1.839 74.020 1.00 21.78 N +ATOM 2928 CA ALA B 141 13.066 -0.427 74.365 1.00 18.21 C +ATOM 2929 C ALA B 141 14.449 0.201 74.276 1.00 17.76 C +ATOM 2930 O ALA B 141 14.576 1.416 74.150 1.00 17.87 O +ATOM 2931 CB ALA B 141 12.491 -0.257 75.753 1.00 17.44 C +ATOM 2932 N GLY B 142 15.483 -0.632 74.342 1.00 17.97 N +ATOM 2933 CA GLY B 142 16.843 -0.133 74.237 1.00 20.43 C +ATOM 2934 C GLY B 142 17.304 0.056 72.790 1.00 23.36 C +ATOM 2935 O GLY B 142 18.336 0.683 72.539 1.00 22.85 O +ATOM 2936 N ARG B 143 16.542 -0.481 71.835 1.00 22.94 N +ATOM 2937 CA ARG B 143 16.878 -0.371 70.414 1.00 23.96 C +ATOM 2938 C ARG B 143 16.369 0.931 69.788 1.00 24.95 C +ATOM 2939 O ARG B 143 17.008 1.487 68.895 1.00 27.01 O +ATOM 2940 CB ARG B 143 16.294 -1.553 69.639 1.00 22.02 C +ATOM 2941 CG ARG B 143 16.832 -2.908 70.053 1.00 18.76 C +ATOM 2942 CD ARG B 143 18.297 -3.067 69.698 1.00 14.41 C +ATOM 2943 NE ARG B 143 18.693 -4.466 69.824 1.00 14.09 N +ATOM 2944 CZ ARG B 143 19.918 -4.928 69.594 1.00 12.40 C +ATOM 2945 NH1 ARG B 143 20.175 -6.221 69.736 1.00 11.71 N +ATOM 2946 NH2 ARG B 143 20.884 -4.100 69.229 1.00 10.18 N +ATOM 2947 N ARG B 144 15.212 1.402 70.244 1.00 24.39 N +ATOM 2948 CA ARG B 144 14.637 2.639 69.726 1.00 23.26 C +ATOM 2949 C ARG B 144 13.756 3.267 70.798 1.00 21.28 C +ATOM 2950 O ARG B 144 13.117 2.561 71.571 1.00 17.90 O +ATOM 2951 CB ARG B 144 13.800 2.368 68.457 1.00 24.50 C +ATOM 2952 CG ARG B 144 12.427 1.731 68.698 1.00 22.97 C +ATOM 2953 CD ARG B 144 12.543 0.327 69.281 1.00 26.39 C +ATOM 2954 NE ARG B 144 11.249 -0.233 69.681 1.00 27.80 N +ATOM 2955 CZ ARG B 144 10.463 0.289 70.621 1.00 29.70 C +ATOM 2956 NH1 ARG B 144 10.834 1.392 71.264 1.00 30.92 N +ATOM 2957 NH2 ARG B 144 9.310 -0.294 70.925 1.00 27.28 N +ATOM 2958 N GLY B 145 13.722 4.594 70.826 1.00 21.06 N +ATOM 2959 CA GLY B 145 12.918 5.299 71.804 1.00 22.90 C +ATOM 2960 C GLY B 145 11.429 5.264 71.524 1.00 23.90 C +ATOM 2961 O GLY B 145 11.007 4.890 70.438 1.00 26.77 O +ATOM 2962 N GLU B 146 10.638 5.650 72.519 1.00 25.06 N +ATOM 2963 CA GLU B 146 9.183 5.684 72.417 1.00 25.12 C +ATOM 2964 C GLU B 146 8.686 6.955 73.074 1.00 25.83 C +ATOM 2965 O GLU B 146 9.246 7.397 74.079 1.00 27.33 O +ATOM 2966 CB GLU B 146 8.552 4.501 73.139 1.00 25.49 C +ATOM 2967 CG GLU B 146 8.809 3.170 72.512 1.00 29.63 C +ATOM 2968 CD GLU B 146 7.891 2.110 73.072 1.00 31.74 C +ATOM 2969 OE1 GLU B 146 6.668 2.382 73.154 1.00 33.38 O +ATOM 2970 OE2 GLU B 146 8.384 1.015 73.425 1.00 32.21 O +ATOM 2971 N ALA B 147 7.621 7.522 72.524 1.00 24.61 N +ATOM 2972 CA ALA B 147 7.053 8.760 73.041 1.00 26.70 C +ATOM 2973 C ALA B 147 6.781 8.774 74.544 1.00 27.67 C +ATOM 2974 O ALA B 147 7.174 9.713 75.234 1.00 29.15 O +ATOM 2975 CB ALA B 147 5.765 9.090 72.294 1.00 26.54 C +ATOM 2976 N LEU B 148 6.109 7.741 75.047 1.00 26.72 N +ATOM 2977 CA LEU B 148 5.754 7.678 76.463 1.00 25.88 C +ATOM 2978 C LEU B 148 6.650 6.793 77.326 1.00 25.10 C +ATOM 2979 O LEU B 148 6.263 6.433 78.436 1.00 25.39 O +ATOM 2980 CB LEU B 148 4.310 7.183 76.612 1.00 24.01 C +ATOM 2981 CG LEU B 148 3.204 7.871 75.807 1.00 24.39 C +ATOM 2982 CD1 LEU B 148 1.890 7.136 76.013 1.00 23.43 C +ATOM 2983 CD2 LEU B 148 3.080 9.312 76.232 1.00 23.94 C +ATOM 2984 N VAL B 149 7.838 6.445 76.844 1.00 23.19 N +ATOM 2985 CA VAL B 149 8.711 5.563 77.623 1.00 21.24 C +ATOM 2986 C VAL B 149 10.150 6.078 77.637 1.00 19.48 C +ATOM 2987 O VAL B 149 11.109 5.305 77.704 1.00 19.09 O +ATOM 2988 CB VAL B 149 8.667 4.117 77.038 1.00 21.93 C +ATOM 2989 CG1 VAL B 149 9.218 3.110 78.038 1.00 21.67 C +ATOM 2990 CG2 VAL B 149 7.241 3.753 76.662 1.00 19.57 C +ATOM 2991 N GLY B 150 10.288 7.397 77.588 1.00 17.99 N +ATOM 2992 CA GLY B 150 11.602 8.008 77.569 1.00 19.18 C +ATOM 2993 C GLY B 150 12.597 7.490 78.590 1.00 20.32 C +ATOM 2994 O GLY B 150 13.695 7.056 78.233 1.00 20.88 O +ATOM 2995 N VAL B 151 12.222 7.533 79.865 1.00 18.99 N +ATOM 2996 CA VAL B 151 13.117 7.087 80.920 1.00 17.25 C +ATOM 2997 C VAL B 151 13.544 5.631 80.748 1.00 16.51 C +ATOM 2998 O VAL B 151 14.731 5.334 80.657 1.00 16.38 O +ATOM 2999 CB VAL B 151 12.469 7.276 82.319 1.00 18.31 C +ATOM 3000 CG1 VAL B 151 13.419 6.788 83.403 1.00 19.16 C +ATOM 3001 CG2 VAL B 151 12.143 8.744 82.552 1.00 16.84 C +ATOM 3002 N TYR B 152 12.579 4.724 80.688 1.00 16.69 N +ATOM 3003 CA TYR B 152 12.887 3.305 80.549 1.00 18.24 C +ATOM 3004 C TYR B 152 13.747 2.990 79.322 1.00 18.08 C +ATOM 3005 O TYR B 152 14.700 2.216 79.419 1.00 17.85 O +ATOM 3006 CB TYR B 152 11.589 2.489 80.501 1.00 19.87 C +ATOM 3007 CG TYR B 152 11.812 0.997 80.455 1.00 21.36 C +ATOM 3008 CD1 TYR B 152 12.193 0.291 81.591 1.00 21.51 C +ATOM 3009 CD2 TYR B 152 11.663 0.291 79.261 1.00 23.54 C +ATOM 3010 CE1 TYR B 152 12.420 -1.087 81.540 1.00 22.88 C +ATOM 3011 CE2 TYR B 152 11.885 -1.082 79.199 1.00 22.68 C +ATOM 3012 CZ TYR B 152 12.261 -1.764 80.337 1.00 23.80 C +ATOM 3013 OH TYR B 152 12.456 -3.128 80.270 1.00 25.75 O +ATOM 3014 N CYS B 153 13.413 3.582 78.175 1.00 17.25 N +ATOM 3015 CA CYS B 153 14.180 3.349 76.952 1.00 16.40 C +ATOM 3016 C CYS B 153 15.626 3.791 77.129 1.00 14.82 C +ATOM 3017 O CYS B 153 16.560 3.079 76.744 1.00 14.52 O +ATOM 3018 CB CYS B 153 13.554 4.092 75.762 1.00 17.92 C +ATOM 3019 SG CYS B 153 12.035 3.336 75.119 1.00 21.12 S +ATOM 3020 N ALA B 154 15.815 4.966 77.714 1.00 14.14 N +ATOM 3021 CA ALA B 154 17.163 5.482 77.942 1.00 16.11 C +ATOM 3022 C ALA B 154 18.001 4.520 78.789 1.00 15.92 C +ATOM 3023 O ALA B 154 19.170 4.280 78.486 1.00 17.46 O +ATOM 3024 CB ALA B 154 17.095 6.855 78.615 1.00 14.83 C +ATOM 3025 N THR B 155 17.408 3.957 79.841 1.00 16.64 N +ATOM 3026 CA THR B 155 18.158 3.045 80.702 1.00 17.54 C +ATOM 3027 C THR B 155 18.580 1.790 79.945 1.00 16.86 C +ATOM 3028 O THR B 155 19.703 1.315 80.104 1.00 18.15 O +ATOM 3029 CB THR B 155 17.355 2.636 81.995 1.00 17.66 C +ATOM 3030 OG1 THR B 155 16.264 1.768 81.656 1.00 15.77 O +ATOM 3031 CG2 THR B 155 16.814 3.881 82.709 1.00 14.89 C +ATOM 3032 N LYS B 156 17.694 1.256 79.114 1.00 15.98 N +ATOM 3033 CA LYS B 156 18.036 0.061 78.356 1.00 17.40 C +ATOM 3034 C LYS B 156 19.043 0.352 77.238 1.00 17.38 C +ATOM 3035 O LYS B 156 19.832 -0.520 76.857 1.00 18.02 O +ATOM 3036 CB LYS B 156 16.768 -0.598 77.807 1.00 18.62 C +ATOM 3037 CG LYS B 156 15.902 -1.213 78.903 1.00 20.38 C +ATOM 3038 CD LYS B 156 16.713 -2.184 79.768 1.00 19.26 C +ATOM 3039 CE LYS B 156 15.846 -2.885 80.819 1.00 21.56 C +ATOM 3040 NZ LYS B 156 16.616 -3.928 81.573 1.00 18.38 N +ATOM 3041 N ALA B 157 19.038 1.577 76.725 1.00 16.25 N +ATOM 3042 CA ALA B 157 20.007 1.932 75.696 1.00 17.23 C +ATOM 3043 C ALA B 157 21.390 1.949 76.358 1.00 17.74 C +ATOM 3044 O ALA B 157 22.386 1.506 75.769 1.00 17.92 O +ATOM 3045 CB ALA B 157 19.685 3.299 75.117 1.00 14.49 C +ATOM 3046 N ALA B 158 21.442 2.447 77.595 1.00 15.62 N +ATOM 3047 CA ALA B 158 22.706 2.524 78.331 1.00 14.03 C +ATOM 3048 C ALA B 158 23.222 1.130 78.667 1.00 11.84 C +ATOM 3049 O ALA B 158 24.426 0.909 78.717 1.00 10.17 O +ATOM 3050 CB ALA B 158 22.529 3.349 79.599 1.00 14.04 C +ATOM 3051 N VAL B 159 22.307 0.188 78.876 1.00 12.73 N +ATOM 3052 CA VAL B 159 22.681 -1.195 79.179 1.00 14.42 C +ATOM 3053 C VAL B 159 23.384 -1.827 77.976 1.00 15.78 C +ATOM 3054 O VAL B 159 24.432 -2.479 78.108 1.00 16.95 O +ATOM 3055 CB VAL B 159 21.440 -2.055 79.505 1.00 15.83 C +ATOM 3056 CG1 VAL B 159 21.820 -3.534 79.494 1.00 13.24 C +ATOM 3057 CG2 VAL B 159 20.867 -1.653 80.854 1.00 14.21 C +ATOM 3058 N ILE B 160 22.783 -1.655 76.802 1.00 15.69 N +ATOM 3059 CA ILE B 160 23.354 -2.185 75.572 1.00 12.82 C +ATOM 3060 C ILE B 160 24.756 -1.595 75.394 1.00 12.12 C +ATOM 3061 O ILE B 160 25.686 -2.287 74.998 1.00 10.90 O +ATOM 3062 CB ILE B 160 22.455 -1.812 74.379 1.00 13.82 C +ATOM 3063 CG1 ILE B 160 21.170 -2.634 74.448 1.00 13.16 C +ATOM 3064 CG2 ILE B 160 23.189 -2.023 73.073 1.00 12.13 C +ATOM 3065 CD1 ILE B 160 20.089 -2.155 73.541 1.00 14.64 C +ATOM 3066 N SER B 161 24.907 -0.313 75.705 1.00 11.16 N +ATOM 3067 CA SER B 161 26.201 0.343 75.582 1.00 11.80 C +ATOM 3068 C SER B 161 27.206 -0.244 76.573 1.00 13.59 C +ATOM 3069 O SER B 161 28.354 -0.548 76.205 1.00 13.32 O +ATOM 3070 CB SER B 161 26.051 1.848 75.826 1.00 13.02 C +ATOM 3071 OG SER B 161 27.315 2.490 75.835 1.00 15.59 O +ATOM 3072 N LEU B 162 26.773 -0.410 77.828 1.00 12.32 N +ATOM 3073 CA LEU B 162 27.651 -0.960 78.856 1.00 14.71 C +ATOM 3074 C LEU B 162 28.035 -2.395 78.520 1.00 13.57 C +ATOM 3075 O LEU B 162 29.155 -2.826 78.803 1.00 13.72 O +ATOM 3076 CB LEU B 162 26.989 -0.883 80.242 1.00 16.43 C +ATOM 3077 CG LEU B 162 26.892 0.545 80.807 1.00 17.24 C +ATOM 3078 CD1 LEU B 162 26.027 0.554 82.053 1.00 20.88 C +ATOM 3079 CD2 LEU B 162 28.281 1.078 81.110 1.00 14.56 C +ATOM 3080 N THR B 163 27.112 -3.134 77.912 1.00 13.55 N +ATOM 3081 CA THR B 163 27.402 -4.511 77.519 1.00 13.79 C +ATOM 3082 C THR B 163 28.536 -4.553 76.484 1.00 14.13 C +ATOM 3083 O THR B 163 29.362 -5.471 76.486 1.00 14.28 O +ATOM 3084 CB THR B 163 26.173 -5.179 76.916 1.00 14.02 C +ATOM 3085 OG1 THR B 163 25.135 -5.225 77.896 1.00 14.46 O +ATOM 3086 CG2 THR B 163 26.504 -6.591 76.455 1.00 15.11 C +ATOM 3087 N GLN B 164 28.585 -3.555 75.604 1.00 14.37 N +ATOM 3088 CA GLN B 164 29.626 -3.521 74.584 1.00 13.44 C +ATOM 3089 C GLN B 164 30.960 -3.127 75.191 1.00 12.98 C +ATOM 3090 O GLN B 164 31.969 -3.780 74.937 1.00 13.14 O +ATOM 3091 CB GLN B 164 29.242 -2.550 73.463 1.00 13.02 C +ATOM 3092 CG GLN B 164 27.901 -2.878 72.854 1.00 14.35 C +ATOM 3093 CD GLN B 164 27.456 -1.873 71.813 1.00 19.25 C +ATOM 3094 OE1 GLN B 164 27.726 -0.666 71.926 1.00 22.11 O +ATOM 3095 NE2 GLN B 164 26.745 -2.358 70.799 1.00 16.52 N +ATOM 3096 N SER B 165 30.961 -2.064 75.997 1.00 13.49 N +ATOM 3097 CA SER B 165 32.183 -1.591 76.646 1.00 13.49 C +ATOM 3098 C SER B 165 32.809 -2.668 77.543 1.00 14.04 C +ATOM 3099 O SER B 165 34.029 -2.874 77.534 1.00 14.00 O +ATOM 3100 CB SER B 165 31.888 -0.349 77.487 1.00 14.84 C +ATOM 3101 OG SER B 165 31.414 0.723 76.688 1.00 13.35 O +ATOM 3102 N ALA B 166 31.973 -3.363 78.307 1.00 11.90 N +ATOM 3103 CA ALA B 166 32.465 -4.403 79.197 1.00 11.42 C +ATOM 3104 C ALA B 166 32.925 -5.592 78.376 1.00 12.32 C +ATOM 3105 O ALA B 166 33.992 -6.163 78.629 1.00 12.81 O +ATOM 3106 CB ALA B 166 31.367 -4.823 80.174 1.00 13.14 C +ATOM 3107 N GLY B 167 32.117 -5.961 77.385 1.00 13.03 N +ATOM 3108 CA GLY B 167 32.464 -7.077 76.529 1.00 12.96 C +ATOM 3109 C GLY B 167 33.858 -6.917 75.949 1.00 14.80 C +ATOM 3110 O GLY B 167 34.679 -7.827 76.044 1.00 16.17 O +ATOM 3111 N LEU B 168 34.135 -5.756 75.362 1.00 14.77 N +ATOM 3112 CA LEU B 168 35.439 -5.496 74.757 1.00 16.45 C +ATOM 3113 C LEU B 168 36.566 -5.404 75.773 1.00 18.39 C +ATOM 3114 O LEU B 168 37.698 -5.800 75.496 1.00 18.94 O +ATOM 3115 CB LEU B 168 35.401 -4.197 73.953 1.00 16.69 C +ATOM 3116 CG LEU B 168 34.456 -4.153 72.746 1.00 16.82 C +ATOM 3117 CD1 LEU B 168 34.454 -2.755 72.146 1.00 17.25 C +ATOM 3118 CD2 LEU B 168 34.893 -5.177 71.712 1.00 15.76 C +ATOM 3119 N ASN B 169 36.262 -4.872 76.950 1.00 20.40 N +ATOM 3120 CA ASN B 169 37.278 -4.717 77.976 1.00 20.61 C +ATOM 3121 C ASN B 169 37.563 -6.004 78.736 1.00 19.64 C +ATOM 3122 O ASN B 169 38.707 -6.287 79.054 1.00 19.18 O +ATOM 3123 CB ASN B 169 36.874 -3.607 78.958 1.00 21.53 C +ATOM 3124 CG ASN B 169 37.963 -3.302 79.981 1.00 22.86 C +ATOM 3125 OD1 ASN B 169 39.147 -3.264 79.649 1.00 23.09 O +ATOM 3126 ND2 ASN B 169 37.563 -3.065 81.223 1.00 21.30 N +ATOM 3127 N LEU B 170 36.534 -6.799 78.997 1.00 20.24 N +ATOM 3128 CA LEU B 170 36.719 -8.023 79.771 1.00 21.02 C +ATOM 3129 C LEU B 170 37.020 -9.309 79.013 1.00 21.98 C +ATOM 3130 O LEU B 170 37.427 -10.299 79.620 1.00 22.14 O +ATOM 3131 CB LEU B 170 35.499 -8.241 80.676 1.00 20.48 C +ATOM 3132 CG LEU B 170 35.225 -7.131 81.702 1.00 18.58 C +ATOM 3133 CD1 LEU B 170 33.921 -7.393 82.436 1.00 16.78 C +ATOM 3134 CD2 LEU B 170 36.379 -7.050 82.679 1.00 19.97 C +ATOM 3135 N ILE B 171 36.841 -9.310 77.696 1.00 22.60 N +ATOM 3136 CA ILE B 171 37.093 -10.529 76.939 1.00 21.87 C +ATOM 3137 C ILE B 171 38.544 -10.992 77.084 1.00 23.51 C +ATOM 3138 O ILE B 171 38.834 -12.178 76.969 1.00 23.30 O +ATOM 3139 CB ILE B 171 36.731 -10.356 75.416 1.00 20.03 C +ATOM 3140 CG1 ILE B 171 36.818 -11.709 74.702 1.00 14.25 C +ATOM 3141 CG2 ILE B 171 37.663 -9.365 74.744 1.00 18.19 C +ATOM 3142 CD1 ILE B 171 35.806 -12.732 75.205 1.00 9.88 C +ATOM 3143 N ARG B 172 39.450 -10.055 77.347 1.00 26.68 N +ATOM 3144 CA ARG B 172 40.865 -10.386 77.497 1.00 30.84 C +ATOM 3145 C ARG B 172 41.113 -11.245 78.741 1.00 31.32 C +ATOM 3146 O ARG B 172 42.121 -11.941 78.820 1.00 31.95 O +ATOM 3147 CB ARG B 172 41.719 -9.098 77.539 1.00 35.83 C +ATOM 3148 CG ARG B 172 41.232 -8.021 78.535 1.00 43.50 C +ATOM 3149 CD ARG B 172 41.997 -6.671 78.443 1.00 46.99 C +ATOM 3150 NE ARG B 172 41.626 -5.850 77.282 1.00 52.34 N +ATOM 3151 CZ ARG B 172 41.335 -4.545 77.332 1.00 54.33 C +ATOM 3152 NH1 ARG B 172 41.366 -3.895 78.488 1.00 55.39 N +ATOM 3153 NH2 ARG B 172 41.016 -3.878 76.224 1.00 55.25 N +ATOM 3154 N HIS B 173 40.189 -11.205 79.702 1.00 30.43 N +ATOM 3155 CA HIS B 173 40.318 -11.995 80.926 1.00 27.92 C +ATOM 3156 C HIS B 173 39.519 -13.285 80.877 1.00 27.25 C +ATOM 3157 O HIS B 173 39.392 -13.979 81.887 1.00 27.97 O +ATOM 3158 CB HIS B 173 39.867 -11.190 82.144 1.00 28.39 C +ATOM 3159 CG HIS B 173 40.752 -10.027 82.455 1.00 30.18 C +ATOM 3160 ND1 HIS B 173 40.354 -8.721 82.268 1.00 32.26 N +ATOM 3161 CD2 HIS B 173 42.029 -9.972 82.900 1.00 29.53 C +ATOM 3162 CE1 HIS B 173 41.350 -7.910 82.581 1.00 31.93 C +ATOM 3163 NE2 HIS B 173 42.377 -8.644 82.966 1.00 32.11 N +ATOM 3164 N GLY B 174 38.974 -13.608 79.710 1.00 24.62 N +ATOM 3165 CA GLY B 174 38.197 -14.825 79.581 1.00 20.62 C +ATOM 3166 C GLY B 174 36.771 -14.660 80.068 1.00 19.90 C +ATOM 3167 O GLY B 174 36.105 -15.637 80.407 1.00 19.97 O +ATOM 3168 N ILE B 175 36.293 -13.422 80.105 1.00 19.49 N +ATOM 3169 CA ILE B 175 34.927 -13.153 80.541 1.00 19.48 C +ATOM 3170 C ILE B 175 34.077 -12.678 79.371 1.00 19.83 C +ATOM 3171 O ILE B 175 34.361 -11.636 78.782 1.00 19.65 O +ATOM 3172 CB ILE B 175 34.881 -12.057 81.626 1.00 18.82 C +ATOM 3173 CG1 ILE B 175 35.697 -12.490 82.851 1.00 18.89 C +ATOM 3174 CG2 ILE B 175 33.428 -11.768 82.005 1.00 16.28 C +ATOM 3175 CD1 ILE B 175 35.859 -11.385 83.890 1.00 16.51 C +ATOM 3176 N ASN B 176 33.036 -13.438 79.045 1.00 20.28 N +ATOM 3177 CA ASN B 176 32.131 -13.075 77.957 1.00 19.87 C +ATOM 3178 C ASN B 176 30.975 -12.246 78.487 1.00 20.40 C +ATOM 3179 O ASN B 176 30.266 -12.665 79.397 1.00 20.18 O +ATOM 3180 CB ASN B 176 31.543 -14.323 77.280 1.00 22.17 C +ATOM 3181 CG ASN B 176 32.591 -15.164 76.564 1.00 21.82 C +ATOM 3182 OD1 ASN B 176 33.378 -15.863 77.197 1.00 22.72 O +ATOM 3183 ND2 ASN B 176 32.602 -15.094 75.232 1.00 17.83 N +ATOM 3184 N VAL B 177 30.773 -11.076 77.902 1.00 21.26 N +ATOM 3185 CA VAL B 177 29.677 -10.211 78.312 1.00 20.52 C +ATOM 3186 C VAL B 177 28.743 -9.995 77.116 1.00 21.21 C +ATOM 3187 O VAL B 177 29.165 -9.495 76.076 1.00 21.70 O +ATOM 3188 CB VAL B 177 30.205 -8.841 78.806 1.00 20.00 C +ATOM 3189 CG1 VAL B 177 29.064 -8.000 79.358 1.00 17.89 C +ATOM 3190 CG2 VAL B 177 31.264 -9.049 79.857 1.00 19.15 C +ATOM 3191 N ASN B 178 27.481 -10.387 77.269 1.00 19.88 N +ATOM 3192 CA ASN B 178 26.485 -10.225 76.214 1.00 19.36 C +ATOM 3193 C ASN B 178 25.152 -9.891 76.860 1.00 19.68 C +ATOM 3194 O ASN B 178 25.019 -9.967 78.079 1.00 19.82 O +ATOM 3195 CB ASN B 178 26.348 -11.515 75.388 1.00 19.01 C +ATOM 3196 CG ASN B 178 27.605 -11.838 74.599 1.00 16.91 C +ATOM 3197 OD1 ASN B 178 28.015 -11.078 73.726 1.00 17.19 O +ATOM 3198 ND2 ASN B 178 28.222 -12.964 74.910 1.00 15.93 N +ATOM 3199 N ALA B 179 24.167 -9.530 76.048 1.00 19.47 N +ATOM 3200 CA ALA B 179 22.848 -9.194 76.569 1.00 21.08 C +ATOM 3201 C ALA B 179 21.711 -9.799 75.746 1.00 22.05 C +ATOM 3202 O ALA B 179 21.876 -10.115 74.567 1.00 21.84 O +ATOM 3203 CB ALA B 179 22.687 -7.681 76.641 1.00 19.90 C +ATOM 3204 N ILE B 180 20.565 -9.977 76.397 1.00 22.69 N +ATOM 3205 CA ILE B 180 19.369 -10.510 75.759 1.00 21.62 C +ATOM 3206 C ILE B 180 18.368 -9.373 75.746 1.00 22.34 C +ATOM 3207 O ILE B 180 18.224 -8.657 76.737 1.00 24.00 O +ATOM 3208 CB ILE B 180 18.765 -11.690 76.552 1.00 20.46 C +ATOM 3209 CG1 ILE B 180 19.731 -12.875 76.551 1.00 20.73 C +ATOM 3210 CG2 ILE B 180 17.437 -12.108 75.932 1.00 21.33 C +ATOM 3211 CD1 ILE B 180 19.237 -14.075 77.339 1.00 20.70 C +ATOM 3212 N ALA B 181 17.685 -9.186 74.625 1.00 23.26 N +ATOM 3213 CA ALA B 181 16.710 -8.111 74.534 1.00 24.71 C +ATOM 3214 C ALA B 181 15.337 -8.678 74.219 1.00 26.50 C +ATOM 3215 O ALA B 181 15.031 -8.989 73.071 1.00 26.56 O +ATOM 3216 CB ALA B 181 17.128 -7.109 73.467 1.00 23.31 C +ATOM 3217 N PRO B 182 14.497 -8.846 75.253 1.00 28.00 N +ATOM 3218 CA PRO B 182 13.145 -9.380 75.075 1.00 28.32 C +ATOM 3219 C PRO B 182 12.251 -8.331 74.430 1.00 29.15 C +ATOM 3220 O PRO B 182 12.586 -7.147 74.405 1.00 29.18 O +ATOM 3221 CB PRO B 182 12.702 -9.694 76.509 1.00 28.00 C +ATOM 3222 CG PRO B 182 13.991 -9.855 77.259 1.00 27.89 C +ATOM 3223 CD PRO B 182 14.833 -8.755 76.683 1.00 26.53 C +ATOM 3224 N GLY B 183 11.114 -8.767 73.906 1.00 31.77 N +ATOM 3225 CA GLY B 183 10.190 -7.834 73.294 1.00 35.56 C +ATOM 3226 C GLY B 183 9.144 -7.485 74.331 1.00 38.70 C +ATOM 3227 O GLY B 183 9.456 -6.899 75.368 1.00 38.72 O +ATOM 3228 N VAL B 184 7.897 -7.842 74.050 1.00 41.18 N +ATOM 3229 CA VAL B 184 6.819 -7.595 74.987 1.00 43.10 C +ATOM 3230 C VAL B 184 6.512 -8.916 75.674 1.00 46.08 C +ATOM 3231 O VAL B 184 5.971 -9.830 75.062 1.00 47.04 O +ATOM 3232 CB VAL B 184 5.551 -7.082 74.280 1.00 41.85 C +ATOM 3233 CG1 VAL B 184 5.744 -5.646 73.848 1.00 40.91 C +ATOM 3234 CG2 VAL B 184 5.236 -7.954 73.079 1.00 41.44 C +ATOM 3235 N VAL B 185 6.897 -9.029 76.938 1.00 49.51 N +ATOM 3236 CA VAL B 185 6.634 -10.245 77.683 1.00 52.83 C +ATOM 3237 C VAL B 185 5.373 -10.014 78.502 1.00 56.81 C +ATOM 3238 O VAL B 185 5.212 -8.970 79.143 1.00 57.80 O +ATOM 3239 CB VAL B 185 7.788 -10.593 78.638 1.00 50.90 C +ATOM 3240 CG1 VAL B 185 7.473 -11.864 79.404 1.00 51.05 C +ATOM 3241 CG2 VAL B 185 9.068 -10.766 77.848 1.00 50.41 C +ATOM 3242 N ASP B 186 4.474 -10.992 78.464 1.00 60.55 N +ATOM 3243 CA ASP B 186 3.224 -10.921 79.191 1.00 64.52 C +ATOM 3244 C ASP B 186 3.440 -10.916 80.687 1.00 66.67 C +ATOM 3245 O ASP B 186 4.360 -11.555 81.208 1.00 66.08 O +ATOM 3246 CB ASP B 186 2.310 -12.095 78.824 1.00 66.53 C +ATOM 3247 CG ASP B 186 0.907 -11.644 78.478 1.00 69.55 C +ATOM 3248 OD1 ASP B 186 0.432 -12.012 77.381 1.00 71.69 O +ATOM 3249 OD2 ASP B 186 0.279 -10.933 79.292 1.00 70.03 O +ATOM 3250 N GLY B 187 2.602 -10.163 81.380 1.00 68.91 N +ATOM 3251 CA GLY B 187 2.673 -10.081 82.817 1.00 71.23 C +ATOM 3252 C GLY B 187 1.392 -9.513 83.374 1.00 73.42 C +ATOM 3253 O GLY B 187 0.522 -9.020 82.654 1.00 73.53 O +ATOM 3254 N GLU B 188 1.292 -9.583 84.688 1.00 75.15 N +ATOM 3255 CA GLU B 188 0.135 -9.069 85.370 1.00 76.44 C +ATOM 3256 C GLU B 188 0.304 -7.560 85.299 1.00 76.27 C +ATOM 3257 O GLU B 188 -0.642 -6.832 84.998 1.00 76.44 O +ATOM 3258 CB GLU B 188 0.139 -9.558 86.816 1.00 77.91 C +ATOM 3259 CG GLU B 188 1.505 -9.437 87.460 1.00 79.66 C +ATOM 3260 CD GLU B 188 1.468 -9.635 88.956 1.00 80.35 C +ATOM 3261 OE1 GLU B 188 1.298 -10.790 89.401 1.00 80.39 O +ATOM 3262 OE2 GLU B 188 1.603 -8.628 89.687 1.00 80.20 O +ATOM 3263 N HIS B 189 1.539 -7.115 85.522 1.00 75.44 N +ATOM 3264 CA HIS B 189 1.892 -5.701 85.475 1.00 74.50 C +ATOM 3265 C HIS B 189 1.283 -5.008 84.262 1.00 73.37 C +ATOM 3266 O HIS B 189 1.162 -3.782 84.233 1.00 73.07 O +ATOM 3267 CB HIS B 189 3.409 -5.546 85.421 1.00 75.06 C +ATOM 3268 CG HIS B 189 4.025 -6.097 84.172 1.00 76.04 C +ATOM 3269 ND1 HIS B 189 4.465 -5.297 83.137 1.00 76.53 N +ATOM 3270 CD2 HIS B 189 4.242 -7.372 83.774 1.00 76.49 C +ATOM 3271 CE1 HIS B 189 4.923 -6.055 82.158 1.00 76.08 C +ATOM 3272 NE2 HIS B 189 4.797 -7.322 82.520 1.00 76.23 N +ATOM 3273 N TRP B 190 0.923 -5.799 83.257 1.00 72.24 N +ATOM 3274 CA TRP B 190 0.313 -5.279 82.047 1.00 71.62 C +ATOM 3275 C TRP B 190 -1.064 -4.709 82.343 1.00 71.76 C +ATOM 3276 O TRP B 190 -1.609 -3.948 81.548 1.00 71.30 O +ATOM 3277 CB TRP B 190 0.198 -6.382 80.991 1.00 71.07 C +ATOM 3278 CG TRP B 190 1.231 -6.264 79.918 1.00 69.94 C +ATOM 3279 CD1 TRP B 190 2.364 -7.015 79.775 1.00 69.83 C +ATOM 3280 CD2 TRP B 190 1.252 -5.299 78.862 1.00 68.94 C +ATOM 3281 NE1 TRP B 190 3.090 -6.574 78.693 1.00 69.80 N +ATOM 3282 CE2 TRP B 190 2.430 -5.521 78.116 1.00 69.18 C +ATOM 3283 CE3 TRP B 190 0.389 -4.265 78.475 1.00 67.85 C +ATOM 3284 CZ2 TRP B 190 2.768 -4.745 77.003 1.00 68.37 C +ATOM 3285 CZ3 TRP B 190 0.726 -3.493 77.369 1.00 67.68 C +ATOM 3286 CH2 TRP B 190 1.906 -3.739 76.647 1.00 67.79 C +ATOM 3287 N ASP B 191 -1.627 -5.085 83.486 1.00 72.15 N +ATOM 3288 CA ASP B 191 -2.939 -4.592 83.882 1.00 72.44 C +ATOM 3289 C ASP B 191 -2.879 -3.080 84.063 1.00 71.41 C +ATOM 3290 O ASP B 191 -3.710 -2.346 83.526 1.00 71.11 O +ATOM 3291 CB ASP B 191 -3.380 -5.255 85.190 1.00 74.22 C +ATOM 3292 CG ASP B 191 -4.489 -6.270 84.986 1.00 76.05 C +ATOM 3293 OD1 ASP B 191 -4.804 -6.584 83.818 1.00 76.42 O +ATOM 3294 OD2 ASP B 191 -5.044 -6.756 85.996 1.00 78.03 O +ATOM 3295 N GLY B 192 -1.885 -2.625 84.819 1.00 70.34 N +ATOM 3296 CA GLY B 192 -1.726 -1.204 85.061 1.00 68.71 C +ATOM 3297 C GLY B 192 -1.154 -0.491 83.854 1.00 67.74 C +ATOM 3298 O GLY B 192 -1.609 0.594 83.497 1.00 67.26 O +ATOM 3299 N VAL B 193 -0.155 -1.101 83.224 1.00 67.33 N +ATOM 3300 CA VAL B 193 0.483 -0.517 82.048 1.00 66.28 C +ATOM 3301 C VAL B 193 -0.552 -0.217 80.963 1.00 66.02 C +ATOM 3302 O VAL B 193 -0.506 0.837 80.327 1.00 65.75 O +ATOM 3303 CB VAL B 193 1.565 -1.462 81.469 1.00 66.13 C +ATOM 3304 CG1 VAL B 193 2.241 -0.810 80.267 1.00 64.79 C +ATOM 3305 CG2 VAL B 193 2.590 -1.796 82.543 1.00 64.72 C +ATOM 3306 N ASP B 194 -1.480 -1.148 80.756 1.00 65.29 N +ATOM 3307 CA ASP B 194 -2.534 -0.976 79.760 1.00 64.71 C +ATOM 3308 C ASP B 194 -3.417 0.201 80.147 1.00 64.07 C +ATOM 3309 O ASP B 194 -3.833 0.988 79.300 1.00 62.56 O +ATOM 3310 CB ASP B 194 -3.399 -2.235 79.668 1.00 65.78 C +ATOM 3311 CG ASP B 194 -4.621 -2.040 78.785 1.00 66.59 C +ATOM 3312 OD1 ASP B 194 -4.460 -1.958 77.547 1.00 67.25 O +ATOM 3313 OD2 ASP B 194 -5.743 -1.958 79.333 1.00 66.18 O +ATOM 3314 N ALA B 195 -3.707 0.304 81.439 1.00 64.56 N +ATOM 3315 CA ALA B 195 -4.536 1.384 81.956 1.00 64.99 C +ATOM 3316 C ALA B 195 -3.869 2.717 81.650 1.00 64.97 C +ATOM 3317 O ALA B 195 -4.523 3.671 81.221 1.00 64.41 O +ATOM 3318 CB ALA B 195 -4.723 1.220 83.461 1.00 65.23 C +ATOM 3319 N LYS B 196 -2.559 2.764 81.875 1.00 65.84 N +ATOM 3320 CA LYS B 196 -1.759 3.961 81.630 1.00 66.88 C +ATOM 3321 C LYS B 196 -1.912 4.436 80.193 1.00 66.12 C +ATOM 3322 O LYS B 196 -2.289 5.580 79.949 1.00 65.02 O +ATOM 3323 CB LYS B 196 -0.284 3.673 81.911 1.00 68.85 C +ATOM 3324 CG LYS B 196 0.058 3.513 83.379 1.00 71.50 C +ATOM 3325 CD LYS B 196 -0.034 4.843 84.105 1.00 73.53 C +ATOM 3326 CE LYS B 196 0.473 4.717 85.531 1.00 75.80 C +ATOM 3327 NZ LYS B 196 0.535 6.043 86.207 1.00 78.00 N +ATOM 3328 N PHE B 197 -1.604 3.552 79.248 1.00 65.71 N +ATOM 3329 CA PHE B 197 -1.718 3.881 77.833 1.00 65.93 C +ATOM 3330 C PHE B 197 -3.156 4.232 77.466 1.00 66.65 C +ATOM 3331 O PHE B 197 -3.400 5.175 76.713 1.00 66.50 O +ATOM 3332 CB PHE B 197 -1.258 2.708 76.964 1.00 64.58 C +ATOM 3333 CG PHE B 197 0.231 2.546 76.895 1.00 62.86 C +ATOM 3334 CD1 PHE B 197 0.865 1.518 77.584 1.00 62.43 C +ATOM 3335 CD2 PHE B 197 1.000 3.413 76.125 1.00 61.34 C +ATOM 3336 CE1 PHE B 197 2.244 1.354 77.505 1.00 61.38 C +ATOM 3337 CE2 PHE B 197 2.376 3.258 76.040 1.00 60.74 C +ATOM 3338 CZ PHE B 197 3.000 2.225 76.730 1.00 60.40 C +ATOM 3339 N ALA B 198 -4.104 3.464 77.994 1.00 67.83 N +ATOM 3340 CA ALA B 198 -5.516 3.699 77.715 1.00 68.71 C +ATOM 3341 C ALA B 198 -5.881 5.127 78.091 1.00 69.34 C +ATOM 3342 O ALA B 198 -6.622 5.802 77.376 1.00 69.21 O +ATOM 3343 CB ALA B 198 -6.375 2.715 78.498 1.00 68.56 C +ATOM 3344 N ASP B 199 -5.339 5.585 79.214 1.00 70.38 N +ATOM 3345 CA ASP B 199 -5.608 6.930 79.702 1.00 71.33 C +ATOM 3346 C ASP B 199 -4.825 7.998 78.937 1.00 70.85 C +ATOM 3347 O ASP B 199 -5.344 9.077 78.658 1.00 69.98 O +ATOM 3348 CB ASP B 199 -5.277 7.011 81.194 1.00 73.24 C +ATOM 3349 CG ASP B 199 -5.775 8.291 81.830 1.00 75.53 C +ATOM 3350 OD1 ASP B 199 -7.003 8.529 81.794 1.00 76.91 O +ATOM 3351 OD2 ASP B 199 -4.944 9.057 82.364 1.00 76.23 O +ATOM 3352 N TYR B 200 -3.578 7.687 78.596 1.00 70.98 N +ATOM 3353 CA TYR B 200 -2.709 8.617 77.879 1.00 71.09 C +ATOM 3354 C TYR B 200 -3.040 8.808 76.402 1.00 71.65 C +ATOM 3355 O TYR B 200 -2.731 9.851 75.829 1.00 71.29 O +ATOM 3356 CB TYR B 200 -1.247 8.167 77.987 1.00 70.62 C +ATOM 3357 CG TYR B 200 -0.548 8.536 79.280 1.00 70.15 C +ATOM 3358 CD1 TYR B 200 0.005 7.553 80.099 1.00 70.25 C +ATOM 3359 CD2 TYR B 200 -0.401 9.870 79.662 1.00 69.44 C +ATOM 3360 CE1 TYR B 200 0.689 7.885 81.262 1.00 70.33 C +ATOM 3361 CE2 TYR B 200 0.283 10.215 80.826 1.00 69.32 C +ATOM 3362 CZ TYR B 200 0.827 9.217 81.621 1.00 70.17 C +ATOM 3363 OH TYR B 200 1.518 9.547 82.768 1.00 70.76 O +ATOM 3364 N GLU B 201 -3.670 7.814 75.785 1.00 72.74 N +ATOM 3365 CA GLU B 201 -3.977 7.902 74.358 1.00 73.51 C +ATOM 3366 C GLU B 201 -5.458 7.779 73.996 1.00 73.32 C +ATOM 3367 O GLU B 201 -5.788 7.563 72.830 1.00 73.28 O +ATOM 3368 CB GLU B 201 -3.187 6.830 73.593 1.00 74.84 C +ATOM 3369 CG GLU B 201 -1.817 6.519 74.185 1.00 76.63 C +ATOM 3370 CD GLU B 201 -1.122 5.350 73.501 1.00 77.03 C +ATOM 3371 OE1 GLU B 201 -0.248 5.590 72.643 1.00 76.76 O +ATOM 3372 OE2 GLU B 201 -1.453 4.186 73.817 1.00 77.57 O +ATOM 3373 N ASN B 202 -6.344 7.908 74.980 1.00 72.41 N +ATOM 3374 CA ASN B 202 -7.779 7.812 74.722 1.00 71.24 C +ATOM 3375 C ASN B 202 -8.117 6.474 74.062 1.00 69.78 C +ATOM 3376 O ASN B 202 -8.616 6.431 72.938 1.00 69.17 O +ATOM 3377 CB ASN B 202 -8.218 8.978 73.822 1.00 72.75 C +ATOM 3378 CG ASN B 202 -9.723 9.025 73.603 1.00 74.35 C +ATOM 3379 OD1 ASN B 202 -10.500 9.037 74.557 1.00 75.59 O +ATOM 3380 ND2 ASN B 202 -10.138 9.068 72.340 1.00 74.19 N +ATOM 3381 N LEU B 203 -7.840 5.383 74.772 1.00 68.67 N +ATOM 3382 CA LEU B 203 -8.105 4.038 74.264 1.00 68.10 C +ATOM 3383 C LEU B 203 -8.940 3.218 75.252 1.00 67.53 C +ATOM 3384 O LEU B 203 -8.814 3.378 76.465 1.00 67.55 O +ATOM 3385 CB LEU B 203 -6.784 3.300 74.003 1.00 67.77 C +ATOM 3386 CG LEU B 203 -5.777 3.850 72.987 1.00 67.47 C +ATOM 3387 CD1 LEU B 203 -4.498 3.037 73.082 1.00 67.38 C +ATOM 3388 CD2 LEU B 203 -6.346 3.788 71.574 1.00 67.21 C +ATOM 3389 N PRO B 204 -9.810 2.329 74.740 1.00 66.97 N +ATOM 3390 CA PRO B 204 -10.645 1.495 75.613 1.00 66.44 C +ATOM 3391 C PRO B 204 -9.768 0.653 76.541 1.00 66.14 C +ATOM 3392 O PRO B 204 -8.720 0.163 76.129 1.00 66.23 O +ATOM 3393 CB PRO B 204 -11.419 0.631 74.621 1.00 66.23 C +ATOM 3394 CG PRO B 204 -11.563 1.533 73.436 1.00 65.94 C +ATOM 3395 CD PRO B 204 -10.184 2.141 73.326 1.00 66.87 C +ATOM 3396 N ARG B 205 -10.190 0.488 77.789 1.00 66.21 N +ATOM 3397 CA ARG B 205 -9.413 -0.300 78.740 1.00 67.58 C +ATOM 3398 C ARG B 205 -9.165 -1.701 78.174 1.00 66.78 C +ATOM 3399 O ARG B 205 -10.111 -2.454 77.935 1.00 67.07 O +ATOM 3400 CB ARG B 205 -10.161 -0.426 80.069 1.00 69.85 C +ATOM 3401 CG ARG B 205 -10.723 0.877 80.622 1.00 74.11 C +ATOM 3402 CD ARG B 205 -11.655 0.591 81.799 1.00 77.50 C +ATOM 3403 NE ARG B 205 -12.439 1.755 82.210 1.00 80.59 N +ATOM 3404 CZ ARG B 205 -13.404 1.721 83.129 1.00 81.87 C +ATOM 3405 NH1 ARG B 205 -13.708 0.580 83.739 1.00 81.83 N +ATOM 3406 NH2 ARG B 205 -14.068 2.828 83.440 1.00 82.30 N +ATOM 3407 N GLY B 206 -7.898 -2.044 77.953 1.00 64.88 N +ATOM 3408 CA GLY B 206 -7.570 -3.362 77.435 1.00 62.82 C +ATOM 3409 C GLY B 206 -7.254 -3.426 75.952 1.00 61.37 C +ATOM 3410 O GLY B 206 -6.824 -4.464 75.451 1.00 61.15 O +ATOM 3411 N GLU B 207 -7.468 -2.325 75.243 1.00 60.86 N +ATOM 3412 CA GLU B 207 -7.191 -2.282 73.813 1.00 60.53 C +ATOM 3413 C GLU B 207 -5.685 -2.258 73.553 1.00 60.57 C +ATOM 3414 O GLU B 207 -5.197 -2.893 72.620 1.00 61.42 O +ATOM 3415 CB GLU B 207 -7.842 -1.045 73.183 1.00 60.50 C +ATOM 3416 CG GLU B 207 -7.462 -0.806 71.723 1.00 61.68 C +ATOM 3417 CD GLU B 207 -8.139 -1.765 70.758 1.00 62.01 C +ATOM 3418 OE1 GLU B 207 -8.559 -2.864 71.184 1.00 62.29 O +ATOM 3419 OE2 GLU B 207 -8.238 -1.417 69.563 1.00 63.04 O +ATOM 3420 N LYS B 208 -4.953 -1.526 74.387 1.00 59.82 N +ATOM 3421 CA LYS B 208 -3.508 -1.413 74.240 1.00 58.47 C +ATOM 3422 C LYS B 208 -2.803 -2.764 74.333 1.00 57.65 C +ATOM 3423 O LYS B 208 -1.989 -3.104 73.473 1.00 57.78 O +ATOM 3424 CB LYS B 208 -2.943 -0.468 75.303 1.00 58.69 C +ATOM 3425 CG LYS B 208 -1.468 -0.148 75.119 1.00 58.26 C +ATOM 3426 CD LYS B 208 -1.234 0.593 73.814 1.00 57.23 C +ATOM 3427 CE LYS B 208 0.230 0.938 73.629 1.00 56.42 C +ATOM 3428 NZ LYS B 208 0.447 1.695 72.368 1.00 56.15 N +ATOM 3429 N LYS B 209 -3.105 -3.531 75.375 1.00 55.68 N +ATOM 3430 CA LYS B 209 -2.473 -4.833 75.534 1.00 55.00 C +ATOM 3431 C LYS B 209 -2.818 -5.730 74.353 1.00 54.53 C +ATOM 3432 O LYS B 209 -2.030 -6.589 73.962 1.00 53.24 O +ATOM 3433 CB LYS B 209 -2.925 -5.503 76.831 1.00 55.21 C +ATOM 3434 CG LYS B 209 -2.248 -6.844 77.076 1.00 55.37 C +ATOM 3435 CD LYS B 209 -2.799 -7.548 78.302 1.00 56.19 C +ATOM 3436 CE LYS B 209 -2.108 -8.886 78.511 1.00 56.55 C +ATOM 3437 NZ LYS B 209 -2.657 -9.625 79.680 1.00 56.81 N +ATOM 3438 N ARG B 210 -4.003 -5.526 73.789 1.00 55.20 N +ATOM 3439 CA ARG B 210 -4.447 -6.322 72.652 1.00 56.00 C +ATOM 3440 C ARG B 210 -3.658 -5.938 71.401 1.00 55.59 C +ATOM 3441 O ARG B 210 -3.102 -6.802 70.722 1.00 56.61 O +ATOM 3442 CB ARG B 210 -5.943 -6.107 72.404 1.00 57.46 C +ATOM 3443 CG ARG B 210 -6.560 -7.094 71.420 1.00 58.86 C +ATOM 3444 CD ARG B 210 -7.897 -6.592 70.899 1.00 59.39 C +ATOM 3445 NE ARG B 210 -7.737 -5.361 70.130 1.00 61.46 N +ATOM 3446 CZ ARG B 210 -7.023 -5.263 69.011 1.00 62.93 C +ATOM 3447 NH1 ARG B 210 -6.397 -6.328 68.520 1.00 62.98 N +ATOM 3448 NH2 ARG B 210 -6.926 -4.096 68.382 1.00 63.59 N +ATOM 3449 N GLN B 211 -3.614 -4.640 71.103 1.00 54.82 N +ATOM 3450 CA GLN B 211 -2.892 -4.138 69.937 1.00 53.85 C +ATOM 3451 C GLN B 211 -1.438 -4.597 69.926 1.00 52.49 C +ATOM 3452 O GLN B 211 -0.957 -5.128 68.925 1.00 52.30 O +ATOM 3453 CB GLN B 211 -2.933 -2.607 69.893 1.00 55.17 C +ATOM 3454 CG GLN B 211 -4.265 -2.019 69.458 1.00 57.86 C +ATOM 3455 CD GLN B 211 -4.221 -0.501 69.327 1.00 59.38 C +ATOM 3456 OE1 GLN B 211 -3.377 0.049 68.616 1.00 58.85 O +ATOM 3457 NE2 GLN B 211 -5.137 0.180 70.011 1.00 59.61 N +ATOM 3458 N VAL B 212 -0.743 -4.385 71.042 1.00 50.48 N +ATOM 3459 CA VAL B 212 0.659 -4.775 71.162 1.00 48.20 C +ATOM 3460 C VAL B 212 0.854 -6.263 70.878 1.00 47.04 C +ATOM 3461 O VAL B 212 1.764 -6.649 70.143 1.00 47.47 O +ATOM 3462 CB VAL B 212 1.211 -4.462 72.571 1.00 47.69 C +ATOM 3463 CG1 VAL B 212 2.673 -4.864 72.658 1.00 48.12 C +ATOM 3464 CG2 VAL B 212 1.056 -2.985 72.873 1.00 47.66 C +ATOM 3465 N GLY B 213 0.000 -7.099 71.455 1.00 44.40 N +ATOM 3466 CA GLY B 213 0.127 -8.526 71.227 1.00 44.63 C +ATOM 3467 C GLY B 213 -0.072 -8.910 69.771 1.00 43.50 C +ATOM 3468 O GLY B 213 0.663 -9.734 69.223 1.00 43.48 O +ATOM 3469 N ALA B 214 -1.065 -8.298 69.135 1.00 42.10 N +ATOM 3470 CA ALA B 214 -1.376 -8.591 67.745 1.00 41.27 C +ATOM 3471 C ALA B 214 -0.335 -8.074 66.755 1.00 40.01 C +ATOM 3472 O ALA B 214 -0.246 -8.566 65.633 1.00 40.01 O +ATOM 3473 CB ALA B 214 -2.740 -8.026 67.403 1.00 42.33 C +ATOM 3474 N ALA B 215 0.453 -7.091 67.171 1.00 38.55 N +ATOM 3475 CA ALA B 215 1.476 -6.515 66.304 1.00 37.36 C +ATOM 3476 C ALA B 215 2.757 -7.346 66.222 1.00 36.96 C +ATOM 3477 O ALA B 215 3.555 -7.170 65.301 1.00 38.37 O +ATOM 3478 CB ALA B 215 1.808 -5.102 66.763 1.00 37.49 C +ATOM 3479 N VAL B 216 2.967 -8.239 67.183 1.00 34.88 N +ATOM 3480 CA VAL B 216 4.163 -9.071 67.168 1.00 32.52 C +ATOM 3481 C VAL B 216 4.079 -10.016 65.968 1.00 31.88 C +ATOM 3482 O VAL B 216 3.113 -10.761 65.823 1.00 30.81 O +ATOM 3483 CB VAL B 216 4.287 -9.892 68.477 1.00 32.02 C +ATOM 3484 CG1 VAL B 216 5.458 -10.858 68.384 1.00 29.57 C +ATOM 3485 CG2 VAL B 216 4.475 -8.949 69.663 1.00 31.56 C +ATOM 3486 N PRO B 217 5.094 -9.992 65.088 1.00 31.47 N +ATOM 3487 CA PRO B 217 5.099 -10.858 63.909 1.00 30.94 C +ATOM 3488 C PRO B 217 4.713 -12.297 64.232 1.00 30.48 C +ATOM 3489 O PRO B 217 3.820 -12.859 63.601 1.00 31.40 O +ATOM 3490 CB PRO B 217 6.535 -10.735 63.408 1.00 30.38 C +ATOM 3491 CG PRO B 217 6.877 -9.328 63.751 1.00 29.06 C +ATOM 3492 CD PRO B 217 6.343 -9.211 65.159 1.00 31.31 C +ATOM 3493 N PHE B 218 5.390 -12.880 65.218 1.00 29.48 N +ATOM 3494 CA PHE B 218 5.141 -14.259 65.645 1.00 27.96 C +ATOM 3495 C PHE B 218 3.657 -14.551 65.867 1.00 28.32 C +ATOM 3496 O PHE B 218 3.208 -15.679 65.669 1.00 28.47 O +ATOM 3497 CB PHE B 218 5.904 -14.553 66.942 1.00 24.99 C +ATOM 3498 CG PHE B 218 5.898 -16.006 67.340 1.00 20.92 C +ATOM 3499 CD1 PHE B 218 6.879 -16.872 66.864 1.00 17.35 C +ATOM 3500 CD2 PHE B 218 4.921 -16.504 68.200 1.00 18.07 C +ATOM 3501 CE1 PHE B 218 6.894 -18.209 67.238 1.00 18.38 C +ATOM 3502 CE2 PHE B 218 4.923 -17.844 68.585 1.00 19.03 C +ATOM 3503 CZ PHE B 218 5.914 -18.702 68.104 1.00 19.47 C +ATOM 3504 N GLY B 219 2.907 -13.544 66.304 1.00 29.32 N +ATOM 3505 CA GLY B 219 1.485 -13.732 66.530 1.00 32.45 C +ATOM 3506 C GLY B 219 0.992 -13.738 67.971 1.00 35.48 C +ATOM 3507 O GLY B 219 -0.183 -14.005 68.220 1.00 36.93 O +ATOM 3508 N ARG B 220 1.868 -13.450 68.928 1.00 36.17 N +ATOM 3509 CA ARG B 220 1.463 -13.436 70.329 1.00 35.97 C +ATOM 3510 C ARG B 220 2.510 -12.747 71.189 1.00 37.07 C +ATOM 3511 O ARG B 220 3.649 -12.538 70.763 1.00 36.00 O +ATOM 3512 CB ARG B 220 1.256 -14.864 70.851 1.00 34.24 C +ATOM 3513 CG ARG B 220 2.550 -15.598 71.181 1.00 34.48 C +ATOM 3514 CD ARG B 220 2.281 -17.008 71.685 1.00 36.23 C +ATOM 3515 NE ARG B 220 3.467 -17.742 72.146 1.00 35.68 N +ATOM 3516 CZ ARG B 220 4.535 -17.200 72.728 1.00 36.21 C +ATOM 3517 NH1 ARG B 220 4.614 -15.890 72.924 1.00 35.83 N +ATOM 3518 NH2 ARG B 220 5.516 -17.981 73.161 1.00 36.23 N +ATOM 3519 N MET B 221 2.109 -12.420 72.414 1.00 39.02 N +ATOM 3520 CA MET B 221 2.970 -11.756 73.385 1.00 38.94 C +ATOM 3521 C MET B 221 3.994 -12.745 73.957 1.00 37.85 C +ATOM 3522 O MET B 221 3.741 -13.944 74.019 1.00 37.07 O +ATOM 3523 CB MET B 221 2.096 -11.173 74.494 1.00 41.73 C +ATOM 3524 CG MET B 221 2.722 -10.034 75.264 1.00 45.46 C +ATOM 3525 SD MET B 221 1.452 -9.055 76.097 1.00 50.60 S +ATOM 3526 CE MET B 221 1.045 -7.846 74.824 1.00 48.06 C +ATOM 3527 N GLY B 222 5.145 -12.231 74.375 1.00 37.03 N +ATOM 3528 CA GLY B 222 6.201 -13.075 74.908 1.00 39.07 C +ATOM 3529 C GLY B 222 5.920 -13.856 76.181 1.00 40.41 C +ATOM 3530 O GLY B 222 5.018 -13.527 76.942 1.00 40.87 O +ATOM 3531 N ARG B 223 6.715 -14.898 76.407 1.00 41.90 N +ATOM 3532 CA ARG B 223 6.585 -15.755 77.581 1.00 43.80 C +ATOM 3533 C ARG B 223 7.996 -16.051 78.094 1.00 42.24 C +ATOM 3534 O ARG B 223 8.945 -16.101 77.312 1.00 42.05 O +ATOM 3535 CB ARG B 223 5.875 -17.058 77.194 1.00 48.50 C +ATOM 3536 CG ARG B 223 4.904 -17.584 78.248 1.00 56.28 C +ATOM 3537 CD ARG B 223 4.155 -18.829 77.763 1.00 61.40 C +ATOM 3538 NE ARG B 223 3.343 -18.555 76.578 1.00 66.72 N +ATOM 3539 CZ ARG B 223 2.278 -17.757 76.562 1.00 68.88 C +ATOM 3540 NH1 ARG B 223 1.883 -17.145 77.673 1.00 69.26 N +ATOM 3541 NH2 ARG B 223 1.613 -17.563 75.429 1.00 70.37 N +ATOM 3542 N ALA B 224 8.136 -16.241 79.402 1.00 40.24 N +ATOM 3543 CA ALA B 224 9.443 -16.520 79.997 1.00 38.15 C +ATOM 3544 C ALA B 224 10.121 -17.750 79.383 1.00 36.83 C +ATOM 3545 O ALA B 224 11.349 -17.809 79.281 1.00 36.14 O +ATOM 3546 CB ALA B 224 9.300 -16.696 81.504 1.00 37.54 C +ATOM 3547 N GLU B 225 9.325 -18.727 78.967 1.00 35.08 N +ATOM 3548 CA GLU B 225 9.872 -19.936 78.367 1.00 35.91 C +ATOM 3549 C GLU B 225 10.564 -19.650 77.032 1.00 33.45 C +ATOM 3550 O GLU B 225 11.424 -20.416 76.595 1.00 32.99 O +ATOM 3551 CB GLU B 225 8.767 -20.979 78.169 1.00 39.68 C +ATOM 3552 CG GLU B 225 8.182 -21.503 79.478 1.00 46.28 C +ATOM 3553 CD GLU B 225 7.350 -20.464 80.220 1.00 49.95 C +ATOM 3554 OE1 GLU B 225 7.080 -20.662 81.426 1.00 51.33 O +ATOM 3555 OE2 GLU B 225 6.957 -19.453 79.597 1.00 52.23 O +ATOM 3556 N ASP B 226 10.189 -18.546 76.393 1.00 29.25 N +ATOM 3557 CA ASP B 226 10.786 -18.173 75.118 1.00 26.16 C +ATOM 3558 C ASP B 226 12.227 -17.735 75.277 1.00 25.60 C +ATOM 3559 O ASP B 226 13.029 -17.876 74.354 1.00 26.08 O +ATOM 3560 CB ASP B 226 10.014 -17.022 74.466 1.00 24.74 C +ATOM 3561 CG ASP B 226 8.586 -17.388 74.127 1.00 23.25 C +ATOM 3562 OD1 ASP B 226 8.321 -18.558 73.779 1.00 24.35 O +ATOM 3563 OD2 ASP B 226 7.724 -16.492 74.188 1.00 24.43 O +ATOM 3564 N LEU B 227 12.550 -17.207 76.455 1.00 24.33 N +ATOM 3565 CA LEU B 227 13.887 -16.686 76.746 1.00 23.06 C +ATOM 3566 C LEU B 227 14.912 -17.623 77.369 1.00 22.64 C +ATOM 3567 O LEU B 227 16.115 -17.391 77.232 1.00 23.14 O +ATOM 3568 CB LEU B 227 13.769 -15.469 77.660 1.00 21.40 C +ATOM 3569 CG LEU B 227 13.301 -14.108 77.153 1.00 21.06 C +ATOM 3570 CD1 LEU B 227 12.477 -14.237 75.896 1.00 24.29 C +ATOM 3571 CD2 LEU B 227 12.510 -13.436 78.271 1.00 20.39 C +ATOM 3572 N THR B 228 14.457 -18.667 78.056 1.00 23.28 N +ATOM 3573 CA THR B 228 15.390 -19.570 78.736 1.00 22.66 C +ATOM 3574 C THR B 228 16.430 -20.234 77.841 1.00 21.99 C +ATOM 3575 O THR B 228 17.581 -20.421 78.250 1.00 21.88 O +ATOM 3576 CB THR B 228 14.634 -20.655 79.544 1.00 22.96 C +ATOM 3577 OG1 THR B 228 13.877 -21.493 78.660 1.00 23.74 O +ATOM 3578 CG2 THR B 228 13.691 -19.995 80.548 1.00 22.52 C +ATOM 3579 N GLY B 229 16.028 -20.579 76.621 1.00 21.11 N +ATOM 3580 CA GLY B 229 16.944 -21.220 75.693 1.00 18.97 C +ATOM 3581 C GLY B 229 18.161 -20.363 75.411 1.00 18.10 C +ATOM 3582 O GLY B 229 19.293 -20.840 75.440 1.00 17.03 O +ATOM 3583 N MET B 230 17.934 -19.087 75.136 1.00 17.13 N +ATOM 3584 CA MET B 230 19.044 -18.186 74.860 1.00 17.90 C +ATOM 3585 C MET B 230 19.874 -17.966 76.138 1.00 16.84 C +ATOM 3586 O MET B 230 21.104 -17.913 76.085 1.00 14.48 O +ATOM 3587 CB MET B 230 18.507 -16.856 74.314 1.00 17.50 C +ATOM 3588 CG MET B 230 19.569 -15.857 73.890 1.00 19.83 C +ATOM 3589 SD MET B 230 20.712 -16.508 72.655 1.00 23.81 S +ATOM 3590 CE MET B 230 19.698 -16.419 71.199 1.00 25.03 C +ATOM 3591 N ALA B 231 19.200 -17.849 77.284 1.00 17.91 N +ATOM 3592 CA ALA B 231 19.899 -17.644 78.562 1.00 18.27 C +ATOM 3593 C ALA B 231 20.910 -18.762 78.841 1.00 17.92 C +ATOM 3594 O ALA B 231 22.035 -18.502 79.280 1.00 17.90 O +ATOM 3595 CB ALA B 231 18.898 -17.557 79.698 1.00 18.92 C +ATOM 3596 N ILE B 232 20.506 -20.003 78.580 1.00 17.16 N +ATOM 3597 CA ILE B 232 21.383 -21.151 78.782 1.00 17.09 C +ATOM 3598 C ILE B 232 22.536 -21.116 77.782 1.00 17.24 C +ATOM 3599 O ILE B 232 23.713 -21.137 78.168 1.00 15.33 O +ATOM 3600 CB ILE B 232 20.617 -22.476 78.582 1.00 18.77 C +ATOM 3601 CG1 ILE B 232 19.506 -22.598 79.628 1.00 20.08 C +ATOM 3602 CG2 ILE B 232 21.576 -23.660 78.679 1.00 16.99 C +ATOM 3603 CD1 ILE B 232 18.632 -23.811 79.433 1.00 19.05 C +ATOM 3604 N PHE B 233 22.181 -21.067 76.494 1.00 17.27 N +ATOM 3605 CA PHE B 233 23.157 -21.039 75.408 1.00 15.99 C +ATOM 3606 C PHE B 233 24.308 -20.064 75.629 1.00 15.01 C +ATOM 3607 O PHE B 233 25.469 -20.441 75.514 1.00 12.79 O +ATOM 3608 CB PHE B 233 22.486 -20.691 74.076 1.00 18.86 C +ATOM 3609 CG PHE B 233 23.442 -20.679 72.910 1.00 19.95 C +ATOM 3610 CD1 PHE B 233 23.914 -21.873 72.373 1.00 21.48 C +ATOM 3611 CD2 PHE B 233 23.907 -19.478 72.383 1.00 19.13 C +ATOM 3612 CE1 PHE B 233 24.839 -21.875 71.326 1.00 22.51 C +ATOM 3613 CE2 PHE B 233 24.831 -19.468 71.338 1.00 21.99 C +ATOM 3614 CZ PHE B 233 25.299 -20.670 70.808 1.00 21.99 C +ATOM 3615 N LEU B 234 23.993 -18.809 75.932 1.00 14.86 N +ATOM 3616 CA LEU B 234 25.039 -17.811 76.146 1.00 17.21 C +ATOM 3617 C LEU B 234 25.989 -18.099 77.303 1.00 18.37 C +ATOM 3618 O LEU B 234 27.019 -17.428 77.439 1.00 21.02 O +ATOM 3619 CB LEU B 234 24.427 -16.421 76.330 1.00 15.31 C +ATOM 3620 CG LEU B 234 23.780 -15.844 75.066 1.00 18.90 C +ATOM 3621 CD1 LEU B 234 23.115 -14.499 75.370 1.00 17.84 C +ATOM 3622 CD2 LEU B 234 24.846 -15.691 73.983 1.00 14.46 C +ATOM 3623 N ALA B 235 25.665 -19.090 78.130 1.00 19.19 N +ATOM 3624 CA ALA B 235 26.522 -19.430 79.266 1.00 20.68 C +ATOM 3625 C ALA B 235 27.323 -20.709 79.028 1.00 22.11 C +ATOM 3626 O ALA B 235 28.109 -21.129 79.880 1.00 21.90 O +ATOM 3627 CB ALA B 235 25.680 -19.572 80.534 1.00 21.07 C +ATOM 3628 N THR B 236 27.120 -21.333 77.871 1.00 22.79 N +ATOM 3629 CA THR B 236 27.841 -22.558 77.540 1.00 22.36 C +ATOM 3630 C THR B 236 29.069 -22.220 76.713 1.00 23.07 C +ATOM 3631 O THR B 236 29.221 -21.093 76.238 1.00 23.70 O +ATOM 3632 CB THR B 236 26.960 -23.527 76.736 1.00 22.29 C +ATOM 3633 OG1 THR B 236 26.556 -22.900 75.511 1.00 23.93 O +ATOM 3634 CG2 THR B 236 25.726 -23.917 77.538 1.00 18.81 C +ATOM 3635 N PRO B 237 29.978 -23.186 76.545 1.00 24.51 N +ATOM 3636 CA PRO B 237 31.185 -22.925 75.754 1.00 25.99 C +ATOM 3637 C PRO B 237 30.936 -22.808 74.244 1.00 26.94 C +ATOM 3638 O PRO B 237 31.818 -22.389 73.496 1.00 27.58 O +ATOM 3639 CB PRO B 237 32.111 -24.086 76.127 1.00 24.90 C +ATOM 3640 CG PRO B 237 31.167 -25.171 76.528 1.00 26.75 C +ATOM 3641 CD PRO B 237 30.096 -24.447 77.295 1.00 25.09 C +ATOM 3642 N GLU B 238 29.738 -23.164 73.795 1.00 27.16 N +ATOM 3643 CA GLU B 238 29.425 -23.041 72.373 1.00 27.02 C +ATOM 3644 C GLU B 238 29.227 -21.567 72.030 1.00 27.47 C +ATOM 3645 O GLU B 238 28.994 -21.214 70.873 1.00 27.45 O +ATOM 3646 CB GLU B 238 28.152 -23.805 72.018 1.00 26.67 C +ATOM 3647 CG GLU B 238 28.272 -25.312 72.105 1.00 28.94 C +ATOM 3648 CD GLU B 238 27.080 -26.014 71.484 1.00 30.85 C +ATOM 3649 OE1 GLU B 238 25.933 -25.679 71.848 1.00 29.77 O +ATOM 3650 OE2 GLU B 238 27.288 -26.900 70.628 1.00 34.04 O +ATOM 3651 N ALA B 239 29.319 -20.706 73.041 1.00 25.40 N +ATOM 3652 CA ALA B 239 29.137 -19.276 72.834 1.00 22.82 C +ATOM 3653 C ALA B 239 30.379 -18.505 73.226 1.00 21.42 C +ATOM 3654 O ALA B 239 30.329 -17.296 73.423 1.00 20.84 O +ATOM 3655 CB ALA B 239 27.941 -18.780 73.633 1.00 21.90 C +ATOM 3656 N ASP B 240 31.498 -19.209 73.331 1.00 21.89 N +ATOM 3657 CA ASP B 240 32.751 -18.579 73.710 1.00 23.25 C +ATOM 3658 C ASP B 240 33.246 -17.508 72.754 1.00 24.05 C +ATOM 3659 O ASP B 240 34.018 -16.634 73.152 1.00 23.28 O +ATOM 3660 CB ASP B 240 33.849 -19.628 73.862 1.00 26.46 C +ATOM 3661 CG ASP B 240 33.798 -20.333 75.200 1.00 28.78 C +ATOM 3662 OD1 ASP B 240 33.101 -19.832 76.109 1.00 30.60 O +ATOM 3663 OD2 ASP B 240 34.467 -21.377 75.344 1.00 28.91 O +ATOM 3664 N TYR B 241 32.818 -17.575 71.496 1.00 23.34 N +ATOM 3665 CA TYR B 241 33.273 -16.610 70.500 1.00 22.33 C +ATOM 3666 C TYR B 241 32.294 -15.449 70.341 1.00 20.62 C +ATOM 3667 O TYR B 241 32.511 -14.542 69.546 1.00 18.68 O +ATOM 3668 CB TYR B 241 33.494 -17.319 69.158 1.00 22.92 C +ATOM 3669 CG TYR B 241 34.482 -16.626 68.241 1.00 23.95 C +ATOM 3670 CD1 TYR B 241 35.810 -16.443 68.627 1.00 23.18 C +ATOM 3671 CD2 TYR B 241 34.091 -16.159 66.980 1.00 26.16 C +ATOM 3672 CE1 TYR B 241 36.728 -15.814 67.785 1.00 24.39 C +ATOM 3673 CE2 TYR B 241 35.006 -15.527 66.124 1.00 25.36 C +ATOM 3674 CZ TYR B 241 36.321 -15.359 66.535 1.00 25.95 C +ATOM 3675 OH TYR B 241 37.233 -14.743 65.704 1.00 26.48 O +ATOM 3676 N ILE B 242 31.219 -15.481 71.118 1.00 21.52 N +ATOM 3677 CA ILE B 242 30.210 -14.429 71.078 1.00 19.87 C +ATOM 3678 C ILE B 242 30.569 -13.350 72.116 1.00 20.09 C +ATOM 3679 O ILE B 242 30.525 -13.587 73.323 1.00 21.14 O +ATOM 3680 CB ILE B 242 28.825 -15.047 71.332 1.00 17.59 C +ATOM 3681 CG1 ILE B 242 28.603 -16.172 70.305 1.00 13.57 C +ATOM 3682 CG2 ILE B 242 27.730 -13.986 71.223 1.00 16.06 C +ATOM 3683 CD1 ILE B 242 27.196 -16.758 70.294 1.00 13.12 C +ATOM 3684 N VAL B 243 30.937 -12.169 71.624 1.00 18.87 N +ATOM 3685 CA VAL B 243 31.367 -11.067 72.474 1.00 18.00 C +ATOM 3686 C VAL B 243 30.664 -9.732 72.221 1.00 18.88 C +ATOM 3687 O VAL B 243 30.522 -9.304 71.080 1.00 21.17 O +ATOM 3688 CB VAL B 243 32.886 -10.834 72.300 1.00 15.97 C +ATOM 3689 CG1 VAL B 243 33.367 -9.725 73.215 1.00 13.64 C +ATOM 3690 CG2 VAL B 243 33.635 -12.121 72.554 1.00 14.31 C +ATOM 3691 N ALA B 244 30.250 -9.075 73.301 1.00 16.24 N +ATOM 3692 CA ALA B 244 29.599 -7.768 73.241 1.00 15.18 C +ATOM 3693 C ALA B 244 28.338 -7.684 72.381 1.00 14.63 C +ATOM 3694 O ALA B 244 28.024 -6.633 71.820 1.00 15.18 O +ATOM 3695 CB ALA B 244 30.614 -6.710 72.791 1.00 10.85 C +ATOM 3696 N GLN B 245 27.587 -8.769 72.301 1.00 13.92 N +ATOM 3697 CA GLN B 245 26.379 -8.743 71.492 1.00 14.43 C +ATOM 3698 C GLN B 245 25.104 -8.605 72.306 1.00 15.84 C +ATOM 3699 O GLN B 245 25.064 -8.926 73.487 1.00 18.49 O +ATOM 3700 CB GLN B 245 26.271 -10.019 70.651 1.00 12.12 C +ATOM 3701 CG GLN B 245 27.471 -10.293 69.750 1.00 16.91 C +ATOM 3702 CD GLN B 245 27.778 -9.131 68.832 1.00 17.13 C +ATOM 3703 OE1 GLN B 245 26.891 -8.621 68.140 1.00 20.22 O +ATOM 3704 NE2 GLN B 245 29.034 -8.701 68.820 1.00 14.81 N +ATOM 3705 N THR B 246 24.060 -8.117 71.653 1.00 14.87 N +ATOM 3706 CA THR B 246 22.755 -8.001 72.265 1.00 15.33 C +ATOM 3707 C THR B 246 21.861 -8.756 71.292 1.00 16.60 C +ATOM 3708 O THR B 246 21.657 -8.320 70.157 1.00 16.93 O +ATOM 3709 CB THR B 246 22.290 -6.549 72.365 1.00 15.11 C +ATOM 3710 OG1 THR B 246 23.169 -5.834 73.238 1.00 16.56 O +ATOM 3711 CG2 THR B 246 20.870 -6.483 72.906 1.00 13.13 C +ATOM 3712 N TYR B 247 21.359 -9.904 71.729 1.00 15.98 N +ATOM 3713 CA TYR B 247 20.502 -10.731 70.893 1.00 16.75 C +ATOM 3714 C TYR B 247 19.027 -10.506 71.203 1.00 18.07 C +ATOM 3715 O TYR B 247 18.593 -10.662 72.345 1.00 19.74 O +ATOM 3716 CB TYR B 247 20.842 -12.210 71.094 1.00 13.41 C +ATOM 3717 CG TYR B 247 22.152 -12.662 70.480 1.00 11.49 C +ATOM 3718 CD1 TYR B 247 22.651 -13.936 70.738 1.00 12.03 C +ATOM 3719 CD2 TYR B 247 22.871 -11.839 69.609 1.00 13.13 C +ATOM 3720 CE1 TYR B 247 23.828 -14.391 70.149 1.00 12.61 C +ATOM 3721 CE2 TYR B 247 24.059 -12.287 69.002 1.00 12.16 C +ATOM 3722 CZ TYR B 247 24.524 -13.567 69.279 1.00 14.83 C +ATOM 3723 OH TYR B 247 25.667 -14.046 68.674 1.00 17.52 O +ATOM 3724 N ASN B 248 18.258 -10.140 70.181 1.00 18.83 N +ATOM 3725 CA ASN B 248 16.830 -9.916 70.351 1.00 18.71 C +ATOM 3726 C ASN B 248 16.080 -11.240 70.271 1.00 19.23 C +ATOM 3727 O ASN B 248 16.264 -12.005 69.326 1.00 21.09 O +ATOM 3728 CB ASN B 248 16.284 -8.991 69.258 1.00 19.85 C +ATOM 3729 CG ASN B 248 16.881 -7.594 69.304 1.00 23.28 C +ATOM 3730 OD1 ASN B 248 17.669 -7.259 70.189 1.00 25.29 O +ATOM 3731 ND2 ASN B 248 16.502 -6.767 68.337 1.00 24.75 N +ATOM 3732 N VAL B 249 15.253 -11.514 71.276 1.00 18.13 N +ATOM 3733 CA VAL B 249 14.418 -12.715 71.317 1.00 16.63 C +ATOM 3734 C VAL B 249 13.047 -12.100 71.580 1.00 18.82 C +ATOM 3735 O VAL B 249 12.550 -12.098 72.709 1.00 20.96 O +ATOM 3736 CB VAL B 249 14.816 -13.649 72.480 1.00 14.50 C +ATOM 3737 CG1 VAL B 249 13.929 -14.879 72.492 1.00 13.76 C +ATOM 3738 CG2 VAL B 249 16.271 -14.062 72.340 1.00 10.65 C +ATOM 3739 N ASP B 250 12.448 -11.572 70.518 1.00 17.80 N +ATOM 3740 CA ASP B 250 11.185 -10.858 70.613 1.00 17.75 C +ATOM 3741 C ASP B 250 10.095 -11.260 69.622 1.00 18.08 C +ATOM 3742 O ASP B 250 9.141 -10.511 69.420 1.00 16.16 O +ATOM 3743 CB ASP B 250 11.482 -9.373 70.426 1.00 17.93 C +ATOM 3744 CG ASP B 250 12.183 -9.089 69.092 1.00 18.76 C +ATOM 3745 OD1 ASP B 250 12.701 -7.966 68.912 1.00 16.59 O +ATOM 3746 OD2 ASP B 250 12.212 -9.993 68.222 1.00 13.07 O +ATOM 3747 N GLY B 251 10.223 -12.422 68.997 1.00 18.98 N +ATOM 3748 CA GLY B 251 9.206 -12.814 68.037 1.00 20.23 C +ATOM 3749 C GLY B 251 9.133 -11.884 66.826 1.00 21.79 C +ATOM 3750 O GLY B 251 8.109 -11.822 66.144 1.00 23.86 O +ATOM 3751 N GLY B 252 10.209 -11.149 66.560 1.00 21.43 N +ATOM 3752 CA GLY B 252 10.226 -10.255 65.416 1.00 21.54 C +ATOM 3753 C GLY B 252 9.843 -8.809 65.670 1.00 23.84 C +ATOM 3754 O GLY B 252 9.842 -7.999 64.744 1.00 23.16 O +ATOM 3755 N ASN B 253 9.524 -8.464 66.914 1.00 26.13 N +ATOM 3756 CA ASN B 253 9.131 -7.091 67.224 1.00 26.72 C +ATOM 3757 C ASN B 253 10.157 -6.064 66.767 1.00 25.25 C +ATOM 3758 O ASN B 253 9.800 -4.957 66.372 1.00 22.22 O +ATOM 3759 CB ASN B 253 8.862 -6.935 68.716 1.00 30.08 C +ATOM 3760 CG ASN B 253 7.473 -6.409 68.988 1.00 33.97 C +ATOM 3761 OD1 ASN B 253 6.514 -6.778 68.300 1.00 34.72 O +ATOM 3762 ND2 ASN B 253 7.348 -5.551 69.997 1.00 34.75 N +ATOM 3763 N TRP B 254 11.432 -6.429 66.826 1.00 24.84 N +ATOM 3764 CA TRP B 254 12.490 -5.532 66.379 1.00 25.04 C +ATOM 3765 C TRP B 254 13.578 -6.362 65.719 1.00 25.15 C +ATOM 3766 O TRP B 254 13.864 -7.482 66.152 1.00 24.91 O +ATOM 3767 CB TRP B 254 13.068 -4.716 67.542 1.00 22.70 C +ATOM 3768 CG TRP B 254 13.872 -3.548 67.057 1.00 20.34 C +ATOM 3769 CD1 TRP B 254 15.229 -3.468 66.959 1.00 22.21 C +ATOM 3770 CD2 TRP B 254 13.358 -2.320 66.527 1.00 19.87 C +ATOM 3771 NE1 TRP B 254 15.597 -2.263 66.396 1.00 21.06 N +ATOM 3772 CE2 TRP B 254 14.465 -1.542 66.122 1.00 21.41 C +ATOM 3773 CE3 TRP B 254 12.067 -1.802 66.350 1.00 20.88 C +ATOM 3774 CZ2 TRP B 254 14.320 -0.270 65.550 1.00 22.97 C +ATOM 3775 CZ3 TRP B 254 11.922 -0.534 65.779 1.00 19.60 C +ATOM 3776 CH2 TRP B 254 13.042 0.213 65.387 1.00 22.11 C +ATOM 3777 N MET B 255 14.186 -5.809 64.673 1.00 25.64 N +ATOM 3778 CA MET B 255 15.212 -6.529 63.930 1.00 25.91 C +ATOM 3779 C MET B 255 16.598 -5.911 64.041 1.00 24.50 C +ATOM 3780 O MET B 255 16.786 -4.723 63.784 1.00 24.96 O +ATOM 3781 CB MET B 255 14.784 -6.625 62.466 1.00 26.73 C +ATOM 3782 CG MET B 255 13.402 -7.240 62.301 1.00 28.57 C +ATOM 3783 SD MET B 255 12.681 -6.986 60.664 1.00 34.13 S +ATOM 3784 CE MET B 255 12.256 -5.258 60.755 1.00 30.06 C +ATOM 3785 N SER B 256 17.566 -6.734 64.432 1.00 23.90 N +ATOM 3786 CA SER B 256 18.942 -6.278 64.584 1.00 23.46 C +ATOM 3787 C SER B 256 19.884 -7.335 64.032 1.00 23.50 C +ATOM 3788 O SER B 256 19.390 -8.439 63.723 1.00 25.09 O +ATOM 3789 CB SER B 256 19.253 -6.025 66.064 1.00 22.10 C +ATOM 3790 OG SER B 256 18.279 -5.173 66.635 1.00 18.70 O +ATOM 3791 OXT SER B 256 21.095 -7.051 63.923 1.00 22.97 O +TER 3792 SER B 256 +END diff --git a/examples/demos/data/sh2.aln b/examples/demos/data/sh2.aln new file mode 100644 index 0000000000000000000000000000000000000000..7a18486a077f360b5522ed8b9c65523a716f9277 --- /dev/null +++ b/examples/demos/data/sh2.aln @@ -0,0 +1,210 @@ +CLUSTAL 2.0.12 multiple sequence alignment + + +SH2 -------------------------KP-HPWFFGKIPRAKAEEMLSKQR- 23 +UniRef90_UPI0000EB201F KAELNGKDGFIPKN-------YIEMKP-HPWFFGKIPRAKAEEMLSKQR- 45 +UniRef90_P62993 KAELNGKDGFIPKN-------YIEMKP-HPWFFGKIPRAKAEEMLSKQR- 78 +UniRef90_P87379 KAELNGKDGFIPKN-------YIEMKA-HPWFFGKIPRAKAEEMLGKQR- 78 +UniRef90_UPI00016E653C KAELRGKDGFIPKN-------YIEMKA-HPWFYGKIPRAKAEEILNKQR- 78 +UniRef90_UPI00016E653B KAELRGKDGFIPKN-------YIEMKA-HPWFYGKIPRAKAEEILNKQR- 78 +UniRef90_Q4T656 DQALS-FASLLPVS-------FSAC---CRWFYGKIPRAKAEEILNKQR- 75 +UniRef90_UPI0001555716 KAELNGKDGFIPKN-------YIEMKP-HLWFFGKIPRAYAEEMLGKQL- 388 +UniRef90_UPI000180AF26 KAEQDGKEGLVPMN-------YIQMKP-CEWFARNMTRANAELRL-KNA- 52 +UniRef90_UPI000180AF37 KAEQDGKEGLVPMN-------YIEIKE-CEWFARNMTRANAELRL-KNT- 77 +UniRef90_A8XPY6 KAELDGTEGFIPSN-------YIRMGD-CSWYLGKITRNDAEVLLKKSNV 79 +UniRef90_P29355 KAELDGNEGFIPSN-------YIRMTE-CNWYLGKITRNDAEVLLKKPTV 79 +UniRef90_UPI000186E6C5 RAELDSKEGLIPSN-------YIEMKN-HDWYYGRITRADAEKLLMNK-- 77 +UniRef90_Q08012 RAELDGKEGLIPSN-------YIEMKN-HDWYYGRITRADAEKLLSNK-- 77 +UniRef90_B7P0R2 RAELDSKEGLIPSN-------YIEMKK-HDWYYGRITRADAEKLLSNK-- 77 +UniRef90_D3PIQ8 RAESGGKEGLIPSN-------YIDMKP-HDWYYSRMTRATAEKLLSNK-- 77 +UniRef90_C4WWT7 RAEFEGKEGLIPSN-------YIEMKN-HDWYYGKITRADAEKLLDQQ-- 77 +UniRef90_UPI0000586DB6 -------------------------------------RDGAEELLKND-- 40 +UniRef90_UPI0001CBA623 KAELDGREGFIPKN-------YITMRP-HDWFHGKISRAKAEELLQLQP- 78 +UniRef90_UPI0001CBA624 NAELDGREGLIPKN-------YIEMKP-HEWFHGKISREKAEELLQLQS- 77 +UniRef90_UPI000192619C KAEQNGKEGFVPKN-------YIQMKP-HSWYYGKIRRSEAEQLLLQEP- 52 +UniRef90_UPI0000521DDC RAEIDGRMGLVPKN-------YIELKA-HDWYHGKISRVKAEQSLNKPHY 79 +UniRef90_C1LZF7 LAEQEGRTGLIPCN-------YITMRP-HPWYIRHCSRMEAEERLQEIDQ 79 +UniRef90_UPI0000E478D2 LAHQGAKQGLVPEN-------YLKIEKSHPWYVGKISRKVAEEYLMSMP- 80 +UniRef90_UPI0000E49A1C ----------MGPK-------HTYPEIAMAWFFPTITRKNAELLLMQE-- 31 +UniRef90_A8E5T1 KAELFGREGYIPKN-------YIKVKP-HPWYAGRISRQVAEEILLKRNF 79 +UniRef90_C1C3T6 KAELKGQEGYIPKN-------YIKVKP-HPWYAGRISRQVAEEILLKKRF 79 +UniRef90_Q13588 KAELRGVEGFIPKN-------YIRVKP-HPWYSGRISRQLAEEILMKRNH 79 +UniRef90_UPI0001C606E3 KAELRGAEGFVPKN-------YIHIKP-HPWYSGRISRQLAEEILMKRNQ 79 +UniRef90_Q9CX99 KAELRGAEGFVPKN-------YIRVKP-HPWYSGRISRQLAEETLMKRNH 79 +UniRef90_UPI0000DA3575 GVGLKPIEGMRPTNRTXRIPADIVPSP-HRWYSGRISRQLAEETLMKRNH 86 +UniRef90_UPI0000D9440A KAELRGAEGFIPKN-------YIQVKP-HPWFAGRISRQFAEEILLRRNH 79 +UniRef90_UPI000155C0E1 RTSLLGGESFFYKN-------IQKLSP-SPWYAGRISRQLAEEVLLKRNH 79 +UniRef90_UPI0000E80FCB KAELYGCEGFVPKN-------YIKVKP-HPWYAGRISRHVAEELLLKRRY 79 +UniRef90_UPI00016E4BE7 TAELHNRKGFVPKN-------YINLRP-HAWFAGRISRSVAESRLRQRE- 78 +UniRef90_Q503S8 TAEFVNRKGYVPKN-------YISLRP-HAWFAGRISRHVAENRLHQRD- 78 +UniRef90_Q4V9Q1 TAELLGRRGYVPKN-------YINVRP-HTWFVGGISRQAAENRLRPLE- 78 +UniRef90_UPI00017B202F TAEIQGKRGYIPQN-------YISLLP-YPWFVGRVSRLEAEKRLRWQD- 78 +UniRef90_UPI0000E25B42 KAELGSQEGYVPKN-------FIDIQF-PEWFHEGLSRHQAENLLMGKE- 149 +UniRef90_O75791 KAELGSQEGYVPKN-------FIDIQF-PKWFHEGLSRHQAENLLMGKE- 76 +UniRef90_B7Z8F8 RHKLNP---FSSK----------------RWFHEGLSRHQAENLLMGKE- 50 +UniRef90_UPI00005BC6B6 KAELGSQEGYVPKN-------FIEIEF-PEWFHEGLSRHQAESLLMGKE- 76 +UniRef90_O89100 KAELGSQEGYVPKN-------FIDIEF-PEWFHEGLSRHQAENLLMGKD- 76 +UniRef90_UPI0000EDE7DF KAELKSHEGYVPKN-------FIDIHI-PGWFHEGISRHEAESLLMGKE- 76 +UniRef90_UPI0000F2E19C KAELGSQEGYVPKN-------FIDIQF-PSWFHEDISRHDAESLLMGKD- 241 +UniRef90_UPI0000E7F8B9 KAELRSQEGYVPKN-------FIDFHV-PPWFDEKISRHEAESILMNKG- 76 +UniRef90_UPI0000ECD2B7 KAELRSQEGYVPKN-------FIDFHV-PPWFDEKISRHEAESILMNKG- 76 +UniRef90_UPI000194E163 KAELRSHEGYVPKN-------FIDFHV-PHWFDEKISRHEAENLLMSKG- 91 +UniRef90_B5X487 KAELHGQEGFVPQN-------YIERQT-PSWFKETASRSSAEELLMSRE- 76 +UniRef90_Q567F1 KAELHGHEGYVPKN-------YVDRQI-PSWFKESASRGSAEETLMSRE- 76 + + +SH2 -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 58 +UniRef90_UPI0000EB201F -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 80 +UniRef90_P62993 -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 113 +UniRef90_P87379 -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 113 +UniRef90_UPI00016E653C -------RDGAFLIRESESA--PGDFSL----SVKYGNDVQHFKVLR--D 113 +UniRef90_UPI00016E653B -------RDGAFLIRESESA--PGDFSL----SVKYGNDVQHFKVLR--D 113 +UniRef90_Q4T656 -------RDGAFLIRESESA--PGDFSL----SVKYGNDVQHFKVLR--D 110 +UniRef90_UPI0001555716 -------NYGSFFILXXXXP--PGDALTGARSTPRFGNDVQHFKVLR--D 427 +UniRef90_UPI000180AF26 -------LDESFLVRESEST--PGDFSL----SVKTNSGVQHFKVLR--D 87 +UniRef90_UPI000180AF37 -------LDGSFLVRESEST--PGEFSV----SVKTNSGVQHFKVLR--D 112 +UniRef90_A8XPY6 -------RDGHFLVRQCESS--PGEFSI----SVRFQDSVQHFKVLR--D 114 +UniRef90_P29355 -------RDGHFLVRQCESS--PGEFSI----SVRFQDSVQHFKVLR--D 114 +UniRef90_UPI000186E6C5 -------HEGAFLIRVSESS--PGDFSL----SVKCSDGVQHFKVLR--D 112 +UniRef90_Q08012 -------HEGAFLIRISESS--PGDFSL----SVKCPDGVQHFKVLR--D 112 +UniRef90_B7P0R2 -------HEGAFLIRVSESS--PGDFSL----SVRCGDGVQHFKVLR--D 112 +UniRef90_D3PIQ8 -------HEGAFVIRVSESS--PGDFSL----SVKCGDGVQHFKVLR--D 112 +UniRef90_C4WWT7 -------PEGCFLVRISESS--PGDFSL----SVKCGDGVQHFKVLR--D 112 +UniRef90_UPI0000586DB6 -------GDGAFLIRESEGT--PGDYSL----SVKFVDGVQHFKVLR--D 75 +UniRef90_UPI0001CBA623 -------HDGAFLIRESESA--PGDFSL----SVKFKDEVQHFKVLR--D 113 +UniRef90_UPI0001CBA624 -------YDGAFLIRESEST--PGDFSL----SVKFKDGVQNFKILR--D 112 +UniRef90_UPI000192619C -------HDGAYLIRDSEST--AGDFSL----SVKFNNQVQHFKVLR--D 87 +UniRef90_UPI0000521DDC -------PDGAFLIRESESS--PGDFSL----SVKYGSAVQHFKVLR--D 114 +UniRef90_C1LZF7 ETAQHLQPDGAFILRQSEAD--GKGFSL----SVKQGCEVLHFKVLQ--D 121 +UniRef90_UPI0000E478D2 -------SDGAFMIRDSESNPDSGNFSL----SVKFRDQVQHFKILT--D 117 +UniRef90_UPI0000E49A1C -------RNGAFLVRRSESS--EGLYSL----SVKYNESVQHFRILQ--D 66 +UniRef90_A8E5T1 --------VGAFLIRDSESS--PGDFSI----SVNYGHHVQHFKVLRDTE 115 +UniRef90_C1C3T6 --------LGAFLIRDSESS--PGEFSI----SVNYGHHVQHFKVLR--E 113 +UniRef90_Q13588 --------LGAFLIRESESS--PGEFSV----SVNYGDQVQHFKVLR--E 113 +UniRef90_UPI0001C606E3 --------LGAFLIRESESS--PGEFSV----SVNYGDQVQHFKVLR--E 113 +UniRef90_Q9CX99 --------LGAFLIRESESS--PGEFSV----SVNYGDQVQHFKVLR--E 113 +UniRef90_UPI0000DA3575 --------LGAFLIRESESS--PGEFSV----SVNYGDQVQHFKVLR--E 120 +UniRef90_UPI0000D9440A --------LGAFLIRESESS--PGEFSV----SVNYGNQVQHFKVLR--E 113 +UniRef90_UPI000155C0E1 --------LGAFLIRESESS--PGEFSV----SVNYGDQVQHFKVLR--E 113 +UniRef90_UPI0000E80FCB --------VGAFLIRESESA--PGEFSI----SVNYGQHVQHFKVLR--E 113 +UniRef90_UPI00016E4BE7 --------CGAFLVRESESA--PGEFSM----SVSYGDHVQHFKVLQD-- 112 +UniRef90_Q503S8 --------CGSFLVRESESA--PGEFSM----SVSYGDHVQHFKVLKD-- 112 +UniRef90_Q4V9Q1 --------CGAFLIRESEST--PGEFSV----SVSYGDHVQHFKVLKD-- 112 +UniRef90_UPI00017B202F --------PGVFLVRESESA--PGEFSV----SVSYGNRVEHFRVLE--- 111 +UniRef90_UPI0000E25B42 --------VGFFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 183 +UniRef90_O75791 --------VGFFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 110 +UniRef90_B7Z8F8 --------VGFFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 84 +UniRef90_UPI00005BC6B6 --------LGCFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 110 +UniRef90_O89100 --------IGFFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 110 +UniRef90_UPI0000EDE7DF --------VGSFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 110 +UniRef90_UPI0000F2E19C --------VGSFIIRASQSS--PGDFSI----SVRHEDDVQHFKVMR--D 275 +UniRef90_UPI0000E7F8B9 --------VGSFIVRASQNS--HGDFSI----SVRHEDDVQHFKVMR--D 110 +UniRef90_UPI0000ECD2B7 --------VGSFIVRASQNS--HGDFSI----SVRHEDDVQHFKVMR--D 110 +UniRef90_UPI000194E163 --------VGCFVVRASQNS--HGDFSI----SVRHEDDVQHFKVMR--D 125 +UniRef90_B5X487 --------VGGFLIRGSQSS--PGEFSI----SVRHEFDVQHFKVMK--D 110 +UniRef90_Q567F1 --------VGAFLIRGSQSS--PGDFSI----SVRHDYDVQHFKVMK--D 110 + * :*::: + +SH2 GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 93 +UniRef90_UPI0000EB201F GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 115 +UniRef90_P62993 GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 148 +UniRef90_P87379 GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 148 +UniRef90_UPI00016E653C GAGKYFLWVVKFNSLNELVEYHRTTSVSR---------------NQQIFL 148 +UniRef90_UPI00016E653B GAGKYFLWVVKFNSLNELVEYHRTTSVSR---------------NQQIFL 148 +UniRef90_Q4T656 GAGKYFLWVVKFTSLNELVEYHRTTSVSR---------------NQQIFL 145 +UniRef90_UPI0001555716 GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 462 +UniRef90_UPI000180AF26 GAGKYFIWLVKFKSLNQLVDYHRTSSVSR---------------SEQILL 122 +UniRef90_UPI000180AF37 GAGKYFIWVVKFSSLNELVVYHRVMTVSG---------------SERIFL 147 +UniRef90_A8XPY6 QNGKYYLWAVKFNSLNELVAYHRTASVSR---------------THTILL 149 +UniRef90_P29355 QNGKYYLWAVKFNSLNELVAYHRTASVSR---------------THTILL 149 +UniRef90_UPI000186E6C5 AQGKFFLWVVKFSSLNELVEYHRTSSVSR---------------SQHVKL 147 +UniRef90_Q08012 AQSKFFLWVVKFNSLNELVEYHRTASVSR---------------SQDVKL 147 +UniRef90_B7P0R2 TLGKFFLWVVKFASLNELVEYHRSASVSR---------------SQDIKL 147 +UniRef90_D3PIQ8 GQGKFFLWVVKFNSLNELVEYHHSASVSR---------------SQDIKL 147 +UniRef90_C4WWT7 AQAKFFLWVVKFDSLNELVDYHRESSVSR---------------SQDVRL 147 +UniRef90_UPI0000586DB6 GAGKYFLWVVKFNSLNQLVEYHRTSSVSR---------------SQTIYL 110 +UniRef90_UPI0001CBA623 GAGKYFLWVVKFNSLNELVEYHRSSSVSR---------------TQTIYL 148 +UniRef90_UPI0001CBA624 GAGKYFLWVVKFNSLNQLVDYHRTSSVSR---------------SEQIFL 147 +UniRef90_UPI000192619C GAGKYFLWVVKFNSLNQLVEYHRAASVSR---------------SQTIYL 122 +UniRef90_UPI0000521DDC GAGKYFLWVVKFSSLNELIKYHREQSISR---------------TQQIML 149 +UniRef90_C1LZF7 EAGKYFFWLSKFDSINQLIDHHRKTSISR---------------NRLLTL 156 +UniRef90_UPI0000E478D2 LAGKYFLWVVKFTSINDLVDYHKDNSVSRTQEIVLNEPCVPIEDANQRPQ 167 +UniRef90_UPI0000E49A1C TAGKFHLWIVKFPSLDALVDYYRTTSVTR---------------ENQVST 101 +UniRef90_A8E5T1 SNGKYYLWEAKFNSLNELVDYYRRHSIAK---------------FHEVFL 150 +UniRef90_C1C3T6 KSGTYFLWETKFGSLNELVEFYRSSSIAK---------------THPVLL 148 +UniRef90_Q13588 ASGKYFLWEEKFNSLNELVDFYRTTTIAK---------------KRQIFL 148 +UniRef90_UPI0001C606E3 ASGKYFLWEEKFNSLNELVDFYRTTTIAK---------------KRQIFL 148 +UniRef90_Q9CX99 ASGKYFLWEEKFNSLNELVDFYRTTTIAK---------------RRQIFL 148 +UniRef90_UPI0000DA3575 ASGKYFLWEEKFNSLNELVDFYRTTTIAK---------------RRQIFL 155 +UniRef90_UPI0000D9440A NMGKYFLWEEKFNSLNELVDFYRTTTIAK---------------KKQIFL 148 +UniRef90_UPI000155C0E1 RIGKYYLWEEKFNSLNELVDFYRTTTIAK---------------KKQIFL 148 +UniRef90_UPI0000E80FCB RNGKYFLWEEKFNSLNELVDFYRTTTIAK---------------KQQIFL 148 +UniRef90_UPI00016E4BE7 RGGQYYVWDELFPSLNELVEFYHCNSIAR---------------ERTVLL 147 +UniRef90_Q503S8 REGYYFVWEEIFPSLNQLVDFYKTNSIAK---------------ERTVFL 147 +UniRef90_Q4V9Q1 GLGQYFIWDEVFSSLNQLVDFYRINSIAK---------------ERTVFL 147 +UniRef90_UPI00017B202F GGGQYCIWEESFCSLNRLVDFYRTHSIAM---------------DKVVCL 146 +UniRef90_UPI0000E25B42 NKGNYFLWTEKFPSLNKLVDYYRTNSISR---------------QKQIFL 218 +UniRef90_O75791 NKGNYFLWTEKFPSLNKLVDYYRTNSISR---------------QKQIFL 145 +UniRef90_B7Z8F8 NKGNYFLWTEKFPSLNKLVDYYRTNSISR---------------QKQIFL 119 +UniRef90_UPI00005BC6B6 NKGNYFLWTEKFPSLNKLVDYYRKNSISK---------------QKQIFL 145 +UniRef90_O89100 TKGNYFLWTEKFPSLNKLVDYYRTTSISK---------------QKQVFL 145 +UniRef90_UPI0000EDE7DF AKGHYFLWTEKFQSLNRLVEFYKTSSISR---------------QKQIFL 145 +UniRef90_UPI0000F2E19C AKGHYFLWTEKFQSLNQLVNFYRTSSISK---------------QKQIYL 310 +UniRef90_UPI0000E7F8B9 SKGNYYLWTEKFYSLNKLVDYYRTSTISR---------------QKQILL 145 +UniRef90_UPI0000ECD2B7 SKGNYYLWTEKFYSLNKLVDYYRTSTISR---------------QKQILL 145 +UniRef90_UPI000194E163 SKGSYYLWTEKFHSLNKLVDYYKTSSISR---------------QKQIFL 160 +UniRef90_B5X487 SKGHYFLWSEKFTSLNKLVDFYKNTSISK---------------QRDIYL 145 +UniRef90_Q567F1 KSGHYYLWTEKFTSLNKLVDFYKTTSISK---------------QKEIFL 145 + . : .* * *:: *: .:: ::: . + +SH2 RDIEQVP------------------------------------------- 100 +UniRef90_UPI0000EB201F RDIEQVPQQNSIFSLCQR----TSLTLCSIVSLEASEEENPVVREWSPHS 161 +UniRef90_P62993 RDIEQVP------------------------------------------- 155 +UniRef90_P87379 RDIEQVPQVHGGDRATS--------------------------------- 165 +UniRef90_UPI00016E653C REIEQ--------------------------------------------- 153 +UniRef90_UPI00016E653B REIEQVTQVNVGTHYIN--------------------------------- 165 +UniRef90_Q4T656 RDIEQVTQV----------------------------------------- 154 +UniRef90_UPI0001555716 RDIEQMPQQKSPVCDRLS----FLFCAVNCRACSDGVFHG---------- 498 +UniRef90_UPI000180AF26 RHPIIS-------------------------------------------- 128 +UniRef90_UPI000180AF37 LHPIS--------------------------------------------- 152 +UniRef90_A8XPY6 ADMNV--------------------------------------------- 154 +UniRef90_P29355 SDMNV--------------------------------------------- 154 +UniRef90_UPI000186E6C5 RDMVP--------------------------------------------- 152 +UniRef90_Q08012 RDMIP--------------------------------------------- 152 +UniRef90_B7P0R2 RDMHP--------------------------------------------- 152 +UniRef90_D3PIQ8 KEIIC--------------------------------------------- 152 +UniRef90_C4WWT7 RDMPAATQNG---------------------------------------- 157 +UniRef90_UPI0000586DB6 KDRKS--------------------------------------------- 115 +UniRef90_UPI0001CBA623 LKMHV--------------------------------------------- 153 +UniRef90_UPI0001CBA624 KDKQ---------------------------------------------- 151 +UniRef90_UPI000192619C KDMTN--------------------------------------------- 127 +UniRef90_UPI0000521DDC VDLPV--------------------------------------------- 154 +UniRef90_C1LZF7 VDLVPSKRFPTN-------------------------------------- 168 +UniRef90_UPI0000E478D2 PAMQQSR------------------------------------------- 174 +UniRef90_UPI0000E49A1C QSVEQWS------------------------------------------- 108 +UniRef90_A8E5T1 CDEEQ--------------------------------------------- 155 +UniRef90_C1C3T6 RDEEE--------------------------------------------- 153 +UniRef90_Q13588 RDEEP--------------------------------------------- 153 +UniRef90_UPI0001C606E3 RDEEP--------------------------------------------- 153 +UniRef90_Q9CX99 CDEQP--------------------------------------------- 153 +UniRef90_UPI0000DA3575 CDEQP--------------------------------------------- 160 +UniRef90_UPI0000D9440A RDEEP--------------------------------------------- 153 +UniRef90_UPI000155C0E1 RDEEQ--------------------------------------------- 153 +UniRef90_UPI0000E80FCB RDDEQ--------------------------------------------- 153 +UniRef90_UPI00016E4BE7 RDPEQ--------------------------------------------- 152 +UniRef90_Q503S8 RDLDH--------------------------------------------- 152 +UniRef90_Q4V9Q1 RDPEG--------------------------------------------- 152 +UniRef90_UPI00017B202F RDPPS--------------------------------------------- 151 +UniRef90_UPI0000E25B42 RDRTREDQGHRGNSLDR---RSQGGPHLSGAVGEEIRPSMNRKLSDHPPT 265 +UniRef90_O75791 RDRTREDQGHRGNSLDR---RSQGGPHLSGAVGEEIRPSMNRKLSDHPPT 192 +UniRef90_B7Z8F8 RDRTREDQGHRGNSLDR---RSQGGPHLSGAVGEEIRPSMNRKLSDHPPT 166 +UniRef90_UPI00005BC6B6 RDRTREEQGQRGNSLDR---RSQGGHPLSGAVGEEIRPSMNRKPSDHP-L 191 +UniRef90_O89100 RDGTQ-DQGHRGNSLDR---RSQGGPHPSGTVGEEIRPSVNRKLSDHLPL 191 +UniRef90_UPI0000EDE7DF RDGTREDQERRGGSLDR---RAQEGLGLGGACGEEIRVPMNRKMSDLHPP 192 +UniRef90_UPI0000F2E19C RDGGREEQDRWGGSLER---RLQEGLHISGGVGEETRPSTNRKQSDHPPA 357 +UniRef90_UPI0000E7F8B9 RDDSREEKERRGGSLER---MSRDGLHVGGAAAEAHS-SMSKRYVDHP-- 189 +UniRef90_UPI0000ECD2B7 RDDSREEKERRGGSLER---MSRDGLHVGGAAAEAHS-SMSKRYVDHPVP 191 +UniRef90_UPI000194E163 RDNSQEEKERHGGSLER---IGREGFHMGGAAGEDHS-SISKRYVEYPIP 206 +UniRef90_B5X487 RDGSRDDQSPSTPQPLKRGSLPEERS-----YGAPTAATSHRRASDLP-- 188 +UniRef90_Q567F1 RDGSGDE--PRAPPPIK--SQPEVRPPPGGGYGSPQTSSQNRSTTDPT-- 189 + diff --git a/examples/demos/data/sh2.face b/examples/demos/data/sh2.face new file mode 100644 index 0000000000000000000000000000000000000000..5b13977c39763b5ee1a524d004e177c41f031acb --- /dev/null +++ b/examples/demos/data/sh2.face @@ -0,0 +1,47483 @@ +# MSMS solvent excluded surface faces for /tmp/tmpNakzL3/entity +#faces #sphere density probe_r + 47480 832 5.00 1.50 + 1 3337 2 3 3 + 2 3337 3338 3 3 + 3337 3339 3338 3 3 + 3338 3339 3340 3 3 + 3339 3341 3340 3 3 + 3340 3341 3342 3 3 + 3341 3343 3342 3 3 + 3342 3343 3344 3 3 + 3343 3345 3344 3 3 + 3344 3345 3346 3 3 + 3345 3347 3346 3 3 + 3346 3347 3348 3 3 + 3347 3349 3348 3 3 + 3348 3349 3350 3 3 + 3349 3351 3350 3 3 + 3350 3351 3352 3 3 + 3351 3353 3352 3 3 + 3352 3353 3354 3 3 + 3353 5 3354 3 3 + 3354 5 4 3 3 + 5 8 6 3 5 + 6 8 7 3 5 + 8 3357 3355 3 7 + 3355 3357 3358 3 7 + 3355 3358 3356 3 7 + 3356 3358 3359 3 7 + 3356 3359 9 3 7 + 9 3359 3360 3 7 + 3357 3361 3358 3 7 + 3358 3361 3362 3 7 + 3358 3362 3359 3 7 + 3359 3362 3363 3 7 + 3359 3363 3360 3 7 + 3360 3363 3364 3 7 + 3361 3365 3362 3 7 + 3362 3365 3366 3 7 + 3362 3366 3363 3 7 + 3363 3366 3367 3 7 + 3363 3367 3364 3 7 + 3364 3367 3368 3 7 + 3365 3369 3366 3 7 + 3366 3369 3370 3 7 + 3366 3370 3367 3 7 + 3367 3370 3371 3 7 + 3367 3371 3368 3 7 + 3368 3371 3372 3 7 + 3369 3373 3370 3 7 + 3370 3373 3374 3 7 + 3370 3374 3371 3 7 + 3371 3374 3375 3 7 + 3371 3375 3372 3 7 + 3372 3375 3376 3 7 + 3373 11 3374 3 7 + 3374 11 3377 3 7 + 3374 3377 3375 3 7 + 3375 3377 3378 3 7 + 3375 3378 3376 3 7 + 3376 3378 10 3 7 + 11 3384 3379 3 9 + 3379 3384 3385 3 9 + 3379 3385 3380 3 9 + 3380 3385 3386 3 9 + 3380 3386 3381 3 9 + 3381 3386 3387 3 9 + 3381 3387 3382 3 9 + 3382 3387 3388 3 9 + 3382 3388 3383 3 9 + 3383 3388 3389 3 9 + 3383 3389 12 3 9 + 12 3389 3390 3 9 + 3384 14 3385 3 9 + 3385 14 3391 3 9 + 3385 3391 3386 3 9 + 3386 3391 3392 3 9 + 3386 3392 3387 3 9 + 3387 3392 3393 3 9 + 3387 3393 3388 3 9 + 3388 3393 3394 3 9 + 3388 3394 3389 3 9 + 3389 3394 3395 3 9 + 3389 3395 3390 3 9 + 3390 3395 13 3 9 + 14 3400 3396 3 11 + 3396 3400 3401 3 11 + 3396 3401 3397 3 11 + 3397 3401 3402 3 11 + 3397 3402 3398 3 11 + 3398 3402 3403 3 11 + 3398 3403 3399 3 11 + 3399 3403 3404 3 11 + 3399 3404 15 3 11 + 15 3404 3405 3 11 + 3400 17 3401 3 11 + 3401 17 3406 3 11 + 3401 3406 3402 3 11 + 3402 3406 3407 3 11 + 3402 3407 3403 3 11 + 3403 3407 3408 3 11 + 3403 3408 3404 3 11 + 3404 3408 3409 3 11 + 3404 3409 3405 3 11 + 3405 3409 16 3 11 + 17 1 3410 3 12 + 3410 1 3416 3 12 + 3410 3416 3411 3 12 + 3411 3416 3417 3 12 + 3411 3417 3412 3 12 + 3412 3417 3418 3 12 + 3412 3418 3413 3 12 + 3413 3418 3419 3 12 + 3413 3419 3414 3 12 + 3414 3419 3420 3 12 + 3414 3420 3415 3 12 + 3415 3420 3421 3 12 + 3415 3421 18 3 12 + 18 3421 3 3 12 + 18 20 3422 3 14 + 3422 20 3425 3 14 + 3422 3425 3423 3 14 + 3423 3425 3426 3 14 + 3423 3426 3424 3 14 + 3424 3426 3427 3 14 + 3424 3427 16 3 14 + 16 3427 19 3 14 + 20 3430 3428 3 16 + 3428 3430 3431 3 16 + 3428 3431 3429 3 16 + 3429 3431 3432 3 16 + 3429 3432 21 3 16 + 21 3432 3433 3 16 + 3430 23 3431 3 16 + 3431 23 3434 3 16 + 3431 3434 3432 3 16 + 3432 3434 3435 3 16 + 3432 3435 3433 3 16 + 3433 3435 22 3 16 + 23 26 24 3 18 + 24 26 25 3 18 + 26 3438 3436 3 20 + 3436 3438 3439 3 20 + 3436 3439 3437 3 20 + 3437 3439 3440 3 20 + 3437 3440 27 3 20 + 27 3440 3441 3 20 + 3438 3442 3439 3 20 + 3439 3442 3443 3 20 + 3439 3443 3440 3 20 + 3440 3443 3444 3 20 + 3440 3444 3441 3 20 + 3441 3444 3445 3 20 + 3442 29 3443 3 20 + 3443 29 3446 3 20 + 3443 3446 3444 3 20 + 3444 3446 3447 3 20 + 3444 3447 3445 3 20 + 3445 3447 28 3 20 + 29 32 3448 3 22 + 3448 32 3451 3 22 + 3448 3451 3449 3 22 + 3449 3451 3452 3 22 + 3449 3452 3450 3 22 + 3450 3452 3453 3 22 + 3450 3453 30 3 22 + 30 3453 31 3 22 + 32 35 3454 3 24 + 3454 35 3456 3 24 + 3454 3456 3455 3 24 + 3455 3456 3457 3 24 + 3455 3457 33 3 24 + 33 3457 34 3 24 + 35 3 3458 3 25 + 3458 3 3464 3 25 + 3458 3464 3459 3 25 + 3459 3464 3465 3 25 + 3459 3465 3460 3 25 + 3460 3465 3466 3 25 + 3460 3466 3461 3 25 + 3461 3466 3467 3 25 + 3461 3467 3462 3 25 + 3462 3467 3468 3 25 + 3462 3468 3463 3 25 + 3463 3468 3469 3 25 + 3463 3469 36 3 25 + 36 3469 2 3 25 + 36 3474 3470 3 27 + 3470 3474 3475 3 27 + 3470 3475 3471 3 27 + 3471 3475 3476 3 27 + 3471 3476 3472 3 27 + 3472 3476 3477 3 27 + 3472 3477 3473 3 27 + 3473 3477 3478 3 27 + 3473 3478 34 3 27 + 34 3478 3479 3 27 + 3474 3480 3475 3 27 + 3475 3480 3481 3 27 + 3475 3481 3476 3 27 + 3476 3481 3482 3 27 + 3476 3482 3477 3 27 + 3477 3482 3483 3 27 + 3477 3483 3478 3 27 + 3478 3483 3484 3 27 + 3478 3484 3479 3 27 + 3479 3484 3485 3 27 + 3480 38 3481 3 27 + 3481 38 3486 3 27 + 3481 3486 3482 3 27 + 3482 3486 3487 3 27 + 3482 3487 3483 3 27 + 3483 3487 3488 3 27 + 3483 3488 3484 3 27 + 3484 3488 3489 3 27 + 3484 3489 3485 3 27 + 3485 3489 37 3 27 + 38 3493 3490 3 29 + 3490 3493 3494 3 29 + 3490 3494 3491 3 29 + 3491 3494 3495 3 29 + 3491 3495 3492 3 29 + 3492 3495 3496 3 29 + 3492 3496 39 3 29 + 39 3496 3497 3 29 + 3493 3498 3494 3 29 + 3494 3498 3499 3 29 + 3494 3499 3495 3 29 + 3495 3499 3500 3 29 + 3495 3500 3496 3 29 + 3496 3500 3501 3 29 + 3496 3501 3497 3 29 + 3497 3501 3502 3 29 + 3498 3503 3499 3 29 + 3499 3503 3504 3 29 + 3499 3504 3500 3 29 + 3500 3504 3505 3 29 + 3500 3505 3501 3 29 + 3501 3505 3506 3 29 + 3501 3506 3502 3 29 + 3502 3506 3507 3 29 + 3503 41 3504 3 29 + 3504 41 3508 3 29 + 3504 3508 3505 3 29 + 3505 3508 3509 3 29 + 3505 3509 3506 3 29 + 3506 3509 3510 3 29 + 3506 3510 3507 3 29 + 3507 3510 40 3 29 + 41 4 3511 3 30 + 3511 4 3512 3 30 + 3511 3512 42 3 30 + 42 3512 6 3 30 + 42 44 3513 3 32 + 3513 44 3515 3 32 + 3513 3515 3514 3 32 + 3514 3515 3516 3 32 + 3514 3516 40 3 32 + 40 3516 43 3 32 + 44 47 3517 3 34 + 3517 47 3520 3 34 + 3517 3520 3518 3 34 + 3518 3520 3521 3 34 + 3518 3521 3519 3 34 + 3519 3521 3522 3 34 + 3519 3522 45 3 34 + 45 3522 46 3 34 + 47 50 3523 3 36 + 3523 50 3527 3 36 + 3523 3527 3524 3 36 + 3524 3527 3528 3 36 + 3524 3528 3525 3 36 + 3525 3528 3529 3 36 + 3525 3529 3526 3 36 + 3526 3529 3530 3 36 + 3526 3530 48 3 36 + 48 3530 49 3 36 + 50 7 3531 3 37 + 3531 7 3532 3 37 + 3531 3532 51 3 37 + 51 3532 9 3 37 + 51 3536 3533 3 39 + 3533 3536 3537 3 39 + 3533 3537 3534 3 39 + 3534 3537 3538 3 39 + 3534 3538 3535 3 39 + 3535 3538 3539 3 39 + 3535 3539 49 3 39 + 49 3539 3540 3 39 + 3536 3541 3537 3 39 + 3537 3541 3542 3 39 + 3537 3542 3538 3 39 + 3538 3542 3543 3 39 + 3538 3543 3539 3 39 + 3539 3543 3544 3 39 + 3539 3544 3540 3 39 + 3540 3544 3545 3 39 + 3541 3546 3542 3 39 + 3542 3546 3547 3 39 + 3542 3547 3543 3 39 + 3543 3547 3548 3 39 + 3543 3548 3544 3 39 + 3544 3548 3549 3 39 + 3544 3549 3545 3 39 + 3545 3549 3550 3 39 + 3546 3551 3547 3 39 + 3547 3551 3552 3 39 + 3547 3552 3548 3 39 + 3548 3552 3553 3 39 + 3548 3553 3549 3 39 + 3549 3553 3554 3 39 + 3549 3554 3550 3 39 + 3550 3554 3555 3 39 + 3551 53 3552 3 39 + 3552 53 3556 3 39 + 3552 3556 3553 3 39 + 3553 3556 3557 3 39 + 3553 3557 3554 3 39 + 3554 3557 3558 3 39 + 3554 3558 3555 3 39 + 3555 3558 52 3 39 + 53 3561 3559 3 41 + 3559 3561 3562 3 41 + 3559 3562 3560 3 41 + 3560 3562 3563 3 41 + 3560 3563 54 3 41 + 54 3563 3564 3 41 + 3561 56 3562 3 41 + 3562 56 3565 3 41 + 3562 3565 3563 3 41 + 3563 3565 3566 3 41 + 3563 3566 3564 3 41 + 3564 3566 55 3 41 + 56 3570 3567 3 42 + 3567 3570 3571 3 42 + 3567 3571 3568 3 42 + 3568 3571 3572 3 42 + 3568 3572 3569 3 42 + 3569 3572 3573 3 42 + 3569 3573 57 3 42 + 57 3573 3574 3 42 + 3570 3575 3571 3 42 + 3571 3575 3576 3 42 + 3571 3576 3572 3 42 + 3572 3576 3577 3 42 + 3572 3577 3573 3 42 + 3573 3577 3578 3 42 + 3573 3578 3574 3 42 + 3574 3578 3579 3 42 + 3575 3580 3576 3 42 + 3576 3580 3581 3 42 + 3576 3581 3577 3 42 + 3577 3581 3582 3 42 + 3577 3582 3578 3 42 + 3578 3582 3583 3 42 + 3578 3583 3579 3 42 + 3579 3583 3584 3 42 + 3580 10 3581 3 42 + 3581 10 3585 3 42 + 3581 3585 3582 3 42 + 3582 3585 3586 3 42 + 3582 3586 3583 3 42 + 3583 3586 3587 3 42 + 3583 3587 3584 3 42 + 3584 3587 12 3 42 + 57 59 3588 3 44 + 3588 59 3589 3 44 + 3588 3589 55 3 44 + 55 3589 58 3 44 + 59 3591 3590 3 46 + 3590 3591 3592 3 46 + 3590 3592 60 3 46 + 60 3592 3593 3 46 + 3591 3594 3592 3 46 + 3592 3594 3595 3 46 + 3592 3595 3593 3 46 + 3593 3595 3596 3 46 + 3594 3597 3595 3 46 + 3595 3597 3598 3 46 + 3595 3598 3596 3 46 + 3596 3598 3599 3 46 + 3597 62 3598 3 46 + 3598 62 3600 3 46 + 3598 3600 3599 3 46 + 3599 3600 61 3 46 + 62 65 3601 3 48 + 3601 65 3605 3 48 + 3601 3605 3602 3 48 + 3602 3605 3606 3 48 + 3602 3606 3603 3 48 + 3603 3606 3607 3 48 + 3603 3607 3604 3 48 + 3604 3607 3608 3 48 + 3604 3608 63 3 48 + 63 3608 64 3 48 + 65 3612 3609 3 50 + 3609 3612 3613 3 50 + 3609 3613 3610 3 50 + 3610 3613 3614 3 50 + 3610 3614 3611 3 50 + 3611 3614 3615 3 50 + 3611 3615 66 3 50 + 66 3615 3616 3 50 + 3612 3617 3613 3 50 + 3613 3617 3618 3 50 + 3613 3618 3614 3 50 + 3614 3618 3619 3 50 + 3614 3619 3615 3 50 + 3615 3619 3620 3 50 + 3615 3620 3616 3 50 + 3616 3620 3621 3 50 + 3617 68 3618 3 50 + 3618 68 3622 3 50 + 3618 3622 3619 3 50 + 3619 3622 3623 3 50 + 3619 3623 3620 3 50 + 3620 3623 3624 3 50 + 3620 3624 3621 3 50 + 3621 3624 67 3 50 + 68 71 3625 3 52 + 3625 71 3629 3 52 + 3625 3629 3626 3 52 + 3626 3629 3630 3 52 + 3626 3630 3627 3 52 + 3627 3630 3631 3 52 + 3627 3631 3628 3 52 + 3628 3631 3632 3 52 + 3628 3632 69 3 52 + 69 3632 70 3 52 + 71 13 3633 3 53 + 3633 13 3636 3 53 + 3633 3636 3634 3 53 + 3634 3636 3637 3 53 + 3634 3637 3635 3 53 + 3635 3637 3638 3 53 + 3635 3638 72 3 53 + 72 3638 15 3 53 + 72 74 3639 3 55 + 3639 74 3642 3 55 + 3639 3642 3640 3 55 + 3640 3642 3643 3 55 + 3640 3643 3641 3 55 + 3641 3643 3644 3 55 + 3641 3644 70 3 55 + 70 3644 73 3 55 + 74 3646 3645 3 56 + 3645 3646 3647 3 56 + 3645 3647 75 3 56 + 75 3647 3648 3 56 + 3646 19 3647 3 56 + 3647 19 3649 3 56 + 3647 3649 3648 3 56 + 3648 3649 21 3 56 + 75 3652 3650 3 58 + 3650 3652 3653 3 58 + 3650 3653 3651 3 58 + 3651 3653 3654 3 58 + 3651 3654 73 3 58 + 73 3654 3655 3 58 + 3652 3656 3653 3 58 + 3653 3656 3657 3 58 + 3653 3657 3654 3 58 + 3654 3657 3658 3 58 + 3654 3658 3655 3 58 + 3655 3658 3659 3 58 + 3656 77 3657 3 58 + 3657 77 3660 3 58 + 3657 3660 3658 3 58 + 3658 3660 3661 3 58 + 3658 3661 3659 3 58 + 3659 3661 76 3 58 + 77 3662 78 3 60 + 78 3662 3663 3 60 + 3662 80 3663 3 60 + 3663 80 79 3 60 + 80 83 3664 3 62 + 3664 83 3667 3 62 + 3664 3667 3665 3 62 + 3665 3667 3668 3 62 + 3665 3668 3666 3 62 + 3666 3668 3669 3 62 + 3666 3669 81 3 62 + 81 3669 82 3 62 + 83 86 84 3 64 + 84 86 85 3 64 + 86 3671 3670 3 65 + 3670 3671 3672 3 65 + 3670 3672 87 3 65 + 87 3672 3673 3 65 + 3671 22 3672 3 65 + 3672 22 3674 3 65 + 3672 3674 3673 3 65 + 3673 3674 24 3 65 + 87 89 85 3 67 + 85 89 88 3 67 + 89 3676 3675 3 68 + 3675 3676 3677 3 68 + 3675 3677 90 3 68 + 90 3677 3678 3 68 + 3676 25 3677 3 68 + 3677 25 3679 3 68 + 3677 3679 3678 3 68 + 3678 3679 27 3 68 + 90 92 3680 3 70 + 3680 92 3682 3 70 + 3680 3682 3681 3 70 + 3681 3682 3683 3 70 + 3681 3683 88 3 70 + 88 3683 91 3 70 + 92 95 3684 3 72 + 3684 95 3687 3 72 + 3684 3687 3685 3 72 + 3685 3687 3688 3 72 + 3685 3688 3686 3 72 + 3686 3688 3689 3 72 + 3686 3689 93 3 72 + 93 3689 94 3 72 + 95 3694 3690 3 74 + 3690 3694 3695 3 74 + 3690 3695 3691 3 74 + 3691 3695 3696 3 74 + 3691 3696 3692 3 74 + 3692 3696 3697 3 74 + 3692 3697 3693 3 74 + 3693 3697 3698 3 74 + 3693 3698 96 3 74 + 96 3698 3699 3 74 + 3694 98 3695 3 74 + 3695 98 3700 3 74 + 3695 3700 3696 3 74 + 3696 3700 3701 3 74 + 3696 3701 3697 3 74 + 3697 3701 3702 3 74 + 3697 3702 3698 3 74 + 3698 3702 3703 3 74 + 3698 3703 3699 3 74 + 3699 3703 97 3 74 + 98 3705 3704 3 76 + 3704 3705 3706 3 76 + 3704 3706 99 3 76 + 99 3706 3707 3 76 + 3705 3708 3706 3 76 + 3706 3708 3709 3 76 + 3706 3709 3707 3 76 + 3707 3709 3710 3 76 + 3708 3711 3709 3 76 + 3709 3711 3712 3 76 + 3709 3712 3710 3 76 + 3710 3712 3713 3 76 + 3711 101 3712 3 76 + 3712 101 3714 3 76 + 3712 3714 3713 3 76 + 3713 3714 100 3 76 + 101 3715 102 3 78 + 102 3715 3716 3 78 + 3715 3717 3716 3 78 + 3716 3717 3718 3 78 + 3717 104 3718 3 78 + 3718 104 103 3 78 + 104 28 3719 3 79 + 3719 28 3723 3 79 + 3719 3723 3720 3 79 + 3720 3723 3724 3 79 + 3720 3724 3721 3 79 + 3721 3724 3725 3 79 + 3721 3725 3722 3 79 + 3722 3725 3726 3 79 + 3722 3726 105 3 79 + 105 3726 30 3 79 + 105 107 3727 3 81 + 3727 107 3731 3 81 + 3727 3731 3728 3 81 + 3728 3731 3732 3 81 + 3728 3732 3729 3 81 + 3729 3732 3733 3 81 + 3729 3733 3730 3 81 + 3730 3733 3734 3 81 + 3730 3734 103 3 81 + 103 3734 106 3 81 + 107 110 3735 3 83 + 3735 110 3738 3 83 + 3735 3738 3736 3 83 + 3736 3738 3739 3 83 + 3736 3739 3737 3 83 + 3737 3739 3740 3 83 + 3737 3740 108 3 83 + 108 3740 109 3 83 + 110 3741 111 3 85 + 111 3741 3742 3 85 + 3741 113 3742 3 85 + 3742 113 112 3 85 + 113 116 3743 3 87 + 3743 116 3744 3 87 + 3743 3744 114 3 87 + 114 3744 115 3 87 + 116 3747 3745 3 89 + 3745 3747 3748 3 89 + 3745 3748 3746 3 89 + 3746 3748 3749 3 89 + 3746 3749 117 3 89 + 117 3749 3750 3 89 + 3747 3751 3748 3 89 + 3748 3751 3752 3 89 + 3748 3752 3749 3 89 + 3749 3752 3753 3 89 + 3749 3753 3750 3 89 + 3750 3753 3754 3 89 + 3751 119 3752 3 89 + 3752 119 3755 3 89 + 3752 3755 3753 3 89 + 3753 3755 3756 3 89 + 3753 3756 3754 3 89 + 3754 3756 118 3 89 + 119 122 3757 3 91 + 3757 122 3761 3 91 + 3757 3761 3758 3 91 + 3758 3761 3762 3 91 + 3758 3762 3759 3 91 + 3759 3762 3763 3 91 + 3759 3763 3760 3 91 + 3760 3763 3764 3 91 + 3760 3764 120 3 91 + 120 3764 121 3 91 + 122 3766 3765 3 92 + 3765 3766 3767 3 92 + 3765 3767 123 3 92 + 123 3767 3768 3 92 + 3766 3769 3767 3 92 + 3767 3769 3770 3 92 + 3767 3770 3768 3 92 + 3768 3770 3771 3 92 + 3769 3772 3770 3 92 + 3770 3772 3773 3 92 + 3770 3773 3771 3 92 + 3771 3773 3774 3 92 + 3772 3775 3773 3 92 + 3773 3775 3776 3 92 + 3773 3776 3774 3 92 + 3774 3776 3777 3 92 + 3775 3778 3776 3 92 + 3776 3778 3779 3 92 + 3776 3779 3777 3 92 + 3777 3779 3780 3 92 + 3778 31 3779 3 92 + 3779 31 3781 3 92 + 3779 3781 3780 3 92 + 3780 3781 33 3 92 + 123 125 3782 3 94 + 3782 125 3785 3 94 + 3782 3785 3783 3 94 + 3783 3785 3786 3 94 + 3783 3786 3784 3 94 + 3784 3786 3787 3 94 + 3784 3787 121 3 94 + 121 3787 124 3 94 + 125 3790 3788 3 95 + 3788 3790 3791 3 95 + 3788 3791 3789 3 95 + 3789 3791 3792 3 95 + 3789 3792 126 3 95 + 126 3792 3793 3 95 + 3790 37 3791 3 95 + 3791 37 3794 3 95 + 3791 3794 3792 3 95 + 3792 3794 3795 3 95 + 3792 3795 3793 3 95 + 3793 3795 39 3 95 + 126 3800 3796 3 97 + 3796 3800 3801 3 97 + 3796 3801 3797 3 97 + 3797 3801 3802 3 97 + 3797 3802 3798 3 97 + 3798 3802 3803 3 97 + 3798 3803 3799 3 97 + 3799 3803 3804 3 97 + 3799 3804 124 3 97 + 124 3804 3805 3 97 + 3800 128 3801 3 97 + 3801 128 3806 3 97 + 3801 3806 3802 3 97 + 3802 3806 3807 3 97 + 3802 3807 3803 3 97 + 3803 3807 3808 3 97 + 3803 3808 3804 3 97 + 3804 3808 3809 3 97 + 3804 3809 3805 3 97 + 3805 3809 127 3 97 + 128 3813 3810 3 99 + 3810 3813 3814 3 99 + 3810 3814 3811 3 99 + 3811 3814 3815 3 99 + 3811 3815 3812 3 99 + 3812 3815 3816 3 99 + 3812 3816 129 3 99 + 129 3816 3817 3 99 + 3813 3818 3814 3 99 + 3814 3818 3819 3 99 + 3814 3819 3815 3 99 + 3815 3819 3820 3 99 + 3815 3820 3816 3 99 + 3816 3820 3821 3 99 + 3816 3821 3817 3 99 + 3817 3821 3822 3 99 + 3818 131 3819 3 99 + 3819 131 3823 3 99 + 3819 3823 3820 3 99 + 3820 3823 3824 3 99 + 3820 3824 3821 3 99 + 3821 3824 3825 3 99 + 3821 3825 3822 3 99 + 3822 3825 130 3 99 + 131 134 3826 3 101 + 3826 134 3830 3 101 + 3826 3830 3827 3 101 + 3827 3830 3831 3 101 + 3827 3831 3828 3 101 + 3828 3831 3832 3 101 + 3828 3832 3829 3 101 + 3829 3832 3833 3 101 + 3829 3833 132 3 101 + 132 3833 133 3 101 + 134 43 3834 3 102 + 3834 43 3837 3 102 + 3834 3837 3835 3 102 + 3835 3837 3838 3 102 + 3835 3838 3836 3 102 + 3836 3838 3839 3 102 + 3836 3839 135 3 102 + 135 3839 45 3 102 + 135 3840 133 3 104 + 133 3840 3841 3 104 + 3840 137 3841 3 104 + 3841 137 136 3 104 + 137 140 3842 3 106 + 3842 140 3843 3 106 + 3842 3843 138 3 106 + 138 3843 139 3 106 + 140 143 3844 3 108 + 3844 143 3846 3 108 + 3844 3846 3845 3 108 + 3845 3846 3847 3 108 + 3845 3847 141 3 108 + 141 3847 142 3 108 + 143 3848 144 3 109 + 144 3848 3849 3 109 + 3848 46 3849 3 109 + 3849 46 48 3 109 + 144 146 3850 3 111 + 3850 146 3851 3 111 + 3850 3851 142 3 111 + 142 3851 145 3 111 + 146 3852 147 3 113 + 147 3852 3853 3 113 + 3852 3854 3853 3 113 + 3853 3854 3855 3 113 + 3854 3856 3855 3 113 + 3855 3856 3857 3 113 + 3856 3858 3857 3 113 + 3857 3858 3859 3 113 + 3858 3860 3859 3 113 + 3859 3860 3861 3 113 + 3860 3862 3861 3 113 + 3861 3862 3863 3 113 + 3862 149 3863 3 113 + 3863 149 148 3 113 + 149 152 3864 3 115 + 3864 152 3868 3 115 + 3864 3868 3865 3 115 + 3865 3868 3869 3 115 + 3865 3869 3866 3 115 + 3866 3869 3870 3 115 + 3866 3870 3867 3 115 + 3867 3870 3871 3 115 + 3867 3871 150 3 115 + 150 3871 151 3 115 + 152 155 3872 3 117 + 3872 155 3875 3 117 + 3872 3875 3873 3 117 + 3873 3875 3876 3 117 + 3873 3876 3874 3 117 + 3874 3876 3877 3 117 + 3874 3877 153 3 117 + 153 3877 154 3 117 + 155 52 3878 3 118 + 3878 52 3881 3 118 + 3878 3881 3879 3 118 + 3879 3881 3882 3 118 + 3879 3882 3880 3 118 + 3880 3882 3883 3 118 + 3880 3883 156 3 118 + 156 3883 54 3 118 + 156 158 3884 3 120 + 3884 158 3885 3 120 + 3884 3885 154 3 120 + 154 3885 157 3 120 + 158 3887 3886 3 121 + 3886 3887 3888 3 121 + 3886 3888 159 3 121 + 159 3888 3889 3 121 + 3887 58 3888 3 121 + 3888 58 3890 3 121 + 3888 3890 3889 3 121 + 3889 3890 60 3 121 + 159 3894 3891 3 123 + 3891 3894 3895 3 123 + 3891 3895 3892 3 123 + 3892 3895 3896 3 123 + 3892 3896 3893 3 123 + 3893 3896 3897 3 123 + 3893 3897 157 3 123 + 157 3897 3898 3 123 + 3894 161 3895 3 123 + 3895 161 3899 3 123 + 3895 3899 3896 3 123 + 3896 3899 3900 3 123 + 3896 3900 3897 3 123 + 3897 3900 3901 3 123 + 3897 3901 3898 3 123 + 3898 3901 160 3 123 + 161 164 3902 3 125 + 3902 164 3907 3 125 + 3902 3907 3903 3 125 + 3903 3907 3908 3 125 + 3903 3908 3904 3 125 + 3904 3908 3909 3 125 + 3904 3909 3905 3 125 + 3905 3909 3910 3 125 + 3905 3910 3906 3 125 + 3906 3910 3911 3 125 + 3906 3911 162 3 125 + 162 3911 163 3 125 + 164 3916 3912 3 127 + 3912 3916 3917 3 127 + 3912 3917 3913 3 127 + 3913 3917 3918 3 127 + 3913 3918 3914 3 127 + 3914 3918 3919 3 127 + 3914 3919 3915 3 127 + 3915 3919 3920 3 127 + 3915 3920 165 3 127 + 165 3920 3921 3 127 + 3916 3922 3917 3 127 + 3917 3922 3923 3 127 + 3917 3923 3918 3 127 + 3918 3923 3924 3 127 + 3918 3924 3919 3 127 + 3919 3924 3925 3 127 + 3919 3925 3920 3 127 + 3920 3925 3926 3 127 + 3920 3926 3921 3 127 + 3921 3926 3927 3 127 + 3922 167 3923 3 127 + 3923 167 3928 3 127 + 3923 3928 3924 3 127 + 3924 3928 3929 3 127 + 3924 3929 3925 3 127 + 3925 3929 3930 3 127 + 3925 3930 3926 3 127 + 3926 3930 3931 3 127 + 3926 3931 3927 3 127 + 3927 3931 166 3 127 + 167 170 3932 3 129 + 3932 170 3936 3 129 + 3932 3936 3933 3 129 + 3933 3936 3937 3 129 + 3933 3937 3934 3 129 + 3934 3937 3938 3 129 + 3934 3938 3935 3 129 + 3935 3938 3939 3 129 + 3935 3939 168 3 129 + 168 3939 169 3 129 + 170 173 3940 3 131 + 3940 173 3943 3 131 + 3940 3943 3941 3 131 + 3941 3943 3944 3 131 + 3941 3944 3942 3 131 + 3942 3944 3945 3 131 + 3942 3945 171 3 131 + 171 3945 172 3 131 + 173 3949 3946 3 132 + 3946 3949 3950 3 132 + 3946 3950 3947 3 132 + 3947 3950 3951 3 132 + 3947 3951 3948 3 132 + 3948 3951 3952 3 132 + 3948 3952 174 3 132 + 174 3952 3953 3 132 + 3949 3954 3950 3 132 + 3950 3954 3955 3 132 + 3950 3955 3951 3 132 + 3951 3955 3956 3 132 + 3951 3956 3952 3 132 + 3952 3956 3957 3 132 + 3952 3957 3953 3 132 + 3953 3957 3958 3 132 + 3954 3959 3955 3 132 + 3955 3959 3960 3 132 + 3955 3960 3956 3 132 + 3956 3960 3961 3 132 + 3956 3961 3957 3 132 + 3957 3961 3962 3 132 + 3957 3962 3958 3 132 + 3958 3962 3963 3 132 + 3959 3964 3960 3 132 + 3960 3964 3965 3 132 + 3960 3965 3961 3 132 + 3961 3965 3966 3 132 + 3961 3966 3962 3 132 + 3962 3966 3967 3 132 + 3962 3967 3963 3 132 + 3963 3967 3968 3 132 + 3964 61 3965 3 132 + 3965 61 3969 3 132 + 3965 3969 3966 3 132 + 3966 3969 3970 3 132 + 3966 3970 3967 3 132 + 3967 3970 3971 3 132 + 3967 3971 3968 3 132 + 3968 3971 63 3 132 + 174 176 3972 3 134 + 3972 176 3973 3 134 + 3972 3973 172 3 134 + 172 3973 175 3 134 + 176 3977 3974 3 136 + 3974 3977 3978 3 136 + 3974 3978 3975 3 136 + 3975 3978 3979 3 136 + 3975 3979 3976 3 136 + 3976 3979 3980 3 136 + 3976 3980 177 3 136 + 177 3980 3981 3 136 + 3977 3982 3978 3 136 + 3978 3982 3983 3 136 + 3978 3983 3979 3 136 + 3979 3983 3984 3 136 + 3979 3984 3980 3 136 + 3980 3984 3985 3 136 + 3980 3985 3981 3 136 + 3981 3985 3986 3 136 + 3982 3987 3983 3 136 + 3983 3987 3988 3 136 + 3983 3988 3984 3 136 + 3984 3988 3989 3 136 + 3984 3989 3985 3 136 + 3985 3989 3990 3 136 + 3985 3990 3986 3 136 + 3986 3990 3991 3 136 + 3987 3992 3988 3 136 + 3988 3992 3993 3 136 + 3988 3993 3989 3 136 + 3989 3993 3994 3 136 + 3989 3994 3990 3 136 + 3990 3994 3995 3 136 + 3990 3995 3991 3 136 + 3991 3995 3996 3 136 + 3992 3997 3993 3 136 + 3993 3997 3998 3 136 + 3993 3998 3994 3 136 + 3994 3998 3999 3 136 + 3994 3999 3995 3 136 + 3995 3999 4000 3 136 + 3995 4000 3996 3 136 + 3996 4000 4001 3 136 + 3997 4002 3998 3 136 + 3998 4002 4003 3 136 + 3998 4003 3999 3 136 + 3999 4003 4004 3 136 + 3999 4004 4000 3 136 + 4000 4004 4005 3 136 + 4000 4005 4001 3 136 + 4001 4005 4006 3 136 + 4002 179 4003 3 136 + 4003 179 4007 3 136 + 4003 4007 4004 3 136 + 4004 4007 4008 3 136 + 4004 4008 4005 3 136 + 4005 4008 4009 3 136 + 4005 4009 4006 3 136 + 4006 4009 178 3 136 + 179 182 4010 3 138 + 4010 182 4014 3 138 + 4010 4014 4011 3 138 + 4011 4014 4015 3 138 + 4011 4015 4012 3 138 + 4012 4015 4016 3 138 + 4012 4016 4013 3 138 + 4013 4016 4017 3 138 + 4013 4017 180 3 138 + 180 4017 181 3 138 + 182 4019 4018 3 139 + 4018 4019 4020 3 139 + 4018 4020 183 3 139 + 183 4020 4021 3 139 + 4019 4022 4020 3 139 + 4020 4022 4023 3 139 + 4020 4023 4021 3 139 + 4021 4023 4024 3 139 + 4022 4025 4023 3 139 + 4023 4025 4026 3 139 + 4023 4026 4024 3 139 + 4024 4026 4027 3 139 + 4025 4028 4026 3 139 + 4026 4028 4029 3 139 + 4026 4029 4027 3 139 + 4027 4029 4030 3 139 + 4028 64 4029 3 139 + 4029 64 4031 3 139 + 4029 4031 4030 3 139 + 4030 4031 66 3 139 + 183 4036 4032 3 141 + 4032 4036 4037 3 141 + 4032 4037 4033 3 141 + 4033 4037 4038 3 141 + 4033 4038 4034 3 141 + 4034 4038 4039 3 141 + 4034 4039 4035 3 141 + 4035 4039 4040 3 141 + 4035 4040 181 3 141 + 181 4040 4041 3 141 + 4036 4042 4037 3 141 + 4037 4042 4043 3 141 + 4037 4043 4038 3 141 + 4038 4043 4044 3 141 + 4038 4044 4039 3 141 + 4039 4044 4045 3 141 + 4039 4045 4040 3 141 + 4040 4045 4046 3 141 + 4040 4046 4041 3 141 + 4041 4046 4047 3 141 + 4042 185 4043 3 141 + 4043 185 4048 3 141 + 4043 4048 4044 3 141 + 4044 4048 4049 3 141 + 4044 4049 4045 3 141 + 4045 4049 4050 3 141 + 4045 4050 4046 3 141 + 4046 4050 4051 3 141 + 4046 4051 4047 3 141 + 4047 4051 184 3 141 + 185 188 4052 3 143 + 4052 188 4056 3 143 + 4052 4056 4053 3 143 + 4053 4056 4057 3 143 + 4053 4057 4054 3 143 + 4054 4057 4058 3 143 + 4054 4058 4055 3 143 + 4055 4058 4059 3 143 + 4055 4059 186 3 143 + 186 4059 187 3 143 + 188 4060 189 3 144 + 189 4060 4061 3 144 + 4060 4062 4061 3 144 + 4061 4062 4063 3 144 + 4062 4064 4063 3 144 + 4063 4064 4065 3 144 + 4064 4066 4065 3 144 + 4065 4066 4067 3 144 + 4066 4068 4067 3 144 + 4067 4068 4069 3 144 + 4068 4070 4069 3 144 + 4069 4070 4071 3 144 + 4070 4072 4071 3 144 + 4071 4072 4073 3 144 + 4072 67 4073 3 144 + 4073 67 69 3 144 + 189 4077 4074 3 146 + 4074 4077 4078 3 146 + 4074 4078 4075 3 146 + 4075 4078 4079 3 146 + 4075 4079 4076 3 146 + 4076 4079 4080 3 146 + 4076 4080 187 3 146 + 187 4080 4081 3 146 + 4077 4082 4078 3 146 + 4078 4082 4083 3 146 + 4078 4083 4079 3 146 + 4079 4083 4084 3 146 + 4079 4084 4080 3 146 + 4080 4084 4085 3 146 + 4080 4085 4081 3 146 + 4081 4085 4086 3 146 + 4082 191 4083 3 146 + 4083 191 4087 3 146 + 4083 4087 4084 3 146 + 4084 4087 4088 3 146 + 4084 4088 4085 3 146 + 4085 4088 4089 3 146 + 4085 4089 4086 3 146 + 4086 4089 190 3 146 + 191 4091 4090 3 147 + 4090 4091 4092 3 147 + 4090 4092 192 3 147 + 192 4092 4093 3 147 + 4091 4094 4092 3 147 + 4092 4094 4095 3 147 + 4092 4095 4093 3 147 + 4093 4095 4096 3 147 + 4094 76 4095 3 147 + 4095 76 4097 3 147 + 4095 4097 4096 3 147 + 4096 4097 78 3 147 + 192 194 4098 3 149 + 4098 194 4101 3 149 + 4098 4101 4099 3 149 + 4099 4101 4102 3 149 + 4099 4102 4100 3 149 + 4100 4102 4103 3 149 + 4100 4103 190 3 149 + 190 4103 193 3 149 + 194 4106 4104 3 150 + 4104 4106 4107 3 150 + 4104 4107 4105 3 150 + 4105 4107 4108 3 150 + 4105 4108 195 3 150 + 195 4108 4109 3 150 + 4106 79 4107 3 150 + 4107 79 4110 3 150 + 4107 4110 4108 3 150 + 4108 4110 4111 3 150 + 4108 4111 4109 3 150 + 4109 4111 81 3 150 + 195 197 4112 3 152 + 4112 197 4115 3 152 + 4112 4115 4113 3 152 + 4113 4115 4116 3 152 + 4113 4116 4114 3 152 + 4114 4116 4117 3 152 + 4114 4117 193 3 152 + 193 4117 196 3 152 + 197 200 4118 3 154 + 4118 200 4121 3 154 + 4118 4121 4119 3 154 + 4119 4121 4122 3 154 + 4119 4122 4120 3 154 + 4120 4122 4123 3 154 + 4120 4123 198 3 154 + 198 4123 199 3 154 + 200 4126 4124 3 156 + 4124 4126 4127 3 156 + 4124 4127 4125 3 156 + 4125 4127 4128 3 156 + 4125 4128 201 3 156 + 201 4128 4129 3 156 + 4126 203 4127 3 156 + 4127 203 4130 3 156 + 4127 4130 4128 3 156 + 4128 4130 4131 3 156 + 4128 4131 4129 3 156 + 4129 4131 202 3 156 + 203 94 4132 3 157 + 4132 94 4133 3 157 + 4132 4133 204 3 157 + 204 4133 96 3 157 + 204 206 202 3 159 + 202 206 205 3 159 + 206 4135 4134 3 161 + 4134 4135 4136 3 161 + 4134 4136 207 3 161 + 207 4136 4137 3 161 + 4135 4138 4136 3 161 + 4136 4138 4139 3 161 + 4136 4139 4137 3 161 + 4137 4139 4140 3 161 + 4138 209 4139 3 161 + 4139 209 4141 3 161 + 4139 4141 4140 3 161 + 4140 4141 208 3 161 + 209 97 4142 3 162 + 4142 97 4147 3 162 + 4142 4147 4143 3 162 + 4143 4147 4148 3 162 + 4143 4148 4144 3 162 + 4144 4148 4149 3 162 + 4144 4149 4145 3 162 + 4145 4149 4150 3 162 + 4145 4150 4146 3 162 + 4146 4150 4151 3 162 + 4146 4151 210 3 162 + 210 4151 99 3 162 + 213 208 212 3 164 + 210 214 211 3 165 + 214 217 4152 3 167 + 4152 217 4157 3 167 + 4152 4157 4153 3 167 + 4153 4157 4158 3 167 + 4153 4158 4154 3 167 + 4154 4158 4159 3 167 + 4154 4159 4155 3 167 + 4155 4159 4160 3 167 + 4155 4160 4156 3 167 + 4156 4160 4161 3 167 + 4156 4161 215 3 167 + 215 4161 216 3 167 + 217 220 4162 3 169 + 4162 220 4166 3 169 + 4162 4166 4163 3 169 + 4163 4166 4167 3 169 + 4163 4167 4164 3 169 + 4164 4167 4168 3 169 + 4164 4168 4165 3 169 + 4165 4168 4169 3 169 + 4165 4169 218 3 169 + 218 4169 219 3 169 + 220 4174 4170 3 171 + 4170 4174 4175 3 171 + 4170 4175 4171 3 171 + 4171 4175 4176 3 171 + 4171 4176 4172 3 171 + 4172 4176 4177 3 171 + 4172 4177 4173 3 171 + 4173 4177 4178 3 171 + 4173 4178 221 3 171 + 221 4178 4179 3 171 + 4174 223 4175 3 171 + 4175 223 4180 3 171 + 4175 4180 4176 3 171 + 4176 4180 4181 3 171 + 4176 4181 4177 3 171 + 4177 4181 4182 3 171 + 4177 4182 4178 3 171 + 4178 4182 4183 3 171 + 4178 4183 4179 3 171 + 4179 4183 222 3 171 + 223 4186 4184 3 173 + 4184 4186 4187 3 173 + 4184 4187 4185 3 173 + 4185 4187 4188 3 173 + 4185 4188 224 3 173 + 224 4188 4189 3 173 + 4186 226 4187 3 173 + 4187 226 4190 3 173 + 4187 4190 4188 3 173 + 4188 4190 4191 3 173 + 4188 4191 4189 3 173 + 4189 4191 225 3 173 + 227 4192 230 3 175 + 230 4192 4193 3 175 + 4193 4192 229 3 175 + 226 231 228 3 176 + 231 4195 4194 3 178 + 4194 4195 4196 3 178 + 4194 4196 232 3 178 + 232 4196 4197 3 178 + 4195 234 4196 3 178 + 4196 234 4198 3 178 + 4196 4198 4197 3 178 + 4197 4198 233 3 178 + 234 4199 235 3 179 + 235 4199 4200 3 179 + 4199 4201 4200 3 179 + 4200 4201 4202 3 179 + 4201 4203 4202 3 179 + 4202 4203 4204 3 179 + 4203 100 4204 3 179 + 4204 100 102 3 179 + 235 4205 233 3 180 + 233 4205 4206 3 180 + 4205 106 4206 3 180 + 4206 106 108 3 180 + 230 4207 238 3 182 + 238 4207 4208 3 182 + 4208 4207 237 3 182 + 232 239 4209 3 183 + 4209 239 4210 3 183 + 4209 4210 236 3 183 + 239 242 4211 3 185 + 4211 242 4216 3 185 + 4211 4216 4212 3 185 + 4212 4216 4217 3 185 + 4212 4217 4213 3 185 + 4213 4217 4218 3 185 + 4213 4218 4214 3 185 + 4214 4218 4219 3 185 + 4214 4219 4215 3 185 + 4215 4219 4220 3 185 + 4215 4220 240 3 185 + 240 4220 241 3 185 + 242 4224 4221 3 187 + 4221 4224 4225 3 187 + 4221 4225 4222 3 187 + 4222 4225 4226 3 187 + 4222 4226 4223 3 187 + 4223 4226 4227 3 187 + 4223 4227 243 3 187 + 243 4227 4228 3 187 + 4224 245 4225 3 187 + 4225 245 4229 3 187 + 4225 4229 4226 3 187 + 4226 4229 4230 3 187 + 4226 4230 4227 3 187 + 4227 4230 4231 3 187 + 4227 4231 4228 3 187 + 4228 4231 244 3 187 + 245 248 4232 3 189 + 4232 248 4235 3 189 + 4232 4235 4233 3 189 + 4233 4235 4236 3 189 + 4233 4236 4234 3 189 + 4234 4236 4237 3 189 + 4234 4237 246 3 189 + 246 4237 247 3 189 + 248 4240 4238 3 190 + 4238 4240 4241 3 190 + 4238 4241 4239 3 190 + 4239 4241 4242 3 190 + 4239 4242 249 3 190 + 249 4242 4243 3 190 + 4240 109 4241 3 190 + 4241 109 4244 3 190 + 4241 4244 4242 3 190 + 4242 4244 4245 3 190 + 4242 4245 4243 3 190 + 4243 4245 111 3 190 + 249 4246 247 3 191 + 247 4246 4247 3 191 + 4246 112 4247 3 191 + 4247 112 114 3 191 + 246 4248 244 3 193 + 244 4248 4249 3 193 + 4248 251 4249 3 193 + 4249 251 250 3 193 + 251 254 4250 3 195 + 4250 254 4254 3 195 + 4250 4254 4251 3 195 + 4251 4254 4255 3 195 + 4251 4255 4252 3 195 + 4252 4255 4256 3 195 + 4252 4256 4253 3 195 + 4253 4256 4257 3 195 + 4253 4257 252 3 195 + 252 4257 253 3 195 + 254 115 255 3 196 + 255 115 117 3 196 + 255 4261 4258 3 198 + 4258 4261 4262 3 198 + 4258 4262 4259 3 198 + 4259 4262 4263 3 198 + 4259 4263 4260 3 198 + 4260 4263 4264 3 198 + 4260 4264 253 3 198 + 253 4264 4265 3 198 + 4261 257 4262 3 198 + 4262 257 4266 3 198 + 4262 4266 4263 3 198 + 4263 4266 4267 3 198 + 4263 4267 4264 3 198 + 4264 4267 4268 3 198 + 4264 4268 4265 3 198 + 4265 4268 256 3 198 + 257 260 4269 3 200 + 4269 260 4272 3 200 + 4269 4272 4270 3 200 + 4270 4272 4273 3 200 + 4270 4273 4271 3 200 + 4271 4273 4274 3 200 + 4271 4274 258 3 200 + 258 4274 259 3 200 + 260 263 4275 3 202 + 4275 263 4278 3 202 + 4275 4278 4276 3 202 + 4276 4278 4279 3 202 + 4276 4279 4277 3 202 + 4277 4279 4280 3 202 + 4277 4280 261 3 202 + 261 4280 262 3 202 + 263 266 4281 3 204 + 4281 266 4285 3 204 + 4281 4285 4282 3 204 + 4282 4285 4286 3 204 + 4282 4286 4283 3 204 + 4283 4286 4287 3 204 + 4283 4287 4284 3 204 + 4284 4287 4288 3 204 + 4284 4288 264 3 204 + 264 4288 265 3 204 + 266 118 4289 3 205 + 4289 118 4293 3 205 + 4289 4293 4290 3 205 + 4290 4293 4294 3 205 + 4290 4294 4291 3 205 + 4291 4294 4295 3 205 + 4291 4295 4292 3 205 + 4292 4295 4296 3 205 + 4292 4296 267 3 205 + 267 4296 120 3 205 + 267 269 4297 3 207 + 4297 269 4299 3 207 + 4297 4299 4298 3 207 + 4298 4299 4300 3 207 + 4298 4300 265 3 207 + 265 4300 268 3 207 + 269 4304 4301 3 209 + 4301 4304 4305 3 209 + 4301 4305 4302 3 209 + 4302 4305 4306 3 209 + 4302 4306 4303 3 209 + 4303 4306 4307 3 209 + 4303 4307 270 3 209 + 270 4307 4308 3 209 + 4304 4309 4305 3 209 + 4305 4309 4310 3 209 + 4305 4310 4306 3 209 + 4306 4310 4311 3 209 + 4306 4311 4307 3 209 + 4307 4311 4312 3 209 + 4307 4312 4308 3 209 + 4308 4312 4313 3 209 + 4309 4314 4310 3 209 + 4310 4314 4315 3 209 + 4310 4315 4311 3 209 + 4311 4315 4316 3 209 + 4311 4316 4312 3 209 + 4312 4316 4317 3 209 + 4312 4317 4313 3 209 + 4313 4317 4318 3 209 + 4314 272 4315 3 209 + 4315 272 4319 3 209 + 4315 4319 4316 3 209 + 4316 4319 4320 3 209 + 4316 4320 4317 3 209 + 4317 4320 4321 3 209 + 4317 4321 4318 3 209 + 4318 4321 271 3 209 + 272 275 4322 3 211 + 4322 275 4325 3 211 + 4322 4325 4323 3 211 + 4323 4325 4326 3 211 + 4323 4326 4324 3 211 + 4324 4326 4327 3 211 + 4324 4327 273 3 211 + 273 4327 274 3 211 + 275 127 4328 3 212 + 4328 127 4333 3 212 + 4328 4333 4329 3 212 + 4329 4333 4334 3 212 + 4329 4334 4330 3 212 + 4330 4334 4335 3 212 + 4330 4335 4331 3 212 + 4331 4335 4336 3 212 + 4331 4336 4332 3 212 + 4332 4336 4337 3 212 + 4332 4337 276 3 212 + 276 4337 129 3 212 + 276 4340 4338 3 214 + 4338 4340 4341 3 214 + 4338 4341 4339 3 214 + 4339 4341 4342 3 214 + 4339 4342 274 3 214 + 274 4342 4343 3 214 + 4340 4344 4341 3 214 + 4341 4344 4345 3 214 + 4341 4345 4342 3 214 + 4342 4345 4346 3 214 + 4342 4346 4343 3 214 + 4343 4346 4347 3 214 + 4344 4348 4345 3 214 + 4345 4348 4349 3 214 + 4345 4349 4346 3 214 + 4346 4349 4350 3 214 + 4346 4350 4347 3 214 + 4347 4350 4351 3 214 + 4348 278 4349 3 214 + 4349 278 4352 3 214 + 4349 4352 4350 3 214 + 4350 4352 4353 3 214 + 4350 4353 4351 3 214 + 4351 4353 277 3 214 + 278 281 4354 3 216 + 4354 281 4355 3 216 + 4354 4355 279 3 216 + 279 4355 280 3 216 + 281 4357 4356 3 218 + 4356 4357 4358 3 218 + 4356 4358 282 3 218 + 282 4358 4359 3 218 + 4357 4360 4358 3 218 + 4358 4360 4361 3 218 + 4358 4361 4359 3 218 + 4359 4361 4362 3 218 + 4360 4363 4361 3 218 + 4361 4363 4364 3 218 + 4361 4364 4362 3 218 + 4362 4364 4365 3 218 + 4363 4366 4364 3 218 + 4364 4366 4367 3 218 + 4364 4367 4365 3 218 + 4365 4367 4368 3 218 + 4366 284 4367 3 218 + 4367 284 4369 3 218 + 4367 4369 4368 3 218 + 4368 4369 283 3 218 + 284 4370 285 3 219 + 285 4370 4371 3 219 + 4370 130 4371 3 219 + 4371 130 132 3 219 + 285 4372 283 3 220 + 283 4372 4373 3 220 + 4372 4374 4373 3 220 + 4373 4374 4375 3 220 + 4374 136 4375 3 220 + 4375 136 138 3 220 + 282 287 4376 3 222 + 4376 287 4378 3 222 + 4376 4378 4377 3 222 + 4377 4378 4379 3 222 + 4377 4379 280 3 222 + 280 4379 286 3 222 + 287 4384 4380 3 224 + 4380 4384 4385 3 224 + 4380 4385 4381 3 224 + 4381 4385 4386 3 224 + 4381 4386 4382 3 224 + 4382 4386 4387 3 224 + 4382 4387 4383 3 224 + 4383 4387 4388 3 224 + 4383 4388 288 3 224 + 288 4388 4389 3 224 + 4384 290 4385 3 224 + 4385 290 4390 3 224 + 4385 4390 4386 3 224 + 4386 4390 4391 3 224 + 4386 4391 4387 3 224 + 4387 4391 4392 3 224 + 4387 4392 4388 3 224 + 4388 4392 4393 3 224 + 4388 4393 4389 3 224 + 4389 4393 289 3 224 + 290 4394 291 3 225 + 291 4394 4395 3 225 + 4394 4396 4395 3 225 + 4395 4396 4397 3 225 + 4396 4398 4397 3 225 + 4397 4398 4399 3 225 + 4398 4400 4399 3 225 + 4399 4400 4401 3 225 + 4400 4402 4401 3 225 + 4401 4402 4403 3 225 + 4402 4404 4403 3 225 + 4403 4404 4405 3 225 + 4404 139 4405 3 225 + 4405 139 141 3 225 + 291 293 4406 3 227 + 4406 293 4410 3 227 + 4406 4410 4407 3 227 + 4407 4410 4411 3 227 + 4407 4411 4408 3 227 + 4408 4411 4412 3 227 + 4408 4412 4409 3 227 + 4409 4412 4413 3 227 + 4409 4413 289 3 227 + 289 4413 292 3 227 + 293 4417 4414 3 229 + 4414 4417 4418 3 229 + 4414 4418 4415 3 229 + 4415 4418 4419 3 229 + 4415 4419 4416 3 229 + 4416 4419 4420 3 229 + 4416 4420 294 3 229 + 294 4420 4421 3 229 + 4417 4422 4418 3 229 + 4418 4422 4423 3 229 + 4418 4423 4419 3 229 + 4419 4423 4424 3 229 + 4419 4424 4420 3 229 + 4420 4424 4425 3 229 + 4420 4425 4421 3 229 + 4421 4425 4426 3 229 + 4422 296 4423 3 229 + 4423 296 4427 3 229 + 4423 4427 4424 3 229 + 4424 4427 4428 3 229 + 4424 4428 4425 3 229 + 4425 4428 4429 3 229 + 4425 4429 4426 3 229 + 4426 4429 295 3 229 + 296 4430 297 3 230 + 297 4430 4431 3 230 + 4430 4432 4431 3 230 + 4431 4432 4433 3 230 + 4432 4434 4433 3 230 + 4433 4434 4435 3 230 + 4434 4436 4435 3 230 + 4435 4436 4437 3 230 + 4436 4438 4437 3 230 + 4437 4438 4439 3 230 + 4438 4440 4439 3 230 + 4439 4440 4441 3 230 + 4440 145 4441 3 230 + 4441 145 147 3 230 + 297 299 4442 3 232 + 4442 299 4446 3 232 + 4442 4446 4443 3 232 + 4443 4446 4447 3 232 + 4443 4447 4444 3 232 + 4444 4447 4448 3 232 + 4444 4448 4445 3 232 + 4445 4448 4449 3 232 + 4445 4449 295 3 232 + 295 4449 298 3 232 + 299 302 4450 3 234 + 4450 302 4455 3 234 + 4450 4455 4451 3 234 + 4451 4455 4456 3 234 + 4451 4456 4452 3 234 + 4452 4456 4457 3 234 + 4452 4457 4453 3 234 + 4453 4457 4458 3 234 + 4453 4458 4454 3 234 + 4454 4458 4459 3 234 + 4454 4459 300 3 234 + 300 4459 301 3 234 + 302 4463 4460 3 235 + 4460 4463 4464 3 235 + 4460 4464 4461 3 235 + 4461 4464 4465 3 235 + 4461 4465 4462 3 235 + 4462 4465 4466 3 235 + 4462 4466 303 3 235 + 303 4466 4467 3 235 + 4463 4468 4464 3 235 + 4464 4468 4469 3 235 + 4464 4469 4465 3 235 + 4465 4469 4470 3 235 + 4465 4470 4466 3 235 + 4466 4470 4471 3 235 + 4466 4471 4467 3 235 + 4467 4471 4472 3 235 + 4468 148 4469 3 235 + 4469 148 4473 3 235 + 4469 4473 4470 3 235 + 4470 4473 4474 3 235 + 4470 4474 4471 3 235 + 4471 4474 4475 3 235 + 4471 4475 4472 3 235 + 4472 4475 150 3 235 + 303 4477 4476 3 237 + 4476 4477 4478 3 237 + 4476 4478 301 3 237 + 301 4478 4479 3 237 + 4477 305 4478 3 237 + 4478 305 4480 3 237 + 4478 4480 4479 3 237 + 4479 4480 304 3 237 + 305 4481 306 3 239 + 306 4481 4482 3 239 + 4481 4483 4482 3 239 + 4482 4483 4484 3 239 + 4483 4485 4484 3 239 + 4484 4485 4486 3 239 + 4485 308 4486 3 239 + 4486 308 307 3 239 + 308 4488 4487 3 241 + 4487 4488 4489 3 241 + 4487 4489 309 3 241 + 309 4489 4490 3 241 + 4488 4491 4489 3 241 + 4489 4491 4492 3 241 + 4489 4492 4490 3 241 + 4490 4492 4493 3 241 + 4491 311 4492 3 241 + 4492 311 4494 3 241 + 4492 4494 4493 3 241 + 4493 4494 310 3 241 + 311 4498 4495 3 243 + 4495 4498 4499 3 243 + 4495 4499 4496 3 243 + 4496 4499 4500 3 243 + 4496 4500 4497 3 243 + 4497 4500 4501 3 243 + 4497 4501 312 3 243 + 312 4501 4502 3 243 + 4498 314 4499 3 243 + 4499 314 4503 3 243 + 4499 4503 4500 3 243 + 4500 4503 4504 3 243 + 4500 4504 4501 3 243 + 4501 4504 4505 3 243 + 4501 4505 4502 3 243 + 4502 4505 313 3 243 + 314 151 4506 3 244 + 4506 151 4511 3 244 + 4506 4511 4507 3 244 + 4507 4511 4512 3 244 + 4507 4512 4508 3 244 + 4508 4512 4513 3 244 + 4508 4513 4509 3 244 + 4509 4513 4514 3 244 + 4509 4514 4510 3 244 + 4510 4514 4515 3 244 + 4510 4515 315 3 244 + 315 4515 153 3 244 + 315 4517 4516 3 245 + 4516 4517 4518 3 245 + 4516 4518 313 3 245 + 313 4518 4519 3 245 + 4517 160 4518 3 245 + 4518 160 4520 3 245 + 4518 4520 4519 3 245 + 4519 4520 162 3 245 + 312 317 4521 3 247 + 4521 317 4525 3 247 + 4521 4525 4522 3 247 + 4522 4525 4526 3 247 + 4522 4526 4523 3 247 + 4523 4526 4527 3 247 + 4523 4527 4524 3 247 + 4524 4527 4528 3 247 + 4524 4528 310 3 247 + 310 4528 316 3 247 + 317 320 4529 3 249 + 4529 320 4532 3 249 + 4529 4532 4530 3 249 + 4530 4532 4533 3 249 + 4530 4533 4531 3 249 + 4531 4533 4534 3 249 + 4531 4534 318 3 249 + 318 4534 319 3 249 + 320 163 4535 3 250 + 4535 163 4537 3 250 + 4535 4537 4536 3 250 + 4536 4537 4538 3 250 + 4536 4538 321 3 250 + 321 4538 165 3 250 + 321 4542 4539 3 252 + 4539 4542 4543 3 252 + 4539 4543 4540 3 252 + 4540 4543 4544 3 252 + 4540 4544 4541 3 252 + 4541 4544 4545 3 252 + 4541 4545 319 3 252 + 319 4545 4546 3 252 + 4542 323 4543 3 252 + 4543 323 4547 3 252 + 4543 4547 4544 3 252 + 4544 4547 4548 3 252 + 4544 4548 4545 3 252 + 4545 4548 4549 3 252 + 4545 4549 4546 3 252 + 4546 4549 322 3 252 + 323 326 4550 3 254 + 4550 326 4554 3 254 + 4550 4554 4551 3 254 + 4551 4554 4555 3 254 + 4551 4555 4552 3 254 + 4552 4555 4556 3 254 + 4552 4556 4553 3 254 + 4553 4556 4557 3 254 + 4553 4557 324 3 254 + 324 4557 325 3 254 + 326 329 4558 3 256 + 4558 329 4563 3 256 + 4558 4563 4559 3 256 + 4559 4563 4564 3 256 + 4559 4564 4560 3 256 + 4560 4564 4565 3 256 + 4560 4565 4561 3 256 + 4561 4565 4566 3 256 + 4561 4566 4562 3 256 + 4562 4566 4567 3 256 + 4562 4567 327 3 256 + 327 4567 328 3 256 + 329 332 4568 3 258 + 4568 332 4573 3 258 + 4568 4573 4569 3 258 + 4569 4573 4574 3 258 + 4569 4574 4570 3 258 + 4570 4574 4575 3 258 + 4570 4575 4571 3 258 + 4571 4575 4576 3 258 + 4571 4576 4572 3 258 + 4572 4576 4577 3 258 + 4572 4577 330 3 258 + 330 4577 331 3 258 + 332 166 4578 3 259 + 4578 166 4581 3 259 + 4578 4581 4579 3 259 + 4579 4581 4582 3 259 + 4579 4582 4580 3 259 + 4580 4582 4583 3 259 + 4580 4583 333 3 259 + 333 4583 168 3 259 + 333 4588 4584 3 261 + 4584 4588 4589 3 261 + 4584 4589 4585 3 261 + 4585 4589 4590 3 261 + 4585 4590 4586 3 261 + 4586 4590 4591 3 261 + 4586 4591 4587 3 261 + 4587 4591 4592 3 261 + 4587 4592 331 3 261 + 331 4592 4593 3 261 + 4588 4594 4589 3 261 + 4589 4594 4595 3 261 + 4589 4595 4590 3 261 + 4590 4595 4596 3 261 + 4590 4596 4591 3 261 + 4591 4596 4597 3 261 + 4591 4597 4592 3 261 + 4592 4597 4598 3 261 + 4592 4598 4593 3 261 + 4593 4598 4599 3 261 + 4594 335 4595 3 261 + 4595 335 4600 3 261 + 4595 4600 4596 3 261 + 4596 4600 4601 3 261 + 4596 4601 4597 3 261 + 4597 4601 4602 3 261 + 4597 4602 4598 3 261 + 4598 4602 4603 3 261 + 4598 4603 4599 3 261 + 4599 4603 334 3 261 + 335 338 336 3 263 + 336 338 337 3 263 + 338 4607 4604 3 264 + 4604 4607 4608 3 264 + 4604 4608 4605 3 264 + 4605 4608 4609 3 264 + 4605 4609 4606 3 264 + 4606 4609 4610 3 264 + 4606 4610 339 3 264 + 339 4610 4611 3 264 + 4607 4612 4608 3 264 + 4608 4612 4613 3 264 + 4608 4613 4609 3 264 + 4609 4613 4614 3 264 + 4609 4614 4610 3 264 + 4610 4614 4615 3 264 + 4610 4615 4611 3 264 + 4611 4615 4616 3 264 + 4612 169 4613 3 264 + 4613 169 4617 3 264 + 4613 4617 4614 3 264 + 4614 4617 4618 3 264 + 4614 4618 4615 3 264 + 4615 4618 4619 3 264 + 4615 4619 4616 3 264 + 4616 4619 171 3 264 + 339 341 4620 3 266 + 4620 341 4623 3 266 + 4620 4623 4621 3 266 + 4621 4623 4624 3 266 + 4621 4624 4622 3 266 + 4622 4624 4625 3 266 + 4622 4625 337 3 266 + 337 4625 340 3 266 + 341 344 4626 3 268 + 4626 344 4629 3 268 + 4626 4629 4627 3 268 + 4627 4629 4630 3 268 + 4627 4630 4628 3 268 + 4628 4630 4631 3 268 + 4628 4631 342 3 268 + 342 4631 343 3 268 + 344 347 4632 3 270 + 4632 347 4636 3 270 + 4632 4636 4633 3 270 + 4633 4636 4637 3 270 + 4633 4637 4634 3 270 + 4634 4637 4638 3 270 + 4634 4638 4635 3 270 + 4635 4638 4639 3 270 + 4635 4639 345 3 270 + 345 4639 346 3 270 + 347 175 4640 3 271 + 4640 175 4644 3 271 + 4640 4644 4641 3 271 + 4641 4644 4645 3 271 + 4641 4645 4642 3 271 + 4642 4645 4646 3 271 + 4642 4646 4643 3 271 + 4643 4646 4647 3 271 + 4643 4647 348 3 271 + 348 4647 177 3 271 + 348 4648 346 3 273 + 346 4648 4649 3 273 + 4648 350 4649 3 273 + 4649 350 349 3 273 + 350 353 4650 3 275 + 4650 353 4652 3 275 + 4650 4652 4651 3 275 + 4651 4652 4653 3 275 + 4651 4653 351 3 275 + 351 4653 352 3 275 + 353 4657 4654 3 277 + 4654 4657 4658 3 277 + 4654 4658 4655 3 277 + 4655 4658 4659 3 277 + 4655 4659 4656 3 277 + 4656 4659 4660 3 277 + 4656 4660 354 3 277 + 354 4660 4661 3 277 + 4657 4662 4658 3 277 + 4658 4662 4663 3 277 + 4658 4663 4659 3 277 + 4659 4663 4664 3 277 + 4659 4664 4660 3 277 + 4660 4664 4665 3 277 + 4660 4665 4661 3 277 + 4661 4665 4666 3 277 + 4662 4667 4663 3 277 + 4663 4667 4668 3 277 + 4663 4668 4664 3 277 + 4664 4668 4669 3 277 + 4664 4669 4665 3 277 + 4665 4669 4670 3 277 + 4665 4670 4666 3 277 + 4666 4670 4671 3 277 + 4667 4672 4668 3 277 + 4668 4672 4673 3 277 + 4668 4673 4669 3 277 + 4669 4673 4674 3 277 + 4669 4674 4670 3 277 + 4670 4674 4675 3 277 + 4670 4675 4671 3 277 + 4671 4675 4676 3 277 + 4672 4677 4673 3 277 + 4673 4677 4678 3 277 + 4673 4678 4674 3 277 + 4674 4678 4679 3 277 + 4674 4679 4675 3 277 + 4675 4679 4680 3 277 + 4675 4680 4676 3 277 + 4676 4680 4681 3 277 + 4677 4682 4678 3 277 + 4678 4682 4683 3 277 + 4678 4683 4679 3 277 + 4679 4683 4684 3 277 + 4679 4684 4680 3 277 + 4680 4684 4685 3 277 + 4680 4685 4681 3 277 + 4681 4685 4686 3 277 + 4682 4687 4683 3 277 + 4683 4687 4688 3 277 + 4683 4688 4684 3 277 + 4684 4688 4689 3 277 + 4684 4689 4685 3 277 + 4685 4689 4690 3 277 + 4685 4690 4686 3 277 + 4686 4690 4691 3 277 + 4687 356 4688 3 277 + 4688 356 4692 3 277 + 4688 4692 4689 3 277 + 4689 4692 4693 3 277 + 4689 4693 4690 3 277 + 4690 4693 4694 3 277 + 4690 4694 4691 3 277 + 4691 4694 355 3 277 + 356 4696 4695 3 279 + 4695 4696 4697 3 279 + 4695 4697 357 3 279 + 357 4697 4698 3 279 + 4696 359 4697 3 279 + 4697 359 4699 3 279 + 4697 4699 4698 3 279 + 4698 4699 358 3 279 + 359 4701 4700 3 280 + 4700 4701 4702 3 280 + 4700 4702 360 3 280 + 360 4702 4703 3 280 + 4701 4704 4702 3 280 + 4702 4704 4705 3 280 + 4702 4705 4703 3 280 + 4703 4705 4706 3 280 + 4704 4707 4705 3 280 + 4705 4707 4708 3 280 + 4705 4708 4706 3 280 + 4706 4708 4709 3 280 + 4707 4710 4708 3 280 + 4708 4710 4711 3 280 + 4708 4711 4709 3 280 + 4709 4711 4712 3 280 + 4710 178 4711 3 280 + 4711 178 4713 3 280 + 4711 4713 4712 3 280 + 4712 4713 180 3 280 + 360 4715 4714 3 282 + 4714 4715 4716 3 282 + 4714 4716 358 3 282 + 358 4716 4717 3 282 + 4715 362 4716 3 282 + 4716 362 4718 3 282 + 4716 4718 4717 3 282 + 4717 4718 361 3 282 + 362 365 4719 3 284 + 4719 365 4722 3 284 + 4719 4722 4720 3 284 + 4720 4722 4723 3 284 + 4720 4723 4721 3 284 + 4721 4723 4724 3 284 + 4721 4724 363 3 284 + 363 4724 364 3 284 + 365 4728 4725 3 286 + 4725 4728 4729 3 286 + 4725 4729 4726 3 286 + 4726 4729 4730 3 286 + 4726 4730 4727 3 286 + 4727 4730 4731 3 286 + 4727 4731 366 3 286 + 366 4731 4732 3 286 + 4728 4733 4729 3 286 + 4729 4733 4734 3 286 + 4729 4734 4730 3 286 + 4730 4734 4735 3 286 + 4730 4735 4731 3 286 + 4731 4735 4736 3 286 + 4731 4736 4732 3 286 + 4732 4736 4737 3 286 + 4733 4738 4734 3 286 + 4734 4738 4739 3 286 + 4734 4739 4735 3 286 + 4735 4739 4740 3 286 + 4735 4740 4736 3 286 + 4736 4740 4741 3 286 + 4736 4741 4737 3 286 + 4737 4741 4742 3 286 + 4738 368 4739 3 286 + 4739 368 4743 3 286 + 4739 4743 4740 3 286 + 4740 4743 4744 3 286 + 4740 4744 4741 3 286 + 4741 4744 4745 3 286 + 4741 4745 4742 3 286 + 4742 4745 367 3 286 + 368 4749 4746 3 287 + 4746 4749 4750 3 287 + 4746 4750 4747 3 287 + 4747 4750 4751 3 287 + 4747 4751 4748 3 287 + 4748 4751 4752 3 287 + 4748 4752 369 3 287 + 369 4752 4753 3 287 + 4749 184 4750 3 287 + 4750 184 4754 3 287 + 4750 4754 4751 3 287 + 4751 4754 4755 3 287 + 4751 4755 4752 3 287 + 4752 4755 4756 3 287 + 4752 4756 4753 3 287 + 4753 4756 186 3 287 + 369 371 4757 3 289 + 4757 371 4761 3 289 + 4757 4761 4758 3 289 + 4758 4761 4762 3 289 + 4758 4762 4759 3 289 + 4759 4762 4763 3 289 + 4759 4763 4760 3 289 + 4760 4763 4764 3 289 + 4760 4764 367 3 289 + 367 4764 370 3 289 + 371 4765 372 3 290 + 372 4765 4766 3 290 + 4765 4767 4766 3 290 + 4766 4767 4768 3 290 + 4767 4769 4768 3 290 + 4768 4769 4770 3 290 + 4769 196 4770 3 290 + 4770 196 198 3 290 + 372 4774 4771 3 292 + 4771 4774 4775 3 292 + 4771 4775 4772 3 292 + 4772 4775 4776 3 292 + 4772 4776 4773 3 292 + 4773 4776 4777 3 292 + 4773 4777 370 3 292 + 370 4777 4778 3 292 + 4774 374 4775 3 292 + 4775 374 4779 3 292 + 4775 4779 4776 3 292 + 4776 4779 4780 3 292 + 4776 4780 4777 3 292 + 4777 4780 4781 3 292 + 4777 4781 4778 3 292 + 4778 4781 373 3 292 + 374 377 4782 3 294 + 4782 377 4784 3 294 + 4782 4784 4783 3 294 + 4783 4784 4785 3 294 + 4783 4785 375 3 294 + 375 4785 376 3 294 + 377 4790 4786 3 295 + 4786 4790 4791 3 295 + 4786 4791 4787 3 295 + 4787 4791 4792 3 295 + 4787 4792 4788 3 295 + 4788 4792 4793 3 295 + 4788 4793 4789 3 295 + 4789 4793 4794 3 295 + 4789 4794 378 3 295 + 378 4794 4795 3 295 + 4790 4796 4791 3 295 + 4791 4796 4797 3 295 + 4791 4797 4792 3 295 + 4792 4797 4798 3 295 + 4792 4798 4793 3 295 + 4793 4798 4799 3 295 + 4793 4799 4794 3 295 + 4794 4799 4800 3 295 + 4794 4800 4795 3 295 + 4795 4800 4801 3 295 + 4796 199 4797 3 295 + 4797 199 4802 3 295 + 4797 4802 4798 3 295 + 4798 4802 4803 3 295 + 4798 4803 4799 3 295 + 4799 4803 4804 3 295 + 4799 4804 4800 3 295 + 4800 4804 4805 3 295 + 4800 4805 4801 3 295 + 4801 4805 201 3 295 + 378 380 4806 3 297 + 4806 380 4811 3 297 + 4806 4811 4807 3 297 + 4807 4811 4812 3 297 + 4807 4812 4808 3 297 + 4808 4812 4813 3 297 + 4808 4813 4809 3 297 + 4809 4813 4814 3 297 + 4809 4814 4810 3 297 + 4810 4814 4815 3 297 + 4810 4815 376 3 297 + 376 4815 379 3 297 + 380 4818 4816 3 299 + 4816 4818 4819 3 299 + 4816 4819 4817 3 299 + 4817 4819 4820 3 299 + 4817 4820 381 3 299 + 381 4820 4821 3 299 + 4818 4822 4819 3 299 + 4819 4822 4823 3 299 + 4819 4823 4820 3 299 + 4820 4823 4824 3 299 + 4820 4824 4821 3 299 + 4821 4824 4825 3 299 + 4822 383 4823 3 299 + 4823 383 4826 3 299 + 4823 4826 4824 3 299 + 4824 4826 4827 3 299 + 4824 4827 4825 3 299 + 4825 4827 382 3 299 + 383 4828 384 3 300 + 384 4828 4829 3 300 + 4828 205 4829 3 300 + 4829 205 207 3 300 + 384 4831 4830 3 302 + 4830 4831 4832 3 302 + 4830 4832 382 3 302 + 382 4832 4833 3 302 + 4831 4834 4832 3 302 + 4832 4834 4835 3 302 + 4832 4835 4833 3 302 + 4833 4835 4836 3 302 + 4834 4837 4835 3 302 + 4835 4837 4838 3 302 + 4835 4838 4836 3 302 + 4836 4838 4839 3 302 + 4837 4840 4838 3 302 + 4838 4840 4841 3 302 + 4838 4841 4839 3 302 + 4839 4841 4842 3 302 + 4840 386 4841 3 302 + 4841 386 4843 3 302 + 4841 4843 4842 3 302 + 4842 4843 385 3 302 + 386 4844 387 3 304 + 387 4844 4845 3 304 + 4844 4846 4845 3 304 + 4845 4846 4847 3 304 + 4846 4848 4847 3 304 + 4847 4848 4849 3 304 + 4848 389 4849 3 304 + 4849 389 388 3 304 + 389 392 4850 3 306 + 4850 392 4851 3 306 + 4850 4851 390 3 306 + 390 4851 391 3 306 + 392 395 4852 3 308 + 4852 395 4854 3 308 + 4852 4854 4853 3 308 + 4853 4854 4855 3 308 + 4853 4855 393 3 308 + 393 4855 394 3 308 + 395 398 4856 3 310 + 4856 398 4861 3 310 + 4856 4861 4857 3 310 + 4857 4861 4862 3 310 + 4857 4862 4858 3 310 + 4858 4862 4863 3 310 + 4858 4863 4859 3 310 + 4859 4863 4864 3 310 + 4859 4864 4860 3 310 + 4860 4864 4865 3 310 + 4860 4865 396 3 310 + 396 4865 397 3 310 + 399 4866 402 3 312 + 402 4866 4867 3 312 + 4867 4866 401 3 312 + 398 403 4868 3 313 + 4868 403 4869 3 313 + 4868 4869 400 3 313 + 403 406 4870 3 315 + 4870 406 4873 3 315 + 4870 4873 4871 3 315 + 4871 4873 4874 3 315 + 4871 4874 4872 3 315 + 4872 4874 4875 3 315 + 4872 4875 404 3 315 + 404 4875 405 3 315 + 406 213 4876 3 316 + 4876 213 4877 3 316 + 4876 4877 407 3 316 + 407 4877 215 3 316 + 407 216 4878 3 317 + 4878 216 4879 3 317 + 4878 4879 405 3 317 + 405 4879 218 3 317 + 404 219 4880 3 318 + 4880 219 4882 3 318 + 4880 4882 4881 3 318 + 4881 4882 4883 3 318 + 4881 4883 402 3 318 + 402 4883 221 3 318 + 399 4884 397 3 320 + 397 4884 4885 3 320 + 4884 409 4885 3 320 + 4885 409 408 3 320 + 409 4886 410 3 322 + 410 4886 4887 3 322 + 4886 4888 4887 3 322 + 4887 4888 4889 3 322 + 4888 4890 4889 3 322 + 4889 4890 4891 3 322 + 4890 412 4891 3 322 + 4891 412 411 3 322 + 412 222 413 3 323 + 413 222 224 3 323 + 413 415 4892 3 325 + 4892 415 4893 3 325 + 4892 4893 411 3 325 + 411 4893 414 3 325 + 415 225 4894 3 326 + 4894 225 4897 3 326 + 4894 4897 4895 3 326 + 4895 4897 4898 3 326 + 4895 4898 4896 3 326 + 4896 4898 4899 3 326 + 4896 4899 416 3 326 + 416 4899 227 3 326 + 416 4903 4900 3 328 + 4900 4903 4904 3 328 + 4900 4904 4901 3 328 + 4901 4904 4905 3 328 + 4901 4905 4902 3 328 + 4902 4905 4906 3 328 + 4902 4906 414 3 328 + 414 4906 4907 3 328 + 4903 418 4904 3 328 + 4904 418 4908 3 328 + 4904 4908 4905 3 328 + 4905 4908 4909 3 328 + 4905 4909 4906 3 328 + 4906 4909 4910 3 328 + 4906 4910 4907 3 328 + 4907 4910 417 3 328 + 418 4911 419 3 330 + 419 4911 4912 3 330 + 4911 4913 4912 3 330 + 4912 4913 4914 3 330 + 4913 4915 4914 3 330 + 4914 4915 4916 3 330 + 4915 421 4916 3 330 + 4916 421 420 3 330 + 421 424 4917 3 332 + 4917 424 4918 3 332 + 4917 4918 422 3 332 + 422 4918 423 3 332 + 424 427 4919 3 334 + 4919 427 4920 3 334 + 4919 4920 425 3 334 + 425 4920 426 3 334 + 428 4921 4922 3 336 + 4922 4921 4923 3 336 + 4923 4921 430 3 336 + 4922 4923 431 3 336 + 431 4923 4924 3 336 + 4924 4923 430 3 336 + 427 4926 4925 3 337 + 4925 4926 4927 3 337 + 4925 4927 429 3 337 + 4926 432 4927 3 337 + 4927 432 4928 3 337 + 4927 4928 429 3 337 + 432 4929 433 3 339 + 433 4929 4930 3 339 + 4929 4931 4930 3 339 + 4930 4931 4932 3 339 + 4931 4933 4932 3 339 + 4932 4933 4934 3 339 + 4933 4935 4934 3 339 + 4934 4935 4936 3 339 + 4935 4937 4936 3 339 + 4936 4937 4938 3 339 + 4937 435 4938 3 339 + 4938 435 434 3 339 + 439 436 438 3 341 + 435 440 437 3 342 + 440 238 4939 3 343 + 4939 238 4943 3 343 + 4939 4943 4940 3 343 + 4940 4943 4944 3 343 + 4940 4944 4941 3 343 + 4941 4944 4945 3 343 + 4941 4945 4942 3 343 + 4942 4945 4946 3 343 + 4942 4946 441 3 343 + 441 4946 240 3 343 + 441 241 4947 3 344 + 4947 241 4950 3 344 + 4947 4950 4948 3 344 + 4948 4950 4951 3 344 + 4948 4951 4949 3 344 + 4949 4951 4952 3 344 + 4949 4952 439 3 344 + 439 4952 243 3 344 + 444 434 443 3 346 + 436 445 442 3 347 + 445 448 4953 3 349 + 4953 448 4956 3 349 + 4953 4956 4954 3 349 + 4954 4956 4957 3 349 + 4954 4957 4955 3 349 + 4955 4957 4958 3 349 + 4955 4958 446 3 349 + 446 4958 447 3 349 + 448 451 4959 3 351 + 4959 451 4962 3 351 + 4959 4962 4960 3 351 + 4960 4962 4963 3 351 + 4960 4963 4961 3 351 + 4961 4963 4964 3 351 + 4961 4964 449 3 351 + 449 4964 450 3 351 + 455 452 454 3 353 + 451 456 453 3 354 + 456 4968 4965 3 355 + 4965 4968 4969 3 355 + 4965 4969 4966 3 355 + 4966 4969 4970 3 355 + 4966 4970 4967 3 355 + 4967 4970 4971 3 355 + 4967 4971 457 3 355 + 457 4971 4972 3 355 + 4968 250 4969 3 355 + 4969 250 4973 3 355 + 4969 4973 4970 3 355 + 4970 4973 4974 3 355 + 4970 4974 4971 3 355 + 4971 4974 4975 3 355 + 4971 4975 4972 3 355 + 4972 4975 252 3 355 + 457 4980 4976 3 357 + 4976 4980 4981 3 357 + 4976 4981 4977 3 357 + 4977 4981 4982 3 357 + 4977 4982 4978 3 357 + 4978 4982 4983 3 357 + 4978 4983 4979 3 357 + 4979 4983 4984 3 357 + 4979 4984 455 3 357 + 455 4984 4985 3 357 + 4980 4986 4981 3 357 + 4981 4986 4987 3 357 + 4981 4987 4982 3 357 + 4982 4987 4988 3 357 + 4982 4988 4983 3 357 + 4983 4988 4989 3 357 + 4983 4989 4984 3 357 + 4984 4989 4990 3 357 + 4984 4990 4985 3 357 + 4985 4990 4991 3 357 + 4986 459 4987 3 357 + 4987 459 4992 3 357 + 4987 4992 4988 3 357 + 4988 4992 4993 3 357 + 4988 4993 4989 3 357 + 4989 4993 4994 3 357 + 4989 4994 4990 3 357 + 4990 4994 4995 3 357 + 4990 4995 4991 3 357 + 4991 4995 458 3 357 + 459 4999 4996 3 359 + 4996 4999 5000 3 359 + 4996 5000 4997 3 359 + 4997 5000 5001 3 359 + 4997 5001 4998 3 359 + 4998 5001 5002 3 359 + 4998 5002 460 3 359 + 460 5002 5003 3 359 + 4999 5004 5000 3 359 + 5000 5004 5005 3 359 + 5000 5005 5001 3 359 + 5001 5005 5006 3 359 + 5001 5006 5002 3 359 + 5002 5006 5007 3 359 + 5002 5007 5003 3 359 + 5003 5007 5008 3 359 + 5004 462 5005 3 359 + 5005 462 5009 3 359 + 5005 5009 5006 3 359 + 5006 5009 5010 3 359 + 5006 5010 5007 3 359 + 5007 5010 5011 3 359 + 5007 5011 5008 3 359 + 5008 5011 461 3 359 + 466 463 465 3 361 + 462 467 464 3 362 + 467 5013 5012 3 364 + 5012 5013 5014 3 364 + 5012 5014 468 3 364 + 468 5014 5015 3 364 + 5013 5016 5014 3 364 + 5014 5016 5017 3 364 + 5014 5017 5015 3 364 + 5015 5017 5018 3 364 + 5016 5019 5017 3 364 + 5017 5019 5020 3 364 + 5017 5020 5018 3 364 + 5018 5020 5021 3 364 + 5019 5022 5020 3 364 + 5020 5022 5023 3 364 + 5020 5023 5021 3 364 + 5021 5023 5024 3 364 + 5022 5025 5023 3 364 + 5023 5025 5026 3 364 + 5023 5026 5024 3 364 + 5024 5026 5027 3 364 + 5025 470 5026 3 364 + 5026 470 5028 3 364 + 5026 5028 5027 3 364 + 5027 5028 469 3 364 + 470 256 471 3 365 + 471 256 258 3 365 + 471 473 469 3 367 + 469 473 472 3 367 + 473 259 5029 3 368 + 5029 259 5031 3 368 + 5029 5031 5030 3 368 + 5030 5031 5032 3 368 + 5030 5032 474 3 368 + 474 5032 261 3 368 + 474 5034 5033 3 370 + 5033 5034 5035 3 370 + 5033 5035 472 3 370 + 472 5035 5036 3 370 + 5034 476 5035 3 370 + 5035 476 5037 3 370 + 5035 5037 5036 3 370 + 5036 5037 475 3 370 + 476 479 5038 3 372 + 5038 479 5040 3 372 + 5038 5040 5039 3 372 + 5039 5040 5041 3 372 + 5039 5041 477 3 372 + 477 5041 478 3 372 + 479 5044 5042 3 374 + 5042 5044 5045 3 374 + 5042 5045 5043 3 374 + 5043 5045 5046 3 374 + 5043 5046 480 3 374 + 480 5046 5047 3 374 + 5044 5048 5045 3 374 + 5045 5048 5049 3 374 + 5045 5049 5046 3 374 + 5046 5049 5050 3 374 + 5046 5050 5047 3 374 + 5047 5050 5051 3 374 + 5048 482 5049 3 374 + 5049 482 5052 3 374 + 5049 5052 5050 3 374 + 5050 5052 5053 3 374 + 5050 5053 5051 3 374 + 5051 5053 481 3 374 + 482 262 5054 3 375 + 5054 262 5055 3 375 + 5054 5055 483 3 375 + 483 5055 264 3 375 + 483 5056 481 3 376 + 481 5056 5057 3 376 + 5056 268 5057 3 376 + 5057 268 270 3 376 + 480 485 5058 3 378 + 5058 485 5062 3 378 + 5058 5062 5059 3 378 + 5059 5062 5063 3 378 + 5059 5063 5060 3 378 + 5060 5063 5064 3 378 + 5060 5064 5061 3 378 + 5061 5064 5065 3 378 + 5061 5065 478 3 378 + 478 5065 484 3 378 + 485 5068 5066 3 380 + 5066 5068 5069 3 380 + 5066 5069 5067 3 380 + 5067 5069 5070 3 380 + 5067 5070 486 3 380 + 486 5070 5071 3 380 + 5068 5072 5069 3 380 + 5069 5072 5073 3 380 + 5069 5073 5070 3 380 + 5070 5073 5074 3 380 + 5070 5074 5071 3 380 + 5071 5074 5075 3 380 + 5072 5076 5073 3 380 + 5073 5076 5077 3 380 + 5073 5077 5074 3 380 + 5074 5077 5078 3 380 + 5074 5078 5075 3 380 + 5075 5078 5079 3 380 + 5076 5080 5077 3 380 + 5077 5080 5081 3 380 + 5077 5081 5078 3 380 + 5078 5081 5082 3 380 + 5078 5082 5079 3 380 + 5079 5082 5083 3 380 + 5080 488 5081 3 380 + 5081 488 5084 3 380 + 5081 5084 5082 3 380 + 5082 5084 5085 3 380 + 5082 5085 5083 3 380 + 5083 5085 487 3 380 + 488 5087 5086 3 382 + 5086 5087 5088 3 382 + 5086 5088 489 3 382 + 489 5088 5089 3 382 + 5087 5090 5088 3 382 + 5088 5090 5091 3 382 + 5088 5091 5089 3 382 + 5089 5091 5092 3 382 + 5090 491 5091 3 382 + 5091 491 5093 3 382 + 5091 5093 5092 3 382 + 5092 5093 490 3 382 + 491 271 5094 3 383 + 5094 271 5098 3 383 + 5094 5098 5095 3 383 + 5095 5098 5099 3 383 + 5095 5099 5096 3 383 + 5096 5099 5100 3 383 + 5096 5100 5097 3 383 + 5097 5100 5101 3 383 + 5097 5101 492 3 383 + 492 5101 273 3 383 + 492 494 5102 3 385 + 5102 494 5107 3 385 + 5102 5107 5103 3 385 + 5103 5107 5108 3 385 + 5103 5108 5104 3 385 + 5104 5108 5109 3 385 + 5104 5109 5105 3 385 + 5105 5109 5110 3 385 + 5105 5110 5106 3 385 + 5106 5110 5111 3 385 + 5106 5111 490 3 385 + 490 5111 493 3 385 + 494 5116 5112 3 387 + 5112 5116 5117 3 387 + 5112 5117 5113 3 387 + 5113 5117 5118 3 387 + 5113 5118 5114 3 387 + 5114 5118 5119 3 387 + 5114 5119 5115 3 387 + 5115 5119 5120 3 387 + 5115 5120 495 3 387 + 495 5120 5121 3 387 + 5116 497 5117 3 387 + 5117 497 5122 3 387 + 5117 5122 5118 3 387 + 5118 5122 5123 3 387 + 5118 5123 5119 3 387 + 5119 5123 5124 3 387 + 5119 5124 5120 3 387 + 5120 5124 5125 3 387 + 5120 5125 5121 3 387 + 5121 5125 496 3 387 + 497 500 5126 3 389 + 5126 500 5130 3 389 + 5126 5130 5127 3 389 + 5127 5130 5131 3 389 + 5127 5131 5128 3 389 + 5128 5131 5132 3 389 + 5128 5132 5129 3 389 + 5129 5132 5133 3 389 + 5129 5133 498 3 389 + 498 5133 499 3 389 + 500 503 5134 3 391 + 5134 503 5136 3 391 + 5134 5136 5135 3 391 + 5135 5136 5137 3 391 + 5135 5137 501 3 391 + 501 5137 502 3 391 + 503 5140 5138 3 392 + 5138 5140 5141 3 392 + 5138 5141 5139 3 392 + 5139 5141 5142 3 392 + 5139 5142 504 3 392 + 504 5142 5143 3 392 + 5140 277 5141 3 392 + 5141 277 5144 3 392 + 5141 5144 5142 3 392 + 5142 5144 5145 3 392 + 5142 5145 5143 3 392 + 5143 5145 279 3 392 + 504 506 5146 3 394 + 5146 506 5151 3 394 + 5146 5151 5147 3 394 + 5147 5151 5152 3 394 + 5147 5152 5148 3 394 + 5148 5152 5153 3 394 + 5148 5153 5149 3 394 + 5149 5153 5154 3 394 + 5149 5154 5150 3 394 + 5150 5154 5155 3 394 + 5150 5155 502 3 394 + 502 5155 505 3 394 + 506 509 5156 3 396 + 5156 509 5159 3 396 + 5156 5159 5157 3 396 + 5157 5159 5160 3 396 + 5157 5160 5158 3 396 + 5158 5160 5161 3 396 + 5158 5161 507 3 396 + 507 5161 508 3 396 + 509 512 5162 3 398 + 5162 512 5163 3 398 + 5162 5163 510 3 398 + 510 5163 511 3 398 + 512 286 5164 3 399 + 5164 286 5168 3 399 + 5164 5168 5165 3 399 + 5165 5168 5169 3 399 + 5165 5169 5166 3 399 + 5166 5169 5170 3 399 + 5166 5170 5167 3 399 + 5167 5170 5171 3 399 + 5167 5171 513 3 399 + 513 5171 288 3 399 + 513 515 5172 3 401 + 5172 515 5174 3 401 + 5172 5174 5173 3 401 + 5173 5174 5175 3 401 + 5173 5175 511 3 401 + 511 5175 514 3 401 + 515 5179 5176 3 403 + 5176 5179 5180 3 403 + 5176 5180 5177 3 403 + 5177 5180 5181 3 403 + 5177 5181 5178 3 403 + 5178 5181 5182 3 403 + 5178 5182 516 3 403 + 516 5182 5183 3 403 + 5179 5184 5180 3 403 + 5180 5184 5185 3 403 + 5180 5185 5181 3 403 + 5181 5185 5186 3 403 + 5181 5186 5182 3 403 + 5182 5186 5187 3 403 + 5182 5187 5183 3 403 + 5183 5187 5188 3 403 + 5184 518 5185 3 403 + 5185 518 5189 3 403 + 5185 5189 5186 3 403 + 5186 5189 5190 3 403 + 5186 5190 5187 3 403 + 5187 5190 5191 3 403 + 5187 5191 5188 3 403 + 5188 5191 517 3 403 + 518 5195 5192 3 405 + 5192 5195 5196 3 405 + 5192 5196 5193 3 405 + 5193 5196 5197 3 405 + 5193 5197 5194 3 405 + 5194 5197 5198 3 405 + 5194 5198 519 3 405 + 519 5198 5199 3 405 + 5195 5200 5196 3 405 + 5196 5200 5201 3 405 + 5196 5201 5197 3 405 + 5197 5201 5202 3 405 + 5197 5202 5198 3 405 + 5198 5202 5203 3 405 + 5198 5203 5199 3 405 + 5199 5203 5204 3 405 + 5200 521 5201 3 405 + 5201 521 5205 3 405 + 5201 5205 5202 3 405 + 5202 5205 5206 3 405 + 5202 5206 5203 3 405 + 5203 5206 5207 3 405 + 5203 5207 5204 3 405 + 5204 5207 520 3 405 + 521 524 5208 3 407 + 5208 524 5210 3 407 + 5208 5210 5209 3 407 + 5209 5210 5211 3 407 + 5209 5211 522 3 407 + 522 5211 523 3 407 + 524 5214 5212 3 408 + 5212 5214 5215 3 408 + 5212 5215 5213 3 408 + 5213 5215 5216 3 408 + 5213 5216 525 3 408 + 525 5216 5217 3 408 + 5214 5218 5215 3 408 + 5215 5218 5219 3 408 + 5215 5219 5216 3 408 + 5216 5219 5220 3 408 + 5216 5220 5217 3 408 + 5217 5220 5221 3 408 + 5218 5222 5219 3 408 + 5219 5222 5223 3 408 + 5219 5223 5220 3 408 + 5220 5223 5224 3 408 + 5220 5224 5221 3 408 + 5221 5224 5225 3 408 + 5222 292 5223 3 408 + 5223 292 5226 3 408 + 5223 5226 5224 3 408 + 5224 5226 5227 3 408 + 5224 5227 5225 3 408 + 5225 5227 294 3 408 + 525 5229 5228 3 410 + 5228 5229 5230 3 410 + 5228 5230 523 3 410 + 523 5230 5231 3 410 + 5229 527 5230 3 410 + 5230 527 5232 3 410 + 5230 5232 5231 3 410 + 5231 5232 526 3 410 + 527 5233 528 3 411 + 528 5233 5234 3 411 + 5233 5235 5234 3 411 + 5234 5235 5236 3 411 + 5235 5237 5236 3 411 + 5236 5237 5238 3 411 + 5237 5239 5238 3 411 + 5238 5239 5240 3 411 + 5239 5241 5240 3 411 + 5240 5241 5242 3 411 + 5241 5243 5242 3 411 + 5242 5243 5244 3 411 + 5243 298 5244 3 411 + 5244 298 300 3 411 + 528 5247 5245 3 413 + 5245 5247 5248 3 413 + 5245 5248 5246 3 413 + 5246 5248 5249 3 413 + 5246 5249 526 3 413 + 526 5249 5250 3 413 + 5247 530 5248 3 413 + 5248 530 5251 3 413 + 5248 5251 5249 3 413 + 5249 5251 5252 3 413 + 5249 5252 5250 3 413 + 5250 5252 529 3 413 + 530 533 5253 3 415 + 5253 533 5258 3 415 + 5253 5258 5254 3 415 + 5254 5258 5259 3 415 + 5254 5259 5255 3 415 + 5255 5259 5260 3 415 + 5255 5260 5256 3 415 + 5256 5260 5261 3 415 + 5256 5261 5257 3 415 + 5257 5261 5262 3 415 + 5257 5262 531 3 415 + 531 5262 532 3 415 + 533 5264 5263 3 417 + 5263 5264 5265 3 417 + 5263 5265 534 3 417 + 534 5265 5266 3 417 + 5264 5267 5265 3 417 + 5265 5267 5268 3 417 + 5265 5268 5266 3 417 + 5266 5268 5269 3 417 + 5267 5270 5268 3 417 + 5268 5270 5271 3 417 + 5268 5271 5269 3 417 + 5269 5271 5272 3 417 + 5270 536 5271 3 417 + 5271 536 5273 3 417 + 5271 5273 5272 3 417 + 5272 5273 535 3 417 + 536 5274 537 3 418 + 537 5274 5275 3 418 + 5274 5276 5275 3 418 + 5275 5276 5277 3 418 + 5276 5278 5277 3 418 + 5277 5278 5279 3 418 + 5278 304 5279 3 418 + 5279 304 306 3 418 + 537 5280 535 3 419 + 535 5280 5281 3 419 + 5280 5282 5281 3 419 + 5281 5282 5283 3 419 + 5282 5284 5283 3 419 + 5283 5284 5285 3 419 + 5284 307 5285 3 419 + 5285 307 309 3 419 + 534 539 5286 3 421 + 5286 539 5291 3 421 + 5286 5291 5287 3 421 + 5287 5291 5292 3 421 + 5287 5292 5288 3 421 + 5288 5292 5293 3 421 + 5288 5293 5289 3 421 + 5289 5293 5294 3 421 + 5289 5294 5290 3 421 + 5290 5294 5295 3 421 + 5290 5295 532 3 421 + 532 5295 538 3 421 + 543 540 542 3 423 + 539 544 541 3 424 + 544 547 5296 3 426 + 5296 547 5302 3 426 + 5296 5302 5297 3 426 + 5297 5302 5303 3 426 + 5297 5303 5298 3 426 + 5298 5303 5304 3 426 + 5298 5304 5299 3 426 + 5299 5304 5305 3 426 + 5299 5305 5300 3 426 + 5300 5305 5306 3 426 + 5300 5306 5301 3 426 + 5301 5306 5307 3 426 + 5301 5307 545 3 426 + 545 5307 546 3 426 + 547 5312 5308 3 428 + 5308 5312 5313 3 428 + 5308 5313 5309 3 428 + 5309 5313 5314 3 428 + 5309 5314 5310 3 428 + 5310 5314 5315 3 428 + 5310 5315 5311 3 428 + 5311 5315 5316 3 428 + 5311 5316 548 3 428 + 548 5316 5317 3 428 + 5312 5318 5313 3 428 + 5313 5318 5319 3 428 + 5313 5319 5314 3 428 + 5314 5319 5320 3 428 + 5314 5320 5315 3 428 + 5315 5320 5321 3 428 + 5315 5321 5316 3 428 + 5316 5321 5322 3 428 + 5316 5322 5317 3 428 + 5317 5322 5323 3 428 + 5318 5324 5319 3 428 + 5319 5324 5325 3 428 + 5319 5325 5320 3 428 + 5320 5325 5326 3 428 + 5320 5326 5321 3 428 + 5321 5326 5327 3 428 + 5321 5327 5322 3 428 + 5322 5327 5328 3 428 + 5322 5328 5323 3 428 + 5323 5328 5329 3 428 + 5324 550 5325 3 428 + 5325 550 5330 3 428 + 5325 5330 5326 3 428 + 5326 5330 5331 3 428 + 5326 5331 5327 3 428 + 5327 5331 5332 3 428 + 5327 5332 5328 3 428 + 5328 5332 5333 3 428 + 5328 5333 5329 3 428 + 5329 5333 549 3 428 + 550 316 5334 3 429 + 5334 316 5338 3 429 + 5334 5338 5335 3 429 + 5335 5338 5339 3 429 + 5335 5339 5336 3 429 + 5336 5339 5340 3 429 + 5336 5340 5337 3 429 + 5337 5340 5341 3 429 + 5337 5341 551 3 429 + 551 5341 318 3 429 + 551 553 5342 3 431 + 5342 553 5345 3 431 + 5342 5345 5343 3 431 + 5343 5345 5346 3 431 + 5343 5346 5344 3 431 + 5344 5346 5347 3 431 + 5344 5347 549 3 431 + 549 5347 552 3 431 + 553 5350 5348 3 433 + 5348 5350 5351 3 433 + 5348 5351 5349 3 433 + 5349 5351 5352 3 433 + 5349 5352 554 3 433 + 554 5352 5353 3 433 + 5350 5354 5351 3 433 + 5351 5354 5355 3 433 + 5351 5355 5352 3 433 + 5352 5355 5356 3 433 + 5352 5356 5353 3 433 + 5353 5356 5357 3 433 + 5354 556 5355 3 433 + 5355 556 5358 3 433 + 5355 5358 5356 3 433 + 5356 5358 5359 3 433 + 5356 5359 5357 3 433 + 5357 5359 555 3 433 + 556 559 5360 3 435 + 5360 559 5364 3 435 + 5360 5364 5361 3 435 + 5361 5364 5365 3 435 + 5361 5365 5362 3 435 + 5362 5365 5366 3 435 + 5362 5366 5363 3 435 + 5363 5366 5367 3 435 + 5363 5367 557 3 435 + 557 5367 558 3 435 + 559 322 560 3 436 + 560 322 324 3 436 + 560 562 5368 3 438 + 5368 562 5371 3 438 + 5368 5371 5369 3 438 + 5369 5371 5372 3 438 + 5369 5372 5370 3 438 + 5370 5372 5373 3 438 + 5370 5373 558 3 438 + 558 5373 561 3 438 + 562 325 5374 3 439 + 5374 325 5379 3 439 + 5374 5379 5375 3 439 + 5375 5379 5380 3 439 + 5375 5380 5376 3 439 + 5376 5380 5381 3 439 + 5376 5381 5377 3 439 + 5377 5381 5382 3 439 + 5377 5382 5378 3 439 + 5378 5382 5383 3 439 + 5378 5383 563 3 439 + 563 5383 327 3 439 + 563 565 5384 3 441 + 5384 565 5388 3 441 + 5384 5388 5385 3 441 + 5385 5388 5389 3 441 + 5385 5389 5386 3 441 + 5386 5389 5390 3 441 + 5386 5390 5387 3 441 + 5387 5390 5391 3 441 + 5387 5391 561 3 441 + 561 5391 564 3 441 + 565 328 566 3 442 + 566 328 330 3 442 + 566 568 5392 3 444 + 5392 568 5397 3 444 + 5392 5397 5393 3 444 + 5393 5397 5398 3 444 + 5393 5398 5394 3 444 + 5394 5398 5399 3 444 + 5394 5399 5395 3 444 + 5395 5399 5400 3 444 + 5395 5400 5396 3 444 + 5396 5400 5401 3 444 + 5396 5401 564 3 444 + 564 5401 567 3 444 + 568 571 569 3 446 + 569 571 570 3 446 + 571 5403 5402 3 448 + 5402 5403 5404 3 448 + 5402 5404 572 3 448 + 572 5404 5405 3 448 + 5403 5406 5404 3 448 + 5404 5406 5407 3 448 + 5404 5407 5405 3 448 + 5405 5407 5408 3 448 + 5406 5409 5407 3 448 + 5407 5409 5410 3 448 + 5407 5410 5408 3 448 + 5408 5410 5411 3 448 + 5409 5412 5410 3 448 + 5410 5412 5413 3 448 + 5410 5413 5411 3 448 + 5411 5413 5414 3 448 + 5412 574 5413 3 448 + 5413 574 5415 3 448 + 5413 5415 5414 3 448 + 5414 5415 573 3 448 + 574 577 5416 3 450 + 5416 577 5418 3 450 + 5416 5418 5417 3 450 + 5417 5418 5419 3 450 + 5417 5419 575 3 450 + 575 5419 576 3 450 + 577 580 5420 3 452 + 5420 580 5423 3 452 + 5420 5423 5421 3 452 + 5421 5423 5424 3 452 + 5421 5424 5422 3 452 + 5422 5424 5425 3 452 + 5422 5425 578 3 452 + 578 5425 579 3 452 + 580 334 5426 3 453 + 5426 334 5431 3 453 + 5426 5431 5427 3 453 + 5427 5431 5432 3 453 + 5427 5432 5428 3 453 + 5428 5432 5433 3 453 + 5428 5433 5429 3 453 + 5429 5433 5434 3 453 + 5429 5434 5430 3 453 + 5430 5434 5435 3 453 + 5430 5435 581 3 453 + 581 5435 336 3 453 + 581 583 5436 3 455 + 5436 583 5440 3 455 + 5436 5440 5437 3 455 + 5437 5440 5441 3 455 + 5437 5441 5438 3 455 + 5438 5441 5442 3 455 + 5438 5442 5439 3 455 + 5439 5442 5443 3 455 + 5439 5443 579 3 455 + 579 5443 582 3 455 + 587 584 586 3 457 + 583 588 585 3 458 + 588 5448 5444 3 460 + 5444 5448 5449 3 460 + 5444 5449 5445 3 460 + 5445 5449 5450 3 460 + 5445 5450 5446 3 460 + 5446 5450 5451 3 460 + 5446 5451 5447 3 460 + 5447 5451 5452 3 460 + 5447 5452 589 3 460 + 589 5452 5453 3 460 + 5448 591 5449 3 460 + 5449 591 5454 3 460 + 5449 5454 5450 3 460 + 5450 5454 5455 3 460 + 5450 5455 5451 3 460 + 5451 5455 5456 3 460 + 5451 5456 5452 3 460 + 5452 5456 5457 3 460 + 5452 5457 5453 3 460 + 5453 5457 590 3 460 + 591 340 5458 3 461 + 5458 340 5462 3 461 + 5458 5462 5459 3 461 + 5459 5462 5463 3 461 + 5459 5463 5460 3 461 + 5460 5463 5464 3 461 + 5460 5464 5461 3 461 + 5461 5464 5465 3 461 + 5461 5465 592 3 461 + 592 5465 342 3 461 + 592 594 590 3 463 + 590 594 593 3 463 + 594 343 5466 3 464 + 5466 343 5469 3 464 + 5466 5469 5467 3 464 + 5467 5469 5470 3 464 + 5467 5470 5468 3 464 + 5468 5470 5471 3 464 + 5468 5471 595 3 464 + 595 5471 345 3 464 + 595 597 5472 3 466 + 5472 597 5476 3 466 + 5472 5476 5473 3 466 + 5473 5476 5477 3 466 + 5473 5477 5474 3 466 + 5474 5477 5478 3 466 + 5474 5478 5475 3 466 + 5475 5478 5479 3 466 + 5475 5479 593 3 466 + 593 5479 596 3 466 + 597 600 5480 3 468 + 5480 600 5482 3 468 + 5480 5482 5481 3 468 + 5481 5482 5483 3 468 + 5481 5483 598 3 468 + 598 5483 599 3 468 + 600 349 5484 3 469 + 5484 349 5485 3 469 + 5484 5485 601 3 469 + 601 5485 351 3 469 + 601 603 5486 3 471 + 5486 603 5488 3 471 + 5486 5488 5487 3 471 + 5487 5488 5489 3 471 + 5487 5489 599 3 471 + 599 5489 602 3 471 + 603 606 5490 3 473 + 5490 606 5496 3 473 + 5490 5496 5491 3 473 + 5491 5496 5497 3 473 + 5491 5497 5492 3 473 + 5492 5497 5498 3 473 + 5492 5498 5493 3 473 + 5493 5498 5499 3 473 + 5493 5499 5494 3 473 + 5494 5499 5500 3 473 + 5494 5500 5495 3 473 + 5495 5500 5501 3 473 + 5495 5501 604 3 473 + 604 5501 605 3 473 + 606 5504 5502 3 475 + 5502 5504 5505 3 475 + 5502 5505 5503 3 475 + 5503 5505 5506 3 475 + 5503 5506 607 3 475 + 607 5506 5507 3 475 + 5504 609 5505 3 475 + 5505 609 5508 3 475 + 5505 5508 5506 3 475 + 5506 5508 5509 3 475 + 5506 5509 5507 3 475 + 5507 5509 608 3 475 + 609 352 5510 3 476 + 5510 352 5512 3 476 + 5510 5512 5511 3 476 + 5511 5512 5513 3 476 + 5511 5513 610 3 476 + 610 5513 354 3 476 + 610 612 5514 3 478 + 5514 612 5516 3 478 + 5514 5516 5515 3 478 + 5515 5516 5517 3 478 + 5515 5517 608 3 478 + 608 5517 611 3 478 + 612 5522 5518 3 480 + 5518 5522 5523 3 480 + 5518 5523 5519 3 480 + 5519 5523 5524 3 480 + 5519 5524 5520 3 480 + 5520 5524 5525 3 480 + 5520 5525 5521 3 480 + 5521 5525 5526 3 480 + 5521 5526 613 3 480 + 613 5526 5527 3 480 + 5522 5528 5523 3 480 + 5523 5528 5529 3 480 + 5523 5529 5524 3 480 + 5524 5529 5530 3 480 + 5524 5530 5525 3 480 + 5525 5530 5531 3 480 + 5525 5531 5526 3 480 + 5526 5531 5532 3 480 + 5526 5532 5527 3 480 + 5527 5532 5533 3 480 + 5528 615 5529 3 480 + 5529 615 5534 3 480 + 5529 5534 5530 3 480 + 5530 5534 5535 3 480 + 5530 5535 5531 3 480 + 5531 5535 5536 3 480 + 5531 5536 5532 3 480 + 5532 5536 5537 3 480 + 5532 5537 5533 3 480 + 5533 5537 614 3 480 + 615 5539 5538 3 482 + 5538 5539 5540 3 482 + 5538 5540 616 3 482 + 616 5540 5541 3 482 + 5539 5542 5540 3 482 + 5540 5542 5543 3 482 + 5540 5543 5541 3 482 + 5541 5543 5544 3 482 + 5542 5545 5543 3 482 + 5543 5545 5546 3 482 + 5543 5546 5544 3 482 + 5544 5546 5547 3 482 + 5545 5548 5546 3 482 + 5546 5548 5549 3 482 + 5546 5549 5547 3 482 + 5547 5549 5550 3 482 + 5548 5551 5549 3 482 + 5549 5551 5552 3 482 + 5549 5552 5550 3 482 + 5550 5552 5553 3 482 + 5551 5554 5552 3 482 + 5552 5554 5555 3 482 + 5552 5555 5553 3 482 + 5553 5555 5556 3 482 + 5554 618 5555 3 482 + 5555 618 5557 3 482 + 5555 5557 5556 3 482 + 5556 5557 617 3 482 + 618 5558 619 3 484 + 619 5558 5559 3 484 + 5558 5560 5559 3 484 + 5559 5560 5561 3 484 + 5560 5562 5561 3 484 + 5561 5562 5563 3 484 + 5562 621 5563 3 484 + 5563 621 620 3 484 + 621 624 5564 3 486 + 5564 624 5566 3 486 + 5564 5566 5565 3 486 + 5565 5566 5567 3 486 + 5565 5567 622 3 486 + 622 5567 623 3 486 + 624 355 5568 3 487 + 5568 355 5572 3 487 + 5568 5572 5569 3 487 + 5569 5572 5573 3 487 + 5569 5573 5570 3 487 + 5570 5573 5574 3 487 + 5570 5574 5571 3 487 + 5571 5574 5575 3 487 + 5571 5575 625 3 487 + 625 5575 357 3 487 + 625 627 5576 3 489 + 5576 627 5577 3 489 + 5576 5577 623 3 489 + 623 5577 626 3 489 + 627 5580 5578 3 491 + 5578 5580 5581 3 491 + 5578 5581 5579 3 491 + 5579 5581 5582 3 491 + 5579 5582 628 3 491 + 628 5582 5583 3 491 + 5580 630 5581 3 491 + 5581 630 5584 3 491 + 5581 5584 5582 3 491 + 5582 5584 5585 3 491 + 5582 5585 5583 3 491 + 5583 5585 629 3 491 + 630 5587 5586 3 492 + 5586 5587 5588 3 492 + 5586 5588 631 3 492 + 631 5588 5589 3 492 + 5587 361 5588 3 492 + 5588 361 5590 3 492 + 5588 5590 5589 3 492 + 5589 5590 363 3 492 + 631 633 5591 3 494 + 5591 633 5594 3 494 + 5591 5594 5592 3 494 + 5592 5594 5595 3 494 + 5592 5595 5593 3 494 + 5593 5595 5596 3 494 + 5593 5596 629 3 494 + 629 5596 632 3 494 + 633 636 5597 3 496 + 5597 636 5599 3 496 + 5597 5599 5598 3 496 + 5598 5599 5600 3 496 + 5598 5600 634 3 496 + 634 5600 635 3 496 + 636 639 5601 3 498 + 5601 639 5602 3 498 + 5601 5602 637 3 498 + 637 5602 638 3 498 + 639 364 5603 3 499 + 5603 364 5605 3 499 + 5603 5605 5604 3 499 + 5604 5605 5606 3 499 + 5604 5606 640 3 499 + 640 5606 366 3 499 + 640 5609 5607 3 501 + 5607 5609 5610 3 501 + 5607 5610 5608 3 501 + 5608 5610 5611 3 501 + 5608 5611 638 3 501 + 638 5611 5612 3 501 + 5609 5613 5610 3 501 + 5610 5613 5614 3 501 + 5610 5614 5611 3 501 + 5611 5614 5615 3 501 + 5611 5615 5612 3 501 + 5612 5615 5616 3 501 + 5613 642 5614 3 501 + 5614 642 5617 3 501 + 5614 5617 5615 3 501 + 5615 5617 5618 3 501 + 5615 5618 5616 3 501 + 5616 5618 641 3 501 + 642 645 5619 3 503 + 5619 645 5624 3 503 + 5619 5624 5620 3 503 + 5620 5624 5625 3 503 + 5620 5625 5621 3 503 + 5621 5625 5626 3 503 + 5621 5626 5622 3 503 + 5622 5626 5627 3 503 + 5622 5627 5623 3 503 + 5623 5627 5628 3 503 + 5623 5628 643 3 503 + 643 5628 644 3 503 + 645 648 646 3 505 + 646 648 647 3 505 + 648 5631 5629 3 506 + 5629 5631 5632 3 506 + 5629 5632 5630 3 506 + 5630 5632 5633 3 506 + 5630 5633 649 3 506 + 649 5633 5634 3 506 + 5631 5635 5632 3 506 + 5632 5635 5636 3 506 + 5632 5636 5633 3 506 + 5633 5636 5637 3 506 + 5633 5637 5634 3 506 + 5634 5637 5638 3 506 + 5635 5639 5636 3 506 + 5636 5639 5640 3 506 + 5636 5640 5637 3 506 + 5637 5640 5641 3 506 + 5637 5641 5638 3 506 + 5638 5641 5642 3 506 + 5639 373 5640 3 506 + 5640 373 5643 3 506 + 5640 5643 5641 3 506 + 5641 5643 5644 3 506 + 5641 5644 5642 3 506 + 5642 5644 375 3 506 + 649 651 5645 3 508 + 5645 651 5646 3 508 + 5645 5646 647 3 508 + 647 5646 650 3 508 + 651 654 5647 3 510 + 5647 654 5652 3 510 + 5647 5652 5648 3 510 + 5648 5652 5653 3 510 + 5648 5653 5649 3 510 + 5649 5653 5654 3 510 + 5649 5654 5650 3 510 + 5650 5654 5655 3 510 + 5650 5655 5651 3 510 + 5651 5655 5656 3 510 + 5651 5656 652 3 510 + 652 5656 653 3 510 + 654 657 655 3 512 + 655 657 656 3 512 + 657 5658 5657 3 514 + 5657 5658 5659 3 514 + 5657 5659 658 3 514 + 658 5659 5660 3 514 + 5658 5661 5659 3 514 + 5659 5661 5662 3 514 + 5659 5662 5660 3 514 + 5660 5662 5663 3 514 + 5661 660 5662 3 514 + 5662 660 5664 3 514 + 5662 5664 5663 3 514 + 5663 5664 659 3 514 + 661 5665 381 3 515 + 381 5665 5666 3 515 + 5666 5665 663 3 515 + 660 379 5667 3 516 + 5667 379 5668 3 516 + 5667 5668 662 3 516 + 661 665 5669 3 518 + 5669 665 5673 3 518 + 5669 5673 5670 3 518 + 5670 5673 5674 3 518 + 5670 5674 5671 3 518 + 5671 5674 5675 3 518 + 5671 5675 5672 3 518 + 5672 5675 5676 3 518 + 5672 5676 659 3 518 + 659 5676 664 3 518 + 665 5681 5677 3 520 + 5677 5681 5682 3 520 + 5677 5682 5678 3 520 + 5678 5682 5683 3 520 + 5678 5683 5679 3 520 + 5679 5683 5684 3 520 + 5679 5684 5680 3 520 + 5680 5684 5685 3 520 + 5680 5685 666 3 520 + 666 5685 5686 3 520 + 5681 5687 5682 3 520 + 5682 5687 5688 3 520 + 5682 5688 5683 3 520 + 5683 5688 5689 3 520 + 5683 5689 5684 3 520 + 5684 5689 5690 3 520 + 5684 5690 5685 3 520 + 5685 5690 5691 3 520 + 5685 5691 5686 3 520 + 5686 5691 5692 3 520 + 5687 5693 5688 3 520 + 5688 5693 5694 3 520 + 5688 5694 5689 3 520 + 5689 5694 5695 3 520 + 5689 5695 5690 3 520 + 5690 5695 5696 3 520 + 5690 5696 5691 3 520 + 5691 5696 5697 3 520 + 5691 5697 5692 3 520 + 5692 5697 5698 3 520 + 5693 5699 5694 3 520 + 5694 5699 5700 3 520 + 5694 5700 5695 3 520 + 5695 5700 5701 3 520 + 5695 5701 5696 3 520 + 5696 5701 5702 3 520 + 5696 5702 5697 3 520 + 5697 5702 5703 3 520 + 5697 5703 5698 3 520 + 5698 5703 5704 3 520 + 5699 5705 5700 3 520 + 5700 5705 5706 3 520 + 5700 5706 5701 3 520 + 5701 5706 5707 3 520 + 5701 5707 5702 3 520 + 5702 5707 5708 3 520 + 5702 5708 5703 3 520 + 5703 5708 5709 3 520 + 5703 5709 5704 3 520 + 5704 5709 5710 3 520 + 5705 668 5706 3 520 + 5706 668 5711 3 520 + 5706 5711 5707 3 520 + 5707 5711 5712 3 520 + 5707 5712 5708 3 520 + 5708 5712 5713 3 520 + 5708 5713 5709 3 520 + 5709 5713 5714 3 520 + 5709 5714 5710 3 520 + 5710 5714 667 3 520 + 668 671 5715 3 522 + 5715 671 5719 3 522 + 5715 5719 5716 3 522 + 5716 5719 5720 3 522 + 5716 5720 5717 3 522 + 5717 5720 5721 3 522 + 5717 5721 5718 3 522 + 5718 5721 5722 3 522 + 5718 5722 669 3 522 + 669 5722 670 3 522 + 671 674 5723 3 524 + 5723 674 5724 3 524 + 5723 5724 672 3 524 + 672 5724 673 3 524 + 674 5725 675 3 525 + 675 5725 5726 3 525 + 5725 5727 5726 3 525 + 5726 5727 5728 3 525 + 5727 5729 5728 3 525 + 5728 5729 5730 3 525 + 5729 385 5730 3 525 + 5730 385 387 3 525 + 675 5731 673 3 526 + 673 5731 5732 3 526 + 5731 5733 5732 3 526 + 5732 5733 5734 3 526 + 5733 5735 5734 3 526 + 5734 5735 5736 3 526 + 5735 388 5736 3 526 + 5736 388 390 3 526 + 672 5740 5737 3 528 + 5737 5740 5741 3 528 + 5737 5741 5738 3 528 + 5738 5741 5742 3 528 + 5738 5742 5739 3 528 + 5739 5742 5743 3 528 + 5739 5743 670 3 528 + 670 5743 5744 3 528 + 5740 5745 5741 3 528 + 5741 5745 5746 3 528 + 5741 5746 5742 3 528 + 5742 5746 5747 3 528 + 5742 5747 5743 3 528 + 5743 5747 5748 3 528 + 5743 5748 5744 3 528 + 5744 5748 5749 3 528 + 5745 677 5746 3 528 + 5746 677 5750 3 528 + 5746 5750 5747 3 528 + 5747 5750 5751 3 528 + 5747 5751 5748 3 528 + 5748 5751 5752 3 528 + 5748 5752 5749 3 528 + 5749 5752 676 3 528 + 677 680 5753 3 530 + 5753 680 5756 3 530 + 5753 5756 5754 3 530 + 5754 5756 5757 3 530 + 5754 5757 5755 3 530 + 5755 5757 5758 3 530 + 5755 5758 678 3 530 + 678 5758 679 3 530 + 680 5761 5759 3 532 + 5759 5761 5762 3 532 + 5759 5762 5760 3 532 + 5760 5762 5763 3 532 + 5760 5763 681 3 532 + 681 5763 5764 3 532 + 5761 683 5762 3 532 + 5762 683 5765 3 532 + 5762 5765 5763 3 532 + 5763 5765 5766 3 532 + 5763 5766 5764 3 532 + 5764 5766 682 3 532 + 683 5769 5767 3 533 + 5767 5769 5770 3 533 + 5767 5770 5768 3 533 + 5768 5770 5771 3 533 + 5768 5771 684 3 533 + 684 5771 5772 3 533 + 5769 391 5770 3 533 + 5770 391 5773 3 533 + 5770 5773 5771 3 533 + 5771 5773 5774 3 533 + 5771 5774 5772 3 533 + 5772 5774 393 3 533 + 684 5775 682 3 535 + 682 5775 5776 3 535 + 5775 686 5776 3 535 + 5776 686 685 3 535 + 686 5780 5777 3 536 + 5777 5780 5781 3 536 + 5777 5781 5778 3 536 + 5778 5781 5782 3 536 + 5778 5782 5779 3 536 + 5779 5782 5783 3 536 + 5779 5783 687 3 536 + 687 5783 5784 3 536 + 5780 394 5781 3 536 + 5781 394 5785 3 536 + 5781 5785 5782 3 536 + 5782 5785 5786 3 536 + 5782 5786 5783 3 536 + 5783 5786 5787 3 536 + 5783 5787 5784 3 536 + 5784 5787 396 3 536 + 687 5792 5788 3 538 + 5788 5792 5793 3 538 + 5788 5793 5789 3 538 + 5789 5793 5794 3 538 + 5789 5794 5790 3 538 + 5790 5794 5795 3 538 + 5790 5795 5791 3 538 + 5791 5795 5796 3 538 + 5791 5796 685 3 538 + 685 5796 5797 3 538 + 5792 5798 5793 3 538 + 5793 5798 5799 3 538 + 5793 5799 5794 3 538 + 5794 5799 5800 3 538 + 5794 5800 5795 3 538 + 5795 5800 5801 3 538 + 5795 5801 5796 3 538 + 5796 5801 5802 3 538 + 5796 5802 5797 3 538 + 5797 5802 5803 3 538 + 5798 689 5799 3 538 + 5799 689 5804 3 538 + 5799 5804 5800 3 538 + 5800 5804 5805 3 538 + 5800 5805 5801 3 538 + 5801 5805 5806 3 538 + 5801 5806 5802 3 538 + 5802 5806 5807 3 538 + 5802 5807 5803 3 538 + 5803 5807 688 3 538 + 689 5809 5808 3 540 + 5808 5809 5810 3 540 + 5808 5810 690 3 540 + 690 5810 5811 3 540 + 5809 692 5810 3 540 + 5810 692 5812 3 540 + 5810 5812 5811 3 540 + 5811 5812 691 3 540 + 692 695 5813 3 542 + 5813 695 5817 3 542 + 5813 5817 5814 3 542 + 5814 5817 5818 3 542 + 5814 5818 5815 3 542 + 5815 5818 5819 3 542 + 5815 5819 5816 3 542 + 5816 5819 5820 3 542 + 5816 5820 693 3 542 + 693 5820 694 3 542 + 695 698 5821 3 544 + 5821 698 5826 3 544 + 5821 5826 5822 3 544 + 5822 5826 5827 3 544 + 5822 5827 5823 3 544 + 5823 5827 5828 3 544 + 5823 5828 5824 3 544 + 5824 5828 5829 3 544 + 5824 5829 5825 3 544 + 5825 5829 5830 3 544 + 5825 5830 696 3 544 + 696 5830 697 3 544 + 698 5832 5831 3 545 + 5831 5832 5833 3 545 + 5831 5833 699 3 545 + 699 5833 5834 3 545 + 5832 5835 5833 3 545 + 5833 5835 5836 3 545 + 5833 5836 5834 3 545 + 5834 5836 5837 3 545 + 5835 5838 5836 3 545 + 5836 5838 5839 3 545 + 5836 5839 5837 3 545 + 5837 5839 5840 3 545 + 5838 5841 5839 3 545 + 5839 5841 5842 3 545 + 5839 5842 5840 3 545 + 5840 5842 5843 3 545 + 5841 5844 5842 3 545 + 5842 5844 5845 3 545 + 5842 5845 5843 3 545 + 5843 5845 5846 3 545 + 5844 5847 5845 3 545 + 5845 5847 5848 3 545 + 5845 5848 5846 3 545 + 5846 5848 5849 3 545 + 5847 408 5848 3 545 + 5848 408 5850 3 545 + 5848 5850 5849 3 545 + 5849 5850 410 3 545 + 699 5854 5851 3 547 + 5851 5854 5855 3 547 + 5851 5855 5852 3 547 + 5852 5855 5856 3 547 + 5852 5856 5853 3 547 + 5853 5856 5857 3 547 + 5853 5857 697 3 547 + 697 5857 5858 3 547 + 5854 701 5855 3 547 + 5855 701 5859 3 547 + 5855 5859 5856 3 547 + 5856 5859 5860 3 547 + 5856 5860 5857 3 547 + 5857 5860 5861 3 547 + 5857 5861 5858 3 547 + 5858 5861 700 3 547 + 701 5864 5862 3 548 + 5862 5864 5865 3 548 + 5862 5865 5863 3 548 + 5863 5865 5866 3 548 + 5863 5866 702 3 548 + 702 5866 5867 3 548 + 5864 5868 5865 3 548 + 5865 5868 5869 3 548 + 5865 5869 5866 3 548 + 5866 5869 5870 3 548 + 5866 5870 5867 3 548 + 5867 5870 5871 3 548 + 5868 417 5869 3 548 + 5869 417 5872 3 548 + 5869 5872 5870 3 548 + 5870 5872 5873 3 548 + 5870 5873 5871 3 548 + 5871 5873 419 3 548 + 702 5874 700 3 549 + 700 5874 5875 3 549 + 5874 5876 5875 3 549 + 5875 5876 5877 3 549 + 5876 5878 5877 3 549 + 5877 5878 5879 3 549 + 5878 420 5879 3 549 + 5879 420 422 3 549 + 696 5883 5880 3 551 + 5880 5883 5884 3 551 + 5880 5884 5881 3 551 + 5881 5884 5885 3 551 + 5881 5885 5882 3 551 + 5882 5885 5886 3 551 + 5882 5886 694 3 551 + 694 5886 5887 3 551 + 5883 5888 5884 3 551 + 5884 5888 5889 3 551 + 5884 5889 5885 3 551 + 5885 5889 5890 3 551 + 5885 5890 5886 3 551 + 5886 5890 5891 3 551 + 5886 5891 5887 3 551 + 5887 5891 5892 3 551 + 5888 704 5889 3 551 + 5889 704 5893 3 551 + 5889 5893 5890 3 551 + 5890 5893 5894 3 551 + 5890 5894 5891 3 551 + 5891 5894 5895 3 551 + 5891 5895 5892 3 551 + 5892 5895 703 3 551 + 704 5897 5896 3 553 + 5896 5897 5898 3 553 + 5896 5898 705 3 553 + 705 5898 5899 3 553 + 5897 5900 5898 3 553 + 5898 5900 5901 3 553 + 5898 5901 5899 3 553 + 5899 5901 5902 3 553 + 5900 707 5901 3 553 + 5901 707 5903 3 553 + 5901 5903 5902 3 553 + 5902 5903 706 3 553 + 707 5907 5904 3 555 + 5904 5907 5908 3 555 + 5904 5908 5905 3 555 + 5905 5908 5909 3 555 + 5905 5909 5906 3 555 + 5906 5909 5910 3 555 + 5906 5910 708 3 555 + 708 5910 5911 3 555 + 5907 5912 5908 3 555 + 5908 5912 5913 3 555 + 5908 5913 5909 3 555 + 5909 5913 5914 3 555 + 5909 5914 5910 3 555 + 5910 5914 5915 3 555 + 5910 5915 5911 3 555 + 5911 5915 5916 3 555 + 5912 710 5913 3 555 + 5913 710 5917 3 555 + 5913 5917 5914 3 555 + 5914 5917 5918 3 555 + 5914 5918 5915 3 555 + 5915 5918 5919 3 555 + 5915 5919 5916 3 555 + 5916 5919 709 3 555 + 710 423 711 3 556 + 711 423 425 3 556 + 711 713 5920 3 558 + 5920 713 5922 3 558 + 5920 5922 5921 3 558 + 5921 5922 5923 3 558 + 5921 5923 709 3 558 + 709 5923 712 3 558 + 714 5924 428 3 559 + 428 5924 5925 3 559 + 5925 5924 716 3 559 + 713 426 5926 3 560 + 5926 426 5928 3 560 + 5926 5928 5927 3 560 + 5927 5928 5929 3 560 + 5927 5929 715 3 560 + 714 718 5930 3 562 + 5930 718 5933 3 562 + 5930 5933 5931 3 562 + 5931 5933 5934 3 562 + 5931 5934 5932 3 562 + 5932 5934 5935 3 562 + 5932 5935 712 3 562 + 712 5935 717 3 562 + 718 5938 5936 3 564 + 5936 5938 5939 3 564 + 5936 5939 5937 3 564 + 5937 5939 5940 3 564 + 5937 5940 719 3 564 + 719 5940 5941 3 564 + 5938 5942 5939 3 564 + 5939 5942 5943 3 564 + 5939 5943 5940 3 564 + 5940 5943 5944 3 564 + 5940 5944 5941 3 564 + 5941 5944 5945 3 564 + 5942 721 5943 3 564 + 5943 721 5946 3 564 + 5943 5946 5944 3 564 + 5944 5946 5947 3 564 + 5944 5947 5945 3 564 + 5945 5947 720 3 564 + 721 724 722 3 566 + 722 724 723 3 566 + 724 5950 5948 3 568 + 5948 5950 5951 3 568 + 5948 5951 5949 3 568 + 5949 5951 5952 3 568 + 5949 5952 725 3 568 + 725 5952 5953 3 568 + 5950 727 5951 3 568 + 5951 727 5954 3 568 + 5951 5954 5952 3 568 + 5952 5954 5955 3 568 + 5952 5955 5953 3 568 + 5953 5955 726 3 568 + 727 5958 5956 3 570 + 5956 5958 5959 3 570 + 5956 5959 5957 3 570 + 5957 5959 5960 3 570 + 5957 5960 728 3 570 + 728 5960 5961 3 570 + 5958 5962 5959 3 570 + 5959 5962 5963 3 570 + 5959 5963 5960 3 570 + 5960 5963 5964 3 570 + 5960 5964 5961 3 570 + 5961 5964 5965 3 570 + 5962 5966 5963 3 570 + 5963 5966 5967 3 570 + 5963 5967 5964 3 570 + 5964 5967 5968 3 570 + 5964 5968 5965 3 570 + 5965 5968 5969 3 570 + 5966 5970 5967 3 570 + 5967 5970 5971 3 570 + 5967 5971 5968 3 570 + 5968 5971 5972 3 570 + 5968 5972 5969 3 570 + 5969 5972 5973 3 570 + 5970 730 5971 3 570 + 5971 730 5974 3 570 + 5971 5974 5972 3 570 + 5972 5974 5975 3 570 + 5972 5975 5973 3 570 + 5973 5975 729 3 570 + 730 5978 5976 3 572 + 5976 5978 5979 3 572 + 5976 5979 5977 3 572 + 5977 5979 5980 3 572 + 5977 5980 731 3 572 + 731 5980 5981 3 572 + 5978 733 5979 3 572 + 5979 733 5982 3 572 + 5979 5982 5980 3 572 + 5980 5982 5983 3 572 + 5980 5983 5981 3 572 + 5981 5983 732 3 572 + 733 736 5984 3 574 + 5984 736 5987 3 574 + 5984 5987 5985 3 574 + 5985 5987 5988 3 574 + 5985 5988 5986 3 574 + 5986 5988 5989 3 574 + 5986 5989 734 3 574 + 734 5989 735 3 574 + 736 739 5990 3 576 + 5990 739 5992 3 576 + 5990 5992 5991 3 576 + 5991 5992 5993 3 576 + 5991 5993 737 3 576 + 737 5993 738 3 576 + 739 431 5994 3 577 + 5994 431 6000 3 577 + 5994 6000 5995 3 577 + 5995 6000 6001 3 577 + 5995 6001 5996 3 577 + 5996 6001 6002 3 577 + 5996 6002 5997 3 577 + 5997 6002 6003 3 577 + 5997 6003 5998 3 577 + 5998 6003 6004 3 577 + 5998 6004 5999 3 577 + 5999 6004 6005 3 577 + 5999 6005 740 3 577 + 740 6005 433 3 577 + 740 742 6006 3 579 + 6006 742 6010 3 579 + 6006 6010 6007 3 579 + 6007 6010 6011 3 579 + 6007 6011 6008 3 579 + 6008 6011 6012 3 579 + 6008 6012 6009 3 579 + 6009 6012 6013 3 579 + 6009 6013 738 3 579 + 738 6013 741 3 579 + 742 745 6014 3 581 + 6014 745 6019 3 581 + 6014 6019 6015 3 581 + 6015 6019 6020 3 581 + 6015 6020 6016 3 581 + 6016 6020 6021 3 581 + 6016 6021 6017 3 581 + 6017 6021 6022 3 581 + 6017 6022 6018 3 581 + 6018 6022 6023 3 581 + 6018 6023 743 3 581 + 743 6023 744 3 581 + 745 748 6024 3 583 + 6024 748 6026 3 583 + 6024 6026 6025 3 583 + 6025 6026 6027 3 583 + 6025 6027 746 3 583 + 746 6027 747 3 583 + 748 6032 6028 3 585 + 6028 6032 6033 3 585 + 6028 6033 6029 3 585 + 6029 6033 6034 3 585 + 6029 6034 6030 3 585 + 6030 6034 6035 3 585 + 6030 6035 6031 3 585 + 6031 6035 6036 3 585 + 6031 6036 749 3 585 + 749 6036 6037 3 585 + 6032 6038 6033 3 585 + 6033 6038 6039 3 585 + 6033 6039 6034 3 585 + 6034 6039 6040 3 585 + 6034 6040 6035 3 585 + 6035 6040 6041 3 585 + 6035 6041 6036 3 585 + 6036 6041 6042 3 585 + 6036 6042 6037 3 585 + 6037 6042 6043 3 585 + 6038 751 6039 3 585 + 6039 751 6044 3 585 + 6039 6044 6040 3 585 + 6040 6044 6045 3 585 + 6040 6045 6041 3 585 + 6041 6045 6046 3 585 + 6041 6046 6042 3 585 + 6042 6046 6047 3 585 + 6042 6047 6043 3 585 + 6043 6047 750 3 585 + 751 754 6048 3 587 + 6048 754 6052 3 587 + 6048 6052 6049 3 587 + 6049 6052 6053 3 587 + 6049 6053 6050 3 587 + 6050 6053 6054 3 587 + 6050 6054 6051 3 587 + 6051 6054 6055 3 587 + 6051 6055 752 3 587 + 752 6055 753 3 587 + 754 444 6056 3 588 + 6056 444 6059 3 588 + 6056 6059 6057 3 588 + 6057 6059 6060 3 588 + 6057 6060 6058 3 588 + 6058 6060 6061 3 588 + 6058 6061 755 3 588 + 755 6061 446 3 588 + 755 447 753 3 589 + 753 447 449 3 589 + 752 450 6062 3 590 + 6062 450 6066 3 590 + 6062 6066 6063 3 590 + 6063 6066 6067 3 590 + 6063 6067 6064 3 590 + 6064 6067 6068 3 590 + 6064 6068 6065 3 590 + 6065 6068 6069 3 590 + 6065 6069 750 3 590 + 750 6069 452 3 590 + 749 757 6070 3 592 + 6070 757 6072 3 592 + 6070 6072 6071 3 592 + 6071 6072 6073 3 592 + 6071 6073 747 3 592 + 747 6073 756 3 592 + 757 6077 6074 3 594 + 6074 6077 6078 3 594 + 6074 6078 6075 3 594 + 6075 6078 6079 3 594 + 6075 6079 6076 3 594 + 6076 6079 6080 3 594 + 6076 6080 758 3 594 + 758 6080 6081 3 594 + 6077 6082 6078 3 594 + 6078 6082 6083 3 594 + 6078 6083 6079 3 594 + 6079 6083 6084 3 594 + 6079 6084 6080 3 594 + 6080 6084 6085 3 594 + 6080 6085 6081 3 594 + 6081 6085 6086 3 594 + 6082 6087 6083 3 594 + 6083 6087 6088 3 594 + 6083 6088 6084 3 594 + 6084 6088 6089 3 594 + 6084 6089 6085 3 594 + 6085 6089 6090 3 594 + 6085 6090 6086 3 594 + 6086 6090 6091 3 594 + 6087 6092 6088 3 594 + 6088 6092 6093 3 594 + 6088 6093 6089 3 594 + 6089 6093 6094 3 594 + 6089 6094 6090 3 594 + 6090 6094 6095 3 594 + 6090 6095 6091 3 594 + 6091 6095 6096 3 594 + 6092 760 6093 3 594 + 6093 760 6097 3 594 + 6093 6097 6094 3 594 + 6094 6097 6098 3 594 + 6094 6098 6095 3 594 + 6095 6098 6099 3 594 + 6095 6099 6096 3 594 + 6096 6099 759 3 594 + 760 763 6100 3 596 + 6100 763 6101 3 596 + 6100 6101 761 3 596 + 761 6101 762 3 596 + 763 6102 764 3 597 + 764 6102 6103 3 597 + 6102 6104 6103 3 597 + 6103 6104 6105 3 597 + 6104 6106 6105 3 597 + 6105 6106 6107 3 597 + 6106 458 6107 3 597 + 6107 458 460 3 597 + 764 766 762 3 599 + 762 766 765 3 599 + 766 6112 6108 3 600 + 6108 6112 6113 3 600 + 6108 6113 6109 3 600 + 6109 6113 6114 3 600 + 6109 6114 6110 3 600 + 6110 6114 6115 3 600 + 6110 6115 6111 3 600 + 6111 6115 6116 3 600 + 6111 6116 767 3 600 + 767 6116 6117 3 600 + 6112 461 6113 3 600 + 6113 461 6118 3 600 + 6113 6118 6114 3 600 + 6114 6118 6119 3 600 + 6114 6119 6115 3 600 + 6115 6119 6120 3 600 + 6115 6120 6116 3 600 + 6116 6120 6121 3 600 + 6116 6121 6117 3 600 + 6117 6121 463 3 600 + 767 6125 6122 3 602 + 6122 6125 6126 3 602 + 6122 6126 6123 3 602 + 6123 6126 6127 3 602 + 6123 6127 6124 3 602 + 6124 6127 6128 3 602 + 6124 6128 765 3 602 + 765 6128 6129 3 602 + 6125 769 6126 3 602 + 6126 769 6130 3 602 + 6126 6130 6127 3 602 + 6127 6130 6131 3 602 + 6127 6131 6128 3 602 + 6128 6131 6132 3 602 + 6128 6132 6129 3 602 + 6129 6132 768 3 602 + 769 772 6133 3 604 + 6133 772 6134 3 604 + 6133 6134 770 3 604 + 770 6134 771 3 604 + 772 6135 773 3 606 + 773 6135 6136 3 606 + 6135 6137 6136 3 606 + 6136 6137 6138 3 606 + 6137 6139 6138 3 606 + 6138 6139 6140 3 606 + 6139 775 6140 3 606 + 6140 775 774 3 606 + 775 6142 6141 3 608 + 6141 6142 6143 3 608 + 6141 6143 776 3 608 + 776 6143 6144 3 608 + 6142 6145 6143 3 608 + 6143 6145 6146 3 608 + 6143 6146 6144 3 608 + 6144 6146 6147 3 608 + 6145 778 6146 3 608 + 6146 778 6148 3 608 + 6146 6148 6147 3 608 + 6147 6148 777 3 608 + 778 781 6149 3 610 + 6149 781 6151 3 610 + 6149 6151 6150 3 610 + 6150 6151 6152 3 610 + 6150 6152 779 3 610 + 779 6152 780 3 610 + 781 6158 6153 3 611 + 6153 6158 6159 3 611 + 6153 6159 6154 3 611 + 6154 6159 6160 3 611 + 6154 6160 6155 3 611 + 6155 6160 6161 3 611 + 6155 6161 6156 3 611 + 6156 6161 6162 3 611 + 6156 6162 6157 3 611 + 6157 6162 6163 3 611 + 6157 6163 782 3 611 + 782 6163 6164 3 611 + 6158 466 6159 3 611 + 6159 466 6165 3 611 + 6159 6165 6160 3 611 + 6160 6165 6166 3 611 + 6160 6166 6161 3 611 + 6161 6166 6167 3 611 + 6161 6167 6162 3 611 + 6162 6167 6168 3 611 + 6162 6168 6163 3 611 + 6163 6168 6169 3 611 + 6163 6169 6164 3 611 + 6164 6169 468 3 611 + 782 784 6170 3 613 + 6170 784 6173 3 613 + 6170 6173 6171 3 613 + 6171 6173 6174 3 613 + 6171 6174 6172 3 613 + 6172 6174 6175 3 613 + 6172 6175 780 3 613 + 780 6175 783 3 613 + 784 6178 6176 3 614 + 6176 6178 6179 3 614 + 6176 6179 6177 3 614 + 6177 6179 6180 3 614 + 6177 6180 785 3 614 + 785 6180 6181 3 614 + 6178 6182 6179 3 614 + 6179 6182 6183 3 614 + 6179 6183 6180 3 614 + 6180 6183 6184 3 614 + 6180 6184 6181 3 614 + 6181 6184 6185 3 614 + 6182 475 6183 3 614 + 6183 475 6186 3 614 + 6183 6186 6184 3 614 + 6184 6186 6187 3 614 + 6184 6187 6185 3 614 + 6185 6187 477 3 614 + 785 787 6188 3 616 + 6188 787 6191 3 616 + 6188 6191 6189 3 616 + 6189 6191 6192 3 616 + 6189 6192 6190 3 616 + 6190 6192 6193 3 616 + 6190 6193 783 3 616 + 783 6193 786 3 616 + 787 6199 6194 3 618 + 6194 6199 6200 3 618 + 6194 6200 6195 3 618 + 6195 6200 6201 3 618 + 6195 6201 6196 3 618 + 6196 6201 6202 3 618 + 6196 6202 6197 3 618 + 6197 6202 6203 3 618 + 6197 6203 6198 3 618 + 6198 6203 6204 3 618 + 6198 6204 788 3 618 + 788 6204 6205 3 618 + 6199 790 6200 3 618 + 6200 790 6206 3 618 + 6200 6206 6201 3 618 + 6201 6206 6207 3 618 + 6201 6207 6202 3 618 + 6202 6207 6208 3 618 + 6202 6208 6203 3 618 + 6203 6208 6209 3 618 + 6203 6209 6204 3 618 + 6204 6209 6210 3 618 + 6204 6210 6205 3 618 + 6205 6210 789 3 618 + 794 791 793 3 620 + 790 795 792 3 621 + 795 6216 6211 3 622 + 6211 6216 6217 3 622 + 6211 6217 6212 3 622 + 6212 6217 6218 3 622 + 6212 6218 6213 3 622 + 6213 6218 6219 3 622 + 6213 6219 6214 3 622 + 6214 6219 6220 3 622 + 6214 6220 6215 3 622 + 6215 6220 6221 3 622 + 6215 6221 796 3 622 + 796 6221 6222 3 622 + 6216 484 6217 3 622 + 6217 484 6223 3 622 + 6217 6223 6218 3 622 + 6218 6223 6224 3 622 + 6218 6224 6219 3 622 + 6219 6224 6225 3 622 + 6219 6225 6220 3 622 + 6220 6225 6226 3 622 + 6220 6226 6221 3 622 + 6221 6226 6227 3 622 + 6221 6227 6222 3 622 + 6222 6227 486 3 622 + 796 798 6228 3 624 + 6228 798 6232 3 624 + 6228 6232 6229 3 624 + 6229 6232 6233 3 624 + 6229 6233 6230 3 624 + 6230 6233 6234 3 624 + 6230 6234 6231 3 624 + 6231 6234 6235 3 624 + 6231 6235 794 3 624 + 794 6235 797 3 624 + 798 801 799 3 626 + 799 801 800 3 626 + 801 6237 6236 3 628 + 6236 6237 6238 3 628 + 6236 6238 802 3 628 + 802 6238 6239 3 628 + 6237 6240 6238 3 628 + 6238 6240 6241 3 628 + 6238 6241 6239 3 628 + 6239 6241 6242 3 628 + 6240 6243 6241 3 628 + 6241 6243 6244 3 628 + 6241 6244 6242 3 628 + 6242 6244 6245 3 628 + 6243 6246 6244 3 628 + 6244 6246 6247 3 628 + 6244 6247 6245 3 628 + 6245 6247 6248 3 628 + 6246 804 6247 3 628 + 6247 804 6249 3 628 + 6247 6249 6248 3 628 + 6248 6249 803 3 628 + 804 6250 805 3 630 + 805 6250 6251 3 630 + 6250 6252 6251 3 630 + 6251 6252 6253 3 630 + 6252 807 6253 3 630 + 6253 807 806 3 630 + 807 487 808 3 631 + 808 487 489 3 631 + 808 810 6254 3 633 + 6254 810 6255 3 633 + 6254 6255 806 3 633 + 806 6255 809 3 633 + 810 6258 6256 3 635 + 6256 6258 6259 3 635 + 6256 6259 6257 3 635 + 6257 6259 6260 3 635 + 6257 6260 811 3 635 + 811 6260 6261 3 635 + 6258 6262 6259 3 635 + 6259 6262 6263 3 635 + 6259 6263 6260 3 635 + 6260 6263 6264 3 635 + 6260 6264 6261 3 635 + 6261 6264 6265 3 635 + 6262 813 6263 3 635 + 6263 813 6266 3 635 + 6263 6266 6264 3 635 + 6264 6266 6267 3 635 + 6264 6267 6265 3 635 + 6265 6267 812 3 635 + 813 6271 6268 3 636 + 6268 6271 6272 3 636 + 6268 6272 6269 3 636 + 6269 6272 6273 3 636 + 6269 6273 6270 3 636 + 6270 6273 6274 3 636 + 6270 6274 814 3 636 + 814 6274 6275 3 636 + 6271 6276 6272 3 636 + 6272 6276 6277 3 636 + 6272 6277 6273 3 636 + 6273 6277 6278 3 636 + 6273 6278 6274 3 636 + 6274 6278 6279 3 636 + 6274 6279 6275 3 636 + 6275 6279 6280 3 636 + 6276 493 6277 3 636 + 6277 493 6281 3 636 + 6277 6281 6278 3 636 + 6278 6281 6282 3 636 + 6278 6282 6279 3 636 + 6279 6282 6283 3 636 + 6279 6283 6280 3 636 + 6280 6283 495 3 636 + 814 816 6284 3 638 + 6284 816 6289 3 638 + 6284 6289 6285 3 638 + 6285 6289 6290 3 638 + 6285 6290 6286 3 638 + 6286 6290 6291 3 638 + 6286 6291 6287 3 638 + 6287 6291 6292 3 638 + 6287 6292 6288 3 638 + 6288 6292 6293 3 638 + 6288 6293 812 3 638 + 812 6293 815 3 638 + 816 819 6294 3 640 + 6294 819 6297 3 640 + 6294 6297 6295 3 640 + 6295 6297 6298 3 640 + 6295 6298 6296 3 640 + 6296 6298 6299 3 640 + 6296 6299 817 3 640 + 817 6299 818 3 640 + 819 822 6300 3 642 + 6300 822 6302 3 642 + 6300 6302 6301 3 642 + 6301 6302 6303 3 642 + 6301 6303 820 3 642 + 820 6303 821 3 642 + 822 6306 6304 3 644 + 6304 6306 6307 3 644 + 6304 6307 6305 3 644 + 6305 6307 6308 3 644 + 6305 6308 823 3 644 + 823 6308 6309 3 644 + 6306 6310 6307 3 644 + 6307 6310 6311 3 644 + 6307 6311 6308 3 644 + 6308 6311 6312 3 644 + 6308 6312 6309 3 644 + 6309 6312 6313 3 644 + 6310 6314 6311 3 644 + 6311 6314 6315 3 644 + 6311 6315 6312 3 644 + 6312 6315 6316 3 644 + 6312 6316 6313 3 644 + 6313 6316 6317 3 644 + 6314 825 6315 3 644 + 6315 825 6318 3 644 + 6315 6318 6316 3 644 + 6316 6318 6319 3 644 + 6316 6319 6317 3 644 + 6317 6319 824 3 644 + 825 496 826 3 645 + 826 496 498 3 645 + 826 828 6320 3 647 + 6320 828 6321 3 647 + 6320 6321 824 3 647 + 824 6321 827 3 647 + 828 831 6322 3 649 + 6322 831 6328 3 649 + 6322 6328 6323 3 649 + 6323 6328 6329 3 649 + 6323 6329 6324 3 649 + 6324 6329 6330 3 649 + 6324 6330 6325 3 649 + 6325 6330 6331 3 649 + 6325 6331 6326 3 649 + 6326 6331 6332 3 649 + 6326 6332 6327 3 649 + 6327 6332 6333 3 649 + 6327 6333 829 3 649 + 829 6333 830 3 649 + 831 834 6334 3 651 + 6334 834 6339 3 651 + 6334 6339 6335 3 651 + 6335 6339 6340 3 651 + 6335 6340 6336 3 651 + 6336 6340 6341 3 651 + 6336 6341 6337 3 651 + 6337 6341 6342 3 651 + 6337 6342 6338 3 651 + 6338 6342 6343 3 651 + 6338 6343 832 3 651 + 832 6343 833 3 651 + 834 837 6344 3 653 + 6344 837 6350 3 653 + 6344 6350 6345 3 653 + 6345 6350 6351 3 653 + 6345 6351 6346 3 653 + 6346 6351 6352 3 653 + 6346 6352 6347 3 653 + 6347 6352 6353 3 653 + 6347 6353 6348 3 653 + 6348 6353 6354 3 653 + 6348 6354 6349 3 653 + 6349 6354 6355 3 653 + 6349 6355 835 3 653 + 835 6355 836 3 653 + 837 499 6356 3 654 + 6356 499 6357 3 654 + 6356 6357 838 3 654 + 838 6357 501 3 654 + 838 505 6358 3 655 + 6358 505 6362 3 655 + 6358 6362 6359 3 655 + 6359 6362 6363 3 655 + 6359 6363 6360 3 655 + 6360 6363 6364 3 655 + 6360 6364 6361 3 655 + 6361 6364 6365 3 655 + 6361 6365 836 3 655 + 836 6365 507 3 655 + 835 840 6366 3 657 + 6366 840 6369 3 657 + 6366 6369 6367 3 657 + 6367 6369 6370 3 657 + 6367 6370 6368 3 657 + 6368 6370 6371 3 657 + 6368 6371 833 3 657 + 833 6371 839 3 657 + 840 843 6372 3 659 + 6372 843 6375 3 659 + 6372 6375 6373 3 659 + 6373 6375 6376 3 659 + 6373 6376 6374 3 659 + 6374 6376 6377 3 659 + 6374 6377 841 3 659 + 841 6377 842 3 659 + 843 508 6378 3 660 + 6378 508 6379 3 660 + 6378 6379 844 3 660 + 844 6379 510 3 660 + 844 514 6380 3 661 + 6380 514 6384 3 661 + 6380 6384 6381 3 661 + 6381 6384 6385 3 661 + 6381 6385 6382 3 661 + 6382 6385 6386 3 661 + 6382 6386 6383 3 661 + 6383 6386 6387 3 661 + 6383 6387 842 3 661 + 842 6387 516 3 661 + 841 830 839 3 662 + 839 830 832 3 662 + 829 6392 6388 3 664 + 6388 6392 6393 3 664 + 6388 6393 6389 3 664 + 6389 6393 6394 3 664 + 6389 6394 6390 3 664 + 6390 6394 6395 3 664 + 6390 6395 6391 3 664 + 6391 6395 6396 3 664 + 6391 6396 827 3 664 + 827 6396 6397 3 664 + 6392 6398 6393 3 664 + 6393 6398 6399 3 664 + 6393 6399 6394 3 664 + 6394 6399 6400 3 664 + 6394 6400 6395 3 664 + 6395 6400 6401 3 664 + 6395 6401 6396 3 664 + 6396 6401 6402 3 664 + 6396 6402 6397 3 664 + 6397 6402 6403 3 664 + 6398 6404 6399 3 664 + 6399 6404 6405 3 664 + 6399 6405 6400 3 664 + 6400 6405 6406 3 664 + 6400 6406 6401 3 664 + 6401 6406 6407 3 664 + 6401 6407 6402 3 664 + 6402 6407 6408 3 664 + 6402 6408 6403 3 664 + 6403 6408 6409 3 664 + 6404 846 6405 3 664 + 6405 846 6410 3 664 + 6405 6410 6406 3 664 + 6406 6410 6411 3 664 + 6406 6411 6407 3 664 + 6407 6411 6412 3 664 + 6407 6412 6408 3 664 + 6408 6412 6413 3 664 + 6408 6413 6409 3 664 + 6409 6413 845 3 664 + 846 6418 6414 3 666 + 6414 6418 6419 3 666 + 6414 6419 6415 3 666 + 6415 6419 6420 3 666 + 6415 6420 6416 3 666 + 6416 6420 6421 3 666 + 6416 6421 6417 3 666 + 6417 6421 6422 3 666 + 6417 6422 847 3 666 + 847 6422 6423 3 666 + 6418 6424 6419 3 666 + 6419 6424 6425 3 666 + 6419 6425 6420 3 666 + 6420 6425 6426 3 666 + 6420 6426 6421 3 666 + 6421 6426 6427 3 666 + 6421 6427 6422 3 666 + 6422 6427 6428 3 666 + 6422 6428 6423 3 666 + 6423 6428 6429 3 666 + 6424 6430 6425 3 666 + 6425 6430 6431 3 666 + 6425 6431 6426 3 666 + 6426 6431 6432 3 666 + 6426 6432 6427 3 666 + 6427 6432 6433 3 666 + 6427 6433 6428 3 666 + 6428 6433 6434 3 666 + 6428 6434 6429 3 666 + 6429 6434 6435 3 666 + 6430 849 6431 3 666 + 6431 849 6436 3 666 + 6431 6436 6432 3 666 + 6432 6436 6437 3 666 + 6432 6437 6433 3 666 + 6433 6437 6438 3 666 + 6433 6438 6434 3 666 + 6434 6438 6439 3 666 + 6434 6439 6435 3 666 + 6435 6439 848 3 666 + 849 852 850 3 668 + 850 852 851 3 668 + 852 855 6440 3 670 + 6440 855 6441 3 670 + 6440 6441 853 3 670 + 853 6441 854 3 670 + 855 6442 856 3 671 + 856 6442 6443 3 671 + 6442 6444 6443 3 671 + 6443 6444 6445 3 671 + 6444 6446 6445 3 671 + 6445 6446 6447 3 671 + 6446 6448 6447 3 671 + 6447 6448 6449 3 671 + 6448 6450 6449 3 671 + 6449 6450 6451 3 671 + 6450 517 6451 3 671 + 6451 517 519 3 671 + 856 6452 854 3 673 + 854 6452 6453 3 673 + 6452 6454 6453 3 673 + 6453 6454 6455 3 673 + 6454 6456 6455 3 673 + 6455 6456 6457 3 673 + 6456 6458 6457 3 673 + 6457 6458 6459 3 673 + 6458 6460 6459 3 673 + 6459 6460 6461 3 673 + 6460 6462 6461 3 673 + 6461 6462 6463 3 673 + 6462 858 6463 3 673 + 6463 858 857 3 673 + 858 861 6464 3 675 + 6464 861 6468 3 675 + 6464 6468 6465 3 675 + 6465 6468 6469 3 675 + 6465 6469 6466 3 675 + 6466 6469 6470 3 675 + 6466 6470 6467 3 675 + 6467 6470 6471 3 675 + 6467 6471 859 3 675 + 859 6471 860 3 675 + 861 520 6472 3 676 + 6472 520 6477 3 676 + 6472 6477 6473 3 676 + 6473 6477 6478 3 676 + 6473 6478 6474 3 676 + 6474 6478 6479 3 676 + 6474 6479 6475 3 676 + 6475 6479 6480 3 676 + 6475 6480 6476 3 676 + 6476 6480 6481 3 676 + 6476 6481 862 3 676 + 862 6481 522 3 676 + 862 864 6482 3 678 + 6482 864 6484 3 678 + 6482 6484 6483 3 678 + 6483 6484 6485 3 678 + 6483 6485 860 3 678 + 860 6485 863 3 678 + 864 6487 6486 3 679 + 6486 6487 6488 3 679 + 6486 6488 865 3 679 + 865 6488 6489 3 679 + 6487 6490 6488 3 679 + 6488 6490 6491 3 679 + 6488 6491 6489 3 679 + 6489 6491 6492 3 679 + 6490 529 6491 3 679 + 6491 529 6493 3 679 + 6491 6493 6492 3 679 + 6492 6493 531 3 679 + 865 867 863 3 681 + 863 867 866 3 681 + 867 870 6494 3 683 + 6494 870 6495 3 683 + 6494 6495 868 3 683 + 868 6495 869 3 683 + 870 6498 6496 3 684 + 6496 6498 6499 3 684 + 6496 6499 6497 3 684 + 6497 6499 6500 3 684 + 6497 6500 871 3 684 + 871 6500 6501 3 684 + 6498 6502 6499 3 684 + 6499 6502 6503 3 684 + 6499 6503 6500 3 684 + 6500 6503 6504 3 684 + 6500 6504 6501 3 684 + 6501 6504 6505 3 684 + 6502 6506 6503 3 684 + 6503 6506 6507 3 684 + 6503 6507 6504 3 684 + 6504 6507 6508 3 684 + 6504 6508 6505 3 684 + 6505 6508 6509 3 684 + 6506 538 6507 3 684 + 6507 538 6510 3 684 + 6507 6510 6508 3 684 + 6508 6510 6511 3 684 + 6508 6511 6509 3 684 + 6509 6511 540 3 684 + 871 6515 6512 3 686 + 6512 6515 6516 3 686 + 6512 6516 6513 3 686 + 6513 6516 6517 3 686 + 6513 6517 6514 3 686 + 6514 6517 6518 3 686 + 6514 6518 869 3 686 + 869 6518 6519 3 686 + 6515 6520 6516 3 686 + 6516 6520 6521 3 686 + 6516 6521 6517 3 686 + 6517 6521 6522 3 686 + 6517 6522 6518 3 686 + 6518 6522 6523 3 686 + 6518 6523 6519 3 686 + 6519 6523 6524 3 686 + 6520 6525 6521 3 686 + 6521 6525 6526 3 686 + 6521 6526 6522 3 686 + 6522 6526 6527 3 686 + 6522 6527 6523 3 686 + 6523 6527 6528 3 686 + 6523 6528 6524 3 686 + 6524 6528 6529 3 686 + 6525 873 6526 3 686 + 6526 873 6530 3 686 + 6526 6530 6527 3 686 + 6527 6530 6531 3 686 + 6527 6531 6528 3 686 + 6528 6531 6532 3 686 + 6528 6532 6529 3 686 + 6529 6532 872 3 686 + 873 6535 6533 3 688 + 6533 6535 6536 3 688 + 6533 6536 6534 3 688 + 6534 6536 6537 3 688 + 6534 6537 874 3 688 + 874 6537 6538 3 688 + 6535 6539 6536 3 688 + 6536 6539 6540 3 688 + 6536 6540 6537 3 688 + 6537 6540 6541 3 688 + 6537 6541 6538 3 688 + 6538 6541 6542 3 688 + 6539 6543 6540 3 688 + 6540 6543 6544 3 688 + 6540 6544 6541 3 688 + 6541 6544 6545 3 688 + 6541 6545 6542 3 688 + 6542 6545 6546 3 688 + 6543 876 6544 3 688 + 6544 876 6547 3 688 + 6544 6547 6545 3 688 + 6545 6547 6548 3 688 + 6545 6548 6546 3 688 + 6546 6548 875 3 688 + 876 6550 6549 3 690 + 6549 6550 6551 3 690 + 6549 6551 877 3 690 + 877 6551 6552 3 690 + 6550 6553 6551 3 690 + 6551 6553 6554 3 690 + 6551 6554 6552 3 690 + 6552 6554 6555 3 690 + 6553 879 6554 3 690 + 6554 879 6556 3 690 + 6554 6556 6555 3 690 + 6555 6556 878 3 690 + 879 6561 6557 3 692 + 6557 6561 6562 3 692 + 6557 6562 6558 3 692 + 6558 6562 6563 3 692 + 6558 6563 6559 3 692 + 6559 6563 6564 3 692 + 6559 6564 6560 3 692 + 6560 6564 6565 3 692 + 6560 6565 880 3 692 + 880 6565 6566 3 692 + 6561 882 6562 3 692 + 6562 882 6567 3 692 + 6562 6567 6563 3 692 + 6563 6567 6568 3 692 + 6563 6568 6564 3 692 + 6564 6568 6569 3 692 + 6564 6569 6565 3 692 + 6565 6569 6570 3 692 + 6565 6570 6566 3 692 + 6566 6570 881 3 692 + 882 543 883 3 693 + 883 543 545 3 693 + 883 546 6571 3 694 + 6571 546 6573 3 694 + 6571 6573 6572 3 694 + 6572 6573 6574 3 694 + 6572 6574 881 3 694 + 881 6574 548 3 694 + 880 6577 6575 3 696 + 6575 6577 6578 3 696 + 6575 6578 6576 3 696 + 6576 6578 6579 3 696 + 6576 6579 878 3 696 + 878 6579 6580 3 696 + 6577 885 6578 3 696 + 6578 885 6581 3 696 + 6578 6581 6579 3 696 + 6579 6581 6582 3 696 + 6579 6582 6580 3 696 + 6580 6582 884 3 696 + 885 888 6583 3 698 + 6583 888 6588 3 698 + 6583 6588 6584 3 698 + 6584 6588 6589 3 698 + 6584 6589 6585 3 698 + 6585 6589 6590 3 698 + 6585 6590 6586 3 698 + 6586 6590 6591 3 698 + 6586 6591 6587 3 698 + 6587 6591 6592 3 698 + 6587 6592 886 3 698 + 886 6592 887 3 698 + 888 891 889 3 700 + 889 891 890 3 700 + 891 6595 6593 3 702 + 6593 6595 6596 3 702 + 6593 6596 6594 3 702 + 6594 6596 6597 3 702 + 6594 6597 892 3 702 + 892 6597 6598 3 702 + 6595 6599 6596 3 702 + 6596 6599 6600 3 702 + 6596 6600 6597 3 702 + 6597 6600 6601 3 702 + 6597 6601 6598 3 702 + 6598 6601 6602 3 702 + 6599 6603 6600 3 702 + 6600 6603 6604 3 702 + 6600 6604 6601 3 702 + 6601 6604 6605 3 702 + 6601 6605 6602 3 702 + 6602 6605 6606 3 702 + 6603 894 6604 3 702 + 6604 894 6607 3 702 + 6604 6607 6605 3 702 + 6605 6607 6608 3 702 + 6605 6608 6606 3 702 + 6606 6608 893 3 702 + 894 6610 6609 3 703 + 6609 6610 6611 3 703 + 6609 6611 895 3 703 + 895 6611 6612 3 703 + 6610 6613 6611 3 703 + 6611 6613 6614 3 703 + 6611 6614 6612 3 703 + 6612 6614 6615 3 703 + 6613 552 6614 3 703 + 6614 552 6616 3 703 + 6614 6616 6615 3 703 + 6615 6616 554 3 703 + 895 897 893 3 705 + 893 897 896 3 705 + 897 6618 6617 3 706 + 6617 6618 6619 3 706 + 6617 6619 898 3 706 + 898 6619 6620 3 706 + 6618 6621 6619 3 706 + 6619 6621 6622 3 706 + 6619 6622 6620 3 706 + 6620 6622 6623 3 706 + 6621 555 6622 3 706 + 6622 555 6624 3 706 + 6622 6624 6623 3 706 + 6623 6624 557 3 706 + 898 6625 896 3 708 + 896 6625 6626 3 708 + 6625 900 6626 3 708 + 6626 900 899 3 708 + 900 6627 901 3 710 + 901 6627 6628 3 710 + 6627 6629 6628 3 710 + 6628 6629 6630 3 710 + 6629 6631 6630 3 710 + 6630 6631 6632 3 710 + 6631 6633 6632 3 710 + 6632 6633 6634 3 710 + 6633 903 6634 3 710 + 6634 903 902 3 710 + 903 906 6635 3 712 + 6635 906 6640 3 712 + 6635 6640 6636 3 712 + 6636 6640 6641 3 712 + 6636 6641 6637 3 712 + 6637 6641 6642 3 712 + 6637 6642 6638 3 712 + 6638 6642 6643 3 712 + 6638 6643 6639 3 712 + 6639 6643 6644 3 712 + 6639 6644 904 3 712 + 904 6644 905 3 712 + 906 567 6645 3 713 + 6645 567 6649 3 713 + 6645 6649 6646 3 713 + 6646 6649 6650 3 713 + 6646 6650 6647 3 713 + 6647 6650 6651 3 713 + 6647 6651 6648 3 713 + 6648 6651 6652 3 713 + 6648 6652 907 3 713 + 907 6652 569 3 713 + 907 6653 905 3 714 + 905 6653 6654 3 714 + 6653 570 6654 3 714 + 6654 570 572 3 714 + 904 6660 6655 3 716 + 6655 6660 6661 3 716 + 6655 6661 6656 3 716 + 6656 6661 6662 3 716 + 6656 6662 6657 3 716 + 6657 6662 6663 3 716 + 6657 6663 6658 3 716 + 6658 6663 6664 3 716 + 6658 6664 6659 3 716 + 6659 6664 6665 3 716 + 6659 6665 902 3 716 + 902 6665 6666 3 716 + 6660 909 6661 3 716 + 6661 909 6667 3 716 + 6661 6667 6662 3 716 + 6662 6667 6668 3 716 + 6662 6668 6663 3 716 + 6663 6668 6669 3 716 + 6663 6669 6664 3 716 + 6664 6669 6670 3 716 + 6664 6670 6665 3 716 + 6665 6670 6671 3 716 + 6665 6671 6666 3 716 + 6666 6671 908 3 716 + 909 6674 6672 3 718 + 6672 6674 6675 3 718 + 6672 6675 6673 3 718 + 6673 6675 6676 3 718 + 6673 6676 910 3 718 + 910 6676 6677 3 718 + 6674 912 6675 3 718 + 6675 912 6678 3 718 + 6675 6678 6676 3 718 + 6676 6678 6679 3 718 + 6676 6679 6677 3 718 + 6677 6679 911 3 718 + 912 915 913 3 720 + 913 915 914 3 720 + 915 918 6680 3 722 + 6680 918 6681 3 722 + 6680 6681 916 3 722 + 916 6681 917 3 722 + 918 6686 6682 3 723 + 6682 6686 6687 3 723 + 6682 6687 6683 3 723 + 6683 6687 6688 3 723 + 6683 6688 6684 3 723 + 6684 6688 6689 3 723 + 6684 6689 6685 3 723 + 6685 6689 6690 3 723 + 6685 6690 919 3 723 + 919 6690 6691 3 723 + 6686 6692 6687 3 723 + 6687 6692 6693 3 723 + 6687 6693 6688 3 723 + 6688 6693 6694 3 723 + 6688 6694 6689 3 723 + 6689 6694 6695 3 723 + 6689 6695 6690 3 723 + 6690 6695 6696 3 723 + 6690 6696 6691 3 723 + 6691 6696 6697 3 723 + 6692 614 6693 3 723 + 6693 614 6698 3 723 + 6693 6698 6694 3 723 + 6694 6698 6699 3 723 + 6694 6699 6695 3 723 + 6695 6699 6700 3 723 + 6695 6700 6696 3 723 + 6696 6700 6701 3 723 + 6696 6701 6697 3 723 + 6697 6701 616 3 723 + 919 921 6702 3 725 + 6702 921 6705 3 725 + 6702 6705 6703 3 725 + 6703 6705 6706 3 725 + 6703 6706 6704 3 725 + 6704 6706 6707 3 725 + 6704 6707 917 3 725 + 917 6707 920 3 725 + 921 6711 6708 3 727 + 6708 6711 6712 3 727 + 6708 6712 6709 3 727 + 6709 6712 6713 3 727 + 6709 6713 6710 3 727 + 6710 6713 6714 3 727 + 6710 6714 922 3 727 + 922 6714 6715 3 727 + 6711 6716 6712 3 727 + 6712 6716 6717 3 727 + 6712 6717 6713 3 727 + 6713 6717 6718 3 727 + 6713 6718 6714 3 727 + 6714 6718 6719 3 727 + 6714 6719 6715 3 727 + 6715 6719 6720 3 727 + 6716 6721 6717 3 727 + 6717 6721 6722 3 727 + 6717 6722 6718 3 727 + 6718 6722 6723 3 727 + 6718 6723 6719 3 727 + 6719 6723 6724 3 727 + 6719 6724 6720 3 727 + 6720 6724 6725 3 727 + 6721 924 6722 3 727 + 6722 924 6726 3 727 + 6722 6726 6723 3 727 + 6723 6726 6727 3 727 + 6723 6727 6724 3 727 + 6724 6727 6728 3 727 + 6724 6728 6725 3 727 + 6725 6728 923 3 727 + 924 927 6729 3 729 + 6729 927 6730 3 729 + 6729 6730 925 3 729 + 925 6730 926 3 729 + 927 6731 928 3 730 + 928 6731 6732 3 730 + 6731 6733 6732 3 730 + 6732 6733 6734 3 730 + 6733 6735 6734 3 730 + 6734 6735 6736 3 730 + 6735 6737 6736 3 730 + 6736 6737 6738 3 730 + 6737 6739 6738 3 730 + 6738 6739 6740 3 730 + 6739 617 6740 3 730 + 6740 617 619 3 730 + 928 930 926 3 732 + 926 930 929 3 732 + 930 6743 6741 3 734 + 6741 6743 6744 3 734 + 6741 6744 6742 3 734 + 6742 6744 6745 3 734 + 6742 6745 931 3 734 + 931 6745 6746 3 734 + 6743 6747 6744 3 734 + 6744 6747 6748 3 734 + 6744 6748 6745 3 734 + 6745 6748 6749 3 734 + 6745 6749 6746 3 734 + 6746 6749 6750 3 734 + 6747 6751 6748 3 734 + 6748 6751 6752 3 734 + 6748 6752 6749 3 734 + 6749 6752 6753 3 734 + 6749 6753 6750 3 734 + 6750 6753 6754 3 734 + 6751 933 6752 3 734 + 6752 933 6755 3 734 + 6752 6755 6753 3 734 + 6753 6755 6756 3 734 + 6753 6756 6754 3 734 + 6754 6756 932 3 734 + 933 620 6757 3 735 + 6757 620 6758 3 735 + 6757 6758 934 3 735 + 934 6758 622 3 735 + 934 626 932 3 736 + 932 626 628 3 736 + 931 6760 6759 3 738 + 6759 6760 6761 3 738 + 6759 6761 929 3 738 + 929 6761 6762 3 738 + 6760 936 6761 3 738 + 6761 936 6763 3 738 + 6761 6763 6762 3 738 + 6762 6763 935 3 738 + 936 6767 6764 3 740 + 6764 6767 6768 3 740 + 6764 6768 6765 3 740 + 6765 6768 6769 3 740 + 6765 6769 6766 3 740 + 6766 6769 6770 3 740 + 6766 6770 937 3 740 + 937 6770 6771 3 740 + 6767 6772 6768 3 740 + 6768 6772 6773 3 740 + 6768 6773 6769 3 740 + 6769 6773 6774 3 740 + 6769 6774 6770 3 740 + 6770 6774 6775 3 740 + 6770 6775 6771 3 740 + 6771 6775 6776 3 740 + 6772 6777 6773 3 740 + 6773 6777 6778 3 740 + 6773 6778 6774 3 740 + 6774 6778 6779 3 740 + 6774 6779 6775 3 740 + 6775 6779 6780 3 740 + 6775 6780 6776 3 740 + 6776 6780 6781 3 740 + 6777 939 6778 3 740 + 6778 939 6782 3 740 + 6778 6782 6779 3 740 + 6779 6782 6783 3 740 + 6779 6783 6780 3 740 + 6780 6783 6784 3 740 + 6780 6784 6781 3 740 + 6781 6784 938 3 740 + 939 6788 6785 3 741 + 6785 6788 6789 3 741 + 6785 6789 6786 3 741 + 6786 6789 6790 3 741 + 6786 6790 6787 3 741 + 6787 6790 6791 3 741 + 6787 6791 940 3 741 + 940 6791 6792 3 741 + 6788 632 6789 3 741 + 6789 632 6793 3 741 + 6789 6793 6790 3 741 + 6790 6793 6794 3 741 + 6790 6794 6791 3 741 + 6791 6794 6795 3 741 + 6791 6795 6792 3 741 + 6792 6795 634 3 741 + 940 6797 6796 3 743 + 6796 6797 6798 3 743 + 6796 6798 938 3 743 + 938 6798 6799 3 743 + 6797 942 6798 3 743 + 6798 942 6800 3 743 + 6798 6800 6799 3 743 + 6799 6800 941 3 743 + 942 6803 6801 3 745 + 6801 6803 6804 3 745 + 6801 6804 6802 3 745 + 6802 6804 6805 3 745 + 6802 6805 943 3 745 + 943 6805 6806 3 745 + 6803 6807 6804 3 745 + 6804 6807 6808 3 745 + 6804 6808 6805 3 745 + 6805 6808 6809 3 745 + 6805 6809 6806 3 745 + 6806 6809 6810 3 745 + 6807 945 6808 3 745 + 6808 945 6811 3 745 + 6808 6811 6809 3 745 + 6809 6811 6812 3 745 + 6809 6812 6810 3 745 + 6810 6812 944 3 745 + 945 948 6813 3 747 + 6813 948 6816 3 747 + 6813 6816 6814 3 747 + 6814 6816 6817 3 747 + 6814 6817 6815 3 747 + 6815 6817 6818 3 747 + 6815 6818 946 3 747 + 946 6818 947 3 747 + 948 6823 6819 3 749 + 6819 6823 6824 3 749 + 6819 6824 6820 3 749 + 6820 6824 6825 3 749 + 6820 6825 6821 3 749 + 6821 6825 6826 3 749 + 6821 6826 6822 3 749 + 6822 6826 6827 3 749 + 6822 6827 949 3 749 + 949 6827 6828 3 749 + 6823 951 6824 3 749 + 6824 951 6829 3 749 + 6824 6829 6825 3 749 + 6825 6829 6830 3 749 + 6825 6830 6826 3 749 + 6826 6830 6831 3 749 + 6826 6831 6827 3 749 + 6827 6831 6832 3 749 + 6827 6832 6828 3 749 + 6828 6832 950 3 749 + 951 6833 952 3 750 + 952 6833 6834 3 750 + 6833 6835 6834 3 750 + 6834 6835 6836 3 750 + 6835 6837 6836 3 750 + 6836 6837 6838 3 750 + 6837 635 6838 3 750 + 6838 635 637 3 750 + 952 6842 6839 3 751 + 6839 6842 6843 3 751 + 6839 6843 6840 3 751 + 6840 6843 6844 3 751 + 6840 6844 6841 3 751 + 6841 6844 6845 3 751 + 6841 6845 950 3 751 + 950 6845 6846 3 751 + 6842 6847 6843 3 751 + 6843 6847 6848 3 751 + 6843 6848 6844 3 751 + 6844 6848 6849 3 751 + 6844 6849 6845 3 751 + 6845 6849 6850 3 751 + 6845 6850 6846 3 751 + 6846 6850 6851 3 751 + 6847 641 6848 3 751 + 6848 641 6852 3 751 + 6848 6852 6849 3 751 + 6849 6852 6853 3 751 + 6849 6853 6850 3 751 + 6850 6853 6854 3 751 + 6850 6854 6851 3 751 + 6851 6854 643 3 751 + 949 954 6855 3 753 + 6855 954 6859 3 753 + 6855 6859 6856 3 753 + 6856 6859 6860 3 753 + 6856 6860 6857 3 753 + 6857 6860 6861 3 753 + 6857 6861 6858 3 753 + 6858 6861 6862 3 753 + 6858 6862 947 3 753 + 947 6862 953 3 753 + 954 6863 955 3 755 + 955 6863 6864 3 755 + 6863 6865 6864 3 755 + 6864 6865 6866 3 755 + 6865 6867 6866 3 755 + 6866 6867 6868 3 755 + 6867 6869 6868 3 755 + 6868 6869 6870 3 755 + 6869 6871 6870 3 755 + 6870 6871 6872 3 755 + 6871 6873 6872 3 755 + 6872 6873 6874 3 755 + 6873 6875 6874 3 755 + 6874 6875 6876 3 755 + 6875 957 6876 3 755 + 6876 957 956 3 755 + 957 960 6877 3 757 + 6877 960 6880 3 757 + 6877 6880 6878 3 757 + 6878 6880 6881 3 757 + 6878 6881 6879 3 757 + 6879 6881 6882 3 757 + 6879 6882 958 3 757 + 958 6882 959 3 757 + 960 963 6883 3 759 + 6883 963 6887 3 759 + 6883 6887 6884 3 759 + 6884 6887 6888 3 759 + 6884 6888 6885 3 759 + 6885 6888 6889 3 759 + 6885 6889 6886 3 759 + 6886 6889 6890 3 759 + 6886 6890 961 3 759 + 961 6890 962 3 759 + 963 653 6891 3 760 + 6891 653 6895 3 760 + 6891 6895 6892 3 760 + 6892 6895 6896 3 760 + 6892 6896 6893 3 760 + 6893 6896 6897 3 760 + 6893 6897 6894 3 760 + 6894 6897 6898 3 760 + 6894 6898 964 3 760 + 964 6898 655 3 760 + 964 966 6899 3 762 + 6899 966 6902 3 762 + 6899 6902 6900 3 762 + 6900 6902 6903 3 762 + 6900 6903 6901 3 762 + 6901 6903 6904 3 762 + 6901 6904 962 3 762 + 962 6904 965 3 762 + 966 656 967 3 763 + 967 656 658 3 763 + 967 969 6905 3 765 + 6905 969 6907 3 765 + 6905 6907 6906 3 765 + 6906 6907 6908 3 765 + 6906 6908 965 3 765 + 965 6908 968 3 765 + 969 6912 6909 3 766 + 6909 6912 6913 3 766 + 6909 6913 6910 3 766 + 6910 6913 6914 3 766 + 6910 6914 6911 3 766 + 6911 6914 6915 3 766 + 6911 6915 970 3 766 + 970 6915 6916 3 766 + 6912 664 6913 3 766 + 6913 664 6917 3 766 + 6913 6917 6914 3 766 + 6914 6917 6918 3 766 + 6914 6918 6915 3 766 + 6915 6918 6919 3 766 + 6915 6919 6916 3 766 + 6916 6919 666 3 766 + 970 6920 968 3 768 + 968 6920 6921 3 768 + 6920 972 6921 3 768 + 6921 972 971 3 768 + 972 6923 6922 3 770 + 6922 6923 6924 3 770 + 6922 6924 973 3 770 + 973 6924 6925 3 770 + 6923 6926 6924 3 770 + 6924 6926 6927 3 770 + 6924 6927 6925 3 770 + 6925 6927 6928 3 770 + 6926 6929 6927 3 770 + 6927 6929 6930 3 770 + 6927 6930 6928 3 770 + 6928 6930 6931 3 770 + 6929 6932 6930 3 770 + 6930 6932 6933 3 770 + 6930 6933 6931 3 770 + 6931 6933 6934 3 770 + 6932 975 6933 3 770 + 6933 975 6935 3 770 + 6933 6935 6934 3 770 + 6934 6935 974 3 770 + 975 6936 976 3 772 + 976 6936 6937 3 772 + 6936 6938 6937 3 772 + 6937 6938 6939 3 772 + 6938 6940 6939 3 772 + 6939 6940 6941 3 772 + 6940 978 6941 3 772 + 6941 978 977 3 772 + 978 6943 6942 3 773 + 6942 6943 6944 3 773 + 6942 6944 979 3 773 + 979 6944 6945 3 773 + 6943 667 6944 3 773 + 6944 667 6946 3 773 + 6944 6946 6945 3 773 + 6945 6946 669 3 773 + 979 6947 977 3 775 + 977 6947 6948 3 775 + 6947 6949 6948 3 775 + 6948 6949 6950 3 775 + 6949 6951 6950 3 775 + 6950 6951 6952 3 775 + 6951 981 6952 3 775 + 6952 981 980 3 775 + 981 6954 6953 3 777 + 6953 6954 6955 3 777 + 6953 6955 982 3 777 + 982 6955 6956 3 777 + 6954 984 6955 3 777 + 6955 984 6957 3 777 + 6955 6957 6956 3 777 + 6956 6957 983 3 777 + 984 987 985 3 779 + 985 987 986 3 779 + 987 6960 6958 3 781 + 6958 6960 6961 3 781 + 6958 6961 6959 3 781 + 6959 6961 6962 3 781 + 6959 6962 988 3 781 + 988 6962 6963 3 781 + 6960 6964 6961 3 781 + 6961 6964 6965 3 781 + 6961 6965 6962 3 781 + 6962 6965 6966 3 781 + 6962 6966 6963 3 781 + 6963 6966 6967 3 781 + 6964 6968 6965 3 781 + 6965 6968 6969 3 781 + 6965 6969 6966 3 781 + 6966 6969 6970 3 781 + 6966 6970 6967 3 781 + 6967 6970 6971 3 781 + 6968 6972 6969 3 781 + 6969 6972 6973 3 781 + 6969 6973 6970 3 781 + 6970 6973 6974 3 781 + 6970 6974 6971 3 781 + 6971 6974 6975 3 781 + 6972 990 6973 3 781 + 6973 990 6976 3 781 + 6973 6976 6974 3 781 + 6974 6976 6977 3 781 + 6974 6977 6975 3 781 + 6975 6977 989 3 781 + 990 676 6978 3 782 + 6978 676 6979 3 782 + 6978 6979 991 3 782 + 991 6979 678 3 782 + 991 993 989 3 784 + 989 993 992 3 784 + 993 679 6980 3 785 + 6980 679 6982 3 785 + 6980 6982 6981 3 785 + 6981 6982 6983 3 785 + 6981 6983 994 3 785 + 994 6983 681 3 785 + 994 6986 6984 3 787 + 6984 6986 6987 3 787 + 6984 6987 6985 3 787 + 6985 6987 6988 3 787 + 6985 6988 992 3 787 + 992 6988 6989 3 787 + 6986 6990 6987 3 787 + 6987 6990 6991 3 787 + 6987 6991 6988 3 787 + 6988 6991 6992 3 787 + 6988 6992 6989 3 787 + 6989 6992 6993 3 787 + 6990 6994 6991 3 787 + 6991 6994 6995 3 787 + 6991 6995 6992 3 787 + 6992 6995 6996 3 787 + 6992 6996 6993 3 787 + 6993 6996 6997 3 787 + 6994 6998 6995 3 787 + 6995 6998 6999 3 787 + 6995 6999 6996 3 787 + 6996 6999 7000 3 787 + 6996 7000 6997 3 787 + 6997 7000 7001 3 787 + 6998 996 6999 3 787 + 6999 996 7002 3 787 + 6999 7002 7000 3 787 + 7000 7002 7003 3 787 + 7000 7003 7001 3 787 + 7001 7003 995 3 787 + 996 7004 997 3 789 + 997 7004 7005 3 789 + 7004 999 7005 3 789 + 7005 999 998 3 789 + 999 7008 7006 3 791 + 7006 7008 7009 3 791 + 7006 7009 7007 3 791 + 7007 7009 7010 3 791 + 7007 7010 1000 3 791 + 1000 7010 7011 3 791 + 7008 1002 7009 3 791 + 7009 1002 7012 3 791 + 7009 7012 7010 3 791 + 7010 7012 7013 3 791 + 7010 7013 7011 3 791 + 7011 7013 1001 3 791 + 1002 688 7014 3 792 + 7014 688 7017 3 792 + 7014 7017 7015 3 792 + 7015 7017 7018 3 792 + 7015 7018 7016 3 792 + 7016 7018 7019 3 792 + 7016 7019 1003 3 792 + 1003 7019 690 3 792 + 1003 1005 7020 3 794 + 7020 1005 7022 3 794 + 7020 7022 7021 3 794 + 7021 7022 7023 3 794 + 7021 7023 1001 3 794 + 1001 7023 1004 3 794 + 1005 7026 7024 3 796 + 7024 7026 7027 3 796 + 7024 7027 7025 3 796 + 7025 7027 7028 3 796 + 7025 7028 1006 3 796 + 1006 7028 7029 3 796 + 7026 1008 7027 3 796 + 7027 1008 7030 3 796 + 7027 7030 7028 3 796 + 7028 7030 7031 3 796 + 7028 7031 7029 3 796 + 7029 7031 1007 3 796 + 1008 691 7032 3 797 + 7032 691 7035 3 797 + 7032 7035 7033 3 797 + 7033 7035 7036 3 797 + 7033 7036 7034 3 797 + 7034 7036 7037 3 797 + 7034 7037 1009 3 797 + 1009 7037 693 3 797 + 1009 1011 7038 3 799 + 7038 1011 7042 3 799 + 7038 7042 7039 3 799 + 7039 7042 7043 3 799 + 7039 7043 7040 3 799 + 7040 7043 7044 3 799 + 7040 7044 7041 3 799 + 7041 7044 7045 3 799 + 7041 7045 1007 3 799 + 1007 7045 1010 3 799 + 1011 1014 7046 3 801 + 7046 1014 7051 3 801 + 7046 7051 7047 3 801 + 7047 7051 7052 3 801 + 7047 7052 7048 3 801 + 7048 7052 7053 3 801 + 7048 7053 7049 3 801 + 7049 7053 7054 3 801 + 7049 7054 7050 3 801 + 7050 7054 7055 3 801 + 7050 7055 1012 3 801 + 1012 7055 1013 3 801 + 1014 7056 1015 3 803 + 1015 7056 7057 3 803 + 7056 7058 7057 3 803 + 7057 7058 7059 3 803 + 7058 7060 7059 3 803 + 7059 7060 7061 3 803 + 7060 1017 7061 3 803 + 7061 1017 1016 3 803 + 1017 703 7062 3 804 + 7062 703 7066 3 804 + 7062 7066 7063 3 804 + 7063 7066 7067 3 804 + 7063 7067 7064 3 804 + 7064 7067 7068 3 804 + 7064 7068 7065 3 804 + 7065 7068 7069 3 804 + 7065 7069 1018 3 804 + 1018 7069 705 3 804 + 1018 1020 7070 3 806 + 7070 1020 7075 3 806 + 7070 7075 7071 3 806 + 7071 7075 7076 3 806 + 7071 7076 7072 3 806 + 7072 7076 7077 3 806 + 7072 7077 7073 3 806 + 7073 7077 7078 3 806 + 7073 7078 7074 3 806 + 7074 7078 7079 3 806 + 7074 7079 1016 3 806 + 1016 7079 1019 3 806 + 1020 7085 7080 3 808 + 7080 7085 7086 3 808 + 7080 7086 7081 3 808 + 7081 7086 7087 3 808 + 7081 7087 7082 3 808 + 7082 7087 7088 3 808 + 7082 7088 7083 3 808 + 7083 7088 7089 3 808 + 7083 7089 7084 3 808 + 7084 7089 7090 3 808 + 7084 7090 1021 3 808 + 1021 7090 7091 3 808 + 7085 7092 7086 3 808 + 7086 7092 7093 3 808 + 7086 7093 7087 3 808 + 7087 7093 7094 3 808 + 7087 7094 7088 3 808 + 7088 7094 7095 3 808 + 7088 7095 7089 3 808 + 7089 7095 7096 3 808 + 7089 7096 7090 3 808 + 7090 7096 7097 3 808 + 7090 7097 7091 3 808 + 7091 7097 7098 3 808 + 7092 1023 7093 3 808 + 7093 1023 7099 3 808 + 7093 7099 7094 3 808 + 7094 7099 7100 3 808 + 7094 7100 7095 3 808 + 7095 7100 7101 3 808 + 7095 7101 7096 3 808 + 7096 7101 7102 3 808 + 7096 7102 7097 3 808 + 7097 7102 7103 3 808 + 7097 7103 7098 3 808 + 7098 7103 1022 3 808 + 1023 1026 7104 3 810 + 7104 1026 7106 3 810 + 7104 7106 7105 3 810 + 7105 7106 7107 3 810 + 7105 7107 1024 3 810 + 1024 7107 1025 3 810 + 1026 7109 7108 3 811 + 7108 7109 7110 3 811 + 7108 7110 1027 3 811 + 1027 7110 7111 3 811 + 7109 706 7110 3 811 + 7110 706 7112 3 811 + 7110 7112 7111 3 811 + 7111 7112 708 3 811 + 1027 1029 7113 3 813 + 7113 1029 7115 3 813 + 7113 7115 7114 3 813 + 7114 7115 7116 3 813 + 7114 7116 1025 3 813 + 1025 7116 1028 3 813 + 1029 7119 7117 3 815 + 7117 7119 7120 3 815 + 7117 7120 7118 3 815 + 7118 7120 7121 3 815 + 7118 7121 1030 3 815 + 1030 7121 7122 3 815 + 7119 1032 7120 3 815 + 7120 1032 7123 3 815 + 7120 7123 7121 3 815 + 7121 7123 7124 3 815 + 7121 7124 7122 3 815 + 7122 7124 1031 3 815 + 1032 7126 7125 3 816 + 7125 7126 7127 3 816 + 7125 7127 1033 3 816 + 1033 7127 7128 3 816 + 7126 7129 7127 3 816 + 7127 7129 7130 3 816 + 7127 7130 7128 3 816 + 7128 7130 7131 3 816 + 7129 7132 7130 3 816 + 7130 7132 7133 3 816 + 7130 7133 7131 3 816 + 7131 7133 7134 3 816 + 7132 717 7133 3 816 + 7133 717 7135 3 816 + 7133 7135 7134 3 816 + 7134 7135 719 3 816 + 1033 7136 1031 3 818 + 1031 7136 7137 3 818 + 7136 7138 7137 3 818 + 7137 7138 7139 3 818 + 7138 7140 7139 3 818 + 7139 7140 7141 3 818 + 7140 7142 7141 3 818 + 7141 7142 7143 3 818 + 7142 1035 7143 3 818 + 7143 1035 1034 3 818 + 1035 1038 7144 3 820 + 7144 1038 7145 3 820 + 7144 7145 1036 3 820 + 1036 7145 1037 3 820 + 1038 1041 1039 3 822 + 1039 1041 1040 3 822 + 1041 720 7146 3 823 + 7146 720 7147 3 823 + 7146 7147 1042 3 823 + 1042 7147 722 3 823 + 1042 1044 1040 3 825 + 1040 1044 1043 3 825 + 1044 1047 7148 3 827 + 7148 1047 7149 3 827 + 7148 7149 1045 3 827 + 1045 7149 1046 3 827 + 1047 7151 7150 3 829 + 7150 7151 7152 3 829 + 7150 7152 1048 3 829 + 1048 7152 7153 3 829 + 7151 1050 7152 3 829 + 7152 1050 7154 3 829 + 7152 7154 7153 3 829 + 7153 7154 1049 3 829 + 1050 723 7155 3 830 + 7155 723 7157 3 830 + 7155 7157 7156 3 830 + 7156 7157 7158 3 830 + 7156 7158 1051 3 830 + 1051 7158 725 3 830 + 1051 1053 1049 3 832 + 1049 1053 1052 3 832 + 1053 7159 1054 3 834 + 1054 7159 7160 3 834 + 7159 1056 7160 3 834 + 7160 1056 1055 3 834 + 1056 1059 7161 3 836 + 7161 1059 7162 3 836 + 7161 7162 1057 3 836 + 1057 7162 1058 3 836 + 1059 726 1060 3 837 + 1060 726 728 3 837 + 1060 7165 7163 3 839 + 7163 7165 7166 3 839 + 7163 7166 7164 3 839 + 7164 7166 7167 3 839 + 7164 7167 1058 3 839 + 1058 7167 7168 3 839 + 7165 7169 7166 3 839 + 7166 7169 7170 3 839 + 7166 7170 7167 3 839 + 7167 7170 7171 3 839 + 7167 7171 7168 3 839 + 7168 7171 7172 3 839 + 7169 7173 7170 3 839 + 7170 7173 7174 3 839 + 7170 7174 7171 3 839 + 7171 7174 7175 3 839 + 7171 7175 7172 3 839 + 7172 7175 7176 3 839 + 7173 7177 7174 3 839 + 7174 7177 7178 3 839 + 7174 7178 7175 3 839 + 7175 7178 7179 3 839 + 7175 7179 7176 3 839 + 7176 7179 7180 3 839 + 7177 7181 7178 3 839 + 7178 7181 7182 3 839 + 7178 7182 7179 3 839 + 7179 7182 7183 3 839 + 7179 7183 7180 3 839 + 7180 7183 7184 3 839 + 7181 1062 7182 3 839 + 7182 1062 7185 3 839 + 7182 7185 7183 3 839 + 7183 7185 7186 3 839 + 7183 7186 7184 3 839 + 7184 7186 1061 3 839 + 1062 7190 7187 3 841 + 7187 7190 7191 3 841 + 7187 7191 7188 3 841 + 7188 7191 7192 3 841 + 7188 7192 7189 3 841 + 7189 7192 7193 3 841 + 7189 7193 1063 3 841 + 1063 7193 7194 3 841 + 7190 7195 7191 3 841 + 7191 7195 7196 3 841 + 7191 7196 7192 3 841 + 7192 7196 7197 3 841 + 7192 7197 7193 3 841 + 7193 7197 7198 3 841 + 7193 7198 7194 3 841 + 7194 7198 7199 3 841 + 7195 1065 7196 3 841 + 7196 1065 7200 3 841 + 7196 7200 7197 3 841 + 7197 7200 7201 3 841 + 7197 7201 7198 3 841 + 7198 7201 7202 3 841 + 7198 7202 7199 3 841 + 7199 7202 1064 3 841 + 1065 1068 7203 3 843 + 7203 1068 7208 3 843 + 7203 7208 7204 3 843 + 7204 7208 7209 3 843 + 7204 7209 7205 3 843 + 7205 7209 7210 3 843 + 7205 7210 7206 3 843 + 7206 7210 7211 3 843 + 7206 7211 7207 3 843 + 7207 7211 7212 3 843 + 7207 7212 1066 3 843 + 1066 7212 1067 3 843 + 1068 7215 7213 3 844 + 7213 7215 7216 3 844 + 7213 7216 7214 3 844 + 7214 7216 7217 3 844 + 7214 7217 1069 3 844 + 1069 7217 7218 3 844 + 7215 7219 7216 3 844 + 7216 7219 7220 3 844 + 7216 7220 7217 3 844 + 7217 7220 7221 3 844 + 7217 7221 7218 3 844 + 7218 7221 7222 3 844 + 7219 729 7220 3 844 + 7220 729 7223 3 844 + 7220 7223 7221 3 844 + 7221 7223 7224 3 844 + 7221 7224 7222 3 844 + 7222 7224 731 3 844 + 1069 7226 7225 3 846 + 7225 7226 7227 3 846 + 7225 7227 1067 3 846 + 1067 7227 7228 3 846 + 7226 7229 7227 3 846 + 7227 7229 7230 3 846 + 7227 7230 7228 3 846 + 7228 7230 7231 3 846 + 7229 7232 7230 3 846 + 7230 7232 7233 3 846 + 7230 7233 7231 3 846 + 7231 7233 7234 3 846 + 7232 7235 7233 3 846 + 7233 7235 7236 3 846 + 7233 7236 7234 3 846 + 7234 7236 7237 3 846 + 7235 7238 7236 3 846 + 7236 7238 7239 3 846 + 7236 7239 7237 3 846 + 7237 7239 7240 3 846 + 7238 7241 7239 3 846 + 7239 7241 7242 3 846 + 7239 7242 7240 3 846 + 7240 7242 7243 3 846 + 7241 7244 7242 3 846 + 7242 7244 7245 3 846 + 7242 7245 7243 3 846 + 7243 7245 7246 3 846 + 7244 1071 7245 3 846 + 7245 1071 7247 3 846 + 7245 7247 7246 3 846 + 7246 7247 1070 3 846 + 1071 7248 1072 3 848 + 1072 7248 7249 3 848 + 7248 1074 7249 3 848 + 7249 1074 1073 3 848 + 1074 1077 7250 3 850 + 7250 1077 7253 3 850 + 7250 7253 7251 3 850 + 7251 7253 7254 3 850 + 7251 7254 7252 3 850 + 7252 7254 7255 3 850 + 7252 7255 1075 3 850 + 1075 7255 1076 3 850 + 1077 7260 7256 3 851 + 7256 7260 7261 3 851 + 7256 7261 7257 3 851 + 7257 7261 7262 3 851 + 7257 7262 7258 3 851 + 7258 7262 7263 3 851 + 7258 7263 7259 3 851 + 7259 7263 7264 3 851 + 7259 7264 1078 3 851 + 1078 7264 7265 3 851 + 7260 7266 7261 3 851 + 7261 7266 7267 3 851 + 7261 7267 7262 3 851 + 7262 7267 7268 3 851 + 7262 7268 7263 3 851 + 7263 7268 7269 3 851 + 7263 7269 7264 3 851 + 7264 7269 7270 3 851 + 7264 7270 7265 3 851 + 7265 7270 7271 3 851 + 7266 7272 7267 3 851 + 7267 7272 7273 3 851 + 7267 7273 7268 3 851 + 7268 7273 7274 3 851 + 7268 7274 7269 3 851 + 7269 7274 7275 3 851 + 7269 7275 7270 3 851 + 7270 7275 7276 3 851 + 7270 7276 7271 3 851 + 7271 7276 7277 3 851 + 7272 7278 7273 3 851 + 7273 7278 7279 3 851 + 7273 7279 7274 3 851 + 7274 7279 7280 3 851 + 7274 7280 7275 3 851 + 7275 7280 7281 3 851 + 7275 7281 7276 3 851 + 7276 7281 7282 3 851 + 7276 7282 7277 3 851 + 7277 7282 7283 3 851 + 7278 732 7279 3 851 + 7279 732 7284 3 851 + 7279 7284 7280 3 851 + 7280 7284 7285 3 851 + 7280 7285 7281 3 851 + 7281 7285 7286 3 851 + 7281 7286 7282 3 851 + 7282 7286 7287 3 851 + 7282 7287 7283 3 851 + 7283 7287 734 3 851 + 1078 1080 7288 3 853 + 7288 1080 7291 3 853 + 7288 7291 7289 3 853 + 7289 7291 7292 3 853 + 7289 7292 7290 3 853 + 7290 7292 7293 3 853 + 7290 7293 1076 3 853 + 1076 7293 1079 3 853 + 1080 7296 7294 3 855 + 7294 7296 7297 3 855 + 7294 7297 7295 3 855 + 7295 7297 7298 3 855 + 7295 7298 1081 3 855 + 1081 7298 7299 3 855 + 7296 7300 7297 3 855 + 7297 7300 7301 3 855 + 7297 7301 7298 3 855 + 7298 7301 7302 3 855 + 7298 7302 7299 3 855 + 7299 7302 7303 3 855 + 7300 7304 7301 3 855 + 7301 7304 7305 3 855 + 7301 7305 7302 3 855 + 7302 7305 7306 3 855 + 7302 7306 7303 3 855 + 7303 7306 7307 3 855 + 7304 1083 7305 3 855 + 7305 1083 7308 3 855 + 7305 7308 7306 3 855 + 7306 7308 7309 3 855 + 7306 7309 7307 3 855 + 7307 7309 1082 3 855 + 1083 1086 7310 3 857 + 7310 1086 7313 3 857 + 7310 7313 7311 3 857 + 7311 7313 7314 3 857 + 7311 7314 7312 3 857 + 7312 7314 7315 3 857 + 7312 7315 1084 3 857 + 1084 7315 1085 3 857 + 1086 1089 7316 3 859 + 7316 1089 7318 3 859 + 7316 7318 7317 3 859 + 7317 7318 7319 3 859 + 7317 7319 1087 3 859 + 1087 7319 1088 3 859 + 1089 1092 7320 3 861 + 7320 1092 7324 3 861 + 7320 7324 7321 3 861 + 7321 7324 7325 3 861 + 7321 7325 7322 3 861 + 7322 7325 7326 3 861 + 7322 7326 7323 3 861 + 7323 7326 7327 3 861 + 7323 7327 1090 3 861 + 1090 7327 1091 3 861 + 1092 759 7328 3 862 + 7328 759 7333 3 862 + 7328 7333 7329 3 862 + 7329 7333 7334 3 862 + 7329 7334 7330 3 862 + 7330 7334 7335 3 862 + 7330 7335 7331 3 862 + 7331 7335 7336 3 862 + 7331 7336 7332 3 862 + 7332 7336 7337 3 862 + 7332 7337 1093 3 862 + 1093 7337 761 3 862 + 1093 7338 1091 3 864 + 1091 7338 7339 3 864 + 7338 7340 7339 3 864 + 7339 7340 7341 3 864 + 7340 7342 7341 3 864 + 7341 7342 7343 3 864 + 7342 1095 7343 3 864 + 7343 1095 1094 3 864 + 1095 1098 7344 3 866 + 7344 1098 7348 3 866 + 7344 7348 7345 3 866 + 7345 7348 7349 3 866 + 7345 7349 7346 3 866 + 7346 7349 7350 3 866 + 7346 7350 7347 3 866 + 7347 7350 7351 3 866 + 7347 7351 1096 3 866 + 1096 7351 1097 3 866 + 1099 7352 1102 3 868 + 1102 7352 7354 3 868 + 7352 7353 7354 3 868 + 7354 7353 7355 3 868 + 7355 7353 1101 3 868 + 1098 1103 7356 3 869 + 7356 1103 7358 3 869 + 7356 7358 7357 3 869 + 7357 7358 7359 3 869 + 7357 7359 1100 3 869 + 1103 7365 7360 3 870 + 7360 7365 7366 3 870 + 7360 7366 7361 3 870 + 7361 7366 7367 3 870 + 7361 7367 7362 3 870 + 7362 7367 7368 3 870 + 7362 7368 7363 3 870 + 7363 7368 7369 3 870 + 7363 7369 7364 3 870 + 7364 7369 7370 3 870 + 7364 7370 1104 3 870 + 1104 7370 7371 3 870 + 7365 7372 7366 3 870 + 7366 7372 7373 3 870 + 7366 7373 7367 3 870 + 7367 7373 7374 3 870 + 7367 7374 7368 3 870 + 7368 7374 7375 3 870 + 7368 7375 7369 3 870 + 7369 7375 7376 3 870 + 7369 7376 7370 3 870 + 7370 7376 7377 3 870 + 7370 7377 7371 3 870 + 7371 7377 7378 3 870 + 7372 768 7373 3 870 + 7373 768 7379 3 870 + 7373 7379 7374 3 870 + 7374 7379 7380 3 870 + 7374 7380 7375 3 870 + 7375 7380 7381 3 870 + 7375 7381 7376 3 870 + 7376 7381 7382 3 870 + 7376 7382 7377 3 870 + 7377 7382 7383 3 870 + 7377 7383 7378 3 870 + 7378 7383 770 3 870 + 1104 7384 1102 3 872 + 1102 7384 7385 3 872 + 7384 7386 7385 3 872 + 7385 7386 7387 3 872 + 7386 7388 7387 3 872 + 7387 7388 7389 3 872 + 7388 7390 7389 3 872 + 7389 7390 7391 3 872 + 7390 1106 7391 3 872 + 7391 1106 1105 3 872 + 1106 7397 7392 3 874 + 7392 7397 7398 3 874 + 7392 7398 7393 3 874 + 7393 7398 7399 3 874 + 7393 7399 7394 3 874 + 7394 7399 7400 3 874 + 7394 7400 7395 3 874 + 7395 7400 7401 3 874 + 7395 7401 7396 3 874 + 7396 7401 7402 3 874 + 7396 7402 1107 3 874 + 1107 7402 7403 3 874 + 7397 1109 7398 3 874 + 7398 1109 7404 3 874 + 7398 7404 7399 3 874 + 7399 7404 7405 3 874 + 7399 7405 7400 3 874 + 7400 7405 7406 3 874 + 7400 7406 7401 3 874 + 7401 7406 7407 3 874 + 7401 7407 7402 3 874 + 7402 7407 7408 3 874 + 7402 7408 7403 3 874 + 7403 7408 1108 3 874 + 1110 7409 1113 3 876 + 1113 7409 7410 3 876 + 7410 7409 1112 3 876 + 1109 1114 7411 3 877 + 7411 1114 7412 3 877 + 7411 7412 1111 3 877 + 1114 1117 7413 3 879 + 7413 1117 7419 3 879 + 7413 7419 7414 3 879 + 7414 7419 7420 3 879 + 7414 7420 7415 3 879 + 7415 7420 7421 3 879 + 7415 7421 7416 3 879 + 7416 7421 7422 3 879 + 7416 7422 7417 3 879 + 7417 7422 7423 3 879 + 7417 7423 7418 3 879 + 7418 7423 7424 3 879 + 7418 7424 1115 3 879 + 1115 7424 1116 3 879 + 1118 7425 1121 3 881 + 1121 7425 7426 3 881 + 7426 7425 1120 3 881 + 1117 1122 7427 3 882 + 7427 1122 7428 3 882 + 7427 7428 1119 3 882 + 1122 1125 7429 3 884 + 7429 1125 7431 3 884 + 7429 7431 7430 3 884 + 7430 7431 7432 3 884 + 7430 7432 1123 3 884 + 1123 7432 1124 3 884 + 1125 1128 7433 3 886 + 7433 1128 7434 3 886 + 7433 7434 1126 3 886 + 1126 7434 1127 3 886 + 1128 7435 1129 3 887 + 1129 7435 7436 3 887 + 7435 7437 7436 3 887 + 7436 7437 7438 3 887 + 7437 7439 7438 3 887 + 7438 7439 7440 3 887 + 7439 771 7440 3 887 + 7440 771 773 3 887 + 1129 7441 1127 3 888 + 1127 7441 7442 3 888 + 7441 7443 7442 3 888 + 7442 7443 7444 3 888 + 7443 7445 7444 3 888 + 7444 7445 7446 3 888 + 7445 774 7446 3 888 + 7446 774 776 3 888 + 1126 7449 7447 3 890 + 7447 7449 7450 3 890 + 7447 7450 7448 3 890 + 7448 7450 7451 3 890 + 7448 7451 1124 3 890 + 1124 7451 7452 3 890 + 7449 7453 7450 3 890 + 7450 7453 7454 3 890 + 7450 7454 7451 3 890 + 7451 7454 7455 3 890 + 7451 7455 7452 3 890 + 7452 7455 7456 3 890 + 7453 7457 7454 3 890 + 7454 7457 7458 3 890 + 7454 7458 7455 3 890 + 7455 7458 7459 3 890 + 7455 7459 7456 3 890 + 7456 7459 7460 3 890 + 7457 7461 7458 3 890 + 7458 7461 7462 3 890 + 7458 7462 7459 3 890 + 7459 7462 7463 3 890 + 7459 7463 7460 3 890 + 7460 7463 7464 3 890 + 7461 1131 7462 3 890 + 7462 1131 7465 3 890 + 7462 7465 7463 3 890 + 7463 7465 7466 3 890 + 7463 7466 7464 3 890 + 7464 7466 1130 3 890 + 1131 7471 7467 3 892 + 7467 7471 7472 3 892 + 7467 7472 7468 3 892 + 7468 7472 7473 3 892 + 7468 7473 7469 3 892 + 7469 7473 7474 3 892 + 7469 7474 7470 3 892 + 7470 7474 7475 3 892 + 7470 7475 1132 3 892 + 1132 7475 7476 3 892 + 7471 1134 7472 3 892 + 7472 1134 7477 3 892 + 7472 7477 7473 3 892 + 7473 7477 7478 3 892 + 7473 7478 7474 3 892 + 7474 7478 7479 3 892 + 7474 7479 7475 3 892 + 7475 7479 7480 3 892 + 7475 7480 7476 3 892 + 7476 7480 1133 3 892 + 1134 7484 7481 3 893 + 7481 7484 7485 3 893 + 7481 7485 7482 3 893 + 7482 7485 7486 3 893 + 7482 7486 7483 3 893 + 7483 7486 7487 3 893 + 7483 7487 1135 3 893 + 1135 7487 7488 3 893 + 7484 777 7485 3 893 + 7485 777 7489 3 893 + 7485 7489 7486 3 893 + 7486 7489 7490 3 893 + 7486 7490 7487 3 893 + 7487 7490 7491 3 893 + 7487 7491 7488 3 893 + 7488 7491 779 3 893 + 1135 1137 7492 3 895 + 7492 1137 7494 3 895 + 7492 7494 7493 3 895 + 7493 7494 7495 3 895 + 7493 7495 1133 3 895 + 1133 7495 1136 3 895 + 1137 786 7496 3 896 + 7496 786 7500 3 896 + 7496 7500 7497 3 896 + 7497 7500 7501 3 896 + 7497 7501 7498 3 896 + 7498 7501 7502 3 896 + 7498 7502 7499 3 896 + 7499 7502 7503 3 896 + 7499 7503 1138 3 896 + 1138 7503 788 3 896 + 1138 1140 7504 3 898 + 7504 1140 7505 3 898 + 7504 7505 1136 3 898 + 1136 7505 1139 3 898 + 1140 7507 7506 3 900 + 7506 7507 7508 3 900 + 7506 7508 1141 3 900 + 1141 7508 7509 3 900 + 7507 7510 7508 3 900 + 7508 7510 7511 3 900 + 7508 7511 7509 3 900 + 7509 7511 7512 3 900 + 7510 7513 7511 3 900 + 7511 7513 7514 3 900 + 7511 7514 7512 3 900 + 7512 7514 7515 3 900 + 7513 1143 7514 3 900 + 7514 1143 7516 3 900 + 7514 7516 7515 3 900 + 7515 7516 1142 3 900 + 1143 789 7517 3 901 + 7517 789 7520 3 901 + 7517 7520 7518 3 901 + 7518 7520 7521 3 901 + 7518 7521 7519 3 901 + 7519 7521 7522 3 901 + 7519 7522 1144 3 901 + 1144 7522 791 3 901 + 1144 1146 7523 3 903 + 7523 1146 7526 3 903 + 7523 7526 7524 3 903 + 7524 7526 7527 3 903 + 7524 7527 7525 3 903 + 7525 7527 7528 3 903 + 7525 7528 1142 3 903 + 1142 7528 1145 3 903 + 1146 1149 7529 3 905 + 7529 1149 7532 3 905 + 7529 7532 7530 3 905 + 7530 7532 7533 3 905 + 7530 7533 7531 3 905 + 7531 7533 7534 3 905 + 7531 7534 1147 3 905 + 1147 7534 1148 3 905 + 1149 797 7535 3 906 + 7535 797 7538 3 906 + 7535 7538 7536 3 906 + 7536 7538 7539 3 906 + 7536 7539 7537 3 906 + 7537 7539 7540 3 906 + 7537 7540 1150 3 906 + 1150 7540 799 3 906 + 1150 800 1148 3 907 + 1148 800 802 3 907 + 1147 7547 7541 3 909 + 7541 7547 7548 3 909 + 7541 7548 7542 3 909 + 7542 7548 7549 3 909 + 7542 7549 7543 3 909 + 7543 7549 7550 3 909 + 7543 7550 7544 3 909 + 7544 7550 7551 3 909 + 7544 7551 7545 3 909 + 7545 7551 7552 3 909 + 7545 7552 7546 3 909 + 7546 7552 7553 3 909 + 7546 7553 1145 3 909 + 1145 7553 7554 3 909 + 7547 7555 7548 3 909 + 7548 7555 7556 3 909 + 7548 7556 7549 3 909 + 7549 7556 7557 3 909 + 7549 7557 7550 3 909 + 7550 7557 7558 3 909 + 7550 7558 7551 3 909 + 7551 7558 7559 3 909 + 7551 7559 7552 3 909 + 7552 7559 7560 3 909 + 7552 7560 7553 3 909 + 7553 7560 7561 3 909 + 7553 7561 7554 3 909 + 7554 7561 7562 3 909 + 7555 1152 7556 3 909 + 7556 1152 7563 3 909 + 7556 7563 7557 3 909 + 7557 7563 7564 3 909 + 7557 7564 7558 3 909 + 7558 7564 7565 3 909 + 7558 7565 7559 3 909 + 7559 7565 7566 3 909 + 7559 7566 7560 3 909 + 7560 7566 7567 3 909 + 7560 7567 7561 3 909 + 7561 7567 7568 3 909 + 7561 7568 7562 3 909 + 7562 7568 1151 3 909 + 1152 1155 7569 3 911 + 7569 1155 7573 3 911 + 7569 7573 7570 3 911 + 7570 7573 7574 3 911 + 7570 7574 7571 3 911 + 7571 7574 7575 3 911 + 7571 7575 7572 3 911 + 7572 7575 7576 3 911 + 7572 7576 1153 3 911 + 1153 7576 1154 3 911 + 1155 7581 7577 3 913 + 7577 7581 7582 3 913 + 7577 7582 7578 3 913 + 7578 7582 7583 3 913 + 7578 7583 7579 3 913 + 7579 7583 7584 3 913 + 7579 7584 7580 3 913 + 7580 7584 7585 3 913 + 7580 7585 1156 3 913 + 1156 7585 7586 3 913 + 7581 1158 7582 3 913 + 7582 1158 7587 3 913 + 7582 7587 7583 3 913 + 7583 7587 7588 3 913 + 7583 7588 7584 3 913 + 7584 7588 7589 3 913 + 7584 7589 7585 3 913 + 7585 7589 7590 3 913 + 7585 7590 7586 3 913 + 7586 7590 1157 3 913 + 1158 7592 7591 3 915 + 7591 7592 7593 3 915 + 7591 7593 1159 3 915 + 1159 7593 7594 3 915 + 7592 7595 7593 3 915 + 7593 7595 7596 3 915 + 7593 7596 7594 3 915 + 7594 7596 7597 3 915 + 7595 1161 7596 3 915 + 7596 1161 7598 3 915 + 7596 7598 7597 3 915 + 7597 7598 1160 3 915 + 1161 7599 1162 3 916 + 1162 7599 7600 3 916 + 7599 7601 7600 3 916 + 7600 7601 7602 3 916 + 7601 7603 7602 3 916 + 7602 7603 7604 3 916 + 7603 7605 7604 3 916 + 7604 7605 7606 3 916 + 7605 803 7606 3 916 + 7606 803 805 3 916 + 1162 7607 1160 3 917 + 1160 7607 7608 3 917 + 7607 7609 7608 3 917 + 7608 7609 7610 3 917 + 7609 7611 7610 3 917 + 7610 7611 7612 3 917 + 7611 809 7612 3 917 + 7612 809 811 3 917 + 1159 7616 7613 3 919 + 7613 7616 7617 3 919 + 7613 7617 7614 3 919 + 7614 7617 7618 3 919 + 7614 7618 7615 3 919 + 7615 7618 7619 3 919 + 7615 7619 1157 3 919 + 1157 7619 7620 3 919 + 7616 7621 7617 3 919 + 7617 7621 7622 3 919 + 7617 7622 7618 3 919 + 7618 7622 7623 3 919 + 7618 7623 7619 3 919 + 7619 7623 7624 3 919 + 7619 7624 7620 3 919 + 7620 7624 7625 3 919 + 7621 1164 7622 3 919 + 7622 1164 7626 3 919 + 7622 7626 7623 3 919 + 7623 7626 7627 3 919 + 7623 7627 7624 3 919 + 7624 7627 7628 3 919 + 7624 7628 7625 3 919 + 7625 7628 1163 3 919 + 1164 7632 7629 3 921 + 7629 7632 7633 3 921 + 7629 7633 7630 3 921 + 7630 7633 7634 3 921 + 7630 7634 7631 3 921 + 7631 7634 7635 3 921 + 7631 7635 1165 3 921 + 1165 7635 7636 3 921 + 7632 7637 7633 3 921 + 7633 7637 7638 3 921 + 7633 7638 7634 3 921 + 7634 7638 7639 3 921 + 7634 7639 7635 3 921 + 7635 7639 7640 3 921 + 7635 7640 7636 3 921 + 7636 7640 7641 3 921 + 7637 1167 7638 3 921 + 7638 1167 7642 3 921 + 7638 7642 7639 3 921 + 7639 7642 7643 3 921 + 7639 7643 7640 3 921 + 7640 7643 7644 3 921 + 7640 7644 7641 3 921 + 7641 7644 1166 3 921 + 1167 815 7645 3 922 + 7645 815 7648 3 922 + 7645 7648 7646 3 922 + 7646 7648 7649 3 922 + 7646 7649 7647 3 922 + 7647 7649 7650 3 922 + 7647 7650 1168 3 922 + 1168 7650 817 3 922 + 1168 1170 7651 3 924 + 7651 1170 7652 3 924 + 7651 7652 1166 3 924 + 1166 7652 1169 3 924 + 1170 1173 1171 3 926 + 1171 1173 1172 3 926 + 1173 818 7653 3 927 + 7653 818 7655 3 927 + 7653 7655 7654 3 927 + 7654 7655 7656 3 927 + 7654 7656 1174 3 927 + 1174 7656 820 3 927 + 1174 7658 7657 3 929 + 7657 7658 7659 3 929 + 7657 7659 1172 3 929 + 1172 7659 7660 3 929 + 7658 1176 7659 3 929 + 7659 1176 7661 3 929 + 7659 7661 7660 3 929 + 7660 7661 1175 3 929 + 1176 1179 7662 3 931 + 7662 1179 7665 3 931 + 7662 7665 7663 3 931 + 7663 7665 7666 3 931 + 7663 7666 7664 3 931 + 7664 7666 7667 3 931 + 7664 7667 1177 3 931 + 1177 7667 1178 3 931 + 1179 7670 7668 3 933 + 7668 7670 7671 3 933 + 7668 7671 7669 3 933 + 7669 7671 7672 3 933 + 7669 7672 1180 3 933 + 1180 7672 7673 3 933 + 7670 1182 7671 3 933 + 7671 1182 7674 3 933 + 7671 7674 7672 3 933 + 7672 7674 7675 3 933 + 7672 7675 7673 3 933 + 7673 7675 1181 3 933 + 1182 7677 7676 3 934 + 7676 7677 7678 3 934 + 7676 7678 1183 3 934 + 1183 7678 7679 3 934 + 7677 821 7678 3 934 + 7678 821 7680 3 934 + 7678 7680 7679 3 934 + 7679 7680 823 3 934 + 1183 1185 1181 3 936 + 1181 1185 1184 3 936 + 1185 7682 7681 3 937 + 7681 7682 7683 3 937 + 7681 7683 1186 3 937 + 1186 7683 7684 3 937 + 7682 7685 7683 3 937 + 7683 7685 7686 3 937 + 7683 7686 7684 3 937 + 7684 7686 7687 3 937 + 7685 7688 7686 3 937 + 7686 7688 7689 3 937 + 7686 7689 7687 3 937 + 7687 7689 7690 3 937 + 7688 7691 7689 3 937 + 7689 7691 7692 3 937 + 7689 7692 7690 3 937 + 7690 7692 7693 3 937 + 7691 845 7692 3 937 + 7692 845 7694 3 937 + 7692 7694 7693 3 937 + 7693 7694 847 3 937 + 1186 7695 1184 3 939 + 1184 7695 7696 3 939 + 7695 7697 7696 3 939 + 7696 7697 7698 3 939 + 7697 7699 7698 3 939 + 7698 7699 7700 3 939 + 7699 1188 7700 3 939 + 7700 1188 1187 3 939 + 1188 7702 7701 3 941 + 7701 7702 7703 3 941 + 7701 7703 1189 3 941 + 1189 7703 7704 3 941 + 7702 1191 7703 3 941 + 7703 1191 7705 3 941 + 7703 7705 7704 3 941 + 7704 7705 1190 3 941 + 1191 7711 7706 3 943 + 7706 7711 7712 3 943 + 7706 7712 7707 3 943 + 7707 7712 7713 3 943 + 7707 7713 7708 3 943 + 7708 7713 7714 3 943 + 7708 7714 7709 3 943 + 7709 7714 7715 3 943 + 7709 7715 7710 3 943 + 7710 7715 7716 3 943 + 7710 7716 1192 3 943 + 1192 7716 7717 3 943 + 7711 7718 7712 3 943 + 7712 7718 7719 3 943 + 7712 7719 7713 3 943 + 7713 7719 7720 3 943 + 7713 7720 7714 3 943 + 7714 7720 7721 3 943 + 7714 7721 7715 3 943 + 7715 7721 7722 3 943 + 7715 7722 7716 3 943 + 7716 7722 7723 3 943 + 7716 7723 7717 3 943 + 7717 7723 7724 3 943 + 7718 1194 7719 3 943 + 7719 1194 7725 3 943 + 7719 7725 7720 3 943 + 7720 7725 7726 3 943 + 7720 7726 7721 3 943 + 7721 7726 7727 3 943 + 7721 7727 7722 3 943 + 7722 7727 7728 3 943 + 7722 7728 7723 3 943 + 7723 7728 7729 3 943 + 7723 7729 7724 3 943 + 7724 7729 1193 3 943 + 1194 1197 7730 3 945 + 7730 1197 7734 3 945 + 7730 7734 7731 3 945 + 7731 7734 7735 3 945 + 7731 7735 7732 3 945 + 7732 7735 7736 3 945 + 7732 7736 7733 3 945 + 7733 7736 7737 3 945 + 7733 7737 1195 3 945 + 1195 7737 1196 3 945 + 1197 1200 1198 3 947 + 1198 1200 1199 3 947 + 1200 848 7738 3 948 + 7738 848 7742 3 948 + 7738 7742 7739 3 948 + 7739 7742 7743 3 948 + 7739 7743 7740 3 948 + 7740 7743 7744 3 948 + 7740 7744 7741 3 948 + 7741 7744 7745 3 948 + 7741 7745 1201 3 948 + 1201 7745 850 3 948 + 1201 1203 7746 3 950 + 7746 1203 7749 3 950 + 7746 7749 7747 3 950 + 7747 7749 7750 3 950 + 7747 7750 7748 3 950 + 7748 7750 7751 3 950 + 7748 7751 1199 3 950 + 1199 7751 1202 3 950 + 1203 1206 7752 3 952 + 7752 1206 7756 3 952 + 7752 7756 7753 3 952 + 7753 7756 7757 3 952 + 7753 7757 7754 3 952 + 7754 7757 7758 3 952 + 7754 7758 7755 3 952 + 7755 7758 7759 3 952 + 7755 7759 1204 3 952 + 1204 7759 1205 3 952 + 1206 1209 1207 3 954 + 1207 1209 1208 3 954 + 1209 1212 7760 3 956 + 7760 1212 7761 3 956 + 7760 7761 1210 3 956 + 1210 7761 1211 3 956 + 1212 851 7762 3 957 + 7762 851 7764 3 957 + 7762 7764 7763 3 957 + 7763 7764 7765 3 957 + 7763 7765 1213 3 957 + 1213 7765 853 3 957 + 1213 7766 1211 3 959 + 1211 7766 7767 3 959 + 7766 7768 7767 3 959 + 7767 7768 7769 3 959 + 7768 7770 7769 3 959 + 7769 7770 7771 3 959 + 7770 1215 7771 3 959 + 7771 1215 1214 3 959 + 1215 7775 7772 3 961 + 7772 7775 7776 3 961 + 7772 7776 7773 3 961 + 7773 7776 7777 3 961 + 7773 7777 7774 3 961 + 7774 7777 7778 3 961 + 7774 7778 1216 3 961 + 1216 7778 7779 3 961 + 7775 7780 7776 3 961 + 7776 7780 7781 3 961 + 7776 7781 7777 3 961 + 7777 7781 7782 3 961 + 7777 7782 7778 3 961 + 7778 7782 7783 3 961 + 7778 7783 7779 3 961 + 7779 7783 7784 3 961 + 7780 7785 7781 3 961 + 7781 7785 7786 3 961 + 7781 7786 7782 3 961 + 7782 7786 7787 3 961 + 7782 7787 7783 3 961 + 7783 7787 7788 3 961 + 7783 7788 7784 3 961 + 7784 7788 7789 3 961 + 7785 1218 7786 3 961 + 7786 1218 7790 3 961 + 7786 7790 7787 3 961 + 7787 7790 7791 3 961 + 7787 7791 7788 3 961 + 7788 7791 7792 3 961 + 7788 7792 7789 3 961 + 7789 7792 1217 3 961 + 1218 1221 7793 3 963 + 7793 1221 7796 3 963 + 7793 7796 7794 3 963 + 7794 7796 7797 3 963 + 7794 7797 7795 3 963 + 7795 7797 7798 3 963 + 7795 7798 1219 3 963 + 1219 7798 1220 3 963 + 1221 857 7799 3 964 + 7799 857 7802 3 964 + 7799 7802 7800 3 964 + 7800 7802 7803 3 964 + 7800 7803 7801 3 964 + 7801 7803 7804 3 964 + 7801 7804 1222 3 964 + 1222 7804 859 3 964 + 1222 7805 1220 3 965 + 1220 7805 7806 3 965 + 7805 866 7806 3 965 + 7806 866 868 3 965 + 1219 7808 7807 3 967 + 7807 7808 7809 3 967 + 7807 7809 1217 3 967 + 1217 7809 7810 3 967 + 7808 7811 7809 3 967 + 7809 7811 7812 3 967 + 7809 7812 7810 3 967 + 7810 7812 7813 3 967 + 7811 7814 7812 3 967 + 7812 7814 7815 3 967 + 7812 7815 7813 3 967 + 7813 7815 7816 3 967 + 7814 7817 7815 3 967 + 7815 7817 7818 3 967 + 7815 7818 7816 3 967 + 7816 7818 7819 3 967 + 7817 7820 7818 3 967 + 7818 7820 7821 3 967 + 7818 7821 7819 3 967 + 7819 7821 7822 3 967 + 7820 1224 7821 3 967 + 7821 1224 7823 3 967 + 7821 7823 7822 3 967 + 7822 7823 1223 3 967 + 1224 7824 1225 3 969 + 1225 7824 7825 3 969 + 7824 1227 7825 3 969 + 7825 1227 1226 3 969 + 1227 7830 7826 3 970 + 7826 7830 7831 3 970 + 7826 7831 7827 3 970 + 7827 7831 7832 3 970 + 7827 7832 7828 3 970 + 7828 7832 7833 3 970 + 7828 7833 7829 3 970 + 7829 7833 7834 3 970 + 7829 7834 1228 3 970 + 1228 7834 7835 3 970 + 7830 872 7831 3 970 + 7831 872 7836 3 970 + 7831 7836 7832 3 970 + 7832 7836 7837 3 970 + 7832 7837 7833 3 970 + 7833 7837 7838 3 970 + 7833 7838 7834 3 970 + 7834 7838 7839 3 970 + 7834 7839 7835 3 970 + 7835 7839 874 3 970 + 1228 1230 7840 3 972 + 7840 1230 7845 3 972 + 7840 7845 7841 3 972 + 7841 7845 7846 3 972 + 7841 7846 7842 3 972 + 7842 7846 7847 3 972 + 7842 7847 7843 3 972 + 7843 7847 7848 3 972 + 7843 7848 7844 3 972 + 7844 7848 7849 3 972 + 7844 7849 1226 3 972 + 1226 7849 1229 3 972 + 1230 1233 7850 3 974 + 7850 1233 7856 3 974 + 7850 7856 7851 3 974 + 7851 7856 7857 3 974 + 7851 7857 7852 3 974 + 7852 7857 7858 3 974 + 7852 7858 7853 3 974 + 7853 7858 7859 3 974 + 7853 7859 7854 3 974 + 7854 7859 7860 3 974 + 7854 7860 7855 3 974 + 7855 7860 7861 3 974 + 7855 7861 1231 3 974 + 1231 7861 1232 3 974 + 1233 1236 7862 3 976 + 7862 1236 7866 3 976 + 7862 7866 7863 3 976 + 7863 7866 7867 3 976 + 7863 7867 7864 3 976 + 7864 7867 7868 3 976 + 7864 7868 7865 3 976 + 7865 7868 7869 3 976 + 7865 7869 1234 3 976 + 1234 7869 1235 3 976 + 1236 7871 7870 3 978 + 7870 7871 7872 3 978 + 7870 7872 1237 3 978 + 1237 7872 7873 3 978 + 7871 7874 7872 3 978 + 7872 7874 7875 3 978 + 7872 7875 7873 3 978 + 7873 7875 7876 3 978 + 7874 7877 7875 3 978 + 7875 7877 7878 3 978 + 7875 7878 7876 3 978 + 7876 7878 7879 3 978 + 7877 1239 7878 3 978 + 7878 1239 7880 3 978 + 7878 7880 7879 3 978 + 7879 7880 1238 3 978 + 1239 7881 1240 3 980 + 1240 7881 7882 3 980 + 7881 7883 7882 3 980 + 7882 7883 7884 3 980 + 7883 7885 7884 3 980 + 7884 7885 7886 3 980 + 7885 1242 7886 3 980 + 7886 1242 1241 3 980 + 1242 7888 7887 3 982 + 7887 7888 7889 3 982 + 7887 7889 1243 3 982 + 1243 7889 7890 3 982 + 7888 1245 7889 3 982 + 7889 1245 7891 3 982 + 7889 7891 7890 3 982 + 7890 7891 1244 3 982 + 1245 875 1246 3 983 + 1246 875 877 3 983 + 1246 7894 7892 3 984 + 7892 7894 7895 3 984 + 7892 7895 7893 3 984 + 7893 7895 7896 3 984 + 7893 7896 1244 3 984 + 1244 7896 7897 3 984 + 7894 7898 7895 3 984 + 7895 7898 7899 3 984 + 7895 7899 7896 3 984 + 7896 7899 7900 3 984 + 7896 7900 7897 3 984 + 7897 7900 7901 3 984 + 7898 884 7899 3 984 + 7899 884 7902 3 984 + 7899 7902 7900 3 984 + 7900 7902 7903 3 984 + 7900 7903 7901 3 984 + 7901 7903 886 3 984 + 1243 7904 1241 3 986 + 1241 7904 7905 3 986 + 7904 7906 7905 3 986 + 7905 7906 7907 3 986 + 7906 7908 7907 3 986 + 7907 7908 7909 3 986 + 7908 1248 7909 3 986 + 7909 1248 1247 3 986 + 1248 7911 7910 3 988 + 7910 7911 7912 3 988 + 7910 7912 1249 3 988 + 1249 7912 7913 3 988 + 7911 1251 7912 3 988 + 7912 1251 7914 3 988 + 7912 7914 7913 3 988 + 7913 7914 1250 3 988 + 1251 7920 7915 3 990 + 7915 7920 7921 3 990 + 7915 7921 7916 3 990 + 7916 7921 7922 3 990 + 7916 7922 7917 3 990 + 7917 7922 7923 3 990 + 7917 7923 7918 3 990 + 7918 7923 7924 3 990 + 7918 7924 7919 3 990 + 7919 7924 7925 3 990 + 7919 7925 1252 3 990 + 1252 7925 7926 3 990 + 7920 1254 7921 3 990 + 7921 1254 7927 3 990 + 7921 7927 7922 3 990 + 7922 7927 7928 3 990 + 7922 7928 7923 3 990 + 7923 7928 7929 3 990 + 7923 7929 7924 3 990 + 7924 7929 7930 3 990 + 7924 7930 7925 3 990 + 7925 7930 7931 3 990 + 7925 7931 7926 3 990 + 7926 7931 1253 3 990 + 1254 1257 7932 3 992 + 7932 1257 7937 3 992 + 7932 7937 7933 3 992 + 7933 7937 7938 3 992 + 7933 7938 7934 3 992 + 7934 7938 7939 3 992 + 7934 7939 7935 3 992 + 7935 7939 7940 3 992 + 7935 7940 7936 3 992 + 7936 7940 7941 3 992 + 7936 7941 1255 3 992 + 1255 7941 1256 3 992 + 1258 7942 1261 3 994 + 1261 7942 7943 3 994 + 7943 7942 1260 3 994 + 1257 1262 7944 3 995 + 7944 1262 7945 3 995 + 7944 7945 1259 3 995 + 1262 1265 7946 3 997 + 7946 1265 7951 3 997 + 7946 7951 7947 3 997 + 7947 7951 7952 3 997 + 7947 7952 7948 3 997 + 7948 7952 7953 3 997 + 7948 7953 7949 3 997 + 7949 7953 7954 3 997 + 7949 7954 7950 3 997 + 7950 7954 7955 3 997 + 7950 7955 1263 3 997 + 1263 7955 1264 3 997 + 1265 887 7956 3 998 + 7956 887 7960 3 998 + 7956 7960 7957 3 998 + 7957 7960 7961 3 998 + 7957 7961 7958 3 998 + 7958 7961 7962 3 998 + 7958 7962 7959 3 998 + 7959 7962 7963 3 998 + 7959 7963 1266 3 998 + 1266 7963 889 3 998 + 1266 890 7964 3 999 + 7964 890 7965 3 999 + 7964 7965 1264 3 999 + 1264 7965 892 3 999 + 1263 7969 7966 3 1001 + 7966 7969 7970 3 1001 + 7966 7970 7967 3 1001 + 7967 7970 7971 3 1001 + 7967 7971 7968 3 1001 + 7968 7971 7972 3 1001 + 7968 7972 1261 3 1001 + 1261 7972 7973 3 1001 + 7969 7974 7970 3 1001 + 7970 7974 7975 3 1001 + 7970 7975 7971 3 1001 + 7971 7975 7976 3 1001 + 7971 7976 7972 3 1001 + 7972 7976 7977 3 1001 + 7972 7977 7973 3 1001 + 7973 7977 7978 3 1001 + 7974 1268 7975 3 1001 + 7975 1268 7979 3 1001 + 7975 7979 7976 3 1001 + 7976 7979 7980 3 1001 + 7976 7980 7977 3 1001 + 7977 7980 7981 3 1001 + 7977 7981 7978 3 1001 + 7978 7981 1267 3 1001 + 1268 899 7982 3 1002 + 7982 899 7983 3 1002 + 7982 7983 1269 3 1002 + 1269 7983 901 3 1002 + 1269 7986 7984 3 1004 + 7984 7986 7987 3 1004 + 7984 7987 7985 3 1004 + 7985 7987 7988 3 1004 + 7985 7988 1267 3 1004 + 1267 7988 7989 3 1004 + 7986 7990 7987 3 1004 + 7987 7990 7991 3 1004 + 7987 7991 7988 3 1004 + 7988 7991 7992 3 1004 + 7988 7992 7989 3 1004 + 7989 7992 7993 3 1004 + 7990 7994 7991 3 1004 + 7991 7994 7995 3 1004 + 7991 7995 7992 3 1004 + 7992 7995 7996 3 1004 + 7992 7996 7993 3 1004 + 7993 7996 7997 3 1004 + 7994 7998 7995 3 1004 + 7995 7998 7999 3 1004 + 7995 7999 7996 3 1004 + 7996 7999 8000 3 1004 + 7996 8000 7997 3 1004 + 7997 8000 8001 3 1004 + 7998 8002 7999 3 1004 + 7999 8002 8003 3 1004 + 7999 8003 8000 3 1004 + 8000 8003 8004 3 1004 + 8000 8004 8001 3 1004 + 8001 8004 8005 3 1004 + 8002 1271 8003 3 1004 + 8003 1271 8006 3 1004 + 8003 8006 8004 3 1004 + 8004 8006 8007 3 1004 + 8004 8007 8005 3 1004 + 8005 8007 1270 3 1004 + 1271 1274 8008 3 1006 + 8008 1274 8009 3 1006 + 8008 8009 1272 3 1006 + 1272 8009 1273 3 1006 + 1274 1277 1275 3 1008 + 1275 1277 1276 3 1008 + 1277 8013 8010 3 1009 + 8010 8013 8014 3 1009 + 8010 8014 8011 3 1009 + 8011 8014 8015 3 1009 + 8011 8015 8012 3 1009 + 8012 8015 8016 3 1009 + 8012 8016 1278 3 1009 + 1278 8016 8017 3 1009 + 8013 908 8014 3 1009 + 8014 908 8018 3 1009 + 8014 8018 8015 3 1009 + 8015 8018 8019 3 1009 + 8015 8019 8016 3 1009 + 8016 8019 8020 3 1009 + 8016 8020 8017 3 1009 + 8017 8020 910 3 1009 + 1278 1280 8021 3 1011 + 8021 1280 8024 3 1011 + 8021 8024 8022 3 1011 + 8022 8024 8025 3 1011 + 8022 8025 8023 3 1011 + 8023 8025 8026 3 1011 + 8023 8026 1276 3 1011 + 1276 8026 1279 3 1011 + 1280 8027 1281 3 1013 + 1281 8027 8028 3 1013 + 8027 8029 8028 3 1013 + 8028 8029 8030 3 1013 + 8029 8031 8030 3 1013 + 8030 8031 8032 3 1013 + 8031 8033 8032 3 1013 + 8032 8033 8034 3 1013 + 8033 1283 8034 3 1013 + 8034 1283 1282 3 1013 + 1283 8038 8035 3 1015 + 8035 8038 8039 3 1015 + 8035 8039 8036 3 1015 + 8036 8039 8040 3 1015 + 8036 8040 8037 3 1015 + 8037 8040 8041 3 1015 + 8037 8041 1284 3 1015 + 1284 8041 8042 3 1015 + 8038 1286 8039 3 1015 + 8039 1286 8043 3 1015 + 8039 8043 8040 3 1015 + 8040 8043 8044 3 1015 + 8040 8044 8041 3 1015 + 8041 8044 8045 3 1015 + 8041 8045 8042 3 1015 + 8042 8045 1285 3 1015 + 1286 8049 8046 3 1016 + 8046 8049 8050 3 1016 + 8046 8050 8047 3 1016 + 8047 8050 8051 3 1016 + 8047 8051 8048 3 1016 + 8048 8051 8052 3 1016 + 8048 8052 1287 3 1016 + 1287 8052 8053 3 1016 + 8049 911 8050 3 1016 + 8050 911 8054 3 1016 + 8050 8054 8051 3 1016 + 8051 8054 8055 3 1016 + 8051 8055 8052 3 1016 + 8052 8055 8056 3 1016 + 8052 8056 8053 3 1016 + 8053 8056 913 3 1016 + 1287 1289 8057 3 1018 + 8057 1289 8059 3 1018 + 8057 8059 8058 3 1018 + 8058 8059 8060 3 1018 + 8058 8060 1285 3 1018 + 1285 8060 1288 3 1018 + 1289 8062 8061 3 1020 + 8061 8062 8063 3 1020 + 8061 8063 1290 3 1020 + 1290 8063 8064 3 1020 + 8062 1292 8063 3 1020 + 8063 1292 8065 3 1020 + 8063 8065 8064 3 1020 + 8064 8065 1291 3 1020 + 1292 914 1293 3 1021 + 1293 914 916 3 1021 + 1293 920 1291 3 1022 + 1291 920 922 3 1022 + 1290 1295 8066 3 1024 + 8066 1295 8070 3 1024 + 8066 8070 8067 3 1024 + 8067 8070 8071 3 1024 + 8067 8071 8068 3 1024 + 8068 8071 8072 3 1024 + 8068 8072 8069 3 1024 + 8069 8072 8073 3 1024 + 8069 8073 1288 3 1024 + 1288 8073 1294 3 1024 + 1295 1298 8074 3 1026 + 8074 1298 8080 3 1026 + 8074 8080 8075 3 1026 + 8075 8080 8081 3 1026 + 8075 8081 8076 3 1026 + 8076 8081 8082 3 1026 + 8076 8082 8077 3 1026 + 8077 8082 8083 3 1026 + 8077 8083 8078 3 1026 + 8078 8083 8084 3 1026 + 8078 8084 8079 3 1026 + 8079 8084 8085 3 1026 + 8079 8085 1296 3 1026 + 1296 8085 1297 3 1026 + 1298 8089 8086 3 1028 + 8086 8089 8090 3 1028 + 8086 8090 8087 3 1028 + 8087 8090 8091 3 1028 + 8087 8091 8088 3 1028 + 8088 8091 8092 3 1028 + 8088 8092 1299 3 1028 + 1299 8092 8093 3 1028 + 8089 8094 8090 3 1028 + 8090 8094 8095 3 1028 + 8090 8095 8091 3 1028 + 8091 8095 8096 3 1028 + 8091 8096 8092 3 1028 + 8092 8096 8097 3 1028 + 8092 8097 8093 3 1028 + 8093 8097 8098 3 1028 + 8094 8099 8095 3 1028 + 8095 8099 8100 3 1028 + 8095 8100 8096 3 1028 + 8096 8100 8101 3 1028 + 8096 8101 8097 3 1028 + 8097 8101 8102 3 1028 + 8097 8102 8098 3 1028 + 8098 8102 8103 3 1028 + 8099 8104 8100 3 1028 + 8100 8104 8105 3 1028 + 8100 8105 8101 3 1028 + 8101 8105 8106 3 1028 + 8101 8106 8102 3 1028 + 8102 8106 8107 3 1028 + 8102 8107 8103 3 1028 + 8103 8107 8108 3 1028 + 8104 8109 8105 3 1028 + 8105 8109 8110 3 1028 + 8105 8110 8106 3 1028 + 8106 8110 8111 3 1028 + 8106 8111 8107 3 1028 + 8107 8111 8112 3 1028 + 8107 8112 8108 3 1028 + 8108 8112 8113 3 1028 + 8109 1301 8110 3 1028 + 8110 1301 8114 3 1028 + 8110 8114 8111 3 1028 + 8111 8114 8115 3 1028 + 8111 8115 8112 3 1028 + 8112 8115 8116 3 1028 + 8112 8116 8113 3 1028 + 8113 8116 1300 3 1028 + 1305 1302 1304 3 1030 + 1301 1306 1303 3 1031 + 1306 8119 8117 3 1032 + 8117 8119 8120 3 1032 + 8117 8120 8118 3 1032 + 8118 8120 8121 3 1032 + 8118 8121 1307 3 1032 + 1307 8121 8122 3 1032 + 8119 923 8120 3 1032 + 8120 923 8123 3 1032 + 8120 8123 8121 3 1032 + 8121 8123 8124 3 1032 + 8121 8124 8122 3 1032 + 8122 8124 925 3 1032 + 1307 935 8125 3 1033 + 8125 935 8130 3 1033 + 8125 8130 8126 3 1033 + 8126 8130 8131 3 1033 + 8126 8131 8127 3 1033 + 8127 8131 8132 3 1033 + 8127 8132 8128 3 1033 + 8128 8132 8133 3 1033 + 8128 8133 8129 3 1033 + 8129 8133 8134 3 1033 + 8129 8134 1305 3 1033 + 1305 8134 937 3 1033 + 1302 8139 8135 3 1035 + 8135 8139 8140 3 1035 + 8135 8140 8136 3 1035 + 8136 8140 8141 3 1035 + 8136 8141 8137 3 1035 + 8137 8141 8142 3 1035 + 8137 8142 8138 3 1035 + 8138 8142 8143 3 1035 + 8138 8143 1300 3 1035 + 1300 8143 8144 3 1035 + 8139 1309 8140 3 1035 + 8140 1309 8145 3 1035 + 8140 8145 8141 3 1035 + 8141 8145 8146 3 1035 + 8141 8146 8142 3 1035 + 8142 8146 8147 3 1035 + 8142 8147 8143 3 1035 + 8143 8147 8148 3 1035 + 8143 8148 8144 3 1035 + 8144 8148 1308 3 1035 + 1309 1312 8149 3 1037 + 8149 1312 8153 3 1037 + 8149 8153 8150 3 1037 + 8150 8153 8154 3 1037 + 8150 8154 8151 3 1037 + 8151 8154 8155 3 1037 + 8151 8155 8152 3 1037 + 8152 8155 8156 3 1037 + 8152 8156 1310 3 1037 + 1310 8156 1311 3 1037 + 1312 8157 1313 3 1038 + 1313 8157 8158 3 1038 + 8157 8159 8158 3 1038 + 8158 8159 8160 3 1038 + 8159 8161 8160 3 1038 + 8160 8161 8162 3 1038 + 8161 8163 8162 3 1038 + 8162 8163 8164 3 1038 + 8163 8165 8164 3 1038 + 8164 8165 8166 3 1038 + 8165 8167 8166 3 1038 + 8166 8167 8168 3 1038 + 8167 941 8168 3 1038 + 8168 941 943 3 1038 + 1313 1315 8169 3 1040 + 8169 1315 8173 3 1040 + 8169 8173 8170 3 1040 + 8170 8173 8174 3 1040 + 8170 8174 8171 3 1040 + 8171 8174 8175 3 1040 + 8171 8175 8172 3 1040 + 8172 8175 8176 3 1040 + 8172 8176 1311 3 1040 + 1311 8176 1314 3 1040 + 1315 8180 8177 3 1042 + 8177 8180 8181 3 1042 + 8177 8181 8178 3 1042 + 8178 8181 8182 3 1042 + 8178 8182 8179 3 1042 + 8179 8182 8183 3 1042 + 8179 8183 1316 3 1042 + 1316 8183 8184 3 1042 + 8180 8185 8181 3 1042 + 8181 8185 8186 3 1042 + 8181 8186 8182 3 1042 + 8182 8186 8187 3 1042 + 8182 8187 8183 3 1042 + 8183 8187 8188 3 1042 + 8183 8188 8184 3 1042 + 8184 8188 8189 3 1042 + 8185 8190 8186 3 1042 + 8186 8190 8191 3 1042 + 8186 8191 8187 3 1042 + 8187 8191 8192 3 1042 + 8187 8192 8188 3 1042 + 8188 8192 8193 3 1042 + 8188 8193 8189 3 1042 + 8189 8193 8194 3 1042 + 8190 1318 8191 3 1042 + 8191 1318 8195 3 1042 + 8191 8195 8192 3 1042 + 8192 8195 8196 3 1042 + 8192 8196 8193 3 1042 + 8193 8196 8197 3 1042 + 8193 8197 8194 3 1042 + 8194 8197 1317 3 1042 + 1318 8200 8198 3 1043 + 8198 8200 8201 3 1043 + 8198 8201 8199 3 1043 + 8199 8201 8202 3 1043 + 8199 8202 1319 3 1043 + 1319 8202 8203 3 1043 + 8200 8204 8201 3 1043 + 8201 8204 8205 3 1043 + 8201 8205 8202 3 1043 + 8202 8205 8206 3 1043 + 8202 8206 8203 3 1043 + 8203 8206 8207 3 1043 + 8204 8208 8205 3 1043 + 8205 8208 8209 3 1043 + 8205 8209 8206 3 1043 + 8206 8209 8210 3 1043 + 8206 8210 8207 3 1043 + 8207 8210 8211 3 1043 + 8208 944 8209 3 1043 + 8209 944 8212 3 1043 + 8209 8212 8210 3 1043 + 8210 8212 8213 3 1043 + 8210 8213 8211 3 1043 + 8211 8213 946 3 1043 + 1319 1321 8214 3 1045 + 8214 1321 8215 3 1045 + 8214 8215 1317 3 1045 + 1317 8215 1320 3 1045 + 1321 8216 1322 3 1047 + 1322 8216 8217 3 1047 + 8216 1324 8217 3 1047 + 8217 1324 1323 3 1047 + 1324 8222 8218 3 1049 + 8218 8222 8223 3 1049 + 8218 8223 8219 3 1049 + 8219 8223 8224 3 1049 + 8219 8224 8220 3 1049 + 8220 8224 8225 3 1049 + 8220 8225 8221 3 1049 + 8221 8225 8226 3 1049 + 8221 8226 1325 3 1049 + 1325 8226 8227 3 1049 + 8222 1327 8223 3 1049 + 8223 1327 8228 3 1049 + 8223 8228 8224 3 1049 + 8224 8228 8229 3 1049 + 8224 8229 8225 3 1049 + 8225 8229 8230 3 1049 + 8225 8230 8226 3 1049 + 8226 8230 8231 3 1049 + 8226 8231 8227 3 1049 + 8227 8231 1326 3 1049 + 1327 953 8232 3 1050 + 8232 953 8237 3 1050 + 8232 8237 8233 3 1050 + 8233 8237 8238 3 1050 + 8233 8238 8234 3 1050 + 8234 8238 8239 3 1050 + 8234 8239 8235 3 1050 + 8235 8239 8240 3 1050 + 8235 8240 8236 3 1050 + 8236 8240 8241 3 1050 + 8236 8241 1328 3 1050 + 1328 8241 955 3 1050 + 1328 8246 8242 3 1052 + 8242 8246 8247 3 1052 + 8242 8247 8243 3 1052 + 8243 8247 8248 3 1052 + 8243 8248 8244 3 1052 + 8244 8248 8249 3 1052 + 8244 8249 8245 3 1052 + 8245 8249 8250 3 1052 + 8245 8250 1326 3 1052 + 1326 8250 8251 3 1052 + 8246 8252 8247 3 1052 + 8247 8252 8253 3 1052 + 8247 8253 8248 3 1052 + 8248 8253 8254 3 1052 + 8248 8254 8249 3 1052 + 8249 8254 8255 3 1052 + 8249 8255 8250 3 1052 + 8250 8255 8256 3 1052 + 8250 8256 8251 3 1052 + 8251 8256 8257 3 1052 + 8252 8258 8253 3 1052 + 8253 8258 8259 3 1052 + 8253 8259 8254 3 1052 + 8254 8259 8260 3 1052 + 8254 8260 8255 3 1052 + 8255 8260 8261 3 1052 + 8255 8261 8256 3 1052 + 8256 8261 8262 3 1052 + 8256 8262 8257 3 1052 + 8257 8262 8263 3 1052 + 8258 1330 8259 3 1052 + 8259 1330 8264 3 1052 + 8259 8264 8260 3 1052 + 8260 8264 8265 3 1052 + 8260 8265 8261 3 1052 + 8261 8265 8266 3 1052 + 8261 8266 8262 3 1052 + 8262 8266 8267 3 1052 + 8262 8267 8263 3 1052 + 8263 8267 1329 3 1052 + 1330 8268 1331 3 1054 + 1331 8268 8269 3 1054 + 8268 8270 8269 3 1054 + 8269 8270 8271 3 1054 + 8270 8272 8271 3 1054 + 8271 8272 8273 3 1054 + 8272 8274 8273 3 1054 + 8273 8274 8275 3 1054 + 8274 8276 8275 3 1054 + 8275 8276 8277 3 1054 + 8276 8278 8277 3 1054 + 8277 8278 8279 3 1054 + 8278 8280 8279 3 1054 + 8279 8280 8281 3 1054 + 8280 1333 8281 3 1054 + 8281 1333 1332 3 1054 + 1333 956 8282 3 1055 + 8282 956 8285 3 1055 + 8282 8285 8283 3 1055 + 8283 8285 8286 3 1055 + 8283 8286 8284 3 1055 + 8284 8286 8287 3 1055 + 8284 8287 1334 3 1055 + 1334 8287 958 3 1055 + 1334 8290 8288 3 1057 + 8288 8290 8291 3 1057 + 8288 8291 8289 3 1057 + 8289 8291 8292 3 1057 + 8289 8292 1332 3 1057 + 1332 8292 8293 3 1057 + 8290 8294 8291 3 1057 + 8291 8294 8295 3 1057 + 8291 8295 8292 3 1057 + 8292 8295 8296 3 1057 + 8292 8296 8293 3 1057 + 8293 8296 8297 3 1057 + 8294 8298 8295 3 1057 + 8295 8298 8299 3 1057 + 8295 8299 8296 3 1057 + 8296 8299 8300 3 1057 + 8296 8300 8297 3 1057 + 8297 8300 8301 3 1057 + 8298 8302 8299 3 1057 + 8299 8302 8303 3 1057 + 8299 8303 8300 3 1057 + 8300 8303 8304 3 1057 + 8300 8304 8301 3 1057 + 8301 8304 8305 3 1057 + 8302 8306 8303 3 1057 + 8303 8306 8307 3 1057 + 8303 8307 8304 3 1057 + 8304 8307 8308 3 1057 + 8304 8308 8305 3 1057 + 8305 8308 8309 3 1057 + 8306 8310 8307 3 1057 + 8307 8310 8311 3 1057 + 8307 8311 8308 3 1057 + 8308 8311 8312 3 1057 + 8308 8312 8309 3 1057 + 8309 8312 8313 3 1057 + 8310 8314 8311 3 1057 + 8311 8314 8315 3 1057 + 8311 8315 8312 3 1057 + 8312 8315 8316 3 1057 + 8312 8316 8313 3 1057 + 8313 8316 8317 3 1057 + 8314 8318 8315 3 1057 + 8315 8318 8319 3 1057 + 8315 8319 8316 3 1057 + 8316 8319 8320 3 1057 + 8316 8320 8317 3 1057 + 8317 8320 8321 3 1057 + 8318 1336 8319 3 1057 + 8319 1336 8322 3 1057 + 8319 8322 8320 3 1057 + 8320 8322 8323 3 1057 + 8320 8323 8321 3 1057 + 8321 8323 1335 3 1057 + 1336 1339 8324 3 1059 + 8324 1339 8328 3 1059 + 8324 8328 8325 3 1059 + 8325 8328 8329 3 1059 + 8325 8329 8326 3 1059 + 8326 8329 8330 3 1059 + 8326 8330 8327 3 1059 + 8327 8330 8331 3 1059 + 8327 8331 1337 3 1059 + 1337 8331 1338 3 1059 + 1339 983 8332 3 1060 + 8332 983 8334 3 1060 + 8332 8334 8333 3 1060 + 8333 8334 8335 3 1060 + 8333 8335 1340 3 1060 + 1340 8335 985 3 1060 + 1340 1342 8336 3 1062 + 8336 1342 8340 3 1062 + 8336 8340 8337 3 1062 + 8337 8340 8341 3 1062 + 8337 8341 8338 3 1062 + 8338 8341 8342 3 1062 + 8338 8342 8339 3 1062 + 8339 8342 8343 3 1062 + 8339 8343 1338 3 1062 + 1338 8343 1341 3 1062 + 1342 1345 8344 3 1064 + 8344 1345 8349 3 1064 + 8344 8349 8345 3 1064 + 8345 8349 8350 3 1064 + 8345 8350 8346 3 1064 + 8346 8350 8351 3 1064 + 8346 8351 8347 3 1064 + 8347 8351 8352 3 1064 + 8347 8352 8348 3 1064 + 8348 8352 8353 3 1064 + 8348 8353 1343 3 1064 + 1343 8353 1344 3 1064 + 1346 8354 1349 3 1066 + 1349 8354 8355 3 1066 + 8355 8354 1348 3 1066 + 1345 1350 8356 3 1067 + 8356 1350 8357 3 1067 + 8356 8357 1347 3 1067 + 1350 8359 8358 3 1068 + 8358 8359 8360 3 1068 + 8358 8360 1351 3 1068 + 1351 8360 8361 3 1068 + 8359 986 8360 3 1068 + 8360 986 8362 3 1068 + 8360 8362 8361 3 1068 + 8361 8362 988 3 1068 + 1351 8368 8363 3 1070 + 8363 8368 8369 3 1070 + 8363 8369 8364 3 1070 + 8364 8369 8370 3 1070 + 8364 8370 8365 3 1070 + 8365 8370 8371 3 1070 + 8365 8371 8366 3 1070 + 8366 8371 8372 3 1070 + 8366 8372 8367 3 1070 + 8367 8372 8373 3 1070 + 8367 8373 1349 3 1070 + 1349 8373 8374 3 1070 + 8368 1353 8369 3 1070 + 8369 1353 8375 3 1070 + 8369 8375 8370 3 1070 + 8370 8375 8376 3 1070 + 8370 8376 8371 3 1070 + 8371 8376 8377 3 1070 + 8371 8377 8372 3 1070 + 8372 8377 8378 3 1070 + 8372 8378 8373 3 1070 + 8373 8378 8379 3 1070 + 8373 8379 8374 3 1070 + 8374 8379 1352 3 1070 + 1353 8384 8380 3 1072 + 8380 8384 8385 3 1072 + 8380 8385 8381 3 1072 + 8381 8385 8386 3 1072 + 8381 8386 8382 3 1072 + 8382 8386 8387 3 1072 + 8382 8387 8383 3 1072 + 8383 8387 8388 3 1072 + 8383 8388 1354 3 1072 + 1354 8388 8389 3 1072 + 8384 8390 8385 3 1072 + 8385 8390 8391 3 1072 + 8385 8391 8386 3 1072 + 8386 8391 8392 3 1072 + 8386 8392 8387 3 1072 + 8387 8392 8393 3 1072 + 8387 8393 8388 3 1072 + 8388 8393 8394 3 1072 + 8388 8394 8389 3 1072 + 8389 8394 8395 3 1072 + 8390 1356 8391 3 1072 + 8391 1356 8396 3 1072 + 8391 8396 8392 3 1072 + 8392 8396 8397 3 1072 + 8392 8397 8393 3 1072 + 8393 8397 8398 3 1072 + 8393 8398 8394 3 1072 + 8394 8398 8399 3 1072 + 8394 8399 8395 3 1072 + 8395 8399 1355 3 1072 + 1356 995 8400 3 1073 + 8400 995 8402 3 1073 + 8400 8402 8401 3 1073 + 8401 8402 8403 3 1073 + 8401 8403 1357 3 1073 + 1357 8403 997 3 1073 + 1357 8407 8404 3 1075 + 8404 8407 8408 3 1075 + 8404 8408 8405 3 1075 + 8405 8408 8409 3 1075 + 8405 8409 8406 3 1075 + 8406 8409 8410 3 1075 + 8406 8410 1355 3 1075 + 1355 8410 8411 3 1075 + 8407 1359 8408 3 1075 + 8408 1359 8412 3 1075 + 8408 8412 8409 3 1075 + 8409 8412 8413 3 1075 + 8409 8413 8410 3 1075 + 8410 8413 8414 3 1075 + 8410 8414 8411 3 1075 + 8411 8414 1358 3 1075 + 1359 998 8415 3 1076 + 8415 998 8416 3 1076 + 8415 8416 1360 3 1076 + 1360 8416 1000 3 1076 + 1360 1362 8417 3 1078 + 8417 1362 8420 3 1078 + 8417 8420 8418 3 1078 + 8418 8420 8421 3 1078 + 8418 8421 8419 3 1078 + 8419 8421 8422 3 1078 + 8419 8422 1358 3 1078 + 1358 8422 1361 3 1078 + 1362 1365 8423 3 1080 + 8423 1365 8425 3 1080 + 8423 8425 8424 3 1080 + 8424 8425 8426 3 1080 + 8424 8426 1363 3 1080 + 1363 8426 1364 3 1080 + 1365 8428 8427 3 1081 + 8427 8428 8429 3 1081 + 8427 8429 1366 3 1081 + 1366 8429 8430 3 1081 + 8428 1004 8429 3 1081 + 8429 1004 8431 3 1081 + 8429 8431 8430 3 1081 + 8430 8431 1006 3 1081 + 1366 1368 1364 3 1083 + 1364 1368 1367 3 1083 + 1368 8433 8432 3 1084 + 8432 8433 8434 3 1084 + 8432 8434 1369 3 1084 + 1369 8434 8435 3 1084 + 8433 8436 8434 3 1084 + 8434 8436 8437 3 1084 + 8434 8437 8435 3 1084 + 8435 8437 8438 3 1084 + 8436 8439 8437 3 1084 + 8437 8439 8440 3 1084 + 8437 8440 8438 3 1084 + 8438 8440 8441 3 1084 + 8439 1010 8440 3 1084 + 8440 1010 8442 3 1084 + 8440 8442 8441 3 1084 + 8441 8442 1012 3 1084 + 1369 1371 1367 3 1086 + 1367 1371 1370 3 1086 + 1371 1374 8443 3 1088 + 8443 1374 8448 3 1088 + 8443 8448 8444 3 1088 + 8444 8448 8449 3 1088 + 8444 8449 8445 3 1088 + 8445 8449 8450 3 1088 + 8445 8450 8446 3 1088 + 8446 8450 8451 3 1088 + 8446 8451 8447 3 1088 + 8447 8451 8452 3 1088 + 8447 8452 1372 3 1088 + 1372 8452 1373 3 1088 + 1374 8456 8453 3 1090 + 8453 8456 8457 3 1090 + 8453 8457 8454 3 1090 + 8454 8457 8458 3 1090 + 8454 8458 8455 3 1090 + 8455 8458 8459 3 1090 + 8455 8459 1375 3 1090 + 1375 8459 8460 3 1090 + 8456 1377 8457 3 1090 + 8457 1377 8461 3 1090 + 8457 8461 8458 3 1090 + 8458 8461 8462 3 1090 + 8458 8462 8459 3 1090 + 8459 8462 8463 3 1090 + 8459 8463 8460 3 1090 + 8460 8463 1376 3 1090 + 1377 8468 8464 3 1092 + 8464 8468 8469 3 1092 + 8464 8469 8465 3 1092 + 8465 8469 8470 3 1092 + 8465 8470 8466 3 1092 + 8466 8470 8471 3 1092 + 8466 8471 8467 3 1092 + 8467 8471 8472 3 1092 + 8467 8472 1378 3 1092 + 1378 8472 8473 3 1092 + 8468 1380 8469 3 1092 + 8469 1380 8474 3 1092 + 8469 8474 8470 3 1092 + 8470 8474 8475 3 1092 + 8470 8475 8471 3 1092 + 8471 8475 8476 3 1092 + 8471 8476 8472 3 1092 + 8472 8476 8477 3 1092 + 8472 8477 8473 3 1092 + 8473 8477 1379 3 1092 + 1380 1383 8478 3 1094 + 8478 1383 8482 3 1094 + 8478 8482 8479 3 1094 + 8479 8482 8483 3 1094 + 8479 8483 8480 3 1094 + 8480 8483 8484 3 1094 + 8480 8484 8481 3 1094 + 8481 8484 8485 3 1094 + 8481 8485 1381 3 1094 + 1381 8485 1382 3 1094 + 1383 1013 8486 3 1095 + 8486 1013 8491 3 1095 + 8486 8491 8487 3 1095 + 8487 8491 8492 3 1095 + 8487 8492 8488 3 1095 + 8488 8492 8493 3 1095 + 8488 8493 8489 3 1095 + 8489 8493 8494 3 1095 + 8489 8494 8490 3 1095 + 8490 8494 8495 3 1095 + 8490 8495 1384 3 1095 + 1384 8495 1015 3 1095 + 1384 8500 8496 3 1097 + 8496 8500 8501 3 1097 + 8496 8501 8497 3 1097 + 8497 8501 8502 3 1097 + 8497 8502 8498 3 1097 + 8498 8502 8503 3 1097 + 8498 8503 8499 3 1097 + 8499 8503 8504 3 1097 + 8499 8504 1382 3 1097 + 1382 8504 8505 3 1097 + 8500 1386 8501 3 1097 + 8501 1386 8506 3 1097 + 8501 8506 8502 3 1097 + 8502 8506 8507 3 1097 + 8502 8507 8503 3 1097 + 8503 8507 8508 3 1097 + 8503 8508 8504 3 1097 + 8504 8508 8509 3 1097 + 8504 8509 8505 3 1097 + 8505 8509 1385 3 1097 + 1386 1019 8510 3 1098 + 8510 1019 8514 3 1098 + 8510 8514 8511 3 1098 + 8511 8514 8515 3 1098 + 8511 8515 8512 3 1098 + 8512 8515 8516 3 1098 + 8512 8516 8513 3 1098 + 8513 8516 8517 3 1098 + 8513 8517 1387 3 1098 + 1387 8517 1021 3 1098 + 1387 1389 8518 3 1100 + 8518 1389 8519 3 1100 + 8518 8519 1385 3 1100 + 1385 8519 1388 3 1100 + 1389 8520 1390 3 1102 + 1390 8520 8521 3 1102 + 8520 8522 8521 3 1102 + 8521 8522 8523 3 1102 + 8522 1392 8523 3 1102 + 8523 1392 1391 3 1102 + 1392 8525 8524 3 1104 + 8524 8525 8526 3 1104 + 8524 8526 1393 3 1104 + 1393 8526 8527 3 1104 + 8525 8528 8526 3 1104 + 8526 8528 8529 3 1104 + 8526 8529 8527 3 1104 + 8527 8529 8530 3 1104 + 8528 1395 8529 3 1104 + 8529 1395 8531 3 1104 + 8529 8531 8530 3 1104 + 8530 8531 1394 3 1104 + 1395 1398 8532 3 1106 + 8532 1398 8534 3 1106 + 8532 8534 8533 3 1106 + 8533 8534 8535 3 1106 + 8533 8535 1396 3 1106 + 1396 8535 1397 3 1106 + 1398 8540 8536 3 1107 + 8536 8540 8541 3 1107 + 8536 8541 8537 3 1107 + 8537 8541 8542 3 1107 + 8537 8542 8538 3 1107 + 8538 8542 8543 3 1107 + 8538 8543 8539 3 1107 + 8539 8543 8544 3 1107 + 8539 8544 1399 3 1107 + 1399 8544 8545 3 1107 + 8540 1022 8541 3 1107 + 8541 1022 8546 3 1107 + 8541 8546 8542 3 1107 + 8542 8546 8547 3 1107 + 8542 8547 8543 3 1107 + 8543 8547 8548 3 1107 + 8543 8548 8544 3 1107 + 8544 8548 8549 3 1107 + 8544 8549 8545 3 1107 + 8545 8549 1024 3 1107 + 1399 8555 8550 3 1109 + 8550 8555 8556 3 1109 + 8550 8556 8551 3 1109 + 8551 8556 8557 3 1109 + 8551 8557 8552 3 1109 + 8552 8557 8558 3 1109 + 8552 8558 8553 3 1109 + 8553 8558 8559 3 1109 + 8553 8559 8554 3 1109 + 8554 8559 8560 3 1109 + 8554 8560 1397 3 1109 + 1397 8560 8561 3 1109 + 8555 8562 8556 3 1109 + 8556 8562 8563 3 1109 + 8556 8563 8557 3 1109 + 8557 8563 8564 3 1109 + 8557 8564 8558 3 1109 + 8558 8564 8565 3 1109 + 8558 8565 8559 3 1109 + 8559 8565 8566 3 1109 + 8559 8566 8560 3 1109 + 8560 8566 8567 3 1109 + 8560 8567 8561 3 1109 + 8561 8567 8568 3 1109 + 8562 1401 8563 3 1109 + 8563 1401 8569 3 1109 + 8563 8569 8564 3 1109 + 8564 8569 8570 3 1109 + 8564 8570 8565 3 1109 + 8565 8570 8571 3 1109 + 8565 8571 8566 3 1109 + 8566 8571 8572 3 1109 + 8566 8572 8567 3 1109 + 8567 8572 8573 3 1109 + 8567 8573 8568 3 1109 + 8568 8573 1400 3 1109 + 1401 1404 8574 3 1111 + 8574 1404 8576 3 1111 + 8574 8576 8575 3 1111 + 8575 8576 8577 3 1111 + 8575 8577 1402 3 1111 + 1402 8577 1403 3 1111 + 1404 8580 8578 3 1113 + 8578 8580 8581 3 1113 + 8578 8581 8579 3 1113 + 8579 8581 8582 3 1113 + 8579 8582 1405 3 1113 + 1405 8582 8583 3 1113 + 8580 8584 8581 3 1113 + 8581 8584 8585 3 1113 + 8581 8585 8582 3 1113 + 8582 8585 8586 3 1113 + 8582 8586 8583 3 1113 + 8583 8586 8587 3 1113 + 8584 1407 8585 3 1113 + 8585 1407 8588 3 1113 + 8585 8588 8586 3 1113 + 8586 8588 8589 3 1113 + 8586 8589 8587 3 1113 + 8587 8589 1406 3 1113 + 1407 1085 1408 3 1114 + 1408 1085 1087 3 1114 + 1408 1088 8590 3 1115 + 8590 1088 8591 3 1115 + 8590 8591 1406 3 1115 + 1406 8591 1090 3 1115 + 1405 1410 1403 3 1117 + 1403 1410 1409 3 1117 + 1410 8593 8592 3 1119 + 8592 8593 8594 3 1119 + 8592 8594 1411 3 1119 + 1411 8594 8595 3 1119 + 8593 1413 8594 3 1119 + 8594 1413 8596 3 1119 + 8594 8596 8595 3 1119 + 8595 8596 1412 3 1119 + 1413 1094 8597 3 1120 + 8597 1094 8602 3 1120 + 8597 8602 8598 3 1120 + 8598 8602 8603 3 1120 + 8598 8603 8599 3 1120 + 8599 8603 8604 3 1120 + 8599 8604 8600 3 1120 + 8600 8604 8605 3 1120 + 8600 8605 8601 3 1120 + 8601 8605 8606 3 1120 + 8601 8606 1414 3 1120 + 1414 8606 1096 3 1120 + 1414 1416 8607 3 1122 + 8607 1416 8610 3 1122 + 8607 8610 8608 3 1122 + 8608 8610 8611 3 1122 + 8608 8611 8609 3 1122 + 8609 8611 8612 3 1122 + 8609 8612 1412 3 1122 + 1412 8612 1415 3 1122 + 1416 8616 8613 3 1124 + 8613 8616 8617 3 1124 + 8613 8617 8614 3 1124 + 8614 8617 8618 3 1124 + 8614 8618 8615 3 1124 + 8615 8618 8619 3 1124 + 8615 8619 1417 3 1124 + 1417 8619 8620 3 1124 + 8616 8621 8617 3 1124 + 8617 8621 8622 3 1124 + 8617 8622 8618 3 1124 + 8618 8622 8623 3 1124 + 8618 8623 8619 3 1124 + 8619 8623 8624 3 1124 + 8619 8624 8620 3 1124 + 8620 8624 8625 3 1124 + 8621 8626 8622 3 1124 + 8622 8626 8627 3 1124 + 8622 8627 8623 3 1124 + 8623 8627 8628 3 1124 + 8623 8628 8624 3 1124 + 8624 8628 8629 3 1124 + 8624 8629 8625 3 1124 + 8625 8629 8630 3 1124 + 8626 1419 8627 3 1124 + 8627 1419 8631 3 1124 + 8627 8631 8628 3 1124 + 8628 8631 8632 3 1124 + 8628 8632 8629 3 1124 + 8629 8632 8633 3 1124 + 8629 8633 8630 3 1124 + 8630 8633 1418 3 1124 + 1419 8637 8634 3 1126 + 8634 8637 8638 3 1126 + 8634 8638 8635 3 1126 + 8635 8638 8639 3 1126 + 8635 8639 8636 3 1126 + 8636 8639 8640 3 1126 + 8636 8640 1420 3 1126 + 1420 8640 8641 3 1126 + 8637 8642 8638 3 1126 + 8638 8642 8643 3 1126 + 8638 8643 8639 3 1126 + 8639 8643 8644 3 1126 + 8639 8644 8640 3 1126 + 8640 8644 8645 3 1126 + 8640 8645 8641 3 1126 + 8641 8645 8646 3 1126 + 8642 1422 8643 3 1126 + 8643 1422 8647 3 1126 + 8643 8647 8644 3 1126 + 8644 8647 8648 3 1126 + 8644 8648 8645 3 1126 + 8645 8648 8649 3 1126 + 8645 8649 8646 3 1126 + 8646 8649 1421 3 1126 + 1422 1425 8650 3 1128 + 8650 1425 8655 3 1128 + 8650 8655 8651 3 1128 + 8651 8655 8656 3 1128 + 8651 8656 8652 3 1128 + 8652 8656 8657 3 1128 + 8652 8657 8653 3 1128 + 8653 8657 8658 3 1128 + 8653 8658 8654 3 1128 + 8654 8658 8659 3 1128 + 8654 8659 1423 3 1128 + 1423 8659 1424 3 1128 + 1425 1428 8660 3 1130 + 8660 1428 8664 3 1130 + 8660 8664 8661 3 1130 + 8661 8664 8665 3 1130 + 8661 8665 8662 3 1130 + 8662 8665 8666 3 1130 + 8662 8666 8663 3 1130 + 8663 8666 8667 3 1130 + 8663 8667 1426 3 1130 + 1426 8667 1427 3 1130 + 1428 8671 8668 3 1131 + 8668 8671 8672 3 1131 + 8668 8672 8669 3 1131 + 8669 8672 8673 3 1131 + 8669 8673 8670 3 1131 + 8670 8673 8674 3 1131 + 8670 8674 1429 3 1131 + 1429 8674 8675 3 1131 + 8671 8676 8672 3 1131 + 8672 8676 8677 3 1131 + 8672 8677 8673 3 1131 + 8673 8677 8678 3 1131 + 8673 8678 8674 3 1131 + 8674 8678 8679 3 1131 + 8674 8679 8675 3 1131 + 8675 8679 8680 3 1131 + 8676 8681 8677 3 1131 + 8677 8681 8682 3 1131 + 8677 8682 8678 3 1131 + 8678 8682 8683 3 1131 + 8678 8683 8679 3 1131 + 8679 8683 8684 3 1131 + 8679 8684 8680 3 1131 + 8680 8684 8685 3 1131 + 8681 8686 8682 3 1131 + 8682 8686 8687 3 1131 + 8682 8687 8683 3 1131 + 8683 8687 8688 3 1131 + 8683 8688 8684 3 1131 + 8684 8688 8689 3 1131 + 8684 8689 8685 3 1131 + 8685 8689 8690 3 1131 + 8686 8691 8687 3 1131 + 8687 8691 8692 3 1131 + 8687 8692 8688 3 1131 + 8688 8692 8693 3 1131 + 8688 8693 8689 3 1131 + 8689 8693 8694 3 1131 + 8689 8694 8690 3 1131 + 8690 8694 8695 3 1131 + 8691 1097 8692 3 1131 + 8692 1097 8696 3 1131 + 8692 8696 8693 3 1131 + 8693 8696 8697 3 1131 + 8693 8697 8694 3 1131 + 8694 8697 8698 3 1131 + 8694 8698 8695 3 1131 + 8695 8698 1099 3 1131 + 1429 8699 1427 3 1133 + 1427 8699 8700 3 1133 + 8699 8701 8700 3 1133 + 8700 8701 8702 3 1133 + 8701 1431 8702 3 1133 + 8702 1431 1430 3 1133 + 1431 1434 8703 3 1135 + 8703 1434 8705 3 1135 + 8703 8705 8704 3 1135 + 8704 8705 8706 3 1135 + 8704 8706 1432 3 1135 + 1432 8706 1433 3 1135 + 1434 8711 8707 3 1136 + 8707 8711 8712 3 1136 + 8707 8712 8708 3 1136 + 8708 8712 8713 3 1136 + 8708 8713 8709 3 1136 + 8709 8713 8714 3 1136 + 8709 8714 8710 3 1136 + 8710 8714 8715 3 1136 + 8710 8715 1435 3 1136 + 1435 8715 8716 3 1136 + 8711 1105 8712 3 1136 + 8712 1105 8717 3 1136 + 8712 8717 8713 3 1136 + 8713 8717 8718 3 1136 + 8713 8718 8714 3 1136 + 8714 8718 8719 3 1136 + 8714 8719 8715 3 1136 + 8715 8719 8720 3 1136 + 8715 8720 8716 3 1136 + 8716 8720 1107 3 1136 + 1435 8723 8721 3 1138 + 8721 8723 8724 3 1138 + 8721 8724 8722 3 1138 + 8722 8724 8725 3 1138 + 8722 8725 1433 3 1138 + 1433 8725 8726 3 1138 + 8723 1437 8724 3 1138 + 8724 1437 8727 3 1138 + 8724 8727 8725 3 1138 + 8725 8727 8728 3 1138 + 8725 8728 8726 3 1138 + 8726 8728 1436 3 1138 + 1437 8731 8729 3 1140 + 8729 8731 8732 3 1140 + 8729 8732 8730 3 1140 + 8730 8732 8733 3 1140 + 8730 8733 1438 3 1140 + 1438 8733 8734 3 1140 + 8731 1440 8732 3 1140 + 8732 1440 8735 3 1140 + 8732 8735 8733 3 1140 + 8733 8735 8736 3 1140 + 8733 8736 8734 3 1140 + 8734 8736 1439 3 1140 + 1440 1443 8737 3 1142 + 8737 1443 8740 3 1142 + 8737 8740 8738 3 1142 + 8738 8740 8741 3 1142 + 8738 8741 8739 3 1142 + 8739 8741 8742 3 1142 + 8739 8742 1441 3 1142 + 1441 8742 1442 3 1142 + 1443 8745 8743 3 1144 + 8743 8745 8746 3 1144 + 8743 8746 8744 3 1144 + 8744 8746 8747 3 1144 + 8744 8747 1444 3 1144 + 1444 8747 8748 3 1144 + 8745 8749 8746 3 1144 + 8746 8749 8750 3 1144 + 8746 8750 8747 3 1144 + 8747 8750 8751 3 1144 + 8747 8751 8748 3 1144 + 8748 8751 8752 3 1144 + 8749 8753 8750 3 1144 + 8750 8753 8754 3 1144 + 8750 8754 8751 3 1144 + 8751 8754 8755 3 1144 + 8751 8755 8752 3 1144 + 8752 8755 8756 3 1144 + 8753 8757 8754 3 1144 + 8754 8757 8758 3 1144 + 8754 8758 8755 3 1144 + 8755 8758 8759 3 1144 + 8755 8759 8756 3 1144 + 8756 8759 8760 3 1144 + 8757 1446 8758 3 1144 + 8758 1446 8761 3 1144 + 8758 8761 8759 3 1144 + 8759 8761 8762 3 1144 + 8759 8762 8760 3 1144 + 8760 8762 1445 3 1144 + 1446 8765 8763 3 1145 + 8763 8765 8766 3 1145 + 8763 8766 8764 3 1145 + 8764 8766 8767 3 1145 + 8764 8767 1447 3 1145 + 1447 8767 8768 3 1145 + 8765 1108 8766 3 1145 + 8766 1108 8769 3 1145 + 8766 8769 8767 3 1145 + 8767 8769 8770 3 1145 + 8767 8770 8768 3 1145 + 8768 8770 1110 3 1145 + 1447 8771 1445 3 1147 + 1445 8771 8772 3 1147 + 8771 8773 8772 3 1147 + 8772 8773 8774 3 1147 + 8773 8775 8774 3 1147 + 8774 8775 8776 3 1147 + 8775 1449 8776 3 1147 + 8776 1449 1448 3 1147 + 1449 8777 1450 3 1149 + 1450 8777 8778 3 1149 + 8777 8779 8778 3 1149 + 8778 8779 8780 3 1149 + 8779 8781 8780 3 1149 + 8780 8781 8782 3 1149 + 8781 8783 8782 3 1149 + 8782 8783 8784 3 1149 + 8783 8785 8784 3 1149 + 8784 8785 8786 3 1149 + 8785 1452 8786 3 1149 + 8786 1452 1451 3 1149 + 1452 1455 8787 3 1151 + 8787 1455 8788 3 1151 + 8787 8788 1453 3 1151 + 1453 8788 1454 3 1151 + 1455 1113 1456 3 1152 + 1456 1113 1115 3 1152 + 1456 1116 1454 3 1153 + 1454 1116 1118 3 1153 + 1453 8790 8789 3 1155 + 8789 8790 8791 3 1155 + 8789 8791 1451 3 1155 + 1451 8791 8792 3 1155 + 8790 8793 8791 3 1155 + 8791 8793 8794 3 1155 + 8791 8794 8792 3 1155 + 8792 8794 8795 3 1155 + 8793 1458 8794 3 1155 + 8794 1458 8796 3 1155 + 8794 8796 8795 3 1155 + 8795 8796 1457 3 1155 + 1458 8797 1459 3 1157 + 1459 8797 8798 3 1157 + 8797 8799 8798 3 1157 + 8798 8799 8800 3 1157 + 8799 8801 8800 3 1157 + 8800 8801 8802 3 1157 + 8801 8803 8802 3 1157 + 8802 8803 8804 3 1157 + 8803 8805 8804 3 1157 + 8804 8805 8806 3 1157 + 8805 8807 8806 3 1157 + 8806 8807 8808 3 1157 + 8807 8809 8808 3 1157 + 8808 8809 8810 3 1157 + 8809 1461 8810 3 1157 + 8810 1461 1460 3 1157 + 1461 8814 8811 3 1159 + 8811 8814 8815 3 1159 + 8811 8815 8812 3 1159 + 8812 8815 8816 3 1159 + 8812 8816 8813 3 1159 + 8813 8816 8817 3 1159 + 8813 8817 1462 3 1159 + 1462 8817 8818 3 1159 + 8814 1464 8815 3 1159 + 8815 1464 8819 3 1159 + 8815 8819 8816 3 1159 + 8816 8819 8820 3 1159 + 8816 8820 8817 3 1159 + 8817 8820 8821 3 1159 + 8817 8821 8818 3 1159 + 8818 8821 1463 3 1159 + 1464 1467 8822 3 1161 + 8822 1467 8826 3 1161 + 8822 8826 8823 3 1161 + 8823 8826 8827 3 1161 + 8823 8827 8824 3 1161 + 8824 8827 8828 3 1161 + 8824 8828 8825 3 1161 + 8825 8828 8829 3 1161 + 8825 8829 1465 3 1161 + 1465 8829 1466 3 1161 + 1467 1470 8830 3 1163 + 8830 1470 8832 3 1163 + 8830 8832 8831 3 1163 + 8831 8832 8833 3 1163 + 8831 8833 1468 3 1163 + 1468 8833 1469 3 1163 + 1470 8838 8834 3 1164 + 8834 8838 8839 3 1164 + 8834 8839 8835 3 1164 + 8835 8839 8840 3 1164 + 8835 8840 8836 3 1164 + 8836 8840 8841 3 1164 + 8836 8841 8837 3 1164 + 8837 8841 8842 3 1164 + 8837 8842 1471 3 1164 + 1471 8842 8843 3 1164 + 8838 8844 8839 3 1164 + 8839 8844 8845 3 1164 + 8839 8845 8840 3 1164 + 8840 8845 8846 3 1164 + 8840 8846 8841 3 1164 + 8841 8846 8847 3 1164 + 8841 8847 8842 3 1164 + 8842 8847 8848 3 1164 + 8842 8848 8843 3 1164 + 8843 8848 8849 3 1164 + 8844 8850 8845 3 1164 + 8845 8850 8851 3 1164 + 8845 8851 8846 3 1164 + 8846 8851 8852 3 1164 + 8846 8852 8847 3 1164 + 8847 8852 8853 3 1164 + 8847 8853 8848 3 1164 + 8848 8853 8854 3 1164 + 8848 8854 8849 3 1164 + 8849 8854 8855 3 1164 + 8850 8856 8851 3 1164 + 8851 8856 8857 3 1164 + 8851 8857 8852 3 1164 + 8852 8857 8858 3 1164 + 8852 8858 8853 3 1164 + 8853 8858 8859 3 1164 + 8853 8859 8854 3 1164 + 8854 8859 8860 3 1164 + 8854 8860 8855 3 1164 + 8855 8860 8861 3 1164 + 8856 1121 8857 3 1164 + 8857 1121 8862 3 1164 + 8857 8862 8858 3 1164 + 8858 8862 8863 3 1164 + 8858 8863 8859 3 1164 + 8859 8863 8864 3 1164 + 8859 8864 8860 3 1164 + 8860 8864 8865 3 1164 + 8860 8865 8861 3 1164 + 8861 8865 1123 3 1164 + 1471 1473 8866 3 1166 + 8866 1473 8868 3 1166 + 8866 8868 8867 3 1166 + 8867 8868 8869 3 1166 + 8867 8869 1469 3 1166 + 1469 8869 1472 3 1166 + 1473 8874 8870 3 1168 + 8870 8874 8875 3 1168 + 8870 8875 8871 3 1168 + 8871 8875 8876 3 1168 + 8871 8876 8872 3 1168 + 8872 8876 8877 3 1168 + 8872 8877 8873 3 1168 + 8873 8877 8878 3 1168 + 8873 8878 1474 3 1168 + 1474 8878 8879 3 1168 + 8874 8880 8875 3 1168 + 8875 8880 8881 3 1168 + 8875 8881 8876 3 1168 + 8876 8881 8882 3 1168 + 8876 8882 8877 3 1168 + 8877 8882 8883 3 1168 + 8877 8883 8878 3 1168 + 8878 8883 8884 3 1168 + 8878 8884 8879 3 1168 + 8879 8884 8885 3 1168 + 8880 1476 8881 3 1168 + 8881 1476 8886 3 1168 + 8881 8886 8882 3 1168 + 8882 8886 8887 3 1168 + 8882 8887 8883 3 1168 + 8883 8887 8888 3 1168 + 8883 8888 8884 3 1168 + 8884 8888 8889 3 1168 + 8884 8889 8885 3 1168 + 8885 8889 1475 3 1168 + 1476 1479 1477 3 1170 + 1477 1479 1478 3 1170 + 1479 1482 8890 3 1172 + 8890 1482 8893 3 1172 + 8890 8893 8891 3 1172 + 8891 8893 8894 3 1172 + 8891 8894 8892 3 1172 + 8892 8894 8895 3 1172 + 8892 8895 1480 3 1172 + 1480 8895 1481 3 1172 + 1482 1485 8896 3 1174 + 8896 1485 8901 3 1174 + 8896 8901 8897 3 1174 + 8897 8901 8902 3 1174 + 8897 8902 8898 3 1174 + 8898 8902 8903 3 1174 + 8898 8903 8899 3 1174 + 8899 8903 8904 3 1174 + 8899 8904 8900 3 1174 + 8900 8904 8905 3 1174 + 8900 8905 1483 3 1174 + 1483 8905 1484 3 1174 + 1485 1130 8906 3 1175 + 8906 1130 8910 3 1175 + 8906 8910 8907 3 1175 + 8907 8910 8911 3 1175 + 8907 8911 8908 3 1175 + 8908 8911 8912 3 1175 + 8908 8912 8909 3 1175 + 8909 8912 8913 3 1175 + 8909 8913 1486 3 1175 + 1486 8913 1132 3 1175 + 1486 1488 1484 3 1177 + 1484 1488 1487 3 1177 + 1488 8917 8914 3 1179 + 8914 8917 8918 3 1179 + 8914 8918 8915 3 1179 + 8915 8918 8919 3 1179 + 8915 8919 8916 3 1179 + 8916 8919 8920 3 1179 + 8916 8920 1489 3 1179 + 1489 8920 8921 3 1179 + 8917 1491 8918 3 1179 + 8918 1491 8922 3 1179 + 8918 8922 8919 3 1179 + 8919 8922 8923 3 1179 + 8919 8923 8920 3 1179 + 8920 8923 8924 3 1179 + 8920 8924 8921 3 1179 + 8921 8924 1490 3 1179 + 1491 1139 8925 3 1180 + 8925 1139 8929 3 1180 + 8925 8929 8926 3 1180 + 8926 8929 8930 3 1180 + 8926 8930 8927 3 1180 + 8927 8930 8931 3 1180 + 8927 8931 8928 3 1180 + 8928 8931 8932 3 1180 + 8928 8932 1492 3 1180 + 1492 8932 1141 3 1180 + 1492 8933 1490 3 1182 + 1490 8933 8934 3 1182 + 8933 8935 8934 3 1182 + 8934 8935 8936 3 1182 + 8935 8937 8936 3 1182 + 8936 8937 8938 3 1182 + 8937 1494 8938 3 1182 + 8938 1494 1493 3 1182 + 1494 8940 8939 3 1184 + 8939 8940 8941 3 1184 + 8939 8941 1495 3 1184 + 1495 8941 8942 3 1184 + 8940 8943 8941 3 1184 + 8941 8943 8944 3 1184 + 8941 8944 8942 3 1184 + 8942 8944 8945 3 1184 + 8943 8946 8944 3 1184 + 8944 8946 8947 3 1184 + 8944 8947 8945 3 1184 + 8945 8947 8948 3 1184 + 8946 1497 8947 3 1184 + 8947 1497 8949 3 1184 + 8947 8949 8948 3 1184 + 8948 8949 1496 3 1184 + 1497 8953 8950 3 1185 + 8950 8953 8954 3 1185 + 8950 8954 8951 3 1185 + 8951 8954 8955 3 1185 + 8951 8955 8952 3 1185 + 8952 8955 8956 3 1185 + 8952 8956 1498 3 1185 + 1498 8956 8957 3 1185 + 8953 8958 8954 3 1185 + 8954 8958 8959 3 1185 + 8954 8959 8955 3 1185 + 8955 8959 8960 3 1185 + 8955 8960 8956 3 1185 + 8956 8960 8961 3 1185 + 8956 8961 8957 3 1185 + 8957 8961 8962 3 1185 + 8958 1151 8959 3 1185 + 8959 1151 8963 3 1185 + 8959 8963 8960 3 1185 + 8960 8963 8964 3 1185 + 8960 8964 8961 3 1185 + 8961 8964 8965 3 1185 + 8961 8965 8962 3 1185 + 8962 8965 1153 3 1185 + 1498 8970 8966 3 1187 + 8966 8970 8971 3 1187 + 8966 8971 8967 3 1187 + 8967 8971 8972 3 1187 + 8967 8972 8968 3 1187 + 8968 8972 8973 3 1187 + 8968 8973 8969 3 1187 + 8969 8973 8974 3 1187 + 8969 8974 1496 3 1187 + 1496 8974 8975 3 1187 + 8970 8976 8971 3 1187 + 8971 8976 8977 3 1187 + 8971 8977 8972 3 1187 + 8972 8977 8978 3 1187 + 8972 8978 8973 3 1187 + 8973 8978 8979 3 1187 + 8973 8979 8974 3 1187 + 8974 8979 8980 3 1187 + 8974 8980 8975 3 1187 + 8975 8980 8981 3 1187 + 8976 1500 8977 3 1187 + 8977 1500 8982 3 1187 + 8977 8982 8978 3 1187 + 8978 8982 8983 3 1187 + 8978 8983 8979 3 1187 + 8979 8983 8984 3 1187 + 8979 8984 8980 3 1187 + 8980 8984 8985 3 1187 + 8980 8985 8981 3 1187 + 8981 8985 1499 3 1187 + 1500 1503 8986 3 1189 + 8986 1503 8991 3 1189 + 8986 8991 8987 3 1189 + 8987 8991 8992 3 1189 + 8987 8992 8988 3 1189 + 8988 8992 8993 3 1189 + 8988 8993 8989 3 1189 + 8989 8993 8994 3 1189 + 8989 8994 8990 3 1189 + 8990 8994 8995 3 1189 + 8990 8995 1501 3 1189 + 1501 8995 1502 3 1189 + 1503 1506 8996 3 1191 + 8996 1506 9001 3 1191 + 8996 9001 8997 3 1191 + 8997 9001 9002 3 1191 + 8997 9002 8998 3 1191 + 8998 9002 9003 3 1191 + 8998 9003 8999 3 1191 + 8999 9003 9004 3 1191 + 8999 9004 9000 3 1191 + 9000 9004 9005 3 1191 + 9000 9005 1504 3 1191 + 1504 9005 1505 3 1191 + 1506 9006 1507 3 1192 + 1507 9006 9007 3 1192 + 9006 9008 9007 3 1192 + 9007 9008 9009 3 1192 + 9008 9010 9009 3 1192 + 9009 9010 9011 3 1192 + 9010 9012 9011 3 1192 + 9011 9012 9013 3 1192 + 9012 9014 9013 3 1192 + 9013 9014 9015 3 1192 + 9014 1154 9015 3 1192 + 9015 1154 1156 3 1192 + 1507 9021 9016 3 1194 + 9016 9021 9022 3 1194 + 9016 9022 9017 3 1194 + 9017 9022 9023 3 1194 + 9017 9023 9018 3 1194 + 9018 9023 9024 3 1194 + 9018 9024 9019 3 1194 + 9019 9024 9025 3 1194 + 9019 9025 9020 3 1194 + 9020 9025 9026 3 1194 + 9020 9026 1505 3 1194 + 1505 9026 9027 3 1194 + 9021 9028 9022 3 1194 + 9022 9028 9029 3 1194 + 9022 9029 9023 3 1194 + 9023 9029 9030 3 1194 + 9023 9030 9024 3 1194 + 9024 9030 9031 3 1194 + 9024 9031 9025 3 1194 + 9025 9031 9032 3 1194 + 9025 9032 9026 3 1194 + 9026 9032 9033 3 1194 + 9026 9033 9027 3 1194 + 9027 9033 9034 3 1194 + 9028 9035 9029 3 1194 + 9029 9035 9036 3 1194 + 9029 9036 9030 3 1194 + 9030 9036 9037 3 1194 + 9030 9037 9031 3 1194 + 9031 9037 9038 3 1194 + 9031 9038 9032 3 1194 + 9032 9038 9039 3 1194 + 9032 9039 9033 3 1194 + 9033 9039 9040 3 1194 + 9033 9040 9034 3 1194 + 9034 9040 9041 3 1194 + 9035 9042 9036 3 1194 + 9036 9042 9043 3 1194 + 9036 9043 9037 3 1194 + 9037 9043 9044 3 1194 + 9037 9044 9038 3 1194 + 9038 9044 9045 3 1194 + 9038 9045 9039 3 1194 + 9039 9045 9046 3 1194 + 9039 9046 9040 3 1194 + 9040 9046 9047 3 1194 + 9040 9047 9041 3 1194 + 9041 9047 9048 3 1194 + 9042 1509 9043 3 1194 + 9043 1509 9049 3 1194 + 9043 9049 9044 3 1194 + 9044 9049 9050 3 1194 + 9044 9050 9045 3 1194 + 9045 9050 9051 3 1194 + 9045 9051 9046 3 1194 + 9046 9051 9052 3 1194 + 9046 9052 9047 3 1194 + 9047 9052 9053 3 1194 + 9047 9053 9048 3 1194 + 9048 9053 1508 3 1194 + 1509 1512 9054 3 1196 + 9054 1512 9059 3 1196 + 9054 9059 9055 3 1196 + 9055 9059 9060 3 1196 + 9055 9060 9056 3 1196 + 9056 9060 9061 3 1196 + 9056 9061 9057 3 1196 + 9057 9061 9062 3 1196 + 9057 9062 9058 3 1196 + 9058 9062 9063 3 1196 + 9058 9063 1510 3 1196 + 1510 9063 1511 3 1196 + 1512 9064 1513 3 1197 + 1513 9064 9065 3 1197 + 9064 9066 9065 3 1197 + 9065 9066 9067 3 1197 + 9066 9068 9067 3 1197 + 9067 9068 9069 3 1197 + 9068 9070 9069 3 1197 + 9069 9070 9071 3 1197 + 9070 1163 9071 3 1197 + 9071 1163 1165 3 1197 + 1513 1515 9072 3 1199 + 9072 1515 9077 3 1199 + 9072 9077 9073 3 1199 + 9073 9077 9078 3 1199 + 9073 9078 9074 3 1199 + 9074 9078 9079 3 1199 + 9074 9079 9075 3 1199 + 9075 9079 9080 3 1199 + 9075 9080 9076 3 1199 + 9076 9080 9081 3 1199 + 9076 9081 1511 3 1199 + 1511 9081 1514 3 1199 + 1515 1518 9082 3 1201 + 9082 1518 9087 3 1201 + 9082 9087 9083 3 1201 + 9083 9087 9088 3 1201 + 9083 9088 9084 3 1201 + 9084 9088 9089 3 1201 + 9084 9089 9085 3 1201 + 9085 9089 9090 3 1201 + 9085 9090 9086 3 1201 + 9086 9090 9091 3 1201 + 9086 9091 1516 3 1201 + 1516 9091 1517 3 1201 + 1518 9094 9092 3 1202 + 9092 9094 9095 3 1202 + 9092 9095 9093 3 1202 + 9093 9095 9096 3 1202 + 9093 9096 1519 3 1202 + 1519 9096 9097 3 1202 + 9094 9098 9095 3 1202 + 9095 9098 9099 3 1202 + 9095 9099 9096 3 1202 + 9096 9099 9100 3 1202 + 9096 9100 9097 3 1202 + 9097 9100 9101 3 1202 + 9098 1169 9099 3 1202 + 9099 1169 9102 3 1202 + 9099 9102 9100 3 1202 + 9100 9102 9103 3 1202 + 9100 9103 9101 3 1202 + 9101 9103 1171 3 1202 + 1519 1175 9104 3 1203 + 9104 1175 9106 3 1203 + 9104 9106 9105 3 1203 + 9105 9106 9107 3 1203 + 9105 9107 1517 3 1203 + 1517 9107 1177 3 1203 + 1516 9110 9108 3 1205 + 9108 9110 9111 3 1205 + 9108 9111 9109 3 1205 + 9109 9111 9112 3 1205 + 9109 9112 1514 3 1205 + 1514 9112 9113 3 1205 + 9110 9114 9111 3 1205 + 9111 9114 9115 3 1205 + 9111 9115 9112 3 1205 + 9112 9115 9116 3 1205 + 9112 9116 9113 3 1205 + 9113 9116 9117 3 1205 + 9114 9118 9115 3 1205 + 9115 9118 9119 3 1205 + 9115 9119 9116 3 1205 + 9116 9119 9120 3 1205 + 9116 9120 9117 3 1205 + 9117 9120 9121 3 1205 + 9118 9122 9119 3 1205 + 9119 9122 9123 3 1205 + 9119 9123 9120 3 1205 + 9120 9123 9124 3 1205 + 9120 9124 9121 3 1205 + 9121 9124 9125 3 1205 + 9122 9126 9123 3 1205 + 9123 9126 9127 3 1205 + 9123 9127 9124 3 1205 + 9124 9127 9128 3 1205 + 9124 9128 9125 3 1205 + 9125 9128 9129 3 1205 + 9126 1521 9127 3 1205 + 9127 1521 9130 3 1205 + 9127 9130 9128 3 1205 + 9128 9130 9131 3 1205 + 9128 9131 9129 3 1205 + 9129 9131 1520 3 1205 + 1521 1524 9132 3 1207 + 9132 1524 9133 3 1207 + 9132 9133 1522 3 1207 + 1522 9133 1523 3 1207 + 1524 1527 9134 3 1209 + 9134 1527 9137 3 1209 + 9134 9137 9135 3 1209 + 9135 9137 9138 3 1209 + 9135 9138 9136 3 1209 + 9136 9138 9139 3 1209 + 9136 9139 1525 3 1209 + 1525 9139 1526 3 1209 + 1527 9143 9140 3 1211 + 9140 9143 9144 3 1211 + 9140 9144 9141 3 1211 + 9141 9144 9145 3 1211 + 9141 9145 9142 3 1211 + 9142 9145 9146 3 1211 + 9142 9146 1528 3 1211 + 1528 9146 9147 3 1211 + 9143 9148 9144 3 1211 + 9144 9148 9149 3 1211 + 9144 9149 9145 3 1211 + 9145 9149 9150 3 1211 + 9145 9150 9146 3 1211 + 9146 9150 9151 3 1211 + 9146 9151 9147 3 1211 + 9147 9151 9152 3 1211 + 9148 1530 9149 3 1211 + 9149 1530 9153 3 1211 + 9149 9153 9150 3 1211 + 9150 9153 9154 3 1211 + 9150 9154 9151 3 1211 + 9151 9154 9155 3 1211 + 9151 9155 9152 3 1211 + 9152 9155 1529 3 1211 + 1530 1533 9156 3 1213 + 9156 1533 9161 3 1213 + 9156 9161 9157 3 1213 + 9157 9161 9162 3 1213 + 9157 9162 9158 3 1213 + 9158 9162 9163 3 1213 + 9158 9163 9159 3 1213 + 9159 9163 9164 3 1213 + 9159 9164 9160 3 1213 + 9160 9164 9165 3 1213 + 9160 9165 1531 3 1213 + 1531 9165 1532 3 1213 + 1533 1178 9166 3 1214 + 9166 1178 9171 3 1214 + 9166 9171 9167 3 1214 + 9167 9171 9172 3 1214 + 9167 9172 9168 3 1214 + 9168 9172 9173 3 1214 + 9168 9173 9169 3 1214 + 9169 9173 9174 3 1214 + 9169 9174 9170 3 1214 + 9170 9174 9175 3 1214 + 9170 9175 1534 3 1214 + 1534 9175 1180 3 1214 + 1534 1187 1532 3 1215 + 1532 1187 1189 3 1215 + 1531 1536 9176 3 1217 + 9176 1536 9179 3 1217 + 9176 9179 9177 3 1217 + 9177 9179 9180 3 1217 + 9177 9180 9178 3 1217 + 9178 9180 9181 3 1217 + 9178 9181 1529 3 1217 + 1529 9181 1535 3 1217 + 1536 9185 9182 3 1218 + 9182 9185 9186 3 1218 + 9182 9186 9183 3 1218 + 9183 9186 9187 3 1218 + 9183 9187 9184 3 1218 + 9184 9187 9188 3 1218 + 9184 9188 1537 3 1218 + 1537 9188 9189 3 1218 + 9185 1190 9186 3 1218 + 9186 1190 9190 3 1218 + 9186 9190 9187 3 1218 + 9187 9190 9191 3 1218 + 9187 9191 9188 3 1218 + 9188 9191 9192 3 1218 + 9188 9192 9189 3 1218 + 9189 9192 1192 3 1218 + 1537 1539 9193 3 1220 + 9193 1539 9198 3 1220 + 9193 9198 9194 3 1220 + 9194 9198 9199 3 1220 + 9194 9199 9195 3 1220 + 9195 9199 9200 3 1220 + 9195 9200 9196 3 1220 + 9196 9200 9201 3 1220 + 9196 9201 9197 3 1220 + 9197 9201 9202 3 1220 + 9197 9202 1535 3 1220 + 1535 9202 1538 3 1220 + 1539 1542 9203 3 1222 + 9203 1542 9204 3 1222 + 9203 9204 1540 3 1222 + 1540 9204 1541 3 1222 + 1542 9205 1543 3 1224 + 1543 9205 9206 3 1224 + 9205 9207 9206 3 1224 + 9206 9207 9208 3 1224 + 9207 9209 9208 3 1224 + 9208 9209 9210 3 1224 + 9209 1545 9210 3 1224 + 9210 1545 1544 3 1224 + 1545 9212 9211 3 1226 + 9211 9212 9213 3 1226 + 9211 9213 1546 3 1226 + 1546 9213 9214 3 1226 + 9212 9215 9213 3 1226 + 9213 9215 9216 3 1226 + 9213 9216 9214 3 1226 + 9214 9216 9217 3 1226 + 9215 9218 9216 3 1226 + 9216 9218 9219 3 1226 + 9216 9219 9217 3 1226 + 9217 9219 9220 3 1226 + 9218 9221 9219 3 1226 + 9219 9221 9222 3 1226 + 9219 9222 9220 3 1226 + 9220 9222 9223 3 1226 + 9221 1548 9222 3 1226 + 9222 1548 9224 3 1226 + 9222 9224 9223 3 1226 + 9223 9224 1547 3 1226 + 1548 9227 9225 3 1228 + 9225 9227 9228 3 1228 + 9225 9228 9226 3 1228 + 9226 9228 9229 3 1228 + 9226 9229 1549 3 1228 + 1549 9229 9230 3 1228 + 9227 1551 9228 3 1228 + 9228 1551 9231 3 1228 + 9228 9231 9229 3 1228 + 9229 9231 9232 3 1228 + 9229 9232 9230 3 1228 + 9230 9232 1550 3 1228 + 1551 1554 9233 3 1230 + 9233 1554 9234 3 1230 + 9233 9234 1552 3 1230 + 1552 9234 1553 3 1230 + 1554 1557 9235 3 1232 + 9235 1557 9240 3 1232 + 9235 9240 9236 3 1232 + 9236 9240 9241 3 1232 + 9236 9241 9237 3 1232 + 9237 9241 9242 3 1232 + 9237 9242 9238 3 1232 + 9238 9242 9243 3 1232 + 9238 9243 9239 3 1232 + 9239 9243 9244 3 1232 + 9239 9244 1555 3 1232 + 1555 9244 1556 3 1232 + 1557 1560 9245 3 1234 + 9245 1560 9246 3 1234 + 9245 9246 1558 3 1234 + 1558 9246 1559 3 1234 + 1560 1193 1561 3 1235 + 1561 1193 1195 3 1235 + 1561 1563 1559 3 1237 + 1559 1563 1562 3 1237 + 1563 1566 9247 3 1239 + 9247 1566 9251 3 1239 + 9247 9251 9248 3 1239 + 9248 9251 9252 3 1239 + 9248 9252 9249 3 1239 + 9249 9252 9253 3 1239 + 9249 9253 9250 3 1239 + 9250 9253 9254 3 1239 + 9250 9254 1564 3 1239 + 1564 9254 1565 3 1239 + 1566 1205 9255 3 1240 + 9255 1205 9258 3 1240 + 9255 9258 9256 3 1240 + 9256 9258 9259 3 1240 + 9256 9259 9257 3 1240 + 9257 9259 9260 3 1240 + 9257 9260 1567 3 1240 + 1567 9260 1207 3 1240 + 1567 1208 1565 3 1241 + 1565 1208 1210 3 1241 + 1564 1556 9261 3 1242 + 9261 1556 9264 3 1242 + 9261 9264 9262 3 1242 + 9262 9264 9265 3 1242 + 9262 9265 9263 3 1242 + 9263 9265 9266 3 1242 + 9263 9266 1562 3 1242 + 1562 9266 1558 3 1242 + 1555 1569 9267 3 1244 + 9267 1569 9270 3 1244 + 9267 9270 9268 3 1244 + 9268 9270 9271 3 1244 + 9268 9271 9269 3 1244 + 9269 9271 9272 3 1244 + 9269 9272 1553 3 1244 + 1553 9272 1568 3 1244 + 1569 9276 9273 3 1246 + 9273 9276 9277 3 1246 + 9273 9277 9274 3 1246 + 9274 9277 9278 3 1246 + 9274 9278 9275 3 1246 + 9275 9278 9279 3 1246 + 9275 9279 1570 3 1246 + 1570 9279 9280 3 1246 + 9276 9281 9277 3 1246 + 9277 9281 9282 3 1246 + 9277 9282 9278 3 1246 + 9278 9282 9283 3 1246 + 9278 9283 9279 3 1246 + 9279 9283 9284 3 1246 + 9279 9284 9280 3 1246 + 9280 9284 9285 3 1246 + 9281 9286 9282 3 1246 + 9282 9286 9287 3 1246 + 9282 9287 9283 3 1246 + 9283 9287 9288 3 1246 + 9283 9288 9284 3 1246 + 9284 9288 9289 3 1246 + 9284 9289 9285 3 1246 + 9285 9289 9290 3 1246 + 9286 1572 9287 3 1246 + 9287 1572 9291 3 1246 + 9287 9291 9288 3 1246 + 9288 9291 9292 3 1246 + 9288 9292 9289 3 1246 + 9289 9292 9293 3 1246 + 9289 9293 9290 3 1246 + 9290 9293 1571 3 1246 + 1572 1575 9294 3 1248 + 9294 1575 9297 3 1248 + 9294 9297 9295 3 1248 + 9295 9297 9298 3 1248 + 9295 9298 9296 3 1248 + 9296 9298 9299 3 1248 + 9296 9299 1573 3 1248 + 1573 9299 1574 3 1248 + 1575 9303 9300 3 1249 + 9300 9303 9304 3 1249 + 9300 9304 9301 3 1249 + 9301 9304 9305 3 1249 + 9301 9305 9302 3 1249 + 9302 9305 9306 3 1249 + 9302 9306 1576 3 1249 + 1576 9306 9307 3 1249 + 9303 1214 9304 3 1249 + 9304 1214 9308 3 1249 + 9304 9308 9305 3 1249 + 9305 9308 9309 3 1249 + 9305 9309 9306 3 1249 + 9306 9309 9310 3 1249 + 9306 9310 9307 3 1249 + 9307 9310 1216 3 1249 + 1576 9315 9311 3 1251 + 9311 9315 9316 3 1251 + 9311 9316 9312 3 1251 + 9312 9316 9317 3 1251 + 9312 9317 9313 3 1251 + 9313 9317 9318 3 1251 + 9313 9318 9314 3 1251 + 9314 9318 9319 3 1251 + 9314 9319 1574 3 1251 + 1574 9319 9320 3 1251 + 9315 1578 9316 3 1251 + 9316 1578 9321 3 1251 + 9316 9321 9317 3 1251 + 9317 9321 9322 3 1251 + 9317 9322 9318 3 1251 + 9318 9322 9323 3 1251 + 9318 9323 9319 3 1251 + 9319 9323 9324 3 1251 + 9319 9324 9320 3 1251 + 9320 9324 1577 3 1251 + 1578 1581 9325 3 1253 + 9325 1581 9326 3 1253 + 9325 9326 1579 3 1253 + 1579 9326 1580 3 1253 + 1581 9327 1582 3 1254 + 1582 9327 9328 3 1254 + 9327 9329 9328 3 1254 + 9328 9329 9330 3 1254 + 9329 9331 9330 3 1254 + 9330 9331 9332 3 1254 + 9331 1223 9332 3 1254 + 9332 1223 1225 3 1254 + 1582 9333 1580 3 1255 + 1580 9333 9334 3 1255 + 9333 9335 9334 3 1255 + 9334 9335 9336 3 1255 + 9335 1229 9336 3 1255 + 9336 1229 1231 3 1255 + 1579 9339 9337 3 1257 + 9337 9339 9340 3 1257 + 9337 9340 9338 3 1257 + 9338 9340 9341 3 1257 + 9338 9341 1577 3 1257 + 1577 9341 9342 3 1257 + 9339 9343 9340 3 1257 + 9340 9343 9344 3 1257 + 9340 9344 9341 3 1257 + 9341 9344 9345 3 1257 + 9341 9345 9342 3 1257 + 9342 9345 9346 3 1257 + 9343 1584 9344 3 1257 + 9344 1584 9347 3 1257 + 9344 9347 9345 3 1257 + 9345 9347 9348 3 1257 + 9345 9348 9346 3 1257 + 9346 9348 1583 3 1257 + 1584 1587 9349 3 1259 + 9349 1587 9352 3 1259 + 9349 9352 9350 3 1259 + 9350 9352 9353 3 1259 + 9350 9353 9351 3 1259 + 9351 9353 9354 3 1259 + 9351 9354 1585 3 1259 + 1585 9354 1586 3 1259 + 1587 1590 9355 3 1261 + 9355 1590 9358 3 1261 + 9355 9358 9356 3 1261 + 9356 9358 9359 3 1261 + 9356 9359 9357 3 1261 + 9357 9359 9360 3 1261 + 9357 9360 1588 3 1261 + 1588 9360 1589 3 1261 + 1590 1232 9361 3 1262 + 9361 1232 9365 3 1262 + 9361 9365 9362 3 1262 + 9362 9365 9366 3 1262 + 9362 9366 9363 3 1262 + 9363 9366 9367 3 1262 + 9363 9367 9364 3 1262 + 9364 9367 9368 3 1262 + 9364 9368 1591 3 1262 + 1591 9368 1234 3 1262 + 1591 9374 9369 3 1264 + 9369 9374 9375 3 1264 + 9369 9375 9370 3 1264 + 9370 9375 9376 3 1264 + 9370 9376 9371 3 1264 + 9371 9376 9377 3 1264 + 9371 9377 9372 3 1264 + 9372 9377 9378 3 1264 + 9372 9378 9373 3 1264 + 9373 9378 9379 3 1264 + 9373 9379 1589 3 1264 + 1589 9379 9380 3 1264 + 9374 1593 9375 3 1264 + 9375 1593 9381 3 1264 + 9375 9381 9376 3 1264 + 9376 9381 9382 3 1264 + 9376 9382 9377 3 1264 + 9377 9382 9383 3 1264 + 9377 9383 9378 3 1264 + 9378 9383 9384 3 1264 + 9378 9384 9379 3 1264 + 9379 9384 9385 3 1264 + 9379 9385 9380 3 1264 + 9380 9385 1592 3 1264 + 1593 1596 9386 3 1266 + 9386 1596 9391 3 1266 + 9386 9391 9387 3 1266 + 9387 9391 9392 3 1266 + 9387 9392 9388 3 1266 + 9388 9392 9393 3 1266 + 9388 9393 9389 3 1266 + 9389 9393 9394 3 1266 + 9389 9394 9390 3 1266 + 9390 9394 9395 3 1266 + 9390 9395 1594 3 1266 + 1594 9395 1595 3 1266 + 1596 1599 9396 3 1268 + 9396 1599 9401 3 1268 + 9396 9401 9397 3 1268 + 9397 9401 9402 3 1268 + 9397 9402 9398 3 1268 + 9398 9402 9403 3 1268 + 9398 9403 9399 3 1268 + 9399 9403 9404 3 1268 + 9399 9404 9400 3 1268 + 9400 9404 9405 3 1268 + 9400 9405 1597 3 1268 + 1597 9405 1598 3 1268 + 1599 1602 9406 3 1270 + 9406 1602 9411 3 1270 + 9406 9411 9407 3 1270 + 9407 9411 9412 3 1270 + 9407 9412 9408 3 1270 + 9408 9412 9413 3 1270 + 9408 9413 9409 3 1270 + 9409 9413 9414 3 1270 + 9409 9414 9410 3 1270 + 9410 9414 9415 3 1270 + 9410 9415 1600 3 1270 + 1600 9415 1601 3 1270 + 1603 9416 1606 3 1272 + 1606 9416 9418 3 1272 + 9416 9417 9418 3 1272 + 9418 9417 9419 3 1272 + 9419 9417 1605 3 1272 + 1602 1607 9420 3 1273 + 9420 1607 9422 3 1273 + 9420 9422 9421 3 1273 + 9421 9422 9423 3 1273 + 9421 9423 1604 3 1273 + 1607 1610 9424 3 1275 + 9424 1610 9426 3 1275 + 9424 9426 9425 3 1275 + 9425 9426 9427 3 1275 + 9425 9427 1608 3 1275 + 1608 9427 1609 3 1275 + 1610 9433 9428 3 1276 + 9428 9433 9434 3 1276 + 9428 9434 9429 3 1276 + 9429 9434 9435 3 1276 + 9429 9435 9430 3 1276 + 9430 9435 9436 3 1276 + 9430 9436 9431 3 1276 + 9431 9436 9437 3 1276 + 9431 9437 9432 3 1276 + 9432 9437 9438 3 1276 + 9432 9438 1611 3 1276 + 1611 9438 9439 3 1276 + 9433 1235 9434 3 1276 + 9434 1235 9440 3 1276 + 9434 9440 9435 3 1276 + 9435 9440 9441 3 1276 + 9435 9441 9436 3 1276 + 9436 9441 9442 3 1276 + 9436 9442 9437 3 1276 + 9437 9442 9443 3 1276 + 9437 9443 9438 3 1276 + 9438 9443 9444 3 1276 + 9438 9444 9439 3 1276 + 9439 9444 1237 3 1276 + 1609 9445 1614 3 1278 + 1614 9445 9447 3 1278 + 9445 9446 9447 3 1278 + 9447 9446 9448 3 1278 + 9448 9446 1613 3 1278 + 1611 1615 9449 3 1279 + 9449 1615 9451 3 1279 + 9449 9451 9450 3 1279 + 9450 9451 9452 3 1279 + 9450 9452 1612 3 1279 + 1615 1618 9453 3 1281 + 9453 1618 9458 3 1281 + 9453 9458 9454 3 1281 + 9454 9458 9459 3 1281 + 9454 9459 9455 3 1281 + 9455 9459 9460 3 1281 + 9455 9460 9456 3 1281 + 9456 9460 9461 3 1281 + 9456 9461 9457 3 1281 + 9457 9461 9462 3 1281 + 9457 9462 1616 3 1281 + 1616 9462 1617 3 1281 + 1619 9463 1622 3 1283 + 1622 9463 9464 3 1283 + 9464 9463 1621 3 1283 + 1618 1623 9465 3 1284 + 9465 1623 9466 3 1284 + 9465 9466 1620 3 1284 + 1623 9472 9467 3 1285 + 9467 9472 9473 3 1285 + 9467 9473 9468 3 1285 + 9468 9473 9474 3 1285 + 9468 9474 9469 3 1285 + 9469 9474 9475 3 1285 + 9469 9475 9470 3 1285 + 9470 9475 9476 3 1285 + 9470 9476 9471 3 1285 + 9471 9476 9477 3 1285 + 9471 9477 1624 3 1285 + 1624 9477 9478 3 1285 + 9472 9479 9473 3 1285 + 9473 9479 9480 3 1285 + 9473 9480 9474 3 1285 + 9474 9480 9481 3 1285 + 9474 9481 9475 3 1285 + 9475 9481 9482 3 1285 + 9475 9482 9476 3 1285 + 9476 9482 9483 3 1285 + 9476 9483 9477 3 1285 + 9477 9483 9484 3 1285 + 9477 9484 9478 3 1285 + 9478 9484 9485 3 1285 + 9479 9486 9480 3 1285 + 9480 9486 9487 3 1285 + 9480 9487 9481 3 1285 + 9481 9487 9488 3 1285 + 9481 9488 9482 3 1285 + 9482 9488 9489 3 1285 + 9482 9489 9483 3 1285 + 9483 9489 9490 3 1285 + 9483 9490 9484 3 1285 + 9484 9490 9491 3 1285 + 9484 9491 9485 3 1285 + 9485 9491 9492 3 1285 + 9486 1250 9487 3 1285 + 9487 1250 9493 3 1285 + 9487 9493 9488 3 1285 + 9488 9493 9494 3 1285 + 9488 9494 9489 3 1285 + 9489 9494 9495 3 1285 + 9489 9495 9490 3 1285 + 9490 9495 9496 3 1285 + 9490 9496 9491 3 1285 + 9491 9496 9497 3 1285 + 9491 9497 9492 3 1285 + 9492 9497 1252 3 1285 + 1624 1626 9498 3 1287 + 9498 1626 9499 3 1287 + 9498 9499 1622 3 1287 + 1622 9499 1625 3 1287 + 1626 1629 9500 3 1289 + 9500 1629 9505 3 1289 + 9500 9505 9501 3 1289 + 9501 9505 9506 3 1289 + 9501 9506 9502 3 1289 + 9502 9506 9507 3 1289 + 9502 9507 9503 3 1289 + 9503 9507 9508 3 1289 + 9503 9508 9504 3 1289 + 9504 9508 9509 3 1289 + 9504 9509 1627 3 1289 + 1627 9509 1628 3 1289 + 1629 9514 9510 3 1291 + 9510 9514 9515 3 1291 + 9510 9515 9511 3 1291 + 9511 9515 9516 3 1291 + 9511 9516 9512 3 1291 + 9512 9516 9517 3 1291 + 9512 9517 9513 3 1291 + 9513 9517 9518 3 1291 + 9513 9518 1630 3 1291 + 1630 9518 9519 3 1291 + 9514 9520 9515 3 1291 + 9515 9520 9521 3 1291 + 9515 9521 9516 3 1291 + 9516 9521 9522 3 1291 + 9516 9522 9517 3 1291 + 9517 9522 9523 3 1291 + 9517 9523 9518 3 1291 + 9518 9523 9524 3 1291 + 9518 9524 9519 3 1291 + 9519 9524 9525 3 1291 + 9520 1632 9521 3 1291 + 9521 1632 9526 3 1291 + 9521 9526 9522 3 1291 + 9522 9526 9527 3 1291 + 9522 9527 9523 3 1291 + 9523 9527 9528 3 1291 + 9523 9528 9524 3 1291 + 9524 9528 9529 3 1291 + 9524 9529 9525 3 1291 + 9525 9529 1631 3 1291 + 1632 9530 1633 3 1293 + 1633 9530 9531 3 1293 + 9530 9532 9531 3 1293 + 9531 9532 9533 3 1293 + 9532 9534 9533 3 1293 + 9533 9534 9535 3 1293 + 9534 1635 9535 3 1293 + 9535 1635 1634 3 1293 + 1635 9537 9536 3 1295 + 9536 9537 9538 3 1295 + 9536 9538 1636 3 1295 + 1636 9538 9539 3 1295 + 9537 9540 9538 3 1295 + 9538 9540 9541 3 1295 + 9538 9541 9539 3 1295 + 9539 9541 9542 3 1295 + 9540 9543 9541 3 1295 + 9541 9543 9544 3 1295 + 9541 9544 9542 3 1295 + 9542 9544 9545 3 1295 + 9543 9546 9544 3 1295 + 9544 9546 9547 3 1295 + 9544 9547 9545 3 1295 + 9545 9547 9548 3 1295 + 9546 1638 9547 3 1295 + 9547 1638 9549 3 1295 + 9547 9549 9548 3 1295 + 9548 9549 1637 3 1295 + 1638 1253 1639 3 1296 + 1639 1253 1255 3 1296 + 1639 1256 1637 3 1297 + 1637 1256 1258 3 1297 + 1636 9550 1634 3 1298 + 1634 9550 9551 3 1298 + 9550 9552 9551 3 1298 + 9551 9552 9553 3 1298 + 9552 9554 9553 3 1298 + 9553 9554 9555 3 1298 + 9554 1270 9555 3 1298 + 9555 1270 1272 3 1298 + 1633 1641 9556 3 1300 + 9556 1641 9560 3 1300 + 9556 9560 9557 3 1300 + 9557 9560 9561 3 1300 + 9557 9561 9558 3 1300 + 9558 9561 9562 3 1300 + 9558 9562 9559 3 1300 + 9559 9562 9563 3 1300 + 9559 9563 1631 3 1300 + 1631 9563 1640 3 1300 + 1641 1273 1642 3 1301 + 1642 1273 1275 3 1301 + 1642 1279 9564 3 1302 + 9564 1279 9567 3 1302 + 9564 9567 9565 3 1302 + 9565 9567 9568 3 1302 + 9565 9568 9566 3 1302 + 9566 9568 9569 3 1302 + 9566 9569 1640 3 1302 + 1640 9569 1281 3 1302 + 1630 9570 1628 3 1304 + 1628 9570 9571 3 1304 + 9570 9572 9571 3 1304 + 9571 9572 9573 3 1304 + 9572 9574 9573 3 1304 + 9573 9574 9575 3 1304 + 9574 9576 9575 3 1304 + 9575 9576 9577 3 1304 + 9576 9578 9577 3 1304 + 9577 9578 9579 3 1304 + 9578 9580 9579 3 1304 + 9579 9580 9581 3 1304 + 9580 1644 9581 3 1304 + 9581 1644 1643 3 1304 + 1644 9587 9582 3 1305 + 9582 9587 9588 3 1305 + 9582 9588 9583 3 1305 + 9583 9588 9589 3 1305 + 9583 9589 9584 3 1305 + 9584 9589 9590 3 1305 + 9584 9590 9585 3 1305 + 9585 9590 9591 3 1305 + 9585 9591 9586 3 1305 + 9586 9591 9592 3 1305 + 9586 9592 1645 3 1305 + 1645 9592 9593 3 1305 + 9587 1282 9588 3 1305 + 9588 1282 9594 3 1305 + 9588 9594 9589 3 1305 + 9589 9594 9595 3 1305 + 9589 9595 9590 3 1305 + 9590 9595 9596 3 1305 + 9590 9596 9591 3 1305 + 9591 9596 9597 3 1305 + 9591 9597 9592 3 1305 + 9592 9597 9598 3 1305 + 9592 9598 9593 3 1305 + 9593 9598 1284 3 1305 + 1645 1647 9599 3 1307 + 9599 1647 9604 3 1307 + 9599 9604 9600 3 1307 + 9600 9604 9605 3 1307 + 9600 9605 9601 3 1307 + 9601 9605 9606 3 1307 + 9601 9606 9602 3 1307 + 9602 9606 9607 3 1307 + 9602 9607 9603 3 1307 + 9603 9607 9608 3 1307 + 9603 9608 1643 3 1307 + 1643 9608 1646 3 1307 + 1647 1650 9609 3 1309 + 9609 1650 9614 3 1309 + 9609 9614 9610 3 1309 + 9610 9614 9615 3 1309 + 9610 9615 9611 3 1309 + 9611 9615 9616 3 1309 + 9611 9616 9612 3 1309 + 9612 9616 9617 3 1309 + 9612 9617 9613 3 1309 + 9613 9617 9618 3 1309 + 9613 9618 1648 3 1309 + 1648 9618 1649 3 1309 + 1650 1653 9619 3 1311 + 9619 1653 9623 3 1311 + 9619 9623 9620 3 1311 + 9620 9623 9624 3 1311 + 9620 9624 9621 3 1311 + 9621 9624 9625 3 1311 + 9621 9625 9622 3 1311 + 9622 9625 9626 3 1311 + 9622 9626 1651 3 1311 + 1651 9626 1652 3 1311 + 1653 1656 9627 3 1313 + 9627 1656 9629 3 1313 + 9627 9629 9628 3 1313 + 9628 9629 9630 3 1313 + 9628 9630 1654 3 1313 + 1654 9630 1655 3 1313 + 1656 1659 9631 3 1315 + 9631 1659 9636 3 1315 + 9631 9636 9632 3 1315 + 9632 9636 9637 3 1315 + 9632 9637 9633 3 1315 + 9633 9637 9638 3 1315 + 9633 9638 9634 3 1315 + 9634 9638 9639 3 1315 + 9634 9639 9635 3 1315 + 9635 9639 9640 3 1315 + 9635 9640 1657 3 1315 + 1657 9640 1658 3 1315 + 1659 9644 9641 3 1316 + 9641 9644 9645 3 1316 + 9641 9645 9642 3 1316 + 9642 9645 9646 3 1316 + 9642 9646 9643 3 1316 + 9643 9646 9647 3 1316 + 9643 9647 1660 3 1316 + 1660 9647 9648 3 1316 + 9644 9649 9645 3 1316 + 9645 9649 9650 3 1316 + 9645 9650 9646 3 1316 + 9646 9650 9651 3 1316 + 9646 9651 9647 3 1316 + 9647 9651 9652 3 1316 + 9647 9652 9648 3 1316 + 9648 9652 9653 3 1316 + 9649 9654 9650 3 1316 + 9650 9654 9655 3 1316 + 9650 9655 9651 3 1316 + 9651 9655 9656 3 1316 + 9651 9656 9652 3 1316 + 9652 9656 9657 3 1316 + 9652 9657 9653 3 1316 + 9653 9657 9658 3 1316 + 9654 9659 9655 3 1316 + 9655 9659 9660 3 1316 + 9655 9660 9656 3 1316 + 9656 9660 9661 3 1316 + 9656 9661 9657 3 1316 + 9657 9661 9662 3 1316 + 9657 9662 9658 3 1316 + 9658 9662 9663 3 1316 + 9659 1294 9660 3 1316 + 9660 1294 9664 3 1316 + 9660 9664 9661 3 1316 + 9661 9664 9665 3 1316 + 9661 9665 9662 3 1316 + 9662 9665 9666 3 1316 + 9662 9666 9663 3 1316 + 9663 9666 1296 3 1316 + 1660 1662 9667 3 1318 + 9667 1662 9671 3 1318 + 9667 9671 9668 3 1318 + 9668 9671 9672 3 1318 + 9668 9672 9669 3 1318 + 9669 9672 9673 3 1318 + 9669 9673 9670 3 1318 + 9670 9673 9674 3 1318 + 9670 9674 1658 3 1318 + 1658 9674 1661 3 1318 + 1662 1665 9675 3 1320 + 9675 1665 9681 3 1320 + 9675 9681 9676 3 1320 + 9676 9681 9682 3 1320 + 9676 9682 9677 3 1320 + 9677 9682 9683 3 1320 + 9677 9683 9678 3 1320 + 9678 9683 9684 3 1320 + 9678 9684 9679 3 1320 + 9679 9684 9685 3 1320 + 9679 9685 9680 3 1320 + 9680 9685 9686 3 1320 + 9680 9686 1663 3 1320 + 1663 9686 1664 3 1320 + 1665 9688 9687 3 1322 + 9687 9688 9689 3 1322 + 9687 9689 1666 3 1322 + 1666 9689 9690 3 1322 + 9688 9691 9689 3 1322 + 9689 9691 9692 3 1322 + 9689 9692 9690 3 1322 + 9690 9692 9693 3 1322 + 9691 9694 9692 3 1322 + 9692 9694 9695 3 1322 + 9692 9695 9693 3 1322 + 9693 9695 9696 3 1322 + 9694 9697 9695 3 1322 + 9695 9697 9698 3 1322 + 9695 9698 9696 3 1322 + 9696 9698 9699 3 1322 + 9697 9700 9698 3 1322 + 9698 9700 9701 3 1322 + 9698 9701 9699 3 1322 + 9699 9701 9702 3 1322 + 9700 9703 9701 3 1322 + 9701 9703 9704 3 1322 + 9701 9704 9702 3 1322 + 9702 9704 9705 3 1322 + 9703 9706 9704 3 1322 + 9704 9706 9707 3 1322 + 9704 9707 9705 3 1322 + 9705 9707 9708 3 1322 + 9706 1668 9707 3 1322 + 9707 1668 9709 3 1322 + 9707 9709 9708 3 1322 + 9708 9709 1667 3 1322 + 1668 1671 9710 3 1324 + 9710 1671 9713 3 1324 + 9710 9713 9711 3 1324 + 9711 9713 9714 3 1324 + 9711 9714 9712 3 1324 + 9712 9714 9715 3 1324 + 9712 9715 1669 3 1324 + 1669 9715 1670 3 1324 + 1671 9719 9716 3 1325 + 9716 9719 9720 3 1325 + 9716 9720 9717 3 1325 + 9717 9720 9721 3 1325 + 9717 9721 9718 3 1325 + 9718 9721 9722 3 1325 + 9718 9722 1672 3 1325 + 1672 9722 9723 3 1325 + 9719 9724 9720 3 1325 + 9720 9724 9725 3 1325 + 9720 9725 9721 3 1325 + 9721 9725 9726 3 1325 + 9721 9726 9722 3 1325 + 9722 9726 9727 3 1325 + 9722 9727 9723 3 1325 + 9723 9727 9728 3 1325 + 9724 1297 9725 3 1325 + 9725 1297 9729 3 1325 + 9725 9729 9726 3 1325 + 9726 9729 9730 3 1325 + 9726 9730 9727 3 1325 + 9727 9730 9731 3 1325 + 9727 9731 9728 3 1325 + 9728 9731 1299 3 1325 + 1672 9732 1670 3 1326 + 1670 9732 9733 3 1326 + 9732 9734 9733 3 1326 + 9733 9734 9735 3 1326 + 9734 9736 9735 3 1326 + 9735 9736 9737 3 1326 + 9736 9738 9737 3 1326 + 9737 9738 9739 3 1326 + 9738 9740 9739 3 1326 + 9739 9740 9741 3 1326 + 9740 1308 9741 3 1326 + 9741 1308 1310 3 1326 + 1669 1674 9742 3 1328 + 9742 1674 9747 3 1328 + 9742 9747 9743 3 1328 + 9743 9747 9748 3 1328 + 9743 9748 9744 3 1328 + 9744 9748 9749 3 1328 + 9744 9749 9745 3 1328 + 9745 9749 9750 3 1328 + 9745 9750 9746 3 1328 + 9746 9750 9751 3 1328 + 9746 9751 1667 3 1328 + 1667 9751 1673 3 1328 + 1674 9755 9752 3 1330 + 9752 9755 9756 3 1330 + 9752 9756 9753 3 1330 + 9753 9756 9757 3 1330 + 9753 9757 9754 3 1330 + 9754 9757 9758 3 1330 + 9754 9758 1675 3 1330 + 1675 9758 9759 3 1330 + 9755 1677 9756 3 1330 + 9756 1677 9760 3 1330 + 9756 9760 9757 3 1330 + 9757 9760 9761 3 1330 + 9757 9761 9758 3 1330 + 9758 9761 9762 3 1330 + 9758 9762 9759 3 1330 + 9759 9762 1676 3 1330 + 1677 1680 9763 3 1332 + 9763 1680 9768 3 1332 + 9763 9768 9764 3 1332 + 9764 9768 9769 3 1332 + 9764 9769 9765 3 1332 + 9765 9769 9770 3 1332 + 9765 9770 9766 3 1332 + 9766 9770 9771 3 1332 + 9766 9771 9767 3 1332 + 9767 9771 9772 3 1332 + 9767 9772 1678 3 1332 + 1678 9772 1679 3 1332 + 1680 1683 9773 3 1334 + 9773 1683 9778 3 1334 + 9773 9778 9774 3 1334 + 9774 9778 9779 3 1334 + 9774 9779 9775 3 1334 + 9775 9779 9780 3 1334 + 9775 9780 9776 3 1334 + 9776 9780 9781 3 1334 + 9776 9781 9777 3 1334 + 9777 9781 9782 3 1334 + 9777 9782 1681 3 1334 + 1681 9782 1682 3 1334 + 1683 9787 9783 3 1335 + 9783 9787 9788 3 1335 + 9783 9788 9784 3 1335 + 9784 9788 9789 3 1335 + 9784 9789 9785 3 1335 + 9785 9789 9790 3 1335 + 9785 9790 9786 3 1335 + 9786 9790 9791 3 1335 + 9786 9791 1684 3 1335 + 1684 9791 9792 3 1335 + 9787 1314 9788 3 1335 + 9788 1314 9793 3 1335 + 9788 9793 9789 3 1335 + 9789 9793 9794 3 1335 + 9789 9794 9790 3 1335 + 9790 9794 9795 3 1335 + 9790 9795 9791 3 1335 + 9791 9795 9796 3 1335 + 9791 9796 9792 3 1335 + 9792 9796 1316 3 1335 + 1684 9797 1682 3 1337 + 1682 9797 9798 3 1337 + 9797 9799 9798 3 1337 + 9798 9799 9800 3 1337 + 9799 1686 9800 3 1337 + 9800 1686 1685 3 1337 + 1686 9803 9801 3 1339 + 9801 9803 9804 3 1339 + 9801 9804 9802 3 1339 + 9802 9804 9805 3 1339 + 9802 9805 1687 3 1339 + 1687 9805 9806 3 1339 + 9803 9807 9804 3 1339 + 9804 9807 9808 3 1339 + 9804 9808 9805 3 1339 + 9805 9808 9809 3 1339 + 9805 9809 9806 3 1339 + 9806 9809 9810 3 1339 + 9807 9811 9808 3 1339 + 9808 9811 9812 3 1339 + 9808 9812 9809 3 1339 + 9809 9812 9813 3 1339 + 9809 9813 9810 3 1339 + 9810 9813 9814 3 1339 + 9811 1689 9812 3 1339 + 9812 1689 9815 3 1339 + 9812 9815 9813 3 1339 + 9813 9815 9816 3 1339 + 9813 9816 9814 3 1339 + 9814 9816 1688 3 1339 + 1689 9817 1690 3 1340 + 1690 9817 9818 3 1340 + 9817 1320 9818 3 1340 + 9818 1320 1322 3 1340 + 1690 1692 9819 3 1342 + 9819 1692 9822 3 1342 + 9819 9822 9820 3 1342 + 9820 9822 9823 3 1342 + 9820 9823 9821 3 1342 + 9821 9823 9824 3 1342 + 9821 9824 1688 3 1342 + 1688 9824 1691 3 1342 + 1692 1695 9825 3 1344 + 9825 1695 9828 3 1344 + 9825 9828 9826 3 1344 + 9826 9828 9829 3 1344 + 9826 9829 9827 3 1344 + 9827 9829 9830 3 1344 + 9827 9830 1693 3 1344 + 1693 9830 1694 3 1344 + 1695 1323 9831 3 1345 + 9831 1323 9835 3 1345 + 9831 9835 9832 3 1345 + 9832 9835 9836 3 1345 + 9832 9836 9833 3 1345 + 9833 9836 9837 3 1345 + 9833 9837 9834 3 1345 + 9834 9837 9838 3 1345 + 9834 9838 1696 3 1345 + 1696 9838 1325 3 1345 + 1696 9840 9839 3 1347 + 9839 9840 9841 3 1347 + 9839 9841 1694 3 1347 + 1694 9841 9842 3 1347 + 9840 9843 9841 3 1347 + 9841 9843 9844 3 1347 + 9841 9844 9842 3 1347 + 9842 9844 9845 3 1347 + 9843 1698 9844 3 1347 + 9844 1698 9846 3 1347 + 9844 9846 9845 3 1347 + 9845 9846 1697 3 1347 + 1698 1701 9847 3 1349 + 9847 1701 9850 3 1349 + 9847 9850 9848 3 1349 + 9848 9850 9851 3 1349 + 9848 9851 9849 3 1349 + 9849 9851 9852 3 1349 + 9849 9852 1699 3 1349 + 1699 9852 1700 3 1349 + 1701 9853 1702 3 1351 + 1702 9853 9854 3 1351 + 9853 9855 9854 3 1351 + 9854 9855 9856 3 1351 + 9855 9857 9856 3 1351 + 9856 9857 9858 3 1351 + 9857 9859 9858 3 1351 + 9858 9859 9860 3 1351 + 9859 1704 9860 3 1351 + 9860 1704 1703 3 1351 + 1704 9863 9861 3 1353 + 9861 9863 9864 3 1353 + 9861 9864 9862 3 1353 + 9862 9864 9865 3 1353 + 9862 9865 1705 3 1353 + 1705 9865 9866 3 1353 + 9863 1707 9864 3 1353 + 9864 1707 9867 3 1353 + 9864 9867 9865 3 1353 + 9865 9867 9868 3 1353 + 9865 9868 9866 3 1353 + 9866 9868 1706 3 1353 + 1707 1329 9869 3 1354 + 9869 1329 9874 3 1354 + 9869 9874 9870 3 1354 + 9870 9874 9875 3 1354 + 9870 9875 9871 3 1354 + 9871 9875 9876 3 1354 + 9871 9876 9872 3 1354 + 9872 9876 9877 3 1354 + 9872 9877 9873 3 1354 + 9873 9877 9878 3 1354 + 9873 9878 1708 3 1354 + 1708 9878 1331 3 1354 + 1708 9884 9879 3 1356 + 9879 9884 9885 3 1356 + 9879 9885 9880 3 1356 + 9880 9885 9886 3 1356 + 9880 9886 9881 3 1356 + 9881 9886 9887 3 1356 + 9881 9887 9882 3 1356 + 9882 9887 9888 3 1356 + 9882 9888 9883 3 1356 + 9883 9888 9889 3 1356 + 9883 9889 1706 3 1356 + 1706 9889 9890 3 1356 + 9884 1710 9885 3 1356 + 9885 1710 9891 3 1356 + 9885 9891 9886 3 1356 + 9886 9891 9892 3 1356 + 9886 9892 9887 3 1356 + 9887 9892 9893 3 1356 + 9887 9893 9888 3 1356 + 9888 9893 9894 3 1356 + 9888 9894 9889 3 1356 + 9889 9894 9895 3 1356 + 9889 9895 9890 3 1356 + 9890 9895 1709 3 1356 + 1710 1335 9896 3 1357 + 9896 1335 9898 3 1357 + 9896 9898 9897 3 1357 + 9897 9898 9899 3 1357 + 9897 9899 1711 3 1357 + 1711 9899 1337 3 1357 + 1711 1713 9900 3 1359 + 9900 1713 9904 3 1359 + 9900 9904 9901 3 1359 + 9901 9904 9905 3 1359 + 9901 9905 9902 3 1359 + 9902 9905 9906 3 1359 + 9902 9906 9903 3 1359 + 9903 9906 9907 3 1359 + 9903 9907 1709 3 1359 + 1709 9907 1712 3 1359 + 1713 1716 9908 3 1361 + 9908 1716 9911 3 1361 + 9908 9911 9909 3 1361 + 9909 9911 9912 3 1361 + 9909 9912 9910 3 1361 + 9910 9912 9913 3 1361 + 9910 9913 1714 3 1361 + 1714 9913 1715 3 1361 + 1716 1341 9914 3 1362 + 9914 1341 9915 3 1362 + 9914 9915 1717 3 1362 + 1717 9915 1343 3 1362 + 1717 1719 9916 3 1364 + 9916 1719 9917 3 1364 + 9916 9917 1715 3 1364 + 1715 9917 1718 3 1364 + 1719 1344 9918 3 1365 + 9918 1344 9920 3 1365 + 9918 9920 9919 3 1365 + 9919 9920 9921 3 1365 + 9919 9921 1720 3 1365 + 1720 9921 1346 3 1365 + 1720 9922 1718 3 1367 + 1718 9922 9923 3 1367 + 9922 9924 9923 3 1367 + 9923 9924 9925 3 1367 + 9924 1722 9925 3 1367 + 9925 1722 1721 3 1367 + 1722 1725 9926 3 1369 + 9926 1725 9927 3 1369 + 9926 9927 1723 3 1369 + 1723 9927 1724 3 1369 + 1725 9931 9928 3 1371 + 9928 9931 9932 3 1371 + 9928 9932 9929 3 1371 + 9929 9932 9933 3 1371 + 9929 9933 9930 3 1371 + 9930 9933 9934 3 1371 + 9930 9934 1726 3 1371 + 1726 9934 9935 3 1371 + 9931 9936 9932 3 1371 + 9932 9936 9937 3 1371 + 9932 9937 9933 3 1371 + 9933 9937 9938 3 1371 + 9933 9938 9934 3 1371 + 9934 9938 9939 3 1371 + 9934 9939 9935 3 1371 + 9935 9939 9940 3 1371 + 9936 1728 9937 3 1371 + 9937 1728 9941 3 1371 + 9937 9941 9938 3 1371 + 9938 9941 9942 3 1371 + 9938 9942 9939 3 1371 + 9939 9942 9943 3 1371 + 9939 9943 9940 3 1371 + 9940 9943 1727 3 1371 + 1728 1352 9944 3 1372 + 9944 1352 9948 3 1372 + 9944 9948 9945 3 1372 + 9945 9948 9949 3 1372 + 9945 9949 9946 3 1372 + 9946 9949 9950 3 1372 + 9946 9950 9947 3 1372 + 9947 9950 9951 3 1372 + 9947 9951 1729 3 1372 + 1729 9951 1354 3 1372 + 1727 9952 1732 3 1374 + 1732 9952 9953 3 1374 + 9953 9952 1731 3 1374 + 1729 1733 9954 3 1375 + 9954 1733 9955 3 1375 + 9954 9955 1730 3 1375 + 1733 9957 9956 3 1377 + 9956 9957 9958 3 1377 + 9956 9958 1734 3 1377 + 1734 9958 9959 3 1377 + 9957 9960 9958 3 1377 + 9958 9960 9961 3 1377 + 9958 9961 9959 3 1377 + 9959 9961 9962 3 1377 + 9960 9963 9961 3 1377 + 9961 9963 9964 3 1377 + 9961 9964 9962 3 1377 + 9962 9964 9965 3 1377 + 9963 9966 9964 3 1377 + 9964 9966 9967 3 1377 + 9964 9967 9965 3 1377 + 9965 9967 9968 3 1377 + 9966 9969 9967 3 1377 + 9967 9969 9970 3 1377 + 9967 9970 9968 3 1377 + 9968 9970 9971 3 1377 + 9969 1736 9970 3 1377 + 9970 1736 9972 3 1377 + 9970 9972 9971 3 1377 + 9971 9972 1735 3 1377 + 1736 1361 9973 3 1378 + 9973 1361 9977 3 1378 + 9973 9977 9974 3 1378 + 9974 9977 9978 3 1378 + 9974 9978 9975 3 1378 + 9975 9978 9979 3 1378 + 9975 9979 9976 3 1378 + 9976 9979 9980 3 1378 + 9976 9980 1737 3 1378 + 1737 9980 1363 3 1378 + 1737 1370 9981 3 1379 + 9981 1370 9985 3 1379 + 9981 9985 9982 3 1379 + 9982 9985 9986 3 1379 + 9982 9986 9983 3 1379 + 9983 9986 9987 3 1379 + 9983 9987 9984 3 1379 + 9984 9987 9988 3 1379 + 9984 9988 1735 3 1379 + 1735 9988 1372 3 1379 + 1734 9994 9989 3 1381 + 9989 9994 9995 3 1381 + 9989 9995 9990 3 1381 + 9990 9995 9996 3 1381 + 9990 9996 9991 3 1381 + 9991 9996 9997 3 1381 + 9991 9997 9992 3 1381 + 9992 9997 9998 3 1381 + 9992 9998 9993 3 1381 + 9993 9998 9999 3 1381 + 9993 9999 1732 3 1381 + 1732 9999 10000 3 1381 + 9994 1739 9995 3 1381 + 9995 1739 10001 3 1381 + 9995 10001 9996 3 1381 + 9996 10001 10002 3 1381 + 9996 10002 9997 3 1381 + 9997 10002 10003 3 1381 + 9997 10003 9998 3 1381 + 9998 10003 10004 3 1381 + 9998 10004 9999 3 1381 + 9999 10004 10005 3 1381 + 9999 10005 10000 3 1381 + 10000 10005 1738 3 1381 + 1739 10011 10006 3 1383 + 10006 10011 10012 3 1383 + 10006 10012 10007 3 1383 + 10007 10012 10013 3 1383 + 10007 10013 10008 3 1383 + 10008 10013 10014 3 1383 + 10008 10014 10009 3 1383 + 10009 10014 10015 3 1383 + 10009 10015 10010 3 1383 + 10010 10015 10016 3 1383 + 10010 10016 1740 3 1383 + 1740 10016 10017 3 1383 + 10011 10018 10012 3 1383 + 10012 10018 10019 3 1383 + 10012 10019 10013 3 1383 + 10013 10019 10020 3 1383 + 10013 10020 10014 3 1383 + 10014 10020 10021 3 1383 + 10014 10021 10015 3 1383 + 10015 10021 10022 3 1383 + 10015 10022 10016 3 1383 + 10016 10022 10023 3 1383 + 10016 10023 10017 3 1383 + 10017 10023 10024 3 1383 + 10018 1742 10019 3 1383 + 10019 1742 10025 3 1383 + 10019 10025 10020 3 1383 + 10020 10025 10026 3 1383 + 10020 10026 10021 3 1383 + 10021 10026 10027 3 1383 + 10021 10027 10022 3 1383 + 10022 10027 10028 3 1383 + 10022 10028 10023 3 1383 + 10023 10028 10029 3 1383 + 10023 10029 10024 3 1383 + 10024 10029 1741 3 1383 + 1742 1745 10030 3 1385 + 10030 1745 10034 3 1385 + 10030 10034 10031 3 1385 + 10031 10034 10035 3 1385 + 10031 10035 10032 3 1385 + 10032 10035 10036 3 1385 + 10032 10036 10033 3 1385 + 10033 10036 10037 3 1385 + 10033 10037 1743 3 1385 + 1743 10037 1744 3 1385 + 1745 1748 10038 3 1387 + 10038 1748 10039 3 1387 + 10038 10039 1746 3 1387 + 1746 10039 1747 3 1387 + 1748 10043 10040 3 1389 + 10040 10043 10044 3 1389 + 10040 10044 10041 3 1389 + 10041 10044 10045 3 1389 + 10041 10045 10042 3 1389 + 10042 10045 10046 3 1389 + 10042 10046 1749 3 1389 + 1749 10046 10047 3 1389 + 10043 10048 10044 3 1389 + 10044 10048 10049 3 1389 + 10044 10049 10045 3 1389 + 10045 10049 10050 3 1389 + 10045 10050 10046 3 1389 + 10046 10050 10051 3 1389 + 10046 10051 10047 3 1389 + 10047 10051 10052 3 1389 + 10048 10053 10049 3 1389 + 10049 10053 10054 3 1389 + 10049 10054 10050 3 1389 + 10050 10054 10055 3 1389 + 10050 10055 10051 3 1389 + 10051 10055 10056 3 1389 + 10051 10056 10052 3 1389 + 10052 10056 10057 3 1389 + 10053 1751 10054 3 1389 + 10054 1751 10058 3 1389 + 10054 10058 10055 3 1389 + 10055 10058 10059 3 1389 + 10055 10059 10056 3 1389 + 10056 10059 10060 3 1389 + 10056 10060 10057 3 1389 + 10057 10060 1750 3 1389 + 1751 10066 10061 3 1390 + 10061 10066 10067 3 1390 + 10061 10067 10062 3 1390 + 10062 10067 10068 3 1390 + 10062 10068 10063 3 1390 + 10063 10068 10069 3 1390 + 10063 10069 10064 3 1390 + 10064 10069 10070 3 1390 + 10064 10070 10065 3 1390 + 10065 10070 10071 3 1390 + 10065 10071 1752 3 1390 + 1752 10071 10072 3 1390 + 10066 1373 10067 3 1390 + 10067 1373 10073 3 1390 + 10067 10073 10068 3 1390 + 10068 10073 10074 3 1390 + 10068 10074 10069 3 1390 + 10069 10074 10075 3 1390 + 10069 10075 10070 3 1390 + 10070 10075 10076 3 1390 + 10070 10076 10071 3 1390 + 10071 10076 10077 3 1390 + 10071 10077 10072 3 1390 + 10072 10077 1375 3 1390 + 1752 10078 1750 3 1392 + 1750 10078 10079 3 1392 + 10078 10080 10079 3 1392 + 10079 10080 10081 3 1392 + 10080 10082 10081 3 1392 + 10081 10082 10083 3 1392 + 10082 1754 10083 3 1392 + 10083 1754 1753 3 1392 + 1754 1757 10084 3 1394 + 10084 1757 10089 3 1394 + 10084 10089 10085 3 1394 + 10085 10089 10090 3 1394 + 10085 10090 10086 3 1394 + 10086 10090 10091 3 1394 + 10086 10091 10087 3 1394 + 10087 10091 10092 3 1394 + 10087 10092 10088 3 1394 + 10088 10092 10093 3 1394 + 10088 10093 1755 3 1394 + 1755 10093 1756 3 1394 + 1758 10094 1761 3 1396 + 1761 10094 10096 3 1396 + 10094 10095 10096 3 1396 + 10096 10095 10097 3 1396 + 10097 10095 1760 3 1396 + 1757 1762 10098 3 1397 + 10098 1762 10100 3 1397 + 10098 10100 10099 3 1397 + 10099 10100 10101 3 1397 + 10099 10101 1759 3 1397 + 1762 10106 10102 3 1399 + 10102 10106 10107 3 1399 + 10102 10107 10103 3 1399 + 10103 10107 10108 3 1399 + 10103 10108 10104 3 1399 + 10104 10108 10109 3 1399 + 10104 10109 10105 3 1399 + 10105 10109 10110 3 1399 + 10105 10110 1763 3 1399 + 1763 10110 10111 3 1399 + 10106 10112 10107 3 1399 + 10107 10112 10113 3 1399 + 10107 10113 10108 3 1399 + 10108 10113 10114 3 1399 + 10108 10114 10109 3 1399 + 10109 10114 10115 3 1399 + 10109 10115 10110 3 1399 + 10110 10115 10116 3 1399 + 10110 10116 10111 3 1399 + 10111 10116 10117 3 1399 + 10112 10118 10113 3 1399 + 10113 10118 10119 3 1399 + 10113 10119 10114 3 1399 + 10114 10119 10120 3 1399 + 10114 10120 10115 3 1399 + 10115 10120 10121 3 1399 + 10115 10121 10116 3 1399 + 10116 10121 10122 3 1399 + 10116 10122 10117 3 1399 + 10117 10122 10123 3 1399 + 10118 10124 10119 3 1399 + 10119 10124 10125 3 1399 + 10119 10125 10120 3 1399 + 10120 10125 10126 3 1399 + 10120 10126 10121 3 1399 + 10121 10126 10127 3 1399 + 10121 10127 10122 3 1399 + 10122 10127 10128 3 1399 + 10122 10128 10123 3 1399 + 10123 10128 10129 3 1399 + 10124 1765 10125 3 1399 + 10125 1765 10130 3 1399 + 10125 10130 10126 3 1399 + 10126 10130 10131 3 1399 + 10126 10131 10127 3 1399 + 10127 10131 10132 3 1399 + 10127 10132 10128 3 1399 + 10128 10132 10133 3 1399 + 10128 10133 10129 3 1399 + 10129 10133 1764 3 1399 + 1765 1768 1766 3 1401 + 1766 1768 1767 3 1401 + 1768 10138 10134 3 1403 + 10134 10138 10139 3 1403 + 10134 10139 10135 3 1403 + 10135 10139 10140 3 1403 + 10135 10140 10136 3 1403 + 10136 10140 10141 3 1403 + 10136 10141 10137 3 1403 + 10137 10141 10142 3 1403 + 10137 10142 1769 3 1403 + 1769 10142 10143 3 1403 + 10138 1771 10139 3 1403 + 10139 1771 10144 3 1403 + 10139 10144 10140 3 1403 + 10140 10144 10145 3 1403 + 10140 10145 10141 3 1403 + 10141 10145 10146 3 1403 + 10141 10146 10142 3 1403 + 10142 10146 10147 3 1403 + 10142 10147 10143 3 1403 + 10143 10147 1770 3 1403 + 1771 1376 10148 3 1404 + 10148 1376 10152 3 1404 + 10148 10152 10149 3 1404 + 10149 10152 10153 3 1404 + 10149 10153 10150 3 1404 + 10150 10153 10154 3 1404 + 10150 10154 10151 3 1404 + 10151 10154 10155 3 1404 + 10151 10155 1772 3 1404 + 1772 10155 1378 3 1404 + 1772 10156 1770 3 1406 + 1770 10156 10157 3 1406 + 10156 10158 10157 3 1406 + 10157 10158 10159 3 1406 + 10158 1774 10159 3 1406 + 10159 1774 1773 3 1406 + 1774 1777 10160 3 1408 + 10160 1777 10161 3 1408 + 10160 10161 1775 3 1408 + 1775 10161 1776 3 1408 + 1777 1780 10162 3 1410 + 10162 1780 10164 3 1410 + 10162 10164 10163 3 1410 + 10163 10164 10165 3 1410 + 10163 10165 1778 3 1410 + 1778 10165 1779 3 1410 + 1780 10166 1781 3 1411 + 1781 10166 10167 3 1411 + 10166 10168 10167 3 1411 + 10167 10168 10169 3 1411 + 10168 1379 10169 3 1411 + 10169 1379 1381 3 1411 + 1781 1783 10170 3 1413 + 10170 1783 10171 3 1413 + 10170 10171 1779 3 1413 + 1779 10171 1782 3 1413 + 1783 10172 1784 3 1414 + 1784 10172 10173 3 1414 + 10172 10174 10173 3 1414 + 10173 10174 10175 3 1414 + 10174 1388 10175 3 1414 + 10175 1388 1390 3 1414 + 1784 10176 1782 3 1415 + 1782 10176 10177 3 1415 + 10176 10178 10177 3 1415 + 10177 10178 10179 3 1415 + 10178 1391 10179 3 1415 + 10179 1391 1393 3 1415 + 1778 10180 1776 3 1417 + 1776 10180 10181 3 1417 + 10180 10182 10181 3 1417 + 10181 10182 10183 3 1417 + 10182 10184 10183 3 1417 + 10183 10184 10185 3 1417 + 10184 10186 10185 3 1417 + 10185 10186 10187 3 1417 + 10186 10188 10187 3 1417 + 10187 10188 10189 3 1417 + 10188 10190 10189 3 1417 + 10189 10190 10191 3 1417 + 10190 10192 10191 3 1417 + 10191 10192 10193 3 1417 + 10192 1786 10193 3 1417 + 10193 1786 1785 3 1417 + 1786 1789 10194 3 1419 + 10194 1789 10197 3 1419 + 10194 10197 10195 3 1419 + 10195 10197 10198 3 1419 + 10195 10198 10196 3 1419 + 10196 10198 10199 3 1419 + 10196 10199 1787 3 1419 + 1787 10199 1788 3 1419 + 1789 1792 10200 3 1421 + 10200 1792 10203 3 1421 + 10200 10203 10201 3 1421 + 10201 10203 10204 3 1421 + 10201 10204 10202 3 1421 + 10202 10204 10205 3 1421 + 10202 10205 1790 3 1421 + 1790 10205 1791 3 1421 + 1792 1795 10206 3 1423 + 10206 1795 10210 3 1423 + 10206 10210 10207 3 1423 + 10207 10210 10211 3 1423 + 10207 10211 10208 3 1423 + 10208 10211 10212 3 1423 + 10208 10212 10209 3 1423 + 10209 10212 10213 3 1423 + 10209 10213 1793 3 1423 + 1793 10213 1794 3 1423 + 1795 10217 10214 3 1424 + 10214 10217 10218 3 1424 + 10214 10218 10215 3 1424 + 10215 10218 10219 3 1424 + 10215 10219 10216 3 1424 + 10216 10219 10220 3 1424 + 10216 10220 1796 3 1424 + 1796 10220 10221 3 1424 + 10217 10222 10218 3 1424 + 10218 10222 10223 3 1424 + 10218 10223 10219 3 1424 + 10219 10223 10224 3 1424 + 10219 10224 10220 3 1424 + 10220 10224 10225 3 1424 + 10220 10225 10221 3 1424 + 10221 10225 10226 3 1424 + 10222 1394 10223 3 1424 + 10223 1394 10227 3 1424 + 10223 10227 10224 3 1424 + 10224 10227 10228 3 1424 + 10224 10228 10225 3 1424 + 10225 10228 10229 3 1424 + 10225 10229 10226 3 1424 + 10226 10229 1396 3 1424 + 1796 10233 10230 3 1426 + 10230 10233 10234 3 1426 + 10230 10234 10231 3 1426 + 10231 10234 10235 3 1426 + 10231 10235 10232 3 1426 + 10232 10235 10236 3 1426 + 10232 10236 1794 3 1426 + 1794 10236 10237 3 1426 + 10233 1798 10234 3 1426 + 10234 1798 10238 3 1426 + 10234 10238 10235 3 1426 + 10235 10238 10239 3 1426 + 10235 10239 10236 3 1426 + 10236 10239 10240 3 1426 + 10236 10240 10237 3 1426 + 10237 10240 1797 3 1426 + 1798 10243 10241 3 1428 + 10241 10243 10244 3 1428 + 10241 10244 10242 3 1428 + 10242 10244 10245 3 1428 + 10242 10245 1799 3 1428 + 1799 10245 10246 3 1428 + 10243 10247 10244 3 1428 + 10244 10247 10248 3 1428 + 10244 10248 10245 3 1428 + 10245 10248 10249 3 1428 + 10245 10249 10246 3 1428 + 10246 10249 10250 3 1428 + 10247 1801 10248 3 1428 + 10248 1801 10251 3 1428 + 10248 10251 10249 3 1428 + 10249 10251 10252 3 1428 + 10249 10252 10250 3 1428 + 10250 10252 1800 3 1428 + 1801 1804 10253 3 1430 + 10253 1804 10257 3 1430 + 10253 10257 10254 3 1430 + 10254 10257 10258 3 1430 + 10254 10258 10255 3 1430 + 10255 10258 10259 3 1430 + 10255 10259 10256 3 1430 + 10256 10259 10260 3 1430 + 10256 10260 1802 3 1430 + 1802 10260 1803 3 1430 + 1804 1807 10261 3 1432 + 10261 1807 10264 3 1432 + 10261 10264 10262 3 1432 + 10262 10264 10265 3 1432 + 10262 10265 10263 3 1432 + 10263 10265 10266 3 1432 + 10263 10266 1805 3 1432 + 1805 10266 1806 3 1432 + 1807 1810 10267 3 1434 + 10267 1810 10271 3 1434 + 10267 10271 10268 3 1434 + 10268 10271 10272 3 1434 + 10268 10272 10269 3 1434 + 10269 10272 10273 3 1434 + 10269 10273 10270 3 1434 + 10270 10273 10274 3 1434 + 10270 10274 1808 3 1434 + 1808 10274 1809 3 1434 + 1810 1400 10275 3 1435 + 10275 1400 10281 3 1435 + 10275 10281 10276 3 1435 + 10276 10281 10282 3 1435 + 10276 10282 10277 3 1435 + 10277 10282 10283 3 1435 + 10277 10283 10278 3 1435 + 10278 10283 10284 3 1435 + 10278 10284 10279 3 1435 + 10279 10284 10285 3 1435 + 10279 10285 10280 3 1435 + 10280 10285 10286 3 1435 + 10280 10286 1811 3 1435 + 1811 10286 1402 3 1435 + 1811 1813 10287 3 1437 + 10287 1813 10291 3 1437 + 10287 10291 10288 3 1437 + 10288 10291 10292 3 1437 + 10288 10292 10289 3 1437 + 10289 10292 10293 3 1437 + 10289 10293 10290 3 1437 + 10290 10293 10294 3 1437 + 10290 10294 1809 3 1437 + 1809 10294 1812 3 1437 + 1813 1409 1814 3 1438 + 1814 1409 1411 3 1438 + 1814 1816 10295 3 1440 + 10295 1816 10298 3 1440 + 10295 10298 10296 3 1440 + 10296 10298 10299 3 1440 + 10296 10299 10297 3 1440 + 10297 10299 10300 3 1440 + 10297 10300 1812 3 1440 + 1812 10300 1815 3 1440 + 1816 1415 10301 3 1441 + 10301 1415 10305 3 1441 + 10301 10305 10302 3 1441 + 10302 10305 10306 3 1441 + 10302 10306 10303 3 1441 + 10303 10306 10307 3 1441 + 10303 10307 10304 3 1441 + 10304 10307 10308 3 1441 + 10304 10308 1817 3 1441 + 1817 10308 1417 3 1441 + 1817 10309 1815 3 1443 + 1815 10309 10310 3 1443 + 10309 10311 10310 3 1443 + 10310 10311 10312 3 1443 + 10311 1819 10312 3 1443 + 10312 1819 1818 3 1443 + 1819 10313 1820 3 1445 + 1820 10313 10314 3 1445 + 10313 10315 10314 3 1445 + 10314 10315 10316 3 1445 + 10315 10317 10316 3 1445 + 10316 10317 10318 3 1445 + 10317 10319 10318 3 1445 + 10318 10319 10320 3 1445 + 10319 1822 10320 3 1445 + 10320 1822 1821 3 1445 + 1822 1418 10321 3 1446 + 10321 1418 10325 3 1446 + 10321 10325 10322 3 1446 + 10322 10325 10326 3 1446 + 10322 10326 10323 3 1446 + 10323 10326 10327 3 1446 + 10323 10327 10324 3 1446 + 10324 10327 10328 3 1446 + 10324 10328 1823 3 1446 + 1823 10328 1420 3 1446 + 1823 1825 10329 3 1448 + 10329 1825 10333 3 1448 + 10329 10333 10330 3 1448 + 10330 10333 10334 3 1448 + 10330 10334 10331 3 1448 + 10331 10334 10335 3 1448 + 10331 10335 10332 3 1448 + 10332 10335 10336 3 1448 + 10332 10336 1821 3 1448 + 1821 10336 1824 3 1448 + 1825 10339 10337 3 1450 + 10337 10339 10340 3 1450 + 10337 10340 10338 3 1450 + 10338 10340 10341 3 1450 + 10338 10341 1826 3 1450 + 1826 10341 10342 3 1450 + 10339 10343 10340 3 1450 + 10340 10343 10344 3 1450 + 10340 10344 10341 3 1450 + 10341 10344 10345 3 1450 + 10341 10345 10342 3 1450 + 10342 10345 10346 3 1450 + 10343 10347 10344 3 1450 + 10344 10347 10348 3 1450 + 10344 10348 10345 3 1450 + 10345 10348 10349 3 1450 + 10345 10349 10346 3 1450 + 10346 10349 10350 3 1450 + 10347 10351 10348 3 1450 + 10348 10351 10352 3 1450 + 10348 10352 10349 3 1450 + 10349 10352 10353 3 1450 + 10349 10353 10350 3 1450 + 10350 10353 10354 3 1450 + 10351 1828 10352 3 1450 + 10352 1828 10355 3 1450 + 10352 10355 10353 3 1450 + 10353 10355 10356 3 1450 + 10353 10356 10354 3 1450 + 10354 10356 1827 3 1450 + 1828 1831 10357 3 1452 + 10357 1831 10361 3 1452 + 10357 10361 10358 3 1452 + 10358 10361 10362 3 1452 + 10358 10362 10359 3 1452 + 10359 10362 10363 3 1452 + 10359 10363 10360 3 1452 + 10360 10363 10364 3 1452 + 10360 10364 1829 3 1452 + 1829 10364 1830 3 1452 + 1831 10368 10365 3 1454 + 10365 10368 10369 3 1454 + 10365 10369 10366 3 1454 + 10366 10369 10370 3 1454 + 10366 10370 10367 3 1454 + 10367 10370 10371 3 1454 + 10367 10371 1832 3 1454 + 1832 10371 10372 3 1454 + 10368 10373 10369 3 1454 + 10369 10373 10374 3 1454 + 10369 10374 10370 3 1454 + 10370 10374 10375 3 1454 + 10370 10375 10371 3 1454 + 10371 10375 10376 3 1454 + 10371 10376 10372 3 1454 + 10372 10376 10377 3 1454 + 10373 10378 10374 3 1454 + 10374 10378 10379 3 1454 + 10374 10379 10375 3 1454 + 10375 10379 10380 3 1454 + 10375 10380 10376 3 1454 + 10376 10380 10381 3 1454 + 10376 10381 10377 3 1454 + 10377 10381 10382 3 1454 + 10378 1834 10379 3 1454 + 10379 1834 10383 3 1454 + 10379 10383 10380 3 1454 + 10380 10383 10384 3 1454 + 10380 10384 10381 3 1454 + 10381 10384 10385 3 1454 + 10381 10385 10382 3 1454 + 10382 10385 1833 3 1454 + 1835 10386 1423 3 1455 + 1423 10386 10388 3 1455 + 10386 10387 10388 3 1455 + 10388 10387 10389 3 1455 + 10389 10387 1837 3 1455 + 1834 1421 10390 3 1456 + 10390 1421 10392 3 1456 + 10390 10392 10391 3 1456 + 10391 10392 10393 3 1456 + 10391 10393 1836 3 1456 + 1835 10397 10394 3 1458 + 10394 10397 10398 3 1458 + 10394 10398 10395 3 1458 + 10395 10398 10399 3 1458 + 10395 10399 10396 3 1458 + 10396 10399 10400 3 1458 + 10396 10400 1833 3 1458 + 1833 10400 10401 3 1458 + 10397 10402 10398 3 1458 + 10398 10402 10403 3 1458 + 10398 10403 10399 3 1458 + 10399 10403 10404 3 1458 + 10399 10404 10400 3 1458 + 10400 10404 10405 3 1458 + 10400 10405 10401 3 1458 + 10401 10405 10406 3 1458 + 10402 10407 10403 3 1458 + 10403 10407 10408 3 1458 + 10403 10408 10404 3 1458 + 10404 10408 10409 3 1458 + 10404 10409 10405 3 1458 + 10405 10409 10410 3 1458 + 10405 10410 10406 3 1458 + 10406 10410 10411 3 1458 + 10407 10412 10408 3 1458 + 10408 10412 10413 3 1458 + 10408 10413 10409 3 1458 + 10409 10413 10414 3 1458 + 10409 10414 10410 3 1458 + 10410 10414 10415 3 1458 + 10410 10415 10411 3 1458 + 10411 10415 10416 3 1458 + 10412 1839 10413 3 1458 + 10413 1839 10417 3 1458 + 10413 10417 10414 3 1458 + 10414 10417 10418 3 1458 + 10414 10418 10415 3 1458 + 10415 10418 10419 3 1458 + 10415 10419 10416 3 1458 + 10416 10419 1838 3 1458 + 1839 10422 10420 3 1460 + 10420 10422 10423 3 1460 + 10420 10423 10421 3 1460 + 10421 10423 10424 3 1460 + 10421 10424 1840 3 1460 + 1840 10424 10425 3 1460 + 10422 10426 10423 3 1460 + 10423 10426 10427 3 1460 + 10423 10427 10424 3 1460 + 10424 10427 10428 3 1460 + 10424 10428 10425 3 1460 + 10425 10428 10429 3 1460 + 10426 1842 10427 3 1460 + 10427 1842 10430 3 1460 + 10427 10430 10428 3 1460 + 10428 10430 10431 3 1460 + 10428 10431 10429 3 1460 + 10429 10431 1841 3 1460 + 1842 1845 1843 3 1462 + 1843 1845 1844 3 1462 + 1846 10432 1849 3 1464 + 1849 10432 10434 3 1464 + 10432 10433 10434 3 1464 + 10434 10433 10435 3 1464 + 10435 10433 1848 3 1464 + 1845 1850 10436 3 1465 + 10436 1850 10438 3 1465 + 10436 10438 10437 3 1465 + 10437 10438 10439 3 1465 + 10437 10439 1847 3 1465 + 1850 1853 10440 3 1467 + 10440 1853 10444 3 1467 + 10440 10444 10441 3 1467 + 10441 10444 10445 3 1467 + 10441 10445 10442 3 1467 + 10442 10445 10446 3 1467 + 10442 10446 10443 3 1467 + 10443 10446 10447 3 1467 + 10443 10447 1851 3 1467 + 1851 10447 1852 3 1467 + 1853 10450 10448 3 1468 + 10448 10450 10451 3 1468 + 10448 10451 10449 3 1468 + 10449 10451 10452 3 1468 + 10449 10452 1854 3 1468 + 1854 10452 10453 3 1468 + 10450 10454 10451 3 1468 + 10451 10454 10455 3 1468 + 10451 10455 10452 3 1468 + 10452 10455 10456 3 1468 + 10452 10456 10453 3 1468 + 10453 10456 10457 3 1468 + 10454 1424 10455 3 1468 + 10455 1424 10458 3 1468 + 10455 10458 10456 3 1468 + 10456 10458 10459 3 1468 + 10456 10459 10457 3 1468 + 10457 10459 1426 3 1468 + 1854 10461 10460 3 1469 + 10460 10461 10462 3 1469 + 10460 10462 1852 3 1469 + 1852 10462 10463 3 1469 + 10461 10464 10462 3 1469 + 10462 10464 10465 3 1469 + 10462 10465 10463 3 1469 + 10463 10465 10466 3 1469 + 10464 1430 10465 3 1469 + 10465 1430 10467 3 1469 + 10465 10467 10466 3 1469 + 10466 10467 1432 3 1469 + 1851 1856 10468 3 1471 + 10468 1856 10470 3 1471 + 10468 10470 10469 3 1471 + 10469 10470 10471 3 1471 + 10469 10471 1849 3 1471 + 1849 10471 1855 3 1471 + 1856 10473 10472 3 1472 + 10472 10473 10474 3 1472 + 10472 10474 1857 3 1472 + 1857 10474 10475 3 1472 + 10473 1436 10474 3 1472 + 10474 1436 10476 3 1472 + 10474 10476 10475 3 1472 + 10475 10476 1438 3 1472 + 1857 10477 1855 3 1474 + 1855 10477 10478 3 1474 + 10477 10479 10478 3 1474 + 10478 10479 10480 3 1474 + 10479 10481 10480 3 1474 + 10480 10481 10482 3 1474 + 10481 1859 10482 3 1474 + 10482 1859 1858 3 1474 + 1859 10483 1860 3 1475 + 1860 10483 10484 3 1475 + 10483 10485 10484 3 1475 + 10484 10485 10486 3 1475 + 10485 10487 10486 3 1475 + 10486 10487 10488 3 1475 + 10487 1439 10488 3 1475 + 10488 1439 1441 3 1475 + 1860 10490 10489 3 1476 + 10489 10490 10491 3 1476 + 10489 10491 1858 3 1476 + 1858 10491 10492 3 1476 + 10490 10493 10491 3 1476 + 10491 10493 10494 3 1476 + 10491 10494 10492 3 1476 + 10492 10494 10495 3 1476 + 10493 10496 10494 3 1476 + 10494 10496 10497 3 1476 + 10494 10497 10495 3 1476 + 10495 10497 10498 3 1476 + 10496 10499 10497 3 1476 + 10497 10499 10500 3 1476 + 10497 10500 10498 3 1476 + 10498 10500 10501 3 1476 + 10499 10502 10500 3 1476 + 10500 10502 10503 3 1476 + 10500 10503 10501 3 1476 + 10501 10503 10504 3 1476 + 10502 10505 10503 3 1476 + 10503 10505 10506 3 1476 + 10503 10506 10504 3 1476 + 10504 10506 10507 3 1476 + 10505 10508 10506 3 1476 + 10506 10508 10509 3 1476 + 10506 10509 10507 3 1476 + 10507 10509 10510 3 1476 + 10508 10511 10509 3 1476 + 10509 10511 10512 3 1476 + 10509 10512 10510 3 1476 + 10510 10512 10513 3 1476 + 10511 1463 10512 3 1476 + 10512 1463 10514 3 1476 + 10512 10514 10513 3 1476 + 10513 10514 1465 3 1476 + 1844 10515 1863 3 1478 + 1863 10515 10516 3 1478 + 10516 10515 1862 3 1478 + 1846 1864 10517 3 1479 + 10517 1864 10518 3 1479 + 10517 10518 1861 3 1479 + 1864 1475 10519 3 1480 + 10519 1475 10522 3 1480 + 10519 10522 10520 3 1480 + 10520 10522 10523 3 1480 + 10520 10523 10521 3 1480 + 10521 10523 10524 3 1480 + 10521 10524 1865 3 1480 + 1865 10524 1477 3 1480 + 1865 1478 10525 3 1481 + 10525 1478 10527 3 1481 + 10525 10527 10526 3 1481 + 10526 10527 10528 3 1481 + 10526 10528 1863 3 1481 + 1863 10528 1480 3 1481 + 1843 10530 10529 3 1482 + 10529 10530 10531 3 1482 + 10529 10531 1841 3 1482 + 1841 10531 10532 3 1482 + 10530 1481 10531 3 1482 + 10531 1481 10533 3 1482 + 10531 10533 10532 3 1482 + 10532 10533 1483 3 1482 + 1840 1867 10534 3 1484 + 10534 1867 10538 3 1484 + 10534 10538 10535 3 1484 + 10535 10538 10539 3 1484 + 10535 10539 10536 3 1484 + 10536 10539 10540 3 1484 + 10536 10540 10537 3 1484 + 10537 10540 10541 3 1484 + 10537 10541 1838 3 1484 + 1838 10541 1866 3 1484 + 1867 1870 10542 3 1486 + 10542 1870 10546 3 1486 + 10542 10546 10543 3 1486 + 10543 10546 10547 3 1486 + 10543 10547 10544 3 1486 + 10544 10547 10548 3 1486 + 10544 10548 10545 3 1486 + 10545 10548 10549 3 1486 + 10545 10549 1868 3 1486 + 1868 10549 1869 3 1486 + 1874 1871 1873 3 1488 + 1870 1875 1872 3 1489 + 1875 1878 1876 3 1491 + 1876 1878 1877 3 1491 + 1878 10552 10550 3 1493 + 10550 10552 10553 3 1493 + 10550 10553 10551 3 1493 + 10551 10553 10554 3 1493 + 10551 10554 1879 3 1493 + 1879 10554 10555 3 1493 + 10552 10556 10553 3 1493 + 10553 10556 10557 3 1493 + 10553 10557 10554 3 1493 + 10554 10557 10558 3 1493 + 10554 10558 10555 3 1493 + 10555 10558 10559 3 1493 + 10556 10560 10557 3 1493 + 10557 10560 10561 3 1493 + 10557 10561 10558 3 1493 + 10558 10561 10562 3 1493 + 10558 10562 10559 3 1493 + 10559 10562 10563 3 1493 + 10560 10564 10561 3 1493 + 10561 10564 10565 3 1493 + 10561 10565 10562 3 1493 + 10562 10565 10566 3 1493 + 10562 10566 10563 3 1493 + 10563 10566 10567 3 1493 + 10564 10568 10565 3 1493 + 10565 10568 10569 3 1493 + 10565 10569 10566 3 1493 + 10566 10569 10570 3 1493 + 10566 10570 10567 3 1493 + 10567 10570 10571 3 1493 + 10568 1881 10569 3 1493 + 10569 1881 10572 3 1493 + 10569 10572 10570 3 1493 + 10570 10572 10573 3 1493 + 10570 10573 10571 3 1493 + 10571 10573 1880 3 1493 + 1881 1487 10574 3 1494 + 10574 1487 10575 3 1494 + 10574 10575 1882 3 1494 + 1882 10575 1489 3 1494 + 1882 10576 1880 3 1495 + 1880 10576 10577 3 1495 + 10576 10578 10577 3 1495 + 10577 10578 10579 3 1495 + 10578 1493 10579 3 1495 + 10579 1493 1495 3 1495 + 1879 1884 10580 3 1497 + 10580 1884 10581 3 1497 + 10580 10581 1877 3 1497 + 1877 10581 1883 3 1497 + 1501 1885 1887 3 1498 + 1884 1499 1886 3 1499 + 1890 1883 1889 3 1501 + 1885 1891 1888 3 1502 + 1891 10583 10582 3 1504 + 10582 10583 10584 3 1504 + 10582 10584 1892 3 1504 + 1892 10584 10585 3 1504 + 10583 10586 10584 3 1504 + 10584 10586 10587 3 1504 + 10584 10587 10585 3 1504 + 10585 10587 10588 3 1504 + 10586 10589 10587 3 1504 + 10587 10589 10590 3 1504 + 10587 10590 10588 3 1504 + 10588 10590 10591 3 1504 + 10589 1894 10590 3 1504 + 10590 1894 10592 3 1504 + 10590 10592 10591 3 1504 + 10591 10592 1893 3 1504 + 1894 1897 10593 3 1506 + 10593 1897 10598 3 1506 + 10593 10598 10594 3 1506 + 10594 10598 10599 3 1506 + 10594 10599 10595 3 1506 + 10595 10599 10600 3 1506 + 10595 10600 10596 3 1506 + 10596 10600 10601 3 1506 + 10596 10601 10597 3 1506 + 10597 10601 10602 3 1506 + 10597 10602 1895 3 1506 + 1895 10602 1896 3 1506 + 1897 1900 1898 3 1508 + 1898 1900 1899 3 1508 + 1900 10603 1901 3 1510 + 1901 10603 10604 3 1510 + 10603 10605 10604 3 1510 + 10604 10605 10606 3 1510 + 10605 1903 10606 3 1510 + 10606 1903 1902 3 1510 + 1903 10608 10607 3 1511 + 10607 10608 10609 3 1511 + 10607 10609 1904 3 1511 + 1904 10609 10610 3 1511 + 10608 10611 10609 3 1511 + 10609 10611 10612 3 1511 + 10609 10612 10610 3 1511 + 10610 10612 10613 3 1511 + 10611 10614 10612 3 1511 + 10612 10614 10615 3 1511 + 10612 10615 10613 3 1511 + 10613 10615 10616 3 1511 + 10614 10617 10615 3 1511 + 10615 10617 10618 3 1511 + 10615 10618 10616 3 1511 + 10616 10618 10619 3 1511 + 10617 10620 10618 3 1511 + 10618 10620 10621 3 1511 + 10618 10621 10619 3 1511 + 10619 10621 10622 3 1511 + 10620 1502 10621 3 1511 + 10621 1502 10623 3 1511 + 10621 10623 10622 3 1511 + 10622 10623 1504 3 1511 + 1904 1906 1902 3 1513 + 1902 1906 1905 3 1513 + 1906 10626 10624 3 1515 + 10624 10626 10627 3 1515 + 10624 10627 10625 3 1515 + 10625 10627 10628 3 1515 + 10625 10628 1907 3 1515 + 1907 10628 10629 3 1515 + 10626 10630 10627 3 1515 + 10627 10630 10631 3 1515 + 10627 10631 10628 3 1515 + 10628 10631 10632 3 1515 + 10628 10632 10629 3 1515 + 10629 10632 10633 3 1515 + 10630 1909 10631 3 1515 + 10631 1909 10634 3 1515 + 10631 10634 10632 3 1515 + 10632 10634 10635 3 1515 + 10632 10635 10633 3 1515 + 10633 10635 1908 3 1515 + 1909 1912 10636 3 1517 + 10636 1912 10637 3 1517 + 10636 10637 1910 3 1517 + 1910 10637 1911 3 1517 + 1912 10638 1913 3 1519 + 1913 10638 10639 3 1519 + 10638 10640 10639 3 1519 + 10639 10640 10641 3 1519 + 10640 10642 10641 3 1519 + 10641 10642 10643 3 1519 + 10642 10644 10643 3 1519 + 10643 10644 10645 3 1519 + 10644 10646 10645 3 1519 + 10645 10646 10647 3 1519 + 10646 10648 10647 3 1519 + 10647 10648 10649 3 1519 + 10648 10650 10649 3 1519 + 10649 10650 10651 3 1519 + 10650 10652 10651 3 1519 + 10651 10652 10653 3 1519 + 10652 1915 10653 3 1519 + 10653 1915 1914 3 1519 + 1915 1508 1916 3 1520 + 1916 1508 1510 3 1520 + 1916 10655 10654 3 1522 + 10654 10655 10656 3 1522 + 10654 10656 1914 3 1522 + 1914 10656 10657 3 1522 + 10655 1918 10656 3 1522 + 10656 1918 10658 3 1522 + 10656 10658 10657 3 1522 + 10657 10658 1917 3 1522 + 1918 10661 10659 3 1524 + 10659 10661 10662 3 1524 + 10659 10662 10660 3 1524 + 10660 10662 10663 3 1524 + 10660 10663 1919 3 1524 + 1919 10663 10664 3 1524 + 10661 1921 10662 3 1524 + 10662 1921 10665 3 1524 + 10662 10665 10663 3 1524 + 10663 10665 10666 3 1524 + 10663 10666 10664 3 1524 + 10664 10666 1920 3 1524 + 1921 10669 10667 3 1525 + 10667 10669 10670 3 1525 + 10667 10670 10668 3 1525 + 10668 10670 10671 3 1525 + 10668 10671 1922 3 1525 + 1922 10671 10672 3 1525 + 10669 10673 10670 3 1525 + 10670 10673 10674 3 1525 + 10670 10674 10671 3 1525 + 10671 10674 10675 3 1525 + 10671 10675 10672 3 1525 + 10672 10675 10676 3 1525 + 10673 10677 10674 3 1525 + 10674 10677 10678 3 1525 + 10674 10678 10675 3 1525 + 10675 10678 10679 3 1525 + 10675 10679 10676 3 1525 + 10676 10679 10680 3 1525 + 10677 10681 10678 3 1525 + 10678 10681 10682 3 1525 + 10678 10682 10679 3 1525 + 10679 10682 10683 3 1525 + 10679 10683 10680 3 1525 + 10680 10683 10684 3 1525 + 10681 10685 10682 3 1525 + 10682 10685 10686 3 1525 + 10682 10686 10683 3 1525 + 10683 10686 10687 3 1525 + 10683 10687 10684 3 1525 + 10684 10687 10688 3 1525 + 10685 1905 10686 3 1525 + 10686 1905 10689 3 1525 + 10686 10689 10687 3 1525 + 10687 10689 10690 3 1525 + 10687 10690 10688 3 1525 + 10688 10690 1907 3 1525 + 1922 10691 1920 3 1527 + 1920 10691 10692 3 1527 + 10691 1924 10692 3 1527 + 10692 1924 1923 3 1527 + 1924 10694 10693 3 1529 + 10693 10694 10695 3 1529 + 10693 10695 1925 3 1529 + 1925 10695 10696 3 1529 + 10694 10697 10695 3 1529 + 10695 10697 10698 3 1529 + 10695 10698 10696 3 1529 + 10696 10698 10699 3 1529 + 10697 10700 10698 3 1529 + 10698 10700 10701 3 1529 + 10698 10701 10699 3 1529 + 10699 10701 10702 3 1529 + 10700 10703 10701 3 1529 + 10701 10703 10704 3 1529 + 10701 10704 10702 3 1529 + 10702 10704 10705 3 1529 + 10703 1927 10704 3 1529 + 10704 1927 10706 3 1529 + 10704 10706 10705 3 1529 + 10705 10706 1926 3 1529 + 1927 10707 1928 3 1530 + 1928 10707 10708 3 1530 + 10707 10709 10708 3 1530 + 10708 10709 10710 3 1530 + 10709 10711 10710 3 1530 + 10710 10711 10712 3 1530 + 10711 1908 10712 3 1530 + 10712 1908 1910 3 1530 + 1928 10713 1926 3 1532 + 1926 10713 10714 3 1532 + 10713 10715 10714 3 1532 + 10714 10715 10716 3 1532 + 10715 10717 10716 3 1532 + 10716 10717 10718 3 1532 + 10717 1930 10718 3 1532 + 10718 1930 1929 3 1532 + 1930 10719 1931 3 1533 + 1931 10719 10720 3 1533 + 10719 10721 10720 3 1533 + 10720 10721 10722 3 1533 + 10721 1911 10722 3 1533 + 10722 1911 1913 3 1533 + 1931 10724 10723 3 1535 + 10723 10724 10725 3 1535 + 10723 10725 1929 3 1535 + 1929 10725 10726 3 1535 + 10724 10727 10725 3 1535 + 10725 10727 10728 3 1535 + 10725 10728 10726 3 1535 + 10726 10728 10729 3 1535 + 10727 10730 10728 3 1535 + 10728 10730 10731 3 1535 + 10728 10731 10729 3 1535 + 10729 10731 10732 3 1535 + 10730 10733 10731 3 1535 + 10731 10733 10734 3 1535 + 10731 10734 10732 3 1535 + 10732 10734 10735 3 1535 + 10733 1933 10734 3 1535 + 10734 1933 10736 3 1535 + 10734 10736 10735 3 1535 + 10735 10736 1932 3 1535 + 1933 10737 1934 3 1536 + 1934 10737 10738 3 1536 + 10737 1917 10738 3 1536 + 10738 1917 1919 3 1536 + 1934 10739 1932 3 1537 + 1932 10739 10740 3 1537 + 10739 10741 10740 3 1537 + 10740 10741 10742 3 1537 + 10741 10743 10742 3 1537 + 10742 10743 10744 3 1537 + 10743 10745 10744 3 1537 + 10744 10745 10746 3 1537 + 10745 1923 10746 3 1537 + 10746 1923 1925 3 1537 + 1901 10748 10747 3 1538 + 10747 10748 10749 3 1538 + 10747 10749 1899 3 1538 + 1899 10749 10750 3 1538 + 10748 10751 10749 3 1538 + 10749 10751 10752 3 1538 + 10749 10752 10750 3 1538 + 10750 10752 10753 3 1538 + 10751 1520 10752 3 1538 + 10752 1520 10754 3 1538 + 10752 10754 10753 3 1538 + 10753 10754 1522 3 1538 + 1898 1936 10755 3 1540 + 10755 1936 10759 3 1540 + 10755 10759 10756 3 1540 + 10756 10759 10760 3 1540 + 10756 10760 10757 3 1540 + 10757 10760 10761 3 1540 + 10757 10761 10758 3 1540 + 10758 10761 10762 3 1540 + 10758 10762 1896 3 1540 + 1896 10762 1935 3 1540 + 1936 10765 10763 3 1541 + 10763 10765 10766 3 1541 + 10763 10766 10764 3 1541 + 10764 10766 10767 3 1541 + 10764 10767 1937 3 1541 + 1937 10767 10768 3 1541 + 10765 10769 10766 3 1541 + 10766 10769 10770 3 1541 + 10766 10770 10767 3 1541 + 10767 10770 10771 3 1541 + 10767 10771 10768 3 1541 + 10768 10771 10772 3 1541 + 10769 1523 10770 3 1541 + 10770 1523 10773 3 1541 + 10770 10773 10771 3 1541 + 10771 10773 10774 3 1541 + 10771 10774 10772 3 1541 + 10772 10774 1525 3 1541 + 1937 1939 10775 3 1543 + 10775 1939 10778 3 1543 + 10775 10778 10776 3 1543 + 10776 10778 10779 3 1543 + 10776 10779 10777 3 1543 + 10777 10779 10780 3 1543 + 10777 10780 1935 3 1543 + 1935 10780 1938 3 1543 + 1939 1942 10781 3 1545 + 10781 1942 10783 3 1545 + 10781 10783 10782 3 1545 + 10782 10783 10784 3 1545 + 10782 10784 1940 3 1545 + 1940 10784 1941 3 1545 + 1942 1945 10785 3 1547 + 10785 1945 10788 3 1547 + 10785 10788 10786 3 1547 + 10786 10788 10789 3 1547 + 10786 10789 10787 3 1547 + 10787 10789 10790 3 1547 + 10787 10790 1943 3 1547 + 1943 10790 1944 3 1547 + 1945 10793 10791 3 1549 + 10791 10793 10794 3 1549 + 10791 10794 10792 3 1549 + 10792 10794 10795 3 1549 + 10792 10795 1946 3 1549 + 1946 10795 10796 3 1549 + 10793 1948 10794 3 1549 + 10794 1948 10797 3 1549 + 10794 10797 10795 3 1549 + 10795 10797 10798 3 1549 + 10795 10798 10796 3 1549 + 10796 10798 1947 3 1549 + 1948 1526 10799 3 1550 + 10799 1526 10801 3 1550 + 10799 10801 10800 3 1550 + 10800 10801 10802 3 1550 + 10800 10802 1949 3 1550 + 1949 10802 1528 3 1550 + 1949 10803 1947 3 1552 + 1947 10803 10804 3 1552 + 10803 10805 10804 3 1552 + 10804 10805 10806 3 1552 + 10805 1951 10806 3 1552 + 10806 1951 1950 3 1552 + 1951 1538 10807 3 1553 + 10807 1538 10810 3 1553 + 10807 10810 10808 3 1553 + 10808 10810 10811 3 1553 + 10808 10811 10809 3 1553 + 10809 10811 10812 3 1553 + 10809 10812 1952 3 1553 + 1952 10812 1540 3 1553 + 1952 10816 10813 3 1555 + 10813 10816 10817 3 1555 + 10813 10817 10814 3 1555 + 10814 10817 10818 3 1555 + 10814 10818 10815 3 1555 + 10815 10818 10819 3 1555 + 10815 10819 1950 3 1555 + 1950 10819 10820 3 1555 + 10816 10821 10817 3 1555 + 10817 10821 10822 3 1555 + 10817 10822 10818 3 1555 + 10818 10822 10823 3 1555 + 10818 10823 10819 3 1555 + 10819 10823 10824 3 1555 + 10819 10824 10820 3 1555 + 10820 10824 10825 3 1555 + 10821 10826 10822 3 1555 + 10822 10826 10827 3 1555 + 10822 10827 10823 3 1555 + 10823 10827 10828 3 1555 + 10823 10828 10824 3 1555 + 10824 10828 10829 3 1555 + 10824 10829 10825 3 1555 + 10825 10829 10830 3 1555 + 10826 10831 10827 3 1555 + 10827 10831 10832 3 1555 + 10827 10832 10828 3 1555 + 10828 10832 10833 3 1555 + 10828 10833 10829 3 1555 + 10829 10833 10834 3 1555 + 10829 10834 10830 3 1555 + 10830 10834 10835 3 1555 + 10831 10836 10832 3 1555 + 10832 10836 10837 3 1555 + 10832 10837 10833 3 1555 + 10833 10837 10838 3 1555 + 10833 10838 10834 3 1555 + 10834 10838 10839 3 1555 + 10834 10839 10835 3 1555 + 10835 10839 10840 3 1555 + 10836 1954 10837 3 1555 + 10837 1954 10841 3 1555 + 10837 10841 10838 3 1555 + 10838 10841 10842 3 1555 + 10838 10842 10839 3 1555 + 10839 10842 10843 3 1555 + 10839 10843 10840 3 1555 + 10840 10843 1953 3 1555 + 1958 1955 1957 3 1557 + 1954 1959 1956 3 1558 + 1959 1962 10844 3 1560 + 10844 1962 10847 3 1560 + 10844 10847 10845 3 1560 + 10845 10847 10848 3 1560 + 10845 10848 10846 3 1560 + 10846 10848 10849 3 1560 + 10846 10849 1960 3 1560 + 1960 10849 1961 3 1560 + 1962 1965 10850 3 1562 + 10850 1965 10854 3 1562 + 10850 10854 10851 3 1562 + 10851 10854 10855 3 1562 + 10851 10855 10852 3 1562 + 10852 10855 10856 3 1562 + 10852 10856 10853 3 1562 + 10853 10856 10857 3 1562 + 10853 10857 1963 3 1562 + 1963 10857 1964 3 1562 + 1965 1968 10858 3 1564 + 10858 1968 10862 3 1564 + 10858 10862 10859 3 1564 + 10859 10862 10863 3 1564 + 10859 10863 10860 3 1564 + 10860 10863 10864 3 1564 + 10860 10864 10861 3 1564 + 10861 10864 10865 3 1564 + 10861 10865 1966 3 1564 + 1966 10865 1967 3 1564 + 1968 10869 10866 3 1566 + 10866 10869 10870 3 1566 + 10866 10870 10867 3 1566 + 10867 10870 10871 3 1566 + 10867 10871 10868 3 1566 + 10868 10871 10872 3 1566 + 10868 10872 1969 3 1566 + 1969 10872 10873 3 1566 + 10869 1971 10870 3 1566 + 10870 1971 10874 3 1566 + 10870 10874 10871 3 1566 + 10871 10874 10875 3 1566 + 10871 10875 10872 3 1566 + 10872 10875 10876 3 1566 + 10872 10876 10873 3 1566 + 10873 10876 1970 3 1566 + 1971 10879 10877 3 1568 + 10877 10879 10880 3 1568 + 10877 10880 10878 3 1568 + 10878 10880 10881 3 1568 + 10878 10881 1972 3 1568 + 1972 10881 10882 3 1568 + 10879 10883 10880 3 1568 + 10880 10883 10884 3 1568 + 10880 10884 10881 3 1568 + 10881 10884 10885 3 1568 + 10881 10885 10882 3 1568 + 10882 10885 10886 3 1568 + 10883 10887 10884 3 1568 + 10884 10887 10888 3 1568 + 10884 10888 10885 3 1568 + 10885 10888 10889 3 1568 + 10885 10889 10886 3 1568 + 10886 10889 10890 3 1568 + 10887 1974 10888 3 1568 + 10888 1974 10891 3 1568 + 10888 10891 10889 3 1568 + 10889 10891 10892 3 1568 + 10889 10892 10890 3 1568 + 10890 10892 1973 3 1568 + 1974 10893 1975 3 1569 + 1975 10893 10894 3 1569 + 10893 10895 10894 3 1569 + 10894 10895 10896 3 1569 + 10895 1541 10896 3 1569 + 10896 1541 1543 3 1569 + 1975 10898 10897 3 1571 + 10897 10898 10899 3 1571 + 10897 10899 1973 3 1571 + 1973 10899 10900 3 1571 + 10898 1977 10899 3 1571 + 10899 1977 10901 3 1571 + 10899 10901 10900 3 1571 + 10900 10901 1976 3 1571 + 1977 10902 1978 3 1572 + 1978 10902 10903 3 1572 + 10902 1544 10903 3 1572 + 10903 1544 1546 3 1572 + 1978 1980 1976 3 1574 + 1976 1980 1979 3 1574 + 1980 10905 10904 3 1576 + 10904 10905 10906 3 1576 + 10904 10906 1981 3 1576 + 1981 10906 10907 3 1576 + 10905 10908 10906 3 1576 + 10906 10908 10909 3 1576 + 10906 10909 10907 3 1576 + 10907 10909 10910 3 1576 + 10908 10911 10909 3 1576 + 10909 10911 10912 3 1576 + 10909 10912 10910 3 1576 + 10910 10912 10913 3 1576 + 10911 10914 10912 3 1576 + 10912 10914 10915 3 1576 + 10912 10915 10913 3 1576 + 10913 10915 10916 3 1576 + 10914 10917 10915 3 1576 + 10915 10917 10918 3 1576 + 10915 10918 10916 3 1576 + 10916 10918 10919 3 1576 + 10917 10920 10918 3 1576 + 10918 10920 10921 3 1576 + 10918 10921 10919 3 1576 + 10919 10921 10922 3 1576 + 10920 1983 10921 3 1576 + 10921 1983 10923 3 1576 + 10921 10923 10922 3 1576 + 10922 10923 1982 3 1576 + 1983 1986 10924 3 1578 + 10924 1986 10929 3 1578 + 10924 10929 10925 3 1578 + 10925 10929 10930 3 1578 + 10925 10930 10926 3 1578 + 10926 10930 10931 3 1578 + 10926 10931 10927 3 1578 + 10927 10931 10932 3 1578 + 10927 10932 10928 3 1578 + 10928 10932 10933 3 1578 + 10928 10933 1984 3 1578 + 1984 10933 1985 3 1578 + 1986 1547 10934 3 1579 + 10934 1547 10937 3 1579 + 10934 10937 10935 3 1579 + 10935 10937 10938 3 1579 + 10935 10938 10936 3 1579 + 10936 10938 10939 3 1579 + 10936 10939 1987 3 1579 + 1987 10939 1549 3 1579 + 1987 10944 10940 3 1581 + 10940 10944 10945 3 1581 + 10940 10945 10941 3 1581 + 10941 10945 10946 3 1581 + 10941 10946 10942 3 1581 + 10942 10946 10947 3 1581 + 10942 10947 10943 3 1581 + 10943 10947 10948 3 1581 + 10943 10948 1985 3 1581 + 1985 10948 10949 3 1581 + 10944 1989 10945 3 1581 + 10945 1989 10950 3 1581 + 10945 10950 10946 3 1581 + 10946 10950 10951 3 1581 + 10946 10951 10947 3 1581 + 10947 10951 10952 3 1581 + 10947 10952 10948 3 1581 + 10948 10952 10953 3 1581 + 10948 10953 10949 3 1581 + 10949 10953 1988 3 1581 + 1989 1571 10954 3 1582 + 10954 1571 10959 3 1582 + 10954 10959 10955 3 1582 + 10955 10959 10960 3 1582 + 10955 10960 10956 3 1582 + 10956 10960 10961 3 1582 + 10956 10961 10957 3 1582 + 10957 10961 10962 3 1582 + 10957 10962 10958 3 1582 + 10958 10962 10963 3 1582 + 10958 10963 1990 3 1582 + 1990 10963 1573 3 1582 + 1990 10970 10964 3 1584 + 10964 10970 10971 3 1584 + 10964 10971 10965 3 1584 + 10965 10971 10972 3 1584 + 10965 10972 10966 3 1584 + 10966 10972 10973 3 1584 + 10966 10973 10967 3 1584 + 10967 10973 10974 3 1584 + 10967 10974 10968 3 1584 + 10968 10974 10975 3 1584 + 10968 10975 10969 3 1584 + 10969 10975 10976 3 1584 + 10969 10976 1988 3 1584 + 1988 10976 10977 3 1584 + 10970 1992 10971 3 1584 + 10971 1992 10978 3 1584 + 10971 10978 10972 3 1584 + 10972 10978 10979 3 1584 + 10972 10979 10973 3 1584 + 10973 10979 10980 3 1584 + 10973 10980 10974 3 1584 + 10974 10980 10981 3 1584 + 10974 10981 10975 3 1584 + 10975 10981 10982 3 1584 + 10975 10982 10976 3 1584 + 10976 10982 10983 3 1584 + 10976 10983 10977 3 1584 + 10977 10983 1991 3 1584 + 1992 1995 10984 3 1586 + 10984 1995 10985 3 1586 + 10984 10985 1993 3 1586 + 1993 10985 1994 3 1586 + 1995 10986 1996 3 1587 + 1996 10986 10987 3 1587 + 10986 10988 10987 3 1587 + 10987 10988 10989 3 1587 + 10988 1583 10989 3 1587 + 10989 1583 1585 3 1587 + 1996 10990 1994 3 1589 + 1994 10990 10991 3 1589 + 10990 10992 10991 3 1589 + 10991 10992 10993 3 1589 + 10992 10994 10993 3 1589 + 10993 10994 10995 3 1589 + 10994 1998 10995 3 1589 + 10995 1998 1997 3 1589 + 1998 2001 10996 3 1591 + 10996 2001 10997 3 1591 + 10996 10997 1999 3 1591 + 1999 10997 2000 3 1591 + 2001 10998 2002 3 1592 + 2002 10998 10999 3 1592 + 10998 11000 10999 3 1592 + 10999 11000 11001 3 1592 + 11000 1586 11001 3 1592 + 11001 1586 1588 3 1592 + 2002 2004 11002 3 1594 + 11002 2004 11004 3 1594 + 11002 11004 11003 3 1594 + 11003 11004 11005 3 1594 + 11003 11005 2000 3 1594 + 2000 11005 2003 3 1594 + 2004 11009 11006 3 1595 + 11006 11009 11010 3 1595 + 11006 11010 11007 3 1595 + 11007 11010 11011 3 1595 + 11007 11011 11008 3 1595 + 11008 11011 11012 3 1595 + 11008 11012 2005 3 1595 + 2005 11012 11013 3 1595 + 11009 11014 11010 3 1595 + 11010 11014 11015 3 1595 + 11010 11015 11011 3 1595 + 11011 11015 11016 3 1595 + 11011 11016 11012 3 1595 + 11012 11016 11017 3 1595 + 11012 11017 11013 3 1595 + 11013 11017 11018 3 1595 + 11014 1592 11015 3 1595 + 11015 1592 11019 3 1595 + 11015 11019 11016 3 1595 + 11016 11019 11020 3 1595 + 11016 11020 11017 3 1595 + 11017 11020 11021 3 1595 + 11017 11021 11018 3 1595 + 11018 11021 1594 3 1595 + 2005 2007 11022 3 1597 + 11022 2007 11026 3 1597 + 11022 11026 11023 3 1597 + 11023 11026 11027 3 1597 + 11023 11027 11024 3 1597 + 11024 11027 11028 3 1597 + 11024 11028 11025 3 1597 + 11025 11028 11029 3 1597 + 11025 11029 2003 3 1597 + 2003 11029 2006 3 1597 + 2007 2010 11030 3 1599 + 11030 2010 11035 3 1599 + 11030 11035 11031 3 1599 + 11031 11035 11036 3 1599 + 11031 11036 11032 3 1599 + 11032 11036 11037 3 1599 + 11032 11037 11033 3 1599 + 11033 11037 11038 3 1599 + 11033 11038 11034 3 1599 + 11034 11038 11039 3 1599 + 11034 11039 2008 3 1599 + 2008 11039 2009 3 1599 + 2010 11040 2011 3 1600 + 2011 11040 11041 3 1600 + 11040 11042 11041 3 1600 + 11041 11042 11043 3 1600 + 11042 1595 11043 3 1600 + 11043 1595 1597 3 1600 + 2011 2013 11044 3 1602 + 11044 2013 11049 3 1602 + 11044 11049 11045 3 1602 + 11045 11049 11050 3 1602 + 11045 11050 11046 3 1602 + 11046 11050 11051 3 1602 + 11046 11051 11047 3 1602 + 11047 11051 11052 3 1602 + 11047 11052 11048 3 1602 + 11048 11052 11053 3 1602 + 11048 11053 2009 3 1602 + 2009 11053 2012 3 1602 + 2013 11054 2014 3 1604 + 2014 11054 11055 3 1604 + 11054 2016 11055 3 1604 + 11055 2016 2015 3 1604 + 2016 11060 11056 3 1606 + 11056 11060 11061 3 1606 + 11056 11061 11057 3 1606 + 11057 11061 11062 3 1606 + 11057 11062 11058 3 1606 + 11058 11062 11063 3 1606 + 11058 11063 11059 3 1606 + 11059 11063 11064 3 1606 + 11059 11064 2017 3 1606 + 2017 11064 11065 3 1606 + 11060 11066 11061 3 1606 + 11061 11066 11067 3 1606 + 11061 11067 11062 3 1606 + 11062 11067 11068 3 1606 + 11062 11068 11063 3 1606 + 11063 11068 11069 3 1606 + 11063 11069 11064 3 1606 + 11064 11069 11070 3 1606 + 11064 11070 11065 3 1606 + 11065 11070 11071 3 1606 + 11066 2019 11067 3 1606 + 11067 2019 11072 3 1606 + 11067 11072 11068 3 1606 + 11068 11072 11073 3 1606 + 11068 11073 11069 3 1606 + 11069 11073 11074 3 1606 + 11069 11074 11070 3 1606 + 11070 11074 11075 3 1606 + 11070 11075 11071 3 1606 + 11071 11075 2018 3 1606 + 2019 1598 11076 3 1607 + 11076 1598 11079 3 1607 + 11076 11079 11077 3 1607 + 11077 11079 11080 3 1607 + 11077 11080 11078 3 1607 + 11078 11080 11081 3 1607 + 11078 11081 2020 3 1607 + 2020 11081 1600 3 1607 + 2020 1601 2018 3 1608 + 2018 1601 1603 3 1608 + 2017 11086 11082 3 1610 + 11082 11086 11087 3 1610 + 11082 11087 11083 3 1610 + 11083 11087 11088 3 1610 + 11083 11088 11084 3 1610 + 11084 11088 11089 3 1610 + 11084 11089 11085 3 1610 + 11085 11089 11090 3 1610 + 11085 11090 2015 3 1610 + 2015 11090 11091 3 1610 + 11086 2022 11087 3 1610 + 11087 2022 11092 3 1610 + 11087 11092 11088 3 1610 + 11088 11092 11093 3 1610 + 11088 11093 11089 3 1610 + 11089 11093 11094 3 1610 + 11089 11094 11090 3 1610 + 11090 11094 11095 3 1610 + 11090 11095 11091 3 1610 + 11091 11095 2021 3 1610 + 2022 1646 2023 3 1611 + 2023 1646 1648 3 1611 + 2023 2025 11096 3 1613 + 11096 2025 11099 3 1613 + 11096 11099 11097 3 1613 + 11097 11099 11100 3 1613 + 11097 11100 11098 3 1613 + 11098 11100 11101 3 1613 + 11098 11101 2021 3 1613 + 2021 11101 2024 3 1613 + 2025 1649 2026 3 1614 + 2026 1649 1651 3 1614 + 2026 2028 11102 3 1616 + 11102 2028 11106 3 1616 + 11102 11106 11103 3 1616 + 11103 11106 11107 3 1616 + 11103 11107 11104 3 1616 + 11104 11107 11108 3 1616 + 11104 11108 11105 3 1616 + 11105 11108 11109 3 1616 + 11105 11109 2024 3 1616 + 2024 11109 2027 3 1616 + 2028 1652 11110 3 1617 + 11110 1652 11114 3 1617 + 11110 11114 11111 3 1617 + 11111 11114 11115 3 1617 + 11111 11115 11112 3 1617 + 11112 11115 11116 3 1617 + 11112 11116 11113 3 1617 + 11113 11116 11117 3 1617 + 11113 11117 2029 3 1617 + 2029 11117 1654 3 1617 + 2029 2031 11118 3 1619 + 11118 2031 11123 3 1619 + 11118 11123 11119 3 1619 + 11119 11123 11124 3 1619 + 11119 11124 11120 3 1619 + 11120 11124 11125 3 1619 + 11120 11125 11121 3 1619 + 11121 11125 11126 3 1619 + 11121 11126 11122 3 1619 + 11122 11126 11127 3 1619 + 11122 11127 2027 3 1619 + 2027 11127 2030 3 1619 + 2031 2034 11128 3 1621 + 11128 2034 11133 3 1621 + 11128 11133 11129 3 1621 + 11129 11133 11134 3 1621 + 11129 11134 11130 3 1621 + 11130 11134 11135 3 1621 + 11130 11135 11131 3 1621 + 11131 11135 11136 3 1621 + 11131 11136 11132 3 1621 + 11132 11136 11137 3 1621 + 11132 11137 2032 3 1621 + 2032 11137 2033 3 1621 + 2034 2037 11138 3 1623 + 11138 2037 11139 3 1623 + 11138 11139 2035 3 1623 + 2035 11139 2036 3 1623 + 2037 1655 11140 3 1624 + 11140 1655 11145 3 1624 + 11140 11145 11141 3 1624 + 11141 11145 11146 3 1624 + 11141 11146 11142 3 1624 + 11142 11146 11147 3 1624 + 11142 11147 11143 3 1624 + 11143 11147 11148 3 1624 + 11143 11148 11144 3 1624 + 11144 11148 11149 3 1624 + 11144 11149 2038 3 1624 + 2038 11149 1657 3 1624 + 2038 2040 11150 3 1626 + 11150 2040 11153 3 1626 + 11150 11153 11151 3 1626 + 11151 11153 11154 3 1626 + 11151 11154 11152 3 1626 + 11152 11154 11155 3 1626 + 11152 11155 2036 3 1626 + 2036 11155 2039 3 1626 + 2040 2043 11156 3 1628 + 11156 2043 11160 3 1628 + 11156 11160 11157 3 1628 + 11157 11160 11161 3 1628 + 11157 11161 11158 3 1628 + 11158 11161 11162 3 1628 + 11158 11162 11159 3 1628 + 11159 11162 11163 3 1628 + 11159 11163 2041 3 1628 + 2041 11163 2042 3 1628 + 2043 11166 11164 3 1630 + 11164 11166 11167 3 1630 + 11164 11167 11165 3 1630 + 11165 11167 11168 3 1630 + 11165 11168 2044 3 1630 + 2044 11168 11169 3 1630 + 11166 2046 11167 3 1630 + 11167 2046 11170 3 1630 + 11167 11170 11168 3 1630 + 11168 11170 11171 3 1630 + 11168 11171 11169 3 1630 + 11169 11171 2045 3 1630 + 2046 1661 11172 3 1631 + 11172 1661 11174 3 1631 + 11172 11174 11173 3 1631 + 11173 11174 11175 3 1631 + 11173 11175 2047 3 1631 + 2047 11175 1663 3 1631 + 2047 11177 11176 3 1633 + 11176 11177 11178 3 1633 + 11176 11178 2045 3 1633 + 2045 11178 11179 3 1633 + 11177 11180 11178 3 1633 + 11178 11180 11181 3 1633 + 11178 11181 11179 3 1633 + 11179 11181 11182 3 1633 + 11180 11183 11181 3 1633 + 11181 11183 11184 3 1633 + 11181 11184 11182 3 1633 + 11182 11184 11185 3 1633 + 11183 11186 11184 3 1633 + 11184 11186 11187 3 1633 + 11184 11187 11185 3 1633 + 11185 11187 11188 3 1633 + 11186 11189 11187 3 1633 + 11187 11189 11190 3 1633 + 11187 11190 11188 3 1633 + 11188 11190 11191 3 1633 + 11189 2049 11190 3 1633 + 11190 2049 11192 3 1633 + 11190 11192 11191 3 1633 + 11191 11192 2048 3 1633 + 2049 2052 11193 3 1635 + 11193 2052 11196 3 1635 + 11193 11196 11194 3 1635 + 11194 11196 11197 3 1635 + 11194 11197 11195 3 1635 + 11195 11197 11198 3 1635 + 11195 11198 2050 3 1635 + 2050 11198 2051 3 1635 + 2052 2055 2053 3 1637 + 2053 2055 2054 3 1637 + 2055 11201 11199 3 1639 + 11199 11201 11202 3 1639 + 11199 11202 11200 3 1639 + 11200 11202 11203 3 1639 + 11200 11203 2056 3 1639 + 2056 11203 11204 3 1639 + 11201 11205 11202 3 1639 + 11202 11205 11206 3 1639 + 11202 11206 11203 3 1639 + 11203 11206 11207 3 1639 + 11203 11207 11204 3 1639 + 11204 11207 11208 3 1639 + 11205 11209 11206 3 1639 + 11206 11209 11210 3 1639 + 11206 11210 11207 3 1639 + 11207 11210 11211 3 1639 + 11207 11211 11208 3 1639 + 11208 11211 11212 3 1639 + 11209 11213 11210 3 1639 + 11210 11213 11214 3 1639 + 11210 11214 11211 3 1639 + 11211 11214 11215 3 1639 + 11211 11215 11212 3 1639 + 11212 11215 11216 3 1639 + 11213 2058 11214 3 1639 + 11214 2058 11217 3 1639 + 11214 11217 11215 3 1639 + 11215 11217 11218 3 1639 + 11215 11218 11216 3 1639 + 11216 11218 2057 3 1639 + 2058 2061 11219 3 1641 + 11219 2061 11222 3 1641 + 11219 11222 11220 3 1641 + 11220 11222 11223 3 1641 + 11220 11223 11221 3 1641 + 11221 11223 11224 3 1641 + 11221 11224 2059 3 1641 + 2059 11224 2060 3 1641 + 2061 11225 2062 3 1643 + 2062 11225 11226 3 1643 + 11225 2064 11226 3 1643 + 11226 2064 2063 3 1643 + 2064 11231 11227 3 1644 + 11227 11231 11232 3 1644 + 11227 11232 11228 3 1644 + 11228 11232 11233 3 1644 + 11228 11233 11229 3 1644 + 11229 11233 11234 3 1644 + 11229 11234 11230 3 1644 + 11230 11234 11235 3 1644 + 11230 11235 2065 3 1644 + 2065 11235 11236 3 1644 + 11231 1664 11232 3 1644 + 11232 1664 11237 3 1644 + 11232 11237 11233 3 1644 + 11233 11237 11238 3 1644 + 11233 11238 11234 3 1644 + 11234 11238 11239 3 1644 + 11234 11239 11235 3 1644 + 11235 11239 11240 3 1644 + 11235 11240 11236 3 1644 + 11236 11240 1666 3 1644 + 2065 11244 11241 3 1646 + 11241 11244 11245 3 1646 + 11241 11245 11242 3 1646 + 11242 11245 11246 3 1646 + 11242 11246 11243 3 1646 + 11243 11246 11247 3 1646 + 11243 11247 2063 3 1646 + 2063 11247 11248 3 1646 + 11244 11249 11245 3 1646 + 11245 11249 11250 3 1646 + 11245 11250 11246 3 1646 + 11246 11250 11251 3 1646 + 11246 11251 11247 3 1646 + 11247 11251 11252 3 1646 + 11247 11252 11248 3 1646 + 11248 11252 11253 3 1646 + 11249 11254 11250 3 1646 + 11250 11254 11255 3 1646 + 11250 11255 11251 3 1646 + 11251 11255 11256 3 1646 + 11251 11256 11252 3 1646 + 11252 11256 11257 3 1646 + 11252 11257 11253 3 1646 + 11253 11257 11258 3 1646 + 11254 11259 11255 3 1646 + 11255 11259 11260 3 1646 + 11255 11260 11256 3 1646 + 11256 11260 11261 3 1646 + 11256 11261 11257 3 1646 + 11257 11261 11262 3 1646 + 11257 11262 11258 3 1646 + 11258 11262 11263 3 1646 + 11259 11264 11260 3 1646 + 11260 11264 11265 3 1646 + 11260 11265 11261 3 1646 + 11261 11265 11266 3 1646 + 11261 11266 11262 3 1646 + 11262 11266 11267 3 1646 + 11262 11267 11263 3 1646 + 11263 11267 11268 3 1646 + 11264 2067 11265 3 1646 + 11265 2067 11269 3 1646 + 11265 11269 11266 3 1646 + 11266 11269 11270 3 1646 + 11266 11270 11267 3 1646 + 11267 11270 11271 3 1646 + 11267 11271 11268 3 1646 + 11268 11271 2066 3 1646 + 2067 2070 11272 3 1648 + 11272 2070 11276 3 1648 + 11272 11276 11273 3 1648 + 11273 11276 11277 3 1648 + 11273 11277 11274 3 1648 + 11274 11277 11278 3 1648 + 11274 11278 11275 3 1648 + 11275 11278 11279 3 1648 + 11275 11279 2068 3 1648 + 2068 11279 2069 3 1648 + 2070 11282 11280 3 1650 + 11280 11282 11283 3 1650 + 11280 11283 11281 3 1650 + 11281 11283 11284 3 1650 + 11281 11284 2071 3 1650 + 2071 11284 11285 3 1650 + 11282 11286 11283 3 1650 + 11283 11286 11287 3 1650 + 11283 11287 11284 3 1650 + 11284 11287 11288 3 1650 + 11284 11288 11285 3 1650 + 11285 11288 11289 3 1650 + 11286 2073 11287 3 1650 + 11287 2073 11290 3 1650 + 11287 11290 11288 3 1650 + 11288 11290 11291 3 1650 + 11288 11291 11289 3 1650 + 11289 11291 2072 3 1650 + 2073 11293 11292 3 1651 + 11292 11293 11294 3 1651 + 11292 11294 2074 3 1651 + 2074 11294 11295 3 1651 + 11293 11296 11294 3 1651 + 11294 11296 11297 3 1651 + 11294 11297 11295 3 1651 + 11295 11297 11298 3 1651 + 11296 1673 11297 3 1651 + 11297 1673 11299 3 1651 + 11297 11299 11298 3 1651 + 11298 11299 1675 3 1651 + 2074 2076 2072 3 1653 + 2072 2076 2075 3 1653 + 2076 2079 11300 3 1655 + 11300 2079 11302 3 1655 + 11300 11302 11301 3 1655 + 11301 11302 11303 3 1655 + 11301 11303 2077 3 1655 + 2077 11303 2078 3 1655 + 2079 1676 11304 3 1656 + 11304 1676 11309 3 1656 + 11304 11309 11305 3 1656 + 11305 11309 11310 3 1656 + 11305 11310 11306 3 1656 + 11306 11310 11311 3 1656 + 11306 11311 11307 3 1656 + 11307 11311 11312 3 1656 + 11307 11312 11308 3 1656 + 11308 11312 11313 3 1656 + 11308 11313 2080 3 1656 + 2080 11313 1678 3 1656 + 2080 11316 11314 3 1658 + 11314 11316 11317 3 1658 + 11314 11317 11315 3 1658 + 11315 11317 11318 3 1658 + 11315 11318 2078 3 1658 + 2078 11318 11319 3 1658 + 11316 11320 11317 3 1658 + 11317 11320 11321 3 1658 + 11317 11321 11318 3 1658 + 11318 11321 11322 3 1658 + 11318 11322 11319 3 1658 + 11319 11322 11323 3 1658 + 11320 11324 11321 3 1658 + 11321 11324 11325 3 1658 + 11321 11325 11322 3 1658 + 11322 11325 11326 3 1658 + 11322 11326 11323 3 1658 + 11323 11326 11327 3 1658 + 11324 2082 11325 3 1658 + 11325 2082 11328 3 1658 + 11325 11328 11326 3 1658 + 11326 11328 11329 3 1658 + 11326 11329 11327 3 1658 + 11327 11329 2081 3 1658 + 2082 11332 11330 3 1660 + 11330 11332 11333 3 1660 + 11330 11333 11331 3 1660 + 11331 11333 11334 3 1660 + 11331 11334 2083 3 1660 + 2083 11334 11335 3 1660 + 11332 11336 11333 3 1660 + 11333 11336 11337 3 1660 + 11333 11337 11334 3 1660 + 11334 11337 11338 3 1660 + 11334 11338 11335 3 1660 + 11335 11338 11339 3 1660 + 11336 11340 11337 3 1660 + 11337 11340 11341 3 1660 + 11337 11341 11338 3 1660 + 11338 11341 11342 3 1660 + 11338 11342 11339 3 1660 + 11339 11342 11343 3 1660 + 11340 2085 11341 3 1660 + 11341 2085 11344 3 1660 + 11341 11344 11342 3 1660 + 11342 11344 11345 3 1660 + 11342 11345 11343 3 1660 + 11343 11345 2084 3 1660 + 2085 11349 11346 3 1662 + 11346 11349 11350 3 1662 + 11346 11350 11347 3 1662 + 11347 11350 11351 3 1662 + 11347 11351 11348 3 1662 + 11348 11351 11352 3 1662 + 11348 11352 2086 3 1662 + 2086 11352 11353 3 1662 + 11349 2088 11350 3 1662 + 11350 2088 11354 3 1662 + 11350 11354 11351 3 1662 + 11351 11354 11355 3 1662 + 11351 11355 11352 3 1662 + 11352 11355 11356 3 1662 + 11352 11356 11353 3 1662 + 11353 11356 2087 3 1662 + 2088 11360 11357 3 1664 + 11357 11360 11361 3 1664 + 11357 11361 11358 3 1664 + 11358 11361 11362 3 1664 + 11358 11362 11359 3 1664 + 11359 11362 11363 3 1664 + 11359 11363 2089 3 1664 + 2089 11363 11364 3 1664 + 11360 11365 11361 3 1664 + 11361 11365 11366 3 1664 + 11361 11366 11362 3 1664 + 11362 11366 11367 3 1664 + 11362 11367 11363 3 1664 + 11363 11367 11368 3 1664 + 11363 11368 11364 3 1664 + 11364 11368 11369 3 1664 + 11365 2091 11366 3 1664 + 11366 2091 11370 3 1664 + 11366 11370 11367 3 1664 + 11367 11370 11371 3 1664 + 11367 11371 11368 3 1664 + 11368 11371 11372 3 1664 + 11368 11372 11369 3 1664 + 11369 11372 2090 3 1664 + 2091 11375 11373 3 1665 + 11373 11375 11376 3 1665 + 11373 11376 11374 3 1665 + 11374 11376 11377 3 1665 + 11374 11377 2092 3 1665 + 2092 11377 11378 3 1665 + 11375 11379 11376 3 1665 + 11376 11379 11380 3 1665 + 11376 11380 11377 3 1665 + 11377 11380 11381 3 1665 + 11377 11381 11378 3 1665 + 11378 11381 11382 3 1665 + 11379 1679 11380 3 1665 + 11380 1679 11383 3 1665 + 11380 11383 11381 3 1665 + 11381 11383 11384 3 1665 + 11381 11384 11382 3 1665 + 11382 11384 1681 3 1665 + 2092 2094 2090 3 1667 + 2090 2094 2093 3 1667 + 2094 11386 11385 3 1668 + 11385 11386 11387 3 1668 + 11385 11387 2095 3 1668 + 2095 11387 11388 3 1668 + 11386 1685 11387 3 1668 + 11387 1685 11389 3 1668 + 11387 11389 11388 3 1668 + 11388 11389 1687 3 1668 + 2095 11390 2093 3 1670 + 2093 11390 11391 3 1670 + 11390 2097 11391 3 1670 + 11391 2097 2096 3 1670 + 2097 11392 2098 3 1672 + 2098 11392 11393 3 1672 + 11392 11394 11393 3 1672 + 11393 11394 11395 3 1672 + 11394 11396 11395 3 1672 + 11395 11396 11397 3 1672 + 11396 11398 11397 3 1672 + 11397 11398 11399 3 1672 + 11398 11400 11399 3 1672 + 11399 11400 11401 3 1672 + 11400 11402 11401 3 1672 + 11401 11402 11403 3 1672 + 11402 11404 11403 3 1672 + 11403 11404 11405 3 1672 + 11404 2100 11405 3 1672 + 11405 2100 2099 3 1672 + 2100 1691 11406 3 1673 + 11406 1691 11408 3 1673 + 11406 11408 11407 3 1673 + 11407 11408 11409 3 1673 + 11407 11409 2101 3 1673 + 2101 11409 1693 3 1673 + 2101 2103 11410 3 1675 + 11410 2103 11411 3 1675 + 11410 11411 2099 3 1675 + 2099 11411 2102 3 1675 + 2103 11412 2104 3 1676 + 2104 11412 11413 3 1676 + 11412 1697 11413 3 1676 + 11413 1697 1699 3 1676 + 2104 11414 2102 3 1678 + 2102 11414 11415 3 1678 + 11414 11416 11415 3 1678 + 11415 11416 11417 3 1678 + 11416 11418 11417 3 1678 + 11417 11418 11419 3 1678 + 11418 2106 11419 3 1678 + 11419 2106 2105 3 1678 + 2106 11420 2107 3 1680 + 2107 11420 11421 3 1680 + 11420 11422 11421 3 1680 + 11421 11422 11423 3 1680 + 11422 2109 11423 3 1680 + 11423 2109 2108 3 1680 + 2109 1700 11424 3 1681 + 11424 1700 11425 3 1681 + 11424 11425 2110 3 1681 + 2110 11425 1702 3 1681 + 2110 11428 11426 3 1683 + 11426 11428 11429 3 1683 + 11426 11429 11427 3 1683 + 11427 11429 11430 3 1683 + 11427 11430 2108 3 1683 + 2108 11430 11431 3 1683 + 11428 11432 11429 3 1683 + 11429 11432 11433 3 1683 + 11429 11433 11430 3 1683 + 11430 11433 11434 3 1683 + 11430 11434 11431 3 1683 + 11431 11434 11435 3 1683 + 11432 11436 11433 3 1683 + 11433 11436 11437 3 1683 + 11433 11437 11434 3 1683 + 11434 11437 11438 3 1683 + 11434 11438 11435 3 1683 + 11435 11438 11439 3 1683 + 11436 2112 11437 3 1683 + 11437 2112 11440 3 1683 + 11437 11440 11438 3 1683 + 11438 11440 11441 3 1683 + 11438 11441 11439 3 1683 + 11439 11441 2111 3 1683 + 2112 2115 2113 3 1685 + 2113 2115 2114 3 1685 + 2115 11443 11442 3 1686 + 11442 11443 11444 3 1686 + 11442 11444 2116 3 1686 + 2116 11444 11445 3 1686 + 11443 1703 11444 3 1686 + 11444 1703 11446 3 1686 + 11444 11446 11445 3 1686 + 11445 11446 1705 3 1686 + 2116 11447 2114 3 1688 + 2114 11447 11448 3 1688 + 11447 11449 11448 3 1688 + 11448 11449 11450 3 1688 + 11449 2118 11450 3 1688 + 11450 2118 2117 3 1688 + 2118 11453 11451 3 1690 + 11451 11453 11454 3 1690 + 11451 11454 11452 3 1690 + 11452 11454 11455 3 1690 + 11452 11455 2119 3 1690 + 2119 11455 11456 3 1690 + 11453 11457 11454 3 1690 + 11454 11457 11458 3 1690 + 11454 11458 11455 3 1690 + 11455 11458 11459 3 1690 + 11455 11459 11456 3 1690 + 11456 11459 11460 3 1690 + 11457 2121 11458 3 1690 + 11458 2121 11461 3 1690 + 11458 11461 11459 3 1690 + 11459 11461 11462 3 1690 + 11459 11462 11460 3 1690 + 11460 11462 2120 3 1690 + 2121 11466 11463 3 1691 + 11463 11466 11467 3 1691 + 11463 11467 11464 3 1691 + 11464 11467 11468 3 1691 + 11464 11468 11465 3 1691 + 11465 11468 11469 3 1691 + 11465 11469 2122 3 1691 + 2122 11469 11470 3 1691 + 11466 1712 11467 3 1691 + 11467 1712 11471 3 1691 + 11467 11471 11468 3 1691 + 11468 11471 11472 3 1691 + 11468 11472 11469 3 1691 + 11469 11472 11473 3 1691 + 11469 11473 11470 3 1691 + 11470 11473 1714 3 1691 + 2122 1721 2120 3 1692 + 2120 1721 1723 3 1692 + 2119 2124 11474 3 1694 + 11474 2124 11475 3 1694 + 11474 11475 2117 3 1694 + 2117 11475 2123 3 1694 + 2124 11476 2125 3 1696 + 2125 11476 11477 3 1696 + 11476 2127 11477 3 1696 + 11477 2127 2126 3 1696 + 2127 2130 11478 3 1698 + 11478 2130 11481 3 1698 + 11478 11481 11479 3 1698 + 11479 11481 11482 3 1698 + 11479 11482 11480 3 1698 + 11480 11482 11483 3 1698 + 11480 11483 2128 3 1698 + 2128 11483 2129 3 1698 + 2130 11487 11484 3 1700 + 11484 11487 11488 3 1700 + 11484 11488 11485 3 1700 + 11485 11488 11489 3 1700 + 11485 11489 11486 3 1700 + 11486 11489 11490 3 1700 + 11486 11490 2131 3 1700 + 2131 11490 11491 3 1700 + 11487 2133 11488 3 1700 + 11488 2133 11492 3 1700 + 11488 11492 11489 3 1700 + 11489 11492 11493 3 1700 + 11489 11493 11490 3 1700 + 11490 11493 11494 3 1700 + 11490 11494 11491 3 1700 + 11491 11494 2132 3 1700 + 2133 11498 11495 3 1701 + 11495 11498 11499 3 1701 + 11495 11499 11496 3 1701 + 11496 11499 11500 3 1701 + 11496 11500 11497 3 1701 + 11497 11500 11501 3 1701 + 11497 11501 2134 3 1701 + 2134 11501 11502 3 1701 + 11498 11503 11499 3 1701 + 11499 11503 11504 3 1701 + 11499 11504 11500 3 1701 + 11500 11504 11505 3 1701 + 11500 11505 11501 3 1701 + 11501 11505 11506 3 1701 + 11501 11506 11502 3 1701 + 11502 11506 11507 3 1701 + 11503 11508 11504 3 1701 + 11504 11508 11509 3 1701 + 11504 11509 11505 3 1701 + 11505 11509 11510 3 1701 + 11505 11510 11506 3 1701 + 11506 11510 11511 3 1701 + 11506 11511 11507 3 1701 + 11507 11511 11512 3 1701 + 11508 11513 11509 3 1701 + 11509 11513 11514 3 1701 + 11509 11514 11510 3 1701 + 11510 11514 11515 3 1701 + 11510 11515 11511 3 1701 + 11511 11515 11516 3 1701 + 11511 11516 11512 3 1701 + 11512 11516 11517 3 1701 + 11513 1724 11514 3 1701 + 11514 1724 11518 3 1701 + 11514 11518 11515 3 1701 + 11515 11518 11519 3 1701 + 11515 11519 11516 3 1701 + 11516 11519 11520 3 1701 + 11516 11520 11517 3 1701 + 11517 11520 1726 3 1701 + 2134 2136 2132 3 1703 + 2132 2136 2135 3 1703 + 2136 11522 11521 3 1705 + 11521 11522 11523 3 1705 + 11521 11523 2137 3 1705 + 2137 11523 11524 3 1705 + 11522 11525 11523 3 1705 + 11523 11525 11526 3 1705 + 11523 11526 11524 3 1705 + 11524 11526 11527 3 1705 + 11525 11528 11526 3 1705 + 11526 11528 11529 3 1705 + 11526 11529 11527 3 1705 + 11527 11529 11530 3 1705 + 11528 11531 11529 3 1705 + 11529 11531 11532 3 1705 + 11529 11532 11530 3 1705 + 11530 11532 11533 3 1705 + 11531 2139 11532 3 1705 + 11532 2139 11534 3 1705 + 11532 11534 11533 3 1705 + 11533 11534 2138 3 1705 + 2139 11535 2140 3 1706 + 2140 11535 11536 3 1706 + 11535 1738 11536 3 1706 + 11536 1738 1740 3 1706 + 2140 11537 2138 3 1708 + 2138 11537 11538 3 1708 + 11537 11539 11538 3 1708 + 11538 11539 11540 3 1708 + 11539 11541 11540 3 1708 + 11540 11541 11542 3 1708 + 11541 2142 11542 3 1708 + 11542 2142 2141 3 1708 + 2142 1741 11543 3 1709 + 11543 1741 11544 3 1709 + 11543 11544 2143 3 1709 + 2143 11544 1743 3 1709 + 2143 11547 11545 3 1711 + 11545 11547 11548 3 1711 + 11545 11548 11546 3 1711 + 11546 11548 11549 3 1711 + 11546 11549 2141 3 1711 + 2141 11549 11550 3 1711 + 11547 11551 11548 3 1711 + 11548 11551 11552 3 1711 + 11548 11552 11549 3 1711 + 11549 11552 11553 3 1711 + 11549 11553 11550 3 1711 + 11550 11553 11554 3 1711 + 11551 11555 11552 3 1711 + 11552 11555 11556 3 1711 + 11552 11556 11553 3 1711 + 11553 11556 11557 3 1711 + 11553 11557 11554 3 1711 + 11554 11557 11558 3 1711 + 11555 11559 11556 3 1711 + 11556 11559 11560 3 1711 + 11556 11560 11557 3 1711 + 11557 11560 11561 3 1711 + 11557 11561 11558 3 1711 + 11558 11561 11562 3 1711 + 11559 11563 11560 3 1711 + 11560 11563 11564 3 1711 + 11560 11564 11561 3 1711 + 11561 11564 11565 3 1711 + 11561 11565 11562 3 1711 + 11562 11565 11566 3 1711 + 11563 11567 11564 3 1711 + 11564 11567 11568 3 1711 + 11564 11568 11565 3 1711 + 11565 11568 11569 3 1711 + 11565 11569 11566 3 1711 + 11566 11569 11570 3 1711 + 11567 11571 11568 3 1711 + 11568 11571 11572 3 1711 + 11568 11572 11569 3 1711 + 11569 11572 11573 3 1711 + 11569 11573 11570 3 1711 + 11570 11573 11574 3 1711 + 11571 2145 11572 3 1711 + 11572 2145 11575 3 1711 + 11572 11575 11573 3 1711 + 11573 11575 11576 3 1711 + 11573 11576 11574 3 1711 + 11574 11576 2144 3 1711 + 2145 2148 11577 3 1713 + 11577 2148 11578 3 1713 + 11577 11578 2146 3 1713 + 2146 11578 2147 3 1713 + 2148 2151 11579 3 1715 + 11579 2151 11584 3 1715 + 11579 11584 11580 3 1715 + 11580 11584 11585 3 1715 + 11580 11585 11581 3 1715 + 11581 11585 11586 3 1715 + 11581 11586 11582 3 1715 + 11582 11586 11587 3 1715 + 11582 11587 11583 3 1715 + 11583 11587 11588 3 1715 + 11583 11588 2149 3 1715 + 2149 11588 2150 3 1715 + 2151 2154 2152 3 1717 + 2152 2154 2153 3 1717 + 2154 11590 11589 3 1719 + 11589 11590 11591 3 1719 + 11589 11591 2155 3 1719 + 2155 11591 11592 3 1719 + 11590 11593 11591 3 1719 + 11591 11593 11594 3 1719 + 11591 11594 11592 3 1719 + 11592 11594 11595 3 1719 + 11593 11596 11594 3 1719 + 11594 11596 11597 3 1719 + 11594 11597 11595 3 1719 + 11595 11597 11598 3 1719 + 11596 11599 11597 3 1719 + 11597 11599 11600 3 1719 + 11597 11600 11598 3 1719 + 11598 11600 11601 3 1719 + 11599 11602 11600 3 1719 + 11600 11602 11603 3 1719 + 11600 11603 11601 3 1719 + 11601 11603 11604 3 1719 + 11602 11605 11603 3 1719 + 11603 11605 11606 3 1719 + 11603 11606 11604 3 1719 + 11604 11606 11607 3 1719 + 11605 11608 11606 3 1719 + 11606 11608 11609 3 1719 + 11606 11609 11607 3 1719 + 11607 11609 11610 3 1719 + 11608 2157 11609 3 1719 + 11609 2157 11611 3 1719 + 11609 11611 11610 3 1719 + 11610 11611 2156 3 1719 + 2157 11615 11612 3 1720 + 11612 11615 11616 3 1720 + 11612 11616 11613 3 1720 + 11613 11616 11617 3 1720 + 11613 11617 11614 3 1720 + 11614 11617 11618 3 1720 + 11614 11618 2158 3 1720 + 2158 11618 11619 3 1720 + 11615 11620 11616 3 1720 + 11616 11620 11621 3 1720 + 11616 11621 11617 3 1720 + 11617 11621 11622 3 1720 + 11617 11622 11618 3 1720 + 11618 11622 11623 3 1720 + 11618 11623 11619 3 1720 + 11619 11623 11624 3 1720 + 11620 1744 11621 3 1720 + 11621 1744 11625 3 1720 + 11621 11625 11622 3 1720 + 11622 11625 11626 3 1720 + 11622 11626 11623 3 1720 + 11623 11626 11627 3 1720 + 11623 11627 11624 3 1720 + 11624 11627 1746 3 1720 + 2158 2160 11628 3 1722 + 11628 2160 11632 3 1722 + 11628 11632 11629 3 1722 + 11629 11632 11633 3 1722 + 11629 11633 11630 3 1722 + 11630 11633 11634 3 1722 + 11630 11634 11631 3 1722 + 11631 11634 11635 3 1722 + 11631 11635 2156 3 1722 + 2156 11635 2159 3 1722 + 2160 2163 2161 3 1724 + 2161 2163 2162 3 1724 + 2163 11639 11636 3 1726 + 11636 11639 11640 3 1726 + 11636 11640 11637 3 1726 + 11637 11640 11641 3 1726 + 11637 11641 11638 3 1726 + 11638 11641 11642 3 1726 + 11638 11642 2164 3 1726 + 2164 11642 11643 3 1726 + 11639 11644 11640 3 1726 + 11640 11644 11645 3 1726 + 11640 11645 11641 3 1726 + 11641 11645 11646 3 1726 + 11641 11646 11642 3 1726 + 11642 11646 11647 3 1726 + 11642 11647 11643 3 1726 + 11643 11647 11648 3 1726 + 11644 2166 11645 3 1726 + 11645 2166 11649 3 1726 + 11645 11649 11646 3 1726 + 11646 11649 11650 3 1726 + 11646 11650 11647 3 1726 + 11647 11650 11651 3 1726 + 11647 11651 11648 3 1726 + 11648 11651 2165 3 1726 + 2166 1747 11652 3 1727 + 11652 1747 11655 3 1727 + 11652 11655 11653 3 1727 + 11653 11655 11656 3 1727 + 11653 11656 11654 3 1727 + 11654 11656 11657 3 1727 + 11654 11657 2167 3 1727 + 2167 11657 1749 3 1727 + 2167 2169 2165 3 1729 + 2165 2169 2168 3 1729 + 2169 11662 11658 3 1730 + 11658 11662 11663 3 1730 + 11658 11663 11659 3 1730 + 11659 11663 11664 3 1730 + 11659 11664 11660 3 1730 + 11660 11664 11665 3 1730 + 11660 11665 11661 3 1730 + 11661 11665 11666 3 1730 + 11661 11666 2170 3 1730 + 2170 11666 11667 3 1730 + 11662 11668 11663 3 1730 + 11663 11668 11669 3 1730 + 11663 11669 11664 3 1730 + 11664 11669 11670 3 1730 + 11664 11670 11665 3 1730 + 11665 11670 11671 3 1730 + 11665 11671 11666 3 1730 + 11666 11671 11672 3 1730 + 11666 11672 11667 3 1730 + 11667 11672 11673 3 1730 + 11668 11674 11669 3 1730 + 11669 11674 11675 3 1730 + 11669 11675 11670 3 1730 + 11670 11675 11676 3 1730 + 11670 11676 11671 3 1730 + 11671 11676 11677 3 1730 + 11671 11677 11672 3 1730 + 11672 11677 11678 3 1730 + 11672 11678 11673 3 1730 + 11673 11678 11679 3 1730 + 11674 1753 11675 3 1730 + 11675 1753 11680 3 1730 + 11675 11680 11676 3 1730 + 11676 11680 11681 3 1730 + 11676 11681 11677 3 1730 + 11677 11681 11682 3 1730 + 11677 11682 11678 3 1730 + 11678 11682 11683 3 1730 + 11678 11683 11679 3 1730 + 11679 11683 1755 3 1730 + 2170 2172 11684 3 1732 + 11684 2172 11688 3 1732 + 11684 11688 11685 3 1732 + 11685 11688 11689 3 1732 + 11685 11689 11686 3 1732 + 11686 11689 11690 3 1732 + 11686 11690 11687 3 1732 + 11687 11690 11691 3 1732 + 11687 11691 2168 3 1732 + 2168 11691 2171 3 1732 + 2172 2175 11692 3 1734 + 11692 2175 11694 3 1734 + 11692 11694 11693 3 1734 + 11693 11694 11695 3 1734 + 11693 11695 2173 3 1734 + 2173 11695 2174 3 1734 + 2175 11699 11696 3 1736 + 11696 11699 11700 3 1736 + 11696 11700 11697 3 1736 + 11697 11700 11701 3 1736 + 11697 11701 11698 3 1736 + 11698 11701 11702 3 1736 + 11698 11702 2176 3 1736 + 2176 11702 11703 3 1736 + 11699 11704 11700 3 1736 + 11700 11704 11705 3 1736 + 11700 11705 11701 3 1736 + 11701 11705 11706 3 1736 + 11701 11706 11702 3 1736 + 11702 11706 11707 3 1736 + 11702 11707 11703 3 1736 + 11703 11707 11708 3 1736 + 11704 11709 11705 3 1736 + 11705 11709 11710 3 1736 + 11705 11710 11706 3 1736 + 11706 11710 11711 3 1736 + 11706 11711 11707 3 1736 + 11707 11711 11712 3 1736 + 11707 11712 11708 3 1736 + 11708 11712 11713 3 1736 + 11709 11714 11710 3 1736 + 11710 11714 11715 3 1736 + 11710 11715 11711 3 1736 + 11711 11715 11716 3 1736 + 11711 11716 11712 3 1736 + 11712 11716 11717 3 1736 + 11712 11717 11713 3 1736 + 11713 11717 11718 3 1736 + 11714 2178 11715 3 1736 + 11715 2178 11719 3 1736 + 11715 11719 11716 3 1736 + 11716 11719 11720 3 1736 + 11716 11720 11717 3 1736 + 11717 11720 11721 3 1736 + 11717 11721 11718 3 1736 + 11718 11721 2177 3 1736 + 2178 2181 2179 3 1738 + 2179 2181 2180 3 1738 + 2181 11723 11722 3 1740 + 11722 11723 11724 3 1740 + 11722 11724 2182 3 1740 + 2182 11724 11725 3 1740 + 11723 11726 11724 3 1740 + 11724 11726 11727 3 1740 + 11724 11727 11725 3 1740 + 11725 11727 11728 3 1740 + 11726 11729 11727 3 1740 + 11727 11729 11730 3 1740 + 11727 11730 11728 3 1740 + 11728 11730 11731 3 1740 + 11729 11732 11730 3 1740 + 11730 11732 11733 3 1740 + 11730 11733 11731 3 1740 + 11731 11733 11734 3 1740 + 11732 11735 11733 3 1740 + 11733 11735 11736 3 1740 + 11733 11736 11734 3 1740 + 11734 11736 11737 3 1740 + 11735 11738 11736 3 1740 + 11736 11738 11739 3 1740 + 11736 11739 11737 3 1740 + 11737 11739 11740 3 1740 + 11738 2184 11739 3 1740 + 11739 2184 11741 3 1740 + 11739 11741 11740 3 1740 + 11740 11741 2183 3 1740 + 2184 1756 2185 3 1741 + 2185 1756 1758 3 1741 + 2185 2187 2183 3 1743 + 2183 2187 2186 3 1743 + 1763 2188 2190 3 1744 + 2187 1761 2189 3 1745 + 2193 2186 2192 3 1747 + 2188 2194 2191 3 1748 + 2196 2195 2189 3 1750 + 2194 2197 2190 3 1751 + 2198 11742 2201 3 1753 + 2201 11742 11743 3 1753 + 11743 11742 2200 3 1753 + 2197 2202 11744 3 1754 + 11744 2202 11745 3 1754 + 11744 11745 2199 3 1754 + 2202 11748 11746 3 1756 + 11746 11748 11749 3 1756 + 11746 11749 11747 3 1756 + 11747 11749 11750 3 1756 + 11747 11750 2203 3 1756 + 2203 11750 11751 3 1756 + 11748 11752 11749 3 1756 + 11749 11752 11753 3 1756 + 11749 11753 11750 3 1756 + 11750 11753 11754 3 1756 + 11750 11754 11751 3 1756 + 11751 11754 11755 3 1756 + 11752 2205 11753 3 1756 + 11753 2205 11756 3 1756 + 11753 11756 11754 3 1756 + 11754 11756 11757 3 1756 + 11754 11757 11755 3 1756 + 11755 11757 2204 3 1756 + 2205 11758 2206 3 1758 + 2206 11758 11759 3 1758 + 11758 2208 11759 3 1758 + 11759 2208 2207 3 1758 + 2208 11761 11760 3 1760 + 11760 11761 11762 3 1760 + 11760 11762 2209 3 1760 + 2209 11762 11763 3 1760 + 11761 11764 11762 3 1760 + 11762 11764 11765 3 1760 + 11762 11765 11763 3 1760 + 11763 11765 11766 3 1760 + 11764 11767 11765 3 1760 + 11765 11767 11768 3 1760 + 11765 11768 11766 3 1760 + 11766 11768 11769 3 1760 + 11767 2211 11768 3 1760 + 11768 2211 11770 3 1760 + 11768 11770 11769 3 1760 + 11769 11770 2210 3 1760 + 2211 2214 2212 3 1762 + 2212 2214 2213 3 1762 + 2214 2217 11771 3 1764 + 11771 2217 11775 3 1764 + 11771 11775 11772 3 1764 + 11772 11775 11776 3 1764 + 11772 11776 11773 3 1764 + 11773 11776 11777 3 1764 + 11773 11777 11774 3 1764 + 11774 11777 11778 3 1764 + 11774 11778 2215 3 1764 + 2215 11778 2216 3 1764 + 2217 1764 11779 3 1765 + 11779 1764 11782 3 1765 + 11779 11782 11780 3 1765 + 11780 11782 11783 3 1765 + 11780 11783 11781 3 1765 + 11781 11783 11784 3 1765 + 11781 11784 2218 3 1765 + 2218 11784 1766 3 1765 + 2218 1767 11785 3 1766 + 11785 1767 11788 3 1766 + 11785 11788 11786 3 1766 + 11786 11788 11789 3 1766 + 11786 11789 11787 3 1766 + 11787 11789 11790 3 1766 + 11787 11790 2216 3 1766 + 2216 11790 1769 3 1766 + 2215 2220 11791 3 1768 + 11791 2220 11794 3 1768 + 11791 11794 11792 3 1768 + 11792 11794 11795 3 1768 + 11792 11795 11793 3 1768 + 11793 11795 11796 3 1768 + 11793 11796 2213 3 1768 + 2213 11796 2219 3 1768 + 2220 2223 11797 3 1770 + 11797 2223 11800 3 1770 + 11797 11800 11798 3 1770 + 11798 11800 11801 3 1770 + 11798 11801 11799 3 1770 + 11799 11801 11802 3 1770 + 11799 11802 2221 3 1770 + 2221 11802 2222 3 1770 + 2223 11803 2224 3 1771 + 2224 11803 11804 3 1771 + 11803 11805 11804 3 1771 + 11804 11805 11806 3 1771 + 11805 11807 11806 3 1771 + 11806 11807 11808 3 1771 + 11807 11809 11808 3 1771 + 11808 11809 11810 3 1771 + 11809 1773 11810 3 1771 + 11810 1773 1775 3 1771 + 2224 11814 11811 3 1773 + 11811 11814 11815 3 1773 + 11811 11815 11812 3 1773 + 11812 11815 11816 3 1773 + 11812 11816 11813 3 1773 + 11813 11816 11817 3 1773 + 11813 11817 2222 3 1773 + 2222 11817 11818 3 1773 + 11814 11819 11815 3 1773 + 11815 11819 11820 3 1773 + 11815 11820 11816 3 1773 + 11816 11820 11821 3 1773 + 11816 11821 11817 3 1773 + 11817 11821 11822 3 1773 + 11817 11822 11818 3 1773 + 11818 11822 11823 3 1773 + 11819 2226 11820 3 1773 + 11820 2226 11824 3 1773 + 11820 11824 11821 3 1773 + 11821 11824 11825 3 1773 + 11821 11825 11822 3 1773 + 11822 11825 11826 3 1773 + 11822 11826 11823 3 1773 + 11823 11826 2225 3 1773 + 2226 11830 11827 3 1774 + 11827 11830 11831 3 1774 + 11827 11831 11828 3 1774 + 11828 11831 11832 3 1774 + 11828 11832 11829 3 1774 + 11829 11832 11833 3 1774 + 11829 11833 2227 3 1774 + 2227 11833 11834 3 1774 + 11830 1785 11831 3 1774 + 11831 1785 11835 3 1774 + 11831 11835 11832 3 1774 + 11832 11835 11836 3 1774 + 11832 11836 11833 3 1774 + 11833 11836 11837 3 1774 + 11833 11837 11834 3 1774 + 11834 11837 1787 3 1774 + 2227 11841 11838 3 1776 + 11838 11841 11842 3 1776 + 11838 11842 11839 3 1776 + 11839 11842 11843 3 1776 + 11839 11843 11840 3 1776 + 11840 11843 11844 3 1776 + 11840 11844 2225 3 1776 + 2225 11844 11845 3 1776 + 11841 2229 11842 3 1776 + 11842 2229 11846 3 1776 + 11842 11846 11843 3 1776 + 11843 11846 11847 3 1776 + 11843 11847 11844 3 1776 + 11844 11847 11848 3 1776 + 11844 11848 11845 3 1776 + 11845 11848 2228 3 1776 + 2229 11850 11849 3 1778 + 11849 11850 11851 3 1778 + 11849 11851 2230 3 1778 + 2230 11851 11852 3 1778 + 11850 11853 11851 3 1778 + 11851 11853 11854 3 1778 + 11851 11854 11852 3 1778 + 11852 11854 11855 3 1778 + 11853 2232 11854 3 1778 + 11854 2232 11856 3 1778 + 11854 11856 11855 3 1778 + 11855 11856 2231 3 1778 + 2232 11859 11857 3 1780 + 11857 11859 11860 3 1780 + 11857 11860 11858 3 1780 + 11858 11860 11861 3 1780 + 11858 11861 2233 3 1780 + 2233 11861 11862 3 1780 + 11859 2235 11860 3 1780 + 11860 2235 11863 3 1780 + 11860 11863 11861 3 1780 + 11861 11863 11864 3 1780 + 11861 11864 11862 3 1780 + 11862 11864 2234 3 1780 + 2235 2238 11865 3 1782 + 11865 2238 11866 3 1782 + 11865 11866 2236 3 1782 + 2236 11866 2237 3 1782 + 2238 1788 2239 3 1783 + 2239 1788 1790 3 1783 + 2239 1791 2237 3 1784 + 2237 1791 1793 3 1784 + 2236 11867 2234 3 1786 + 2234 11867 11868 3 1786 + 11867 11869 11868 3 1786 + 11868 11869 11870 3 1786 + 11869 2241 11870 3 1786 + 11870 2241 2240 3 1786 + 2241 1797 2242 3 1787 + 2242 1797 1799 3 1787 + 2242 11872 11871 3 1789 + 11871 11872 11873 3 1789 + 11871 11873 2240 3 1789 + 2240 11873 11874 3 1789 + 11872 2244 11873 3 1789 + 11873 2244 11875 3 1789 + 11873 11875 11874 3 1789 + 11874 11875 2243 3 1789 + 2244 11879 11876 3 1791 + 11876 11879 11880 3 1791 + 11876 11880 11877 3 1791 + 11877 11880 11881 3 1791 + 11877 11881 11878 3 1791 + 11878 11881 11882 3 1791 + 11878 11882 2245 3 1791 + 2245 11882 11883 3 1791 + 11879 2247 11880 3 1791 + 11880 2247 11884 3 1791 + 11880 11884 11881 3 1791 + 11881 11884 11885 3 1791 + 11881 11885 11882 3 1791 + 11882 11885 11886 3 1791 + 11882 11886 11883 3 1791 + 11883 11886 2246 3 1791 + 2247 1800 11887 3 1792 + 11887 1800 11888 3 1792 + 11887 11888 2248 3 1792 + 2248 11888 1802 3 1792 + 2248 11889 2246 3 1794 + 2246 11889 11890 3 1794 + 11889 2250 11890 3 1794 + 11890 2250 2249 3 1794 + 2250 1803 2251 3 1795 + 2251 1803 1805 3 1795 + 2251 2253 11891 3 1797 + 11891 2253 11892 3 1797 + 11891 11892 2249 3 1797 + 2249 11892 2252 3 1797 + 2253 2256 11893 3 1799 + 11893 2256 11895 3 1799 + 11893 11895 11894 3 1799 + 11894 11895 11896 3 1799 + 11894 11896 2254 3 1799 + 2254 11896 2255 3 1799 + 2256 1806 2257 3 1800 + 2257 1806 1808 3 1800 + 2257 1818 11897 3 1801 + 11897 1818 11898 3 1801 + 11897 11898 2255 3 1801 + 2255 11898 1820 3 1801 + 2254 11899 2252 3 1803 + 2252 11899 11900 3 1803 + 11899 11901 11900 3 1803 + 11900 11901 11902 3 1803 + 11901 11903 11902 3 1803 + 11902 11903 11904 3 1803 + 11903 11905 11904 3 1803 + 11904 11905 11906 3 1803 + 11905 11907 11906 3 1803 + 11906 11907 11908 3 1803 + 11907 11909 11908 3 1803 + 11908 11909 11910 3 1803 + 11909 2259 11910 3 1803 + 11910 2259 2258 3 1803 + 2259 2262 11911 3 1805 + 11911 2262 11915 3 1805 + 11911 11915 11912 3 1805 + 11912 11915 11916 3 1805 + 11912 11916 11913 3 1805 + 11913 11916 11917 3 1805 + 11913 11917 11914 3 1805 + 11914 11917 11918 3 1805 + 11914 11918 2260 3 1805 + 2260 11918 2261 3 1805 + 2262 11923 11919 3 1806 + 11919 11923 11924 3 1806 + 11919 11924 11920 3 1806 + 11920 11924 11925 3 1806 + 11920 11925 11921 3 1806 + 11921 11925 11926 3 1806 + 11921 11926 11922 3 1806 + 11922 11926 11927 3 1806 + 11922 11927 2263 3 1806 + 2263 11927 11928 3 1806 + 11923 11929 11924 3 1806 + 11924 11929 11930 3 1806 + 11924 11930 11925 3 1806 + 11925 11930 11931 3 1806 + 11925 11931 11926 3 1806 + 11926 11931 11932 3 1806 + 11926 11932 11927 3 1806 + 11927 11932 11933 3 1806 + 11927 11933 11928 3 1806 + 11928 11933 11934 3 1806 + 11929 1824 11930 3 1806 + 11930 1824 11935 3 1806 + 11930 11935 11931 3 1806 + 11931 11935 11936 3 1806 + 11931 11936 11932 3 1806 + 11932 11936 11937 3 1806 + 11932 11937 11933 3 1806 + 11933 11937 11938 3 1806 + 11933 11938 11934 3 1806 + 11934 11938 1826 3 1806 + 2263 2265 11939 3 1808 + 11939 2265 11944 3 1808 + 11939 11944 11940 3 1808 + 11940 11944 11945 3 1808 + 11940 11945 11941 3 1808 + 11941 11945 11946 3 1808 + 11941 11946 11942 3 1808 + 11942 11946 11947 3 1808 + 11942 11947 11943 3 1808 + 11943 11947 11948 3 1808 + 11943 11948 2261 3 1808 + 2261 11948 2264 3 1808 + 2265 11949 2266 3 1810 + 2266 11949 11950 3 1810 + 11949 11951 11950 3 1810 + 11950 11951 11952 3 1810 + 11951 11953 11952 3 1810 + 11952 11953 11954 3 1810 + 11953 2268 11954 3 1810 + 11954 2268 2267 3 1810 + 2268 11956 11955 3 1812 + 11955 11956 11957 3 1812 + 11955 11957 2269 3 1812 + 2269 11957 11958 3 1812 + 11956 2271 11957 3 1812 + 11957 2271 11959 3 1812 + 11957 11959 11958 3 1812 + 11958 11959 2270 3 1812 + 2271 1827 11960 3 1813 + 11960 1827 11963 3 1813 + 11960 11963 11961 3 1813 + 11961 11963 11964 3 1813 + 11961 11964 11962 3 1813 + 11962 11964 11965 3 1813 + 11962 11965 2272 3 1813 + 2272 11965 1829 3 1813 + 2272 2274 11966 3 1815 + 11966 2274 11967 3 1815 + 11966 11967 2270 3 1815 + 2270 11967 2273 3 1815 + 2274 2277 11968 3 1817 + 11968 2277 11973 3 1817 + 11968 11973 11969 3 1817 + 11969 11973 11974 3 1817 + 11969 11974 11970 3 1817 + 11970 11974 11975 3 1817 + 11970 11975 11971 3 1817 + 11971 11975 11976 3 1817 + 11971 11976 11972 3 1817 + 11972 11976 11977 3 1817 + 11972 11977 2275 3 1817 + 2275 11977 2276 3 1817 + 2277 11981 11978 3 1819 + 11978 11981 11982 3 1819 + 11978 11982 11979 3 1819 + 11979 11982 11983 3 1819 + 11979 11983 11980 3 1819 + 11980 11983 11984 3 1819 + 11980 11984 2278 3 1819 + 2278 11984 11985 3 1819 + 11981 2280 11982 3 1819 + 11982 2280 11986 3 1819 + 11982 11986 11983 3 1819 + 11983 11986 11987 3 1819 + 11983 11987 11984 3 1819 + 11984 11987 11988 3 1819 + 11984 11988 11985 3 1819 + 11985 11988 2279 3 1819 + 2280 1830 11989 3 1820 + 11989 1830 11993 3 1820 + 11989 11993 11990 3 1820 + 11990 11993 11994 3 1820 + 11990 11994 11991 3 1820 + 11991 11994 11995 3 1820 + 11991 11995 11992 3 1820 + 11992 11995 11996 3 1820 + 11992 11996 2281 3 1820 + 2281 11996 1832 3 1820 + 2284 2279 2283 3 1822 + 2281 2285 2282 3 1823 + 2285 2288 11997 3 1825 + 11997 2288 12002 3 1825 + 11997 12002 11998 3 1825 + 11998 12002 12003 3 1825 + 11998 12003 11999 3 1825 + 11999 12003 12004 3 1825 + 11999 12004 12000 3 1825 + 12000 12004 12005 3 1825 + 12000 12005 12001 3 1825 + 12001 12005 12006 3 1825 + 12001 12006 2286 3 1825 + 2286 12006 2287 3 1825 + 2288 2291 12007 3 1827 + 12007 2291 12012 3 1827 + 12007 12012 12008 3 1827 + 12008 12012 12013 3 1827 + 12008 12013 12009 3 1827 + 12009 12013 12014 3 1827 + 12009 12014 12010 3 1827 + 12010 12014 12015 3 1827 + 12010 12015 12011 3 1827 + 12011 12015 12016 3 1827 + 12011 12016 2289 3 1827 + 2289 12016 2290 3 1827 + 2291 2294 12017 3 1829 + 12017 2294 12020 3 1829 + 12017 12020 12018 3 1829 + 12018 12020 12021 3 1829 + 12018 12021 12019 3 1829 + 12019 12021 12022 3 1829 + 12019 12022 2292 3 1829 + 2292 12022 2293 3 1829 + 2294 1866 2295 3 1830 + 2295 1866 1868 3 1830 + 2295 2297 12023 3 1832 + 12023 2297 12025 3 1832 + 12023 12025 12024 3 1832 + 12024 12025 12026 3 1832 + 12024 12026 2293 3 1832 + 2293 12026 2296 3 1832 + 2297 1869 12027 3 1833 + 12027 1869 12031 3 1833 + 12027 12031 12028 3 1833 + 12028 12031 12032 3 1833 + 12028 12032 12029 3 1833 + 12029 12032 12033 3 1833 + 12029 12033 12030 3 1833 + 12030 12033 12034 3 1833 + 12030 12034 2298 3 1833 + 2298 12034 1871 3 1833 + 2298 2300 12035 3 1835 + 12035 2300 12036 3 1835 + 12035 12036 2296 3 1835 + 2296 12036 2299 3 1835 + 2300 1893 12037 3 1836 + 12037 1893 12040 3 1836 + 12037 12040 12038 3 1836 + 12038 12040 12041 3 1836 + 12038 12041 12039 3 1836 + 12039 12041 12042 3 1836 + 12039 12042 2301 3 1836 + 2301 12042 1895 3 1836 + 2301 2290 12043 3 1837 + 12043 2290 12045 3 1837 + 12043 12045 12044 3 1837 + 12044 12045 12046 3 1837 + 12044 12046 2299 3 1837 + 2299 12046 2292 3 1837 + 2289 2303 2287 3 1839 + 2287 2303 2302 3 1839 + 2303 12049 12047 3 1841 + 12047 12049 12050 3 1841 + 12047 12050 12048 3 1841 + 12048 12050 12051 3 1841 + 12048 12051 2304 3 1841 + 2304 12051 12052 3 1841 + 12049 12053 12050 3 1841 + 12050 12053 12054 3 1841 + 12050 12054 12051 3 1841 + 12051 12054 12055 3 1841 + 12051 12055 12052 3 1841 + 12052 12055 12056 3 1841 + 12053 12057 12054 3 1841 + 12054 12057 12058 3 1841 + 12054 12058 12055 3 1841 + 12055 12058 12059 3 1841 + 12055 12059 12056 3 1841 + 12056 12059 12060 3 1841 + 12057 12061 12058 3 1841 + 12058 12061 12062 3 1841 + 12058 12062 12059 3 1841 + 12059 12062 12063 3 1841 + 12059 12063 12060 3 1841 + 12060 12063 12064 3 1841 + 12061 2306 12062 3 1841 + 12062 2306 12065 3 1841 + 12062 12065 12063 3 1841 + 12063 12065 12066 3 1841 + 12063 12066 12064 3 1841 + 12064 12066 2305 3 1841 + 2306 12068 12067 3 1843 + 12067 12068 12069 3 1843 + 12067 12069 2307 3 1843 + 2307 12069 12070 3 1843 + 12068 12071 12069 3 1843 + 12069 12071 12072 3 1843 + 12069 12072 12070 3 1843 + 12070 12072 12073 3 1843 + 12071 2309 12072 3 1843 + 12072 2309 12074 3 1843 + 12072 12074 12073 3 1843 + 12073 12074 2308 3 1843 + 2309 1938 2310 3 1844 + 2310 1938 1940 3 1844 + 2310 2312 2308 3 1846 + 2308 2312 2311 3 1846 + 2312 1941 12075 3 1847 + 12075 1941 12078 3 1847 + 12075 12078 12076 3 1847 + 12076 12078 12079 3 1847 + 12076 12079 12077 3 1847 + 12077 12079 12080 3 1847 + 12077 12080 2313 3 1847 + 2313 12080 1943 3 1847 + 2313 12083 12081 3 1849 + 12081 12083 12084 3 1849 + 12081 12084 12082 3 1849 + 12082 12084 12085 3 1849 + 12082 12085 2311 3 1849 + 2311 12085 12086 3 1849 + 12083 12087 12084 3 1849 + 12084 12087 12088 3 1849 + 12084 12088 12085 3 1849 + 12085 12088 12089 3 1849 + 12085 12089 12086 3 1849 + 12086 12089 12090 3 1849 + 12087 12091 12088 3 1849 + 12088 12091 12092 3 1849 + 12088 12092 12089 3 1849 + 12089 12092 12093 3 1849 + 12089 12093 12090 3 1849 + 12090 12093 12094 3 1849 + 12091 2315 12092 3 1849 + 12092 2315 12095 3 1849 + 12092 12095 12093 3 1849 + 12093 12095 12096 3 1849 + 12093 12096 12094 3 1849 + 12094 12096 2314 3 1849 + 2315 2318 2316 3 1851 + 2316 2318 2317 3 1851 + 2318 12099 12097 3 1853 + 12097 12099 12100 3 1853 + 12097 12100 12098 3 1853 + 12098 12100 12101 3 1853 + 12098 12101 2319 3 1853 + 2319 12101 12102 3 1853 + 12099 12103 12100 3 1853 + 12100 12103 12104 3 1853 + 12100 12104 12101 3 1853 + 12101 12104 12105 3 1853 + 12101 12105 12102 3 1853 + 12102 12105 12106 3 1853 + 12103 12107 12104 3 1853 + 12104 12107 12108 3 1853 + 12104 12108 12105 3 1853 + 12105 12108 12109 3 1853 + 12105 12109 12106 3 1853 + 12106 12109 12110 3 1853 + 12107 2321 12108 3 1853 + 12108 2321 12111 3 1853 + 12108 12111 12109 3 1853 + 12109 12111 12112 3 1853 + 12109 12112 12110 3 1853 + 12110 12112 2320 3 1853 + 2321 2324 12113 3 1855 + 12113 2324 12114 3 1855 + 12113 12114 2322 3 1855 + 2322 12114 2323 3 1855 + 2324 12118 12115 3 1856 + 12115 12118 12119 3 1856 + 12115 12119 12116 3 1856 + 12116 12119 12120 3 1856 + 12116 12120 12117 3 1856 + 12117 12120 12121 3 1856 + 12117 12121 2325 3 1856 + 2325 12121 12122 3 1856 + 12118 12123 12119 3 1856 + 12119 12123 12124 3 1856 + 12119 12124 12120 3 1856 + 12120 12124 12125 3 1856 + 12120 12125 12121 3 1856 + 12121 12125 12126 3 1856 + 12121 12126 12122 3 1856 + 12122 12126 12127 3 1856 + 12123 12128 12124 3 1856 + 12124 12128 12129 3 1856 + 12124 12129 12125 3 1856 + 12125 12129 12130 3 1856 + 12125 12130 12126 3 1856 + 12126 12130 12131 3 1856 + 12126 12131 12127 3 1856 + 12127 12131 12132 3 1856 + 12128 12133 12129 3 1856 + 12129 12133 12134 3 1856 + 12129 12134 12130 3 1856 + 12130 12134 12135 3 1856 + 12130 12135 12131 3 1856 + 12131 12135 12136 3 1856 + 12131 12136 12132 3 1856 + 12132 12136 12137 3 1856 + 12133 1944 12134 3 1856 + 12134 1944 12138 3 1856 + 12134 12138 12135 3 1856 + 12135 12138 12139 3 1856 + 12135 12139 12136 3 1856 + 12136 12139 12140 3 1856 + 12136 12140 12137 3 1856 + 12137 12140 1946 3 1856 + 2325 1953 12141 3 1857 + 12141 1953 12145 3 1857 + 12141 12145 12142 3 1857 + 12142 12145 12146 3 1857 + 12142 12146 12143 3 1857 + 12143 12146 12147 3 1857 + 12143 12147 12144 3 1857 + 12144 12147 12148 3 1857 + 12144 12148 2323 3 1857 + 2323 12148 1955 3 1857 + 2322 12149 2320 3 1859 + 2320 12149 12150 3 1859 + 12149 2327 12150 3 1859 + 12150 2327 2326 3 1859 + 2327 2330 12151 3 1861 + 12151 2330 12154 3 1861 + 12151 12154 12152 3 1861 + 12152 12154 12155 3 1861 + 12152 12155 12153 3 1861 + 12153 12155 12156 3 1861 + 12153 12156 2328 3 1861 + 2328 12156 2329 3 1861 + 2330 2333 12157 3 1863 + 12157 2333 12161 3 1863 + 12157 12161 12158 3 1863 + 12158 12161 12162 3 1863 + 12158 12162 12159 3 1863 + 12159 12162 12163 3 1863 + 12159 12163 12160 3 1863 + 12160 12163 12164 3 1863 + 12160 12164 2331 3 1863 + 2331 12164 2332 3 1863 + 2333 1958 12165 3 1864 + 12165 1958 12169 3 1864 + 12165 12169 12166 3 1864 + 12166 12169 12170 3 1864 + 12166 12170 12167 3 1864 + 12167 12170 12171 3 1864 + 12167 12171 12168 3 1864 + 12168 12171 12172 3 1864 + 12168 12172 2334 3 1864 + 2334 12172 1960 3 1864 + 2334 1961 12173 3 1865 + 12173 1961 12175 3 1865 + 12173 12175 12174 3 1865 + 12174 12175 12176 3 1865 + 12174 12176 2332 3 1865 + 2332 12176 1963 3 1865 + 2331 2336 12177 3 1867 + 12177 2336 12181 3 1867 + 12177 12181 12178 3 1867 + 12178 12181 12182 3 1867 + 12178 12182 12179 3 1867 + 12179 12182 12183 3 1867 + 12179 12183 12180 3 1867 + 12180 12183 12184 3 1867 + 12180 12184 2329 3 1867 + 2329 12184 2335 3 1867 + 2336 1964 12185 3 1868 + 12185 1964 12189 3 1868 + 12185 12189 12186 3 1868 + 12186 12189 12190 3 1868 + 12186 12190 12187 3 1868 + 12187 12190 12191 3 1868 + 12187 12191 12188 3 1868 + 12188 12191 12192 3 1868 + 12188 12192 2337 3 1868 + 2337 12192 1966 3 1868 + 2337 2339 12193 3 1870 + 12193 2339 12196 3 1870 + 12193 12196 12194 3 1870 + 12194 12196 12197 3 1870 + 12194 12197 12195 3 1870 + 12195 12197 12198 3 1870 + 12195 12198 2335 3 1870 + 2335 12198 2338 3 1870 + 2339 2342 2340 3 1872 + 2340 2342 2341 3 1872 + 2342 1967 12199 3 1873 + 12199 1967 12202 3 1873 + 12199 12202 12200 3 1873 + 12200 12202 12203 3 1873 + 12200 12203 12201 3 1873 + 12201 12203 12204 3 1873 + 12201 12204 2343 3 1873 + 2343 12204 1969 3 1873 + 2343 2345 12205 3 1875 + 12205 2345 12208 3 1875 + 12205 12208 12206 3 1875 + 12206 12208 12209 3 1875 + 12206 12209 12207 3 1875 + 12207 12209 12210 3 1875 + 12207 12210 2341 3 1875 + 2341 12210 2344 3 1875 + 2346 12211 2349 3 1877 + 2349 12211 12212 3 1877 + 12212 12211 2348 3 1877 + 2345 2350 12213 3 1878 + 12213 2350 12214 3 1878 + 12213 12214 2347 3 1878 + 2350 2353 2351 3 1880 + 2351 2353 2352 3 1880 + 2357 2354 2356 3 1882 + 2353 2358 2355 3 1883 + 2358 2361 2359 3 1885 + 2359 2361 2360 3 1885 + 2361 1970 2362 3 1886 + 2362 1970 1972 3 1886 + 2362 2364 12215 3 1888 + 12215 2364 12216 3 1888 + 12215 12216 2360 3 1888 + 2360 12216 2363 3 1888 + 2364 12219 12217 3 1890 + 12217 12219 12220 3 1890 + 12217 12220 12218 3 1890 + 12218 12220 12221 3 1890 + 12218 12221 2365 3 1890 + 2365 12221 12222 3 1890 + 12219 12223 12220 3 1890 + 12220 12223 12224 3 1890 + 12220 12224 12221 3 1890 + 12221 12224 12225 3 1890 + 12221 12225 12222 3 1890 + 12222 12225 12226 3 1890 + 12223 12227 12224 3 1890 + 12224 12227 12228 3 1890 + 12224 12228 12225 3 1890 + 12225 12228 12229 3 1890 + 12225 12229 12226 3 1890 + 12226 12229 12230 3 1890 + 12227 12231 12228 3 1890 + 12228 12231 12232 3 1890 + 12228 12232 12229 3 1890 + 12229 12232 12233 3 1890 + 12229 12233 12230 3 1890 + 12230 12233 12234 3 1890 + 12231 2367 12232 3 1890 + 12232 2367 12235 3 1890 + 12232 12235 12233 3 1890 + 12233 12235 12236 3 1890 + 12233 12236 12234 3 1890 + 12234 12236 2366 3 1890 + 2367 1979 2368 3 1891 + 2368 1979 1981 3 1891 + 2368 12238 12237 3 1893 + 12237 12238 12239 3 1893 + 12237 12239 2366 3 1893 + 2366 12239 12240 3 1893 + 12238 2370 12239 3 1893 + 12239 2370 12241 3 1893 + 12239 12241 12240 3 1893 + 12240 12241 2369 3 1893 + 2370 12242 2371 3 1895 + 2371 12242 12243 3 1895 + 12242 12244 12243 3 1895 + 12243 12244 12245 3 1895 + 12244 12246 12245 3 1895 + 12245 12246 12247 3 1895 + 12246 2373 12247 3 1895 + 12247 2373 2372 3 1895 + 2373 12249 12248 3 1897 + 12248 12249 12250 3 1897 + 12248 12250 2374 3 1897 + 2374 12250 12251 3 1897 + 12249 12252 12250 3 1897 + 12250 12252 12253 3 1897 + 12250 12253 12251 3 1897 + 12251 12253 12254 3 1897 + 12252 2376 12253 3 1897 + 12253 2376 12255 3 1897 + 12253 12255 12254 3 1897 + 12254 12255 2375 3 1897 + 2376 2379 12256 3 1899 + 12256 2379 12260 3 1899 + 12256 12260 12257 3 1899 + 12257 12260 12261 3 1899 + 12257 12261 12258 3 1899 + 12258 12261 12262 3 1899 + 12258 12262 12259 3 1899 + 12259 12262 12263 3 1899 + 12259 12263 2377 3 1899 + 2377 12263 2378 3 1899 + 2379 2382 12264 3 1901 + 12264 2382 12268 3 1901 + 12264 12268 12265 3 1901 + 12265 12268 12269 3 1901 + 12265 12269 12266 3 1901 + 12266 12269 12270 3 1901 + 12266 12270 12267 3 1901 + 12267 12270 12271 3 1901 + 12267 12271 2380 3 1901 + 2380 12271 2381 3 1901 + 2382 1982 12272 3 1902 + 12272 1982 12277 3 1902 + 12272 12277 12273 3 1902 + 12273 12277 12278 3 1902 + 12273 12278 12274 3 1902 + 12274 12278 12279 3 1902 + 12274 12279 12275 3 1902 + 12275 12279 12280 3 1902 + 12275 12280 12276 3 1902 + 12276 12280 12281 3 1902 + 12276 12281 2383 3 1902 + 2383 12281 1984 3 1902 + 2383 2385 2381 3 1904 + 2381 2385 2384 3 1904 + 2385 12283 12282 3 1906 + 12282 12283 12284 3 1906 + 12282 12284 2386 3 1906 + 2386 12284 12285 3 1906 + 12283 12286 12284 3 1906 + 12284 12286 12287 3 1906 + 12284 12287 12285 3 1906 + 12285 12287 12288 3 1906 + 12286 12289 12287 3 1906 + 12287 12289 12290 3 1906 + 12287 12290 12288 3 1906 + 12288 12290 12291 3 1906 + 12289 2388 12290 3 1906 + 12290 2388 12292 3 1906 + 12290 12292 12291 3 1906 + 12291 12292 2387 3 1906 + 2388 12293 2389 3 1908 + 2389 12293 12294 3 1908 + 12293 12295 12294 3 1908 + 12294 12295 12296 3 1908 + 12295 12297 12296 3 1908 + 12296 12297 12298 3 1908 + 12297 2391 12298 3 1908 + 12298 2391 2390 3 1908 + 2391 2394 12299 3 1910 + 12299 2394 12300 3 1910 + 12299 12300 2392 3 1910 + 2392 12300 2393 3 1910 + 2395 12301 1993 3 1911 + 1993 12301 12302 3 1911 + 12302 12301 2397 3 1911 + 2394 1991 12303 3 1912 + 12303 1991 12304 3 1912 + 12303 12304 2396 3 1912 + 2395 12309 12305 3 1914 + 12305 12309 12310 3 1914 + 12305 12310 12306 3 1914 + 12306 12310 12311 3 1914 + 12306 12311 12307 3 1914 + 12307 12311 12312 3 1914 + 12307 12312 12308 3 1914 + 12308 12312 12313 3 1914 + 12308 12313 2393 3 1914 + 2393 12313 12314 3 1914 + 12309 12315 12310 3 1914 + 12310 12315 12316 3 1914 + 12310 12316 12311 3 1914 + 12311 12316 12317 3 1914 + 12311 12317 12312 3 1914 + 12312 12317 12318 3 1914 + 12312 12318 12313 3 1914 + 12313 12318 12319 3 1914 + 12313 12319 12314 3 1914 + 12314 12319 12320 3 1914 + 12315 2399 12316 3 1914 + 12316 2399 12321 3 1914 + 12316 12321 12317 3 1914 + 12317 12321 12322 3 1914 + 12317 12322 12318 3 1914 + 12318 12322 12323 3 1914 + 12318 12323 12319 3 1914 + 12319 12323 12324 3 1914 + 12319 12324 12320 3 1914 + 12320 12324 2398 3 1914 + 2399 2402 12325 3 1916 + 12325 2402 12329 3 1916 + 12325 12329 12326 3 1916 + 12326 12329 12330 3 1916 + 12326 12330 12327 3 1916 + 12327 12330 12331 3 1916 + 12327 12331 12328 3 1916 + 12328 12331 12332 3 1916 + 12328 12332 2400 3 1916 + 2400 12332 2401 3 1916 + 2402 12334 12333 3 1918 + 12333 12334 12335 3 1918 + 12333 12335 2403 3 1918 + 2403 12335 12336 3 1918 + 12334 12337 12335 3 1918 + 12335 12337 12338 3 1918 + 12335 12338 12336 3 1918 + 12336 12338 12339 3 1918 + 12337 2405 12338 3 1918 + 12338 2405 12340 3 1918 + 12338 12340 12339 3 1918 + 12339 12340 2404 3 1918 + 2405 12341 2406 3 1919 + 2406 12341 12342 3 1919 + 12341 1997 12342 3 1919 + 12342 1997 1999 3 1919 + 2406 2408 2404 3 1921 + 2404 2408 2407 3 1921 + 2408 2411 12343 3 1923 + 12343 2411 12345 3 1923 + 12343 12345 12344 3 1923 + 12344 12345 12346 3 1923 + 12344 12346 2409 3 1923 + 2409 12346 2410 3 1923 + 2411 2006 12347 3 1924 + 12347 2006 12352 3 1924 + 12347 12352 12348 3 1924 + 12348 12352 12353 3 1924 + 12348 12353 12349 3 1924 + 12349 12353 12354 3 1924 + 12349 12354 12350 3 1924 + 12350 12354 12355 3 1924 + 12350 12355 12351 3 1924 + 12351 12355 12356 3 1924 + 12351 12356 2412 3 1924 + 2412 12356 2008 3 1924 + 2412 12359 12357 3 1926 + 12357 12359 12360 3 1926 + 12357 12360 12358 3 1926 + 12358 12360 12361 3 1926 + 12358 12361 2410 3 1926 + 2410 12361 12362 3 1926 + 12359 12363 12360 3 1926 + 12360 12363 12364 3 1926 + 12360 12364 12361 3 1926 + 12361 12364 12365 3 1926 + 12361 12365 12362 3 1926 + 12362 12365 12366 3 1926 + 12363 2414 12364 3 1926 + 12364 2414 12367 3 1926 + 12364 12367 12365 3 1926 + 12365 12367 12368 3 1926 + 12365 12368 12366 3 1926 + 12366 12368 2413 3 1926 + 2414 12371 12369 3 1928 + 12369 12371 12372 3 1928 + 12369 12372 12370 3 1928 + 12370 12372 12373 3 1928 + 12370 12373 2415 3 1928 + 2415 12373 12374 3 1928 + 12371 12375 12372 3 1928 + 12372 12375 12376 3 1928 + 12372 12376 12373 3 1928 + 12373 12376 12377 3 1928 + 12373 12377 12374 3 1928 + 12374 12377 12378 3 1928 + 12375 12379 12376 3 1928 + 12376 12379 12380 3 1928 + 12376 12380 12377 3 1928 + 12377 12380 12381 3 1928 + 12377 12381 12378 3 1928 + 12378 12381 12382 3 1928 + 12379 2417 12380 3 1928 + 12380 2417 12383 3 1928 + 12380 12383 12381 3 1928 + 12381 12383 12384 3 1928 + 12381 12384 12382 3 1928 + 12382 12384 2416 3 1928 + 2417 2420 2418 3 1930 + 2418 2420 2419 3 1930 + 2420 12387 12385 3 1932 + 12385 12387 12388 3 1932 + 12385 12388 12386 3 1932 + 12386 12388 12389 3 1932 + 12386 12389 2421 3 1932 + 2421 12389 12390 3 1932 + 12387 12391 12388 3 1932 + 12388 12391 12392 3 1932 + 12388 12392 12389 3 1932 + 12389 12392 12393 3 1932 + 12389 12393 12390 3 1932 + 12390 12393 12394 3 1932 + 12391 12395 12392 3 1932 + 12392 12395 12396 3 1932 + 12392 12396 12393 3 1932 + 12393 12396 12397 3 1932 + 12393 12397 12394 3 1932 + 12394 12397 12398 3 1932 + 12395 2423 12396 3 1932 + 12396 2423 12399 3 1932 + 12396 12399 12397 3 1932 + 12397 12399 12400 3 1932 + 12397 12400 12398 3 1932 + 12398 12400 2422 3 1932 + 2423 12405 12401 3 1933 + 12401 12405 12406 3 1933 + 12401 12406 12402 3 1933 + 12402 12406 12407 3 1933 + 12402 12407 12403 3 1933 + 12403 12407 12408 3 1933 + 12403 12408 12404 3 1933 + 12404 12408 12409 3 1933 + 12404 12409 2424 3 1933 + 2424 12409 12410 3 1933 + 12405 2012 12406 3 1933 + 12406 2012 12411 3 1933 + 12406 12411 12407 3 1933 + 12407 12411 12412 3 1933 + 12407 12412 12408 3 1933 + 12408 12412 12413 3 1933 + 12408 12413 12409 3 1933 + 12409 12413 12414 3 1933 + 12409 12414 12410 3 1933 + 12410 12414 2014 3 1933 + 2424 12418 12415 3 1935 + 12415 12418 12419 3 1935 + 12415 12419 12416 3 1935 + 12416 12419 12420 3 1935 + 12416 12420 12417 3 1935 + 12417 12420 12421 3 1935 + 12417 12421 2422 3 1935 + 2422 12421 12422 3 1935 + 12418 2426 12419 3 1935 + 12419 2426 12423 3 1935 + 12419 12423 12420 3 1935 + 12420 12423 12424 3 1935 + 12420 12424 12421 3 1935 + 12421 12424 12425 3 1935 + 12421 12425 12422 3 1935 + 12422 12425 2425 3 1935 + 2426 12427 12426 3 1936 + 12426 12427 12428 3 1936 + 12426 12428 2427 3 1936 + 2427 12428 12429 3 1936 + 12427 2030 12428 3 1936 + 12428 2030 12430 3 1936 + 12428 12430 12429 3 1936 + 12429 12430 2032 3 1936 + 2427 2429 2425 3 1938 + 2425 2429 2428 3 1938 + 2429 2042 12431 3 1939 + 12431 2042 12433 3 1939 + 12431 12433 12432 3 1939 + 12432 12433 12434 3 1939 + 12432 12434 2430 3 1939 + 2430 12434 2044 3 1939 + 2430 12436 12435 3 1941 + 12435 12436 12437 3 1941 + 12435 12437 2428 3 1941 + 2428 12437 12438 3 1941 + 12436 12439 12437 3 1941 + 12437 12439 12440 3 1941 + 12437 12440 12438 3 1941 + 12438 12440 12441 3 1941 + 12439 12442 12440 3 1941 + 12440 12442 12443 3 1941 + 12440 12443 12441 3 1941 + 12441 12443 12444 3 1941 + 12442 12445 12443 3 1941 + 12443 12445 12446 3 1941 + 12443 12446 12444 3 1941 + 12444 12446 12447 3 1941 + 12445 2432 12446 3 1941 + 12446 2432 12448 3 1941 + 12446 12448 12447 3 1941 + 12447 12448 2431 3 1941 + 2432 12449 2433 3 1942 + 2433 12449 12450 3 1942 + 12449 2048 12450 3 1942 + 12450 2048 2050 3 1942 + 2433 2435 2431 3 1944 + 2431 2435 2434 3 1944 + 2435 2438 12451 3 1946 + 12451 2438 12454 3 1946 + 12451 12454 12452 3 1946 + 12452 12454 12455 3 1946 + 12452 12455 12453 3 1946 + 12453 12455 12456 3 1946 + 12453 12456 2436 3 1946 + 2436 12456 2437 3 1946 + 2438 2441 12457 3 1948 + 12457 2441 12462 3 1948 + 12457 12462 12458 3 1948 + 12458 12462 12463 3 1948 + 12458 12463 12459 3 1948 + 12459 12463 12464 3 1948 + 12459 12464 12460 3 1948 + 12460 12464 12465 3 1948 + 12460 12465 12461 3 1948 + 12461 12465 12466 3 1948 + 12461 12466 2439 3 1948 + 2439 12466 2440 3 1948 + 2441 2444 2442 3 1950 + 2442 2444 2443 3 1950 + 2444 2051 12467 3 1951 + 12467 2051 12468 3 1951 + 12467 12468 2445 3 1951 + 2445 12468 2053 3 1951 + 2445 2447 12469 3 1953 + 12469 2447 12471 3 1953 + 12469 12471 12470 3 1953 + 12470 12471 12472 3 1953 + 12470 12472 2443 3 1953 + 2443 12472 2446 3 1953 + 2447 2450 12473 3 1955 + 12473 2450 12478 3 1955 + 12473 12478 12474 3 1955 + 12474 12478 12479 3 1955 + 12474 12479 12475 3 1955 + 12475 12479 12480 3 1955 + 12475 12480 12476 3 1955 + 12476 12480 12481 3 1955 + 12476 12481 12477 3 1955 + 12477 12481 12482 3 1955 + 12477 12482 2448 3 1955 + 2448 12482 2449 3 1955 + 2450 2054 12483 3 1956 + 12483 2054 12486 3 1956 + 12483 12486 12484 3 1956 + 12484 12486 12487 3 1956 + 12484 12487 12485 3 1956 + 12485 12487 12488 3 1956 + 12485 12488 2451 3 1956 + 2451 12488 2056 3 1956 + 2451 12493 12489 3 1958 + 12489 12493 12494 3 1958 + 12489 12494 12490 3 1958 + 12490 12494 12495 3 1958 + 12490 12495 12491 3 1958 + 12491 12495 12496 3 1958 + 12491 12496 12492 3 1958 + 12492 12496 12497 3 1958 + 12492 12497 2449 3 1958 + 2449 12497 12498 3 1958 + 12493 2453 12494 3 1958 + 12494 2453 12499 3 1958 + 12494 12499 12495 3 1958 + 12495 12499 12500 3 1958 + 12495 12500 12496 3 1958 + 12496 12500 12501 3 1958 + 12496 12501 12497 3 1958 + 12497 12501 12502 3 1958 + 12497 12502 12498 3 1958 + 12498 12502 2452 3 1958 + 2453 2456 12503 3 1960 + 12503 2456 12507 3 1960 + 12503 12507 12504 3 1960 + 12504 12507 12508 3 1960 + 12504 12508 12505 3 1960 + 12505 12508 12509 3 1960 + 12505 12509 12506 3 1960 + 12506 12509 12510 3 1960 + 12506 12510 2454 3 1960 + 2454 12510 2455 3 1960 + 2456 12516 12511 3 1962 + 12511 12516 12517 3 1962 + 12511 12517 12512 3 1962 + 12512 12517 12518 3 1962 + 12512 12518 12513 3 1962 + 12513 12518 12519 3 1962 + 12513 12519 12514 3 1962 + 12514 12519 12520 3 1962 + 12514 12520 12515 3 1962 + 12515 12520 12521 3 1962 + 12515 12521 2457 3 1962 + 2457 12521 12522 3 1962 + 12516 12523 12517 3 1962 + 12517 12523 12524 3 1962 + 12517 12524 12518 3 1962 + 12518 12524 12525 3 1962 + 12518 12525 12519 3 1962 + 12519 12525 12526 3 1962 + 12519 12526 12520 3 1962 + 12520 12526 12527 3 1962 + 12520 12527 12521 3 1962 + 12521 12527 12528 3 1962 + 12521 12528 12522 3 1962 + 12522 12528 12529 3 1962 + 12523 2459 12524 3 1962 + 12524 2459 12530 3 1962 + 12524 12530 12525 3 1962 + 12525 12530 12531 3 1962 + 12525 12531 12526 3 1962 + 12526 12531 12532 3 1962 + 12526 12532 12527 3 1962 + 12527 12532 12533 3 1962 + 12527 12533 12528 3 1962 + 12528 12533 12534 3 1962 + 12528 12534 12529 3 1962 + 12529 12534 2458 3 1962 + 2459 12535 2460 3 1963 + 2460 12535 12536 3 1963 + 12535 12537 12536 3 1963 + 12536 12537 12538 3 1963 + 12537 12539 12538 3 1963 + 12538 12539 12540 3 1963 + 12539 2057 12540 3 1963 + 12540 2057 2059 3 1963 + 2460 12546 12541 3 1965 + 12541 12546 12547 3 1965 + 12541 12547 12542 3 1965 + 12542 12547 12548 3 1965 + 12542 12548 12543 3 1965 + 12543 12548 12549 3 1965 + 12543 12549 12544 3 1965 + 12544 12549 12550 3 1965 + 12544 12550 12545 3 1965 + 12545 12550 12551 3 1965 + 12545 12551 2458 3 1965 + 2458 12551 12552 3 1965 + 12546 2462 12547 3 1965 + 12547 2462 12553 3 1965 + 12547 12553 12548 3 1965 + 12548 12553 12554 3 1965 + 12548 12554 12549 3 1965 + 12549 12554 12555 3 1965 + 12549 12555 12550 3 1965 + 12550 12555 12556 3 1965 + 12550 12556 12551 3 1965 + 12551 12556 12557 3 1965 + 12551 12557 12552 3 1965 + 12552 12557 2461 3 1965 + 2462 12561 12558 3 1967 + 12558 12561 12562 3 1967 + 12558 12562 12559 3 1967 + 12559 12562 12563 3 1967 + 12559 12563 12560 3 1967 + 12560 12563 12564 3 1967 + 12560 12564 2463 3 1967 + 2463 12564 12565 3 1967 + 12561 12566 12562 3 1967 + 12562 12566 12567 3 1967 + 12562 12567 12563 3 1967 + 12563 12567 12568 3 1967 + 12563 12568 12564 3 1967 + 12564 12568 12569 3 1967 + 12564 12569 12565 3 1967 + 12565 12569 12570 3 1967 + 12566 12571 12567 3 1967 + 12567 12571 12572 3 1967 + 12567 12572 12568 3 1967 + 12568 12572 12573 3 1967 + 12568 12573 12569 3 1967 + 12569 12573 12574 3 1967 + 12569 12574 12570 3 1967 + 12570 12574 12575 3 1967 + 12571 2465 12572 3 1967 + 12572 2465 12576 3 1967 + 12572 12576 12573 3 1967 + 12573 12576 12577 3 1967 + 12573 12577 12574 3 1967 + 12574 12577 12578 3 1967 + 12574 12578 12575 3 1967 + 12575 12578 2464 3 1967 + 2465 12584 12579 3 1969 + 12579 12584 12585 3 1969 + 12579 12585 12580 3 1969 + 12580 12585 12586 3 1969 + 12580 12586 12581 3 1969 + 12581 12586 12587 3 1969 + 12581 12587 12582 3 1969 + 12582 12587 12588 3 1969 + 12582 12588 12583 3 1969 + 12583 12588 12589 3 1969 + 12583 12589 2466 3 1969 + 2466 12589 12590 3 1969 + 12584 2468 12585 3 1969 + 12585 2468 12591 3 1969 + 12585 12591 12586 3 1969 + 12586 12591 12592 3 1969 + 12586 12592 12587 3 1969 + 12587 12592 12593 3 1969 + 12587 12593 12588 3 1969 + 12588 12593 12594 3 1969 + 12588 12594 12589 3 1969 + 12589 12594 12595 3 1969 + 12589 12595 12590 3 1969 + 12590 12595 2467 3 1969 + 2468 2471 12596 3 1971 + 12596 2471 12597 3 1971 + 12596 12597 2469 3 1971 + 2469 12597 2470 3 1971 + 2471 12600 12598 3 1972 + 12598 12600 12601 3 1972 + 12598 12601 12599 3 1972 + 12599 12601 12602 3 1972 + 12599 12602 2472 3 1972 + 2472 12602 12603 3 1972 + 12600 12604 12601 3 1972 + 12601 12604 12605 3 1972 + 12601 12605 12602 3 1972 + 12602 12605 12606 3 1972 + 12602 12606 12603 3 1972 + 12603 12606 12607 3 1972 + 12604 12608 12605 3 1972 + 12605 12608 12609 3 1972 + 12605 12609 12606 3 1972 + 12606 12609 12610 3 1972 + 12606 12610 12607 3 1972 + 12607 12610 12611 3 1972 + 12608 12612 12609 3 1972 + 12609 12612 12613 3 1972 + 12609 12613 12610 3 1972 + 12610 12613 12614 3 1972 + 12610 12614 12611 3 1972 + 12611 12614 12615 3 1972 + 12612 12616 12613 3 1972 + 12613 12616 12617 3 1972 + 12613 12617 12614 3 1972 + 12614 12617 12618 3 1972 + 12614 12618 12615 3 1972 + 12615 12618 12619 3 1972 + 12616 2060 12617 3 1972 + 12617 2060 12620 3 1972 + 12617 12620 12618 3 1972 + 12618 12620 12621 3 1972 + 12618 12621 12619 3 1972 + 12619 12621 2062 3 1972 + 2472 2474 2470 3 1974 + 2470 2474 2473 3 1974 + 2474 2066 12622 3 1975 + 12622 2066 12625 3 1975 + 12622 12625 12623 3 1975 + 12623 12625 12626 3 1975 + 12623 12626 12624 3 1975 + 12624 12626 12627 3 1975 + 12624 12627 2475 3 1975 + 2475 12627 2068 3 1975 + 2475 2477 12628 3 1977 + 12628 2477 12632 3 1977 + 12628 12632 12629 3 1977 + 12629 12632 12633 3 1977 + 12629 12633 12630 3 1977 + 12630 12633 12634 3 1977 + 12630 12634 12631 3 1977 + 12631 12634 12635 3 1977 + 12631 12635 2473 3 1977 + 2473 12635 2476 3 1977 + 2477 12641 12636 3 1979 + 12636 12641 12642 3 1979 + 12636 12642 12637 3 1979 + 12637 12642 12643 3 1979 + 12637 12643 12638 3 1979 + 12638 12643 12644 3 1979 + 12638 12644 12639 3 1979 + 12639 12644 12645 3 1979 + 12639 12645 12640 3 1979 + 12640 12645 12646 3 1979 + 12640 12646 2478 3 1979 + 2478 12646 12647 3 1979 + 12641 2480 12642 3 1979 + 12642 2480 12648 3 1979 + 12642 12648 12643 3 1979 + 12643 12648 12649 3 1979 + 12643 12649 12644 3 1979 + 12644 12649 12650 3 1979 + 12644 12650 12645 3 1979 + 12645 12650 12651 3 1979 + 12645 12651 12646 3 1979 + 12646 12651 12652 3 1979 + 12646 12652 12647 3 1979 + 12647 12652 2479 3 1979 + 2480 2483 12653 3 1981 + 12653 2483 12659 3 1981 + 12653 12659 12654 3 1981 + 12654 12659 12660 3 1981 + 12654 12660 12655 3 1981 + 12655 12660 12661 3 1981 + 12655 12661 12656 3 1981 + 12656 12661 12662 3 1981 + 12656 12662 12657 3 1981 + 12657 12662 12663 3 1981 + 12657 12663 12658 3 1981 + 12658 12663 12664 3 1981 + 12658 12664 2481 3 1981 + 2481 12664 2482 3 1981 + 2483 2486 12665 3 1983 + 12665 2486 12670 3 1983 + 12665 12670 12666 3 1983 + 12666 12670 12671 3 1983 + 12666 12671 12667 3 1983 + 12667 12671 12672 3 1983 + 12667 12672 12668 3 1983 + 12668 12672 12673 3 1983 + 12668 12673 12669 3 1983 + 12669 12673 12674 3 1983 + 12669 12674 2484 3 1983 + 2484 12674 2485 3 1983 + 2486 2489 12675 3 1985 + 12675 2489 12679 3 1985 + 12675 12679 12676 3 1985 + 12676 12679 12680 3 1985 + 12676 12680 12677 3 1985 + 12677 12680 12681 3 1985 + 12677 12681 12678 3 1985 + 12678 12681 12682 3 1985 + 12678 12682 2487 3 1985 + 2487 12682 2488 3 1985 + 2493 2490 2492 3 1987 + 2489 2494 2491 3 1988 + 2494 2497 12683 3 1990 + 12683 2497 12686 3 1990 + 12683 12686 12684 3 1990 + 12684 12686 12687 3 1990 + 12684 12687 12685 3 1990 + 12685 12687 12688 3 1990 + 12685 12688 2495 3 1990 + 2495 12688 2496 3 1990 + 2497 2500 12689 3 1992 + 12689 2500 12695 3 1992 + 12689 12695 12690 3 1992 + 12690 12695 12696 3 1992 + 12690 12696 12691 3 1992 + 12691 12696 12697 3 1992 + 12691 12697 12692 3 1992 + 12692 12697 12698 3 1992 + 12692 12698 12693 3 1992 + 12693 12698 12699 3 1992 + 12693 12699 12694 3 1992 + 12694 12699 12700 3 1992 + 12694 12700 2498 3 1992 + 2498 12700 2499 3 1992 + 2500 12706 12701 3 1994 + 12701 12706 12707 3 1994 + 12701 12707 12702 3 1994 + 12702 12707 12708 3 1994 + 12702 12708 12703 3 1994 + 12703 12708 12709 3 1994 + 12703 12709 12704 3 1994 + 12704 12709 12710 3 1994 + 12704 12710 12705 3 1994 + 12705 12710 12711 3 1994 + 12705 12711 2501 3 1994 + 2501 12711 12712 3 1994 + 12706 2503 12707 3 1994 + 12707 2503 12713 3 1994 + 12707 12713 12708 3 1994 + 12708 12713 12714 3 1994 + 12708 12714 12709 3 1994 + 12709 12714 12715 3 1994 + 12709 12715 12710 3 1994 + 12710 12715 12716 3 1994 + 12710 12716 12711 3 1994 + 12711 12716 12717 3 1994 + 12711 12717 12712 3 1994 + 12712 12717 2502 3 1994 + 2503 2506 12718 3 1996 + 12718 2506 12722 3 1996 + 12718 12722 12719 3 1996 + 12719 12722 12723 3 1996 + 12719 12723 12720 3 1996 + 12720 12723 12724 3 1996 + 12720 12724 12721 3 1996 + 12721 12724 12725 3 1996 + 12721 12725 2504 3 1996 + 2504 12725 2505 3 1996 + 2506 12728 12726 3 1997 + 12726 12728 12729 3 1997 + 12726 12729 12727 3 1997 + 12727 12729 12730 3 1997 + 12727 12730 2507 3 1997 + 2507 12730 12731 3 1997 + 12728 2069 12729 3 1997 + 12729 2069 12732 3 1997 + 12729 12732 12730 3 1997 + 12730 12732 12733 3 1997 + 12730 12733 12731 3 1997 + 12731 12733 2071 3 1997 + 2507 12735 12734 3 1998 + 12734 12735 12736 3 1998 + 12734 12736 2505 3 1998 + 2505 12736 12737 3 1998 + 12735 12738 12736 3 1998 + 12736 12738 12739 3 1998 + 12736 12739 12737 3 1998 + 12737 12739 12740 3 1998 + 12738 2075 12739 3 1998 + 12739 2075 12741 3 1998 + 12739 12741 12740 3 1998 + 12740 12741 2077 3 1998 + 2504 12743 12742 3 1999 + 12742 12743 12744 3 1999 + 12742 12744 2502 3 1999 + 2502 12744 12745 3 1999 + 12743 2081 12744 3 1999 + 12744 2081 12746 3 1999 + 12744 12746 12745 3 1999 + 12745 12746 2083 3 1999 + 2501 2159 12747 3 2000 + 12747 2159 12751 3 2000 + 12747 12751 12748 3 2000 + 12748 12751 12752 3 2000 + 12748 12752 12749 3 2000 + 12749 12752 12753 3 2000 + 12749 12753 12750 3 2000 + 12750 12753 12754 3 2000 + 12750 12754 2499 3 2000 + 2499 12754 2161 3 2000 + 2498 2509 12755 3 2002 + 12755 2509 12758 3 2002 + 12755 12758 12756 3 2002 + 12756 12758 12759 3 2002 + 12756 12759 12757 3 2002 + 12757 12759 12760 3 2002 + 12757 12760 2496 3 2002 + 2496 12760 2508 3 2002 + 2509 2162 12761 3 2003 + 12761 2162 12765 3 2003 + 12761 12765 12762 3 2003 + 12762 12765 12766 3 2003 + 12762 12766 12763 3 2003 + 12763 12766 12767 3 2003 + 12763 12767 12764 3 2003 + 12764 12767 12768 3 2003 + 12764 12768 2510 3 2003 + 2510 12768 2164 3 2003 + 2510 2493 12769 3 2004 + 12769 2493 12774 3 2004 + 12769 12774 12770 3 2004 + 12770 12774 12775 3 2004 + 12770 12775 12771 3 2004 + 12771 12775 12776 3 2004 + 12771 12776 12772 3 2004 + 12772 12776 12777 3 2004 + 12772 12777 12773 3 2004 + 12773 12777 12778 3 2004 + 12773 12778 2508 3 2004 + 2508 12778 2495 3 2004 + 2490 2512 12779 3 2006 + 12779 2512 12781 3 2006 + 12779 12781 12780 3 2006 + 12780 12781 12782 3 2006 + 12780 12782 2488 3 2006 + 2488 12782 2511 3 2006 + 2512 2171 12783 3 2007 + 12783 2171 12787 3 2007 + 12783 12787 12784 3 2007 + 12784 12787 12788 3 2007 + 12784 12788 12785 3 2007 + 12785 12788 12789 3 2007 + 12785 12789 12786 3 2007 + 12786 12789 12790 3 2007 + 12786 12790 2513 3 2007 + 2513 12790 2173 3 2007 + 2513 2485 12791 3 2008 + 12791 2485 12792 3 2008 + 12791 12792 2511 3 2008 + 2511 12792 2487 3 2008 + 2484 2174 12793 3 2009 + 12793 2174 12795 3 2009 + 12793 12795 12794 3 2009 + 12794 12795 12796 3 2009 + 12794 12796 2482 3 2009 + 2482 12796 2176 3 2009 + 2481 12797 2479 3 2011 + 2479 12797 12798 3 2011 + 12797 2515 12798 3 2011 + 12798 2515 2514 3 2011 + 2515 12800 12799 3 2013 + 12799 12800 12801 3 2013 + 12799 12801 2516 3 2013 + 2516 12801 12802 3 2013 + 12800 12803 12801 3 2013 + 12801 12803 12804 3 2013 + 12801 12804 12802 3 2013 + 12802 12804 12805 3 2013 + 12803 12806 12804 3 2013 + 12804 12806 12807 3 2013 + 12804 12807 12805 3 2013 + 12805 12807 12808 3 2013 + 12806 2518 12807 3 2013 + 12807 2518 12809 3 2013 + 12807 12809 12808 3 2013 + 12808 12809 2517 3 2013 + 2518 2521 2519 3 2015 + 2519 2521 2520 3 2015 + 2521 2524 12810 3 2017 + 12810 2524 12815 3 2017 + 12810 12815 12811 3 2017 + 12811 12815 12816 3 2017 + 12811 12816 12812 3 2017 + 12812 12816 12817 3 2017 + 12812 12817 12813 3 2017 + 12813 12817 12818 3 2017 + 12813 12818 12814 3 2017 + 12814 12818 12819 3 2017 + 12814 12819 2522 3 2017 + 2522 12819 2523 3 2017 + 2524 2177 12820 3 2018 + 12820 2177 12823 3 2018 + 12820 12823 12821 3 2018 + 12821 12823 12824 3 2018 + 12821 12824 12822 3 2018 + 12822 12824 12825 3 2018 + 12822 12825 2525 3 2018 + 2525 12825 2179 3 2018 + 2525 2527 12826 3 2020 + 12826 2527 12829 3 2020 + 12826 12829 12827 3 2020 + 12827 12829 12830 3 2020 + 12827 12830 12828 3 2020 + 12828 12830 12831 3 2020 + 12828 12831 2523 3 2020 + 2523 12831 2526 3 2020 + 2527 2180 2528 3 2021 + 2528 2180 2182 3 2021 + 2528 12834 12832 3 2023 + 12832 12834 12835 3 2023 + 12832 12835 12833 3 2023 + 12833 12835 12836 3 2023 + 12833 12836 2526 3 2023 + 2526 12836 12837 3 2023 + 12834 12838 12835 3 2023 + 12835 12838 12839 3 2023 + 12835 12839 12836 3 2023 + 12836 12839 12840 3 2023 + 12836 12840 12837 3 2023 + 12837 12840 12841 3 2023 + 12838 12842 12839 3 2023 + 12839 12842 12843 3 2023 + 12839 12843 12840 3 2023 + 12840 12843 12844 3 2023 + 12840 12844 12841 3 2023 + 12841 12844 12845 3 2023 + 12842 12846 12843 3 2023 + 12843 12846 12847 3 2023 + 12843 12847 12844 3 2023 + 12844 12847 12848 3 2023 + 12844 12848 12845 3 2023 + 12845 12848 12849 3 2023 + 12846 2530 12847 3 2023 + 12847 2530 12850 3 2023 + 12847 12850 12848 3 2023 + 12848 12850 12851 3 2023 + 12848 12851 12849 3 2023 + 12849 12851 2529 3 2023 + 2530 2533 12852 3 2025 + 12852 2533 12853 3 2025 + 12852 12853 2531 3 2025 + 2531 12853 2532 3 2025 + 2533 12854 2534 3 2027 + 2534 12854 12855 3 2027 + 12854 12856 12855 3 2027 + 12855 12856 12857 3 2027 + 12856 12858 12857 3 2027 + 12857 12858 12859 3 2027 + 12858 12860 12859 3 2027 + 12859 12860 12861 3 2027 + 12860 12862 12861 3 2027 + 12861 12862 12863 3 2027 + 12862 2536 12863 3 2027 + 12863 2536 2535 3 2027 + 2536 2539 12864 3 2029 + 12864 2539 12868 3 2029 + 12864 12868 12865 3 2029 + 12865 12868 12869 3 2029 + 12865 12869 12866 3 2029 + 12866 12869 12870 3 2029 + 12866 12870 12867 3 2029 + 12867 12870 12871 3 2029 + 12867 12871 2537 3 2029 + 2537 12871 2538 3 2029 + 2539 2193 2540 3 2030 + 2540 2193 2195 3 2030 + 2540 2196 12872 3 2031 + 12872 2196 12875 3 2031 + 12872 12875 12873 3 2031 + 12873 12875 12876 3 2031 + 12873 12876 12874 3 2031 + 12874 12876 12877 3 2031 + 12874 12877 2538 3 2031 + 2538 12877 2198 3 2031 + 2537 2542 12878 3 2033 + 12878 2542 12882 3 2033 + 12878 12882 12879 3 2033 + 12879 12882 12883 3 2033 + 12879 12883 12880 3 2033 + 12880 12883 12884 3 2033 + 12880 12884 12881 3 2033 + 12881 12884 12885 3 2033 + 12881 12885 2535 3 2033 + 2535 12885 2541 3 2033 + 2542 2545 12886 3 2035 + 12886 2545 12890 3 2035 + 12886 12890 12887 3 2035 + 12887 12890 12891 3 2035 + 12887 12891 12888 3 2035 + 12888 12891 12892 3 2035 + 12888 12892 12889 3 2035 + 12889 12892 12893 3 2035 + 12889 12893 2543 3 2035 + 2543 12893 2544 3 2035 + 2545 12898 12894 3 2036 + 12894 12898 12899 3 2036 + 12894 12899 12895 3 2036 + 12895 12899 12900 3 2036 + 12895 12900 12896 3 2036 + 12896 12900 12901 3 2036 + 12896 12901 12897 3 2036 + 12897 12901 12902 3 2036 + 12897 12902 2546 3 2036 + 2546 12902 12903 3 2036 + 12898 2201 12899 3 2036 + 12899 2201 12904 3 2036 + 12899 12904 12900 3 2036 + 12900 12904 12905 3 2036 + 12900 12905 12901 3 2036 + 12901 12905 12906 3 2036 + 12901 12906 12902 3 2036 + 12902 12906 12907 3 2036 + 12902 12907 12903 3 2036 + 12903 12907 2203 3 2036 + 2546 12912 12908 3 2038 + 12908 12912 12913 3 2038 + 12908 12913 12909 3 2038 + 12909 12913 12914 3 2038 + 12909 12914 12910 3 2038 + 12910 12914 12915 3 2038 + 12910 12915 12911 3 2038 + 12911 12915 12916 3 2038 + 12911 12916 2544 3 2038 + 2544 12916 12917 3 2038 + 12912 2548 12913 3 2038 + 12913 2548 12918 3 2038 + 12913 12918 12914 3 2038 + 12914 12918 12919 3 2038 + 12914 12919 12915 3 2038 + 12915 12919 12920 3 2038 + 12915 12920 12916 3 2038 + 12916 12920 12921 3 2038 + 12916 12921 12917 3 2038 + 12917 12921 2547 3 2038 + 2548 12926 12922 3 2040 + 12922 12926 12927 3 2040 + 12922 12927 12923 3 2040 + 12923 12927 12928 3 2040 + 12923 12928 12924 3 2040 + 12924 12928 12929 3 2040 + 12924 12929 12925 3 2040 + 12925 12929 12930 3 2040 + 12925 12930 2549 3 2040 + 2549 12930 12931 3 2040 + 12926 2551 12927 3 2040 + 12927 2551 12932 3 2040 + 12927 12932 12928 3 2040 + 12928 12932 12933 3 2040 + 12928 12933 12929 3 2040 + 12929 12933 12934 3 2040 + 12929 12934 12930 3 2040 + 12930 12934 12935 3 2040 + 12930 12935 12931 3 2040 + 12931 12935 2550 3 2040 + 2551 2554 12936 3 2042 + 12936 2554 12940 3 2042 + 12936 12940 12937 3 2042 + 12937 12940 12941 3 2042 + 12937 12941 12938 3 2042 + 12938 12941 12942 3 2042 + 12938 12942 12939 3 2042 + 12939 12942 12943 3 2042 + 12939 12943 2552 3 2042 + 2552 12943 2553 3 2042 + 2554 2204 12944 3 2043 + 12944 2204 12945 3 2043 + 12944 12945 2555 3 2043 + 2555 12945 2206 3 2043 + 2555 2557 12946 3 2045 + 12946 2557 12951 3 2045 + 12946 12951 12947 3 2045 + 12947 12951 12952 3 2045 + 12947 12952 12948 3 2045 + 12948 12952 12953 3 2045 + 12948 12953 12949 3 2045 + 12949 12953 12954 3 2045 + 12949 12954 12950 3 2045 + 12950 12954 12955 3 2045 + 12950 12955 2553 3 2045 + 2553 12955 2556 3 2045 + 2557 12956 2558 3 2046 + 2558 12956 12957 3 2046 + 12956 2207 12957 3 2046 + 12957 2207 2209 3 2046 + 2558 12963 12958 3 2048 + 12958 12963 12964 3 2048 + 12958 12964 12959 3 2048 + 12959 12964 12965 3 2048 + 12959 12965 12960 3 2048 + 12960 12965 12966 3 2048 + 12960 12966 12961 3 2048 + 12961 12966 12967 3 2048 + 12961 12967 12962 3 2048 + 12962 12967 12968 3 2048 + 12962 12968 2556 3 2048 + 2556 12968 12969 3 2048 + 12963 2560 12964 3 2048 + 12964 2560 12970 3 2048 + 12964 12970 12965 3 2048 + 12965 12970 12971 3 2048 + 12965 12971 12966 3 2048 + 12966 12971 12972 3 2048 + 12966 12972 12967 3 2048 + 12967 12972 12973 3 2048 + 12967 12973 12968 3 2048 + 12968 12973 12974 3 2048 + 12968 12974 12969 3 2048 + 12969 12974 2559 3 2048 + 2560 2228 12975 3 2049 + 12975 2228 12979 3 2049 + 12975 12979 12976 3 2049 + 12976 12979 12980 3 2049 + 12976 12980 12977 3 2049 + 12977 12980 12981 3 2049 + 12977 12981 12978 3 2049 + 12978 12981 12982 3 2049 + 12978 12982 2561 3 2049 + 2561 12982 2230 3 2049 + 2561 12984 12983 3 2051 + 12983 12984 12985 3 2051 + 12983 12985 2559 3 2051 + 2559 12985 12986 3 2051 + 12984 12987 12985 3 2051 + 12985 12987 12988 3 2051 + 12985 12988 12986 3 2051 + 12986 12988 12989 3 2051 + 12987 12990 12988 3 2051 + 12988 12990 12991 3 2051 + 12988 12991 12989 3 2051 + 12989 12991 12992 3 2051 + 12990 2563 12991 3 2051 + 12991 2563 12993 3 2051 + 12991 12993 12992 3 2051 + 12992 12993 2562 3 2051 + 2563 2566 12994 3 2053 + 12994 2566 12995 3 2053 + 12994 12995 2564 3 2053 + 2564 12995 2565 3 2053 + 2566 12999 12996 3 2054 + 12996 12999 13000 3 2054 + 12996 13000 12997 3 2054 + 12997 13000 13001 3 2054 + 12997 13001 12998 3 2054 + 12998 13001 13002 3 2054 + 12998 13002 2567 3 2054 + 2567 13002 13003 3 2054 + 12999 2231 13000 3 2054 + 13000 2231 13004 3 2054 + 13000 13004 13001 3 2054 + 13001 13004 13005 3 2054 + 13001 13005 13002 3 2054 + 13002 13005 13006 3 2054 + 13002 13006 13003 3 2054 + 13003 13006 2233 3 2054 + 2567 2569 13007 3 2056 + 13007 2569 13011 3 2056 + 13007 13011 13008 3 2056 + 13008 13011 13012 3 2056 + 13008 13012 13009 3 2056 + 13009 13012 13013 3 2056 + 13009 13013 13010 3 2056 + 13010 13013 13014 3 2056 + 13010 13014 2565 3 2056 + 2565 13014 2568 3 2056 + 2569 2572 13015 3 2058 + 13015 2572 13019 3 2058 + 13015 13019 13016 3 2058 + 13016 13019 13020 3 2058 + 13016 13020 13017 3 2058 + 13017 13020 13021 3 2058 + 13017 13021 13018 3 2058 + 13018 13021 13022 3 2058 + 13018 13022 2570 3 2058 + 2570 13022 2571 3 2058 + 2572 13026 13023 3 2060 + 13023 13026 13027 3 2060 + 13023 13027 13024 3 2060 + 13024 13027 13028 3 2060 + 13024 13028 13025 3 2060 + 13025 13028 13029 3 2060 + 13025 13029 2573 3 2060 + 2573 13029 13030 3 2060 + 13026 2575 13027 3 2060 + 13027 2575 13031 3 2060 + 13027 13031 13028 3 2060 + 13028 13031 13032 3 2060 + 13028 13032 13029 3 2060 + 13029 13032 13033 3 2060 + 13029 13033 13030 3 2060 + 13030 13033 2574 3 2060 + 2575 13038 13034 3 2061 + 13034 13038 13039 3 2061 + 13034 13039 13035 3 2061 + 13035 13039 13040 3 2061 + 13035 13040 13036 3 2061 + 13036 13040 13041 3 2061 + 13036 13041 13037 3 2061 + 13037 13041 13042 3 2061 + 13037 13042 2576 3 2061 + 2576 13042 13043 3 2061 + 13038 2243 13039 3 2061 + 13039 2243 13044 3 2061 + 13039 13044 13040 3 2061 + 13040 13044 13045 3 2061 + 13040 13045 13041 3 2061 + 13041 13045 13046 3 2061 + 13041 13046 13042 3 2061 + 13042 13046 13047 3 2061 + 13042 13047 13043 3 2061 + 13043 13047 2245 3 2061 + 2576 2578 13048 3 2063 + 13048 2578 13052 3 2063 + 13048 13052 13049 3 2063 + 13049 13052 13053 3 2063 + 13049 13053 13050 3 2063 + 13050 13053 13054 3 2063 + 13050 13054 13051 3 2063 + 13051 13054 13055 3 2063 + 13051 13055 2574 3 2063 + 2574 13055 2577 3 2063 + 2578 13059 13056 3 2064 + 13056 13059 13060 3 2064 + 13056 13060 13057 3 2064 + 13057 13060 13061 3 2064 + 13057 13061 13058 3 2064 + 13058 13061 13062 3 2064 + 13058 13062 2579 3 2064 + 2579 13062 13063 3 2064 + 13059 13064 13060 3 2064 + 13060 13064 13065 3 2064 + 13060 13065 13061 3 2064 + 13061 13065 13066 3 2064 + 13061 13066 13062 3 2064 + 13062 13066 13067 3 2064 + 13062 13067 13063 3 2064 + 13063 13067 13068 3 2064 + 13064 13069 13065 3 2064 + 13065 13069 13070 3 2064 + 13065 13070 13066 3 2064 + 13066 13070 13071 3 2064 + 13066 13071 13067 3 2064 + 13067 13071 13072 3 2064 + 13067 13072 13068 3 2064 + 13068 13072 13073 3 2064 + 13069 2258 13070 3 2064 + 13070 2258 13074 3 2064 + 13070 13074 13071 3 2064 + 13071 13074 13075 3 2064 + 13071 13075 13072 3 2064 + 13072 13075 13076 3 2064 + 13072 13076 13073 3 2064 + 13073 13076 2260 3 2064 + 2579 2581 13077 3 2066 + 13077 2581 13078 3 2066 + 13077 13078 2577 3 2066 + 2577 13078 2580 3 2066 + 2581 13079 2582 3 2068 + 2582 13079 13080 3 2068 + 13079 13081 13080 3 2068 + 13080 13081 13082 3 2068 + 13081 13083 13082 3 2068 + 13082 13083 13084 3 2068 + 13083 2584 13084 3 2068 + 13084 2584 2583 3 2068 + 2584 13089 13085 3 2070 + 13085 13089 13090 3 2070 + 13085 13090 13086 3 2070 + 13086 13090 13091 3 2070 + 13086 13091 13087 3 2070 + 13087 13091 13092 3 2070 + 13087 13092 13088 3 2070 + 13088 13092 13093 3 2070 + 13088 13093 2585 3 2070 + 2585 13093 13094 3 2070 + 13089 2587 13090 3 2070 + 13090 2587 13095 3 2070 + 13090 13095 13091 3 2070 + 13091 13095 13096 3 2070 + 13091 13096 13092 3 2070 + 13092 13096 13097 3 2070 + 13092 13097 13093 3 2070 + 13093 13097 13098 3 2070 + 13093 13098 13094 3 2070 + 13094 13098 2586 3 2070 + 2587 2590 13099 3 2072 + 13099 2590 13103 3 2072 + 13099 13103 13100 3 2072 + 13100 13103 13104 3 2072 + 13100 13104 13101 3 2072 + 13101 13104 13105 3 2072 + 13101 13105 13102 3 2072 + 13102 13105 13106 3 2072 + 13102 13106 2588 3 2072 + 2588 13106 2589 3 2072 + 2590 2264 13107 3 2073 + 13107 2264 13112 3 2073 + 13107 13112 13108 3 2073 + 13108 13112 13113 3 2073 + 13108 13113 13109 3 2073 + 13109 13113 13114 3 2073 + 13109 13114 13110 3 2073 + 13110 13114 13115 3 2073 + 13110 13115 13111 3 2073 + 13111 13115 13116 3 2073 + 13111 13116 2591 3 2073 + 2591 13116 2266 3 2073 + 2591 13120 13117 3 2075 + 13117 13120 13121 3 2075 + 13117 13121 13118 3 2075 + 13118 13121 13122 3 2075 + 13118 13122 13119 3 2075 + 13119 13122 13123 3 2075 + 13119 13123 2589 3 2075 + 2589 13123 13124 3 2075 + 13120 13125 13121 3 2075 + 13121 13125 13126 3 2075 + 13121 13126 13122 3 2075 + 13122 13126 13127 3 2075 + 13122 13127 13123 3 2075 + 13123 13127 13128 3 2075 + 13123 13128 13124 3 2075 + 13124 13128 13129 3 2075 + 13125 2593 13126 3 2075 + 13126 2593 13130 3 2075 + 13126 13130 13127 3 2075 + 13127 13130 13131 3 2075 + 13127 13131 13128 3 2075 + 13128 13131 13132 3 2075 + 13128 13132 13129 3 2075 + 13129 13132 2592 3 2075 + 2593 2596 13133 3 2077 + 13133 2596 13134 3 2077 + 13133 13134 2594 3 2077 + 2594 13134 2595 3 2077 + 2596 13135 2597 3 2078 + 2597 13135 13136 3 2078 + 13135 13137 13136 3 2078 + 13136 13137 13138 3 2078 + 13137 2267 13138 3 2078 + 13138 2267 2269 3 2078 + 2597 2599 2595 3 2080 + 2595 2599 2598 3 2080 + 2599 2602 13139 3 2082 + 13139 2602 13144 3 2082 + 13139 13144 13140 3 2082 + 13140 13144 13145 3 2082 + 13140 13145 13141 3 2082 + 13141 13145 13146 3 2082 + 13141 13146 13142 3 2082 + 13142 13146 13147 3 2082 + 13142 13147 13143 3 2082 + 13143 13147 13148 3 2082 + 13143 13148 2600 3 2082 + 2600 13148 2601 3 2082 + 2602 2605 13149 3 2084 + 13149 2605 13150 3 2084 + 13149 13150 2603 3 2084 + 2603 13150 2604 3 2084 + 2605 2608 13151 3 2086 + 13151 2608 13157 3 2086 + 13151 13157 13152 3 2086 + 13152 13157 13158 3 2086 + 13152 13158 13153 3 2086 + 13153 13158 13159 3 2086 + 13153 13159 13154 3 2086 + 13154 13159 13160 3 2086 + 13154 13160 13155 3 2086 + 13155 13160 13161 3 2086 + 13155 13161 13156 3 2086 + 13156 13161 13162 3 2086 + 13156 13162 2606 3 2086 + 2606 13162 2607 3 2086 + 2608 13168 13163 3 2087 + 13163 13168 13169 3 2087 + 13163 13169 13164 3 2087 + 13164 13169 13170 3 2087 + 13164 13170 13165 3 2087 + 13165 13170 13171 3 2087 + 13165 13171 13166 3 2087 + 13166 13171 13172 3 2087 + 13166 13172 13167 3 2087 + 13167 13172 13173 3 2087 + 13167 13173 2609 3 2087 + 2609 13173 13174 3 2087 + 13168 2273 13169 3 2087 + 13169 2273 13175 3 2087 + 13169 13175 13170 3 2087 + 13170 13175 13176 3 2087 + 13170 13176 13171 3 2087 + 13171 13176 13177 3 2087 + 13171 13177 13172 3 2087 + 13172 13177 13178 3 2087 + 13172 13178 13173 3 2087 + 13173 13178 13179 3 2087 + 13173 13179 13174 3 2087 + 13174 13179 2275 3 2087 + 2609 2611 13180 3 2089 + 13180 2611 13181 3 2089 + 13180 13181 2607 3 2089 + 2607 13181 2610 3 2089 + 2611 13182 2612 3 2091 + 2612 13182 13183 3 2091 + 13182 13184 13183 3 2091 + 13183 13184 13185 3 2091 + 13184 13186 13185 3 2091 + 13185 13186 13187 3 2091 + 13186 13188 13187 3 2091 + 13187 13188 13189 3 2091 + 13188 13190 13189 3 2091 + 13189 13190 13191 3 2091 + 13190 13192 13191 3 2091 + 13191 13192 13193 3 2091 + 13192 13194 13193 3 2091 + 13193 13194 13195 3 2091 + 13194 13196 13195 3 2091 + 13195 13196 13197 3 2091 + 13196 13198 13197 3 2091 + 13197 13198 13199 3 2091 + 13198 2614 13199 3 2091 + 13199 2614 2613 3 2091 + 2614 13200 2615 3 2093 + 2615 13200 13201 3 2093 + 13200 2617 13201 3 2093 + 13201 2617 2616 3 2093 + 2617 13203 13202 3 2094 + 13202 13203 13204 3 2094 + 13202 13204 2618 3 2094 + 2618 13204 13205 3 2094 + 13203 13206 13204 3 2094 + 13204 13206 13207 3 2094 + 13204 13207 13205 3 2094 + 13205 13207 13208 3 2094 + 13206 13209 13207 3 2094 + 13207 13209 13210 3 2094 + 13207 13210 13208 3 2094 + 13208 13210 13211 3 2094 + 13209 13212 13210 3 2094 + 13210 13212 13213 3 2094 + 13210 13213 13211 3 2094 + 13211 13213 13214 3 2094 + 13212 13215 13213 3 2094 + 13213 13215 13216 3 2094 + 13213 13216 13214 3 2094 + 13214 13216 13217 3 2094 + 13215 13218 13216 3 2094 + 13216 13218 13219 3 2094 + 13216 13219 13217 3 2094 + 13217 13219 13220 3 2094 + 13218 2276 13219 3 2094 + 13219 2276 13221 3 2094 + 13219 13221 13220 3 2094 + 13220 13221 2278 3 2094 + 2618 13222 2616 3 2096 + 2616 13222 13223 3 2096 + 13222 2620 13223 3 2096 + 13223 2620 2619 3 2096 + 2620 2305 2621 3 2097 + 2621 2305 2307 3 2097 + 2621 13225 13224 3 2099 + 13224 13225 13226 3 2099 + 13224 13226 2619 3 2099 + 2619 13226 13227 3 2099 + 13225 13228 13226 3 2099 + 13226 13228 13229 3 2099 + 13226 13229 13227 3 2099 + 13227 13229 13230 3 2099 + 13228 13231 13229 3 2099 + 13229 13231 13232 3 2099 + 13229 13232 13230 3 2099 + 13230 13232 13233 3 2099 + 13231 2623 13232 3 2099 + 13232 2623 13234 3 2099 + 13232 13234 13233 3 2099 + 13233 13234 2622 3 2099 + 2623 2314 13235 3 2100 + 13235 2314 13236 3 2100 + 13235 13236 2624 3 2100 + 2624 13236 2316 3 2100 + 2624 2626 13237 3 2102 + 13237 2626 13240 3 2102 + 13237 13240 13238 3 2102 + 13238 13240 13241 3 2102 + 13238 13241 13239 3 2102 + 13239 13241 13242 3 2102 + 13239 13242 2622 3 2102 + 2622 13242 2625 3 2102 + 2626 2629 13243 3 2104 + 13243 2629 13245 3 2104 + 13243 13245 13244 3 2104 + 13244 13245 13246 3 2104 + 13244 13246 2627 3 2104 + 2627 13246 2628 3 2104 + 2629 2317 13247 3 2105 + 13247 2317 13248 3 2105 + 13247 13248 2630 3 2105 + 2630 13248 2319 3 2105 + 2630 13249 2628 3 2107 + 2628 13249 13250 3 2107 + 13249 13251 13250 3 2107 + 13250 13251 13252 3 2107 + 13251 13253 13252 3 2107 + 13252 13253 13254 3 2107 + 13253 13255 13254 3 2107 + 13254 13255 13256 3 2107 + 13255 13257 13256 3 2107 + 13256 13257 13258 3 2107 + 13257 2632 13258 3 2107 + 13258 2632 2631 3 2107 + 2632 13261 13259 3 2109 + 13259 13261 13262 3 2109 + 13259 13262 13260 3 2109 + 13260 13262 13263 3 2109 + 13260 13263 2633 3 2109 + 2633 13263 13264 3 2109 + 13261 2635 13262 3 2109 + 13262 2635 13265 3 2109 + 13262 13265 13263 3 2109 + 13263 13265 13266 3 2109 + 13263 13266 13264 3 2109 + 13264 13266 2634 3 2109 + 2635 13271 13267 3 2111 + 13267 13271 13272 3 2111 + 13267 13272 13268 3 2111 + 13268 13272 13273 3 2111 + 13268 13273 13269 3 2111 + 13269 13273 13274 3 2111 + 13269 13274 13270 3 2111 + 13270 13274 13275 3 2111 + 13270 13275 2636 3 2111 + 2636 13275 13276 3 2111 + 13271 2638 13272 3 2111 + 13272 2638 13277 3 2111 + 13272 13277 13273 3 2111 + 13273 13277 13278 3 2111 + 13273 13278 13274 3 2111 + 13274 13278 13279 3 2111 + 13274 13279 13275 3 2111 + 13275 13279 13280 3 2111 + 13275 13280 13276 3 2111 + 13276 13280 2637 3 2111 + 13281 2639 3217 3 2112 + 2359 13281 3217 3 2112 + 2638 13282 3216 3 2113 + 13282 2357 3216 3 2113 + 2637 13283 2642 3 2115 + 2642 13283 13284 3 2115 + 13284 13283 2641 3 2115 + 2639 2643 13285 3 2116 + 13285 2643 13286 3 2116 + 13285 13286 2640 3 2116 + 2643 2646 13287 3 2118 + 13287 2646 13290 3 2118 + 13287 13290 13288 3 2118 + 13288 13290 13291 3 2118 + 13288 13291 13289 3 2118 + 13289 13291 13292 3 2118 + 13289 13292 2644 3 2118 + 2644 13292 2645 3 2118 + 2646 13295 13293 3 2120 + 13293 13295 13296 3 2120 + 13293 13296 13294 3 2120 + 13294 13296 13297 3 2120 + 13294 13297 2647 3 2120 + 2647 13297 13298 3 2120 + 13295 13299 13296 3 2120 + 13296 13299 13300 3 2120 + 13296 13300 13297 3 2120 + 13297 13300 13301 3 2120 + 13297 13301 13298 3 2120 + 13298 13301 13302 3 2120 + 13299 2649 13300 3 2120 + 13300 2649 13303 3 2120 + 13300 13303 13301 3 2120 + 13301 13303 13304 3 2120 + 13301 13304 13302 3 2120 + 13302 13304 2648 3 2120 + 2649 13308 13305 3 2122 + 13305 13308 13309 3 2122 + 13305 13309 13306 3 2122 + 13306 13309 13310 3 2122 + 13306 13310 13307 3 2122 + 13307 13310 13311 3 2122 + 13307 13311 2650 3 2122 + 2650 13311 13312 3 2122 + 13308 13313 13309 3 2122 + 13309 13313 13314 3 2122 + 13309 13314 13310 3 2122 + 13310 13314 13315 3 2122 + 13310 13315 13311 3 2122 + 13311 13315 13316 3 2122 + 13311 13316 13312 3 2122 + 13312 13316 13317 3 2122 + 13313 2652 13314 3 2122 + 13314 2652 13318 3 2122 + 13314 13318 13315 3 2122 + 13315 13318 13319 3 2122 + 13315 13319 13316 3 2122 + 13316 13319 13320 3 2122 + 13316 13320 13317 3 2122 + 13317 13320 2651 3 2122 + 2652 13324 13321 3 2124 + 13321 13324 13325 3 2124 + 13321 13325 13322 3 2124 + 13322 13325 13326 3 2124 + 13322 13326 13323 3 2124 + 13323 13326 13327 3 2124 + 13323 13327 2653 3 2124 + 2653 13327 13328 3 2124 + 13324 13329 13325 3 2124 + 13325 13329 13330 3 2124 + 13325 13330 13326 3 2124 + 13326 13330 13331 3 2124 + 13326 13331 13327 3 2124 + 13327 13331 13332 3 2124 + 13327 13332 13328 3 2124 + 13328 13332 13333 3 2124 + 13329 13334 13330 3 2124 + 13330 13334 13335 3 2124 + 13330 13335 13331 3 2124 + 13331 13335 13336 3 2124 + 13331 13336 13332 3 2124 + 13332 13336 13337 3 2124 + 13332 13337 13333 3 2124 + 13333 13337 13338 3 2124 + 13334 2655 13335 3 2124 + 13335 2655 13339 3 2124 + 13335 13339 13336 3 2124 + 13336 13339 13340 3 2124 + 13336 13340 13337 3 2124 + 13337 13340 13341 3 2124 + 13337 13341 13338 3 2124 + 13338 13341 2654 3 2124 + 2655 2658 13342 3 2126 + 13342 2658 13344 3 2126 + 13342 13344 13343 3 2126 + 13343 13344 13345 3 2126 + 13343 13345 2656 3 2126 + 2656 13345 2657 3 2126 + 2658 13349 13346 3 2127 + 13346 13349 13350 3 2127 + 13346 13350 13347 3 2127 + 13347 13350 13351 3 2127 + 13347 13351 13348 3 2127 + 13348 13351 13352 3 2127 + 13348 13352 2659 3 2127 + 2659 13352 13353 3 2127 + 13349 2363 13350 3 2127 + 13350 2363 13354 3 2127 + 13350 13354 13351 3 2127 + 13351 13354 13355 3 2127 + 13351 13355 13352 3 2127 + 13352 13355 13356 3 2127 + 13352 13356 13353 3 2127 + 13353 13356 2365 3 2127 + 2659 2661 2657 3 2129 + 2657 2661 2660 3 2129 + 2661 13358 13357 3 2131 + 13357 13358 13359 3 2131 + 13357 13359 2662 3 2131 + 2662 13359 13360 3 2131 + 13358 13361 13359 3 2131 + 13359 13361 13362 3 2131 + 13359 13362 13360 3 2131 + 13360 13362 13363 3 2131 + 13361 13364 13362 3 2131 + 13362 13364 13365 3 2131 + 13362 13365 13363 3 2131 + 13363 13365 13366 3 2131 + 13364 13367 13365 3 2131 + 13365 13367 13368 3 2131 + 13365 13368 13366 3 2131 + 13366 13368 13369 3 2131 + 13367 2664 13368 3 2131 + 13368 2664 13370 3 2131 + 13368 13370 13369 3 2131 + 13369 13370 2663 3 2131 + 2664 13371 2665 3 2132 + 2665 13371 13372 3 2132 + 13371 13373 13372 3 2132 + 13372 13373 13374 3 2132 + 13373 13375 13374 3 2132 + 13374 13375 13376 3 2132 + 13375 2369 13376 3 2132 + 13376 2369 2371 3 2132 + 2665 13377 2663 3 2133 + 2663 13377 13378 3 2133 + 13377 13379 13378 3 2133 + 13378 13379 13380 3 2133 + 13379 13381 13380 3 2133 + 13380 13381 13382 3 2133 + 13381 2372 13382 3 2133 + 13382 2372 2374 3 2133 + 2662 2654 2660 3 2134 + 2660 2654 2656 3 2134 + 2653 13388 13383 3 2135 + 13383 13388 13389 3 2135 + 13383 13389 13384 3 2135 + 13384 13389 13390 3 2135 + 13384 13390 13385 3 2135 + 13385 13390 13391 3 2135 + 13385 13391 13386 3 2135 + 13386 13391 13392 3 2135 + 13386 13392 13387 3 2135 + 13387 13392 13393 3 2135 + 13387 13393 2651 3 2135 + 2651 13393 13394 3 2135 + 13388 2375 13389 3 2135 + 13389 2375 13395 3 2135 + 13389 13395 13390 3 2135 + 13390 13395 13396 3 2135 + 13390 13396 13391 3 2135 + 13391 13396 13397 3 2135 + 13391 13397 13392 3 2135 + 13392 13397 13398 3 2135 + 13392 13398 13393 3 2135 + 13393 13398 13399 3 2135 + 13393 13399 13394 3 2135 + 13394 13399 2377 3 2135 + 2650 2667 13400 3 2137 + 13400 2667 13402 3 2137 + 13400 13402 13401 3 2137 + 13401 13402 13403 3 2137 + 13401 13403 2648 3 2137 + 2648 13403 2666 3 2137 + 2667 2670 13404 3 2139 + 13404 2670 13405 3 2139 + 13404 13405 2668 3 2139 + 2668 13405 2669 3 2139 + 2670 13406 2671 3 2140 + 2671 13406 13407 3 2140 + 13406 13408 13407 3 2140 + 13407 13408 13409 3 2140 + 13408 13410 13409 3 2140 + 13409 13410 13411 3 2140 + 13410 2387 13411 3 2140 + 13411 2387 2389 3 2140 + 2671 13412 2669 3 2141 + 2669 13412 13413 3 2141 + 13412 13414 13413 3 2141 + 13413 13414 13415 3 2141 + 13414 13416 13415 3 2141 + 13415 13416 13417 3 2141 + 13416 2390 13417 3 2141 + 13417 2390 2392 3 2141 + 2668 2673 2666 3 2143 + 2666 2673 2672 3 2143 + 2673 2676 13418 3 2145 + 13418 2676 13420 3 2145 + 13418 13420 13419 3 2145 + 13419 13420 13421 3 2145 + 13419 13421 2674 3 2145 + 2674 13421 2675 3 2145 + 2676 13427 13422 3 2146 + 13422 13427 13428 3 2146 + 13422 13428 13423 3 2146 + 13423 13428 13429 3 2146 + 13423 13429 13424 3 2146 + 13424 13429 13430 3 2146 + 13424 13430 13425 3 2146 + 13425 13430 13431 3 2146 + 13425 13431 13426 3 2146 + 13426 13431 13432 3 2146 + 13426 13432 2677 3 2146 + 2677 13432 13433 3 2146 + 13427 2398 13428 3 2146 + 13428 2398 13434 3 2146 + 13428 13434 13429 3 2146 + 13429 13434 13435 3 2146 + 13429 13435 13430 3 2146 + 13430 13435 13436 3 2146 + 13430 13436 13431 3 2146 + 13431 13436 13437 3 2146 + 13431 13437 13432 3 2146 + 13432 13437 13438 3 2146 + 13432 13438 13433 3 2146 + 13433 13438 2400 3 2146 + 2677 13441 13439 3 2148 + 13439 13441 13442 3 2148 + 13439 13442 13440 3 2148 + 13440 13442 13443 3 2148 + 13440 13443 2675 3 2148 + 2675 13443 13444 3 2148 + 13441 2679 13442 3 2148 + 13442 2679 13445 3 2148 + 13442 13445 13443 3 2148 + 13443 13445 13446 3 2148 + 13443 13446 13444 3 2148 + 13444 13446 2678 3 2148 + 2679 2682 13447 3 2150 + 13447 2682 13449 3 2150 + 13447 13449 13448 3 2150 + 13448 13449 13450 3 2150 + 13448 13450 2680 3 2150 + 2680 13450 2681 3 2150 + 2682 2685 13451 3 2152 + 13451 2685 13456 3 2152 + 13451 13456 13452 3 2152 + 13452 13456 13457 3 2152 + 13452 13457 13453 3 2152 + 13453 13457 13458 3 2152 + 13453 13458 13454 3 2152 + 13454 13458 13459 3 2152 + 13454 13459 13455 3 2152 + 13455 13459 13460 3 2152 + 13455 13460 2683 3 2152 + 2683 13460 2684 3 2152 + 2685 13465 13461 3 2154 + 13461 13465 13466 3 2154 + 13461 13466 13462 3 2154 + 13462 13466 13467 3 2154 + 13462 13467 13463 3 2154 + 13463 13467 13468 3 2154 + 13463 13468 13464 3 2154 + 13464 13468 13469 3 2154 + 13464 13469 2686 3 2154 + 2686 13469 13470 3 2154 + 13465 2688 13466 3 2154 + 13466 2688 13471 3 2154 + 13466 13471 13467 3 2154 + 13467 13471 13472 3 2154 + 13467 13472 13468 3 2154 + 13468 13472 13473 3 2154 + 13468 13473 13469 3 2154 + 13469 13473 13474 3 2154 + 13469 13474 13470 3 2154 + 13470 13474 2687 3 2154 + 2688 13478 13475 3 2156 + 13475 13478 13479 3 2156 + 13475 13479 13476 3 2156 + 13476 13479 13480 3 2156 + 13476 13480 13477 3 2156 + 13477 13480 13481 3 2156 + 13477 13481 2689 3 2156 + 2689 13481 13482 3 2156 + 13478 2691 13479 3 2156 + 13479 2691 13483 3 2156 + 13479 13483 13480 3 2156 + 13480 13483 13484 3 2156 + 13480 13484 13481 3 2156 + 13481 13484 13485 3 2156 + 13481 13485 13482 3 2156 + 13482 13485 2690 3 2156 + 2691 13488 13486 3 2157 + 13486 13488 13489 3 2157 + 13486 13489 13487 3 2157 + 13487 13489 13490 3 2157 + 13487 13490 2692 3 2157 + 2692 13490 13491 3 2157 + 13488 2401 13489 3 2157 + 13489 2401 13492 3 2157 + 13489 13492 13490 3 2157 + 13490 13492 13493 3 2157 + 13490 13493 13491 3 2157 + 13491 13493 2403 3 2157 + 2692 2694 13494 3 2159 + 13494 2694 13498 3 2159 + 13494 13498 13495 3 2159 + 13495 13498 13499 3 2159 + 13495 13499 13496 3 2159 + 13496 13499 13500 3 2159 + 13496 13500 13497 3 2159 + 13497 13500 13501 3 2159 + 13497 13501 2690 3 2159 + 2690 13501 2693 3 2159 + 2694 13503 13502 3 2160 + 13502 13503 13504 3 2160 + 13502 13504 2695 3 2160 + 2695 13504 13505 3 2160 + 13503 13506 13504 3 2160 + 13504 13506 13507 3 2160 + 13504 13507 13505 3 2160 + 13505 13507 13508 3 2160 + 13506 2407 13507 3 2160 + 13507 2407 13509 3 2160 + 13507 13509 13508 3 2160 + 13508 13509 2409 3 2160 + 2695 13513 13510 3 2162 + 13510 13513 13514 3 2162 + 13510 13514 13511 3 2162 + 13511 13514 13515 3 2162 + 13511 13515 13512 3 2162 + 13512 13515 13516 3 2162 + 13512 13516 2693 3 2162 + 2693 13516 13517 3 2162 + 13513 2697 13514 3 2162 + 13514 2697 13518 3 2162 + 13514 13518 13515 3 2162 + 13515 13518 13519 3 2162 + 13515 13519 13516 3 2162 + 13516 13519 13520 3 2162 + 13516 13520 13517 3 2162 + 13517 13520 2696 3 2162 + 2697 2413 13521 3 2163 + 13521 2413 13522 3 2163 + 13521 13522 2698 3 2163 + 2698 13522 2415 3 2163 + 2698 2700 13523 3 2165 + 13523 2700 13524 3 2165 + 13523 13524 2696 3 2165 + 2696 13524 2699 3 2165 + 2700 2703 13525 3 2167 + 13525 2703 13529 3 2167 + 13525 13529 13526 3 2167 + 13526 13529 13530 3 2167 + 13526 13530 13527 3 2167 + 13527 13530 13531 3 2167 + 13527 13531 13528 3 2167 + 13528 13531 13532 3 2167 + 13528 13532 2701 3 2167 + 2701 13532 2702 3 2167 + 2703 13536 13533 3 2169 + 13533 13536 13537 3 2169 + 13533 13537 13534 3 2169 + 13534 13537 13538 3 2169 + 13534 13538 13535 3 2169 + 13535 13538 13539 3 2169 + 13535 13539 2704 3 2169 + 2704 13539 13540 3 2169 + 13536 13541 13537 3 2169 + 13537 13541 13542 3 2169 + 13537 13542 13538 3 2169 + 13538 13542 13543 3 2169 + 13538 13543 13539 3 2169 + 13539 13543 13544 3 2169 + 13539 13544 13540 3 2169 + 13540 13544 13545 3 2169 + 13541 13546 13542 3 2169 + 13542 13546 13547 3 2169 + 13542 13547 13543 3 2169 + 13543 13547 13548 3 2169 + 13543 13548 13544 3 2169 + 13544 13548 13549 3 2169 + 13544 13549 13545 3 2169 + 13545 13549 13550 3 2169 + 13546 13551 13547 3 2169 + 13547 13551 13552 3 2169 + 13547 13552 13548 3 2169 + 13548 13552 13553 3 2169 + 13548 13553 13549 3 2169 + 13549 13553 13554 3 2169 + 13549 13554 13550 3 2169 + 13550 13554 13555 3 2169 + 13551 2706 13552 3 2169 + 13552 2706 13556 3 2169 + 13552 13556 13553 3 2169 + 13553 13556 13557 3 2169 + 13553 13557 13554 3 2169 + 13554 13557 13558 3 2169 + 13554 13558 13555 3 2169 + 13555 13558 2705 3 2169 + 2706 2709 13559 3 2171 + 13559 2709 13562 3 2171 + 13559 13562 13560 3 2171 + 13560 13562 13563 3 2171 + 13560 13563 13561 3 2171 + 13561 13563 13564 3 2171 + 13561 13564 2707 3 2171 + 2707 13564 2708 3 2171 + 2710 13565 2713 3 2173 + 2713 13565 13566 3 2173 + 13566 13565 2712 3 2173 + 2709 2714 13567 3 2174 + 13567 2714 13568 3 2174 + 13567 13568 2711 3 2174 + 2714 2440 13569 3 2175 + 13569 2440 13574 3 2175 + 13569 13574 13570 3 2175 + 13570 13574 13575 3 2175 + 13570 13575 13571 3 2175 + 13571 13575 13576 3 2175 + 13571 13576 13572 3 2175 + 13572 13576 13577 3 2175 + 13572 13577 13573 3 2175 + 13573 13577 13578 3 2175 + 13573 13578 2715 3 2175 + 2715 13578 2442 3 2175 + 2715 2717 13579 3 2177 + 13579 2717 13582 3 2177 + 13579 13582 13580 3 2177 + 13580 13582 13583 3 2177 + 13580 13583 13581 3 2177 + 13581 13583 13584 3 2177 + 13581 13584 2713 3 2177 + 2713 13584 2716 3 2177 + 2717 2446 13585 3 2178 + 13585 2446 13589 3 2178 + 13585 13589 13586 3 2178 + 13586 13589 13590 3 2178 + 13586 13590 13587 3 2178 + 13587 13590 13591 3 2178 + 13587 13591 13588 3 2178 + 13588 13591 13592 3 2178 + 13588 13592 2718 3 2178 + 2718 13592 2448 3 2178 + 2718 2720 2716 3 2180 + 2716 2720 2719 3 2180 + 2720 13597 13593 3 2182 + 13593 13597 13598 3 2182 + 13593 13598 13594 3 2182 + 13594 13598 13599 3 2182 + 13594 13599 13595 3 2182 + 13595 13599 13600 3 2182 + 13595 13600 13596 3 2182 + 13596 13600 13601 3 2182 + 13596 13601 2721 3 2182 + 2721 13601 13602 3 2182 + 13597 2723 13598 3 2182 + 13598 2723 13603 3 2182 + 13598 13603 13599 3 2182 + 13599 13603 13604 3 2182 + 13599 13604 13600 3 2182 + 13600 13604 13605 3 2182 + 13600 13605 13601 3 2182 + 13601 13605 13606 3 2182 + 13601 13606 13602 3 2182 + 13602 13606 2722 3 2182 + 2723 2726 13607 3 2184 + 13607 2726 13611 3 2184 + 13607 13611 13608 3 2184 + 13608 13611 13612 3 2184 + 13608 13612 13609 3 2184 + 13609 13612 13613 3 2184 + 13609 13613 13610 3 2184 + 13610 13613 13614 3 2184 + 13610 13614 2724 3 2184 + 2724 13614 2725 3 2184 + 2726 2452 13615 3 2185 + 13615 2452 13618 3 2185 + 13615 13618 13616 3 2185 + 13616 13618 13619 3 2185 + 13616 13619 13617 3 2185 + 13617 13619 13620 3 2185 + 13617 13620 2727 3 2185 + 2727 13620 2454 3 2185 + 2727 13626 13621 3 2187 + 13621 13626 13627 3 2187 + 13621 13627 13622 3 2187 + 13622 13627 13628 3 2187 + 13622 13628 13623 3 2187 + 13623 13628 13629 3 2187 + 13623 13629 13624 3 2187 + 13624 13629 13630 3 2187 + 13624 13630 13625 3 2187 + 13625 13630 13631 3 2187 + 13625 13631 2725 3 2187 + 2725 13631 13632 3 2187 + 13626 2729 13627 3 2187 + 13627 2729 13633 3 2187 + 13627 13633 13628 3 2187 + 13628 13633 13634 3 2187 + 13628 13634 13629 3 2187 + 13629 13634 13635 3 2187 + 13629 13635 13630 3 2187 + 13630 13635 13636 3 2187 + 13630 13636 13631 3 2187 + 13631 13636 13637 3 2187 + 13631 13637 13632 3 2187 + 13632 13637 2728 3 2187 + 2729 2732 13638 3 2189 + 13638 2732 13640 3 2189 + 13638 13640 13639 3 2189 + 13639 13640 13641 3 2189 + 13639 13641 2730 3 2189 + 2730 13641 2731 3 2189 + 2732 2735 13642 3 2191 + 13642 2735 13645 3 2191 + 13642 13645 13643 3 2191 + 13643 13645 13646 3 2191 + 13643 13646 13644 3 2191 + 13644 13646 13647 3 2191 + 13644 13647 2733 3 2191 + 2733 13647 2734 3 2191 + 2735 13650 13648 3 2192 + 13648 13650 13651 3 2192 + 13648 13651 13649 3 2192 + 13649 13651 13652 3 2192 + 13649 13652 2736 3 2192 + 2736 13652 13653 3 2192 + 13650 13654 13651 3 2192 + 13651 13654 13655 3 2192 + 13651 13655 13652 3 2192 + 13652 13655 13656 3 2192 + 13652 13656 13653 3 2192 + 13653 13656 13657 3 2192 + 13654 2455 13655 3 2192 + 13655 2455 13658 3 2192 + 13655 13658 13656 3 2192 + 13656 13658 13659 3 2192 + 13656 13659 13657 3 2192 + 13657 13659 2457 3 2192 + 2736 2738 13660 3 2194 + 13660 2738 13662 3 2194 + 13660 13662 13661 3 2194 + 13661 13662 13663 3 2194 + 13661 13663 2734 3 2194 + 2734 13663 2737 3 2194 + 2738 13664 2739 3 2196 + 2739 13664 13665 3 2196 + 13664 13666 13665 3 2196 + 13665 13666 13667 3 2196 + 13666 13668 13667 3 2196 + 13667 13668 13669 3 2196 + 13668 13670 13669 3 2196 + 13669 13670 13671 3 2196 + 13670 13672 13671 3 2196 + 13671 13672 13673 3 2196 + 13672 13674 13673 3 2196 + 13673 13674 13675 3 2196 + 13674 13676 13675 3 2196 + 13675 13676 13677 3 2196 + 13676 13678 13677 3 2196 + 13677 13678 13679 3 2196 + 13678 13680 13679 3 2196 + 13679 13680 13681 3 2196 + 13680 2741 13681 3 2196 + 13681 2741 2740 3 2196 + 2741 2744 13682 3 2198 + 13682 2744 13685 3 2198 + 13682 13685 13683 3 2198 + 13683 13685 13686 3 2198 + 13683 13686 13684 3 2198 + 13684 13686 13687 3 2198 + 13684 13687 2742 3 2198 + 2742 13687 2743 3 2198 + 2744 2747 13688 3 2200 + 13688 2747 13690 3 2200 + 13688 13690 13689 3 2200 + 13689 13690 13691 3 2200 + 13689 13691 2745 3 2200 + 2745 13691 2746 3 2200 + 2747 2461 13692 3 2201 + 13692 2461 13696 3 2201 + 13692 13696 13693 3 2201 + 13693 13696 13697 3 2201 + 13693 13697 13694 3 2201 + 13694 13697 13698 3 2201 + 13694 13698 13695 3 2201 + 13695 13698 13699 3 2201 + 13695 13699 2748 3 2201 + 2748 13699 2463 3 2201 + 2748 2750 13700 3 2203 + 13700 2750 13702 3 2203 + 13700 13702 13701 3 2203 + 13701 13702 13703 3 2203 + 13701 13703 2746 3 2203 + 2746 13703 2749 3 2203 + 2750 13707 13704 3 2205 + 13704 13707 13708 3 2205 + 13704 13708 13705 3 2205 + 13705 13708 13709 3 2205 + 13705 13709 13706 3 2205 + 13706 13709 13710 3 2205 + 13706 13710 2751 3 2205 + 2751 13710 13711 3 2205 + 13707 13712 13708 3 2205 + 13708 13712 13713 3 2205 + 13708 13713 13709 3 2205 + 13709 13713 13714 3 2205 + 13709 13714 13710 3 2205 + 13710 13714 13715 3 2205 + 13710 13715 13711 3 2205 + 13711 13715 13716 3 2205 + 13712 2753 13713 3 2205 + 13713 2753 13717 3 2205 + 13713 13717 13714 3 2205 + 13714 13717 13718 3 2205 + 13714 13718 13715 3 2205 + 13715 13718 13719 3 2205 + 13715 13719 13716 3 2205 + 13716 13719 2752 3 2205 + 2753 13720 2754 3 2207 + 2754 13720 13721 3 2207 + 13720 13722 13721 3 2207 + 13721 13722 13723 3 2207 + 13722 13724 13723 3 2207 + 13723 13724 13725 3 2207 + 13724 2756 13725 3 2207 + 13725 2756 2755 3 2207 + 2756 2759 13726 3 2209 + 13726 2759 13727 3 2209 + 13726 13727 2757 3 2209 + 2757 13727 2758 3 2209 + 2759 13731 13728 3 2210 + 13728 13731 13732 3 2210 + 13728 13732 13729 3 2210 + 13729 13732 13733 3 2210 + 13729 13733 13730 3 2210 + 13730 13733 13734 3 2210 + 13730 13734 2760 3 2210 + 2760 13734 13735 3 2210 + 13731 13736 13732 3 2210 + 13732 13736 13737 3 2210 + 13732 13737 13733 3 2210 + 13733 13737 13738 3 2210 + 13733 13738 13734 3 2210 + 13734 13738 13739 3 2210 + 13734 13739 13735 3 2210 + 13735 13739 13740 3 2210 + 13736 13741 13737 3 2210 + 13737 13741 13742 3 2210 + 13737 13742 13738 3 2210 + 13738 13742 13743 3 2210 + 13738 13743 13739 3 2210 + 13739 13743 13744 3 2210 + 13739 13744 13740 3 2210 + 13740 13744 13745 3 2210 + 13741 13746 13742 3 2210 + 13742 13746 13747 3 2210 + 13742 13747 13743 3 2210 + 13743 13747 13748 3 2210 + 13743 13748 13744 3 2210 + 13744 13748 13749 3 2210 + 13744 13749 13745 3 2210 + 13745 13749 13750 3 2210 + 13746 2464 13747 3 2210 + 13747 2464 13751 3 2210 + 13747 13751 13748 3 2210 + 13748 13751 13752 3 2210 + 13748 13752 13749 3 2210 + 13749 13752 13753 3 2210 + 13749 13753 13750 3 2210 + 13750 13753 2466 3 2210 + 2760 2762 13754 3 2212 + 13754 2762 13758 3 2212 + 13754 13758 13755 3 2212 + 13755 13758 13759 3 2212 + 13755 13759 13756 3 2212 + 13756 13759 13760 3 2212 + 13756 13760 13757 3 2212 + 13757 13760 13761 3 2212 + 13757 13761 2758 3 2212 + 2758 13761 2761 3 2212 + 2762 2765 13762 3 2214 + 13762 2765 13767 3 2214 + 13762 13767 13763 3 2214 + 13763 13767 13768 3 2214 + 13763 13768 13764 3 2214 + 13764 13768 13769 3 2214 + 13764 13769 13765 3 2214 + 13765 13769 13770 3 2214 + 13765 13770 13766 3 2214 + 13766 13770 13771 3 2214 + 13766 13771 2763 3 2214 + 2763 13771 2764 3 2214 + 2765 2517 2766 3 2215 + 2766 2517 2519 3 2215 + 2766 2520 13772 3 2216 + 13772 2520 13777 3 2216 + 13772 13777 13773 3 2216 + 13773 13777 13778 3 2216 + 13773 13778 13774 3 2216 + 13774 13778 13779 3 2216 + 13774 13779 13775 3 2216 + 13775 13779 13780 3 2216 + 13775 13780 13776 3 2216 + 13776 13780 13781 3 2216 + 13776 13781 2764 3 2216 + 2764 13781 2522 3 2216 + 2763 2768 13782 3 2218 + 13782 2768 13785 3 2218 + 13782 13785 13783 3 2218 + 13783 13785 13786 3 2218 + 13783 13786 13784 3 2218 + 13784 13786 13787 3 2218 + 13784 13787 2761 3 2218 + 2761 13787 2767 3 2218 + 2768 13791 13788 3 2220 + 13788 13791 13792 3 2220 + 13788 13792 13789 3 2220 + 13789 13792 13793 3 2220 + 13789 13793 13790 3 2220 + 13790 13793 13794 3 2220 + 13790 13794 2769 3 2220 + 2769 13794 13795 3 2220 + 13791 13796 13792 3 2220 + 13792 13796 13797 3 2220 + 13792 13797 13793 3 2220 + 13793 13797 13798 3 2220 + 13793 13798 13794 3 2220 + 13794 13798 13799 3 2220 + 13794 13799 13795 3 2220 + 13795 13799 13800 3 2220 + 13796 2771 13797 3 2220 + 13797 2771 13801 3 2220 + 13797 13801 13798 3 2220 + 13798 13801 13802 3 2220 + 13798 13802 13799 3 2220 + 13799 13802 13803 3 2220 + 13799 13803 13800 3 2220 + 13800 13803 2770 3 2220 + 2771 13806 13804 3 2222 + 13804 13806 13807 3 2222 + 13804 13807 13805 3 2222 + 13805 13807 13808 3 2222 + 13805 13808 2772 3 2222 + 2772 13808 13809 3 2222 + 13806 13810 13807 3 2222 + 13807 13810 13811 3 2222 + 13807 13811 13808 3 2222 + 13808 13811 13812 3 2222 + 13808 13812 13809 3 2222 + 13809 13812 13813 3 2222 + 13810 13814 13811 3 2222 + 13811 13814 13815 3 2222 + 13811 13815 13812 3 2222 + 13812 13815 13816 3 2222 + 13812 13816 13813 3 2222 + 13813 13816 13817 3 2222 + 13814 2774 13815 3 2222 + 13815 2774 13818 3 2222 + 13815 13818 13816 3 2222 + 13816 13818 13819 3 2222 + 13816 13819 13817 3 2222 + 13817 13819 2773 3 2222 + 2774 2529 2775 3 2223 + 2775 2529 2531 3 2223 + 2775 13821 13820 3 2225 + 13820 13821 13822 3 2225 + 13820 13822 2773 3 2225 + 2773 13822 13823 3 2225 + 13821 13824 13822 3 2225 + 13822 13824 13825 3 2225 + 13822 13825 13823 3 2225 + 13823 13825 13826 3 2225 + 13824 2777 13825 3 2225 + 13825 2777 13827 3 2225 + 13825 13827 13826 3 2225 + 13826 13827 2776 3 2225 + 2777 2532 2778 3 2226 + 2778 2532 2534 3 2226 + 2778 2780 13828 3 2228 + 13828 2780 13831 3 2228 + 13828 13831 13829 3 2228 + 13829 13831 13832 3 2228 + 13829 13832 13830 3 2228 + 13830 13832 13833 3 2228 + 13830 13833 2776 3 2228 + 2776 13833 2779 3 2228 + 2780 13835 13834 3 2230 + 13834 13835 13836 3 2230 + 13834 13836 2781 3 2230 + 2781 13836 13837 3 2230 + 13835 2783 13836 3 2230 + 13836 2783 13838 3 2230 + 13836 13838 13837 3 2230 + 13837 13838 2782 3 2230 + 2783 2541 13839 3 2231 + 13839 2541 13844 3 2231 + 13839 13844 13840 3 2231 + 13840 13844 13845 3 2231 + 13840 13845 13841 3 2231 + 13841 13845 13846 3 2231 + 13841 13846 13842 3 2231 + 13842 13846 13847 3 2231 + 13842 13847 13843 3 2231 + 13843 13847 13848 3 2231 + 13843 13848 2784 3 2231 + 2784 13848 2543 3 2231 + 2784 13852 13849 3 2233 + 13849 13852 13853 3 2233 + 13849 13853 13850 3 2233 + 13850 13853 13854 3 2233 + 13850 13854 13851 3 2233 + 13851 13854 13855 3 2233 + 13851 13855 2782 3 2233 + 2782 13855 13856 3 2233 + 13852 2786 13853 3 2233 + 13853 2786 13857 3 2233 + 13853 13857 13854 3 2233 + 13854 13857 13858 3 2233 + 13854 13858 13855 3 2233 + 13855 13858 13859 3 2233 + 13855 13859 13856 3 2233 + 13856 13859 2785 3 2233 + 2786 2789 13860 3 2235 + 13860 2789 13865 3 2235 + 13860 13865 13861 3 2235 + 13861 13865 13866 3 2235 + 13861 13866 13862 3 2235 + 13862 13866 13867 3 2235 + 13862 13867 13863 3 2235 + 13863 13867 13868 3 2235 + 13863 13868 13864 3 2235 + 13864 13868 13869 3 2235 + 13864 13869 2787 3 2235 + 2787 13869 2788 3 2235 + 2789 2792 13870 3 2237 + 13870 2792 13875 3 2237 + 13870 13875 13871 3 2237 + 13871 13875 13876 3 2237 + 13871 13876 13872 3 2237 + 13872 13876 13877 3 2237 + 13872 13877 13873 3 2237 + 13873 13877 13878 3 2237 + 13873 13878 13874 3 2237 + 13874 13878 13879 3 2237 + 13874 13879 2790 3 2237 + 2790 13879 2791 3 2237 + 2792 2795 13880 3 2239 + 13880 2795 13882 3 2239 + 13880 13882 13881 3 2239 + 13881 13882 13883 3 2239 + 13881 13883 2793 3 2239 + 2793 13883 2794 3 2239 + 2795 13888 13884 3 2241 + 13884 13888 13889 3 2241 + 13884 13889 13885 3 2241 + 13885 13889 13890 3 2241 + 13885 13890 13886 3 2241 + 13886 13890 13891 3 2241 + 13886 13891 13887 3 2241 + 13887 13891 13892 3 2241 + 13887 13892 2796 3 2241 + 2796 13892 13893 3 2241 + 13888 13894 13889 3 2241 + 13889 13894 13895 3 2241 + 13889 13895 13890 3 2241 + 13890 13895 13896 3 2241 + 13890 13896 13891 3 2241 + 13891 13896 13897 3 2241 + 13891 13897 13892 3 2241 + 13892 13897 13898 3 2241 + 13892 13898 13893 3 2241 + 13893 13898 13899 3 2241 + 13894 2798 13895 3 2241 + 13895 2798 13900 3 2241 + 13895 13900 13896 3 2241 + 13896 13900 13901 3 2241 + 13896 13901 13897 3 2241 + 13897 13901 13902 3 2241 + 13897 13902 13898 3 2241 + 13898 13902 13903 3 2241 + 13898 13903 13899 3 2241 + 13899 13903 2797 3 2241 + 2798 2547 13904 3 2242 + 13904 2547 13909 3 2242 + 13904 13909 13905 3 2242 + 13905 13909 13910 3 2242 + 13905 13910 13906 3 2242 + 13906 13910 13911 3 2242 + 13906 13911 13907 3 2242 + 13907 13911 13912 3 2242 + 13907 13912 13908 3 2242 + 13908 13912 13913 3 2242 + 13908 13913 2799 3 2242 + 2799 13913 2549 3 2242 + 2799 2801 13914 3 2244 + 13914 2801 13915 3 2244 + 13914 13915 2797 3 2244 + 2797 13915 2800 3 2244 + 2801 13916 2802 3 2246 + 2802 13916 13917 3 2246 + 13916 2804 13917 3 2246 + 13917 2804 2803 3 2246 + 2804 2550 2805 3 2247 + 2805 2550 2552 3 2247 + 2805 13919 13918 3 2249 + 13918 13919 13920 3 2249 + 13918 13920 2803 3 2249 + 2803 13920 13921 3 2249 + 13919 13922 13920 3 2249 + 13920 13922 13923 3 2249 + 13920 13923 13921 3 2249 + 13921 13923 13924 3 2249 + 13922 13925 13923 3 2249 + 13923 13925 13926 3 2249 + 13923 13926 13924 3 2249 + 13924 13926 13927 3 2249 + 13925 13928 13926 3 2249 + 13926 13928 13929 3 2249 + 13926 13929 13927 3 2249 + 13927 13929 13930 3 2249 + 13928 13931 13929 3 2249 + 13929 13931 13932 3 2249 + 13929 13932 13930 3 2249 + 13930 13932 13933 3 2249 + 13931 13934 13932 3 2249 + 13932 13934 13935 3 2249 + 13932 13935 13933 3 2249 + 13933 13935 13936 3 2249 + 13934 13937 13935 3 2249 + 13935 13937 13938 3 2249 + 13935 13938 13936 3 2249 + 13936 13938 13939 3 2249 + 13937 2807 13938 3 2249 + 13938 2807 13940 3 2249 + 13938 13940 13939 3 2249 + 13939 13940 2806 3 2249 + 2807 13943 13941 3 2251 + 13941 13943 13944 3 2251 + 13941 13944 13942 3 2251 + 13942 13944 13945 3 2251 + 13942 13945 2808 3 2251 + 2808 13945 13946 3 2251 + 13943 13947 13944 3 2251 + 13944 13947 13948 3 2251 + 13944 13948 13945 3 2251 + 13945 13948 13949 3 2251 + 13945 13949 13946 3 2251 + 13946 13949 13950 3 2251 + 13947 2810 13948 3 2251 + 13948 2810 13951 3 2251 + 13948 13951 13949 3 2251 + 13949 13951 13952 3 2251 + 13949 13952 13950 3 2251 + 13950 13952 2809 3 2251 + 2810 2562 13953 3 2252 + 13953 2562 13954 3 2252 + 13953 13954 2811 3 2252 + 2811 13954 2564 3 2252 + 2811 13955 2809 3 2254 + 2809 13955 13956 3 2254 + 13955 2813 13956 3 2254 + 13956 2813 2812 3 2254 + 2813 2568 13957 3 2255 + 13957 2568 13958 3 2255 + 13957 13958 2814 3 2255 + 2814 13958 2570 3 2255 + 2814 2816 13959 3 2257 + 13959 2816 13961 3 2257 + 13959 13961 13960 3 2257 + 13960 13961 13962 3 2257 + 13960 13962 2812 3 2257 + 2812 13962 2815 3 2257 + 2816 2819 13963 3 2259 + 13963 2819 13965 3 2259 + 13963 13965 13964 3 2259 + 13964 13965 13966 3 2259 + 13964 13966 2817 3 2259 + 2817 13966 2818 3 2259 + 2819 2822 13967 3 2261 + 13967 2822 13968 3 2261 + 13967 13968 2820 3 2261 + 2820 13968 2821 3 2261 + 2822 2571 2823 3 2262 + 2823 2571 2573 3 2262 + 2823 13969 2821 3 2263 + 2821 13969 13970 3 2263 + 13969 2580 13970 3 2263 + 13970 2580 2582 3 2263 + 2820 2825 13971 3 2265 + 13971 2825 13974 3 2265 + 13971 13974 13972 3 2265 + 13972 13974 13975 3 2265 + 13972 13975 13973 3 2265 + 13973 13975 13976 3 2265 + 13973 13976 2818 3 2265 + 2818 13976 2824 3 2265 + 2825 13981 13977 3 2266 + 13977 13981 13982 3 2266 + 13977 13982 13978 3 2266 + 13978 13982 13983 3 2266 + 13978 13983 13979 3 2266 + 13979 13983 13984 3 2266 + 13979 13984 13980 3 2266 + 13980 13984 13985 3 2266 + 13980 13985 2826 3 2266 + 2826 13985 13986 3 2266 + 13981 2583 13982 3 2266 + 13982 2583 13987 3 2266 + 13982 13987 13983 3 2266 + 13983 13987 13988 3 2266 + 13983 13988 13984 3 2266 + 13984 13988 13989 3 2266 + 13984 13989 13985 3 2266 + 13985 13989 13990 3 2266 + 13985 13990 13986 3 2266 + 13986 13990 2585 3 2266 + 2826 13995 13991 3 2268 + 13991 13995 13996 3 2268 + 13991 13996 13992 3 2268 + 13992 13996 13997 3 2268 + 13992 13997 13993 3 2268 + 13993 13997 13998 3 2268 + 13993 13998 13994 3 2268 + 13994 13998 13999 3 2268 + 13994 13999 2824 3 2268 + 2824 13999 14000 3 2268 + 13995 2828 13996 3 2268 + 13996 2828 14001 3 2268 + 13996 14001 13997 3 2268 + 13997 14001 14002 3 2268 + 13997 14002 13998 3 2268 + 13998 14002 14003 3 2268 + 13998 14003 13999 3 2268 + 13999 14003 14004 3 2268 + 13999 14004 14000 3 2268 + 14000 14004 2827 3 2268 + 2828 14007 14005 3 2270 + 14005 14007 14008 3 2270 + 14005 14008 14006 3 2270 + 14006 14008 14009 3 2270 + 14006 14009 2829 3 2270 + 2829 14009 14010 3 2270 + 14007 14011 14008 3 2270 + 14008 14011 14012 3 2270 + 14008 14012 14009 3 2270 + 14009 14012 14013 3 2270 + 14009 14013 14010 3 2270 + 14010 14013 14014 3 2270 + 14011 14015 14012 3 2270 + 14012 14015 14016 3 2270 + 14012 14016 14013 3 2270 + 14013 14016 14017 3 2270 + 14013 14017 14014 3 2270 + 14014 14017 14018 3 2270 + 14015 14019 14016 3 2270 + 14016 14019 14020 3 2270 + 14016 14020 14017 3 2270 + 14017 14020 14021 3 2270 + 14017 14021 14018 3 2270 + 14018 14021 14022 3 2270 + 14019 2831 14020 3 2270 + 14020 2831 14023 3 2270 + 14020 14023 14021 3 2270 + 14021 14023 14024 3 2270 + 14021 14024 14022 3 2270 + 14022 14024 2830 3 2270 + 2831 2834 14025 3 2272 + 14025 2834 14026 3 2272 + 14025 14026 2832 3 2272 + 2832 14026 2833 3 2272 + 2834 2837 14027 3 2274 + 14027 2837 14032 3 2274 + 14027 14032 14028 3 2274 + 14028 14032 14033 3 2274 + 14028 14033 14029 3 2274 + 14029 14033 14034 3 2274 + 14029 14034 14030 3 2274 + 14030 14034 14035 3 2274 + 14030 14035 14031 3 2274 + 14031 14035 14036 3 2274 + 14031 14036 2835 3 2274 + 2835 14036 2836 3 2274 + 2837 14040 14037 3 2275 + 14037 14040 14041 3 2275 + 14037 14041 14038 3 2275 + 14038 14041 14042 3 2275 + 14038 14042 14039 3 2275 + 14039 14042 14043 3 2275 + 14039 14043 2838 3 2275 + 2838 14043 14044 3 2275 + 14040 2586 14041 3 2275 + 14041 2586 14045 3 2275 + 14041 14045 14042 3 2275 + 14042 14045 14046 3 2275 + 14042 14046 14043 3 2275 + 14043 14046 14047 3 2275 + 14043 14047 14044 3 2275 + 14044 14047 2588 3 2275 + 2836 14048 2841 3 2277 + 2841 14048 14049 3 2277 + 14049 14048 2840 3 2277 + 2838 2842 14050 3 2278 + 14050 2842 14051 3 2278 + 14050 14051 2839 3 2278 + 2842 2845 14052 3 2280 + 14052 2845 14055 3 2280 + 14052 14055 14053 3 2280 + 14053 14055 14056 3 2280 + 14053 14056 14054 3 2280 + 14054 14056 14057 3 2280 + 14054 14057 2843 3 2280 + 2843 14057 2844 3 2280 + 2845 2592 14058 3 2281 + 14058 2592 14060 3 2281 + 14058 14060 14059 3 2281 + 14059 14060 14061 3 2281 + 14059 14061 2846 3 2281 + 2846 14061 2594 3 2281 + 2846 2848 14062 3 2283 + 14062 2848 14064 3 2283 + 14062 14064 14063 3 2283 + 14063 14064 14065 3 2283 + 14063 14065 2844 3 2283 + 2844 14065 2847 3 2283 + 2848 2598 14066 3 2284 + 14066 2598 14069 3 2284 + 14066 14069 14067 3 2284 + 14067 14069 14070 3 2284 + 14067 14070 14068 3 2284 + 14068 14070 14071 3 2284 + 14068 14071 2849 3 2284 + 2849 14071 2600 3 2284 + 2849 2851 2847 3 2286 + 2847 2851 2850 3 2286 + 2851 14073 14072 3 2288 + 14072 14073 14074 3 2288 + 14072 14074 2852 3 2288 + 2852 14074 14075 3 2288 + 14073 14076 14074 3 2288 + 14074 14076 14077 3 2288 + 14074 14077 14075 3 2288 + 14075 14077 14078 3 2288 + 14076 2854 14077 3 2288 + 14077 2854 14079 3 2288 + 14077 14079 14078 3 2288 + 14078 14079 2853 3 2288 + 2854 2857 14080 3 2290 + 14080 2857 14083 3 2290 + 14080 14083 14081 3 2290 + 14081 14083 14084 3 2290 + 14081 14084 14082 3 2290 + 14082 14084 14085 3 2290 + 14082 14085 2855 3 2290 + 2855 14085 2856 3 2290 + 2857 2601 14086 3 2291 + 14086 2601 14088 3 2291 + 14086 14088 14087 3 2291 + 14087 14088 14089 3 2291 + 14087 14089 2858 3 2291 + 2858 14089 2603 3 2291 + 2858 2604 14090 3 2292 + 14090 2604 14094 3 2292 + 14090 14094 14091 3 2292 + 14091 14094 14095 3 2292 + 14091 14095 14092 3 2292 + 14092 14095 14096 3 2292 + 14092 14096 14093 3 2292 + 14093 14096 14097 3 2292 + 14093 14097 2856 3 2292 + 2856 14097 2606 3 2292 + 2855 14103 14098 3 2294 + 14098 14103 14104 3 2294 + 14098 14104 14099 3 2294 + 14099 14104 14105 3 2294 + 14099 14105 14100 3 2294 + 14100 14105 14106 3 2294 + 14100 14106 14101 3 2294 + 14101 14106 14107 3 2294 + 14101 14107 14102 3 2294 + 14102 14107 14108 3 2294 + 14102 14108 2853 3 2294 + 2853 14108 14109 3 2294 + 14103 2860 14104 3 2294 + 14104 2860 14110 3 2294 + 14104 14110 14105 3 2294 + 14105 14110 14111 3 2294 + 14105 14111 14106 3 2294 + 14106 14111 14112 3 2294 + 14106 14112 14107 3 2294 + 14107 14112 14113 3 2294 + 14107 14113 14108 3 2294 + 14108 14113 14114 3 2294 + 14108 14114 14109 3 2294 + 14109 14114 2859 3 2294 + 2860 2863 14115 3 2296 + 14115 2863 14119 3 2296 + 14115 14119 14116 3 2296 + 14116 14119 14120 3 2296 + 14116 14120 14117 3 2296 + 14117 14120 14121 3 2296 + 14117 14121 14118 3 2296 + 14118 14121 14122 3 2296 + 14118 14122 2861 3 2296 + 2861 14122 2862 3 2296 + 2863 14126 14123 3 2298 + 14123 14126 14127 3 2298 + 14123 14127 14124 3 2298 + 14124 14127 14128 3 2298 + 14124 14128 14125 3 2298 + 14125 14128 14129 3 2298 + 14125 14129 2864 3 2298 + 2864 14129 14130 3 2298 + 14126 14131 14127 3 2298 + 14127 14131 14132 3 2298 + 14127 14132 14128 3 2298 + 14128 14132 14133 3 2298 + 14128 14133 14129 3 2298 + 14129 14133 14134 3 2298 + 14129 14134 14130 3 2298 + 14130 14134 14135 3 2298 + 14131 14136 14132 3 2298 + 14132 14136 14137 3 2298 + 14132 14137 14133 3 2298 + 14133 14137 14138 3 2298 + 14133 14138 14134 3 2298 + 14134 14138 14139 3 2298 + 14134 14139 14135 3 2298 + 14135 14139 14140 3 2298 + 14136 2866 14137 3 2298 + 14137 2866 14141 3 2298 + 14137 14141 14138 3 2298 + 14138 14141 14142 3 2298 + 14138 14142 14139 3 2298 + 14139 14142 14143 3 2298 + 14139 14143 14140 3 2298 + 14140 14143 2865 3 2298 + 2866 2869 14144 3 2300 + 14144 2869 14148 3 2300 + 14144 14148 14145 3 2300 + 14145 14148 14149 3 2300 + 14145 14149 14146 3 2300 + 14146 14149 14150 3 2300 + 14146 14150 14147 3 2300 + 14147 14150 14151 3 2300 + 14147 14151 2867 3 2300 + 2867 14151 2868 3 2300 + 2869 14157 14152 3 2302 + 14152 14157 14158 3 2302 + 14152 14158 14153 3 2302 + 14153 14158 14159 3 2302 + 14153 14159 14154 3 2302 + 14154 14159 14160 3 2302 + 14154 14160 14155 3 2302 + 14155 14160 14161 3 2302 + 14155 14161 14156 3 2302 + 14156 14161 14162 3 2302 + 14156 14162 2870 3 2302 + 2870 14162 14163 3 2302 + 14157 2872 14158 3 2302 + 14158 2872 14164 3 2302 + 14158 14164 14159 3 2302 + 14159 14164 14165 3 2302 + 14159 14165 14160 3 2302 + 14160 14165 14166 3 2302 + 14160 14166 14161 3 2302 + 14161 14166 14167 3 2302 + 14161 14167 14162 3 2302 + 14162 14167 14168 3 2302 + 14162 14168 14163 3 2302 + 14163 14168 2871 3 2302 + 2872 2875 14169 3 2304 + 14169 2875 14171 3 2304 + 14169 14171 14170 3 2304 + 14170 14171 14172 3 2304 + 14170 14172 2873 3 2304 + 2873 14172 2874 3 2304 + 2875 14173 2876 3 2305 + 2876 14173 14174 3 2305 + 14173 14175 14174 3 2305 + 14174 14175 14176 3 2305 + 14175 14177 14176 3 2305 + 14176 14177 14178 3 2305 + 14177 14179 14178 3 2305 + 14178 14179 14180 3 2305 + 14179 14181 14180 3 2305 + 14180 14181 14182 3 2305 + 14181 14183 14182 3 2305 + 14182 14183 14184 3 2305 + 14183 14185 14184 3 2305 + 14184 14185 14186 3 2305 + 14185 14187 14186 3 2305 + 14186 14187 14188 3 2305 + 14187 14189 14188 3 2305 + 14188 14189 14190 3 2305 + 14189 14191 14190 3 2305 + 14190 14191 14192 3 2305 + 14191 14193 14192 3 2305 + 14192 14193 14194 3 2305 + 14193 2610 14194 3 2305 + 14194 2610 2612 3 2305 + 2876 14196 14195 3 2306 + 14195 14196 14197 3 2306 + 14195 14197 2874 3 2306 + 2874 14197 14198 3 2306 + 14196 14199 14197 3 2306 + 14197 14199 14200 3 2306 + 14197 14200 14198 3 2306 + 14198 14200 14201 3 2306 + 14199 14202 14200 3 2306 + 14200 14202 14203 3 2306 + 14200 14203 14201 3 2306 + 14201 14203 14204 3 2306 + 14202 2613 14203 3 2306 + 14203 2613 14205 3 2306 + 14203 14205 14204 3 2306 + 14204 14205 2615 3 2306 + 2873 14210 14206 3 2307 + 14206 14210 14211 3 2307 + 14206 14211 14207 3 2307 + 14207 14211 14212 3 2307 + 14207 14212 14208 3 2307 + 14208 14212 14213 3 2307 + 14208 14213 14209 3 2307 + 14209 14213 14214 3 2307 + 14209 14214 2871 3 2307 + 2871 14214 14215 3 2307 + 14210 2625 14211 3 2307 + 14211 2625 14216 3 2307 + 14211 14216 14212 3 2307 + 14212 14216 14217 3 2307 + 14212 14217 14213 3 2307 + 14213 14217 14218 3 2307 + 14213 14218 14214 3 2307 + 14214 14218 14219 3 2307 + 14214 14219 14215 3 2307 + 14215 14219 2627 3 2307 + 2870 14223 14220 3 2309 + 14220 14223 14224 3 2309 + 14220 14224 14221 3 2309 + 14221 14224 14225 3 2309 + 14221 14225 14222 3 2309 + 14222 14225 14226 3 2309 + 14222 14226 2868 3 2309 + 2868 14226 14227 3 2309 + 14223 14228 14224 3 2309 + 14224 14228 14229 3 2309 + 14224 14229 14225 3 2309 + 14225 14229 14230 3 2309 + 14225 14230 14226 3 2309 + 14226 14230 14231 3 2309 + 14226 14231 14227 3 2309 + 14227 14231 14232 3 2309 + 14228 2878 14229 3 2309 + 14229 2878 14233 3 2309 + 14229 14233 14230 3 2309 + 14230 14233 14234 3 2309 + 14230 14234 14231 3 2309 + 14231 14234 14235 3 2309 + 14231 14235 14232 3 2309 + 14232 14235 2877 3 2309 + 2878 2881 14236 3 2311 + 14236 2881 14239 3 2311 + 14236 14239 14237 3 2311 + 14237 14239 14240 3 2311 + 14237 14240 14238 3 2311 + 14238 14240 14241 3 2311 + 14238 14241 2879 3 2311 + 2879 14241 2880 3 2311 + 2881 2631 14242 3 2312 + 14242 2631 14244 3 2312 + 14242 14244 14243 3 2312 + 14243 14244 14245 3 2312 + 14243 14245 2882 3 2312 + 2882 14245 2633 3 2312 + 2882 2884 2880 3 2314 + 2880 2884 2883 3 2314 + 2884 2887 14246 3 2316 + 14246 2887 14248 3 2316 + 14246 14248 14247 3 2316 + 14247 14248 14249 3 2316 + 14247 14249 2885 3 2316 + 2885 14249 2886 3 2316 + 2887 2634 14250 3 2317 + 14250 2634 14253 3 2317 + 14250 14253 14251 3 2317 + 14251 14253 14254 3 2317 + 14251 14254 14252 3 2317 + 14252 14254 14255 3 2317 + 14252 14255 2888 3 2317 + 2888 14255 2636 3 2317 + 2888 2890 14256 3 2319 + 14256 2890 14260 3 2319 + 14256 14260 14257 3 2319 + 14257 14260 14261 3 2319 + 14257 14261 14258 3 2319 + 14258 14261 14262 3 2319 + 14258 14262 14259 3 2319 + 14259 14262 14263 3 2319 + 14259 14263 2886 3 2319 + 2886 14263 2889 3 2319 + 2890 2893 2891 3 2321 + 2891 2893 2892 3 2321 + 2893 2896 14264 3 2323 + 14264 2896 14266 3 2323 + 14264 14266 14265 3 2323 + 14265 14266 14267 3 2323 + 14265 14267 2894 3 2323 + 2894 14267 2895 3 2323 + 2896 2642 14268 3 2324 + 14268 2642 14271 3 2324 + 14268 14271 14269 3 2324 + 14269 14271 14272 3 2324 + 14269 14272 14270 3 2324 + 14270 14272 14273 3 2324 + 14270 14273 2897 3 2324 + 2897 14273 2644 3 2324 + 2897 2899 2895 3 2326 + 2895 2899 2898 3 2326 + 2899 2645 2900 3 2327 + 2900 2645 2647 3 2327 + 2900 14275 14274 3 2328 + 14274 14275 14276 3 2328 + 14274 14276 2898 3 2328 + 2898 14276 14277 3 2328 + 14275 14278 14276 3 2328 + 14276 14278 14279 3 2328 + 14276 14279 14277 3 2328 + 14277 14279 14280 3 2328 + 14278 14281 14279 3 2328 + 14279 14281 14282 3 2328 + 14279 14282 14280 3 2328 + 14280 14282 14283 3 2328 + 14281 2672 14282 3 2328 + 14282 2672 14284 3 2328 + 14282 14284 14283 3 2328 + 14283 14284 2674 3 2328 + 2894 14286 14285 3 2329 + 14285 14286 14287 3 2329 + 14285 14287 2892 3 2329 + 2892 14287 14288 3 2329 + 14286 2678 14287 3 2329 + 14287 2678 14289 3 2329 + 14287 14289 14288 3 2329 + 14288 14289 2680 3 2329 + 2891 2902 14290 3 2331 + 14290 2902 14294 3 2331 + 14290 14294 14291 3 2331 + 14291 14294 14295 3 2331 + 14291 14295 14292 3 2331 + 14292 14295 14296 3 2331 + 14292 14296 14293 3 2331 + 14293 14296 14297 3 2331 + 14293 14297 2889 3 2331 + 2889 14297 2901 3 2331 + 2902 2905 14298 3 2333 + 14298 2905 14301 3 2333 + 14298 14301 14299 3 2333 + 14299 14301 14302 3 2333 + 14299 14302 14300 3 2333 + 14300 14302 14303 3 2333 + 14300 14303 2903 3 2333 + 2903 14303 2904 3 2333 + 2905 2681 14304 3 2334 + 14304 2681 14309 3 2334 + 14304 14309 14305 3 2334 + 14305 14309 14310 3 2334 + 14305 14310 14306 3 2334 + 14306 14310 14311 3 2334 + 14306 14311 14307 3 2334 + 14307 14311 14312 3 2334 + 14307 14312 14308 3 2334 + 14308 14312 14313 3 2334 + 14308 14313 2906 3 2334 + 2906 14313 2683 3 2334 + 2906 2908 2904 3 2336 + 2904 2908 2907 3 2336 + 2908 2911 14314 3 2338 + 14314 2911 14315 3 2338 + 14314 14315 2909 3 2338 + 2909 14315 2910 3 2338 + 2911 14316 2912 3 2340 + 2912 14316 14317 3 2340 + 14316 14318 14317 3 2340 + 14317 14318 14319 3 2340 + 14318 14320 14319 3 2340 + 14319 14320 14321 3 2340 + 14320 2914 14321 3 2340 + 14321 2914 2913 3 2340 + 2914 14322 2915 3 2341 + 2915 14322 14323 3 2341 + 14322 2684 14323 3 2341 + 14323 2684 2686 3 2341 + 2915 14325 14324 3 2343 + 14324 14325 14326 3 2343 + 14324 14326 2913 3 2343 + 2913 14326 14327 3 2343 + 14325 14328 14326 3 2343 + 14326 14328 14329 3 2343 + 14326 14329 14327 3 2343 + 14327 14329 14330 3 2343 + 14328 14331 14329 3 2343 + 14329 14331 14332 3 2343 + 14329 14332 14330 3 2343 + 14330 14332 14333 3 2343 + 14331 2917 14332 3 2343 + 14332 2917 14334 3 2343 + 14332 14334 14333 3 2343 + 14333 14334 2916 3 2343 + 2917 2920 2918 3 2345 + 2918 2920 2919 3 2345 + 2920 2923 14335 3 2347 + 14335 2923 14339 3 2347 + 14335 14339 14336 3 2347 + 14336 14339 14340 3 2347 + 14336 14340 14337 3 2347 + 14337 14340 14341 3 2347 + 14337 14341 14338 3 2347 + 14338 14341 14342 3 2347 + 14338 14342 2921 3 2347 + 2921 14342 2922 3 2347 + 2923 2926 14343 3 2349 + 14343 2926 14347 3 2349 + 14343 14347 14344 3 2349 + 14344 14347 14348 3 2349 + 14344 14348 14345 3 2349 + 14345 14348 14349 3 2349 + 14345 14349 14346 3 2349 + 14346 14349 14350 3 2349 + 14346 14350 2924 3 2349 + 2924 14350 2925 3 2349 + 2926 14355 14351 3 2351 + 14351 14355 14356 3 2351 + 14351 14356 14352 3 2351 + 14352 14356 14357 3 2351 + 14352 14357 14353 3 2351 + 14353 14357 14358 3 2351 + 14353 14358 14354 3 2351 + 14354 14358 14359 3 2351 + 14354 14359 2927 3 2351 + 2927 14359 14360 3 2351 + 14355 14361 14356 3 2351 + 14356 14361 14362 3 2351 + 14356 14362 14357 3 2351 + 14357 14362 14363 3 2351 + 14357 14363 14358 3 2351 + 14358 14363 14364 3 2351 + 14358 14364 14359 3 2351 + 14359 14364 14365 3 2351 + 14359 14365 14360 3 2351 + 14360 14365 14366 3 2351 + 14361 2929 14362 3 2351 + 14362 2929 14367 3 2351 + 14362 14367 14363 3 2351 + 14363 14367 14368 3 2351 + 14363 14368 14364 3 2351 + 14364 14368 14369 3 2351 + 14364 14369 14365 3 2351 + 14365 14369 14370 3 2351 + 14365 14370 14366 3 2351 + 14366 14370 2928 3 2351 + 2929 14376 14371 3 2353 + 14371 14376 14377 3 2353 + 14371 14377 14372 3 2353 + 14372 14377 14378 3 2353 + 14372 14378 14373 3 2353 + 14373 14378 14379 3 2353 + 14373 14379 14374 3 2353 + 14374 14379 14380 3 2353 + 14374 14380 14375 3 2353 + 14375 14380 14381 3 2353 + 14375 14381 2930 3 2353 + 2930 14381 14382 3 2353 + 14376 2932 14377 3 2353 + 14377 2932 14383 3 2353 + 14377 14383 14378 3 2353 + 14378 14383 14384 3 2353 + 14378 14384 14379 3 2353 + 14379 14384 14385 3 2353 + 14379 14385 14380 3 2353 + 14380 14385 14386 3 2353 + 14380 14386 14381 3 2353 + 14381 14386 14387 3 2353 + 14381 14387 14382 3 2353 + 14382 14387 2931 3 2353 + 2932 2687 14388 3 2354 + 14388 2687 14391 3 2354 + 14388 14391 14389 3 2354 + 14389 14391 14392 3 2354 + 14389 14392 14390 3 2354 + 14390 14392 14393 3 2354 + 14390 14393 2933 3 2354 + 2933 14393 2689 3 2354 + 2933 14397 14394 3 2355 + 14394 14397 14398 3 2355 + 14394 14398 14395 3 2355 + 14395 14398 14399 3 2355 + 14395 14399 14396 3 2355 + 14396 14399 14400 3 2355 + 14396 14400 2931 3 2355 + 2931 14400 14401 3 2355 + 14397 14402 14398 3 2355 + 14398 14402 14403 3 2355 + 14398 14403 14399 3 2355 + 14399 14403 14404 3 2355 + 14399 14404 14400 3 2355 + 14400 14404 14405 3 2355 + 14400 14405 14401 3 2355 + 14401 14405 14406 3 2355 + 14402 2699 14403 3 2355 + 14403 2699 14407 3 2355 + 14403 14407 14404 3 2355 + 14404 14407 14408 3 2355 + 14404 14408 14405 3 2355 + 14405 14408 14409 3 2355 + 14405 14409 14406 3 2355 + 14406 14409 2701 3 2355 + 2930 14411 14410 3 2357 + 14410 14411 14412 3 2357 + 14410 14412 2928 3 2357 + 2928 14412 14413 3 2357 + 14411 14414 14412 3 2357 + 14412 14414 14415 3 2357 + 14412 14415 14413 3 2357 + 14413 14415 14416 3 2357 + 14414 2935 14415 3 2357 + 14415 2935 14417 3 2357 + 14415 14417 14416 3 2357 + 14416 14417 2934 3 2357 + 2935 14418 2936 3 2359 + 2936 14418 14419 3 2359 + 14418 14420 14419 3 2359 + 14419 14420 14421 3 2359 + 14420 14422 14421 3 2359 + 14421 14422 14423 3 2359 + 14422 2938 14423 3 2359 + 14423 2938 2937 3 2359 + 2938 14425 14424 3 2360 + 14424 14425 14426 3 2360 + 14424 14426 2939 3 2360 + 2939 14426 14427 3 2360 + 14425 14428 14426 3 2360 + 14426 14428 14429 3 2360 + 14426 14429 14427 3 2360 + 14427 14429 14430 3 2360 + 14428 14431 14429 3 2360 + 14429 14431 14432 3 2360 + 14429 14432 14430 3 2360 + 14430 14432 14433 3 2360 + 14431 2702 14432 3 2360 + 14432 2702 14434 3 2360 + 14432 14434 14433 3 2360 + 14433 14434 2704 3 2360 + 2939 14435 2937 3 2362 + 2937 14435 14436 3 2362 + 14435 14437 14436 3 2362 + 14436 14437 14438 3 2362 + 14437 2941 14438 3 2362 + 14438 2941 2940 3 2362 + 2941 14441 14439 3 2364 + 14439 14441 14442 3 2364 + 14439 14442 14440 3 2364 + 14440 14442 14443 3 2364 + 14440 14443 2942 3 2364 + 2942 14443 14444 3 2364 + 14441 14445 14442 3 2364 + 14442 14445 14446 3 2364 + 14442 14446 14443 3 2364 + 14443 14446 14447 3 2364 + 14443 14447 14444 3 2364 + 14444 14447 14448 3 2364 + 14445 14449 14446 3 2364 + 14446 14449 14450 3 2364 + 14446 14450 14447 3 2364 + 14447 14450 14451 3 2364 + 14447 14451 14448 3 2364 + 14448 14451 14452 3 2364 + 14449 2944 14450 3 2364 + 14450 2944 14453 3 2364 + 14450 14453 14451 3 2364 + 14451 14453 14454 3 2364 + 14451 14454 14452 3 2364 + 14452 14454 2943 3 2364 + 2944 14459 14455 3 2365 + 14455 14459 14460 3 2365 + 14455 14460 14456 3 2365 + 14456 14460 14461 3 2365 + 14456 14461 14457 3 2365 + 14457 14461 14462 3 2365 + 14457 14462 14458 3 2365 + 14458 14462 14463 3 2365 + 14458 14463 2945 3 2365 + 2945 14463 14464 3 2365 + 14459 2705 14460 3 2365 + 14460 2705 14465 3 2365 + 14460 14465 14461 3 2365 + 14461 14465 14466 3 2365 + 14461 14466 14462 3 2365 + 14462 14466 14467 3 2365 + 14462 14467 14463 3 2365 + 14463 14467 14468 3 2365 + 14463 14468 14464 3 2365 + 14464 14468 2707 3 2365 + 2945 2947 14469 3 2367 + 14469 2947 14473 3 2367 + 14469 14473 14470 3 2367 + 14470 14473 14474 3 2367 + 14470 14474 14471 3 2367 + 14471 14474 14475 3 2367 + 14471 14475 14472 3 2367 + 14472 14475 14476 3 2367 + 14472 14476 2943 3 2367 + 2943 14476 2946 3 2367 + 2947 2722 14477 3 2368 + 14477 2722 14478 3 2368 + 14477 14478 2948 3 2368 + 2948 14478 2724 3 2368 + 2948 2950 14479 3 2370 + 14479 2950 14484 3 2370 + 14479 14484 14480 3 2370 + 14480 14484 14485 3 2370 + 14480 14485 14481 3 2370 + 14481 14485 14486 3 2370 + 14481 14486 14482 3 2370 + 14482 14486 14487 3 2370 + 14482 14487 14483 3 2370 + 14483 14487 14488 3 2370 + 14483 14488 2946 3 2370 + 2946 14488 2949 3 2370 + 2950 14492 14489 3 2372 + 14489 14492 14493 3 2372 + 14489 14493 14490 3 2372 + 14490 14493 14494 3 2372 + 14490 14494 14491 3 2372 + 14491 14494 14495 3 2372 + 14491 14495 2951 3 2372 + 2951 14495 14496 3 2372 + 14492 14497 14493 3 2372 + 14493 14497 14498 3 2372 + 14493 14498 14494 3 2372 + 14494 14498 14499 3 2372 + 14494 14499 14495 3 2372 + 14495 14499 14500 3 2372 + 14495 14500 14496 3 2372 + 14496 14500 14501 3 2372 + 14497 2953 14498 3 2372 + 14498 2953 14502 3 2372 + 14498 14502 14499 3 2372 + 14499 14502 14503 3 2372 + 14499 14503 14500 3 2372 + 14500 14503 14504 3 2372 + 14500 14504 14501 3 2372 + 14501 14504 2952 3 2372 + 2953 2956 14505 3 2374 + 14505 2956 14508 3 2374 + 14505 14508 14506 3 2374 + 14506 14508 14509 3 2374 + 14506 14509 14507 3 2374 + 14507 14509 14510 3 2374 + 14507 14510 2954 3 2374 + 2954 14510 2955 3 2374 + 2956 2959 14511 3 2376 + 14511 2959 14517 3 2376 + 14511 14517 14512 3 2376 + 14512 14517 14518 3 2376 + 14512 14518 14513 3 2376 + 14513 14518 14519 3 2376 + 14513 14519 14514 3 2376 + 14514 14519 14520 3 2376 + 14514 14520 14515 3 2376 + 14515 14520 14521 3 2376 + 14515 14521 14516 3 2376 + 14516 14521 14522 3 2376 + 14516 14522 2957 3 2376 + 2957 14522 2958 3 2376 + 2959 2962 14523 3 2378 + 14523 2962 14527 3 2378 + 14523 14527 14524 3 2378 + 14524 14527 14528 3 2378 + 14524 14528 14525 3 2378 + 14525 14528 14529 3 2378 + 14525 14529 14526 3 2378 + 14526 14529 14530 3 2378 + 14526 14530 2960 3 2378 + 2960 14530 2961 3 2378 + 2962 2965 14531 3 2380 + 14531 2965 14536 3 2380 + 14531 14536 14532 3 2380 + 14532 14536 14537 3 2380 + 14532 14537 14533 3 2380 + 14533 14537 14538 3 2380 + 14533 14538 14534 3 2380 + 14534 14538 14539 3 2380 + 14534 14539 14535 3 2380 + 14535 14539 14540 3 2380 + 14535 14540 2963 3 2380 + 2963 14540 2964 3 2380 + 2965 14547 14541 3 2381 + 14541 14547 14548 3 2381 + 14541 14548 14542 3 2381 + 14542 14548 14549 3 2381 + 14542 14549 14543 3 2381 + 14543 14549 14550 3 2381 + 14543 14550 14544 3 2381 + 14544 14550 14551 3 2381 + 14544 14551 14545 3 2381 + 14545 14551 14552 3 2381 + 14545 14552 14546 3 2381 + 14546 14552 14553 3 2381 + 14546 14553 2966 3 2381 + 2966 14553 14554 3 2381 + 14547 2728 14548 3 2381 + 14548 2728 14555 3 2381 + 14548 14555 14549 3 2381 + 14549 14555 14556 3 2381 + 14549 14556 14550 3 2381 + 14550 14556 14557 3 2381 + 14550 14557 14551 3 2381 + 14551 14557 14558 3 2381 + 14551 14558 14552 3 2381 + 14552 14558 14559 3 2381 + 14552 14559 14553 3 2381 + 14553 14559 14560 3 2381 + 14553 14560 14554 3 2381 + 14554 14560 2730 3 2381 + 2966 2968 14561 3 2383 + 14561 2968 14564 3 2383 + 14561 14564 14562 3 2383 + 14562 14564 14565 3 2383 + 14562 14565 14563 3 2383 + 14563 14565 14566 3 2383 + 14563 14566 2964 3 2383 + 2964 14566 2967 3 2383 + 2968 2971 14567 3 2385 + 14567 2971 14569 3 2385 + 14567 14569 14568 3 2385 + 14568 14569 14570 3 2385 + 14568 14570 2969 3 2385 + 2969 14570 2970 3 2385 + 2971 14572 14571 3 2387 + 14571 14572 14573 3 2387 + 14571 14573 2972 3 2387 + 2972 14573 14574 3 2387 + 14572 2974 14573 3 2387 + 14573 2974 14575 3 2387 + 14573 14575 14574 3 2387 + 14574 14575 2973 3 2387 + 2974 2731 14576 3 2388 + 14576 2731 14578 3 2388 + 14576 14578 14577 3 2388 + 14577 14578 14579 3 2388 + 14577 14579 2975 3 2388 + 2975 14579 2733 3 2388 + 2975 14582 14580 3 2390 + 14580 14582 14583 3 2390 + 14580 14583 14581 3 2390 + 14581 14583 14584 3 2390 + 14581 14584 2973 3 2390 + 2973 14584 14585 3 2390 + 14582 14586 14583 3 2390 + 14583 14586 14587 3 2390 + 14583 14587 14584 3 2390 + 14584 14587 14588 3 2390 + 14584 14588 14585 3 2390 + 14585 14588 14589 3 2390 + 14586 2977 14587 3 2390 + 14587 2977 14590 3 2390 + 14587 14590 14588 3 2390 + 14588 14590 14591 3 2390 + 14588 14591 14589 3 2390 + 14589 14591 2976 3 2390 + 2977 2980 2978 3 2392 + 2978 2980 2979 3 2392 + 2980 2983 2981 3 2394 + 2981 2983 2982 3 2394 + 2983 14593 14592 3 2395 + 14592 14593 14594 3 2395 + 14592 14594 2984 3 2395 + 2984 14594 14595 3 2395 + 14593 14596 14594 3 2395 + 14594 14596 14597 3 2395 + 14594 14597 14595 3 2395 + 14595 14597 14598 3 2395 + 14596 14599 14597 3 2395 + 14597 14599 14600 3 2395 + 14597 14600 14598 3 2395 + 14598 14600 14601 3 2395 + 14599 2737 14600 3 2395 + 14600 2737 14602 3 2395 + 14600 14602 14601 3 2395 + 14601 14602 2739 3 2395 + 2984 14603 2982 3 2397 + 2982 14603 14604 3 2397 + 14603 14605 14604 3 2397 + 14604 14605 14606 3 2397 + 14605 14607 14606 3 2397 + 14606 14607 14608 3 2397 + 14607 14609 14608 3 2397 + 14608 14609 14610 3 2397 + 14609 2986 14610 3 2397 + 14610 2986 2985 3 2397 + 2986 14613 14611 3 2398 + 14611 14613 14614 3 2398 + 14611 14614 14612 3 2398 + 14612 14614 14615 3 2398 + 14612 14615 2987 3 2398 + 2987 14615 14616 3 2398 + 14613 14617 14614 3 2398 + 14614 14617 14618 3 2398 + 14614 14618 14615 3 2398 + 14615 14618 14619 3 2398 + 14615 14619 14616 3 2398 + 14616 14619 14620 3 2398 + 14617 14621 14618 3 2398 + 14618 14621 14622 3 2398 + 14618 14622 14619 3 2398 + 14619 14622 14623 3 2398 + 14619 14623 14620 3 2398 + 14620 14623 14624 3 2398 + 14621 2740 14622 3 2398 + 14622 2740 14625 3 2398 + 14622 14625 14623 3 2398 + 14623 14625 14626 3 2398 + 14623 14626 14624 3 2398 + 14624 14626 2742 3 2398 + 2987 14628 14627 3 2400 + 14627 14628 14629 3 2400 + 14627 14629 2985 3 2400 + 2985 14629 14630 3 2400 + 14628 14631 14629 3 2400 + 14629 14631 14632 3 2400 + 14629 14632 14630 3 2400 + 14630 14632 14633 3 2400 + 14631 2989 14632 3 2400 + 14632 2989 14634 3 2400 + 14632 14634 14633 3 2400 + 14633 14634 2988 3 2400 + 2989 2992 14635 3 2402 + 14635 2992 14638 3 2402 + 14635 14638 14636 3 2402 + 14636 14638 14639 3 2402 + 14636 14639 14637 3 2402 + 14637 14639 14640 3 2402 + 14637 14640 2990 3 2402 + 2990 14640 2991 3 2402 + 2992 14644 14641 3 2404 + 14641 14644 14645 3 2404 + 14641 14645 14642 3 2404 + 14642 14645 14646 3 2404 + 14642 14646 14643 3 2404 + 14643 14646 14647 3 2404 + 14643 14647 2993 3 2404 + 2993 14647 14648 3 2404 + 14644 14649 14645 3 2404 + 14645 14649 14650 3 2404 + 14645 14650 14646 3 2404 + 14646 14650 14651 3 2404 + 14646 14651 14647 3 2404 + 14647 14651 14652 3 2404 + 14647 14652 14648 3 2404 + 14648 14652 14653 3 2404 + 14649 14654 14650 3 2404 + 14650 14654 14655 3 2404 + 14650 14655 14651 3 2404 + 14651 14655 14656 3 2404 + 14651 14656 14652 3 2404 + 14652 14656 14657 3 2404 + 14652 14657 14653 3 2404 + 14653 14657 14658 3 2404 + 14654 2995 14655 3 2404 + 14655 2995 14659 3 2404 + 14655 14659 14656 3 2404 + 14656 14659 14660 3 2404 + 14656 14660 14657 3 2404 + 14657 14660 14661 3 2404 + 14657 14661 14658 3 2404 + 14658 14661 2994 3 2404 + 2995 2752 14662 3 2405 + 14662 2752 14664 3 2405 + 14662 14664 14663 3 2405 + 14663 14664 14665 3 2405 + 14663 14665 2996 3 2405 + 2996 14665 2754 3 2405 + 2996 14668 14666 3 2407 + 14666 14668 14669 3 2407 + 14666 14669 14667 3 2407 + 14667 14669 14670 3 2407 + 14667 14670 2994 3 2407 + 2994 14670 14671 3 2407 + 14668 14672 14669 3 2407 + 14669 14672 14673 3 2407 + 14669 14673 14670 3 2407 + 14670 14673 14674 3 2407 + 14670 14674 14671 3 2407 + 14671 14674 14675 3 2407 + 14672 2998 14673 3 2407 + 14673 2998 14676 3 2407 + 14673 14676 14674 3 2407 + 14674 14676 14677 3 2407 + 14674 14677 14675 3 2407 + 14675 14677 2997 3 2407 + 2998 2755 2999 3 2408 + 2999 2755 2757 3 2408 + 2999 2767 14678 3 2409 + 14678 2767 14679 3 2409 + 14678 14679 2997 3 2409 + 2997 14679 2769 3 2409 + 2993 3001 14680 3 2411 + 14680 3001 14683 3 2411 + 14680 14683 14681 3 2411 + 14681 14683 14684 3 2411 + 14681 14684 14682 3 2411 + 14682 14684 14685 3 2411 + 14682 14685 2991 3 2411 + 2991 14685 3000 3 2411 + 3001 14686 3002 3 2413 + 3002 14686 14687 3 2413 + 14686 14688 14687 3 2413 + 14687 14688 14689 3 2413 + 14688 14690 14689 3 2413 + 14689 14690 14691 3 2413 + 14690 14692 14691 3 2413 + 14691 14692 14693 3 2413 + 14692 14694 14693 3 2413 + 14693 14694 14695 3 2413 + 14694 3004 14695 3 2413 + 14695 3004 3003 3 2413 + 3004 2770 14696 3 2414 + 14696 2770 14697 3 2414 + 14696 14697 3005 3 2414 + 3005 14697 2772 3 2414 + 3005 14698 3003 3 2415 + 3003 14698 14699 3 2415 + 14698 14700 14699 3 2415 + 14699 14700 14701 3 2415 + 14700 14702 14701 3 2415 + 14701 14702 14703 3 2415 + 14702 14704 14703 3 2415 + 14703 14704 14705 3 2415 + 14704 14706 14705 3 2415 + 14705 14706 14707 3 2415 + 14706 14708 14707 3 2415 + 14707 14708 14709 3 2415 + 14708 14710 14709 3 2415 + 14709 14710 14711 3 2415 + 14710 14712 14711 3 2415 + 14711 14712 14713 3 2415 + 14712 14714 14713 3 2415 + 14713 14714 14715 3 2415 + 14714 2788 14715 3 2415 + 14715 2788 2790 3 2415 + 3002 14719 14716 3 2417 + 14716 14719 14720 3 2417 + 14716 14720 14717 3 2417 + 14717 14720 14721 3 2417 + 14717 14721 14718 3 2417 + 14718 14721 14722 3 2417 + 14718 14722 3000 3 2417 + 3000 14722 14723 3 2417 + 14719 14724 14720 3 2417 + 14720 14724 14725 3 2417 + 14720 14725 14721 3 2417 + 14721 14725 14726 3 2417 + 14721 14726 14722 3 2417 + 14722 14726 14727 3 2417 + 14722 14727 14723 3 2417 + 14723 14727 14728 3 2417 + 14724 14729 14725 3 2417 + 14725 14729 14730 3 2417 + 14725 14730 14726 3 2417 + 14726 14730 14731 3 2417 + 14726 14731 14727 3 2417 + 14727 14731 14732 3 2417 + 14727 14732 14728 3 2417 + 14728 14732 14733 3 2417 + 14729 14734 14730 3 2417 + 14730 14734 14735 3 2417 + 14730 14735 14731 3 2417 + 14731 14735 14736 3 2417 + 14731 14736 14732 3 2417 + 14732 14736 14737 3 2417 + 14732 14737 14733 3 2417 + 14733 14737 14738 3 2417 + 14734 3007 14735 3 2417 + 14735 3007 14739 3 2417 + 14735 14739 14736 3 2417 + 14736 14739 14740 3 2417 + 14736 14740 14737 3 2417 + 14737 14740 14741 3 2417 + 14737 14741 14738 3 2417 + 14738 14741 3006 3 2417 + 3007 2791 14742 3 2418 + 14742 2791 14747 3 2418 + 14742 14747 14743 3 2418 + 14743 14747 14748 3 2418 + 14743 14748 14744 3 2418 + 14744 14748 14749 3 2418 + 14744 14749 14745 3 2418 + 14745 14749 14750 3 2418 + 14745 14750 14746 3 2418 + 14746 14750 14751 3 2418 + 14746 14751 3008 3 2418 + 3008 14751 2793 3 2418 + 3008 14753 14752 3 2420 + 14752 14753 14754 3 2420 + 14752 14754 3006 3 2420 + 3006 14754 14755 3 2420 + 14753 3010 14754 3 2420 + 14754 3010 14756 3 2420 + 14754 14756 14755 3 2420 + 14755 14756 3009 3 2420 + 3010 3013 3011 3 2422 + 3011 3013 3012 3 2422 + 3013 14761 14757 3 2423 + 14757 14761 14762 3 2423 + 14757 14762 14758 3 2423 + 14758 14762 14763 3 2423 + 14758 14763 14759 3 2423 + 14759 14763 14764 3 2423 + 14759 14764 14760 3 2423 + 14760 14764 14765 3 2423 + 14760 14765 3014 3 2423 + 3014 14765 14766 3 2423 + 14761 2794 14762 3 2423 + 14762 2794 14767 3 2423 + 14762 14767 14763 3 2423 + 14763 14767 14768 3 2423 + 14763 14768 14764 3 2423 + 14764 14768 14769 3 2423 + 14764 14769 14765 3 2423 + 14765 14769 14770 3 2423 + 14765 14770 14766 3 2423 + 14766 14770 2796 3 2423 + 3014 3016 14771 3 2425 + 14771 3016 14775 3 2425 + 14771 14775 14772 3 2425 + 14772 14775 14776 3 2425 + 14772 14776 14773 3 2425 + 14773 14776 14777 3 2425 + 14773 14777 14774 3 2425 + 14774 14777 14778 3 2425 + 14774 14778 3012 3 2425 + 3012 14778 3015 3 2425 + 3016 3019 14779 3 2427 + 14779 3019 14782 3 2427 + 14779 14782 14780 3 2427 + 14780 14782 14783 3 2427 + 14780 14783 14781 3 2427 + 14781 14783 14784 3 2427 + 14781 14784 3017 3 2427 + 3017 14784 3018 3 2427 + 3019 3022 14785 3 2429 + 14785 3022 14789 3 2429 + 14785 14789 14786 3 2429 + 14786 14789 14790 3 2429 + 14786 14790 14787 3 2429 + 14787 14790 14791 3 2429 + 14787 14791 14788 3 2429 + 14788 14791 14792 3 2429 + 14788 14792 3020 3 2429 + 3020 14792 3021 3 2429 + 3022 14793 3023 3 2431 + 3023 14793 14794 3 2431 + 14793 14795 14794 3 2431 + 14794 14795 14796 3 2431 + 14795 14797 14796 3 2431 + 14796 14797 14798 3 2431 + 14797 14799 14798 3 2431 + 14798 14799 14800 3 2431 + 14799 14801 14800 3 2431 + 14800 14801 14802 3 2431 + 14801 14803 14802 3 2431 + 14802 14803 14804 3 2431 + 14803 14805 14804 3 2431 + 14804 14805 14806 3 2431 + 14805 14807 14806 3 2431 + 14806 14807 14808 3 2431 + 14807 14809 14808 3 2431 + 14808 14809 14810 3 2431 + 14809 3025 14810 3 2431 + 14810 3025 3024 3 2431 + 3025 14811 3026 3 2432 + 3026 14811 14812 3 2432 + 14811 14813 14812 3 2432 + 14812 14813 14814 3 2432 + 14813 2800 14814 3 2432 + 14814 2800 2802 3 2432 + 3026 14816 14815 3 2434 + 14815 14816 14817 3 2434 + 14815 14817 3024 3 2434 + 3024 14817 14818 3 2434 + 14816 14819 14817 3 2434 + 14817 14819 14820 3 2434 + 14817 14820 14818 3 2434 + 14818 14820 14821 3 2434 + 14819 14822 14820 3 2434 + 14820 14822 14823 3 2434 + 14820 14823 14821 3 2434 + 14821 14823 14824 3 2434 + 14822 14825 14823 3 2434 + 14823 14825 14826 3 2434 + 14823 14826 14824 3 2434 + 14824 14826 14827 3 2434 + 14825 14828 14826 3 2434 + 14826 14828 14829 3 2434 + 14826 14829 14827 3 2434 + 14827 14829 14830 3 2434 + 14828 14831 14829 3 2434 + 14829 14831 14832 3 2434 + 14829 14832 14830 3 2434 + 14830 14832 14833 3 2434 + 14831 14834 14832 3 2434 + 14832 14834 14835 3 2434 + 14832 14835 14833 3 2434 + 14833 14835 14836 3 2434 + 14834 3028 14835 3 2434 + 14835 3028 14837 3 2434 + 14835 14837 14836 3 2434 + 14836 14837 3027 3 2434 + 3028 3031 3029 3 2436 + 3029 3031 3030 3 2436 + 3031 14843 14838 3 2438 + 14838 14843 14844 3 2438 + 14838 14844 14839 3 2438 + 14839 14844 14845 3 2438 + 14839 14845 14840 3 2438 + 14840 14845 14846 3 2438 + 14840 14846 14841 3 2438 + 14841 14846 14847 3 2438 + 14841 14847 14842 3 2438 + 14842 14847 14848 3 2438 + 14842 14848 3032 3 2438 + 3032 14848 14849 3 2438 + 14843 3034 14844 3 2438 + 14844 3034 14850 3 2438 + 14844 14850 14845 3 2438 + 14845 14850 14851 3 2438 + 14845 14851 14846 3 2438 + 14846 14851 14852 3 2438 + 14846 14852 14847 3 2438 + 14847 14852 14853 3 2438 + 14847 14853 14848 3 2438 + 14848 14853 14854 3 2438 + 14848 14854 14849 3 2438 + 14849 14854 3033 3 2438 + 3034 14859 14855 3 2439 + 14855 14859 14860 3 2439 + 14855 14860 14856 3 2439 + 14856 14860 14861 3 2439 + 14856 14861 14857 3 2439 + 14857 14861 14862 3 2439 + 14857 14862 14858 3 2439 + 14858 14862 14863 3 2439 + 14858 14863 3035 3 2439 + 3035 14863 14864 3 2439 + 14859 2806 14860 3 2439 + 14860 2806 14865 3 2439 + 14860 14865 14861 3 2439 + 14861 14865 14866 3 2439 + 14861 14866 14862 3 2439 + 14862 14866 14867 3 2439 + 14862 14867 14863 3 2439 + 14863 14867 14868 3 2439 + 14863 14868 14864 3 2439 + 14864 14868 2808 3 2439 + 3035 3037 14869 3 2441 + 14869 3037 14874 3 2441 + 14869 14874 14870 3 2441 + 14870 14874 14875 3 2441 + 14870 14875 14871 3 2441 + 14871 14875 14876 3 2441 + 14871 14876 14872 3 2441 + 14872 14876 14877 3 2441 + 14872 14877 14873 3 2441 + 14873 14877 14878 3 2441 + 14873 14878 3033 3 2441 + 3033 14878 3036 3 2441 + 3037 3040 14879 3 2443 + 14879 3040 14883 3 2443 + 14879 14883 14880 3 2443 + 14880 14883 14884 3 2443 + 14880 14884 14881 3 2443 + 14881 14884 14885 3 2443 + 14881 14885 14882 3 2443 + 14882 14885 14886 3 2443 + 14882 14886 3038 3 2443 + 3038 14886 3039 3 2443 + 3040 14890 14887 3 2444 + 14887 14890 14891 3 2444 + 14887 14891 14888 3 2444 + 14888 14891 14892 3 2444 + 14888 14892 14889 3 2444 + 14889 14892 14893 3 2444 + 14889 14893 3041 3 2444 + 3041 14893 14894 3 2444 + 14890 14895 14891 3 2444 + 14891 14895 14896 3 2444 + 14891 14896 14892 3 2444 + 14892 14896 14897 3 2444 + 14892 14897 14893 3 2444 + 14893 14897 14898 3 2444 + 14893 14898 14894 3 2444 + 14894 14898 14899 3 2444 + 14895 2815 14896 3 2444 + 14896 2815 14900 3 2444 + 14896 14900 14897 3 2444 + 14897 14900 14901 3 2444 + 14897 14901 14898 3 2444 + 14898 14901 14902 3 2444 + 14898 14902 14899 3 2444 + 14899 14902 2817 3 2444 + 3041 14903 3039 3 2446 + 3039 14903 14904 3 2446 + 14903 14905 14904 3 2446 + 14904 14905 14906 3 2446 + 14905 14907 14906 3 2446 + 14906 14907 14908 3 2446 + 14907 14909 14908 3 2446 + 14908 14909 14910 3 2446 + 14909 3043 14910 3 2446 + 14910 3043 3042 3 2446 + 2829 3044 3046 3 2447 + 3043 2827 3045 3 2448 + 3049 3042 3048 3 2450 + 3044 3050 3047 3 2451 + 3050 14912 14911 3 2453 + 14911 14912 14913 3 2453 + 14911 14913 3051 3 2453 + 3051 14913 14914 3 2453 + 14912 3053 14913 3 2453 + 14913 3053 14915 3 2453 + 14913 14915 14914 3 2453 + 14914 14915 3052 3 2453 + 3053 14916 3054 3 2454 + 3054 14916 14917 3 2454 + 14916 14918 14917 3 2454 + 14917 14918 14919 3 2454 + 14918 14920 14919 3 2454 + 14919 14920 14921 3 2454 + 14920 14922 14921 3 2454 + 14921 14922 14923 3 2454 + 14922 14924 14923 3 2454 + 14923 14924 14925 3 2454 + 14924 14926 14925 3 2454 + 14925 14926 14927 3 2454 + 14926 14928 14927 3 2454 + 14927 14928 14929 3 2454 + 14928 14930 14929 3 2454 + 14929 14930 14931 3 2454 + 14930 14932 14931 3 2454 + 14931 14932 14933 3 2454 + 14932 14934 14933 3 2454 + 14933 14934 14935 3 2454 + 14934 14936 14935 3 2454 + 14935 14936 14937 3 2454 + 14936 2830 14937 3 2454 + 14937 2830 2832 3 2454 + 3054 14938 3052 3 2456 + 3052 14938 14939 3 2456 + 14938 14940 14939 3 2456 + 14939 14940 14941 3 2456 + 14940 14942 14941 3 2456 + 14941 14942 14943 3 2456 + 14942 14944 14943 3 2456 + 14943 14944 14945 3 2456 + 14944 3056 14945 3 2456 + 14945 3056 3055 3 2456 + 3056 14950 14946 3 2458 + 14946 14950 14951 3 2458 + 14946 14951 14947 3 2458 + 14947 14951 14952 3 2458 + 14947 14952 14948 3 2458 + 14948 14952 14953 3 2458 + 14948 14953 14949 3 2458 + 14949 14953 14954 3 2458 + 14949 14954 3057 3 2458 + 3057 14954 14955 3 2458 + 14950 14956 14951 3 2458 + 14951 14956 14957 3 2458 + 14951 14957 14952 3 2458 + 14952 14957 14958 3 2458 + 14952 14958 14953 3 2458 + 14953 14958 14959 3 2458 + 14953 14959 14954 3 2458 + 14954 14959 14960 3 2458 + 14954 14960 14955 3 2458 + 14955 14960 14961 3 2458 + 14956 3059 14957 3 2458 + 14957 3059 14962 3 2458 + 14957 14962 14958 3 2458 + 14958 14962 14963 3 2458 + 14958 14963 14959 3 2458 + 14959 14963 14964 3 2458 + 14959 14964 14960 3 2458 + 14960 14964 14965 3 2458 + 14960 14965 14961 3 2458 + 14961 14965 3058 3 2458 + 3059 14969 14966 3 2459 + 14966 14969 14970 3 2459 + 14966 14970 14967 3 2459 + 14967 14970 14971 3 2459 + 14967 14971 14968 3 2459 + 14968 14971 14972 3 2459 + 14968 14972 3060 3 2459 + 3060 14972 14973 3 2459 + 14969 14974 14970 3 2459 + 14970 14974 14975 3 2459 + 14970 14975 14971 3 2459 + 14971 14975 14976 3 2459 + 14971 14976 14972 3 2459 + 14972 14976 14977 3 2459 + 14972 14977 14973 3 2459 + 14973 14977 14978 3 2459 + 14974 14979 14975 3 2459 + 14975 14979 14980 3 2459 + 14975 14980 14976 3 2459 + 14976 14980 14981 3 2459 + 14976 14981 14977 3 2459 + 14977 14981 14982 3 2459 + 14977 14982 14978 3 2459 + 14978 14982 14983 3 2459 + 14979 14984 14980 3 2459 + 14980 14984 14985 3 2459 + 14980 14985 14981 3 2459 + 14981 14985 14986 3 2459 + 14981 14986 14982 3 2459 + 14982 14986 14987 3 2459 + 14982 14987 14983 3 2459 + 14983 14987 14988 3 2459 + 14984 2833 14985 3 2459 + 14985 2833 14989 3 2459 + 14985 14989 14986 3 2459 + 14986 14989 14990 3 2459 + 14986 14990 14987 3 2459 + 14987 14990 14991 3 2459 + 14987 14991 14988 3 2459 + 14988 14991 2835 3 2459 + 3060 14993 14992 3 2461 + 14992 14993 14994 3 2461 + 14992 14994 3058 3 2461 + 3058 14994 14995 3 2461 + 14993 3062 14994 3 2461 + 14994 3062 14996 3 2461 + 14994 14996 14995 3 2461 + 14995 14996 3061 3 2461 + 3062 14997 3063 3 2462 + 3063 14997 14998 3 2462 + 14997 14999 14998 3 2462 + 14998 14999 15000 3 2462 + 14999 2859 15000 3 2462 + 15000 2859 2861 3 2462 + 3063 15001 3061 3 2464 + 3061 15001 15002 3 2464 + 15001 15003 15002 3 2464 + 15002 15003 15004 3 2464 + 15003 15005 15004 3 2464 + 15004 15005 15006 3 2464 + 15005 3065 15006 3 2464 + 15006 3065 3064 3 2464 + 3065 15007 3066 3 2465 + 3066 15007 15008 3 2465 + 15007 2862 15008 3 2465 + 15008 2862 2864 3 2465 + 3066 15010 15009 3 2467 + 15009 15010 15011 3 2467 + 15009 15011 3064 3 2467 + 3064 15011 15012 3 2467 + 15010 15013 15011 3 2467 + 15011 15013 15014 3 2467 + 15011 15014 15012 3 2467 + 15012 15014 15015 3 2467 + 15013 3068 15014 3 2467 + 15014 3068 15016 3 2467 + 15014 15016 15015 3 2467 + 15015 15016 3067 3 2467 + 3068 3071 3069 3 2469 + 3069 3071 3070 3 2469 + 3071 15018 15017 3 2470 + 15017 15018 15019 3 2470 + 15017 15019 3072 3 2470 + 3072 15019 15020 3 2470 + 15018 2865 15019 3 2470 + 15019 2865 15021 3 2470 + 15019 15021 15020 3 2470 + 15020 15021 2867 3 2470 + 3072 15022 3070 3 2472 + 3070 15022 15023 3 2472 + 15022 3074 15023 3 2472 + 15023 3074 3073 3 2472 + 3074 3077 15024 3 2474 + 15024 3077 15027 3 2474 + 15024 15027 15025 3 2474 + 15025 15027 15028 3 2474 + 15025 15028 15026 3 2474 + 15026 15028 15029 3 2474 + 15026 15029 3075 3 2474 + 3075 15029 3076 3 2474 + 3077 3080 3078 3 2476 + 3078 3080 3079 3 2476 + 3080 2877 15030 3 2477 + 15030 2877 15031 3 2477 + 15030 15031 3081 3 2477 + 3081 15031 2879 3 2477 + 3081 3083 3079 3 2479 + 3079 3083 3082 3 2479 + 3083 15033 15032 3 2480 + 15032 15033 15034 3 2480 + 15032 15034 3084 3 2480 + 3084 15034 15035 3 2480 + 15033 15036 15034 3 2480 + 15034 15036 15037 3 2480 + 15034 15037 15035 3 2480 + 15035 15037 15038 3 2480 + 15036 2883 15037 3 2480 + 15037 2883 15039 3 2480 + 15037 15039 15038 3 2480 + 15038 15039 2885 3 2480 + 3084 3086 15040 3 2482 + 15040 3086 15042 3 2482 + 15040 15042 15041 3 2482 + 15041 15042 15043 3 2482 + 15041 15043 3082 3 2482 + 3082 15043 3085 3 2482 + 3086 3089 15044 3 2484 + 15044 3089 15047 3 2484 + 15044 15047 15045 3 2484 + 15045 15047 15048 3 2484 + 15045 15048 15046 3 2484 + 15046 15048 15049 3 2484 + 15046 15049 3087 3 2484 + 3087 15049 3088 3 2484 + 3089 15052 15050 3 2485 + 15050 15052 15053 3 2485 + 15050 15053 15051 3 2485 + 15051 15053 15054 3 2485 + 15051 15054 3090 3 2485 + 3090 15054 15055 3 2485 + 15052 15056 15053 3 2485 + 15053 15056 15057 3 2485 + 15053 15057 15054 3 2485 + 15054 15057 15058 3 2485 + 15054 15058 15055 3 2485 + 15055 15058 15059 3 2485 + 15056 15060 15057 3 2485 + 15057 15060 15061 3 2485 + 15057 15061 15058 3 2485 + 15058 15061 15062 3 2485 + 15058 15062 15059 3 2485 + 15059 15062 15063 3 2485 + 15060 2910 15061 3 2485 + 15061 2910 15064 3 2485 + 15061 15064 15062 3 2485 + 15062 15064 15065 3 2485 + 15062 15065 15063 3 2485 + 15063 15065 2912 3 2485 + 3090 3092 15066 3 2487 + 15066 3092 15070 3 2487 + 15066 15070 15067 3 2487 + 15067 15070 15071 3 2487 + 15067 15071 15068 3 2487 + 15068 15071 15072 3 2487 + 15068 15072 15069 3 2487 + 15069 15072 15073 3 2487 + 15069 15073 3088 3 2487 + 3088 15073 3091 3 2487 + 3092 15078 15074 3 2489 + 15074 15078 15079 3 2489 + 15074 15079 15075 3 2489 + 15075 15079 15080 3 2489 + 15075 15080 15076 3 2489 + 15076 15080 15081 3 2489 + 15076 15081 15077 3 2489 + 15077 15081 15082 3 2489 + 15077 15082 3093 3 2489 + 3093 15082 15083 3 2489 + 15078 15084 15079 3 2489 + 15079 15084 15085 3 2489 + 15079 15085 15080 3 2489 + 15080 15085 15086 3 2489 + 15080 15086 15081 3 2489 + 15081 15086 15087 3 2489 + 15081 15087 15082 3 2489 + 15082 15087 15088 3 2489 + 15082 15088 15083 3 2489 + 15083 15088 15089 3 2489 + 15084 15090 15085 3 2489 + 15085 15090 15091 3 2489 + 15085 15091 15086 3 2489 + 15086 15091 15092 3 2489 + 15086 15092 15087 3 2489 + 15087 15092 15093 3 2489 + 15087 15093 15088 3 2489 + 15088 15093 15094 3 2489 + 15088 15094 15089 3 2489 + 15089 15094 15095 3 2489 + 15090 3095 15091 3 2489 + 15091 3095 15096 3 2489 + 15091 15096 15092 3 2489 + 15092 15096 15097 3 2489 + 15092 15097 15093 3 2489 + 15093 15097 15098 3 2489 + 15093 15098 15094 3 2489 + 15094 15098 15099 3 2489 + 15094 15099 15095 3 2489 + 15095 15099 3094 3 2489 + 3095 3098 15100 3 2491 + 15100 3098 15104 3 2491 + 15100 15104 15101 3 2491 + 15101 15104 15105 3 2491 + 15101 15105 15102 3 2491 + 15102 15105 15106 3 2491 + 15102 15106 15103 3 2491 + 15103 15106 15107 3 2491 + 15103 15107 3096 3 2491 + 3096 15107 3097 3 2491 + 3098 2916 3099 3 2492 + 3099 2916 2918 3 2492 + 3099 3101 15108 3 2494 + 15108 3101 15112 3 2494 + 15108 15112 15109 3 2494 + 15109 15112 15113 3 2494 + 15109 15113 15110 3 2494 + 15110 15113 15114 3 2494 + 15110 15114 15111 3 2494 + 15111 15114 15115 3 2494 + 15111 15115 3097 3 2494 + 3097 15115 3100 3 2494 + 3101 2919 15116 3 2495 + 15116 2919 15120 3 2495 + 15116 15120 15117 3 2495 + 15117 15120 15121 3 2495 + 15117 15121 15118 3 2495 + 15118 15121 15122 3 2495 + 15118 15122 15119 3 2495 + 15119 15122 15123 3 2495 + 15119 15123 3102 3 2495 + 3102 15123 2921 3 2495 + 3102 3104 15124 3 2497 + 15124 3104 15128 3 2497 + 15124 15128 15125 3 2497 + 15125 15128 15129 3 2497 + 15125 15129 15126 3 2497 + 15126 15129 15130 3 2497 + 15126 15130 15127 3 2497 + 15127 15130 15131 3 2497 + 15127 15131 3100 3 2497 + 3100 15131 3103 3 2497 + 3104 3107 15132 3 2499 + 15132 3107 15135 3 2499 + 15132 15135 15133 3 2499 + 15133 15135 15136 3 2499 + 15133 15136 15134 3 2499 + 15134 15136 15137 3 2499 + 15134 15137 3105 3 2499 + 3105 15137 3106 3 2499 + 3107 3110 3108 3 2501 + 3108 3110 3109 3 2501 + 3110 15138 3111 3 2502 + 3111 15138 15139 3 2502 + 15138 2922 15139 3 2502 + 15139 2922 2924 3 2502 + 3111 15141 15140 3 2503 + 15140 15141 15142 3 2503 + 15140 15142 3109 3 2503 + 3109 15142 15143 3 2503 + 15141 15144 15142 3 2503 + 15142 15144 15145 3 2503 + 15142 15145 15143 3 2503 + 15143 15145 15146 3 2503 + 15144 15147 15145 3 2503 + 15145 15147 15148 3 2503 + 15145 15148 15146 3 2503 + 15146 15148 15149 3 2503 + 15147 15150 15148 3 2503 + 15148 15150 15151 3 2503 + 15148 15151 15149 3 2503 + 15149 15151 15152 3 2503 + 15150 15153 15151 3 2503 + 15151 15153 15154 3 2503 + 15151 15154 15152 3 2503 + 15152 15154 15155 3 2503 + 15153 15156 15154 3 2503 + 15154 15156 15157 3 2503 + 15154 15157 15155 3 2503 + 15155 15157 15158 3 2503 + 15156 15159 15157 3 2503 + 15157 15159 15160 3 2503 + 15157 15160 15158 3 2503 + 15158 15160 15161 3 2503 + 15159 2949 15160 3 2503 + 15160 2949 15162 3 2503 + 15160 15162 15161 3 2503 + 15161 15162 2951 3 2503 + 3108 15165 15163 3 2505 + 15163 15165 15166 3 2505 + 15163 15166 15164 3 2505 + 15164 15166 15167 3 2505 + 15164 15167 3106 3 2505 + 3106 15167 15168 3 2505 + 15165 15169 15166 3 2505 + 15166 15169 15170 3 2505 + 15166 15170 15167 3 2505 + 15167 15170 15171 3 2505 + 15167 15171 15168 3 2505 + 15168 15171 15172 3 2505 + 15169 3113 15170 3 2505 + 15170 3113 15173 3 2505 + 15170 15173 15171 3 2505 + 15171 15173 15174 3 2505 + 15171 15174 15172 3 2505 + 15172 15174 3112 3 2505 + 3113 3116 15175 3 2507 + 15175 3116 15176 3 2507 + 15175 15176 3114 3 2507 + 3114 15176 3115 3 2507 + 3120 3117 3119 3 2509 + 3116 3121 3118 3 2510 + 3121 2952 15177 3 2511 + 15177 2952 15178 3 2511 + 15177 15178 3122 3 2511 + 3122 15178 2954 3 2511 + 3122 3124 15179 3 2513 + 15179 3124 15183 3 2513 + 15179 15183 15180 3 2513 + 15180 15183 15184 3 2513 + 15180 15184 15181 3 2513 + 15181 15184 15185 3 2513 + 15181 15185 15182 3 2513 + 15182 15185 15186 3 2513 + 15182 15186 3120 3 2513 + 3120 15186 3123 3 2513 + 3125 15187 3128 3 2515 + 3128 15187 15188 3 2515 + 15188 15187 3127 3 2515 + 3124 3129 3126 3 2516 + 3129 2955 15189 3 2517 + 15189 2955 15190 3 2517 + 15189 15190 3130 3 2517 + 3130 15190 2957 3 2517 + 3130 3132 15191 3 2519 + 15191 3132 15195 3 2519 + 15191 15195 15192 3 2519 + 15192 15195 15196 3 2519 + 15192 15196 15193 3 2519 + 15193 15196 15197 3 2519 + 15193 15197 15194 3 2519 + 15194 15197 15198 3 2519 + 15194 15198 3128 3 2519 + 3128 15198 3131 3 2519 + 3132 2958 15199 3 2520 + 15199 2958 15201 3 2520 + 15199 15201 15200 3 2520 + 15200 15201 15202 3 2520 + 15200 15202 3133 3 2520 + 3133 15202 2960 3 2520 + 3131 15203 3136 3 2522 + 3136 15203 15205 3 2522 + 15203 15204 15205 3 2522 + 15205 15204 15206 3 2522 + 15206 15204 3135 3 2522 + 3133 3137 15207 3 2523 + 15207 3137 15209 3 2523 + 15207 15209 15208 3 2523 + 15208 15209 15210 3 2523 + 15208 15210 3134 3 2523 + 3137 2961 15211 3 2524 + 15211 2961 15215 3 2524 + 15211 15215 15212 3 2524 + 15212 15215 15216 3 2524 + 15212 15216 15213 3 2524 + 15213 15216 15217 3 2524 + 15213 15217 15214 3 2524 + 15214 15217 15218 3 2524 + 15214 15218 3138 3 2524 + 3138 15218 2963 3 2524 + 3138 2967 15219 3 2525 + 15219 2967 15223 3 2525 + 15219 15223 15220 3 2525 + 15220 15223 15224 3 2525 + 15220 15224 15221 3 2525 + 15221 15224 15225 3 2525 + 15221 15225 15222 3 2525 + 15222 15225 15226 3 2525 + 15222 15226 3136 3 2525 + 3136 15226 2969 3 2525 + 3125 3140 15227 3 2527 + 15227 3140 15228 3 2527 + 15227 15228 3123 3 2527 + 3123 15228 3139 3 2527 + 3140 2970 3141 3 2528 + 3141 2970 2972 3 2528 + 3141 15231 15229 3 2530 + 15229 15231 15232 3 2530 + 15229 15232 15230 3 2530 + 15230 15232 15233 3 2530 + 15230 15233 3139 3 2530 + 3139 15233 15234 3 2530 + 15231 15235 15232 3 2530 + 15232 15235 15236 3 2530 + 15232 15236 15233 3 2530 + 15233 15236 15237 3 2530 + 15233 15237 15234 3 2530 + 15234 15237 15238 3 2530 + 15235 15239 15236 3 2530 + 15236 15239 15240 3 2530 + 15236 15240 15237 3 2530 + 15237 15240 15241 3 2530 + 15237 15241 15238 3 2530 + 15238 15241 15242 3 2530 + 15239 15243 15240 3 2530 + 15240 15243 15244 3 2530 + 15240 15244 15241 3 2530 + 15241 15244 15245 3 2530 + 15241 15245 15242 3 2530 + 15242 15245 15246 3 2530 + 15243 15247 15244 3 2530 + 15244 15247 15248 3 2530 + 15244 15248 15245 3 2530 + 15245 15248 15249 3 2530 + 15245 15249 15246 3 2530 + 15246 15249 15250 3 2530 + 15247 3143 15248 3 2530 + 15248 3143 15251 3 2530 + 15248 15251 15249 3 2530 + 15249 15251 15252 3 2530 + 15249 15252 15250 3 2530 + 15250 15252 3142 3 2530 + 3143 15254 15253 3 2532 + 15253 15254 15255 3 2532 + 15253 15255 3144 3 2532 + 3144 15255 15256 3 2532 + 15254 15257 15255 3 2532 + 15255 15257 15258 3 2532 + 15255 15258 15256 3 2532 + 15256 15258 15259 3 2532 + 15257 3146 15258 3 2532 + 15258 3146 15260 3 2532 + 15258 15260 15259 3 2532 + 15259 15260 3145 3 2532 + 3146 3149 15261 3 2534 + 15261 3149 15264 3 2534 + 15261 15264 15262 3 2534 + 15262 15264 15265 3 2534 + 15262 15265 15263 3 2534 + 15263 15265 15266 3 2534 + 15263 15266 3147 3 2534 + 3147 15266 3148 3 2534 + 3149 3015 3150 3 2535 + 3150 3015 3017 3 2535 + 3150 3018 15267 3 2536 + 15267 3018 15268 3 2536 + 15267 15268 3148 3 2536 + 3148 15268 3020 3 2536 + 3147 15269 3145 3 2538 + 3145 15269 15270 3 2538 + 15269 15271 15270 3 2538 + 15270 15271 15272 3 2538 + 15271 15273 15272 3 2538 + 15272 15273 15274 3 2538 + 15273 3152 15274 3 2538 + 15274 3152 3151 3 2538 + 3152 15276 15275 3 2540 + 15275 15276 15277 3 2540 + 15275 15277 3153 3 2540 + 3153 15277 15278 3 2540 + 15276 3155 15277 3 2540 + 15277 3155 15279 3 2540 + 15277 15279 15278 3 2540 + 15278 15279 3154 3 2540 + 3155 15283 15280 3 2541 + 15280 15283 15284 3 2541 + 15280 15284 15281 3 2541 + 15281 15284 15285 3 2541 + 15281 15285 15282 3 2541 + 15282 15285 15286 3 2541 + 15282 15286 3156 3 2541 + 3156 15286 15287 3 2541 + 15283 15288 15284 3 2541 + 15284 15288 15289 3 2541 + 15284 15289 15285 3 2541 + 15285 15289 15290 3 2541 + 15285 15290 15286 3 2541 + 15286 15290 15291 3 2541 + 15286 15291 15287 3 2541 + 15287 15291 15292 3 2541 + 15288 15293 15289 3 2541 + 15289 15293 15294 3 2541 + 15289 15294 15290 3 2541 + 15290 15294 15295 3 2541 + 15290 15295 15291 3 2541 + 15291 15295 15296 3 2541 + 15291 15296 15292 3 2541 + 15292 15296 15297 3 2541 + 15293 3036 15294 3 2541 + 15294 3036 15298 3 2541 + 15294 15298 15295 3 2541 + 15295 15298 15299 3 2541 + 15295 15299 15296 3 2541 + 15296 15299 15300 3 2541 + 15296 15300 15297 3 2541 + 15297 15300 3038 3 2541 + 3156 3158 15301 3 2543 + 15301 3158 15304 3 2543 + 15301 15304 15302 3 2543 + 15302 15304 15305 3 2543 + 15302 15305 15303 3 2543 + 15303 15305 15306 3 2543 + 15303 15306 3154 3 2543 + 3154 15306 3157 3 2543 + 3158 15307 3159 3 2545 + 3159 15307 15308 3 2545 + 15307 15309 15308 3 2545 + 15308 15309 15310 3 2545 + 15309 15311 15310 3 2545 + 15310 15311 15312 3 2545 + 15311 3161 15312 3 2545 + 15312 3161 3160 3 2545 + 3161 15318 15313 3 2546 + 15313 15318 15319 3 2546 + 15313 15319 15314 3 2546 + 15314 15319 15320 3 2546 + 15314 15320 15315 3 2546 + 15315 15320 15321 3 2546 + 15315 15321 15316 3 2546 + 15316 15321 15322 3 2546 + 15316 15322 15317 3 2546 + 15317 15322 15323 3 2546 + 15317 15323 3162 3 2546 + 3162 15323 15324 3 2546 + 15318 3049 15319 3 2546 + 15319 3049 15325 3 2546 + 15319 15325 15320 3 2546 + 15320 15325 15326 3 2546 + 15320 15326 15321 3 2546 + 15321 15326 15327 3 2546 + 15321 15327 15322 3 2546 + 15322 15327 15328 3 2546 + 15322 15328 15323 3 2546 + 15323 15328 15329 3 2546 + 15323 15329 15324 3 2546 + 15324 15329 3051 3 2546 + 3162 3164 15330 3 2548 + 15330 3164 15335 3 2548 + 15330 15335 15331 3 2548 + 15331 15335 15336 3 2548 + 15331 15336 15332 3 2548 + 15332 15336 15337 3 2548 + 15332 15337 15333 3 2548 + 15333 15337 15338 3 2548 + 15333 15338 15334 3 2548 + 15334 15338 15339 3 2548 + 15334 15339 3160 3 2548 + 3160 15339 3163 3 2548 + 3164 3167 15340 3 2550 + 15340 3167 15343 3 2550 + 15340 15343 15341 3 2550 + 15341 15343 15344 3 2550 + 15341 15344 15342 3 2550 + 15342 15344 15345 3 2550 + 15342 15345 3165 3 2550 + 3165 15345 3166 3 2550 + 3167 15352 15346 3 2552 + 15346 15352 15353 3 2552 + 15346 15353 15347 3 2552 + 15347 15353 15354 3 2552 + 15347 15354 15348 3 2552 + 15348 15354 15355 3 2552 + 15348 15355 15349 3 2552 + 15349 15355 15356 3 2552 + 15349 15356 15350 3 2552 + 15350 15356 15357 3 2552 + 15350 15357 15351 3 2552 + 15351 15357 15358 3 2552 + 15351 15358 3168 3 2552 + 3168 15358 15359 3 2552 + 15352 3170 15353 3 2552 + 15353 3170 15360 3 2552 + 15353 15360 15354 3 2552 + 15354 15360 15361 3 2552 + 15354 15361 15355 3 2552 + 15355 15361 15362 3 2552 + 15355 15362 15356 3 2552 + 15356 15362 15363 3 2552 + 15356 15363 15357 3 2552 + 15357 15363 15364 3 2552 + 15357 15364 15358 3 2552 + 15358 15364 15365 3 2552 + 15358 15365 15359 3 2552 + 15359 15365 3169 3 2552 + 3170 3173 15366 3 2554 + 15366 3173 15370 3 2554 + 15366 15370 15367 3 2554 + 15367 15370 15371 3 2554 + 15367 15371 15368 3 2554 + 15368 15371 15372 3 2554 + 15368 15372 15369 3 2554 + 15369 15372 15373 3 2554 + 15369 15373 3171 3 2554 + 3171 15373 3172 3 2554 + 3173 15378 15374 3 2555 + 15374 15378 15379 3 2555 + 15374 15379 15375 3 2555 + 15375 15379 15380 3 2555 + 15375 15380 15376 3 2555 + 15376 15380 15381 3 2555 + 15376 15381 15377 3 2555 + 15377 15381 15382 3 2555 + 15377 15382 3174 3 2555 + 3174 15382 15383 3 2555 + 15378 3055 15379 3 2555 + 15379 3055 15384 3 2555 + 15379 15384 15380 3 2555 + 15380 15384 15385 3 2555 + 15380 15385 15381 3 2555 + 15381 15385 15386 3 2555 + 15381 15386 15382 3 2555 + 15382 15386 15387 3 2555 + 15382 15387 15383 3 2555 + 15383 15387 3057 3 2555 + 3172 15388 3177 3 2557 + 3177 15388 15389 3 2557 + 15389 15388 3176 3 2557 + 3174 3178 15390 3 2558 + 15390 3178 15391 3 2558 + 15390 15391 3175 3 2558 + 3178 15397 15392 3 2560 + 15392 15397 15398 3 2560 + 15392 15398 15393 3 2560 + 15393 15398 15399 3 2560 + 15393 15399 15394 3 2560 + 15394 15399 15400 3 2560 + 15394 15400 15395 3 2560 + 15395 15400 15401 3 2560 + 15395 15401 15396 3 2560 + 15396 15401 15402 3 2560 + 15396 15402 3179 3 2560 + 3179 15402 15403 3 2560 + 15397 3181 15398 3 2560 + 15398 3181 15404 3 2560 + 15398 15404 15399 3 2560 + 15399 15404 15405 3 2560 + 15399 15405 15400 3 2560 + 15400 15405 15406 3 2560 + 15400 15406 15401 3 2560 + 15401 15406 15407 3 2560 + 15401 15407 15402 3 2560 + 15402 15407 15408 3 2560 + 15402 15408 15403 3 2560 + 15403 15408 3180 3 2560 + 3181 3067 15409 3 2561 + 15409 3067 15411 3 2561 + 15409 15411 15410 3 2561 + 15410 15411 15412 3 2561 + 15410 15412 3182 3 2561 + 3182 15412 3069 3 2561 + 3182 15416 15413 3 2562 + 15413 15416 15417 3 2562 + 15413 15417 15414 3 2562 + 15414 15417 15418 3 2562 + 15414 15418 15415 3 2562 + 15415 15418 15419 3 2562 + 15415 15419 3180 3 2562 + 3180 15419 15420 3 2562 + 15416 3073 15417 3 2562 + 15417 3073 15421 3 2562 + 15417 15421 15418 3 2562 + 15418 15421 15422 3 2562 + 15418 15422 15419 3 2562 + 15419 15422 15423 3 2562 + 15419 15423 15420 3 2562 + 15420 15423 3075 3 2562 + 3179 3184 3177 3 2564 + 3177 3184 3183 3 2564 + 3184 15426 15424 3 2565 + 15424 15426 15427 3 2565 + 15424 15427 15425 3 2565 + 15425 15427 15428 3 2565 + 15425 15428 3185 3 2565 + 3185 15428 15429 3 2565 + 15426 15430 15427 3 2565 + 15427 15430 15431 3 2565 + 15427 15431 15428 3 2565 + 15428 15431 15432 3 2565 + 15428 15432 15429 3 2565 + 15429 15432 15433 3 2565 + 15430 15434 15431 3 2565 + 15431 15434 15435 3 2565 + 15431 15435 15432 3 2565 + 15432 15435 15436 3 2565 + 15432 15436 15433 3 2565 + 15433 15436 15437 3 2565 + 15434 3091 15435 3 2565 + 15435 3091 15438 3 2565 + 15435 15438 15436 3 2565 + 15436 15438 15439 3 2565 + 15436 15439 15437 3 2565 + 15437 15439 3093 3 2565 + 3185 3169 15440 3 2566 + 15440 3169 15441 3 2566 + 15440 15441 3183 3 2566 + 3183 15441 3171 3 2566 + 3168 3187 15442 3 2568 + 15442 3187 15444 3 2568 + 15442 15444 15443 3 2568 + 15443 15444 15445 3 2568 + 15443 15445 3166 3 2568 + 3166 15445 3186 3 2568 + 3187 15451 15446 3 2570 + 15446 15451 15452 3 2570 + 15446 15452 15447 3 2570 + 15447 15452 15453 3 2570 + 15447 15453 15448 3 2570 + 15448 15453 15454 3 2570 + 15448 15454 15449 3 2570 + 15449 15454 15455 3 2570 + 15449 15455 15450 3 2570 + 15450 15455 15456 3 2570 + 15450 15456 3188 3 2570 + 3188 15456 15457 3 2570 + 15451 15458 15452 3 2570 + 15452 15458 15459 3 2570 + 15452 15459 15453 3 2570 + 15453 15459 15460 3 2570 + 15453 15460 15454 3 2570 + 15454 15460 15461 3 2570 + 15454 15461 15455 3 2570 + 15455 15461 15462 3 2570 + 15455 15462 15456 3 2570 + 15456 15462 15463 3 2570 + 15456 15463 15457 3 2570 + 15457 15463 15464 3 2570 + 15458 3190 15459 3 2570 + 15459 3190 15465 3 2570 + 15459 15465 15460 3 2570 + 15460 15465 15466 3 2570 + 15460 15466 15461 3 2570 + 15461 15466 15467 3 2570 + 15461 15467 15462 3 2570 + 15462 15467 15468 3 2570 + 15462 15468 15463 3 2570 + 15463 15468 15469 3 2570 + 15463 15469 15464 3 2570 + 15464 15469 3189 3 2570 + 3190 15471 15470 3 2572 + 15470 15471 15472 3 2572 + 15470 15472 3191 3 2572 + 3191 15472 15473 3 2572 + 15471 15474 15472 3 2572 + 15472 15474 15475 3 2572 + 15472 15475 15473 3 2572 + 15473 15475 15476 3 2572 + 15474 15477 15475 3 2572 + 15475 15477 15478 3 2572 + 15475 15478 15476 3 2572 + 15476 15478 15479 3 2572 + 15477 15480 15478 3 2572 + 15478 15480 15481 3 2572 + 15478 15481 15479 3 2572 + 15479 15481 15482 3 2572 + 15480 3193 15481 3 2572 + 15481 3193 15483 3 2572 + 15481 15483 15482 3 2572 + 15482 15483 3192 3 2572 + 3193 3094 3194 3 2573 + 3194 3094 3096 3 2573 + 3194 3103 3192 3 2574 + 3192 3103 3105 3 2574 + 3191 3196 15484 3 2576 + 15484 3196 15488 3 2576 + 15484 15488 15485 3 2576 + 15485 15488 15489 3 2576 + 15485 15489 15486 3 2576 + 15486 15489 15490 3 2576 + 15486 15490 15487 3 2576 + 15487 15490 15491 3 2576 + 15487 15491 3189 3 2576 + 3189 15491 3195 3 2576 + 3196 3112 15492 3 2577 + 15492 3112 15494 3 2577 + 15492 15494 15493 3 2577 + 15493 15494 15495 3 2577 + 15493 15495 3197 3 2577 + 3197 15495 3114 3 2577 + 3197 3199 15496 3 2579 + 15496 3199 15498 3 2579 + 15496 15498 15497 3 2579 + 15497 15498 15499 3 2579 + 15497 15499 3195 3 2579 + 3195 15499 3198 3 2579 + 3199 3115 15500 3 2580 + 15500 3115 15504 3 2580 + 15500 15504 15501 3 2580 + 15501 15504 15505 3 2580 + 15501 15505 15502 3 2580 + 15502 15505 15506 3 2580 + 15502 15506 15503 3 2580 + 15503 15506 15507 3 2580 + 15503 15507 3200 3 2580 + 3200 15507 3117 3 2580 + 3200 15511 15508 3 2581 + 15508 15511 15512 3 2581 + 15508 15512 15509 3 2581 + 15509 15512 15513 3 2581 + 15509 15513 15510 3 2581 + 15510 15513 15514 3 2581 + 15510 15514 3198 3 2581 + 3198 15514 15515 3 2581 + 15511 15516 15512 3 2581 + 15512 15516 15517 3 2581 + 15512 15517 15513 3 2581 + 15513 15517 15518 3 2581 + 15513 15518 15514 3 2581 + 15514 15518 15519 3 2581 + 15514 15519 15515 3 2581 + 15515 15519 15520 3 2581 + 15516 15521 15517 3 2581 + 15517 15521 15522 3 2581 + 15517 15522 15518 3 2581 + 15518 15522 15523 3 2581 + 15518 15523 15519 3 2581 + 15519 15523 15524 3 2581 + 15519 15524 15520 3 2581 + 15520 15524 15525 3 2581 + 15521 3157 15522 3 2581 + 15522 3157 15526 3 2581 + 15522 15526 15523 3 2581 + 15523 15526 15527 3 2581 + 15523 15527 15524 3 2581 + 15524 15527 15528 3 2581 + 15524 15528 15525 3 2581 + 15525 15528 3159 3 2581 + 3188 3163 15529 3 2582 + 15529 3163 15533 3 2582 + 15529 15533 15530 3 2582 + 15530 15533 15534 3 2582 + 15530 15534 15531 3 2582 + 15531 15534 15535 3 2582 + 15531 15535 15532 3 2582 + 15532 15535 15536 3 2582 + 15532 15536 3186 3 2582 + 3186 15536 3165 3 2582 + 3153 15537 3151 3 2583 + 3151 15537 15538 3 2583 + 15537 3142 15538 3 2583 + 15538 3142 3144 3 2583 + 3087 3076 15539 3 2584 + 15539 3076 15541 3 2584 + 15539 15541 15540 3 2584 + 15540 15541 15542 3 2584 + 15540 15542 3085 3 2584 + 3085 15542 3078 3 2584 + 3032 3202 15543 3 2586 + 15543 3202 15547 3 2586 + 15543 15547 15544 3 2586 + 15544 15547 15548 3 2586 + 15544 15548 15545 3 2586 + 15545 15548 15549 3 2586 + 15545 15549 15546 3 2586 + 15546 15549 15550 3 2586 + 15546 15550 3030 3 2586 + 3030 15550 3201 3 2586 + 3202 15556 15551 3 2587 + 15551 15556 15557 3 2587 + 15551 15557 15552 3 2587 + 15552 15557 15558 3 2587 + 15552 15558 15553 3 2587 + 15553 15558 15559 3 2587 + 15553 15559 15554 3 2587 + 15554 15559 15560 3 2587 + 15554 15560 15555 3 2587 + 15555 15560 15561 3 2587 + 15555 15561 3203 3 2587 + 3203 15561 15562 3 2587 + 15556 3021 15557 3 2587 + 15557 3021 15563 3 2587 + 15557 15563 15558 3 2587 + 15558 15563 15564 3 2587 + 15558 15564 15559 3 2587 + 15559 15564 15565 3 2587 + 15559 15565 15560 3 2587 + 15560 15565 15566 3 2587 + 15560 15566 15561 3 2587 + 15561 15566 15567 3 2587 + 15561 15567 15562 3 2587 + 15562 15567 3023 3 2587 + 3203 3027 3201 3 2588 + 3201 3027 3029 3 2588 + 3011 15570 15568 3 2590 + 15568 15570 15571 3 2590 + 15568 15571 15569 3 2590 + 15569 15571 15572 3 2590 + 15569 15572 3009 3 2590 + 3009 15572 15573 3 2590 + 15570 15574 15571 3 2590 + 15571 15574 15575 3 2590 + 15571 15575 15572 3 2590 + 15572 15575 15576 3 2590 + 15572 15576 15573 3 2590 + 15573 15576 15577 3 2590 + 15574 15578 15575 3 2590 + 15575 15578 15579 3 2590 + 15575 15579 15576 3 2590 + 15576 15579 15580 3 2590 + 15576 15580 15577 3 2590 + 15577 15580 15581 3 2590 + 15578 3205 15579 3 2590 + 15579 3205 15582 3 2590 + 15579 15582 15580 3 2590 + 15580 15582 15583 3 2590 + 15580 15583 15581 3 2590 + 15581 15583 3204 3 2590 + 3205 15585 15584 3 2591 + 15584 15585 15586 3 2591 + 15584 15586 3206 3 2591 + 3206 15586 15587 3 2591 + 15585 2976 15586 3 2591 + 15586 2976 15588 3 2591 + 15586 15588 15587 3 2591 + 15587 15588 2978 3 2591 + 3206 3208 3204 3 2593 + 3204 3208 3207 3 2593 + 3208 2979 15589 3 2594 + 15589 2979 15590 3 2594 + 15589 15590 3209 3 2594 + 3209 15590 2981 3 2594 + 3209 15593 15591 3 2595 + 15591 15593 15594 3 2595 + 15591 15594 15592 3 2595 + 15592 15594 15595 3 2595 + 15592 15595 3207 3 2595 + 3207 15595 15596 3 2595 + 15593 15597 15594 3 2595 + 15594 15597 15598 3 2595 + 15594 15598 15595 3 2595 + 15595 15598 15599 3 2595 + 15595 15599 15596 3 2595 + 15596 15599 15600 3 2595 + 15597 2988 15598 3 2595 + 15598 2988 15601 3 2595 + 15598 15601 15599 3 2595 + 15599 15601 15602 3 2595 + 15599 15602 15600 3 2595 + 15600 15602 2990 3 2595 + 2942 3211 15603 3 2597 + 15603 3211 15604 3 2597 + 15603 15604 2940 3 2597 + 2940 15604 3210 3 2597 + 3211 15605 3212 3 2598 + 3212 15605 15606 3 2598 + 15605 15607 15606 3 2598 + 15606 15607 15608 3 2598 + 15607 15609 15608 3 2598 + 15608 15609 15610 3 2598 + 15609 15611 15610 3 2598 + 15610 15611 15612 3 2598 + 15611 15613 15612 3 2598 + 15612 15613 15614 3 2598 + 15613 2925 15614 3 2598 + 15614 2925 2927 3 2598 + 3212 15615 3210 3 2599 + 3210 15615 15616 3 2599 + 15615 2934 15616 3 2599 + 15616 2934 2936 3 2599 + 2909 2901 2907 3 2600 + 2907 2901 2903 3 2600 + 2852 2841 15617 3 2601 + 15617 2841 15619 3 2601 + 15617 15619 15618 3 2601 + 15618 15619 15620 3 2601 + 15618 15620 2850 3 2601 + 2850 15620 2843 3 2601 + 2787 15621 2785 3 2602 + 2785 15621 15622 3 2602 + 15621 15623 15622 3 2602 + 15622 15623 15624 3 2602 + 15623 2779 15624 3 2602 + 15624 2779 2781 3 2602 + 2751 2743 2749 3 2603 + 2749 2743 2745 3 2603 + 2721 2708 15625 3 2604 + 15625 2708 15628 3 2604 + 15625 15628 15626 3 2604 + 15626 15628 15629 3 2604 + 15626 15629 15627 3 2604 + 15627 15629 15630 3 2604 + 15627 15630 2719 3 2604 + 2719 15630 2710 3 2604 + 2516 15631 2514 3 2606 + 2514 15631 15632 3 2606 + 15631 15633 15632 3 2606 + 15632 15633 15634 3 2606 + 15633 3214 15634 3 2606 + 15634 3214 3213 3 2606 + 3214 2467 15635 3 2607 + 15635 2467 15640 3 2607 + 15635 15640 15636 3 2607 + 15636 15640 15641 3 2607 + 15636 15641 15637 3 2607 + 15637 15641 15642 3 2607 + 15637 15642 15638 3 2607 + 15638 15642 15643 3 2607 + 15638 15643 15639 3 2607 + 15639 15643 15644 3 2607 + 15639 15644 3215 3 2607 + 3215 15644 2469 3 2607 + 3215 2476 15645 3 2608 + 15645 2476 15650 3 2608 + 15645 15650 15646 3 2608 + 15646 15650 15651 3 2608 + 15646 15651 15647 3 2608 + 15647 15651 15652 3 2608 + 15647 15652 15648 3 2608 + 15648 15652 15653 3 2608 + 15648 15653 15649 3 2608 + 15649 15653 15654 3 2608 + 15649 15654 3213 3 2608 + 3213 15654 2478 3 2608 + 2439 15656 15655 3 2609 + 15655 15656 15657 3 2609 + 15655 15657 2437 3 2609 + 2437 15657 15658 3 2609 + 15656 2416 15657 3 2609 + 15657 2416 15659 3 2609 + 15657 15659 15658 3 2609 + 15658 15659 2418 3 2609 + 2436 2419 15660 3 2610 + 15660 2419 15661 3 2610 + 15660 15661 2434 3 2610 + 2434 15661 2421 3 2610 + 2386 2378 2384 3 2611 + 2384 2378 2380 3 2611 + 3218 2352 3217 3 2613 + 2354 3219 3216 3 2614 + 3219 2326 15662 3 2615 + 15662 2326 15666 3 2615 + 15662 15666 15663 3 2615 + 15663 15666 15667 3 2615 + 15663 15667 15664 3 2615 + 15664 15667 15668 3 2615 + 15664 15668 15665 3 2615 + 15665 15668 15669 3 2615 + 15665 15669 3220 3 2615 + 3220 15669 2328 3 2615 + 3218 15670 2351 3 2616 + 2351 15670 15671 3 2616 + 15671 15670 2640 3 2616 + 3220 2349 15672 3 2617 + 15672 2349 15673 3 2617 + 15672 15673 2641 3 2617 + 2346 2338 15674 3 2618 + 15674 2338 15677 3 2618 + 15674 15677 15675 3 2618 + 15675 15677 15678 3 2618 + 15675 15678 15676 3 2618 + 15676 15678 15679 3 2618 + 15676 15679 2344 3 2618 + 2344 15679 2340 3 2618 + 2304 2284 15680 3 2619 + 15680 2284 15681 3 2619 + 15680 15681 2302 3 2619 + 2302 15681 2286 3 2619 + 2221 2210 2219 3 2620 + 2219 2210 2212 3 2620 + 2155 3222 2153 3 2622 + 2153 3222 3221 3 2622 + 3222 2084 15682 3 2623 + 15682 2084 15686 3 2623 + 15682 15686 15683 3 2623 + 15683 15686 15687 3 2623 + 15683 15687 15684 3 2623 + 15684 15687 15688 3 2623 + 15684 15688 15685 3 2623 + 15685 15688 15689 3 2623 + 15685 15689 3223 3 2623 + 3223 15689 2086 3 2623 + 3223 2150 15690 3 2624 + 15690 2150 15694 3 2624 + 15690 15694 15691 3 2624 + 15691 15694 15695 3 2624 + 15691 15695 15692 3 2624 + 15692 15695 15696 3 2624 + 15692 15696 15693 3 2624 + 15693 15696 15697 3 2624 + 15693 15697 3221 3 2624 + 3221 15697 2152 3 2624 + 2147 15698 2131 3 2625 + 2131 15698 15699 3 2625 + 15699 15698 3225 3 2625 + 2149 2129 15700 3 2626 + 15700 2129 15701 3 2626 + 15700 15701 3224 3 2626 + 2146 15702 2144 3 2627 + 2144 15702 15703 3 2627 + 15702 15704 15703 3 2627 + 15703 15704 15705 3 2627 + 15704 2135 15705 3 2627 + 15705 2135 2137 3 2627 + 2128 3227 15706 3 2629 + 15706 3227 15708 3 2629 + 15706 15708 15707 3 2629 + 15707 15708 15709 3 2629 + 15707 15709 2126 3 2629 + 2126 15709 3226 3 2629 + 3227 3230 15710 3 2631 + 15710 3230 15713 3 2631 + 15710 15713 15711 3 2631 + 15711 15713 15714 3 2631 + 15711 15714 15712 3 2631 + 15712 15714 15715 3 2631 + 15712 15715 3228 3 2631 + 3228 15715 3229 3 2631 + 3230 3233 15716 3 2633 + 15716 3233 15718 3 2633 + 15716 15718 15717 3 2633 + 15717 15718 15719 3 2633 + 15717 15719 3231 3 2633 + 3231 15719 3232 3 2633 + 3233 15722 15720 3 2635 + 15720 15722 15723 3 2635 + 15720 15723 15721 3 2635 + 15721 15723 15724 3 2635 + 15721 15724 3234 3 2635 + 3234 15724 15725 3 2635 + 15722 3236 15723 3 2635 + 15723 3236 15726 3 2635 + 15723 15726 15724 3 2635 + 15724 15726 15727 3 2635 + 15724 15727 15725 3 2635 + 15725 15727 3235 3 2635 + 3236 2087 3237 3 2636 + 3237 2087 2089 3 2636 + 3237 15729 15728 3 2637 + 15728 15729 15730 3 2637 + 15728 15730 3235 3 2637 + 3235 15730 15731 3 2637 + 15729 2096 15730 3 2637 + 15730 2096 15732 3 2637 + 15730 15732 15731 3 2637 + 15731 15732 2098 3 2637 + 3234 3239 3232 3 2639 + 3232 3239 3238 3 2639 + 3239 15734 15733 3 2640 + 15733 15734 15735 3 2640 + 15733 15735 3240 3 2640 + 3240 15735 15736 3 2640 + 15734 15737 15735 3 2640 + 15735 15737 15738 3 2640 + 15735 15738 15736 3 2640 + 15736 15738 15739 3 2640 + 15737 15740 15738 3 2640 + 15738 15740 15741 3 2640 + 15738 15741 15739 3 2640 + 15739 15741 15742 3 2640 + 15740 15743 15741 3 2640 + 15741 15743 15744 3 2640 + 15741 15744 15742 3 2640 + 15742 15744 15745 3 2640 + 15743 15746 15744 3 2640 + 15744 15746 15747 3 2640 + 15744 15747 15745 3 2640 + 15745 15747 15748 3 2640 + 15746 15749 15747 3 2640 + 15747 15749 15750 3 2640 + 15747 15750 15748 3 2640 + 15748 15750 15751 3 2640 + 15749 2105 15750 3 2640 + 15750 2105 15752 3 2640 + 15750 15752 15751 3 2640 + 15751 15752 2107 3 2640 + 3240 3229 3238 3 2641 + 3238 3229 3231 3 2641 + 3228 15756 15753 3 2643 + 15753 15756 15757 3 2643 + 15753 15757 15754 3 2643 + 15754 15757 15758 3 2643 + 15754 15758 15755 3 2643 + 15755 15758 15759 3 2643 + 15755 15759 3226 3 2643 + 3226 15759 15760 3 2643 + 15756 3242 15757 3 2643 + 15757 3242 15761 3 2643 + 15757 15761 15758 3 2643 + 15758 15761 15762 3 2643 + 15758 15762 15759 3 2643 + 15759 15762 15763 3 2643 + 15759 15763 15760 3 2643 + 15760 15763 3241 3 2643 + 3242 15767 15764 3 2644 + 15764 15767 15768 3 2644 + 15764 15768 15765 3 2644 + 15765 15768 15769 3 2644 + 15765 15769 15766 3 2644 + 15766 15769 15770 3 2644 + 15766 15770 3243 3 2644 + 3243 15770 15771 3 2644 + 15767 2111 15768 3 2644 + 15768 2111 15772 3 2644 + 15768 15772 15769 3 2644 + 15769 15772 15773 3 2644 + 15769 15773 15770 3 2644 + 15770 15773 15774 3 2644 + 15770 15774 15771 3 2644 + 15771 15774 2113 3 2644 + 3243 2123 3241 3 2645 + 3241 2123 2125 3 2645 + 2041 2033 15775 3 2646 + 15775 2033 15778 3 2646 + 15775 15778 15776 3 2646 + 15776 15778 15779 3 2646 + 15776 15779 15777 3 2646 + 15777 15779 15780 3 2646 + 15777 15780 2039 3 2646 + 2039 15780 2035 3 2646 + 1890 15781 1876 3 2647 + 1876 15781 15782 3 2647 + 15782 15781 3245 3 2647 + 1892 1874 15783 3 2648 + 15783 1874 15784 3 2648 + 15783 15784 3244 3 2648 + 1627 3247 15785 3 2650 + 15785 3247 15788 3 2650 + 15785 15788 15786 3 2650 + 15786 15788 15789 3 2650 + 15786 15789 15787 3 2650 + 15787 15789 15790 3 2650 + 15787 15790 1625 3 2650 + 1625 15790 3246 3 2650 + 3247 3250 15791 3 2652 + 15791 3250 15795 3 2652 + 15791 15795 15792 3 2652 + 15792 15795 15796 3 2652 + 15792 15796 15793 3 2652 + 15793 15796 15797 3 2652 + 15793 15797 15794 3 2652 + 15794 15797 15798 3 2652 + 15794 15798 3248 3 2652 + 3248 15798 3249 3 2652 + 3250 1606 15799 3 2653 + 15799 1606 15803 3 2653 + 15799 15803 15800 3 2653 + 15800 15803 15804 3 2653 + 15800 15804 15801 3 2653 + 15801 15804 15805 3 2653 + 15801 15805 15802 3 2653 + 15802 15805 15806 3 2653 + 15802 15806 3251 3 2653 + 3251 15806 1608 3 2653 + 3251 1614 15807 3 2654 + 15807 1614 15808 3 2654 + 15807 15808 3249 3 2654 + 3249 15808 1616 3 2654 + 3248 1617 15809 3 2655 + 15809 1617 15811 3 2655 + 15809 15811 15810 3 2655 + 15810 15811 15812 3 2655 + 15810 15812 3246 3 2655 + 3246 15812 1619 3 2655 + 1570 1550 1568 3 2656 + 1568 1550 1552 3 2656 + 1474 1466 15813 3 2657 + 15813 1466 15814 3 2657 + 15813 15814 1472 3 2657 + 1472 15814 1468 3 2657 + 1462 15819 15815 3 2659 + 15815 15819 15820 3 2659 + 15815 15820 15816 3 2659 + 15816 15820 15821 3 2659 + 15816 15821 15817 3 2659 + 15817 15821 15822 3 2659 + 15817 15822 15818 3 2659 + 15818 15822 15823 3 2659 + 15818 15823 1460 3 2659 + 1460 15823 15824 3 2659 + 15819 3253 15820 3 2659 + 15820 3253 15825 3 2659 + 15820 15825 15821 3 2659 + 15821 15825 15826 3 2659 + 15821 15826 15822 3 2659 + 15822 15826 15827 3 2659 + 15822 15827 15823 3 2659 + 15823 15827 15828 3 2659 + 15823 15828 15824 3 2659 + 15824 15828 3252 3 2659 + 3253 15833 15829 3 2661 + 15829 15833 15834 3 2661 + 15829 15834 15830 3 2661 + 15830 15834 15835 3 2661 + 15830 15835 15831 3 2661 + 15831 15835 15836 3 2661 + 15831 15836 15832 3 2661 + 15832 15836 15837 3 2661 + 15832 15837 3254 3 2661 + 3254 15837 15838 3 2661 + 15833 15839 15834 3 2661 + 15834 15839 15840 3 2661 + 15834 15840 15835 3 2661 + 15835 15840 15841 3 2661 + 15835 15841 15836 3 2661 + 15836 15841 15842 3 2661 + 15836 15842 15837 3 2661 + 15837 15842 15843 3 2661 + 15837 15843 15838 3 2661 + 15838 15843 15844 3 2661 + 15839 15845 15840 3 2661 + 15840 15845 15846 3 2661 + 15840 15846 15841 3 2661 + 15841 15846 15847 3 2661 + 15841 15847 15842 3 2661 + 15842 15847 15848 3 2661 + 15842 15848 15843 3 2661 + 15843 15848 15849 3 2661 + 15843 15849 15844 3 2661 + 15844 15849 15850 3 2661 + 15845 15851 15846 3 2661 + 15846 15851 15852 3 2661 + 15846 15852 15847 3 2661 + 15847 15852 15853 3 2661 + 15847 15853 15848 3 2661 + 15848 15853 15854 3 2661 + 15848 15854 15849 3 2661 + 15849 15854 15855 3 2661 + 15849 15855 15850 3 2661 + 15850 15855 15856 3 2661 + 15851 3256 15852 3 2661 + 15852 3256 15857 3 2661 + 15852 15857 15853 3 2661 + 15853 15857 15858 3 2661 + 15853 15858 15854 3 2661 + 15854 15858 15859 3 2661 + 15854 15859 15855 3 2661 + 15855 15859 15860 3 2661 + 15855 15860 15856 3 2661 + 15856 15860 3255 3 2661 + 3256 1442 15861 3 2662 + 15861 1442 15865 3 2662 + 15861 15865 15862 3 2662 + 15862 15865 15866 3 2662 + 15862 15866 15863 3 2662 + 15863 15866 15867 3 2662 + 15863 15867 15864 3 2662 + 15864 15867 15868 3 2662 + 15864 15868 3257 3 2662 + 3257 15868 1444 3 2662 + 3257 15869 3255 3 2664 + 3255 15869 15870 3 2664 + 15869 15871 15870 3 2664 + 15870 15871 15872 3 2664 + 15871 15873 15872 3 2664 + 15872 15873 15874 3 2664 + 15873 15875 15874 3 2664 + 15874 15875 15876 3 2664 + 15875 15877 15876 3 2664 + 15876 15877 15878 3 2664 + 15877 15879 15878 3 2664 + 15878 15879 15880 3 2664 + 15879 15881 15880 3 2664 + 15880 15881 15882 3 2664 + 15881 3259 15882 3 2664 + 15882 3259 3258 3 2664 + 3259 15884 15883 3 2665 + 15883 15884 15885 3 2665 + 15883 15885 3260 3 2665 + 3260 15885 15886 3 2665 + 15884 15887 15885 3 2665 + 15885 15887 15888 3 2665 + 15885 15888 15886 3 2665 + 15886 15888 15889 3 2665 + 15887 1448 15888 3 2665 + 15888 1448 15890 3 2665 + 15888 15890 15889 3 2665 + 15889 15890 1450 3 2665 + 3260 15893 15891 3 2667 + 15891 15893 15894 3 2667 + 15891 15894 15892 3 2667 + 15892 15894 15895 3 2667 + 15892 15895 3258 3 2667 + 3258 15895 15896 3 2667 + 15893 3262 15894 3 2667 + 15894 3262 15897 3 2667 + 15894 15897 15895 3 2667 + 15895 15897 15898 3 2667 + 15895 15898 15896 3 2667 + 15896 15898 3261 3 2667 + 3262 15899 3263 3 2668 + 3263 15899 15900 3 2668 + 15899 15901 15900 3 2668 + 15900 15901 15902 3 2668 + 15901 15903 15902 3 2668 + 15902 15903 15904 3 2668 + 15903 15905 15904 3 2668 + 15904 15905 15906 3 2668 + 15905 15907 15906 3 2668 + 15906 15907 15908 3 2668 + 15907 15909 15908 3 2668 + 15908 15909 15910 3 2668 + 15909 15911 15910 3 2668 + 15910 15911 15912 3 2668 + 15911 1457 15912 3 2668 + 15912 1457 1459 3 2668 + 3263 15915 15913 3 2669 + 15913 15915 15916 3 2669 + 15913 15916 15914 3 2669 + 15914 15916 15917 3 2669 + 15914 15917 3261 3 2669 + 3261 15917 15918 3 2669 + 15915 15919 15916 3 2669 + 15916 15919 15920 3 2669 + 15916 15920 15917 3 2669 + 15917 15920 15921 3 2669 + 15917 15921 15918 3 2669 + 15918 15921 15922 3 2669 + 15919 15923 15920 3 2669 + 15920 15923 15924 3 2669 + 15920 15924 15921 3 2669 + 15921 15924 15925 3 2669 + 15921 15925 15922 3 2669 + 15922 15925 15926 3 2669 + 15923 3252 15924 3 2669 + 15924 3252 15927 3 2669 + 15924 15927 15925 3 2669 + 15925 15927 15928 3 2669 + 15925 15928 15926 3 2669 + 15926 15928 3254 3 2669 + 1249 15929 1247 3 2670 + 1247 15929 15930 3 2670 + 15929 15931 15930 3 2670 + 15930 15931 15932 3 2670 + 15931 15933 15932 3 2670 + 15932 15933 15934 3 2670 + 15933 1238 15934 3 2670 + 15934 1238 1240 3 2670 + 1204 1196 15935 3 2671 + 15935 1196 15938 3 2671 + 15935 15938 15936 3 2671 + 15936 15938 15939 3 2671 + 15936 15939 15937 3 2671 + 15937 15939 15940 3 2671 + 15937 15940 1202 3 2671 + 1202 15940 1198 3 2671 + 1084 3265 15941 3 2673 + 15941 3265 15946 3 2673 + 15941 15946 15942 3 2673 + 15942 15946 15947 3 2673 + 15942 15947 15943 3 2673 + 15943 15947 15948 3 2673 + 15943 15948 15944 3 2673 + 15944 15948 15949 3 2673 + 15944 15949 15945 3 2673 + 15945 15949 15950 3 2673 + 15945 15950 1082 3 2673 + 1082 15950 3264 3 2673 + 3265 15955 15951 3 2674 + 15951 15955 15956 3 2674 + 15951 15956 15952 3 2674 + 15952 15956 15957 3 2674 + 15952 15957 15953 3 2674 + 15953 15957 15958 3 2674 + 15953 15958 15954 3 2674 + 15954 15958 15959 3 2674 + 15954 15959 3266 3 2674 + 3266 15959 15960 3 2674 + 15955 15961 15956 3 2674 + 15956 15961 15962 3 2674 + 15956 15962 15957 3 2674 + 15957 15962 15963 3 2674 + 15957 15963 15958 3 2674 + 15958 15963 15964 3 2674 + 15958 15964 15959 3 2674 + 15959 15964 15965 3 2674 + 15959 15965 15960 3 2674 + 15960 15965 15966 3 2674 + 15961 1028 15962 3 2674 + 15962 1028 15967 3 2674 + 15962 15967 15963 3 2674 + 15963 15967 15968 3 2674 + 15963 15968 15964 3 2674 + 15964 15968 15969 3 2674 + 15964 15969 15965 3 2674 + 15965 15969 15970 3 2674 + 15965 15970 15966 3 2674 + 15966 15970 1030 3 2674 + 3266 15971 3264 3 2676 + 3264 15971 15972 3 2676 + 15971 15973 15972 3 2676 + 15972 15973 15974 3 2676 + 15973 15975 15974 3 2676 + 15974 15975 15976 3 2676 + 15975 15977 15976 3 2676 + 15976 15977 15978 3 2676 + 15977 15979 15978 3 2676 + 15978 15979 15980 3 2676 + 15979 15981 15980 3 2676 + 15980 15981 15982 3 2676 + 15981 15983 15982 3 2676 + 15982 15983 15984 3 2676 + 15983 3268 15984 3 2676 + 15984 3268 3267 3 2676 + 3268 15986 15985 3 2677 + 15985 15986 15987 3 2677 + 15985 15987 3269 3 2677 + 3269 15987 15988 3 2677 + 15986 15989 15987 3 2677 + 15987 15989 15990 3 2677 + 15987 15990 15988 3 2677 + 15988 15990 15991 3 2677 + 15989 1034 15990 3 2677 + 15990 1034 15992 3 2677 + 15990 15992 15991 3 2677 + 15991 15992 1036 3 2677 + 3269 15993 3267 3 2678 + 3267 15993 15994 3 2678 + 15993 15995 15994 3 2678 + 15994 15995 15996 3 2678 + 15995 15997 15996 3 2678 + 15996 15997 15998 3 2678 + 15997 15999 15998 3 2678 + 15998 15999 16000 3 2678 + 15999 16001 16000 3 2678 + 16000 16001 16002 3 2678 + 16001 16003 16002 3 2678 + 16002 16003 16004 3 2678 + 16003 16005 16004 3 2678 + 16004 16005 16006 3 2678 + 16005 16007 16006 3 2678 + 16006 16007 16008 3 2678 + 16007 16009 16008 3 2678 + 16008 16009 16010 3 2678 + 16009 1079 16010 3 2678 + 16010 1079 1081 3 2678 + 1075 16015 16011 3 2680 + 16011 16015 16016 3 2680 + 16011 16016 16012 3 2680 + 16012 16016 16017 3 2680 + 16012 16017 16013 3 2680 + 16013 16017 16018 3 2680 + 16013 16018 16014 3 2680 + 16014 16018 16019 3 2680 + 16014 16019 1073 3 2680 + 1073 16019 16020 3 2680 + 16015 16021 16016 3 2680 + 16016 16021 16022 3 2680 + 16016 16022 16017 3 2680 + 16017 16022 16023 3 2680 + 16017 16023 16018 3 2680 + 16018 16023 16024 3 2680 + 16018 16024 16019 3 2680 + 16019 16024 16025 3 2680 + 16019 16025 16020 3 2680 + 16020 16025 16026 3 2680 + 16021 3271 16022 3 2680 + 16022 3271 16027 3 2680 + 16022 16027 16023 3 2680 + 16023 16027 16028 3 2680 + 16023 16028 16024 3 2680 + 16024 16028 16029 3 2680 + 16024 16029 16025 3 2680 + 16025 16029 16030 3 2680 + 16025 16030 16026 3 2680 + 16026 16030 3270 3 2680 + 3271 16033 16031 3 2682 + 16031 16033 16034 3 2682 + 16031 16034 16032 3 2682 + 16032 16034 16035 3 2682 + 16032 16035 3272 3 2682 + 3272 16035 16036 3 2682 + 16033 16037 16034 3 2682 + 16034 16037 16038 3 2682 + 16034 16038 16035 3 2682 + 16035 16038 16039 3 2682 + 16035 16039 16036 3 2682 + 16036 16039 16040 3 2682 + 16037 3274 16038 3 2682 + 16038 3274 16041 3 2682 + 16038 16041 16039 3 2682 + 16039 16041 16042 3 2682 + 16039 16042 16040 3 2682 + 16040 16042 3273 3 2682 + 3274 16046 16043 3 2683 + 16043 16046 16047 3 2683 + 16043 16047 16044 3 2683 + 16044 16047 16048 3 2683 + 16044 16048 16045 3 2683 + 16045 16048 16049 3 2683 + 16045 16049 3275 3 2683 + 3275 16049 16050 3 2683 + 16046 1046 16047 3 2683 + 16047 1046 16051 3 2683 + 16047 16051 16048 3 2683 + 16048 16051 16052 3 2683 + 16048 16052 16049 3 2683 + 16049 16052 16053 3 2683 + 16049 16053 16050 3 2683 + 16050 16053 1048 3 2683 + 3275 16054 3273 3 2685 + 3273 16054 16055 3 2685 + 16054 3277 16055 3 2685 + 16055 3277 3276 3 2685 + 3277 3280 16056 3 2687 + 16056 3280 16058 3 2687 + 16056 16058 16057 3 2687 + 16057 16058 16059 3 2687 + 16057 16059 3278 3 2687 + 3278 16059 3279 3 2687 + 3280 3283 16060 3 2689 + 16060 3283 16064 3 2689 + 16060 16064 16061 3 2689 + 16061 16064 16065 3 2689 + 16061 16065 16062 3 2689 + 16062 16065 16066 3 2689 + 16062 16066 16063 3 2689 + 16063 16066 16067 3 2689 + 16063 16067 3281 3 2689 + 3281 16067 3282 3 2689 + 3283 16070 16068 3 2691 + 16068 16070 16071 3 2691 + 16068 16071 16069 3 2691 + 16069 16071 16072 3 2691 + 16069 16072 3284 3 2691 + 3284 16072 16073 3 2691 + 16070 3286 16071 3 2691 + 16071 3286 16074 3 2691 + 16071 16074 16072 3 2691 + 16072 16074 16075 3 2691 + 16072 16075 16073 3 2691 + 16073 16075 3285 3 2691 + 3286 16077 16076 3 2692 + 16076 16077 16078 3 2692 + 16076 16078 3287 3 2692 + 3287 16078 16079 3 2692 + 16077 16080 16078 3 2692 + 16078 16080 16081 3 2692 + 16078 16081 16079 3 2692 + 16079 16081 16082 3 2692 + 16080 1052 16081 3 2692 + 16081 1052 16083 3 2692 + 16081 16083 16082 3 2692 + 16082 16083 1054 3 2692 + 3287 16084 3285 3 2694 + 3285 16084 16085 3 2694 + 16084 16086 16085 3 2694 + 16085 16086 16087 3 2694 + 16086 16088 16087 3 2694 + 16087 16088 16089 3 2694 + 16088 16090 16089 3 2694 + 16089 16090 16091 3 2694 + 16090 3289 16091 3 2694 + 16091 3289 3288 3 2694 + 3289 16092 3290 3 2695 + 3290 16092 16093 3 2695 + 16092 16094 16093 3 2695 + 16093 16094 16095 3 2695 + 16094 16096 16095 3 2695 + 16095 16096 16097 3 2695 + 16096 16098 16097 3 2695 + 16097 16098 16099 3 2695 + 16098 16100 16099 3 2695 + 16099 16100 16101 3 2695 + 16100 1055 16101 3 2695 + 16101 1055 1057 3 2695 + 3290 16103 16102 3 2697 + 16102 16103 16104 3 2697 + 16102 16104 3288 3 2697 + 3288 16104 16105 3 2697 + 16103 3292 16104 3 2697 + 16104 3292 16106 3 2697 + 16104 16106 16105 3 2697 + 16105 16106 3291 3 2697 + 3292 16109 16107 3 2698 + 16107 16109 16110 3 2698 + 16107 16110 16108 3 2698 + 16108 16110 16111 3 2698 + 16108 16111 3293 3 2698 + 3293 16111 16112 3 2698 + 16109 16113 16110 3 2698 + 16110 16113 16114 3 2698 + 16110 16114 16111 3 2698 + 16111 16114 16115 3 2698 + 16111 16115 16112 3 2698 + 16112 16115 16116 3 2698 + 16113 16117 16114 3 2698 + 16114 16117 16118 3 2698 + 16114 16118 16115 3 2698 + 16115 16118 16119 3 2698 + 16115 16119 16116 3 2698 + 16116 16119 16120 3 2698 + 16117 16121 16118 3 2698 + 16118 16121 16122 3 2698 + 16118 16122 16119 3 2698 + 16119 16122 16123 3 2698 + 16119 16123 16120 3 2698 + 16120 16123 16124 3 2698 + 16121 1061 16122 3 2698 + 16122 1061 16125 3 2698 + 16122 16125 16123 3 2698 + 16123 16125 16126 3 2698 + 16123 16126 16124 3 2698 + 16124 16126 1063 3 2698 + 3293 16127 3291 3 2700 + 3291 16127 16128 3 2700 + 16127 3295 16128 3 2700 + 16128 3295 3294 3 2700 + 3295 16130 16129 3 2702 + 16129 16130 16131 3 2702 + 16129 16131 3296 3 2702 + 3296 16131 16132 3 2702 + 16130 16133 16131 3 2702 + 16131 16133 16134 3 2702 + 16131 16134 16132 3 2702 + 16132 16134 16135 3 2702 + 16133 16136 16134 3 2702 + 16134 16136 16137 3 2702 + 16134 16137 16135 3 2702 + 16135 16137 16138 3 2702 + 16136 16139 16137 3 2702 + 16137 16139 16140 3 2702 + 16137 16140 16138 3 2702 + 16138 16140 16141 3 2702 + 16139 16142 16140 3 2702 + 16140 16142 16143 3 2702 + 16140 16143 16141 3 2702 + 16141 16143 16144 3 2702 + 16142 16145 16143 3 2702 + 16143 16145 16146 3 2702 + 16143 16146 16144 3 2702 + 16144 16146 16147 3 2702 + 16145 16148 16146 3 2702 + 16146 16148 16149 3 2702 + 16146 16149 16147 3 2702 + 16147 16149 16150 3 2702 + 16148 16151 16149 3 2702 + 16149 16151 16152 3 2702 + 16149 16152 16150 3 2702 + 16150 16152 16153 3 2702 + 16151 3298 16152 3 2702 + 16152 3298 16154 3 2702 + 16152 16154 16153 3 2702 + 16153 16154 3297 3 2702 + 3298 3301 16155 3 2704 + 16155 3301 16157 3 2704 + 16155 16157 16156 3 2704 + 16156 16157 16158 3 2704 + 16156 16158 3299 3 2704 + 3299 16158 3300 3 2704 + 3301 1064 16159 3 2705 + 16159 1064 16165 3 2705 + 16159 16165 16160 3 2705 + 16160 16165 16166 3 2705 + 16160 16166 16161 3 2705 + 16161 16166 16167 3 2705 + 16161 16167 16162 3 2705 + 16162 16167 16168 3 2705 + 16162 16168 16163 3 2705 + 16163 16168 16169 3 2705 + 16163 16169 16164 3 2705 + 16164 16169 16170 3 2705 + 16164 16170 3302 3 2705 + 3302 16170 1066 3 2705 + 3302 16175 16171 3 2707 + 16171 16175 16176 3 2707 + 16171 16176 16172 3 2707 + 16172 16176 16177 3 2707 + 16172 16177 16173 3 2707 + 16173 16177 16178 3 2707 + 16173 16178 16174 3 2707 + 16174 16178 16179 3 2707 + 16174 16179 3300 3 2707 + 3300 16179 16180 3 2707 + 16175 3304 16176 3 2707 + 16176 3304 16181 3 2707 + 16176 16181 16177 3 2707 + 16177 16181 16182 3 2707 + 16177 16182 16178 3 2707 + 16178 16182 16183 3 2707 + 16178 16183 16179 3 2707 + 16179 16183 16184 3 2707 + 16179 16184 16180 3 2707 + 16180 16184 3303 3 2707 + 3304 16185 3305 3 2709 + 3305 16185 16186 3 2709 + 16185 16187 16186 3 2709 + 16186 16187 16188 3 2709 + 16187 16189 16188 3 2709 + 16188 16189 16190 3 2709 + 16189 16191 16190 3 2709 + 16190 16191 16192 3 2709 + 16191 16193 16192 3 2709 + 16192 16193 16194 3 2709 + 16193 16195 16194 3 2709 + 16194 16195 16196 3 2709 + 16195 16197 16196 3 2709 + 16196 16197 16198 3 2709 + 16197 3307 16198 3 2709 + 16198 3307 3306 3 2709 + 3307 16200 16199 3 2711 + 16199 16200 16201 3 2711 + 16199 16201 3308 3 2711 + 3308 16201 16202 3 2711 + 16200 16203 16201 3 2711 + 16201 16203 16204 3 2711 + 16201 16204 16202 3 2711 + 16202 16204 16205 3 2711 + 16203 3310 16204 3 2711 + 16204 3310 16206 3 2711 + 16204 16206 16205 3 2711 + 16205 16206 3309 3 2711 + 3310 1070 3311 3 2712 + 3311 1070 1072 3 2712 + 3311 16209 16207 3 2714 + 16207 16209 16210 3 2714 + 16207 16210 16208 3 2714 + 16208 16210 16211 3 2714 + 16208 16211 3309 3 2714 + 3309 16211 16212 3 2714 + 16209 16213 16210 3 2714 + 16210 16213 16214 3 2714 + 16210 16214 16211 3 2714 + 16211 16214 16215 3 2714 + 16211 16215 16212 3 2714 + 16212 16215 16216 3 2714 + 16213 16217 16214 3 2714 + 16214 16217 16218 3 2714 + 16214 16218 16215 3 2714 + 16215 16218 16219 3 2714 + 16215 16219 16216 3 2714 + 16216 16219 16220 3 2714 + 16217 16221 16218 3 2714 + 16218 16221 16222 3 2714 + 16218 16222 16219 3 2714 + 16219 16222 16223 3 2714 + 16219 16223 16220 3 2714 + 16220 16223 16224 3 2714 + 16221 16225 16222 3 2714 + 16222 16225 16226 3 2714 + 16222 16226 16223 3 2714 + 16223 16226 16227 3 2714 + 16223 16227 16224 3 2714 + 16224 16227 16228 3 2714 + 16225 3313 16226 3 2714 + 16226 3313 16229 3 2714 + 16226 16229 16227 3 2714 + 16227 16229 16230 3 2714 + 16227 16230 16228 3 2714 + 16228 16230 3312 3 2714 + 3313 3316 16231 3 2716 + 16231 3316 16232 3 2716 + 16231 16232 3314 3 2716 + 3314 16232 3315 3 2716 + 3316 16236 16233 3 2717 + 16233 16236 16237 3 2717 + 16233 16237 16234 3 2717 + 16234 16237 16238 3 2717 + 16234 16238 16235 3 2717 + 16235 16238 16239 3 2717 + 16235 16239 3317 3 2717 + 3317 16239 16240 3 2717 + 16236 3279 16237 3 2717 + 16237 3279 16241 3 2717 + 16237 16241 16238 3 2717 + 16238 16241 16242 3 2717 + 16238 16242 16239 3 2717 + 16239 16242 16243 3 2717 + 16239 16243 16240 3 2717 + 16240 16243 3281 3 2717 + 3317 16247 16244 3 2718 + 16244 16247 16248 3 2718 + 16244 16248 16245 3 2718 + 16245 16248 16249 3 2718 + 16245 16249 16246 3 2718 + 16246 16249 16250 3 2718 + 16246 16250 3315 3 2718 + 3315 16250 16251 3 2718 + 16247 16252 16248 3 2718 + 16248 16252 16253 3 2718 + 16248 16253 16249 3 2718 + 16249 16253 16254 3 2718 + 16249 16254 16250 3 2718 + 16250 16254 16255 3 2718 + 16250 16255 16251 3 2718 + 16251 16255 16256 3 2718 + 16252 16257 16253 3 2718 + 16253 16257 16258 3 2718 + 16253 16258 16254 3 2718 + 16254 16258 16259 3 2718 + 16254 16259 16255 3 2718 + 16255 16259 16260 3 2718 + 16255 16260 16256 3 2718 + 16256 16260 16261 3 2718 + 16257 16262 16258 3 2718 + 16258 16262 16263 3 2718 + 16258 16263 16259 3 2718 + 16259 16263 16264 3 2718 + 16259 16264 16260 3 2718 + 16260 16264 16265 3 2718 + 16260 16265 16261 3 2718 + 16261 16265 16266 3 2718 + 16262 16267 16263 3 2718 + 16263 16267 16268 3 2718 + 16263 16268 16264 3 2718 + 16264 16268 16269 3 2718 + 16264 16269 16265 3 2718 + 16265 16269 16270 3 2718 + 16265 16270 16266 3 2718 + 16266 16270 16271 3 2718 + 16267 16272 16268 3 2718 + 16268 16272 16273 3 2718 + 16268 16273 16269 3 2718 + 16269 16273 16274 3 2718 + 16269 16274 16270 3 2718 + 16270 16274 16275 3 2718 + 16270 16275 16271 3 2718 + 16271 16275 16276 3 2718 + 16272 16277 16273 3 2718 + 16273 16277 16278 3 2718 + 16273 16278 16274 3 2718 + 16274 16278 16279 3 2718 + 16274 16279 16275 3 2718 + 16275 16279 16280 3 2718 + 16275 16280 16276 3 2718 + 16276 16280 16281 3 2718 + 16277 3303 16278 3 2718 + 16278 3303 16282 3 2718 + 16278 16282 16279 3 2718 + 16279 16282 16283 3 2718 + 16279 16283 16280 3 2718 + 16280 16283 16284 3 2718 + 16280 16284 16281 3 2718 + 16281 16284 3305 3 2718 + 3314 16285 3312 3 2719 + 3312 16285 16286 3 2719 + 16285 16287 16286 3 2719 + 16286 16287 16288 3 2719 + 16287 16289 16288 3 2719 + 16288 16289 16290 3 2719 + 16289 16291 16290 3 2719 + 16290 16291 16292 3 2719 + 16291 16293 16292 3 2719 + 16292 16293 16294 3 2719 + 16293 16295 16294 3 2719 + 16294 16295 16296 3 2719 + 16295 16297 16296 3 2719 + 16296 16297 16298 3 2719 + 16297 16299 16298 3 2719 + 16298 16299 16300 3 2719 + 16299 16301 16300 3 2719 + 16300 16301 16302 3 2719 + 16301 16303 16302 3 2719 + 16302 16303 16304 3 2719 + 16303 16305 16304 3 2719 + 16304 16305 16306 3 2719 + 16305 3306 16306 3 2719 + 16306 3306 3308 3 2719 + 3299 16308 16307 3 2721 + 16307 16308 16309 3 2721 + 16307 16309 3297 3 2721 + 3297 16309 16310 3 2721 + 16308 16311 16309 3 2721 + 16309 16311 16312 3 2721 + 16309 16312 16310 3 2721 + 16310 16312 16313 3 2721 + 16311 16314 16312 3 2721 + 16312 16314 16315 3 2721 + 16312 16315 16313 3 2721 + 16313 16315 16316 3 2721 + 16314 16317 16315 3 2721 + 16315 16317 16318 3 2721 + 16315 16318 16316 3 2721 + 16316 16318 16319 3 2721 + 16317 16320 16318 3 2721 + 16318 16320 16321 3 2721 + 16318 16321 16319 3 2721 + 16319 16321 16322 3 2721 + 16320 16323 16321 3 2721 + 16321 16323 16324 3 2721 + 16321 16324 16322 3 2721 + 16322 16324 16325 3 2721 + 16323 16326 16324 3 2721 + 16324 16326 16327 3 2721 + 16324 16327 16325 3 2721 + 16325 16327 16328 3 2721 + 16326 16329 16327 3 2721 + 16327 16329 16330 3 2721 + 16327 16330 16328 3 2721 + 16328 16330 16331 3 2721 + 16329 16332 16330 3 2721 + 16330 16332 16333 3 2721 + 16330 16333 16331 3 2721 + 16331 16333 16334 3 2721 + 16332 16335 16333 3 2721 + 16333 16335 16336 3 2721 + 16333 16336 16334 3 2721 + 16334 16336 16337 3 2721 + 16335 16338 16336 3 2721 + 16336 16338 16339 3 2721 + 16336 16339 16337 3 2721 + 16337 16339 16340 3 2721 + 16338 3319 16339 3 2721 + 16339 3319 16341 3 2721 + 16339 16341 16340 3 2721 + 16340 16341 3318 3 2721 + 3319 16344 16342 3 2722 + 16342 16344 16345 3 2722 + 16342 16345 16343 3 2722 + 16343 16345 16346 3 2722 + 16343 16346 3320 3 2722 + 3320 16346 16347 3 2722 + 16344 16348 16345 3 2722 + 16345 16348 16349 3 2722 + 16345 16349 16346 3 2722 + 16346 16349 16350 3 2722 + 16346 16350 16347 3 2722 + 16347 16350 16351 3 2722 + 16348 3282 16349 3 2722 + 16349 3282 16352 3 2722 + 16349 16352 16350 3 2722 + 16350 16352 16353 3 2722 + 16350 16353 16351 3 2722 + 16351 16353 3284 3 2722 + 3320 16356 16354 3 2723 + 16354 16356 16357 3 2723 + 16354 16357 16355 3 2723 + 16355 16357 16358 3 2723 + 16355 16358 3318 3 2723 + 3318 16358 16359 3 2723 + 16356 16360 16357 3 2723 + 16357 16360 16361 3 2723 + 16357 16361 16358 3 2723 + 16358 16361 16362 3 2723 + 16358 16362 16359 3 2723 + 16359 16362 16363 3 2723 + 16360 16364 16361 3 2723 + 16361 16364 16365 3 2723 + 16361 16365 16362 3 2723 + 16362 16365 16366 3 2723 + 16362 16366 16363 3 2723 + 16363 16366 16367 3 2723 + 16364 3294 16365 3 2723 + 16365 3294 16368 3 2723 + 16365 16368 16366 3 2723 + 16366 16368 16369 3 2723 + 16366 16369 16367 3 2723 + 16367 16369 3296 3 2723 + 3278 16371 16370 3 2724 + 16370 16371 16372 3 2724 + 16370 16372 3276 3 2724 + 3276 16372 16373 3 2724 + 16371 3270 16372 3 2724 + 16372 3270 16374 3 2724 + 16372 16374 16373 3 2724 + 16373 16374 3272 3 2724 + 1045 1037 1043 3 2725 + 1043 1037 1039 3 2725 + 982 16375 980 3 2726 + 980 16375 16376 3 2726 + 16375 16377 16376 3 2726 + 16376 16377 16378 3 2726 + 16377 16379 16378 3 2726 + 16378 16379 16380 3 2726 + 16379 974 16380 3 2726 + 16380 974 976 3 2726 + 973 959 971 3 2727 + 971 959 961 3 2727 + 758 744 16381 3 2728 + 16381 744 16383 3 2728 + 16381 16383 16382 3 2728 + 16382 16383 16384 3 2728 + 16382 16384 756 3 2728 + 756 16384 746 3 2728 + 743 735 741 3 2729 + 741 735 737 3 2729 + 652 644 16385 3 2730 + 16385 644 16389 3 2730 + 16385 16389 16386 3 2730 + 16386 16389 16390 3 2730 + 16386 16390 16387 3 2730 + 16387 16390 16391 3 2730 + 16387 16391 16388 3 2730 + 16388 16391 16392 3 2730 + 16388 16392 650 3 2730 + 650 16392 646 3 2730 + 613 16395 16393 3 2732 + 16393 16395 16396 3 2732 + 16393 16396 16394 3 2732 + 16394 16396 16397 3 2732 + 16394 16397 611 3 2732 + 611 16397 16398 3 2732 + 16395 3322 16396 3 2732 + 16396 3322 16399 3 2732 + 16396 16399 16397 3 2732 + 16397 16399 16400 3 2732 + 16397 16400 16398 3 2732 + 16398 16400 3321 3 2732 + 3322 573 16401 3 2733 + 16401 573 16402 3 2733 + 16401 16402 3323 3 2733 + 3323 16402 575 3 2733 + 3323 605 16403 3 2734 + 16403 605 16406 3 2734 + 16403 16406 16404 3 2734 + 16404 16406 16407 3 2734 + 16404 16407 16405 3 2734 + 16405 16407 16408 3 2734 + 16405 16408 3321 3 2734 + 3321 16408 607 3 2734 + 604 3325 16409 3 2736 + 16409 3325 16414 3 2736 + 16409 16414 16410 3 2736 + 16410 16414 16415 3 2736 + 16410 16415 16411 3 2736 + 16411 16415 16416 3 2736 + 16411 16416 16412 3 2736 + 16412 16416 16417 3 2736 + 16412 16417 16413 3 2736 + 16413 16417 16418 3 2736 + 16413 16418 602 3 2736 + 602 16418 3324 3 2736 + 3325 3328 16419 3 2738 + 16419 3328 16421 3 2738 + 16419 16421 16420 3 2738 + 16420 16421 16422 3 2738 + 16420 16422 3326 3 2738 + 3326 16422 3327 3 2738 + 3328 576 16423 3 2739 + 16423 576 16425 3 2739 + 16423 16425 16424 3 2739 + 16424 16425 16426 3 2739 + 16424 16426 3329 3 2739 + 3329 16426 578 3 2739 + 3329 582 16427 3 2740 + 16427 582 16428 3 2740 + 16427 16428 3327 3 2740 + 3327 16428 584 3 2740 + 3326 3331 16429 3 2742 + 16429 3331 16434 3 2742 + 16429 16434 16430 3 2742 + 16430 16434 16435 3 2742 + 16430 16435 16431 3 2742 + 16431 16435 16436 3 2742 + 16431 16436 16432 3 2742 + 16432 16436 16437 3 2742 + 16432 16437 16433 3 2742 + 16433 16437 16438 3 2742 + 16433 16438 3324 3 2742 + 3324 16438 3330 3 2742 + 3331 587 16439 3 2743 + 16439 587 16444 3 2743 + 16439 16444 16440 3 2743 + 16440 16444 16445 3 2743 + 16440 16445 16441 3 2743 + 16441 16445 16446 3 2743 + 16441 16446 16442 3 2743 + 16442 16446 16447 3 2743 + 16442 16447 16443 3 2743 + 16443 16447 16448 3 2743 + 16443 16448 3332 3 2743 + 3332 16448 589 3 2743 + 3332 596 16449 3 2744 + 16449 596 16451 3 2744 + 16449 16451 16450 3 2744 + 16450 16451 16452 3 2744 + 16450 16452 3330 3 2744 + 3330 16452 598 3 2744 + 93 82 16453 3 2745 + 16453 82 16455 3 2745 + 16453 16455 16454 3 2745 + 16454 16455 16456 3 2745 + 16454 16456 91 3 2745 + 91 16456 84 3 2745 + 3333 16457 3335 3 2746 + 16457 16458 3335 3 2746 + 16458 16459 3335 3 2746 + 16459 16460 3335 3 2746 + 16460 16461 3335 3 2746 + 16461 3333 3335 3 2746 + 3334 3336 16462 3 2747 + 16462 3336 16463 3 2747 + 16463 3336 16464 3 2747 + 16464 3336 16465 3 2747 + 16465 3336 16466 3 2747 + 16466 3336 3334 3 2747 + 3416 1 3469 2 1 + 3416 3469 16607 2 1 + 3416 16607 3417 2 1 + 3417 16607 16606 2 1 + 3417 16606 3418 2 1 + 3418 16606 3466 2 1 + 3418 3466 3419 2 1 + 3419 3466 3465 2 1 + 3419 3465 3420 2 1 + 3420 3465 3464 2 1 + 3420 3464 3421 2 1 + 3421 3464 3 2 1 + 3466 16606 3467 2 1 + 3467 16606 3468 2 1 + 3468 16606 16607 2 1 + 3468 16607 3469 2 1 + 3469 1 2 2 1 + 3512 4 5 2 2 + 3512 5 6 2 2 + 3532 7 3355 2 4 + 3532 3355 3356 2 4 + 3532 3356 9 2 4 + 3355 7 8 2 4 + 3585 10 16609 2 6 + 3585 16609 3586 2 6 + 3586 16609 3382 2 6 + 3586 3382 3587 2 6 + 3587 3382 3383 2 6 + 3587 3383 12 2 6 + 3382 16609 3381 2 6 + 3381 16609 16608 2 6 + 3381 16608 3380 2 6 + 3380 16608 3379 2 6 + 3379 16608 3377 2 6 + 3379 3377 11 2 6 + 3377 16608 3378 2 6 + 3378 16608 16609 2 6 + 3378 16609 10 2 6 + 16611 16610 16612 2 8 + 16612 16610 16613 2 8 + 16614 16611 16615 2 8 + 16611 16612 16615 2 8 + 16615 16612 16616 2 8 + 16612 16613 16616 2 8 + 16616 16613 16617 2 8 + 3636 13 3395 2 8 + 3636 3395 16617 2 8 + 3636 16617 3637 2 8 + 3637 16617 16613 2 8 + 3637 16613 3638 2 8 + 3638 16613 16610 2 8 + 3638 16610 15 2 8 + 15 16610 3399 2 8 + 3399 16610 16611 2 8 + 3399 16611 3398 2 8 + 3398 16611 3397 2 8 + 3397 16611 16614 2 8 + 3397 16614 3396 2 8 + 3396 16614 3391 2 8 + 3396 3391 14 2 8 + 3391 16614 3392 2 8 + 3392 16614 16615 2 8 + 3392 16615 3393 2 8 + 3393 16615 16616 2 8 + 3393 16616 3394 2 8 + 3394 16616 16617 2 8 + 3394 16617 3395 2 8 + 16619 16618 16620 2 10 + 16621 16619 16622 2 10 + 16619 16620 16622 2 10 + 16622 16620 16623 2 10 + 16621 16622 16624 2 10 + 3424 16 16623 2 10 + 3424 16623 16620 2 10 + 3424 16620 3423 2 10 + 3423 16620 16618 2 10 + 3423 16618 3422 2 10 + 3422 16618 3415 2 10 + 3422 3415 18 2 10 + 3415 16618 3414 2 10 + 3414 16618 16619 2 10 + 3414 16619 3413 2 10 + 3413 16619 16621 2 10 + 3413 16621 3412 2 10 + 3412 16621 16624 2 10 + 3412 16624 3411 2 10 + 3411 16624 3407 2 10 + 3411 3407 3406 2 10 + 3411 3406 3410 2 10 + 3410 3406 17 2 10 + 3407 16624 3408 2 10 + 3408 16624 16622 2 10 + 3408 16622 3409 2 10 + 3409 16622 16623 2 10 + 3409 16623 16 2 10 + 3649 19 3427 2 13 + 3649 3427 16625 2 13 + 3649 16625 21 2 13 + 21 16625 3429 2 13 + 3429 16625 3428 2 13 + 3428 16625 3425 2 13 + 3428 3425 20 2 13 + 3425 16625 3426 2 13 + 3426 16625 3427 2 13 + 3674 22 3435 2 15 + 3674 3435 3434 2 15 + 3674 3434 24 2 15 + 24 3434 23 2 15 + 3679 25 3436 2 17 + 3679 3436 3437 2 17 + 3679 3437 27 2 17 + 3436 25 26 2 17 + 16626 16627 16628 2 19 + 3723 28 3447 2 19 + 3723 3447 16627 2 19 + 3723 16627 3724 2 19 + 3724 16627 3725 2 19 + 3725 16627 16626 2 19 + 3725 16626 3726 2 19 + 3726 16626 3450 2 19 + 3726 3450 30 2 19 + 3450 16626 3449 2 19 + 3449 16626 3448 2 19 + 3448 16626 16628 2 19 + 3448 16628 29 2 19 + 29 16628 3446 2 19 + 3446 16628 3447 2 19 + 3447 16628 16627 2 19 + 3781 31 3453 2 21 + 3781 3453 16629 2 21 + 3781 16629 33 2 21 + 33 16629 3455 2 21 + 3455 16629 3452 2 21 + 3455 3452 3454 2 21 + 3454 3452 3451 2 21 + 3454 3451 32 2 21 + 3452 16629 3453 2 21 + 16630 16631 16633 2 23 + 16633 16631 16634 2 23 + 16635 16633 16636 2 23 + 16633 16634 16636 2 23 + 16635 16636 16637 2 23 + 3473 34 16630 2 23 + 3473 16630 16633 2 23 + 3473 16633 3472 2 23 + 3472 16633 16635 2 23 + 3472 16635 3471 2 23 + 3471 16635 16637 2 23 + 3471 16637 3470 2 23 + 3470 16637 3463 2 23 + 3470 3463 36 2 23 + 3463 16637 3462 2 23 + 3462 16637 16636 2 23 + 3462 16636 3461 2 23 + 3461 16636 3460 2 23 + 3460 16636 16634 2 23 + 3460 16634 3459 2 23 + 3459 16634 16632 2 23 + 3459 16632 3458 2 23 + 3458 16632 3456 2 23 + 3458 3456 35 2 23 + 3456 16632 3457 2 23 + 3457 16632 16631 2 23 + 3457 16631 16630 2 23 + 3457 16630 34 2 23 + 16631 16632 16634 2 23 + 16639 16638 16640 2 26 + 3794 37 3489 2 26 + 3794 3489 16638 2 26 + 3794 16638 3795 2 26 + 3795 16638 16639 2 26 + 3795 16639 39 2 26 + 39 16639 3492 2 26 + 3492 16639 3491 2 26 + 3491 16639 3487 2 26 + 3491 3487 3486 2 26 + 3491 3486 3490 2 26 + 3490 3486 38 2 26 + 3487 16639 16640 2 26 + 3487 16640 3488 2 26 + 3488 16640 3489 2 26 + 3489 16640 16638 2 26 + 3514 40 3510 2 28 + 3514 3510 3509 2 28 + 3514 3509 3513 2 28 + 3513 3509 3511 2 28 + 3513 3511 42 2 28 + 3511 3509 3508 2 28 + 3511 3508 41 2 28 + 3837 43 3516 2 31 + 3837 3516 16642 2 31 + 3837 16642 3838 2 31 + 3838 16642 16641 2 31 + 3838 16641 3839 2 31 + 3839 16641 3519 2 31 + 3839 3519 45 2 31 + 3519 16641 3518 2 31 + 3518 16641 3517 2 31 + 3517 16641 16642 2 31 + 3517 16642 3515 2 31 + 3517 3515 44 2 31 + 3515 16642 3516 2 31 + 48 46 3526 2 33 + 3526 46 3522 2 33 + 3526 3522 3525 2 33 + 3525 3522 3521 2 33 + 3525 3521 3524 2 33 + 3524 3521 3520 2 33 + 3524 3520 3523 2 33 + 3523 3520 47 2 33 + 3535 49 3530 2 35 + 3535 3530 3529 2 35 + 3535 3529 3534 2 35 + 3534 3529 16643 2 35 + 3534 16643 3533 2 35 + 3533 16643 3531 2 35 + 3533 3531 51 2 35 + 3531 16643 3528 2 35 + 3531 3528 3527 2 35 + 3531 3527 50 2 35 + 3528 16643 3529 2 35 + 3881 52 3558 2 38 + 3881 3558 16645 2 38 + 3881 16645 3882 2 38 + 3882 16645 16644 2 38 + 3882 16644 3883 2 38 + 3883 16644 16646 2 38 + 3883 16646 54 2 38 + 54 16646 3560 2 38 + 3560 16646 3559 2 38 + 3559 16646 16647 2 38 + 3559 16647 53 2 38 + 53 16647 3556 2 38 + 3556 16647 3557 2 38 + 3557 16647 16644 2 38 + 3557 16644 16645 2 38 + 3557 16645 3558 2 38 + 16644 16647 16646 2 38 + 3588 55 3566 2 40 + 3588 3566 16648 2 40 + 3588 16648 3568 2 40 + 3588 3568 3569 2 40 + 3588 3569 57 2 40 + 3568 16648 3567 2 40 + 3567 16648 3565 2 40 + 3567 3565 56 2 40 + 3565 16648 3566 2 40 + 3890 58 3589 2 43 + 3890 3589 3590 2 43 + 3890 3590 60 2 43 + 3590 3589 59 2 43 + 3969 61 16650 2 45 + 3969 16650 16649 2 45 + 3969 16649 3970 2 45 + 3970 16649 3603 2 45 + 3970 3603 3971 2 45 + 3971 3603 3604 2 45 + 3971 3604 63 2 45 + 3603 16649 3602 2 45 + 3602 16649 16650 2 45 + 3602 16650 3601 2 45 + 3601 16650 3600 2 45 + 3601 3600 62 2 45 + 3600 16650 61 2 45 + 4031 64 3608 2 47 + 4031 3608 16652 2 47 + 4031 16652 66 2 47 + 66 16652 3611 2 47 + 3611 16652 16651 2 47 + 3611 16651 3610 2 47 + 3610 16651 3606 2 47 + 3610 3606 3609 2 47 + 3609 3606 3605 2 47 + 3609 3605 65 2 47 + 3606 16651 3607 2 47 + 3607 16651 16652 2 47 + 3607 16652 3608 2 47 + 69 67 3628 2 49 + 3628 67 3624 2 49 + 3628 3624 3627 2 49 + 3627 3624 3623 2 49 + 3627 3623 3626 2 49 + 3626 3623 3622 2 49 + 3626 3622 3625 2 49 + 3625 3622 68 2 49 + 16654 16653 16655 2 51 + 16657 16654 16658 2 51 + 16654 16655 16658 2 51 + 3641 70 3632 2 51 + 3641 3632 16656 2 51 + 3641 16656 3640 2 51 + 3640 16656 16653 2 51 + 3640 16653 3639 2 51 + 3639 16653 72 2 51 + 72 16653 3635 2 51 + 3635 16653 3634 2 51 + 3634 16653 16654 2 51 + 3634 16654 16657 2 51 + 3634 16657 3633 2 51 + 3633 16657 3629 2 51 + 3633 3629 71 2 51 + 3629 16657 3630 2 51 + 3630 16657 16658 2 51 + 3630 16658 3631 2 51 + 3631 16658 16655 2 51 + 3631 16655 16656 2 51 + 3631 16656 3632 2 51 + 16656 16655 16653 2 51 + 3651 73 3644 2 54 + 3651 3644 3643 2 54 + 3651 3643 3650 2 54 + 3650 3643 16659 2 54 + 3650 16659 75 2 54 + 75 16659 3645 2 54 + 3645 16659 3642 2 54 + 3645 3642 74 2 54 + 3642 16659 3643 2 54 + 4097 76 3661 2 57 + 4097 3661 3660 2 57 + 4097 3660 78 2 57 + 78 3660 77 2 57 + 4110 79 3664 2 59 + 4110 3664 3665 2 59 + 4110 3665 4111 2 59 + 4111 3665 3666 2 59 + 4111 3666 81 2 59 + 3664 79 80 2 59 + 16455 82 3669 2 61 + 16455 3669 3668 2 61 + 16455 3668 16456 2 61 + 16456 3668 3667 2 61 + 16456 3667 84 2 61 + 84 3667 83 2 61 + 87 85 3670 2 63 + 3670 85 86 2 63 + 3681 88 89 2 66 + 3681 89 3675 2 66 + 3681 3675 3680 2 66 + 3680 3675 90 2 66 + 16661 16660 16662 2 69 + 16454 91 16662 2 69 + 16454 16662 16660 2 69 + 16454 16660 16453 2 69 + 16453 16660 3686 2 69 + 16453 3686 93 2 69 + 3686 16660 3685 2 69 + 3685 16660 16661 2 69 + 3685 16661 3684 2 69 + 3684 16661 3682 2 69 + 3684 3682 92 2 69 + 3682 16661 3683 2 69 + 3683 16661 16662 2 69 + 3683 16662 91 2 69 + 4133 94 16664 2 71 + 4133 16664 3693 2 71 + 4133 3693 96 2 71 + 3693 16664 3692 2 71 + 3692 16664 16663 2 71 + 3692 16663 3691 2 71 + 3691 16663 3688 2 71 + 3691 3688 3687 2 71 + 3691 3687 3690 2 71 + 3690 3687 95 2 71 + 3688 16663 3689 2 71 + 3689 16663 16664 2 71 + 3689 16664 94 2 71 + 4147 97 3703 2 73 + 4147 3703 3702 2 73 + 4147 3702 4148 2 73 + 4148 3702 16666 2 73 + 4148 16666 4149 2 73 + 4149 16666 16665 2 73 + 4149 16665 4150 2 73 + 4150 16665 16668 2 73 + 4150 16668 16667 2 73 + 4150 16667 4151 2 73 + 4151 16667 3704 2 73 + 4151 3704 99 2 73 + 3704 16667 16668 2 73 + 3704 16668 98 2 73 + 98 16668 3700 2 73 + 3700 16668 3701 2 73 + 3701 16668 16665 2 73 + 3701 16665 16666 2 73 + 3701 16666 3702 2 73 + 102 100 3714 2 75 + 102 3714 101 2 75 + 3730 103 16669 2 77 + 3730 16669 3729 2 77 + 3729 16669 3720 2 77 + 3729 3720 3721 2 77 + 3729 3721 3728 2 77 + 3728 3721 3722 2 77 + 3728 3722 3727 2 77 + 3727 3722 105 2 77 + 3720 16669 3719 2 77 + 3719 16669 103 2 77 + 3719 103 104 2 77 + 108 106 3734 2 80 + 108 3734 3737 2 80 + 3737 3734 3733 2 80 + 3737 3733 3736 2 80 + 3736 3733 3732 2 80 + 3736 3732 3735 2 80 + 3735 3732 3731 2 80 + 3735 3731 107 2 80 + 4244 109 3740 2 82 + 4244 3740 3739 2 82 + 4244 3739 4245 2 82 + 4245 3739 3738 2 82 + 4245 3738 111 2 82 + 111 3738 110 2 82 + 114 112 3743 2 84 + 3743 112 113 2 84 + 117 115 3746 2 86 + 3746 115 3744 2 86 + 3746 3744 3745 2 86 + 3745 3744 116 2 86 + 4293 118 3756 2 88 + 4293 3756 16671 2 88 + 4293 16671 4294 2 88 + 4294 16671 16670 2 88 + 4294 16670 4295 2 88 + 4295 16670 3759 2 88 + 4295 3759 3760 2 88 + 4295 3760 4296 2 88 + 4296 3760 120 2 88 + 3759 16670 3758 2 88 + 3758 16670 16671 2 88 + 3758 16671 3757 2 88 + 3757 16671 3755 2 88 + 3757 3755 119 2 88 + 3755 16671 3756 2 88 + 3784 121 3764 2 90 + 3784 3764 3783 2 90 + 3783 3764 3763 2 90 + 3783 3763 16672 2 90 + 3783 16672 3782 2 90 + 3782 16672 16673 2 90 + 3782 16673 123 2 90 + 123 16673 3765 2 90 + 3765 16673 3761 2 90 + 3765 3761 122 2 90 + 3761 16673 3762 2 90 + 3762 16673 3763 2 90 + 3763 16673 16672 2 90 + 3799 124 3787 2 93 + 3799 3787 16674 2 93 + 3799 16674 3798 2 93 + 3798 16674 16675 2 93 + 3798 16675 3797 2 93 + 3797 16675 16677 2 93 + 3797 16677 3796 2 93 + 3796 16677 3789 2 93 + 3796 3789 126 2 93 + 3789 16677 3788 2 93 + 3788 16677 16675 2 93 + 3788 16675 16676 2 93 + 3788 16676 125 2 93 + 125 16676 3785 2 93 + 3785 16676 3786 2 93 + 3786 16676 16674 2 93 + 3786 16674 3787 2 93 + 16674 16676 16675 2 93 + 16681 16678 16682 2 96 + 16678 16679 16682 2 96 + 16682 16679 16683 2 96 + 16679 16680 16683 2 96 + 4333 127 3809 2 96 + 4333 3809 16680 2 96 + 4333 16680 4334 2 96 + 4334 16680 16679 2 96 + 4334 16679 4335 2 96 + 4335 16679 16678 2 96 + 4335 16678 4336 2 96 + 4336 16678 4337 2 96 + 4337 16678 16681 2 96 + 4337 16681 3812 2 96 + 4337 3812 129 2 96 + 3812 16681 3811 2 96 + 3811 16681 16682 2 96 + 3811 16682 3810 2 96 + 3810 16682 16683 2 96 + 3810 16683 3806 2 96 + 3810 3806 128 2 96 + 3806 16683 3807 2 96 + 3807 16683 16680 2 96 + 3807 16680 3808 2 96 + 3808 16680 3809 2 96 + 132 130 3829 2 98 + 3829 130 3825 2 98 + 3829 3825 3828 2 98 + 3828 3825 3824 2 98 + 3828 3824 3827 2 98 + 3827 3824 3823 2 98 + 3827 3823 3826 2 98 + 3826 3823 131 2 98 + 135 133 3833 2 100 + 135 3833 3836 2 100 + 3836 3833 3832 2 100 + 3836 3832 3835 2 100 + 3835 3832 3831 2 100 + 3835 3831 3834 2 100 + 3834 3831 3830 2 100 + 3834 3830 134 2 100 + 138 136 3842 2 103 + 3842 136 137 2 103 + 141 139 3845 2 105 + 3845 139 3843 2 105 + 3845 3843 3844 2 105 + 3844 3843 140 2 105 + 3850 142 3847 2 107 + 3850 3847 3846 2 107 + 3850 3846 144 2 107 + 144 3846 143 2 107 + 147 145 3851 2 110 + 147 3851 146 2 110 + 4473 148 3864 2 112 + 4473 3864 3865 2 112 + 4473 3865 4474 2 112 + 4474 3865 3866 2 112 + 4474 3866 4475 2 112 + 4475 3866 3867 2 112 + 4475 3867 150 2 112 + 3864 148 149 2 112 + 16684 16685 16687 2 114 + 16687 16685 16688 2 114 + 16688 16685 16689 2 114 + 16685 16686 16689 2 114 + 16689 16686 16690 2 114 + 16687 16688 16691 2 114 + 16691 16688 16692 2 114 + 16688 16689 16692 2 114 + 16689 16690 16693 2 114 + 4511 151 3871 2 114 + 4511 3871 16693 2 114 + 4511 16693 16690 2 114 + 4511 16690 4512 2 114 + 4512 16690 16686 2 114 + 4512 16686 4513 2 114 + 4513 16686 4514 2 114 + 4514 16686 16685 2 114 + 4514 16685 16684 2 114 + 4514 16684 4515 2 114 + 4515 16684 153 2 114 + 153 16684 3874 2 114 + 3874 16684 16687 2 114 + 3874 16687 3873 2 114 + 3873 16687 3872 2 114 + 3872 16687 16691 2 114 + 3872 16691 152 2 114 + 152 16691 3868 2 114 + 3868 16691 16692 2 114 + 3868 16692 3869 2 114 + 3869 16692 16689 2 114 + 3869 16689 3870 2 114 + 3870 16689 16693 2 114 + 3870 16693 3871 2 114 + 3884 154 3877 2 116 + 3884 3877 16694 2 116 + 3884 16694 16695 2 116 + 3884 16695 156 2 116 + 156 16695 3880 2 116 + 3880 16695 3879 2 116 + 3879 16695 16694 2 116 + 3879 16694 3876 2 116 + 3879 3876 3878 2 116 + 3878 3876 3875 2 116 + 3878 3875 155 2 116 + 3876 16694 3877 2 116 + 3893 157 3885 2 119 + 3893 3885 16696 2 119 + 3893 16696 3892 2 119 + 3892 16696 3886 2 119 + 3892 3886 3891 2 119 + 3891 3886 159 2 119 + 3886 16696 158 2 119 + 158 16696 3885 2 119 + 4520 160 3905 2 122 + 4520 3905 3906 2 122 + 4520 3906 162 2 122 + 3905 160 3904 2 122 + 3904 160 3901 2 122 + 3904 3901 3903 2 122 + 3903 3901 3900 2 122 + 3903 3900 3902 2 122 + 3902 3900 3899 2 122 + 3902 3899 161 2 122 + 16697 16698 16701 2 124 + 16700 16697 16701 2 124 + 4537 163 3911 2 124 + 4537 3911 16699 2 124 + 4537 16699 4538 2 124 + 4538 16699 16698 2 124 + 4538 16698 16697 2 124 + 4538 16697 165 2 124 + 165 16697 3915 2 124 + 3915 16697 3914 2 124 + 3914 16697 16700 2 124 + 3914 16700 3913 2 124 + 3913 16700 3908 2 124 + 3913 3908 3907 2 124 + 3913 3907 3912 2 124 + 3912 3907 164 2 124 + 3908 16700 3909 2 124 + 3909 16700 16701 2 124 + 3909 16701 3910 2 124 + 3910 16701 16698 2 124 + 3910 16698 16699 2 124 + 3910 16699 3911 2 124 + 16704 16702 16705 2 126 + 16702 16703 16705 2 126 + 16704 16705 16706 2 126 + 4581 166 3931 2 126 + 4581 3931 16703 2 126 + 4581 16703 4582 2 126 + 4582 16703 16702 2 126 + 4582 16702 4583 2 126 + 4583 16702 3935 2 126 + 4583 3935 168 2 126 + 3935 16702 3934 2 126 + 3934 16702 16704 2 126 + 3934 16704 3933 2 126 + 3933 16704 16706 2 126 + 3933 16706 3932 2 126 + 3932 16706 3928 2 126 + 3932 3928 167 2 126 + 3928 16706 3929 2 126 + 3929 16706 16705 2 126 + 3929 16705 3930 2 126 + 3930 16705 16703 2 126 + 3930 16703 3931 2 126 + 16708 16707 16709 2 128 + 16710 16708 16711 2 128 + 16708 16709 16711 2 128 + 16711 16709 16712 2 128 + 4617 169 3939 2 128 + 4617 3939 16707 2 128 + 4617 16707 4618 2 128 + 4618 16707 16708 2 128 + 4618 16708 4619 2 128 + 4619 16708 16710 2 128 + 4619 16710 171 2 128 + 171 16710 3942 2 128 + 3942 16710 16711 2 128 + 3942 16711 3941 2 128 + 3941 16711 16712 2 128 + 3941 16712 3940 2 128 + 3940 16712 3936 2 128 + 3940 3936 170 2 128 + 3936 16712 3937 2 128 + 3937 16712 16709 2 128 + 3937 16709 3938 2 128 + 3938 16709 16707 2 128 + 3938 16707 3939 2 128 + 3972 172 16713 2 130 + 3972 16713 16714 2 130 + 3972 16714 174 2 130 + 174 16714 3948 2 130 + 3948 16714 3947 2 130 + 3947 16714 3944 2 130 + 3947 3944 3946 2 130 + 3946 3944 3943 2 130 + 3946 3943 173 2 130 + 3944 16714 16713 2 130 + 3944 16713 3945 2 130 + 3945 16713 172 2 130 + 4644 175 3973 2 133 + 4644 3973 16715 2 133 + 4644 16715 4645 2 133 + 4645 16715 16717 2 133 + 4645 16717 4646 2 133 + 4646 16717 16716 2 133 + 4646 16716 4647 2 133 + 4647 16716 3976 2 133 + 4647 3976 177 2 133 + 3976 16716 3975 2 133 + 3975 16716 16717 2 133 + 3975 16717 3974 2 133 + 3974 16717 16715 2 133 + 3974 16715 176 2 133 + 176 16715 3973 2 133 + 4713 178 16719 2 135 + 4713 16719 4013 2 135 + 4713 4013 180 2 135 + 4013 16719 4012 2 135 + 4012 16719 16718 2 135 + 4012 16718 4011 2 135 + 4011 16718 4008 2 135 + 4011 4008 4007 2 135 + 4011 4007 4010 2 135 + 4010 4007 179 2 135 + 4008 16718 4009 2 135 + 4009 16718 16719 2 135 + 4009 16719 178 2 135 + 16723 16722 16724 2 137 + 4035 181 4017 2 137 + 4035 4017 16720 2 137 + 4035 16720 4034 2 137 + 4034 16720 16721 2 137 + 4034 16721 4033 2 137 + 4033 16721 16722 2 137 + 4033 16722 16723 2 137 + 4033 16723 4032 2 137 + 4032 16723 183 2 137 + 183 16723 4018 2 137 + 4018 16723 16724 2 137 + 4018 16724 182 2 137 + 182 16724 4014 2 137 + 4014 16724 16722 2 137 + 4014 16722 4015 2 137 + 4015 16722 16721 2 137 + 4015 16721 4016 2 137 + 4016 16721 16720 2 137 + 4016 16720 4017 2 137 + 16726 16725 16727 2 140 + 16729 16726 16730 2 140 + 16726 16727 16730 2 140 + 16730 16727 16731 2 140 + 16727 16728 16731 2 140 + 16731 16728 16732 2 140 + 16733 16729 16734 2 140 + 16729 16730 16734 2 140 + 4754 184 16732 2 140 + 4754 16732 16728 2 140 + 4754 16728 4755 2 140 + 4755 16728 16725 2 140 + 4755 16725 4756 2 140 + 4756 16725 186 2 140 + 186 16725 4055 2 140 + 4055 16725 16726 2 140 + 4055 16726 4054 2 140 + 4054 16726 16729 2 140 + 4054 16729 4053 2 140 + 4053 16729 16733 2 140 + 4053 16733 4052 2 140 + 4052 16733 4048 2 140 + 4052 4048 185 2 140 + 4048 16733 16734 2 140 + 4048 16734 4049 2 140 + 4049 16734 16730 2 140 + 4049 16730 16731 2 140 + 4049 16731 4050 2 140 + 4050 16731 16732 2 140 + 4050 16732 4051 2 140 + 4051 16732 184 2 140 + 16725 16728 16727 2 140 + 4076 187 4059 2 142 + 4076 4059 4058 2 142 + 4076 4058 4075 2 142 + 4075 4058 4057 2 142 + 4075 4057 4074 2 142 + 4074 4057 16735 2 142 + 4074 16735 189 2 142 + 189 16735 4056 2 142 + 189 4056 188 2 142 + 4056 16735 4057 2 142 + 4100 190 4089 2 145 + 4100 4089 16737 2 145 + 4100 16737 4099 2 145 + 4099 16737 16736 2 145 + 4099 16736 4098 2 145 + 4098 16736 192 2 145 + 192 16736 16738 2 145 + 192 16738 4090 2 145 + 4090 16738 191 2 145 + 191 16738 4087 2 145 + 4087 16738 4088 2 145 + 4088 16738 16736 2 145 + 4088 16736 16737 2 145 + 4088 16737 4089 2 145 + 16739 16740 16741 2 148 + 4114 193 4103 2 148 + 4114 4103 16740 2 148 + 4114 16740 4113 2 148 + 4113 16740 16739 2 148 + 4113 16739 4112 2 148 + 4112 16739 4105 2 148 + 4112 4105 195 2 148 + 4105 16739 4104 2 148 + 4104 16739 16741 2 148 + 4104 16741 194 2 148 + 194 16741 4101 2 148 + 4101 16741 4102 2 148 + 4102 16741 16740 2 148 + 4102 16740 4103 2 148 + 198 196 4117 2 151 + 198 4117 4120 2 151 + 4120 4117 4116 2 151 + 4120 4116 4119 2 151 + 4119 4116 4115 2 151 + 4119 4115 4118 2 151 + 4118 4115 197 2 151 + 16743 16742 16744 2 153 + 4802 199 4123 2 153 + 4802 4123 16745 2 153 + 4802 16745 4803 2 153 + 4803 16745 16742 2 153 + 4803 16742 4804 2 153 + 4804 16742 16743 2 153 + 4804 16743 4805 2 153 + 4805 16743 4125 2 153 + 4805 4125 201 2 153 + 4125 16743 4124 2 153 + 4124 16743 16744 2 153 + 4124 16744 200 2 153 + 200 16744 4121 2 153 + 4121 16744 16742 2 153 + 4121 16742 16745 2 153 + 4121 16745 4122 2 153 + 4122 16745 4123 2 153 + 204 202 4131 2 155 + 204 4131 4132 2 155 + 4132 4131 4130 2 155 + 4132 4130 203 2 155 + 207 205 4134 2 158 + 4134 205 206 2 158 + 212 208 4141 2 160 + 212 4141 16472 2 160 + 16472 4141 209 2 160 + 16472 209 16471 2 160 + 16471 209 4142 2 160 + 16471 4142 16470 2 160 + 16470 4142 4143 2 160 + 16470 4143 16469 2 160 + 16469 4143 4144 2 160 + 16469 4144 16468 2 160 + 16468 4144 4145 2 160 + 16468 4145 16467 2 160 + 16467 4145 4146 2 160 + 16467 4146 211 2 160 + 211 4146 210 2 160 + 4877 213 212 2 163 + 4877 212 16472 2 163 + 4877 16472 215 2 163 + 215 16472 16471 2 163 + 215 16471 4156 2 163 + 4156 16471 16470 2 163 + 4156 16470 4155 2 163 + 4155 16470 16469 2 163 + 4155 16469 4154 2 163 + 4154 16469 16468 2 163 + 4154 16468 4153 2 163 + 4153 16468 16467 2 163 + 4153 16467 4152 2 163 + 4152 16467 211 2 163 + 4152 211 214 2 163 + 4879 216 4161 2 166 + 4879 4161 16747 2 166 + 4879 16747 218 2 166 + 218 16747 4165 2 166 + 4165 16747 16746 2 166 + 4165 16746 4164 2 166 + 4164 16746 4163 2 166 + 4163 16746 4158 2 166 + 4163 4158 4157 2 166 + 4163 4157 4162 2 166 + 4162 4157 217 2 166 + 4158 16746 4159 2 166 + 4159 16746 16747 2 166 + 4159 16747 4160 2 166 + 4160 16747 4161 2 166 + 16750 16748 16751 2 168 + 16748 16749 16751 2 168 + 4882 219 4169 2 168 + 4882 4169 16749 2 168 + 4882 16749 4883 2 168 + 4883 16749 16748 2 168 + 4883 16748 4173 2 168 + 4883 4173 221 2 168 + 4173 16748 4172 2 168 + 4172 16748 16750 2 168 + 4172 16750 4171 2 168 + 4171 16750 4170 2 168 + 4170 16750 4166 2 168 + 4170 4166 220 2 168 + 4166 16750 4167 2 168 + 4167 16750 16751 2 168 + 4167 16751 4168 2 168 + 4168 16751 16749 2 168 + 4168 16749 4169 2 168 + 224 222 4183 2 170 + 224 4183 4182 2 170 + 224 4182 4185 2 170 + 4185 4182 4181 2 170 + 4185 4181 4184 2 170 + 4184 4181 4180 2 170 + 4184 4180 223 2 170 + 4897 225 16474 2 172 + 4897 16474 16475 2 172 + 4897 16475 4898 2 172 + 4898 16475 229 2 172 + 4898 229 4899 2 172 + 4899 229 4192 2 172 + 4899 4192 227 2 172 + 16474 225 16473 2 172 + 16473 225 4191 2 172 + 16473 4191 228 2 172 + 228 4191 4190 2 172 + 228 4190 226 2 172 + 16754 16752 16755 2 174 + 16752 16753 16755 2 174 + 16756 16754 16757 2 174 + 16754 16755 16757 2 174 + 16758 16756 16759 2 174 + 16756 16757 16759 2 174 + 16758 16759 16760 2 174 + 4207 230 4193 2 174 + 4207 4193 16753 2 174 + 4207 16753 237 2 174 + 237 16753 16478 2 174 + 16478 16753 16752 2 174 + 16478 16752 16477 2 174 + 16477 16752 16754 2 174 + 16477 16754 16476 2 174 + 16476 16754 16756 2 174 + 16476 16756 236 2 174 + 236 16756 16758 2 174 + 236 16758 4209 2 174 + 4209 16758 232 2 174 + 232 16758 4194 2 174 + 4194 16758 16760 2 174 + 4194 16760 231 2 174 + 231 16760 228 2 174 + 228 16760 16759 2 174 + 228 16759 16473 2 174 + 16473 16759 16757 2 174 + 16473 16757 16474 2 174 + 16474 16757 16755 2 174 + 16474 16755 16475 2 174 + 16475 16755 16753 2 174 + 16475 16753 229 2 174 + 229 16753 4193 2 174 + 235 233 4198 2 177 + 235 4198 234 2 177 + 16762 16761 16763 2 181 + 16763 16761 16764 2 181 + 16766 16762 16767 2 181 + 16762 16763 16767 2 181 + 16767 16763 16768 2 181 + 16763 16764 16768 2 181 + 16768 16764 16769 2 181 + 16769 16764 16770 2 181 + 16764 16765 16770 2 181 + 16766 16767 16771 2 181 + 16771 16767 16772 2 181 + 16767 16768 16772 2 181 + 16772 16768 16773 2 181 + 16773 16768 16774 2 181 + 16768 16769 16774 2 181 + 16774 16769 16775 2 181 + 16769 16770 16775 2 181 + 16775 16770 16776 2 181 + 16777 16771 16778 2 181 + 16771 16772 16778 2 181 + 16778 16772 16779 2 181 + 16772 16773 16779 2 181 + 16779 16773 16780 2 181 + 16773 16774 16780 2 181 + 16777 16778 16781 2 181 + 16781 16778 16782 2 181 + 16778 16779 16782 2 181 + 4943 238 16776 2 181 + 4943 16776 16770 2 181 + 4943 16770 16765 2 181 + 4943 16765 4944 2 181 + 4944 16765 4945 2 181 + 4945 16765 16764 2 181 + 4945 16764 16761 2 181 + 4945 16761 4946 2 181 + 4946 16761 240 2 181 + 240 16761 16762 2 181 + 240 16762 4215 2 181 + 4215 16762 16766 2 181 + 4215 16766 4214 2 181 + 4214 16766 4213 2 181 + 4213 16766 16771 2 181 + 4213 16771 16777 2 181 + 4213 16777 4212 2 181 + 4212 16777 4211 2 181 + 4211 16777 16781 2 181 + 4211 16781 239 2 181 + 239 16781 4210 2 181 + 4210 16781 16782 2 181 + 4210 16782 236 2 181 + 236 16782 16476 2 181 + 16476 16782 16779 2 181 + 16476 16779 16780 2 181 + 16476 16780 16477 2 181 + 16477 16780 16478 2 181 + 16478 16780 16774 2 181 + 16478 16774 16775 2 181 + 16478 16775 237 2 181 + 237 16775 16776 2 181 + 237 16776 4208 2 181 + 4208 16776 238 2 181 + 16785 16783 16786 2 184 + 16783 16784 16786 2 184 + 16785 16786 16787 2 184 + 16787 16786 16788 2 184 + 4950 241 4220 2 184 + 4950 4220 16783 2 184 + 4950 16783 4951 2 184 + 4951 16783 4952 2 184 + 4952 16783 16785 2 184 + 4952 16785 243 2 184 + 243 16785 4223 2 184 + 4223 16785 16787 2 184 + 4223 16787 4222 2 184 + 4222 16787 16788 2 184 + 4222 16788 16789 2 184 + 4222 16789 4221 2 184 + 4221 16789 242 2 184 + 242 16789 4216 2 184 + 4216 16789 4217 2 184 + 4217 16789 16788 2 184 + 4217 16788 4218 2 184 + 4218 16788 16786 2 184 + 4218 16786 16784 2 184 + 4218 16784 4219 2 184 + 4219 16784 4220 2 184 + 4220 16784 16783 2 184 + 246 244 4231 2 186 + 246 4231 4234 2 186 + 4234 4231 4230 2 186 + 4234 4230 4233 2 186 + 4233 4230 4229 2 186 + 4233 4229 4232 2 186 + 4232 4229 245 2 186 + 249 247 4237 2 188 + 249 4237 4239 2 188 + 4239 4237 4236 2 188 + 4239 4236 4238 2 188 + 4238 4236 4235 2 188 + 4238 4235 248 2 188 + 4973 250 4250 2 192 + 4973 4250 4251 2 192 + 4973 4251 4974 2 192 + 4974 4251 4252 2 192 + 4974 4252 4975 2 192 + 4975 4252 4253 2 192 + 4975 4253 252 2 192 + 4250 250 251 2 192 + 4260 253 4257 2 194 + 4260 4257 4256 2 194 + 4260 4256 4259 2 194 + 4259 4256 4255 2 194 + 4259 4255 4258 2 194 + 4258 4255 4254 2 194 + 4258 4254 16790 2 194 + 4258 16790 255 2 194 + 255 16790 254 2 194 + 254 16790 4254 2 194 + 258 256 4268 2 197 + 258 4268 4271 2 197 + 4271 4268 4267 2 197 + 4271 4267 4270 2 197 + 4270 4267 4266 2 197 + 4270 4266 4269 2 197 + 4269 4266 257 2 197 + 16791 16792 16793 2 199 + 5031 259 4274 2 199 + 5031 4274 16792 2 199 + 5031 16792 16791 2 199 + 5031 16791 5032 2 199 + 5032 16791 4277 2 199 + 5032 4277 261 2 199 + 4277 16791 4276 2 199 + 4276 16791 16793 2 199 + 4276 16793 4275 2 199 + 4275 16793 4272 2 199 + 4275 4272 260 2 199 + 4272 16793 4273 2 199 + 4273 16793 16792 2 199 + 4273 16792 4274 2 199 + 5055 262 16794 2 201 + 5055 16794 4284 2 201 + 5055 4284 264 2 201 + 4284 16794 4283 2 201 + 4283 16794 16795 2 201 + 4283 16795 4282 2 201 + 4282 16795 4279 2 201 + 4282 4279 4278 2 201 + 4282 4278 4281 2 201 + 4281 4278 263 2 201 + 4279 16795 4280 2 201 + 4280 16795 16794 2 201 + 4280 16794 262 2 201 + 4298 265 4288 2 203 + 4298 4288 16796 2 203 + 4298 16796 4297 2 203 + 4297 16796 4292 2 203 + 4297 4292 267 2 203 + 4292 16796 4291 2 203 + 4291 16796 16797 2 203 + 4291 16797 4290 2 203 + 4290 16797 16798 2 203 + 4290 16798 4289 2 203 + 4289 16798 4285 2 203 + 4289 4285 266 2 203 + 4285 16798 4286 2 203 + 4286 16798 16797 2 203 + 4286 16797 4287 2 203 + 4287 16797 16796 2 203 + 4287 16796 4288 2 203 + 270 268 4303 2 206 + 4303 268 4300 2 206 + 4303 4300 4302 2 206 + 4302 4300 4299 2 206 + 4302 4299 4301 2 206 + 4301 4299 269 2 206 + 16800 16799 16801 2 208 + 16801 16799 16802 2 208 + 16800 16801 16803 2 208 + 5098 271 4321 2 208 + 5098 4321 16802 2 208 + 5098 16802 5099 2 208 + 5099 16802 16799 2 208 + 5099 16799 5100 2 208 + 5100 16799 16800 2 208 + 5100 16800 5101 2 208 + 5101 16800 4324 2 208 + 5101 4324 273 2 208 + 4324 16800 4323 2 208 + 4323 16800 4322 2 208 + 4322 16800 16803 2 208 + 4322 16803 272 2 208 + 272 16803 4319 2 208 + 4319 16803 16801 2 208 + 4319 16801 4320 2 208 + 4320 16801 16802 2 208 + 4320 16802 4321 2 208 + 16804 16805 16806 2 210 + 4339 274 16804 2 210 + 4339 16804 16806 2 210 + 4339 16806 4338 2 210 + 4338 16806 4332 2 210 + 4338 4332 276 2 210 + 4332 16806 4331 2 210 + 4331 16806 4330 2 210 + 4330 16806 16805 2 210 + 4330 16805 4329 2 210 + 4329 16805 4325 2 210 + 4329 4325 4328 2 210 + 4328 4325 275 2 210 + 4325 16805 4326 2 210 + 4326 16805 4327 2 210 + 4327 16805 16804 2 210 + 4327 16804 274 2 210 + 5144 277 4353 2 213 + 5144 4353 16807 2 213 + 5144 16807 5145 2 213 + 5145 16807 279 2 213 + 279 16807 4354 2 213 + 4354 16807 4352 2 213 + 4354 4352 278 2 213 + 4352 16807 4353 2 213 + 4377 280 4355 2 215 + 4377 4355 16808 2 215 + 4377 16808 4376 2 215 + 4376 16808 4356 2 215 + 4376 4356 282 2 215 + 4356 16808 281 2 215 + 281 16808 4355 2 215 + 285 283 4369 2 217 + 285 4369 284 2 217 + 16809 16810 16812 2 221 + 16810 16811 16812 2 221 + 16812 16811 16813 2 221 + 5168 286 4379 2 221 + 5168 4379 16811 2 221 + 5168 16811 5169 2 221 + 5169 16811 16810 2 221 + 5169 16810 5170 2 221 + 5170 16810 16809 2 221 + 5170 16809 5171 2 221 + 5171 16809 4383 2 221 + 5171 4383 288 2 221 + 4383 16809 4382 2 221 + 4382 16809 16812 2 221 + 4382 16812 4381 2 221 + 4381 16812 4380 2 221 + 4380 16812 16813 2 221 + 4380 16813 287 2 221 + 287 16813 4378 2 221 + 4378 16813 16811 2 221 + 4378 16811 4379 2 221 + 4409 289 4393 2 223 + 4409 4393 4392 2 223 + 4409 4392 4408 2 223 + 4408 4392 16814 2 223 + 4408 16814 4407 2 223 + 4407 16814 4406 2 223 + 4406 16814 4390 2 223 + 4406 4390 290 2 223 + 4406 290 291 2 223 + 4390 16814 4391 2 223 + 4391 16814 4392 2 223 + 5226 292 4413 2 226 + 5226 4413 16816 2 226 + 5226 16816 16815 2 226 + 5226 16815 5227 2 226 + 5227 16815 294 2 226 + 294 16815 4416 2 226 + 4416 16815 16816 2 226 + 4416 16816 16817 2 226 + 4416 16817 4415 2 226 + 4415 16817 4414 2 226 + 4414 16817 4410 2 226 + 4414 4410 293 2 226 + 4410 16817 4411 2 226 + 4411 16817 16816 2 226 + 4411 16816 4412 2 226 + 4412 16816 4413 2 226 + 4445 295 4429 2 228 + 4445 4429 4444 2 228 + 4444 4429 4428 2 228 + 4444 4428 4443 2 228 + 4443 4428 4427 2 228 + 4443 4427 4442 2 228 + 4442 4427 296 2 228 + 4442 296 297 2 228 + 300 298 4454 2 231 + 4454 298 4449 2 231 + 4454 4449 4453 2 231 + 4453 4449 4448 2 231 + 4453 4448 4452 2 231 + 4452 4448 4447 2 231 + 4452 4447 4451 2 231 + 4451 4447 4446 2 231 + 4451 4446 4450 2 231 + 4450 4446 299 2 231 + 4476 301 4459 2 233 + 4476 4459 16818 2 233 + 4476 16818 303 2 233 + 303 16818 4462 2 233 + 4462 16818 16819 2 233 + 4462 16819 4461 2 233 + 4461 16819 16820 2 233 + 4461 16820 4460 2 233 + 4460 16820 4456 2 233 + 4460 4456 4455 2 233 + 4460 4455 302 2 233 + 4456 16820 4457 2 233 + 4457 16820 16819 2 233 + 4457 16819 4458 2 233 + 4458 16819 16818 2 233 + 4458 16818 4459 2 233 + 306 304 4480 2 236 + 306 4480 305 2 236 + 309 307 4487 2 238 + 4487 307 308 2 238 + 4524 310 4494 2 240 + 4524 4494 16821 2 240 + 4524 16821 4523 2 240 + 4523 16821 4522 2 240 + 4522 16821 4496 2 240 + 4522 4496 4497 2 240 + 4522 4497 4521 2 240 + 4521 4497 312 2 240 + 4496 16821 4495 2 240 + 4495 16821 311 2 240 + 311 16821 4494 2 240 + 4516 313 16822 2 242 + 4516 16822 4509 2 242 + 4516 4509 4510 2 242 + 4516 4510 315 2 242 + 4509 16822 4508 2 242 + 4508 16822 4505 2 242 + 4508 4505 4504 2 242 + 4508 4504 4507 2 242 + 4507 4504 4503 2 242 + 4507 4503 4506 2 242 + 4506 4503 314 2 242 + 4505 16822 313 2 242 + 16825 16824 16826 2 246 + 16826 16827 16828 2 246 + 16828 16827 16829 2 246 + 5338 316 4528 2 246 + 5338 4528 16829 2 246 + 5338 16829 5339 2 246 + 5339 16829 16827 2 246 + 5339 16827 5340 2 246 + 5340 16827 16824 2 246 + 5340 16824 5341 2 246 + 5341 16824 16823 2 246 + 5341 16823 318 2 246 + 318 16823 4531 2 246 + 4531 16823 4530 2 246 + 4530 16823 16824 2 246 + 4530 16824 16825 2 246 + 4530 16825 4529 2 246 + 4529 16825 317 2 246 + 317 16825 4525 2 246 + 4525 16825 4526 2 246 + 4526 16825 16826 2 246 + 4526 16826 16828 2 246 + 4526 16828 4527 2 246 + 4527 16828 16829 2 246 + 4527 16829 4528 2 246 + 16824 16827 16826 2 246 + 4541 319 4534 2 248 + 4541 4534 16830 2 248 + 4541 16830 4540 2 248 + 4540 16830 16831 2 248 + 4540 16831 4539 2 248 + 4539 16831 4536 2 248 + 4539 4536 321 2 248 + 4536 16831 4535 2 248 + 4535 16831 320 2 248 + 320 16831 4532 2 248 + 4532 16831 4533 2 248 + 4533 16831 16830 2 248 + 4533 16830 4534 2 248 + 324 322 4553 2 251 + 4553 322 4549 2 251 + 4553 4549 4552 2 251 + 4552 4549 4548 2 251 + 4552 4548 4551 2 251 + 4551 4548 4547 2 251 + 4551 4547 4550 2 251 + 4550 4547 323 2 251 + 16832 16833 16835 2 253 + 16835 16833 16836 2 253 + 16836 16833 16837 2 253 + 16834 16832 16835 2 253 + 16834 16835 16838 2 253 + 16838 16835 16839 2 253 + 16835 16836 16839 2 253 + 16839 16836 16840 2 253 + 16836 16837 16840 2 253 + 16840 16837 16841 2 253 + 16842 16838 16843 2 253 + 16838 16839 16843 2 253 + 16843 16839 16844 2 253 + 16839 16840 16844 2 253 + 16844 16840 16845 2 253 + 16840 16841 16845 2 253 + 16842 16843 16846 2 253 + 5379 325 16841 2 253 + 5379 16841 16837 2 253 + 5379 16837 5380 2 253 + 5380 16837 5381 2 253 + 5381 16837 16833 2 253 + 5381 16833 5382 2 253 + 5382 16833 16832 2 253 + 5382 16832 5383 2 253 + 5383 16832 4562 2 253 + 5383 4562 327 2 253 + 4562 16832 16834 2 253 + 4562 16834 4561 2 253 + 4561 16834 4560 2 253 + 4560 16834 16838 2 253 + 4560 16838 16842 2 253 + 4560 16842 4559 2 253 + 4559 16842 4558 2 253 + 4558 16842 16846 2 253 + 4558 16846 326 2 253 + 326 16846 4554 2 253 + 4554 16846 16843 2 253 + 4554 16843 16844 2 253 + 4554 16844 4555 2 253 + 4555 16844 16845 2 253 + 4555 16845 4556 2 253 + 4556 16845 4557 2 253 + 4557 16845 16841 2 253 + 4557 16841 325 2 253 + 330 328 4572 2 255 + 4572 328 4567 2 255 + 4572 4567 16847 2 255 + 4572 16847 4571 2 255 + 4571 16847 4570 2 255 + 4570 16847 4565 2 255 + 4570 4565 4569 2 255 + 4569 4565 4564 2 255 + 4569 4564 4568 2 255 + 4568 4564 4563 2 255 + 4568 4563 329 2 255 + 4565 16847 4566 2 255 + 4566 16847 4567 2 255 + 16848 16849 16851 2 257 + 16851 16849 16852 2 257 + 16850 16848 16851 2 257 + 16850 16851 16853 2 257 + 16853 16851 16854 2 257 + 16851 16852 16854 2 257 + 16854 16852 16855 2 257 + 4587 331 4577 2 257 + 4587 4577 16848 2 257 + 4587 16848 4586 2 257 + 4586 16848 16850 2 257 + 4586 16850 4585 2 257 + 4585 16850 4584 2 257 + 4584 16850 16853 2 257 + 4584 16853 333 2 257 + 333 16853 4580 2 257 + 4580 16853 4579 2 257 + 4579 16853 16854 2 257 + 4579 16854 4578 2 257 + 4578 16854 16855 2 257 + 4578 16855 4573 2 257 + 4578 4573 332 2 257 + 4573 16855 4574 2 257 + 4574 16855 16852 2 257 + 4574 16852 4575 2 257 + 4575 16852 16849 2 257 + 4575 16849 4576 2 257 + 4576 16849 16848 2 257 + 4576 16848 4577 2 257 + 5431 334 4603 2 260 + 5431 4603 5432 2 260 + 5432 4603 4602 2 260 + 5432 4602 5433 2 260 + 5433 4602 4601 2 260 + 5433 4601 5434 2 260 + 5434 4601 4600 2 260 + 5434 4600 5435 2 260 + 5435 4600 335 2 260 + 5435 335 336 2 260 + 4622 337 338 2 262 + 4622 338 4604 2 262 + 4622 4604 4621 2 262 + 4621 4604 4605 2 262 + 4621 4605 4620 2 262 + 4620 4605 4606 2 262 + 4620 4606 339 2 262 + 16857 16858 16859 2 265 + 16859 16858 16860 2 265 + 5462 340 4625 2 265 + 5462 4625 16856 2 265 + 5462 16856 5463 2 265 + 5463 16856 16858 2 265 + 5463 16858 16857 2 265 + 5463 16857 5464 2 265 + 5464 16857 5465 2 265 + 5465 16857 4628 2 265 + 5465 4628 342 2 265 + 4628 16857 16859 2 265 + 4628 16859 4627 2 265 + 4627 16859 4626 2 265 + 4626 16859 16860 2 265 + 4626 16860 4623 2 265 + 4626 4623 341 2 265 + 4623 16860 4624 2 265 + 4624 16860 16858 2 265 + 4624 16858 4625 2 265 + 4625 16858 16856 2 265 + 16861 16862 16864 2 267 + 16866 16863 16867 2 267 + 16863 16864 16867 2 267 + 16864 16865 16867 2 267 + 16864 16862 16865 2 267 + 5469 343 16861 2 267 + 5469 16861 16864 2 267 + 5469 16864 16863 2 267 + 5469 16863 5470 2 267 + 5470 16863 5471 2 267 + 5471 16863 16866 2 267 + 5471 16866 4635 2 267 + 5471 4635 345 2 267 + 4635 16866 4634 2 267 + 4634 16866 16867 2 267 + 4634 16867 4633 2 267 + 4633 16867 16865 2 267 + 4633 16865 4632 2 267 + 4632 16865 4629 2 267 + 4632 4629 344 2 267 + 4629 16865 16862 2 267 + 4629 16862 4630 2 267 + 4630 16862 4631 2 267 + 4631 16862 16861 2 267 + 4631 16861 343 2 267 + 348 346 4643 2 269 + 4643 346 4639 2 269 + 4643 4639 4642 2 269 + 4642 4639 4638 2 269 + 4642 4638 4641 2 269 + 4641 4638 4637 2 269 + 4641 4637 4640 2 269 + 4640 4637 4636 2 269 + 4640 4636 347 2 269 + 5485 349 4650 2 272 + 5485 4650 4651 2 272 + 5485 4651 351 2 272 + 4650 349 350 2 272 + 5512 352 16868 2 274 + 5512 16868 4655 2 274 + 5512 4655 5513 2 274 + 5513 4655 4656 2 274 + 5513 4656 354 2 274 + 4655 16868 16869 2 274 + 4655 16869 4654 2 274 + 4654 16869 4652 2 274 + 4654 4652 353 2 274 + 4652 16869 4653 2 274 + 4653 16869 16868 2 274 + 4653 16868 352 2 274 + 5572 355 4694 2 276 + 5572 4694 5573 2 276 + 5573 4694 4693 2 276 + 5573 4693 16871 2 276 + 5573 16871 5574 2 276 + 5574 16871 5575 2 276 + 5575 16871 16870 2 276 + 5575 16870 357 2 276 + 357 16870 4695 2 276 + 4695 16870 16871 2 276 + 4695 16871 356 2 276 + 356 16871 4692 2 276 + 4692 16871 4693 2 276 + 4714 358 4699 2 278 + 4714 4699 4700 2 278 + 4714 4700 360 2 278 + 4700 4699 359 2 278 + 5590 361 16872 2 281 + 5590 16872 4721 2 281 + 5590 4721 363 2 281 + 4721 16872 4720 2 281 + 4720 16872 4718 2 281 + 4720 4718 4719 2 281 + 4719 4718 362 2 281 + 4718 16872 361 2 281 + 5605 364 4724 2 283 + 5605 4724 16874 2 283 + 5605 16874 16873 2 283 + 5605 16873 5606 2 283 + 5606 16873 4727 2 283 + 5606 4727 366 2 283 + 4727 16873 4726 2 283 + 4726 16873 16874 2 283 + 4726 16874 16875 2 283 + 4726 16875 4725 2 283 + 4725 16875 4722 2 283 + 4725 4722 365 2 283 + 4722 16875 4723 2 283 + 4723 16875 16874 2 283 + 4723 16874 4724 2 283 + 16878 16876 16879 2 285 + 16879 16876 16880 2 285 + 16878 16879 16881 2 285 + 16881 16879 16882 2 285 + 4760 367 4745 2 285 + 4760 4745 16880 2 285 + 4760 16880 4759 2 285 + 4759 16880 16876 2 285 + 4759 16876 4758 2 285 + 4758 16876 16878 2 285 + 4758 16878 16877 2 285 + 4758 16877 4757 2 285 + 4757 16877 369 2 285 + 369 16877 4748 2 285 + 4748 16877 4747 2 285 + 4747 16877 16878 2 285 + 4747 16878 16881 2 285 + 4747 16881 4746 2 285 + 4746 16881 16882 2 285 + 4746 16882 4743 2 285 + 4746 4743 368 2 285 + 4743 16882 4744 2 285 + 4744 16882 16879 2 285 + 4744 16879 16880 2 285 + 4744 16880 4745 2 285 + 4773 370 4764 2 288 + 4773 4764 4763 2 288 + 4773 4763 4772 2 288 + 4772 4763 4762 2 288 + 4772 4762 4771 2 288 + 4771 4762 4761 2 288 + 4771 4761 372 2 288 + 372 4761 371 2 288 + 5643 373 4781 2 291 + 5643 4781 16884 2 291 + 5643 16884 5644 2 291 + 5644 16884 4783 2 291 + 5644 4783 375 2 291 + 4783 16884 16883 2 291 + 4783 16883 4782 2 291 + 4782 16883 4779 2 291 + 4782 4779 374 2 291 + 4779 16883 4780 2 291 + 4780 16883 16884 2 291 + 4780 16884 4781 2 291 + 16886 16887 16889 2 293 + 4810 376 16888 2 293 + 4810 16888 4809 2 293 + 4809 16888 16887 2 293 + 4809 16887 16886 2 293 + 4809 16886 4808 2 293 + 4808 16886 16885 2 293 + 4808 16885 4807 2 293 + 4807 16885 4806 2 293 + 4806 16885 4789 2 293 + 4806 4789 378 2 293 + 4789 16885 4788 2 293 + 4788 16885 4787 2 293 + 4787 16885 16886 2 293 + 4787 16886 4786 2 293 + 4786 16886 16889 2 293 + 4786 16889 377 2 293 + 377 16889 4784 2 293 + 4784 16889 16887 2 293 + 4784 16887 4785 2 293 + 4785 16887 16888 2 293 + 4785 16888 376 2 293 + 16892 16890 16893 2 296 + 16893 16890 16891 2 296 + 16893 16891 16896 2 296 + 16896 16891 16894 2 296 + 16894 16891 16895 2 296 + 16894 16895 16898 2 296 + 16896 16894 16899 2 296 + 16899 16894 16897 2 296 + 16897 16894 16898 2 296 + 5668 379 4815 2 296 + 5668 4815 16892 2 296 + 5668 16892 662 2 296 + 662 16892 16893 2 296 + 662 16893 16505 2 296 + 16505 16893 16896 2 296 + 16505 16896 16506 2 296 + 16506 16896 16899 2 296 + 16506 16899 663 2 296 + 663 16899 16900 2 296 + 663 16900 5666 2 296 + 5666 16900 4817 2 296 + 5666 4817 381 2 296 + 4817 16900 4816 2 296 + 4816 16900 16898 2 296 + 4816 16898 380 2 296 + 380 16898 4811 2 296 + 4811 16898 16895 2 296 + 4811 16895 4812 2 296 + 4812 16895 16891 2 296 + 4812 16891 4813 2 296 + 4813 16891 16890 2 296 + 4813 16890 4814 2 296 + 4814 16890 16892 2 296 + 4814 16892 4815 2 296 + 16898 16900 16897 2 296 + 16897 16900 16899 2 296 + 4830 382 4827 2 298 + 4830 4827 4826 2 298 + 4830 4826 384 2 298 + 384 4826 383 2 298 + 387 385 4843 2 301 + 387 4843 386 2 301 + 390 388 4850 2 303 + 4850 388 389 2 303 + 5773 391 16901 2 305 + 5773 16901 4853 2 305 + 5773 4853 5774 2 305 + 5774 4853 393 2 305 + 4853 16901 4852 2 305 + 4852 16901 4851 2 305 + 4852 4851 392 2 305 + 4851 16901 391 2 305 + 16902 16903 16904 2 307 + 16904 16903 16905 2 307 + 5785 394 16903 2 307 + 5785 16903 5786 2 307 + 5786 16903 16902 2 307 + 5786 16902 5787 2 307 + 5787 16902 4860 2 307 + 5787 4860 396 2 307 + 4860 16902 4859 2 307 + 4859 16902 4858 2 307 + 4858 16902 16904 2 307 + 4858 16904 4857 2 307 + 4857 16904 16905 2 307 + 4857 16905 4854 2 307 + 4857 4854 4856 2 307 + 4856 4854 395 2 307 + 4854 16905 4855 2 307 + 4855 16905 394 2 307 + 394 16905 16903 2 307 + 399 397 4866 2 309 + 4866 397 401 2 309 + 401 397 4865 2 309 + 401 4865 4864 2 309 + 401 4864 16479 2 309 + 16479 4864 4863 2 309 + 16479 4863 400 2 309 + 400 4863 4862 2 309 + 400 4862 4868 2 309 + 4868 4862 4861 2 309 + 4868 4861 398 2 309 + 4881 402 4867 2 311 + 4881 4867 16906 2 311 + 4881 16906 4880 2 311 + 4880 16906 16907 2 311 + 4880 16907 404 2 311 + 404 16907 4872 2 311 + 4872 16907 16908 2 311 + 4872 16908 4871 2 311 + 4871 16908 400 2 311 + 4871 400 4869 2 311 + 4871 4869 4870 2 311 + 4870 4869 403 2 311 + 400 16908 16479 2 311 + 16479 16908 16907 2 311 + 16479 16907 16906 2 311 + 16479 16906 401 2 311 + 401 16906 4867 2 311 + 4878 405 4875 2 314 + 4878 4875 4874 2 314 + 4878 4874 407 2 314 + 407 4874 4876 2 314 + 4876 4874 4873 2 314 + 4876 4873 406 2 314 + 5850 408 409 2 319 + 5850 409 410 2 319 + 4892 411 412 2 321 + 4892 412 413 2 321 + 4902 414 4893 2 324 + 4902 4893 16909 2 324 + 4902 16909 4901 2 324 + 4901 16909 4895 2 324 + 4901 4895 4896 2 324 + 4901 4896 4900 2 324 + 4900 4896 416 2 324 + 4895 16909 4894 2 324 + 4894 16909 415 2 324 + 415 16909 4893 2 324 + 5872 417 4910 2 327 + 5872 4910 4909 2 327 + 5872 4909 5873 2 327 + 5873 4909 4908 2 327 + 5873 4908 419 2 327 + 419 4908 418 2 327 + 422 420 4917 2 329 + 4917 420 421 2 329 + 425 423 4919 2 331 + 4919 423 4918 2 331 + 4919 4918 424 2 331 + 16912 16913 16915 2 333 + 16915 16913 16916 2 333 + 16913 16914 16916 2 333 + 5928 426 16914 2 333 + 5928 16914 16913 2 333 + 5928 16913 5929 2 333 + 5929 16913 16912 2 333 + 5929 16912 715 2 333 + 715 16912 16911 2 333 + 715 16911 716 2 333 + 716 16911 16910 2 333 + 716 16910 5925 2 333 + 5925 16910 4921 2 333 + 5925 4921 428 2 333 + 4921 16910 430 2 333 + 430 16910 16480 2 333 + 16480 16910 16911 2 333 + 16480 16911 16912 2 333 + 16480 16912 16915 2 333 + 16480 16915 429 2 333 + 429 16915 4925 2 333 + 4925 16915 16916 2 333 + 4925 16916 427 2 333 + 427 16916 4920 2 333 + 4920 16916 16914 2 333 + 4920 16914 426 2 333 + 6000 431 4924 2 335 + 6000 4924 6001 2 335 + 6001 4924 430 2 335 + 6001 430 6002 2 335 + 6002 430 16480 2 335 + 6002 16480 6003 2 335 + 6003 16480 6004 2 335 + 6004 16480 429 2 335 + 6004 429 16917 2 335 + 6004 16917 6005 2 335 + 6005 16917 433 2 335 + 433 16917 4928 2 335 + 433 4928 432 2 335 + 4928 16917 429 2 335 + 443 434 16919 2 338 + 443 16919 16481 2 338 + 443 16481 16918 2 338 + 443 16918 16490 2 338 + 16490 16918 16482 2 338 + 16490 16482 16483 2 338 + 16490 16483 16489 2 338 + 16489 16483 16484 2 338 + 16489 16484 16488 2 338 + 16488 16484 16485 2 338 + 16488 16485 16487 2 338 + 16487 16485 16486 2 338 + 16487 16486 442 2 338 + 442 16486 438 2 338 + 442 438 436 2 338 + 16482 16918 16481 2 338 + 16481 16919 437 2 338 + 437 16919 434 2 338 + 437 434 435 2 338 + 4949 439 438 2 340 + 4949 438 16486 2 340 + 4949 16486 4948 2 340 + 4948 16486 16485 2 340 + 4948 16485 4947 2 340 + 4947 16485 16484 2 340 + 4947 16484 441 2 340 + 441 16484 16483 2 340 + 441 16483 4942 2 340 + 4942 16483 16482 2 340 + 4942 16482 4941 2 340 + 4941 16482 4940 2 340 + 4940 16482 16481 2 340 + 4940 16481 4939 2 340 + 4939 16481 437 2 340 + 4939 437 440 2 340 + 6059 444 443 2 345 + 6059 443 6060 2 345 + 6060 443 16490 2 345 + 6060 16490 6061 2 345 + 6061 16490 16489 2 345 + 6061 16489 446 2 345 + 446 16489 16488 2 345 + 446 16488 4955 2 345 + 4955 16488 16487 2 345 + 4955 16487 4954 2 345 + 4954 16487 442 2 345 + 4954 442 4953 2 345 + 4953 442 445 2 345 + 449 447 4958 2 348 + 449 4958 4961 2 348 + 4961 4958 4957 2 348 + 4961 4957 4960 2 348 + 4960 4957 4956 2 348 + 4960 4956 4959 2 348 + 4959 4956 448 2 348 + 6066 450 16921 2 350 + 6066 16921 16920 2 350 + 6066 16920 6067 2 350 + 6067 16920 6068 2 350 + 6068 16920 454 2 350 + 6068 454 6069 2 350 + 6069 454 452 2 350 + 454 16920 16493 2 350 + 16493 16920 16921 2 350 + 16493 16921 16492 2 350 + 16492 16921 16922 2 350 + 16492 16922 16491 2 350 + 16491 16922 4963 2 350 + 16491 4963 453 2 350 + 453 4963 4962 2 350 + 453 4962 451 2 350 + 4963 16922 4964 2 350 + 4964 16922 450 2 350 + 450 16922 16921 2 350 + 16924 16923 16925 2 352 + 16925 16923 16926 2 352 + 16927 16924 16928 2 352 + 16924 16925 16928 2 352 + 16928 16925 16929 2 352 + 16925 16926 16929 2 352 + 16929 16926 16930 2 352 + 16931 16928 16932 2 352 + 16928 16929 16932 2 352 + 16932 16929 16933 2 352 + 16929 16930 16933 2 352 + 16933 16930 16934 2 352 + 16931 16932 16935 2 352 + 16935 16932 16936 2 352 + 16932 16933 16936 2 352 + 16936 16933 16937 2 352 + 16933 16934 16937 2 352 + 16937 16934 16938 2 352 + 4979 455 454 2 352 + 4979 454 16924 2 352 + 4979 16924 4978 2 352 + 4978 16924 16927 2 352 + 4978 16927 4977 2 352 + 4977 16927 16931 2 352 + 4977 16931 4976 2 352 + 4976 16931 457 2 352 + 457 16931 16935 2 352 + 457 16935 4967 2 352 + 4967 16935 16936 2 352 + 4967 16936 4966 2 352 + 4966 16936 16937 2 352 + 4966 16937 4965 2 352 + 4965 16937 16938 2 352 + 4965 16938 456 2 352 + 456 16938 453 2 352 + 453 16938 16934 2 352 + 453 16934 16491 2 352 + 16491 16934 16930 2 352 + 16491 16930 16492 2 352 + 16492 16930 16926 2 352 + 16492 16926 16493 2 352 + 16493 16926 16923 2 352 + 16493 16923 454 2 352 + 454 16923 16924 2 352 + 16931 16927 16928 2 352 + 460 458 4995 2 356 + 460 4995 4994 2 356 + 460 4994 4998 2 356 + 4998 4994 4993 2 356 + 4998 4993 4997 2 356 + 4997 4993 4992 2 356 + 4997 4992 4996 2 356 + 4996 4992 459 2 356 + 16942 16940 16943 2 358 + 16940 16941 16943 2 358 + 16943 16941 16944 2 358 + 16942 16943 16945 2 358 + 16945 16943 16946 2 358 + 16943 16944 16946 2 358 + 16945 16946 16947 2 358 + 6118 461 16944 2 358 + 6118 16944 16941 2 358 + 6118 16941 6119 2 358 + 6119 16941 16940 2 358 + 6119 16940 16939 2 358 + 6119 16939 6120 2 358 + 6120 16939 6121 2 358 + 6121 16939 465 2 358 + 6121 465 463 2 358 + 465 16939 16497 2 358 + 16497 16939 16940 2 358 + 16497 16940 16496 2 358 + 16496 16940 16942 2 358 + 16496 16942 16495 2 358 + 16495 16942 16945 2 358 + 16495 16945 16494 2 358 + 16494 16945 16947 2 358 + 16494 16947 464 2 358 + 464 16947 5009 2 358 + 464 5009 462 2 358 + 5009 16947 5010 2 358 + 5010 16947 16946 2 358 + 5010 16946 5011 2 358 + 5011 16946 16944 2 358 + 5011 16944 461 2 358 + 6165 466 465 2 360 + 6165 465 6166 2 360 + 6166 465 16497 2 360 + 6166 16497 6167 2 360 + 6167 16497 16496 2 360 + 6167 16496 16948 2 360 + 6167 16948 6168 2 360 + 6168 16948 16949 2 360 + 6168 16949 6169 2 360 + 6169 16949 468 2 360 + 468 16949 16494 2 360 + 468 16494 464 2 360 + 468 464 5012 2 360 + 5012 464 467 2 360 + 16494 16949 16495 2 360 + 16495 16949 16948 2 360 + 16495 16948 16496 2 360 + 471 469 5028 2 363 + 471 5028 470 2 363 + 5033 472 5029 2 366 + 5033 5029 5030 2 366 + 5033 5030 474 2 366 + 5029 472 473 2 366 + 6186 475 5037 2 369 + 6186 5037 16950 2 369 + 6186 16950 6187 2 369 + 6187 16950 5039 2 369 + 6187 5039 477 2 369 + 5039 16950 5038 2 369 + 5038 16950 5037 2 369 + 5038 5037 476 2 369 + 5061 478 5041 2 371 + 5061 5041 5060 2 371 + 5060 5041 5040 2 371 + 5060 5040 16951 2 371 + 5060 16951 5059 2 371 + 5059 16951 5043 2 371 + 5059 5043 5058 2 371 + 5058 5043 480 2 371 + 5043 16951 5042 2 371 + 5042 16951 479 2 371 + 479 16951 5040 2 371 + 483 481 5053 2 373 + 483 5053 5054 2 373 + 5054 5053 5052 2 373 + 5054 5052 482 2 373 + 16954 16952 16955 2 377 + 16952 16953 16955 2 377 + 16954 16955 16956 2 377 + 16956 16955 16957 2 377 + 6223 484 5065 2 377 + 6223 5065 6224 2 377 + 6224 5065 5064 2 377 + 6224 5064 16953 2 377 + 6224 16953 16952 2 377 + 6224 16952 6225 2 377 + 6225 16952 16954 2 377 + 6225 16954 6226 2 377 + 6226 16954 6227 2 377 + 6227 16954 16956 2 377 + 6227 16956 5067 2 377 + 6227 5067 486 2 377 + 5067 16956 5066 2 377 + 5066 16956 16957 2 377 + 5066 16957 485 2 377 + 485 16957 5062 2 377 + 5062 16957 16955 2 377 + 5062 16955 5063 2 377 + 5063 16955 16953 2 377 + 5063 16953 5064 2 377 + 489 487 5085 2 379 + 489 5085 5086 2 379 + 5086 5085 5084 2 379 + 5086 5084 488 2 379 + 16960 16958 16961 2 381 + 5106 490 16961 2 381 + 5106 16961 5105 2 381 + 5105 16961 16958 2 381 + 5105 16958 5104 2 381 + 5104 16958 16959 2 381 + 5104 16959 5103 2 381 + 5103 16959 5096 2 381 + 5103 5096 5097 2 381 + 5103 5097 5102 2 381 + 5102 5097 492 2 381 + 5096 16959 5095 2 381 + 5095 16959 16958 2 381 + 5095 16958 5094 2 381 + 5094 16958 16960 2 381 + 5094 16960 491 2 381 + 491 16960 5093 2 381 + 5093 16960 16961 2 381 + 5093 16961 490 2 381 + 16965 16963 16966 2 384 + 16966 16963 16967 2 384 + 16963 16962 16967 2 384 + 16967 16962 16964 2 384 + 6281 493 5111 2 384 + 6281 5111 16964 2 384 + 6281 16964 6282 2 384 + 6282 16964 16962 2 384 + 6282 16962 6283 2 384 + 6283 16962 5115 2 384 + 6283 5115 495 2 384 + 5115 16962 16963 2 384 + 5115 16963 5114 2 384 + 5114 16963 16965 2 384 + 5114 16965 5113 2 384 + 5113 16965 5112 2 384 + 5112 16965 5107 2 384 + 5112 5107 494 2 384 + 5107 16965 5108 2 384 + 5108 16965 16966 2 384 + 5108 16966 5109 2 384 + 5109 16966 16967 2 384 + 5109 16967 5110 2 384 + 5110 16967 16964 2 384 + 5110 16964 5111 2 384 + 498 496 5129 2 386 + 5129 496 5125 2 386 + 5129 5125 5128 2 386 + 5128 5125 5124 2 386 + 5128 5124 5127 2 386 + 5127 5124 5123 2 386 + 5127 5123 5126 2 386 + 5126 5123 5122 2 386 + 5126 5122 497 2 386 + 6357 499 5133 2 388 + 6357 5133 5132 2 388 + 6357 5132 501 2 388 + 501 5132 5135 2 388 + 5135 5132 5131 2 388 + 5135 5131 5134 2 388 + 5134 5131 5130 2 388 + 5134 5130 500 2 388 + 5150 502 5137 2 390 + 5150 5137 5149 2 390 + 5149 5137 5136 2 390 + 5149 5136 16968 2 390 + 5149 16968 5148 2 390 + 5148 16968 5147 2 390 + 5147 16968 5138 2 390 + 5147 5138 5139 2 390 + 5147 5139 5146 2 390 + 5146 5139 504 2 390 + 5138 16968 503 2 390 + 503 16968 5136 2 390 + 16972 16969 16973 2 393 + 16969 16970 16973 2 393 + 16973 16970 16974 2 393 + 16970 16971 16974 2 393 + 16972 16973 16975 2 393 + 16975 16973 16976 2 393 + 16973 16974 16976 2 393 + 6362 505 5155 2 393 + 6362 5155 16971 2 393 + 6362 16971 6363 2 393 + 6363 16971 16970 2 393 + 6363 16970 6364 2 393 + 6364 16970 16969 2 393 + 6364 16969 6365 2 393 + 6365 16969 16972 2 393 + 6365 16972 507 2 393 + 507 16972 5158 2 393 + 5158 16972 5157 2 393 + 5157 16972 16975 2 393 + 5157 16975 16977 2 393 + 5157 16977 5156 2 393 + 5156 16977 506 2 393 + 506 16977 5151 2 393 + 5151 16977 16975 2 393 + 5151 16975 5152 2 393 + 5152 16975 16976 2 393 + 5152 16976 5153 2 393 + 5153 16976 16974 2 393 + 5153 16974 5154 2 393 + 5154 16974 16971 2 393 + 5154 16971 5155 2 393 + 6379 508 5161 2 395 + 6379 5161 5160 2 395 + 6379 5160 510 2 395 + 510 5160 5162 2 395 + 5162 5160 5159 2 395 + 5162 5159 509 2 395 + 5173 511 5165 2 397 + 5173 5165 5166 2 397 + 5173 5166 5172 2 397 + 5172 5166 5167 2 397 + 5172 5167 513 2 397 + 5165 511 5163 2 397 + 5165 5163 5164 2 397 + 5164 5163 512 2 397 + 6384 514 5175 2 400 + 6384 5175 16978 2 400 + 6384 16978 6385 2 400 + 6385 16978 6386 2 400 + 6386 16978 5177 2 400 + 6386 5177 5178 2 400 + 6386 5178 6387 2 400 + 6387 5178 516 2 400 + 5177 16978 16979 2 400 + 5177 16979 5176 2 400 + 5176 16979 515 2 400 + 515 16979 5174 2 400 + 5174 16979 5175 2 400 + 5175 16979 16978 2 400 + 519 517 5194 2 402 + 5194 517 5191 2 402 + 5194 5191 5193 2 402 + 5193 5191 5190 2 402 + 5193 5190 5192 2 402 + 5192 5190 5189 2 402 + 5192 5189 518 2 402 + 16981 16980 16982 2 404 + 6477 520 5207 2 404 + 6477 5207 16980 2 404 + 6477 16980 6478 2 404 + 6478 16980 6479 2 404 + 6479 16980 16981 2 404 + 6479 16981 6480 2 404 + 6480 16981 6481 2 404 + 6481 16981 5209 2 404 + 6481 5209 522 2 404 + 5209 16981 5208 2 404 + 5208 16981 16982 2 404 + 5208 16982 521 2 404 + 521 16982 5205 2 404 + 5205 16982 5206 2 404 + 5206 16982 16980 2 404 + 5206 16980 5207 2 404 + 5228 523 5211 2 406 + 5228 5211 5213 2 406 + 5228 5213 525 2 406 + 5213 5211 5210 2 406 + 5213 5210 5212 2 406 + 5212 5210 524 2 406 + 5246 526 5232 2 409 + 5246 5232 5245 2 409 + 5245 5232 527 2 409 + 5245 527 528 2 409 + 6493 529 5256 2 412 + 6493 5256 5257 2 412 + 6493 5257 531 2 412 + 5256 529 5255 2 412 + 5255 529 5252 2 412 + 5255 5252 5254 2 412 + 5254 5252 5251 2 412 + 5254 5251 5253 2 412 + 5253 5251 530 2 412 + 5290 532 5262 2 414 + 5290 5262 16983 2 414 + 5290 16983 5289 2 414 + 5289 16983 5288 2 414 + 5288 16983 16984 2 414 + 5288 16984 5287 2 414 + 5287 16984 16985 2 414 + 5287 16985 5286 2 414 + 5286 16985 16986 2 414 + 5286 16986 534 2 414 + 534 16986 5263 2 414 + 5263 16986 533 2 414 + 533 16986 5258 2 414 + 5258 16986 16985 2 414 + 5258 16985 5259 2 414 + 5259 16985 16984 2 414 + 5259 16984 5260 2 414 + 5260 16984 16983 2 414 + 5260 16983 5261 2 414 + 5261 16983 5262 2 414 + 537 535 5273 2 416 + 537 5273 536 2 416 + 6510 538 16987 2 420 + 6510 16987 6511 2 420 + 6511 16987 542 2 420 + 6511 542 540 2 420 + 542 16987 16501 2 420 + 16501 16987 16500 2 420 + 16500 16987 16988 2 420 + 16500 16988 16989 2 420 + 16500 16989 16499 2 420 + 16499 16989 16990 2 420 + 16499 16990 16498 2 420 + 16498 16990 16991 2 420 + 16498 16991 541 2 420 + 541 16991 5291 2 420 + 541 5291 539 2 420 + 5291 16991 5292 2 420 + 5292 16991 16990 2 420 + 5292 16990 5293 2 420 + 5293 16990 5294 2 420 + 5294 16990 16989 2 420 + 5294 16989 16988 2 420 + 5294 16988 5295 2 420 + 5295 16988 538 2 420 + 538 16988 16987 2 420 + 545 543 542 2 422 + 545 542 5301 2 422 + 5301 542 16501 2 422 + 5301 16501 5300 2 422 + 5300 16501 16500 2 422 + 5300 16500 5299 2 422 + 5299 16500 16499 2 422 + 5299 16499 5298 2 422 + 5298 16499 16498 2 422 + 5298 16498 5297 2 422 + 5297 16498 541 2 422 + 5297 541 5296 2 422 + 5296 541 544 2 422 + 16993 16992 16994 2 425 + 16995 16993 16996 2 425 + 16993 16994 16996 2 425 + 16996 16994 16997 2 425 + 16995 16996 16998 2 425 + 16998 16996 16999 2 425 + 16996 16997 16999 2 425 + 16999 16997 17000 2 425 + 16999 17000 17001 2 425 + 6573 546 16992 2 425 + 6573 16992 16993 2 425 + 6573 16993 6574 2 425 + 6574 16993 16995 2 425 + 6574 16995 548 2 425 + 548 16995 5311 2 425 + 5311 16995 16998 2 425 + 5311 16998 5310 2 425 + 5310 16998 16999 2 425 + 5310 16999 17001 2 425 + 5310 17001 5309 2 425 + 5309 17001 5308 2 425 + 5308 17001 5302 2 425 + 5308 5302 547 2 425 + 5302 17001 5303 2 425 + 5303 17001 17000 2 425 + 5303 17000 5304 2 425 + 5304 17000 16997 2 425 + 5304 16997 5305 2 425 + 5305 16997 16994 2 425 + 5305 16994 5306 2 425 + 5306 16994 16992 2 425 + 5306 16992 5307 2 425 + 5307 16992 546 2 425 + 17004 17002 17005 2 427 + 17002 17003 17005 2 427 + 17005 17003 17006 2 427 + 17004 17005 17007 2 427 + 17007 17005 17008 2 427 + 17008 17005 17009 2 427 + 17005 17006 17009 2 427 + 17009 17006 17010 2 427 + 17007 17008 17011 2 427 + 17011 17008 17012 2 427 + 17008 17009 17012 2 427 + 5344 549 17010 2 427 + 5344 17010 17006 2 427 + 5344 17006 17003 2 427 + 5344 17003 5343 2 427 + 5343 17003 5342 2 427 + 5342 17003 17002 2 427 + 5342 17002 551 2 427 + 551 17002 5337 2 427 + 5337 17002 17004 2 427 + 5337 17004 5336 2 427 + 5336 17004 17007 2 427 + 5336 17007 5335 2 427 + 5335 17007 17011 2 427 + 5335 17011 5334 2 427 + 5334 17011 5330 2 427 + 5334 5330 550 2 427 + 5330 17011 17012 2 427 + 5330 17012 5331 2 427 + 5331 17012 17009 2 427 + 5331 17009 5332 2 427 + 5332 17009 17010 2 427 + 5332 17010 5333 2 427 + 5333 17010 549 2 427 + 6616 552 5347 2 430 + 6616 5347 17013 2 430 + 6616 17013 554 2 430 + 554 17013 5349 2 430 + 5349 17013 5346 2 430 + 5349 5346 5345 2 430 + 5349 5345 5348 2 430 + 5348 5345 553 2 430 + 5346 17013 5347 2 430 + 6624 555 5362 2 432 + 6624 5362 5363 2 432 + 6624 5363 557 2 432 + 5362 555 5361 2 432 + 5361 555 5359 2 432 + 5361 5359 5360 2 432 + 5360 5359 5358 2 432 + 5360 5358 556 2 432 + 5370 558 5367 2 434 + 5370 5367 5366 2 434 + 5370 5366 5369 2 434 + 5369 5366 5365 2 434 + 5369 5365 5368 2 434 + 5368 5365 5364 2 434 + 5368 5364 560 2 434 + 560 5364 559 2 434 + 17015 17014 17016 2 437 + 17016 17014 17017 2 437 + 17017 17014 17018 2 437 + 17019 17015 17020 2 437 + 17015 17016 17020 2 437 + 17020 17016 17021 2 437 + 17022 17019 17023 2 437 + 17019 17020 17023 2 437 + 17023 17020 17024 2 437 + 17020 17021 17024 2 437 + 17024 17021 17025 2 437 + 5387 561 17025 2 437 + 5387 17025 5386 2 437 + 5386 17025 17021 2 437 + 5386 17021 17016 2 437 + 5386 17016 5385 2 437 + 5385 17016 17017 2 437 + 5385 17017 5384 2 437 + 5384 17017 17018 2 437 + 5384 17018 563 2 437 + 563 17018 5378 2 437 + 5378 17018 5377 2 437 + 5377 17018 17014 2 437 + 5377 17014 5376 2 437 + 5376 17014 17015 2 437 + 5376 17015 5375 2 437 + 5375 17015 17019 2 437 + 5375 17019 5374 2 437 + 5374 17019 17022 2 437 + 5374 17022 562 2 437 + 562 17022 5371 2 437 + 5371 17022 17023 2 437 + 5371 17023 5372 2 437 + 5372 17023 17024 2 437 + 5372 17024 5373 2 437 + 5373 17024 17025 2 437 + 5373 17025 561 2 437 + 5396 564 5391 2 440 + 5396 5391 5395 2 440 + 5395 5391 5390 2 440 + 5395 5390 5394 2 440 + 5394 5390 5389 2 440 + 5394 5389 5393 2 440 + 5393 5389 17026 2 440 + 5393 17026 5392 2 440 + 5392 17026 565 2 440 + 5392 565 566 2 440 + 565 17026 5388 2 440 + 5388 17026 5389 2 440 + 6649 567 5401 2 443 + 6649 5401 5400 2 443 + 6649 5400 6650 2 443 + 6650 5400 5399 2 443 + 6650 5399 6651 2 443 + 6651 5399 5398 2 443 + 6651 5398 17027 2 443 + 6651 17027 6652 2 443 + 6652 17027 569 2 443 + 569 17027 5397 2 443 + 569 5397 568 2 443 + 5397 17027 5398 2 443 + 572 570 5402 2 445 + 5402 570 571 2 445 + 16402 573 17028 2 447 + 16402 17028 5417 2 447 + 16402 5417 575 2 447 + 5417 17028 5416 2 447 + 5416 17028 5415 2 447 + 5416 5415 574 2 447 + 5415 17028 573 2 447 + 17029 17030 17031 2 449 + 16425 576 5419 2 449 + 16425 5419 17030 2 449 + 16425 17030 16426 2 449 + 16426 17030 17029 2 449 + 16426 17029 5422 2 449 + 16426 5422 578 2 449 + 5422 17029 5421 2 449 + 5421 17029 17031 2 449 + 5421 17031 5420 2 449 + 5420 17031 5418 2 449 + 5420 5418 577 2 449 + 5418 17031 5419 2 449 + 5419 17031 17030 2 449 + 17034 17032 17035 2 451 + 17035 17032 17036 2 451 + 17032 17033 17036 2 451 + 17034 17035 17037 2 451 + 17037 17035 17038 2 451 + 17035 17036 17038 2 451 + 17038 17036 17039 2 451 + 5439 579 5425 2 451 + 5439 5425 17032 2 451 + 5439 17032 5438 2 451 + 5438 17032 17034 2 451 + 5438 17034 5437 2 451 + 5437 17034 17037 2 451 + 5437 17037 5436 2 451 + 5436 17037 5430 2 451 + 5436 5430 581 2 451 + 5430 17037 5429 2 451 + 5429 17037 17038 2 451 + 5429 17038 5428 2 451 + 5428 17038 5427 2 451 + 5427 17038 17039 2 451 + 5427 17039 5426 2 451 + 5426 17039 17036 2 451 + 5426 17036 5423 2 451 + 5426 5423 580 2 451 + 5423 17036 5424 2 451 + 5424 17036 17033 2 451 + 5424 17033 5425 2 451 + 5425 17033 17032 2 451 + 16428 582 586 2 454 + 16428 586 584 2 454 + 586 582 16504 2 454 + 16504 582 5443 2 454 + 16504 5443 16503 2 454 + 16503 5443 5442 2 454 + 16503 5442 16502 2 454 + 16502 5442 5441 2 454 + 16502 5441 585 2 454 + 585 5441 5440 2 454 + 585 5440 583 2 454 + 17044 17041 17045 2 456 + 17041 17040 17045 2 456 + 17045 17040 17042 2 456 + 17042 17040 17043 2 456 + 17042 17043 17047 2 456 + 17047 17043 17048 2 456 + 17044 17045 17049 2 456 + 17049 17045 17050 2 456 + 17045 17042 17050 2 456 + 17050 17042 17046 2 456 + 17046 17042 17047 2 456 + 17046 17047 17052 2 456 + 17052 17047 17053 2 456 + 17047 17048 17053 2 456 + 17053 17048 17054 2 456 + 17049 17050 17055 2 456 + 17055 17050 17056 2 456 + 17050 17046 17056 2 456 + 17056 17046 17051 2 456 + 17051 17046 17052 2 456 + 17051 17052 17058 2 456 + 17058 17052 17059 2 456 + 17052 17053 17059 2 456 + 17059 17053 17060 2 456 + 17053 17054 17060 2 456 + 17056 17051 17061 2 456 + 17061 17051 17057 2 456 + 17057 17051 17058 2 456 + 17057 17058 17062 2 456 + 17062 17058 17063 2 456 + 17058 17059 17063 2 456 + 17061 17062 17064 2 456 + 17061 17057 17062 2 456 + 16444 587 17041 2 456 + 16444 17041 17044 2 456 + 16444 17044 16445 2 456 + 16445 17044 17049 2 456 + 16445 17049 16446 2 456 + 16446 17049 17055 2 456 + 16446 17055 16447 2 456 + 16447 17055 17061 2 456 + 16447 17061 16448 2 456 + 16448 17061 17064 2 456 + 16448 17064 589 2 456 + 589 17064 5447 2 456 + 5447 17064 17062 2 456 + 5447 17062 5446 2 456 + 5446 17062 17063 2 456 + 5446 17063 5445 2 456 + 5445 17063 17059 2 456 + 5445 17059 5444 2 456 + 5444 17059 17060 2 456 + 5444 17060 588 2 456 + 588 17060 585 2 456 + 585 17060 17054 2 456 + 585 17054 16502 2 456 + 16502 17054 17048 2 456 + 16502 17048 16503 2 456 + 16503 17048 17043 2 456 + 16503 17043 16504 2 456 + 16504 17043 17040 2 456 + 16504 17040 586 2 456 + 586 17040 17041 2 456 + 586 17041 587 2 456 + 17061 17055 17056 2 456 + 592 590 5457 2 459 + 592 5457 5461 2 459 + 5461 5457 5456 2 459 + 5461 5456 5460 2 459 + 5460 5456 5455 2 459 + 5460 5455 5459 2 459 + 5459 5455 5454 2 459 + 5459 5454 5458 2 459 + 5458 5454 591 2 459 + 5475 593 594 2 462 + 5475 594 5466 2 462 + 5475 5466 17065 2 462 + 5475 17065 5474 2 462 + 5474 17065 5467 2 462 + 5474 5467 5473 2 462 + 5473 5467 5468 2 462 + 5473 5468 5472 2 462 + 5472 5468 595 2 462 + 5467 17065 5466 2 462 + 16451 596 5479 2 465 + 16451 5479 5478 2 465 + 16451 5478 17066 2 465 + 16451 17066 16452 2 465 + 16452 17066 598 2 465 + 598 17066 5481 2 465 + 5481 17066 17067 2 465 + 5481 17067 5480 2 465 + 5480 17067 5476 2 465 + 5480 5476 597 2 465 + 5476 17067 5477 2 465 + 5477 17067 17066 2 465 + 5477 17066 5478 2 465 + 5487 599 5483 2 467 + 5487 5483 17068 2 467 + 5487 17068 5486 2 467 + 5486 17068 601 2 467 + 601 17068 5484 2 467 + 5484 17068 5482 2 467 + 5484 5482 600 2 467 + 5482 17068 5483 2 467 + 17070 17069 17071 2 470 + 17070 17071 17072 2 470 + 17072 17071 17073 2 470 + 17072 17073 17075 2 470 + 16413 602 17074 2 470 + 16413 17074 16412 2 470 + 16412 17074 17073 2 470 + 16412 17073 17071 2 470 + 16412 17071 16411 2 470 + 16411 17071 17069 2 470 + 16411 17069 16410 2 470 + 16410 17069 16409 2 470 + 16409 17069 5494 2 470 + 16409 5494 5495 2 470 + 16409 5495 604 2 470 + 5494 17069 5493 2 470 + 5493 17069 17070 2 470 + 5493 17070 5492 2 470 + 5492 17070 17072 2 470 + 5492 17072 5491 2 470 + 5491 17072 5490 2 470 + 5490 17072 17075 2 470 + 5490 17075 603 2 470 + 603 17075 5488 2 470 + 5488 17075 5489 2 470 + 5489 17075 17073 2 470 + 5489 17073 17074 2 470 + 5489 17074 602 2 470 + 16406 605 5501 2 472 + 16406 5501 16407 2 472 + 16407 5501 5500 2 472 + 16407 5500 16408 2 472 + 16408 5500 5499 2 472 + 16408 5499 607 2 472 + 607 5499 5498 2 472 + 607 5498 5503 2 472 + 5503 5498 5497 2 472 + 5503 5497 5502 2 472 + 5502 5497 5496 2 472 + 5502 5496 606 2 472 + 5515 608 5509 2 474 + 5515 5509 17076 2 474 + 5515 17076 5514 2 474 + 5514 17076 5511 2 474 + 5514 5511 610 2 474 + 5511 17076 5510 2 474 + 5510 17076 5508 2 474 + 5510 5508 609 2 474 + 5508 17076 5509 2 474 + 16394 611 17077 2 477 + 16394 17077 5521 2 477 + 16394 5521 16393 2 477 + 16393 5521 613 2 477 + 5521 17077 5520 2 477 + 5520 17077 5519 2 477 + 5519 17077 5517 2 477 + 5519 5517 5516 2 477 + 5519 5516 5518 2 477 + 5518 5516 612 2 477 + 5517 17077 611 2 477 + 17080 17078 17081 2 479 + 17078 17079 17081 2 479 + 6698 614 5537 2 479 + 6698 5537 6699 2 479 + 6699 5537 5536 2 479 + 6699 5536 17079 2 479 + 6699 17079 17078 2 479 + 6699 17078 6700 2 479 + 6700 17078 6701 2 479 + 6701 17078 17080 2 479 + 6701 17080 616 2 479 + 616 17080 5538 2 479 + 5538 17080 5534 2 479 + 5538 5534 615 2 479 + 5534 17080 17081 2 479 + 5534 17081 5535 2 479 + 5535 17081 17079 2 479 + 5535 17079 5536 2 479 + 619 617 5557 2 481 + 619 5557 618 2 481 + 6758 620 5564 2 483 + 6758 5564 5565 2 483 + 6758 5565 622 2 483 + 5564 620 621 2 483 + 5576 623 5570 2 485 + 5576 5570 5571 2 485 + 5576 5571 625 2 485 + 5570 623 5567 2 485 + 5570 5567 5569 2 485 + 5569 5567 5566 2 485 + 5569 5566 5568 2 485 + 5568 5566 624 2 485 + 628 626 5579 2 488 + 5579 626 5577 2 488 + 5579 5577 5578 2 488 + 5578 5577 627 2 488 + 5593 629 5585 2 490 + 5593 5585 5592 2 490 + 5592 5585 5584 2 490 + 5592 5584 5586 2 490 + 5592 5586 5591 2 490 + 5591 5586 631 2 490 + 5586 5584 630 2 490 + 6793 632 5596 2 493 + 6793 5596 17083 2 493 + 6793 17083 6794 2 493 + 6794 17083 17082 2 493 + 6794 17082 6795 2 493 + 6795 17082 634 2 493 + 634 17082 5598 2 493 + 5598 17082 5597 2 493 + 5597 17082 17083 2 493 + 5597 17083 5594 2 493 + 5597 5594 633 2 493 + 5594 17083 5595 2 493 + 5595 17083 5596 2 493 + 637 635 5600 2 495 + 637 5600 5601 2 495 + 5601 5600 5599 2 495 + 5601 5599 636 2 495 + 5608 638 5602 2 497 + 5608 5602 17084 2 497 + 5608 17084 5607 2 497 + 5607 17084 5604 2 497 + 5607 5604 640 2 497 + 5604 17084 5603 2 497 + 5603 17084 5602 2 497 + 5603 5602 639 2 497 + 17087 17085 17088 2 500 + 17085 17086 17088 2 500 + 6852 641 17088 2 500 + 6852 17088 17086 2 500 + 6852 17086 6853 2 500 + 6853 17086 5622 2 500 + 6853 5622 5623 2 500 + 6853 5623 6854 2 500 + 6854 5623 643 2 500 + 5622 17086 17085 2 500 + 5622 17085 5621 2 500 + 5621 17085 17087 2 500 + 5621 17087 5620 2 500 + 5620 17087 17089 2 500 + 5620 17089 5619 2 500 + 5619 17089 5617 2 500 + 5619 5617 642 2 500 + 5617 17089 5618 2 500 + 5618 17089 17087 2 500 + 5618 17087 17088 2 500 + 5618 17088 641 2 500 + 16389 644 5628 2 502 + 16389 5628 5627 2 502 + 16389 5627 16390 2 502 + 16390 5627 5626 2 502 + 16390 5626 16391 2 502 + 16391 5626 5625 2 502 + 16391 5625 16392 2 502 + 16392 5625 5624 2 502 + 16392 5624 646 2 502 + 646 5624 645 2 502 + 5645 647 5629 2 504 + 5645 5629 5630 2 504 + 5645 5630 649 2 504 + 5629 647 648 2 504 + 17090 17091 17094 2 507 + 16388 650 17094 2 507 + 16388 17094 17091 2 507 + 16388 17091 16387 2 507 + 16387 17091 17092 2 507 + 16387 17092 16386 2 507 + 16386 17092 17093 2 507 + 16386 17093 16385 2 507 + 16385 17093 5651 2 507 + 16385 5651 652 2 507 + 5651 17093 5650 2 507 + 5650 17093 17092 2 507 + 5650 17092 5649 2 507 + 5649 17092 17091 2 507 + 5649 17091 5648 2 507 + 5648 17091 17090 2 507 + 5648 17090 5647 2 507 + 5647 17090 5646 2 507 + 5647 5646 651 2 507 + 5646 17090 17094 2 507 + 5646 17094 650 2 507 + 6895 653 5656 2 509 + 6895 5656 5655 2 509 + 6895 5655 6896 2 509 + 6896 5655 5654 2 509 + 6896 5654 6897 2 509 + 6897 5654 5653 2 509 + 6897 5653 6898 2 509 + 6898 5653 5652 2 509 + 6898 5652 655 2 509 + 655 5652 654 2 509 + 658 656 5657 2 511 + 5657 656 657 2 511 + 5672 659 17096 2 513 + 5672 17096 17095 2 513 + 5672 17095 17097 2 513 + 5672 17097 5671 2 513 + 5671 17097 5670 2 513 + 5670 17097 16506 2 513 + 5670 16506 663 2 513 + 5670 663 5669 2 513 + 5669 663 5665 2 513 + 5669 5665 661 2 513 + 16506 17097 16505 2 513 + 16505 17097 17095 2 513 + 16505 17095 662 2 513 + 662 17095 17096 2 513 + 662 17096 5664 2 513 + 662 5664 5667 2 513 + 5667 5664 660 2 513 + 5664 17096 659 2 513 + 17098 17099 17101 2 517 + 17101 17099 17102 2 517 + 17104 17101 17105 2 517 + 17101 17102 17105 2 517 + 17105 17102 17106 2 517 + 17102 17100 17106 2 517 + 17106 17100 17103 2 517 + 6917 664 5676 2 517 + 6917 5676 17098 2 517 + 6917 17098 6918 2 517 + 6918 17098 17101 2 517 + 6918 17101 6919 2 517 + 6919 17101 17104 2 517 + 6919 17104 666 2 517 + 666 17104 5680 2 517 + 5680 17104 17105 2 517 + 5680 17105 5679 2 517 + 5679 17105 17106 2 517 + 5679 17106 5678 2 517 + 5678 17106 17103 2 517 + 5678 17103 5677 2 517 + 5677 17103 5673 2 517 + 5677 5673 665 2 517 + 5673 17103 17100 2 517 + 5673 17100 5674 2 517 + 5674 17100 5675 2 517 + 5675 17100 17099 2 517 + 5675 17099 5676 2 517 + 5676 17099 17098 2 517 + 17099 17100 17102 2 517 + 6946 667 17108 2 519 + 6946 17108 669 2 519 + 669 17108 5718 2 519 + 5718 17108 17107 2 519 + 5718 17107 5717 2 519 + 5717 17107 5716 2 519 + 5716 17107 5712 2 519 + 5716 5712 5711 2 519 + 5716 5711 5715 2 519 + 5715 5711 668 2 519 + 5712 17107 5713 2 519 + 5713 17107 5714 2 519 + 5714 17107 17108 2 519 + 5714 17108 667 2 519 + 5739 670 5722 2 521 + 5739 5722 5738 2 521 + 5738 5722 5721 2 521 + 5738 5721 5737 2 521 + 5737 5721 5720 2 521 + 5737 5720 5723 2 521 + 5737 5723 672 2 521 + 5723 5720 5719 2 521 + 5723 5719 671 2 521 + 675 673 5724 2 523 + 675 5724 674 2 523 + 6979 676 5752 2 527 + 6979 5752 17111 2 527 + 6979 17111 17109 2 527 + 6979 17109 678 2 527 + 678 17109 5755 2 527 + 5755 17109 5754 2 527 + 5754 17109 17111 2 527 + 5754 17111 17110 2 527 + 5754 17110 5753 2 527 + 5753 17110 5750 2 527 + 5753 5750 677 2 527 + 5750 17110 5751 2 527 + 5751 17110 17111 2 527 + 5751 17111 5752 2 527 + 17112 17113 17114 2 529 + 6982 679 17113 2 529 + 6982 17113 6983 2 529 + 6983 17113 17112 2 529 + 6983 17112 681 2 529 + 681 17112 5760 2 529 + 5760 17112 17114 2 529 + 5760 17114 5759 2 529 + 5759 17114 5756 2 529 + 5759 5756 680 2 529 + 5756 17114 5757 2 529 + 5757 17114 17113 2 529 + 5757 17113 5758 2 529 + 5758 17113 679 2 529 + 684 682 5766 2 531 + 684 5766 5768 2 531 + 5768 5766 5765 2 531 + 5768 5765 5767 2 531 + 5767 5765 683 2 531 + 5791 685 686 2 534 + 5791 686 5777 2 534 + 5791 5777 5790 2 534 + 5790 5777 5778 2 534 + 5790 5778 5789 2 534 + 5789 5778 5779 2 534 + 5789 5779 5788 2 534 + 5788 5779 687 2 534 + 7017 688 5807 2 537 + 7017 5807 17117 2 537 + 7017 17117 7018 2 537 + 7018 17117 17116 2 537 + 7018 17116 7019 2 537 + 7019 17116 17115 2 537 + 7019 17115 690 2 537 + 690 17115 5808 2 537 + 5808 17115 5804 2 537 + 5808 5804 689 2 537 + 5804 17115 17116 2 537 + 5804 17116 5805 2 537 + 5805 17116 5806 2 537 + 5806 17116 17117 2 537 + 5806 17117 5807 2 537 + 7035 691 17119 2 539 + 7035 17119 17118 2 539 + 7035 17118 7036 2 539 + 7036 17118 5815 2 539 + 7036 5815 7037 2 539 + 7037 5815 5816 2 539 + 7037 5816 693 2 539 + 5815 17118 5814 2 539 + 5814 17118 17119 2 539 + 5814 17119 5813 2 539 + 5813 17119 5812 2 539 + 5813 5812 692 2 539 + 5812 17119 691 2 539 + 17123 17120 17124 2 541 + 17121 17122 17125 2 541 + 17125 17122 17126 2 541 + 17122 17123 17126 2 541 + 17123 17124 17126 2 541 + 17126 17124 17127 2 541 + 17126 17127 17128 2 541 + 17128 17127 17129 2 541 + 5882 694 17120 2 541 + 5882 17120 5881 2 541 + 5881 17120 17123 2 541 + 5881 17123 17122 2 541 + 5881 17122 5880 2 541 + 5880 17122 17121 2 541 + 5880 17121 696 2 541 + 696 17121 5825 2 541 + 5825 17121 5824 2 541 + 5824 17121 17125 2 541 + 5824 17125 5823 2 541 + 5823 17125 17126 2 541 + 5823 17126 17128 2 541 + 5823 17128 5822 2 541 + 5822 17128 17129 2 541 + 5822 17129 5821 2 541 + 5821 17129 5817 2 541 + 5821 5817 695 2 541 + 5817 17129 5818 2 541 + 5818 17129 17127 2 541 + 5818 17127 5819 2 541 + 5819 17127 17124 2 541 + 5819 17124 5820 2 541 + 5820 17124 17120 2 541 + 5820 17120 694 2 541 + 5853 697 5830 2 543 + 5853 5830 5829 2 543 + 5853 5829 17130 2 543 + 5853 17130 5852 2 543 + 5852 17130 5851 2 543 + 5851 17130 17131 2 543 + 5851 17131 699 2 543 + 699 17131 5831 2 543 + 5831 17131 5826 2 543 + 5831 5826 698 2 543 + 5826 17131 5827 2 543 + 5827 17131 5828 2 543 + 5828 17131 17130 2 543 + 5828 17130 5829 2 543 + 702 700 5861 2 546 + 702 5861 5863 2 546 + 5863 5861 5860 2 546 + 5863 5860 5862 2 546 + 5862 5860 5859 2 546 + 5862 5859 701 2 546 + 7066 703 5895 2 550 + 7066 5895 17133 2 550 + 7066 17133 7067 2 550 + 7067 17133 5894 2 550 + 7067 5894 17132 2 550 + 7067 17132 7068 2 550 + 7068 17132 7069 2 550 + 7069 17132 5896 2 550 + 7069 5896 705 2 550 + 5896 17132 704 2 550 + 704 17132 5893 2 550 + 5893 17132 5894 2 550 + 5894 17133 5895 2 550 + 7112 706 5905 2 552 + 7112 5905 5906 2 552 + 7112 5906 708 2 552 + 5905 706 5903 2 552 + 5905 5903 5904 2 552 + 5904 5903 707 2 552 + 5921 709 5919 2 554 + 5921 5919 5920 2 554 + 5920 5919 5918 2 554 + 5920 5918 711 2 554 + 711 5918 5917 2 554 + 711 5917 710 2 554 + 5932 712 17135 2 557 + 5932 17135 17134 2 557 + 5932 17134 5931 2 557 + 5931 17134 716 2 557 + 5931 716 5924 2 557 + 5931 5924 5930 2 557 + 5930 5924 714 2 557 + 716 17134 17135 2 557 + 716 17135 715 2 557 + 715 17135 17136 2 557 + 715 17136 5927 2 557 + 5927 17136 5926 2 557 + 5926 17136 5922 2 557 + 5926 5922 713 2 557 + 5922 17136 5923 2 557 + 5923 17136 17135 2 557 + 5923 17135 712 2 557 + 7135 717 5935 2 561 + 7135 5935 5934 2 561 + 7135 5934 719 2 561 + 719 5934 5937 2 561 + 5937 5934 5933 2 561 + 5937 5933 5936 2 561 + 5936 5933 718 2 561 + 7147 720 5947 2 563 + 7147 5947 5946 2 563 + 7147 5946 722 2 563 + 722 5946 721 2 563 + 7157 723 5948 2 565 + 7157 5948 5949 2 565 + 7157 5949 7158 2 565 + 7158 5949 725 2 565 + 5948 723 724 2 565 + 728 726 5955 2 567 + 728 5955 5957 2 567 + 5957 5955 5954 2 567 + 5957 5954 5956 2 567 + 5956 5954 727 2 567 + 7223 729 5975 2 569 + 7223 5975 17138 2 569 + 7223 17138 17137 2 569 + 7223 17137 7224 2 569 + 7224 17137 731 2 569 + 731 17137 5977 2 569 + 5977 17137 17138 2 569 + 5977 17138 5976 2 569 + 5976 17138 5974 2 569 + 5976 5974 730 2 569 + 5974 17138 5975 2 569 + 7284 732 5983 2 571 + 7284 5983 17140 2 571 + 7284 17140 7285 2 571 + 7285 17140 17139 2 571 + 7285 17139 7286 2 571 + 7286 17139 7287 2 571 + 7287 17139 5986 2 571 + 7287 5986 734 2 571 + 5986 17139 5985 2 571 + 5985 17139 5984 2 571 + 5984 17139 17140 2 571 + 5984 17140 5982 2 571 + 5984 5982 733 2 571 + 5982 17140 5983 2 571 + 737 735 5989 2 573 + 737 5989 5991 2 573 + 5991 5989 5988 2 573 + 5991 5988 5990 2 573 + 5990 5988 5987 2 573 + 5990 5987 736 2 573 + 17143 17141 17144 2 575 + 17144 17141 17145 2 575 + 17141 17142 17145 2 575 + 17145 17142 17146 2 575 + 6009 738 17142 2 575 + 6009 17142 17141 2 575 + 6009 17141 6008 2 575 + 6008 17141 17143 2 575 + 6008 17143 6007 2 575 + 6007 17143 6006 2 575 + 6006 17143 5999 2 575 + 6006 5999 740 2 575 + 5999 17143 5998 2 575 + 5998 17143 5997 2 575 + 5997 17143 17144 2 575 + 5997 17144 5996 2 575 + 5996 17144 17145 2 575 + 5996 17145 5995 2 575 + 5995 17145 17146 2 575 + 5995 17146 5994 2 575 + 5994 17146 5992 2 575 + 5994 5992 739 2 575 + 5992 17146 5993 2 575 + 5993 17146 17142 2 575 + 5993 17142 738 2 575 + 743 741 6018 2 578 + 6018 741 6013 2 578 + 6018 6013 6017 2 578 + 6017 6013 6012 2 578 + 6017 6012 6016 2 578 + 6016 6012 6011 2 578 + 6016 6011 6015 2 578 + 6015 6011 6010 2 578 + 6015 6010 6014 2 578 + 6014 6010 742 2 578 + 16383 744 6023 2 580 + 16383 6023 16384 2 580 + 16384 6023 6022 2 580 + 16384 6022 746 2 580 + 746 6022 6021 2 580 + 746 6021 6025 2 580 + 6025 6021 6020 2 580 + 6025 6020 6024 2 580 + 6024 6020 6019 2 580 + 6024 6019 745 2 580 + 6071 747 6027 2 582 + 6071 6027 6030 2 582 + 6071 6030 6031 2 582 + 6071 6031 6070 2 582 + 6070 6031 749 2 582 + 6030 6027 6029 2 582 + 6029 6027 6026 2 582 + 6029 6026 6028 2 582 + 6028 6026 748 2 582 + 17149 17147 17150 2 584 + 17150 17147 17148 2 584 + 17151 17149 17152 2 584 + 17152 17149 17153 2 584 + 17149 17150 17153 2 584 + 17153 17150 17154 2 584 + 17153 17154 17155 2 584 + 6065 750 6047 2 584 + 6065 6047 17148 2 584 + 6065 17148 17147 2 584 + 6065 17147 6064 2 584 + 6064 17147 6063 2 584 + 6063 17147 17149 2 584 + 6063 17149 6062 2 584 + 6062 17149 17151 2 584 + 6062 17151 752 2 584 + 752 17151 6051 2 584 + 6051 17151 17152 2 584 + 6051 17152 6050 2 584 + 6050 17152 17153 2 584 + 6050 17153 6049 2 584 + 6049 17153 17155 2 584 + 6049 17155 6048 2 584 + 6048 17155 6044 2 584 + 6048 6044 751 2 584 + 6044 17155 6045 2 584 + 6045 17155 17154 2 584 + 6045 17154 6046 2 584 + 6046 17154 17150 2 584 + 6046 17150 17148 2 584 + 6046 17148 6047 2 584 + 755 753 6055 2 586 + 755 6055 6058 2 586 + 6058 6055 6054 2 586 + 6058 6054 6057 2 586 + 6057 6054 6053 2 586 + 6057 6053 6056 2 586 + 6056 6053 6052 2 586 + 6056 6052 754 2 586 + 16382 756 17157 2 591 + 16382 17157 17156 2 591 + 16382 17156 16381 2 591 + 16381 17156 6076 2 591 + 16381 6076 758 2 591 + 6076 17156 6075 2 591 + 6075 17156 17157 2 591 + 6075 17157 6074 2 591 + 6074 17157 6072 2 591 + 6074 6072 757 2 591 + 6072 17157 6073 2 591 + 6073 17157 756 2 591 + 7333 759 6099 2 593 + 7333 6099 7334 2 593 + 7334 6099 6098 2 593 + 7334 6098 17158 2 593 + 7334 17158 7335 2 593 + 7335 17158 7336 2 593 + 7336 17158 760 2 593 + 7336 760 6100 2 593 + 7336 6100 7337 2 593 + 7337 6100 761 2 593 + 760 17158 6097 2 593 + 6097 17158 6098 2 593 + 764 762 6101 2 595 + 764 6101 763 2 595 + 6124 765 6108 2 598 + 6124 6108 6109 2 598 + 6124 6109 6123 2 598 + 6123 6109 6110 2 598 + 6123 6110 6122 2 598 + 6122 6110 6111 2 598 + 6122 6111 767 2 598 + 6108 765 766 2 598 + 7379 768 6132 2 601 + 7379 6132 7380 2 601 + 7380 6132 6131 2 601 + 7380 6131 7381 2 601 + 7381 6131 6130 2 601 + 7381 6130 7382 2 601 + 7382 6130 769 2 601 + 7382 769 6133 2 601 + 7382 6133 7383 2 601 + 7383 6133 770 2 601 + 773 771 6134 2 603 + 773 6134 772 2 603 + 776 774 6141 2 605 + 6141 774 775 2 605 + 7489 777 6148 2 607 + 7489 6148 17159 2 607 + 7489 17159 7490 2 607 + 7490 17159 6149 2 607 + 7490 6149 6150 2 607 + 7490 6150 7491 2 607 + 7491 6150 779 2 607 + 6149 17159 778 2 607 + 778 17159 6148 2 607 + 17161 17160 17162 2 609 + 17161 17162 17163 2 609 + 6172 780 17161 2 609 + 6172 17161 6171 2 609 + 6171 17161 17163 2 609 + 6171 17163 17164 2 609 + 6171 17164 6170 2 609 + 6170 17164 6157 2 609 + 6170 6157 782 2 609 + 6157 17164 6156 2 609 + 6156 17164 17163 2 609 + 6156 17163 6155 2 609 + 6155 17163 17162 2 609 + 6155 17162 6154 2 609 + 6154 17162 17160 2 609 + 6154 17160 6153 2 609 + 6153 17160 6151 2 609 + 6153 6151 781 2 609 + 6151 17160 6152 2 609 + 6152 17160 17161 2 609 + 6152 17161 780 2 609 + 6190 783 6175 2 612 + 6190 6175 17165 2 612 + 6190 17165 6189 2 612 + 6189 17165 17166 2 612 + 6189 17166 6188 2 612 + 6188 17166 6177 2 612 + 6188 6177 785 2 612 + 6177 17166 6176 2 612 + 6176 17166 6173 2 612 + 6176 6173 784 2 612 + 6173 17166 6174 2 612 + 6174 17166 17165 2 612 + 6174 17165 6175 2 612 + 17169 17167 17170 2 615 + 17170 17167 17171 2 615 + 17167 17168 17171 2 615 + 17171 17168 17172 2 615 + 17170 17171 17173 2 615 + 17173 17171 17174 2 615 + 17171 17172 17174 2 615 + 7500 786 6193 2 615 + 7500 6193 17172 2 615 + 7500 17172 17168 2 615 + 7500 17168 7501 2 615 + 7501 17168 17167 2 615 + 7501 17167 7502 2 615 + 7502 17167 17169 2 615 + 7502 17169 7503 2 615 + 7503 17169 6198 2 615 + 7503 6198 788 2 615 + 6198 17169 6197 2 615 + 6197 17169 6196 2 615 + 6196 17169 17170 2 615 + 6196 17170 17173 2 615 + 6196 17173 6195 2 615 + 6195 17173 6194 2 615 + 6194 17173 17174 2 615 + 6194 17174 6191 2 615 + 6194 6191 787 2 615 + 6191 17174 6192 2 615 + 6192 17174 17172 2 615 + 6192 17172 6193 2 615 + 17176 17175 17177 2 617 + 17177 17175 17178 2 617 + 17178 17175 17179 2 617 + 17179 17175 17180 2 617 + 17180 17175 17181 2 617 + 17181 17175 17176 2 617 + 17182 17177 17183 2 617 + 17177 17178 17183 2 617 + 17183 17178 17184 2 617 + 17184 17178 17185 2 617 + 17178 17179 17185 2 617 + 17186 17180 17187 2 617 + 17180 17181 17187 2 617 + 17183 17184 17188 2 617 + 17188 17184 17189 2 617 + 17184 17185 17189 2 617 + 7520 789 17182 2 617 + 7520 17182 17183 2 617 + 7520 17183 7521 2 617 + 7521 17183 17188 2 617 + 7521 17188 7522 2 617 + 7522 17188 793 2 617 + 7522 793 791 2 617 + 793 17188 17189 2 617 + 793 17189 16511 2 617 + 16511 17189 17185 2 617 + 16511 17185 16510 2 617 + 16510 17185 16509 2 617 + 16509 17185 17179 2 617 + 16509 17179 16508 2 617 + 16508 17179 17180 2 617 + 16508 17180 17186 2 617 + 16508 17186 16507 2 617 + 16507 17186 17187 2 617 + 16507 17187 792 2 617 + 792 17187 6206 2 617 + 792 6206 790 2 617 + 6206 17187 6207 2 617 + 6207 17187 17181 2 617 + 6207 17181 6208 2 617 + 6208 17181 17176 2 617 + 6208 17176 6209 2 617 + 6209 17176 6210 2 617 + 6210 17176 17177 2 617 + 6210 17177 17182 2 617 + 6210 17182 789 2 617 + 17194 17190 17195 2 619 + 17195 17190 17196 2 619 + 17190 17191 17196 2 619 + 17196 17191 17197 2 619 + 17191 17192 17197 2 619 + 17197 17192 17198 2 619 + 17199 17193 17200 2 619 + 17193 17194 17200 2 619 + 17200 17194 17201 2 619 + 17194 17195 17201 2 619 + 17201 17195 17202 2 619 + 17195 17196 17202 2 619 + 17202 17196 17203 2 619 + 17196 17197 17203 2 619 + 17203 17197 17204 2 619 + 17197 17198 17204 2 619 + 17204 17198 17205 2 619 + 17199 17200 17206 2 619 + 17206 17200 17207 2 619 + 17200 17201 17207 2 619 + 17207 17201 17208 2 619 + 17201 17202 17208 2 619 + 17208 17202 17209 2 619 + 17209 17202 17210 2 619 + 17202 17203 17210 2 619 + 17210 17203 17211 2 619 + 17203 17204 17211 2 619 + 17211 17204 17212 2 619 + 17204 17205 17212 2 619 + 17206 17207 17213 2 619 + 17213 17207 17214 2 619 + 17207 17208 17214 2 619 + 17214 17208 17215 2 619 + 17208 17209 17215 2 619 + 17209 17210 17215 2 619 + 17215 17210 17216 2 619 + 17210 17211 17216 2 619 + 17216 17211 17217 2 619 + 17211 17212 17217 2 619 + 17214 17215 17218 2 619 + 17218 17215 17219 2 619 + 17215 17216 17219 2 619 + 6231 794 17206 2 619 + 6231 17206 6230 2 619 + 6230 17206 17213 2 619 + 6230 17213 6229 2 619 + 6229 17213 17214 2 619 + 6229 17214 6228 2 619 + 6228 17214 17218 2 619 + 6228 17218 796 2 619 + 796 17218 17219 2 619 + 796 17219 6215 2 619 + 6215 17219 17216 2 619 + 6215 17216 17217 2 619 + 6215 17217 6214 2 619 + 6214 17217 6213 2 619 + 6213 17217 17212 2 619 + 6213 17212 6212 2 619 + 6212 17212 17205 2 619 + 6212 17205 6211 2 619 + 6211 17205 17198 2 619 + 6211 17198 795 2 619 + 795 17198 792 2 619 + 792 17198 16507 2 619 + 16507 17198 17192 2 619 + 16507 17192 16508 2 619 + 16508 17192 17191 2 619 + 16508 17191 16509 2 619 + 16509 17191 17190 2 619 + 16509 17190 16510 2 619 + 16510 17190 17194 2 619 + 16510 17194 17193 2 619 + 16510 17193 16511 2 619 + 16511 17193 793 2 619 + 793 17193 17199 2 619 + 793 17199 794 2 619 + 794 17199 17206 2 619 + 7538 797 6235 2 623 + 7538 6235 6234 2 623 + 7538 6234 7539 2 623 + 7539 6234 6233 2 623 + 7539 6233 7540 2 623 + 7540 6233 6232 2 623 + 7540 6232 799 2 623 + 799 6232 798 2 623 + 802 800 6236 2 625 + 6236 800 801 2 625 + 805 803 6249 2 627 + 805 6249 804 2 627 + 6254 806 807 2 629 + 6254 807 808 2 629 + 811 809 6257 2 632 + 6257 809 6255 2 632 + 6257 6255 6256 2 632 + 6256 6255 810 2 632 + 6288 812 6267 2 634 + 6288 6267 6266 2 634 + 6288 6266 17221 2 634 + 6288 17221 6287 2 634 + 6287 17221 6286 2 634 + 6286 17221 813 2 634 + 6286 813 6268 2 634 + 6286 6268 17220 2 634 + 6286 17220 6285 2 634 + 6285 17220 6269 2 634 + 6285 6269 6284 2 634 + 6284 6269 6270 2 634 + 6284 6270 814 2 634 + 6269 17220 6268 2 634 + 813 17221 6266 2 634 + 17222 17223 17225 2 637 + 17225 17223 17226 2 637 + 17223 17224 17226 2 637 + 17226 17224 17227 2 637 + 7648 815 6293 2 637 + 7648 6293 17228 2 637 + 7648 17228 7649 2 637 + 7649 17228 17227 2 637 + 7649 17227 7650 2 637 + 7650 17227 17224 2 637 + 7650 17224 817 2 637 + 817 17224 6296 2 637 + 6296 17224 17223 2 637 + 6296 17223 6295 2 637 + 6295 17223 17222 2 637 + 6295 17222 6294 2 637 + 6294 17222 6289 2 637 + 6294 6289 816 2 637 + 6289 17222 6290 2 637 + 6290 17222 17225 2 637 + 6290 17225 6291 2 637 + 6291 17225 17226 2 637 + 6291 17226 6292 2 637 + 6292 17226 17228 2 637 + 6292 17228 6293 2 637 + 17228 17226 17227 2 637 + 7655 818 6299 2 639 + 7655 6299 17229 2 639 + 7655 17229 7656 2 639 + 7656 17229 820 2 639 + 820 17229 6301 2 639 + 6301 17229 17230 2 639 + 6301 17230 6300 2 639 + 6300 17230 6297 2 639 + 6300 6297 819 2 639 + 6297 17230 6298 2 639 + 6298 17230 17229 2 639 + 6298 17229 6299 2 639 + 7680 821 6303 2 641 + 7680 6303 17231 2 641 + 7680 17231 823 2 641 + 823 17231 6305 2 641 + 6305 17231 6304 2 641 + 6304 17231 6302 2 641 + 6304 6302 822 2 641 + 6302 17231 6303 2 641 + 6320 824 6319 2 643 + 6320 6319 6318 2 643 + 6320 6318 826 2 643 + 826 6318 825 2 643 + 6391 827 6324 2 646 + 6391 6324 6325 2 646 + 6391 6325 6390 2 646 + 6390 6325 6326 2 646 + 6390 6326 6389 2 646 + 6389 6326 6327 2 646 + 6389 6327 6388 2 646 + 6388 6327 829 2 646 + 6324 827 6323 2 646 + 6323 827 6321 2 646 + 6323 6321 6322 2 646 + 6322 6321 828 2 646 + 832 830 6333 2 648 + 832 6333 6332 2 648 + 832 6332 6338 2 648 + 6338 6332 6331 2 648 + 6338 6331 6337 2 648 + 6337 6331 6330 2 648 + 6337 6330 6336 2 648 + 6336 6330 6329 2 648 + 6336 6329 6335 2 648 + 6335 6329 6328 2 648 + 6335 6328 6334 2 648 + 6334 6328 831 2 648 + 17233 17232 17234 2 650 + 17234 17232 17235 2 650 + 17235 17232 17236 2 650 + 17236 17232 17237 2 650 + 17237 17232 17238 2 650 + 17238 17232 17233 2 650 + 17233 17234 17239 2 650 + 17240 17236 17241 2 650 + 17236 17237 17241 2 650 + 17241 17237 17242 2 650 + 6368 833 17240 2 650 + 6368 17240 17241 2 650 + 6368 17241 6367 2 650 + 6367 17241 6366 2 650 + 6366 17241 17242 2 650 + 6366 17242 6349 2 650 + 6366 6349 835 2 650 + 6349 17242 6348 2 650 + 6348 17242 17237 2 650 + 6348 17237 17238 2 650 + 6348 17238 6347 2 650 + 6347 17238 6346 2 650 + 6346 17238 17233 2 650 + 6346 17233 6345 2 650 + 6345 17233 17239 2 650 + 6345 17239 6344 2 650 + 6344 17239 6339 2 650 + 6344 6339 834 2 650 + 6339 17239 6340 2 650 + 6340 17239 17234 2 650 + 6340 17234 6341 2 650 + 6341 17234 17235 2 650 + 6341 17235 6342 2 650 + 6342 17235 17236 2 650 + 6342 17236 6343 2 650 + 6343 17236 17240 2 650 + 6343 17240 833 2 650 + 6361 836 6355 2 652 + 6361 6355 6354 2 652 + 6361 6354 6360 2 652 + 6360 6354 17243 2 652 + 6360 17243 6359 2 652 + 6359 17243 6358 2 652 + 6358 17243 17244 2 652 + 6358 17244 838 2 652 + 838 17244 6351 2 652 + 838 6351 6356 2 652 + 6356 6351 6350 2 652 + 6356 6350 837 2 652 + 6351 17244 6352 2 652 + 6352 17244 17243 2 652 + 6352 17243 6353 2 652 + 6353 17243 6354 2 652 + 841 839 6374 2 656 + 6374 839 6371 2 656 + 6374 6371 6373 2 656 + 6373 6371 6370 2 656 + 6373 6370 6372 2 656 + 6372 6370 6369 2 656 + 6372 6369 840 2 656 + 6383 842 6377 2 658 + 6383 6377 6382 2 658 + 6382 6377 6376 2 658 + 6382 6376 17245 2 658 + 6382 17245 6381 2 658 + 6381 17245 6380 2 658 + 6380 17245 17246 2 658 + 6380 17246 6378 2 658 + 6380 6378 844 2 658 + 6378 17246 843 2 658 + 843 17246 6375 2 658 + 6375 17246 17245 2 658 + 6375 17245 6376 2 658 + 7694 845 17247 2 663 + 7694 17247 6417 2 663 + 7694 6417 847 2 663 + 6417 17247 6416 2 663 + 6416 17247 17248 2 663 + 6416 17248 6415 2 663 + 6415 17248 6411 2 663 + 6415 6411 6414 2 663 + 6414 6411 6410 2 663 + 6414 6410 846 2 663 + 6411 17248 6412 2 663 + 6412 17248 6413 2 663 + 6413 17248 17247 2 663 + 6413 17247 845 2 663 + 7742 848 6439 2 665 + 7742 6439 7743 2 665 + 7743 6439 6438 2 665 + 7743 6438 7744 2 665 + 7744 6438 6437 2 665 + 7744 6437 7745 2 665 + 7745 6437 6436 2 665 + 7745 6436 850 2 665 + 850 6436 849 2 665 + 7764 851 852 2 667 + 7764 852 6440 2 667 + 7764 6440 7765 2 667 + 7765 6440 853 2 667 + 856 854 6441 2 669 + 856 6441 855 2 669 + 7802 857 6464 2 672 + 7802 6464 6465 2 672 + 7802 6465 7803 2 672 + 7803 6465 6466 2 672 + 7803 6466 7804 2 672 + 7804 6466 6467 2 672 + 7804 6467 859 2 672 + 6464 857 858 2 672 + 17251 17249 17252 2 674 + 17249 17250 17252 2 674 + 17251 17252 17253 2 674 + 6483 860 17251 2 674 + 6483 17251 6482 2 674 + 6482 17251 17253 2 674 + 6482 17253 862 2 674 + 862 17253 6476 2 674 + 6476 17253 6475 2 674 + 6475 17253 17252 2 674 + 6475 17252 6474 2 674 + 6474 17252 17250 2 674 + 6474 17250 6473 2 674 + 6473 17250 6472 2 674 + 6472 17250 6468 2 674 + 6472 6468 861 2 674 + 6468 17250 6469 2 674 + 6469 17250 6470 2 674 + 6470 17250 17249 2 674 + 6470 17249 6471 2 674 + 6471 17249 17251 2 674 + 6471 17251 860 2 674 + 865 863 6485 2 677 + 865 6485 6486 2 677 + 6486 6485 6484 2 677 + 6486 6484 864 2 677 + 868 866 6494 2 680 + 6494 866 867 2 680 + 6514 869 6495 2 682 + 6514 6495 17254 2 682 + 6514 17254 6513 2 682 + 6513 17254 6512 2 682 + 6512 17254 6497 2 682 + 6512 6497 871 2 682 + 6497 17254 6496 2 682 + 6496 17254 870 2 682 + 870 17254 6495 2 682 + 17255 17256 17258 2 685 + 7836 872 6532 2 685 + 7836 6532 17257 2 685 + 7836 17257 7837 2 685 + 7837 17257 17256 2 685 + 7837 17256 7838 2 685 + 7838 17256 17255 2 685 + 7838 17255 7839 2 685 + 7839 17255 6534 2 685 + 7839 6534 874 2 685 + 6534 17255 17258 2 685 + 6534 17258 6533 2 685 + 6533 17258 873 2 685 + 873 17258 6530 2 685 + 6530 17258 6531 2 685 + 6531 17258 17257 2 685 + 6531 17257 6532 2 685 + 17257 17258 17256 2 685 + 877 875 6548 2 687 + 877 6548 6549 2 687 + 6549 6548 6547 2 687 + 6549 6547 876 2 687 + 6576 878 17259 2 689 + 6576 17259 6575 2 689 + 6575 17259 6560 2 689 + 6575 6560 880 2 689 + 6560 17259 6559 2 689 + 6559 17259 6558 2 689 + 6558 17259 878 2 689 + 6558 878 6556 2 689 + 6558 6556 6557 2 689 + 6557 6556 879 2 689 + 6572 881 6570 2 691 + 6572 6570 6569 2 691 + 6572 6569 6571 2 691 + 6571 6569 6568 2 691 + 6571 6568 883 2 691 + 883 6568 6567 2 691 + 883 6567 882 2 691 + 7902 884 6585 2 695 + 7902 6585 6586 2 695 + 7902 6586 7903 2 695 + 7903 6586 6587 2 695 + 7903 6587 886 2 695 + 6585 884 6582 2 695 + 6585 6582 6584 2 695 + 6584 6582 6581 2 695 + 6584 6581 6583 2 695 + 6583 6581 885 2 695 + 7960 887 6592 2 697 + 7960 6592 6591 2 697 + 7960 6591 7961 2 697 + 7961 6591 6590 2 697 + 7961 6590 7962 2 697 + 7962 6590 6589 2 697 + 7962 6589 7963 2 697 + 7963 6589 6588 2 697 + 7963 6588 889 2 697 + 889 6588 888 2 697 + 7965 890 6593 2 699 + 7965 6593 6594 2 699 + 7965 6594 892 2 699 + 6593 890 891 2 699 + 895 893 6608 2 701 + 895 6608 6609 2 701 + 6609 6608 6607 2 701 + 6609 6607 894 2 701 + 898 896 6617 2 704 + 6617 896 897 2 704 + 7983 899 900 2 707 + 7983 900 901 2 707 + 6659 902 6635 2 709 + 6659 6635 17261 2 709 + 6659 17261 6658 2 709 + 6658 17261 6657 2 709 + 6657 17261 17260 2 709 + 6657 17260 6656 2 709 + 6656 17260 6638 2 709 + 6656 6638 6639 2 709 + 6656 6639 6655 2 709 + 6655 6639 904 2 709 + 6638 17260 6637 2 709 + 6637 17260 17261 2 709 + 6637 17261 6636 2 709 + 6636 17261 6635 2 709 + 6635 902 903 2 709 + 907 905 6644 2 711 + 907 6644 6643 2 711 + 907 6643 6648 2 711 + 6648 6643 6642 2 711 + 6648 6642 6647 2 711 + 6647 6642 6641 2 711 + 6647 6641 6646 2 711 + 6646 6641 6640 2 711 + 6646 6640 6645 2 711 + 6645 6640 906 2 711 + 8018 908 6671 2 715 + 8018 6671 17263 2 715 + 8018 17263 8019 2 715 + 8019 17263 8020 2 715 + 8020 17263 17262 2 715 + 8020 17262 910 2 715 + 910 17262 6673 2 715 + 6673 17262 6668 2 715 + 6673 6668 6672 2 715 + 6672 6668 6667 2 715 + 6672 6667 909 2 715 + 6668 17262 6669 2 715 + 6669 17262 17263 2 715 + 6669 17263 6670 2 715 + 6670 17263 6671 2 715 + 8054 911 6679 2 717 + 8054 6679 8055 2 717 + 8055 6679 6678 2 717 + 8055 6678 8056 2 717 + 8056 6678 912 2 717 + 8056 912 913 2 717 + 916 914 6680 2 719 + 6680 914 915 2 719 + 6704 917 17265 2 721 + 6704 17265 6703 2 721 + 6703 17265 6684 2 721 + 6703 6684 6685 2 721 + 6703 6685 6702 2 721 + 6702 6685 919 2 721 + 6684 17265 6683 2 721 + 6683 17265 17264 2 721 + 6683 17264 6682 2 721 + 6682 17264 6681 2 721 + 6682 6681 918 2 721 + 6681 17264 917 2 721 + 917 17264 17265 2 721 + 922 920 6710 2 724 + 6710 920 6707 2 724 + 6710 6707 6709 2 724 + 6709 6707 6706 2 724 + 6709 6706 6708 2 724 + 6708 6706 6705 2 724 + 6708 6705 921 2 724 + 8123 923 6728 2 726 + 8123 6728 8124 2 726 + 8124 6728 17266 2 726 + 8124 17266 925 2 726 + 925 17266 6729 2 726 + 6729 17266 6726 2 726 + 6729 6726 924 2 726 + 6726 17266 6727 2 726 + 6727 17266 6728 2 726 + 928 926 6730 2 728 + 928 6730 927 2 728 + 6759 929 6741 2 731 + 6759 6741 6742 2 731 + 6759 6742 931 2 731 + 6741 929 930 2 731 + 934 932 6756 2 733 + 934 6756 6757 2 733 + 6757 6756 6755 2 733 + 6757 6755 933 2 733 + 8130 935 6763 2 737 + 8130 6763 8131 2 737 + 8131 6763 936 2 737 + 8131 936 8132 2 737 + 8132 936 6764 2 737 + 8132 6764 8133 2 737 + 8133 6764 6765 2 737 + 8133 6765 8134 2 737 + 8134 6765 6766 2 737 + 8134 6766 937 2 737 + 17268 17267 17269 2 739 + 6796 938 17267 2 739 + 6796 17267 17268 2 739 + 6796 17268 940 2 739 + 940 17268 6787 2 739 + 6787 17268 17269 2 739 + 6787 17269 6786 2 739 + 6786 17269 6785 2 739 + 6785 17269 6782 2 739 + 6785 6782 939 2 739 + 6782 17269 6783 2 739 + 6783 17269 17267 2 739 + 6783 17267 6784 2 739 + 6784 17267 938 2 739 + 943 941 6802 2 742 + 6802 941 6800 2 742 + 6802 6800 6801 2 742 + 6801 6800 942 2 742 + 8212 944 6812 2 744 + 8212 6812 17270 2 744 + 8212 17270 8213 2 744 + 8213 17270 6815 2 744 + 8213 6815 946 2 744 + 6815 17270 6814 2 744 + 6814 17270 6812 2 744 + 6814 6812 6811 2 744 + 6814 6811 6813 2 744 + 6813 6811 945 2 744 + 17273 17271 17274 2 746 + 17271 17272 17274 2 746 + 17274 17272 17275 2 746 + 17276 17273 17277 2 746 + 17273 17274 17277 2 746 + 17277 17274 17278 2 746 + 17274 17275 17278 2 746 + 17278 17275 17279 2 746 + 6858 947 6818 2 746 + 6858 6818 17272 2 746 + 6858 17272 17271 2 746 + 6858 17271 6857 2 746 + 6857 17271 17273 2 746 + 6857 17273 6856 2 746 + 6856 17273 6855 2 746 + 6855 17273 17276 2 746 + 6855 17276 6822 2 746 + 6855 6822 949 2 746 + 6822 17276 6821 2 746 + 6821 17276 17277 2 746 + 6821 17277 6820 2 746 + 6820 17277 17278 2 746 + 6820 17278 6819 2 746 + 6819 17278 17279 2 746 + 6819 17279 948 2 746 + 948 17279 6816 2 746 + 6816 17279 17275 2 746 + 6816 17275 6817 2 746 + 6817 17275 17272 2 746 + 6817 17272 6818 2 746 + 6841 950 6832 2 748 + 6841 6832 6831 2 748 + 6841 6831 6840 2 748 + 6840 6831 6830 2 748 + 6840 6830 6839 2 748 + 6839 6830 6829 2 748 + 6839 6829 952 2 748 + 952 6829 951 2 748 + 8237 953 6862 2 752 + 8237 6862 6861 2 752 + 8237 6861 8238 2 752 + 8238 6861 6860 2 752 + 8238 6860 8239 2 752 + 8239 6860 6859 2 752 + 8239 6859 8240 2 752 + 8240 6859 954 2 752 + 8240 954 8241 2 752 + 8241 954 955 2 752 + 8285 956 17280 2 754 + 8285 17280 8286 2 754 + 8286 17280 6878 2 754 + 8286 6878 6879 2 754 + 8286 6879 8287 2 754 + 8287 6879 958 2 754 + 6878 17280 6877 2 754 + 6877 17280 957 2 754 + 957 17280 956 2 754 + 961 959 6886 2 756 + 6886 959 6885 2 756 + 6885 959 6882 2 756 + 6885 6882 6884 2 756 + 6884 6882 6881 2 756 + 6884 6881 6883 2 756 + 6883 6881 6880 2 756 + 6883 6880 960 2 756 + 17284 17282 17285 2 758 + 17285 17282 17286 2 758 + 17282 17281 17286 2 758 + 17286 17281 17283 2 758 + 17285 17286 17287 2 758 + 17287 17286 17288 2 758 + 17286 17283 17288 2 758 + 6901 962 17288 2 758 + 6901 17288 6900 2 758 + 6900 17288 17283 2 758 + 6900 17283 6899 2 758 + 6899 17283 17281 2 758 + 6899 17281 6894 2 758 + 6899 6894 964 2 758 + 6894 17281 6893 2 758 + 6893 17281 17282 2 758 + 6893 17282 6892 2 758 + 6892 17282 17284 2 758 + 6892 17284 6891 2 758 + 6891 17284 6887 2 758 + 6891 6887 963 2 758 + 6887 17284 6888 2 758 + 6888 17284 17285 2 758 + 6888 17285 17287 2 758 + 6888 17287 6889 2 758 + 6889 17287 6890 2 758 + 6890 17287 17288 2 758 + 6890 17288 962 2 758 + 6906 965 6904 2 761 + 6906 6904 6905 2 761 + 6905 6904 6903 2 761 + 6905 6903 967 2 761 + 967 6903 6902 2 761 + 967 6902 966 2 761 + 970 968 6911 2 764 + 6911 968 6908 2 764 + 6911 6908 6910 2 764 + 6910 6908 6907 2 764 + 6910 6907 6909 2 764 + 6909 6907 969 2 764 + 973 971 6922 2 767 + 6922 971 972 2 767 + 976 974 6935 2 769 + 976 6935 975 2 769 + 979 977 6942 2 771 + 6942 977 978 2 771 + 982 980 6953 2 774 + 6953 980 981 2 774 + 8334 983 6957 2 776 + 8334 6957 8335 2 776 + 8335 6957 984 2 776 + 8335 984 985 2 776 + 8362 986 6958 2 778 + 8362 6958 6959 2 778 + 8362 6959 988 2 778 + 6958 986 987 2 778 + 991 989 6977 2 780 + 991 6977 6978 2 780 + 6978 6977 6976 2 780 + 6978 6976 990 2 780 + 6985 992 993 2 783 + 6985 993 6980 2 783 + 6985 6980 6984 2 783 + 6984 6980 6981 2 783 + 6984 6981 994 2 783 + 8402 995 7003 2 786 + 8402 7003 8403 2 786 + 8403 7003 7002 2 786 + 8403 7002 997 2 786 + 997 7002 996 2 786 + 8416 998 7006 2 788 + 8416 7006 7007 2 788 + 8416 7007 1000 2 788 + 7006 998 999 2 788 + 7021 1001 7013 2 790 + 7021 7013 17289 2 790 + 7021 17289 7020 2 790 + 7020 17289 7016 2 790 + 7020 7016 1003 2 790 + 7016 17289 7015 2 790 + 7015 17289 7014 2 790 + 7014 17289 7012 2 790 + 7014 7012 1002 2 790 + 7012 17289 7013 2 790 + 8431 1004 7023 2 793 + 8431 7023 17290 2 793 + 8431 17290 7025 2 793 + 8431 7025 1006 2 793 + 7025 17290 7024 2 793 + 7024 17290 7022 2 793 + 7024 7022 1005 2 793 + 7022 17290 7023 2 793 + 7041 1007 17291 2 795 + 7041 17291 7040 2 795 + 7040 17291 17293 2 795 + 7040 17293 7039 2 795 + 7039 17293 17292 2 795 + 7039 17292 7038 2 795 + 7038 17292 7034 2 795 + 7038 7034 1009 2 795 + 7034 17292 7033 2 795 + 7033 17292 17293 2 795 + 7033 17293 7032 2 795 + 7032 17293 17294 2 795 + 7032 17294 7030 2 795 + 7032 7030 1008 2 795 + 7030 17294 7031 2 795 + 7031 17294 17291 2 795 + 7031 17291 1007 2 795 + 17291 17294 17293 2 795 + 8442 1010 17295 2 798 + 8442 17295 7050 2 798 + 8442 7050 1012 2 798 + 7050 17295 7049 2 798 + 7049 17295 17297 2 798 + 7049 17297 7048 2 798 + 7048 17297 17296 2 798 + 7048 17296 7047 2 798 + 7047 17296 7043 2 798 + 7047 7043 7046 2 798 + 7046 7043 7042 2 798 + 7046 7042 1011 2 798 + 7043 17296 7044 2 798 + 7044 17296 17297 2 798 + 7044 17297 7045 2 798 + 7045 17297 1010 2 798 + 1010 17297 17295 2 798 + 8491 1013 7055 2 800 + 8491 7055 8492 2 800 + 8492 7055 7054 2 800 + 8492 7054 8493 2 800 + 8493 7054 7053 2 800 + 8493 7053 8494 2 800 + 8494 7053 7052 2 800 + 8494 7052 8495 2 800 + 8495 7052 7051 2 800 + 8495 7051 1015 2 800 + 1015 7051 1014 2 800 + 7074 1016 1017 2 802 + 7074 1017 7062 2 802 + 7074 7062 7073 2 802 + 7073 7062 7063 2 802 + 7073 7063 7072 2 802 + 7072 7063 7064 2 802 + 7072 7064 7071 2 802 + 7071 7064 7065 2 802 + 7071 7065 7070 2 802 + 7070 7065 1018 2 802 + 17300 17298 17301 2 805 + 17301 17298 17302 2 805 + 17298 17299 17302 2 805 + 17302 17299 17303 2 805 + 17304 17300 17305 2 805 + 17300 17301 17305 2 805 + 17305 17301 17306 2 805 + 17301 17302 17306 2 805 + 17306 17302 17307 2 805 + 17302 17303 17307 2 805 + 17307 17303 17308 2 805 + 17304 17305 17309 2 805 + 17309 17305 17310 2 805 + 17305 17306 17310 2 805 + 17310 17306 17311 2 805 + 17306 17307 17311 2 805 + 8514 1019 17308 2 805 + 8514 17308 8515 2 805 + 8515 17308 17303 2 805 + 8515 17303 8516 2 805 + 8516 17303 17299 2 805 + 8516 17299 8517 2 805 + 8517 17299 17298 2 805 + 8517 17298 7084 2 805 + 8517 7084 1021 2 805 + 7084 17298 7083 2 805 + 7083 17298 17300 2 805 + 7083 17300 7082 2 805 + 7082 17300 17304 2 805 + 7082 17304 7081 2 805 + 7081 17304 7080 2 805 + 7080 17304 17309 2 805 + 7080 17309 7075 2 805 + 7080 7075 1020 2 805 + 7075 17309 7076 2 805 + 7076 17309 17310 2 805 + 7076 17310 7077 2 805 + 7077 17310 17311 2 805 + 7077 17311 7078 2 805 + 7078 17311 7079 2 805 + 7079 17311 17308 2 805 + 7079 17308 1019 2 805 + 17308 17311 17307 2 805 + 17315 17312 17316 2 807 + 17312 17313 17316 2 807 + 17315 17316 17317 2 807 + 8546 1022 7103 2 807 + 8546 7103 17313 2 807 + 8546 17313 8547 2 807 + 8547 17313 17312 2 807 + 8547 17312 8548 2 807 + 8548 17312 8549 2 807 + 8549 17312 17314 2 807 + 8549 17314 1024 2 807 + 1024 17314 7105 2 807 + 7105 17314 7104 2 807 + 7104 17314 17317 2 807 + 7104 17317 7099 2 807 + 7104 7099 1023 2 807 + 7099 17317 7100 2 807 + 7100 17317 17316 2 807 + 7100 17316 7101 2 807 + 7101 17316 17313 2 807 + 7101 17313 7102 2 807 + 7102 17313 7103 2 807 + 17317 17314 17315 2 807 + 17315 17314 17312 2 807 + 7114 1025 7107 2 809 + 7114 7107 7113 2 809 + 7113 7107 7106 2 809 + 7113 7106 7108 2 809 + 7113 7108 1027 2 809 + 7108 7106 1026 2 809 + 15967 1028 7116 2 812 + 15967 7116 17319 2 812 + 15967 17319 15968 2 812 + 15968 17319 17318 2 812 + 15968 17318 15969 2 812 + 15969 17318 15970 2 812 + 15970 17318 7118 2 812 + 15970 7118 1030 2 812 + 7118 17318 7117 2 812 + 7117 17318 1029 2 812 + 1029 17318 17319 2 812 + 1029 17319 7115 2 812 + 7115 17319 7116 2 812 + 1033 1031 7124 2 814 + 1033 7124 7125 2 814 + 7125 7124 7123 2 814 + 7125 7123 1032 2 814 + 15992 1034 7144 2 817 + 15992 7144 1036 2 817 + 7144 1034 1035 2 817 + 1039 1037 7145 2 819 + 1039 7145 1038 2 819 + 1042 1040 7146 2 821 + 7146 1040 1041 2 821 + 1045 1043 7148 2 824 + 7148 1043 1044 2 824 + 16051 1046 7149 2 826 + 16051 7149 16052 2 826 + 16052 7149 1047 2 826 + 16052 1047 7150 2 826 + 16052 7150 16053 2 826 + 16053 7150 1048 2 826 + 1051 1049 7156 2 828 + 7156 1049 7154 2 828 + 7156 7154 7155 2 828 + 7155 7154 1050 2 828 + 16083 1052 1053 2 831 + 16083 1053 1054 2 831 + 1057 1055 7161 2 833 + 7161 1055 1056 2 833 + 7164 1058 7162 2 835 + 7164 7162 7163 2 835 + 7163 7162 1059 2 835 + 7163 1059 1060 2 835 + 16125 1061 17321 2 838 + 16125 17321 17320 2 838 + 16125 17320 16126 2 838 + 16126 17320 7189 2 838 + 16126 7189 1063 2 838 + 7189 17320 7188 2 838 + 7188 17320 7187 2 838 + 7187 17320 17321 2 838 + 7187 17321 7185 2 838 + 7187 7185 1062 2 838 + 7185 17321 7186 2 838 + 7186 17321 1061 2 838 + 17323 17322 17324 2 840 + 17325 17322 17323 2 840 + 17327 17325 17328 2 840 + 17328 17325 17329 2 840 + 17325 17323 17329 2 840 + 17329 17323 17326 2 840 + 17327 17328 17330 2 840 + 17330 17328 17331 2 840 + 17328 17329 17331 2 840 + 17331 17329 17332 2 840 + 17329 17326 17332 2 840 + 17331 17332 17333 2 840 + 16165 1064 17333 2 840 + 16165 17333 16166 2 840 + 16166 17333 17332 2 840 + 16166 17332 16167 2 840 + 16167 17332 17326 2 840 + 16167 17326 16168 2 840 + 16168 17326 16169 2 840 + 16169 17326 17323 2 840 + 16169 17323 17324 2 840 + 16169 17324 16170 2 840 + 16170 17324 7207 2 840 + 16170 7207 1066 2 840 + 7207 17324 7206 2 840 + 7206 17324 17322 2 840 + 7206 17322 7205 2 840 + 7205 17322 17325 2 840 + 7205 17325 7204 2 840 + 7204 17325 17327 2 840 + 7204 17327 7203 2 840 + 7203 17327 17330 2 840 + 7203 17330 1065 2 840 + 1065 17330 7200 2 840 + 7200 17330 7201 2 840 + 7201 17330 17331 2 840 + 7201 17331 17333 2 840 + 7201 17333 7202 2 840 + 7202 17333 1064 2 840 + 7225 1067 7212 2 842 + 7225 7212 7211 2 842 + 7225 7211 1069 2 842 + 1069 7211 7210 2 842 + 1069 7210 7214 2 842 + 7214 7210 7209 2 842 + 7214 7209 7213 2 842 + 7213 7209 7208 2 842 + 7213 7208 1068 2 842 + 1072 1070 7247 2 845 + 1072 7247 1071 2 845 + 16014 1073 1074 2 847 + 16014 1074 7250 2 847 + 16014 7250 16013 2 847 + 16013 7250 7251 2 847 + 16013 7251 16012 2 847 + 16012 7251 7252 2 847 + 16012 7252 16011 2 847 + 16011 7252 1075 2 847 + 17335 17334 17336 2 849 + 7290 1076 7255 2 849 + 7290 7255 17334 2 849 + 7290 17334 7289 2 849 + 7289 17334 17335 2 849 + 7289 17335 7288 2 849 + 7288 17335 7259 2 849 + 7288 7259 1078 2 849 + 7259 17335 7258 2 849 + 7258 17335 7257 2 849 + 7257 17335 17336 2 849 + 7257 17336 17337 2 849 + 7257 17337 7256 2 849 + 7256 17337 7253 2 849 + 7256 7253 1077 2 849 + 7253 17337 7254 2 849 + 7254 17337 17336 2 849 + 7254 17336 7255 2 849 + 7255 17336 17334 2 849 + 1081 1079 7293 2 852 + 1081 7293 7295 2 852 + 7295 7293 7292 2 852 + 7295 7292 7294 2 852 + 7294 7292 7291 2 852 + 7294 7291 1080 2 852 + 17338 17339 17341 2 854 + 17339 17340 17341 2 854 + 15945 1082 7309 2 854 + 15945 7309 17340 2 854 + 15945 17340 15944 2 854 + 15944 17340 15943 2 854 + 15943 17340 17339 2 854 + 15943 17339 15942 2 854 + 15942 17339 17338 2 854 + 15942 17338 15941 2 854 + 15941 17338 7312 2 854 + 15941 7312 1084 2 854 + 7312 17338 7311 2 854 + 7311 17338 7310 2 854 + 7310 17338 17341 2 854 + 7310 17341 1083 2 854 + 1083 17341 7308 2 854 + 7308 17341 17340 2 854 + 7308 17340 7309 2 854 + 1087 1085 7315 2 856 + 1087 7315 7317 2 856 + 7317 7315 7314 2 856 + 7317 7314 7316 2 856 + 7316 7314 7313 2 856 + 7316 7313 1086 2 856 + 8591 1088 17342 2 858 + 8591 17342 7323 2 858 + 8591 7323 1090 2 858 + 7323 17342 7322 2 858 + 7322 17342 7321 2 858 + 7321 17342 7319 2 858 + 7321 7319 7318 2 858 + 7321 7318 7320 2 858 + 7320 7318 1089 2 858 + 7319 17342 1088 2 858 + 1093 1091 17343 2 860 + 1093 17343 7332 2 860 + 7332 17343 7331 2 860 + 7331 17343 7327 2 860 + 7331 7327 7326 2 860 + 7331 7326 7330 2 860 + 7330 7326 7325 2 860 + 7330 7325 7329 2 860 + 7329 7325 7324 2 860 + 7329 7324 7328 2 860 + 7328 7324 1092 2 860 + 7327 17343 1091 2 860 + 8602 1094 1095 2 863 + 8602 1095 17344 2 863 + 8602 17344 8603 2 863 + 8603 17344 7345 2 863 + 8603 7345 8604 2 863 + 8604 7345 7346 2 863 + 8604 7346 8605 2 863 + 8605 7346 7347 2 863 + 8605 7347 8606 2 863 + 8606 7347 1096 2 863 + 7345 17344 7344 2 863 + 7344 17344 1095 2 863 + 17348 17345 17349 2 865 + 17345 17346 17349 2 865 + 17349 17346 17350 2 865 + 17347 17348 17351 2 865 + 17351 17348 17352 2 865 + 17348 17349 17352 2 865 + 17352 17349 17353 2 865 + 17349 17350 17353 2 865 + 17353 17350 17354 2 865 + 17351 17352 17355 2 865 + 17355 17352 17356 2 865 + 17352 17353 17356 2 865 + 17356 17353 17357 2 865 + 17353 17354 17357 2 865 + 8696 1097 17346 2 865 + 8696 17346 17345 2 865 + 8696 17345 8697 2 865 + 8697 17345 17348 2 865 + 8697 17348 17347 2 865 + 8697 17347 8698 2 865 + 8698 17347 7352 2 865 + 8698 7352 1099 2 865 + 7352 17347 17351 2 865 + 7352 17351 7353 2 865 + 7353 17351 17355 2 865 + 7353 17355 1101 2 865 + 1101 17355 1100 2 865 + 1100 17355 17356 2 865 + 1100 17356 7357 2 865 + 7357 17356 17357 2 865 + 7357 17357 7356 2 865 + 7356 17357 17358 2 865 + 7356 17358 1098 2 865 + 1098 17358 7348 2 865 + 7348 17358 7349 2 865 + 7349 17358 17357 2 865 + 7349 17357 17354 2 865 + 7349 17354 7350 2 865 + 7350 17354 17350 2 865 + 7350 17350 7351 2 865 + 7351 17350 17346 2 865 + 7351 17346 1097 2 865 + 1104 1102 7354 2 867 + 1104 7354 7364 2 867 + 7364 7354 7355 2 867 + 7364 7355 7363 2 867 + 7363 7355 1101 2 867 + 7363 1101 1100 2 867 + 7363 1100 7362 2 867 + 7362 1100 7359 2 867 + 7362 7359 7361 2 867 + 7361 7359 7358 2 867 + 7361 7358 7360 2 867 + 7360 7358 1103 2 867 + 8717 1105 7392 2 871 + 8717 7392 7393 2 871 + 8717 7393 8718 2 871 + 8718 7393 7394 2 871 + 8718 7394 8719 2 871 + 8719 7394 7395 2 871 + 8719 7395 8720 2 871 + 8720 7395 7396 2 871 + 8720 7396 1107 2 871 + 7392 1105 1106 2 871 + 8769 1108 17360 2 873 + 8769 17360 17359 2 873 + 8769 17359 8770 2 873 + 8770 17359 7409 2 873 + 8770 7409 1110 2 873 + 7409 17359 1112 2 873 + 1112 17359 17360 2 873 + 1112 17360 16513 2 873 + 16513 17360 17361 2 873 + 16513 17361 16512 2 873 + 16512 17361 17362 2 873 + 16512 17362 1111 2 873 + 1111 17362 7405 2 873 + 1111 7405 7411 2 873 + 7411 7405 7404 2 873 + 7411 7404 1109 2 873 + 7405 17362 7406 2 873 + 7406 17362 7407 2 873 + 7407 17362 17361 2 873 + 7407 17361 7408 2 873 + 7408 17361 17360 2 873 + 7408 17360 1108 2 873 + 1115 1113 17363 2 875 + 1115 17363 7418 2 875 + 7418 17363 1112 2 875 + 7418 1112 7417 2 875 + 7417 1112 16513 2 875 + 7417 16513 7416 2 875 + 7416 16513 16512 2 875 + 7416 16512 7415 2 875 + 7415 16512 1111 2 875 + 7415 1111 7414 2 875 + 7414 1111 7412 2 875 + 7414 7412 7413 2 875 + 7413 7412 1114 2 875 + 1112 17363 7410 2 875 + 7410 17363 1113 2 875 + 1118 1116 7425 2 878 + 7425 1116 17364 2 878 + 7425 17364 1120 2 878 + 1120 17364 17365 2 878 + 1120 17365 16514 2 878 + 16514 17365 17366 2 878 + 16514 17366 1119 2 878 + 1119 17366 7421 2 878 + 1119 7421 7420 2 878 + 1119 7420 7427 2 878 + 7427 7420 7419 2 878 + 7427 7419 1117 2 878 + 7421 17366 7422 2 878 + 7422 17366 17365 2 878 + 7422 17365 7423 2 878 + 7423 17365 17364 2 878 + 7423 17364 7424 2 878 + 7424 17364 1116 2 878 + 17367 17368 17369 2 880 + 17369 17368 17370 2 880 + 8862 1121 7426 2 880 + 8862 7426 8863 2 880 + 8863 7426 1120 2 880 + 8863 1120 17367 2 880 + 8863 17367 8864 2 880 + 8864 17367 17369 2 880 + 8864 17369 8865 2 880 + 8865 17369 1123 2 880 + 1123 17369 17370 2 880 + 1123 17370 7430 2 880 + 7430 17370 17371 2 880 + 7430 17371 7429 2 880 + 7429 17371 7428 2 880 + 7429 7428 1122 2 880 + 7428 17371 1119 2 880 + 1119 17371 17368 2 880 + 1119 17368 16514 2 880 + 16514 17368 17367 2 880 + 16514 17367 1120 2 880 + 17368 17371 17370 2 880 + 7448 1124 7432 2 883 + 7448 7432 17372 2 883 + 7448 17372 7447 2 883 + 7447 17372 1126 2 883 + 1126 17372 7433 2 883 + 7433 17372 7431 2 883 + 7433 7431 1125 2 883 + 7431 17372 7432 2 883 + 1129 1127 7434 2 885 + 1129 7434 1128 2 885 + 17376 17374 17377 2 889 + 17374 17375 17377 2 889 + 8910 1130 7466 2 889 + 8910 7466 17375 2 889 + 8910 17375 8911 2 889 + 8911 17375 17374 2 889 + 8911 17374 8912 2 889 + 8912 17374 17373 2 889 + 8912 17373 8913 2 889 + 8913 17373 7470 2 889 + 8913 7470 1132 2 889 + 7470 17373 7469 2 889 + 7469 17373 17376 2 889 + 7469 17376 7468 2 889 + 7468 17376 7467 2 889 + 7467 17376 17377 2 889 + 7467 17377 7465 2 889 + 7467 7465 1131 2 889 + 7465 17377 7466 2 889 + 7466 17377 17375 2 889 + 17376 17373 17374 2 889 + 7493 1133 7480 2 891 + 7493 7480 17378 2 891 + 7493 17378 7492 2 891 + 7492 17378 7483 2 891 + 7492 7483 1135 2 891 + 7483 17378 17379 2 891 + 7483 17379 7482 2 891 + 7482 17379 7478 2 891 + 7482 7478 7481 2 891 + 7481 7478 7477 2 891 + 7481 7477 1134 2 891 + 7478 17379 7479 2 891 + 7479 17379 17378 2 891 + 7479 17378 7480 2 891 + 7504 1136 7498 2 894 + 7504 7498 7499 2 894 + 7504 7499 1138 2 894 + 7498 1136 7497 2 894 + 7497 1136 7495 2 894 + 7497 7495 7496 2 894 + 7496 7495 7494 2 894 + 7496 7494 1137 2 894 + 8929 1139 7505 2 897 + 8929 7505 8930 2 897 + 8930 7505 1140 2 897 + 8930 1140 8931 2 897 + 8931 1140 7506 2 897 + 8931 7506 8932 2 897 + 8932 7506 1141 2 897 + 7525 1142 17380 2 899 + 7525 17380 17381 2 899 + 7525 17381 7524 2 899 + 7524 17381 7523 2 899 + 7523 17381 7518 2 899 + 7523 7518 7519 2 899 + 7523 7519 1144 2 899 + 7518 17381 7517 2 899 + 7517 17381 17380 2 899 + 7517 17380 1143 2 899 + 1143 17380 7516 2 899 + 7516 17380 1142 2 899 + 17382 17383 17385 2 902 + 17385 17383 17386 2 902 + 17383 17384 17386 2 902 + 17385 17386 17387 2 902 + 7546 1145 7528 2 902 + 7546 7528 17382 2 902 + 7546 17382 7545 2 902 + 7545 17382 7544 2 902 + 7544 17382 17385 2 902 + 7544 17385 7543 2 902 + 7543 17385 17387 2 902 + 7543 17387 7542 2 902 + 7542 17387 7541 2 902 + 7541 17387 17388 2 902 + 7541 17388 7531 2 902 + 7541 7531 1147 2 902 + 7531 17388 7530 2 902 + 7530 17388 17386 2 902 + 7530 17386 7529 2 902 + 7529 17386 17384 2 902 + 7529 17384 1146 2 902 + 1146 17384 7526 2 902 + 7526 17384 17383 2 902 + 7526 17383 7527 2 902 + 7527 17383 17382 2 902 + 7527 17382 7528 2 902 + 17386 17388 17387 2 902 + 1150 1148 7534 2 904 + 1150 7534 7537 2 904 + 7537 7534 17389 2 904 + 7537 17389 7536 2 904 + 7536 17389 7533 2 904 + 7536 7533 7532 2 904 + 7536 7532 7535 2 904 + 7535 7532 1149 2 904 + 7533 17389 7534 2 904 + 17393 17390 17394 2 908 + 17392 17393 17395 2 908 + 17395 17393 17396 2 908 + 17393 17394 17396 2 908 + 17395 17396 17397 2 908 + 17397 17396 17398 2 908 + 17397 17398 17399 2 908 + 8963 1151 17391 2 908 + 8963 17391 17390 2 908 + 8963 17390 8964 2 908 + 8964 17390 17393 2 908 + 8964 17393 17392 2 908 + 8964 17392 8965 2 908 + 8965 17392 1153 2 908 + 1153 17392 7572 2 908 + 7572 17392 17395 2 908 + 7572 17395 7571 2 908 + 7571 17395 17397 2 908 + 7571 17397 7570 2 908 + 7570 17397 17399 2 908 + 7570 17399 7569 2 908 + 7569 17399 1152 2 908 + 1152 17399 7563 2 908 + 7563 17399 17398 2 908 + 7563 17398 7564 2 908 + 7564 17398 7565 2 908 + 7565 17398 17396 2 908 + 7565 17396 17394 2 908 + 7565 17394 7566 2 908 + 7566 17394 7567 2 908 + 7567 17394 17390 2 908 + 7567 17390 17391 2 908 + 7567 17391 7568 2 908 + 7568 17391 1151 2 908 + 1156 1154 7580 2 910 + 7580 1154 7576 2 910 + 7580 7576 7579 2 910 + 7579 7576 7575 2 910 + 7579 7575 7578 2 910 + 7578 7575 7574 2 910 + 7578 7574 7577 2 910 + 7577 7574 7573 2 910 + 7577 7573 1155 2 910 + 7615 1157 7590 2 912 + 7615 7590 7589 2 912 + 7615 7589 7614 2 912 + 7614 7589 17400 2 912 + 7614 17400 7613 2 912 + 7613 17400 17401 2 912 + 7613 17401 1159 2 912 + 1159 17401 7591 2 912 + 7591 17401 7587 2 912 + 7591 7587 1158 2 912 + 7587 17401 7588 2 912 + 7588 17401 17400 2 912 + 7588 17400 7589 2 912 + 1162 1160 7598 2 914 + 1162 7598 1161 2 914 + 1165 1163 17402 2 918 + 1165 17402 7631 2 918 + 7631 17402 7627 2 918 + 7631 7627 7630 2 918 + 7630 7627 7626 2 918 + 7630 7626 7629 2 918 + 7629 7626 1164 2 918 + 7627 17402 7628 2 918 + 7628 17402 1163 2 918 + 7651 1166 7644 2 920 + 7651 7644 17403 2 920 + 7651 17403 7647 2 920 + 7651 7647 1168 2 920 + 7647 17403 7646 2 920 + 7646 17403 7643 2 920 + 7646 7643 7645 2 920 + 7645 7643 7642 2 920 + 7645 7642 1167 2 920 + 7643 17403 7644 2 920 + 9102 1169 7652 2 923 + 9102 7652 9103 2 923 + 9103 7652 1170 2 923 + 9103 1170 1171 2 923 + 7657 1172 7653 2 925 + 7657 7653 7654 2 925 + 7657 7654 1174 2 925 + 7653 1172 1173 2 925 + 9106 1175 17404 2 928 + 9106 17404 7664 2 928 + 9106 7664 9107 2 928 + 9107 7664 1177 2 928 + 7664 17404 7663 2 928 + 7663 17404 7662 2 928 + 7662 17404 7661 2 928 + 7662 7661 1176 2 928 + 7661 17404 1175 2 928 + 17407 17405 17408 2 930 + 17405 17406 17408 2 930 + 9171 1178 7667 2 930 + 9171 7667 9172 2 930 + 9172 7667 7666 2 930 + 9172 7666 17406 2 930 + 9172 17406 9173 2 930 + 9173 17406 17405 2 930 + 9173 17405 9174 2 930 + 9174 17405 17407 2 930 + 9174 17407 9175 2 930 + 9175 17407 7669 2 930 + 9175 7669 1180 2 930 + 7669 17407 7668 2 930 + 7668 17407 17408 2 930 + 7668 17408 1179 2 930 + 1179 17408 7665 2 930 + 7665 17408 17406 2 930 + 7665 17406 7666 2 930 + 1183 1181 7675 2 932 + 1183 7675 7676 2 932 + 7676 7675 7674 2 932 + 7676 7674 1182 2 932 + 1186 1184 7681 2 935 + 7681 1184 1185 2 935 + 1189 1187 7701 2 938 + 7701 1187 1188 2 938 + 9190 1190 7707 2 940 + 9190 7707 7708 2 940 + 9190 7708 9191 2 940 + 9191 7708 7709 2 940 + 9191 7709 9192 2 940 + 9192 7709 7710 2 940 + 9192 7710 1192 2 940 + 7707 1190 7705 2 940 + 7707 7705 7706 2 940 + 7706 7705 1191 2 940 + 1195 1193 7729 2 942 + 1195 7729 7733 2 942 + 7733 7729 7728 2 942 + 7733 7728 17409 2 942 + 7733 17409 7732 2 942 + 7732 17409 7727 2 942 + 7732 7727 7731 2 942 + 7731 7727 7726 2 942 + 7731 7726 7730 2 942 + 7730 7726 7725 2 942 + 7730 7725 1194 2 942 + 7727 17409 7728 2 942 + 15938 1196 7737 2 944 + 15938 7737 7736 2 944 + 15938 7736 15939 2 944 + 15939 7736 7735 2 944 + 15939 7735 15940 2 944 + 15940 7735 7734 2 944 + 15940 7734 1198 2 944 + 1198 7734 1197 2 944 + 7748 1199 7738 2 946 + 7748 7738 7739 2 946 + 7748 7739 7747 2 946 + 7747 7739 7740 2 946 + 7747 7740 7746 2 946 + 7746 7740 7741 2 946 + 7746 7741 1201 2 946 + 7738 1199 1200 2 946 + 17411 17410 17412 2 949 + 17413 17411 17414 2 949 + 17411 17412 17414 2 949 + 17414 17412 17415 2 949 + 15937 1202 17415 2 949 + 15937 17415 17412 2 949 + 15937 17412 15936 2 949 + 15936 17412 17410 2 949 + 15936 17410 15935 2 949 + 15935 17410 7755 2 949 + 15935 7755 1204 2 949 + 7755 17410 7754 2 949 + 7754 17410 17411 2 949 + 7754 17411 7753 2 949 + 7753 17411 17413 2 949 + 7753 17413 7752 2 949 + 7752 17413 7749 2 949 + 7752 7749 1203 2 949 + 7749 17413 7750 2 949 + 7750 17413 17414 2 949 + 7750 17414 17415 2 949 + 7750 17415 7751 2 949 + 7751 17415 1202 2 949 + 9258 1205 7759 2 951 + 9258 7759 7758 2 951 + 9258 7758 9259 2 951 + 9259 7758 7757 2 951 + 9259 7757 9260 2 951 + 9260 7757 7756 2 951 + 9260 7756 1207 2 951 + 1207 7756 1206 2 951 + 1210 1208 7760 2 953 + 7760 1208 1209 2 953 + 1213 1211 7763 2 955 + 7763 1211 7761 2 955 + 7763 7761 7762 2 955 + 7762 7761 1212 2 955 + 9308 1214 1215 2 958 + 9308 1215 7772 2 958 + 9308 7772 9309 2 958 + 9309 7772 7773 2 958 + 9309 7773 9310 2 958 + 9310 7773 7774 2 958 + 9310 7774 1216 2 958 + 7807 1217 7792 2 960 + 7807 7792 17416 2 960 + 7807 17416 7795 2 960 + 7807 7795 1219 2 960 + 7795 17416 7794 2 960 + 7794 17416 7791 2 960 + 7794 7791 7793 2 960 + 7793 7791 7790 2 960 + 7793 7790 1218 2 960 + 7791 17416 7792 2 960 + 1222 1220 7798 2 962 + 1222 7798 7801 2 962 + 7801 7798 7797 2 962 + 7801 7797 7800 2 962 + 7800 7797 7796 2 962 + 7800 7796 7799 2 962 + 7799 7796 1221 2 962 + 1225 1223 7823 2 966 + 1225 7823 1224 2 966 + 7844 1226 1227 2 968 + 7844 1227 7843 2 968 + 7843 1227 7826 2 968 + 7843 7826 7842 2 968 + 7842 7826 7827 2 968 + 7842 7827 7841 2 968 + 7841 7827 7828 2 968 + 7841 7828 7840 2 968 + 7840 7828 7829 2 968 + 7840 7829 1228 2 968 + 1231 1229 7855 2 971 + 7855 1229 7849 2 971 + 7855 7849 7854 2 971 + 7854 7849 17417 2 971 + 7854 17417 7853 2 971 + 7853 17417 7852 2 971 + 7852 17417 7847 2 971 + 7852 7847 7846 2 971 + 7852 7846 7851 2 971 + 7851 7846 7845 2 971 + 7851 7845 7850 2 971 + 7850 7845 1230 2 971 + 7847 17417 7848 2 971 + 7848 17417 7849 2 971 + 17420 17418 17421 2 973 + 17422 17419 17423 2 973 + 17419 17420 17423 2 973 + 17423 17420 17424 2 973 + 17420 17421 17424 2 973 + 17424 17421 17425 2 973 + 17422 17423 17427 2 973 + 17427 17423 17428 2 973 + 17423 17424 17428 2 973 + 17424 17425 17428 2 973 + 17428 17425 17429 2 973 + 17426 17427 17431 2 973 + 17426 17422 17427 2 973 + 17427 17428 17432 2 973 + 17428 17429 17432 2 973 + 17429 17430 17432 2 973 + 17431 17427 17432 2 973 + 9365 1232 17418 2 973 + 9365 17418 17420 2 973 + 9365 17420 9366 2 973 + 9366 17420 17419 2 973 + 9366 17419 9367 2 973 + 9367 17419 17422 2 973 + 9367 17422 9368 2 973 + 9368 17422 17426 2 973 + 9368 17426 1234 2 973 + 1234 17426 7865 2 973 + 7865 17426 17431 2 973 + 7865 17431 7864 2 973 + 7864 17431 7863 2 973 + 7863 17431 17432 2 973 + 7863 17432 17430 2 973 + 7863 17430 7862 2 973 + 7862 17430 7856 2 973 + 7862 7856 1233 2 973 + 7856 17430 7857 2 973 + 7857 17430 17429 2 973 + 7857 17429 7858 2 973 + 7858 17429 17425 2 973 + 7858 17425 7859 2 973 + 7859 17425 17421 2 973 + 7859 17421 7860 2 973 + 7860 17421 7861 2 973 + 7861 17421 17418 2 973 + 7861 17418 1232 2 973 + 9440 1235 7869 2 975 + 9440 7869 17435 2 975 + 9440 17435 9441 2 975 + 9441 17435 9442 2 975 + 9442 17435 17434 2 975 + 9442 17434 9443 2 975 + 9443 17434 17433 2 975 + 9443 17433 9444 2 975 + 9444 17433 7870 2 975 + 9444 7870 1237 2 975 + 7870 17433 1236 2 975 + 1236 17433 7866 2 975 + 7866 17433 17434 2 975 + 7866 17434 7867 2 975 + 7867 17434 17435 2 975 + 7867 17435 7868 2 975 + 7868 17435 7869 2 975 + 1240 1238 7880 2 977 + 1240 7880 1239 2 977 + 1243 1241 7887 2 979 + 7887 1241 1242 2 979 + 7893 1244 7891 2 981 + 7893 7891 7892 2 981 + 7892 7891 1245 2 981 + 7892 1245 1246 2 981 + 1249 1247 7910 2 985 + 7910 1247 1248 2 985 + 17438 17436 17439 2 987 + 17436 17437 17439 2 987 + 17439 17437 17440 2 987 + 9493 1250 17437 2 987 + 9493 17437 17436 2 987 + 9493 17436 9494 2 987 + 9494 17436 9495 2 987 + 9495 17436 17438 2 987 + 9495 17438 9496 2 987 + 9496 17438 7918 2 987 + 9496 7918 7919 2 987 + 9496 7919 9497 2 987 + 9497 7919 1252 2 987 + 7918 17438 7917 2 987 + 7917 17438 7916 2 987 + 7916 17438 17439 2 987 + 7916 17439 7915 2 987 + 7915 17439 17440 2 987 + 7915 17440 1251 2 987 + 1251 17440 7914 2 987 + 7914 17440 17437 2 987 + 7914 17437 1250 2 987 + 1255 1253 7936 2 989 + 7936 1253 7931 2 989 + 7936 7931 7935 2 989 + 7935 7931 7930 2 989 + 7935 7930 17441 2 989 + 7935 17441 7934 2 989 + 7934 17441 7929 2 989 + 7934 7929 7933 2 989 + 7933 7929 7928 2 989 + 7933 7928 7932 2 989 + 7932 7928 7927 2 989 + 7932 7927 1254 2 989 + 7929 17441 7930 2 989 + 1258 1256 7942 2 991 + 7942 1256 1260 2 991 + 1260 1256 7941 2 991 + 1260 7941 16516 2 991 + 16516 7941 7940 2 991 + 16516 7940 16515 2 991 + 16515 7940 7939 2 991 + 16515 7939 7938 2 991 + 16515 7938 1259 2 991 + 1259 7938 7937 2 991 + 1259 7937 7944 2 991 + 7944 7937 1257 2 991 + 17442 17443 17445 2 993 + 17445 17443 17446 2 993 + 17448 17442 17444 2 993 + 17444 17442 17445 2 993 + 17450 17447 17451 2 993 + 17447 17448 17451 2 993 + 17451 17448 17452 2 993 + 17448 17444 17452 2 993 + 17452 17444 17449 2 993 + 17453 17450 17454 2 993 + 17450 17451 17454 2 993 + 17454 17451 17455 2 993 + 17451 17452 17455 2 993 + 17455 17452 17456 2 993 + 17452 17449 17456 2 993 + 7968 1261 17453 2 993 + 7968 17453 17454 2 993 + 7968 17454 7967 2 993 + 7967 17454 17455 2 993 + 7967 17455 7966 2 993 + 7966 17455 17456 2 993 + 7966 17456 1263 2 993 + 1263 17456 7950 2 993 + 7950 17456 17449 2 993 + 7950 17449 7949 2 993 + 7949 17449 7948 2 993 + 7948 17449 17445 2 993 + 7948 17445 7947 2 993 + 7947 17445 17446 2 993 + 7947 17446 7946 2 993 + 7946 17446 7945 2 993 + 7946 7945 1262 2 993 + 7945 17446 17443 2 993 + 7945 17443 1259 2 993 + 1259 17443 16515 2 993 + 16515 17443 17442 2 993 + 16515 17442 16516 2 993 + 16516 17442 17447 2 993 + 16516 17447 1260 2 993 + 1260 17447 17450 2 993 + 1260 17450 7943 2 993 + 7943 17450 17453 2 993 + 7943 17453 1261 2 993 + 17447 17442 17448 2 993 + 17445 17449 17444 2 993 + 7964 1264 17458 2 996 + 7964 17458 17459 2 996 + 7964 17459 1266 2 996 + 1266 17459 7959 2 996 + 7959 17459 17457 2 996 + 7959 17457 7958 2 996 + 7958 17457 7957 2 996 + 7957 17457 7952 2 996 + 7957 7952 7951 2 996 + 7957 7951 7956 2 996 + 7956 7951 1265 2 996 + 7952 17457 7953 2 996 + 7953 17457 7954 2 996 + 7954 17457 17458 2 996 + 7954 17458 7955 2 996 + 7955 17458 1264 2 996 + 17458 17457 17459 2 996 + 7985 1267 7981 2 1000 + 7985 7981 17460 2 1000 + 7985 17460 7984 2 1000 + 7984 17460 1269 2 1000 + 1269 17460 7980 2 1000 + 1269 7980 7982 2 1000 + 7982 7980 7979 2 1000 + 7982 7979 1268 2 1000 + 7980 17460 7981 2 1000 + 1272 1270 8007 2 1003 + 1272 8007 8008 2 1003 + 8008 8007 8006 2 1003 + 8008 8006 1271 2 1003 + 1275 1273 8009 2 1005 + 1275 8009 1274 2 1005 + 8023 1276 1277 2 1007 + 8023 1277 8010 2 1007 + 8023 8010 8022 2 1007 + 8022 8010 8011 2 1007 + 8022 8011 8021 2 1007 + 8021 8011 8012 2 1007 + 8021 8012 1278 2 1007 + 9567 1279 8026 2 1010 + 9567 8026 9568 2 1010 + 9568 8026 8025 2 1010 + 9568 8025 9569 2 1010 + 9569 8025 8024 2 1010 + 9569 8024 1281 2 1010 + 1281 8024 1280 2 1010 + 9594 1282 1283 2 1012 + 9594 1283 9595 2 1012 + 9595 1283 8035 2 1012 + 9595 8035 9596 2 1012 + 9596 8035 8036 2 1012 + 9596 8036 9597 2 1012 + 9597 8036 8037 2 1012 + 9597 8037 9598 2 1012 + 9598 8037 1284 2 1012 + 8058 1285 8045 2 1014 + 8058 8045 17461 2 1014 + 8058 17461 8057 2 1014 + 8057 17461 17462 2 1014 + 8057 17462 1287 2 1014 + 1287 17462 8048 2 1014 + 8048 17462 8047 2 1014 + 8047 17462 17461 2 1014 + 8047 17461 8044 2 1014 + 8047 8044 8043 2 1014 + 8047 8043 8046 2 1014 + 8046 8043 1286 2 1014 + 8044 17461 8045 2 1014 + 8069 1288 8060 2 1017 + 8069 8060 8068 2 1017 + 8068 8060 8059 2 1017 + 8068 8059 17463 2 1017 + 8068 17463 8067 2 1017 + 8067 17463 1289 2 1017 + 8067 1289 8061 2 1017 + 8067 8061 8066 2 1017 + 8066 8061 1290 2 1017 + 1289 17463 8059 2 1017 + 1293 1291 8065 2 1019 + 1293 8065 1292 2 1019 + 17465 17464 17466 2 1023 + 17465 17466 17468 2 1023 + 17468 17466 17469 2 1023 + 17466 17467 17469 2 1023 + 17468 17469 17470 2 1023 + 17470 17469 17471 2 1023 + 17470 17471 17472 2 1023 + 9664 1294 17467 2 1023 + 9664 17467 17466 2 1023 + 9664 17466 9665 2 1023 + 9665 17466 17464 2 1023 + 9665 17464 9666 2 1023 + 9666 17464 8079 2 1023 + 9666 8079 1296 2 1023 + 8079 17464 8078 2 1023 + 8078 17464 17465 2 1023 + 8078 17465 8077 2 1023 + 8077 17465 17468 2 1023 + 8077 17468 8076 2 1023 + 8076 17468 17470 2 1023 + 8076 17470 8075 2 1023 + 8075 17470 17472 2 1023 + 8075 17472 8074 2 1023 + 8074 17472 8070 2 1023 + 8074 8070 1295 2 1023 + 8070 17472 8071 2 1023 + 8071 17472 17471 2 1023 + 8071 17471 8072 2 1023 + 8072 17471 17469 2 1023 + 8072 17469 8073 2 1023 + 8073 17469 17467 2 1023 + 8073 17467 1294 2 1023 + 17475 17473 17474 2 1025 + 17475 17476 17477 2 1025 + 17475 17474 17476 2 1025 + 17477 17476 17478 2 1025 + 9729 1297 8085 2 1025 + 9729 8085 17473 2 1025 + 9729 17473 9730 2 1025 + 9730 17473 17475 2 1025 + 9730 17475 9731 2 1025 + 9731 17475 1299 2 1025 + 1299 17475 17477 2 1025 + 1299 17477 8088 2 1025 + 8088 17477 8087 2 1025 + 8087 17477 17478 2 1025 + 8087 17478 8086 2 1025 + 8086 17478 8080 2 1025 + 8086 8080 1298 2 1025 + 8080 17478 8081 2 1025 + 8081 17478 8082 2 1025 + 8082 17478 17476 2 1025 + 8082 17476 8083 2 1025 + 8083 17476 17474 2 1025 + 8083 17474 8084 2 1025 + 8084 17474 17473 2 1025 + 8084 17473 8085 2 1025 + 17481 17479 17482 2 1027 + 17480 17481 17485 2 1027 + 17485 17481 17486 2 1027 + 17481 17482 17486 2 1027 + 17484 17480 17485 2 1027 + 8138 1300 17479 2 1027 + 8138 17479 17481 2 1027 + 8138 17481 17480 2 1027 + 8138 17480 8137 2 1027 + 8137 17480 8136 2 1027 + 8136 17480 17484 2 1027 + 8136 17484 1304 2 1027 + 8136 1304 8135 2 1027 + 8135 1304 1302 2 1027 + 1304 17484 16520 2 1027 + 16520 17484 17485 2 1027 + 16520 17485 16519 2 1027 + 16519 17485 17486 2 1027 + 16519 17486 16518 2 1027 + 16518 17486 16517 2 1027 + 16517 17486 17482 2 1027 + 16517 17482 17483 2 1027 + 16517 17483 1303 2 1027 + 1303 17483 8114 2 1027 + 1303 8114 1301 2 1027 + 8114 17483 8115 2 1027 + 8115 17483 8116 2 1027 + 8116 17483 17482 2 1027 + 8116 17482 17479 2 1027 + 8116 17479 1300 2 1027 + 17492 17487 17493 2 1029 + 17487 17488 17493 2 1029 + 17493 17488 17494 2 1029 + 17488 17489 17494 2 1029 + 17494 17489 17495 2 1029 + 17489 17490 17495 2 1029 + 17493 17494 17496 2 1029 + 17496 17494 17497 2 1029 + 17494 17495 17497 2 1029 + 8129 1305 1304 2 1029 + 8129 1304 17491 2 1029 + 8129 17491 8128 2 1029 + 8128 17491 8127 2 1029 + 8127 17491 17492 2 1029 + 8127 17492 17496 2 1029 + 8127 17496 8126 2 1029 + 8126 17496 8125 2 1029 + 8125 17496 17497 2 1029 + 8125 17497 1307 2 1029 + 1307 17497 17495 2 1029 + 1307 17495 8118 2 1029 + 8118 17495 17490 2 1029 + 8118 17490 8117 2 1029 + 8117 17490 1306 2 1029 + 1306 17490 1303 2 1029 + 1303 17490 17489 2 1029 + 1303 17489 16517 2 1029 + 16517 17489 17488 2 1029 + 16517 17488 16518 2 1029 + 16518 17488 17487 2 1029 + 16518 17487 16519 2 1029 + 16519 17487 17492 2 1029 + 16519 17492 16520 2 1029 + 16520 17492 17491 2 1029 + 16520 17491 1304 2 1029 + 17496 17492 17493 2 1029 + 1310 1308 8148 2 1034 + 1310 8148 8152 2 1034 + 8152 8148 8147 2 1034 + 8152 8147 8151 2 1034 + 8151 8147 8146 2 1034 + 8151 8146 8150 2 1034 + 8150 8146 8145 2 1034 + 8150 8145 8149 2 1034 + 8149 8145 1309 2 1034 + 8172 1311 8156 2 1036 + 8172 8156 8155 2 1036 + 8172 8155 8171 2 1036 + 8171 8155 8154 2 1036 + 8171 8154 8170 2 1036 + 8170 8154 8153 2 1036 + 8170 8153 8169 2 1036 + 8169 8153 1312 2 1036 + 8169 1312 1313 2 1036 + 17498 17499 17502 2 1039 + 17502 17499 17503 2 1039 + 17499 17500 17503 2 1039 + 17503 17500 17504 2 1039 + 17500 17501 17504 2 1039 + 17503 17504 17505 2 1039 + 9793 1314 8176 2 1039 + 9793 8176 17501 2 1039 + 9793 17501 9794 2 1039 + 9794 17501 17500 2 1039 + 9794 17500 9795 2 1039 + 9795 17500 17499 2 1039 + 9795 17499 9796 2 1039 + 9796 17499 17498 2 1039 + 9796 17498 1316 2 1039 + 1316 17498 8179 2 1039 + 8179 17498 17502 2 1039 + 8179 17502 8178 2 1039 + 8178 17502 17505 2 1039 + 8178 17505 8177 2 1039 + 8177 17505 1315 2 1039 + 1315 17505 8173 2 1039 + 8173 17505 8174 2 1039 + 8174 17505 17504 2 1039 + 8174 17504 8175 2 1039 + 8175 17504 17501 2 1039 + 8175 17501 8176 2 1039 + 17505 17502 17503 2 1039 + 8214 1317 8197 2 1041 + 8214 8197 17506 2 1041 + 8214 17506 1319 2 1041 + 1319 17506 8199 2 1041 + 8199 17506 8196 2 1041 + 8199 8196 8198 2 1041 + 8198 8196 8195 2 1041 + 8198 8195 1318 2 1041 + 8196 17506 8197 2 1041 + 1322 1320 8215 2 1044 + 1322 8215 1321 2 1044 + 9835 1323 8218 2 1046 + 9835 8218 8219 2 1046 + 9835 8219 9836 2 1046 + 9836 8219 8220 2 1046 + 9836 8220 9837 2 1046 + 9837 8220 8221 2 1046 + 9837 8221 9838 2 1046 + 9838 8221 1325 2 1046 + 8218 1323 1324 2 1046 + 17507 17508 17510 2 1048 + 17510 17508 17511 2 1048 + 17511 17508 17512 2 1048 + 17513 17507 17509 2 1048 + 17509 17507 17510 2 1048 + 17509 17510 17515 2 1048 + 17515 17510 17516 2 1048 + 17510 17511 17516 2 1048 + 17513 17509 17517 2 1048 + 17517 17509 17514 2 1048 + 17514 17509 17515 2 1048 + 17514 17515 17519 2 1048 + 17519 17515 17520 2 1048 + 17515 17516 17520 2 1048 + 17518 17514 17519 2 1048 + 17518 17519 17521 2 1048 + 8245 1326 17517 2 1048 + 8245 17517 8244 2 1048 + 8244 17517 17514 2 1048 + 8244 17514 17518 2 1048 + 8244 17518 8243 2 1048 + 8243 17518 17521 2 1048 + 8243 17521 8242 2 1048 + 8242 17521 1328 2 1048 + 1328 17521 8236 2 1048 + 8236 17521 17520 2 1048 + 8236 17520 8235 2 1048 + 8235 17520 8234 2 1048 + 8234 17520 17516 2 1048 + 8234 17516 8233 2 1048 + 8233 17516 17511 2 1048 + 8233 17511 17512 2 1048 + 8233 17512 8232 2 1048 + 8232 17512 1327 2 1048 + 1327 17512 8228 2 1048 + 8228 17512 17508 2 1048 + 8228 17508 8229 2 1048 + 8229 17508 17507 2 1048 + 8229 17507 8230 2 1048 + 8230 17507 17513 2 1048 + 8230 17513 8231 2 1048 + 8231 17513 1326 2 1048 + 1326 17513 17517 2 1048 + 17520 17521 17519 2 1048 + 9874 1329 8267 2 1051 + 9874 8267 9875 2 1051 + 9875 8267 8266 2 1051 + 9875 8266 9876 2 1051 + 9876 8266 8265 2 1051 + 9876 8265 9877 2 1051 + 9877 8265 8264 2 1051 + 9877 8264 9878 2 1051 + 9878 8264 1330 2 1051 + 9878 1330 1331 2 1051 + 8289 1332 8283 2 1053 + 8289 8283 8284 2 1053 + 8289 8284 8288 2 1053 + 8288 8284 1334 2 1053 + 8283 1332 8282 2 1053 + 8282 1332 1333 2 1053 + 9898 1335 17523 2 1056 + 9898 17523 17522 2 1056 + 9898 17522 9899 2 1056 + 9899 17522 8327 2 1056 + 9899 8327 1337 2 1056 + 8327 17522 8326 2 1056 + 8326 17522 17523 2 1056 + 8326 17523 8325 2 1056 + 8325 17523 8324 2 1056 + 8324 17523 8322 2 1056 + 8324 8322 1336 2 1056 + 8322 17523 8323 2 1056 + 8323 17523 1335 2 1056 + 17527 17525 17528 2 1058 + 17525 17526 17528 2 1058 + 8339 1338 8331 2 1058 + 8339 8331 17526 2 1058 + 8339 17526 8338 2 1058 + 8338 17526 17525 2 1058 + 8338 17525 8337 2 1058 + 8337 17525 17527 2 1058 + 8337 17527 8336 2 1058 + 8336 17527 17524 2 1058 + 8336 17524 1340 2 1058 + 1340 17524 8333 2 1058 + 8333 17524 8332 2 1058 + 8332 17524 17527 2 1058 + 8332 17527 8328 2 1058 + 8332 8328 1339 2 1058 + 8328 17527 17528 2 1058 + 8328 17528 8329 2 1058 + 8329 17528 8330 2 1058 + 8330 17528 17526 2 1058 + 8330 17526 8331 2 1058 + 17531 17529 17532 2 1061 + 9915 1341 17532 2 1061 + 9915 17532 17529 2 1061 + 9915 17529 1343 2 1061 + 1343 17529 8348 2 1061 + 8348 17529 8347 2 1061 + 8347 17529 17531 2 1061 + 8347 17531 17530 2 1061 + 8347 17530 8346 2 1061 + 8346 17530 8345 2 1061 + 8345 17530 8341 2 1061 + 8345 8341 8340 2 1061 + 8345 8340 8344 2 1061 + 8344 8340 1342 2 1061 + 8341 17530 8342 2 1061 + 8342 17530 17531 2 1061 + 8342 17531 8343 2 1061 + 8343 17531 17532 2 1061 + 8343 17532 1341 2 1061 + 17535 17533 17536 2 1063 + 17533 17534 17536 2 1063 + 9920 1344 17536 2 1063 + 9920 17536 17534 2 1063 + 9920 17534 9921 2 1063 + 9921 17534 8354 2 1063 + 9921 8354 1346 2 1063 + 8354 17534 17533 2 1063 + 8354 17533 1348 2 1063 + 1348 17533 16522 2 1063 + 16522 17533 17535 2 1063 + 16522 17535 16521 2 1063 + 16521 17535 17537 2 1063 + 16521 17537 1347 2 1063 + 1347 17537 8350 2 1063 + 1347 8350 8356 2 1063 + 8356 8350 8349 2 1063 + 8356 8349 1345 2 1063 + 8350 17537 8351 2 1063 + 8351 17537 8352 2 1063 + 8352 17537 17535 2 1063 + 8352 17535 8353 2 1063 + 8353 17535 17536 2 1063 + 8353 17536 1344 2 1063 + 17541 17539 17542 2 1065 + 17539 17540 17542 2 1065 + 17543 17541 17544 2 1065 + 17541 17542 17544 2 1065 + 17543 17544 17545 2 1065 + 8367 1349 8355 2 1065 + 8367 8355 17538 2 1065 + 8367 17538 8366 2 1065 + 8366 17538 17539 2 1065 + 8366 17539 8365 2 1065 + 8365 17539 8364 2 1065 + 8364 17539 17541 2 1065 + 8364 17541 8363 2 1065 + 8363 17541 17543 2 1065 + 8363 17543 1351 2 1065 + 1351 17543 8358 2 1065 + 8358 17543 17545 2 1065 + 8358 17545 1350 2 1065 + 1350 17545 8357 2 1065 + 8357 17545 17544 2 1065 + 8357 17544 1347 2 1065 + 1347 17544 16521 2 1065 + 16521 17544 17542 2 1065 + 16521 17542 16522 2 1065 + 16522 17542 17540 2 1065 + 16522 17540 1348 2 1065 + 1348 17540 17538 2 1065 + 1348 17538 8355 2 1065 + 17538 17540 17539 2 1065 + 17550 17546 17551 2 1069 + 17546 17547 17551 2 1069 + 17551 17547 17552 2 1069 + 17547 17548 17552 2 1069 + 17552 17548 17553 2 1069 + 17548 17549 17553 2 1069 + 17550 17551 17554 2 1069 + 17554 17551 17555 2 1069 + 17551 17552 17555 2 1069 + 17555 17552 17556 2 1069 + 17552 17553 17556 2 1069 + 9948 1352 8379 2 1069 + 9948 8379 17549 2 1069 + 9948 17549 9949 2 1069 + 9949 17549 17548 2 1069 + 9949 17548 9950 2 1069 + 9950 17548 17547 2 1069 + 9950 17547 9951 2 1069 + 9951 17547 17546 2 1069 + 9951 17546 1354 2 1069 + 1354 17546 8383 2 1069 + 8383 17546 8382 2 1069 + 8382 17546 17550 2 1069 + 8382 17550 8381 2 1069 + 8381 17550 17554 2 1069 + 8381 17554 8380 2 1069 + 8380 17554 8375 2 1069 + 8380 8375 1353 2 1069 + 8375 17554 17555 2 1069 + 8375 17555 8376 2 1069 + 8376 17555 17556 2 1069 + 8376 17556 8377 2 1069 + 8377 17556 8378 2 1069 + 8378 17556 17553 2 1069 + 8378 17553 8379 2 1069 + 8379 17553 17549 2 1069 + 8406 1355 8399 2 1071 + 8406 8399 8398 2 1071 + 8406 8398 17557 2 1071 + 8406 17557 8405 2 1071 + 8405 17557 17558 2 1071 + 8405 17558 8404 2 1071 + 8404 17558 1357 2 1071 + 1357 17558 8401 2 1071 + 8401 17558 8400 2 1071 + 8400 17558 8396 2 1071 + 8400 8396 1356 2 1071 + 8396 17558 8397 2 1071 + 8397 17558 17557 2 1071 + 8397 17557 8398 2 1071 + 8419 1358 8414 2 1074 + 8419 8414 17559 2 1074 + 8419 17559 8418 2 1074 + 8418 17559 8417 2 1074 + 8417 17559 17560 2 1074 + 8417 17560 1360 2 1074 + 1360 17560 8415 2 1074 + 8415 17560 1359 2 1074 + 1359 17560 8412 2 1074 + 8412 17560 17559 2 1074 + 8412 17559 8413 2 1074 + 8413 17559 8414 2 1074 + 17562 17561 17563 2 1077 + 9977 1361 8422 2 1077 + 9977 8422 17563 2 1077 + 9977 17563 9978 2 1077 + 9978 17563 17561 2 1077 + 9978 17561 9979 2 1077 + 9979 17561 9980 2 1077 + 9980 17561 8424 2 1077 + 9980 8424 1363 2 1077 + 8424 17561 17562 2 1077 + 8424 17562 8423 2 1077 + 8423 17562 8420 2 1077 + 8423 8420 1362 2 1077 + 8420 17562 17563 2 1077 + 8420 17563 8421 2 1077 + 8421 17563 8422 2 1077 + 1366 1364 8426 2 1079 + 1366 8426 8427 2 1079 + 8427 8426 8425 2 1079 + 8427 8425 1365 2 1079 + 1369 1367 8432 2 1082 + 8432 1367 1368 2 1082 + 9985 1370 8443 2 1085 + 9985 8443 17564 2 1085 + 9985 17564 9986 2 1085 + 9986 17564 8445 2 1085 + 9986 8445 9987 2 1085 + 9987 8445 8446 2 1085 + 9987 8446 9988 2 1085 + 9988 8446 8447 2 1085 + 9988 8447 1372 2 1085 + 8445 17564 8444 2 1085 + 8444 17564 8443 2 1085 + 8443 1370 1371 2 1085 + 17566 17565 17567 2 1087 + 17568 17566 17569 2 1087 + 17566 17567 17569 2 1087 + 17569 17567 17570 2 1087 + 17569 17570 17572 2 1087 + 17572 17570 17573 2 1087 + 17570 17571 17573 2 1087 + 10073 1373 8452 2 1087 + 10073 8452 17573 2 1087 + 10073 17573 17571 2 1087 + 10073 17571 10074 2 1087 + 10074 17571 10075 2 1087 + 10075 17571 17567 2 1087 + 10075 17567 10076 2 1087 + 10076 17567 17565 2 1087 + 10076 17565 10077 2 1087 + 10077 17565 1375 2 1087 + 1375 17565 8455 2 1087 + 8455 17565 17566 2 1087 + 8455 17566 8454 2 1087 + 8454 17566 17568 2 1087 + 8454 17568 8453 2 1087 + 8453 17568 1374 2 1087 + 1374 17568 8448 2 1087 + 8448 17568 8449 2 1087 + 8449 17568 17569 2 1087 + 8449 17569 17572 2 1087 + 8449 17572 8450 2 1087 + 8450 17572 8451 2 1087 + 8451 17572 17573 2 1087 + 8451 17573 8452 2 1087 + 17567 17571 17570 2 1087 + 17574 17575 17577 2 1089 + 17577 17575 17578 2 1089 + 17575 17576 17578 2 1089 + 17578 17576 17579 2 1089 + 17577 17578 17580 2 1089 + 10152 1376 8463 2 1089 + 10152 8463 17576 2 1089 + 10152 17576 10153 2 1089 + 10153 17576 17575 2 1089 + 10153 17575 10154 2 1089 + 10154 17575 17574 2 1089 + 10154 17574 10155 2 1089 + 10155 17574 8467 2 1089 + 10155 8467 1378 2 1089 + 8467 17574 8466 2 1089 + 8466 17574 17577 2 1089 + 8466 17577 8465 2 1089 + 8465 17577 17580 2 1089 + 8465 17580 8464 2 1089 + 8464 17580 1377 2 1089 + 1377 17580 8461 2 1089 + 8461 17580 17579 2 1089 + 8461 17579 8462 2 1089 + 8462 17579 8463 2 1089 + 8463 17579 17576 2 1089 + 17579 17580 17578 2 1089 + 1381 1379 8481 2 1091 + 8481 1379 8477 2 1091 + 8481 8477 8480 2 1091 + 8480 8477 8476 2 1091 + 8480 8476 8479 2 1091 + 8479 8476 8475 2 1091 + 8479 8475 8478 2 1091 + 8478 8475 8474 2 1091 + 8478 8474 1380 2 1091 + 17584 17582 17585 2 1093 + 17582 17583 17585 2 1093 + 17585 17583 17586 2 1093 + 17588 17584 17589 2 1093 + 17584 17585 17589 2 1093 + 17589 17585 17590 2 1093 + 17585 17586 17590 2 1093 + 17590 17586 17591 2 1093 + 17586 17587 17591 2 1093 + 8499 1382 17581 2 1093 + 8499 17581 17582 2 1093 + 8499 17582 8498 2 1093 + 8498 17582 17584 2 1093 + 8498 17584 8497 2 1093 + 8497 17584 17588 2 1093 + 8497 17588 8496 2 1093 + 8496 17588 8490 2 1093 + 8496 8490 1384 2 1093 + 8490 17588 17589 2 1093 + 8490 17589 8489 2 1093 + 8489 17589 17590 2 1093 + 8489 17590 8488 2 1093 + 8488 17590 17591 2 1093 + 8488 17591 8487 2 1093 + 8487 17591 17587 2 1093 + 8487 17587 8486 2 1093 + 8486 17587 1383 2 1093 + 1383 17587 8482 2 1093 + 8482 17587 8483 2 1093 + 8483 17587 17586 2 1093 + 8483 17586 17583 2 1093 + 8483 17583 8484 2 1093 + 8484 17583 8485 2 1093 + 8485 17583 17582 2 1093 + 8485 17582 17581 2 1093 + 8485 17581 1382 2 1093 + 8518 1385 8509 2 1096 + 8518 8509 17592 2 1096 + 8518 17592 8513 2 1096 + 8518 8513 1387 2 1096 + 8513 17592 8512 2 1096 + 8512 17592 8511 2 1096 + 8511 17592 8508 2 1096 + 8511 8508 8507 2 1096 + 8511 8507 8510 2 1096 + 8510 8507 8506 2 1096 + 8510 8506 1386 2 1096 + 8508 17592 8509 2 1096 + 1390 1388 8519 2 1099 + 1390 8519 1389 2 1099 + 1393 1391 8524 2 1101 + 8524 1391 1392 2 1101 + 10227 1394 8531 2 1103 + 10227 8531 17594 2 1103 + 10227 17594 10228 2 1103 + 10228 17594 17593 2 1103 + 10228 17593 10229 2 1103 + 10229 17593 8533 2 1103 + 10229 8533 1396 2 1103 + 8533 17593 8532 2 1103 + 8532 17593 17594 2 1103 + 8532 17594 1395 2 1103 + 1395 17594 8531 2 1103 + 17597 17595 17598 2 1105 + 17595 17596 17598 2 1105 + 8554 1397 8535 2 1105 + 8554 8535 17595 2 1105 + 8554 17595 8553 2 1105 + 8553 17595 8552 2 1105 + 8552 17595 17597 2 1105 + 8552 17597 8551 2 1105 + 8551 17597 17599 2 1105 + 8551 17599 8550 2 1105 + 8550 17599 8539 2 1105 + 8550 8539 1399 2 1105 + 8539 17599 8538 2 1105 + 8538 17599 17597 2 1105 + 8538 17597 8537 2 1105 + 8537 17597 17598 2 1105 + 8537 17598 8536 2 1105 + 8536 17598 17596 2 1105 + 8536 17596 8534 2 1105 + 8536 8534 1398 2 1105 + 8534 17596 8535 2 1105 + 8535 17596 17595 2 1105 + 17601 17600 17602 2 1108 + 17603 17601 17604 2 1108 + 17601 17602 17604 2 1108 + 17605 17603 17606 2 1108 + 17603 17604 17606 2 1108 + 17606 17604 17607 2 1108 + 17605 17606 17608 2 1108 + 17606 17607 17608 2 1108 + 10281 1400 8573 2 1108 + 10281 8573 17600 2 1108 + 10281 17600 10282 2 1108 + 10282 17600 17601 2 1108 + 10282 17601 10283 2 1108 + 10283 17601 10284 2 1108 + 10284 17601 17603 2 1108 + 10284 17603 17605 2 1108 + 10284 17605 10285 2 1108 + 10285 17605 10286 2 1108 + 10286 17605 8575 2 1108 + 10286 8575 1402 2 1108 + 8575 17605 17608 2 1108 + 8575 17608 8574 2 1108 + 8574 17608 17607 2 1108 + 8574 17607 1401 2 1108 + 1401 17607 8569 2 1108 + 8569 17607 8570 2 1108 + 8570 17607 17604 2 1108 + 8570 17604 8571 2 1108 + 8571 17604 17602 2 1108 + 8571 17602 8572 2 1108 + 8572 17602 17600 2 1108 + 8572 17600 8573 2 1108 + 1405 1403 8577 2 1110 + 1405 8577 8579 2 1110 + 8579 8577 8576 2 1110 + 8579 8576 8578 2 1110 + 8578 8576 1404 2 1110 + 8590 1406 8589 2 1112 + 8590 8589 8588 2 1112 + 8590 8588 1408 2 1112 + 1408 8588 1407 2 1112 + 1411 1409 8592 2 1116 + 8592 1409 1410 2 1116 + 8609 1412 8599 2 1118 + 8609 8599 8600 2 1118 + 8609 8600 8608 2 1118 + 8608 8600 8601 2 1118 + 8608 8601 8607 2 1118 + 8607 8601 1414 2 1118 + 8599 1412 8598 2 1118 + 8598 1412 8596 2 1118 + 8598 8596 8597 2 1118 + 8597 8596 1413 2 1118 + 10305 1415 8612 2 1121 + 10305 8612 17612 2 1121 + 10305 17612 10306 2 1121 + 10306 17612 17611 2 1121 + 10306 17611 10307 2 1121 + 10307 17611 17609 2 1121 + 10307 17609 10308 2 1121 + 10308 17609 8615 2 1121 + 10308 8615 1417 2 1121 + 8615 17609 8614 2 1121 + 8614 17609 17610 2 1121 + 8614 17610 8613 2 1121 + 8613 17610 1416 2 1121 + 1416 17610 8610 2 1121 + 8610 17610 8611 2 1121 + 8611 17610 17611 2 1121 + 8611 17611 17612 2 1121 + 8611 17612 8612 2 1121 + 17611 17610 17609 2 1121 + 10325 1418 8633 2 1123 + 10325 8633 17615 2 1123 + 10325 17615 10326 2 1123 + 10326 17615 10327 2 1123 + 10327 17615 17614 2 1123 + 10327 17614 17613 2 1123 + 10327 17613 10328 2 1123 + 10328 17613 1420 2 1123 + 1420 17613 8636 2 1123 + 8636 17613 17614 2 1123 + 8636 17614 8635 2 1123 + 8635 17614 8634 2 1123 + 8634 17614 17616 2 1123 + 8634 17616 1419 2 1123 + 1419 17616 8631 2 1123 + 8631 17616 8632 2 1123 + 8632 17616 17615 2 1123 + 8632 17615 8633 2 1123 + 17615 17616 17614 2 1123 + 17617 17618 17620 2 1125 + 17620 17618 17621 2 1125 + 17623 17619 17624 2 1125 + 17619 17620 17624 2 1125 + 17624 17620 17625 2 1125 + 17620 17621 17625 2 1125 + 17625 17621 17626 2 1125 + 17621 17622 17626 2 1125 + 17626 17622 17627 2 1125 + 17629 17623 17630 2 1125 + 17623 17624 17630 2 1125 + 17624 17625 17630 2 1125 + 17630 17625 17631 2 1125 + 17625 17626 17631 2 1125 + 17631 17626 17632 2 1125 + 17626 17627 17632 2 1125 + 17629 17630 17633 2 1125 + 17630 17631 17633 2 1125 + 10392 1421 17618 2 1125 + 10392 17618 17617 2 1125 + 10392 17617 10393 2 1125 + 10393 17617 17620 2 1125 + 10393 17620 17619 2 1125 + 10393 17619 1836 2 1125 + 1836 17619 1837 2 1125 + 1837 17619 17623 2 1125 + 1837 17623 10389 2 1125 + 10389 17623 17629 2 1125 + 10389 17629 17628 2 1125 + 10389 17628 10388 2 1125 + 10388 17628 1423 2 1125 + 1423 17628 8654 2 1125 + 8654 17628 8653 2 1125 + 8653 17628 17629 2 1125 + 8653 17629 17633 2 1125 + 8653 17633 8652 2 1125 + 8652 17633 17631 2 1125 + 8652 17631 8651 2 1125 + 8651 17631 17632 2 1125 + 8651 17632 8650 2 1125 + 8650 17632 17627 2 1125 + 8650 17627 1422 2 1125 + 1422 17627 8647 2 1125 + 8647 17627 17622 2 1125 + 8647 17622 8648 2 1125 + 8648 17622 17618 2 1125 + 8648 17618 8649 2 1125 + 8649 17618 1421 2 1125 + 17618 17622 17621 2 1125 + 17634 17635 17639 2 1127 + 17635 17636 17639 2 1127 + 17637 17638 17639 2 1127 + 17638 17634 17639 2 1127 + 10458 1424 8659 2 1127 + 10458 8659 17636 2 1127 + 10458 17636 17635 2 1127 + 10458 17635 10459 2 1127 + 10459 17635 8663 2 1127 + 10459 8663 1426 2 1127 + 8663 17635 17634 2 1127 + 8663 17634 8662 2 1127 + 8662 17634 17638 2 1127 + 8662 17638 8661 2 1127 + 8661 17638 17637 2 1127 + 8661 17637 8660 2 1127 + 8660 17637 8656 2 1127 + 8660 8656 8655 2 1127 + 8660 8655 1425 2 1127 + 8656 17637 8657 2 1127 + 8657 17637 17639 2 1127 + 8657 17639 8658 2 1127 + 8658 17639 17636 2 1127 + 8658 17636 8659 2 1127 + 1429 1427 8667 2 1129 + 1429 8667 8670 2 1129 + 8670 8667 8666 2 1129 + 8670 8666 8669 2 1129 + 8669 8666 8665 2 1129 + 8669 8665 8668 2 1129 + 8668 8665 8664 2 1129 + 8668 8664 1428 2 1129 + 10467 1430 8703 2 1132 + 10467 8703 8704 2 1132 + 10467 8704 1432 2 1132 + 8703 1430 1431 2 1132 + 8722 1433 17640 2 1134 + 8722 17640 8710 2 1134 + 8722 8710 8721 2 1134 + 8721 8710 1435 2 1134 + 8710 17640 8709 2 1134 + 8709 17640 17641 2 1134 + 8709 17641 8708 2 1134 + 8708 17641 8707 2 1134 + 8707 17641 8705 2 1134 + 8707 8705 1434 2 1134 + 8705 17641 8706 2 1134 + 8706 17641 17640 2 1134 + 8706 17640 1433 2 1134 + 10476 1436 8728 2 1137 + 10476 8728 8730 2 1137 + 10476 8730 1438 2 1137 + 8730 8728 8729 2 1137 + 8729 8728 8727 2 1137 + 8729 8727 1437 2 1137 + 1441 1439 8739 2 1139 + 8739 1439 8736 2 1139 + 8739 8736 8738 2 1139 + 8738 8736 8735 2 1139 + 8738 8735 8737 2 1139 + 8737 8735 1440 2 1139 + 17643 17644 17645 2 1141 + 15865 1442 8742 2 1141 + 15865 8742 17642 2 1141 + 15865 17642 15866 2 1141 + 15866 17642 17645 2 1141 + 15866 17645 15867 2 1141 + 15867 17645 17644 2 1141 + 15867 17644 15868 2 1141 + 15868 17644 8744 2 1141 + 15868 8744 1444 2 1141 + 8744 17644 8743 2 1141 + 8743 17644 17643 2 1141 + 8743 17643 1443 2 1141 + 1443 17643 8740 2 1141 + 8740 17643 17645 2 1141 + 8740 17645 8741 2 1141 + 8741 17645 17642 2 1141 + 8741 17642 8742 2 1141 + 1447 1445 8762 2 1143 + 1447 8762 8764 2 1143 + 8764 8762 8761 2 1143 + 8764 8761 8763 2 1143 + 8763 8761 1446 2 1143 + 15890 1448 1449 2 1146 + 15890 1449 1450 2 1146 + 8789 1451 8787 2 1148 + 8789 8787 1453 2 1148 + 8787 1451 1452 2 1148 + 1456 1454 8788 2 1150 + 1456 8788 1455 2 1150 + 1459 1457 8796 2 1154 + 1459 8796 1458 2 1154 + 15818 1460 1461 2 1156 + 15818 1461 8811 2 1156 + 15818 8811 15817 2 1156 + 15817 8811 8812 2 1156 + 15817 8812 15816 2 1156 + 15816 8812 8813 2 1156 + 15816 8813 15815 2 1156 + 15815 8813 1462 2 1156 + 10514 1463 17647 2 1158 + 10514 17647 17646 2 1158 + 10514 17646 8825 2 1158 + 10514 8825 1465 2 1158 + 8825 17646 8824 2 1158 + 8824 17646 17647 2 1158 + 8824 17647 8823 2 1158 + 8823 17647 8820 2 1158 + 8823 8820 8822 2 1158 + 8822 8820 8819 2 1158 + 8822 8819 1464 2 1158 + 8820 17647 8821 2 1158 + 8821 17647 1463 2 1158 + 15814 1466 8829 2 1160 + 15814 8829 8828 2 1160 + 15814 8828 1468 2 1160 + 1468 8828 8827 2 1160 + 1468 8827 8831 2 1160 + 8831 8827 8826 2 1160 + 8831 8826 8830 2 1160 + 8830 8826 1467 2 1160 + 8867 1469 17648 2 1162 + 8867 17648 8866 2 1162 + 8866 17648 8837 2 1162 + 8866 8837 1471 2 1162 + 8837 17648 8836 2 1162 + 8836 17648 8835 2 1162 + 8835 17648 17649 2 1162 + 8835 17649 8834 2 1162 + 8834 17649 8832 2 1162 + 8834 8832 1470 2 1162 + 8832 17649 8833 2 1162 + 8833 17649 17648 2 1162 + 8833 17648 1469 2 1162 + 15813 1472 8872 2 1165 + 15813 8872 8873 2 1165 + 15813 8873 1474 2 1165 + 8872 1472 8869 2 1165 + 8872 8869 8871 2 1165 + 8871 8869 8868 2 1165 + 8871 8868 8870 2 1165 + 8870 8868 1473 2 1165 + 10522 1475 8889 2 1167 + 10522 8889 8888 2 1167 + 10522 8888 10523 2 1167 + 10523 8888 8887 2 1167 + 10523 8887 10524 2 1167 + 10524 8887 8886 2 1167 + 10524 8886 1477 2 1167 + 1477 8886 1476 2 1167 + 10527 1478 8890 2 1169 + 10527 8890 8891 2 1169 + 10527 8891 10528 2 1169 + 10528 8891 8892 2 1169 + 10528 8892 1480 2 1169 + 8890 1478 1479 2 1169 + 10533 1481 8899 2 1171 + 10533 8899 8900 2 1171 + 10533 8900 1483 2 1171 + 8899 1481 8898 2 1171 + 8898 1481 8895 2 1171 + 8898 8895 8897 2 1171 + 8897 8895 8894 2 1171 + 8897 8894 8896 2 1171 + 8896 8894 8893 2 1171 + 8896 8893 1482 2 1171 + 1486 1484 8905 2 1173 + 1486 8905 8904 2 1173 + 1486 8904 8909 2 1173 + 8909 8904 8903 2 1173 + 8909 8903 8908 2 1173 + 8908 8903 8902 2 1173 + 8908 8902 8907 2 1173 + 8907 8902 8901 2 1173 + 8907 8901 8906 2 1173 + 8906 8901 1485 2 1173 + 10575 1487 8915 2 1176 + 10575 8915 8916 2 1176 + 10575 8916 1489 2 1176 + 8915 1487 8914 2 1176 + 8914 1487 1488 2 1176 + 1492 1490 8928 2 1178 + 8928 1490 8927 2 1178 + 8927 1490 8924 2 1178 + 8927 8924 8926 2 1178 + 8926 8924 8923 2 1178 + 8926 8923 8925 2 1178 + 8925 8923 8922 2 1178 + 8925 8922 1491 2 1178 + 1495 1493 8939 2 1181 + 8939 1493 1494 2 1181 + 8969 1496 8949 2 1183 + 8969 8949 17650 2 1183 + 8969 17650 8968 2 1183 + 8968 17650 17652 2 1183 + 8968 17652 17651 2 1183 + 8968 17651 8967 2 1183 + 8967 17651 8966 2 1183 + 8966 17651 8952 2 1183 + 8966 8952 1498 2 1183 + 8952 17651 8951 2 1183 + 8951 17651 17652 2 1183 + 8951 17652 8950 2 1183 + 8950 17652 1497 2 1183 + 1497 17652 17650 2 1183 + 1497 17650 8949 2 1183 + 17656 17654 17657 2 1186 + 17654 17655 17657 2 1186 + 17657 17655 17658 2 1186 + 17657 17658 17663 2 1186 + 17663 17658 17664 2 1186 + 17658 17659 17664 2 1186 + 17664 17659 17665 2 1186 + 17659 17660 17665 2 1186 + 17665 17660 17666 2 1186 + 17660 17661 17666 2 1186 + 17666 17661 17667 2 1186 + 17661 17662 17667 2 1186 + 17668 17663 17669 2 1186 + 17663 17664 17669 2 1186 + 17664 17665 17669 2 1186 + 17669 17665 17670 2 1186 + 17665 17666 17670 2 1186 + 17670 17666 17671 2 1186 + 17666 17667 17671 2 1186 + 1886 1499 17662 2 1186 + 1886 17662 16532 2 1186 + 16532 17662 17661 2 1186 + 16532 17661 16533 2 1186 + 16533 17661 17660 2 1186 + 16533 17660 16534 2 1186 + 16534 17660 17659 2 1186 + 16534 17659 16535 2 1186 + 16535 17659 17658 2 1186 + 16535 17658 17655 2 1186 + 16535 17655 16536 2 1186 + 16536 17655 16537 2 1186 + 16537 17655 17654 2 1186 + 16537 17654 17653 2 1186 + 16537 17653 1887 2 1186 + 1887 17653 1501 2 1186 + 1501 17653 8990 2 1186 + 8990 17653 17654 2 1186 + 8990 17654 8989 2 1186 + 8989 17654 17656 2 1186 + 8989 17656 8988 2 1186 + 8988 17656 17663 2 1186 + 8988 17663 8987 2 1186 + 8987 17663 17668 2 1186 + 8987 17668 8986 2 1186 + 8986 17668 17669 2 1186 + 8986 17669 1500 2 1186 + 1500 17669 8982 2 1186 + 8982 17669 17670 2 1186 + 8982 17670 8983 2 1186 + 8983 17670 17671 2 1186 + 8983 17671 8984 2 1186 + 8984 17671 17667 2 1186 + 8984 17667 8985 2 1186 + 8985 17667 17662 2 1186 + 8985 17662 1499 2 1186 + 17663 17656 17657 2 1186 + 17674 17673 17675 2 1188 + 10623 1502 17673 2 1188 + 10623 17673 17672 2 1188 + 10623 17672 1504 2 1188 + 1504 17672 9000 2 1188 + 9000 17672 8999 2 1188 + 8999 17672 17674 2 1188 + 8999 17674 8998 2 1188 + 8998 17674 17676 2 1188 + 8998 17676 8997 2 1188 + 8997 17676 8992 2 1188 + 8997 8992 8996 2 1188 + 8996 8992 8991 2 1188 + 8996 8991 1503 2 1188 + 8992 17676 8993 2 1188 + 8993 17676 17675 2 1188 + 8993 17675 8994 2 1188 + 8994 17675 17673 2 1188 + 8994 17673 8995 2 1188 + 8995 17673 1502 2 1188 + 17675 17676 17674 2 1188 + 17674 17672 17673 2 1188 + 9020 1505 9005 2 1190 + 9020 9005 9019 2 1190 + 9019 9005 9004 2 1190 + 9019 9004 9018 2 1190 + 9018 9004 9003 2 1190 + 9018 9003 9017 2 1190 + 9017 9003 9002 2 1190 + 9017 9002 9016 2 1190 + 9016 9002 9001 2 1190 + 9016 9001 1507 2 1190 + 1507 9001 1506 2 1190 + 1510 1508 9058 2 1193 + 9058 1508 9053 2 1193 + 9058 9053 17677 2 1193 + 9058 17677 9057 2 1193 + 9057 17677 9056 2 1193 + 9056 17677 9051 2 1193 + 9056 9051 9055 2 1193 + 9055 9051 9050 2 1193 + 9055 9050 9054 2 1193 + 9054 9050 9049 2 1193 + 9054 9049 1509 2 1193 + 9051 17677 9052 2 1193 + 9052 17677 9053 2 1193 + 9076 1511 9063 2 1195 + 9076 9063 9062 2 1195 + 9076 9062 9075 2 1195 + 9075 9062 9061 2 1195 + 9075 9061 9074 2 1195 + 9074 9061 17678 2 1195 + 9074 17678 9073 2 1195 + 9073 17678 9059 2 1195 + 9073 9059 9072 2 1195 + 9072 9059 1512 2 1195 + 9072 1512 1513 2 1195 + 9059 17678 9060 2 1195 + 9060 17678 9061 2 1195 + 17681 17679 17682 2 1198 + 17679 17680 17682 2 1198 + 17682 17680 17683 2 1198 + 17681 17682 17684 2 1198 + 17684 17682 17685 2 1198 + 17682 17683 17685 2 1198 + 9109 1514 9081 2 1198 + 9109 9081 17680 2 1198 + 9109 17680 9108 2 1198 + 9108 17680 17679 2 1198 + 9108 17679 1516 2 1198 + 1516 17679 9086 2 1198 + 9086 17679 17681 2 1198 + 9086 17681 9085 2 1198 + 9085 17681 9084 2 1198 + 9084 17681 17684 2 1198 + 9084 17684 9083 2 1198 + 9083 17684 17685 2 1198 + 9083 17685 9077 2 1198 + 9083 9077 9082 2 1198 + 9082 9077 1515 2 1198 + 9077 17685 9078 2 1198 + 9078 17685 9079 2 1198 + 9079 17685 17683 2 1198 + 9079 17683 9080 2 1198 + 9080 17683 17680 2 1198 + 9080 17680 9081 2 1198 + 9105 1517 9091 2 1200 + 9105 9091 9090 2 1200 + 9105 9090 9104 2 1200 + 9104 9090 9089 2 1200 + 9104 9089 1519 2 1200 + 1519 9089 9093 2 1200 + 9093 9089 9088 2 1200 + 9093 9088 9092 2 1200 + 9092 9088 9087 2 1200 + 9092 9087 1518 2 1200 + 10754 1520 9131 2 1204 + 10754 9131 17686 2 1204 + 10754 17686 1522 2 1204 + 1522 17686 9132 2 1204 + 9132 17686 9130 2 1204 + 9132 9130 1521 2 1204 + 9130 17686 9131 2 1204 + 10773 1523 17687 2 1206 + 10773 17687 10774 2 1206 + 10774 17687 9136 2 1206 + 10774 9136 1525 2 1206 + 9136 17687 9135 2 1206 + 9135 17687 9133 2 1206 + 9135 9133 9134 2 1206 + 9134 9133 1524 2 1206 + 9133 17687 1523 2 1206 + 17688 17689 17690 2 1208 + 10801 1526 9139 2 1208 + 10801 9139 17689 2 1208 + 10801 17689 17688 2 1208 + 10801 17688 10802 2 1208 + 10802 17688 9142 2 1208 + 10802 9142 1528 2 1208 + 9142 17688 9141 2 1208 + 9141 17688 17690 2 1208 + 9141 17690 9140 2 1208 + 9140 17690 9137 2 1208 + 9140 9137 1527 2 1208 + 9137 17690 9138 2 1208 + 9138 17690 17689 2 1208 + 9138 17689 9139 2 1208 + 17693 17691 17694 2 1210 + 17692 17693 17696 2 1210 + 9178 1529 17691 2 1210 + 9178 17691 17693 2 1210 + 9178 17693 17692 2 1210 + 9178 17692 9177 2 1210 + 9177 17692 9176 2 1210 + 9176 17692 9160 2 1210 + 9176 9160 1531 2 1210 + 9160 17692 17696 2 1210 + 9160 17696 9159 2 1210 + 9159 17696 9158 2 1210 + 9158 17696 17693 2 1210 + 9158 17693 17694 2 1210 + 9158 17694 9157 2 1210 + 9157 17694 17695 2 1210 + 9157 17695 9156 2 1210 + 9156 17695 9153 2 1210 + 9156 9153 1530 2 1210 + 9153 17695 9154 2 1210 + 9154 17695 17691 2 1210 + 9154 17691 9155 2 1210 + 9155 17691 1529 2 1210 + 17691 17695 17694 2 1210 + 1534 1532 9170 2 1212 + 9170 1532 9165 2 1212 + 9170 9165 17697 2 1212 + 9170 17697 9169 2 1212 + 9169 17697 9164 2 1212 + 9169 9164 9168 2 1212 + 9168 9164 9163 2 1212 + 9168 9163 9167 2 1212 + 9167 9163 9162 2 1212 + 9167 9162 9166 2 1212 + 9166 9162 9161 2 1212 + 9166 9161 1533 2 1212 + 9164 17697 9165 2 1212 + 17699 17700 17702 2 1216 + 9197 1535 9181 2 1216 + 9197 9181 17701 2 1216 + 9197 17701 9196 2 1216 + 9196 17701 17700 2 1216 + 9196 17700 9195 2 1216 + 9195 17700 17699 2 1216 + 9195 17699 9194 2 1216 + 9194 17699 17698 2 1216 + 9194 17698 9193 2 1216 + 9193 17698 9184 2 1216 + 9193 9184 1537 2 1216 + 9184 17698 9183 2 1216 + 9183 17698 17699 2 1216 + 9183 17699 17702 2 1216 + 9183 17702 9182 2 1216 + 9182 17702 1536 2 1216 + 1536 17702 9179 2 1216 + 9179 17702 17700 2 1216 + 9179 17700 17701 2 1216 + 9179 17701 9180 2 1216 + 9180 17701 9181 2 1216 + 10810 1538 9202 2 1219 + 10810 9202 9201 2 1219 + 10810 9201 10811 2 1219 + 10811 9201 9200 2 1219 + 10811 9200 10812 2 1219 + 10812 9200 9199 2 1219 + 10812 9199 1540 2 1219 + 1540 9199 9203 2 1219 + 9203 9199 9198 2 1219 + 9203 9198 1539 2 1219 + 1543 1541 9204 2 1221 + 1543 9204 1542 2 1221 + 1546 1544 9211 2 1223 + 9211 1544 1545 2 1223 + 10937 1547 9224 2 1225 + 10937 9224 10938 2 1225 + 10938 9224 9225 2 1225 + 10938 9225 10939 2 1225 + 10939 9225 9226 2 1225 + 10939 9226 1549 2 1225 + 9225 9224 1548 2 1225 + 1552 1550 9232 2 1227 + 1552 9232 9233 2 1227 + 9233 9232 9231 2 1227 + 9233 9231 1551 2 1227 + 9269 1553 9237 2 1229 + 9269 9237 9238 2 1229 + 9269 9238 9268 2 1229 + 9268 9238 9239 2 1229 + 9268 9239 9267 2 1229 + 9267 9239 1555 2 1229 + 9237 1553 9236 2 1229 + 9236 1553 9234 2 1229 + 9236 9234 9235 2 1229 + 9235 9234 1554 2 1229 + 9264 1556 9244 2 1231 + 9264 9244 9265 2 1231 + 9265 9244 9243 2 1231 + 9265 9243 9266 2 1231 + 9266 9243 9242 2 1231 + 9266 9242 1558 2 1231 + 1558 9242 9241 2 1231 + 1558 9241 9245 2 1231 + 9245 9241 9240 2 1231 + 9245 9240 1557 2 1231 + 1561 1559 9246 2 1233 + 1561 9246 1560 2 1233 + 9263 1562 9248 2 1236 + 9263 9248 9249 2 1236 + 9263 9249 9262 2 1236 + 9262 9249 9250 2 1236 + 9262 9250 9261 2 1236 + 9261 9250 1564 2 1236 + 9248 1562 9247 2 1236 + 9247 1562 1563 2 1236 + 1567 1565 9254 2 1238 + 1567 9254 9257 2 1238 + 9257 9254 9253 2 1238 + 9257 9253 9256 2 1238 + 9256 9253 9252 2 1238 + 9256 9252 9255 2 1238 + 9255 9252 9251 2 1238 + 9255 9251 1566 2 1238 + 1570 1568 9275 2 1243 + 9275 1568 9272 2 1243 + 9275 9272 9274 2 1243 + 9274 9272 9271 2 1243 + 9274 9271 9273 2 1243 + 9273 9271 9270 2 1243 + 9273 9270 1569 2 1243 + 17704 17705 17708 2 1245 + 17708 17705 17709 2 1245 + 17705 17706 17709 2 1245 + 17706 17707 17709 2 1245 + 17706 17703 17707 2 1245 + 10959 1571 9293 2 1245 + 10959 9293 17703 2 1245 + 10959 17703 10960 2 1245 + 10960 17703 17706 2 1245 + 10960 17706 10961 2 1245 + 10961 17706 17705 2 1245 + 10961 17705 10962 2 1245 + 10962 17705 17704 2 1245 + 10962 17704 10963 2 1245 + 10963 17704 9296 2 1245 + 10963 9296 1573 2 1245 + 9296 17704 9295 2 1245 + 9295 17704 17708 2 1245 + 9295 17708 9294 2 1245 + 9294 17708 17709 2 1245 + 9294 17709 1572 2 1245 + 1572 17709 17707 2 1245 + 1572 17707 9291 2 1245 + 9291 17707 9292 2 1245 + 9292 17707 17703 2 1245 + 9292 17703 9293 2 1245 + 17711 17710 17712 2 1247 + 9314 1574 9299 2 1247 + 9314 9299 17710 2 1247 + 9314 17710 9313 2 1247 + 9313 17710 17711 2 1247 + 9313 17711 9312 2 1247 + 9312 17711 9311 2 1247 + 9311 17711 9302 2 1247 + 9311 9302 1576 2 1247 + 9302 17711 9301 2 1247 + 9301 17711 17712 2 1247 + 9301 17712 17713 2 1247 + 9301 17713 9300 2 1247 + 9300 17713 1575 2 1247 + 1575 17713 9297 2 1247 + 9297 17713 9298 2 1247 + 9298 17713 17712 2 1247 + 9298 17712 17710 2 1247 + 9298 17710 9299 2 1247 + 9338 1577 9324 2 1250 + 9338 9324 9323 2 1250 + 9338 9323 9337 2 1250 + 9337 9323 9322 2 1250 + 9337 9322 1579 2 1250 + 1579 9322 9325 2 1250 + 9325 9322 9321 2 1250 + 9325 9321 1578 2 1250 + 1582 1580 9326 2 1252 + 1582 9326 1581 2 1252 + 1585 1583 9351 2 1256 + 9351 1583 9348 2 1256 + 9351 9348 9350 2 1256 + 9350 9348 9347 2 1256 + 9350 9347 9349 2 1256 + 9349 9347 1584 2 1256 + 1588 1586 17714 2 1258 + 1588 17714 9357 2 1258 + 9357 17714 9354 2 1258 + 9357 9354 9356 2 1258 + 9356 9354 9353 2 1258 + 9356 9353 9355 2 1258 + 9355 9353 9352 2 1258 + 9355 9352 1587 2 1258 + 9354 17714 1586 2 1258 + 17715 17716 17717 2 1260 + 17717 17716 17718 2 1260 + 17720 17717 17721 2 1260 + 17717 17718 17721 2 1260 + 17721 17718 17722 2 1260 + 17718 17719 17722 2 1260 + 17720 17721 17723 2 1260 + 17723 17721 17724 2 1260 + 17721 17722 17724 2 1260 + 9373 1589 17715 2 1260 + 9373 17715 9372 2 1260 + 9372 17715 17717 2 1260 + 9372 17717 9371 2 1260 + 9371 17717 17720 2 1260 + 9371 17720 9370 2 1260 + 9370 17720 17723 2 1260 + 9370 17723 9369 2 1260 + 9369 17723 9364 2 1260 + 9369 9364 1591 2 1260 + 9364 17723 17724 2 1260 + 9364 17724 9363 2 1260 + 9363 17724 9362 2 1260 + 9362 17724 17722 2 1260 + 9362 17722 9361 2 1260 + 9361 17722 17719 2 1260 + 9361 17719 1590 2 1260 + 1590 17719 9358 2 1260 + 9358 17719 9359 2 1260 + 9359 17719 17718 2 1260 + 9359 17718 17716 2 1260 + 9359 17716 9360 2 1260 + 9360 17716 17715 2 1260 + 9360 17715 1589 2 1260 + 17725 17726 17728 2 1263 + 17728 17726 17729 2 1263 + 17726 17727 17729 2 1263 + 17729 17727 17730 2 1263 + 17728 17729 17731 2 1263 + 17731 17729 17732 2 1263 + 17729 17730 17732 2 1263 + 17732 17730 17733 2 1263 + 17731 17732 17734 2 1263 + 17734 17732 17735 2 1263 + 17732 17733 17735 2 1263 + 11019 1592 17727 2 1263 + 11019 17727 17726 2 1263 + 11019 17726 11020 2 1263 + 11020 17726 17725 2 1263 + 11020 17725 11021 2 1263 + 11021 17725 9390 2 1263 + 11021 9390 1594 2 1263 + 9390 17725 17728 2 1263 + 9390 17728 9389 2 1263 + 9389 17728 17731 2 1263 + 9389 17731 9388 2 1263 + 9388 17731 17734 2 1263 + 9388 17734 9387 2 1263 + 9387 17734 17735 2 1263 + 9387 17735 9386 2 1263 + 9386 17735 9381 2 1263 + 9386 9381 1593 2 1263 + 9381 17735 9382 2 1263 + 9382 17735 17733 2 1263 + 9382 17733 9383 2 1263 + 9383 17733 17730 2 1263 + 9383 17730 9384 2 1263 + 9384 17730 9385 2 1263 + 9385 17730 17727 2 1263 + 9385 17727 1592 2 1263 + 1597 1595 17736 2 1265 + 1597 17736 9400 2 1265 + 9400 17736 9399 2 1265 + 9399 17736 9394 2 1265 + 9399 9394 9398 2 1265 + 9398 9394 9393 2 1265 + 9398 9393 9397 2 1265 + 9397 9393 9392 2 1265 + 9397 9392 9396 2 1265 + 9396 9392 9391 2 1265 + 9396 9391 1596 2 1265 + 9394 17736 9395 2 1265 + 9395 17736 1595 2 1265 + 17738 17739 17742 2 1267 + 17738 17737 17739 2 1267 + 17739 17740 17743 2 1267 + 17743 17740 17744 2 1267 + 17741 17742 17746 2 1267 + 17742 17743 17746 2 1267 + 17742 17739 17743 2 1267 + 11079 1598 9405 2 1267 + 11079 9405 17737 2 1267 + 11079 17737 17738 2 1267 + 11079 17738 11080 2 1267 + 11080 17738 17741 2 1267 + 11080 17741 11081 2 1267 + 11081 17741 1600 2 1267 + 1600 17741 9410 2 1267 + 9410 17741 17746 2 1267 + 9410 17746 9409 2 1267 + 9409 17746 9408 2 1267 + 9408 17746 17743 2 1267 + 9408 17743 17744 2 1267 + 9408 17744 9407 2 1267 + 9407 17744 17745 2 1267 + 9407 17745 9406 2 1267 + 9406 17745 9401 2 1267 + 9406 9401 1599 2 1267 + 9401 17745 9402 2 1267 + 9402 17745 17744 2 1267 + 9402 17744 17740 2 1267 + 9402 17740 9403 2 1267 + 9403 17740 9404 2 1267 + 9404 17740 17737 2 1267 + 9404 17737 9405 2 1267 + 17737 17740 17739 2 1267 + 17741 17738 17742 2 1267 + 1603 1601 9416 2 1269 + 9416 1601 9415 2 1269 + 9416 9415 9417 2 1269 + 9417 9415 9414 2 1269 + 9417 9414 1605 2 1269 + 1605 9414 9413 2 1269 + 1605 9413 1604 2 1269 + 1604 9413 9412 2 1269 + 1604 9412 9421 2 1269 + 9421 9412 9411 2 1269 + 9421 9411 9420 2 1269 + 9420 9411 1602 2 1269 + 17747 17748 17751 2 1271 + 17748 17749 17751 2 1271 + 17749 17750 17752 2 1271 + 17751 17749 17752 2 1271 + 15803 1606 9418 2 1271 + 15803 9418 17747 2 1271 + 15803 17747 15804 2 1271 + 15804 17747 17751 2 1271 + 15804 17751 15805 2 1271 + 15805 17751 15806 2 1271 + 15806 17751 17752 2 1271 + 15806 17752 1608 2 1271 + 1608 17752 9425 2 1271 + 9425 17752 17750 2 1271 + 9425 17750 9424 2 1271 + 9424 17750 9422 2 1271 + 9424 9422 1607 2 1271 + 9422 17750 9423 2 1271 + 9423 17750 1604 2 1271 + 1604 17750 17749 2 1271 + 1604 17749 17748 2 1271 + 1604 17748 1605 2 1271 + 1605 17748 9419 2 1271 + 9419 17748 17747 2 1271 + 9419 17747 9418 2 1271 + 17757 17753 17758 2 1274 + 17753 17754 17758 2 1274 + 17758 17754 17759 2 1274 + 17754 17755 17759 2 1274 + 17755 17756 17759 2 1274 + 17760 17757 17761 2 1274 + 17757 17758 17761 2 1274 + 17758 17759 17761 2 1274 + 9445 1609 9427 2 1274 + 9445 9427 17760 2 1274 + 9445 17760 9446 2 1274 + 9446 17760 17761 2 1274 + 9446 17761 1613 2 1274 + 1613 17761 17759 2 1274 + 1613 17759 1612 2 1274 + 1612 17759 17756 2 1274 + 1612 17756 9450 2 1274 + 9450 17756 9449 2 1274 + 9449 17756 9432 2 1274 + 9449 9432 1611 2 1274 + 9432 17756 9431 2 1274 + 9431 17756 17755 2 1274 + 9431 17755 9430 2 1274 + 9430 17755 17754 2 1274 + 9430 17754 9429 2 1274 + 9429 17754 17753 2 1274 + 9429 17753 9428 2 1274 + 9428 17753 17757 2 1274 + 9428 17757 1610 2 1274 + 1610 17757 9426 2 1274 + 9426 17757 17760 2 1274 + 9426 17760 9427 2 1274 + 17765 17766 17767 2 1277 + 15808 1614 17765 2 1277 + 15808 17765 17767 2 1277 + 15808 17767 1616 2 1277 + 1616 17767 9457 2 1277 + 9457 17767 17766 2 1277 + 9457 17766 9456 2 1277 + 9456 17766 17764 2 1277 + 9456 17764 9455 2 1277 + 9455 17764 17763 2 1277 + 9455 17763 9454 2 1277 + 9454 17763 17762 2 1277 + 9454 17762 9453 2 1277 + 9453 17762 9451 2 1277 + 9453 9451 1615 2 1277 + 9451 17762 9452 2 1277 + 9452 17762 1612 2 1277 + 1612 17762 17763 2 1277 + 1612 17763 17764 2 1277 + 1612 17764 1613 2 1277 + 1613 17764 9448 2 1277 + 9448 17764 17766 2 1277 + 9448 17766 17765 2 1277 + 9448 17765 9447 2 1277 + 9447 17765 1614 2 1277 + 17769 17768 17770 2 1280 + 17769 17770 17772 2 1280 + 17772 17770 17773 2 1280 + 17770 17771 17773 2 1280 + 17772 17773 17776 2 1280 + 17773 17774 17776 2 1280 + 17776 17774 17777 2 1280 + 17774 17775 17777 2 1280 + 15811 1617 17777 2 1280 + 15811 17777 17775 2 1280 + 15811 17775 15812 2 1280 + 15812 17775 1619 2 1280 + 1619 17775 9463 2 1280 + 9463 17775 17774 2 1280 + 9463 17774 1621 2 1280 + 1621 17774 17771 2 1280 + 1621 17771 16524 2 1280 + 16524 17771 16523 2 1280 + 16523 17771 17770 2 1280 + 16523 17770 17768 2 1280 + 16523 17768 1620 2 1280 + 1620 17768 9465 2 1280 + 9465 17768 9458 2 1280 + 9465 9458 1618 2 1280 + 9458 17768 9459 2 1280 + 9459 17768 17769 2 1280 + 9459 17769 9460 2 1280 + 9460 17769 17772 2 1280 + 9460 17772 9461 2 1280 + 9461 17772 17776 2 1280 + 9461 17776 9462 2 1280 + 9462 17776 1617 2 1280 + 1617 17776 17777 2 1280 + 17771 17774 17773 2 1280 + 9498 1622 9464 2 1282 + 9498 9464 17780 2 1282 + 9498 17780 1624 2 1282 + 1624 17780 9471 2 1282 + 9471 17780 17779 2 1282 + 9471 17779 9470 2 1282 + 9470 17779 9469 2 1282 + 9469 17779 17778 2 1282 + 9469 17778 9468 2 1282 + 9468 17778 9466 2 1282 + 9468 9466 9467 2 1282 + 9467 9466 1623 2 1282 + 9466 17778 1620 2 1282 + 1620 17778 16523 2 1282 + 16523 17778 17779 2 1282 + 16523 17779 16524 2 1282 + 16524 17779 17780 2 1282 + 16524 17780 1621 2 1282 + 1621 17780 9464 2 1282 + 15787 1625 17782 2 1286 + 15787 17782 9502 2 1286 + 15787 9502 15786 2 1286 + 15786 9502 9503 2 1286 + 15786 9503 15785 2 1286 + 15785 9503 9504 2 1286 + 15785 9504 1627 2 1286 + 9502 17782 9501 2 1286 + 9501 17782 17781 2 1286 + 9501 17781 9500 2 1286 + 9500 17781 9499 2 1286 + 9500 9499 1626 2 1286 + 9499 17781 1625 2 1286 + 1625 17781 17782 2 1286 + 1630 1628 9509 2 1288 + 1630 9509 9513 2 1288 + 9513 9509 9508 2 1288 + 9513 9508 9512 2 1288 + 9512 9508 9507 2 1288 + 9512 9507 9511 2 1288 + 9511 9507 9506 2 1288 + 9511 9506 9510 2 1288 + 9510 9506 9505 2 1288 + 9510 9505 1629 2 1288 + 9559 1631 9529 2 1290 + 9559 9529 9558 2 1290 + 9558 9529 9528 2 1290 + 9558 9528 9557 2 1290 + 9557 9528 9527 2 1290 + 9557 9527 17783 2 1290 + 9557 17783 9556 2 1290 + 9556 17783 1633 2 1290 + 1633 17783 9526 2 1290 + 1633 9526 1632 2 1290 + 9526 17783 9527 2 1290 + 1636 1634 9536 2 1292 + 9536 1634 1635 2 1292 + 1639 1637 9549 2 1294 + 1639 9549 1638 2 1294 + 9566 1640 9563 2 1299 + 9566 9563 9565 2 1299 + 9565 9563 9562 2 1299 + 9565 9562 9564 2 1299 + 9564 9562 9561 2 1299 + 9564 9561 1642 2 1299 + 1642 9561 9560 2 1299 + 1642 9560 1641 2 1299 + 9603 1643 1644 2 1303 + 9603 1644 17784 2 1303 + 9603 17784 9602 2 1303 + 9602 17784 9582 2 1303 + 9602 9582 9583 2 1303 + 9602 9583 9601 2 1303 + 9601 9583 9584 2 1303 + 9601 9584 9600 2 1303 + 9600 9584 9585 2 1303 + 9600 9585 9599 2 1303 + 9599 9585 9586 2 1303 + 9599 9586 1645 2 1303 + 9582 17784 1644 2 1303 + 1648 1646 9608 2 1306 + 1648 9608 9613 2 1306 + 9613 9608 9607 2 1306 + 9613 9607 9612 2 1306 + 9612 9607 9606 2 1306 + 9612 9606 9611 2 1306 + 9611 9606 9605 2 1306 + 9611 9605 9610 2 1306 + 9610 9605 9604 2 1306 + 9610 9604 9609 2 1306 + 9609 9604 1647 2 1306 + 1651 1649 9618 2 1308 + 1651 9618 9617 2 1308 + 1651 9617 9622 2 1308 + 9622 9617 9616 2 1308 + 9622 9616 9621 2 1308 + 9621 9616 9615 2 1308 + 9621 9615 9620 2 1308 + 9620 9615 9614 2 1308 + 9620 9614 9619 2 1308 + 9619 9614 1650 2 1308 + 17788 17786 17789 2 1310 + 17786 17787 17789 2 1310 + 11114 1652 9626 2 1310 + 11114 9626 17788 2 1310 + 11114 17788 11115 2 1310 + 11115 17788 17789 2 1310 + 11115 17789 11116 2 1310 + 11116 17789 17787 2 1310 + 11116 17787 11117 2 1310 + 11117 17787 9628 2 1310 + 11117 9628 1654 2 1310 + 9628 17787 9627 2 1310 + 9627 17787 17785 2 1310 + 9627 17785 1653 2 1310 + 1653 17785 9623 2 1310 + 9623 17785 17786 2 1310 + 9623 17786 9624 2 1310 + 9624 17786 17788 2 1310 + 9624 17788 9625 2 1310 + 9625 17788 9626 2 1310 + 17786 17785 17787 2 1310 + 17792 17790 17793 2 1312 + 17794 17791 17795 2 1312 + 17791 17792 17795 2 1312 + 17795 17792 17796 2 1312 + 17792 17793 17796 2 1312 + 17795 17796 17797 2 1312 + 11145 1655 17797 2 1312 + 11145 17797 17796 2 1312 + 11145 17796 11146 2 1312 + 11146 17796 17793 2 1312 + 11146 17793 11147 2 1312 + 11147 17793 17790 2 1312 + 11147 17790 11148 2 1312 + 11148 17790 11149 2 1312 + 11149 17790 9635 2 1312 + 11149 9635 1657 2 1312 + 9635 17790 9634 2 1312 + 9634 17790 9633 2 1312 + 9633 17790 17792 2 1312 + 9633 17792 17791 2 1312 + 9633 17791 9632 2 1312 + 9632 17791 17794 2 1312 + 9632 17794 9631 2 1312 + 9631 17794 1656 2 1312 + 1656 17794 9629 2 1312 + 9629 17794 17797 2 1312 + 9629 17797 9630 2 1312 + 9630 17797 1655 2 1312 + 17797 17794 17795 2 1312 + 17802 17799 17803 2 1314 + 17799 17800 17803 2 1314 + 17803 17800 17804 2 1314 + 17800 17801 17804 2 1314 + 17802 17803 17805 2 1314 + 17805 17803 17806 2 1314 + 17803 17804 17806 2 1314 + 9670 1658 9640 2 1314 + 9670 9640 17798 2 1314 + 9670 17798 9669 2 1314 + 9669 17798 17800 2 1314 + 9669 17800 9668 2 1314 + 9668 17800 17799 2 1314 + 9668 17799 9667 2 1314 + 9667 17799 1660 2 1314 + 1660 17799 9643 2 1314 + 9643 17799 17802 2 1314 + 9643 17802 9642 2 1314 + 9642 17802 17805 2 1314 + 9642 17805 9641 2 1314 + 9641 17805 9636 2 1314 + 9641 9636 1659 2 1314 + 9636 17805 17806 2 1314 + 9636 17806 9637 2 1314 + 9637 17806 17804 2 1314 + 9637 17804 9638 2 1314 + 9638 17804 17801 2 1314 + 9638 17801 9639 2 1314 + 9639 17801 17798 2 1314 + 9639 17798 9640 2 1314 + 17798 17801 17800 2 1314 + 17810 17808 17811 2 1317 + 17808 17807 17811 2 1317 + 17811 17807 17809 2 1317 + 11174 1661 17809 2 1317 + 11174 17809 17807 2 1317 + 11174 17807 11175 2 1317 + 11175 17807 9680 2 1317 + 11175 9680 1663 2 1317 + 9680 17807 9679 2 1317 + 9679 17807 17808 2 1317 + 9679 17808 9678 2 1317 + 9678 17808 17810 2 1317 + 9678 17810 9677 2 1317 + 9677 17810 17812 2 1317 + 9677 17812 9676 2 1317 + 9676 17812 9675 2 1317 + 9675 17812 9671 2 1317 + 9675 9671 1662 2 1317 + 9671 17812 9672 2 1317 + 9672 17812 9673 2 1317 + 9673 17812 17811 2 1317 + 9673 17811 9674 2 1317 + 9674 17811 17809 2 1317 + 9674 17809 1661 2 1317 + 17811 17812 17810 2 1317 + 11237 1664 9686 2 1319 + 11237 9686 9685 2 1319 + 11237 9685 11238 2 1319 + 11238 9685 17813 2 1319 + 11238 17813 11239 2 1319 + 11239 17813 11240 2 1319 + 11240 17813 17814 2 1319 + 11240 17814 1666 2 1319 + 1666 17814 9687 2 1319 + 9687 17814 9682 2 1319 + 9687 9682 9681 2 1319 + 9687 9681 1665 2 1319 + 9682 17814 9683 2 1319 + 9683 17814 17813 2 1319 + 9683 17813 9684 2 1319 + 9684 17813 9685 2 1319 + 9746 1667 9709 2 1321 + 9746 9709 17815 2 1321 + 9746 17815 9745 2 1321 + 9745 17815 9744 2 1321 + 9744 17815 9710 2 1321 + 9744 9710 9711 2 1321 + 9744 9711 9743 2 1321 + 9743 9711 9712 2 1321 + 9743 9712 9742 2 1321 + 9742 9712 1669 2 1321 + 9710 17815 1668 2 1321 + 1668 17815 9709 2 1321 + 1672 1670 9715 2 1323 + 1672 9715 9718 2 1323 + 9718 9715 9714 2 1323 + 9718 9714 9717 2 1323 + 9717 9714 9713 2 1323 + 9717 9713 9716 2 1323 + 9716 9713 1671 2 1323 + 11299 1673 9751 2 1327 + 11299 9751 9750 2 1327 + 11299 9750 1675 2 1327 + 1675 9750 9749 2 1327 + 1675 9749 9754 2 1327 + 9754 9749 9748 2 1327 + 9754 9748 9753 2 1327 + 9753 9748 9747 2 1327 + 9753 9747 9752 2 1327 + 9752 9747 1674 2 1327 + 17816 17817 17821 2 1329 + 17821 17817 17822 2 1329 + 17817 17818 17822 2 1329 + 17822 17818 17823 2 1329 + 17818 17819 17823 2 1329 + 17823 17819 17824 2 1329 + 17820 17816 17821 2 1329 + 17821 17822 17825 2 1329 + 17825 17822 17826 2 1329 + 17822 17823 17826 2 1329 + 17826 17823 17827 2 1329 + 17823 17824 17827 2 1329 + 17826 17827 17828 2 1329 + 11309 1676 17819 2 1329 + 11309 17819 11310 2 1329 + 11310 17819 17818 2 1329 + 11310 17818 11311 2 1329 + 11311 17818 17817 2 1329 + 11311 17817 11312 2 1329 + 11312 17817 17816 2 1329 + 11312 17816 17820 2 1329 + 11312 17820 11313 2 1329 + 11313 17820 9767 2 1329 + 11313 9767 1678 2 1329 + 9767 17820 9766 2 1329 + 9766 17820 17821 2 1329 + 9766 17821 9765 2 1329 + 9765 17821 17825 2 1329 + 9765 17825 9764 2 1329 + 9764 17825 17826 2 1329 + 9764 17826 17828 2 1329 + 9764 17828 9763 2 1329 + 9763 17828 1677 2 1329 + 1677 17828 9760 2 1329 + 9760 17828 17827 2 1329 + 9760 17827 9761 2 1329 + 9761 17827 17824 2 1329 + 9761 17824 9762 2 1329 + 9762 17824 17819 2 1329 + 9762 17819 1676 2 1329 + 17829 17830 17831 2 1331 + 17831 17830 17832 2 1331 + 17832 17833 17834 2 1331 + 17834 17833 17835 2 1331 + 11383 1679 9772 2 1331 + 11383 9772 17829 2 1331 + 11383 17829 11384 2 1331 + 11384 17829 17831 2 1331 + 11384 17831 1681 2 1331 + 1681 17831 9777 2 1331 + 9777 17831 9776 2 1331 + 9776 17831 17834 2 1331 + 9776 17834 9775 2 1331 + 9775 17834 17835 2 1331 + 9775 17835 9774 2 1331 + 9774 17835 17836 2 1331 + 9774 17836 9773 2 1331 + 9773 17836 9768 2 1331 + 9773 9768 1680 2 1331 + 9768 17836 9769 2 1331 + 9769 17836 17835 2 1331 + 9769 17835 17833 2 1331 + 9769 17833 9770 2 1331 + 9770 17833 9771 2 1331 + 9771 17833 17832 2 1331 + 9771 17832 17830 2 1331 + 9771 17830 9772 2 1331 + 9772 17830 17829 2 1331 + 17834 17831 17832 2 1331 + 1684 1682 17837 2 1333 + 1684 17837 9786 2 1333 + 9786 17837 9781 2 1333 + 9786 9781 9785 2 1333 + 9785 9781 9780 2 1333 + 9785 9780 9784 2 1333 + 9784 9780 9779 2 1333 + 9784 9779 9783 2 1333 + 9783 9779 9778 2 1333 + 9783 9778 1683 2 1333 + 9781 17837 9782 2 1333 + 9782 17837 1682 2 1333 + 11389 1685 9801 2 1336 + 11389 9801 9802 2 1336 + 11389 9802 1687 2 1336 + 9801 1685 1686 2 1336 + 9821 1688 9816 2 1338 + 9821 9816 9820 2 1338 + 9820 9816 9815 2 1338 + 9820 9815 9819 2 1338 + 9819 9815 1689 2 1338 + 9819 1689 1690 2 1338 + 17839 17838 17840 2 1341 + 11408 1691 17838 2 1341 + 11408 17838 11409 2 1341 + 11409 17838 17839 2 1341 + 11409 17839 9827 2 1341 + 11409 9827 1693 2 1341 + 9827 17839 9826 2 1341 + 9826 17839 17840 2 1341 + 9826 17840 9825 2 1341 + 9825 17840 9822 2 1341 + 9825 9822 1692 2 1341 + 9822 17840 9823 2 1341 + 9823 17840 9824 2 1341 + 9824 17840 17838 2 1341 + 9824 17838 1691 2 1341 + 9839 1694 17841 2 1343 + 9839 17841 9834 2 1343 + 9839 9834 1696 2 1343 + 9834 17841 9833 2 1343 + 9833 17841 17842 2 1343 + 9833 17842 9832 2 1343 + 9832 17842 9831 2 1343 + 9831 17842 9828 2 1343 + 9831 9828 1695 2 1343 + 9828 17842 9829 2 1343 + 9829 17842 17841 2 1343 + 9829 17841 9830 2 1343 + 9830 17841 1694 2 1343 + 1699 1697 9849 2 1346 + 9849 1697 9848 2 1346 + 9848 1697 9846 2 1346 + 9848 9846 9847 2 1346 + 9847 9846 1698 2 1346 + 11425 1700 9852 2 1348 + 11425 9852 9851 2 1348 + 11425 9851 1702 2 1348 + 1702 9851 9850 2 1348 + 1702 9850 1701 2 1348 + 11446 1703 9861 2 1350 + 11446 9861 9862 2 1350 + 11446 9862 1705 2 1350 + 9861 1703 1704 2 1350 + 17845 17843 17846 2 1352 + 17843 17844 17846 2 1352 + 17846 17844 17847 2 1352 + 17848 17845 17849 2 1352 + 17845 17846 17849 2 1352 + 17848 17849 17850 2 1352 + 9883 1706 17843 2 1352 + 9883 17843 9882 2 1352 + 9882 17843 17845 2 1352 + 9882 17845 9881 2 1352 + 9881 17845 17848 2 1352 + 9881 17848 9880 2 1352 + 9880 17848 17850 2 1352 + 9880 17850 9879 2 1352 + 9879 17850 9873 2 1352 + 9879 9873 1708 2 1352 + 9873 17850 9872 2 1352 + 9872 17850 9871 2 1352 + 9871 17850 17849 2 1352 + 9871 17849 9870 2 1352 + 9870 17849 17847 2 1352 + 9870 17847 9869 2 1352 + 9869 17847 1707 2 1352 + 1707 17847 9867 2 1352 + 9867 17847 17844 2 1352 + 9867 17844 9868 2 1352 + 9868 17844 17843 2 1352 + 9868 17843 1706 2 1352 + 17847 17849 17846 2 1352 + 17852 17853 17855 2 1355 + 17854 17855 17856 2 1355 + 9903 1709 9895 2 1355 + 9903 9895 17851 2 1355 + 9903 17851 9902 2 1355 + 9902 17851 17852 2 1355 + 9902 17852 9901 2 1355 + 9901 17852 9900 2 1355 + 9900 17852 17854 2 1355 + 9900 17854 1711 2 1355 + 1711 17854 9897 2 1355 + 9897 17854 17856 2 1355 + 9897 17856 9896 2 1355 + 9896 17856 9891 2 1355 + 9896 9891 1710 2 1355 + 9891 17856 9892 2 1355 + 9892 17856 17855 2 1355 + 9892 17855 9893 2 1355 + 9893 17855 17853 2 1355 + 9893 17853 9894 2 1355 + 9894 17853 17851 2 1355 + 9894 17851 9895 2 1355 + 17851 17853 17852 2 1355 + 17854 17852 17855 2 1355 + 17857 17858 17859 2 1358 + 17859 17858 17860 2 1358 + 11471 1712 9907 2 1358 + 11471 9907 17860 2 1358 + 11471 17860 17858 2 1358 + 11471 17858 11472 2 1358 + 11472 17858 11473 2 1358 + 11473 17858 17857 2 1358 + 11473 17857 1714 2 1358 + 1714 17857 9910 2 1358 + 9910 17857 9909 2 1358 + 9909 17857 17859 2 1358 + 9909 17859 9908 2 1358 + 9908 17859 9905 2 1358 + 9908 9905 9904 2 1358 + 9908 9904 1713 2 1358 + 9905 17859 9906 2 1358 + 9906 17859 17860 2 1358 + 9906 17860 9907 2 1358 + 9916 1715 9913 2 1360 + 9916 9913 9912 2 1360 + 9916 9912 1717 2 1360 + 1717 9912 9914 2 1360 + 9914 9912 9911 2 1360 + 9914 9911 1716 2 1360 + 1720 1718 9919 2 1363 + 9919 1718 9917 2 1363 + 9919 9917 9918 2 1363 + 9918 9917 1719 2 1363 + 1723 1721 9926 2 1366 + 9926 1721 1722 2 1366 + 17862 17861 17863 2 1368 + 11518 1724 17863 2 1368 + 11518 17863 17861 2 1368 + 11518 17861 11519 2 1368 + 11519 17861 11520 2 1368 + 11520 17861 9930 2 1368 + 11520 9930 1726 2 1368 + 9930 17861 9929 2 1368 + 9929 17861 17862 2 1368 + 9929 17862 9928 2 1368 + 9928 17862 1725 2 1368 + 1725 17862 9927 2 1368 + 9927 17862 17863 2 1368 + 9927 17863 1724 2 1368 + 17867 17864 17868 2 1370 + 17864 17865 17868 2 1370 + 17868 17865 17869 2 1370 + 17870 17866 17871 2 1370 + 17866 17867 17871 2 1370 + 17871 17867 17872 2 1370 + 17867 17868 17872 2 1370 + 17872 17868 17873 2 1370 + 9952 1727 9943 2 1370 + 9952 9943 17865 2 1370 + 9952 17865 1731 2 1370 + 1731 17865 17864 2 1370 + 1731 17864 16526 2 1370 + 16526 17864 16525 2 1370 + 16525 17864 17867 2 1370 + 16525 17867 17866 2 1370 + 16525 17866 1730 2 1370 + 1730 17866 17870 2 1370 + 1730 17870 9954 2 1370 + 9954 17870 9947 2 1370 + 9954 9947 1729 2 1370 + 9947 17870 9946 2 1370 + 9946 17870 17871 2 1370 + 9946 17871 9945 2 1370 + 9945 17871 17872 2 1370 + 9945 17872 9944 2 1370 + 9944 17872 17873 2 1370 + 9944 17873 1728 2 1370 + 1728 17873 9941 2 1370 + 9941 17873 17869 2 1370 + 9941 17869 9942 2 1370 + 9942 17869 9943 2 1370 + 9943 17869 17865 2 1370 + 17869 17873 17868 2 1370 + 9993 1732 9953 2 1373 + 9993 9953 1731 2 1373 + 9993 1731 9992 2 1373 + 9992 1731 17876 2 1373 + 9992 17876 9991 2 1373 + 9991 17876 17875 2 1373 + 9991 17875 9990 2 1373 + 9990 17875 17874 2 1373 + 9990 17874 9989 2 1373 + 9989 17874 17877 2 1373 + 9989 17877 1734 2 1373 + 1734 17877 9956 2 1373 + 9956 17877 9955 2 1373 + 9956 9955 1733 2 1373 + 9955 17877 17878 2 1373 + 9955 17878 1730 2 1373 + 1730 17878 16525 2 1373 + 16525 17878 17875 2 1373 + 16525 17875 16526 2 1373 + 16526 17875 17876 2 1373 + 16526 17876 1731 2 1373 + 17875 17878 17874 2 1373 + 17874 17878 17877 2 1373 + 9984 1735 17880 2 1376 + 9984 17880 17879 2 1376 + 9984 17879 9983 2 1376 + 9983 17879 9982 2 1376 + 9982 17879 9974 2 1376 + 9982 9974 9975 2 1376 + 9982 9975 9981 2 1376 + 9981 9975 9976 2 1376 + 9981 9976 1737 2 1376 + 9974 17879 17881 2 1376 + 9974 17881 9973 2 1376 + 9973 17881 1736 2 1376 + 1736 17881 9972 2 1376 + 9972 17881 17880 2 1376 + 9972 17880 1735 2 1376 + 17880 17881 17879 2 1376 + 1740 1738 10005 2 1380 + 1740 10005 10010 2 1380 + 10010 10005 17882 2 1380 + 10010 17882 10009 2 1380 + 10009 17882 10003 2 1380 + 10009 10003 10008 2 1380 + 10008 10003 10002 2 1380 + 10008 10002 10007 2 1380 + 10007 10002 10001 2 1380 + 10007 10001 10006 2 1380 + 10006 10001 1739 2 1380 + 10003 17882 10004 2 1380 + 10004 17882 10005 2 1380 + 17883 17884 17885 2 1382 + 11544 1741 17884 2 1382 + 11544 17884 17883 2 1382 + 11544 17883 1743 2 1382 + 1743 17883 10033 2 1382 + 10033 17883 10032 2 1382 + 10032 17883 17885 2 1382 + 10032 17885 17886 2 1382 + 10032 17886 10031 2 1382 + 10031 17886 10030 2 1382 + 10030 17886 10026 2 1382 + 10030 10026 10025 2 1382 + 10030 10025 1742 2 1382 + 10026 17886 10027 2 1382 + 10027 17886 17885 2 1382 + 10027 17885 10028 2 1382 + 10028 17885 17884 2 1382 + 10028 17884 10029 2 1382 + 10029 17884 1741 2 1382 + 11625 1744 10037 2 1384 + 11625 10037 11626 2 1384 + 11626 10037 10036 2 1384 + 11626 10036 17889 2 1384 + 11626 17889 11627 2 1384 + 11627 17889 17888 2 1384 + 11627 17888 1746 2 1384 + 1746 17888 10038 2 1384 + 10038 17888 17887 2 1384 + 10038 17887 10034 2 1384 + 10038 10034 1745 2 1384 + 10034 17887 10035 2 1384 + 10035 17887 17888 2 1384 + 10035 17888 17889 2 1384 + 10035 17889 10036 2 1384 + 11655 1747 10039 2 1386 + 11655 10039 17891 2 1386 + 11655 17891 17890 2 1386 + 11655 17890 11656 2 1386 + 11656 17890 10041 2 1386 + 11656 10041 11657 2 1386 + 11657 10041 10042 2 1386 + 11657 10042 1749 2 1386 + 10041 17890 10040 2 1386 + 10040 17890 17891 2 1386 + 10040 17891 1748 2 1386 + 1748 17891 10039 2 1386 + 1752 1750 10065 2 1388 + 10065 1750 10064 2 1388 + 10064 1750 10060 2 1388 + 10064 10060 10063 2 1388 + 10063 10060 10059 2 1388 + 10063 10059 10062 2 1388 + 10062 10059 10058 2 1388 + 10062 10058 10061 2 1388 + 10061 10058 1751 2 1388 + 11680 1753 10084 2 1391 + 11680 10084 10085 2 1391 + 11680 10085 11681 2 1391 + 11681 10085 10086 2 1391 + 11681 10086 11682 2 1391 + 11682 10086 10087 2 1391 + 11682 10087 11683 2 1391 + 11683 10087 10088 2 1391 + 11683 10088 1755 2 1391 + 10084 1753 1754 2 1391 + 1758 1756 10094 2 1393 + 10094 1756 10093 2 1393 + 10094 10093 10095 2 1393 + 10095 10093 10092 2 1393 + 10095 10092 1760 2 1393 + 1760 10092 10091 2 1393 + 1760 10091 1759 2 1393 + 1759 10091 10099 2 1393 + 10099 10091 10090 2 1393 + 10099 10090 10098 2 1393 + 10098 10090 10089 2 1393 + 10098 10089 1757 2 1393 + 17892 17893 17895 2 1395 + 17895 17893 17896 2 1395 + 17895 17896 17903 2 1395 + 17903 17896 17904 2 1395 + 17896 17897 17904 2 1395 + 17904 17897 17905 2 1395 + 17897 17898 17905 2 1395 + 17898 17899 17905 2 1395 + 17905 17899 17906 2 1395 + 17899 17900 17906 2 1395 + 17906 17900 17907 2 1395 + 17900 17901 17907 2 1395 + 17907 17901 17908 2 1395 + 17901 17902 17908 2 1395 + 17909 17903 17910 2 1395 + 17903 17904 17910 2 1395 + 17904 17905 17910 2 1395 + 17910 17905 17911 2 1395 + 17905 17906 17911 2 1395 + 17911 17906 17912 2 1395 + 17906 17907 17912 2 1395 + 17912 17907 17913 2 1395 + 17907 17908 17913 2 1395 + 17910 17911 17914 2 1395 + 17911 17912 17914 2 1395 + 2189 1761 16555 2 1395 + 16555 1761 17894 2 1395 + 16555 17894 16554 2 1395 + 16554 17894 17901 2 1395 + 16554 17901 16553 2 1395 + 16553 17901 17900 2 1395 + 16553 17900 16552 2 1395 + 16552 17900 17899 2 1395 + 16552 17899 16551 2 1395 + 16551 17899 17898 2 1395 + 16551 17898 16550 2 1395 + 16550 17898 17897 2 1395 + 16550 17897 16549 2 1395 + 16549 17897 17896 2 1395 + 16549 17896 17893 2 1395 + 16549 17893 16548 2 1395 + 16548 17893 17892 2 1395 + 16548 17892 16547 2 1395 + 16547 17892 1763 2 1395 + 16547 1763 2190 2 1395 + 1763 17892 10105 2 1395 + 10105 17892 10104 2 1395 + 10104 17892 17895 2 1395 + 10104 17895 10103 2 1395 + 10103 17895 17903 2 1395 + 10103 17903 10102 2 1395 + 10102 17903 17909 2 1395 + 10102 17909 1762 2 1395 + 1762 17909 17910 2 1395 + 1762 17910 17914 2 1395 + 1762 17914 10100 2 1395 + 10100 17914 10101 2 1395 + 10101 17914 17912 2 1395 + 10101 17912 17913 2 1395 + 10101 17913 1759 2 1395 + 1759 17913 1760 2 1395 + 1760 17913 17908 2 1395 + 1760 17908 10097 2 1395 + 10097 17908 17902 2 1395 + 10097 17902 10096 2 1395 + 10096 17902 17894 2 1395 + 10096 17894 1761 2 1395 + 17894 17902 17901 2 1395 + 11782 1764 10133 2 1398 + 11782 10133 10132 2 1398 + 11782 10132 11783 2 1398 + 11783 10132 10131 2 1398 + 11783 10131 17915 2 1398 + 11783 17915 11784 2 1398 + 11784 17915 1766 2 1398 + 1766 17915 10130 2 1398 + 1766 10130 1765 2 1398 + 10130 17915 10131 2 1398 + 11788 1767 10135 2 1400 + 11788 10135 10136 2 1400 + 11788 10136 11789 2 1400 + 11789 10136 10137 2 1400 + 11789 10137 11790 2 1400 + 11790 10137 1769 2 1400 + 10135 1767 10134 2 1400 + 10134 1767 1768 2 1400 + 1772 1770 10147 2 1402 + 1772 10147 10151 2 1402 + 10151 10147 10146 2 1402 + 10151 10146 10150 2 1402 + 10150 10146 10145 2 1402 + 10150 10145 10149 2 1402 + 10149 10145 10144 2 1402 + 10149 10144 10148 2 1402 + 10148 10144 1771 2 1402 + 1775 1773 10160 2 1405 + 10160 1773 1774 2 1405 + 1778 1776 10163 2 1407 + 10163 1776 10161 2 1407 + 10163 10161 10162 2 1407 + 10162 10161 1777 2 1407 + 10170 1779 10165 2 1409 + 10170 10165 10164 2 1409 + 10170 10164 1781 2 1409 + 1781 10164 1780 2 1409 + 1784 1782 10171 2 1412 + 1784 10171 1783 2 1412 + 11835 1785 10194 2 1416 + 11835 10194 10195 2 1416 + 11835 10195 11836 2 1416 + 11836 10195 10196 2 1416 + 11836 10196 11837 2 1416 + 11837 10196 1787 2 1416 + 10194 1785 1786 2 1416 + 1790 1788 10199 2 1418 + 1790 10199 10202 2 1418 + 10202 10199 10198 2 1418 + 10202 10198 10201 2 1418 + 10201 10198 10197 2 1418 + 10201 10197 10200 2 1418 + 10200 10197 1789 2 1418 + 1793 1791 10209 2 1420 + 10209 1791 10208 2 1420 + 10208 1791 10205 2 1420 + 10208 10205 10207 2 1420 + 10207 10205 10204 2 1420 + 10207 10204 10206 2 1420 + 10206 10204 10203 2 1420 + 10206 10203 1792 2 1420 + 17917 17916 17918 2 1422 + 17917 17918 17919 2 1422 + 10232 1794 10213 2 1422 + 10232 10213 17916 2 1422 + 10232 17916 10231 2 1422 + 10231 17916 17917 2 1422 + 10231 17917 10230 2 1422 + 10230 17917 10216 2 1422 + 10230 10216 1796 2 1422 + 10216 17917 17919 2 1422 + 10216 17919 10215 2 1422 + 10215 17919 10214 2 1422 + 10214 17919 10210 2 1422 + 10214 10210 1795 2 1422 + 10210 17919 17918 2 1422 + 10210 17918 10211 2 1422 + 10211 17918 10212 2 1422 + 10212 17918 17916 2 1422 + 10212 17916 10213 2 1422 + 1799 1797 10240 2 1425 + 1799 10240 10239 2 1425 + 1799 10239 10242 2 1425 + 10242 10239 10238 2 1425 + 10242 10238 10241 2 1425 + 10241 10238 1798 2 1425 + 11888 1800 10255 2 1427 + 11888 10255 10256 2 1427 + 11888 10256 1802 2 1427 + 10255 1800 10252 2 1427 + 10255 10252 10254 2 1427 + 10254 10252 10251 2 1427 + 10254 10251 10253 2 1427 + 10253 10251 1801 2 1427 + 1805 1803 10260 2 1429 + 1805 10260 10263 2 1429 + 10263 10260 10259 2 1429 + 10263 10259 10262 2 1429 + 10262 10259 10258 2 1429 + 10262 10258 10261 2 1429 + 10261 10258 10257 2 1429 + 10261 10257 1804 2 1429 + 1808 1806 10270 2 1431 + 10270 1806 10269 2 1431 + 10269 1806 10266 2 1431 + 10269 10266 10268 2 1431 + 10268 10266 10265 2 1431 + 10268 10265 10267 2 1431 + 10267 10265 10264 2 1431 + 10267 10264 1807 2 1431 + 17925 17920 17926 2 1433 + 17920 17921 17926 2 1433 + 17921 17922 17926 2 1433 + 17926 17922 17927 2 1433 + 17922 17923 17927 2 1433 + 17927 17923 17928 2 1433 + 17923 17924 17928 2 1433 + 17925 17926 17929 2 1433 + 17929 17926 17930 2 1433 + 17926 17927 17930 2 1433 + 17929 17930 17931 2 1433 + 10290 1809 17920 2 1433 + 10290 17920 17925 2 1433 + 10290 17925 10289 2 1433 + 10289 17925 10288 2 1433 + 10288 17925 17929 2 1433 + 10288 17929 17931 2 1433 + 10288 17931 10287 2 1433 + 10287 17931 1811 2 1433 + 1811 17931 10280 2 1433 + 10280 17931 10279 2 1433 + 10279 17931 17930 2 1433 + 10279 17930 10278 2 1433 + 10278 17930 17928 2 1433 + 10278 17928 10277 2 1433 + 10277 17928 10276 2 1433 + 10276 17928 17924 2 1433 + 10276 17924 10275 2 1433 + 10275 17924 10271 2 1433 + 10275 10271 1810 2 1433 + 10271 17924 17923 2 1433 + 10271 17923 10272 2 1433 + 10272 17923 17922 2 1433 + 10272 17922 10273 2 1433 + 10273 17922 17921 2 1433 + 10273 17921 10274 2 1433 + 10274 17921 17920 2 1433 + 10274 17920 1809 2 1433 + 17928 17930 17927 2 1433 + 10297 1812 10294 2 1436 + 10297 10294 10296 2 1436 + 10296 10294 10293 2 1436 + 10296 10293 10295 2 1436 + 10295 10293 10292 2 1436 + 10295 10292 1814 2 1436 + 1814 10292 10291 2 1436 + 1814 10291 1813 2 1436 + 1817 1815 10304 2 1439 + 10304 1815 10303 2 1439 + 10303 1815 10300 2 1439 + 10303 10300 10302 2 1439 + 10302 10300 10299 2 1439 + 10302 10299 10301 2 1439 + 10301 10299 10298 2 1439 + 10301 10298 1816 2 1439 + 11898 1818 1819 2 1442 + 11898 1819 1820 2 1442 + 10332 1821 1822 2 1444 + 10332 1822 10321 2 1444 + 10332 10321 10331 2 1444 + 10331 10321 10322 2 1444 + 10331 10322 10330 2 1444 + 10330 10322 10323 2 1444 + 10330 10323 10329 2 1444 + 10329 10323 10324 2 1444 + 10329 10324 1823 2 1444 + 17932 17933 17934 2 1447 + 17934 17933 17935 2 1447 + 11935 1824 10336 2 1447 + 11935 10336 10335 2 1447 + 11935 10335 11936 2 1447 + 11936 10335 17935 2 1447 + 11936 17935 11937 2 1447 + 11937 17935 17933 2 1447 + 11937 17933 11938 2 1447 + 11938 17933 17932 2 1447 + 11938 17932 1826 2 1447 + 1826 17932 10338 2 1447 + 10338 17932 10337 2 1447 + 10337 17932 17934 2 1447 + 10337 17934 10333 2 1447 + 10337 10333 1825 2 1447 + 10333 17934 10334 2 1447 + 10334 17934 17935 2 1447 + 10334 17935 10335 2 1447 + 11963 1827 10356 2 1449 + 11963 10356 17937 2 1449 + 11963 17937 17936 2 1449 + 11963 17936 11964 2 1449 + 11964 17936 11965 2 1449 + 11965 17936 10360 2 1449 + 11965 10360 1829 2 1449 + 10360 17936 10359 2 1449 + 10359 17936 10358 2 1449 + 10358 17936 17937 2 1449 + 10358 17937 10357 2 1449 + 10357 17937 10355 2 1449 + 10357 10355 1828 2 1449 + 10355 17937 10356 2 1449 + 17939 17938 17940 2 1451 + 17939 17940 17941 2 1451 + 11993 1830 10364 2 1451 + 11993 10364 17938 2 1451 + 11993 17938 11994 2 1451 + 11994 17938 17939 2 1451 + 11994 17939 11995 2 1451 + 11995 17939 17941 2 1451 + 11995 17941 11996 2 1451 + 11996 17941 10367 2 1451 + 11996 10367 1832 2 1451 + 10367 17941 10366 2 1451 + 10366 17941 17940 2 1451 + 10366 17940 10365 2 1451 + 10365 17940 10361 2 1451 + 10365 10361 1831 2 1451 + 10361 17940 10362 2 1451 + 10362 17940 17938 2 1451 + 10362 17938 10363 2 1451 + 10363 17938 10364 2 1451 + 10396 1833 17942 2 1453 + 10396 17942 17943 2 1453 + 10396 17943 10395 2 1453 + 10395 17943 10387 2 1453 + 10395 10387 10386 2 1453 + 10395 10386 10394 2 1453 + 10394 10386 1835 2 1453 + 10387 17943 1837 2 1453 + 1837 17943 17942 2 1453 + 1837 17942 1836 2 1453 + 1836 17942 10391 2 1453 + 10391 17942 10385 2 1453 + 10391 10385 10384 2 1453 + 10391 10384 10390 2 1453 + 10390 10384 10383 2 1453 + 10390 10383 1834 2 1453 + 10385 17942 1833 2 1453 + 17944 17945 17946 2 1457 + 10537 1838 10419 2 1457 + 10537 10419 10418 2 1457 + 10537 10418 10536 2 1457 + 10536 10418 17944 2 1457 + 10536 17944 10535 2 1457 + 10535 17944 17946 2 1457 + 10535 17946 10534 2 1457 + 10534 17946 10421 2 1457 + 10534 10421 1840 2 1457 + 10421 17946 10420 2 1457 + 10420 17946 17945 2 1457 + 10420 17945 1839 2 1457 + 1839 17945 10417 2 1457 + 10417 17945 17944 2 1457 + 10417 17944 10418 2 1457 + 10529 1841 10431 2 1459 + 10529 10431 10430 2 1459 + 10529 10430 1843 2 1459 + 1843 10430 1842 2 1459 + 10515 1844 1845 2 1461 + 10515 1845 10436 2 1461 + 10515 10436 17947 2 1461 + 10515 17947 1862 2 1461 + 1862 17947 10437 2 1461 + 1862 10437 1847 2 1461 + 1862 1847 16527 2 1461 + 16527 1847 1848 2 1461 + 16527 1848 1861 2 1461 + 1861 1848 10433 2 1461 + 1861 10433 10517 2 1461 + 10517 10433 10432 2 1461 + 10517 10432 1846 2 1461 + 10437 17947 10436 2 1461 + 17949 17948 17950 2 1463 + 17949 17950 17952 2 1463 + 17951 17952 17954 2 1463 + 17951 17949 17952 2 1463 + 10469 1849 10434 2 1463 + 10469 10434 17948 2 1463 + 10469 17948 10468 2 1463 + 10468 17948 17949 2 1463 + 10468 17949 1851 2 1463 + 1851 17949 17951 2 1463 + 1851 17951 10443 2 1463 + 10443 17951 10442 2 1463 + 10442 17951 17954 2 1463 + 10442 17954 10441 2 1463 + 10441 17954 17953 2 1463 + 10441 17953 10440 2 1463 + 10440 17953 10438 2 1463 + 10440 10438 1850 2 1463 + 10438 17953 10439 2 1463 + 10439 17953 1847 2 1463 + 1847 17953 17954 2 1463 + 1847 17954 17952 2 1463 + 1847 17952 1848 2 1463 + 1848 17952 17950 2 1463 + 1848 17950 10435 2 1463 + 10435 17950 17948 2 1463 + 10435 17948 10434 2 1463 + 10460 1852 10447 2 1466 + 10460 10447 10446 2 1466 + 10460 10446 1854 2 1466 + 1854 10446 10445 2 1466 + 1854 10445 10449 2 1466 + 10449 10445 10444 2 1466 + 10449 10444 10448 2 1466 + 10448 10444 1853 2 1466 + 1857 1855 10471 2 1470 + 1857 10471 10472 2 1470 + 10472 10471 10470 2 1470 + 10472 10470 1856 2 1470 + 10489 1858 1859 2 1473 + 10489 1859 1860 2 1473 + 10526 1863 10516 2 1477 + 10526 10516 10525 2 1477 + 10525 10516 1862 2 1477 + 10525 1862 17955 2 1477 + 10525 17955 1865 2 1477 + 1865 17955 10521 2 1477 + 10521 17955 1861 2 1477 + 10521 1861 10520 2 1477 + 10520 1861 10518 2 1477 + 10520 10518 10519 2 1477 + 10519 10518 1864 2 1477 + 1861 17955 16527 2 1477 + 16527 17955 1862 2 1477 + 1868 1866 10541 2 1483 + 1868 10541 10545 2 1483 + 10545 10541 10540 2 1483 + 10545 10540 10544 2 1483 + 10544 10540 10539 2 1483 + 10544 10539 10543 2 1483 + 10543 10539 10538 2 1483 + 10543 10538 10542 2 1483 + 10542 10538 1867 2 1483 + 17960 17956 17961 2 1485 + 17956 17957 17961 2 1485 + 17961 17957 17962 2 1485 + 17957 17958 17962 2 1485 + 17962 17958 17963 2 1485 + 17958 17959 17963 2 1485 + 17963 17959 17964 2 1485 + 17960 17961 17966 2 1485 + 17966 17961 17967 2 1485 + 17961 17962 17967 2 1485 + 17967 17962 17968 2 1485 + 17962 17963 17968 2 1485 + 17963 17964 17968 2 1485 + 17968 17964 17969 2 1485 + 17964 17965 17969 2 1485 + 17969 17965 17970 2 1485 + 17967 17968 17971 2 1485 + 17971 17968 17972 2 1485 + 17968 17969 17972 2 1485 + 17969 17970 17972 2 1485 + 17972 17970 17973 2 1485 + 12031 1869 17959 2 1485 + 12031 17959 17958 2 1485 + 12031 17958 12032 2 1485 + 12032 17958 17957 2 1485 + 12032 17957 17956 2 1485 + 12032 17956 12033 2 1485 + 12033 17956 12034 2 1485 + 12034 17956 17960 2 1485 + 12034 17960 1871 2 1485 + 1871 17960 1873 2 1485 + 1873 17960 16531 2 1485 + 16531 17960 17966 2 1485 + 16531 17966 16530 2 1485 + 16530 17966 17967 2 1485 + 16530 17967 17971 2 1485 + 16530 17971 16529 2 1485 + 16529 17971 17972 2 1485 + 16529 17972 16528 2 1485 + 16528 17972 17973 2 1485 + 16528 17973 1872 2 1485 + 1872 17973 1870 2 1485 + 1870 17973 10546 2 1485 + 10546 17973 17970 2 1485 + 10546 17970 10547 2 1485 + 10547 17970 17965 2 1485 + 10547 17965 10548 2 1485 + 10548 17965 17964 2 1485 + 10548 17964 10549 2 1485 + 10549 17964 17959 2 1485 + 10549 17959 1869 2 1485 + 15784 1874 1873 2 1487 + 15784 1873 3244 2 1487 + 3244 1873 16531 2 1487 + 3244 16531 16604 2 1487 + 16604 16531 16530 2 1487 + 16604 16530 17974 2 1487 + 16604 17974 16605 2 1487 + 16605 17974 17975 2 1487 + 16605 17975 3245 2 1487 + 3245 17975 17976 2 1487 + 3245 17976 15782 2 1487 + 15782 17976 1876 2 1487 + 1876 17976 1875 2 1487 + 1875 17976 1872 2 1487 + 1872 17976 16528 2 1487 + 16528 17976 17975 2 1487 + 16528 17975 16529 2 1487 + 16529 17975 17974 2 1487 + 16529 17974 16530 2 1487 + 10580 1877 10550 2 1490 + 10580 10550 10551 2 1490 + 10580 10551 1879 2 1490 + 10550 1877 1878 2 1490 + 1882 1880 10573 2 1492 + 1882 10573 10574 2 1492 + 10574 10573 10572 2 1492 + 10574 10572 1881 2 1492 + 1889 1883 17980 2 1496 + 1889 17980 17979 2 1496 + 1889 17979 16540 2 1496 + 16540 17979 17978 2 1496 + 16540 17978 16539 2 1496 + 16539 17978 17977 2 1496 + 16539 17977 16538 2 1496 + 16538 17977 16536 2 1496 + 16538 16536 1888 2 1496 + 1888 16536 16537 2 1496 + 1888 16537 1887 2 1496 + 1888 1887 1885 2 1496 + 16536 17977 16535 2 1496 + 16535 17977 16534 2 1496 + 16534 17977 17978 2 1496 + 16534 17978 17979 2 1496 + 16534 17979 16533 2 1496 + 16533 17979 17980 2 1496 + 16533 17980 17981 2 1496 + 16533 17981 16532 2 1496 + 16532 17981 1886 2 1496 + 1886 17981 1884 2 1496 + 1884 17981 10581 2 1496 + 10581 17981 17980 2 1496 + 10581 17980 1883 2 1496 + 17984 17982 17985 2 1500 + 17982 17983 17985 2 1500 + 17984 17985 17988 2 1500 + 17988 17985 17989 2 1500 + 17985 17986 17989 2 1500 + 17989 17986 17990 2 1500 + 17986 17987 17990 2 1500 + 17990 17987 17991 2 1500 + 17989 17990 17992 2 1500 + 17992 17990 17993 2 1500 + 17990 17991 17993 2 1500 + 17993 17991 17994 2 1500 + 15781 1890 1889 2 1500 + 15781 1889 17994 2 1500 + 15781 17994 3245 2 1500 + 3245 17994 17991 2 1500 + 3245 17991 16605 2 1500 + 16605 17991 17987 2 1500 + 16605 17987 16604 2 1500 + 16604 17987 3244 2 1500 + 3244 17987 17986 2 1500 + 3244 17986 17983 2 1500 + 3244 17983 15783 2 1500 + 15783 17983 1892 2 1500 + 1892 17983 17982 2 1500 + 1892 17982 10582 2 1500 + 10582 17982 1891 2 1500 + 1891 17982 17984 2 1500 + 1891 17984 1888 2 1500 + 1888 17984 17988 2 1500 + 1888 17988 16538 2 1500 + 16538 17988 17992 2 1500 + 16538 17992 16539 2 1500 + 16539 17992 16540 2 1500 + 16540 17992 17993 2 1500 + 16540 17993 17994 2 1500 + 16540 17994 1889 2 1500 + 17992 17988 17989 2 1500 + 17983 17986 17985 2 1500 + 12040 1893 10595 2 1503 + 12040 10595 10596 2 1503 + 12040 10596 12041 2 1503 + 12041 10596 10597 2 1503 + 12041 10597 12042 2 1503 + 12042 10597 1895 2 1503 + 10595 1893 10594 2 1503 + 10594 1893 10592 2 1503 + 10594 10592 10593 2 1503 + 10593 10592 1894 2 1503 + 10758 1896 10602 2 1505 + 10758 10602 10757 2 1505 + 10757 10602 10601 2 1505 + 10757 10601 10756 2 1505 + 10756 10601 10600 2 1505 + 10756 10600 10755 2 1505 + 10755 10600 10599 2 1505 + 10755 10599 1898 2 1505 + 1898 10599 10598 2 1505 + 1898 10598 1897 2 1505 + 10747 1899 1900 2 1507 + 10747 1900 1901 2 1507 + 1904 1902 10607 2 1509 + 10607 1902 1903 2 1509 + 10689 1905 1906 2 1512 + 10689 1906 10624 2 1512 + 10689 10624 10690 2 1512 + 10690 10624 10625 2 1512 + 10690 10625 1907 2 1512 + 1910 1908 10635 2 1514 + 1910 10635 10636 2 1514 + 10636 10635 10634 2 1514 + 10636 10634 1909 2 1514 + 1913 1911 10637 2 1516 + 1913 10637 1912 2 1516 + 10654 1914 1915 2 1518 + 10654 1915 1916 2 1518 + 1919 1917 10660 2 1521 + 10660 1917 10658 2 1521 + 10660 10658 10659 2 1521 + 10659 10658 1918 2 1521 + 1922 1920 10668 2 1523 + 10668 1920 10666 2 1523 + 10668 10666 10667 2 1523 + 10667 10666 10665 2 1523 + 10667 10665 1921 2 1523 + 1925 1923 10693 2 1526 + 10693 1923 1924 2 1526 + 1928 1926 10706 2 1528 + 1928 10706 1927 2 1528 + 10723 1929 1930 2 1531 + 10723 1930 1931 2 1531 + 1934 1932 10736 2 1534 + 1934 10736 1933 2 1534 + 10777 1935 10762 2 1539 + 10777 10762 17995 2 1539 + 10777 17995 10776 2 1539 + 10776 17995 10775 2 1539 + 10775 17995 17996 2 1539 + 10775 17996 1937 2 1539 + 1937 17996 10764 2 1539 + 10764 17996 10759 2 1539 + 10764 10759 10763 2 1539 + 10763 10759 1936 2 1539 + 10759 17996 10760 2 1539 + 10760 17996 10761 2 1539 + 10761 17996 17995 2 1539 + 10761 17995 10762 2 1539 + 1940 1938 10780 2 1542 + 1940 10780 10782 2 1542 + 10782 10780 10779 2 1542 + 10782 10779 10781 2 1542 + 10781 10779 10778 2 1542 + 10781 10778 1939 2 1542 + 17998 17999 18000 2 1544 + 12078 1941 17999 2 1544 + 12078 17999 12079 2 1544 + 12079 17999 17998 2 1544 + 12079 17998 17997 2 1544 + 12079 17997 12080 2 1544 + 12080 17997 10787 2 1544 + 12080 10787 1943 2 1544 + 10787 17997 10786 2 1544 + 10786 17997 17998 2 1544 + 10786 17998 10785 2 1544 + 10785 17998 18000 2 1544 + 10785 18000 1942 2 1544 + 1942 18000 10783 2 1544 + 10783 18000 10784 2 1544 + 10784 18000 17999 2 1544 + 10784 17999 1941 2 1544 + 12138 1944 10790 2 1546 + 12138 10790 18001 2 1546 + 12138 18001 12139 2 1546 + 12139 18001 12140 2 1546 + 12140 18001 10792 2 1546 + 12140 10792 1946 2 1546 + 10792 18001 10791 2 1546 + 10791 18001 10788 2 1546 + 10791 10788 1945 2 1546 + 10788 18001 10789 2 1546 + 10789 18001 10790 2 1546 + 1949 1947 10798 2 1548 + 1949 10798 10800 2 1548 + 10800 10798 10797 2 1548 + 10800 10797 10799 2 1548 + 10799 10797 1948 2 1548 + 10815 1950 10807 2 1551 + 10815 10807 10808 2 1551 + 10815 10808 10814 2 1551 + 10814 10808 10809 2 1551 + 10814 10809 10813 2 1551 + 10813 10809 1952 2 1551 + 10807 1950 1951 2 1551 + 12145 1953 16543 2 1554 + 12145 16543 16544 2 1554 + 12145 16544 12146 2 1554 + 12146 16544 16545 2 1554 + 12146 16545 12147 2 1554 + 12147 16545 1957 2 1554 + 12147 1957 12148 2 1554 + 12148 1957 1955 2 1554 + 16543 1953 16542 2 1554 + 16542 1953 10843 2 1554 + 16542 10843 16541 2 1554 + 16541 10843 10842 2 1554 + 16541 10842 1956 2 1554 + 1956 10842 10841 2 1554 + 1956 10841 1954 2 1554 + 12169 1958 1957 2 1556 + 12169 1957 12170 2 1556 + 12170 1957 16545 2 1556 + 12170 16545 12171 2 1556 + 12171 16545 16544 2 1556 + 12171 16544 12172 2 1556 + 12172 16544 16543 2 1556 + 12172 16543 1960 2 1556 + 1960 16543 16542 2 1556 + 1960 16542 10846 2 1556 + 10846 16542 16541 2 1556 + 10846 16541 10845 2 1556 + 10845 16541 1956 2 1556 + 10845 1956 10844 2 1556 + 10844 1956 1959 2 1556 + 12175 1961 18002 2 1559 + 12175 18002 18003 2 1559 + 12175 18003 12176 2 1559 + 12176 18003 10853 2 1559 + 12176 10853 1963 2 1559 + 10853 18003 10852 2 1559 + 10852 18003 10851 2 1559 + 10851 18003 10848 2 1559 + 10851 10848 10850 2 1559 + 10850 10848 10847 2 1559 + 10850 10847 1962 2 1559 + 10848 18003 18002 2 1559 + 10848 18002 10849 2 1559 + 10849 18002 1961 2 1559 + 18004 18005 18008 2 1561 + 18005 18006 18008 2 1561 + 18008 18006 18009 2 1561 + 18006 18007 18009 2 1561 + 18008 18009 18011 2 1561 + 18009 18010 18011 2 1561 + 12189 1964 10857 2 1561 + 12189 10857 18010 2 1561 + 12189 18010 12190 2 1561 + 12190 18010 18009 2 1561 + 12190 18009 18007 2 1561 + 12190 18007 12191 2 1561 + 12191 18007 12192 2 1561 + 12192 18007 10861 2 1561 + 12192 10861 1966 2 1561 + 10861 18007 18006 2 1561 + 10861 18006 10860 2 1561 + 10860 18006 18005 2 1561 + 10860 18005 10859 2 1561 + 10859 18005 18004 2 1561 + 10859 18004 10858 2 1561 + 10858 18004 1965 2 1561 + 1965 18004 10854 2 1561 + 10854 18004 10855 2 1561 + 10855 18004 18008 2 1561 + 10855 18008 18011 2 1561 + 10855 18011 10856 2 1561 + 10856 18011 10857 2 1561 + 10857 18011 18010 2 1561 + 18013 18012 18014 2 1563 + 12202 1967 10865 2 1563 + 12202 10865 18015 2 1563 + 12202 18015 12203 2 1563 + 12203 18015 18014 2 1563 + 12203 18014 18012 2 1563 + 12203 18012 12204 2 1563 + 12204 18012 1969 2 1563 + 1969 18012 10868 2 1563 + 10868 18012 10867 2 1563 + 10867 18012 18013 2 1563 + 10867 18013 10866 2 1563 + 10866 18013 10862 2 1563 + 10866 10862 1968 2 1563 + 10862 18013 10863 2 1563 + 10863 18013 18014 2 1563 + 10863 18014 10864 2 1563 + 10864 18014 18015 2 1563 + 10864 18015 10865 2 1563 + 1972 1970 10876 2 1565 + 1972 10876 10878 2 1565 + 10878 10876 10875 2 1565 + 10878 10875 10877 2 1565 + 10877 10875 10874 2 1565 + 10877 10874 1971 2 1565 + 10897 1973 10892 2 1567 + 10897 10892 10891 2 1567 + 10897 10891 1975 2 1567 + 1975 10891 1974 2 1567 + 1978 1976 10901 2 1570 + 1978 10901 1977 2 1570 + 1981 1979 10904 2 1573 + 10904 1979 1980 2 1573 + 12277 1982 18017 2 1575 + 12277 18017 18016 2 1575 + 12277 18016 12278 2 1575 + 12278 18016 18020 2 1575 + 12278 18020 12279 2 1575 + 12279 18020 18019 2 1575 + 12279 18019 12280 2 1575 + 12280 18019 18018 2 1575 + 12280 18018 12281 2 1575 + 12281 18018 10928 2 1575 + 12281 10928 1984 2 1575 + 10928 18018 10927 2 1575 + 10927 18018 18019 2 1575 + 10927 18019 10926 2 1575 + 10926 18019 18020 2 1575 + 10926 18020 10925 2 1575 + 10925 18020 18021 2 1575 + 10925 18021 10924 2 1575 + 10924 18021 1983 2 1575 + 1983 18021 10923 2 1575 + 10923 18021 18017 2 1575 + 10923 18017 1982 2 1575 + 18017 18021 18016 2 1575 + 18016 18021 18020 2 1575 + 18023 18024 18027 2 1577 + 18027 18024 18028 2 1577 + 18024 18025 18028 2 1577 + 18028 18025 18029 2 1577 + 18025 18022 18029 2 1577 + 18029 18022 18026 2 1577 + 18028 18029 18030 2 1577 + 18030 18029 18031 2 1577 + 18029 18026 18031 2 1577 + 10943 1985 10933 2 1577 + 10943 10933 18023 2 1577 + 10943 18023 10942 2 1577 + 10942 18023 18027 2 1577 + 10942 18027 10941 2 1577 + 10941 18027 18028 2 1577 + 10941 18028 18030 2 1577 + 10941 18030 10940 2 1577 + 10940 18030 1987 2 1577 + 1987 18030 18031 2 1577 + 1987 18031 10936 2 1577 + 10936 18031 10935 2 1577 + 10935 18031 18026 2 1577 + 10935 18026 10934 2 1577 + 10934 18026 10929 2 1577 + 10934 10929 1986 2 1577 + 10929 18026 18022 2 1577 + 10929 18022 10930 2 1577 + 10930 18022 18025 2 1577 + 10930 18025 10931 2 1577 + 10931 18025 18024 2 1577 + 10931 18024 10932 2 1577 + 10932 18024 18023 2 1577 + 10932 18023 10933 2 1577 + 18033 18032 18034 2 1580 + 18035 18032 18033 2 1580 + 18033 18034 18037 2 1580 + 18038 18035 18039 2 1580 + 18039 18035 18040 2 1580 + 18035 18033 18040 2 1580 + 18040 18033 18036 2 1580 + 18036 18033 18037 2 1580 + 18036 18037 18042 2 1580 + 18038 18039 18043 2 1580 + 18043 18039 18044 2 1580 + 18039 18040 18044 2 1580 + 18044 18040 18045 2 1580 + 18040 18036 18045 2 1580 + 18045 18036 18041 2 1580 + 18041 18036 18042 2 1580 + 18041 18042 18047 2 1580 + 18048 18043 18049 2 1580 + 18043 18044 18049 2 1580 + 18049 18044 18050 2 1580 + 18044 18045 18050 2 1580 + 18050 18045 18051 2 1580 + 18045 18041 18051 2 1580 + 18051 18041 18046 2 1580 + 18046 18041 18047 2 1580 + 18048 18049 18052 2 1580 + 18052 18049 18053 2 1580 + 18049 18050 18053 2 1580 + 18053 18050 18054 2 1580 + 18050 18051 18054 2 1580 + 18054 18051 18055 2 1580 + 18051 18046 18055 2 1580 + 10969 1988 18032 2 1580 + 10969 18032 10968 2 1580 + 10968 18032 18035 2 1580 + 10968 18035 18038 2 1580 + 10968 18038 10967 2 1580 + 10967 18038 10966 2 1580 + 10966 18038 18043 2 1580 + 10966 18043 18048 2 1580 + 10966 18048 10965 2 1580 + 10965 18048 10964 2 1580 + 10964 18048 18052 2 1580 + 10964 18052 1990 2 1580 + 1990 18052 10958 2 1580 + 10958 18052 18053 2 1580 + 10958 18053 10957 2 1580 + 10957 18053 18054 2 1580 + 10957 18054 10956 2 1580 + 10956 18054 18055 2 1580 + 10956 18055 10955 2 1580 + 10955 18055 18046 2 1580 + 10955 18046 10954 2 1580 + 10954 18046 18047 2 1580 + 10954 18047 1989 2 1580 + 1989 18047 10950 2 1580 + 10950 18047 18042 2 1580 + 10950 18042 10951 2 1580 + 10951 18042 18037 2 1580 + 10951 18037 10952 2 1580 + 10952 18037 18034 2 1580 + 10952 18034 10953 2 1580 + 10953 18034 18032 2 1580 + 10953 18032 1988 2 1580 + 18060 18057 18061 2 1583 + 18057 18058 18061 2 1583 + 18061 18058 18062 2 1583 + 18058 18059 18062 2 1583 + 18060 18061 18064 2 1583 + 18063 18060 18064 2 1583 + 12304 1991 10983 2 1583 + 12304 10983 18056 2 1583 + 12304 18056 2396 2 1583 + 2396 18056 18059 2 1583 + 2396 18059 16564 2 1583 + 16564 18059 18058 2 1583 + 16564 18058 16565 2 1583 + 16565 18058 18057 2 1583 + 16565 18057 2397 2 1583 + 2397 18057 18060 2 1583 + 2397 18060 12302 2 1583 + 12302 18060 18063 2 1583 + 12302 18063 1993 2 1583 + 1993 18063 10984 2 1583 + 10984 18063 18064 2 1583 + 10984 18064 1992 2 1583 + 1992 18064 10978 2 1583 + 10978 18064 10979 2 1583 + 10979 18064 18061 2 1583 + 10979 18061 18062 2 1583 + 10979 18062 10980 2 1583 + 10980 18062 10981 2 1583 + 10981 18062 18059 2 1583 + 10981 18059 10982 2 1583 + 10982 18059 18056 2 1583 + 10982 18056 10983 2 1583 + 1996 1994 10985 2 1585 + 1996 10985 1995 2 1585 + 1999 1997 10996 2 1588 + 10996 1997 1998 2 1588 + 11003 2000 10997 2 1590 + 11003 10997 11002 2 1590 + 11002 10997 2001 2 1590 + 11002 2001 2002 2 1590 + 11025 2003 11005 2 1593 + 11025 11005 18065 2 1593 + 11025 18065 11024 2 1593 + 11024 18065 18066 2 1593 + 11024 18066 11023 2 1593 + 11023 18066 11008 2 1593 + 11023 11008 11022 2 1593 + 11022 11008 2005 2 1593 + 11008 18066 11007 2 1593 + 11007 18066 11006 2 1593 + 11006 18066 18065 2 1593 + 11006 18065 11004 2 1593 + 11006 11004 2004 2 1593 + 11004 18065 11005 2 1593 + 18068 18067 18072 2 1596 + 18072 18067 18069 2 1596 + 18069 18067 18070 2 1596 + 18069 18070 18074 2 1596 + 18074 18070 18075 2 1596 + 18070 18071 18075 2 1596 + 18072 18069 18076 2 1596 + 18076 18069 18073 2 1596 + 18073 18069 18074 2 1596 + 18073 18074 18077 2 1596 + 18077 18074 18078 2 1596 + 18074 18075 18078 2 1596 + 18076 18077 18079 2 1596 + 18076 18073 18077 2 1596 + 18077 18078 18080 2 1596 + 18079 18077 18080 2 1596 + 12352 2006 18071 2 1596 + 12352 18071 12353 2 1596 + 12353 18071 18070 2 1596 + 12353 18070 12354 2 1596 + 12354 18070 18067 2 1596 + 12354 18067 12355 2 1596 + 12355 18067 18068 2 1596 + 12355 18068 12356 2 1596 + 12356 18068 11034 2 1596 + 12356 11034 2008 2 1596 + 11034 18068 18072 2 1596 + 11034 18072 11033 2 1596 + 11033 18072 18076 2 1596 + 11033 18076 11032 2 1596 + 11032 18076 18079 2 1596 + 11032 18079 11031 2 1596 + 11031 18079 11030 2 1596 + 11030 18079 18080 2 1596 + 11030 18080 2007 2 1596 + 2007 18080 11026 2 1596 + 11026 18080 11027 2 1596 + 11027 18080 18078 2 1596 + 11027 18078 11028 2 1596 + 11028 18078 18075 2 1596 + 11028 18075 11029 2 1596 + 11029 18075 18071 2 1596 + 11029 18071 2006 2 1596 + 11048 2009 11039 2 1598 + 11048 11039 11047 2 1598 + 11047 11039 11038 2 1598 + 11047 11038 11046 2 1598 + 11046 11038 11037 2 1598 + 11046 11037 11045 2 1598 + 11045 11037 11036 2 1598 + 11045 11036 11044 2 1598 + 11044 11036 11035 2 1598 + 11044 11035 2011 2 1598 + 2011 11035 2010 2 1598 + 12411 2012 11053 2 1601 + 12411 11053 11052 2 1601 + 12411 11052 12412 2 1601 + 12412 11052 11051 2 1601 + 12412 11051 12413 2 1601 + 12413 11051 11050 2 1601 + 12413 11050 12414 2 1601 + 12414 11050 11049 2 1601 + 12414 11049 2014 2 1601 + 2014 11049 2013 2 1601 + 11085 2015 2016 2 1603 + 11085 2016 11056 2 1603 + 11085 11056 11084 2 1603 + 11084 11056 11057 2 1603 + 11084 11057 11083 2 1603 + 11083 11057 11058 2 1603 + 11083 11058 11082 2 1603 + 11082 11058 11059 2 1603 + 11082 11059 2017 2 1603 + 2020 2018 11075 2 1605 + 2020 11075 11078 2 1605 + 11078 11075 11074 2 1605 + 11078 11074 11077 2 1605 + 11077 11074 11073 2 1605 + 11077 11073 11076 2 1605 + 11076 11073 11072 2 1605 + 11076 11072 2019 2 1605 + 11098 2021 11095 2 1609 + 11098 11095 11094 2 1609 + 11098 11094 11097 2 1609 + 11097 11094 11093 2 1609 + 11097 11093 11096 2 1609 + 11096 11093 11092 2 1609 + 11096 11092 2023 2 1609 + 2023 11092 2022 2 1609 + 11105 2024 11101 2 1612 + 11105 11101 11104 2 1612 + 11104 11101 11100 2 1612 + 11104 11100 11103 2 1612 + 11103 11100 11099 2 1612 + 11103 11099 11102 2 1612 + 11102 11099 2025 2 1612 + 11102 2025 2026 2 1612 + 18083 18081 18084 2 1615 + 18085 18082 18086 2 1615 + 18082 18083 18086 2 1615 + 18086 18083 18087 2 1615 + 18083 18084 18087 2 1615 + 18087 18084 18088 2 1615 + 18089 18085 18090 2 1615 + 18085 18086 18090 2 1615 + 18090 18086 18091 2 1615 + 18086 18087 18091 2 1615 + 18091 18087 18092 2 1615 + 18087 18088 18092 2 1615 + 18089 18090 18093 2 1615 + 18093 18090 18094 2 1615 + 18090 18091 18094 2 1615 + 18091 18092 18094 2 1615 + 18094 18092 18095 2 1615 + 11122 2027 18081 2 1615 + 11122 18081 18083 2 1615 + 11122 18083 11121 2 1615 + 11121 18083 18082 2 1615 + 11121 18082 11120 2 1615 + 11120 18082 18085 2 1615 + 11120 18085 11119 2 1615 + 11119 18085 11118 2 1615 + 11118 18085 18089 2 1615 + 11118 18089 11113 2 1615 + 11118 11113 2029 2 1615 + 11113 18089 11112 2 1615 + 11112 18089 18093 2 1615 + 11112 18093 11111 2 1615 + 11111 18093 18094 2 1615 + 11111 18094 18095 2 1615 + 11111 18095 11110 2 1615 + 11110 18095 2028 2 1615 + 2028 18095 11106 2 1615 + 11106 18095 18092 2 1615 + 11106 18092 11107 2 1615 + 11107 18092 18088 2 1615 + 11107 18088 11108 2 1615 + 11108 18088 18084 2 1615 + 11108 18084 11109 2 1615 + 11109 18084 18081 2 1615 + 11109 18081 2027 2 1615 + 18097 18096 18098 2 1618 + 18099 18097 18100 2 1618 + 18097 18098 18100 2 1618 + 18101 18099 18102 2 1618 + 18099 18100 18102 2 1618 + 12430 2030 18098 2 1618 + 12430 18098 18096 2 1618 + 12430 18096 2032 2 1618 + 2032 18096 11132 2 1618 + 11132 18096 18097 2 1618 + 11132 18097 11131 2 1618 + 11131 18097 18099 2 1618 + 11131 18099 11130 2 1618 + 11130 18099 18101 2 1618 + 11130 18101 11129 2 1618 + 11129 18101 11128 2 1618 + 11128 18101 11123 2 1618 + 11128 11123 2031 2 1618 + 11123 18101 11124 2 1618 + 11124 18101 18102 2 1618 + 11124 18102 11125 2 1618 + 11125 18102 11126 2 1618 + 11126 18102 18100 2 1618 + 11126 18100 11127 2 1618 + 11127 18100 18098 2 1618 + 11127 18098 2030 2 1618 + 15778 2033 11137 2 1620 + 15778 11137 11136 2 1620 + 15778 11136 15779 2 1620 + 15779 11136 11135 2 1620 + 15779 11135 15780 2 1620 + 15780 11135 18103 2 1620 + 15780 18103 2035 2 1620 + 2035 18103 11138 2 1620 + 11138 18103 11134 2 1620 + 11138 11134 11133 2 1620 + 11138 11133 2034 2 1620 + 11134 18103 11135 2 1620 + 11152 2036 18104 2 1622 + 11152 18104 11142 2 1622 + 11152 11142 11151 2 1622 + 11151 11142 11143 2 1622 + 11151 11143 11150 2 1622 + 11150 11143 11144 2 1622 + 11150 11144 2038 2 1622 + 11142 18104 11141 2 1622 + 11141 18104 11139 2 1622 + 11141 11139 11140 2 1622 + 11140 11139 2037 2 1622 + 11139 18104 2036 2 1622 + 15777 2039 18108 2 1625 + 15777 18108 15776 2 1625 + 15776 18108 18106 2 1625 + 15776 18106 15775 2 1625 + 15775 18106 11159 2 1625 + 15775 11159 2041 2 1625 + 11159 18106 11158 2 1625 + 11158 18106 18105 2 1625 + 11158 18105 11157 2 1625 + 11157 18105 18107 2 1625 + 11157 18107 11156 2 1625 + 11156 18107 11153 2 1625 + 11156 11153 2040 2 1625 + 11153 18107 11154 2 1625 + 11154 18107 11155 2 1625 + 11155 18107 18108 2 1625 + 11155 18108 2039 2 1625 + 18108 18107 18105 2 1625 + 18108 18105 18106 2 1625 + 12433 2042 11163 2 1627 + 12433 11163 18110 2 1627 + 12433 18110 12434 2 1627 + 12434 18110 18109 2 1627 + 12434 18109 2044 2 1627 + 2044 18109 11165 2 1627 + 11165 18109 18111 2 1627 + 11165 18111 11164 2 1627 + 11164 18111 11160 2 1627 + 11164 11160 2043 2 1627 + 11160 18111 11161 2 1627 + 11161 18111 18109 2 1627 + 11161 18109 11162 2 1627 + 11162 18109 18110 2 1627 + 11162 18110 11163 2 1627 + 11176 2045 11171 2 1629 + 11176 11171 18112 2 1629 + 11176 18112 11173 2 1629 + 11176 11173 2047 2 1629 + 11173 18112 11172 2 1629 + 11172 18112 11170 2 1629 + 11172 11170 2046 2 1629 + 11170 18112 11171 2 1629 + 2050 2048 11195 2 1632 + 11195 2048 11194 2 1632 + 11194 2048 11192 2 1632 + 11194 11192 11193 2 1632 + 11193 11192 2049 2 1632 + 12468 2051 11198 2 1634 + 12468 11198 11197 2 1634 + 12468 11197 2053 2 1634 + 2053 11197 11196 2 1634 + 2053 11196 2052 2 1634 + 12486 2054 2055 2 1636 + 12486 2055 11199 2 1636 + 12486 11199 12487 2 1636 + 12487 11199 11200 2 1636 + 12487 11200 12488 2 1636 + 12488 11200 2056 2 1636 + 2059 2057 11221 2 1638 + 11221 2057 11218 2 1638 + 11221 11218 11220 2 1638 + 11220 11218 11217 2 1638 + 11220 11217 11219 2 1638 + 11219 11217 2058 2 1638 + 12620 2060 11224 2 1640 + 12620 11224 12621 2 1640 + 12621 11224 11223 2 1640 + 12621 11223 2062 2 1640 + 2062 11223 11222 2 1640 + 2062 11222 2061 2 1640 + 11243 2063 11227 2 1642 + 11243 11227 11228 2 1642 + 11243 11228 11242 2 1642 + 11242 11228 11229 2 1642 + 11242 11229 11241 2 1642 + 11241 11229 11230 2 1642 + 11241 11230 2065 2 1642 + 11227 2063 2064 2 1642 + 18116 18113 18117 2 1645 + 18113 18114 18117 2 1645 + 12625 2066 11271 2 1645 + 12625 11271 18113 2 1645 + 12625 18113 12626 2 1645 + 12626 18113 18116 2 1645 + 12626 18116 18115 2 1645 + 12626 18115 12627 2 1645 + 12627 18115 11275 2 1645 + 12627 11275 2068 2 1645 + 11275 18115 11274 2 1645 + 11274 18115 18116 2 1645 + 11274 18116 11273 2 1645 + 11273 18116 18117 2 1645 + 11273 18117 18118 2 1645 + 11273 18118 11272 2 1645 + 11272 18118 11269 2 1645 + 11272 11269 2067 2 1645 + 11269 18118 11270 2 1645 + 11270 18118 18117 2 1645 + 11270 18117 18114 2 1645 + 11270 18114 11271 2 1645 + 11271 18114 18113 2 1645 + 12732 2069 11279 2 1647 + 12732 11279 12733 2 1647 + 12733 11279 11278 2 1647 + 12733 11278 18119 2 1647 + 12733 18119 2071 2 1647 + 2071 18119 11281 2 1647 + 11281 18119 11277 2 1647 + 11281 11277 11280 2 1647 + 11280 11277 11276 2 1647 + 11280 11276 2070 2 1647 + 11277 18119 11278 2 1647 + 2074 2072 11291 2 1649 + 2074 11291 11292 2 1649 + 11292 11291 11290 2 1649 + 11292 11290 2073 2 1649 + 12741 2075 11300 2 1652 + 12741 11300 11301 2 1652 + 12741 11301 2077 2 1652 + 11300 2075 2076 2 1652 + 11315 2078 11307 2 1654 + 11315 11307 11308 2 1654 + 11315 11308 11314 2 1654 + 11314 11308 2080 2 1654 + 11307 2078 11306 2 1654 + 11306 2078 11303 2 1654 + 11306 11303 11305 2 1654 + 11305 11303 11302 2 1654 + 11305 11302 11304 2 1654 + 11304 11302 2079 2 1654 + 12746 2081 11329 2 1657 + 12746 11329 18120 2 1657 + 12746 18120 2083 2 1657 + 2083 18120 11331 2 1657 + 11331 18120 11330 2 1657 + 11330 18120 11328 2 1657 + 11330 11328 2082 2 1657 + 11328 18120 11329 2 1657 + 18121 18122 18123 2 1659 + 15686 2084 11345 2 1659 + 15686 11345 18121 2 1659 + 15686 18121 15687 2 1659 + 15687 18121 18123 2 1659 + 15687 18123 15688 2 1659 + 15688 18123 11347 2 1659 + 15688 11347 15689 2 1659 + 15689 11347 11348 2 1659 + 15689 11348 2086 2 1659 + 11347 18123 11346 2 1659 + 11346 18123 18122 2 1659 + 11346 18122 2085 2 1659 + 2085 18122 11344 2 1659 + 11344 18122 18121 2 1659 + 11344 18121 11345 2 1659 + 2089 2087 11356 2 1661 + 2089 11356 11359 2 1661 + 11359 11356 11355 2 1661 + 11359 11355 11358 2 1661 + 11358 11355 11354 2 1661 + 11358 11354 11357 2 1661 + 11357 11354 2088 2 1661 + 2092 2090 11372 2 1663 + 2092 11372 11374 2 1663 + 11374 11372 11371 2 1663 + 11374 11371 11373 2 1663 + 11373 11371 11370 2 1663 + 11373 11370 2091 2 1663 + 2095 2093 11385 2 1666 + 11385 2093 2094 2 1666 + 15732 2096 2097 2 1669 + 15732 2097 2098 2 1669 + 11410 2099 11406 2 1671 + 11410 11406 11407 2 1671 + 11410 11407 2101 2 1671 + 11406 2099 2100 2 1671 + 2104 2102 11411 2 1674 + 2104 11411 2103 2 1674 + 15752 2105 2106 2 1677 + 15752 2106 2107 2 1677 + 11427 2108 2109 2 1679 + 11427 2109 11424 2 1679 + 11427 11424 11426 2 1679 + 11426 11424 2110 2 1679 + 15772 2111 11441 2 1682 + 15772 11441 15773 2 1682 + 15773 11441 11440 2 1682 + 15773 11440 15774 2 1682 + 15774 11440 2112 2 1682 + 15774 2112 2113 2 1682 + 2116 2114 11442 2 1684 + 11442 2114 2115 2 1684 + 11474 2117 11451 2 1687 + 11474 11451 11452 2 1687 + 11474 11452 2119 2 1687 + 11451 2117 2118 2 1687 + 2122 2120 11465 2 1689 + 11465 2120 11462 2 1689 + 11465 11462 11464 2 1689 + 11464 11462 11461 2 1689 + 11464 11461 11463 2 1689 + 11463 11461 2121 2 1689 + 2125 2123 11475 2 1693 + 2125 11475 2124 2 1693 + 15707 2126 11478 2 1695 + 15707 11478 11479 2 1695 + 15707 11479 15706 2 1695 + 15706 11479 11480 2 1695 + 15706 11480 2128 2 1695 + 11478 2126 2127 2 1695 + 18125 18124 18126 2 1697 + 15701 2129 11483 2 1697 + 15701 11483 11482 2 1697 + 15701 11482 3224 2 1697 + 3224 11482 18126 2 1697 + 3224 18126 16602 2 1697 + 16602 18126 16603 2 1697 + 16603 18126 18124 2 1697 + 16603 18124 3225 2 1697 + 3225 18124 11485 2 1697 + 3225 11485 15699 2 1697 + 15699 11485 11486 2 1697 + 15699 11486 2131 2 1697 + 11485 18124 11484 2 1697 + 11484 18124 18125 2 1697 + 11484 18125 2130 2 1697 + 2130 18125 11481 2 1697 + 11481 18125 18126 2 1697 + 11481 18126 11482 2 1697 + 2134 2132 11494 2 1699 + 2134 11494 11497 2 1699 + 11497 11494 11493 2 1699 + 11497 11493 11496 2 1699 + 11496 11493 11492 2 1699 + 11496 11492 11495 2 1699 + 11495 11492 2133 2 1699 + 2137 2135 11521 2 1702 + 11521 2135 2136 2 1702 + 2140 2138 11534 2 1704 + 2140 11534 2139 2 1704 + 11546 2141 2142 2 1707 + 11546 2142 11543 2 1707 + 11546 11543 11545 2 1707 + 11545 11543 2143 2 1707 + 2146 2144 11576 2 1710 + 2146 11576 11577 2 1710 + 11577 11576 11575 2 1710 + 11577 11575 2145 2 1710 + 18128 18129 18130 2 1712 + 15698 2147 11578 2 1712 + 15698 11578 18127 2 1712 + 15698 18127 3225 2 1712 + 3225 18127 18128 2 1712 + 3225 18128 16603 2 1712 + 16603 18128 18130 2 1712 + 16603 18130 16602 2 1712 + 16602 18130 3224 2 1712 + 3224 18130 18131 2 1712 + 3224 18131 15700 2 1712 + 15700 18131 11583 2 1712 + 15700 11583 2149 2 1712 + 11583 18131 11582 2 1712 + 11582 18131 11581 2 1712 + 11581 18131 18130 2 1712 + 11581 18130 18129 2 1712 + 11581 18129 11580 2 1712 + 11580 18129 11579 2 1712 + 11579 18129 18128 2 1712 + 11579 18128 18127 2 1712 + 11579 18127 2148 2 1712 + 2148 18127 11578 2 1712 + 15694 2150 11588 2 1714 + 15694 11588 15695 2 1714 + 15695 11588 11587 2 1714 + 15695 11587 15696 2 1714 + 15696 11587 11586 2 1714 + 15696 11586 15697 2 1714 + 15697 11586 11585 2 1714 + 15697 11585 2152 2 1714 + 2152 11585 11584 2 1714 + 2152 11584 2151 2 1714 + 2155 2153 11589 2 1716 + 11589 2153 2154 2 1716 + 11631 2156 11611 2 1718 + 11631 11611 18132 2 1718 + 11631 18132 11630 2 1718 + 11630 18132 18133 2 1718 + 11630 18133 11629 2 1718 + 11629 18133 11613 2 1718 + 11629 11613 11628 2 1718 + 11628 11613 11614 2 1718 + 11628 11614 2158 2 1718 + 11613 18133 11612 2 1718 + 11612 18133 18132 2 1718 + 11612 18132 2157 2 1718 + 2157 18132 11611 2 1718 + 12751 2159 11635 2 1721 + 12751 11635 12752 2 1721 + 12752 11635 11634 2 1721 + 12752 11634 12753 2 1721 + 12753 11634 11633 2 1721 + 12753 11633 12754 2 1721 + 12754 11633 11632 2 1721 + 12754 11632 2161 2 1721 + 2161 11632 2160 2 1721 + 12765 2162 2163 2 1723 + 12765 2163 11636 2 1723 + 12765 11636 12766 2 1723 + 12766 11636 11637 2 1723 + 12766 11637 12767 2 1723 + 12767 11637 11638 2 1723 + 12767 11638 12768 2 1723 + 12768 11638 2164 2 1723 + 2167 2165 18134 2 1725 + 2167 18134 11654 2 1725 + 11654 18134 11653 2 1725 + 11653 18134 11650 2 1725 + 11653 11650 11652 2 1725 + 11652 11650 11649 2 1725 + 11652 11649 2166 2 1725 + 11650 18134 11651 2 1725 + 11651 18134 2165 2 1725 + 11687 2168 18135 2 1728 + 11687 18135 11686 2 1728 + 11686 18135 11659 2 1728 + 11686 11659 11685 2 1728 + 11685 11659 11660 2 1728 + 11685 11660 11684 2 1728 + 11684 11660 11661 2 1728 + 11684 11661 2170 2 1728 + 11659 18135 11658 2 1728 + 11658 18135 2169 2 1728 + 2169 18135 2168 2 1728 + 18137 18136 18138 2 1731 + 18137 18138 18139 2 1731 + 12787 2171 11691 2 1731 + 12787 11691 12788 2 1731 + 12788 11691 18139 2 1731 + 12788 18139 12789 2 1731 + 12789 18139 18138 2 1731 + 12789 18138 12790 2 1731 + 12790 18138 18136 2 1731 + 12790 18136 11693 2 1731 + 12790 11693 2173 2 1731 + 11693 18136 11692 2 1731 + 11692 18136 11688 2 1731 + 11692 11688 2172 2 1731 + 11688 18136 18137 2 1731 + 11688 18137 11689 2 1731 + 11689 18137 18139 2 1731 + 11689 18139 11690 2 1731 + 11690 18139 11691 2 1731 + 18141 18140 18142 2 1733 + 12795 2174 18141 2 1733 + 12795 18141 18142 2 1733 + 12795 18142 12796 2 1733 + 12796 18142 11698 2 1733 + 12796 11698 2176 2 1733 + 11698 18142 11697 2 1733 + 11697 18142 18140 2 1733 + 11697 18140 11696 2 1733 + 11696 18140 11694 2 1733 + 11696 11694 2175 2 1733 + 11694 18140 11695 2 1733 + 11695 18140 18141 2 1733 + 11695 18141 2174 2 1733 + 12823 2177 11721 2 1735 + 12823 11721 12824 2 1735 + 12824 11721 11720 2 1735 + 12824 11720 12825 2 1735 + 12825 11720 11719 2 1735 + 12825 11719 2179 2 1735 + 2179 11719 2178 2 1735 + 2182 2180 11722 2 1737 + 11722 2180 2181 2 1737 + 2185 2183 11741 2 1739 + 2185 11741 2184 2 1739 + 2191 2190 2188 2 1742 + 2193 2192 16546 2 1746 + 2193 16546 2195 2 1746 + 2195 16546 2189 2 1746 + 18145 18146 18150 2 1749 + 18150 18146 18151 2 1749 + 18146 18147 18151 2 1749 + 12875 2196 16555 2 1749 + 12875 16555 18149 2 1749 + 12875 18149 12876 2 1749 + 12876 18149 18148 2 1749 + 12876 18148 12877 2 1749 + 12877 18148 18147 2 1749 + 12877 18147 2198 2 1749 + 2198 18147 11742 2 1749 + 11742 18147 18146 2 1749 + 11742 18146 2200 2 1749 + 2200 18146 18145 2 1749 + 2200 18145 16557 2 1749 + 16557 18145 18144 2 1749 + 16557 18144 16556 2 1749 + 16556 18144 18143 2 1749 + 16556 18143 2199 2 1749 + 2199 18143 16548 2 1749 + 2199 16548 11744 2 1749 + 11744 16548 16547 2 1749 + 11744 16547 2197 2 1749 + 2197 16547 2190 2 1749 + 16548 18143 16549 2 1749 + 16549 18143 16550 2 1749 + 16550 18143 18144 2 1749 + 16550 18144 18150 2 1749 + 16550 18150 16551 2 1749 + 16551 18150 18151 2 1749 + 16551 18151 16552 2 1749 + 16552 18151 16553 2 1749 + 16553 18151 18148 2 1749 + 16553 18148 18149 2 1749 + 16553 18149 16554 2 1749 + 16554 18149 16555 2 1749 + 18148 18151 18147 2 1749 + 18150 18144 18145 2 1749 + 16555 2196 2189 2 1749 + 12904 2201 11743 2 1752 + 12904 11743 2200 2 1752 + 12904 2200 12905 2 1752 + 12905 2200 18154 2 1752 + 12905 18154 12906 2 1752 + 12906 18154 12907 2 1752 + 12907 18154 18153 2 1752 + 12907 18153 2203 2 1752 + 2203 18153 11747 2 1752 + 11747 18153 18152 2 1752 + 11747 18152 11746 2 1752 + 11746 18152 2199 2 1752 + 11746 2199 11745 2 1752 + 11746 11745 2202 2 1752 + 2199 18152 16556 2 1752 + 16556 18152 18153 2 1752 + 16556 18153 16557 2 1752 + 16557 18153 18154 2 1752 + 16557 18154 2200 2 1752 + 12945 2204 11757 2 1755 + 12945 11757 11756 2 1755 + 12945 11756 2206 2 1755 + 2206 11756 2205 2 1755 + 2209 2207 11760 2 1757 + 11760 2207 2208 2 1757 + 2212 2210 11770 2 1759 + 2212 11770 2211 2 1759 + 11793 2213 11772 2 1761 + 11793 11772 11773 2 1761 + 11793 11773 11792 2 1761 + 11792 11773 11774 2 1761 + 11792 11774 11791 2 1761 + 11791 11774 2215 2 1761 + 11772 2213 11771 2 1761 + 11771 2213 2214 2 1761 + 18157 18155 18158 2 1763 + 18155 18156 18158 2 1763 + 18158 18156 18159 2 1763 + 11787 2216 11778 2 1763 + 11787 11778 18157 2 1763 + 11787 18157 11786 2 1763 + 11786 18157 18158 2 1763 + 11786 18158 11785 2 1763 + 11785 18158 18159 2 1763 + 11785 18159 2218 2 1763 + 2218 18159 11781 2 1763 + 11781 18159 18156 2 1763 + 11781 18156 11780 2 1763 + 11780 18156 11779 2 1763 + 11779 18156 11775 2 1763 + 11779 11775 2217 2 1763 + 11775 18156 18155 2 1763 + 11775 18155 11776 2 1763 + 11776 18155 11777 2 1763 + 11777 18155 18157 2 1763 + 11777 18157 11778 2 1763 + 2221 2219 11796 2 1767 + 2221 11796 11799 2 1767 + 11799 11796 11795 2 1767 + 11799 11795 11798 2 1767 + 11798 11795 11794 2 1767 + 11798 11794 11797 2 1767 + 11797 11794 2220 2 1767 + 11813 2222 11802 2 1769 + 11813 11802 11801 2 1769 + 11813 11801 11812 2 1769 + 11812 11801 11800 2 1769 + 11812 11800 11811 2 1769 + 11811 11800 2223 2 1769 + 11811 2223 2224 2 1769 + 18160 18161 18163 2 1772 + 18163 18161 18164 2 1772 + 18161 18162 18164 2 1772 + 11840 2225 11826 2 1772 + 11840 11826 18162 2 1772 + 11840 18162 11839 2 1772 + 11839 18162 18161 2 1772 + 11839 18161 11838 2 1772 + 11838 18161 18160 2 1772 + 11838 18160 2227 2 1772 + 2227 18160 11829 2 1772 + 11829 18160 11828 2 1772 + 11828 18160 18163 2 1772 + 11828 18163 11827 2 1772 + 11827 18163 11824 2 1772 + 11827 11824 2226 2 1772 + 11824 18163 18164 2 1772 + 11824 18164 11825 2 1772 + 11825 18164 18162 2 1772 + 11825 18162 11826 2 1772 + 12979 2228 11848 2 1775 + 12979 11848 18167 2 1775 + 12979 18167 12980 2 1775 + 12980 18167 12981 2 1775 + 12981 18167 18166 2 1775 + 12981 18166 18165 2 1775 + 12981 18165 12982 2 1775 + 12982 18165 2230 2 1775 + 2230 18165 11849 2 1775 + 11849 18165 18166 2 1775 + 11849 18166 2229 2 1775 + 2229 18166 11846 2 1775 + 11846 18166 11847 2 1775 + 11847 18166 18167 2 1775 + 11847 18167 11848 2 1775 + 13004 2231 11856 2 1777 + 13004 11856 18168 2 1777 + 13004 18168 13005 2 1777 + 13005 18168 13006 2 1777 + 13006 18168 11858 2 1777 + 13006 11858 2233 2 1777 + 11858 18168 11857 2 1777 + 11857 18168 2232 2 1777 + 2232 18168 11856 2 1777 + 2236 2234 11864 2 1779 + 2236 11864 11865 2 1779 + 11865 11864 11863 2 1779 + 11865 11863 2235 2 1779 + 2239 2237 11866 2 1781 + 2239 11866 2238 2 1781 + 11871 2240 2241 2 1785 + 11871 2241 2242 2 1785 + 13044 2243 11875 2 1788 + 13044 11875 13045 2 1788 + 13045 11875 2244 2 1788 + 13045 2244 11876 2 1788 + 13045 11876 13046 2 1788 + 13046 11876 11877 2 1788 + 13046 11877 13047 2 1788 + 13047 11877 11878 2 1788 + 13047 11878 2245 2 1788 + 2248 2246 11886 2 1790 + 2248 11886 11885 2 1790 + 2248 11885 11887 2 1790 + 11887 11885 11884 2 1790 + 11887 11884 2247 2 1790 + 11891 2249 2250 2 1793 + 11891 2250 2251 2 1793 + 2254 2252 11894 2 1796 + 11894 2252 11892 2 1796 + 11894 11892 11893 2 1796 + 11893 11892 2253 2 1796 + 11897 2255 11896 2 1798 + 11897 11896 11895 2 1798 + 11897 11895 2257 2 1798 + 2257 11895 2256 2 1798 + 13074 2258 11911 2 1802 + 13074 11911 11912 2 1802 + 13074 11912 13075 2 1802 + 13075 11912 11913 2 1802 + 13075 11913 13076 2 1802 + 13076 11913 11914 2 1802 + 13076 11914 2260 2 1802 + 11911 2258 2259 2 1802 + 18173 18169 18174 2 1804 + 18169 18170 18174 2 1804 + 18175 18171 18176 2 1804 + 18171 18172 18176 2 1804 + 18172 18173 18176 2 1804 + 18176 18173 18177 2 1804 + 18173 18174 18177 2 1804 + 18177 18174 18178 2 1804 + 18175 18176 18179 2 1804 + 18176 18177 18179 2 1804 + 18179 18177 18180 2 1804 + 18177 18178 18180 2 1804 + 11943 2261 11918 2 1804 + 11943 11918 18170 2 1804 + 11943 18170 18169 2 1804 + 11943 18169 11942 2 1804 + 11942 18169 11941 2 1804 + 11941 18169 18173 2 1804 + 11941 18173 18172 2 1804 + 11941 18172 11940 2 1804 + 11940 18172 18171 2 1804 + 11940 18171 11939 2 1804 + 11939 18171 11922 2 1804 + 11939 11922 2263 2 1804 + 11922 18171 18175 2 1804 + 11922 18175 11921 2 1804 + 11921 18175 18179 2 1804 + 11921 18179 11920 2 1804 + 11920 18179 18180 2 1804 + 11920 18180 11919 2 1804 + 11919 18180 2262 2 1804 + 2262 18180 11915 2 1804 + 11915 18180 18178 2 1804 + 11915 18178 11916 2 1804 + 11916 18178 18174 2 1804 + 11916 18174 11917 2 1804 + 11917 18174 18170 2 1804 + 11917 18170 11918 2 1804 + 13112 2264 11948 2 1807 + 13112 11948 13113 2 1807 + 13113 11948 11947 2 1807 + 13113 11947 13114 2 1807 + 13114 11947 11946 2 1807 + 13114 11946 13115 2 1807 + 13115 11946 11945 2 1807 + 13115 11945 13116 2 1807 + 13116 11945 11944 2 1807 + 13116 11944 2266 2 1807 + 2266 11944 2265 2 1807 + 2269 2267 11955 2 1809 + 11955 2267 2268 2 1809 + 11966 2270 11961 2 1811 + 11966 11961 11962 2 1811 + 11966 11962 2272 2 1811 + 11961 2270 11959 2 1811 + 11961 11959 11960 2 1811 + 11960 11959 2271 2 1811 + 18181 18182 18184 2 1814 + 18182 18183 18184 2 1814 + 18184 18183 18185 2 1814 + 13175 2273 18183 2 1814 + 13175 18183 13176 2 1814 + 13176 18183 18182 2 1814 + 13176 18182 13177 2 1814 + 13177 18182 18181 2 1814 + 13177 18181 13178 2 1814 + 13178 18181 11971 2 1814 + 13178 11971 13179 2 1814 + 13179 11971 11972 2 1814 + 13179 11972 2275 2 1814 + 11971 18181 11970 2 1814 + 11970 18181 11969 2 1814 + 11969 18181 18184 2 1814 + 11969 18184 11968 2 1814 + 11968 18184 18185 2 1814 + 11968 18185 2274 2 1814 + 2274 18185 11967 2 1814 + 11967 18185 18183 2 1814 + 11967 18183 2273 2 1814 + 13221 2276 11977 2 1816 + 13221 11977 11976 2 1816 + 13221 11976 2278 2 1816 + 2278 11976 11980 2 1816 + 11980 11976 11975 2 1816 + 11980 11975 11979 2 1816 + 11979 11975 11974 2 1816 + 11979 11974 11978 2 1816 + 11978 11974 11973 2 1816 + 11978 11973 2277 2 1816 + 18189 18186 18190 2 1818 + 18186 18187 18190 2 1818 + 18187 18188 18190 2 1818 + 18190 18188 18191 2 1818 + 18189 18190 18192 2 1818 + 18192 18190 18193 2 1818 + 18190 18191 18193 2 1818 + 18193 18191 18194 2 1818 + 18193 18194 18195 2 1818 + 18195 18194 18196 2 1818 + 2283 2279 11988 2 1818 + 2283 11988 18186 2 1818 + 2283 18186 18189 2 1818 + 2283 18189 16560 2 1818 + 16560 18189 16559 2 1818 + 16559 18189 18192 2 1818 + 16559 18192 16558 2 1818 + 16558 18192 18193 2 1818 + 16558 18193 18195 2 1818 + 16558 18195 2282 2 1818 + 2282 18195 18196 2 1818 + 2282 18196 11992 2 1818 + 2282 11992 2281 2 1818 + 11992 18196 11991 2 1818 + 11991 18196 18194 2 1818 + 11991 18194 11990 2 1818 + 11990 18194 18191 2 1818 + 11990 18191 11989 2 1818 + 11989 18191 18188 2 1818 + 11989 18188 2280 2 1818 + 2280 18188 11986 2 1818 + 11986 18188 18187 2 1818 + 11986 18187 11987 2 1818 + 11987 18187 18186 2 1818 + 11987 18186 11988 2 1818 + 15681 2284 2283 2 1821 + 15681 2283 18197 2 1821 + 15681 18197 2286 2 1821 + 2286 18197 12001 2 1821 + 12001 18197 18198 2 1821 + 12001 18198 12000 2 1821 + 12000 18198 18199 2 1821 + 12000 18199 11999 2 1821 + 11999 18199 16558 2 1821 + 11999 16558 11998 2 1821 + 11998 16558 2282 2 1821 + 11998 2282 11997 2 1821 + 11997 2282 2285 2 1821 + 16558 18199 16559 2 1821 + 16559 18199 18198 2 1821 + 16559 18198 16560 2 1821 + 16560 18198 18197 2 1821 + 16560 18197 2283 2 1821 + 2289 2287 12011 2 1824 + 12011 2287 12006 2 1824 + 12011 12006 12010 2 1824 + 12010 12006 12005 2 1824 + 12010 12005 12009 2 1824 + 12009 12005 12004 2 1824 + 12009 12004 12008 2 1824 + 12008 12004 12003 2 1824 + 12008 12003 12007 2 1824 + 12007 12003 12002 2 1824 + 12007 12002 2288 2 1824 + 12045 2290 12016 2 1826 + 12045 12016 12046 2 1826 + 12046 12016 12015 2 1826 + 12046 12015 18200 2 1826 + 12046 18200 2292 2 1826 + 2292 18200 12019 2 1826 + 12019 18200 18201 2 1826 + 12019 18201 12018 2 1826 + 12018 18201 12013 2 1826 + 12018 12013 12012 2 1826 + 12018 12012 12017 2 1826 + 12017 12012 2291 2 1826 + 12013 18201 12014 2 1826 + 12014 18201 18200 2 1826 + 12014 18200 12015 2 1826 + 12024 2293 12022 2 1828 + 12024 12022 12021 2 1828 + 12024 12021 12023 2 1828 + 12023 12021 12020 2 1828 + 12023 12020 2295 2 1828 + 2295 12020 2294 2 1828 + 12035 2296 12029 2 1831 + 12035 12029 12030 2 1831 + 12035 12030 2298 2 1831 + 12029 2296 12026 2 1831 + 12029 12026 12028 2 1831 + 12028 12026 12025 2 1831 + 12028 12025 12027 2 1831 + 12027 12025 2297 2 1831 + 12044 2299 12036 2 1834 + 12044 12036 12038 2 1834 + 12044 12038 12039 2 1834 + 12044 12039 12043 2 1834 + 12043 12039 2301 2 1834 + 12038 12036 12037 2 1834 + 12037 12036 2300 2 1834 + 15680 2302 12047 2 1838 + 15680 12047 12048 2 1838 + 15680 12048 2304 2 1838 + 12047 2302 2303 2 1838 + 2307 2305 12066 2 1840 + 2307 12066 12067 2 1840 + 12067 12066 12065 2 1840 + 12067 12065 2306 2 1840 + 2310 2308 12074 2 1842 + 2310 12074 2309 2 1842 + 12082 2311 12075 2 1845 + 12082 12075 12076 2 1845 + 12082 12076 12081 2 1845 + 12081 12076 12077 2 1845 + 12081 12077 2313 2 1845 + 12075 2311 2312 2 1845 + 13236 2314 12096 2 1848 + 13236 12096 12095 2 1848 + 13236 12095 2316 2 1848 + 2316 12095 2315 2 1848 + 13248 2317 12097 2 1850 + 13248 12097 12098 2 1850 + 13248 12098 2319 2 1850 + 12097 2317 2318 2 1850 + 2322 2320 12112 2 1852 + 2322 12112 12113 2 1852 + 12113 12112 12111 2 1852 + 12113 12111 2321 2 1852 + 12144 2323 12114 2 1854 + 12144 12114 18202 2 1854 + 12144 18202 12143 2 1854 + 12143 18202 12115 2 1854 + 12143 12115 12142 2 1854 + 12142 12115 12116 2 1854 + 12142 12116 12141 2 1854 + 12141 12116 12117 2 1854 + 12141 12117 2325 2 1854 + 12115 18202 2324 2 1854 + 2324 18202 12114 2 1854 + 15666 2326 2327 2 1858 + 15666 2327 12151 2 1858 + 15666 12151 15667 2 1858 + 15667 12151 12152 2 1858 + 15667 12152 15668 2 1858 + 15668 12152 12153 2 1858 + 15668 12153 15669 2 1858 + 15669 12153 2328 2 1858 + 18203 18204 18206 2 1860 + 18206 18204 18207 2 1860 + 18204 18205 18207 2 1860 + 18207 18205 18208 2 1860 + 18206 18207 18209 2 1860 + 18209 18207 18210 2 1860 + 18207 18208 18210 2 1860 + 18209 18210 18211 2 1860 + 12180 2329 18203 2 1860 + 12180 18203 18206 2 1860 + 12180 18206 12179 2 1860 + 12179 18206 18209 2 1860 + 12179 18209 12178 2 1860 + 12178 18209 12177 2 1860 + 12177 18209 18211 2 1860 + 12177 18211 2331 2 1860 + 2331 18211 12160 2 1860 + 12160 18211 12159 2 1860 + 12159 18211 18210 2 1860 + 12159 18210 12158 2 1860 + 12158 18210 18208 2 1860 + 12158 18208 12157 2 1860 + 12157 18208 18205 2 1860 + 12157 18205 12154 2 1860 + 12157 12154 2330 2 1860 + 12154 18205 12155 2 1860 + 12155 18205 18204 2 1860 + 12155 18204 18203 2 1860 + 12155 18203 12156 2 1860 + 12156 18203 2329 2 1860 + 18212 18213 18214 2 1862 + 18214 18213 18215 2 1862 + 12174 2332 12164 2 1862 + 12174 12164 18214 2 1862 + 12174 18214 18215 2 1862 + 12174 18215 12173 2 1862 + 12173 18215 2334 2 1862 + 2334 18215 12168 2 1862 + 12168 18215 18213 2 1862 + 12168 18213 12167 2 1862 + 12167 18213 12166 2 1862 + 12166 18213 18212 2 1862 + 12166 18212 12162 2 1862 + 12166 12162 12161 2 1862 + 12166 12161 12165 2 1862 + 12165 12161 2333 2 1862 + 12162 18212 12163 2 1862 + 12163 18212 18214 2 1862 + 12163 18214 12164 2 1862 + 18217 18216 18218 2 1866 + 18219 18217 18220 2 1866 + 18217 18218 18220 2 1866 + 18220 18218 18221 2 1866 + 12195 2335 18216 2 1866 + 12195 18216 12194 2 1866 + 12194 18216 18217 2 1866 + 12194 18217 12193 2 1866 + 12193 18217 18219 2 1866 + 12193 18219 2337 2 1866 + 2337 18219 12188 2 1866 + 12188 18219 12187 2 1866 + 12187 18219 18220 2 1866 + 12187 18220 12186 2 1866 + 12186 18220 18222 2 1866 + 12186 18222 12185 2 1866 + 12185 18222 12181 2 1866 + 12185 12181 2336 2 1866 + 12181 18222 18221 2 1866 + 12181 18221 12182 2 1866 + 12182 18221 18218 2 1866 + 12182 18218 12183 2 1866 + 12183 18218 12184 2 1866 + 12184 18218 18216 2 1866 + 12184 18216 2335 2 1866 + 18221 18222 18220 2 1866 + 15677 2338 12198 2 1869 + 15677 12198 15678 2 1869 + 15678 12198 12197 2 1869 + 15678 12197 15679 2 1869 + 15679 12197 12196 2 1869 + 15679 12196 2340 2 1869 + 2340 12196 2339 2 1869 + 12207 2341 12199 2 1871 + 12207 12199 12200 2 1871 + 12207 12200 12206 2 1871 + 12206 12200 12201 2 1871 + 12206 12201 12205 2 1871 + 12205 12201 2343 2 1871 + 12199 2341 2342 2 1871 + 15676 2344 16562 2 1874 + 15676 16562 2348 2 1874 + 15676 2348 15675 2 1874 + 15675 2348 12211 2 1874 + 15675 12211 15674 2 1874 + 15674 12211 2346 2 1874 + 16562 2344 16561 2 1874 + 16561 2344 12210 2 1874 + 16561 12210 2347 2 1874 + 2347 12210 12209 2 1874 + 2347 12209 12213 2 1874 + 12213 12209 12208 2 1874 + 12213 12208 2345 2 1874 + 15673 2349 12212 2 1876 + 15673 12212 2641 2 1876 + 2641 12212 2348 2 1876 + 2641 2348 16599 2 1876 + 16599 2348 16562 2 1876 + 16599 16562 16600 2 1876 + 16600 16562 16561 2 1876 + 16600 16561 16601 2 1876 + 16601 16561 2347 2 1876 + 16601 2347 2640 2 1876 + 2640 2347 12214 2 1876 + 2640 12214 15671 2 1876 + 15671 12214 2350 2 1876 + 15671 2350 2351 2 1876 + 3216 2356 2354 2 1879 + 2359 3217 16563 2 1881 + 2359 16563 2355 2 1881 + 2359 2355 2358 2 1881 + 12215 2360 2361 2 1884 + 12215 2361 2362 2 1884 + 13354 2363 12216 2 1887 + 13354 12216 18223 2 1887 + 13354 18223 13355 2 1887 + 13355 18223 12217 2 1887 + 13355 12217 12218 2 1887 + 13355 12218 13356 2 1887 + 13356 12218 2365 2 1887 + 12217 18223 2364 2 1887 + 2364 18223 12216 2 1887 + 12237 2366 12236 2 1889 + 12237 12236 12235 2 1889 + 12237 12235 2368 2 1889 + 2368 12235 2367 2 1889 + 2371 2369 12241 2 1892 + 2371 12241 2370 2 1892 + 2374 2372 12248 2 1894 + 12248 2372 2373 2 1894 + 13395 2375 12255 2 1896 + 13395 12255 18225 2 1896 + 13395 18225 13396 2 1896 + 13396 18225 18224 2 1896 + 13396 18224 13397 2 1896 + 13397 18224 18227 2 1896 + 13397 18227 13398 2 1896 + 13398 18227 18226 2 1896 + 13398 18226 13399 2 1896 + 13399 18226 12259 2 1896 + 13399 12259 2377 2 1896 + 12259 18226 12258 2 1896 + 12258 18226 18227 2 1896 + 12258 18227 12257 2 1896 + 12257 18227 18224 2 1896 + 12257 18224 12256 2 1896 + 12256 18224 18225 2 1896 + 12256 18225 2376 2 1896 + 2376 18225 12255 2 1896 + 2380 2378 12267 2 1898 + 12267 2378 12263 2 1898 + 12267 12263 12266 2 1898 + 12266 12263 12262 2 1898 + 12266 12262 12265 2 1898 + 12265 12262 12261 2 1898 + 12265 12261 12264 2 1898 + 12264 12261 12260 2 1898 + 12264 12260 2379 2 1898 + 2383 2381 12276 2 1900 + 12276 2381 12271 2 1900 + 12276 12271 12275 2 1900 + 12275 12271 12270 2 1900 + 12275 12270 12274 2 1900 + 12274 12270 12269 2 1900 + 12274 12269 12273 2 1900 + 12273 12269 12268 2 1900 + 12273 12268 12272 2 1900 + 12272 12268 2382 2 1900 + 2386 2384 12282 2 1903 + 12282 2384 2385 2 1903 + 2389 2387 12292 2 1905 + 2389 12292 2388 2 1905 + 2392 2390 12299 2 1907 + 12299 2390 2391 2 1907 + 12308 2393 16564 2 1909 + 12308 16564 16565 2 1909 + 12308 16565 12307 2 1909 + 12307 16565 2397 2 1909 + 12307 2397 12306 2 1909 + 12306 2397 12301 2 1909 + 12306 12301 12305 2 1909 + 12305 12301 2395 2 1909 + 16564 2393 2396 2 1909 + 2396 2393 12300 2 1909 + 2396 12300 12303 2 1909 + 12303 12300 2394 2 1909 + 18228 18229 18230 2 1913 + 18230 18229 18231 2 1913 + 18230 18231 18234 2 1913 + 18234 18231 18235 2 1913 + 18231 18232 18235 2 1913 + 18235 18232 18236 2 1913 + 18232 18233 18236 2 1913 + 18234 18235 18237 2 1913 + 18237 18235 18238 2 1913 + 18235 18236 18238 2 1913 + 13434 2398 12324 2 1913 + 13434 12324 18233 2 1913 + 13434 18233 13435 2 1913 + 13435 18233 18232 2 1913 + 13435 18232 13436 2 1913 + 13436 18232 18229 2 1913 + 13436 18229 13437 2 1913 + 13437 18229 13438 2 1913 + 13438 18229 18228 2 1913 + 13438 18228 2400 2 1913 + 2400 18228 12328 2 1913 + 12328 18228 18230 2 1913 + 12328 18230 12327 2 1913 + 12327 18230 18234 2 1913 + 12327 18234 12326 2 1913 + 12326 18234 18237 2 1913 + 12326 18237 12325 2 1913 + 12325 18237 2399 2 1913 + 2399 18237 12321 2 1913 + 12321 18237 18238 2 1913 + 12321 18238 12322 2 1913 + 12322 18238 18236 2 1913 + 12322 18236 12323 2 1913 + 12323 18236 12324 2 1913 + 12324 18236 18233 2 1913 + 18229 18232 18231 2 1913 + 13492 2401 12332 2 1915 + 13492 12332 13493 2 1915 + 13493 12332 12331 2 1915 + 13493 12331 2403 2 1915 + 2403 12331 12330 2 1915 + 2403 12330 12333 2 1915 + 12333 12330 12329 2 1915 + 12333 12329 2402 2 1915 + 2406 2404 12340 2 1917 + 2406 12340 2405 2 1917 + 13509 2407 12343 2 1920 + 13509 12343 12344 2 1920 + 13509 12344 2409 2 1920 + 12343 2407 2408 2 1920 + 12358 2410 18239 2 1922 + 12358 18239 12350 2 1922 + 12358 12350 12357 2 1922 + 12357 12350 12351 2 1922 + 12357 12351 2412 2 1922 + 12350 18239 12349 2 1922 + 12349 18239 12348 2 1922 + 12348 18239 12346 2 1922 + 12348 12346 12345 2 1922 + 12348 12345 12347 2 1922 + 12347 12345 2411 2 1922 + 12346 18239 2410 2 1922 + 13522 2413 12368 2 1925 + 13522 12368 18240 2 1925 + 13522 18240 12370 2 1925 + 13522 12370 2415 2 1925 + 12370 18240 12369 2 1925 + 12369 18240 12367 2 1925 + 12369 12367 2414 2 1925 + 12367 18240 12368 2 1925 + 15659 2416 12384 2 1927 + 15659 12384 12383 2 1927 + 15659 12383 2418 2 1927 + 2418 12383 2417 2 1927 + 15661 2419 12385 2 1929 + 15661 12385 12386 2 1929 + 15661 12386 2421 2 1929 + 12385 2419 2420 2 1929 + 12417 2422 18241 2 1931 + 12417 18241 18242 2 1931 + 12417 18242 12416 2 1931 + 12416 18242 12403 2 1931 + 12416 12403 12404 2 1931 + 12416 12404 12415 2 1931 + 12415 12404 2424 2 1931 + 12403 18242 12402 2 1931 + 12402 18242 18241 2 1931 + 12402 18241 12401 2 1931 + 12401 18241 12399 2 1931 + 12401 12399 2423 2 1931 + 12399 18241 12400 2 1931 + 12400 18241 2422 2 1931 + 2427 2425 12425 2 1934 + 2427 12425 12424 2 1934 + 2427 12424 12426 2 1934 + 12426 12424 12423 2 1934 + 12426 12423 2426 2 1934 + 12435 2428 12431 2 1937 + 12435 12431 12432 2 1937 + 12435 12432 2430 2 1937 + 12431 2428 2429 2 1937 + 2433 2431 12448 2 1940 + 2433 12448 2432 2 1940 + 15660 2434 12452 2 1943 + 15660 12452 12453 2 1943 + 15660 12453 2436 2 1943 + 12452 2434 12451 2 1943 + 12451 2434 2435 2 1943 + 15655 2437 12460 2 1945 + 15655 12460 12461 2 1945 + 15655 12461 2439 2 1945 + 12460 2437 12459 2 1945 + 12459 2437 12456 2 1945 + 12459 12456 12458 2 1945 + 12458 12456 12455 2 1945 + 12458 12455 12457 2 1945 + 12457 12455 12454 2 1945 + 12457 12454 2438 2 1945 + 13574 2440 12466 2 1947 + 13574 12466 12465 2 1947 + 13574 12465 13575 2 1947 + 13575 12465 12464 2 1947 + 13575 12464 13576 2 1947 + 13576 12464 12463 2 1947 + 13576 12463 13577 2 1947 + 13577 12463 12462 2 1947 + 13577 12462 13578 2 1947 + 13578 12462 2441 2 1947 + 13578 2441 2442 2 1947 + 12470 2443 2444 2 1949 + 12470 2444 12467 2 1949 + 12470 12467 12469 2 1949 + 12469 12467 2445 2 1949 + 13589 2446 12472 2 1952 + 13589 12472 18245 2 1952 + 13589 18245 13590 2 1952 + 13590 18245 18244 2 1952 + 13590 18244 13591 2 1952 + 13591 18244 18243 2 1952 + 13591 18243 13592 2 1952 + 13592 18243 12477 2 1952 + 13592 12477 2448 2 1952 + 12477 18243 12476 2 1952 + 12476 18243 12475 2 1952 + 12475 18243 18244 2 1952 + 12475 18244 12474 2 1952 + 12474 18244 18245 2 1952 + 12474 18245 12473 2 1952 + 12473 18245 12471 2 1952 + 12473 12471 2447 2 1952 + 12471 18245 12472 2 1952 + 18249 18246 18250 2 1954 + 18246 18247 18250 2 1954 + 18250 18247 18251 2 1954 + 18247 18248 18251 2 1954 + 18249 18250 18252 2 1954 + 18252 18250 18253 2 1954 + 18250 18251 18253 2 1954 + 12492 2449 12482 2 1954 + 12492 12482 18248 2 1954 + 12492 18248 12491 2 1954 + 12491 18248 18247 2 1954 + 12491 18247 12490 2 1954 + 12490 18247 18246 2 1954 + 12490 18246 12489 2 1954 + 12489 18246 12485 2 1954 + 12489 12485 2451 2 1954 + 12485 18246 18249 2 1954 + 12485 18249 12484 2 1954 + 12484 18249 18252 2 1954 + 12484 18252 12483 2 1954 + 12483 18252 12478 2 1954 + 12483 12478 2450 2 1954 + 12478 18252 12479 2 1954 + 12479 18252 18253 2 1954 + 12479 18253 12480 2 1954 + 12480 18253 18251 2 1954 + 12480 18251 12481 2 1954 + 12481 18251 18248 2 1954 + 12481 18248 12482 2 1954 + 18256 18254 18257 2 1957 + 18254 18255 18257 2 1957 + 18258 18256 18259 2 1957 + 18256 18257 18259 2 1957 + 18259 18257 18260 2 1957 + 13618 2452 18260 2 1957 + 13618 18260 13619 2 1957 + 13619 18260 18257 2 1957 + 13619 18257 18255 2 1957 + 13619 18255 13620 2 1957 + 13620 18255 12506 2 1957 + 13620 12506 2454 2 1957 + 12506 18255 18254 2 1957 + 12506 18254 12505 2 1957 + 12505 18254 18256 2 1957 + 12505 18256 12504 2 1957 + 12504 18256 18258 2 1957 + 12504 18258 12503 2 1957 + 12503 18258 12499 2 1957 + 12503 12499 2453 2 1957 + 12499 18258 12500 2 1957 + 12500 18258 18259 2 1957 + 12500 18259 12501 2 1957 + 12501 18259 18260 2 1957 + 12501 18260 12502 2 1957 + 12502 18260 2452 2 1957 + 18263 18261 18264 2 1959 + 18261 18262 18264 2 1959 + 18264 18262 18265 2 1959 + 18263 18264 18266 2 1959 + 18266 18264 18267 2 1959 + 18264 18265 18267 2 1959 + 13658 2455 18265 2 1959 + 13658 18265 18262 2 1959 + 13658 18262 13659 2 1959 + 13659 18262 18261 2 1959 + 13659 18261 12515 2 1959 + 13659 12515 2457 2 1959 + 12515 18261 12514 2 1959 + 12514 18261 18263 2 1959 + 12514 18263 12513 2 1959 + 12513 18263 18266 2 1959 + 12513 18266 12512 2 1959 + 12512 18266 18268 2 1959 + 12512 18268 12511 2 1959 + 12511 18268 12507 2 1959 + 12511 12507 2456 2 1959 + 12507 18268 12508 2 1959 + 12508 18268 18266 2 1959 + 12508 18266 18267 2 1959 + 12508 18267 12509 2 1959 + 12509 18267 18265 2 1959 + 12509 18265 12510 2 1959 + 12510 18265 2455 2 1959 + 12545 2458 12534 2 1961 + 12545 12534 12533 2 1961 + 12545 12533 12544 2 1961 + 12544 12533 12532 2 1961 + 12544 12532 12543 2 1961 + 12543 12532 12531 2 1961 + 12543 12531 12542 2 1961 + 12542 12531 12530 2 1961 + 12542 12530 18269 2 1961 + 12542 18269 12541 2 1961 + 12541 18269 2460 2 1961 + 2460 18269 2459 2 1961 + 2459 18269 12530 2 1961 + 18272 18270 18273 2 1964 + 18270 18271 18273 2 1964 + 18273 18271 18274 2 1964 + 18272 18273 18275 2 1964 + 18275 18273 18276 2 1964 + 18273 18274 18276 2 1964 + 18275 18276 18277 2 1964 + 13696 2461 12557 2 1964 + 13696 12557 18271 2 1964 + 13696 18271 13697 2 1964 + 13697 18271 18270 2 1964 + 13697 18270 13698 2 1964 + 13698 18270 18272 2 1964 + 13698 18272 13699 2 1964 + 13699 18272 2463 2 1964 + 2463 18272 12560 2 1964 + 12560 18272 18275 2 1964 + 12560 18275 12559 2 1964 + 12559 18275 18277 2 1964 + 12559 18277 12558 2 1964 + 12558 18277 12553 2 1964 + 12558 12553 2462 2 1964 + 12553 18277 12554 2 1964 + 12554 18277 18276 2 1964 + 12554 18276 12555 2 1964 + 12555 18276 18274 2 1964 + 12555 18274 12556 2 1964 + 12556 18274 18271 2 1964 + 12556 18271 12557 2 1964 + 18280 18278 18281 2 1966 + 13751 2464 18278 2 1966 + 13751 18278 13752 2 1966 + 13752 18278 18279 2 1966 + 13752 18279 13753 2 1966 + 13753 18279 12583 2 1966 + 13753 12583 2466 2 1966 + 12583 18279 12582 2 1966 + 12582 18279 18280 2 1966 + 12582 18280 12581 2 1966 + 12581 18280 18281 2 1966 + 12581 18281 12580 2 1966 + 12580 18281 18282 2 1966 + 12580 18282 12579 2 1966 + 12579 18282 12576 2 1966 + 12579 12576 2465 2 1966 + 12576 18282 12577 2 1966 + 12577 18282 18281 2 1966 + 12577 18281 12578 2 1966 + 12578 18281 18278 2 1966 + 12578 18278 2464 2 1966 + 18280 18279 18278 2 1966 + 18284 18285 18286 2 1968 + 15640 2467 12595 2 1968 + 15640 12595 12594 2 1968 + 15640 12594 15641 2 1968 + 15641 12594 18283 2 1968 + 15641 18283 15642 2 1968 + 15642 18283 15643 2 1968 + 15643 18283 18284 2 1968 + 15643 18284 18286 2 1968 + 15643 18286 15644 2 1968 + 15644 18286 2469 2 1968 + 2469 18286 12596 2 1968 + 12596 18286 18285 2 1968 + 12596 18285 2468 2 1968 + 2468 18285 12591 2 1968 + 12591 18285 18284 2 1968 + 12591 18284 12592 2 1968 + 12592 18284 18283 2 1968 + 12592 18283 12593 2 1968 + 12593 18283 12594 2 1968 + 2472 2470 12599 2 1970 + 12599 2470 12597 2 1970 + 12599 12597 12598 2 1970 + 12598 12597 2471 2 1970 + 12631 2473 2474 2 1973 + 12631 2474 12622 2 1973 + 12631 12622 12630 2 1973 + 12630 12622 12623 2 1973 + 12630 12623 12629 2 1973 + 12629 12623 12624 2 1973 + 12629 12624 12628 2 1973 + 12628 12624 2475 2 1973 + 18287 18288 18290 2 1976 + 18290 18288 18291 2 1976 + 18288 18289 18291 2 1976 + 18291 18289 18292 2 1976 + 18294 18290 18295 2 1976 + 18290 18291 18295 2 1976 + 18295 18291 18296 2 1976 + 18291 18292 18296 2 1976 + 18296 18292 18297 2 1976 + 18292 18293 18297 2 1976 + 18295 18296 18298 2 1976 + 18298 18296 18299 2 1976 + 18296 18297 18299 2 1976 + 15650 2476 18293 2 1976 + 15650 18293 15651 2 1976 + 15651 18293 18292 2 1976 + 15651 18292 18289 2 1976 + 15651 18289 15652 2 1976 + 15652 18289 15653 2 1976 + 15653 18289 18288 2 1976 + 15653 18288 15654 2 1976 + 15654 18288 18287 2 1976 + 15654 18287 2478 2 1976 + 2478 18287 12640 2 1976 + 12640 18287 12639 2 1976 + 12639 18287 18290 2 1976 + 12639 18290 18294 2 1976 + 12639 18294 12638 2 1976 + 12638 18294 12637 2 1976 + 12637 18294 18298 2 1976 + 12637 18298 12636 2 1976 + 12636 18298 12632 2 1976 + 12636 12632 2477 2 1976 + 12632 18298 18299 2 1976 + 12632 18299 12633 2 1976 + 12633 18299 12634 2 1976 + 12634 18299 18297 2 1976 + 12634 18297 12635 2 1976 + 12635 18297 18293 2 1976 + 12635 18293 2476 2 1976 + 18298 18294 18295 2 1976 + 2481 2479 12658 2 1978 + 12658 2479 12652 2 1978 + 12658 12652 12657 2 1978 + 12657 12652 12651 2 1978 + 12657 12651 12656 2 1978 + 12656 12651 12650 2 1978 + 12656 12650 12655 2 1978 + 12655 12650 12649 2 1978 + 12655 12649 12654 2 1978 + 12654 12649 12648 2 1978 + 12654 12648 12653 2 1978 + 12653 12648 2480 2 1978 + 18302 18300 18303 2 1980 + 18300 18301 18303 2 1980 + 18303 18301 18304 2 1980 + 18302 18303 18305 2 1980 + 18305 18303 18306 2 1980 + 18303 18304 18306 2 1980 + 18305 18306 18307 2 1980 + 12794 2482 12664 2 1980 + 12794 12664 18301 2 1980 + 12794 18301 12793 2 1980 + 12793 18301 18300 2 1980 + 12793 18300 2484 2 1980 + 2484 18300 12669 2 1980 + 12669 18300 18302 2 1980 + 12669 18302 12668 2 1980 + 12668 18302 18305 2 1980 + 12668 18305 12667 2 1980 + 12667 18305 12666 2 1980 + 12666 18305 18307 2 1980 + 12666 18307 12665 2 1980 + 12665 18307 12660 2 1980 + 12665 12660 12659 2 1980 + 12665 12659 2483 2 1980 + 12660 18307 12661 2 1980 + 12661 18307 18306 2 1980 + 12661 18306 12662 2 1980 + 12662 18306 18304 2 1980 + 12662 18304 12663 2 1980 + 12663 18304 12664 2 1980 + 12664 18304 18301 2 1980 + 12792 2485 12674 2 1982 + 12792 12674 18308 2 1982 + 12792 18308 2487 2 1982 + 2487 18308 12678 2 1982 + 12678 18308 18309 2 1982 + 12678 18309 12677 2 1982 + 12677 18309 18310 2 1982 + 12677 18310 12676 2 1982 + 12676 18310 12670 2 1982 + 12676 12670 12675 2 1982 + 12675 12670 2486 2 1982 + 12670 18310 12671 2 1982 + 12671 18310 12672 2 1982 + 12672 18310 18309 2 1982 + 12672 18309 12673 2 1982 + 12673 18309 18308 2 1982 + 12673 18308 12674 2 1982 + 18313 18311 18314 2 1984 + 18311 18312 18314 2 1984 + 18314 18312 18315 2 1984 + 12780 2488 18311 2 1984 + 12780 18311 18313 2 1984 + 12780 18313 12779 2 1984 + 12779 18313 2492 2 1984 + 12779 2492 2490 2 1984 + 2492 18313 16569 2 1984 + 16569 18313 18314 2 1984 + 16569 18314 16568 2 1984 + 16568 18314 18315 2 1984 + 16568 18315 16567 2 1984 + 16567 18315 18316 2 1984 + 16567 18316 16566 2 1984 + 16566 18316 18317 2 1984 + 16566 18317 2491 2 1984 + 2491 18317 12679 2 1984 + 2491 12679 2489 2 1984 + 12679 18317 12680 2 1984 + 12680 18317 18316 2 1984 + 12680 18316 12681 2 1984 + 12681 18316 12682 2 1984 + 12682 18316 18312 2 1984 + 12682 18312 2488 2 1984 + 2488 18312 18311 2 1984 + 18312 18316 18315 2 1984 + 18318 18319 18323 2 1986 + 18323 18319 18324 2 1986 + 18319 18320 18324 2 1986 + 18324 18320 18325 2 1986 + 18320 18321 18325 2 1986 + 18325 18321 18326 2 1986 + 18321 18322 18326 2 1986 + 18326 18322 18327 2 1986 + 18324 18325 18329 2 1986 + 18329 18325 18330 2 1986 + 18325 18326 18330 2 1986 + 18330 18326 18331 2 1986 + 18326 18327 18331 2 1986 + 18331 18327 18332 2 1986 + 18327 18328 18332 2 1986 + 12774 2493 18318 2 1986 + 12774 18318 18323 2 1986 + 12774 18323 12775 2 1986 + 12775 18323 12776 2 1986 + 12776 18323 18324 2 1986 + 12776 18324 18329 2 1986 + 12776 18329 12777 2 1986 + 12777 18329 12778 2 1986 + 12778 18329 18330 2 1986 + 12778 18330 2495 2 1986 + 2495 18330 18331 2 1986 + 2495 18331 12685 2 1986 + 12685 18331 18332 2 1986 + 12685 18332 12684 2 1986 + 12684 18332 12683 2 1986 + 12683 18332 18328 2 1986 + 12683 18328 2491 2 1986 + 12683 2491 2494 2 1986 + 2491 18328 16566 2 1986 + 16566 18328 18327 2 1986 + 16566 18327 18322 2 1986 + 16566 18322 16567 2 1986 + 16567 18322 18321 2 1986 + 16567 18321 16568 2 1986 + 16568 18321 18320 2 1986 + 16568 18320 16569 2 1986 + 16569 18320 18319 2 1986 + 16569 18319 2492 2 1986 + 2492 18319 18318 2 1986 + 2492 18318 2493 2 1986 + 18334 18335 18336 2 1989 + 12757 2496 18334 2 1989 + 12757 18334 18336 2 1989 + 12757 18336 12756 2 1989 + 12756 18336 12693 2 1989 + 12756 12693 12755 2 1989 + 12755 12693 12694 2 1989 + 12755 12694 2498 2 1989 + 12693 18336 12692 2 1989 + 12692 18336 18335 2 1989 + 12692 18335 12691 2 1989 + 12691 18335 18333 2 1989 + 12691 18333 12690 2 1989 + 12690 18333 12687 2 1989 + 12690 12687 12689 2 1989 + 12689 12687 12686 2 1989 + 12689 12686 2497 2 1989 + 12687 18333 12688 2 1989 + 12688 18333 18335 2 1989 + 12688 18335 18334 2 1989 + 12688 18334 2496 2 1989 + 18337 18338 18341 2 1991 + 18341 18338 18342 2 1991 + 18338 18339 18342 2 1991 + 18342 18339 18343 2 1991 + 18339 18340 18343 2 1991 + 18343 18340 18344 2 1991 + 18347 18341 18348 2 1991 + 18341 18342 18348 2 1991 + 18348 18342 18349 2 1991 + 18342 18343 18349 2 1991 + 18343 18344 18349 2 1991 + 18349 18344 18350 2 1991 + 18344 18345 18350 2 1991 + 18350 18345 18351 2 1991 + 18345 18346 18351 2 1991 + 18347 18348 18354 2 1991 + 18354 18348 18355 2 1991 + 18348 18349 18355 2 1991 + 18349 18350 18355 2 1991 + 18355 18350 18356 2 1991 + 18350 18351 18356 2 1991 + 18352 18353 18358 2 1991 + 18353 18354 18358 2 1991 + 18354 18355 18358 2 1991 + 18355 18356 18358 2 1991 + 18356 18357 18358 2 1991 + 18357 18352 18358 2 1991 + 12750 2499 18352 2 1991 + 12750 18352 18357 2 1991 + 12750 18357 12749 2 1991 + 12749 18357 12748 2 1991 + 12748 18357 18356 2 1991 + 12748 18356 18351 2 1991 + 12748 18351 12747 2 1991 + 12747 18351 18346 2 1991 + 12747 18346 2501 2 1991 + 2501 18346 12705 2 1991 + 12705 18346 18345 2 1991 + 12705 18345 12704 2 1991 + 12704 18345 18344 2 1991 + 12704 18344 18340 2 1991 + 12704 18340 12703 2 1991 + 12703 18340 12702 2 1991 + 12702 18340 18339 2 1991 + 12702 18339 12701 2 1991 + 12701 18339 18338 2 1991 + 12701 18338 12695 2 1991 + 12701 12695 2500 2 1991 + 12695 18338 18337 2 1991 + 12695 18337 12696 2 1991 + 12696 18337 18341 2 1991 + 12696 18341 12697 2 1991 + 12697 18341 18347 2 1991 + 12697 18347 12698 2 1991 + 12698 18347 12699 2 1991 + 12699 18347 18354 2 1991 + 12699 18354 18353 2 1991 + 12699 18353 12700 2 1991 + 12700 18353 18352 2 1991 + 12700 18352 2499 2 1991 + 12742 2502 12717 2 1993 + 12742 12717 18361 2 1993 + 12742 18361 18362 2 1993 + 12742 18362 2504 2 1993 + 2504 18362 12721 2 1993 + 12721 18362 18360 2 1993 + 12721 18360 12720 2 1993 + 12720 18360 18359 2 1993 + 12720 18359 12719 2 1993 + 12719 18359 12713 2 1993 + 12719 12713 12718 2 1993 + 12718 12713 2503 2 1993 + 12713 18359 12714 2 1993 + 12714 18359 12715 2 1993 + 12715 18359 18360 2 1993 + 12715 18360 18362 2 1993 + 12715 18362 12716 2 1993 + 12716 18362 18361 2 1993 + 12716 18361 12717 2 1993 + 12734 2505 12725 2 1995 + 12734 12725 12724 2 1995 + 12734 12724 2507 2 1995 + 2507 12724 12727 2 1995 + 12727 12724 12723 2 1995 + 12727 12723 12726 2 1995 + 12726 12723 12722 2 1995 + 12726 12722 2506 2 1995 + 18363 18364 18365 2 2001 + 18365 18364 18366 2 2001 + 18368 18365 18369 2 2001 + 18365 18366 18369 2 2001 + 18369 18366 18370 2 2001 + 18366 18367 18370 2 2001 + 12773 2508 12760 2 2001 + 12773 12760 18370 2 2001 + 12773 18370 18367 2 2001 + 12773 18367 12772 2 2001 + 12772 18367 12771 2 2001 + 12771 18367 18366 2 2001 + 12771 18366 18364 2 2001 + 12771 18364 12770 2 2001 + 12770 18364 12769 2 2001 + 12769 18364 18363 2 2001 + 12769 18363 12764 2 2001 + 12769 12764 2510 2 2001 + 12764 18363 12763 2 2001 + 12763 18363 12762 2 2001 + 12762 18363 18365 2 2001 + 12762 18365 18368 2 2001 + 12762 18368 12761 2 2001 + 12761 18368 2509 2 2001 + 2509 18368 12758 2 2001 + 12758 18368 18369 2 2001 + 12758 18369 12759 2 2001 + 12759 18369 18370 2 2001 + 12759 18370 12760 2 2001 + 12791 2511 12785 2 2005 + 12791 12785 12786 2 2005 + 12791 12786 2513 2 2005 + 12785 2511 12782 2 2005 + 12785 12782 12784 2 2005 + 12784 12782 12781 2 2005 + 12784 12781 12783 2 2005 + 12783 12781 2512 2 2005 + 2516 2514 12799 2 2010 + 12799 2514 2515 2 2010 + 2519 2517 12809 2 2012 + 2519 12809 2518 2 2012 + 13777 2520 12810 2 2014 + 13777 12810 12811 2 2014 + 13777 12811 13778 2 2014 + 13778 12811 12812 2 2014 + 13778 12812 13779 2 2014 + 13779 12812 12813 2 2014 + 13779 12813 13780 2 2014 + 13780 12813 12814 2 2014 + 13780 12814 13781 2 2014 + 13781 12814 2522 2 2014 + 12810 2520 2521 2 2014 + 18373 18371 18374 2 2016 + 18371 18372 18374 2 2016 + 12828 2523 12819 2 2016 + 12828 12819 12818 2 2016 + 12828 12818 12827 2 2016 + 12827 12818 18371 2 2016 + 12827 18371 12826 2 2016 + 12826 18371 18373 2 2016 + 12826 18373 2525 2 2016 + 2525 18373 12822 2 2016 + 12822 18373 18374 2 2016 + 12822 18374 18375 2 2016 + 12822 18375 12821 2 2016 + 12821 18375 12820 2 2016 + 12820 18375 12815 2 2016 + 12820 12815 2524 2 2016 + 12815 18375 12816 2 2016 + 12816 18375 18374 2 2016 + 12816 18374 12817 2 2016 + 12817 18374 18372 2 2016 + 12817 18372 12818 2 2016 + 12818 18372 18371 2 2016 + 12833 2526 12831 2 2019 + 12833 12831 12832 2 2019 + 12832 12831 12830 2 2019 + 12832 12830 2528 2 2019 + 2528 12830 12829 2 2019 + 2528 12829 2527 2 2019 + 2531 2529 12851 2 2022 + 2531 12851 12852 2 2022 + 12852 12851 12850 2 2022 + 12852 12850 2530 2 2022 + 2534 2532 12853 2 2024 + 2534 12853 2533 2 2024 + 12881 2535 18376 2 2026 + 12881 18376 12880 2 2026 + 12880 18376 12865 2 2026 + 12880 12865 12879 2 2026 + 12879 12865 12866 2 2026 + 12879 12866 12878 2 2026 + 12878 12866 12867 2 2026 + 12878 12867 2537 2 2026 + 12865 18376 12864 2 2026 + 12864 18376 2536 2 2026 + 2536 18376 2535 2 2026 + 12874 2538 12871 2 2028 + 12874 12871 12873 2 2028 + 12873 12871 12870 2 2028 + 12873 12870 12872 2 2028 + 12872 12870 12869 2 2028 + 12872 12869 2540 2 2028 + 2540 12869 12868 2 2028 + 2540 12868 2539 2 2028 + 18377 18378 18381 2 2032 + 18381 18378 18382 2 2032 + 18378 18379 18382 2 2032 + 18382 18379 18383 2 2032 + 18383 18379 18384 2 2032 + 18379 18380 18384 2 2032 + 18384 18380 18385 2 2032 + 18381 18382 18386 2 2032 + 18386 18382 18387 2 2032 + 18382 18383 18387 2 2032 + 18383 18384 18387 2 2032 + 18387 18384 18388 2 2032 + 18384 18385 18388 2 2032 + 18386 18387 18389 2 2032 + 18389 18387 18390 2 2032 + 18387 18388 18390 2 2032 + 13844 2541 12885 2 2032 + 13844 12885 18385 2 2032 + 13844 18385 13845 2 2032 + 13845 18385 18380 2 2032 + 13845 18380 13846 2 2032 + 13846 18380 18379 2 2032 + 13846 18379 13847 2 2032 + 13847 18379 18378 2 2032 + 13847 18378 13848 2 2032 + 13848 18378 18377 2 2032 + 13848 18377 2543 2 2032 + 2543 18377 12889 2 2032 + 12889 18377 12888 2 2032 + 12888 18377 18381 2 2032 + 12888 18381 12887 2 2032 + 12887 18381 18386 2 2032 + 12887 18386 12886 2 2032 + 12886 18386 18389 2 2032 + 12886 18389 2542 2 2032 + 2542 18389 12882 2 2032 + 12882 18389 18390 2 2032 + 12882 18390 12883 2 2032 + 12883 18390 12884 2 2032 + 12884 18390 18388 2 2032 + 12884 18388 18385 2 2032 + 12884 18385 12885 2 2032 + 18393 18391 18394 2 2034 + 18391 18392 18394 2 2034 + 18394 18392 18395 2 2034 + 18397 18393 18398 2 2034 + 18393 18394 18398 2 2034 + 18398 18394 18399 2 2034 + 18394 18395 18399 2 2034 + 18396 18397 18400 2 2034 + 18400 18397 18401 2 2034 + 18397 18398 18401 2 2034 + 18398 18399 18401 2 2034 + 18401 18399 18402 2 2034 + 12911 2544 18392 2 2034 + 12911 18392 18391 2 2034 + 12911 18391 12910 2 2034 + 12910 18391 18393 2 2034 + 12910 18393 12909 2 2034 + 12909 18393 18397 2 2034 + 12909 18397 18396 2 2034 + 12909 18396 12908 2 2034 + 12908 18396 2546 2 2034 + 2546 18396 12897 2 2034 + 12897 18396 18400 2 2034 + 12897 18400 12896 2 2034 + 12896 18400 12895 2 2034 + 12895 18400 18401 2 2034 + 12895 18401 12894 2 2034 + 12894 18401 18402 2 2034 + 12894 18402 12890 2 2034 + 12894 12890 2545 2 2034 + 12890 18402 12891 2 2034 + 12891 18402 18399 2 2034 + 12891 18399 18395 2 2034 + 12891 18395 12892 2 2034 + 12892 18395 12893 2 2034 + 12893 18395 18392 2 2034 + 12893 18392 2544 2 2034 + 18407 18403 18408 2 2037 + 18403 18404 18408 2 2037 + 18408 18404 18409 2 2037 + 18404 18405 18409 2 2037 + 18409 18405 18410 2 2037 + 18405 18406 18410 2 2037 + 18410 18406 18411 2 2037 + 18407 18408 18412 2 2037 + 18412 18408 18413 2 2037 + 18408 18409 18413 2 2037 + 18409 18410 18413 2 2037 + 18413 18410 18414 2 2037 + 18410 18411 18414 2 2037 + 18412 18413 18415 2 2037 + 13909 2547 12921 2 2037 + 13909 12921 18411 2 2037 + 13909 18411 18406 2 2037 + 13909 18406 13910 2 2037 + 13910 18406 13911 2 2037 + 13911 18406 18405 2 2037 + 13911 18405 13912 2 2037 + 13912 18405 18404 2 2037 + 13912 18404 13913 2 2037 + 13913 18404 18403 2 2037 + 13913 18403 12925 2 2037 + 13913 12925 2549 2 2037 + 12925 18403 12924 2 2037 + 12924 18403 18407 2 2037 + 12924 18407 12923 2 2037 + 12923 18407 18412 2 2037 + 12923 18412 12922 2 2037 + 12922 18412 18415 2 2037 + 12922 18415 2548 2 2037 + 2548 18415 12918 2 2037 + 12918 18415 18413 2 2037 + 12918 18413 12919 2 2037 + 12919 18413 18414 2 2037 + 12919 18414 12920 2 2037 + 12920 18414 18411 2 2037 + 12920 18411 12921 2 2037 + 2552 2550 18416 2 2039 + 2552 18416 12939 2 2039 + 12939 18416 18417 2 2039 + 12939 18417 12938 2 2039 + 12938 18417 12937 2 2039 + 12937 18417 12933 2 2039 + 12937 12933 12936 2 2039 + 12936 12933 12932 2 2039 + 12936 12932 2551 2 2039 + 12933 18417 12934 2 2039 + 12934 18417 12935 2 2039 + 12935 18417 18416 2 2039 + 12935 18416 2550 2 2039 + 12950 2553 12943 2 2041 + 12950 12943 12942 2 2041 + 12950 12942 12949 2 2041 + 12949 12942 18418 2 2041 + 12949 18418 12948 2 2041 + 12948 18418 12947 2 2041 + 12947 18418 18419 2 2041 + 12947 18419 12946 2 2041 + 12946 18419 12944 2 2041 + 12946 12944 2555 2 2041 + 12944 18419 2554 2 2041 + 2554 18419 12940 2 2041 + 12940 18419 18418 2 2041 + 12940 18418 12941 2 2041 + 12941 18418 12942 2 2041 + 12962 2556 12955 2 2044 + 12962 12955 12961 2 2044 + 12961 12955 12954 2 2044 + 12961 12954 12960 2 2044 + 12960 12954 12953 2 2044 + 12960 12953 12959 2 2044 + 12959 12953 12952 2 2044 + 12959 12952 12958 2 2044 + 12958 12952 12951 2 2044 + 12958 12951 2558 2 2044 + 2558 12951 2557 2 2044 + 12983 2559 12974 2 2047 + 12983 12974 18420 2 2047 + 12983 18420 18421 2 2047 + 12983 18421 2561 2 2047 + 2561 18421 12978 2 2047 + 12978 18421 18422 2 2047 + 12978 18422 12977 2 2047 + 12977 18422 12976 2 2047 + 12976 18422 12971 2 2047 + 12976 12971 12970 2 2047 + 12976 12970 12975 2 2047 + 12975 12970 2560 2 2047 + 12971 18422 12972 2 2047 + 12972 18422 18421 2 2047 + 12972 18421 12973 2 2047 + 12973 18421 18420 2 2047 + 12973 18420 12974 2 2047 + 13954 2562 18423 2 2050 + 13954 18423 12994 2 2050 + 13954 12994 2564 2 2050 + 12994 18423 12993 2 2050 + 12994 12993 2563 2 2050 + 12993 18423 2562 2 2050 + 13010 2565 12995 2 2052 + 13010 12995 18424 2 2052 + 13010 18424 13009 2 2052 + 13009 18424 13008 2 2052 + 13008 18424 12997 2 2052 + 13008 12997 12998 2 2052 + 13008 12998 13007 2 2052 + 13007 12998 2567 2 2052 + 12997 18424 12996 2 2052 + 12996 18424 2566 2 2052 + 2566 18424 12995 2 2052 + 18425 18426 18427 2 2055 + 13958 2568 18426 2 2055 + 13958 18426 18425 2 2055 + 13958 18425 2570 2 2055 + 2570 18425 13018 2 2055 + 13018 18425 18427 2 2055 + 13018 18427 13017 2 2055 + 13017 18427 18428 2 2055 + 13017 18428 13016 2 2055 + 13016 18428 13015 2 2055 + 13015 18428 13011 2 2055 + 13015 13011 2569 2 2055 + 13011 18428 13012 2 2055 + 13012 18428 13013 2 2055 + 13013 18428 18427 2 2055 + 13013 18427 18426 2 2055 + 13013 18426 13014 2 2055 + 13014 18426 2568 2 2055 + 2573 2571 13022 2 2057 + 2573 13022 13025 2 2057 + 13025 13022 13021 2 2057 + 13025 13021 13024 2 2057 + 13024 13021 13020 2 2057 + 13024 13020 13023 2 2057 + 13023 13020 13019 2 2057 + 13023 13019 2572 2 2057 + 18431 18429 18432 2 2059 + 18429 18430 18432 2 2059 + 18432 18430 18433 2 2059 + 18434 18431 18435 2 2059 + 18431 18432 18435 2 2059 + 18435 18432 18436 2 2059 + 18432 18433 18436 2 2059 + 18434 18435 18437 2 2059 + 13051 2574 13033 2 2059 + 13051 13033 18429 2 2059 + 13051 18429 13050 2 2059 + 13050 18429 18431 2 2059 + 13050 18431 13049 2 2059 + 13049 18431 18434 2 2059 + 13049 18434 13048 2 2059 + 13048 18434 18437 2 2059 + 13048 18437 13037 2 2059 + 13048 13037 2576 2 2059 + 13037 18437 13036 2 2059 + 13036 18437 18435 2 2059 + 13036 18435 18436 2 2059 + 13036 18436 13035 2 2059 + 13035 18436 18433 2 2059 + 13035 18433 13034 2 2059 + 13034 18433 2575 2 2059 + 2575 18433 13031 2 2059 + 13031 18433 18430 2 2059 + 13031 18430 13032 2 2059 + 13032 18430 13033 2 2059 + 13033 18430 18429 2 2059 + 13077 2577 13055 2 2062 + 13077 13055 18438 2 2062 + 13077 18438 2579 2 2062 + 2579 18438 13058 2 2062 + 13058 18438 18439 2 2062 + 13058 18439 13057 2 2062 + 13057 18439 13056 2 2062 + 13056 18439 13052 2 2062 + 13056 13052 2578 2 2062 + 13052 18439 13053 2 2062 + 13053 18439 13054 2 2062 + 13054 18439 18438 2 2062 + 13054 18438 13055 2 2062 + 2582 2580 13078 2 2065 + 2582 13078 2581 2 2065 + 13987 2583 13085 2 2067 + 13987 13085 13086 2 2067 + 13987 13086 13988 2 2067 + 13988 13086 13087 2 2067 + 13988 13087 13989 2 2067 + 13989 13087 13088 2 2067 + 13989 13088 13990 2 2067 + 13990 13088 2585 2 2067 + 13085 2583 2584 2 2067 + 18442 18440 18443 2 2069 + 18440 18441 18443 2 2069 + 18443 18441 18444 2 2069 + 18442 18443 18445 2 2069 + 18445 18443 18446 2 2069 + 18443 18444 18446 2 2069 + 18446 18444 18447 2 2069 + 14045 2586 13098 2 2069 + 14045 13098 18440 2 2069 + 14045 18440 14046 2 2069 + 14046 18440 18442 2 2069 + 14046 18442 14047 2 2069 + 14047 18442 13102 2 2069 + 14047 13102 2588 2 2069 + 13102 18442 18445 2 2069 + 13102 18445 13101 2 2069 + 13101 18445 18446 2 2069 + 13101 18446 13100 2 2069 + 13100 18446 18447 2 2069 + 13100 18447 13099 2 2069 + 13099 18447 13095 2 2069 + 13099 13095 2587 2 2069 + 13095 18447 13096 2 2069 + 13096 18447 18444 2 2069 + 13096 18444 13097 2 2069 + 13097 18444 18441 2 2069 + 13097 18441 13098 2 2069 + 13098 18441 18440 2 2069 + 18449 18448 18450 2 2071 + 18449 18450 18452 2 2071 + 18452 18450 18453 2 2071 + 18450 18451 18453 2 2071 + 13119 2589 18448 2 2071 + 13119 18448 18449 2 2071 + 13119 18449 13118 2 2071 + 13118 18449 18452 2 2071 + 13118 18452 13117 2 2071 + 13117 18452 13111 2 2071 + 13117 13111 2591 2 2071 + 13111 18452 13110 2 2071 + 13110 18452 18453 2 2071 + 13110 18453 13109 2 2071 + 13109 18453 13108 2 2071 + 13108 18453 18451 2 2071 + 13108 18451 13107 2 2071 + 13107 18451 13103 2 2071 + 13107 13103 2590 2 2071 + 13103 18451 13104 2 2071 + 13104 18451 13105 2 2071 + 13105 18451 18450 2 2071 + 13105 18450 13106 2 2071 + 13106 18450 18448 2 2071 + 13106 18448 2589 2 2071 + 14060 2592 13132 2 2074 + 14060 13132 13131 2 2074 + 14060 13131 18454 2 2074 + 14060 18454 14061 2 2074 + 14061 18454 13133 2 2074 + 14061 13133 2594 2 2074 + 13133 18454 13130 2 2074 + 13133 13130 2593 2 2074 + 13130 18454 13131 2 2074 + 2597 2595 13134 2 2076 + 2597 13134 2596 2 2076 + 14069 2598 13140 2 2079 + 14069 13140 13141 2 2079 + 14069 13141 14070 2 2079 + 14070 13141 13142 2 2079 + 14070 13142 14071 2 2079 + 14071 13142 13143 2 2079 + 14071 13143 2600 2 2079 + 13140 2598 13139 2 2079 + 13139 2598 2599 2 2079 + 14088 2601 13148 2 2081 + 14088 13148 13147 2 2081 + 14088 13147 14089 2 2081 + 14089 13147 13146 2 2081 + 14089 13146 2603 2 2081 + 2603 13146 13145 2 2081 + 2603 13145 13149 2 2081 + 13149 13145 13144 2 2081 + 13149 13144 2602 2 2081 + 14094 2604 18456 2 2083 + 14094 18456 13153 2 2083 + 14094 13153 18455 2 2083 + 14094 18455 14095 2 2083 + 14095 18455 13155 2 2083 + 14095 13155 14096 2 2083 + 14096 13155 13156 2 2083 + 14096 13156 14097 2 2083 + 14097 13156 2606 2 2083 + 13155 18455 13154 2 2083 + 13154 18455 13153 2 2083 + 13153 18456 13152 2 2083 + 13152 18456 13151 2 2083 + 13151 18456 13150 2 2083 + 13151 13150 2605 2 2083 + 13150 18456 2604 2 2083 + 18459 18460 18461 2 2085 + 18461 18460 18462 2 2085 + 13180 2607 13162 2 2085 + 13180 13162 18458 2 2085 + 13180 18458 18457 2 2085 + 13180 18457 2609 2 2085 + 2609 18457 13167 2 2085 + 13167 18457 18459 2 2085 + 13167 18459 13166 2 2085 + 13166 18459 18461 2 2085 + 13166 18461 13165 2 2085 + 13165 18461 18462 2 2085 + 13165 18462 13164 2 2085 + 13164 18462 18463 2 2085 + 13164 18463 13163 2 2085 + 13163 18463 13157 2 2085 + 13163 13157 2608 2 2085 + 13157 18463 13158 2 2085 + 13158 18463 18462 2 2085 + 13158 18462 13159 2 2085 + 13159 18462 18460 2 2085 + 13159 18460 13160 2 2085 + 13160 18460 13161 2 2085 + 13161 18460 18458 2 2085 + 13161 18458 13162 2 2085 + 18458 18460 18459 2 2085 + 18458 18459 18457 2 2085 + 2612 2610 13181 2 2088 + 2612 13181 2611 2 2088 + 14205 2613 2614 2 2090 + 14205 2614 2615 2 2090 + 2618 2616 13202 2 2092 + 13202 2616 2617 2 2092 + 13224 2619 2620 2 2095 + 13224 2620 2621 2 2095 + 13239 2622 13234 2 2098 + 13239 13234 13238 2 2098 + 13238 13234 2623 2 2098 + 13238 2623 13235 2 2098 + 13238 13235 13237 2 2098 + 13237 13235 2624 2 2098 + 18464 18465 18466 2 2101 + 14216 2625 13242 2 2101 + 14216 13242 14217 2 2101 + 14217 13242 18465 2 2101 + 14217 18465 14218 2 2101 + 14218 18465 18464 2 2101 + 14218 18464 14219 2 2101 + 14219 18464 13244 2 2101 + 14219 13244 2627 2 2101 + 13244 18464 13243 2 2101 + 13243 18464 18466 2 2101 + 13243 18466 2626 2 2101 + 2626 18466 13240 2 2101 + 13240 18466 13241 2 2101 + 13241 18466 18465 2 2101 + 13241 18465 13242 2 2101 + 2630 2628 13246 2 2103 + 2630 13246 13247 2 2103 + 13247 13246 13245 2 2103 + 13247 13245 2629 2 2103 + 14244 2631 13259 2 2106 + 14244 13259 13260 2 2106 + 14244 13260 14245 2 2106 + 14245 13260 2633 2 2106 + 13259 2631 2632 2 2106 + 14253 2634 18467 2 2108 + 14253 18467 18469 2 2108 + 14253 18469 14254 2 2108 + 14254 18469 14255 2 2108 + 14255 18469 13270 2 2108 + 14255 13270 2636 2 2108 + 13270 18469 13269 2 2108 + 13269 18469 18468 2 2108 + 13269 18468 13268 2 2108 + 13268 18468 13267 2 2108 + 13267 18468 18467 2 2108 + 13267 18467 13265 2 2108 + 13267 13265 2635 2 2108 + 13265 18467 13266 2 2108 + 13266 18467 2634 2 2108 + 18467 18468 18469 2 2108 + 16578 3217 2639 2 2110 + 16578 2639 16577 2 2110 + 16577 2639 13285 2 2110 + 16577 13285 2640 2 2110 + 14271 2642 13284 2 2114 + 14271 13284 14272 2 2114 + 14272 13284 2641 2 2114 + 14272 2641 18470 2 2114 + 14272 18470 14273 2 2114 + 14273 18470 2644 2 2114 + 2644 18470 16600 2 2114 + 2644 16600 13289 2 2114 + 13289 16600 16601 2 2114 + 13289 16601 13288 2 2114 + 13288 16601 2640 2 2114 + 13288 2640 13287 2 2114 + 13287 2640 13286 2 2114 + 13287 13286 2643 2 2114 + 16600 18470 16599 2 2114 + 16599 18470 2641 2 2114 + 2647 2645 13292 2 2117 + 2647 13292 13291 2 2117 + 2647 13291 13294 2 2117 + 13294 13291 13290 2 2117 + 13294 13290 13293 2 2117 + 13293 13290 2646 2 2117 + 13401 2648 13304 2 2119 + 13401 13304 18471 2 2119 + 13401 18471 13400 2 2119 + 13400 18471 13307 2 2119 + 13400 13307 2650 2 2119 + 13307 18471 13306 2 2119 + 13306 18471 13305 2 2119 + 13305 18471 13303 2 2119 + 13305 13303 2649 2 2119 + 13303 18471 13304 2 2119 + 18474 18472 18475 2 2121 + 18472 18473 18475 2 2121 + 13387 2651 13320 2 2121 + 13387 13320 18474 2 2121 + 13387 18474 13386 2 2121 + 13386 18474 18475 2 2121 + 13386 18475 13385 2 2121 + 13385 18475 13384 2 2121 + 13384 18475 18473 2 2121 + 13384 18473 13383 2 2121 + 13383 18473 13323 2 2121 + 13383 13323 2653 2 2121 + 13323 18473 13322 2 2121 + 13322 18473 18472 2 2121 + 13322 18472 13321 2 2121 + 13321 18472 2652 2 2121 + 2652 18472 13318 2 2121 + 13318 18472 18474 2 2121 + 13318 18474 13319 2 2121 + 13319 18474 13320 2 2121 + 2656 2654 13341 2 2123 + 2656 13341 13343 2 2123 + 13343 13341 13340 2 2123 + 13343 13340 13342 2 2123 + 13342 13340 13339 2 2123 + 13342 13339 2655 2 2123 + 2659 2657 13348 2 2125 + 13348 2657 13345 2 2125 + 13348 13345 13347 2 2125 + 13347 13345 13344 2 2125 + 13347 13344 13346 2 2125 + 13346 13344 2658 2 2125 + 2662 2660 13357 2 2128 + 13357 2660 2661 2 2128 + 2665 2663 13370 2 2130 + 2665 13370 2664 2 2130 + 2668 2666 13403 2 2136 + 2668 13403 13404 2 2136 + 13404 13403 13402 2 2136 + 13404 13402 2667 2 2136 + 2671 2669 13405 2 2138 + 2671 13405 2670 2 2138 + 14284 2672 13418 2 2142 + 14284 13418 13419 2 2142 + 14284 13419 2674 2 2142 + 13418 2672 2673 2 2142 + 13440 2675 13424 2 2144 + 13440 13424 13425 2 2144 + 13440 13425 13439 2 2144 + 13439 13425 13426 2 2144 + 13439 13426 2677 2 2144 + 13424 2675 13421 2 2144 + 13424 13421 13423 2 2144 + 13423 13421 13420 2 2144 + 13423 13420 13422 2 2144 + 13422 13420 2676 2 2144 + 14289 2678 13446 2 2147 + 14289 13446 13448 2 2147 + 14289 13448 2680 2 2147 + 13448 13446 13447 2 2147 + 13447 13446 13445 2 2147 + 13447 13445 2679 2 2147 + 18478 18477 18479 2 2149 + 18480 18478 18481 2 2149 + 18478 18479 18481 2 2149 + 14309 2681 13450 2 2149 + 14309 13450 18481 2 2149 + 14309 18481 18479 2 2149 + 14309 18479 14310 2 2149 + 14310 18479 14311 2 2149 + 14311 18479 18477 2 2149 + 14311 18477 14312 2 2149 + 14312 18477 18476 2 2149 + 14312 18476 14313 2 2149 + 14313 18476 13455 2 2149 + 14313 13455 2683 2 2149 + 13455 18476 13454 2 2149 + 13454 18476 18477 2 2149 + 13454 18477 13453 2 2149 + 13453 18477 18478 2 2149 + 13453 18478 13452 2 2149 + 13452 18478 18480 2 2149 + 13452 18480 13451 2 2149 + 13451 18480 2682 2 2149 + 2682 18480 13449 2 2149 + 13449 18480 18481 2 2149 + 13449 18481 13450 2 2149 + 2686 2684 13460 2 2151 + 2686 13460 13464 2 2151 + 13464 13460 13459 2 2151 + 13464 13459 13463 2 2151 + 13463 13459 13458 2 2151 + 13463 13458 13462 2 2151 + 13462 13458 13457 2 2151 + 13462 13457 13461 2 2151 + 13461 13457 13456 2 2151 + 13461 13456 2685 2 2151 + 18483 18484 18485 2 2153 + 18483 18482 18484 2 2153 + 14391 2687 13474 2 2153 + 14391 13474 18482 2 2153 + 14391 18482 18483 2 2153 + 14391 18483 14392 2 2153 + 14392 18483 14393 2 2153 + 14393 18483 18485 2 2153 + 14393 18485 13477 2 2153 + 14393 13477 2689 2 2153 + 13477 18485 13476 2 2153 + 13476 18485 18484 2 2153 + 13476 18484 13475 2 2153 + 13475 18484 13471 2 2153 + 13475 13471 2688 2 2153 + 13471 18484 13472 2 2153 + 13472 18484 18482 2 2153 + 13472 18482 13473 2 2153 + 13473 18482 13474 2 2153 + 13497 2690 13485 2 2155 + 13497 13485 18486 2 2155 + 13497 18486 13496 2 2155 + 13496 18486 13495 2 2155 + 13495 18486 18488 2 2155 + 13495 18488 13494 2 2155 + 13494 18488 13487 2 2155 + 13494 13487 2692 2 2155 + 13487 18488 13486 2 2155 + 13486 18488 2691 2 2155 + 2691 18488 13483 2 2155 + 13483 18488 18487 2 2155 + 13483 18487 13484 2 2155 + 13484 18487 18486 2 2155 + 13484 18486 13485 2 2155 + 18486 18487 18488 2 2155 + 13512 2693 13501 2 2158 + 13512 13501 13511 2 2158 + 13511 13501 13500 2 2158 + 13511 13500 18489 2 2158 + 13511 18489 13510 2 2158 + 13510 18489 2695 2 2158 + 2695 18489 13502 2 2158 + 13502 18489 13499 2 2158 + 13502 13499 13498 2 2158 + 13502 13498 2694 2 2158 + 13499 18489 13500 2 2158 + 13523 2696 13520 2 2161 + 13523 13520 13519 2 2161 + 13523 13519 2698 2 2161 + 2698 13519 13521 2 2161 + 13521 13519 13518 2 2161 + 13521 13518 2697 2 2161 + 14407 2699 18491 2 2164 + 14407 18491 18490 2 2164 + 14407 18490 14408 2 2164 + 14408 18490 13527 2 2164 + 14408 13527 13528 2 2164 + 14408 13528 14409 2 2164 + 14409 13528 2701 2 2164 + 13527 18490 13526 2 2164 + 13526 18490 18491 2 2164 + 13526 18491 13525 2 2164 + 13525 18491 13524 2 2164 + 13525 13524 2700 2 2164 + 13524 18491 2699 2 2164 + 14434 2702 13532 2 2166 + 14434 13532 18492 2 2166 + 14434 18492 2704 2 2166 + 2704 18492 18493 2 2166 + 2704 18493 13535 2 2166 + 13535 18493 13534 2 2166 + 13534 18493 13530 2 2166 + 13534 13530 13529 2 2166 + 13534 13529 13533 2 2166 + 13533 13529 2703 2 2166 + 13530 18493 13531 2 2166 + 13531 18493 18492 2 2166 + 13531 18492 13532 2 2166 + 18494 18495 18497 2 2168 + 18497 18495 18498 2 2168 + 18495 18496 18498 2 2168 + 18498 18496 18499 2 2168 + 14465 2705 13558 2 2168 + 14465 13558 18496 2 2168 + 14465 18496 14466 2 2168 + 14466 18496 18495 2 2168 + 14466 18495 14467 2 2168 + 14467 18495 18494 2 2168 + 14467 18494 14468 2 2168 + 14468 18494 13561 2 2168 + 14468 13561 2707 2 2168 + 13561 18494 18497 2 2168 + 13561 18497 13560 2 2168 + 13560 18497 13559 2 2168 + 13559 18497 18498 2 2168 + 13559 18498 18499 2 2168 + 13559 18499 13556 2 2168 + 13559 13556 2706 2 2168 + 13556 18499 13557 2 2168 + 13557 18499 18496 2 2168 + 13557 18496 13558 2 2168 + 18502 18500 18503 2 2170 + 15628 2708 18500 2 2170 + 15628 18500 18501 2 2170 + 15628 18501 15629 2 2170 + 15629 18501 15630 2 2170 + 15630 18501 13565 2 2170 + 15630 13565 2710 2 2170 + 13565 18501 2712 2 2170 + 2712 18501 16580 2 2170 + 16580 18501 18502 2 2170 + 16580 18502 18503 2 2170 + 16580 18503 16579 2 2170 + 16579 18503 18504 2 2170 + 16579 18504 2711 2 2170 + 2711 18504 13567 2 2170 + 13567 18504 13562 2 2170 + 13567 13562 2709 2 2170 + 13562 18504 13563 2 2170 + 13563 18504 13564 2 2170 + 13564 18504 18503 2 2170 + 13564 18503 18500 2 2170 + 13564 18500 2708 2 2170 + 18502 18501 18500 2 2170 + 18505 18506 18511 2 2172 + 18511 18506 18512 2 2172 + 18506 18507 18512 2 2172 + 18512 18507 18513 2 2172 + 18507 18508 18513 2 2172 + 18513 18508 18514 2 2172 + 18508 18509 18514 2 2172 + 18514 18509 18515 2 2172 + 18509 18510 18515 2 2172 + 18511 18512 18516 2 2172 + 18516 18512 18517 2 2172 + 18512 18513 18517 2 2172 + 18517 18513 18518 2 2172 + 18513 18514 18518 2 2172 + 18516 18517 18519 2 2172 + 13581 2713 13566 2 2172 + 13581 13566 18505 2 2172 + 13581 18505 18511 2 2172 + 13581 18511 13580 2 2172 + 13580 18511 18516 2 2172 + 13580 18516 13579 2 2172 + 13579 18516 18519 2 2172 + 13579 18519 2715 2 2172 + 2715 18519 13573 2 2172 + 13573 18519 13572 2 2172 + 13572 18519 18517 2 2172 + 13572 18517 18518 2 2172 + 13572 18518 13571 2 2172 + 13571 18518 18515 2 2172 + 13571 18515 13570 2 2172 + 13570 18515 13569 2 2172 + 13569 18515 18510 2 2172 + 13569 18510 2714 2 2172 + 2714 18510 13568 2 2172 + 13568 18510 18509 2 2172 + 13568 18509 2711 2 2172 + 2711 18509 18508 2 2172 + 2711 18508 16579 2 2172 + 16579 18508 18507 2 2172 + 16579 18507 16580 2 2172 + 16580 18507 18506 2 2172 + 16580 18506 2712 2 2172 + 2712 18506 18505 2 2172 + 2712 18505 13566 2 2172 + 18515 18518 18514 2 2172 + 2718 2716 13588 2 2176 + 13588 2716 13587 2 2176 + 13587 2716 13584 2 2176 + 13587 13584 13586 2 2176 + 13586 13584 13583 2 2176 + 13586 13583 13585 2 2176 + 13585 13583 13582 2 2176 + 13585 13582 2717 2 2176 + 15627 2719 13593 2 2179 + 15627 13593 13594 2 2179 + 15627 13594 15626 2 2179 + 15626 13594 13595 2 2179 + 15626 13595 15625 2 2179 + 15625 13595 13596 2 2179 + 15625 13596 2721 2 2179 + 13593 2719 2720 2 2179 + 14478 2722 13606 2 2181 + 14478 13606 18520 2 2181 + 14478 18520 2724 2 2181 + 2724 18520 13610 2 2181 + 13610 18520 13609 2 2181 + 13609 18520 18521 2 2181 + 13609 18521 13608 2 2181 + 13608 18521 13604 2 2181 + 13608 13604 13603 2 2181 + 13608 13603 13607 2 2181 + 13607 13603 2723 2 2181 + 13604 18521 13605 2 2181 + 13605 18521 18520 2 2181 + 13605 18520 13606 2 2181 + 18523 18524 18528 2 2183 + 18528 18524 18529 2 2183 + 18524 18525 18529 2 2183 + 18525 18526 18529 2 2183 + 18525 18522 18526 2 2183 + 18526 18527 18530 2 2183 + 18528 18529 18531 2 2183 + 18529 18530 18531 2 2183 + 18529 18526 18530 2 2183 + 13625 2725 13614 2 2183 + 13625 13614 18527 2 2183 + 13625 18527 13624 2 2183 + 13624 18527 18522 2 2183 + 13624 18522 13623 2 2183 + 13623 18522 18525 2 2183 + 13623 18525 13622 2 2183 + 13622 18525 18524 2 2183 + 13622 18524 13621 2 2183 + 13621 18524 18523 2 2183 + 13621 18523 2727 2 2183 + 2727 18523 13617 2 2183 + 13617 18523 13616 2 2183 + 13616 18523 18528 2 2183 + 13616 18528 13615 2 2183 + 13615 18528 18531 2 2183 + 13615 18531 2726 2 2183 + 2726 18531 13611 2 2183 + 13611 18531 18530 2 2183 + 13611 18530 13612 2 2183 + 13612 18530 13613 2 2183 + 13613 18530 18527 2 2183 + 13613 18527 13614 2 2183 + 18522 18527 18526 2 2183 + 18533 18532 18534 2 2186 + 18537 18533 18538 2 2186 + 18533 18534 18538 2 2186 + 18538 18534 18539 2 2186 + 18534 18535 18539 2 2186 + 18535 18536 18539 2 2186 + 18538 18539 18542 2 2186 + 18539 18540 18542 2 2186 + 18539 18536 18540 2 2186 + 14555 2728 13637 2 2186 + 14555 13637 18541 2 2186 + 14555 18541 14556 2 2186 + 14556 18541 18540 2 2186 + 14556 18540 18536 2 2186 + 14556 18536 14557 2 2186 + 14557 18536 18535 2 2186 + 14557 18535 14558 2 2186 + 14558 18535 14559 2 2186 + 14559 18535 18534 2 2186 + 14559 18534 14560 2 2186 + 14560 18534 18532 2 2186 + 14560 18532 2730 2 2186 + 2730 18532 13639 2 2186 + 13639 18532 18533 2 2186 + 13639 18533 13638 2 2186 + 13638 18533 18537 2 2186 + 13638 18537 2729 2 2186 + 2729 18537 13633 2 2186 + 13633 18537 13634 2 2186 + 13634 18537 18538 2 2186 + 13634 18538 18542 2 2186 + 13634 18542 13635 2 2186 + 13635 18542 18540 2 2186 + 13635 18540 13636 2 2186 + 13636 18540 18541 2 2186 + 13636 18541 13637 2 2186 + 14578 2731 13641 2 2188 + 14578 13641 18544 2 2188 + 14578 18544 18543 2 2188 + 14578 18543 14579 2 2188 + 14579 18543 2733 2 2188 + 2733 18543 13644 2 2188 + 13644 18543 13643 2 2188 + 13643 18543 18544 2 2188 + 13643 18544 13642 2 2188 + 13642 18544 13640 2 2188 + 13642 13640 2732 2 2188 + 13640 18544 13641 2 2188 + 13661 2734 13647 2 2190 + 13661 13647 18546 2 2190 + 13661 18546 18545 2 2190 + 13661 18545 13660 2 2190 + 13660 18545 13649 2 2190 + 13660 13649 2736 2 2190 + 13649 18545 13648 2 2190 + 13648 18545 18546 2 2190 + 13648 18546 13645 2 2190 + 13648 13645 2735 2 2190 + 13645 18546 13646 2 2190 + 13646 18546 13647 2 2190 + 14602 2737 13663 2 2193 + 14602 13663 13662 2 2193 + 14602 13662 2739 2 2193 + 2739 13662 2738 2 2193 + 14625 2740 18547 2 2195 + 14625 18547 13683 2 2195 + 14625 13683 14626 2 2195 + 14626 13683 13684 2 2195 + 14626 13684 2742 2 2195 + 13683 18547 13682 2 2195 + 13682 18547 2741 2 2195 + 2741 18547 2740 2 2195 + 2745 2743 13687 2 2197 + 2745 13687 13686 2 2197 + 2745 13686 13689 2 2197 + 13689 13686 13685 2 2197 + 13689 13685 13688 2 2197 + 13688 13685 2744 2 2197 + 13701 2746 18548 2 2199 + 13701 18548 18549 2 2199 + 13701 18549 13700 2 2199 + 13700 18549 13695 2 2199 + 13700 13695 2748 2 2199 + 13695 18549 13694 2 2199 + 13694 18549 18548 2 2199 + 13694 18548 13693 2 2199 + 13693 18548 13692 2 2199 + 13692 18548 13690 2 2199 + 13692 13690 2747 2 2199 + 13690 18548 13691 2 2199 + 13691 18548 2746 2 2199 + 2751 2749 13706 2 2202 + 13706 2749 13703 2 2202 + 13706 13703 13705 2 2202 + 13705 13703 13702 2 2202 + 13705 13702 13704 2 2202 + 13704 13702 2750 2 2202 + 14664 2752 13719 2 2204 + 14664 13719 14665 2 2204 + 14665 13719 13718 2 2204 + 14665 13718 2754 2 2204 + 2754 13718 13717 2 2204 + 2754 13717 2753 2 2204 + 2757 2755 13726 2 2206 + 13726 2755 2756 2 2206 + 13757 2758 13727 2 2208 + 13757 13727 18550 2 2208 + 13757 18550 13756 2 2208 + 13756 18550 18551 2 2208 + 13756 18551 13755 2 2208 + 13755 18551 13729 2 2208 + 13755 13729 13754 2 2208 + 13754 13729 13730 2 2208 + 13754 13730 2760 2 2208 + 13729 18551 13728 2 2208 + 13728 18551 2759 2 2208 + 2759 18551 18550 2 2208 + 2759 18550 13727 2 2208 + 18553 18554 18555 2 2211 + 18555 18554 18556 2 2211 + 18555 18556 18557 2 2211 + 18557 18556 18558 2 2211 + 13784 2761 18554 2 2211 + 13784 18554 18553 2 2211 + 13784 18553 13783 2 2211 + 13783 18553 18552 2 2211 + 13783 18552 13782 2 2211 + 13782 18552 13766 2 2211 + 13782 13766 2763 2 2211 + 13766 18552 13765 2 2211 + 13765 18552 18553 2 2211 + 13765 18553 18555 2 2211 + 13765 18555 13764 2 2211 + 13764 18555 18557 2 2211 + 13764 18557 13763 2 2211 + 13763 18557 18558 2 2211 + 13763 18558 13762 2 2211 + 13762 18558 13758 2 2211 + 13762 13758 2762 2 2211 + 13758 18558 13759 2 2211 + 13759 18558 13760 2 2211 + 13760 18558 18556 2 2211 + 13760 18556 13761 2 2211 + 13761 18556 18554 2 2211 + 13761 18554 2761 2 2211 + 13776 2764 13771 2 2213 + 13776 13771 13775 2 2213 + 13775 13771 13770 2 2213 + 13775 13770 13774 2 2213 + 13774 13770 13769 2 2213 + 13774 13769 13773 2 2213 + 13773 13769 13768 2 2213 + 13773 13768 13772 2 2213 + 13772 13768 13767 2 2213 + 13772 13767 2766 2 2213 + 2766 13767 2765 2 2213 + 14679 2767 13787 2 2217 + 14679 13787 18559 2 2217 + 14679 18559 13790 2 2217 + 14679 13790 2769 2 2217 + 13790 18559 13789 2 2217 + 13789 18559 13786 2 2217 + 13789 13786 13788 2 2217 + 13788 13786 13785 2 2217 + 13788 13785 2768 2 2217 + 13786 18559 13787 2 2217 + 14697 2770 13803 2 2219 + 14697 13803 18560 2 2219 + 14697 18560 2772 2 2219 + 2772 18560 13805 2 2219 + 13805 18560 13802 2 2219 + 13805 13802 13804 2 2219 + 13804 13802 13801 2 2219 + 13804 13801 2771 2 2219 + 13802 18560 13803 2 2219 + 13820 2773 13819 2 2221 + 13820 13819 13818 2 2221 + 13820 13818 2775 2 2221 + 2775 13818 2774 2 2221 + 13830 2776 13827 2 2224 + 13830 13827 13829 2 2224 + 13829 13827 2777 2 2224 + 13829 2777 13828 2 2224 + 13828 2777 2778 2 2224 + 2781 2779 13833 2 2227 + 2781 13833 13832 2 2227 + 2781 13832 13834 2 2227 + 13834 13832 13831 2 2227 + 13834 13831 2780 2 2227 + 13851 2782 18561 2 2229 + 13851 18561 13841 2 2229 + 13851 13841 13850 2 2229 + 13850 13841 13842 2 2229 + 13850 13842 13849 2 2229 + 13849 13842 13843 2 2229 + 13849 13843 2784 2 2229 + 13841 18561 13840 2 2229 + 13840 18561 13839 2 2229 + 13839 18561 13838 2 2229 + 13839 13838 2783 2 2229 + 13838 18561 2782 2 2229 + 2787 2785 13864 2 2232 + 13864 2785 13863 2 2232 + 13863 2785 13859 2 2232 + 13863 13859 13862 2 2232 + 13862 13859 13858 2 2232 + 13862 13858 13861 2 2232 + 13861 13858 13857 2 2232 + 13861 13857 13860 2 2232 + 13860 13857 2786 2 2232 + 2790 2788 18562 2 2234 + 2790 18562 13874 2 2234 + 13874 18562 13873 2 2234 + 13873 18562 18563 2 2234 + 13873 18563 13872 2 2234 + 13872 18563 13867 2 2234 + 13872 13867 13866 2 2234 + 13872 13866 13871 2 2234 + 13871 13866 13865 2 2234 + 13871 13865 13870 2 2234 + 13870 13865 2789 2 2234 + 13867 18563 13868 2 2234 + 13868 18563 18562 2 2234 + 13868 18562 13869 2 2234 + 13869 18562 2788 2 2234 + 18565 18566 18569 2 2236 + 18569 18566 18570 2 2236 + 18566 18567 18570 2 2236 + 18567 18568 18570 2 2236 + 14747 2791 13879 2 2236 + 14747 13879 18564 2 2236 + 14747 18564 14748 2 2236 + 14748 18564 14749 2 2236 + 14749 18564 18568 2 2236 + 14749 18568 18567 2 2236 + 14749 18567 14750 2 2236 + 14750 18567 18566 2 2236 + 14750 18566 14751 2 2236 + 14751 18566 18565 2 2236 + 14751 18565 13881 2 2236 + 14751 13881 2793 2 2236 + 13881 18565 13880 2 2236 + 13880 18565 18569 2 2236 + 13880 18569 2792 2 2236 + 2792 18569 13875 2 2236 + 13875 18569 13876 2 2236 + 13876 18569 18570 2 2236 + 13876 18570 13877 2 2236 + 13877 18570 18568 2 2236 + 13877 18568 13878 2 2236 + 13878 18568 18564 2 2236 + 13878 18564 13879 2 2236 + 18571 18572 18574 2 2238 + 18574 18572 18575 2 2238 + 18572 18573 18575 2 2238 + 14767 2794 18573 2 2238 + 14767 18573 18572 2 2238 + 14767 18572 14768 2 2238 + 14768 18572 18571 2 2238 + 14768 18571 14769 2 2238 + 14769 18571 14770 2 2238 + 14770 18571 13886 2 2238 + 14770 13886 13887 2 2238 + 14770 13887 2796 2 2238 + 13886 18571 13885 2 2238 + 13885 18571 18574 2 2238 + 13885 18574 13884 2 2238 + 13884 18574 18575 2 2238 + 13884 18575 13882 2 2238 + 13884 13882 2795 2 2238 + 13882 18575 13883 2 2238 + 13883 18575 18573 2 2238 + 13883 18573 2794 2 2238 + 18577 18576 18578 2 2240 + 13914 2797 18576 2 2240 + 13914 18576 18577 2 2240 + 13914 18577 2799 2 2240 + 2799 18577 13908 2 2240 + 13908 18577 13907 2 2240 + 13907 18577 18578 2 2240 + 13907 18578 13906 2 2240 + 13906 18578 18579 2 2240 + 13906 18579 13905 2 2240 + 13905 18579 18580 2 2240 + 13905 18580 13904 2 2240 + 13904 18580 13900 2 2240 + 13904 13900 2798 2 2240 + 13900 18580 13901 2 2240 + 13901 18580 18579 2 2240 + 13901 18579 13902 2 2240 + 13902 18579 18578 2 2240 + 13902 18578 13903 2 2240 + 13903 18578 18576 2 2240 + 13903 18576 2797 2 2240 + 2802 2800 13915 2 2243 + 2802 13915 2801 2 2243 + 13918 2803 2804 2 2245 + 13918 2804 2805 2 2245 + 14865 2806 13940 2 2248 + 14865 13940 14866 2 2248 + 14866 13940 2807 2 2248 + 14866 2807 13941 2 2248 + 14866 13941 14867 2 2248 + 14867 13941 13942 2 2248 + 14867 13942 14868 2 2248 + 14868 13942 2808 2 2248 + 2811 2809 13952 2 2250 + 2811 13952 13953 2 2250 + 13953 13952 13951 2 2250 + 13953 13951 2810 2 2250 + 13960 2812 2813 2 2253 + 13960 2813 13957 2 2253 + 13960 13957 13959 2 2253 + 13959 13957 2814 2 2253 + 14900 2815 13962 2 2256 + 14900 13962 18581 2 2256 + 14900 18581 14901 2 2256 + 14901 18581 14902 2 2256 + 14902 18581 13964 2 2256 + 14902 13964 2817 2 2256 + 13964 18581 13963 2 2256 + 13963 18581 13961 2 2256 + 13963 13961 2816 2 2256 + 13961 18581 13962 2 2256 + 13973 2818 13966 2 2258 + 13973 13966 13965 2 2258 + 13973 13965 13972 2 2258 + 13972 13965 18582 2 2258 + 13972 18582 13971 2 2258 + 13971 18582 13967 2 2258 + 13971 13967 2820 2 2258 + 13967 18582 2819 2 2258 + 2819 18582 13965 2 2258 + 2823 2821 13968 2 2260 + 2823 13968 2822 2 2260 + 18583 18584 18586 2 2264 + 18586 18584 18587 2 2264 + 18584 18585 18587 2 2264 + 13994 2824 13976 2 2264 + 13994 13976 18585 2 2264 + 13994 18585 18584 2 2264 + 13994 18584 13993 2 2264 + 13993 18584 13992 2 2264 + 13992 18584 18583 2 2264 + 13992 18583 13991 2 2264 + 13991 18583 13980 2 2264 + 13991 13980 2826 2 2264 + 13980 18583 13979 2 2264 + 13979 18583 13978 2 2264 + 13978 18583 18586 2 2264 + 13978 18586 13977 2 2264 + 13977 18586 18587 2 2264 + 13977 18587 13974 2 2264 + 13977 13974 2825 2 2264 + 13974 18587 13975 2 2264 + 13975 18587 18585 2 2264 + 13975 18585 13976 2 2264 + 3045 2827 14004 2 2267 + 3045 14004 14003 2 2267 + 3045 14003 16582 2 2267 + 16582 14003 14002 2 2267 + 16582 14002 16583 2 2267 + 16583 14002 14001 2 2267 + 16583 14001 16584 2 2267 + 16584 14001 18588 2 2267 + 16584 18588 16585 2 2267 + 16585 18588 14005 2 2267 + 16585 14005 3046 2 2267 + 3046 14005 14006 2 2267 + 3046 14006 2829 2 2267 + 14005 18588 2828 2 2267 + 2828 18588 14001 2 2267 + 2832 2830 14024 2 2269 + 2832 14024 14025 2 2269 + 14025 14024 14023 2 2269 + 14025 14023 2831 2 2269 + 14989 2833 18589 2 2271 + 14989 18589 14990 2 2271 + 14990 18589 14029 2 2271 + 14990 14029 14030 2 2271 + 14990 14030 14991 2 2271 + 14991 14030 14031 2 2271 + 14991 14031 2835 2 2271 + 14029 18589 18590 2 2271 + 14029 18590 14028 2 2271 + 14028 18590 14027 2 2271 + 14027 18590 14026 2 2271 + 14027 14026 2834 2 2271 + 14026 18590 18589 2 2271 + 14026 18589 2833 2 2271 + 18592 18591 18593 2 2273 + 18593 18591 18594 2 2273 + 18593 18594 18596 2 2273 + 18596 18594 18597 2 2273 + 18594 18595 18597 2 2273 + 18597 18595 18598 2 2273 + 18599 18596 18600 2 2273 + 18596 18597 18600 2 2273 + 18600 18597 18601 2 2273 + 18597 18598 18601 2 2273 + 18600 18601 18602 2 2273 + 14048 2836 14036 2 2273 + 14048 14036 18592 2 2273 + 14048 18592 2840 2 2273 + 2840 18592 18593 2 2273 + 2840 18593 18596 2 2273 + 2840 18596 16581 2 2273 + 16581 18596 18599 2 2273 + 16581 18599 2839 2 2273 + 2839 18599 18600 2 2273 + 2839 18600 18602 2 2273 + 2839 18602 14050 2 2273 + 14050 18602 2838 2 2273 + 2838 18602 14039 2 2273 + 14039 18602 18601 2 2273 + 14039 18601 14038 2 2273 + 14038 18601 18598 2 2273 + 14038 18598 14037 2 2273 + 14037 18598 2837 2 2273 + 2837 18598 18595 2 2273 + 2837 18595 14032 2 2273 + 14032 18595 14033 2 2273 + 14033 18595 18594 2 2273 + 14033 18594 14034 2 2273 + 14034 18594 18591 2 2273 + 14034 18591 14035 2 2273 + 14035 18591 18592 2 2273 + 14035 18592 14036 2 2273 + 15619 2841 14049 2 2276 + 15619 14049 2840 2 2276 + 15619 2840 15620 2 2276 + 15620 2840 18603 2 2276 + 15620 18603 2843 2 2276 + 2843 18603 14054 2 2276 + 14054 18603 18604 2 2276 + 14054 18604 2839 2 2276 + 14054 2839 14053 2 2276 + 14053 2839 14051 2 2276 + 14053 14051 14052 2 2276 + 14052 14051 2842 2 2276 + 2839 18604 16581 2 2276 + 16581 18604 2840 2 2276 + 2840 18604 18603 2 2276 + 14063 2844 14057 2 2279 + 14063 14057 18605 2 2279 + 14063 18605 14062 2 2279 + 14062 18605 18606 2 2279 + 14062 18606 2846 2 2279 + 2846 18606 14059 2 2279 + 14059 18606 18605 2 2279 + 14059 18605 14058 2 2279 + 14058 18605 14055 2 2279 + 14058 14055 2845 2 2279 + 14055 18605 14056 2 2279 + 14056 18605 14057 2 2279 + 2849 2847 14068 2 2282 + 14068 2847 14065 2 2282 + 14068 14065 14067 2 2282 + 14067 14065 14064 2 2282 + 14067 14064 14066 2 2282 + 14066 14064 2848 2 2282 + 15618 2850 2851 2 2285 + 15618 2851 14072 2 2285 + 15618 14072 15617 2 2285 + 15617 14072 2852 2 2285 + 14102 2853 14079 2 2287 + 14102 14079 14101 2 2287 + 14101 14079 18607 2 2287 + 14101 18607 14100 2 2287 + 14100 18607 14080 2 2287 + 14100 14080 14081 2 2287 + 14100 14081 14099 2 2287 + 14099 14081 14082 2 2287 + 14099 14082 14098 2 2287 + 14098 14082 2855 2 2287 + 14080 18607 2854 2 2287 + 2854 18607 14079 2 2287 + 14093 2856 14085 2 2289 + 14093 14085 14092 2 2289 + 14092 14085 14084 2 2289 + 14092 14084 18608 2 2289 + 14092 18608 18609 2 2289 + 14092 18609 14091 2 2289 + 14091 18609 14090 2 2289 + 14090 18609 18610 2 2289 + 14090 18610 14087 2 2289 + 14090 14087 2858 2 2289 + 14087 18610 14086 2 2289 + 14086 18610 18608 2 2289 + 14086 18608 14083 2 2289 + 14086 14083 2857 2 2289 + 14083 18608 14084 2 2289 + 18608 18610 18609 2 2289 + 2861 2859 14114 2 2293 + 2861 14114 14118 2 2293 + 14118 14114 14113 2 2293 + 14118 14113 14117 2 2293 + 14117 14113 14112 2 2293 + 14117 14112 14116 2 2293 + 14116 14112 14111 2 2293 + 14116 14111 14115 2 2293 + 14115 14111 14110 2 2293 + 14115 14110 2860 2 2293 + 2864 2862 14122 2 2295 + 2864 14122 14121 2 2295 + 2864 14121 14125 2 2295 + 14125 14121 14120 2 2295 + 14125 14120 14124 2 2295 + 14124 14120 14119 2 2295 + 14124 14119 14123 2 2295 + 14123 14119 2863 2 2295 + 15021 2865 18611 2 2297 + 15021 18611 14147 2 2297 + 15021 14147 2867 2 2297 + 14147 18611 14146 2 2297 + 14146 18611 18612 2 2297 + 14146 18612 14145 2 2297 + 14145 18612 14142 2 2297 + 14145 14142 14144 2 2297 + 14144 14142 14141 2 2297 + 14144 14141 2866 2 2297 + 14142 18612 14143 2 2297 + 14143 18612 18611 2 2297 + 14143 18611 2865 2 2297 + 18614 18615 18618 2 2299 + 18614 18613 18615 2 2299 + 18616 18617 18619 2 2299 + 18619 18617 18620 2 2299 + 18617 18618 18620 2 2299 + 18619 18620 18621 2 2299 + 14222 2868 18616 2 2299 + 14222 18616 14221 2 2299 + 14221 18616 18619 2 2299 + 14221 18619 14220 2 2299 + 14220 18619 18621 2 2299 + 14220 18621 2870 2 2299 + 2870 18621 14156 2 2299 + 14156 18621 14155 2 2299 + 14155 18621 18620 2 2299 + 14155 18620 14154 2 2299 + 14154 18620 18615 2 2299 + 14154 18615 14153 2 2299 + 14153 18615 18613 2 2299 + 14153 18613 14152 2 2299 + 14152 18613 14148 2 2299 + 14152 14148 2869 2 2299 + 14148 18613 14149 2 2299 + 14149 18613 18614 2 2299 + 14149 18614 14150 2 2299 + 14150 18614 18617 2 2299 + 14150 18617 14151 2 2299 + 14151 18617 18616 2 2299 + 14151 18616 2868 2 2299 + 18617 18614 18618 2 2299 + 18615 18620 18618 2 2299 + 18624 18622 18625 2 2301 + 18626 18623 18627 2 2301 + 18623 18624 18627 2 2301 + 14209 2871 14168 2 2301 + 14209 14168 18626 2 2301 + 14209 18626 14208 2 2301 + 14208 18626 18627 2 2301 + 14208 18627 14207 2 2301 + 14207 18627 14206 2 2301 + 14206 18627 18624 2 2301 + 14206 18624 18625 2 2301 + 14206 18625 2873 2 2301 + 2873 18625 14170 2 2301 + 14170 18625 18622 2 2301 + 14170 18622 14169 2 2301 + 14169 18622 14164 2 2301 + 14169 14164 2872 2 2301 + 14164 18622 14165 2 2301 + 14165 18622 18624 2 2301 + 14165 18624 18623 2 2301 + 14165 18623 14166 2 2301 + 14166 18623 14167 2 2301 + 14167 18623 18626 2 2301 + 14167 18626 14168 2 2301 + 14195 2874 14172 2 2303 + 14195 14172 14171 2 2303 + 14195 14171 2876 2 2303 + 2876 14171 2875 2 2303 + 15031 2877 18628 2 2308 + 15031 18628 14238 2 2308 + 15031 14238 2879 2 2308 + 14238 18628 14237 2 2308 + 14237 18628 14234 2 2308 + 14237 14234 14236 2 2308 + 14236 14234 14233 2 2308 + 14236 14233 2878 2 2308 + 14234 18628 14235 2 2308 + 14235 18628 2877 2 2308 + 2882 2880 14241 2 2310 + 2882 14241 14243 2 2310 + 14243 14241 14240 2 2310 + 14243 14240 14242 2 2310 + 14242 14240 14239 2 2310 + 14242 14239 2881 2 2310 + 15039 2883 14246 2 2313 + 15039 14246 14247 2 2313 + 15039 14247 2885 2 2313 + 14246 2883 2884 2 2313 + 18629 18630 18631 2 2315 + 14259 2886 14249 2 2315 + 14259 14249 18629 2 2315 + 14259 18629 14258 2 2315 + 14258 18629 18631 2 2315 + 14258 18631 14257 2 2315 + 14257 18631 18632 2 2315 + 14257 18632 14256 2 2315 + 14256 18632 14252 2 2315 + 14256 14252 2888 2 2315 + 14252 18632 14251 2 2315 + 14251 18632 18631 2 2315 + 14251 18631 14250 2 2315 + 14250 18631 18630 2 2315 + 14250 18630 2887 2 2315 + 2887 18630 14248 2 2315 + 14248 18630 14249 2 2315 + 14249 18630 18629 2 2315 + 14293 2889 14263 2 2318 + 14293 14263 14292 2 2318 + 14292 14263 14262 2 2318 + 14292 14262 14291 2 2318 + 14291 14262 14261 2 2318 + 14291 14261 14290 2 2318 + 14290 14261 14260 2 2318 + 14290 14260 2891 2 2318 + 2891 14260 2890 2 2318 + 14285 2892 14264 2 2320 + 14285 14264 14265 2 2320 + 14285 14265 2894 2 2320 + 14264 2892 2893 2 2320 + 2897 2895 14270 2 2322 + 14270 2895 14267 2 2322 + 14270 14267 14269 2 2322 + 14269 14267 14266 2 2322 + 14269 14266 14268 2 2322 + 14268 14266 2896 2 2322 + 14274 2898 2899 2 2325 + 14274 2899 2900 2 2325 + 2903 2901 14297 2 2330 + 2903 14297 14300 2 2330 + 14300 14297 14296 2 2330 + 14300 14296 14299 2 2330 + 14299 14296 14295 2 2330 + 14299 14295 14298 2 2330 + 14298 14295 14294 2 2330 + 14298 14294 2902 2 2330 + 2906 2904 14308 2 2332 + 14308 2904 14307 2 2332 + 14307 2904 14303 2 2332 + 14307 14303 14306 2 2332 + 14306 14303 14302 2 2332 + 14306 14302 14305 2 2332 + 14305 14302 14301 2 2332 + 14305 14301 14304 2 2332 + 14304 14301 2905 2 2332 + 2909 2907 14314 2 2335 + 14314 2907 2908 2 2335 + 15064 2910 14315 2 2337 + 15064 14315 15065 2 2337 + 15065 14315 2911 2 2337 + 15065 2911 2912 2 2337 + 14324 2913 2914 2 2339 + 14324 2914 2915 2 2339 + 2918 2916 14334 2 2342 + 2918 14334 2917 2 2342 + 15120 2919 2920 2 2344 + 15120 2920 14335 2 2344 + 15120 14335 15121 2 2344 + 15121 14335 14336 2 2344 + 15121 14336 15122 2 2344 + 15122 14336 14337 2 2344 + 15122 14337 15123 2 2344 + 15123 14337 14338 2 2344 + 15123 14338 2921 2 2344 + 2924 2922 14346 2 2346 + 14346 2922 18633 2 2346 + 14346 18633 14345 2 2346 + 14345 18633 14341 2 2346 + 14345 14341 14344 2 2346 + 14344 14341 14340 2 2346 + 14344 14340 14343 2 2346 + 14343 14340 14339 2 2346 + 14343 14339 2923 2 2346 + 14341 18633 14342 2 2346 + 14342 18633 2922 2 2346 + 2927 2925 14350 2 2348 + 2927 14350 14354 2 2348 + 14354 14350 14349 2 2348 + 14354 14349 14353 2 2348 + 14353 14349 14348 2 2348 + 14353 14348 14352 2 2348 + 14352 14348 14347 2 2348 + 14352 14347 14351 2 2348 + 14351 14347 2926 2 2348 + 14410 2928 18634 2 2350 + 14410 18634 14375 2 2350 + 14410 14375 2930 2 2350 + 14375 18634 14374 2 2350 + 14374 18634 18635 2 2350 + 14374 18635 14373 2 2350 + 14373 18635 18636 2 2350 + 14373 18636 14372 2 2350 + 14372 18636 14368 2 2350 + 14372 14368 14371 2 2350 + 14371 14368 14367 2 2350 + 14371 14367 2929 2 2350 + 14368 18636 14369 2 2350 + 14369 18636 18635 2 2350 + 14369 18635 14370 2 2350 + 14370 18635 2928 2 2350 + 2928 18635 18634 2 2350 + 18637 18638 18640 2 2352 + 18640 18638 18641 2 2352 + 18638 18639 18641 2 2352 + 14396 2931 14387 2 2352 + 14396 14387 18637 2 2352 + 14396 18637 14395 2 2352 + 14395 18637 18640 2 2352 + 14395 18640 14394 2 2352 + 14394 18640 18641 2 2352 + 14394 18641 2933 2 2352 + 2933 18641 14390 2 2352 + 14390 18641 14389 2 2352 + 14389 18641 18639 2 2352 + 14389 18639 14388 2 2352 + 14388 18639 14383 2 2352 + 14388 14383 2932 2 2352 + 14383 18639 14384 2 2352 + 14384 18639 18638 2 2352 + 14384 18638 14385 2 2352 + 14385 18638 18637 2 2352 + 14385 18637 14386 2 2352 + 14386 18637 14387 2 2352 + 2936 2934 14417 2 2356 + 2936 14417 2935 2 2356 + 2939 2937 14424 2 2358 + 14424 2937 2938 2 2358 + 15603 2940 14439 2 2361 + 15603 14439 14440 2 2361 + 15603 14440 2942 2 2361 + 14439 2940 2941 2 2361 + 14472 2943 14454 2 2363 + 14472 14454 18642 2 2363 + 14472 18642 14471 2 2363 + 14471 18642 18645 2 2363 + 14471 18645 18644 2 2363 + 14471 18644 14470 2 2363 + 14470 18644 14469 2 2363 + 14469 18644 14458 2 2363 + 14469 14458 2945 2 2363 + 14458 18644 14457 2 2363 + 14457 18644 18645 2 2363 + 14457 18645 14456 2 2363 + 14456 18645 18642 2 2363 + 14456 18642 18643 2 2363 + 14456 18643 14455 2 2363 + 14455 18643 14453 2 2363 + 14455 14453 2944 2 2363 + 14453 18643 14454 2 2363 + 14454 18643 18642 2 2363 + 14483 2946 14476 2 2366 + 14483 14476 14475 2 2366 + 14483 14475 14482 2 2366 + 14482 14475 14474 2 2366 + 14482 14474 14481 2 2366 + 14481 14474 18647 2 2366 + 14481 18647 14480 2 2366 + 14480 18647 18646 2 2366 + 14480 18646 14479 2 2366 + 14479 18646 14477 2 2366 + 14479 14477 2948 2 2366 + 14477 18646 2947 2 2366 + 2947 18646 18647 2 2366 + 2947 18647 14473 2 2366 + 14473 18647 14474 2 2366 + 15162 2949 14488 2 2369 + 15162 14488 18648 2 2369 + 15162 18648 2951 2 2369 + 2951 18648 14491 2 2369 + 14491 18648 14486 2 2369 + 14491 14486 14490 2 2369 + 14490 14486 14485 2 2369 + 14490 14485 14489 2 2369 + 14489 14485 14484 2 2369 + 14489 14484 2950 2 2369 + 14486 18648 14487 2 2369 + 14487 18648 14488 2 2369 + 15178 2952 18649 2 2371 + 15178 18649 14507 2 2371 + 15178 14507 2954 2 2371 + 14507 18649 18650 2 2371 + 14507 18650 14506 2 2371 + 14506 18650 18651 2 2371 + 14506 18651 14505 2 2371 + 14505 18651 14502 2 2371 + 14505 14502 2953 2 2371 + 14502 18651 14503 2 2371 + 14503 18651 18650 2 2371 + 14503 18650 14504 2 2371 + 14504 18650 18649 2 2371 + 14504 18649 2952 2 2371 + 15190 2955 14515 2 2373 + 15190 14515 14516 2 2373 + 15190 14516 2957 2 2373 + 14515 2955 14514 2 2373 + 14514 2955 14510 2 2373 + 14514 14510 14513 2 2373 + 14513 14510 14509 2 2373 + 14513 14509 14512 2 2373 + 14512 14509 14508 2 2373 + 14512 14508 14511 2 2373 + 14511 14508 2956 2 2373 + 18653 18652 18654 2 2375 + 18653 18654 18655 2 2375 + 18655 18654 18656 2 2375 + 15201 2958 14522 2 2375 + 15201 14522 18652 2 2375 + 15201 18652 15202 2 2375 + 15202 18652 18653 2 2375 + 15202 18653 2960 2 2375 + 2960 18653 14526 2 2375 + 14526 18653 18655 2 2375 + 14526 18655 14525 2 2375 + 14525 18655 18656 2 2375 + 14525 18656 14524 2 2375 + 14524 18656 18657 2 2375 + 14524 18657 14523 2 2375 + 14523 18657 14517 2 2375 + 14523 14517 2959 2 2375 + 14517 18657 14518 2 2375 + 14518 18657 18656 2 2375 + 14518 18656 14519 2 2375 + 14519 18656 14520 2 2375 + 14520 18656 18654 2 2375 + 14520 18654 14521 2 2375 + 14521 18654 18652 2 2375 + 14521 18652 14522 2 2375 + 18658 18659 18662 2 2377 + 18662 18659 18663 2 2377 + 18659 18660 18663 2 2377 + 18663 18660 18664 2 2377 + 18661 18662 18666 2 2377 + 18661 18658 18662 2 2377 + 18662 18663 18667 2 2377 + 18667 18663 18668 2 2377 + 18663 18664 18668 2 2377 + 18664 18665 18668 2 2377 + 18668 18665 18669 2 2377 + 18666 18667 18670 2 2377 + 18666 18662 18667 2 2377 + 18667 18668 18671 2 2377 + 18668 18669 18671 2 2377 + 18670 18667 18671 2 2377 + 15215 2961 18660 2 2377 + 15215 18660 18659 2 2377 + 15215 18659 15216 2 2377 + 15216 18659 18658 2 2377 + 15216 18658 15217 2 2377 + 15217 18658 18661 2 2377 + 15217 18661 15218 2 2377 + 15218 18661 14535 2 2377 + 15218 14535 2963 2 2377 + 14535 18661 18666 2 2377 + 14535 18666 14534 2 2377 + 14534 18666 18670 2 2377 + 14534 18670 14533 2 2377 + 14533 18670 18671 2 2377 + 14533 18671 14532 2 2377 + 14532 18671 18669 2 2377 + 14532 18669 14531 2 2377 + 14531 18669 14527 2 2377 + 14531 14527 2962 2 2377 + 14527 18669 18665 2 2377 + 14527 18665 14528 2 2377 + 14528 18665 14529 2 2377 + 14529 18665 18664 2 2377 + 14529 18664 18660 2 2377 + 14529 18660 14530 2 2377 + 14530 18660 2961 2 2377 + 18673 18672 18674 2 2379 + 18673 18674 18677 2 2379 + 18677 18674 18678 2 2379 + 18674 18675 18678 2 2379 + 18678 18675 18679 2 2379 + 18681 18676 18682 2 2379 + 18676 18677 18682 2 2379 + 18682 18677 18683 2 2379 + 18677 18678 18683 2 2379 + 18678 18679 18683 2 2379 + 18683 18679 18684 2 2379 + 18680 18681 18685 2 2379 + 18685 18681 18686 2 2379 + 18681 18682 18686 2 2379 + 18682 18683 18686 2 2379 + 18686 18683 18687 2 2379 + 18683 18684 18687 2 2379 + 14563 2964 18679 2 2379 + 14563 18679 18675 2 2379 + 14563 18675 14562 2 2379 + 14562 18675 18674 2 2379 + 14562 18674 14561 2 2379 + 14561 18674 18672 2 2379 + 14561 18672 2966 2 2379 + 2966 18672 14546 2 2379 + 14546 18672 18673 2 2379 + 14546 18673 14545 2 2379 + 14545 18673 14544 2 2379 + 14544 18673 18676 2 2379 + 14544 18676 14543 2 2379 + 14543 18676 18681 2 2379 + 14543 18681 14542 2 2379 + 14542 18681 18680 2 2379 + 14542 18680 14541 2 2379 + 14541 18680 14536 2 2379 + 14541 14536 2965 2 2379 + 14536 18680 18685 2 2379 + 14536 18685 14537 2 2379 + 14537 18685 18686 2 2379 + 14537 18686 14538 2 2379 + 14538 18686 18687 2 2379 + 14538 18687 14539 2 2379 + 14539 18687 18684 2 2379 + 14539 18684 14540 2 2379 + 14540 18684 18679 2 2379 + 14540 18679 2964 2 2379 + 18676 18673 18677 2 2379 + 18690 18688 18691 2 2382 + 15223 2967 14566 2 2382 + 15223 14566 15224 2 2382 + 15224 14566 18691 2 2382 + 15224 18691 15225 2 2382 + 15225 18691 18688 2 2382 + 15225 18688 15226 2 2382 + 15226 18688 14568 2 2382 + 15226 14568 2969 2 2382 + 14568 18688 14567 2 2382 + 14567 18688 18690 2 2382 + 14567 18690 18689 2 2382 + 14567 18689 2968 2 2382 + 2968 18689 14564 2 2382 + 14564 18689 18690 2 2382 + 14564 18690 14565 2 2382 + 14565 18690 18691 2 2382 + 14565 18691 14566 2 2382 + 2972 2970 14570 2 2384 + 2972 14570 14571 2 2384 + 14571 14570 14569 2 2384 + 14571 14569 2971 2 2384 + 14581 2973 14575 2 2386 + 14581 14575 18692 2 2386 + 14581 18692 14580 2 2386 + 14580 18692 14577 2 2386 + 14580 14577 2975 2 2386 + 14577 18692 14576 2 2386 + 14576 18692 2974 2 2386 + 2974 18692 14575 2 2386 + 15588 2976 14591 2 2389 + 15588 14591 14590 2 2389 + 15588 14590 2978 2 2389 + 2978 14590 2977 2 2389 + 15590 2979 2980 2 2391 + 15590 2980 2981 2 2391 + 2984 2982 14592 2 2393 + 14592 2982 2983 2 2393 + 14627 2985 14611 2 2396 + 14627 14611 14612 2 2396 + 14627 14612 2987 2 2396 + 14611 2985 2986 2 2396 + 15601 2988 18693 2 2399 + 15601 18693 14636 2 2399 + 15601 14636 14637 2 2399 + 15601 14637 15602 2 2399 + 15602 14637 2990 2 2399 + 14636 18693 14635 2 2399 + 14635 18693 14634 2 2399 + 14635 14634 2989 2 2399 + 14634 18693 2988 2 2399 + 18696 18694 18697 2 2401 + 18694 18695 18697 2 2401 + 14682 2991 14640 2 2401 + 14682 14640 18695 2 2401 + 14682 18695 18694 2 2401 + 14682 18694 14681 2 2401 + 14681 18694 14680 2 2401 + 14680 18694 18696 2 2401 + 14680 18696 14643 2 2401 + 14680 14643 2993 2 2401 + 14643 18696 14642 2 2401 + 14642 18696 18697 2 2401 + 14642 18697 18698 2 2401 + 14642 18698 14641 2 2401 + 14641 18698 2992 2 2401 + 2992 18698 14638 2 2401 + 14638 18698 14639 2 2401 + 14639 18698 18697 2 2401 + 14639 18697 18695 2 2401 + 14639 18695 14640 2 2401 + 18699 18700 18701 2 2403 + 14667 2994 14661 2 2403 + 14667 14661 18699 2 2403 + 14667 18699 14666 2 2403 + 14666 18699 18701 2 2403 + 14666 18701 2996 2 2403 + 2996 18701 14663 2 2403 + 14663 18701 18700 2 2403 + 14663 18700 14662 2 2403 + 14662 18700 14659 2 2403 + 14662 14659 2995 2 2403 + 14659 18700 14660 2 2403 + 14660 18700 18699 2 2403 + 14660 18699 14661 2 2403 + 14678 2997 14677 2 2406 + 14678 14677 14676 2 2406 + 14678 14676 2999 2 2406 + 2999 14676 2998 2 2406 + 14718 3000 14685 2 2410 + 14718 14685 14684 2 2410 + 14718 14684 14717 2 2410 + 14717 14684 18702 2 2410 + 14717 18702 14716 2 2410 + 14716 18702 3002 2 2410 + 3002 18702 3001 2 2410 + 3001 18702 14683 2 2410 + 14683 18702 14684 2 2410 + 3005 3003 14696 2 2412 + 14696 3003 3004 2 2412 + 14752 3006 18703 2 2416 + 14752 18703 14746 2 2416 + 14752 14746 3008 2 2416 + 14746 18703 14745 2 2416 + 14745 18703 18704 2 2416 + 14745 18704 14744 2 2416 + 14744 18704 18705 2 2416 + 14744 18705 14743 2 2416 + 14743 18705 14740 2 2416 + 14743 14740 14739 2 2416 + 14743 14739 14742 2 2416 + 14742 14739 3007 2 2416 + 14740 18705 14741 2 2416 + 14741 18705 18704 2 2416 + 14741 18704 3006 2 2416 + 3006 18704 18703 2 2416 + 15569 3009 14756 2 2419 + 15569 14756 15568 2 2419 + 15568 14756 3010 2 2419 + 15568 3010 3011 2 2419 + 14774 3012 18707 2 2421 + 14774 18707 18706 2 2421 + 14774 18706 14773 2 2421 + 14773 18706 14772 2 2421 + 14772 18706 14758 2 2421 + 14772 14758 14759 2 2421 + 14772 14759 14771 2 2421 + 14771 14759 14760 2 2421 + 14771 14760 3014 2 2421 + 14758 18706 14757 2 2421 + 14757 18706 18707 2 2421 + 14757 18707 3013 2 2421 + 3013 18707 3012 2 2421 + 3017 3015 14778 2 2424 + 3017 14778 14777 2 2424 + 3017 14777 14781 2 2424 + 14781 14777 14776 2 2424 + 14781 14776 14780 2 2424 + 14780 14776 14775 2 2424 + 14780 14775 14779 2 2424 + 14779 14775 3016 2 2424 + 15268 3018 18710 2 2426 + 15268 18710 18708 2 2426 + 15268 18708 3020 2 2426 + 3020 18708 14788 2 2426 + 14788 18708 14787 2 2426 + 14787 18708 18709 2 2426 + 14787 18709 14786 2 2426 + 14786 18709 14783 2 2426 + 14786 14783 14782 2 2426 + 14786 14782 14785 2 2426 + 14785 14782 3019 2 2426 + 14783 18709 14784 2 2426 + 14784 18709 18710 2 2426 + 14784 18710 3018 2 2426 + 18710 18709 18708 2 2426 + 15563 3021 14792 2 2428 + 15563 14792 14791 2 2428 + 15563 14791 15564 2 2428 + 15564 14791 14790 2 2428 + 15564 14790 15565 2 2428 + 15565 14790 14789 2 2428 + 15565 14789 15566 2 2428 + 15566 14789 3022 2 2428 + 15566 3022 15567 2 2428 + 15567 3022 3023 2 2428 + 14815 3024 3025 2 2430 + 14815 3025 3026 2 2430 + 3029 3027 14837 2 2433 + 3029 14837 3028 2 2433 + 15546 3030 14838 2 2435 + 15546 14838 14839 2 2435 + 15546 14839 15545 2 2435 + 15545 14839 14840 2 2435 + 15545 14840 15544 2 2435 + 15544 14840 14841 2 2435 + 15544 14841 15543 2 2435 + 15543 14841 14842 2 2435 + 15543 14842 3032 2 2435 + 14838 3030 3031 2 2435 + 18713 18711 18714 2 2437 + 18711 18712 18714 2 2437 + 18714 18712 18715 2 2437 + 18713 18714 18718 2 2437 + 18718 18714 18719 2 2437 + 18714 18715 18719 2 2437 + 18719 18715 18720 2 2437 + 18715 18716 18720 2 2437 + 18720 18716 18721 2 2437 + 18716 18717 18721 2 2437 + 18718 18719 18722 2 2437 + 18722 18719 18723 2 2437 + 18719 18720 18723 2 2437 + 18720 18721 18723 2 2437 + 18722 18723 18724 2 2437 + 14873 3033 14854 2 2437 + 14873 14854 18711 2 2437 + 14873 18711 14872 2 2437 + 14872 18711 18713 2 2437 + 14872 18713 14871 2 2437 + 14871 18713 18718 2 2437 + 14871 18718 14870 2 2437 + 14870 18718 18722 2 2437 + 14870 18722 14869 2 2437 + 14869 18722 18724 2 2437 + 14869 18724 14858 2 2437 + 14869 14858 3035 2 2437 + 14858 18724 14857 2 2437 + 14857 18724 18723 2 2437 + 14857 18723 14856 2 2437 + 14856 18723 18721 2 2437 + 14856 18721 14855 2 2437 + 14855 18721 18717 2 2437 + 14855 18717 3034 2 2437 + 3034 18717 14850 2 2437 + 14850 18717 18716 2 2437 + 14850 18716 14851 2 2437 + 14851 18716 18715 2 2437 + 14851 18715 14852 2 2437 + 14852 18715 18712 2 2437 + 14852 18712 14853 2 2437 + 14853 18712 14854 2 2437 + 14854 18712 18711 2 2437 + 18728 18725 18729 2 2440 + 18725 18726 18729 2 2440 + 18727 18728 18730 2 2440 + 18730 18728 18731 2 2440 + 18728 18729 18731 2 2440 + 18730 18731 18732 2 2440 + 15298 3036 14878 2 2440 + 15298 14878 18726 2 2440 + 15298 18726 18725 2 2440 + 15298 18725 15299 2 2440 + 15299 18725 15300 2 2440 + 15300 18725 18728 2 2440 + 15300 18728 18727 2 2440 + 15300 18727 3038 2 2440 + 3038 18727 14882 2 2440 + 14882 18727 14881 2 2440 + 14881 18727 18730 2 2440 + 14881 18730 14880 2 2440 + 14880 18730 18732 2 2440 + 14880 18732 14879 2 2440 + 14879 18732 14874 2 2440 + 14879 14874 3037 2 2440 + 14874 18732 14875 2 2440 + 14875 18732 18731 2 2440 + 14875 18731 14876 2 2440 + 14876 18731 18729 2 2440 + 14876 18729 14877 2 2440 + 14877 18729 18726 2 2440 + 14877 18726 14878 2 2440 + 3041 3039 14886 2 2442 + 3041 14886 14885 2 2442 + 3041 14885 14889 2 2442 + 14889 14885 14884 2 2442 + 14889 14884 14888 2 2442 + 14888 14884 14883 2 2442 + 14888 14883 14887 2 2442 + 14887 14883 3040 2 2442 + 3048 3042 18733 2 2445 + 3048 18733 16590 2 2445 + 16590 18733 18736 2 2445 + 16590 18736 18735 2 2445 + 16590 18735 16589 2 2445 + 16589 18735 18734 2 2445 + 16589 18734 16588 2 2445 + 16588 18734 16583 2 2445 + 16588 16583 16584 2 2445 + 16588 16584 16587 2 2445 + 16587 16584 16585 2 2445 + 16587 16585 16586 2 2445 + 16586 16585 3046 2 2445 + 16586 3046 3047 2 2445 + 3047 3046 3044 2 2445 + 16583 18734 16582 2 2445 + 16582 18734 18735 2 2445 + 16582 18735 18736 2 2445 + 16582 18736 3045 2 2445 + 3045 18736 3043 2 2445 + 3043 18736 18733 2 2445 + 3043 18733 3042 2 2445 + 15325 3049 3048 2 2449 + 15325 3048 16590 2 2449 + 15325 16590 15326 2 2449 + 15326 16590 15327 2 2449 + 15327 16590 16589 2 2449 + 15327 16589 15328 2 2449 + 15328 16589 16588 2 2449 + 15328 16588 15329 2 2449 + 15329 16588 16587 2 2449 + 15329 16587 3051 2 2449 + 3051 16587 16586 2 2449 + 3051 16586 14911 2 2449 + 14911 16586 3047 2 2449 + 14911 3047 3050 2 2449 + 3054 3052 14915 2 2452 + 3054 14915 3053 2 2452 + 15384 3055 3056 2 2455 + 15384 3056 14946 2 2455 + 15384 14946 18737 2 2455 + 15384 18737 15385 2 2455 + 15385 18737 14947 2 2455 + 15385 14947 15386 2 2455 + 15386 14947 14948 2 2455 + 15386 14948 15387 2 2455 + 15387 14948 14949 2 2455 + 15387 14949 3057 2 2455 + 14947 18737 14946 2 2455 + 14992 3058 14965 2 2457 + 14992 14965 18739 2 2457 + 14992 18739 3060 2 2457 + 3060 18739 14968 2 2457 + 14968 18739 18740 2 2457 + 14968 18740 14967 2 2457 + 14967 18740 18738 2 2457 + 14967 18738 14966 2 2457 + 14966 18738 14962 2 2457 + 14966 14962 3059 2 2457 + 14962 18738 14963 2 2457 + 14963 18738 18740 2 2457 + 14963 18740 14964 2 2457 + 14964 18740 18739 2 2457 + 14964 18739 14965 2 2457 + 3063 3061 14996 2 2460 + 3063 14996 3062 2 2460 + 15009 3064 3065 2 2463 + 15009 3065 3066 2 2463 + 15411 3067 15016 2 2466 + 15411 15016 15412 2 2466 + 15412 15016 3068 2 2466 + 15412 3068 3069 2 2466 + 3072 3070 15017 2 2468 + 15017 3070 3071 2 2468 + 15421 3073 15024 2 2471 + 15421 15024 18741 2 2471 + 15421 18741 15422 2 2471 + 15422 18741 15025 2 2471 + 15422 15025 15026 2 2471 + 15422 15026 15423 2 2471 + 15423 15026 3075 2 2471 + 15025 18741 15024 2 2471 + 15024 3073 3074 2 2471 + 15541 3076 15029 2 2473 + 15541 15029 15028 2 2473 + 15541 15028 15542 2 2473 + 15542 15028 15027 2 2473 + 15542 15027 3078 2 2473 + 3078 15027 3077 2 2473 + 3081 3079 15030 2 2475 + 15030 3079 3080 2 2475 + 15041 3082 3083 2 2478 + 15041 3083 15032 2 2478 + 15041 15032 15040 2 2478 + 15040 15032 3084 2 2478 + 15540 3085 15043 2 2481 + 15540 15043 18742 2 2481 + 15540 18742 15539 2 2481 + 15539 18742 15046 2 2481 + 15539 15046 3087 2 2481 + 15046 18742 15045 2 2481 + 15045 18742 15044 2 2481 + 15044 18742 15042 2 2481 + 15044 15042 3086 2 2481 + 15042 18742 15043 2 2481 + 15069 3088 15049 2 2483 + 15069 15049 15048 2 2483 + 15069 15048 18743 2 2483 + 15069 18743 15068 2 2483 + 15068 18743 15067 2 2483 + 15067 18743 15050 2 2483 + 15067 15050 15066 2 2483 + 15066 15050 15051 2 2483 + 15066 15051 3090 2 2483 + 15050 18743 15047 2 2483 + 15050 15047 3089 2 2483 + 15047 18743 15048 2 2483 + 18745 18744 18746 2 2486 + 18747 18745 18748 2 2486 + 18745 18746 18748 2 2486 + 15438 3091 15073 2 2486 + 15438 15073 18746 2 2486 + 15438 18746 15439 2 2486 + 15439 18746 18744 2 2486 + 15439 18744 3093 2 2486 + 3093 18744 15077 2 2486 + 15077 18744 18745 2 2486 + 15077 18745 15076 2 2486 + 15076 18745 18747 2 2486 + 15076 18747 15075 2 2486 + 15075 18747 15074 2 2486 + 15074 18747 15070 2 2486 + 15074 15070 3092 2 2486 + 15070 18747 15071 2 2486 + 15071 18747 18748 2 2486 + 15071 18748 15072 2 2486 + 15072 18748 15073 2 2486 + 15073 18748 18746 2 2486 + 3096 3094 15099 2 2488 + 3096 15099 15103 2 2488 + 15103 15099 15098 2 2488 + 15103 15098 15102 2 2488 + 15102 15098 15097 2 2488 + 15102 15097 15101 2 2488 + 15101 15097 15096 2 2488 + 15101 15096 15100 2 2488 + 15100 15096 3095 2 2488 + 15111 3097 15107 2 2490 + 15111 15107 15106 2 2490 + 15111 15106 15110 2 2490 + 15110 15106 15105 2 2490 + 15110 15105 15109 2 2490 + 15109 15105 15104 2 2490 + 15109 15104 15108 2 2490 + 15108 15104 3098 2 2490 + 15108 3098 3099 2 2490 + 18749 18750 18751 2 2493 + 18751 18750 18752 2 2493 + 18751 18752 18755 2 2493 + 18755 18752 18756 2 2493 + 18752 18753 18756 2 2493 + 18756 18753 18757 2 2493 + 18754 18755 18758 2 2493 + 18754 18751 18755 2 2493 + 15127 3100 15115 2 2493 + 15127 15115 18750 2 2493 + 15127 18750 18749 2 2493 + 15127 18749 15126 2 2493 + 15126 18749 18751 2 2493 + 15126 18751 18754 2 2493 + 15126 18754 15125 2 2493 + 15125 18754 15124 2 2493 + 15124 18754 18758 2 2493 + 15124 18758 15119 2 2493 + 15124 15119 3102 2 2493 + 15119 18758 15118 2 2493 + 15118 18758 18755 2 2493 + 15118 18755 15117 2 2493 + 15117 18755 18756 2 2493 + 15117 18756 18757 2 2493 + 15117 18757 15116 2 2493 + 15116 18757 3101 2 2493 + 3101 18757 15112 2 2493 + 15112 18757 18753 2 2493 + 15112 18753 15113 2 2493 + 15113 18753 15114 2 2493 + 15114 18753 18752 2 2493 + 15114 18752 18750 2 2493 + 15114 18750 15115 2 2493 + 3105 3103 15131 2 2496 + 3105 15131 15130 2 2496 + 3105 15130 15134 2 2496 + 15134 15130 15129 2 2496 + 15134 15129 15133 2 2496 + 15133 15129 15128 2 2496 + 15133 15128 15132 2 2496 + 15132 15128 3104 2 2496 + 15164 3106 15137 2 2498 + 15164 15137 15136 2 2498 + 15164 15136 15163 2 2498 + 15163 15136 18759 2 2498 + 15163 18759 3108 2 2498 + 3108 18759 3107 2 2498 + 3107 18759 15135 2 2498 + 15135 18759 15136 2 2498 + 15140 3109 3110 2 2500 + 15140 3110 3111 2 2500 + 15494 3112 15174 2 2504 + 15494 15174 18760 2 2504 + 15494 18760 15495 2 2504 + 15495 18760 15175 2 2504 + 15495 15175 3114 2 2504 + 15175 18760 15173 2 2504 + 15175 15173 3113 2 2504 + 15173 18760 15174 2 2504 + 15504 3115 18761 2 2506 + 15504 18761 16592 2 2506 + 15504 16592 16593 2 2506 + 15504 16593 15505 2 2506 + 15505 16593 16594 2 2506 + 15505 16594 15506 2 2506 + 15506 16594 3119 2 2506 + 15506 3119 15507 2 2506 + 15507 3119 3117 2 2506 + 16592 18761 16591 2 2506 + 16591 18761 3118 2 2506 + 3118 18761 15176 2 2506 + 3118 15176 3116 2 2506 + 15176 18761 3115 2 2506 + 15182 3120 3119 2 2508 + 15182 3119 15181 2 2508 + 15181 3119 16594 2 2508 + 15181 16594 15180 2 2508 + 15180 16594 16593 2 2508 + 15180 16593 15179 2 2508 + 15179 16593 16592 2 2508 + 15179 16592 16591 2 2508 + 15179 16591 3122 2 2508 + 3122 16591 15177 2 2508 + 15177 16591 3118 2 2508 + 15177 3118 3121 2 2508 + 15227 3123 3127 2 2512 + 15227 3127 15187 2 2512 + 15227 15187 3125 2 2512 + 3127 3123 16597 2 2512 + 16597 3123 18762 2 2512 + 16597 18762 16596 2 2512 + 16596 18762 15185 2 2512 + 16596 15185 16595 2 2512 + 16595 15185 15184 2 2512 + 16595 15184 3126 2 2512 + 3126 15184 15183 2 2512 + 3126 15183 3124 2 2512 + 15185 18762 15186 2 2512 + 15186 18762 3123 2 2512 + 15194 3128 15188 2 2514 + 15194 15188 3127 2 2514 + 15194 3127 15193 2 2514 + 15193 3127 16597 2 2514 + 15193 16597 18763 2 2514 + 15193 18763 15192 2 2514 + 15192 18763 15191 2 2514 + 15191 18763 16596 2 2514 + 15191 16596 18764 2 2514 + 15191 18764 3130 2 2514 + 3130 18764 15189 2 2514 + 15189 18764 3126 2 2514 + 15189 3126 3129 2 2514 + 3126 18764 16595 2 2514 + 16595 18764 16596 2 2514 + 16596 18763 16597 2 2514 + 18765 18766 18767 2 2518 + 18767 18766 18768 2 2518 + 18767 18768 18769 2 2518 + 15203 3131 15198 2 2518 + 15203 15198 18765 2 2518 + 15203 18765 15204 2 2518 + 15204 18765 3135 2 2518 + 3135 18765 18767 2 2518 + 3135 18767 3134 2 2518 + 3134 18767 15208 2 2518 + 15208 18767 18769 2 2518 + 15208 18769 15207 2 2518 + 15207 18769 15200 2 2518 + 15207 15200 3133 2 2518 + 15200 18769 15199 2 2518 + 15199 18769 3132 2 2518 + 3132 18769 18768 2 2518 + 3132 18768 15195 2 2518 + 15195 18768 15196 2 2518 + 15196 18768 18766 2 2518 + 15196 18766 15197 2 2518 + 15197 18766 18765 2 2518 + 15197 18765 15198 2 2518 + 18770 18771 18773 2 2521 + 18773 18771 18774 2 2521 + 18773 18774 18777 2 2521 + 18777 18774 18778 2 2521 + 18774 18772 18778 2 2521 + 18778 18772 18775 2 2521 + 18775 18772 18776 2 2521 + 18775 18776 18780 2 2521 + 18777 18778 18781 2 2521 + 18781 18778 18782 2 2521 + 18778 18775 18782 2 2521 + 18782 18775 18779 2 2521 + 18779 18775 18780 2 2521 + 18779 18780 18783 2 2521 + 18783 18780 18784 2 2521 + 18785 18781 18786 2 2521 + 18781 18782 18786 2 2521 + 18782 18783 18786 2 2521 + 18782 18779 18783 2 2521 + 15222 3136 18770 2 2521 + 15222 18770 18773 2 2521 + 15222 18773 15221 2 2521 + 15221 18773 18777 2 2521 + 15221 18777 15220 2 2521 + 15220 18777 18781 2 2521 + 15220 18781 15219 2 2521 + 15219 18781 18785 2 2521 + 15219 18785 3138 2 2521 + 3138 18785 15214 2 2521 + 15214 18785 18786 2 2521 + 15214 18786 15213 2 2521 + 15213 18786 18783 2 2521 + 15213 18783 15212 2 2521 + 15212 18783 18784 2 2521 + 15212 18784 15211 2 2521 + 15211 18784 15209 2 2521 + 15211 15209 3137 2 2521 + 15209 18784 18780 2 2521 + 15209 18780 15210 2 2521 + 15210 18780 18776 2 2521 + 15210 18776 3134 2 2521 + 3134 18776 18772 2 2521 + 3134 18772 3135 2 2521 + 3135 18772 15206 2 2521 + 15206 18772 18774 2 2521 + 15206 18774 18771 2 2521 + 15206 18771 15205 2 2521 + 15205 18771 18770 2 2521 + 15205 18770 3136 2 2521 + 15230 3139 15228 2 2526 + 15230 15228 15229 2 2526 + 15229 15228 3140 2 2526 + 15229 3140 3141 2 2526 + 3144 3142 15252 2 2529 + 3144 15252 15253 2 2529 + 15253 15252 15251 2 2529 + 15253 15251 3143 2 2529 + 3147 3145 15263 2 2531 + 15263 3145 15262 2 2531 + 15262 3145 15260 2 2531 + 15262 15260 15261 2 2531 + 15261 15260 3146 2 2531 + 15267 3148 15266 2 2533 + 15267 15266 15265 2 2533 + 15267 15265 3150 2 2533 + 3150 15265 15264 2 2533 + 3150 15264 3149 2 2533 + 3153 3151 15275 2 2537 + 15275 3151 3152 2 2537 + 15303 3154 18787 2 2539 + 15303 18787 18788 2 2539 + 15303 18788 15302 2 2539 + 15302 18788 15301 2 2539 + 15301 18788 15282 2 2539 + 15301 15282 3156 2 2539 + 15282 18788 15281 2 2539 + 15281 18788 15280 2 2539 + 15280 18788 18787 2 2539 + 15280 18787 15279 2 2539 + 15280 15279 3155 2 2539 + 15279 18787 3154 2 2539 + 15526 3157 15306 2 2542 + 15526 15306 15527 2 2542 + 15527 15306 15305 2 2542 + 15527 15305 18789 2 2542 + 15527 18789 15528 2 2542 + 15528 18789 3159 2 2542 + 3159 18789 3158 2 2542 + 3158 18789 15304 2 2542 + 15304 18789 15305 2 2542 + 15334 3160 15313 2 2544 + 15334 15313 15314 2 2544 + 15334 15314 15333 2 2544 + 15333 15314 18790 2 2544 + 15333 18790 15332 2 2544 + 15332 18790 15316 2 2544 + 15332 15316 15331 2 2544 + 15331 15316 15317 2 2544 + 15331 15317 15330 2 2544 + 15330 15317 3162 2 2544 + 15316 18790 15315 2 2544 + 15315 18790 15314 2 2544 + 15313 3160 3161 2 2544 + 18791 18792 18795 2 2547 + 18795 18792 18796 2 2547 + 18793 18794 18797 2 2547 + 18794 18795 18797 2 2547 + 18794 18791 18795 2 2547 + 18795 18796 18798 2 2547 + 18798 18796 18799 2 2547 + 18797 18795 18798 2 2547 + 15533 3163 15339 2 2547 + 15533 15339 18793 2 2547 + 15533 18793 15534 2 2547 + 15534 18793 18797 2 2547 + 15534 18797 15535 2 2547 + 15535 18797 18798 2 2547 + 15535 18798 15536 2 2547 + 15536 18798 18799 2 2547 + 15536 18799 3165 2 2547 + 3165 18799 15342 2 2547 + 15342 18799 18796 2 2547 + 15342 18796 15341 2 2547 + 15341 18796 18792 2 2547 + 15341 18792 15340 2 2547 + 15340 18792 15335 2 2547 + 15340 15335 3164 2 2547 + 15335 18792 15336 2 2547 + 15336 18792 18791 2 2547 + 15336 18791 15337 2 2547 + 15337 18791 18794 2 2547 + 15337 18794 15338 2 2547 + 15338 18794 18793 2 2547 + 15338 18793 15339 2 2547 + 15443 3166 18802 2 2549 + 15443 18802 15442 2 2549 + 15442 18802 15350 2 2549 + 15442 15350 15351 2 2549 + 15442 15351 3168 2 2549 + 15350 18802 15349 2 2549 + 15349 18802 18801 2 2549 + 15349 18801 15348 2 2549 + 15348 18801 18800 2 2549 + 15348 18800 15347 2 2549 + 15347 18800 15343 2 2549 + 15347 15343 15346 2 2549 + 15346 15343 3167 2 2549 + 15343 18800 15344 2 2549 + 15344 18800 15345 2 2549 + 15345 18800 18801 2 2549 + 15345 18801 3166 2 2549 + 3166 18801 18802 2 2549 + 15441 3169 15365 2 2551 + 15441 15365 15364 2 2551 + 15441 15364 18804 2 2551 + 15441 18804 3171 2 2551 + 3171 18804 15369 2 2551 + 15369 18804 15368 2 2551 + 15368 18804 15362 2 2551 + 15368 15362 18803 2 2551 + 15368 18803 15367 2 2551 + 15367 18803 15361 2 2551 + 15367 15361 15366 2 2551 + 15366 15361 15360 2 2551 + 15366 15360 3170 2 2551 + 15361 18803 15362 2 2551 + 15362 18804 15363 2 2551 + 15363 18804 15364 2 2551 + 18805 18806 18810 2 2553 + 18810 18806 18811 2 2553 + 18806 18807 18811 2 2553 + 18811 18807 18812 2 2553 + 18807 18808 18812 2 2553 + 18809 18810 18814 2 2553 + 18809 18805 18810 2 2553 + 18810 18811 18815 2 2553 + 18815 18811 18816 2 2553 + 18811 18812 18816 2 2553 + 18816 18812 18817 2 2553 + 18818 18813 18819 2 2553 + 18813 18814 18819 2 2553 + 18814 18815 18819 2 2553 + 18814 18810 18815 2 2553 + 18815 18816 18820 2 2553 + 18820 18816 18821 2 2553 + 18816 18817 18821 2 2553 + 18818 18819 18822 2 2553 + 18819 18820 18822 2 2553 + 18819 18815 18820 2 2553 + 15388 3172 15373 2 2553 + 15388 15373 18822 2 2553 + 15388 18822 3176 2 2553 + 3176 18822 18820 2 2553 + 3176 18820 18821 2 2553 + 3176 18821 16598 2 2553 + 16598 18821 18817 2 2553 + 16598 18817 3175 2 2553 + 3175 18817 18812 2 2553 + 3175 18812 15390 2 2553 + 15390 18812 18808 2 2553 + 15390 18808 3174 2 2553 + 3174 18808 15377 2 2553 + 15377 18808 18807 2 2553 + 15377 18807 15376 2 2553 + 15376 18807 18806 2 2553 + 15376 18806 15375 2 2553 + 15375 18806 18805 2 2553 + 15375 18805 15374 2 2553 + 15374 18805 18809 2 2553 + 15374 18809 3173 2 2553 + 3173 18809 15370 2 2553 + 15370 18809 18814 2 2553 + 15370 18814 18813 2 2553 + 15370 18813 15371 2 2553 + 15371 18813 15372 2 2553 + 15372 18813 18818 2 2553 + 15372 18818 15373 2 2553 + 15373 18818 18822 2 2553 + 3179 3177 15389 2 2556 + 3179 15389 15396 2 2556 + 15396 15389 3176 2 2556 + 15396 3176 15395 2 2556 + 15395 3176 16598 2 2556 + 15395 16598 15394 2 2556 + 15394 16598 3175 2 2556 + 15394 3175 15393 2 2556 + 15393 3175 15391 2 2556 + 15393 15391 15392 2 2556 + 15392 15391 3178 2 2556 + 15415 3180 15408 2 2559 + 15415 15408 18824 2 2559 + 15415 18824 15414 2 2559 + 15414 18824 18825 2 2559 + 15414 18825 15413 2 2559 + 15413 18825 18823 2 2559 + 15413 18823 3182 2 2559 + 3182 18823 15410 2 2559 + 15410 18823 15409 2 2559 + 15409 18823 15404 2 2559 + 15409 15404 3181 2 2559 + 15404 18823 15405 2 2559 + 15405 18823 15406 2 2559 + 15406 18823 18825 2 2559 + 15406 18825 15407 2 2559 + 15407 18825 18824 2 2559 + 15407 18824 15408 2 2559 + 15440 3183 15424 2 2563 + 15440 15424 15425 2 2563 + 15440 15425 3185 2 2563 + 15424 3183 3184 2 2563 + 18826 18827 18830 2 2567 + 18830 18827 18831 2 2567 + 18827 18828 18831 2 2567 + 18828 18829 18831 2 2567 + 15532 3186 18830 2 2567 + 15532 18830 18831 2 2567 + 15532 18831 15531 2 2567 + 15531 18831 18829 2 2567 + 15531 18829 15530 2 2567 + 15530 18829 15529 2 2567 + 15529 18829 15450 2 2567 + 15529 15450 3188 2 2567 + 15450 18829 15449 2 2567 + 15449 18829 18828 2 2567 + 15449 18828 15448 2 2567 + 15448 18828 18827 2 2567 + 15448 18827 15447 2 2567 + 15447 18827 18826 2 2567 + 15447 18826 15446 2 2567 + 15446 18826 15444 2 2567 + 15446 15444 3187 2 2567 + 15444 18826 15445 2 2567 + 15445 18826 18830 2 2567 + 15445 18830 3186 2 2567 + 15487 3189 15469 2 2569 + 15487 15469 18832 2 2569 + 15487 18832 15486 2 2569 + 15486 18832 15485 2 2569 + 15485 18832 18833 2 2569 + 15485 18833 15484 2 2569 + 15484 18833 18834 2 2569 + 15484 18834 18835 2 2569 + 15484 18835 3191 2 2569 + 3191 18835 15470 2 2569 + 15470 18835 15465 2 2569 + 15470 15465 3190 2 2569 + 15465 18835 15466 2 2569 + 15466 18835 18834 2 2569 + 15466 18834 15467 2 2569 + 15467 18834 18833 2 2569 + 15467 18833 15468 2 2569 + 15468 18833 18832 2 2569 + 15468 18832 15469 2 2569 + 3194 3192 15483 2 2571 + 3194 15483 3193 2 2571 + 15497 3195 15491 2 2575 + 15497 15491 15490 2 2575 + 15497 15490 15496 2 2575 + 15496 15490 18836 2 2575 + 15496 18836 3197 2 2575 + 3197 18836 15493 2 2575 + 15493 18836 18837 2 2575 + 15493 18837 15492 2 2575 + 15492 18837 15488 2 2575 + 15492 15488 3196 2 2575 + 15488 18837 15489 2 2575 + 15489 18837 18836 2 2575 + 15489 18836 15490 2 2575 + 18839 18838 18840 2 2578 + 15510 3198 18838 2 2578 + 15510 18838 18839 2 2578 + 15510 18839 15509 2 2578 + 15509 18839 15503 2 2578 + 15509 15503 15508 2 2578 + 15508 15503 3200 2 2578 + 15503 18839 15502 2 2578 + 15502 18839 15501 2 2578 + 15501 18839 18840 2 2578 + 15501 18840 15500 2 2578 + 15500 18840 15498 2 2578 + 15500 15498 3199 2 2578 + 15498 18840 15499 2 2578 + 15499 18840 18838 2 2578 + 15499 18838 3198 2 2578 + 3203 3201 15555 2 2585 + 15555 3201 15554 2 2585 + 15554 3201 15550 2 2585 + 15554 15550 15553 2 2585 + 15553 15550 15549 2 2585 + 15553 15549 15552 2 2585 + 15552 15549 15548 2 2585 + 15552 15548 15551 2 2585 + 15551 15548 15547 2 2585 + 15551 15547 3202 2 2585 + 3206 3204 15583 2 2589 + 3206 15583 15584 2 2589 + 15584 15583 15582 2 2589 + 15584 15582 3205 2 2589 + 15592 3207 3208 2 2592 + 15592 3208 15589 2 2592 + 15592 15589 15591 2 2592 + 15591 15589 3209 2 2592 + 3212 3210 15604 2 2596 + 3212 15604 3211 2 2596 + 15649 3213 3214 2 2605 + 15649 3214 15635 2 2605 + 15649 15635 15648 2 2605 + 15648 15635 15636 2 2605 + 15648 15636 15647 2 2605 + 15647 15636 15637 2 2605 + 15647 15637 15646 2 2605 + 15646 15637 15638 2 2605 + 15646 15638 15645 2 2605 + 15645 15638 15639 2 2605 + 15645 15639 3215 2 2605 + 15672 2641 16576 2 2612 + 15672 16576 3220 2 2612 + 3220 16576 16575 2 2612 + 3220 16575 15665 2 2612 + 15665 16575 16574 2 2612 + 15665 16574 15664 2 2612 + 15664 16574 16573 2 2612 + 15664 16573 15663 2 2612 + 15663 16573 16572 2 2612 + 15663 16572 15662 2 2612 + 15662 16572 16571 2 2612 + 15662 16571 3219 2 2612 + 3219 16571 16570 2 2612 + 3219 16570 3216 2 2612 + 15693 3221 15682 2 2621 + 15693 15682 18841 2 2621 + 15693 18841 15692 2 2621 + 15692 18841 15684 2 2621 + 15692 15684 15691 2 2621 + 15691 15684 15685 2 2621 + 15691 15685 15690 2 2621 + 15690 15685 3223 2 2621 + 15684 18841 15683 2 2621 + 15683 18841 15682 2 2621 + 15682 3221 3222 2 2621 + 15755 3226 15709 2 2628 + 15755 15709 18842 2 2628 + 15755 18842 18843 2 2628 + 15755 18843 15754 2 2628 + 15754 18843 18844 2 2628 + 15754 18844 15753 2 2628 + 15753 18844 15712 2 2628 + 15753 15712 3228 2 2628 + 15712 18844 15711 2 2628 + 15711 18844 18843 2 2628 + 15711 18843 15710 2 2628 + 15710 18843 18842 2 2628 + 15710 18842 15708 2 2628 + 15710 15708 3227 2 2628 + 15708 18842 15709 2 2628 + 3231 3229 15715 2 2630 + 3231 15715 15714 2 2630 + 3231 15714 15717 2 2630 + 15717 15714 15713 2 2630 + 15717 15713 15716 2 2630 + 15716 15713 3230 2 2630 + 3234 3232 18845 2 2632 + 3234 18845 15721 2 2632 + 15721 18845 15719 2 2632 + 15721 15719 15718 2 2632 + 15721 15718 15720 2 2632 + 15720 15718 3233 2 2632 + 15719 18845 3232 2 2632 + 15728 3235 15727 2 2634 + 15728 15727 15726 2 2634 + 15728 15726 3237 2 2634 + 3237 15726 3236 2 2634 + 3240 3238 15733 2 2638 + 15733 3238 3239 2 2638 + 3243 3241 15763 2 2642 + 3243 15763 15766 2 2642 + 15766 15763 15762 2 2642 + 15766 15762 15765 2 2642 + 15765 15762 15761 2 2642 + 15765 15761 15764 2 2642 + 15764 15761 3242 2 2642 + 15810 3246 15790 2 2649 + 15810 15790 18847 2 2649 + 15810 18847 18848 2 2649 + 15810 18848 15809 2 2649 + 15809 18848 15794 2 2649 + 15809 15794 3248 2 2649 + 15794 18848 15793 2 2649 + 15793 18848 18847 2 2649 + 15793 18847 15792 2 2649 + 15792 18847 18846 2 2649 + 15792 18846 15791 2 2649 + 15791 18846 15788 2 2649 + 15791 15788 3247 2 2649 + 15788 18846 15789 2 2649 + 15789 18846 18847 2 2649 + 15789 18847 15790 2 2649 + 15807 3249 15798 2 2651 + 15807 15798 18850 2 2651 + 15807 18850 15802 2 2651 + 15807 15802 3251 2 2651 + 15802 18850 15801 2 2651 + 15801 18850 18849 2 2651 + 15801 18849 15800 2 2651 + 15800 18849 15796 2 2651 + 15800 15796 15795 2 2651 + 15800 15795 15799 2 2651 + 15799 15795 3250 2 2651 + 15796 18849 15797 2 2651 + 15797 18849 18850 2 2651 + 15797 18850 15798 2 2651 + 18852 18853 18854 2 2658 + 15927 3252 15828 2 2658 + 15927 15828 18854 2 2658 + 15927 18854 18853 2 2658 + 15927 18853 15928 2 2658 + 15928 18853 15832 2 2658 + 15928 15832 3254 2 2658 + 15832 18853 15831 2 2658 + 15831 18853 18852 2 2658 + 15831 18852 15830 2 2658 + 15830 18852 18851 2 2658 + 15830 18851 15829 2 2658 + 15829 18851 15825 2 2658 + 15829 15825 3253 2 2658 + 15825 18851 15826 2 2658 + 15826 18851 15827 2 2658 + 15827 18851 18852 2 2658 + 15827 18852 18854 2 2658 + 15827 18854 15828 2 2658 + 3257 3255 15864 2 2660 + 15864 3255 15860 2 2660 + 15864 15860 15863 2 2660 + 15863 15860 15859 2 2660 + 15863 15859 15862 2 2660 + 15862 15859 15858 2 2660 + 15862 15858 15861 2 2660 + 15861 15858 15857 2 2660 + 15861 15857 3256 2 2660 + 15892 3258 3259 2 2663 + 15892 3259 15883 2 2663 + 15892 15883 15891 2 2663 + 15891 15883 3260 2 2663 + 15914 3261 15898 2 2666 + 15914 15898 15897 2 2666 + 15914 15897 15913 2 2666 + 15913 15897 3262 2 2666 + 15913 3262 3263 2 2666 + 3266 3264 15950 2 2672 + 3266 15950 15949 2 2672 + 3266 15949 15954 2 2672 + 15954 15949 15948 2 2672 + 15954 15948 15953 2 2672 + 15953 15948 15947 2 2672 + 15953 15947 15952 2 2672 + 15952 15947 15946 2 2672 + 15952 15946 15951 2 2672 + 15951 15946 3265 2 2672 + 3269 3267 15985 2 2675 + 15985 3267 3268 2 2675 + 16374 3270 16030 2 2679 + 16374 16030 16029 2 2679 + 16374 16029 3272 2 2679 + 3272 16029 16028 2 2679 + 3272 16028 16032 2 2679 + 16032 16028 16027 2 2679 + 16032 16027 16031 2 2679 + 16031 16027 3271 2 2679 + 3275 3273 16045 2 2681 + 16045 3273 16044 2 2681 + 16044 3273 16042 2 2681 + 16044 16042 16043 2 2681 + 16043 16042 16041 2 2681 + 16043 16041 3274 2 2681 + 16370 3276 16056 2 2684 + 16370 16056 16057 2 2684 + 16370 16057 3278 2 2684 + 16056 3276 3277 2 2684 + 18857 18855 18858 2 2686 + 18855 18856 18858 2 2686 + 16241 3279 18855 2 2686 + 16241 18855 16242 2 2686 + 16242 18855 18857 2 2686 + 16242 18857 16243 2 2686 + 16243 18857 16063 2 2686 + 16243 16063 3281 2 2686 + 16063 18857 16062 2 2686 + 16062 18857 18858 2 2686 + 16062 18858 16061 2 2686 + 16061 18858 18856 2 2686 + 16061 18856 16060 2 2686 + 16060 18856 16058 2 2686 + 16060 16058 3280 2 2686 + 16058 18856 16059 2 2686 + 16059 18856 18855 2 2686 + 16059 18855 3279 2 2686 + 16352 3282 16067 2 2688 + 16352 16067 16066 2 2688 + 16352 16066 16353 2 2688 + 16353 16066 18859 2 2688 + 16353 18859 3284 2 2688 + 3284 18859 16069 2 2688 + 16069 18859 16068 2 2688 + 16068 18859 16065 2 2688 + 16068 16065 16064 2 2688 + 16068 16064 3283 2 2688 + 16065 18859 16066 2 2688 + 3287 3285 16075 2 2690 + 3287 16075 16076 2 2690 + 16076 16075 16074 2 2690 + 16076 16074 3286 2 2690 + 16102 3288 3289 2 2693 + 16102 3289 3290 2 2693 + 3293 3291 16108 2 2696 + 16108 3291 16106 2 2696 + 16108 16106 16107 2 2696 + 16107 16106 3292 2 2696 + 16368 3294 3295 2 2699 + 16368 3295 16369 2 2699 + 16369 3295 16129 2 2699 + 16369 16129 3296 2 2699 + 16307 3297 16156 2 2701 + 16307 16156 3299 2 2701 + 16156 3297 16155 2 2701 + 16155 3297 16154 2 2701 + 16155 16154 3298 2 2701 + 18862 18860 18861 2 2703 + 16174 3300 18861 2 2703 + 16174 18861 18860 2 2703 + 16174 18860 16173 2 2703 + 16173 18860 16172 2 2703 + 16172 18860 16163 2 2703 + 16172 16163 16164 2 2703 + 16172 16164 16171 2 2703 + 16171 16164 3302 2 2703 + 16163 18860 16162 2 2703 + 16162 18860 16161 2 2703 + 16161 18860 18862 2 2703 + 16161 18862 16160 2 2703 + 16160 18862 16159 2 2703 + 16159 18862 16157 2 2703 + 16159 16157 3301 2 2703 + 16157 18862 16158 2 2703 + 16158 18862 18861 2 2703 + 16158 18861 3300 2 2703 + 16282 3303 16184 2 2706 + 16282 16184 16183 2 2706 + 16282 16183 16283 2 2706 + 16283 16183 16182 2 2706 + 16283 16182 16284 2 2706 + 16284 16182 16181 2 2706 + 16284 16181 3305 2 2706 + 3305 16181 3304 2 2706 + 3308 3306 16199 2 2708 + 16199 3306 3307 2 2708 + 16208 3309 16206 2 2710 + 16208 16206 16207 2 2710 + 16207 16206 3310 2 2710 + 16207 3310 3311 2 2710 + 3314 3312 16230 2 2713 + 3314 16230 16231 2 2713 + 16231 16230 16229 2 2713 + 16231 16229 3313 2 2713 + 16246 3315 18863 2 2715 + 16246 18863 16245 2 2715 + 16245 18863 18864 2 2715 + 16245 18864 16244 2 2715 + 16244 18864 16235 2 2715 + 16244 16235 3317 2 2715 + 16235 18864 16234 2 2715 + 16234 18864 18863 2 2715 + 16234 18863 16233 2 2715 + 16233 18863 16232 2 2715 + 16233 16232 3316 2 2715 + 16232 18863 3315 2 2715 + 16355 3318 16341 2 2720 + 16355 16341 16342 2 2720 + 16355 16342 16343 2 2720 + 16355 16343 16354 2 2720 + 16354 16343 3320 2 2720 + 16342 16341 3319 2 2720 + 16405 3321 16400 2 2731 + 16405 16400 16404 2 2731 + 16404 16400 16399 2 2731 + 16404 16399 16401 2 2731 + 16404 16401 16403 2 2731 + 16403 16401 3323 2 2731 + 16401 16399 3322 2 2731 + 18866 18867 18868 2 2735 + 18868 18867 18869 2 2735 + 18868 18869 18870 2 2735 + 16433 3324 16418 2 2735 + 16433 16418 18871 2 2735 + 16433 18871 16432 2 2735 + 16432 18871 18870 2 2735 + 16432 18870 16431 2 2735 + 16431 18870 18869 2 2735 + 16431 18869 16430 2 2735 + 16430 18869 18867 2 2735 + 16430 18867 16429 2 2735 + 16429 18867 3326 2 2735 + 3326 18867 18866 2 2735 + 3326 18866 16420 2 2735 + 16420 18866 18865 2 2735 + 16420 18865 16419 2 2735 + 16419 18865 3325 2 2735 + 3325 18865 16414 2 2735 + 16414 18865 18866 2 2735 + 16414 18866 16415 2 2735 + 16415 18866 18868 2 2735 + 16415 18868 16416 2 2735 + 16416 18868 18870 2 2735 + 16416 18870 16417 2 2735 + 16417 18870 18871 2 2735 + 16417 18871 16418 2 2735 + 16427 3327 18872 2 2737 + 16427 18872 16424 2 2737 + 16427 16424 3329 2 2737 + 16424 18872 16423 2 2737 + 16423 18872 16421 2 2737 + 16423 16421 3328 2 2737 + 16421 18872 16422 2 2737 + 16422 18872 3327 2 2737 + 18874 18873 18875 2 2741 + 18874 18875 18876 2 2741 + 18876 18875 18877 2 2741 + 18878 18876 18879 2 2741 + 18876 18877 18879 2 2741 + 18879 18877 18880 2 2741 + 16450 3330 18878 2 2741 + 16450 18878 18879 2 2741 + 16450 18879 16449 2 2741 + 16449 18879 18880 2 2741 + 16449 18880 16443 2 2741 + 16449 16443 3332 2 2741 + 16443 18880 16442 2 2741 + 16442 18880 18877 2 2741 + 16442 18877 16441 2 2741 + 16441 18877 18875 2 2741 + 16441 18875 16440 2 2741 + 16440 18875 18873 2 2741 + 16440 18873 16439 2 2741 + 16439 18873 16434 2 2741 + 16439 16434 3331 2 2741 + 16434 18873 16435 2 2741 + 16435 18873 18874 2 2741 + 16435 18874 16436 2 2741 + 16436 18874 18876 2 2741 + 16436 18876 16437 2 2741 + 16437 18876 18878 2 2741 + 16437 18878 16438 2 2741 + 16438 18878 3330 2 2741 + 16546 2192 2186 2 3288 + 16546 2186 2187 2 3288 + 16546 2187 2189 2 3288 + 2194 2190 2191 2 3289 + 16563 3217 2352 2 3290 + 16563 2352 2355 2 3290 + 2355 2352 2353 2 3290 + 2357 2356 3216 2 3291 + 16576 2641 13283 2 3292 + 16576 13283 2637 2 3292 + 16576 2637 16575 2 3292 + 16575 2637 13280 2 3292 + 16575 13280 16574 2 3292 + 16574 13280 13279 2 3292 + 16574 13279 16573 2 3292 + 16573 13279 13278 2 3292 + 16573 13278 16572 2 3292 + 16572 13278 13277 2 3292 + 16572 13277 16571 2 3292 + 16571 13277 2638 2 3292 + 16571 2638 16570 2 3292 + 16570 2638 3216 2 3292 + 3218 3217 16578 2 3293 + 3218 16578 16577 2 3293 + 3218 16577 15670 2 3293 + 15670 16577 2640 2 3293 + 18882 18881 18885 1 2748 + 18882 18885 18886 1 2748 + 18883 18882 18886 1 2748 + 18883 18886 18887 1 2748 + 18886 18885 18890 1 2748 + 18886 18890 18891 1 2748 + 18887 18886 18891 1 2748 + 18887 18891 18892 1 2748 + 18888 18893 18894 1 2748 + 18889 18895 18896 1 2748 + 18890 18889 18896 1 2748 + 18890 18896 18897 1 2748 + 18891 18890 18897 1 2748 + 18892 18891 18897 1 2748 + 18892 18897 18898 1 2748 + 18893 18900 18901 1 2748 + 18894 18893 18901 1 2748 + 18896 18895 18903 1 2748 + 18896 18903 18904 1 2748 + 18897 18896 18904 1 2748 + 18898 18897 18904 1 2748 + 18899 18898 18904 1 2748 + 18900 18899 18905 1 2748 + 18901 18900 18905 1 2748 + 18902 18901 18905 1 2748 + 18903 18902 18905 1 2748 + 18904 18903 18905 1 2748 + 18899 18904 18905 1 2748 + 18898 18899 3343 1 2748 + 18898 3343 3341 1 2748 + 18898 3341 18892 1 2748 + 18892 3341 3339 1 2748 + 18892 3339 18887 1 2748 + 18887 3339 3337 1 2748 + 18887 3337 18883 1 2748 + 18883 3337 17 1 2748 + 18883 17 3400 1 2748 + 18883 3400 18882 1 2748 + 18882 3400 18881 1 2748 + 18881 3400 14 1 2748 + 18881 14 3384 1 2748 + 18881 3384 18885 1 2748 + 18885 3384 18889 1 2748 + 18885 18889 18890 1 2748 + 18889 3384 11 1 2748 + 18889 11 3373 1 2748 + 18889 3373 18895 1 2748 + 18895 3373 3369 1 2748 + 18895 3369 18902 1 2748 + 18895 18902 18903 1 2748 + 18902 3369 3365 1 2748 + 18902 3365 18894 1 2748 + 18902 18894 18901 1 2748 + 18894 3365 3361 1 2748 + 18894 3361 18888 1 2748 + 18888 3361 3357 1 2748 + 18888 3357 18884 1 2748 + 18888 18884 3351 1 2748 + 18888 3351 3349 1 2748 + 18888 3349 18893 1 2748 + 18893 3349 3347 1 2748 + 18893 3347 18900 1 2748 + 18900 3347 3345 1 2748 + 18900 3345 18899 1 2748 + 18899 3345 3343 1 2748 + 3351 18884 3353 1 2748 + 3353 18884 8 1 2748 + 3353 8 5 1 2748 + 8 18884 3357 1 2748 + 17 3337 1 1 2748 + 18906 18909 18910 1 2749 + 18907 18906 18910 1 2749 + 18907 18910 18911 1 2749 + 18909 18908 18917 1 2749 + 18909 18917 18918 1 2749 + 18910 18909 18918 1 2749 + 18910 18918 18919 1 2749 + 18911 18910 18919 1 2749 + 18911 18919 18920 1 2749 + 18912 18911 18920 1 2749 + 18912 18920 18921 1 2749 + 18913 18912 18921 1 2749 + 18913 18921 18922 1 2749 + 18915 18914 18923 1 2749 + 18915 18923 18924 1 2749 + 18916 18915 18924 1 2749 + 18917 18916 18924 1 2749 + 18908 18916 18917 1 2749 + 18918 18917 18925 1 2749 + 18918 18925 18926 1 2749 + 18919 18918 18926 1 2749 + 18919 18926 18927 1 2749 + 18920 18919 18927 1 2749 + 18920 18927 18928 1 2749 + 18921 18920 18928 1 2749 + 18921 18928 18929 1 2749 + 18922 18921 18929 1 2749 + 18923 18930 18931 1 2749 + 18924 18923 18931 1 2749 + 18925 18924 18931 1 2749 + 18917 18924 18925 1 2749 + 18926 18925 18932 1 2749 + 18926 18932 18933 1 2749 + 18927 18926 18933 1 2749 + 18927 18933 18934 1 2749 + 18928 18927 18934 1 2749 + 18928 18934 18935 1 2749 + 18929 18928 18935 1 2749 + 18931 18930 18936 1 2749 + 18932 18931 18936 1 2749 + 18925 18931 18932 1 2749 + 18933 18932 18937 1 2749 + 18933 18937 18938 1 2749 + 18934 18933 18938 1 2749 + 18935 18934 18938 1 2749 + 18932 18936 18937 1 2749 + 18937 18936 3344 1 2749 + 18937 3344 3346 1 2749 + 18937 3346 18938 1 2749 + 18938 3346 3348 1 2749 + 18938 3348 18935 1 2749 + 18935 3348 3350 1 2749 + 18935 3350 3352 1 2749 + 18935 3352 18929 1 2749 + 18929 3352 3354 1 2749 + 18929 3354 18922 1 2749 + 18922 3354 4 1 2749 + 18922 4 41 1 2749 + 18922 41 3503 1 2749 + 18922 3503 18913 1 2749 + 18913 3503 3498 1 2749 + 18913 3498 18912 1 2749 + 18912 3498 3493 1 2749 + 18912 3493 18911 1 2749 + 18911 3493 18907 1 2749 + 18907 3493 38 1 2749 + 18907 38 18906 1 2749 + 18906 38 3480 1 2749 + 18906 3480 18908 1 2749 + 18906 18908 18909 1 2749 + 18908 3480 3474 1 2749 + 18908 3474 18916 1 2749 + 18916 3474 36 1 2749 + 18916 36 18915 1 2749 + 18915 36 18914 1 2749 + 18914 36 2 1 2749 + 18914 2 3338 1 2749 + 18914 3338 18923 1 2749 + 18923 3338 3340 1 2749 + 18923 3340 18930 1 2749 + 18930 3340 3342 1 2749 + 18930 3342 18936 1 2749 + 18936 3342 3344 1 2749 + 7 50 18939 1 2750 + 7 18939 6 1 2750 + 6 18939 42 1 2750 + 42 18939 44 1 2750 + 44 18939 47 1 2750 + 47 18939 50 1 2750 + 18941 18945 18946 1 2751 + 18943 18942 18948 1 2751 + 18943 18948 18949 1 2751 + 18944 18943 18949 1 2751 + 18944 18949 18950 1 2751 + 18945 18944 18950 1 2751 + 18945 18950 18951 1 2751 + 18946 18945 18951 1 2751 + 18947 18946 18951 1 2751 + 18947 18951 18952 1 2751 + 18948 18953 18954 1 2751 + 18949 18948 18954 1 2751 + 18950 18949 18954 1 2751 + 18950 18954 18955 1 2751 + 18951 18950 18955 1 2751 + 18952 18951 18955 1 2751 + 18952 18955 18956 1 2751 + 18954 18953 18958 1 2751 + 18955 18954 18958 1 2751 + 18956 18955 18958 1 2751 + 18957 18956 18958 1 2751 + 18957 18958 3372 1 2751 + 18957 3372 3376 1 2751 + 18957 3376 3580 1 2751 + 18957 3580 18956 1 2751 + 18956 3580 3575 1 2751 + 18956 3575 18952 1 2751 + 18952 3575 3570 1 2751 + 18952 3570 18947 1 2751 + 18947 3570 56 1 2751 + 18947 56 3561 1 2751 + 18947 3561 18946 1 2751 + 18946 3561 18941 1 2751 + 18941 3561 53 1 2751 + 18941 53 3551 1 2751 + 18941 3551 18945 1 2751 + 18945 3551 3546 1 2751 + 18945 3546 18944 1 2751 + 18944 3546 3541 1 2751 + 18944 3541 18943 1 2751 + 18943 3541 18942 1 2751 + 18942 3541 3536 1 2751 + 18942 3536 18940 1 2751 + 18942 18940 3360 1 2751 + 18942 3360 18948 1 2751 + 18948 3360 3364 1 2751 + 18948 3364 18953 1 2751 + 18953 3364 3368 1 2751 + 18953 3368 18958 1 2751 + 18958 3368 3372 1 2751 + 3360 18940 9 1 2751 + 9 18940 51 1 2751 + 51 18940 3536 1 2751 + 3580 3376 10 1 2751 + 18961 18960 18966 1 2752 + 18959 18960 18961 1 2752 + 18962 18969 18970 1 2752 + 18963 18962 18970 1 2752 + 18964 18963 18970 1 2752 + 18964 18970 18971 1 2752 + 18965 18964 18971 1 2752 + 18967 18966 18972 1 2752 + 18961 18966 18967 1 2752 + 18968 18967 18973 1 2752 + 18969 18968 18973 1 2752 + 18970 18969 18973 1 2752 + 18971 18970 18973 1 2752 + 18972 18971 18973 1 2752 + 18967 18972 18973 1 2752 + 18972 18966 3617 1 2752 + 18972 3617 3612 1 2752 + 18972 3612 18971 1 2752 + 18971 3612 18965 1 2752 + 18965 3612 65 1 2752 + 18965 65 62 1 2752 + 18965 62 18964 1 2752 + 18964 62 3597 1 2752 + 18964 3597 18963 1 2752 + 18963 3597 3594 1 2752 + 18963 3594 18962 1 2752 + 18962 3594 3591 1 2752 + 18962 3591 3574 1 2752 + 18962 3574 18969 1 2752 + 18969 3574 3579 1 2752 + 18969 3579 18968 1 2752 + 18968 3579 3584 1 2752 + 18968 3584 18967 1 2752 + 18967 3584 18961 1 2752 + 18961 3584 12 1 2752 + 18961 12 3390 1 2752 + 18961 3390 18959 1 2752 + 18959 3390 13 1 2752 + 18959 13 71 1 2752 + 18959 71 18960 1 2752 + 18960 71 68 1 2752 + 18960 68 3617 1 2752 + 18960 3617 18966 1 2752 + 3574 3591 57 1 2752 + 57 3591 59 1 2752 + 16 19 3405 1 2753 + 3405 19 3646 1 2753 + 3405 3646 74 1 2753 + 3405 74 72 1 2753 + 3405 72 15 1 2753 + 18974 18975 18976 1 2754 + 18976 18975 18977 1 2754 + 18976 18977 18978 1 2754 + 18978 18977 18980 1 2754 + 18977 18979 18980 1 2754 + 18980 18979 3430 1 2754 + 18980 3430 20 1 2754 + 18980 20 18 1 2754 + 18980 18 3 1 2754 + 18980 3 18978 1 2754 + 18978 3 35 1 2754 + 18978 35 18976 1 2754 + 18976 35 32 1 2754 + 18976 32 18974 1 2754 + 18974 32 29 1 2754 + 18974 29 3442 1 2754 + 18974 3442 18975 1 2754 + 18975 3442 3438 1 2754 + 18975 3438 26 1 2754 + 18975 26 18977 1 2754 + 18977 26 18979 1 2754 + 18979 26 23 1 2754 + 18979 23 3430 1 2754 + 18982 18981 18984 1 2755 + 18983 18982 18984 1 2755 + 18983 18984 18985 1 2755 + 18985 18984 3656 1 2755 + 18985 3656 3652 1 2755 + 18985 3652 18986 1 2755 + 18985 18986 3433 1 2755 + 18985 3433 18983 1 2755 + 18983 3433 22 1 2755 + 18983 22 3671 1 2755 + 18983 3671 18982 1 2755 + 18982 3671 86 1 2755 + 18982 86 18981 1 2755 + 18981 86 3662 1 2755 + 18981 3662 77 1 2755 + 18981 77 18984 1 2755 + 18984 77 3656 1 2755 + 3662 86 83 1 2755 + 3662 83 80 1 2755 + 3433 18986 21 1 2755 + 21 18986 3648 1 2755 + 3648 18986 75 1 2755 + 75 18986 3652 1 2755 + 3676 89 87 1 2756 + 3676 87 3673 1 2756 + 3676 3673 24 1 2756 + 3676 24 25 1 2756 + 18987 18990 18991 1 2757 + 18990 18989 18994 1 2757 + 18990 18994 18995 1 2757 + 18991 18990 18995 1 2757 + 18992 18997 18998 1 2757 + 18993 18992 18998 1 2757 + 18994 18999 19000 1 2757 + 18995 18994 19000 1 2757 + 18996 18995 19000 1 2757 + 18997 18996 19000 1 2757 + 18998 18997 19001 1 2757 + 19000 18999 19001 1 2757 + 18997 19000 19001 1 2757 + 19001 18999 3678 1 2757 + 19001 3678 27 1 2757 + 19001 27 18998 1 2757 + 18998 27 3441 1 2757 + 18998 3441 18993 1 2757 + 18993 3441 3445 1 2757 + 18993 3445 18988 1 2757 + 18993 18988 3715 1 2757 + 18993 3715 18992 1 2757 + 18992 3715 101 1 2757 + 18992 101 18997 1 2757 + 18997 101 3711 1 2757 + 18997 3711 18996 1 2757 + 18996 3711 3708 1 2757 + 18996 3708 18995 1 2757 + 18995 3708 18991 1 2757 + 18991 3708 3705 1 2757 + 18991 3705 18987 1 2757 + 18987 3705 98 1 2757 + 18987 98 3694 1 2757 + 18987 3694 18990 1 2757 + 18990 3694 95 1 2757 + 18990 95 18989 1 2757 + 18989 95 92 1 2757 + 18989 92 90 1 2757 + 18989 90 18994 1 2757 + 18994 90 18999 1 2757 + 18999 90 3678 1 2757 + 3715 18988 3717 1 2757 + 3717 18988 104 1 2757 + 104 18988 28 1 2757 + 28 18988 3445 1 2757 + 19003 19002 19008 1 2758 + 19003 19008 19009 1 2758 + 19004 19003 19009 1 2758 + 19004 19009 19010 1 2758 + 19005 19004 19010 1 2758 + 19005 19010 19011 1 2758 + 19006 19005 19011 1 2758 + 19008 19007 19012 1 2758 + 19002 19007 19008 1 2758 + 19009 19008 19013 1 2758 + 19009 19013 19014 1 2758 + 19010 19009 19014 1 2758 + 19010 19014 19015 1 2758 + 19011 19010 19015 1 2758 + 19013 19012 19016 1 2758 + 19008 19012 19013 1 2758 + 19014 19013 19017 1 2758 + 19014 19017 19018 1 2758 + 19015 19014 19018 1 2758 + 19017 19016 19019 1 2758 + 19013 19016 19017 1 2758 + 19017 19019 3778 1 2758 + 19017 3778 19018 1 2758 + 19018 3778 3775 1 2758 + 19018 3775 19015 1 2758 + 19015 3775 3772 1 2758 + 19015 3772 19011 1 2758 + 19011 3772 3769 1 2758 + 19011 3769 19006 1 2758 + 19006 3769 3766 1 2758 + 19006 3766 3751 1 2758 + 19006 3751 3747 1 2758 + 19006 3747 19005 1 2758 + 19005 3747 19004 1 2758 + 19004 3747 116 1 2758 + 19004 116 19003 1 2758 + 19003 116 113 1 2758 + 19003 113 19002 1 2758 + 19002 113 3741 1 2758 + 19002 3741 19007 1 2758 + 19007 3741 110 1 2758 + 19007 110 107 1 2758 + 19007 107 19012 1 2758 + 19012 107 105 1 2758 + 19012 105 19016 1 2758 + 19016 105 30 1 2758 + 19016 30 19019 1 2758 + 19019 30 31 1 2758 + 19019 31 3778 1 2758 + 3751 3766 122 1 2758 + 3751 122 119 1 2758 + 3485 37 19022 1 2759 + 3485 19022 3777 1 2759 + 3485 3777 3479 1 2759 + 3479 3777 3780 1 2759 + 3479 3780 33 1 2759 + 3479 33 34 1 2759 + 3777 19022 3774 1 2759 + 3774 19022 19021 1 2759 + 3774 19021 3771 1 2759 + 3771 19021 19020 1 2759 + 3771 19020 3768 1 2759 + 3768 19020 123 1 2759 + 123 19020 125 1 2759 + 125 19020 3790 1 2759 + 3790 19020 19021 1 2759 + 3790 19021 37 1 2759 + 37 19021 19022 1 2759 + 19024 19023 19026 1 2760 + 19024 19026 19027 1 2760 + 19025 19024 19027 1 2760 + 19025 19027 19028 1 2760 + 19028 19027 19030 1 2760 + 19028 19030 19031 1 2760 + 19029 19028 19031 1 2760 + 19029 19031 19032 1 2760 + 19029 19032 131 1 2760 + 19029 131 3818 1 2760 + 19029 3818 19028 1 2760 + 19028 3818 19025 1 2760 + 19025 3818 3813 1 2760 + 19025 3813 3800 1 2760 + 19025 3800 19024 1 2760 + 19024 3800 19023 1 2760 + 19023 3800 126 1 2760 + 19023 126 3793 1 2760 + 19023 3793 19026 1 2760 + 19026 3793 3497 1 2760 + 19026 3497 3502 1 2760 + 19026 3502 19027 1 2760 + 19027 3502 19030 1 2760 + 19030 3502 3507 1 2760 + 19030 3507 19031 1 2760 + 19031 3507 40 1 2760 + 19031 40 19032 1 2760 + 19032 40 43 1 2760 + 19032 43 134 1 2760 + 19032 134 131 1 2760 + 3497 3793 39 1 2760 + 3800 3813 128 1 2760 + 143 140 3848 1 2761 + 3848 140 137 1 2761 + 3848 137 3840 1 2761 + 3848 3840 45 1 2761 + 3848 45 46 1 2761 + 45 3840 135 1 2761 + 146 144 3852 1 2762 + 3555 52 3862 1 2762 + 3555 3862 3860 1 2762 + 3555 3860 3550 1 2762 + 3550 3860 3858 1 2762 + 3550 3858 3545 1 2762 + 3545 3858 3856 1 2762 + 3545 3856 3540 1 2762 + 3540 3856 3854 1 2762 + 3540 3854 49 1 2762 + 49 3854 3852 1 2762 + 49 3852 3849 1 2762 + 49 3849 48 1 2762 + 3849 3852 144 1 2762 + 3862 52 149 1 2762 + 149 52 155 1 2762 + 149 155 152 1 2762 + 55 58 3564 1 2763 + 3564 58 19033 1 2763 + 3564 19033 54 1 2763 + 54 19033 156 1 2763 + 156 19033 3887 1 2763 + 156 3887 158 1 2763 + 3887 19033 58 1 2763 + 19034 19038 19039 1 2764 + 19035 19034 19039 1 2764 + 19036 19041 19042 1 2764 + 19037 19036 19042 1 2764 + 19037 19042 19043 1 2764 + 19038 19037 19043 1 2764 + 19038 19043 19044 1 2764 + 19039 19038 19044 1 2764 + 19040 19045 19046 1 2764 + 19041 19040 19046 1 2764 + 19041 19046 19047 1 2764 + 19042 19041 19047 1 2764 + 19042 19047 19048 1 2764 + 19043 19042 19048 1 2764 + 19043 19048 19049 1 2764 + 19044 19043 19049 1 2764 + 19044 19049 19050 1 2764 + 19045 19051 19052 1 2764 + 19046 19045 19052 1 2764 + 19046 19052 19053 1 2764 + 19047 19046 19053 1 2764 + 19047 19053 19054 1 2764 + 19048 19047 19054 1 2764 + 19048 19054 19055 1 2764 + 19049 19048 19055 1 2764 + 19049 19055 19056 1 2764 + 19050 19049 19056 1 2764 + 19052 19051 19057 1 2764 + 19052 19057 19058 1 2764 + 19053 19052 19058 1 2764 + 19053 19058 19059 1 2764 + 19054 19053 19059 1 2764 + 19055 19054 19059 1 2764 + 19055 19059 19060 1 2764 + 19056 19055 19060 1 2764 + 19058 19057 19061 1 2764 + 19058 19061 19062 1 2764 + 19059 19058 19062 1 2764 + 19059 19062 19063 1 2764 + 19060 19059 19063 1 2764 + 19060 19063 19064 1 2764 + 19060 19064 3964 1 2764 + 19060 3964 3959 1 2764 + 19060 3959 19056 1 2764 + 19056 3959 19050 1 2764 + 19050 3959 3954 1 2764 + 19050 3954 19044 1 2764 + 19044 3954 3949 1 2764 + 19044 3949 19039 1 2764 + 19039 3949 19035 1 2764 + 19035 3949 173 1 2764 + 19035 173 170 1 2764 + 19035 170 167 1 2764 + 19035 167 19034 1 2764 + 19034 167 3922 1 2764 + 19034 3922 19038 1 2764 + 19038 3922 19037 1 2764 + 19037 3922 3916 1 2764 + 19037 3916 19036 1 2764 + 19036 3916 164 1 2764 + 19036 164 161 1 2764 + 19036 161 19041 1 2764 + 19041 161 19040 1 2764 + 19040 161 3894 1 2764 + 19040 3894 19045 1 2764 + 19045 3894 159 1 2764 + 19045 159 19051 1 2764 + 19051 159 3889 1 2764 + 19051 3889 19057 1 2764 + 19057 3889 60 1 2764 + 19057 60 19061 1 2764 + 19061 60 3593 1 2764 + 19061 3593 3596 1 2764 + 19061 3596 19062 1 2764 + 19062 3596 19063 1 2764 + 19063 3596 3599 1 2764 + 19063 3599 19064 1 2764 + 19064 3599 61 1 2764 + 19064 61 3964 1 2764 + 19066 19067 19068 1 2765 + 19067 19069 19070 1 2765 + 19068 19067 19070 1 2765 + 19068 19070 19071 1 2765 + 19069 19073 19074 1 2765 + 19070 19069 19074 1 2765 + 19071 19070 19074 1 2765 + 19071 19074 19075 1 2765 + 19073 19072 19078 1 2765 + 19073 19078 19079 1 2765 + 19074 19073 19079 1 2765 + 19075 19074 19079 1 2765 + 19075 19079 19080 1 2765 + 19076 19075 19080 1 2765 + 19077 19076 19080 1 2765 + 19079 19078 19081 1 2765 + 19080 19079 19081 1 2765 + 19080 19081 4025 1 2765 + 19080 4025 4022 1 2765 + 19080 4022 19077 1 2765 + 19077 4022 4019 1 2765 + 19077 4019 179 1 2765 + 19077 179 4002 1 2765 + 19077 4002 19076 1 2765 + 19076 4002 3997 1 2765 + 19076 3997 19075 1 2765 + 19075 3997 19071 1 2765 + 19071 3997 3992 1 2765 + 19071 3992 19068 1 2765 + 19068 3992 3987 1 2765 + 19068 3987 19066 1 2765 + 19066 3987 3982 1 2765 + 19066 3982 19065 1 2765 + 19066 19065 3958 1 2765 + 19066 3958 19067 1 2765 + 19067 3958 3963 1 2765 + 19067 3963 19069 1 2765 + 19069 3963 3968 1 2765 + 19069 3968 19073 1 2765 + 19073 3968 19072 1 2765 + 19072 3968 63 1 2765 + 19072 63 64 1 2765 + 19072 64 19078 1 2765 + 19078 64 4028 1 2765 + 19078 4028 19081 1 2765 + 19081 4028 4025 1 2765 + 3958 19065 3953 1 2765 + 3953 19065 3977 1 2765 + 3953 3977 174 1 2765 + 174 3977 176 1 2765 + 3977 19065 3982 1 2765 + 179 4019 182 1 2765 + 19082 19085 19086 1 2766 + 19083 19082 19086 1 2766 + 19084 19083 19086 1 2766 + 19084 19086 19087 1 2766 + 19085 19094 19095 1 2766 + 19086 19085 19095 1 2766 + 19086 19095 19096 1 2766 + 19087 19086 19096 1 2766 + 19088 19087 19096 1 2766 + 19088 19096 19097 1 2766 + 19090 19089 19098 1 2766 + 19090 19098 19099 1 2766 + 19091 19090 19099 1 2766 + 19092 19091 19099 1 2766 + 19092 19099 19100 1 2766 + 19093 19092 19100 1 2766 + 19095 19094 19102 1 2766 + 19095 19102 19103 1 2766 + 19096 19095 19103 1 2766 + 19097 19096 19103 1 2766 + 19098 19097 19103 1 2766 + 19089 19097 19098 1 2766 + 19099 19098 19104 1 2766 + 19100 19099 19104 1 2766 + 19101 19100 19104 1 2766 + 19102 19101 19104 1 2766 + 19103 19102 19104 1 2766 + 19098 19103 19104 1 2766 + 19102 19094 19101 1 2766 + 19101 19094 4027 1 2766 + 19101 4027 4030 1 2766 + 19101 4030 19093 1 2766 + 19101 19093 19100 1 2766 + 19093 4030 66 1 2766 + 19093 66 3616 1 2766 + 19093 3616 19092 1 2766 + 19092 3616 3621 1 2766 + 19092 3621 19091 1 2766 + 19091 3621 4072 1 2766 + 19091 4072 19090 1 2766 + 19090 4072 4070 1 2766 + 19090 4070 19089 1 2766 + 19089 4070 4068 1 2766 + 19089 4068 4066 1 2766 + 19089 4066 19097 1 2766 + 19097 4066 19088 1 2766 + 19088 4066 4064 1 2766 + 19088 4064 4062 1 2766 + 19088 4062 19087 1 2766 + 19087 4062 19084 1 2766 + 19084 4062 4060 1 2766 + 19084 4060 4042 1 2766 + 19084 4042 19083 1 2766 + 19083 4042 4036 1 2766 + 19083 4036 19082 1 2766 + 19082 4036 183 1 2766 + 19082 183 4021 1 2766 + 19082 4021 19085 1 2766 + 19085 4021 4024 1 2766 + 19085 4024 19094 1 2766 + 19094 4024 4027 1 2766 + 4042 4060 188 1 2766 + 4042 188 185 1 2766 + 4072 3621 67 1 2766 + 19106 19105 19110 1 2767 + 19106 19110 19111 1 2767 + 19107 19106 19111 1 2767 + 19107 19111 19112 1 2767 + 19108 19107 19112 1 2767 + 19108 19112 19113 1 2767 + 19112 19111 19118 1 2767 + 19112 19118 19119 1 2767 + 19113 19112 19119 1 2767 + 19114 19113 19119 1 2767 + 19109 19113 19114 1 2767 + 19115 19114 19120 1 2767 + 19115 19120 19121 1 2767 + 19116 19115 19121 1 2767 + 19119 19118 19122 1 2767 + 19120 19119 19122 1 2767 + 19114 19119 19120 1 2767 + 19120 19122 4069 1 2767 + 19120 4069 19121 1 2767 + 19121 4069 4071 1 2767 + 19121 4071 4073 1 2767 + 19121 4073 19116 1 2767 + 19116 4073 19117 1 2767 + 19116 19117 73 1 2767 + 19116 73 3655 1 2767 + 19116 3655 19115 1 2767 + 19115 3655 3659 1 2767 + 19115 3659 19109 1 2767 + 19115 19109 19114 1 2767 + 19109 3659 76 1 2767 + 19109 76 19113 1 2767 + 19113 76 4094 1 2767 + 19113 4094 19108 1 2767 + 19108 4094 4091 1 2767 + 19108 4091 19107 1 2767 + 19107 4091 191 1 2767 + 19107 191 4082 1 2767 + 19107 4082 19106 1 2767 + 19106 4082 4077 1 2767 + 19106 4077 19105 1 2767 + 19105 4077 189 1 2767 + 19105 189 4061 1 2767 + 19105 4061 19110 1 2767 + 19110 4061 4063 1 2767 + 19110 4063 4065 1 2767 + 19110 4065 19111 1 2767 + 19111 4065 19118 1 2767 + 19118 4065 4067 1 2767 + 19118 4067 19122 1 2767 + 19122 4067 4069 1 2767 + 73 19117 70 1 2767 + 70 19117 69 1 2767 + 69 19117 4073 1 2767 + 4106 194 19123 1 2768 + 4106 19123 4093 1 2768 + 4106 4093 4096 1 2768 + 4106 4096 3663 1 2768 + 4106 3663 79 1 2768 + 3663 4096 78 1 2768 + 4093 19123 192 1 2768 + 192 19123 194 1 2768 + 82 93 19124 1 2769 + 82 19124 81 1 2769 + 81 19124 4109 1 2769 + 4109 19124 19125 1 2769 + 4109 19125 197 1 2769 + 4109 197 195 1 2769 + 197 19125 4126 1 2769 + 197 4126 200 1 2769 + 4126 19125 203 1 2769 + 203 19125 19124 1 2769 + 203 19124 94 1 2769 + 94 19124 93 1 2769 + 85 88 84 1 2770 + 84 88 91 1 2770 + 97 209 4138 1 2771 + 97 4138 4135 1 2771 + 97 4135 3699 1 2771 + 3699 4135 206 1 2771 + 3699 206 96 1 2771 + 96 206 204 1 2771 + 19127 19126 19129 1 2772 + 19127 19129 19130 1 2772 + 19128 19127 19130 1 2772 + 19128 19130 19131 1 2772 + 19130 19129 19136 1 2772 + 19130 19136 19137 1 2772 + 19131 19130 19137 1 2772 + 19131 19137 19138 1 2772 + 19132 19139 19140 1 2772 + 19133 19132 19140 1 2772 + 19133 19140 19141 1 2772 + 19134 19133 19141 1 2772 + 19134 19141 19142 1 2772 + 19135 19134 19142 1 2772 + 19136 19135 19142 1 2772 + 19129 19135 19136 1 2772 + 19137 19136 19143 1 2772 + 19137 19143 19144 1 2772 + 19138 19137 19144 1 2772 + 19140 19139 19145 1 2772 + 19140 19145 19146 1 2772 + 19141 19140 19146 1 2772 + 19141 19146 19147 1 2772 + 19142 19141 19147 1 2772 + 19143 19142 19147 1 2772 + 19136 19142 19143 1 2772 + 19144 19143 19148 1 2772 + 19144 19148 19149 1 2772 + 19146 19145 19150 1 2772 + 19147 19146 19150 1 2772 + 19148 19147 19150 1 2772 + 19143 19147 19148 1 2772 + 19148 19150 3713 1 2772 + 19148 3713 19149 1 2772 + 19149 3713 100 1 2772 + 19149 100 4203 1 2772 + 19149 4203 19144 1 2772 + 19144 4203 4201 1 2772 + 19144 4201 19138 1 2772 + 19138 4201 4199 1 2772 + 19138 4199 19131 1 2772 + 19131 4199 234 1 2772 + 19131 234 19128 1 2772 + 19128 234 4195 1 2772 + 19128 4195 226 1 2772 + 19128 226 19127 1 2772 + 19127 226 19126 1 2772 + 19126 226 4186 1 2772 + 19126 4186 19135 1 2772 + 19126 19135 19129 1 2772 + 19135 4186 223 1 2772 + 19135 223 19134 1 2772 + 19134 223 4174 1 2772 + 19134 4174 19133 1 2772 + 19133 4174 19132 1 2772 + 19132 4174 220 1 2772 + 19132 220 217 1 2772 + 19132 217 214 1 2772 + 19132 214 210 1 2772 + 19132 210 19139 1 2772 + 19139 210 99 1 2772 + 19139 99 3707 1 2772 + 19139 3707 19145 1 2772 + 19145 3707 3710 1 2772 + 19145 3710 19150 1 2772 + 19150 3710 3713 1 2772 + 226 4195 231 1 2772 + 103 106 19152 1 2773 + 103 19152 3718 1 2773 + 3718 19152 3716 1 2773 + 3716 19152 4204 1 2773 + 3716 4204 102 1 2773 + 4204 19152 4202 1 2773 + 4202 19152 19151 1 2773 + 4202 19151 4200 1 2773 + 4200 19151 4205 1 2773 + 4200 4205 235 1 2773 + 4205 19151 106 1 2773 + 106 19151 19152 1 2773 + 4240 248 19154 1 2774 + 4240 19154 4206 1 2774 + 4240 4206 109 1 2774 + 109 4206 108 1 2774 + 4206 19154 233 1 2774 + 233 19154 19153 1 2774 + 233 19153 4197 1 2774 + 4197 19153 232 1 2774 + 232 19153 4224 1 2774 + 232 4224 239 1 2774 + 239 4224 242 1 2774 + 4224 19153 245 1 2774 + 245 19153 19154 1 2774 + 245 19154 248 1 2774 + 4246 249 4243 1 2775 + 4246 4243 3742 1 2775 + 4246 3742 112 1 2775 + 3742 4243 111 1 2775 + 115 254 19157 1 2776 + 115 19157 114 1 2776 + 114 19157 19155 1 2776 + 114 19155 4247 1 2776 + 4247 19155 4248 1 2776 + 4247 4248 247 1 2776 + 247 4248 246 1 2776 + 4248 19155 251 1 2776 + 251 19155 19156 1 2776 + 251 19156 254 1 2776 + 254 19156 19157 1 2776 + 19157 19156 19155 1 2776 + 19159 19158 19161 1 2777 + 19159 19161 19160 1 2777 + 19159 19160 263 1 2777 + 19159 263 260 1 2777 + 19159 260 257 1 2777 + 19159 257 19158 1 2777 + 19158 257 4261 1 2777 + 19158 4261 255 1 2777 + 19158 255 117 1 2777 + 19158 117 19161 1 2777 + 19161 117 3750 1 2777 + 19161 3750 3754 1 2777 + 19161 3754 19160 1 2777 + 19160 3754 266 1 2777 + 19160 266 263 1 2777 + 266 3754 118 1 2777 + 121 124 19162 1 2778 + 121 19162 120 1 2778 + 120 19162 267 1 2778 + 267 19162 269 1 2778 + 269 19162 4304 1 2778 + 4304 19162 124 1 2778 + 4304 124 3805 1 2778 + 4304 3805 4309 1 2778 + 4309 3805 4314 1 2778 + 4314 3805 127 1 2778 + 4314 127 275 1 2778 + 4314 275 272 1 2778 + 19164 19163 19167 1 2779 + 19164 19167 19168 1 2779 + 19165 19164 19168 1 2779 + 19165 19168 19169 1 2779 + 19166 19165 19169 1 2779 + 19168 19167 19170 1 2779 + 19168 19170 19171 1 2779 + 19169 19168 19171 1 2779 + 19169 19171 4366 1 2779 + 19169 4366 4363 1 2779 + 19169 4363 19166 1 2779 + 19166 4363 4360 1 2779 + 19166 4360 4348 1 2779 + 19166 4348 4344 1 2779 + 19166 4344 19165 1 2779 + 19165 4344 19164 1 2779 + 19164 4344 4340 1 2779 + 19164 4340 19163 1 2779 + 19163 4340 276 1 2779 + 19163 276 129 1 2779 + 19163 129 19167 1 2779 + 19167 129 3817 1 2779 + 19167 3817 19170 1 2779 + 19170 3817 3822 1 2779 + 19170 3822 4370 1 2779 + 19170 4370 19171 1 2779 + 19171 4370 284 1 2779 + 19171 284 4366 1 2779 + 4370 3822 130 1 2779 + 4348 4360 4357 1 2779 + 4348 4357 278 1 2779 + 278 4357 281 1 2779 + 3841 136 4374 1 2780 + 3841 4374 19172 1 2780 + 3841 19172 133 1 2780 + 133 19172 132 1 2780 + 132 19172 4371 1 2780 + 4371 19172 4372 1 2780 + 4371 4372 285 1 2780 + 4372 19172 4374 1 2780 + 19173 19174 19175 1 2781 + 19174 19176 19177 1 2781 + 19175 19174 19177 1 2781 + 19175 19177 19178 1 2781 + 19176 19181 19182 1 2781 + 19177 19176 19182 1 2781 + 19177 19182 19183 1 2781 + 19178 19177 19183 1 2781 + 19181 19180 19184 1 2781 + 19181 19184 19185 1 2781 + 19182 19181 19185 1 2781 + 19182 19185 19186 1 2781 + 19183 19182 19186 1 2781 + 19184 19187 19188 1 2781 + 19185 19184 19188 1 2781 + 19185 19188 4400 1 2781 + 19185 4400 19186 1 2781 + 19186 4400 4398 1 2781 + 19186 4398 4396 1 2781 + 19186 4396 19183 1 2781 + 19183 4396 4394 1 2781 + 19183 4394 19178 1 2781 + 19178 4394 19179 1 2781 + 19178 19179 19175 1 2781 + 19175 19179 4384 1 2781 + 19175 4384 19173 1 2781 + 19173 4384 287 1 2781 + 19173 287 282 1 2781 + 19173 282 19174 1 2781 + 19174 282 4359 1 2781 + 19174 4359 4362 1 2781 + 19174 4362 19176 1 2781 + 19176 4362 4365 1 2781 + 19176 4365 19180 1 2781 + 19176 19180 19181 1 2781 + 19180 4365 4368 1 2781 + 19180 4368 19184 1 2781 + 19184 4368 283 1 2781 + 19184 283 19187 1 2781 + 19187 283 4373 1 2781 + 19187 4373 19189 1 2781 + 19187 19189 4402 1 2781 + 19187 4402 19188 1 2781 + 19188 4402 4400 1 2781 + 4402 19189 4404 1 2781 + 4404 19189 4375 1 2781 + 4404 4375 138 1 2781 + 4404 138 139 1 2781 + 4375 19189 4373 1 2781 + 4384 19179 290 1 2781 + 290 19179 4394 1 2781 + 141 142 4405 1 2782 + 142 145 4405 1 2782 + 19190 19192 19193 1 2782 + 19191 19194 19195 1 2782 + 19192 19191 19195 1 2782 + 19192 19195 19196 1 2782 + 19193 19192 19196 1 2782 + 19193 19196 19197 1 2782 + 19194 19199 19200 1 2782 + 19195 19194 19200 1 2782 + 19195 19200 19201 1 2782 + 19196 19195 19201 1 2782 + 19196 19201 19202 1 2782 + 19197 19196 19202 1 2782 + 19198 19205 19206 1 2782 + 19199 19198 19206 1 2782 + 19199 19206 19207 1 2782 + 19200 19199 19207 1 2782 + 19201 19200 19207 1 2782 + 19201 19207 19208 1 2782 + 19202 19201 19208 1 2782 + 19202 19208 19209 1 2782 + 19203 19202 19209 1 2782 + 19206 19205 19210 1 2782 + 19207 19206 19210 1 2782 + 19207 19210 19211 1 2782 + 19208 19207 19211 1 2782 + 19208 19211 4432 1 2782 + 19208 4432 19209 1 2782 + 19209 4432 4430 1 2782 + 19209 4430 19203 1 2782 + 19203 4430 296 1 2782 + 19203 296 4422 1 2782 + 19203 4422 19202 1 2782 + 19202 4422 19197 1 2782 + 19197 4422 4417 1 2782 + 19197 4417 19193 1 2782 + 19193 4417 293 1 2782 + 19193 293 19190 1 2782 + 19190 293 291 1 2782 + 19190 291 4395 1 2782 + 19190 4395 19192 1 2782 + 19192 4395 19191 1 2782 + 19191 4395 4397 1 2782 + 19191 4397 19194 1 2782 + 19194 4397 4399 1 2782 + 19194 4399 4401 1 2782 + 19194 4401 19199 1 2782 + 19199 4401 19198 1 2782 + 19198 4401 4403 1 2782 + 19198 4403 19205 1 2782 + 19205 4403 19204 1 2782 + 19205 19204 4438 1 2782 + 19205 4438 19210 1 2782 + 19210 4438 4436 1 2782 + 19210 4436 19211 1 2782 + 19211 4436 4434 1 2782 + 19211 4434 4432 1 2782 + 4438 19204 4440 1 2782 + 4440 19204 4405 1 2782 + 4440 4405 145 1 2782 + 4405 19204 4403 1 2782 + 19212 19215 19216 1 2783 + 19214 19213 19217 1 2783 + 19214 19217 19218 1 2783 + 19216 19215 19220 1 2783 + 19216 19220 19221 1 2783 + 19217 19224 19225 1 2783 + 19218 19217 19225 1 2783 + 19219 19218 19225 1 2783 + 19219 19225 19226 1 2783 + 19220 19219 19226 1 2783 + 19221 19220 19226 1 2783 + 19221 19226 19227 1 2783 + 19222 19221 19227 1 2783 + 19222 19227 19228 1 2783 + 19223 19222 19228 1 2783 + 19225 19224 19229 1 2783 + 19226 19225 19229 1 2783 + 19227 19226 19229 1 2783 + 19228 19227 19229 1 2783 + 19228 19229 3859 1 2783 + 19228 3859 3861 1 2783 + 19228 3861 19223 1 2783 + 19223 3861 3863 1 2783 + 19223 3863 4468 1 2783 + 19223 4468 19222 1 2783 + 19222 4468 4463 1 2783 + 19222 4463 19221 1 2783 + 19221 4463 19216 1 2783 + 19216 4463 302 1 2783 + 19216 302 19212 1 2783 + 19212 302 299 1 2783 + 19212 299 297 1 2783 + 19212 297 4431 1 2783 + 19212 4431 19215 1 2783 + 19215 4431 4433 1 2783 + 19215 4433 19220 1 2783 + 19220 4433 19219 1 2783 + 19219 4433 4435 1 2783 + 19219 4435 4437 1 2783 + 19219 4437 19218 1 2783 + 19218 4437 19214 1 2783 + 19214 4437 4439 1 2783 + 19214 4439 4441 1 2783 + 19214 4441 19213 1 2783 + 19213 4441 3853 1 2783 + 19213 3853 3855 1 2783 + 19213 3855 19217 1 2783 + 19217 3855 3857 1 2783 + 19217 3857 19224 1 2783 + 19224 3857 3859 1 2783 + 19224 3859 19229 1 2783 + 3853 4441 147 1 2783 + 4468 3863 148 1 2783 + 19230 19232 19233 1 2784 + 19231 19230 19233 1 2784 + 19231 19233 19234 1 2784 + 19232 19236 19237 1 2784 + 19233 19232 19237 1 2784 + 19234 19233 19237 1 2784 + 19234 19237 19238 1 2784 + 19235 19234 19238 1 2784 + 19235 19238 19239 1 2784 + 19237 19236 19244 1 2784 + 19237 19244 19245 1 2784 + 19238 19237 19245 1 2784 + 19239 19238 19245 1 2784 + 19240 19239 19245 1 2784 + 19241 19240 19246 1 2784 + 19242 19241 19246 1 2784 + 19243 19242 19246 1 2784 + 19244 19243 19246 1 2784 + 19245 19244 19246 1 2784 + 19240 19245 19246 1 2784 + 19239 19240 4472 1 2784 + 19239 4472 150 1 2784 + 19239 150 19235 1 2784 + 19235 150 151 1 2784 + 19235 151 19234 1 2784 + 19234 151 314 1 2784 + 19234 314 19231 1 2784 + 19231 314 4498 1 2784 + 19231 4498 19230 1 2784 + 19230 4498 4491 1 2784 + 19230 4491 4488 1 2784 + 19230 4488 19232 1 2784 + 19232 4488 308 1 2784 + 19232 308 19236 1 2784 + 19236 308 4485 1 2784 + 19236 4485 19244 1 2784 + 19244 4485 19243 1 2784 + 19243 4485 4483 1 2784 + 19243 4483 4481 1 2784 + 19243 4481 19242 1 2784 + 19242 4481 305 1 2784 + 19242 305 19241 1 2784 + 19241 305 4477 1 2784 + 19241 4477 4467 1 2784 + 19241 4467 19240 1 2784 + 19240 4467 4472 1 2784 + 4467 4477 303 1 2784 + 4491 4498 311 1 2784 + 154 157 153 1 2785 + 153 157 315 1 2785 + 315 157 3898 1 2785 + 315 3898 4517 1 2785 + 4517 3898 160 1 2785 + 19248 19247 19249 1 2786 + 19248 19249 162 1 2786 + 19248 162 163 1 2786 + 19248 163 320 1 2786 + 19248 320 19247 1 2786 + 19247 320 317 1 2786 + 19247 317 312 1 2786 + 19247 312 19249 1 2786 + 19249 312 4502 1 2786 + 19249 4502 4519 1 2786 + 19249 4519 162 1 2786 + 4519 4502 313 1 2786 + 166 332 19252 1 2787 + 166 19252 3927 1 2787 + 3927 19252 19251 1 2787 + 3927 19251 19253 1 2787 + 3927 19253 3921 1 2787 + 3921 19253 165 1 2787 + 165 19253 321 1 2787 + 321 19253 4542 1 2787 + 4542 19253 19250 1 2787 + 4542 19250 323 1 2787 + 323 19250 19251 1 2787 + 323 19251 329 1 2787 + 323 329 326 1 2787 + 329 19251 332 1 2787 + 332 19251 19252 1 2787 + 19251 19250 19253 1 2787 + 4607 338 4594 1 2788 + 4607 4594 4612 1 2788 + 4612 4594 4588 1 2788 + 4612 4588 19254 1 2788 + 4612 19254 169 1 2788 + 169 19254 168 1 2788 + 168 19254 333 1 2788 + 333 19254 4588 1 2788 + 4594 338 335 1 2788 + 172 175 4616 1 2789 + 172 4616 171 1 2789 + 4616 175 4611 1 2789 + 4611 175 347 1 2789 + 4611 347 339 1 2789 + 339 347 344 1 2789 + 339 344 341 1 2789 + 19255 19256 19257 1 2790 + 19258 19259 19260 1 2790 + 19260 19259 19261 1 2790 + 19260 19261 19262 1 2790 + 19263 19267 19268 1 2790 + 19264 19263 19268 1 2790 + 19264 19268 19269 1 2790 + 19265 19271 19272 1 2790 + 19266 19265 19272 1 2790 + 19266 19272 19273 1 2790 + 19268 19267 19274 1 2790 + 19268 19274 19275 1 2790 + 19269 19268 19275 1 2790 + 19269 19275 19276 1 2790 + 19270 19269 19276 1 2790 + 19270 19276 19277 1 2790 + 19271 19270 19277 1 2790 + 19272 19271 19277 1 2790 + 19272 19277 19278 1 2790 + 19273 19272 19278 1 2790 + 19275 19274 19280 1 2790 + 19275 19280 19281 1 2790 + 19276 19275 19281 1 2790 + 19276 19281 19282 1 2790 + 19277 19276 19282 1 2790 + 19278 19277 19282 1 2790 + 19278 19282 19283 1 2790 + 19281 19280 19284 1 2790 + 19282 19281 19284 1 2790 + 19283 19282 19284 1 2790 + 19279 19283 19284 1 2790 + 19284 19280 4006 1 2790 + 19284 4006 19279 1 2790 + 19279 4006 4710 1 2790 + 19279 4710 4707 1 2790 + 19279 4707 19283 1 2790 + 19283 4707 4704 1 2790 + 19283 4704 19278 1 2790 + 19278 4704 19273 1 2790 + 19273 4704 4701 1 2790 + 19273 4701 359 1 2790 + 19273 359 19266 1 2790 + 19266 359 4696 1 2790 + 19266 4696 19265 1 2790 + 19265 4696 356 1 2790 + 19265 356 4687 1 2790 + 19265 4687 19271 1 2790 + 19271 4687 4682 1 2790 + 19271 4682 19270 1 2790 + 19270 4682 4677 1 2790 + 19270 4677 19269 1 2790 + 19269 4677 19264 1 2790 + 19264 4677 4672 1 2790 + 19264 4672 19263 1 2790 + 19263 4672 19262 1 2790 + 19263 19262 19261 1 2790 + 19263 19261 3991 1 2790 + 19263 3991 19267 1 2790 + 19267 3991 3996 1 2790 + 19267 3996 19274 1 2790 + 19274 3996 4001 1 2790 + 19274 4001 19280 1 2790 + 19280 4001 4006 1 2790 + 3991 19261 3986 1 2790 + 3986 19261 19259 1 2790 + 3986 19259 3981 1 2790 + 3981 19259 19258 1 2790 + 3981 19258 19256 1 2790 + 3981 19256 177 1 2790 + 177 19256 348 1 2790 + 348 19256 4648 1 2790 + 4648 19256 19255 1 2790 + 4648 19255 350 1 2790 + 350 19255 353 1 2790 + 353 19255 19257 1 2790 + 353 19257 4657 1 2790 + 4657 19257 19258 1 2790 + 4657 19258 4662 1 2790 + 4662 19258 19260 1 2790 + 4662 19260 4667 1 2790 + 4667 19260 19262 1 2790 + 4667 19262 4672 1 2790 + 19258 19257 19256 1 2790 + 4710 4006 178 1 2790 + 19286 19291 19292 1 2791 + 19287 19286 19292 1 2791 + 19288 19287 19292 1 2791 + 19288 19292 19293 1 2791 + 19290 19289 19295 1 2791 + 19285 19289 19290 1 2791 + 19291 19297 19298 1 2791 + 19292 19291 19298 1 2791 + 19292 19298 19299 1 2791 + 19293 19292 19299 1 2791 + 19294 19293 19299 1 2791 + 19294 19299 19300 1 2791 + 19295 19294 19300 1 2791 + 19296 19295 19300 1 2791 + 19290 19295 19296 1 2791 + 19298 19297 19304 1 2791 + 19298 19304 19305 1 2791 + 19299 19298 19305 1 2791 + 19300 19299 19305 1 2791 + 19301 19300 19305 1 2791 + 19296 19300 19301 1 2791 + 19302 19301 19306 1 2791 + 19303 19302 19306 1 2791 + 19305 19304 19306 1 2791 + 19301 19305 19306 1 2791 + 19306 19304 4709 1 2791 + 19306 4709 19303 1 2791 + 19303 4709 4712 1 2791 + 19303 4712 180 1 2791 + 19303 180 181 1 2791 + 19303 181 19302 1 2791 + 19302 181 4041 1 2791 + 19302 4041 19301 1 2791 + 19301 4041 19296 1 2791 + 19296 4041 4047 1 2791 + 19296 4047 19290 1 2791 + 19290 4047 19285 1 2791 + 19285 4047 184 1 2791 + 19285 184 4749 1 2791 + 19285 4749 368 1 2791 + 19285 368 19289 1 2791 + 19289 368 4738 1 2791 + 19289 4738 4733 1 2791 + 19289 4733 19295 1 2791 + 19295 4733 19294 1 2791 + 19294 4733 19293 1 2791 + 19293 4733 19288 1 2791 + 19288 4733 4728 1 2791 + 19288 4728 365 1 2791 + 19288 365 19287 1 2791 + 19287 365 362 1 2791 + 19287 362 19286 1 2791 + 19286 362 4715 1 2791 + 19286 4715 360 1 2791 + 19286 360 19291 1 2791 + 19291 360 4703 1 2791 + 19291 4703 19297 1 2791 + 19297 4703 4706 1 2791 + 19297 4706 19304 1 2791 + 19304 4706 4709 1 2791 + 4086 190 4769 1 2792 + 4086 4769 4767 1 2792 + 4086 4767 19307 1 2792 + 4086 19307 4081 1 2792 + 4081 19307 187 1 2792 + 187 19307 4753 1 2792 + 187 4753 186 1 2792 + 4753 19307 4765 1 2792 + 4753 4765 371 1 2792 + 4753 371 369 1 2792 + 4765 19307 4767 1 2792 + 4769 190 193 1 2792 + 4769 193 196 1 2792 + 19308 19310 19311 1 2793 + 19308 19311 4790 1 2793 + 19308 4790 377 1 2793 + 19308 377 374 1 2793 + 19308 374 19310 1 2793 + 19310 374 4774 1 2793 + 19310 4774 4766 1 2793 + 19310 4766 19311 1 2793 + 19311 4766 4768 1 2793 + 19311 4768 19309 1 2793 + 19311 19309 4796 1 2793 + 19311 4796 4790 1 2793 + 4796 19309 199 1 2793 + 199 19309 4770 1 2793 + 199 4770 198 1 2793 + 4770 19309 4768 1 2793 + 4766 4774 372 1 2793 + 202 205 4828 1 2794 + 202 4828 4129 1 2794 + 4129 4828 19312 1 2794 + 4129 19312 201 1 2794 + 201 19312 4801 1 2794 + 4801 19312 4822 1 2794 + 4801 4822 4795 1 2794 + 4795 4822 4818 1 2794 + 4795 4818 378 1 2794 + 378 4818 380 1 2794 + 4822 19312 383 1 2794 + 383 19312 4828 1 2794 + 392 389 395 1 2795 + 19314 19313 19316 1 2795 + 19314 19316 19317 1 2795 + 19315 19314 19317 1 2795 + 19315 19317 19318 1 2795 + 19317 19316 19320 1 2795 + 19317 19320 19321 1 2795 + 19318 19317 19321 1 2795 + 19318 19321 19322 1 2795 + 19319 19318 19322 1 2795 + 19319 19322 19323 1 2795 + 19321 19320 19324 1 2795 + 19321 19324 19325 1 2795 + 19322 19321 19325 1 2795 + 19322 19325 19326 1 2795 + 19323 19322 19326 1 2795 + 19323 19326 19327 1 2795 + 19326 19325 19329 1 2795 + 19326 19329 19330 1 2795 + 19327 19326 19330 1 2795 + 19328 19327 19330 1 2795 + 19328 19330 19331 1 2795 + 19328 19331 207 1 2795 + 19328 207 4137 1 2795 + 19328 4137 19327 1 2795 + 19327 4137 4140 1 2795 + 19327 4140 19323 1 2795 + 19323 4140 208 1 2795 + 19323 208 19319 1 2795 + 19319 208 213 1 2795 + 19319 213 406 1 2795 + 19319 406 403 1 2795 + 19319 403 19315 1 2795 + 19319 19315 19318 1 2795 + 19315 403 398 1 2795 + 19315 398 19314 1 2795 + 19314 398 395 1 2795 + 19314 395 19313 1 2795 + 19313 395 389 1 2795 + 19313 389 4848 1 2795 + 19313 4848 19316 1 2795 + 19316 4848 4846 1 2795 + 19316 4846 19320 1 2795 + 19320 4846 4844 1 2795 + 19320 4844 19324 1 2795 + 19324 4844 386 1 2795 + 19324 386 4840 1 2795 + 19324 4840 19325 1 2795 + 19325 4840 19329 1 2795 + 19329 4840 4837 1 2795 + 19329 4837 19330 1 2795 + 19330 4837 4834 1 2795 + 19330 4834 19331 1 2795 + 19331 4834 19332 1 2795 + 19331 19332 4829 1 2795 + 19331 4829 207 1 2795 + 4829 19332 384 1 2795 + 384 19332 4831 1 2795 + 4831 19332 4834 1 2795 + 216 407 215 1 2796 + 219 404 405 1 2797 + 219 405 218 1 2797 + 222 412 4890 1 2798 + 222 4890 4179 1 2798 + 4179 4890 19333 1 2798 + 4179 19333 221 1 2798 + 221 19333 402 1 2798 + 402 19333 399 1 2798 + 399 19333 4884 1 2798 + 4884 19333 4886 1 2798 + 4884 4886 409 1 2798 + 4886 19333 4888 1 2798 + 4888 19333 4890 1 2798 + 225 415 4189 1 2799 + 4189 415 413 1 2799 + 4189 413 224 1 2799 + 19335 19334 19336 1 2800 + 19337 19336 19345 1 2800 + 19335 19336 19337 1 2800 + 19338 19337 19346 1 2800 + 19338 19346 19347 1 2800 + 19339 19338 19347 1 2800 + 19339 19347 19348 1 2800 + 19340 19339 19348 1 2800 + 19340 19348 19349 1 2800 + 19341 19340 19349 1 2800 + 19341 19349 19350 1 2800 + 19342 19350 19351 1 2800 + 19343 19342 19351 1 2800 + 19344 19352 19353 1 2800 + 19345 19344 19353 1 2800 + 19346 19345 19353 1 2800 + 19337 19345 19346 1 2800 + 19347 19346 19354 1 2800 + 19347 19354 19355 1 2800 + 19348 19347 19355 1 2800 + 19348 19355 19356 1 2800 + 19349 19348 19356 1 2800 + 19350 19349 19356 1 2800 + 19350 19356 19357 1 2800 + 19351 19350 19357 1 2800 + 19351 19357 19358 1 2800 + 19353 19352 19359 1 2800 + 19354 19353 19359 1 2800 + 19346 19353 19354 1 2800 + 19355 19354 19360 1 2800 + 19355 19360 19361 1 2800 + 19356 19355 19361 1 2800 + 19357 19356 19361 1 2800 + 19357 19361 19362 1 2800 + 19358 19357 19362 1 2800 + 19360 19359 19363 1 2800 + 19354 19359 19360 1 2800 + 19361 19360 19364 1 2800 + 19362 19361 19364 1 2800 + 19360 19363 19364 1 2800 + 19364 19363 416 1 2800 + 19364 416 227 1 2800 + 19364 227 19362 1 2800 + 19362 227 19358 1 2800 + 19358 227 230 1 2800 + 19358 230 19343 1 2800 + 19358 19343 19351 1 2800 + 19343 230 238 1 2800 + 19343 238 440 1 2800 + 19343 440 435 1 2800 + 19343 435 4937 1 2800 + 19343 4937 19342 1 2800 + 19342 4937 4935 1 2800 + 19342 4935 19350 1 2800 + 19350 4935 4933 1 2800 + 19350 4933 19341 1 2800 + 19341 4933 4931 1 2800 + 19341 4931 19340 1 2800 + 19340 4931 4929 1 2800 + 19340 4929 19339 1 2800 + 19339 4929 432 1 2800 + 19339 432 19338 1 2800 + 19338 432 4926 1 2800 + 19338 4926 19335 1 2800 + 19338 19335 19337 1 2800 + 19335 4926 19334 1 2800 + 19334 4926 427 1 2800 + 19334 427 421 1 2800 + 19334 421 4915 1 2800 + 19334 4915 19336 1 2800 + 19336 4915 4913 1 2800 + 19336 4913 19344 1 2800 + 19336 19344 19345 1 2800 + 19344 4913 4911 1 2800 + 19344 4911 418 1 2800 + 19344 418 19352 1 2800 + 19352 418 4903 1 2800 + 19352 4903 19359 1 2800 + 19359 4903 19363 1 2800 + 19363 4903 416 1 2800 + 421 427 424 1 2800 + 241 441 240 1 2801 + 4249 250 19365 1 2802 + 4249 19365 19366 1 2802 + 4249 19366 244 1 2802 + 244 19366 4228 1 2802 + 4228 19366 436 1 2802 + 4228 436 439 1 2802 + 4228 439 243 1 2802 + 436 19366 445 1 2802 + 445 19366 19365 1 2802 + 445 19365 4968 1 2802 + 445 4968 448 1 2802 + 448 4968 456 1 2802 + 448 456 451 1 2802 + 4968 19365 250 1 2802 + 19368 19367 19371 1 2803 + 19368 19371 19372 1 2803 + 19369 19368 19372 1 2803 + 19369 19372 19373 1 2803 + 19370 19369 19373 1 2803 + 19370 19373 19374 1 2803 + 19372 19371 19378 1 2803 + 19372 19378 19379 1 2803 + 19373 19372 19379 1 2803 + 19373 19379 19380 1 2803 + 19374 19373 19380 1 2803 + 19374 19380 19381 1 2803 + 19376 19375 19383 1 2803 + 19376 19383 19384 1 2803 + 19377 19376 19384 1 2803 + 19378 19377 19384 1 2803 + 19371 19377 19378 1 2803 + 19379 19378 19385 1 2803 + 19379 19385 19386 1 2803 + 19380 19379 19386 1 2803 + 19380 19386 19387 1 2803 + 19381 19380 19387 1 2803 + 19381 19387 19388 1 2803 + 19382 19381 19388 1 2803 + 19383 19390 19391 1 2803 + 19384 19383 19391 1 2803 + 19385 19384 19391 1 2803 + 19378 19384 19385 1 2803 + 19386 19385 19392 1 2803 + 19386 19392 19393 1 2803 + 19387 19386 19393 1 2803 + 19388 19387 19393 1 2803 + 19388 19393 19394 1 2803 + 19389 19388 19394 1 2803 + 19391 19390 19395 1 2803 + 19392 19391 19395 1 2803 + 19385 19391 19392 1 2803 + 19393 19392 19396 1 2803 + 19394 19393 19396 1 2803 + 19392 19395 19396 1 2803 + 19396 19395 253 1 2803 + 19396 253 4265 1 2803 + 19396 4265 19394 1 2803 + 19394 4265 19389 1 2803 + 19389 4265 256 1 2803 + 19389 256 470 1 2803 + 19389 470 5025 1 2803 + 19389 5025 19382 1 2803 + 19389 19382 19388 1 2803 + 19382 5025 5022 1 2803 + 19382 5022 19381 1 2803 + 19381 5022 5019 1 2803 + 19381 5019 19374 1 2803 + 19374 5019 5016 1 2803 + 19374 5016 19370 1 2803 + 19370 5016 5013 1 2803 + 19370 5013 19369 1 2803 + 19369 5013 5004 1 2803 + 19369 5004 19368 1 2803 + 19368 5004 4999 1 2803 + 19368 4999 19367 1 2803 + 19367 4999 459 1 2803 + 19367 459 19377 1 2803 + 19367 19377 19371 1 2803 + 19377 459 4986 1 2803 + 19377 4986 19376 1 2803 + 19376 4986 19375 1 2803 + 19375 4986 4980 1 2803 + 19375 4980 4972 1 2803 + 19375 4972 19383 1 2803 + 19383 4972 252 1 2803 + 19383 252 19390 1 2803 + 19390 252 253 1 2803 + 19390 253 19395 1 2803 + 4972 4980 457 1 2803 + 5004 5013 467 1 2803 + 5004 467 462 1 2803 + 259 473 258 1 2804 + 258 473 471 1 2804 + 262 482 261 1 2805 + 261 482 474 1 2805 + 474 482 5048 1 2805 + 474 5048 5034 1 2805 + 5034 5048 5044 1 2805 + 5034 5044 476 1 2805 + 476 5044 479 1 2805 + 265 268 5056 1 2806 + 265 5056 264 1 2806 + 264 5056 483 1 2806 + 19400 19399 19401 1 2807 + 19398 19399 19400 1 2807 + 19402 19401 19406 1 2807 + 19400 19401 19402 1 2807 + 19403 19402 19407 1 2807 + 19404 19403 19407 1 2807 + 19405 19404 19407 1 2807 + 19402 19406 19407 1 2807 + 19407 19406 4313 1 2807 + 19407 4313 19405 1 2807 + 19405 4313 4318 1 2807 + 19405 4318 5090 1 2807 + 19405 5090 5087 1 2807 + 19405 5087 19404 1 2807 + 19404 5087 488 1 2807 + 19404 488 19403 1 2807 + 19403 488 5080 1 2807 + 19403 5080 19402 1 2807 + 19402 5080 19400 1 2807 + 19400 5080 5076 1 2807 + 19400 5076 19398 1 2807 + 19398 5076 5072 1 2807 + 19398 5072 19397 1 2807 + 19398 19397 19399 1 2807 + 19399 19397 481 1 2807 + 19399 481 5057 1 2807 + 19399 5057 19401 1 2807 + 19401 5057 270 1 2807 + 19401 270 4308 1 2807 + 19401 4308 19406 1 2807 + 19406 4308 4313 1 2807 + 481 19397 5051 1 2807 + 5051 19397 5047 1 2807 + 5047 19397 5068 1 2807 + 5047 5068 480 1 2807 + 480 5068 485 1 2807 + 5068 19397 5072 1 2807 + 5090 4318 271 1 2807 + 5090 271 491 1 2807 + 4351 277 5116 1 2808 + 4351 5116 494 1 2808 + 4351 494 4347 1 2808 + 4347 494 492 1 2808 + 4347 492 4343 1 2808 + 4343 492 273 1 2808 + 4343 273 274 1 2808 + 5116 277 5140 1 2808 + 5116 5140 497 1 2808 + 497 5140 500 1 2808 + 500 5140 503 1 2808 + 280 286 512 1 2809 + 280 512 5143 1 2809 + 280 5143 279 1 2809 + 5143 512 509 1 2809 + 5143 509 504 1 2809 + 504 509 506 1 2809 + 19409 19408 19412 1 2810 + 19409 19412 19413 1 2810 + 19410 19409 19413 1 2810 + 19410 19413 5218 1 2810 + 19410 5218 19411 1 2810 + 19410 19411 5195 1 2810 + 19410 5195 518 1 2810 + 19410 518 19409 1 2810 + 19409 518 5184 1 2810 + 19409 5184 19408 1 2810 + 19408 5184 5179 1 2810 + 19408 5179 4389 1 2810 + 19408 4389 289 1 2810 + 19408 289 19412 1 2810 + 19412 289 292 1 2810 + 19412 292 19413 1 2810 + 19413 292 5222 1 2810 + 19413 5222 5218 1 2810 + 4389 5179 288 1 2810 + 288 5179 513 1 2810 + 513 5179 515 1 2810 + 5195 19411 5200 1 2810 + 5200 19411 5214 1 2810 + 5200 5214 524 1 2810 + 5200 524 521 1 2810 + 5214 19411 5218 1 2810 + 19414 19417 19418 1 2811 + 19415 19414 19418 1 2811 + 19416 19420 19421 1 2811 + 19417 19416 19421 1 2811 + 19417 19421 19422 1 2811 + 19418 19417 19422 1 2811 + 19420 19419 19423 1 2811 + 19420 19423 19424 1 2811 + 19421 19420 19424 1 2811 + 19421 19424 5237 1 2811 + 19421 5237 19422 1 2811 + 19422 5237 5235 1 2811 + 19422 5235 19418 1 2811 + 19418 5235 5233 1 2811 + 19418 5233 19415 1 2811 + 19415 5233 527 1 2811 + 19415 527 5229 1 2811 + 19415 5229 19414 1 2811 + 19414 5229 525 1 2811 + 19414 525 5217 1 2811 + 19414 5217 19417 1 2811 + 19417 5217 19416 1 2811 + 19416 5217 5221 1 2811 + 19416 5221 5225 1 2811 + 19416 5225 19420 1 2811 + 19420 5225 19419 1 2811 + 19419 5225 294 1 2811 + 19419 294 4421 1 2811 + 19419 4421 19423 1 2811 + 19423 4421 19425 1 2811 + 19423 19425 5241 1 2811 + 19423 5241 19424 1 2811 + 19424 5241 5239 1 2811 + 19424 5239 5237 1 2811 + 5241 19425 5243 1 2811 + 5243 19425 4426 1 2811 + 5243 4426 295 1 2811 + 5243 295 298 1 2811 + 4426 19425 4421 1 2811 + 19426 19430 19431 1 2812 + 19427 19426 19431 1 2812 + 19427 19431 19432 1 2812 + 19428 19427 19432 1 2812 + 19428 19432 19433 1 2812 + 19429 19428 19433 1 2812 + 19430 19435 19436 1 2812 + 19431 19430 19436 1 2812 + 19431 19436 19437 1 2812 + 19432 19431 19437 1 2812 + 19432 19437 19438 1 2812 + 19433 19432 19438 1 2812 + 19433 19438 19439 1 2812 + 19434 19440 19441 1 2812 + 19435 19434 19441 1 2812 + 19435 19441 19442 1 2812 + 19436 19435 19442 1 2812 + 19437 19436 19442 1 2812 + 19437 19442 19443 1 2812 + 19438 19437 19443 1 2812 + 19438 19443 19444 1 2812 + 19439 19438 19444 1 2812 + 19439 19444 19445 1 2812 + 19441 19440 19448 1 2812 + 19441 19448 19449 1 2812 + 19442 19441 19449 1 2812 + 19442 19449 19450 1 2812 + 19443 19442 19450 1 2812 + 19443 19450 19451 1 2812 + 19444 19443 19451 1 2812 + 19446 19452 19453 1 2812 + 19447 19446 19453 1 2812 + 19448 19447 19453 1 2812 + 19448 19453 19454 1 2812 + 19449 19448 19454 1 2812 + 19449 19454 19455 1 2812 + 19450 19449 19455 1 2812 + 19451 19450 19455 1 2812 + 19451 19455 19456 1 2812 + 19453 19452 19457 1 2812 + 19454 19453 19457 1 2812 + 19454 19457 19458 1 2812 + 19455 19454 19458 1 2812 + 19456 19455 19458 1 2812 + 19456 19458 5276 1 2812 + 19456 5276 5274 1 2812 + 19456 5274 19451 1 2812 + 19451 5274 19445 1 2812 + 19451 19445 19444 1 2812 + 19445 5274 536 1 2812 + 19445 536 5270 1 2812 + 19445 5270 19439 1 2812 + 19439 5270 5267 1 2812 + 19439 5267 19433 1 2812 + 19433 5267 19429 1 2812 + 19429 5267 5264 1 2812 + 19429 5264 533 1 2812 + 19429 533 530 1 2812 + 19429 530 19428 1 2812 + 19428 530 5247 1 2812 + 19428 5247 19427 1 2812 + 19427 5247 528 1 2812 + 19427 528 19426 1 2812 + 19426 528 5234 1 2812 + 19426 5234 19430 1 2812 + 19430 5234 5236 1 2812 + 19430 5236 19435 1 2812 + 19435 5236 5238 1 2812 + 19435 5238 19434 1 2812 + 19434 5238 5240 1 2812 + 19434 5240 19440 1 2812 + 19440 5240 5242 1 2812 + 19440 5242 19447 1 2812 + 19440 19447 19448 1 2812 + 19447 5242 5244 1 2812 + 19447 5244 19446 1 2812 + 19446 5244 300 1 2812 + 19446 300 19452 1 2812 + 19452 300 301 1 2812 + 19452 301 4479 1 2812 + 19452 4479 19457 1 2812 + 19457 4479 304 1 2812 + 19457 304 5278 1 2812 + 19457 5278 19458 1 2812 + 19458 5278 5276 1 2812 + 5280 537 5275 1 2813 + 5280 5275 19459 1 2813 + 5280 19459 5282 1 2813 + 5282 19459 19460 1 2813 + 5282 19460 5284 1 2813 + 5284 19460 4486 1 2813 + 5284 4486 307 1 2813 + 4486 19460 4484 1 2813 + 4484 19460 19459 1 2813 + 4484 19459 4482 1 2813 + 4482 19459 5279 1 2813 + 4482 5279 306 1 2813 + 5279 19459 5277 1 2813 + 5277 19459 5275 1 2813 + 19462 19464 19465 1 2814 + 19463 19462 19465 1 2814 + 19463 19465 19466 1 2814 + 19465 19464 19472 1 2814 + 19465 19472 19473 1 2814 + 19466 19465 19473 1 2814 + 19466 19473 19474 1 2814 + 19467 19466 19474 1 2814 + 19467 19474 19475 1 2814 + 19468 19467 19475 1 2814 + 19468 19475 19476 1 2814 + 19469 19468 19476 1 2814 + 19470 19469 19476 1 2814 + 19470 19476 19477 1 2814 + 19471 19470 19477 1 2814 + 19473 19472 19478 1 2814 + 19474 19473 19478 1 2814 + 19474 19478 19479 1 2814 + 19475 19474 19479 1 2814 + 19475 19479 19480 1 2814 + 19476 19475 19480 1 2814 + 19476 19480 19477 1 2814 + 19477 19480 4490 1 2814 + 19477 4490 4493 1 2814 + 19477 4493 19471 1 2814 + 19471 4493 310 1 2814 + 19471 310 316 1 2814 + 19471 316 19470 1 2814 + 19470 316 550 1 2814 + 19470 550 5324 1 2814 + 19470 5324 19469 1 2814 + 19469 5324 19468 1 2814 + 19468 5324 5318 1 2814 + 19468 5318 19467 1 2814 + 19467 5318 19466 1 2814 + 19466 5318 5312 1 2814 + 19466 5312 19463 1 2814 + 19463 5312 547 1 2814 + 19463 547 19461 1 2814 + 19463 19461 19462 1 2814 + 19462 19461 5266 1 2814 + 19462 5266 5269 1 2814 + 19462 5269 19464 1 2814 + 19464 5269 5272 1 2814 + 19464 5272 19472 1 2814 + 19472 5272 535 1 2814 + 19472 535 5281 1 2814 + 19472 5281 19478 1 2814 + 19478 5281 5283 1 2814 + 19478 5283 19479 1 2814 + 19479 5283 5285 1 2814 + 19479 5285 19480 1 2814 + 19480 5285 309 1 2814 + 19480 309 4490 1 2814 + 5266 19461 534 1 2814 + 534 19461 539 1 2814 + 539 19461 544 1 2814 + 544 19461 547 1 2814 + 4546 322 559 1 2815 + 4546 559 556 1 2815 + 4546 556 5354 1 2815 + 4546 5354 19481 1 2815 + 4546 19481 319 1 2815 + 319 19481 19482 1 2815 + 319 19482 318 1 2815 + 318 19482 551 1 2815 + 551 19482 553 1 2815 + 553 19482 5350 1 2815 + 5350 19482 19481 1 2815 + 5350 19481 5354 1 2815 + 325 562 324 1 2816 + 324 562 560 1 2816 + 328 565 563 1 2817 + 328 563 327 1 2817 + 19485 19484 19486 1 2818 + 19485 19486 5403 1 2818 + 19485 5403 571 1 2818 + 19485 571 19483 1 2818 + 19485 19483 331 1 2818 + 19485 331 19484 1 2818 + 19484 331 4593 1 2818 + 19484 4593 19486 1 2818 + 19486 4593 5406 1 2818 + 19486 5406 5403 1 2818 + 5406 4593 4599 1 2818 + 5406 4599 5409 1 2818 + 5409 4599 5412 1 2818 + 5412 4599 334 1 2818 + 5412 334 574 1 2818 + 574 334 577 1 2818 + 577 334 580 1 2818 + 331 19483 330 1 2818 + 330 19483 566 1 2818 + 566 19483 568 1 2818 + 568 19483 571 1 2818 + 337 340 591 1 2819 + 337 591 336 1 2819 + 336 591 5448 1 2819 + 336 5448 581 1 2819 + 581 5448 583 1 2819 + 583 5448 588 1 2819 + 343 594 342 1 2820 + 342 594 592 1 2820 + 4649 349 19487 1 2821 + 4649 19487 346 1 2821 + 346 19487 345 1 2821 + 345 19487 595 1 2821 + 595 19487 597 1 2821 + 597 19487 600 1 2821 + 600 19487 349 1 2821 + 352 609 351 1 2822 + 5504 606 601 1 2822 + 5504 601 351 1 2822 + 5504 351 609 1 2822 + 601 606 603 1 2822 + 610 354 612 1 2823 + 19488 19492 19493 1 2823 + 19490 19489 19494 1 2823 + 19490 19494 19495 1 2823 + 19491 19490 19495 1 2823 + 19491 19495 19496 1 2823 + 19492 19491 19496 1 2823 + 19492 19496 19497 1 2823 + 19493 19492 19497 1 2823 + 19493 19497 19498 1 2823 + 19495 19494 19500 1 2823 + 19495 19500 19501 1 2823 + 19496 19495 19501 1 2823 + 19496 19501 19502 1 2823 + 19497 19496 19502 1 2823 + 19498 19497 19502 1 2823 + 19498 19502 19503 1 2823 + 19499 19498 19503 1 2823 + 19499 19503 19504 1 2823 + 19501 19500 19506 1 2823 + 19501 19506 19507 1 2823 + 19502 19501 19507 1 2823 + 19502 19507 19508 1 2823 + 19503 19502 19508 1 2823 + 19503 19508 19509 1 2823 + 19504 19503 19509 1 2823 + 19504 19509 19510 1 2823 + 19505 19504 19510 1 2823 + 19507 19506 19516 1 2823 + 19507 19516 19517 1 2823 + 19508 19507 19517 1 2823 + 19509 19508 19517 1 2823 + 19509 19517 19518 1 2823 + 19510 19509 19518 1 2823 + 19510 19518 19519 1 2823 + 19511 19510 19519 1 2823 + 19511 19519 19520 1 2823 + 19512 19511 19520 1 2823 + 19513 19512 19520 1 2823 + 19513 19520 19521 1 2823 + 19514 19513 19521 1 2823 + 19514 19521 19522 1 2823 + 19515 19514 19522 1 2823 + 19516 19523 19524 1 2823 + 19517 19516 19524 1 2823 + 19518 19517 19524 1 2823 + 19518 19524 19525 1 2823 + 19519 19518 19525 1 2823 + 19519 19525 19526 1 2823 + 19520 19519 19526 1 2823 + 19521 19520 19526 1 2823 + 19521 19526 19527 1 2823 + 19522 19521 19527 1 2823 + 19524 19523 19528 1 2823 + 19525 19524 19528 1 2823 + 19526 19525 19528 1 2823 + 19527 19526 19528 1 2823 + 19527 19528 4686 1 2823 + 19527 4686 4691 1 2823 + 19527 4691 19522 1 2823 + 19522 4691 19515 1 2823 + 19515 4691 355 1 2823 + 19515 355 624 1 2823 + 19515 624 621 1 2823 + 19515 621 5562 1 2823 + 19515 5562 19514 1 2823 + 19514 5562 5560 1 2823 + 19514 5560 19513 1 2823 + 19513 5560 5558 1 2823 + 19513 5558 19512 1 2823 + 19512 5558 618 1 2823 + 19512 618 19511 1 2823 + 19511 618 5554 1 2823 + 19511 5554 19505 1 2823 + 19511 19505 19510 1 2823 + 19505 5554 5551 1 2823 + 19505 5551 5548 1 2823 + 19505 5548 19504 1 2823 + 19504 5548 19499 1 2823 + 19499 5548 5545 1 2823 + 19499 5545 19498 1 2823 + 19498 5545 5542 1 2823 + 19498 5542 19493 1 2823 + 19493 5542 5539 1 2823 + 19493 5539 19488 1 2823 + 19488 5539 615 1 2823 + 19488 615 5528 1 2823 + 19488 5528 19491 1 2823 + 19488 19491 19492 1 2823 + 19491 5528 19490 1 2823 + 19490 5528 5522 1 2823 + 19490 5522 19489 1 2823 + 19489 5522 4661 1 2823 + 19489 4661 4666 1 2823 + 19489 4666 19494 1 2823 + 19494 4666 4671 1 2823 + 19494 4671 19500 1 2823 + 19500 4671 19506 1 2823 + 19506 4671 4676 1 2823 + 19506 4676 19516 1 2823 + 19516 4676 19523 1 2823 + 19523 4676 4681 1 2823 + 19523 4681 4686 1 2823 + 19523 4686 19528 1 2823 + 4661 5522 612 1 2823 + 4661 612 354 1 2823 + 4717 361 19531 1 2824 + 4717 19531 19530 1 2824 + 4717 19530 358 1 2824 + 358 19530 4698 1 2824 + 4698 19530 19529 1 2824 + 4698 19529 357 1 2824 + 357 19529 625 1 2824 + 625 19529 627 1 2824 + 627 19529 19530 1 2824 + 627 19530 5580 1 2824 + 5580 19530 19531 1 2824 + 5580 19531 5587 1 2824 + 5580 5587 630 1 2824 + 5587 19531 361 1 2824 + 364 639 363 1 2825 + 363 639 19532 1 2825 + 363 19532 5589 1 2825 + 5589 19532 631 1 2825 + 631 19532 633 1 2825 + 633 19532 636 1 2825 + 636 19532 639 1 2825 + 648 645 5631 1 2826 + 19533 19536 19537 1 2826 + 19536 19535 19544 1 2826 + 19536 19544 19545 1 2826 + 19537 19536 19545 1 2826 + 19537 19545 19546 1 2826 + 19538 19537 19546 1 2826 + 19539 19538 19546 1 2826 + 19534 19538 19539 1 2826 + 19540 19539 19547 1 2826 + 19540 19547 19548 1 2826 + 19541 19540 19548 1 2826 + 19543 19542 19549 1 2826 + 19544 19543 19549 1 2826 + 19544 19549 19550 1 2826 + 19545 19544 19550 1 2826 + 19546 19545 19550 1 2826 + 19547 19546 19550 1 2826 + 19539 19546 19547 1 2826 + 19548 19547 19551 1 2826 + 19550 19549 19551 1 2826 + 19547 19550 19551 1 2826 + 19551 19549 4732 1 2826 + 19551 4732 4737 1 2826 + 19551 4737 19548 1 2826 + 19548 4737 4742 1 2826 + 19548 4742 19541 1 2826 + 19541 4742 367 1 2826 + 19541 367 370 1 2826 + 19541 370 4778 1 2826 + 19541 4778 19540 1 2826 + 19540 4778 19534 1 2826 + 19540 19534 19539 1 2826 + 19534 4778 373 1 2826 + 19534 373 5639 1 2826 + 19534 5639 19538 1 2826 + 19538 5639 5635 1 2826 + 19538 5635 19537 1 2826 + 19537 5635 5631 1 2826 + 19537 5631 19533 1 2826 + 19533 5631 645 1 2826 + 19533 645 642 1 2826 + 19533 642 19536 1 2826 + 19536 642 19535 1 2826 + 19535 642 5613 1 2826 + 19535 5613 5609 1 2826 + 19535 5609 19544 1 2826 + 19544 5609 19543 1 2826 + 19543 5609 640 1 2826 + 19543 640 19542 1 2826 + 19542 640 366 1 2826 + 19542 366 4732 1 2826 + 19542 4732 19549 1 2826 + 651 649 654 1 2827 + 376 379 660 1 2827 + 376 660 375 1 2827 + 375 660 5642 1 2827 + 5642 660 5661 1 2827 + 5642 5661 5638 1 2827 + 5638 5661 5658 1 2827 + 5638 5658 5634 1 2827 + 5634 5658 657 1 2827 + 5634 657 649 1 2827 + 649 657 654 1 2827 + 19552 19560 19561 1 2828 + 19553 19552 19561 1 2828 + 19553 19561 19562 1 2828 + 19555 19554 19563 1 2828 + 19555 19563 19564 1 2828 + 19556 19555 19564 1 2828 + 19557 19556 19564 1 2828 + 19558 19557 19565 1 2828 + 19558 19565 19566 1 2828 + 19559 19569 19570 1 2828 + 19560 19559 19570 1 2828 + 19560 19570 19571 1 2828 + 19561 19560 19571 1 2828 + 19562 19561 19571 1 2828 + 19562 19571 19572 1 2828 + 19563 19575 19576 1 2828 + 19564 19563 19576 1 2828 + 19565 19564 19576 1 2828 + 19557 19564 19565 1 2828 + 19566 19565 19577 1 2828 + 19566 19577 19578 1 2828 + 19567 19566 19578 1 2828 + 19568 19567 19578 1 2828 + 19568 19578 19579 1 2828 + 19569 19568 19579 1 2828 + 19570 19569 19579 1 2828 + 19570 19579 19580 1 2828 + 19571 19570 19580 1 2828 + 19572 19571 19580 1 2828 + 19572 19580 19581 1 2828 + 19573 19572 19581 1 2828 + 19574 19573 19581 1 2828 + 19574 19581 19582 1 2828 + 19575 19574 19582 1 2828 + 19576 19575 19582 1 2828 + 19577 19576 19582 1 2828 + 19565 19576 19577 1 2828 + 19578 19577 19583 1 2828 + 19579 19578 19583 1 2828 + 19580 19579 19583 1 2828 + 19581 19580 19583 1 2828 + 19582 19581 19583 1 2828 + 19577 19582 19583 1 2828 + 19575 19563 5699 1 2828 + 19575 5699 19574 1 2828 + 19574 5699 5693 1 2828 + 19574 5693 19573 1 2828 + 19573 5693 5687 1 2828 + 19573 5687 19572 1 2828 + 19572 5687 19562 1 2828 + 19562 5687 5681 1 2828 + 19562 5681 19553 1 2828 + 19553 5681 665 1 2828 + 19553 665 661 1 2828 + 19553 661 19552 1 2828 + 19552 661 381 1 2828 + 19552 381 4821 1 2828 + 19552 4821 4825 1 2828 + 19552 4825 19560 1 2828 + 19560 4825 19559 1 2828 + 19559 4825 382 1 2828 + 19559 382 4833 1 2828 + 19559 4833 19569 1 2828 + 19569 4833 19568 1 2828 + 19568 4833 4836 1 2828 + 19568 4836 4839 1 2828 + 19568 4839 19567 1 2828 + 19567 4839 4842 1 2828 + 19567 4842 19566 1 2828 + 19566 4842 19558 1 2828 + 19558 4842 385 1 2828 + 19558 385 5729 1 2828 + 19558 5729 19557 1 2828 + 19557 5729 5727 1 2828 + 19557 5727 19556 1 2828 + 19556 5727 5725 1 2828 + 19556 5725 19555 1 2828 + 19555 5725 674 1 2828 + 19555 674 19554 1 2828 + 19554 674 668 1 2828 + 19554 668 5705 1 2828 + 19554 5705 19563 1 2828 + 19563 5705 5699 1 2828 + 668 674 671 1 2828 + 5731 675 5726 1 2829 + 5731 5726 19586 1 2829 + 5731 19586 5733 1 2829 + 5733 19586 19584 1 2829 + 5733 19584 5735 1 2829 + 5735 19584 4849 1 2829 + 5735 4849 388 1 2829 + 4849 19584 4847 1 2829 + 4847 19584 19585 1 2829 + 4847 19585 4845 1 2829 + 4845 19585 5730 1 2829 + 4845 5730 387 1 2829 + 5730 19585 5728 1 2829 + 5728 19585 19586 1 2829 + 5728 19586 5726 1 2829 + 19586 19585 19584 1 2829 + 390 391 5736 1 2830 + 680 677 5761 1 2830 + 19588 19590 19591 1 2830 + 19589 19588 19591 1 2830 + 19589 19591 5734 1 2830 + 19589 5734 19587 1 2830 + 19589 19587 683 1 2830 + 19589 683 5761 1 2830 + 19589 5761 19588 1 2830 + 19588 5761 5745 1 2830 + 19588 5745 5740 1 2830 + 19588 5740 19590 1 2830 + 19590 5740 673 1 2830 + 19590 673 5732 1 2830 + 19590 5732 19591 1 2830 + 19591 5732 5734 1 2830 + 673 5740 672 1 2830 + 5745 5761 677 1 2830 + 683 19587 5769 1 2830 + 5769 19587 5736 1 2830 + 5769 5736 391 1 2830 + 5736 19587 5734 1 2830 + 5780 686 19592 1 2831 + 5780 19592 394 1 2831 + 394 19592 393 1 2831 + 393 19592 5772 1 2831 + 5772 19592 5775 1 2831 + 5772 5775 684 1 2831 + 5775 19592 686 1 2831 + 19593 19595 19596 1 2832 + 19594 19593 19596 1 2832 + 19596 19595 19597 1 2832 + 19596 19597 5835 1 2832 + 19596 5835 5832 1 2832 + 19596 5832 19594 1 2832 + 19594 5832 698 1 2832 + 19594 698 695 1 2832 + 19594 695 692 1 2832 + 19594 692 19593 1 2832 + 19593 692 5809 1 2832 + 19593 5809 19595 1 2832 + 19595 5809 689 1 2832 + 19595 689 5798 1 2832 + 19595 5798 19597 1 2832 + 19597 5798 5792 1 2832 + 19597 5792 19598 1 2832 + 19597 19598 5835 1 2832 + 5835 19598 5838 1 2832 + 5838 19598 5841 1 2832 + 5841 19598 687 1 2832 + 5841 687 5844 1 2832 + 5844 687 19599 1 2832 + 5844 19599 5847 1 2832 + 5847 19599 408 1 2832 + 408 19599 396 1 2832 + 408 396 4885 1 2832 + 4885 396 397 1 2832 + 396 19599 5784 1 2832 + 5784 19599 687 1 2832 + 687 19598 5792 1 2832 + 19600 19601 19602 1 2833 + 19602 19601 19603 1 2833 + 19602 19603 19604 1 2833 + 19603 19606 19607 1 2833 + 19604 19603 19607 1 2833 + 19604 19607 19608 1 2833 + 19605 19604 19608 1 2833 + 19605 19608 19609 1 2833 + 19606 19611 19612 1 2833 + 19607 19606 19612 1 2833 + 19607 19612 19613 1 2833 + 19608 19607 19613 1 2833 + 19608 19613 19614 1 2833 + 19609 19608 19614 1 2833 + 19610 19609 19614 1 2833 + 19612 19611 19617 1 2833 + 19612 19617 19618 1 2833 + 19613 19612 19618 1 2833 + 19613 19618 19619 1 2833 + 19614 19613 19619 1 2833 + 19615 19614 19619 1 2833 + 19610 19614 19615 1 2833 + 19616 19615 19620 1 2833 + 19616 19620 19621 1 2833 + 19618 19617 19622 1 2833 + 19618 19622 19623 1 2833 + 19619 19618 19623 1 2833 + 19620 19619 19623 1 2833 + 19615 19619 19620 1 2833 + 19621 19620 19624 1 2833 + 19623 19622 19625 1 2833 + 19624 19623 19625 1 2833 + 19620 19623 19624 1 2833 + 19624 19625 4891 1 2833 + 19624 4891 411 1 2833 + 19624 411 19621 1 2833 + 19621 411 414 1 2833 + 19621 414 4907 1 2833 + 19621 4907 19616 1 2833 + 19616 4907 417 1 2833 + 19616 417 19610 1 2833 + 19616 19610 19615 1 2833 + 19610 417 5868 1 2833 + 19610 5868 19609 1 2833 + 19609 5868 5864 1 2833 + 19609 5864 19605 1 2833 + 19605 5864 701 1 2833 + 19605 701 19602 1 2833 + 19605 19602 19604 1 2833 + 19602 701 19600 1 2833 + 19600 701 5854 1 2833 + 19600 5854 5834 1 2833 + 19600 5834 5837 1 2833 + 19600 5837 19601 1 2833 + 19601 5837 5840 1 2833 + 19601 5840 19603 1 2833 + 19603 5840 5843 1 2833 + 19603 5843 19606 1 2833 + 19606 5843 5846 1 2833 + 19606 5846 19611 1 2833 + 19611 5846 5849 1 2833 + 19611 5849 19617 1 2833 + 19617 5849 410 1 2833 + 19617 410 4887 1 2833 + 19617 4887 19622 1 2833 + 19622 4887 19625 1 2833 + 19625 4887 4889 1 2833 + 19625 4889 4891 1 2833 + 5834 5854 699 1 2833 + 19627 19626 19629 1 2834 + 19627 19629 19628 1 2834 + 19627 19628 5878 1 2834 + 19627 5878 5876 1 2834 + 19627 5876 19626 1 2834 + 19626 5876 5874 1 2834 + 19626 5874 5867 1 2834 + 19626 5867 19629 1 2834 + 19629 5867 5871 1 2834 + 19629 5871 4912 1 2834 + 19629 4912 4914 1 2834 + 19629 4914 19628 1 2834 + 19628 4914 4916 1 2834 + 19628 4916 420 1 2834 + 19628 420 5878 1 2834 + 4912 5871 419 1 2834 + 5867 5874 702 1 2834 + 19631 19633 19634 1 2835 + 19632 19631 19634 1 2835 + 19632 19634 19635 1 2835 + 19633 19637 19638 1 2835 + 19633 19638 19639 1 2835 + 19634 19633 19639 1 2835 + 19634 19639 19640 1 2835 + 19635 19634 19640 1 2835 + 19635 19640 19641 1 2835 + 19636 19635 19641 1 2835 + 19636 19641 19642 1 2835 + 19637 19643 19644 1 2835 + 19638 19637 19644 1 2835 + 19638 19644 19645 1 2835 + 19639 19638 19645 1 2835 + 19639 19645 19646 1 2835 + 19640 19639 19646 1 2835 + 19640 19646 19647 1 2835 + 19641 19640 19647 1 2835 + 19641 19647 19648 1 2835 + 19642 19641 19648 1 2835 + 19642 19648 19649 1 2835 + 19646 19645 19650 1 2835 + 19646 19650 19651 1 2835 + 19647 19646 19651 1 2835 + 19647 19651 19652 1 2835 + 19648 19647 19652 1 2835 + 19648 19652 19653 1 2835 + 19649 19648 19653 1 2835 + 19649 19653 19654 1 2835 + 19649 19654 5912 1 2835 + 19649 5912 5907 1 2835 + 19649 5907 19642 1 2835 + 19642 5907 19636 1 2835 + 19636 5907 707 1 2835 + 19636 707 5900 1 2835 + 19636 5900 19635 1 2835 + 19635 5900 19632 1 2835 + 19632 5900 5897 1 2835 + 19632 5897 19631 1 2835 + 19631 5897 19630 1 2835 + 19631 19630 19633 1 2835 + 19633 19630 5888 1 2835 + 19633 5888 19637 1 2835 + 19637 5888 5883 1 2835 + 19637 5883 19643 1 2835 + 19643 5883 696 1 2835 + 19643 696 697 1 2835 + 19643 697 19644 1 2835 + 19644 697 5858 1 2835 + 19644 5858 19645 1 2835 + 19645 5858 19650 1 2835 + 19650 5858 700 1 2835 + 19650 700 19651 1 2835 + 19651 700 5875 1 2835 + 19651 5875 19652 1 2835 + 19652 5875 5877 1 2835 + 19652 5877 19653 1 2835 + 19653 5877 5879 1 2835 + 19653 5879 19654 1 2835 + 19654 5879 422 1 2835 + 19654 422 710 1 2835 + 19654 710 5912 1 2835 + 710 422 423 1 2835 + 5888 19630 704 1 2835 + 704 19630 5897 1 2835 + 426 713 425 1 2836 + 425 713 711 1 2836 + 739 736 431 1 2837 + 19656 19655 19659 1 2837 + 19656 19659 19660 1 2837 + 19657 19656 19660 1 2837 + 19660 19659 19662 1 2837 + 19660 19662 5958 1 2837 + 19660 5958 727 1 2837 + 19660 727 19657 1 2837 + 19657 727 19658 1 2837 + 19657 19658 721 1 2837 + 19657 721 5942 1 2837 + 19657 5942 19656 1 2837 + 19656 5942 5938 1 2837 + 19656 5938 19655 1 2837 + 19655 5938 718 1 2837 + 19655 718 714 1 2837 + 19655 714 428 1 2837 + 19655 428 19659 1 2837 + 19659 428 4922 1 2837 + 19659 4922 19662 1 2837 + 19662 4922 5962 1 2837 + 19662 5962 5958 1 2837 + 5962 4922 5966 1 2837 + 5966 4922 19663 1 2837 + 5966 19663 5970 1 2837 + 5970 19663 19661 1 2837 + 5970 19661 730 1 2837 + 730 19661 5978 1 2837 + 5978 19661 733 1 2837 + 733 19661 736 1 2837 + 736 19661 431 1 2837 + 431 19661 19663 1 2837 + 431 19663 4922 1 2837 + 721 19658 724 1 2837 + 724 19658 5950 1 2837 + 5950 19658 727 1 2837 + 742 740 745 1 2838 + 434 444 4938 1 2838 + 4938 444 6038 1 2838 + 4938 6038 19664 1 2838 + 4938 19664 4936 1 2838 + 4936 19664 4934 1 2838 + 4934 19664 6032 1 2838 + 4934 6032 4932 1 2838 + 4932 6032 4930 1 2838 + 4930 6032 748 1 2838 + 4930 748 745 1 2838 + 4930 745 740 1 2838 + 4930 740 433 1 2838 + 6032 19664 6038 1 2838 + 6038 444 754 1 2838 + 6038 754 751 1 2838 + 447 755 446 1 2839 + 450 752 449 1 2840 + 449 752 753 1 2840 + 19666 19667 19668 1 2841 + 19668 19667 19670 1 2841 + 19670 19669 19671 1 2841 + 19667 19669 19670 1 2841 + 19670 19671 4991 1 2841 + 19670 4991 19668 1 2841 + 19668 4991 458 1 2841 + 19668 458 6106 1 2841 + 19668 6106 19666 1 2841 + 19666 6106 6104 1 2841 + 19666 6104 19665 1 2841 + 19666 19665 6087 1 2841 + 19666 6087 6082 1 2841 + 19666 6082 19667 1 2841 + 19667 6082 6077 1 2841 + 19667 6077 19669 1 2841 + 19669 6077 757 1 2841 + 19669 757 749 1 2841 + 19669 749 6037 1 2841 + 19669 6037 19671 1 2841 + 19671 6037 6043 1 2841 + 19671 6043 4985 1 2841 + 19671 4985 4991 1 2841 + 4985 6043 452 1 2841 + 4985 452 455 1 2841 + 452 6043 750 1 2841 + 6087 19665 6092 1 2841 + 6092 19665 6102 1 2841 + 6092 6102 763 1 2841 + 6092 763 760 1 2841 + 6102 19665 6104 1 2841 + 6112 766 19672 1 2842 + 6112 19672 5008 1 2842 + 6112 5008 461 1 2842 + 5008 19672 5003 1 2842 + 5003 19672 6105 1 2842 + 5003 6105 6107 1 2842 + 5003 6107 460 1 2842 + 6105 19672 6103 1 2842 + 6103 19672 766 1 2842 + 6103 766 764 1 2842 + 6158 781 6145 1 2843 + 6158 6145 19675 1 2843 + 6158 19675 466 1 2843 + 466 19675 19674 1 2843 + 466 19674 463 1 2843 + 463 19674 6117 1 2843 + 6117 19674 19673 1 2843 + 6117 19673 767 1 2843 + 767 19673 6137 1 2843 + 767 6137 6135 1 2843 + 767 6135 6125 1 2843 + 6125 6135 772 1 2843 + 6125 772 769 1 2843 + 6137 19673 6139 1 2843 + 6139 19673 775 1 2843 + 775 19673 19674 1 2843 + 775 19674 19675 1 2843 + 775 19675 6142 1 2843 + 6142 19675 6145 1 2843 + 6145 781 778 1 2843 + 19678 19677 19679 1 2844 + 19678 19679 19680 1 2844 + 19680 19679 19681 1 2844 + 19680 19681 19682 1 2844 + 19680 19682 6182 1 2844 + 19680 6182 6178 1 2844 + 19680 6178 19678 1 2844 + 19678 6178 784 1 2844 + 19678 784 782 1 2844 + 19678 782 19677 1 2844 + 19677 782 19676 1 2844 + 19677 19676 5021 1 2844 + 19677 5021 19679 1 2844 + 19679 5021 5024 1 2844 + 19679 5024 19681 1 2844 + 19681 5024 5027 1 2844 + 19681 5027 19683 1 2844 + 19681 19683 19682 1 2844 + 19682 19683 5036 1 2844 + 19682 5036 475 1 2844 + 19682 475 6182 1 2844 + 5036 19683 472 1 2844 + 472 19683 469 1 2844 + 469 19683 5027 1 2844 + 5021 19676 5018 1 2844 + 5018 19676 5015 1 2844 + 5015 19676 6164 1 2844 + 5015 6164 468 1 2844 + 6164 19676 782 1 2844 + 19685 19684 19686 1 2845 + 19685 19686 6216 1 2845 + 19685 6216 790 1 2845 + 19685 790 6199 1 2845 + 19685 6199 19684 1 2845 + 19684 6199 787 1 2845 + 19684 787 785 1 2845 + 19684 785 6181 1 2845 + 19684 6181 6185 1 2845 + 19684 6185 19686 1 2845 + 19686 6185 477 1 2845 + 19686 477 484 1 2845 + 19686 484 6216 1 2845 + 484 477 478 1 2845 + 790 6216 795 1 2845 + 801 798 6237 1 2846 + 487 807 6252 1 2846 + 487 6252 5083 1 2846 + 5083 6252 6250 1 2846 + 5083 6250 5079 1 2846 + 5079 6250 804 1 2846 + 5079 804 6246 1 2846 + 5079 6246 5075 1 2846 + 5075 6246 6243 1 2846 + 5075 6243 5071 1 2846 + 5071 6243 6240 1 2846 + 5071 6240 486 1 2846 + 486 6240 6222 1 2846 + 6222 6240 6237 1 2846 + 6222 6237 796 1 2846 + 796 6237 798 1 2846 + 19687 19689 19690 1 2847 + 19688 19687 19690 1 2847 + 19690 19689 19691 1 2847 + 19690 19691 19692 1 2847 + 19690 19692 5092 1 2847 + 19690 5092 19688 1 2847 + 19688 5092 490 1 2847 + 19688 490 493 1 2847 + 19688 493 19687 1 2847 + 19687 493 6276 1 2847 + 19687 6276 6271 1 2847 + 19687 6271 6262 1 2847 + 19687 6262 6258 1 2847 + 19687 6258 19689 1 2847 + 19689 6258 810 1 2847 + 19689 810 19691 1 2847 + 19691 810 808 1 2847 + 19691 808 19692 1 2847 + 19692 808 5089 1 2847 + 19692 5089 5092 1 2847 + 5089 808 489 1 2847 + 6262 6271 813 1 2847 + 19694 19693 19696 1 2848 + 19694 19696 6310 1 2848 + 19694 6310 6306 1 2848 + 19694 6306 19693 1 2848 + 19693 6306 822 1 2848 + 19693 822 816 1 2848 + 19693 816 814 1 2848 + 19693 814 6275 1 2848 + 19693 6275 19696 1 2848 + 19696 6275 6280 1 2848 + 19696 6280 19697 1 2848 + 19696 19697 6310 1 2848 + 6310 19697 19695 1 2848 + 6310 19695 6314 1 2848 + 6314 19695 825 1 2848 + 825 19695 5121 1 2848 + 825 5121 496 1 2848 + 5121 19695 19697 1 2848 + 5121 19697 495 1 2848 + 495 19697 6280 1 2848 + 816 822 819 1 2848 + 499 837 828 1 2849 + 499 828 498 1 2849 + 498 828 826 1 2849 + 828 837 831 1 2849 + 831 837 834 1 2849 + 502 505 838 1 2850 + 502 838 501 1 2850 + 508 843 840 1 2851 + 508 840 836 1 2851 + 508 836 507 1 2851 + 836 840 835 1 2851 + 511 514 510 1 2852 + 510 514 844 1 2852 + 855 852 6442 1 2853 + 19701 19700 19702 1 2853 + 19701 19702 6450 1 2853 + 19701 6450 19698 1 2853 + 19701 19698 6418 1 2853 + 19701 6418 846 1 2853 + 19701 846 19700 1 2853 + 19700 846 6404 1 2853 + 19700 6404 19699 1 2853 + 19700 19699 5188 1 2853 + 19700 5188 19702 1 2853 + 19702 5188 517 1 2853 + 19702 517 6450 1 2853 + 5188 19699 5183 1 2853 + 5183 19699 6398 1 2853 + 5183 6398 516 1 2853 + 516 6398 6392 1 2853 + 516 6392 842 1 2853 + 842 6392 829 1 2853 + 842 829 841 1 2853 + 841 829 830 1 2853 + 6398 19699 6404 1 2853 + 6418 19698 6424 1 2853 + 6424 19698 6446 1 2853 + 6424 6446 6444 1 2853 + 6424 6444 6430 1 2853 + 6430 6444 6442 1 2853 + 6430 6442 849 1 2853 + 849 6442 852 1 2853 + 6446 19698 6448 1 2853 + 6448 19698 6450 1 2853 + 19704 19703 19705 1 2854 + 19704 19705 19706 1 2854 + 19705 19708 19709 1 2854 + 19706 19705 19709 1 2854 + 19706 19709 19710 1 2854 + 19707 19706 19710 1 2854 + 19709 19708 19713 1 2854 + 19709 19713 19714 1 2854 + 19710 19709 19714 1 2854 + 19710 19714 19715 1 2854 + 19711 19710 19715 1 2854 + 19711 19715 19716 1 2854 + 19712 19711 19716 1 2854 + 19714 19713 19717 1 2854 + 19714 19717 19718 1 2854 + 19715 19714 19718 1 2854 + 19716 19715 19718 1 2854 + 19716 19718 19719 1 2854 + 19716 19719 861 1 2854 + 19716 861 19712 1 2854 + 19712 861 858 1 2854 + 19712 858 6462 1 2854 + 19712 6462 19711 1 2854 + 19711 6462 6460 1 2854 + 19711 6460 19707 1 2854 + 19711 19707 19710 1 2854 + 19707 6460 6458 1 2854 + 19707 6458 6456 1 2854 + 19707 6456 19706 1 2854 + 19706 6456 19704 1 2854 + 19704 6456 6454 1 2854 + 19704 6454 19703 1 2854 + 19703 6454 6452 1 2854 + 19703 6452 6443 1 2854 + 19703 6443 6445 1 2854 + 19703 6445 6447 1 2854 + 19703 6447 19705 1 2854 + 19705 6447 19708 1 2854 + 19708 6447 6449 1 2854 + 19708 6449 19713 1 2854 + 19713 6449 6451 1 2854 + 19713 6451 19717 1 2854 + 19717 6451 519 1 2854 + 19717 519 5199 1 2854 + 19717 5199 19718 1 2854 + 19718 5199 5204 1 2854 + 19718 5204 19719 1 2854 + 19719 5204 520 1 2854 + 19719 520 861 1 2854 + 6443 6452 856 1 2854 + 5231 526 19721 1 2855 + 5231 19721 19720 1 2855 + 5231 19720 523 1 2855 + 523 19720 522 1 2855 + 522 19720 862 1 2855 + 862 19720 864 1 2855 + 864 19720 19721 1 2855 + 864 19721 6487 1 2855 + 6487 19721 526 1 2855 + 6487 526 5250 1 2855 + 6487 5250 6490 1 2855 + 6490 5250 529 1 2855 + 532 538 6506 1 2856 + 532 6506 531 1 2856 + 531 6506 6502 1 2856 + 531 6502 6492 1 2856 + 6492 6502 6498 1 2856 + 6492 6498 19722 1 2856 + 6492 19722 6489 1 2856 + 6489 19722 867 1 2856 + 6489 867 865 1 2856 + 867 19722 6498 1 2856 + 867 6498 870 1 2856 + 19723 19725 19726 1 2857 + 19724 19728 19729 1 2857 + 19725 19724 19729 1 2857 + 19725 19729 19730 1 2857 + 19726 19725 19730 1 2857 + 19726 19730 19731 1 2857 + 19727 19726 19731 1 2857 + 19727 19731 19732 1 2857 + 19728 19733 19734 1 2857 + 19729 19728 19734 1 2857 + 19729 19734 19735 1 2857 + 19730 19729 19735 1 2857 + 19730 19735 19736 1 2857 + 19731 19730 19736 1 2857 + 19731 19736 19737 1 2857 + 19732 19731 19737 1 2857 + 19732 19737 19738 1 2857 + 19733 19739 19740 1 2857 + 19734 19733 19740 1 2857 + 19735 19734 19740 1 2857 + 19735 19740 19741 1 2857 + 19736 19735 19741 1 2857 + 19736 19741 19742 1 2857 + 19737 19736 19742 1 2857 + 19737 19742 19743 1 2857 + 19738 19737 19743 1 2857 + 19738 19743 19744 1 2857 + 19740 19739 19745 1 2857 + 19740 19745 19746 1 2857 + 19741 19740 19746 1 2857 + 19741 19746 19747 1 2857 + 19742 19741 19747 1 2857 + 19742 19747 19748 1 2857 + 19743 19742 19748 1 2857 + 19744 19743 19748 1 2857 + 19744 19748 19749 1 2857 + 19745 19750 19751 1 2857 + 19746 19745 19751 1 2857 + 19747 19746 19751 1 2857 + 19747 19751 19752 1 2857 + 19748 19747 19752 1 2857 + 19749 19748 19752 1 2857 + 19751 19750 19753 1 2857 + 19752 19751 19753 1 2857 + 19752 19753 6561 1 2857 + 19752 6561 19749 1 2857 + 19749 6561 879 1 2857 + 19749 879 19744 1 2857 + 19744 879 6553 1 2857 + 19744 6553 19738 1 2857 + 19738 6553 6550 1 2857 + 19738 6550 876 1 2857 + 19738 876 19732 1 2857 + 19732 876 6543 1 2857 + 19732 6543 19727 1 2857 + 19727 6543 6539 1 2857 + 19727 6539 19726 1 2857 + 19726 6539 6535 1 2857 + 19726 6535 19723 1 2857 + 19723 6535 873 1 2857 + 19723 873 6525 1 2857 + 19723 6525 19724 1 2857 + 19723 19724 19725 1 2857 + 19724 6525 6520 1 2857 + 19724 6520 6515 1 2857 + 19724 6515 19728 1 2857 + 19728 6515 19733 1 2857 + 19733 6515 871 1 2857 + 19733 871 6501 1 2857 + 19733 6501 19739 1 2857 + 19739 6501 6505 1 2857 + 19739 6505 19745 1 2857 + 19745 6505 6509 1 2857 + 19745 6509 19750 1 2857 + 19750 6509 540 1 2857 + 19750 540 543 1 2857 + 19750 543 19753 1 2857 + 19753 543 882 1 2857 + 19753 882 6561 1 2857 + 546 883 545 1 2858 + 19754 19757 19758 1 2859 + 19755 19760 19761 1 2859 + 19756 19755 19761 1 2859 + 19756 19761 19762 1 2859 + 19757 19756 19762 1 2859 + 19757 19762 19763 1 2859 + 19758 19757 19763 1 2859 + 19758 19763 19764 1 2859 + 19760 19759 19765 1 2859 + 19760 19765 19766 1 2859 + 19761 19760 19766 1 2859 + 19761 19766 19767 1 2859 + 19762 19761 19767 1 2859 + 19763 19762 19767 1 2859 + 19763 19767 19768 1 2859 + 19764 19763 19768 1 2859 + 19764 19768 19769 1 2859 + 19766 19765 19772 1 2859 + 19766 19772 19773 1 2859 + 19767 19766 19773 1 2859 + 19768 19767 19773 1 2859 + 19768 19773 19774 1 2859 + 19769 19768 19774 1 2859 + 19770 19769 19774 1 2859 + 19770 19774 19775 1 2859 + 19771 19770 19775 1 2859 + 19773 19772 19776 1 2859 + 19774 19773 19776 1 2859 + 19775 19774 19776 1 2859 + 19775 19776 5329 1 2859 + 19775 5329 19771 1 2859 + 19771 5329 6613 1 2859 + 19771 6613 6610 1 2859 + 19771 6610 19770 1 2859 + 19770 6610 894 1 2859 + 19770 894 6603 1 2859 + 19770 6603 19769 1 2859 + 19769 6603 19764 1 2859 + 19764 6603 6599 1 2859 + 19764 6599 6595 1 2859 + 19764 6595 19758 1 2859 + 19758 6595 19754 1 2859 + 19754 6595 891 1 2859 + 19754 891 888 1 2859 + 19754 888 885 1 2859 + 19754 885 19757 1 2859 + 19757 885 19756 1 2859 + 19756 885 6577 1 2859 + 19756 6577 19755 1 2859 + 19755 6577 880 1 2859 + 19755 880 19760 1 2859 + 19760 880 6566 1 2859 + 19760 6566 19759 1 2859 + 19759 6566 881 1 2859 + 19759 881 5317 1 2859 + 19759 5317 19765 1 2859 + 19765 5317 19772 1 2859 + 19772 5317 5323 1 2859 + 19772 5323 19776 1 2859 + 19776 5323 5329 1 2859 + 5317 881 548 1 2859 + 6613 5329 552 1 2859 + 552 5329 549 1 2859 + 19778 19777 19779 1 2860 + 19778 19779 6615 1 2860 + 19778 6615 554 1 2860 + 19778 554 5353 1 2860 + 19778 5353 19777 1 2860 + 19777 5353 5357 1 2860 + 19777 5357 6621 1 2860 + 19777 6621 6618 1 2860 + 19777 6618 19779 1 2860 + 19779 6618 897 1 2860 + 19779 897 6612 1 2860 + 19779 6612 6615 1 2860 + 6612 897 895 1 2860 + 6621 5357 555 1 2860 + 19782 19785 19786 1 2861 + 19783 19782 19786 1 2861 + 19784 19783 19786 1 2861 + 19781 19783 19784 1 2861 + 19786 19785 19788 1 2861 + 19787 19786 19788 1 2861 + 19784 19786 19787 1 2861 + 19787 19788 19789 1 2861 + 19789 19788 6627 1 2861 + 19789 6627 6625 1 2861 + 19789 6625 898 1 2861 + 19789 898 19787 1 2861 + 19787 898 6620 1 2861 + 19787 6620 19784 1 2861 + 19784 6620 6623 1 2861 + 19784 6623 19781 1 2861 + 19781 6623 557 1 2861 + 19781 557 558 1 2861 + 19781 558 19780 1 2861 + 19781 19780 19783 1 2861 + 19783 19780 567 1 2861 + 19783 567 19782 1 2861 + 19782 567 906 1 2861 + 19782 906 6633 1 2861 + 19782 6633 19785 1 2861 + 19785 6633 6631 1 2861 + 19785 6631 6629 1 2861 + 19785 6629 19788 1 2861 + 19788 6629 6627 1 2861 + 6633 906 903 1 2861 + 567 19780 564 1 2861 + 564 19780 558 1 2861 + 564 558 561 1 2861 + 6625 6627 900 1 2861 + 6653 907 569 1 2862 + 6653 569 570 1 2862 + 19791 19790 19793 1 2863 + 19791 19793 5533 1 2863 + 19791 5533 614 1 2863 + 19791 614 6660 1 2863 + 19791 6660 904 1 2863 + 19791 904 19790 1 2863 + 19790 904 905 1 2863 + 19790 905 6654 1 2863 + 19790 6654 19793 1 2863 + 19793 6654 19792 1 2863 + 19793 19792 5527 1 2863 + 19793 5527 5533 1 2863 + 5527 19792 5405 1 2863 + 5527 5405 5408 1 2863 + 5527 5408 613 1 2863 + 613 5408 5411 1 2863 + 613 5411 16395 1 2863 + 16395 5411 5414 1 2863 + 16395 5414 3322 1 2863 + 3322 5414 573 1 2863 + 5405 19792 572 1 2863 + 572 19792 6654 1 2863 + 6660 614 6692 1 2863 + 6660 6692 909 1 2863 + 909 6692 6686 1 2863 + 909 6686 6674 1 2863 + 6674 6686 918 1 2863 + 6674 918 915 1 2863 + 6674 915 912 1 2863 + 576 3328 575 1 2864 + 575 3328 3325 1 2864 + 575 3325 604 1 2864 + 575 604 605 1 2864 + 575 605 3323 1 2864 + 579 582 3329 1 2865 + 579 3329 578 1 2865 + 587 3331 584 1 2866 + 584 3331 3327 1 2866 + 3327 3331 3326 1 2866 + 590 593 596 1 2867 + 590 596 5453 1 2867 + 5453 596 3332 1 2867 + 5453 3332 589 1 2867 + 599 602 3324 1 2868 + 599 3324 598 1 2868 + 598 3324 3330 1 2868 + 608 611 16398 1 2869 + 608 16398 5507 1 2869 + 5507 16398 3321 1 2869 + 5507 3321 607 1 2869 + 19794 19797 19798 1 2870 + 19795 19794 19798 1 2870 + 19795 19798 19799 1 2870 + 19795 19799 19800 1 2870 + 19796 19795 19800 1 2870 + 19796 19800 19801 1 2870 + 19797 19803 19804 1 2870 + 19798 19797 19804 1 2870 + 19798 19804 19805 1 2870 + 19799 19798 19805 1 2870 + 19799 19805 19806 1 2870 + 19799 19806 19807 1 2870 + 19800 19799 19807 1 2870 + 19800 19807 19808 1 2870 + 19801 19800 19808 1 2870 + 19801 19808 19809 1 2870 + 19802 19801 19809 1 2870 + 19802 19809 19810 1 2870 + 19803 19812 19813 1 2870 + 19804 19803 19813 1 2870 + 19804 19813 19814 1 2870 + 19805 19804 19814 1 2870 + 19805 19814 19815 1 2870 + 19806 19805 19815 1 2870 + 19806 19815 19816 1 2870 + 19807 19806 19816 1 2870 + 19807 19816 19817 1 2870 + 19808 19807 19817 1 2870 + 19808 19817 19818 1 2870 + 19809 19808 19818 1 2870 + 19809 19818 19819 1 2870 + 19809 19819 19820 1 2870 + 19810 19809 19820 1 2870 + 19810 19820 19821 1 2870 + 19811 19810 19821 1 2870 + 19812 19823 19824 1 2870 + 19813 19812 19824 1 2870 + 19813 19824 19825 1 2870 + 19814 19813 19825 1 2870 + 19814 19825 19826 1 2870 + 19815 19814 19826 1 2870 + 19815 19826 19827 1 2870 + 19816 19815 19827 1 2870 + 19816 19827 19828 1 2870 + 19817 19816 19828 1 2870 + 19817 19828 19829 1 2870 + 19818 19817 19829 1 2870 + 19818 19829 19830 1 2870 + 19819 19818 19830 1 2870 + 19819 19830 19831 1 2870 + 19820 19819 19831 1 2870 + 19820 19831 19832 1 2870 + 19821 19820 19832 1 2870 + 19824 19823 19833 1 2870 + 19824 19833 19834 1 2870 + 19825 19824 19834 1 2870 + 19825 19834 19835 1 2870 + 19826 19825 19835 1 2870 + 19826 19835 19836 1 2870 + 19827 19826 19836 1 2870 + 19827 19836 19837 1 2870 + 19828 19827 19837 1 2870 + 19828 19837 19838 1 2870 + 19829 19828 19838 1 2870 + 19829 19838 19839 1 2870 + 19830 19829 19839 1 2870 + 19830 19839 19840 1 2870 + 19831 19830 19840 1 2870 + 19831 19840 19841 1 2870 + 19832 19831 19841 1 2870 + 19835 19834 19842 1 2870 + 19835 19842 19843 1 2870 + 19836 19835 19843 1 2870 + 19836 19843 19844 1 2870 + 19837 19836 19844 1 2870 + 19837 19844 19845 1 2870 + 19838 19837 19845 1 2870 + 19838 19845 19846 1 2870 + 19839 19838 19846 1 2870 + 19839 19846 19847 1 2870 + 19840 19839 19847 1 2870 + 19841 19840 19847 1 2870 + 19841 19847 19848 1 2870 + 19843 19842 19849 1 2870 + 19843 19849 19850 1 2870 + 19844 19843 19850 1 2870 + 19845 19844 19850 1 2870 + 19845 19850 19851 1 2870 + 19846 19845 19851 1 2870 + 19846 19851 19852 1 2870 + 19847 19846 19852 1 2870 + 19851 19850 19853 1 2870 + 19851 19853 19852 1 2870 + 19852 19853 617 1 2870 + 19852 617 6739 1 2870 + 19852 6739 6737 1 2870 + 19852 6737 19847 1 2870 + 19847 6737 19848 1 2870 + 19848 6737 6735 1 2870 + 19848 6735 19841 1 2870 + 19841 6735 6733 1 2870 + 19841 6733 19832 1 2870 + 19832 6733 6731 1 2870 + 19832 6731 19821 1 2870 + 19821 6731 927 1 2870 + 19821 927 19811 1 2870 + 19811 927 924 1 2870 + 19811 924 6721 1 2870 + 19811 6721 19802 1 2870 + 19811 19802 19810 1 2870 + 19802 6721 6716 1 2870 + 19802 6716 19801 1 2870 + 19801 6716 19796 1 2870 + 19796 6716 6711 1 2870 + 19796 6711 19795 1 2870 + 19795 6711 19794 1 2870 + 19794 6711 921 1 2870 + 19794 921 19797 1 2870 + 19797 921 919 1 2870 + 19797 919 19803 1 2870 + 19803 919 6691 1 2870 + 19803 6691 19812 1 2870 + 19812 6691 6697 1 2870 + 19812 6697 19823 1 2870 + 19823 6697 19822 1 2870 + 19823 19822 5541 1 2870 + 19823 5541 19833 1 2870 + 19833 5541 5544 1 2870 + 19833 5544 5547 1 2870 + 19833 5547 19842 1 2870 + 19833 19842 19834 1 2870 + 19842 5547 5550 1 2870 + 19842 5550 19849 1 2870 + 19849 5550 5553 1 2870 + 19849 5553 19850 1 2870 + 19850 5553 19853 1 2870 + 19853 5553 5556 1 2870 + 19853 5556 617 1 2870 + 5541 19822 616 1 2870 + 616 19822 6697 1 2870 + 19854 19855 19856 1 2871 + 19856 19855 19857 1 2871 + 19856 19857 19858 1 2871 + 19857 19860 19861 1 2871 + 19858 19857 19861 1 2871 + 19858 19861 6751 1 2871 + 19858 6751 6747 1 2871 + 19858 6747 19856 1 2871 + 19856 6747 6743 1 2871 + 19856 6743 19854 1 2871 + 19854 6743 930 1 2871 + 19854 930 6732 1 2871 + 19854 6732 6734 1 2871 + 19854 6734 19855 1 2871 + 19855 6734 6736 1 2871 + 19855 6736 19857 1 2871 + 19857 6736 6738 1 2871 + 19857 6738 19860 1 2871 + 19860 6738 19859 1 2871 + 19860 19859 5559 1 2871 + 19860 5559 5561 1 2871 + 19860 5561 19861 1 2871 + 19861 5561 5563 1 2871 + 19861 5563 933 1 2871 + 19861 933 6751 1 2871 + 933 5563 620 1 2871 + 5559 19859 619 1 2871 + 619 19859 6740 1 2871 + 6740 19859 6738 1 2871 + 6732 930 928 1 2871 + 623 626 622 1 2872 + 622 626 934 1 2872 + 19863 19865 19866 1 2873 + 19864 19863 19866 1 2873 + 19866 19865 19867 1 2873 + 19866 19867 19868 1 2873 + 19868 19867 19869 1 2873 + 19868 19869 5583 1 2873 + 19868 5583 629 1 2873 + 19868 629 632 1 2873 + 19868 632 6788 1 2873 + 19868 6788 19866 1 2873 + 19866 6788 939 1 2873 + 19866 939 19864 1 2873 + 19864 939 6777 1 2873 + 19864 6777 19863 1 2873 + 19863 6777 19862 1 2873 + 19863 19862 6746 1 2873 + 19863 6746 6750 1 2873 + 19863 6750 19865 1 2873 + 19865 6750 6754 1 2873 + 19865 6754 19867 1 2873 + 19867 6754 932 1 2873 + 19867 932 19869 1 2873 + 19869 932 628 1 2873 + 19869 628 5583 1 2873 + 6746 19862 931 1 2873 + 931 19862 6767 1 2873 + 931 6767 6760 1 2873 + 6760 6767 936 1 2873 + 6767 19862 6772 1 2873 + 6772 19862 6777 1 2873 + 19870 19874 19875 1 2874 + 19871 19870 19875 1 2874 + 19871 19875 19876 1 2874 + 19872 19877 19878 1 2874 + 19873 19872 19878 1 2874 + 19873 19878 19879 1 2874 + 19874 19873 19879 1 2874 + 19874 19879 19880 1 2874 + 19875 19874 19880 1 2874 + 19876 19875 19880 1 2874 + 19877 19881 19882 1 2874 + 19878 19877 19882 1 2874 + 19879 19878 19882 1 2874 + 19879 19882 19883 1 2874 + 19880 19879 19883 1 2874 + 19881 19884 19885 1 2874 + 19882 19881 19885 1 2874 + 19883 19882 19885 1 2874 + 19883 19885 6835 1 2874 + 19883 6835 6833 1 2874 + 19883 6833 19880 1 2874 + 19880 6833 19876 1 2874 + 19876 6833 951 1 2874 + 19876 951 6823 1 2874 + 19876 6823 19871 1 2874 + 19871 6823 948 1 2874 + 19871 948 945 1 2874 + 19871 945 19870 1 2874 + 19870 945 6807 1 2874 + 19870 6807 19874 1 2874 + 19874 6807 6803 1 2874 + 19874 6803 19873 1 2874 + 19873 6803 942 1 2874 + 19873 942 19872 1 2874 + 19872 942 6797 1 2874 + 19872 6797 19877 1 2874 + 19877 6797 940 1 2874 + 19877 940 6792 1 2874 + 19877 6792 19881 1 2874 + 19881 6792 634 1 2874 + 19881 634 19884 1 2874 + 19884 634 635 1 2874 + 19884 635 6837 1 2874 + 19884 6837 19885 1 2874 + 19885 6837 6835 1 2874 + 19886 19888 19889 1 2875 + 19887 19886 19889 1 2875 + 19887 19889 5616 1 2875 + 19887 5616 6847 1 2875 + 19887 6847 6842 1 2875 + 19887 6842 19886 1 2875 + 19886 6842 6834 1 2875 + 19886 6834 6836 1 2875 + 19886 6836 19888 1 2875 + 19888 6836 6838 1 2875 + 19888 6838 637 1 2875 + 19888 637 638 1 2875 + 19888 638 19889 1 2875 + 19889 638 5612 1 2875 + 19889 5612 5616 1 2875 + 6834 6842 952 1 2875 + 6847 5616 641 1 2875 + 644 652 643 1 2876 + 652 653 963 1 2876 + 652 963 960 1 2876 + 652 960 6875 1 2876 + 652 6875 19890 1 2876 + 652 19890 643 1 2876 + 643 19890 6851 1 2876 + 6851 19890 6873 1 2876 + 6851 6873 6871 1 2876 + 6851 6871 6846 1 2876 + 6846 6871 6869 1 2876 + 6846 6869 6867 1 2876 + 6846 6867 950 1 2876 + 950 6867 6865 1 2876 + 950 6865 6828 1 2876 + 6828 6865 6863 1 2876 + 6828 6863 949 1 2876 + 949 6863 954 1 2876 + 6873 19890 6875 1 2876 + 6875 960 957 1 2876 + 646 647 650 1 2877 + 656 966 655 1 2878 + 966 964 655 1 2878 + 967 658 969 1 2879 + 659 664 5663 1 2879 + 5663 664 6912 1 2879 + 5663 6912 5660 1 2879 + 5660 6912 969 1 2879 + 5660 969 658 1 2879 + 19893 19892 19902 1 2880 + 19893 19902 19903 1 2880 + 19894 19893 19903 1 2880 + 19894 19903 19904 1 2880 + 19895 19894 19904 1 2880 + 19895 19904 19905 1 2880 + 19896 19908 19909 1 2880 + 19897 19896 19909 1 2880 + 19897 19909 19910 1 2880 + 19898 19897 19910 1 2880 + 19898 19910 19911 1 2880 + 19899 19898 19911 1 2880 + 19900 19899 19911 1 2880 + 19891 19899 19900 1 2880 + 19901 19900 19912 1 2880 + 19901 19912 19913 1 2880 + 19902 19914 19915 1 2880 + 19903 19902 19915 1 2880 + 19903 19915 19916 1 2880 + 19904 19903 19916 1 2880 + 19905 19904 19916 1 2880 + 19905 19916 19917 1 2880 + 19906 19905 19917 1 2880 + 19906 19917 19918 1 2880 + 19907 19906 19918 1 2880 + 19907 19918 19919 1 2880 + 19908 19907 19919 1 2880 + 19909 19908 19919 1 2880 + 19909 19919 19920 1 2880 + 19910 19909 19920 1 2880 + 19910 19920 19921 1 2880 + 19911 19910 19921 1 2880 + 19912 19911 19921 1 2880 + 19900 19911 19912 1 2880 + 19913 19912 19922 1 2880 + 19913 19922 19923 1 2880 + 19915 19914 19924 1 2880 + 19915 19924 19925 1 2880 + 19916 19915 19925 1 2880 + 19917 19916 19925 1 2880 + 19917 19925 19926 1 2880 + 19918 19917 19926 1 2880 + 19919 19918 19926 1 2880 + 19919 19926 19927 1 2880 + 19920 19919 19927 1 2880 + 19921 19920 19927 1 2880 + 19922 19921 19927 1 2880 + 19912 19921 19922 1 2880 + 19923 19922 19928 1 2880 + 19924 19923 19928 1 2880 + 19925 19924 19928 1 2880 + 19926 19925 19928 1 2880 + 19927 19926 19928 1 2880 + 19922 19927 19928 1 2880 + 19924 19914 19923 1 2880 + 19923 19914 5698 1 2880 + 19923 5698 19913 1 2880 + 19913 5698 5704 1 2880 + 19913 5704 19901 1 2880 + 19901 5704 5710 1 2880 + 19901 5710 19891 1 2880 + 19901 19891 19900 1 2880 + 19891 5710 667 1 2880 + 19891 667 6943 1 2880 + 19891 6943 978 1 2880 + 19891 978 19899 1 2880 + 19899 978 6940 1 2880 + 19899 6940 19898 1 2880 + 19898 6940 6938 1 2880 + 19898 6938 19897 1 2880 + 19897 6938 6936 1 2880 + 19897 6936 19896 1 2880 + 19896 6936 975 1 2880 + 19896 975 6932 1 2880 + 19896 6932 19908 1 2880 + 19908 6932 19907 1 2880 + 19907 6932 6929 1 2880 + 19907 6929 19906 1 2880 + 19906 6929 6926 1 2880 + 19906 6926 19905 1 2880 + 19905 6926 6923 1 2880 + 19905 6923 19895 1 2880 + 19895 6923 972 1 2880 + 19895 972 19894 1 2880 + 19894 972 6920 1 2880 + 19894 6920 970 1 2880 + 19894 970 19893 1 2880 + 19893 970 6916 1 2880 + 19893 6916 19892 1 2880 + 19892 6916 666 1 2880 + 19892 666 5686 1 2880 + 19892 5686 19902 1 2880 + 19902 5686 19914 1 2880 + 19914 5686 5692 1 2880 + 19914 5692 5698 1 2880 + 19931 19930 19934 1 2881 + 19931 19934 19935 1 2881 + 19932 19931 19935 1 2881 + 19932 19935 19936 1 2881 + 19929 19932 19936 1 2881 + 19929 19936 19933 1 2881 + 19935 19938 19939 1 2881 + 19936 19935 19939 1 2881 + 19937 19936 19939 1 2881 + 19933 19936 19937 1 2881 + 19937 19939 19940 1 2881 + 19940 19939 979 1 2881 + 19940 979 6945 1 2881 + 19940 6945 670 1 2881 + 19940 670 5744 1 2881 + 19940 5744 19937 1 2881 + 19937 5744 5749 1 2881 + 19937 5749 19933 1 2881 + 19933 5749 19929 1 2881 + 19929 5749 990 1 2881 + 19929 990 6972 1 2881 + 19929 6972 19932 1 2881 + 19932 6972 6968 1 2881 + 19932 6968 19931 1 2881 + 19931 6968 6964 1 2881 + 19931 6964 19930 1 2881 + 19930 6964 981 1 2881 + 19930 981 6951 1 2881 + 19930 6951 19934 1 2881 + 19934 6951 6949 1 2881 + 19934 6949 19935 1 2881 + 19935 6949 19938 1 2881 + 19938 6949 6947 1 2881 + 19938 6947 979 1 2881 + 19938 979 19939 1 2881 + 981 6964 6960 1 2881 + 981 6960 6954 1 2881 + 6954 6960 987 1 2881 + 6954 987 984 1 2881 + 990 5749 676 1 2881 + 670 6945 669 1 2881 + 678 679 991 1 2882 + 679 993 991 1 2882 + 19942 19945 19946 1 2883 + 19941 19942 19946 1 2883 + 19941 19946 19943 1 2883 + 19941 19943 19944 1 2883 + 19944 19943 19948 1 2883 + 19945 19949 19950 1 2883 + 19946 19945 19950 1 2883 + 19946 19950 19951 1 2883 + 19943 19946 19951 1 2883 + 19943 19951 19947 1 2883 + 19943 19947 19948 1 2883 + 19950 19949 19953 1 2883 + 19950 19953 19954 1 2883 + 19951 19950 19954 1 2883 + 19951 19954 19955 1 2883 + 19947 19951 19955 1 2883 + 19947 19955 19952 1 2883 + 19954 19953 19957 1 2883 + 19954 19957 19958 1 2883 + 19955 19954 19958 1 2883 + 19955 19958 19959 1 2883 + 19952 19955 19959 1 2883 + 19952 19959 19956 1 2883 + 19957 19961 19962 1 2883 + 19958 19957 19962 1 2883 + 19958 19962 19963 1 2883 + 19959 19958 19963 1 2883 + 19960 19959 19963 1 2883 + 19956 19959 19960 1 2883 + 19962 19961 19964 1 2883 + 19962 19964 19965 1 2883 + 19963 19962 19965 1 2883 + 19963 19965 5776 1 2883 + 19963 5776 19960 1 2883 + 19960 5776 685 1 2883 + 19960 685 19956 1 2883 + 19956 685 5797 1 2883 + 19956 5797 19952 1 2883 + 19952 5797 19948 1 2883 + 19952 19948 19947 1 2883 + 19948 5797 5803 1 2883 + 19948 5803 19944 1 2883 + 19944 5803 688 1 2883 + 19944 688 1002 1 2883 + 19944 1002 7008 1 2883 + 19944 7008 19941 1 2883 + 19941 7008 999 1 2883 + 19941 999 19942 1 2883 + 19942 999 7004 1 2883 + 19942 7004 19945 1 2883 + 19945 7004 996 1 2883 + 19945 996 6998 1 2883 + 19945 6998 19949 1 2883 + 19949 6998 6994 1 2883 + 19949 6994 19953 1 2883 + 19953 6994 6990 1 2883 + 19953 6990 19957 1 2883 + 19957 6990 19961 1 2883 + 19961 6990 6986 1 2883 + 19961 6986 5764 1 2883 + 19961 5764 19964 1 2883 + 19964 5764 682 1 2883 + 19964 682 19965 1 2883 + 19965 682 5776 1 2883 + 5764 6986 994 1 2883 + 5764 994 681 1 2883 + 691 1008 7026 1 2884 + 691 7026 5811 1 2884 + 5811 7026 1005 1 2884 + 5811 1005 690 1 2884 + 690 1005 1003 1 2884 + 19966 19968 19969 1 2885 + 19967 19966 19969 1 2885 + 19969 19968 19970 1 2885 + 19969 19970 5887 1 2885 + 19969 5887 19967 1 2885 + 19967 5887 5892 1 2885 + 19967 5892 7060 1 2885 + 19967 7060 7058 1 2885 + 19967 7058 19966 1 2885 + 19966 7058 7056 1 2885 + 19966 7056 1014 1 2885 + 19966 1014 1011 1 2885 + 19966 1011 19968 1 2885 + 19968 1011 1009 1 2885 + 19968 1009 19970 1 2885 + 19970 1009 693 1 2885 + 19970 693 694 1 2885 + 19970 694 5887 1 2885 + 7060 5892 703 1 2885 + 7060 703 1017 1 2885 + 7109 1026 19971 1 2886 + 7109 19971 5902 1 2886 + 7109 5902 706 1 2886 + 5902 19971 5899 1 2886 + 5899 19971 7092 1 2886 + 5899 7092 7085 1 2886 + 5899 7085 705 1 2886 + 705 7085 1020 1 2886 + 705 1020 1018 1 2886 + 7092 19971 1023 1 2886 + 1023 19971 1026 1 2886 + 709 712 717 1 2887 + 709 717 5916 1 2887 + 5916 717 7132 1 2887 + 5916 7132 7129 1 2887 + 5916 7129 5911 1 2887 + 5911 7129 7126 1 2887 + 5911 7126 708 1 2887 + 708 7126 1032 1 2887 + 708 1032 19972 1 2887 + 708 19972 7111 1 2887 + 7111 19972 1027 1 2887 + 1027 19972 7119 1 2887 + 1027 7119 1029 1 2887 + 7119 19972 1032 1 2887 + 19974 19973 19977 1 2888 + 19974 19977 19978 1 2888 + 19975 19974 19978 1 2888 + 19975 19978 19979 1 2888 + 19976 19975 19979 1 2888 + 19976 19979 1041 1 2888 + 19976 1041 7142 1 2888 + 19976 7142 7140 1 2888 + 19976 7140 19975 1 2888 + 19975 7140 7138 1 2888 + 19975 7138 19974 1 2888 + 19974 7138 7136 1 2888 + 19974 7136 19973 1 2888 + 19973 7136 7128 1 2888 + 19973 7128 7131 1 2888 + 19973 7131 19977 1 2888 + 19977 7131 7134 1 2888 + 19977 7134 5941 1 2888 + 19977 5941 5945 1 2888 + 19977 5945 19978 1 2888 + 19978 5945 19979 1 2888 + 19979 5945 720 1 2888 + 19979 720 1041 1 2888 + 5941 7134 719 1 2888 + 7128 7136 1033 1 2888 + 7142 1041 1038 1 2888 + 7142 1038 1035 1 2888 + 723 1050 19980 1 2889 + 723 19980 722 1 2889 + 722 19980 1042 1 2889 + 1042 19980 1044 1 2889 + 1044 19980 7151 1 2889 + 1044 7151 1047 1 2889 + 7151 19980 1050 1 2889 + 726 1059 1056 1 2890 + 726 1056 5953 1 2890 + 5953 1056 7159 1 2890 + 5953 7159 725 1 2890 + 725 7159 1051 1 2890 + 1051 7159 1053 1 2890 + 19981 19987 19988 1 2891 + 19982 19981 19988 1 2891 + 19982 19988 19989 1 2891 + 19983 19982 19989 1 2891 + 19983 19989 19990 1 2891 + 19984 19983 19990 1 2891 + 19984 19990 19991 1 2891 + 19985 19984 19991 1 2891 + 19987 19986 19992 1 2891 + 19987 19992 19993 1 2891 + 19988 19987 19993 1 2891 + 19988 19993 19994 1 2891 + 19989 19988 19994 1 2891 + 19990 19989 19994 1 2891 + 19990 19994 19995 1 2891 + 19991 19990 19995 1 2891 + 19993 19992 19996 1 2891 + 19993 19996 19997 1 2891 + 19994 19993 19997 1 2891 + 19995 19994 19997 1 2891 + 19995 19997 7181 1 2891 + 19995 7181 7177 1 2891 + 19995 7177 19991 1 2891 + 19991 7177 7173 1 2891 + 19991 7173 7169 1 2891 + 19991 7169 19985 1 2891 + 19985 7169 7165 1 2891 + 19985 7165 5961 1 2891 + 19985 5961 5965 1 2891 + 19985 5965 19984 1 2891 + 19984 5965 5969 1 2891 + 19984 5969 19983 1 2891 + 19983 5969 5973 1 2891 + 19983 5973 19982 1 2891 + 19982 5973 729 1 2891 + 19982 729 19981 1 2891 + 19981 729 7219 1 2891 + 19981 7219 19987 1 2891 + 19987 7219 7215 1 2891 + 19987 7215 19986 1 2891 + 19986 7215 1068 1 2891 + 19986 1068 7195 1 2891 + 19986 7195 19992 1 2891 + 19992 7195 7190 1 2891 + 19992 7190 19996 1 2891 + 19996 7190 1062 1 2891 + 19996 1062 19997 1 2891 + 19997 1062 7181 1 2891 + 7195 1068 1065 1 2891 + 5961 7165 1060 1 2891 + 5961 1060 728 1 2891 + 7260 1077 7248 1 2892 + 7260 7248 1071 1 2892 + 7260 1071 7244 1 2892 + 7260 7244 7266 1 2892 + 7266 7244 7241 1 2892 + 7266 7241 7272 1 2892 + 7272 7241 7238 1 2892 + 7272 7238 7278 1 2892 + 7278 7238 19998 1 2892 + 7278 19998 732 1 2892 + 732 19998 5981 1 2892 + 5981 19998 19999 1 2892 + 5981 19999 731 1 2892 + 731 19999 20000 1 2892 + 731 20000 7222 1 2892 + 7222 20000 7229 1 2892 + 7222 7229 7218 1 2892 + 7218 7229 7226 1 2892 + 7218 7226 1069 1 2892 + 7229 20000 7232 1 2892 + 7232 20000 19999 1 2892 + 7232 19999 7235 1 2892 + 7235 19999 19998 1 2892 + 7235 19998 7238 1 2892 + 7248 1077 1074 1 2892 + 735 743 734 1 2893 + 20001 20002 20003 1 2893 + 20001 20003 759 1 2893 + 20001 759 1092 1 2893 + 20001 1092 7300 1 2893 + 20001 7300 7296 1 2893 + 20001 7296 1080 1 2893 + 20001 1080 20002 1 2893 + 20002 1080 1078 1 2893 + 20002 1078 7265 1 2893 + 20002 7265 7271 1 2893 + 20002 7271 20003 1 2893 + 20003 7271 6096 1 2893 + 20003 6096 759 1 2893 + 6096 7271 6091 1 2893 + 6091 7271 7277 1 2893 + 6091 7277 6086 1 2893 + 6086 7277 7283 1 2893 + 6086 7283 6081 1 2893 + 6081 7283 734 1 2893 + 6081 734 743 1 2893 + 6081 743 744 1 2893 + 6081 744 758 1 2893 + 7300 1092 7304 1 2893 + 7304 1092 1089 1 2893 + 7304 1089 1086 1 2893 + 7304 1086 1083 1 2893 + 737 738 741 1 2894 + 747 756 746 1 2895 + 20007 20006 20008 1 2896 + 20007 20008 768 1 2896 + 20007 768 7372 1 2896 + 20007 7372 20005 1 2896 + 20007 20005 20006 1 2896 + 20006 20005 7338 1 2896 + 20006 7338 1093 1 2896 + 20006 1093 761 1 2896 + 20006 761 20008 1 2896 + 20008 761 20009 1 2896 + 20008 20009 768 1 2896 + 768 20009 6129 1 2896 + 6129 20009 762 1 2896 + 6129 762 765 1 2896 + 762 20009 761 1 2896 + 7338 20005 7340 1 2896 + 7340 20005 20004 1 2896 + 7340 20004 7342 1 2896 + 7342 20004 7365 1 2896 + 7342 7365 1103 1 2896 + 7342 1103 1095 1 2896 + 1095 1103 1098 1 2896 + 7365 20004 20005 1 2896 + 7365 20005 7372 1 2896 + 20011 20010 20014 1 2897 + 20011 20014 20015 1 2897 + 20012 20011 20015 1 2897 + 20012 20015 20016 1 2897 + 20013 20012 20016 1 2897 + 20013 20016 20017 1 2897 + 20015 20014 20018 1 2897 + 20015 20018 20019 1 2897 + 20016 20015 20019 1 2897 + 20016 20019 20020 1 2897 + 20017 20016 20020 1 2897 + 20017 20020 20021 1 2897 + 20018 20024 20025 1 2897 + 20019 20018 20025 1 2897 + 20019 20025 20026 1 2897 + 20020 20019 20026 1 2897 + 20020 20026 20027 1 2897 + 20021 20020 20027 1 2897 + 20022 20021 20027 1 2897 + 20023 20022 20028 1 2897 + 20023 20028 20029 1 2897 + 20026 20025 20030 1 2897 + 20026 20030 20031 1 2897 + 20027 20026 20031 1 2897 + 20028 20027 20031 1 2897 + 20022 20027 20028 1 2897 + 20028 20031 7435 1 2897 + 20028 7435 1128 1 2897 + 20028 1128 20029 1 2897 + 20029 1128 1125 1 2897 + 20029 1125 1122 1 2897 + 20029 1122 20023 1 2897 + 20023 1122 1117 1 2897 + 20023 1117 1114 1 2897 + 20023 1114 20022 1 2897 + 20022 1114 1109 1 2897 + 20022 1109 20021 1 2897 + 20021 1109 20017 1 2897 + 20017 1109 20013 1 2897 + 20013 1109 7397 1 2897 + 20013 7397 1106 1 2897 + 20013 1106 20012 1 2897 + 20012 1106 7390 1 2897 + 20012 7390 20011 1 2897 + 20011 7390 7388 1 2897 + 20011 7388 20010 1 2897 + 20010 7388 7386 1 2897 + 20010 7386 7384 1 2897 + 20010 7384 7371 1 2897 + 20010 7371 20014 1 2897 + 20014 7371 7378 1 2897 + 20014 7378 20018 1 2897 + 20018 7378 20024 1 2897 + 20024 7378 770 1 2897 + 20024 770 771 1 2897 + 20024 771 20025 1 2897 + 20025 771 7439 1 2897 + 20025 7439 20030 1 2897 + 20030 7439 7437 1 2897 + 20030 7437 20031 1 2897 + 20031 7437 7435 1 2897 + 7371 7384 1104 1 2897 + 7441 1129 7436 1 2898 + 7441 7436 20033 1 2898 + 7441 20033 7443 1 2898 + 7443 20033 20032 1 2898 + 7443 20032 6138 1 2898 + 7443 6138 7445 1 2898 + 7445 6138 6140 1 2898 + 7445 6140 774 1 2898 + 6138 20032 6136 1 2898 + 6136 20032 7440 1 2898 + 6136 7440 773 1 2898 + 7440 20032 7438 1 2898 + 7438 20032 20033 1 2898 + 7438 20033 7436 1 2898 + 20035 20034 20036 1 2899 + 20035 20036 20037 1 2899 + 20037 20036 20043 1 2899 + 20037 20043 20044 1 2899 + 20038 20037 20044 1 2899 + 20038 20044 20045 1 2899 + 20039 20038 20045 1 2899 + 20039 20045 20046 1 2899 + 20040 20039 20046 1 2899 + 20041 20040 20046 1 2899 + 20041 20046 20047 1 2899 + 20043 20042 20050 1 2899 + 20036 20042 20043 1 2899 + 20044 20043 20051 1 2899 + 20044 20051 20052 1 2899 + 20045 20044 20052 1 2899 + 20046 20045 20052 1 2899 + 20046 20052 20053 1 2899 + 20047 20046 20053 1 2899 + 20048 20047 20053 1 2899 + 20048 20053 20054 1 2899 + 20049 20048 20054 1 2899 + 20051 20050 20056 1 2899 + 20043 20050 20051 1 2899 + 20052 20051 20057 1 2899 + 20053 20052 20057 1 2899 + 20054 20053 20057 1 2899 + 20055 20054 20057 1 2899 + 20056 20055 20057 1 2899 + 20051 20056 20057 1 2899 + 20056 20050 7446 1 2899 + 20056 7446 776 1 2899 + 20056 776 6144 1 2899 + 20056 6144 20055 1 2899 + 20055 6144 6147 1 2899 + 20055 6147 20054 1 2899 + 20054 6147 20049 1 2899 + 20049 6147 777 1 2899 + 20049 777 7484 1 2899 + 20049 7484 20048 1 2899 + 20048 7484 1134 1 2899 + 20048 1134 7471 1 2899 + 20048 7471 20047 1 2899 + 20047 7471 20041 1 2899 + 20041 7471 1131 1 2899 + 20041 1131 7461 1 2899 + 20041 7461 20040 1 2899 + 20040 7461 7457 1 2899 + 20040 7457 20039 1 2899 + 20039 7457 7453 1 2899 + 20039 7453 20038 1 2899 + 20038 7453 20035 1 2899 + 20038 20035 20037 1 2899 + 20035 7453 7449 1 2899 + 20035 7449 1126 1 2899 + 20035 1126 20034 1 2899 + 20034 1126 1127 1 2899 + 20034 1127 7442 1 2899 + 20034 7442 20036 1 2899 + 20036 7442 20042 1 2899 + 20042 7442 7444 1 2899 + 20042 7444 20050 1 2899 + 20050 7444 7446 1 2899 + 780 783 20058 1 2900 + 780 20058 779 1 2900 + 779 20058 7488 1 2900 + 7488 20058 1135 1 2900 + 1135 20058 1137 1 2900 + 1137 20058 786 1 2900 + 786 20058 783 1 2900 + 789 1143 7513 1 2901 + 789 7513 6205 1 2901 + 6205 7513 7510 1 2901 + 6205 7510 788 1 2901 + 788 7510 7507 1 2901 + 788 7507 1138 1 2901 + 1138 7507 1140 1 2901 + 797 1149 794 1 2902 + 794 1149 791 1 2902 + 791 1149 1144 1 2902 + 1144 1149 1146 1 2902 + 799 800 1150 1 2903 + 1148 802 1147 1 2904 + 20059 20065 20066 1 2904 + 20060 20059 20066 1 2904 + 20060 20066 20067 1 2904 + 20062 20061 20068 1 2904 + 20062 20068 20069 1 2904 + 20063 20062 20069 1 2904 + 20063 20069 20070 1 2904 + 20064 20063 20070 1 2904 + 20064 20070 20071 1 2904 + 20065 20073 20074 1 2904 + 20066 20065 20074 1 2904 + 20066 20074 20075 1 2904 + 20067 20066 20075 1 2904 + 20068 20067 20075 1 2904 + 20061 20067 20068 1 2904 + 20069 20068 20076 1 2904 + 20069 20076 20077 1 2904 + 20070 20069 20077 1 2904 + 20070 20077 20078 1 2904 + 20071 20070 20078 1 2904 + 20071 20078 20079 1 2904 + 20072 20071 20079 1 2904 + 20072 20079 20080 1 2904 + 20073 20081 20082 1 2904 + 20074 20073 20082 1 2904 + 20074 20082 20083 1 2904 + 20075 20074 20083 1 2904 + 20076 20075 20083 1 2904 + 20068 20075 20076 1 2904 + 20077 20076 20084 1 2904 + 20077 20084 20085 1 2904 + 20078 20077 20085 1 2904 + 20078 20085 20086 1 2904 + 20079 20078 20086 1 2904 + 20079 20086 20087 1 2904 + 20080 20079 20087 1 2904 + 20082 20081 20088 1 2904 + 20082 20088 20089 1 2904 + 20083 20082 20089 1 2904 + 20084 20083 20089 1 2904 + 20076 20083 20084 1 2904 + 20085 20084 20090 1 2904 + 20085 20090 20091 1 2904 + 20086 20085 20091 1 2904 + 20087 20086 20091 1 2904 + 20087 20091 20092 1 2904 + 20089 20088 20093 1 2904 + 20090 20089 20093 1 2904 + 20084 20089 20090 1 2904 + 20091 20090 20094 1 2904 + 20092 20091 20094 1 2904 + 20090 20093 20094 1 2904 + 20094 20093 7601 1 2904 + 20094 7601 7599 1 2904 + 20094 7599 20092 1 2904 + 20092 7599 1161 1 2904 + 20092 1161 7595 1 2904 + 20092 7595 20087 1 2904 + 20087 7595 7592 1 2904 + 20087 7592 20080 1 2904 + 20080 7592 1158 1 2904 + 20080 1158 7581 1 2904 + 20080 7581 20072 1 2904 + 20072 7581 1155 1 2904 + 20072 1155 20071 1 2904 + 20071 1155 20064 1 2904 + 20064 1155 1152 1 2904 + 20064 1152 20063 1 2904 + 20063 1152 7555 1 2904 + 20063 7555 20062 1 2904 + 20062 7555 20061 1 2904 + 20061 7555 7547 1 2904 + 20061 7547 20060 1 2904 + 20061 20060 20067 1 2904 + 20060 7547 20059 1 2904 + 20059 7547 6239 1 2904 + 20059 6239 6242 1 2904 + 20059 6242 20065 1 2904 + 20065 6242 6245 1 2904 + 20065 6245 20073 1 2904 + 20073 6245 6248 1 2904 + 20073 6248 20081 1 2904 + 20081 6248 803 1 2904 + 20081 803 7605 1 2904 + 20081 7605 20088 1 2904 + 20088 7605 7603 1 2904 + 20088 7603 20093 1 2904 + 20093 7603 7601 1 2904 + 6239 7547 1147 1 2904 + 6239 1147 802 1 2904 + 20096 20095 20097 1 2905 + 20096 20097 7604 1 2905 + 20096 7604 7606 1 2905 + 20096 7606 6251 1 2905 + 20096 6251 6253 1 2905 + 20096 6253 806 1 2905 + 20096 806 20095 1 2905 + 20095 806 809 1 2905 + 20095 809 7611 1 2905 + 20095 7611 20097 1 2905 + 20097 7611 7609 1 2905 + 20097 7609 7607 1 2905 + 20097 7607 7600 1 2905 + 20097 7600 7602 1 2905 + 20097 7602 7604 1 2905 + 7600 7607 1162 1 2905 + 6251 7606 805 1 2905 + 20098 20101 20102 1 2906 + 20099 20098 20102 1 2906 + 20099 20102 20103 1 2906 + 20100 20106 20107 1 2906 + 20101 20100 20107 1 2906 + 20101 20107 20108 1 2906 + 20102 20101 20108 1 2906 + 20102 20108 20109 1 2906 + 20103 20102 20109 1 2906 + 20103 20109 20110 1 2906 + 20105 20104 20111 1 2906 + 20106 20105 20111 1 2906 + 20106 20111 20112 1 2906 + 20107 20106 20112 1 2906 + 20107 20112 20113 1 2906 + 20108 20107 20113 1 2906 + 20108 20113 20114 1 2906 + 20109 20108 20114 1 2906 + 20110 20109 20114 1 2906 + 20110 20114 20115 1 2906 + 20111 20116 20117 1 2906 + 20112 20111 20117 1 2906 + 20113 20112 20117 1 2906 + 20113 20117 20118 1 2906 + 20114 20113 20118 1 2906 + 20115 20114 20118 1 2906 + 20117 20116 20119 1 2906 + 20118 20117 20119 1 2906 + 20118 20119 7610 1 2906 + 20118 7610 7612 1 2906 + 20118 7612 20115 1 2906 + 20115 7612 811 1 2906 + 20115 811 6261 1 2906 + 20115 6261 20110 1 2906 + 20110 6261 6265 1 2906 + 20110 6265 20103 1 2906 + 20103 6265 812 1 2906 + 20103 812 20099 1 2906 + 20099 812 815 1 2906 + 20099 815 1167 1 2906 + 20099 1167 20098 1 2906 + 20098 1167 7637 1 2906 + 20098 7637 7632 1 2906 + 20098 7632 20101 1 2906 + 20101 7632 20100 1 2906 + 20100 7632 1164 1 2906 + 20100 1164 20106 1 2906 + 20106 1164 7621 1 2906 + 20106 7621 20105 1 2906 + 20105 7621 7616 1 2906 + 20105 7616 20104 1 2906 + 20104 7616 1159 1 2906 + 20104 1159 7594 1 2906 + 20104 7594 7597 1 2906 + 20104 7597 20111 1 2906 + 20111 7597 20116 1 2906 + 20116 7597 1160 1 2906 + 20116 1160 7608 1 2906 + 20116 7608 20119 1 2906 + 20119 7608 7610 1 2906 + 818 1173 1168 1 2907 + 818 1168 817 1 2907 + 1168 1173 1170 1 2907 + 7677 1182 20120 1 2908 + 7677 20120 821 1 2908 + 821 20120 1174 1 2908 + 821 1174 820 1 2908 + 1174 20120 7658 1 2908 + 7658 20120 1182 1 2908 + 7658 1182 7670 1 2908 + 7658 7670 1176 1 2908 + 1176 7670 1179 1 2908 + 20123 20122 20126 1 2909 + 20124 20123 20126 1 2909 + 20125 20124 20126 1 2909 + 20125 20126 6317 1 2909 + 20125 6317 824 1 2909 + 20125 824 6403 1 2909 + 20125 6403 6409 1 2909 + 20125 6409 20124 1 2909 + 20124 6409 7691 1 2909 + 20124 7691 20123 1 2909 + 20123 7691 7688 1 2909 + 20123 7688 20122 1 2909 + 20122 7688 20121 1 2909 + 20122 20121 6309 1 2909 + 20122 6309 6313 1 2909 + 20122 6313 20126 1 2909 + 20126 6313 6317 1 2909 + 6309 20121 823 1 2909 + 823 20121 7679 1 2909 + 7679 20121 7682 1 2909 + 7679 7682 1185 1 2909 + 7679 1185 1183 1 2909 + 7682 20121 7685 1 2909 + 7685 20121 7688 1 2909 + 7691 6409 845 1 2909 + 6403 824 6397 1 2909 + 6397 824 827 1 2909 + 833 839 832 1 2910 + 20127 20129 20130 1 2911 + 20127 20130 20131 1 2911 + 20128 20134 20135 1 2911 + 20129 20128 20135 1 2911 + 20129 20135 20136 1 2911 + 20130 20129 20136 1 2911 + 20130 20136 20137 1 2911 + 20131 20130 20137 1 2911 + 20131 20137 20138 1 2911 + 20132 20131 20138 1 2911 + 20132 20138 20139 1 2911 + 20133 20141 20142 1 2911 + 20134 20133 20142 1 2911 + 20134 20142 20143 1 2911 + 20135 20134 20143 1 2911 + 20135 20143 20144 1 2911 + 20136 20135 20144 1 2911 + 20136 20144 20145 1 2911 + 20137 20136 20145 1 2911 + 20137 20145 20146 1 2911 + 20138 20137 20146 1 2911 + 20138 20146 20147 1 2911 + 20139 20138 20147 1 2911 + 20139 20147 20148 1 2911 + 20140 20139 20148 1 2911 + 20142 20141 20149 1 2911 + 20142 20149 20150 1 2911 + 20143 20142 20150 1 2911 + 20143 20150 20151 1 2911 + 20144 20143 20151 1 2911 + 20144 20151 20152 1 2911 + 20145 20144 20152 1 2911 + 20146 20145 20152 1 2911 + 20146 20152 20153 1 2911 + 20147 20146 20153 1 2911 + 20147 20153 20154 1 2911 + 20148 20147 20154 1 2911 + 20148 20154 20155 1 2911 + 20149 20156 20157 1 2911 + 20150 20149 20157 1 2911 + 20150 20157 20158 1 2911 + 20151 20150 20158 1 2911 + 20152 20151 20158 1 2911 + 20152 20158 20159 1 2911 + 20153 20152 20159 1 2911 + 20153 20159 20160 1 2911 + 20154 20153 20160 1 2911 + 20154 20160 20161 1 2911 + 20155 20154 20161 1 2911 + 20157 20156 20162 1 2911 + 20158 20157 20162 1 2911 + 20158 20162 20163 1 2911 + 20159 20158 20163 1 2911 + 20160 20159 20163 1 2911 + 20160 20163 20164 1 2911 + 20161 20160 20164 1 2911 + 20163 20162 20166 1 2911 + 20164 20163 20166 1 2911 + 20165 20164 20166 1 2911 + 20165 20166 7693 1 2911 + 20165 7693 847 1 2911 + 20165 847 6423 1 2911 + 20165 6423 20164 1 2911 + 20164 6423 20161 1 2911 + 20161 6423 20155 1 2911 + 20155 6423 6429 1 2911 + 20155 6429 20148 1 2911 + 20148 6429 6435 1 2911 + 20148 6435 20140 1 2911 + 20140 6435 1194 1 2911 + 20140 1194 7718 1 2911 + 20140 7718 20132 1 2911 + 20140 20132 20139 1 2911 + 20132 7718 7711 1 2911 + 20132 7711 20131 1 2911 + 20131 7711 20127 1 2911 + 20127 7711 1191 1 2911 + 20127 1191 7702 1 2911 + 20127 7702 20129 1 2911 + 20129 7702 1188 1 2911 + 20129 1188 20128 1 2911 + 20128 1188 7699 1 2911 + 20128 7699 20134 1 2911 + 20134 7699 20133 1 2911 + 20133 7699 7697 1 2911 + 20133 7697 7695 1 2911 + 20133 7695 20141 1 2911 + 20141 7695 1186 1 2911 + 20141 1186 20149 1 2911 + 20149 1186 7684 1 2911 + 20149 7684 20156 1 2911 + 20156 7684 7687 1 2911 + 20156 7687 20162 1 2911 + 20162 7687 7690 1 2911 + 20162 7690 20166 1 2911 + 20166 7690 7693 1 2911 + 1194 6435 848 1 2911 + 1194 848 1197 1 2911 + 1197 848 1200 1 2911 + 851 1212 850 1 2912 + 1212 1209 850 1 2912 + 850 1209 1206 1 2912 + 850 1206 1201 1 2912 + 1201 1206 1203 1 2912 + 853 854 1213 1 2913 + 1213 854 7766 1 2913 + 20168 20167 20170 1 2913 + 20168 20170 20171 1 2913 + 20169 20168 20171 1 2913 + 20169 20171 20172 1 2913 + 20172 20171 20173 1 2913 + 20172 20173 20174 1 2913 + 20172 20174 7780 1 2913 + 20172 7780 7775 1 2913 + 20172 7775 20169 1 2913 + 20169 7775 7770 1 2913 + 20169 7770 20168 1 2913 + 20168 7770 7768 1 2913 + 20168 7768 20167 1 2913 + 20167 7768 7766 1 2913 + 20167 7766 6453 1 2913 + 20167 6453 6455 1 2913 + 20167 6455 20170 1 2913 + 20170 6455 6457 1 2913 + 20170 6457 20171 1 2913 + 20171 6457 20173 1 2913 + 20173 6457 6459 1 2913 + 20173 6459 6461 1 2913 + 20173 6461 20175 1 2913 + 20173 20175 20174 1 2913 + 20174 20175 7785 1 2913 + 20174 7785 7780 1 2913 + 7785 20175 1218 1 2913 + 1218 20175 6463 1 2913 + 1218 6463 1221 1 2913 + 1221 6463 857 1 2913 + 6463 20175 6461 1 2913 + 6453 7766 854 1 2913 + 7770 7775 1215 1 2913 + 860 863 859 1 2914 + 859 863 7805 1 2914 + 859 7805 1222 1 2914 + 7805 863 866 1 2914 + 20180 20179 20183 1 2915 + 20183 20182 20184 1 2915 + 20183 20184 6519 1 2915 + 20183 6519 20180 1 2915 + 20180 6519 6524 1 2915 + 20180 6524 20177 1 2915 + 20180 20177 7817 1 2915 + 20180 7817 7814 1 2915 + 20180 7814 20179 1 2915 + 20179 7814 7811 1 2915 + 20179 7811 20182 1 2915 + 20179 20182 20183 1 2915 + 20182 7811 7808 1 2915 + 20182 7808 20181 1 2915 + 20182 20181 20184 1 2915 + 20184 20181 7806 1 2915 + 20184 7806 868 1 2915 + 20184 868 869 1 2915 + 20184 869 6519 1 2915 + 7806 20181 1220 1 2915 + 1220 20181 1219 1 2915 + 1219 20181 7808 1 2915 + 7817 20177 7820 1 2915 + 7820 20177 20178 1 2915 + 7820 20178 20176 1 2915 + 7820 20176 1224 1 2915 + 1224 20176 7824 1 2915 + 7824 20176 7830 1 2915 + 7824 7830 1227 1 2915 + 7830 20176 872 1 2915 + 872 20176 20178 1 2915 + 872 20178 6529 1 2915 + 6529 20178 6524 1 2915 + 6524 20178 20177 1 2915 + 20186 20185 20187 1 2916 + 20186 20187 20188 1 2916 + 20187 20189 20190 1 2916 + 20188 20187 20190 1 2916 + 20190 20189 20191 1 2916 + 20190 20191 20192 1 2916 + 20190 20192 20193 1 2916 + 20193 20192 20194 1 2916 + 20193 20194 20195 1 2916 + 20193 20195 7885 1 2916 + 20193 7885 7883 1 2916 + 20193 7883 20190 1 2916 + 20190 7883 20188 1 2916 + 20188 7883 7881 1 2916 + 20188 7881 1239 1 2916 + 20188 1239 20186 1 2916 + 20186 1239 7877 1 2916 + 20186 7877 20185 1 2916 + 20185 7877 7874 1 2916 + 20185 7874 1230 1 2916 + 20185 1230 1228 1 2916 + 20185 1228 20187 1 2916 + 20187 1228 20189 1 2916 + 20189 1228 7835 1 2916 + 20189 7835 20191 1 2916 + 20191 7835 874 1 2916 + 20191 874 6538 1 2916 + 20191 6538 20192 1 2916 + 20192 6538 20194 1 2916 + 20194 6538 6542 1 2916 + 20194 6542 6546 1 2916 + 20194 6546 20195 1 2916 + 20195 6546 7888 1 2916 + 20195 7888 1242 1 2916 + 20195 1242 7885 1 2916 + 7888 6546 875 1 2916 + 7888 875 1245 1 2916 + 1230 7874 7871 1 2916 + 1230 7871 1233 1 2916 + 1233 7871 1236 1 2916 + 6580 884 7898 1 2917 + 6580 7898 6555 1 2917 + 6580 6555 878 1 2917 + 6555 7898 7894 1 2917 + 6555 7894 6552 1 2917 + 6552 7894 1246 1 2917 + 6552 1246 877 1 2917 + 1257 1254 1262 1 2918 + 20196 20199 20200 1 2918 + 20197 20196 20200 1 2918 + 20197 20200 20201 1 2918 + 20198 20202 20203 1 2918 + 20199 20198 20203 1 2918 + 20199 20203 20204 1 2918 + 20200 20199 20204 1 2918 + 20200 20204 20205 1 2918 + 20200 20205 20206 1 2918 + 20201 20200 20206 1 2918 + 20201 20206 20207 1 2918 + 20202 20208 20209 1 2918 + 20203 20202 20209 1 2918 + 20203 20209 20210 1 2918 + 20204 20203 20210 1 2918 + 20204 20210 20211 1 2918 + 20205 20204 20211 1 2918 + 20206 20205 20211 1 2918 + 20206 20211 20212 1 2918 + 20207 20206 20212 1 2918 + 20207 20212 20213 1 2918 + 20209 20208 20214 1 2918 + 20209 20214 20215 1 2918 + 20210 20209 20215 1 2918 + 20210 20215 20216 1 2918 + 20211 20210 20216 1 2918 + 20211 20216 20217 1 2918 + 20212 20211 20217 1 2918 + 20212 20217 20218 1 2918 + 20213 20212 20218 1 2918 + 20215 20214 20219 1 2918 + 20215 20219 20220 1 2918 + 20216 20215 20220 1 2918 + 20217 20216 20220 1 2918 + 20217 20220 20221 1 2918 + 20218 20217 20221 1 2918 + 20218 20221 20222 1 2918 + 20220 20219 20223 1 2918 + 20221 20220 20223 1 2918 + 20221 20223 20224 1 2918 + 20222 20221 20224 1 2918 + 20222 20224 887 1 2918 + 20222 887 1265 1 2918 + 20222 1265 1262 1 2918 + 20222 1262 1254 1 2918 + 20222 1254 20218 1 2918 + 20218 1254 20213 1 2918 + 20213 1254 7920 1 2918 + 20213 7920 20207 1 2918 + 20207 7920 20201 1 2918 + 20201 7920 1251 1 2918 + 20201 1251 7911 1 2918 + 20201 7911 20197 1 2918 + 20197 7911 1248 1 2918 + 20197 1248 20196 1 2918 + 20196 1248 7908 1 2918 + 20196 7908 20199 1 2918 + 20199 7908 20198 1 2918 + 20198 7908 7906 1 2918 + 20198 7906 7904 1 2918 + 20198 7904 20202 1 2918 + 20202 7904 1243 1 2918 + 20202 1243 20208 1 2918 + 20208 1243 7890 1 2918 + 20208 7890 1244 1 2918 + 20208 1244 20214 1 2918 + 20214 1244 7897 1 2918 + 20214 7897 20219 1 2918 + 20219 7897 7901 1 2918 + 20219 7901 20223 1 2918 + 20223 7901 886 1 2918 + 20223 886 20224 1 2918 + 20224 886 887 1 2918 + 890 1266 889 1 2919 + 893 896 6626 1 2920 + 893 6626 20227 1 2920 + 893 20227 6606 1 2920 + 6606 20227 20226 1 2920 + 6606 20226 6602 1 2920 + 6602 20226 20225 1 2920 + 6602 20225 6598 1 2920 + 6598 20225 7974 1 2920 + 6598 7974 7969 1 2920 + 6598 7969 892 1 2920 + 892 7969 1264 1 2920 + 1264 7969 1263 1 2920 + 7974 20225 1268 1 2920 + 1268 20225 20226 1 2920 + 1268 20226 899 1 2920 + 899 20226 20227 1 2920 + 899 20227 6626 1 2920 + 20228 20230 20231 1 2921 + 20229 20228 20231 1 2921 + 20229 20231 20232 1 2921 + 20231 20230 20233 1 2921 + 20231 20233 20234 1 2921 + 20232 20231 20234 1 2921 + 20232 20234 20235 1 2921 + 20233 20236 20237 1 2921 + 20234 20233 20237 1 2921 + 20235 20234 20237 1 2921 + 20235 20237 20238 1 2921 + 20236 20240 20241 1 2921 + 20237 20236 20241 1 2921 + 20237 20241 20242 1 2921 + 20238 20237 20242 1 2921 + 20239 20238 20242 1 2921 + 20241 20240 20244 1 2921 + 20241 20244 20245 1 2921 + 20242 20241 20245 1 2921 + 20242 20245 6632 1 2921 + 20242 6632 20239 1 2921 + 20239 6632 6634 1 2921 + 20239 6634 902 1 2921 + 20239 902 6666 1 2921 + 20239 6666 20238 1 2921 + 20238 6666 20235 1 2921 + 20235 6666 20232 1 2921 + 20232 6666 908 1 2921 + 20232 908 20229 1 2921 + 20229 908 8013 1 2921 + 20229 8013 20228 1 2921 + 20228 8013 1274 1 2921 + 20228 1274 1271 1 2921 + 20228 1271 8002 1 2921 + 20228 8002 20230 1 2921 + 20230 8002 20233 1 2921 + 20233 8002 7998 1 2921 + 20233 7998 20236 1 2921 + 20236 7998 7994 1 2921 + 20236 7994 20240 1 2921 + 20240 7994 7990 1 2921 + 20240 7990 20243 1 2921 + 20240 20243 20244 1 2921 + 20244 20243 6628 1 2921 + 20244 6628 20245 1 2921 + 20245 6628 6630 1 2921 + 20245 6630 6632 1 2921 + 6628 20243 901 1 2921 + 901 20243 7986 1 2921 + 901 7986 1269 1 2921 + 7986 20243 7990 1 2921 + 1274 8013 1277 1 2921 + 20246 20249 20250 1 2922 + 20247 20246 20250 1 2922 + 20248 20251 20252 1 2922 + 20249 20248 20252 1 2922 + 20249 20252 20253 1 2922 + 20250 20249 20253 1 2922 + 20252 20251 20254 1 2922 + 20252 20254 20255 1 2922 + 20253 20252 20255 1 2922 + 20253 20255 911 1 2922 + 20253 911 8049 1 2922 + 20253 8049 20250 1 2922 + 20250 8049 1286 1 2922 + 20250 1286 20247 1 2922 + 20247 1286 8038 1 2922 + 20247 8038 8033 1 2922 + 20247 8033 8031 1 2922 + 20247 8031 20246 1 2922 + 20246 8031 8029 1 2922 + 20246 8029 20249 1 2922 + 20249 8029 20248 1 2922 + 20248 8029 8027 1 2922 + 20248 8027 20251 1 2922 + 20251 8027 1280 1 2922 + 20251 1280 1278 1 2922 + 20251 1278 20254 1 2922 + 20254 1278 8017 1 2922 + 20254 8017 20255 1 2922 + 20255 8017 6677 1 2922 + 20255 6677 911 1 2922 + 6677 8017 910 1 2922 + 8033 8038 1283 1 2922 + 914 1292 913 1 2923 + 913 1292 8053 1 2923 + 8053 1292 8062 1 2923 + 8053 8062 1287 1 2923 + 1287 8062 1289 1 2923 + 917 920 916 1 2924 + 916 920 1293 1 2924 + 20256 20257 20258 1 2925 + 20257 20259 20260 1 2925 + 20258 20257 20260 1 2925 + 20258 20260 20261 1 2925 + 20262 20261 20263 1 2925 + 20262 20263 20264 1 2925 + 20262 20264 8099 1 2925 + 20262 8099 8094 1 2925 + 20262 8094 20258 1 2925 + 20262 20258 20261 1 2925 + 20258 8094 8089 1 2925 + 20258 8089 20256 1 2925 + 20256 8089 1298 1 2925 + 20256 1298 1295 1 2925 + 20256 1295 1290 1 2925 + 20256 1290 8064 1 2925 + 20256 8064 20257 1 2925 + 20257 8064 20259 1 2925 + 20259 8064 1291 1 2925 + 20259 1291 922 1 2925 + 20259 922 6715 1 2925 + 20259 6715 20260 1 2925 + 20260 6715 6720 1 2925 + 20260 6720 20261 1 2925 + 20261 6720 20263 1 2925 + 20263 6720 6725 1 2925 + 20263 6725 20264 1 2925 + 20264 6725 923 1 2925 + 20264 923 8119 1 2925 + 20264 8119 8109 1 2925 + 20264 8109 8104 1 2925 + 20264 8104 8099 1 2925 + 8109 8119 1301 1 2925 + 1301 8119 1306 1 2925 + 926 929 20265 1 2926 + 926 20265 925 1 2926 + 925 20265 8122 1 2926 + 8122 20265 935 1 2926 + 8122 935 1307 1 2926 + 935 20265 6762 1 2926 + 6762 20265 929 1 2926 + 20266 20268 20269 1 2927 + 20267 20266 20269 1 2927 + 20267 20269 20270 1 2927 + 20269 20268 20271 1 2927 + 20269 20271 20272 1 2927 + 20270 20269 20272 1 2927 + 20272 20271 20273 1 2927 + 20272 20273 20274 1 2927 + 20272 20274 8163 1 2927 + 20272 8163 8161 1 2927 + 20272 8161 20270 1 2927 + 20270 8161 8159 1 2927 + 20270 8159 20267 1 2927 + 20267 8159 8157 1 2927 + 20267 8157 1309 1 2927 + 20267 1309 20266 1 2927 + 20266 1309 8139 1 2927 + 20266 8139 20268 1 2927 + 20268 8139 937 1 2927 + 20268 937 6771 1 2927 + 20268 6771 20271 1 2927 + 20271 6771 6776 1 2927 + 20271 6776 20273 1 2927 + 20273 6776 6781 1 2927 + 20273 6781 20275 1 2927 + 20273 20275 20274 1 2927 + 20274 20275 8165 1 2927 + 20274 8165 8163 1 2927 + 8165 20275 8167 1 2927 + 8167 20275 20276 1 2927 + 8167 20276 6799 1 2927 + 8167 6799 941 1 2927 + 6799 20276 938 1 2927 + 938 20276 6781 1 2927 + 6781 20276 20275 1 2927 + 937 8139 1302 1 2927 + 937 1302 1305 1 2927 + 1309 8157 1312 1 2927 + 20277 20278 20279 1 2928 + 20278 20281 20282 1 2928 + 20279 20278 20282 1 2928 + 20279 20282 20283 1 2928 + 20280 20279 20283 1 2928 + 20280 20283 20284 1 2928 + 20283 20282 20286 1 2928 + 20283 20286 20287 1 2928 + 20284 20283 20287 1 2928 + 20284 20287 20288 1 2928 + 20285 20284 20288 1 2928 + 20285 20288 20289 1 2928 + 20286 20290 20291 1 2928 + 20287 20286 20291 1 2928 + 20287 20291 20292 1 2928 + 20288 20287 20292 1 2928 + 20289 20288 20292 1 2928 + 20289 20292 20293 1 2928 + 20291 20290 20294 1 2928 + 20291 20294 20295 1 2928 + 20292 20291 20295 1 2928 + 20292 20295 20296 1 2928 + 20293 20292 20296 1 2928 + 20293 20296 8208 1 2928 + 20293 8208 8204 1 2928 + 20293 8204 20289 1 2928 + 20289 8204 8200 1 2928 + 20289 8200 20285 1 2928 + 20285 8200 1318 1 2928 + 20285 1318 8190 1 2928 + 20285 8190 20284 1 2928 + 20284 8190 20280 1 2928 + 20280 8190 8185 1 2928 + 20280 8185 20277 1 2928 + 20280 20277 20279 1 2928 + 20277 8185 8180 1 2928 + 20277 8180 1315 1 2928 + 20277 1315 1313 1 2928 + 20277 1313 20278 1 2928 + 20278 1313 8158 1 2928 + 20278 8158 8160 1 2928 + 20278 8160 20281 1 2928 + 20281 8160 8162 1 2928 + 20281 8162 20286 1 2928 + 20281 20286 20282 1 2928 + 20286 8162 8164 1 2928 + 20286 8164 20290 1 2928 + 20290 8164 8166 1 2928 + 20290 8166 20294 1 2928 + 20294 8166 8168 1 2928 + 20294 8168 943 1 2928 + 20294 943 20295 1 2928 + 20295 943 6806 1 2928 + 20295 6806 20296 1 2928 + 20296 6806 6810 1 2928 + 20296 6810 8208 1 2928 + 8208 6810 944 1 2928 + 947 953 946 1 2929 + 946 953 20299 1 2929 + 946 20299 8211 1 2929 + 8211 20299 20298 1 2929 + 8211 20298 8207 1 2929 + 8207 20298 8203 1 2929 + 8203 20298 20297 1 2929 + 8203 20297 8216 1 2929 + 8203 8216 1321 1 2929 + 8203 1321 1319 1 2929 + 8216 20297 1324 1 2929 + 1324 20297 20298 1 2929 + 1324 20298 8222 1 2929 + 8222 20298 20299 1 2929 + 8222 20299 1327 1 2929 + 1327 20299 953 1 2929 + 20300 20302 20303 1 2930 + 20301 20300 20303 1 2930 + 20301 20303 20304 1 2930 + 20302 20308 20309 1 2930 + 20303 20302 20309 1 2930 + 20303 20309 20310 1 2930 + 20304 20303 20310 1 2930 + 20304 20310 20311 1 2930 + 20305 20304 20311 1 2930 + 20306 20305 20311 1 2930 + 20306 20311 20312 1 2930 + 20307 20306 20312 1 2930 + 20307 20312 20313 1 2930 + 20309 20308 20315 1 2930 + 20309 20315 20316 1 2930 + 20310 20309 20316 1 2930 + 20310 20316 20317 1 2930 + 20311 20310 20317 1 2930 + 20311 20317 20318 1 2930 + 20312 20311 20318 1 2930 + 20312 20318 20319 1 2930 + 20313 20312 20319 1 2930 + 20314 20322 20323 1 2930 + 20315 20314 20323 1 2930 + 20315 20323 20324 1 2930 + 20316 20315 20324 1 2930 + 20316 20324 20325 1 2930 + 20317 20316 20325 1 2930 + 20318 20317 20325 1 2930 + 20318 20325 20326 1 2930 + 20319 20318 20326 1 2930 + 20321 20320 20328 1 2930 + 20321 20328 20329 1 2930 + 20322 20321 20329 1 2930 + 20323 20322 20329 1 2930 + 20323 20329 20330 1 2930 + 20324 20323 20330 1 2930 + 20324 20330 20331 1 2930 + 20325 20324 20331 1 2930 + 20326 20325 20331 1 2930 + 20326 20331 20332 1 2930 + 20328 20327 20333 1 2930 + 20329 20328 20333 1 2930 + 20330 20329 20333 1 2930 + 20331 20330 20333 1 2930 + 20332 20331 20333 1 2930 + 20327 20332 20333 1 2930 + 20332 20327 8278 1 2930 + 20332 8278 8276 1 2930 + 20332 8276 20326 1 2930 + 20326 8276 8274 1 2930 + 20326 8274 20319 1 2930 + 20319 8274 8272 1 2930 + 20319 8272 20313 1 2930 + 20313 8272 8270 1 2930 + 20313 8270 20307 1 2930 + 20307 8270 8268 1 2930 + 20307 8268 8258 1 2930 + 20307 8258 20306 1 2930 + 20306 8258 8252 1 2930 + 20306 8252 20305 1 2930 + 20305 8252 20304 1 2930 + 20304 8252 8246 1 2930 + 20304 8246 20301 1 2930 + 20301 8246 1328 1 2930 + 20301 1328 20300 1 2930 + 20300 1328 955 1 2930 + 20300 955 6864 1 2930 + 20300 6864 20302 1 2930 + 20302 6864 6866 1 2930 + 20302 6866 20308 1 2930 + 20308 6866 6868 1 2930 + 20308 6868 20314 1 2930 + 20308 20314 20315 1 2930 + 20314 6868 6870 1 2930 + 20314 6870 6872 1 2930 + 20314 6872 20322 1 2930 + 20322 6872 6874 1 2930 + 20322 6874 20321 1 2930 + 20321 6874 6876 1 2930 + 20321 6876 20320 1 2930 + 20320 6876 956 1 2930 + 20320 956 1333 1 2930 + 20320 1333 8280 1 2930 + 20320 8280 20328 1 2930 + 20328 8280 20327 1 2930 + 20327 8280 8278 1 2930 + 8258 8268 1330 1 2930 + 20335 20336 20337 1 2931 + 20337 20336 20338 1 2931 + 20337 20338 16375 1 2931 + 20337 16375 982 1 2931 + 20337 982 20335 1 2931 + 20335 982 6956 1 2931 + 20335 6956 20334 1 2931 + 20335 20334 8318 1 2931 + 20335 8318 8314 1 2931 + 20335 8314 20336 1 2931 + 20336 8314 8310 1 2931 + 20336 8310 20338 1 2931 + 20338 8310 8306 1 2931 + 20338 8306 20339 1 2931 + 20338 20339 16377 1 2931 + 20338 16377 16375 1 2931 + 16377 20339 16379 1 2931 + 16379 20339 974 1 2931 + 974 20339 8302 1 2931 + 974 8302 8298 1 2931 + 974 8298 6934 1 2931 + 6934 8298 8294 1 2931 + 6934 8294 6931 1 2931 + 6931 8294 8290 1 2931 + 6931 8290 6928 1 2931 + 6928 8290 1334 1 2931 + 6928 1334 6925 1 2931 + 6925 1334 958 1 2931 + 6925 958 973 1 2931 + 973 958 959 1 2931 + 8302 20339 8306 1 2931 + 8318 20334 1336 1 2931 + 1336 20334 1339 1 2931 + 1339 20334 983 1 2931 + 983 20334 6956 1 2931 + 962 965 6921 1 2932 + 962 6921 961 1 2932 + 961 6921 971 1 2932 + 6921 965 968 1 2932 + 6952 980 16376 1 2933 + 6952 16376 20340 1 2933 + 6952 20340 6950 1 2933 + 6950 20340 20341 1 2933 + 6950 20341 6948 1 2933 + 6948 20341 6941 1 2933 + 6948 6941 977 1 2933 + 6941 20341 6939 1 2933 + 6939 20341 20342 1 2933 + 6939 20342 6937 1 2933 + 6937 20342 16380 1 2933 + 6937 16380 976 1 2933 + 16380 20342 16378 1 2933 + 16378 20342 20340 1 2933 + 16378 20340 16376 1 2933 + 20340 20342 20341 1 2933 + 8359 1350 1342 1 2934 + 8359 1342 1340 1 2934 + 8359 1340 985 1 2934 + 8359 985 986 1 2934 + 1342 1350 1345 1 2934 + 20344 20346 20347 1 2935 + 20345 20344 20347 1 2935 + 20345 20347 20348 1 2935 + 20343 20345 20348 1 2935 + 20346 20350 20351 1 2935 + 20347 20346 20351 1 2935 + 20347 20351 20352 1 2935 + 20348 20347 20352 1 2935 + 20348 20352 20353 1 2935 + 20349 20354 20355 1 2935 + 20350 20349 20355 1 2935 + 20350 20355 20356 1 2935 + 20351 20350 20356 1 2935 + 20351 20356 20357 1 2935 + 20352 20351 20357 1 2935 + 20352 20357 20358 1 2935 + 20353 20352 20358 1 2935 + 20353 20358 20359 1 2935 + 20358 20357 20360 1 2935 + 20358 20360 20361 1 2935 + 20359 20358 20361 1 2935 + 20359 20361 6993 1 2935 + 20359 6993 6997 1 2935 + 20359 6997 20353 1 2935 + 20353 6997 7001 1 2935 + 20353 7001 20348 1 2935 + 20348 7001 20343 1 2935 + 20343 7001 995 1 2935 + 20343 995 1356 1 2935 + 20343 1356 8390 1 2935 + 20343 8390 20345 1 2935 + 20345 8390 8384 1 2935 + 20345 8384 20344 1 2935 + 20344 8384 1353 1 2935 + 20344 1353 20346 1 2935 + 20346 1353 8368 1 2935 + 20346 8368 20349 1 2935 + 20346 20349 20350 1 2935 + 20349 8368 20354 1 2935 + 20354 8368 1351 1 2935 + 20354 1351 8361 1 2935 + 20354 8361 988 1 2935 + 20354 988 20355 1 2935 + 20355 988 6963 1 2935 + 20355 6963 20356 1 2935 + 20356 6963 6967 1 2935 + 20356 6967 20357 1 2935 + 20357 6967 20360 1 2935 + 20360 6967 6971 1 2935 + 20360 6971 20361 1 2935 + 20361 6971 6975 1 2935 + 20361 6975 6989 1 2935 + 20361 6989 6993 1 2935 + 6989 6975 989 1 2935 + 6989 989 992 1 2935 + 998 1359 7005 1 2936 + 7005 1359 8407 1 2936 + 7005 8407 1357 1 2936 + 7005 1357 997 1 2936 + 1001 1004 7011 1 2937 + 7011 1004 8428 1 2937 + 7011 8428 1365 1 2937 + 7011 1365 1000 1 2937 + 1000 1365 1362 1 2937 + 1000 1362 1360 1 2937 + 1007 1010 20362 1 2938 + 1007 20362 7029 1 2938 + 7029 20362 20364 1 2938 + 7029 20364 1006 1 2938 + 1006 20364 20363 1 2938 + 1006 20363 8430 1 2938 + 8430 20363 1368 1 2938 + 8430 1368 1366 1 2938 + 1368 20363 8433 1 2938 + 8433 20363 8436 1 2938 + 8436 20363 20364 1 2938 + 8436 20364 20362 1 2938 + 8436 20362 8439 1 2938 + 8439 20362 1010 1 2938 + 20365 20368 20369 1 2939 + 20366 20365 20369 1 2939 + 20366 20369 20370 1 2939 + 20368 20373 20374 1 2939 + 20369 20368 20374 1 2939 + 20369 20374 20375 1 2939 + 20370 20369 20375 1 2939 + 20371 20370 20375 1 2939 + 20367 20370 20371 1 2939 + 20371 20375 8438 1 2939 + 20371 8438 8441 1 2939 + 20371 8441 20372 1 2939 + 20371 20372 20367 1 2939 + 20367 20372 1380 1 2939 + 20367 1380 8468 1 2939 + 20367 8468 20366 1 2939 + 20367 20366 20370 1 2939 + 20366 8468 1377 1 2939 + 20366 1377 20365 1 2939 + 20365 1377 8456 1 2939 + 20365 8456 20368 1 2939 + 20368 8456 1374 1 2939 + 20368 1374 1371 1 2939 + 20368 1371 20373 1 2939 + 20373 1371 1369 1 2939 + 20373 1369 20374 1 2939 + 20374 1369 8435 1 2939 + 20374 8435 20375 1 2939 + 20375 8435 8438 1 2939 + 1380 20372 1383 1 2939 + 1383 20372 1013 1 2939 + 1013 20372 1012 1 2939 + 1012 20372 8441 1 2939 + 1016 1019 7061 1 2940 + 7061 1019 1386 1 2940 + 7061 1386 7059 1 2940 + 7059 1386 8500 1 2940 + 7059 8500 7057 1 2940 + 7057 8500 1384 1 2940 + 7057 1384 1015 1 2940 + 20377 20379 20380 1 2941 + 20378 20377 20380 1 2941 + 20378 20380 1022 1 2941 + 20378 1022 8540 1 2941 + 20378 8540 20376 1 2941 + 20378 20376 8525 1 2941 + 20378 8525 20377 1 2941 + 20377 8525 1392 1 2941 + 20377 1392 8522 1 2941 + 20377 8522 20379 1 2941 + 20379 8522 8520 1 2941 + 20379 8520 20382 1 2941 + 20379 20382 7098 1 2941 + 20379 7098 20380 1 2941 + 20380 7098 1022 1 2941 + 7098 20382 7091 1 2941 + 7091 20382 1021 1 2941 + 1021 20382 20381 1 2941 + 1021 20381 1387 1 2941 + 1387 20381 1389 1 2941 + 1389 20381 8520 1 2941 + 8520 20381 20382 1 2941 + 8525 20376 8528 1 2941 + 8528 20376 1395 1 2941 + 1395 20376 1398 1 2941 + 1398 20376 8540 1 2941 + 1025 1028 8545 1 2942 + 1025 8545 1024 1 2942 + 8545 1028 15961 1 2942 + 8545 15961 1399 1 2942 + 1399 15961 20386 1 2942 + 1399 20386 8555 1 2942 + 8555 20386 20383 1 2942 + 8555 20383 8562 1 2942 + 8562 20383 20384 1 2942 + 8562 20384 20385 1 2942 + 8562 20385 1404 1 2942 + 8562 1404 1401 1 2942 + 1404 20385 8580 1 2942 + 8580 20385 8584 1 2942 + 8584 20385 20384 1 2942 + 8584 20384 3265 1 2942 + 8584 3265 1084 1 2942 + 8584 1084 1407 1 2942 + 1407 1084 1085 1 2942 + 3265 20384 20383 1 2942 + 3265 20383 15955 1 2942 + 15955 20383 20386 1 2942 + 15955 20386 15961 1 2942 + 20387 20390 20391 1 2943 + 20387 20391 20392 1 2943 + 20388 20387 20392 1 2943 + 20388 20392 20393 1 2943 + 20388 20393 20394 1 2943 + 20389 20388 20394 1 2943 + 20389 20394 20395 1 2943 + 20392 20391 20396 1 2943 + 20392 20396 20397 1 2943 + 20393 20392 20397 1 2943 + 20393 20397 20398 1 2943 + 20394 20393 20398 1 2943 + 20394 20398 20399 1 2943 + 20394 20399 20400 1 2943 + 20395 20394 20400 1 2943 + 20395 20400 20401 1 2943 + 20397 20396 20402 1 2943 + 20397 20402 20403 1 2943 + 20398 20397 20403 1 2943 + 20398 20403 20404 1 2943 + 20399 20398 20404 1 2943 + 20399 20404 20405 1 2943 + 20399 20405 20406 1 2943 + 20400 20399 20406 1 2943 + 20400 20406 20407 1 2943 + 20401 20400 20407 1 2943 + 20401 20407 20408 1 2943 + 20403 20409 20410 1 2943 + 20404 20403 20410 1 2943 + 20404 20410 20411 1 2943 + 20405 20404 20411 1 2943 + 20405 20411 20412 1 2943 + 20406 20405 20412 1 2943 + 20406 20412 20413 1 2943 + 20407 20406 20413 1 2943 + 20407 20413 20414 1 2943 + 20408 20407 20414 1 2943 + 20411 20410 20415 1 2943 + 20411 20415 20416 1 2943 + 20412 20411 20416 1 2943 + 20412 20416 20417 1 2943 + 20413 20412 20417 1 2943 + 20413 20417 20418 1 2943 + 20414 20413 20418 1 2943 + 20414 20418 20419 1 2943 + 20414 20419 15986 1 2943 + 20414 15986 3268 1 2943 + 20414 3268 20408 1 2943 + 20408 3268 15983 1 2943 + 20408 15983 20401 1 2943 + 20401 15983 15981 1 2943 + 20401 15981 20395 1 2943 + 20395 15981 15979 1 2943 + 20395 15979 20389 1 2943 + 20389 15979 15977 1 2943 + 20389 15977 20388 1 2943 + 20388 15977 15975 1 2943 + 20388 15975 20387 1 2943 + 20387 15975 15973 1 2943 + 20387 15973 20390 1 2943 + 20390 15973 15971 1 2943 + 20390 15971 15960 1 2943 + 20390 15960 20391 1 2943 + 20391 15960 15966 1 2943 + 20391 15966 20396 1 2943 + 20396 15966 20402 1 2943 + 20402 15966 1030 1 2943 + 20402 1030 7122 1 2943 + 20402 7122 20409 1 2943 + 20402 20409 20403 1 2943 + 20409 7122 1031 1 2943 + 20409 1031 20410 1 2943 + 20410 1031 20415 1 2943 + 20415 1031 7137 1 2943 + 20415 7137 7139 1 2943 + 20415 7139 20416 1 2943 + 20416 7139 7141 1 2943 + 20416 7141 20417 1 2943 + 20417 7141 20418 1 2943 + 20418 7141 7143 1 2943 + 20418 7143 20419 1 2943 + 20419 7143 1034 1 2943 + 20419 1034 15989 1 2943 + 20419 15989 15986 1 2943 + 15960 15971 3266 1 2943 + 20421 20420 20427 1 2944 + 20421 20427 20428 1 2944 + 20422 20421 20428 1 2944 + 20422 20428 20429 1 2944 + 20423 20431 20432 1 2944 + 20424 20423 20432 1 2944 + 20424 20432 20433 1 2944 + 20425 20424 20433 1 2944 + 20425 20433 20434 1 2944 + 20420 20425 20434 1 2944 + 20420 20434 20426 1 2944 + 20420 20426 20427 1 2944 + 20427 20426 20436 1 2944 + 20427 20436 20437 1 2944 + 20428 20427 20437 1 2944 + 20428 20437 20438 1 2944 + 20429 20428 20438 1 2944 + 20429 20438 20439 1 2944 + 20430 20429 20439 1 2944 + 20430 20439 20440 1 2944 + 20432 20431 20442 1 2944 + 20432 20442 20443 1 2944 + 20433 20432 20443 1 2944 + 20433 20443 20444 1 2944 + 20434 20433 20444 1 2944 + 20434 20444 20445 1 2944 + 20426 20434 20445 1 2944 + 20426 20445 20435 1 2944 + 20426 20435 20436 1 2944 + 20436 20435 16037 1 2944 + 20436 16037 16033 1 2944 + 20436 16033 20437 1 2944 + 20437 16033 3271 1 2944 + 20437 3271 20438 1 2944 + 20438 3271 16021 1 2944 + 20438 16021 20439 1 2944 + 20439 16021 20440 1 2944 + 20440 16021 16015 1 2944 + 20440 16015 20441 1 2944 + 20440 20441 16007 1 2944 + 20440 16007 16005 1 2944 + 20440 16005 20430 1 2944 + 20430 16005 16003 1 2944 + 20430 16003 20429 1 2944 + 20429 16003 20422 1 2944 + 20422 16003 16001 1 2944 + 20422 16001 15999 1 2944 + 20422 15999 20421 1 2944 + 20421 15999 15997 1 2944 + 20421 15997 20420 1 2944 + 20420 15997 15995 1 2944 + 20420 15995 20425 1 2944 + 20425 15995 20424 1 2944 + 20424 15995 15993 1 2944 + 20424 15993 20423 1 2944 + 20423 15993 3269 1 2944 + 20423 3269 15988 1 2944 + 20423 15988 20431 1 2944 + 20431 15988 15991 1 2944 + 20431 15991 20442 1 2944 + 20442 15991 1036 1 2944 + 20442 1036 1037 1 2944 + 20442 1037 1045 1 2944 + 20442 1045 1046 1 2944 + 20442 1046 20443 1 2944 + 20443 1046 16046 1 2944 + 20443 16046 20444 1 2944 + 20444 16046 20445 1 2944 + 20445 16046 3274 1 2944 + 20445 3274 20435 1 2944 + 20435 3274 16037 1 2944 + 16007 20441 16009 1 2944 + 16009 20441 1075 1 2944 + 16009 1075 1079 1 2944 + 1079 1075 1076 1 2944 + 1075 20441 16015 1 2944 + 1040 1043 1039 1 2945 + 1049 1052 7153 1 2946 + 7153 1052 20447 1 2946 + 7153 20447 1048 1 2946 + 1048 20447 16050 1 2946 + 16050 20447 20448 1 2946 + 16050 20448 20449 1 2946 + 16050 20449 3275 1 2946 + 3275 20449 20446 1 2946 + 3275 20446 16054 1 2946 + 16054 20446 16070 1 2946 + 16054 16070 3277 1 2946 + 3277 16070 3283 1 2946 + 3277 3283 3280 1 2946 + 16070 20446 3286 1 2946 + 3286 20446 20449 1 2946 + 3286 20449 16077 1 2946 + 16077 20449 20448 1 2946 + 16077 20448 16080 1 2946 + 16080 20448 20447 1 2946 + 16080 20447 1052 1 2946 + 20450 20452 20453 1 2947 + 20451 20454 20455 1 2947 + 20451 20455 20456 1 2947 + 20452 20451 20456 1 2947 + 20452 20456 20457 1 2947 + 20453 20452 20457 1 2947 + 20453 20457 20458 1 2947 + 20457 20456 20459 1 2947 + 20457 20459 20460 1 2947 + 20458 20457 20460 1 2947 + 20458 20460 16088 1 2947 + 20458 16088 16086 1 2947 + 20458 16086 20453 1 2947 + 20453 16086 16084 1 2947 + 20453 16084 16079 1 2947 + 20453 16079 20450 1 2947 + 20450 16079 16082 1 2947 + 20450 16082 20451 1 2947 + 20450 20451 20452 1 2947 + 20451 16082 1054 1 2947 + 20451 1054 7160 1 2947 + 20451 7160 20454 1 2947 + 20454 7160 16100 1 2947 + 20454 16100 16098 1 2947 + 20454 16098 20455 1 2947 + 20455 16098 16096 1 2947 + 20455 16096 20456 1 2947 + 20456 16096 20459 1 2947 + 20459 16096 16094 1 2947 + 20459 16094 20460 1 2947 + 20460 16094 16092 1 2947 + 20460 16092 16090 1 2947 + 20460 16090 16088 1 2947 + 16090 16092 3289 1 2947 + 16100 7160 1055 1 2947 + 16079 16084 3287 1 2947 + 20461 20462 20463 1 2948 + 20461 20463 20464 1 2948 + 20462 20467 20468 1 2948 + 20463 20462 20468 1 2948 + 20463 20468 20469 1 2948 + 20464 20463 20469 1 2948 + 20464 20469 20470 1 2948 + 20465 20464 20470 1 2948 + 20465 20470 20471 1 2948 + 20466 20465 20471 1 2948 + 20466 20471 20472 1 2948 + 20467 20474 20475 1 2948 + 20468 20467 20475 1 2948 + 20468 20475 20476 1 2948 + 20469 20468 20476 1 2948 + 20469 20476 20477 1 2948 + 20470 20469 20477 1 2948 + 20470 20477 20478 1 2948 + 20471 20470 20478 1 2948 + 20471 20478 20479 1 2948 + 20472 20471 20479 1 2948 + 20472 20479 20480 1 2948 + 20473 20472 20480 1 2948 + 20474 20481 20482 1 2948 + 20475 20474 20482 1 2948 + 20475 20482 20483 1 2948 + 20476 20475 20483 1 2948 + 20477 20476 20483 1 2948 + 20477 20483 20484 1 2948 + 20478 20477 20484 1 2948 + 20478 20484 20485 1 2948 + 20479 20478 20485 1 2948 + 20479 20485 20486 1 2948 + 20480 20479 20486 1 2948 + 20480 20486 20487 1 2948 + 20481 20489 20490 1 2948 + 20482 20481 20490 1 2948 + 20482 20490 20491 1 2948 + 20483 20482 20491 1 2948 + 20483 20491 20492 1 2948 + 20484 20483 20492 1 2948 + 20485 20484 20492 1 2948 + 20485 20492 20493 1 2948 + 20486 20485 20493 1 2948 + 20486 20493 20494 1 2948 + 20487 20486 20494 1 2948 + 20489 20488 20495 1 2948 + 20490 20489 20495 1 2948 + 20490 20495 20496 1 2948 + 20491 20490 20496 1 2948 + 20492 20491 20496 1 2948 + 20492 20496 20497 1 2948 + 20493 20492 20497 1 2948 + 20494 20493 20497 1 2948 + 20496 20495 20498 1 2948 + 20497 20496 20498 1 2948 + 20497 20498 16113 1 2948 + 20497 16113 20494 1 2948 + 20494 16113 16109 1 2948 + 20494 16109 20487 1 2948 + 20487 16109 3292 1 2948 + 20487 3292 16103 1 2948 + 20487 16103 20480 1 2948 + 20480 16103 20473 1 2948 + 20473 16103 3290 1 2948 + 20473 3290 16093 1 2948 + 20473 16093 20472 1 2948 + 20472 16093 20466 1 2948 + 20466 16093 16095 1 2948 + 20466 16095 16097 1 2948 + 20466 16097 20465 1 2948 + 20465 16097 16099 1 2948 + 20465 16099 20464 1 2948 + 20464 16099 20461 1 2948 + 20461 16099 16101 1 2948 + 20461 16101 1057 1 2948 + 20461 1057 20462 1 2948 + 20462 1057 1058 1 2948 + 20462 1058 7168 1 2948 + 20462 7168 20467 1 2948 + 20467 7168 7172 1 2948 + 20467 7172 20474 1 2948 + 20474 7172 7176 1 2948 + 20474 7176 20481 1 2948 + 20481 7176 7180 1 2948 + 20481 7180 20489 1 2948 + 20489 7180 7184 1 2948 + 20489 7184 20488 1 2948 + 20488 7184 1061 1 2948 + 20488 1061 16121 1 2948 + 20488 16121 20495 1 2948 + 20495 16121 16117 1 2948 + 20495 16117 20498 1 2948 + 20498 16117 16113 1 2948 + 20500 20504 20505 1 2949 + 20501 20500 20505 1 2949 + 20501 20505 20506 1 2949 + 20502 20501 20506 1 2949 + 20503 20508 20509 1 2949 + 20506 20505 20510 1 2949 + 20506 20510 20511 1 2949 + 20507 20506 20511 1 2949 + 20507 20511 20512 1 2949 + 20509 20508 20514 1 2949 + 20511 20510 20515 1 2949 + 20511 20515 20516 1 2949 + 20512 20511 20516 1 2949 + 20513 20512 20516 1 2949 + 20513 20516 20517 1 2949 + 20514 20513 20517 1 2949 + 20514 20517 16136 1 2949 + 20514 16136 20509 1 2949 + 20509 16136 16133 1 2949 + 20509 16133 20503 1 2949 + 20503 16133 16130 1 2949 + 20503 16130 16127 1 2949 + 20503 16127 3293 1 2949 + 20503 3293 16112 1 2949 + 20503 16112 20508 1 2949 + 20508 16112 16116 1 2949 + 20508 16116 20513 1 2949 + 20508 20513 20514 1 2949 + 20513 16116 16120 1 2949 + 20513 16120 20512 1 2949 + 20512 16120 20507 1 2949 + 20507 16120 16124 1 2949 + 20507 16124 1063 1 2949 + 20507 1063 20502 1 2949 + 20507 20502 20506 1 2949 + 20502 1063 7194 1 2949 + 20502 7194 20501 1 2949 + 20501 7194 7199 1 2949 + 20501 7199 20500 1 2949 + 20500 7199 20499 1 2949 + 20500 20499 3298 1 2949 + 20500 3298 16151 1 2949 + 20500 16151 20504 1 2949 + 20504 16151 16148 1 2949 + 20504 16148 20510 1 2949 + 20504 20510 20505 1 2949 + 20510 16148 16145 1 2949 + 20510 16145 20515 1 2949 + 20515 16145 16142 1 2949 + 20515 16142 20516 1 2949 + 20516 16142 20517 1 2949 + 20517 16142 16139 1 2949 + 20517 16139 16136 1 2949 + 3298 20499 3301 1 2949 + 3301 20499 1064 1 2949 + 1064 20499 7199 1 2949 + 16127 16130 3295 1 2949 + 20518 20519 20520 1 2950 + 20519 20521 20522 1 2950 + 20520 20519 20522 1 2950 + 20520 20522 20523 1 2950 + 20522 20521 20524 1 2950 + 20522 20524 20525 1 2950 + 20523 20522 20525 1 2950 + 20523 20525 20526 1 2950 + 20524 20527 20528 1 2950 + 20525 20524 20528 1 2950 + 20525 20528 20529 1 2950 + 20526 20525 20529 1 2950 + 20526 20529 20530 1 2950 + 20528 20527 20531 1 2950 + 20528 20531 20532 1 2950 + 20529 20528 20532 1 2950 + 20529 20532 20533 1 2950 + 20530 20529 20533 1 2950 + 20530 20533 20534 1 2950 + 20531 20535 20536 1 2950 + 20532 20531 20536 1 2950 + 20532 20536 20537 1 2950 + 20533 20532 20537 1 2950 + 20534 20533 20537 1 2950 + 20534 20537 20538 1 2950 + 20537 20536 20539 1 2950 + 20537 20539 20540 1 2950 + 20538 20537 20540 1 2950 + 20538 20540 20541 1 2950 + 20540 20539 20543 1 2950 + 20540 20543 20544 1 2950 + 20541 20540 20544 1 2950 + 20542 20541 20544 1 2950 + 20542 20544 20545 1 2950 + 20544 20543 20546 1 2950 + 20545 20544 20546 1 2950 + 20545 20546 3304 1 2950 + 20545 3304 16175 1 2950 + 20545 16175 3302 1 2950 + 20545 3302 20542 1 2950 + 20542 3302 1066 1 2950 + 20542 1066 1067 1 2950 + 20542 1067 20541 1 2950 + 20541 1067 7228 1 2950 + 20541 7228 20538 1 2950 + 20538 7228 7231 1 2950 + 20538 7231 20534 1 2950 + 20534 7231 7234 1 2950 + 20534 7234 20530 1 2950 + 20530 7234 7237 1 2950 + 20530 7237 20526 1 2950 + 20526 7237 7240 1 2950 + 20526 7240 20523 1 2950 + 20523 7240 7243 1 2950 + 20523 7243 20520 1 2950 + 20520 7243 7246 1 2950 + 20520 7246 20518 1 2950 + 20518 7246 1070 1 2950 + 20518 1070 3310 1 2950 + 20518 3310 16203 1 2950 + 20518 16203 16200 1 2950 + 20518 16200 20519 1 2950 + 20519 16200 3307 1 2950 + 20519 3307 20521 1 2950 + 20521 3307 16197 1 2950 + 20521 16197 20524 1 2950 + 20524 16197 16195 1 2950 + 20524 16195 20527 1 2950 + 20527 16195 16193 1 2950 + 20527 16193 20531 1 2950 + 20531 16193 16191 1 2950 + 20531 16191 20535 1 2950 + 20535 16191 16189 1 2950 + 20535 16189 20539 1 2950 + 20535 20539 20536 1 2950 + 20539 16189 16187 1 2950 + 20539 16187 20543 1 2950 + 20543 16187 20546 1 2950 + 20546 16187 16185 1 2950 + 20546 16185 3304 1 2950 + 20549 20551 20550 1 2951 + 20549 20550 16225 1 2951 + 20549 16225 16221 1 2951 + 20549 16221 20548 1 2951 + 20549 20548 3270 1 2951 + 20549 3270 16371 1 2951 + 20549 16371 20551 1 2951 + 20551 16371 3278 1 2951 + 20551 3278 3279 1 2951 + 20551 3279 16236 1 2951 + 20551 16236 20550 1 2951 + 20550 16236 16225 1 2951 + 16225 16236 3313 1 2951 + 3313 16236 3316 1 2951 + 3270 20548 16026 1 2951 + 16026 20548 16217 1 2951 + 16026 16217 20547 1 2951 + 16026 20547 16020 1 2951 + 16020 20547 16213 1 2951 + 16020 16213 16209 1 2951 + 16020 16209 1073 1 2951 + 1073 16209 7249 1 2951 + 7249 16209 3311 1 2951 + 7249 3311 1072 1 2951 + 16213 20547 16217 1 2951 + 16217 20548 16221 1 2951 + 20552 20553 20554 1 2952 + 20552 20554 20555 1 2952 + 20552 20555 20556 1 2952 + 20552 20557 20553 1 2952 + 20554 20553 20559 1 2952 + 20554 20559 20560 1 2952 + 20554 20560 20561 1 2952 + 20555 20554 20561 1 2952 + 20555 20561 20562 1 2952 + 20555 20562 20563 1 2952 + 20556 20555 20563 1 2952 + 20553 20557 20564 1 2952 + 20553 20564 20558 1 2952 + 20553 20558 20559 1 2952 + 20559 20558 20566 1 2952 + 20559 20566 20567 1 2952 + 20560 20559 20567 1 2952 + 20560 20567 20568 1 2952 + 20561 20560 20568 1 2952 + 20561 20568 20569 1 2952 + 20561 20569 20570 1 2952 + 20562 20561 20570 1 2952 + 20562 20570 20571 1 2952 + 20563 20562 20571 1 2952 + 20563 20571 20572 1 2952 + 20564 20573 20574 1 2952 + 20558 20564 20574 1 2952 + 20558 20574 20565 1 2952 + 20558 20565 20566 1 2952 + 20566 20565 20575 1 2952 + 20566 20575 20576 1 2952 + 20567 20566 20576 1 2952 + 20567 20576 20577 1 2952 + 20568 20567 20577 1 2952 + 20568 20577 20578 1 2952 + 20569 20568 20578 1 2952 + 20569 20578 20579 1 2952 + 20569 20579 20580 1 2952 + 20570 20569 20580 1 2952 + 20570 20580 20581 1 2952 + 20571 20570 20581 1 2952 + 20571 20581 20582 1 2952 + 20572 20571 20582 1 2952 + 20574 20573 20583 1 2952 + 20578 20577 20584 1 2952 + 20578 20584 20585 1 2952 + 20579 20578 20585 1 2952 + 20579 20585 20586 1 2952 + 20580 20579 20586 1 2952 + 20580 20586 20587 1 2952 + 20581 20580 20587 1 2952 + 20581 20587 20588 1 2952 + 20586 20585 20589 1 2952 + 20586 20589 20590 1 2952 + 20587 20586 20590 1 2952 + 20587 20590 7303 1 2952 + 20587 7303 20588 1 2952 + 20588 7303 7307 1 2952 + 20588 7307 20582 1 2952 + 20588 20582 20581 1 2952 + 20582 7307 1082 1 2952 + 20582 1082 3264 1 2952 + 20582 3264 20572 1 2952 + 20572 3264 15972 1 2952 + 20572 15972 20563 1 2952 + 20563 15972 15974 1 2952 + 20563 15974 20556 1 2952 + 20556 15974 15976 1 2952 + 20556 15976 20552 1 2952 + 20552 15976 15978 1 2952 + 20552 15978 20557 1 2952 + 20557 15978 15980 1 2952 + 20557 15980 20564 1 2952 + 20564 15980 20573 1 2952 + 20573 15980 15982 1 2952 + 20573 15982 15984 1 2952 + 20573 15984 20583 1 2952 + 20583 15984 3267 1 2952 + 20583 3267 15994 1 2952 + 20583 15994 15996 1 2952 + 20583 15996 20574 1 2952 + 20574 15996 20565 1 2952 + 20565 15996 15998 1 2952 + 20565 15998 20575 1 2952 + 20575 15998 16000 1 2952 + 20575 16000 20576 1 2952 + 20576 16000 16002 1 2952 + 20576 16002 20577 1 2952 + 20577 16002 16004 1 2952 + 20577 16004 20584 1 2952 + 20584 16004 16006 1 2952 + 20584 16006 20585 1 2952 + 20585 16006 16008 1 2952 + 20585 16008 20589 1 2952 + 20589 16008 16010 1 2952 + 20589 16010 20590 1 2952 + 20590 16010 7299 1 2952 + 20590 7299 7303 1 2952 + 7299 16010 1081 1 2952 + 1088 1408 1087 1 2953 + 20592 20591 20594 1 2954 + 20592 20594 20595 1 2954 + 20591 20593 20594 1 2954 + 20594 20593 20597 1 2954 + 20593 20596 20597 1 2954 + 20597 20596 7339 1 2954 + 20597 7339 7341 1 2954 + 20597 7341 20594 1 2954 + 20594 7341 20595 1 2954 + 20595 7341 7343 1 2954 + 20595 7343 1413 1 2954 + 20595 1413 8593 1 2954 + 20595 8593 20592 1 2954 + 20592 8593 1410 1 2954 + 20592 1410 20591 1 2954 + 20591 1410 1405 1 2954 + 20591 1405 8583 1 2954 + 20591 8583 20593 1 2954 + 20593 8583 8587 1 2954 + 20593 8587 20596 1 2954 + 20596 8587 1406 1 2954 + 20596 1406 1090 1 2954 + 20596 1090 7339 1 2954 + 7339 1090 1091 1 2954 + 1413 7343 1094 1 2954 + 20598 20600 20601 1 2955 + 20598 20601 8637 1 2955 + 20598 8637 1419 1 2955 + 20598 1419 8626 1 2955 + 20598 8626 20599 1 2955 + 20598 20599 20600 1 2955 + 20600 20599 8681 1 2955 + 20600 8681 8676 1 2955 + 20600 8676 20601 1 2955 + 20601 8676 8671 1 2955 + 20601 8671 8642 1 2955 + 20601 8642 8637 1 2955 + 8642 8671 1428 1 2955 + 8642 1428 1425 1 2955 + 8642 1425 1422 1 2955 + 8681 20599 20602 1 2955 + 8681 20602 8686 1 2955 + 8686 20602 20603 1 2955 + 8686 20603 8691 1 2955 + 8691 20603 1096 1 2955 + 8691 1096 1097 1 2955 + 1096 20603 1414 1 2955 + 1414 20603 1416 1 2955 + 1416 20603 8616 1 2955 + 8616 20603 20602 1 2955 + 8616 20602 8621 1 2955 + 8621 20602 20599 1 2955 + 8621 20599 8626 1 2955 + 20604 20606 20607 1 2956 + 20604 20607 20608 1 2956 + 20604 20608 20605 1 2956 + 20608 20607 20609 1 2956 + 20608 20609 20610 1 2956 + 20608 20610 20611 1 2956 + 20605 20608 20611 1 2956 + 20609 20612 20613 1 2956 + 20610 20609 20613 1 2956 + 20610 20613 20614 1 2956 + 20611 20610 20614 1 2956 + 20613 20612 20615 1 2956 + 20613 20615 20616 1 2956 + 20614 20613 20616 1 2956 + 20614 20616 7391 1 2956 + 20614 7391 1105 1 2956 + 20614 1105 8711 1 2956 + 20614 8711 20611 1 2956 + 20611 8711 20605 1 2956 + 20605 8711 1434 1 2956 + 20605 1434 1431 1 2956 + 20605 1431 20604 1 2956 + 20604 1431 8701 1 2956 + 20604 8701 20606 1 2956 + 20606 8701 8699 1 2956 + 20606 8699 8675 1 2956 + 20606 8675 20607 1 2956 + 20607 8675 8680 1 2956 + 20607 8680 20609 1 2956 + 20609 8680 8685 1 2956 + 20609 8685 20612 1 2956 + 20612 8685 8690 1 2956 + 20612 8690 20615 1 2956 + 20615 8690 8695 1 2956 + 20615 8695 7385 1 2956 + 20615 7385 7387 1 2956 + 20615 7387 7389 1 2956 + 20615 7389 20616 1 2956 + 20616 7389 7391 1 2956 + 7385 8695 1102 1 2956 + 1102 8695 1099 1 2956 + 8675 8699 1429 1 2956 + 20617 20619 20620 1 2957 + 20617 20620 20621 1 2957 + 20619 20622 20623 1 2957 + 20620 20619 20623 1 2957 + 20620 20623 20624 1 2957 + 20620 20624 20625 1 2957 + 20621 20620 20625 1 2957 + 20621 20625 20626 1 2957 + 20624 20623 20627 1 2957 + 20624 20627 20628 1 2957 + 20625 20624 20628 1 2957 + 20625 20628 20629 1 2957 + 20625 20629 20630 1 2957 + 20626 20625 20630 1 2957 + 20628 20631 20632 1 2957 + 20629 20628 20632 1 2957 + 20629 20632 20633 1 2957 + 20630 20629 20633 1 2957 + 20633 20632 20634 1 2957 + 20633 20634 1446 1 2957 + 20633 1446 8757 1 2957 + 20633 8757 20630 1 2957 + 20630 8757 8753 1 2957 + 20630 8753 20626 1 2957 + 20626 8753 8749 1 2957 + 20626 8749 20621 1 2957 + 20621 8749 8745 1 2957 + 20621 8745 20617 1 2957 + 20617 8745 20618 1 2957 + 20617 20618 1440 1 2957 + 20617 1440 20619 1 2957 + 20619 1440 8731 1 2957 + 20619 8731 20622 1 2957 + 20622 8731 1437 1 2957 + 20622 1437 8723 1 2957 + 20622 8723 20623 1 2957 + 20623 8723 20627 1 2957 + 20627 8723 1435 1 2957 + 20627 1435 8716 1 2957 + 20627 8716 20631 1 2957 + 20627 20631 20628 1 2957 + 20631 8716 1107 1 2957 + 20631 1107 20632 1 2957 + 20632 1107 20634 1 2957 + 20634 1107 7403 1 2957 + 20634 7403 8765 1 2957 + 20634 8765 1446 1 2957 + 8765 7403 1108 1 2957 + 1440 20618 1443 1 2957 + 1443 20618 8745 1 2957 + 20635 20636 20637 1 2958 + 20636 20639 20640 1 2958 + 20637 20636 20640 1 2958 + 20637 20640 20641 1 2958 + 20638 20637 20641 1 2958 + 20640 20639 20642 1 2958 + 20640 20642 8781 1 2958 + 20640 8781 20641 1 2958 + 20641 8781 8779 1 2958 + 20641 8779 20638 1 2958 + 20638 8779 8777 1 2958 + 20638 8777 8775 1 2958 + 20638 8775 8773 1 2958 + 20638 8773 20637 1 2958 + 20637 8773 20635 1 2958 + 20635 8773 8771 1 2958 + 20635 8771 1447 1 2958 + 20635 1447 8768 1 2958 + 20635 8768 20636 1 2958 + 20636 8768 20639 1 2958 + 20639 8768 1110 1 2958 + 20639 1110 20642 1 2958 + 20642 1110 1113 1 2958 + 20642 1113 8785 1 2958 + 20642 8785 8783 1 2958 + 20642 8783 8781 1 2958 + 8785 1113 1455 1 2958 + 8785 1455 1452 1 2958 + 8775 8777 1449 1 2958 + 1116 1456 1115 1 2959 + 20644 20647 20648 1 2960 + 20645 20644 20648 1 2960 + 20645 20648 20649 1 2960 + 20646 20645 20649 1 2960 + 20648 20647 20651 1 2960 + 20648 20651 20652 1 2960 + 20649 20648 20652 1 2960 + 20649 20652 20653 1 2960 + 20652 20651 20655 1 2960 + 20652 20655 20656 1 2960 + 20653 20652 20656 1 2960 + 20654 20659 20660 1 2960 + 20656 20655 20661 1 2960 + 20657 20656 20661 1 2960 + 20657 20661 20662 1 2960 + 20658 20657 20662 1 2960 + 20658 20662 20663 1 2960 + 20659 20658 20663 1 2960 + 20660 20659 20663 1 2960 + 20662 20661 20664 1 2960 + 20663 20662 20664 1 2960 + 20663 20664 8797 1 2960 + 20663 8797 20660 1 2960 + 20660 8797 1458 1 2960 + 20660 1458 8793 1 2960 + 20660 8793 20654 1 2960 + 20654 8793 8790 1 2960 + 20654 8790 20650 1 2960 + 20654 20650 1121 1 2960 + 20654 1121 8856 1 2960 + 20654 8856 20659 1 2960 + 20659 8856 8850 1 2960 + 20659 8850 20658 1 2960 + 20658 8850 8844 1 2960 + 20658 8844 20657 1 2960 + 20657 8844 20653 1 2960 + 20657 20653 20656 1 2960 + 20653 8844 8838 1 2960 + 20653 8838 20649 1 2960 + 20649 8838 1470 1 2960 + 20649 1470 20646 1 2960 + 20646 1470 1467 1 2960 + 20646 1467 1464 1 2960 + 20646 1464 20645 1 2960 + 20645 1464 8814 1 2960 + 20645 8814 20644 1 2960 + 20644 8814 20643 1 2960 + 20644 20643 8809 1 2960 + 20644 8809 8807 1 2960 + 20644 8807 20647 1 2960 + 20647 8807 8805 1 2960 + 20647 8805 20651 1 2960 + 20651 8805 8803 1 2960 + 20651 8803 20655 1 2960 + 20655 8803 8801 1 2960 + 20655 8801 20661 1 2960 + 20661 8801 8799 1 2960 + 20661 8799 20664 1 2960 + 20664 8799 8797 1 2960 + 8809 20643 1461 1 2960 + 1461 20643 8814 1 2960 + 1121 20650 1118 1 2960 + 1118 20650 1454 1 2960 + 1454 20650 1453 1 2960 + 1453 20650 8790 1 2960 + 20665 20668 20669 1 2961 + 20666 20665 20669 1 2961 + 20666 20669 20670 1 2961 + 20667 20666 20670 1 2961 + 20668 20673 20674 1 2961 + 20669 20668 20674 1 2961 + 20670 20669 20674 1 2961 + 20670 20674 20675 1 2961 + 20673 20672 20676 1 2961 + 20674 20673 20676 1 2961 + 20674 20676 20675 1 2961 + 20675 20676 7464 1 2961 + 20675 7464 1130 1 2961 + 20675 1130 1485 1 2961 + 20675 1485 20670 1 2961 + 20670 1485 1482 1 2961 + 20670 1482 20667 1 2961 + 20667 1482 8880 1 2961 + 20667 8880 20666 1 2961 + 20666 8880 8874 1 2961 + 20666 8874 20665 1 2961 + 20665 8874 1473 1 2961 + 20665 1473 1471 1 2961 + 20665 1471 8843 1 2961 + 20665 8843 20668 1 2961 + 20668 8843 20673 1 2961 + 20673 8843 8849 1 2961 + 20673 8849 20672 1 2961 + 20672 8849 8855 1 2961 + 20672 8855 20671 1 2961 + 20672 20671 7456 1 2961 + 20672 7456 20676 1 2961 + 20676 7456 7460 1 2961 + 20676 7460 7464 1 2961 + 7456 20671 7452 1 2961 + 7452 20671 8855 1 2961 + 7452 8855 8861 1 2961 + 7452 8861 1124 1 2961 + 1124 8861 1123 1 2961 + 8880 1482 1476 1 2961 + 1476 1482 1479 1 2961 + 1133 1136 1139 1 2962 + 1133 1139 7476 1 2962 + 7476 1139 1491 1 2962 + 7476 1491 8917 1 2962 + 7476 8917 1132 1 2962 + 1132 8917 1488 1 2962 + 1132 1488 1486 1 2962 + 20678 20677 20682 1 2963 + 20678 20682 20683 1 2963 + 20679 20687 20688 1 2963 + 20680 20679 20688 1 2963 + 20680 20688 20689 1 2963 + 20681 20680 20689 1 2963 + 20682 20681 20689 1 2963 + 20677 20681 20682 1 2963 + 20683 20682 20690 1 2963 + 20683 20690 20691 1 2963 + 20684 20683 20691 1 2963 + 20684 20691 20692 1 2963 + 20685 20684 20692 1 2963 + 20685 20692 20693 1 2963 + 20686 20695 20696 1 2963 + 20687 20686 20696 1 2963 + 20687 20696 20697 1 2963 + 20688 20687 20697 1 2963 + 20688 20697 20698 1 2963 + 20689 20688 20698 1 2963 + 20690 20689 20698 1 2963 + 20682 20689 20690 1 2963 + 20691 20690 20699 1 2963 + 20691 20699 20700 1 2963 + 20692 20691 20700 1 2963 + 20692 20700 20701 1 2963 + 20693 20692 20701 1 2963 + 20693 20701 20702 1 2963 + 20694 20693 20702 1 2963 + 20697 20696 20703 1 2963 + 20697 20703 20704 1 2963 + 20698 20697 20704 1 2963 + 20699 20698 20704 1 2963 + 20690 20698 20699 1 2963 + 20700 20699 20705 1 2963 + 20700 20705 20706 1 2963 + 20701 20700 20706 1 2963 + 20702 20701 20706 1 2963 + 20702 20706 20707 1 2963 + 20704 20703 20708 1 2963 + 20705 20704 20708 1 2963 + 20699 20704 20705 1 2963 + 20706 20705 20709 1 2963 + 20707 20706 20709 1 2963 + 20705 20708 20709 1 2963 + 20709 20708 7562 1 2963 + 20709 7562 1151 1 2963 + 20709 1151 20707 1 2963 + 20707 1151 8958 1 2963 + 20707 8958 20702 1 2963 + 20702 8958 8953 1 2963 + 20702 8953 20694 1 2963 + 20694 8953 8946 1 2963 + 20694 8946 20693 1 2963 + 20693 8946 8943 1 2963 + 20693 8943 20685 1 2963 + 20685 8943 8940 1 2963 + 20685 8940 20684 1 2963 + 20684 8940 1494 1 2963 + 20684 1494 20678 1 2963 + 20684 20678 20683 1 2963 + 20678 1494 8937 1 2963 + 20678 8937 20677 1 2963 + 20677 8937 8935 1 2963 + 20677 8935 20681 1 2963 + 20681 8935 8933 1 2963 + 20681 8933 20680 1 2963 + 20680 8933 1492 1 2963 + 20680 1492 20679 1 2963 + 20679 1492 1141 1 2963 + 20679 1141 20687 1 2963 + 20687 1141 20686 1 2963 + 20686 1141 7509 1 2963 + 20686 7509 7512 1 2963 + 20686 7512 20695 1 2963 + 20695 7512 7515 1 2963 + 20695 7515 7554 1 2963 + 20695 7554 20703 1 2963 + 20695 20703 20696 1 2963 + 20703 7554 7562 1 2963 + 20703 7562 20708 1 2963 + 7554 7515 1145 1 2963 + 1145 7515 1142 1 2963 + 8946 8953 1497 1 2963 + 9006 1506 8970 1 2964 + 9006 8970 20710 1 2964 + 9006 20710 9008 1 2964 + 9008 20710 9010 1 2964 + 9010 20710 20711 1 2964 + 9010 20711 9012 1 2964 + 9012 20711 20712 1 2964 + 9012 20712 9014 1 2964 + 9014 20712 8962 1 2964 + 9014 8962 1154 1 2964 + 1154 8962 1153 1 2964 + 8962 20712 8957 1 2964 + 8957 20712 20711 1 2964 + 8957 20711 1498 1 2964 + 1498 20711 20710 1 2964 + 1498 20710 8970 1 2964 + 8970 1506 8976 1 2964 + 8976 1506 1503 1 2964 + 8976 1503 1500 1 2964 + 20713 20714 20715 1 2965 + 20714 20720 20721 1 2965 + 20715 20714 20721 1 2965 + 20715 20721 20722 1 2965 + 20716 20715 20722 1 2965 + 20716 20722 20723 1 2965 + 20717 20716 20723 1 2965 + 20717 20723 20724 1 2965 + 20718 20717 20724 1 2965 + 20718 20724 20725 1 2965 + 20719 20718 20725 1 2965 + 20719 20725 20726 1 2965 + 20720 20727 20728 1 2965 + 20721 20720 20728 1 2965 + 20721 20728 20729 1 2965 + 20722 20721 20729 1 2965 + 20722 20729 20730 1 2965 + 20723 20722 20730 1 2965 + 20723 20730 20731 1 2965 + 20724 20723 20731 1 2965 + 20724 20731 20732 1 2965 + 20725 20724 20732 1 2965 + 20726 20725 20732 1 2965 + 20726 20732 20733 1 2965 + 20727 20734 20735 1 2965 + 20728 20727 20735 1 2965 + 20728 20735 20736 1 2965 + 20729 20728 20736 1 2965 + 20729 20736 20737 1 2965 + 20730 20729 20737 1 2965 + 20731 20730 20737 1 2965 + 20731 20737 20738 1 2965 + 20732 20731 20738 1 2965 + 20732 20738 20739 1 2965 + 20733 20732 20739 1 2965 + 20733 20739 20740 1 2965 + 20734 20741 20742 1 2965 + 20735 20734 20742 1 2965 + 20735 20742 20743 1 2965 + 20736 20735 20743 1 2965 + 20737 20736 20743 1 2965 + 20737 20743 20744 1 2965 + 20738 20737 20744 1 2965 + 20738 20744 20745 1 2965 + 20739 20738 20745 1 2965 + 20740 20739 20745 1 2965 + 20740 20745 20746 1 2965 + 20742 20741 20747 1 2965 + 20742 20747 20748 1 2965 + 20743 20742 20748 1 2965 + 20744 20743 20748 1 2965 + 20744 20748 20749 1 2965 + 20745 20744 20749 1 2965 + 20746 20745 20749 1 2965 + 20746 20749 7625 1 2965 + 20746 7625 1163 1 2965 + 20746 1163 9070 1 2965 + 20746 9070 20740 1 2965 + 20740 9070 9068 1 2965 + 20740 9068 20733 1 2965 + 20733 9068 20726 1 2965 + 20726 9068 9066 1 2965 + 20726 9066 20719 1 2965 + 20719 9066 9064 1 2965 + 20719 9064 9042 1 2965 + 20719 9042 20718 1 2965 + 20718 9042 9035 1 2965 + 20718 9035 20717 1 2965 + 20717 9035 9028 1 2965 + 20717 9028 20716 1 2965 + 20716 9028 20715 1 2965 + 20715 9028 9021 1 2965 + 20715 9021 20713 1 2965 + 20713 9021 1507 1 2965 + 20713 1507 9007 1 2965 + 20713 9007 20714 1 2965 + 20714 9007 9009 1 2965 + 20714 9009 20720 1 2965 + 20720 9009 9011 1 2965 + 20720 9011 20727 1 2965 + 20727 9011 9013 1 2965 + 20727 9013 20734 1 2965 + 20734 9013 9015 1 2965 + 20734 9015 20741 1 2965 + 20741 9015 1156 1 2965 + 20741 1156 7586 1 2965 + 20741 7586 20747 1 2965 + 20747 7586 1157 1 2965 + 20747 1157 7620 1 2965 + 20747 7620 20748 1 2965 + 20748 7620 20749 1 2965 + 20749 7620 7625 1 2965 + 9042 9064 1509 1 2965 + 1509 9064 1512 1 2965 + 20751 20750 20752 1 2966 + 20751 20752 20753 1 2966 + 20753 20752 20755 1 2966 + 20753 20755 20756 1 2966 + 20754 20753 20756 1 2966 + 20754 20756 7641 1 2966 + 20754 7641 1166 1 2966 + 20754 1166 1169 1 2966 + 20754 1169 9098 1 2966 + 20754 9098 20753 1 2966 + 20753 9098 9094 1 2966 + 20753 9094 20751 1 2966 + 20751 9094 1518 1 2966 + 20751 1518 20750 1 2966 + 20750 1518 1515 1 2966 + 20750 1515 1513 1 2966 + 20750 1513 9065 1 2966 + 20750 9065 9067 1 2966 + 20750 9067 20752 1 2966 + 20752 9067 9069 1 2966 + 20752 9069 20755 1 2966 + 20755 9069 9071 1 2966 + 20755 9071 7636 1 2966 + 20755 7636 20756 1 2966 + 20756 7636 7641 1 2966 + 7636 9071 1165 1 2966 + 7660 1175 9097 1 2967 + 7660 9097 9101 1 2967 + 7660 9101 1171 1 2967 + 7660 1171 1172 1 2967 + 9097 1175 1519 1 2967 + 20757 20758 20759 1 2968 + 20759 20758 20760 1 2968 + 20759 20760 20761 1 2968 + 20760 20762 20763 1 2968 + 20761 20760 20763 1 2968 + 20763 20762 20764 1 2968 + 20763 20764 20765 1 2968 + 20764 20766 20767 1 2968 + 20765 20764 20767 1 2968 + 20765 20767 1178 1 2968 + 20765 1178 1533 1 2968 + 20765 1533 20763 1 2968 + 20763 1533 20761 1 2968 + 20761 1533 1530 1 2968 + 20761 1530 9148 1 2968 + 20761 9148 20759 1 2968 + 20759 9148 9143 1 2968 + 20759 9143 20757 1 2968 + 20757 9143 1527 1 2968 + 20757 1527 1524 1 2968 + 20757 1524 1521 1 2968 + 20757 1521 9126 1 2968 + 20757 9126 20758 1 2968 + 20758 9126 9122 1 2968 + 20758 9122 20760 1 2968 + 20760 9122 9118 1 2968 + 20760 9118 20762 1 2968 + 20762 9118 9114 1 2968 + 20762 9114 20764 1 2968 + 20764 9114 20766 1 2968 + 20766 9114 9110 1 2968 + 20766 9110 1517 1 2968 + 20766 1517 20767 1 2968 + 20767 1517 1177 1 2968 + 20767 1177 1178 1 2968 + 1517 9110 1516 1 2968 + 1181 1184 7696 1 2969 + 1181 7696 7673 1 2969 + 7673 7696 7698 1 2969 + 7673 7698 1180 1 2969 + 1180 7698 1534 1 2969 + 1534 7698 7700 1 2969 + 1534 7700 1187 1 2969 + 9185 1536 20768 1 2970 + 9185 20768 7704 1 2970 + 9185 7704 1190 1 2970 + 7704 20768 1189 1 2970 + 1189 20768 1531 1 2970 + 1189 1531 1532 1 2970 + 1531 20768 1536 1 2970 + 20769 20774 20775 1 2971 + 20770 20769 20775 1 2971 + 20770 20775 20776 1 2971 + 20771 20770 20776 1 2971 + 20771 20776 20777 1 2971 + 20772 20771 20777 1 2971 + 20772 20777 20778 1 2971 + 20774 20773 20782 1 2971 + 20774 20782 20783 1 2971 + 20775 20774 20783 1 2971 + 20775 20783 20784 1 2971 + 20776 20775 20784 1 2971 + 20776 20784 20785 1 2971 + 20777 20776 20785 1 2971 + 20778 20777 20785 1 2971 + 20778 20785 20786 1 2971 + 20779 20778 20786 1 2971 + 20779 20786 20787 1 2971 + 20780 20779 20787 1 2971 + 20780 20787 20788 1 2971 + 20781 20780 20788 1 2971 + 20783 20782 20789 1 2971 + 20784 20783 20789 1 2971 + 20784 20789 20790 1 2971 + 20785 20784 20790 1 2971 + 20785 20790 20791 1 2971 + 20786 20785 20791 1 2971 + 20786 20791 20792 1 2971 + 20787 20786 20792 1 2971 + 20787 20792 20793 1 2971 + 20788 20787 20793 1 2971 + 20791 20790 20794 1 2971 + 20792 20791 20794 1 2971 + 20792 20794 20795 1 2971 + 20793 20792 20795 1 2971 + 20793 20795 20796 1 2971 + 20793 20796 1557 1 2971 + 20793 1557 1554 1 2971 + 20793 1554 20788 1 2971 + 20788 1554 1551 1 2971 + 20788 1551 20781 1 2971 + 20781 1551 9227 1 2971 + 20781 9227 1548 1 2971 + 20781 1548 9221 1 2971 + 20781 9221 20780 1 2971 + 20780 9221 9218 1 2971 + 20780 9218 20779 1 2971 + 20779 9218 9215 1 2971 + 20779 9215 20778 1 2971 + 20778 9215 20772 1 2971 + 20772 9215 9212 1 2971 + 20772 9212 20771 1 2971 + 20771 9212 1545 1 2971 + 20771 1545 20770 1 2971 + 20770 1545 9209 1 2971 + 20770 9209 20769 1 2971 + 20769 9209 9207 1 2971 + 20769 9207 20774 1 2971 + 20774 9207 9205 1 2971 + 20774 9205 20773 1 2971 + 20773 9205 1542 1 2971 + 20773 1542 9189 1 2971 + 20773 9189 20782 1 2971 + 20782 9189 1192 1 2971 + 20782 1192 20789 1 2971 + 20789 1192 7717 1 2971 + 20789 7717 20790 1 2971 + 20790 7717 20794 1 2971 + 20794 7717 7724 1 2971 + 20794 7724 20795 1 2971 + 20795 7724 1193 1 2971 + 20795 1193 20796 1 2971 + 20796 1193 1560 1 2971 + 20796 1560 1557 1 2971 + 9189 1542 1537 1 2971 + 1537 1542 1539 1 2971 + 1196 1204 1205 1 2972 + 1196 1205 1195 1 2972 + 1195 1205 1566 1 2972 + 1195 1566 1563 1 2972 + 1195 1563 1561 1 2972 + 1199 1202 1198 1 2973 + 1208 1567 1207 1 2974 + 7771 1214 9276 1 2975 + 7771 9276 20797 1 2975 + 7771 20797 7769 1 2975 + 7769 20797 1555 1 2975 + 7769 1555 1556 1 2975 + 7769 1556 7767 1 2975 + 7767 1556 1564 1 2975 + 7767 1564 1565 1 2975 + 7767 1565 1211 1 2975 + 1211 1565 1210 1 2975 + 1555 20797 1569 1 2975 + 1569 20797 9276 1 2975 + 9276 1214 9281 1 2975 + 9281 1214 9303 1 2975 + 9281 9303 9286 1 2975 + 9286 9303 1575 1 2975 + 9286 1575 1572 1 2975 + 20798 20801 20802 1 2976 + 20799 20798 20802 1 2976 + 20799 20802 20803 1 2976 + 20799 20803 20804 1 2976 + 20800 20799 20804 1 2976 + 20800 20804 20805 1 2976 + 20802 20806 20807 1 2976 + 20803 20802 20807 1 2976 + 20803 20807 20808 1 2976 + 20804 20803 20808 1 2976 + 20804 20808 20809 1 2976 + 20805 20804 20809 1 2976 + 20805 20809 20810 1 2976 + 20806 20811 20812 1 2976 + 20807 20806 20812 1 2976 + 20807 20812 20813 1 2976 + 20807 20813 20814 1 2976 + 20808 20807 20814 1 2976 + 20808 20814 20815 1 2976 + 20809 20808 20815 1 2976 + 20809 20815 20816 1 2976 + 20810 20809 20816 1 2976 + 20810 20816 20817 1 2976 + 20812 20811 20818 1 2976 + 20812 20818 20819 1 2976 + 20813 20812 20819 1 2976 + 20813 20819 20820 1 2976 + 20814 20813 20820 1 2976 + 20814 20820 20821 1 2976 + 20815 20814 20821 1 2976 + 20815 20821 20822 1 2976 + 20816 20815 20822 1 2976 + 20816 20822 20823 1 2976 + 20817 20816 20823 1 2976 + 20819 20818 20824 1 2976 + 20819 20824 20825 1 2976 + 20820 20819 20825 1 2976 + 20820 20825 20826 1 2976 + 20821 20820 20826 1 2976 + 20821 20826 20827 1 2976 + 20822 20821 20827 1 2976 + 20825 20824 20828 1 2976 + 20826 20825 20828 1 2976 + 20826 20828 20829 1 2976 + 20827 20826 20829 1 2976 + 20827 20829 7816 1 2976 + 20827 7816 7819 1 2976 + 20827 7819 20823 1 2976 + 20827 20823 20822 1 2976 + 20823 7819 7822 1 2976 + 20823 7822 1223 1 2976 + 20823 1223 20817 1 2976 + 20817 1223 9331 1 2976 + 20817 9331 9329 1 2976 + 20817 9329 20810 1 2976 + 20810 9329 9327 1 2976 + 20810 9327 20805 1 2976 + 20805 9327 1581 1 2976 + 20805 1581 20800 1 2976 + 20800 1581 1578 1 2976 + 20800 1578 9315 1 2976 + 20800 9315 20799 1 2976 + 20799 9315 20798 1 2976 + 20798 9315 1576 1 2976 + 20798 1576 20801 1 2976 + 20801 1576 9307 1 2976 + 20801 9307 20806 1 2976 + 20801 20806 20802 1 2976 + 20806 9307 20811 1 2976 + 20811 9307 1216 1 2976 + 20811 1216 7779 1 2976 + 20811 7779 20818 1 2976 + 20818 7779 7784 1 2976 + 20818 7784 20824 1 2976 + 20824 7784 7789 1 2976 + 20824 7789 20828 1 2976 + 20828 7789 7810 1 2976 + 20828 7810 7813 1 2976 + 20828 7813 20829 1 2976 + 20829 7813 7816 1 2976 + 7810 7789 1217 1 2976 + 1226 1229 9335 1 2977 + 1226 9335 20830 1 2977 + 1226 20830 20831 1 2977 + 1226 20831 7825 1 2977 + 7825 20831 1225 1 2977 + 1225 20831 9332 1 2977 + 9332 20831 9330 1 2977 + 9330 20831 20830 1 2977 + 9330 20830 9328 1 2977 + 9328 20830 9333 1 2977 + 9328 9333 1582 1 2977 + 9333 20830 9335 1 2977 + 1232 1590 20835 1 2978 + 1232 20835 1231 1 2978 + 1231 20835 9336 1 2978 + 9336 20835 20833 1 2978 + 9336 20833 9334 1 2978 + 9334 20833 20832 1 2978 + 9334 20832 1580 1 2978 + 1580 20832 9339 1 2978 + 1580 9339 1579 1 2978 + 9339 20832 9343 1 2978 + 9343 20832 20833 1 2978 + 9343 20833 20834 1 2978 + 9343 20834 1584 1 2978 + 1584 20834 1587 1 2978 + 1587 20834 20835 1 2978 + 1587 20835 1590 1 2978 + 20835 20834 20833 1 2978 + 9433 1610 1607 1 2979 + 9433 1607 20837 1 2979 + 9433 20837 20836 1 2979 + 9433 20836 1235 1 2979 + 1235 20836 9374 1 2979 + 1235 9374 1591 1 2979 + 1235 1591 1234 1 2979 + 9374 20836 1593 1 2979 + 1593 20836 1596 1 2979 + 1596 20836 20837 1 2979 + 1596 20837 1599 1 2979 + 1599 20837 1602 1 2979 + 1602 20837 1607 1 2979 + 20838 20839 20840 1 2980 + 20838 20840 20841 1 2980 + 20838 20841 20842 1 2980 + 20838 20842 20843 1 2980 + 20838 20843 20844 1 2980 + 20838 20844 20839 1 2980 + 20840 20839 20846 1 2980 + 20840 20846 20847 1 2980 + 20840 20847 20848 1 2980 + 20841 20840 20848 1 2980 + 20841 20848 20849 1 2980 + 20841 20849 20850 1 2980 + 20842 20841 20850 1 2980 + 20842 20850 20851 1 2980 + 20842 20851 20852 1 2980 + 20843 20842 20852 1 2980 + 20843 20852 20853 1 2980 + 20843 20853 20854 1 2980 + 20844 20843 20854 1 2980 + 20844 20854 20855 1 2980 + 20844 20855 20856 1 2980 + 20839 20844 20856 1 2980 + 20839 20856 20845 1 2980 + 20839 20845 20846 1 2980 + 20846 20845 20858 1 2980 + 20849 20848 20859 1 2980 + 20849 20859 20860 1 2980 + 20850 20849 20860 1 2980 + 20850 20860 20861 1 2980 + 20851 20850 20861 1 2980 + 20851 20861 20862 1 2980 + 20851 20862 20863 1 2980 + 20852 20851 20863 1 2980 + 20852 20863 20864 1 2980 + 20853 20852 20864 1 2980 + 20853 20864 20865 1 2980 + 20854 20853 20865 1 2980 + 20854 20865 20866 1 2980 + 20854 20866 20867 1 2980 + 20855 20854 20867 1 2980 + 20855 20867 20868 1 2980 + 20856 20855 20868 1 2980 + 20856 20868 20869 1 2980 + 20845 20856 20869 1 2980 + 20845 20869 20857 1 2980 + 20845 20857 20858 1 2980 + 20864 20863 20870 1 2980 + 20868 20867 20871 1 2980 + 20868 20871 16460 1 2980 + 20868 16460 20869 1 2980 + 20869 16460 9439 1 2980 + 20869 9439 20857 1 2980 + 20857 9439 20858 1 2980 + 20858 9439 1237 1 2980 + 20858 1237 7873 1 2980 + 20858 7873 20846 1 2980 + 20846 7873 20847 1 2980 + 20847 7873 7876 1 2980 + 20847 7876 20848 1 2980 + 20848 7876 7879 1 2980 + 20848 7879 20859 1 2980 + 20859 7879 1238 1 2980 + 20859 1238 15933 1 2980 + 20859 15933 20860 1 2980 + 20860 15933 15931 1 2980 + 20860 15931 20861 1 2980 + 20861 15931 15929 1 2980 + 20861 15929 20862 1 2980 + 20862 15929 1249 1 2980 + 20862 1249 20863 1 2980 + 20863 1249 20870 1 2980 + 20870 1249 7913 1 2980 + 20870 7913 1250 1 2980 + 20870 1250 9486 1 2980 + 20870 9486 20864 1 2980 + 20864 9486 20865 1 2980 + 20865 9486 9479 1 2980 + 20865 9479 20866 1 2980 + 20866 9479 9472 1 2980 + 20866 9472 20867 1 2980 + 20867 9472 20871 1 2980 + 20871 9472 1623 1 2980 + 20871 1623 3333 1 2980 + 20871 3333 16461 1 2980 + 20871 16461 16460 1 2980 + 3333 1623 16457 1 2980 + 16457 1623 1618 1 2980 + 16457 1618 16458 1 2980 + 16458 1618 1615 1 2980 + 16458 1615 16459 1 2980 + 16459 1615 1611 1 2980 + 16459 1611 9439 1 2980 + 16459 9439 16460 1 2980 + 7909 1247 15930 1 2981 + 7909 15930 20872 1 2981 + 7909 20872 7907 1 2981 + 7907 20872 20873 1 2981 + 7907 20873 7905 1 2981 + 7905 20873 7886 1 2981 + 7905 7886 1241 1 2981 + 7886 20873 7884 1 2981 + 7884 20873 20872 1 2981 + 7884 20872 7882 1 2981 + 7882 20872 15934 1 2981 + 7882 15934 1240 1 2981 + 15934 20872 15932 1 2981 + 15932 20872 15930 1 2981 + 1253 1638 7926 1 2982 + 20874 20875 20876 1 2982 + 20874 20876 20877 1 2982 + 20874 20877 20878 1 2982 + 20874 20878 20879 1 2982 + 20874 20879 20880 1 2982 + 20874 20880 20875 1 2982 + 20876 20875 20881 1 2982 + 20877 20882 20883 1 2982 + 20878 20877 20883 1 2982 + 20878 20883 20884 1 2982 + 20878 20884 20885 1 2982 + 20879 20878 20885 1 2982 + 20879 20885 20886 1 2982 + 20879 20886 20887 1 2982 + 20880 20879 20887 1 2982 + 20880 20887 20888 1 2982 + 20883 20882 20889 1 2982 + 20883 20889 20890 1 2982 + 20884 20883 20890 1 2982 + 20884 20890 20891 1 2982 + 20884 20891 20892 1 2982 + 20885 20884 20892 1 2982 + 20885 20892 20893 1 2982 + 20886 20885 20893 1 2982 + 20886 20893 20894 1 2982 + 20887 20886 20894 1 2982 + 20887 20894 20895 1 2982 + 20887 20895 20896 1 2982 + 20888 20887 20896 1 2982 + 20890 20889 20897 1 2982 + 20890 20897 20898 1 2982 + 20891 20890 20898 1 2982 + 20891 20898 20899 1 2982 + 20892 20891 20899 1 2982 + 20892 20899 20900 1 2982 + 20893 20892 20900 1 2982 + 20893 20900 20901 1 2982 + 20894 20893 20901 1 2982 + 20894 20901 20902 1 2982 + 20898 20897 20903 1 2982 + 20898 20903 20904 1 2982 + 20899 20898 20904 1 2982 + 20899 20904 20905 1 2982 + 20899 20905 20906 1 2982 + 20900 20899 20906 1 2982 + 20900 20906 20907 1 2982 + 20901 20900 20907 1 2982 + 20901 20907 9534 1 2982 + 20901 9534 20902 1 2982 + 20902 9534 9532 1 2982 + 20902 9532 20895 1 2982 + 20902 20895 20894 1 2982 + 20895 9532 9530 1 2982 + 20895 9530 20896 1 2982 + 20896 9530 1632 1 2982 + 20896 1632 9520 1 2982 + 20896 9520 20888 1 2982 + 20888 9520 9514 1 2982 + 20888 9514 20880 1 2982 + 20880 9514 20875 1 2982 + 20875 9514 20881 1 2982 + 20881 9514 1629 1 2982 + 20881 1629 9478 1 2982 + 20881 9478 9485 1 2982 + 20881 9485 20876 1 2982 + 20876 9485 20877 1 2982 + 20877 9485 20882 1 2982 + 20882 9485 9492 1 2982 + 20882 9492 20889 1 2982 + 20889 9492 1252 1 2982 + 20889 1252 20897 1 2982 + 20897 1252 7926 1 2982 + 20897 7926 20903 1 2982 + 20903 7926 20908 1 2982 + 20903 20908 20904 1 2982 + 20904 20908 9543 1 2982 + 20904 9543 20905 1 2982 + 20905 9543 9540 1 2982 + 20905 9540 20906 1 2982 + 20906 9540 9537 1 2982 + 20906 9537 20907 1 2982 + 20907 9537 1635 1 2982 + 20907 1635 9534 1 2982 + 9543 20908 9546 1 2982 + 9546 20908 1638 1 2982 + 1638 20908 7926 1 2982 + 9478 1629 1626 1 2982 + 9478 1626 1624 1 2982 + 1255 1256 1639 1 2983 + 1637 1258 9548 1 2984 + 20909 20916 20917 1 2984 + 20910 20909 20917 1 2984 + 20910 20917 20918 1 2984 + 20911 20910 20918 1 2984 + 20911 20918 20919 1 2984 + 20912 20922 20923 1 2984 + 20913 20912 20923 1 2984 + 20913 20923 20924 1 2984 + 20914 20913 20924 1 2984 + 20914 20924 20925 1 2984 + 20915 20914 20925 1 2984 + 20916 20915 20925 1 2984 + 20916 20925 20926 1 2984 + 20917 20916 20926 1 2984 + 20917 20926 20927 1 2984 + 20918 20917 20927 1 2984 + 20918 20927 20928 1 2984 + 20919 20918 20928 1 2984 + 20919 20928 20929 1 2984 + 20920 20919 20929 1 2984 + 20920 20929 20930 1 2984 + 20922 20921 20931 1 2984 + 20922 20931 20932 1 2984 + 20923 20922 20932 1 2984 + 20923 20932 20933 1 2984 + 20924 20923 20933 1 2984 + 20924 20933 20934 1 2984 + 20925 20924 20934 1 2984 + 20925 20934 20935 1 2984 + 20926 20925 20935 1 2984 + 20926 20935 20936 1 2984 + 20927 20926 20936 1 2984 + 20927 20936 20937 1 2984 + 20928 20927 20937 1 2984 + 20929 20928 20937 1 2984 + 20929 20937 20938 1 2984 + 20930 20929 20938 1 2984 + 20931 20939 20940 1 2984 + 20932 20931 20940 1 2984 + 20932 20940 20941 1 2984 + 20933 20932 20941 1 2984 + 20933 20941 20942 1 2984 + 20934 20933 20942 1 2984 + 20935 20934 20942 1 2984 + 20935 20942 20943 1 2984 + 20936 20935 20943 1 2984 + 20936 20943 20944 1 2984 + 20937 20936 20944 1 2984 + 20937 20944 20945 1 2984 + 20938 20937 20945 1 2984 + 20939 20946 20947 1 2984 + 20940 20939 20947 1 2984 + 20941 20940 20947 1 2984 + 20941 20947 20948 1 2984 + 20942 20941 20948 1 2984 + 20943 20942 20948 1 2984 + 20943 20948 20949 1 2984 + 20944 20943 20949 1 2984 + 20945 20944 20949 1 2984 + 20945 20949 20950 1 2984 + 20947 20946 20951 1 2984 + 20948 20947 20951 1 2984 + 20949 20948 20951 1 2984 + 20950 20949 20951 1 2984 + 20950 20951 7993 1 2984 + 20950 7993 7997 1 2984 + 20950 7997 20945 1 2984 + 20945 7997 8001 1 2984 + 20945 8001 20938 1 2984 + 20938 8001 20930 1 2984 + 20930 8001 8005 1 2984 + 20930 8005 1270 1 2984 + 20930 1270 20920 1 2984 + 20920 1270 9554 1 2984 + 20920 9554 9552 1 2984 + 20920 9552 20919 1 2984 + 20919 9552 20911 1 2984 + 20911 9552 9550 1 2984 + 20911 9550 20910 1 2984 + 20910 9550 1636 1 2984 + 20910 1636 20909 1 2984 + 20909 1636 9539 1 2984 + 20909 9539 9542 1 2984 + 20909 9542 20915 1 2984 + 20909 20915 20916 1 2984 + 20915 9542 20914 1 2984 + 20914 9542 9545 1 2984 + 20914 9545 20913 1 2984 + 20913 9545 9548 1 2984 + 20913 9548 20912 1 2984 + 20912 9548 1258 1 2984 + 20912 1258 20921 1 2984 + 20912 20921 20922 1 2984 + 20921 1258 1261 1 2984 + 20921 1261 7973 1 2984 + 20921 7973 20931 1 2984 + 20931 7973 20939 1 2984 + 20939 7973 7978 1 2984 + 20939 7978 1267 1 2984 + 20939 1267 20946 1 2984 + 20946 1267 7989 1 2984 + 20946 7989 20951 1 2984 + 20951 7989 7993 1 2984 + 20952 20954 20955 1 2985 + 20955 20954 20956 1 2985 + 20955 20956 1273 1 2985 + 20955 1273 1641 1 2985 + 20955 1641 20952 1 2985 + 20952 1641 9531 1 2985 + 20952 9531 9533 1 2985 + 20952 9533 20954 1 2985 + 20954 9533 20953 1 2985 + 20954 20953 9553 1 2985 + 20954 9553 20956 1 2985 + 20956 9553 9555 1 2985 + 20956 9555 1272 1 2985 + 20956 1272 1273 1 2985 + 9553 20953 9551 1 2985 + 9551 20953 9535 1 2985 + 9551 9535 1634 1 2985 + 9535 20953 9533 1 2985 + 9531 1641 1633 1 2985 + 1276 1279 1275 1 2986 + 1275 1279 1642 1 2986 + 20957 20960 20961 1 2987 + 20957 20961 20962 1 2987 + 20958 20957 20962 1 2987 + 20958 20962 20963 1 2987 + 20959 20964 20965 1 2987 + 20960 20959 20965 1 2987 + 20960 20965 20966 1 2987 + 20961 20960 20966 1 2987 + 20961 20966 20967 1 2987 + 20962 20961 20967 1 2987 + 20962 20967 20968 1 2987 + 20965 20964 20969 1 2987 + 20965 20969 20970 1 2987 + 20966 20965 20970 1 2987 + 20966 20970 20971 1 2987 + 20967 20966 20971 1 2987 + 20971 20970 20972 1 2987 + 20971 20972 8030 1 2987 + 20971 8030 8032 1 2987 + 20971 8032 20967 1 2987 + 20967 8032 8034 1 2987 + 20967 8034 20968 1 2987 + 20968 8034 1282 1 2987 + 20968 1282 20963 1 2987 + 20968 20963 20962 1 2987 + 20963 1282 9587 1 2987 + 20963 9587 9580 1 2987 + 20963 9580 9578 1 2987 + 20963 9578 20958 1 2987 + 20958 9578 9576 1 2987 + 20958 9576 20957 1 2987 + 20957 9576 9574 1 2987 + 20957 9574 20959 1 2987 + 20957 20959 20960 1 2987 + 20959 9574 9572 1 2987 + 20959 9572 20964 1 2987 + 20964 9572 9570 1 2987 + 20964 9570 9519 1 2987 + 20964 9519 9525 1 2987 + 20964 9525 20969 1 2987 + 20969 9525 1631 1 2987 + 20969 1631 20972 1 2987 + 20969 20972 20970 1 2987 + 20972 1631 1640 1 2987 + 20972 1640 8028 1 2987 + 20972 8028 8030 1 2987 + 8028 1640 1281 1 2987 + 9519 9570 1630 1 2987 + 9580 9587 1644 1 2987 + 20973 20974 20975 1 2988 + 20973 20975 20976 1 2988 + 20973 20976 9644 1 2988 + 20973 9644 1659 1 2988 + 20973 1659 20974 1 2988 + 20974 1659 1656 1 2988 + 20974 1656 20977 1 2988 + 20974 20977 20975 1 2988 + 20975 20977 1645 1 2988 + 20975 1645 9593 1 2988 + 20975 9593 20976 1 2988 + 20976 9593 1284 1 2988 + 20976 1284 20978 1 2988 + 20976 20978 9649 1 2988 + 20976 9649 9644 1 2988 + 9649 20978 9654 1 2988 + 9654 20978 8042 1 2988 + 9654 8042 9659 1 2988 + 9659 8042 1285 1 2988 + 9659 1285 1288 1 2988 + 9659 1288 1294 1 2988 + 8042 20978 1284 1 2988 + 1645 20977 1647 1 2988 + 1647 20977 1650 1 2988 + 1650 20977 1653 1 2988 + 1653 20977 1656 1 2988 + 20979 20982 20983 1 2989 + 20980 20979 20983 1 2989 + 20980 20983 20984 1 2989 + 20981 20980 20984 1 2989 + 20981 20984 20985 1 2989 + 20984 20983 20988 1 2989 + 20984 20988 20989 1 2989 + 20985 20984 20989 1 2989 + 20985 20989 20990 1 2989 + 20986 20985 20990 1 2989 + 20986 20990 20991 1 2989 + 20987 20986 20991 1 2989 + 20987 20991 20992 1 2989 + 20990 20989 20994 1 2989 + 20990 20994 20995 1 2989 + 20991 20990 20995 1 2989 + 20991 20995 20996 1 2989 + 20992 20991 20996 1 2989 + 20995 20994 20997 1 2989 + 20995 20997 9724 1 2989 + 20995 9724 20996 1 2989 + 20996 9724 9719 1 2989 + 20996 9719 20992 1 2989 + 20992 9719 20993 1 2989 + 20992 20993 9703 1 2989 + 20992 9703 20987 1 2989 + 20987 9703 9700 1 2989 + 20987 9700 20986 1 2989 + 20986 9700 9697 1 2989 + 20986 9697 20985 1 2989 + 20985 9697 20981 1 2989 + 20981 9697 9694 1 2989 + 20981 9694 9691 1 2989 + 20981 9691 20980 1 2989 + 20980 9691 9688 1 2989 + 20980 9688 20979 1 2989 + 20979 9688 1665 1 2989 + 20979 1665 1662 1 2989 + 20979 1662 9648 1 2989 + 20979 9648 20982 1 2989 + 20982 9648 9653 1 2989 + 20982 9653 20983 1 2989 + 20983 9653 20988 1 2989 + 20988 9653 9658 1 2989 + 20988 9658 20989 1 2989 + 20989 9658 20994 1 2989 + 20994 9658 9663 1 2989 + 20994 9663 20997 1 2989 + 20997 9663 1296 1 2989 + 20997 1296 1297 1 2989 + 20997 1297 9724 1 2989 + 9648 1662 1660 1 2989 + 9703 20993 9706 1 2989 + 9706 20993 1671 1 2989 + 9706 1671 1668 1 2989 + 1671 20993 9719 1 2989 + 20998 20999 21000 1 2990 + 21000 20999 21002 1 2990 + 21000 21002 21003 1 2990 + 21001 21000 21003 1 2990 + 21001 21003 21004 1 2990 + 21003 21002 21005 1 2990 + 21003 21005 21006 1 2990 + 21004 21003 21006 1 2990 + 21004 21006 21007 1 2990 + 21006 21005 21008 1 2990 + 21006 21008 21009 1 2990 + 21007 21006 21009 1 2990 + 21007 21009 9740 1 2990 + 21007 9740 9738 1 2990 + 21007 9738 21004 1 2990 + 21004 9738 9736 1 2990 + 21004 9736 21001 1 2990 + 21001 9736 9734 1 2990 + 21001 9734 21000 1 2990 + 21000 9734 20998 1 2990 + 20998 9734 9732 1 2990 + 20998 9732 9723 1 2990 + 20998 9723 9728 1 2990 + 20998 9728 20999 1 2990 + 20999 9728 8093 1 2990 + 20999 8093 8098 1 2990 + 20999 8098 21002 1 2990 + 21002 8098 21005 1 2990 + 21005 8098 8103 1 2990 + 21005 8103 21008 1 2990 + 21008 8103 8108 1 2990 + 21008 8108 8113 1 2990 + 21008 8113 21009 1 2990 + 21009 8113 8144 1 2990 + 21009 8144 1308 1 2990 + 21009 1308 9740 1 2990 + 8144 8113 1300 1 2990 + 8093 9728 1299 1 2990 + 9723 9732 1672 1 2990 + 21010 21013 21014 1 2991 + 21011 21010 21014 1 2991 + 21011 21014 21015 1 2991 + 21013 21012 21016 1 2991 + 21013 21016 21017 1 2991 + 21014 21013 21017 1 2991 + 21014 21017 21018 1 2991 + 21015 21014 21018 1 2991 + 21015 21018 21019 1 2991 + 21017 21016 21020 1 2991 + 21017 21020 21021 1 2991 + 21018 21017 21021 1 2991 + 21018 21021 21022 1 2991 + 21018 21022 21023 1 2991 + 21019 21018 21023 1 2991 + 21021 21020 21024 1 2991 + 21021 21024 21025 1 2991 + 21022 21021 21025 1 2991 + 21022 21025 21026 1 2991 + 21023 21022 21026 1 2991 + 21025 21024 21027 1 2991 + 21025 21027 21028 1 2991 + 21026 21025 21028 1 2991 + 21026 21028 21029 1 2991 + 21026 21029 9787 1 2991 + 21026 9787 21023 1 2991 + 21023 9787 1683 1 2991 + 21023 1683 21019 1 2991 + 21019 1683 1680 1 2991 + 21019 1680 21015 1 2991 + 21015 1680 21011 1 2991 + 21011 1680 1677 1 2991 + 21011 1677 9755 1 2991 + 21011 9755 21010 1 2991 + 21010 9755 1674 1 2991 + 21010 1674 1669 1 2991 + 21010 1669 21012 1 2991 + 21010 21012 21013 1 2991 + 21012 1669 1670 1 2991 + 21012 1670 9733 1 2991 + 21012 9733 21016 1 2991 + 21016 9733 9735 1 2991 + 21016 9735 21020 1 2991 + 21020 9735 9737 1 2991 + 21020 9737 21024 1 2991 + 21024 9737 9739 1 2991 + 21024 9739 21027 1 2991 + 21027 9739 9741 1 2991 + 21027 9741 21030 1 2991 + 21027 21030 21028 1 2991 + 21028 21030 1311 1 2991 + 21028 1311 21029 1 2991 + 21029 1311 1314 1 2991 + 21029 1314 9787 1 2991 + 1311 21030 1310 1 2991 + 1310 21030 9741 1 2991 + 21031 21033 21034 1 2992 + 21032 21031 21034 1 2992 + 21032 21034 21035 1 2992 + 21035 21034 21036 1 2992 + 21035 21036 21037 1 2992 + 21038 21037 21039 1 2992 + 21038 21039 9811 1 2992 + 21038 9811 9807 1 2992 + 21038 9807 21037 1 2992 + 21037 9807 21035 1 2992 + 21035 9807 9803 1 2992 + 21035 9803 21032 1 2992 + 21032 9803 1686 1 2992 + 21032 1686 9799 1 2992 + 21032 9799 21031 1 2992 + 21031 9799 9797 1 2992 + 21031 9797 9792 1 2992 + 21031 9792 21033 1 2992 + 21033 9792 1316 1 2992 + 21033 1316 8184 1 2992 + 21033 8184 21034 1 2992 + 21034 8184 8189 1 2992 + 21034 8189 21036 1 2992 + 21036 8189 8194 1 2992 + 21036 8194 21037 1 2992 + 21037 8194 21039 1 2992 + 21039 8194 1317 1 2992 + 21039 1317 1320 1 2992 + 21039 1320 9817 1 2992 + 21039 9817 9811 1 2992 + 9811 9817 1689 1 2992 + 9792 9797 1684 1 2992 + 1323 1695 8217 1 2993 + 8217 1695 9818 1 2993 + 8217 9818 1322 1 2993 + 9818 1695 1690 1 2993 + 1690 1695 1692 1 2993 + 21040 21045 21046 1 2994 + 21041 21040 21046 1 2994 + 21041 21046 21047 1 2994 + 21042 21041 21047 1 2994 + 21042 21047 21048 1 2994 + 21043 21042 21048 1 2994 + 21043 21048 21049 1 2994 + 21044 21043 21049 1 2994 + 21044 21049 21050 1 2994 + 21045 21054 21055 1 2994 + 21046 21045 21055 1 2994 + 21046 21055 21056 1 2994 + 21047 21046 21056 1 2994 + 21047 21056 21057 1 2994 + 21048 21047 21057 1 2994 + 21049 21048 21057 1 2994 + 21049 21057 21058 1 2994 + 21050 21049 21058 1 2994 + 21050 21058 21059 1 2994 + 21051 21050 21059 1 2994 + 21051 21059 21060 1 2994 + 21052 21051 21060 1 2994 + 21052 21060 21061 1 2994 + 21053 21052 21061 1 2994 + 21053 21061 21062 1 2994 + 21055 21054 21065 1 2994 + 21055 21065 21066 1 2994 + 21056 21055 21066 1 2994 + 21056 21066 21067 1 2994 + 21057 21056 21067 1 2994 + 21057 21067 21068 1 2994 + 21058 21057 21068 1 2994 + 21058 21068 21069 1 2994 + 21059 21058 21069 1 2994 + 21060 21059 21069 1 2994 + 21060 21069 21070 1 2994 + 21061 21060 21070 1 2994 + 21061 21070 21071 1 2994 + 21062 21061 21071 1 2994 + 21062 21071 21072 1 2994 + 21063 21062 21072 1 2994 + 21065 21064 21073 1 2994 + 21065 21073 21074 1 2994 + 21066 21065 21074 1 2994 + 21066 21074 21075 1 2994 + 21067 21066 21075 1 2994 + 21068 21067 21075 1 2994 + 21068 21075 21076 1 2994 + 21069 21068 21076 1 2994 + 21069 21076 21077 1 2994 + 21070 21069 21077 1 2994 + 21071 21070 21077 1 2994 + 21071 21077 21078 1 2994 + 21072 21071 21078 1 2994 + 21075 21074 21079 1 2994 + 21076 21075 21079 1 2994 + 21076 21079 21080 1 2994 + 21077 21076 21080 1 2994 + 21078 21077 21080 1 2994 + 21078 21080 8263 1 2994 + 21078 8263 1329 1 2994 + 21078 1329 21072 1 2994 + 21072 1329 1707 1 2994 + 21072 1707 21063 1 2994 + 21063 1707 9863 1 2994 + 21063 9863 21062 1 2994 + 21062 9863 21053 1 2994 + 21053 9863 1704 1 2994 + 21053 1704 9859 1 2994 + 21053 9859 21052 1 2994 + 21052 9859 9857 1 2994 + 21052 9857 21051 1 2994 + 21051 9857 9855 1 2994 + 21051 9855 21050 1 2994 + 21050 9855 21044 1 2994 + 21044 9855 9853 1 2994 + 21044 9853 21043 1 2994 + 21043 9853 1701 1 2994 + 21043 1701 1698 1 2994 + 21043 1698 21042 1 2994 + 21042 1698 9843 1 2994 + 21042 9843 21041 1 2994 + 21041 9843 9840 1 2994 + 21041 9840 21040 1 2994 + 21040 9840 1696 1 2994 + 21040 1696 21045 1 2994 + 21045 1696 1325 1 2994 + 21045 1325 21054 1 2994 + 21054 1325 8227 1 2994 + 21054 8227 21064 1 2994 + 21054 21064 21065 1 2994 + 21064 8227 1326 1 2994 + 21064 1326 8251 1 2994 + 21064 8251 21073 1 2994 + 21073 8251 8257 1 2994 + 21073 8257 21074 1 2994 + 21074 8257 21079 1 2994 + 21079 8257 8263 1 2994 + 21079 8263 21080 1 2994 + 21082 21085 21086 1 2995 + 21083 21082 21086 1 2995 + 21083 21086 21087 1 2995 + 21084 21083 21087 1 2995 + 21084 21087 21088 1 2995 + 21085 21089 21090 1 2995 + 21086 21085 21090 1 2995 + 21086 21090 21091 1 2995 + 21087 21086 21091 1 2995 + 21087 21091 21092 1 2995 + 21088 21087 21092 1 2995 + 21090 21089 21093 1 2995 + 21090 21093 21094 1 2995 + 21091 21090 21094 1 2995 + 21091 21094 21095 1 2995 + 21092 21091 21095 1 2995 + 21092 21095 21096 1 2995 + 21094 21093 21097 1 2995 + 21094 21097 21098 1 2995 + 21095 21094 21098 1 2995 + 21095 21098 21099 1 2995 + 21096 21095 21099 1 2995 + 21098 21097 21101 1 2995 + 21099 21098 21101 1 2995 + 21100 21099 21101 1 2995 + 21100 21101 8279 1 2995 + 21100 8279 8281 1 2995 + 21100 8281 8293 1 2995 + 21100 8293 8297 1 2995 + 21100 8297 21099 1 2995 + 21099 8297 8301 1 2995 + 21099 8301 21096 1 2995 + 21096 8301 8305 1 2995 + 21096 8305 21092 1 2995 + 21092 8305 8309 1 2995 + 21092 8309 21088 1 2995 + 21088 8309 8313 1 2995 + 21088 8313 21084 1 2995 + 21084 8313 8317 1 2995 + 21084 8317 21081 1 2995 + 21084 21081 9884 1 2995 + 21084 9884 21083 1 2995 + 21083 9884 1708 1 2995 + 21083 1708 21082 1 2995 + 21082 1708 1331 1 2995 + 21082 1331 21085 1 2995 + 21085 1331 8269 1 2995 + 21085 8269 21089 1 2995 + 21089 8269 8271 1 2995 + 21089 8271 21093 1 2995 + 21093 8271 8273 1 2995 + 21093 8273 21097 1 2995 + 21097 8273 8275 1 2995 + 21097 8275 8277 1 2995 + 21097 8277 21101 1 2995 + 21101 8277 8279 1 2995 + 9884 21081 1710 1 2995 + 1710 21081 8321 1 2995 + 1710 8321 1335 1 2995 + 8321 21081 8317 1 2995 + 8293 8281 1332 1 2995 + 1338 1341 1716 1 2996 + 1338 1716 1713 1 2996 + 1338 1713 1337 1 2996 + 1337 1713 1711 1 2996 + 1344 1719 1343 1 2997 + 1343 1719 1717 1 2997 + 8374 1352 21102 1 2998 + 8374 21102 21103 1 2998 + 8374 21103 21104 1 2998 + 8374 21104 9922 1 2998 + 8374 9922 1349 1 2998 + 1349 9922 1720 1 2998 + 1349 1720 1346 1 2998 + 9922 21104 9924 1 2998 + 9924 21104 21103 1 2998 + 9924 21103 1722 1 2998 + 1722 21103 1725 1 2998 + 1725 21103 9931 1 2998 + 9931 21103 21102 1 2998 + 9931 21102 9936 1 2998 + 9936 21102 1728 1 2998 + 1728 21102 1352 1 2998 + 8411 1358 21105 1 2999 + 8411 21105 9966 1 2999 + 8411 9966 21107 1 2999 + 8411 21107 1355 1 2999 + 1355 21107 8395 1 2999 + 8395 21107 9963 1 2999 + 8395 9963 9960 1 2999 + 8395 9960 8389 1 2999 + 8389 9960 21106 1 2999 + 8389 21106 1354 1 2999 + 1354 21106 1729 1 2999 + 1729 21106 1733 1 2999 + 1733 21106 9957 1 2999 + 9957 21106 9960 1 2999 + 9963 21107 9966 1 2999 + 9966 21105 9969 1 2999 + 9969 21105 1361 1 2999 + 9969 1361 1736 1 2999 + 1361 21105 1358 1 2999 + 1364 1367 1737 1 3000 + 1364 1737 1363 1 3000 + 1737 1367 1370 1 3000 + 21109 21108 21111 1 3001 + 21109 21111 21112 1 3001 + 21111 21115 21116 1 3001 + 21112 21111 21116 1 3001 + 21112 21116 21117 1 3001 + 21110 21112 21117 1 3001 + 21110 21117 21113 1 3001 + 21110 21113 21114 1 3001 + 21114 21113 21119 1 3001 + 21116 21115 21120 1 3001 + 21116 21120 21121 1 3001 + 21117 21116 21121 1 3001 + 21117 21121 21122 1 3001 + 21113 21117 21122 1 3001 + 21113 21122 21118 1 3001 + 21113 21118 21119 1 3001 + 21119 21118 21123 1 3001 + 21119 21123 21124 1 3001 + 21120 21125 21126 1 3001 + 21121 21120 21126 1 3001 + 21121 21126 21127 1 3001 + 21122 21121 21127 1 3001 + 21123 21122 21127 1 3001 + 21118 21122 21123 1 3001 + 21123 21127 9965 1 3001 + 21123 9965 9968 1 3001 + 21123 9968 21124 1 3001 + 21124 9968 9971 1 3001 + 21124 9971 1372 1 3001 + 21124 1372 21119 1 3001 + 21119 1372 1373 1 3001 + 21119 1373 21114 1 3001 + 21114 1373 10066 1 3001 + 21114 10066 21110 1 3001 + 21110 10066 1751 1 3001 + 21110 1751 21109 1 3001 + 21110 21109 21112 1 3001 + 21109 1751 10053 1 3001 + 21109 10053 10048 1 3001 + 21109 10048 21108 1 3001 + 21108 10048 10018 1 3001 + 21108 10018 10011 1 3001 + 21108 10011 21111 1 3001 + 21111 10011 21115 1 3001 + 21115 10011 1739 1 3001 + 21115 1739 21120 1 3001 + 21120 1739 9994 1 3001 + 21120 9994 21125 1 3001 + 21125 9994 9959 1 3001 + 21125 9959 9962 1 3001 + 21125 9962 21126 1 3001 + 21126 9962 9965 1 3001 + 21126 9965 21127 1 3001 + 9959 9994 1734 1 3001 + 10018 10048 10043 1 3001 + 10018 10043 1742 1 3001 + 1742 10043 1745 1 3001 + 1745 10043 1748 1 3001 + 1372 9971 1735 1 3001 + 21129 21128 21131 1 3002 + 21129 21131 21132 1 3002 + 21130 21129 21132 1 3002 + 21130 21132 21133 1 3002 + 21132 21131 21136 1 3002 + 21132 21136 21137 1 3002 + 21133 21132 21137 1 3002 + 21133 21137 21138 1 3002 + 21134 21133 21138 1 3002 + 21134 21138 21139 1 3002 + 21137 21136 21141 1 3002 + 21137 21141 21142 1 3002 + 21138 21137 21142 1 3002 + 21138 21142 21143 1 3002 + 21139 21138 21143 1 3002 + 21140 21139 21143 1 3002 + 21135 21139 21140 1 3002 + 21142 21141 21145 1 3002 + 21142 21145 21146 1 3002 + 21143 21142 21146 1 3002 + 21144 21143 21146 1 3002 + 21140 21143 21144 1 3002 + 21144 21146 8460 1 3002 + 21144 8460 1376 1 3002 + 21144 1376 1771 1 3002 + 21144 1771 21140 1 3002 + 21140 1771 10138 1 3002 + 21140 10138 21135 1 3002 + 21135 10138 1768 1 3002 + 21135 1768 21134 1 3002 + 21135 21134 21139 1 3002 + 21134 1768 1765 1 3002 + 21134 1765 10124 1 3002 + 21134 10124 21133 1 3002 + 21133 10124 21130 1 3002 + 21130 10124 10118 1 3002 + 21130 10118 21129 1 3002 + 21129 10118 10112 1 3002 + 21129 10112 21128 1 3002 + 21128 10112 1754 1 3002 + 21128 1754 10082 1 3002 + 21128 10082 21131 1 3002 + 21131 10082 10080 1 3002 + 21131 10080 21136 1 3002 + 21136 10080 10078 1 3002 + 21136 10078 21141 1 3002 + 21141 10078 1752 1 3002 + 21141 1752 21145 1 3002 + 21145 1752 10072 1 3002 + 21145 10072 1375 1 3002 + 21145 1375 21146 1 3002 + 21146 1375 8460 1 3002 + 1754 10112 10106 1 3002 + 1754 10106 1757 1 3002 + 1757 10106 1762 1 3002 + 1777 1774 1780 1 3003 + 1780 1774 10166 1 3003 + 10166 1774 21148 1 3003 + 10166 21148 10168 1 3003 + 10168 21148 21147 1 3003 + 10168 21147 8473 1 3003 + 10168 8473 1379 1 3003 + 8473 21147 1378 1 3003 + 1378 21147 10156 1 3003 + 1378 10156 1772 1 3003 + 10156 21147 10158 1 3003 + 10158 21147 21148 1 3003 + 10158 21148 1774 1 3003 + 8505 1385 1388 1 3004 + 8505 1388 21149 1 3004 + 8505 21149 1382 1 3004 + 1382 21149 1381 1 3004 + 1381 21149 10169 1 3004 + 10169 21149 10167 1 3004 + 10167 21149 10172 1 3004 + 10167 10172 1783 1 3004 + 10167 1783 1781 1 3004 + 10172 21149 10174 1 3004 + 10174 21149 1388 1 3004 + 10176 1784 10173 1 3005 + 10176 10173 21150 1 3005 + 10176 21150 10178 1 3005 + 10178 21150 8523 1 3005 + 10178 8523 1391 1 3005 + 8523 21150 8521 1 3005 + 8521 21150 10175 1 3005 + 8521 10175 1390 1 3005 + 10175 21150 10173 1 3005 + 1778 1779 10180 1 3006 + 21153 21152 21155 1 3006 + 21152 21154 21155 1 3006 + 21155 21154 21157 1 3006 + 21154 21158 21156 1 3006 + 21154 21156 21157 1 3006 + 21157 21156 21159 1 3006 + 21157 21159 21160 1 3006 + 21159 21158 21162 1 3006 + 21156 21158 21159 1 3006 + 21161 21163 21164 1 3006 + 21162 21161 21164 1 3006 + 21162 21164 21159 1 3006 + 21159 21164 8527 1 3006 + 21159 8527 8530 1 3006 + 21159 8530 21160 1 3006 + 21160 8530 1394 1 3006 + 21160 1394 21157 1 3006 + 21157 1394 10222 1 3006 + 21157 10222 21155 1 3006 + 21155 10222 10217 1 3006 + 21155 10217 21153 1 3006 + 21153 10217 21151 1 3006 + 21153 21151 21152 1 3006 + 21152 21151 10192 1 3006 + 21152 10192 10190 1 3006 + 21152 10190 10188 1 3006 + 21152 10188 21154 1 3006 + 21154 10188 21158 1 3006 + 21158 10188 10186 1 3006 + 21158 10186 10184 1 3006 + 21158 10184 21161 1 3006 + 21158 21161 21162 1 3006 + 21161 10184 10182 1 3006 + 21161 10182 21163 1 3006 + 21163 10182 10180 1 3006 + 21163 10180 10177 1 3006 + 21163 10177 10179 1 3006 + 21163 10179 21164 1 3006 + 21164 10179 1393 1 3006 + 21164 1393 8527 1 3006 + 10177 10180 1782 1 3006 + 1782 10180 1779 1 3006 + 10192 21151 1786 1 3006 + 1786 21151 1789 1 3006 + 1789 21151 1792 1 3006 + 1792 21151 1795 1 3006 + 1795 21151 10217 1 3006 + 21165 21169 21166 1 3007 + 21165 21166 21167 1 3007 + 21167 21166 21171 1 3007 + 21167 21171 21172 1 3007 + 21168 21167 21172 1 3007 + 21168 21172 21173 1 3007 + 21166 21169 21174 1 3007 + 21166 21174 21170 1 3007 + 21166 21170 21171 1 3007 + 21171 21170 21176 1 3007 + 21171 21176 21177 1 3007 + 21172 21171 21177 1 3007 + 21172 21177 21178 1 3007 + 21173 21172 21178 1 3007 + 21170 21174 21179 1 3007 + 21170 21179 21175 1 3007 + 21170 21175 21176 1 3007 + 21176 21175 8561 1 3007 + 21176 8561 8568 1 3007 + 21176 8568 21177 1 3007 + 21177 8568 21178 1 3007 + 21178 8568 1400 1 3007 + 21178 1400 1810 1 3007 + 21178 1810 1807 1 3007 + 21178 1807 21173 1 3007 + 21173 1807 1804 1 3007 + 21173 1804 1801 1 3007 + 21173 1801 21168 1 3007 + 21168 1801 10247 1 3007 + 21168 10247 10243 1 3007 + 21168 10243 21167 1 3007 + 21167 10243 21165 1 3007 + 21165 10243 1798 1 3007 + 21165 1798 10233 1 3007 + 21165 10233 21169 1 3007 + 21169 10233 10221 1 3007 + 21169 10221 21174 1 3007 + 21174 10221 10226 1 3007 + 21174 10226 21179 1 3007 + 21179 10226 1396 1 3007 + 21179 1396 21180 1 3007 + 21179 21180 21175 1 3007 + 21175 21180 8561 1 3007 + 8561 21180 1397 1 3007 + 1397 21180 1396 1 3007 + 10221 10233 1796 1 3007 + 1403 1409 1813 1 3008 + 1403 1813 1402 1 3008 + 1402 1813 1811 1 3008 + 1412 1415 8595 1 3009 + 8595 1415 1816 1 3009 + 8595 1816 1411 1 3009 + 1411 1816 1814 1 3009 + 1418 1822 10319 1 3010 + 1418 10319 8630 1 3010 + 8630 10319 10317 1 3010 + 8630 10317 8625 1 3010 + 8625 10317 21182 1 3010 + 8625 21182 8620 1 3010 + 8620 21182 21181 1 3010 + 8620 21181 1817 1 3010 + 8620 1817 1417 1 3010 + 1817 21181 10309 1 3010 + 10309 21181 21183 1 3010 + 10309 21183 10311 1 3010 + 10311 21183 10313 1 3010 + 10311 10313 1819 1 3010 + 10313 21183 21181 1 3010 + 10313 21181 10315 1 3010 + 10315 21181 21182 1 3010 + 10315 21182 10317 1 3010 + 21185 21184 21190 1 3011 + 21185 21190 21191 1 3011 + 21186 21185 21191 1 3011 + 21186 21191 21192 1 3011 + 21187 21186 21192 1 3011 + 21184 21193 21189 1 3011 + 21184 21189 21190 1 3011 + 21190 21189 21194 1 3011 + 21190 21194 21195 1 3011 + 21191 21190 21195 1 3011 + 21191 21195 21192 1 3011 + 21192 21195 10378 1 3011 + 21192 10378 10373 1 3011 + 21192 10373 21187 1 3011 + 21187 10373 21188 1 3011 + 21187 21188 10351 1 3011 + 21187 10351 10347 1 3011 + 21187 10347 21186 1 3011 + 21186 10347 10343 1 3011 + 21186 10343 21185 1 3011 + 21185 10343 10339 1 3011 + 21185 10339 21184 1 3011 + 21184 10339 1825 1 3011 + 21184 1825 21193 1 3011 + 21193 1825 1823 1 3011 + 21193 1823 1420 1 3011 + 21193 1420 8641 1 3011 + 21193 8641 21189 1 3011 + 21189 8641 21194 1 3011 + 21194 8641 8646 1 3011 + 21194 8646 21195 1 3011 + 21195 8646 1421 1 3011 + 21195 1421 1834 1 3011 + 21195 1834 10378 1 3011 + 10351 21188 1828 1 3011 + 1828 21188 10368 1 3011 + 1828 10368 1831 1 3011 + 10368 21188 10373 1 3011 + 21197 21199 21200 1 3012 + 21200 21201 21202 1 3012 + 21202 21201 21203 1 3012 + 21202 21203 21204 1 3012 + 21202 21204 10412 1 3012 + 21202 10412 10407 1 3012 + 21202 10407 21200 1 3012 + 21200 10407 10402 1 3012 + 21200 10402 21197 1 3012 + 21197 10402 10397 1 3012 + 21197 10397 21196 1 3012 + 21197 21196 1853 1 3012 + 21197 1853 21199 1 3012 + 21199 1853 1850 1 3012 + 21199 1850 21201 1 3012 + 21199 21201 21200 1 3012 + 21201 1850 1845 1 3012 + 21201 1845 21203 1 3012 + 21203 1845 10426 1 3012 + 21203 10426 10422 1 3012 + 21203 10422 21204 1 3012 + 21204 10422 1839 1 3012 + 21204 1839 10412 1 3012 + 10426 1845 1842 1 3012 + 1853 21196 10450 1 3012 + 10450 21196 21198 1 3012 + 10450 21198 10454 1 3012 + 10454 21198 1835 1 3012 + 10454 1835 1423 1 3012 + 10454 1423 1424 1 3012 + 1835 21198 10397 1 3012 + 10397 21198 21196 1 3012 + 8702 1430 10464 1 3013 + 8702 10464 21205 1 3013 + 8702 21205 8700 1 3013 + 8700 21205 10457 1 3013 + 8700 10457 1427 1 3013 + 1427 10457 1426 1 3013 + 10457 21205 10453 1 3013 + 10453 21205 10461 1 3013 + 10453 10461 1854 1 3013 + 10461 21205 10464 1 3013 + 8726 1436 10473 1 3014 + 8726 10473 10466 1 3014 + 8726 10466 1432 1 3014 + 8726 1432 1433 1 3014 + 10466 10473 10463 1 3014 + 10463 10473 1856 1 3014 + 10463 1856 1852 1 3014 + 1852 1856 1851 1 3014 + 21207 21206 21208 1 3015 + 21207 21208 21209 1 3015 + 21208 21210 21211 1 3015 + 21209 21208 21211 1 3015 + 21209 21211 1438 1 3015 + 21209 1438 8734 1 3015 + 21209 8734 21207 1 3015 + 21207 8734 10487 1 3015 + 21207 10487 10485 1 3015 + 21207 10485 21206 1 3015 + 21206 10485 10483 1 3015 + 21206 10483 10481 1 3015 + 21206 10481 10479 1 3015 + 21206 10479 21208 1 3015 + 21208 10479 21210 1 3015 + 21210 10479 10477 1 3015 + 21210 10477 1857 1 3015 + 21210 1857 10475 1 3015 + 21210 10475 21211 1 3015 + 21211 10475 1438 1 3015 + 10481 10483 1859 1 3015 + 10487 8734 1439 1 3015 + 21212 21213 21214 1 3016 + 21212 21214 21215 1 3016 + 21212 21215 21216 1 3016 + 21212 21216 21217 1 3016 + 21212 21217 21218 1 3016 + 21212 21218 21213 1 3016 + 21214 21213 21220 1 3016 + 21214 21220 21221 1 3016 + 21214 21221 21222 1 3016 + 21215 21214 21222 1 3016 + 21215 21222 21223 1 3016 + 21218 21217 21224 1 3016 + 21218 21224 21225 1 3016 + 21218 21225 21226 1 3016 + 21213 21218 21226 1 3016 + 21213 21226 21219 1 3016 + 21213 21219 21220 1 3016 + 21220 21219 21227 1 3016 + 21220 21227 21228 1 3016 + 21221 21220 21228 1 3016 + 21221 21228 21229 1 3016 + 21222 21221 21229 1 3016 + 21222 21229 21230 1 3016 + 21222 21230 21231 1 3016 + 21223 21222 21231 1 3016 + 21227 21232 21233 1 3016 + 21228 21227 21233 1 3016 + 21228 21233 21234 1 3016 + 21229 21228 21234 1 3016 + 21229 21234 21235 1 3016 + 21230 21229 21235 1 3016 + 21230 21235 21236 1 3016 + 21230 21236 21237 1 3016 + 21231 21230 21237 1 3016 + 21233 21232 21238 1 3016 + 21233 21238 21239 1 3016 + 21234 21233 21239 1 3016 + 21234 21239 21240 1 3016 + 21235 21234 21240 1 3016 + 21235 21240 21241 1 3016 + 21236 21235 21241 1 3016 + 21236 21241 21242 1 3016 + 21237 21236 21242 1 3016 + 21238 21243 21244 1 3016 + 21239 21238 21244 1 3016 + 21239 21244 21245 1 3016 + 21240 21239 21245 1 3016 + 21240 21245 21246 1 3016 + 21241 21240 21246 1 3016 + 21241 21246 21247 1 3016 + 21242 21241 21247 1 3016 + 21244 21243 21248 1 3016 + 21244 21248 21249 1 3016 + 21245 21244 21249 1 3016 + 21245 21249 21250 1 3016 + 21246 21245 21250 1 3016 + 21246 21250 21251 1 3016 + 21247 21246 21251 1 3016 + 21249 21248 21252 1 3016 + 21249 21252 21253 1 3016 + 21250 21249 21253 1 3016 + 21250 21253 21254 1 3016 + 21251 21250 21254 1 3016 + 21254 21253 21255 1 3016 + 21254 21255 10508 1 3016 + 21254 10508 10505 1 3016 + 21254 10505 21251 1 3016 + 21251 10505 10502 1 3016 + 21251 10502 21247 1 3016 + 21247 10502 10499 1 3016 + 21247 10499 21242 1 3016 + 21242 10499 10496 1 3016 + 21242 10496 21237 1 3016 + 21237 10496 10493 1 3016 + 21237 10493 21231 1 3016 + 21231 10493 10490 1 3016 + 21231 10490 21223 1 3016 + 21223 10490 1860 1 3016 + 21223 1860 10484 1 3016 + 21223 10484 21215 1 3016 + 21215 10484 21216 1 3016 + 21216 10484 10486 1 3016 + 21216 10486 21217 1 3016 + 21217 10486 10488 1 3016 + 21217 10488 21224 1 3016 + 21224 10488 1441 1 3016 + 21224 1441 21225 1 3016 + 21225 1441 1442 1 3016 + 21225 1442 3256 1 3016 + 21225 3256 21226 1 3016 + 21226 3256 15851 1 3016 + 21226 15851 21219 1 3016 + 21219 15851 15845 1 3016 + 21219 15845 21227 1 3016 + 21227 15845 21232 1 3016 + 21232 15845 15839 1 3016 + 21232 15839 21238 1 3016 + 21238 15839 15833 1 3016 + 21238 15833 21243 1 3016 + 21243 15833 21248 1 3016 + 21248 15833 3253 1 3016 + 21248 3253 15819 1 3016 + 21248 15819 21252 1 3016 + 21252 15819 1462 1 3016 + 21252 1462 21253 1 3016 + 21253 1462 21255 1 3016 + 21255 1462 8818 1 3016 + 21255 8818 10511 1 3016 + 21255 10511 10508 1 3016 + 10511 8818 1463 1 3016 + 21256 21257 21258 1 3017 + 21256 21258 21259 1 3017 + 21258 21261 21262 1 3017 + 21259 21258 21262 1 3017 + 21259 21262 21263 1 3017 + 21259 21263 21264 1 3017 + 21262 21261 21265 1 3017 + 21262 21265 21266 1 3017 + 21262 21266 21267 1 3017 + 21263 21262 21267 1 3017 + 21263 21267 21268 1 3017 + 21264 21263 21268 1 3017 + 21264 21268 21269 1 3017 + 21266 21265 21270 1 3017 + 21266 21270 21271 1 3017 + 21266 21271 21272 1 3017 + 21267 21266 21272 1 3017 + 21267 21272 21273 1 3017 + 21268 21267 21273 1 3017 + 21268 21273 21274 1 3017 + 21269 21268 21274 1 3017 + 21269 21274 21275 1 3017 + 21270 21276 21277 1 3017 + 21271 21270 21277 1 3017 + 21271 21277 21278 1 3017 + 21272 21271 21278 1 3017 + 21272 21278 21279 1 3017 + 21273 21272 21279 1 3017 + 21273 21279 21280 1 3017 + 21274 21273 21280 1 3017 + 21274 21280 21281 1 3017 + 21275 21274 21281 1 3017 + 21279 21278 21282 1 3017 + 21279 21282 21283 1 3017 + 21280 21279 21283 1 3017 + 21280 21283 21284 1 3017 + 21281 21280 21284 1 3017 + 21281 21284 21285 1 3017 + 21284 21283 21287 1 3017 + 21284 21287 21285 1 3017 + 21285 21287 15887 1 3017 + 21285 15887 15884 1 3017 + 21285 15884 21286 1 3017 + 21285 21286 21281 1 3017 + 21281 21286 15879 1 3017 + 21281 15879 21275 1 3017 + 21275 15879 15877 1 3017 + 21275 15877 21269 1 3017 + 21269 15877 15875 1 3017 + 21269 15875 21264 1 3017 + 21264 15875 15873 1 3017 + 21264 15873 21259 1 3017 + 21259 15873 21256 1 3017 + 21256 15873 15871 1 3017 + 21256 15871 15869 1 3017 + 21256 15869 21257 1 3017 + 21257 15869 21260 1 3017 + 21257 21260 8748 1 3017 + 21257 8748 8752 1 3017 + 21257 8752 21258 1 3017 + 21258 8752 21261 1 3017 + 21261 8752 8756 1 3017 + 21261 8756 21265 1 3017 + 21265 8756 21270 1 3017 + 21270 8756 8760 1 3017 + 21270 8760 21276 1 3017 + 21276 8760 1445 1 3017 + 21276 1445 8772 1 3017 + 21276 8772 21277 1 3017 + 21277 8772 8774 1 3017 + 21277 8774 21282 1 3017 + 21277 21282 21278 1 3017 + 21282 8774 8776 1 3017 + 21282 8776 21283 1 3017 + 21283 8776 1448 1 3017 + 21283 1448 21287 1 3017 + 21287 1448 15887 1 3017 + 8748 21260 1444 1 3017 + 1444 21260 3257 1 3017 + 3257 21260 15869 1 3017 + 15879 21286 15881 1 3017 + 15881 21286 15884 1 3017 + 15881 15884 3259 1 3017 + 21289 21295 21296 1 3018 + 21290 21289 21296 1 3018 + 21290 21296 21297 1 3018 + 21291 21290 21297 1 3018 + 21291 21297 21298 1 3018 + 21288 21291 21298 1 3018 + 21288 21298 21292 1 3018 + 21288 21292 21293 1 3018 + 21293 21292 21299 1 3018 + 21293 21299 21300 1 3018 + 21294 21302 21303 1 3018 + 21295 21294 21303 1 3018 + 21295 21303 21304 1 3018 + 21296 21295 21304 1 3018 + 21296 21304 21305 1 3018 + 21297 21296 21305 1 3018 + 21297 21305 21306 1 3018 + 21298 21297 21306 1 3018 + 21299 21298 21306 1 3018 + 21292 21298 21299 1 3018 + 21300 21299 21307 1 3018 + 21301 21309 21310 1 3018 + 21302 21301 21310 1 3018 + 21302 21310 21311 1 3018 + 21303 21302 21311 1 3018 + 21303 21311 21312 1 3018 + 21304 21303 21312 1 3018 + 21304 21312 21313 1 3018 + 21305 21304 21313 1 3018 + 21305 21313 21314 1 3018 + 21306 21305 21314 1 3018 + 21307 21306 21314 1 3018 + 21299 21306 21307 1 3018 + 21308 21316 21317 1 3018 + 21309 21308 21317 1 3018 + 21309 21317 21318 1 3018 + 21310 21309 21318 1 3018 + 21311 21310 21318 1 3018 + 21311 21318 21319 1 3018 + 21312 21311 21319 1 3018 + 21312 21319 21320 1 3018 + 21313 21312 21320 1 3018 + 21313 21320 21321 1 3018 + 21314 21313 21321 1 3018 + 21315 21314 21321 1 3018 + 21307 21314 21315 1 3018 + 21317 21316 21323 1 3018 + 21317 21323 21324 1 3018 + 21318 21317 21324 1 3018 + 21318 21324 21325 1 3018 + 21319 21318 21325 1 3018 + 21320 21319 21325 1 3018 + 21320 21325 21326 1 3018 + 21321 21320 21326 1 3018 + 21322 21321 21326 1 3018 + 21315 21321 21322 1 3018 + 21324 21323 21327 1 3018 + 21324 21327 21328 1 3018 + 21325 21324 21328 1 3018 + 21326 21325 21328 1 3018 + 21326 21328 15909 1 3018 + 21326 15909 21322 1 3018 + 21322 15909 15907 1 3018 + 21322 15907 15905 1 3018 + 21322 15905 21315 1 3018 + 21315 15905 15903 1 3018 + 21315 15903 21307 1 3018 + 21307 15903 21300 1 3018 + 21300 15903 15901 1 3018 + 21300 15901 21293 1 3018 + 21293 15901 15899 1 3018 + 21293 15899 15893 1 3018 + 21293 15893 21288 1 3018 + 21288 15893 3260 1 3018 + 21288 3260 21291 1 3018 + 21291 3260 15886 1 3018 + 21291 15886 21290 1 3018 + 21290 15886 15889 1 3018 + 21290 15889 21289 1 3018 + 21289 15889 1450 1 3018 + 21289 1450 21295 1 3018 + 21295 1450 8778 1 3018 + 21295 8778 21294 1 3018 + 21294 8778 8780 1 3018 + 21294 8780 21302 1 3018 + 21302 8780 21301 1 3018 + 21301 8780 8782 1 3018 + 21301 8782 8784 1 3018 + 21301 8784 21309 1 3018 + 21309 8784 21308 1 3018 + 21308 8784 8786 1 3018 + 21308 8786 1451 1 3018 + 21308 1451 8792 1 3018 + 21308 8792 21316 1 3018 + 21316 8792 8795 1 3018 + 21316 8795 21323 1 3018 + 21323 8795 1457 1 3018 + 21323 1457 21327 1 3018 + 21327 1457 15911 1 3018 + 21327 15911 21328 1 3018 + 21328 15911 15909 1 3018 + 15893 15899 3262 1 3018 + 21329 21333 21334 1 3019 + 21330 21336 21337 1 3019 + 21331 21330 21337 1 3019 + 21331 21337 21338 1 3019 + 21332 21331 21338 1 3019 + 21332 21338 21339 1 3019 + 21333 21332 21339 1 3019 + 21333 21339 21340 1 3019 + 21334 21333 21340 1 3019 + 21334 21340 21341 1 3019 + 21335 21334 21341 1 3019 + 21337 21336 21342 1 3019 + 21337 21342 21343 1 3019 + 21338 21337 21343 1 3019 + 21338 21343 21344 1 3019 + 21339 21338 21344 1 3019 + 21339 21344 21345 1 3019 + 21340 21339 21345 1 3019 + 21340 21345 21346 1 3019 + 21341 21340 21346 1 3019 + 21341 21346 21347 1 3019 + 21343 21342 21348 1 3019 + 21343 21348 21349 1 3019 + 21344 21343 21349 1 3019 + 21344 21349 21350 1 3019 + 21345 21344 21350 1 3019 + 21345 21350 21351 1 3019 + 21346 21345 21351 1 3019 + 21346 21351 21352 1 3019 + 21347 21346 21352 1 3019 + 21348 21353 21354 1 3019 + 21349 21348 21354 1 3019 + 21349 21354 21355 1 3019 + 21350 21349 21355 1 3019 + 21350 21355 21356 1 3019 + 21351 21350 21356 1 3019 + 21351 21356 21357 1 3019 + 21352 21351 21357 1 3019 + 21354 21353 21358 1 3019 + 21354 21358 21359 1 3019 + 21355 21354 21359 1 3019 + 21355 21359 21360 1 3019 + 21356 21355 21360 1 3019 + 21357 21356 21360 1 3019 + 21357 21360 21361 1 3019 + 21359 21358 21362 1 3019 + 21359 21362 21363 1 3019 + 21360 21359 21363 1 3019 + 21361 21360 21363 1 3019 + 21361 21363 21364 1 3019 + 21363 21362 21367 1 3019 + 21364 21363 21367 1 3019 + 21366 21365 21367 1 3019 + 21362 21366 21367 1 3019 + 21367 21365 8800 1 3019 + 21367 8800 21364 1 3019 + 21364 8800 8802 1 3019 + 21364 8802 21361 1 3019 + 21361 8802 8804 1 3019 + 21361 8804 21357 1 3019 + 21357 8804 8806 1 3019 + 21357 8806 21352 1 3019 + 21352 8806 8808 1 3019 + 21352 8808 21347 1 3019 + 21347 8808 8810 1 3019 + 21347 8810 21341 1 3019 + 21341 8810 21335 1 3019 + 21335 8810 1460 1 3019 + 21335 1460 15824 1 3019 + 21335 15824 21334 1 3019 + 21334 15824 21329 1 3019 + 21329 15824 3252 1 3019 + 21329 3252 15923 1 3019 + 21329 15923 21333 1 3019 + 21333 15923 15919 1 3019 + 21333 15919 21332 1 3019 + 21332 15919 21331 1 3019 + 21331 15919 15915 1 3019 + 21331 15915 21330 1 3019 + 21330 15915 3263 1 3019 + 21330 3263 15900 1 3019 + 21330 15900 21336 1 3019 + 21336 15900 15902 1 3019 + 21336 15902 21342 1 3019 + 21342 15902 15904 1 3019 + 21342 15904 21348 1 3019 + 21348 15904 21353 1 3019 + 21353 15904 15906 1 3019 + 21353 15906 15908 1 3019 + 21353 15908 21358 1 3019 + 21358 15908 15910 1 3019 + 21358 15910 21362 1 3019 + 21362 15910 21366 1 3019 + 21366 15910 15912 1 3019 + 21366 15912 21365 1 3019 + 21365 15912 8798 1 3019 + 21365 8798 8800 1 3019 + 8798 15912 1459 1 3019 + 21368 21370 21371 1 3020 + 21368 21371 21372 1 3020 + 21369 21368 21372 1 3020 + 21369 21372 21373 1 3020 + 21369 21373 21374 1 3020 + 21370 21375 21376 1 3020 + 21371 21370 21376 1 3020 + 21371 21376 21377 1 3020 + 21372 21371 21377 1 3020 + 21372 21377 21378 1 3020 + 21373 21372 21378 1 3020 + 21373 21378 21379 1 3020 + 21373 21379 21380 1 3020 + 21374 21373 21380 1 3020 + 21375 21381 21382 1 3020 + 21376 21375 21382 1 3020 + 21376 21382 21383 1 3020 + 21377 21376 21383 1 3020 + 21377 21383 21384 1 3020 + 21378 21377 21384 1 3020 + 21378 21384 21385 1 3020 + 21379 21378 21385 1 3020 + 21379 21385 21386 1 3020 + 21379 21386 21387 1 3020 + 21380 21379 21387 1 3020 + 21380 21387 21388 1 3020 + 21381 21389 21390 1 3020 + 21382 21381 21390 1 3020 + 21382 21390 21391 1 3020 + 21383 21382 21391 1 3020 + 21383 21391 21392 1 3020 + 21383 21392 21393 1 3020 + 21384 21383 21393 1 3020 + 21384 21393 21394 1 3020 + 21385 21384 21394 1 3020 + 21385 21394 21395 1 3020 + 21386 21385 21395 1 3020 + 21386 21395 21396 1 3020 + 21387 21386 21396 1 3020 + 21389 21397 21398 1 3020 + 21390 21389 21398 1 3020 + 21390 21398 21399 1 3020 + 21391 21390 21399 1 3020 + 21391 21399 21400 1 3020 + 21392 21391 21400 1 3020 + 21392 21400 21401 1 3020 + 21393 21392 21401 1 3020 + 21393 21401 21402 1 3020 + 21394 21393 21402 1 3020 + 21394 21402 21403 1 3020 + 21395 21394 21403 1 3020 + 21395 21403 21404 1 3020 + 21396 21395 21404 1 3020 + 21397 21405 21406 1 3020 + 21398 21397 21406 1 3020 + 21398 21406 21407 1 3020 + 21399 21398 21407 1 3020 + 21399 21407 21408 1 3020 + 21400 21399 21408 1 3020 + 21400 21408 21409 1 3020 + 21401 21400 21409 1 3020 + 21401 21409 21410 1 3020 + 21402 21401 21410 1 3020 + 21402 21410 21411 1 3020 + 21403 21402 21411 1 3020 + 21403 21411 21412 1 3020 + 21404 21403 21412 1 3020 + 21406 21405 21413 1 3020 + 21406 21413 21414 1 3020 + 21407 21406 21414 1 3020 + 21407 21414 21415 1 3020 + 21408 21407 21415 1 3020 + 21408 21415 21416 1 3020 + 21409 21408 21416 1 3020 + 21410 21409 21416 1 3020 + 21410 21416 21417 1 3020 + 21411 21410 21417 1 3020 + 21411 21417 21418 1 3020 + 21412 21411 21418 1 3020 + 21412 21418 21419 1 3020 + 21413 21421 21422 1 3020 + 21414 21413 21422 1 3020 + 21415 21414 21422 1 3020 + 21415 21422 21423 1 3020 + 21416 21415 21423 1 3020 + 21416 21423 21424 1 3020 + 21417 21416 21424 1 3020 + 21417 21424 21425 1 3020 + 21418 21417 21425 1 3020 + 21418 21425 21426 1 3020 + 21419 21418 21426 1 3020 + 21420 21427 21428 1 3020 + 21421 21420 21428 1 3020 + 21422 21421 21428 1 3020 + 21422 21428 21429 1 3020 + 21423 21422 21429 1 3020 + 21423 21429 21430 1 3020 + 21424 21423 21430 1 3020 + 21425 21424 21430 1 3020 + 21425 21430 21431 1 3020 + 21426 21425 21431 1 3020 + 21428 21427 21432 1 3020 + 21429 21428 21432 1 3020 + 21429 21432 21433 1 3020 + 21430 21429 21433 1 3020 + 21431 21430 21433 1 3020 + 21431 21433 8885 1 3020 + 21431 8885 21426 1 3020 + 21426 8885 1475 1 3020 + 21426 1475 1864 1 3020 + 21426 1864 21419 1 3020 + 21419 1864 1846 1 3020 + 21419 1846 21412 1 3020 + 21412 1846 21404 1 3020 + 21404 1846 1849 1 3020 + 21404 1849 21396 1 3020 + 21396 1849 21387 1 3020 + 21387 1849 21388 1 3020 + 21388 1849 1855 1 3020 + 21388 1855 10478 1 3020 + 21388 10478 21380 1 3020 + 21380 10478 21374 1 3020 + 21374 10478 10480 1 3020 + 21374 10480 21369 1 3020 + 21369 10480 10482 1 3020 + 21369 10482 21368 1 3020 + 21368 10482 1858 1 3020 + 21368 1858 21370 1 3020 + 21370 1858 10492 1 3020 + 21370 10492 10495 1 3020 + 21370 10495 21375 1 3020 + 21375 10495 10498 1 3020 + 21375 10498 21381 1 3020 + 21381 10498 21389 1 3020 + 21389 10498 10501 1 3020 + 21389 10501 21397 1 3020 + 21397 10501 10504 1 3020 + 21397 10504 21405 1 3020 + 21405 10504 10507 1 3020 + 21405 10507 10510 1 3020 + 21405 10510 21413 1 3020 + 21413 10510 21421 1 3020 + 21421 10510 21420 1 3020 + 21420 10510 10513 1 3020 + 21420 10513 1465 1 3020 + 21420 1465 21427 1 3020 + 21427 1465 1466 1 3020 + 21427 1466 21432 1 3020 + 21432 1466 1474 1 3020 + 21432 1474 8879 1 3020 + 21432 8879 21433 1 3020 + 21433 8879 8885 1 3020 + 1469 1472 1468 1 3021 + 1478 1865 1477 1 3022 + 10530 1843 1863 1 3023 + 10530 1863 1480 1 3023 + 10530 1480 1481 1 3023 + 1863 1843 1844 1 3023 + 21436 21435 21438 1 3024 + 21436 21438 1870 1 3024 + 21436 1870 1867 1 3024 + 21436 1867 1840 1 3024 + 21436 1840 21435 1 3024 + 21435 1840 10425 1 3024 + 21435 10425 21434 1 3024 + 21435 21434 10556 1 3024 + 21435 10556 10552 1 3024 + 21435 10552 21438 1 3024 + 21438 10552 1878 1 3024 + 21438 1878 1875 1 3024 + 21438 1875 1870 1 3024 + 10556 21434 10560 1 3024 + 10560 21434 10429 1 3024 + 10560 10429 21437 1 3024 + 10560 21437 10564 1 3024 + 10564 21437 1841 1 3024 + 10564 1841 10532 1 3024 + 10564 10532 10568 1 3024 + 10568 10532 1483 1 3024 + 10568 1483 1881 1 3024 + 1881 1483 1484 1 3024 + 1881 1484 1487 1 3024 + 1841 21437 10429 1 3024 + 10429 21434 10425 1 3024 + 8938 1493 10578 1 3025 + 8938 10578 21439 1 3025 + 8938 21439 8936 1 3025 + 8936 21439 21440 1 3025 + 8936 21440 8934 1 3025 + 8934 21440 8921 1 3025 + 8934 8921 1490 1 3025 + 8921 21440 1489 1 3025 + 1489 21440 21439 1 3025 + 1489 21439 10576 1 3025 + 1489 10576 1882 1 3025 + 10576 21439 10578 1 3025 + 21441 21447 21448 1 3026 + 21442 21441 21448 1 3026 + 21442 21448 21449 1 3026 + 21443 21442 21449 1 3026 + 21443 21449 21450 1 3026 + 21443 21450 21451 1 3026 + 21444 21443 21451 1 3026 + 21444 21451 21452 1 3026 + 21445 21444 21452 1 3026 + 21447 21446 21454 1 3026 + 21447 21454 21455 1 3026 + 21448 21447 21455 1 3026 + 21448 21455 21456 1 3026 + 21449 21448 21456 1 3026 + 21449 21456 21457 1 3026 + 21450 21449 21457 1 3026 + 21450 21457 21458 1 3026 + 21451 21450 21458 1 3026 + 21451 21458 21459 1 3026 + 21451 21459 21460 1 3026 + 21452 21451 21460 1 3026 + 21446 21453 21454 1 3026 + 21454 21453 21462 1 3026 + 21454 21462 21463 1 3026 + 21455 21454 21463 1 3026 + 21455 21463 21464 1 3026 + 21456 21455 21464 1 3026 + 21456 21464 21465 1 3026 + 21457 21456 21465 1 3026 + 21457 21465 21466 1 3026 + 21458 21457 21466 1 3026 + 21458 21466 21467 1 3026 + 21459 21458 21467 1 3026 + 21459 21467 21468 1 3026 + 21460 21459 21468 1 3026 + 21460 21468 21469 1 3026 + 21453 21461 21462 1 3026 + 21463 21462 21470 1 3026 + 21463 21470 21471 1 3026 + 21464 21463 21471 1 3026 + 21464 21471 21472 1 3026 + 21465 21464 21472 1 3026 + 21465 21472 21473 1 3026 + 21466 21465 21473 1 3026 + 21466 21473 21474 1 3026 + 21467 21466 21474 1 3026 + 21467 21474 21475 1 3026 + 21468 21467 21475 1 3026 + 21472 21471 21476 1 3026 + 21472 21476 21477 1 3026 + 21473 21472 21477 1 3026 + 21473 21477 21478 1 3026 + 21474 21473 21478 1 3026 + 21474 21478 21479 1 3026 + 21475 21474 21479 1 3026 + 21475 21479 8975 1 3026 + 21475 8975 8981 1 3026 + 21475 8981 21468 1 3026 + 21468 8981 21469 1 3026 + 21469 8981 1499 1 3026 + 21469 1499 21460 1 3026 + 21460 1499 1884 1 3026 + 21460 1884 21452 1 3026 + 21452 1884 21445 1 3026 + 21445 1884 1879 1 3026 + 21445 1879 10555 1 3026 + 21445 10555 21444 1 3026 + 21444 10555 10559 1 3026 + 21444 10559 21443 1 3026 + 21443 10559 21442 1 3026 + 21442 10559 10563 1 3026 + 21442 10563 21441 1 3026 + 21441 10563 10567 1 3026 + 21441 10567 21447 1 3026 + 21447 10567 21446 1 3026 + 21446 10567 10571 1 3026 + 21446 10571 21453 1 3026 + 21453 10571 1880 1 3026 + 21453 1880 10577 1 3026 + 21453 10577 21461 1 3026 + 21461 10577 10579 1 3026 + 21461 10579 21470 1 3026 + 21461 21470 21462 1 3026 + 21470 10579 1495 1 3026 + 21470 1495 8942 1 3026 + 21470 8942 21471 1 3026 + 21471 8942 21476 1 3026 + 21476 8942 8945 1 3026 + 21476 8945 21477 1 3026 + 21477 8945 8948 1 3026 + 21477 8948 21478 1 3026 + 21478 8948 21479 1 3026 + 21479 8948 1496 1 3026 + 21479 1496 8975 1 3026 + 21481 21484 21485 1 3027 + 21482 21481 21485 1 3027 + 21484 21483 21487 1 3027 + 21483 21488 21486 1 3027 + 21483 21486 21487 1 3027 + 21487 21486 21489 1 3027 + 21487 21489 10614 1 3027 + 21487 10614 10611 1 3027 + 21487 10611 21485 1 3027 + 21487 21485 21484 1 3027 + 21485 10611 10608 1 3027 + 21485 10608 21482 1 3027 + 21482 10608 1903 1 3027 + 21482 1903 21480 1 3027 + 21482 21480 21481 1 3027 + 21481 21480 1894 1 3027 + 21481 1894 10589 1 3027 + 21481 10589 21483 1 3027 + 21481 21483 21484 1 3027 + 21483 10589 10586 1 3027 + 21483 10586 21488 1 3027 + 21488 10586 10583 1 3027 + 21488 10583 1885 1 3027 + 21488 1885 21486 1 3027 + 21486 1885 21489 1 3027 + 21489 1885 1501 1 3027 + 21489 1501 10620 1 3027 + 21489 10620 10617 1 3027 + 21489 10617 10614 1 3027 + 10620 1501 1502 1 3027 + 1885 10583 1891 1 3027 + 1894 21480 1897 1 3027 + 1897 21480 10603 1 3027 + 1897 10603 1900 1 3027 + 10603 21480 10605 1 3027 + 10605 21480 1903 1 3027 + 21490 21492 21493 1 3028 + 21492 21491 21495 1 3028 + 21492 21495 21496 1 3028 + 21493 21492 21496 1 3028 + 21493 21496 21497 1 3028 + 21491 21494 21495 1 3028 + 21495 21494 21499 1 3028 + 21495 21499 21500 1 3028 + 21496 21495 21500 1 3028 + 21496 21500 21501 1 3028 + 21497 21496 21501 1 3028 + 21494 21498 21499 1 3028 + 21499 21498 21502 1 3028 + 21499 21502 21503 1 3028 + 21500 21499 21503 1 3028 + 21500 21503 21504 1 3028 + 21501 21500 21504 1 3028 + 21503 21502 21506 1 3028 + 21503 21506 21507 1 3028 + 21504 21503 21507 1 3028 + 21504 21507 21508 1 3028 + 21502 21505 21506 1 3028 + 21507 21506 21509 1 3028 + 21507 21509 21510 1 3028 + 21508 21507 21510 1 3028 + 21508 21510 10642 1 3028 + 21508 10642 10640 1 3028 + 21508 10640 21504 1 3028 + 21504 10640 10638 1 3028 + 21504 10638 21501 1 3028 + 21501 10638 1912 1 3028 + 21501 1912 21497 1 3028 + 21497 1912 1909 1 3028 + 21497 1909 21493 1 3028 + 21493 1909 10630 1 3028 + 21493 10630 21490 1 3028 + 21490 10630 10626 1 3028 + 21490 10626 10610 1 3028 + 21490 10610 10613 1 3028 + 21490 10613 21492 1 3028 + 21492 10613 21491 1 3028 + 21491 10613 10616 1 3028 + 21491 10616 21494 1 3028 + 21494 10616 10619 1 3028 + 21494 10619 21498 1 3028 + 21498 10619 10622 1 3028 + 21498 10622 21505 1 3028 + 21498 21505 21502 1 3028 + 21505 10622 1504 1 3028 + 21505 1504 1505 1 3028 + 21505 1505 21506 1 3028 + 21506 1505 21509 1 3028 + 21509 1505 9027 1 3028 + 21509 9027 21511 1 3028 + 21509 21511 21510 1 3028 + 21510 21511 10644 1 3028 + 21510 10644 10642 1 3028 + 10644 21511 10646 1 3028 + 10646 21511 9034 1 3028 + 10646 9034 10648 1 3028 + 10648 9034 9041 1 3028 + 10648 9041 10650 1 3028 + 10650 9041 9048 1 3028 + 10650 9048 10652 1 3028 + 10652 9048 1508 1 3028 + 10652 1508 1915 1 3028 + 9034 21511 9027 1 3028 + 10610 10626 1904 1 3028 + 1904 10626 1906 1 3028 + 1511 1514 1916 1 3029 + 1511 1916 1510 1 3029 + 1916 1514 9113 1 3029 + 1916 9113 10655 1 3029 + 10655 9113 9117 1 3029 + 10655 9117 1918 1 3029 + 1918 9117 9121 1 3029 + 1918 9121 10661 1 3029 + 10661 9121 9125 1 3029 + 10661 9125 1921 1 3029 + 1921 9125 21512 1 3029 + 1921 21512 10669 1 3029 + 10669 21512 9129 1 3029 + 10669 9129 1520 1 3029 + 10669 1520 10673 1 3029 + 10673 1520 10751 1 3029 + 10673 10751 10748 1 3029 + 10673 10748 10677 1 3029 + 10677 10748 1901 1 3029 + 10677 1901 10681 1 3029 + 10681 1901 10604 1 3029 + 10681 10604 10685 1 3029 + 10685 10604 10606 1 3029 + 10685 10606 1905 1 3029 + 1905 10606 1902 1 3029 + 9129 21512 9125 1 3029 + 10765 1936 1899 1 3030 + 10765 1899 10750 1 3030 + 10765 10750 10769 1 3030 + 10769 10750 10753 1 3030 + 10769 10753 1522 1 3030 + 10769 1522 1523 1 3030 + 1899 1936 1898 1 3030 + 1526 1948 1525 1 3031 + 1525 1948 10793 1 3031 + 1525 10793 10772 1 3031 + 10772 10793 21513 1 3031 + 10772 21513 10768 1 3031 + 10768 21513 1939 1 3031 + 10768 1939 1937 1 3031 + 1939 21513 1942 1 3031 + 1942 21513 1945 1 3031 + 1945 21513 10793 1 3031 + 1529 1535 21515 1 3032 + 1529 21515 9152 1 3032 + 9152 21515 21514 1 3032 + 9152 21514 9147 1 3032 + 9147 21514 10805 1 3032 + 9147 10805 10803 1 3032 + 9147 10803 1528 1 3032 + 1528 10803 1949 1 3032 + 10805 21514 21515 1 3032 + 10805 21515 1951 1 3032 + 1951 21515 1538 1 3032 + 1538 21515 1535 1 3032 + 10893 1974 21516 1 3033 + 10893 21516 10816 1 3033 + 10893 10816 10895 1 3033 + 10895 10816 1952 1 3033 + 10895 1952 1541 1 3033 + 1541 1952 1540 1 3033 + 10816 21516 10821 1 3033 + 10821 21516 10826 1 3033 + 10826 21516 10887 1 3033 + 10826 10887 10883 1 3033 + 10826 10883 10831 1 3033 + 10831 10883 10879 1 3033 + 10831 10879 10836 1 3033 + 10836 10879 1971 1 3033 + 10836 1971 1954 1 3033 + 1954 1971 10869 1 3033 + 1954 10869 1959 1 3033 + 1959 10869 1968 1 3033 + 1959 1968 1962 1 3033 + 1962 1968 1965 1 3033 + 10887 21516 1974 1 3033 + 21517 21518 21519 1 3034 + 21517 21519 10898 1 3034 + 21517 10898 1975 1 3034 + 21517 1975 10894 1 3034 + 21517 10894 21518 1 3034 + 21518 10894 10896 1 3034 + 21518 10896 9206 1 3034 + 21518 9206 9208 1 3034 + 21518 9208 21519 1 3034 + 21519 9208 9210 1 3034 + 21519 9210 10902 1 3034 + 21519 10902 1977 1 3034 + 21519 1977 10898 1 3034 + 10902 9210 1544 1 3034 + 9206 10896 1543 1 3034 + 1547 1986 21520 1 3035 + 1547 21520 9223 1 3035 + 9223 21520 10917 1 3035 + 9223 10917 9220 1 3035 + 9220 10917 10914 1 3035 + 9220 10914 9217 1 3035 + 9217 10914 10911 1 3035 + 9217 10911 9214 1 3035 + 9214 10911 10908 1 3035 + 9214 10908 1546 1 3035 + 1546 10908 10903 1 3035 + 10903 10908 10905 1 3035 + 10903 10905 1980 1 3035 + 10903 1980 1978 1 3035 + 10917 21520 10920 1 3035 + 10920 21520 1983 1 3035 + 1983 21520 1986 1 3035 + 1550 1570 9280 1 3036 + 1550 9280 9230 1 3036 + 9230 9280 9285 1 3036 + 9230 9285 21521 1 3036 + 9230 21521 1549 1 3036 + 1549 21521 1987 1 3036 + 1987 21521 10944 1 3036 + 10944 21521 9285 1 3036 + 10944 9285 9290 1 3036 + 10944 9290 1989 1 3036 + 1989 9290 1571 1 3036 + 1553 1568 1552 1 3037 + 1559 1562 1558 1 3038 + 21522 21524 21525 1 3039 + 21522 21525 10986 1 3039 + 21522 10986 1995 1 3039 + 21522 1995 1992 1 3039 + 21522 1992 10970 1 3039 + 21522 10970 21523 1 3039 + 21522 21523 21524 1 3039 + 21524 21523 1577 1 3039 + 21524 1577 9342 1 3039 + 21524 9342 21525 1 3039 + 21525 9342 9346 1 3039 + 21525 9346 10988 1 3039 + 21525 10988 10986 1 3039 + 10988 9346 1583 1 3039 + 1577 21523 9320 1 3039 + 9320 21523 10970 1 3039 + 9320 10970 1990 1 3039 + 9320 1990 1574 1 3039 + 1574 1990 1573 1 3039 + 2001 1998 10998 1 3040 + 10998 1998 10994 1 3040 + 10998 10994 21527 1 3040 + 10998 21527 11000 1 3040 + 11000 21527 1585 1 3040 + 11000 1585 1586 1 3040 + 1585 21527 10989 1 3040 + 10989 21527 21526 1 3040 + 10989 21526 10987 1 3040 + 10987 21526 10990 1 3040 + 10987 10990 1996 1 3040 + 10990 21526 10992 1 3040 + 10992 21526 21527 1 3040 + 10992 21527 10994 1 3040 + 21528 21530 21531 1 3041 + 21529 21528 21531 1 3041 + 21529 21531 11014 1 3041 + 21529 11014 11009 1 3041 + 21529 11009 2004 1 3041 + 21529 2004 2002 1 3041 + 21529 2002 10999 1 3041 + 21529 10999 21528 1 3041 + 21528 10999 11001 1 3041 + 21528 11001 21530 1 3041 + 21530 11001 1588 1 3041 + 21530 1588 1589 1 3041 + 21530 1589 9380 1 3041 + 21530 9380 21531 1 3041 + 21531 9380 1592 1 3041 + 21531 1592 11014 1 3041 + 11040 2010 2005 1 3042 + 11040 2005 11013 1 3042 + 11040 11013 11042 1 3042 + 11042 11013 11018 1 3042 + 11042 11018 1595 1 3042 + 1595 11018 1594 1 3042 + 2005 2010 2007 1 3042 + 21532 21533 21534 1 3043 + 21533 21535 21536 1 3043 + 21534 21533 21536 1 3043 + 21534 21536 11060 1 3043 + 21534 11060 11054 1 3043 + 21534 11054 21532 1 3043 + 21532 11054 2013 1 3043 + 21532 2013 2011 1 3043 + 21532 2011 11041 1 3043 + 21532 11041 21533 1 3043 + 21533 11041 11043 1 3043 + 21533 11043 21535 1 3043 + 21535 11043 1597 1 3043 + 21535 1597 2019 1 3043 + 21535 2019 21536 1 3043 + 21536 2019 11066 1 3043 + 21536 11066 11060 1 3043 + 2019 1597 1598 1 3043 + 11054 11060 2016 1 3043 + 1601 2020 1600 1 3044 + 21537 21538 21539 1 3045 + 21537 21539 21540 1 3045 + 21537 21540 21541 1 3045 + 21537 21541 21542 1 3045 + 21537 21542 21543 1 3045 + 21537 21543 21538 1 3045 + 21540 21539 21544 1 3045 + 21540 21544 21545 1 3045 + 21540 21545 21546 1 3045 + 21541 21540 21546 1 3045 + 21541 21546 21547 1 3045 + 21545 21544 21549 1 3045 + 21545 21549 21550 1 3045 + 21546 21545 21550 1 3045 + 21546 21550 21551 1 3045 + 21547 21546 21551 1 3045 + 21549 21553 21554 1 3045 + 21550 21549 21554 1 3045 + 21550 21554 21555 1 3045 + 21551 21550 21555 1 3045 + 21551 21555 21556 1 3045 + 21551 21556 9571 1 3045 + 21551 9571 9573 1 3045 + 21551 9573 21547 1 3045 + 21547 9573 9575 1 3045 + 21547 9575 21541 1 3045 + 21541 9575 21542 1 3045 + 21542 9575 9577 1 3045 + 21542 9577 9579 1 3045 + 21542 9579 21543 1 3045 + 21543 9579 21548 1 3045 + 21543 21548 11086 1 3045 + 21543 11086 21538 1 3045 + 21538 11086 2017 1 3045 + 21538 2017 21539 1 3045 + 21539 2017 21544 1 3045 + 21544 2017 11065 1 3045 + 21544 11065 21549 1 3045 + 21549 11065 11071 1 3045 + 21549 11071 21553 1 3045 + 21553 11071 2018 1 3045 + 21553 2018 1603 1 3045 + 21553 1603 1606 1 3045 + 21553 1606 16465 1 3045 + 21553 16465 21554 1 3045 + 21554 16465 16466 1 3045 + 21554 16466 21555 1 3045 + 21555 16466 1627 1 3045 + 21555 1627 1628 1 3045 + 21555 1628 21556 1 3045 + 21556 1628 9571 1 3045 + 1627 16466 3334 1 3045 + 1627 3334 3247 1 3045 + 3247 3334 16462 1 3045 + 3247 16462 16463 1 3045 + 3247 16463 3250 1 3045 + 3250 16463 16464 1 3045 + 3250 16464 1606 1 3045 + 1606 16464 16465 1 3045 + 11086 21548 2022 1 3045 + 2022 21548 21552 1 3045 + 2022 21552 1646 1 3045 + 1646 21552 1643 1 3045 + 1643 21552 9581 1 3045 + 9581 21552 21548 1 3045 + 9581 21548 9579 1 3045 + 1609 1614 3251 1 3046 + 1609 3251 1608 1 3046 + 1617 3248 1616 1 3047 + 1616 3248 3249 1 3047 + 1622 1625 3246 1 3048 + 1622 3246 1619 1 3048 + 1649 2025 2023 1 3049 + 1649 2023 1648 1 3049 + 1652 2028 2026 1 3050 + 1652 2026 1651 1 3050 + 1655 2037 2034 1 3051 + 1655 2034 2031 1 3051 + 1655 2031 1654 1 3051 + 1654 2031 2029 1 3051 + 1658 1661 2046 1 3052 + 1658 2046 11166 1 3052 + 1658 11166 1657 1 3052 + 1657 11166 2043 1 3052 + 1657 2043 2038 1 3052 + 2038 2043 2040 1 3052 + 21558 21557 21560 1 3053 + 21558 21560 21561 1 3053 + 21559 21558 21561 1 3053 + 21559 21561 21562 1 3053 + 21561 21560 21564 1 3053 + 21561 21564 21565 1 3053 + 21562 21561 21565 1 3053 + 21562 21565 21566 1 3053 + 21563 21562 21566 1 3053 + 21563 21566 21567 1 3053 + 21565 21564 21568 1 3053 + 21565 21568 21569 1 3053 + 21566 21565 21569 1 3053 + 21566 21569 21570 1 3053 + 21567 21566 21570 1 3053 + 21567 21570 21571 1 3053 + 21569 21568 21572 1 3053 + 21569 21572 21573 1 3053 + 21570 21569 21573 1 3053 + 21570 21573 21574 1 3053 + 21571 21570 21574 1 3053 + 21573 21572 21575 1 3053 + 21573 21575 21576 1 3053 + 21574 21573 21576 1 3053 + 21574 21576 11231 1 3053 + 21574 11231 21571 1 3053 + 21571 11231 2064 1 3053 + 21571 2064 11225 1 3053 + 21571 11225 21567 1 3053 + 21567 11225 2061 1 3053 + 21567 2061 21563 1 3053 + 21563 2061 2058 1 3053 + 21563 2058 21559 1 3053 + 21563 21559 21562 1 3053 + 21559 2058 11213 1 3053 + 21559 11213 11209 1 3053 + 21559 11209 21558 1 3053 + 21558 11209 11205 1 3053 + 21558 11205 21557 1 3053 + 21557 11205 11201 1 3053 + 21557 11201 2049 1 3053 + 21557 2049 11189 1 3053 + 21557 11189 21560 1 3053 + 21560 11189 11186 1 3053 + 21560 11186 21564 1 3053 + 21564 11186 11183 1 3053 + 21564 11183 21568 1 3053 + 21568 11183 11180 1 3053 + 21568 11180 21572 1 3053 + 21572 11180 21575 1 3053 + 21575 11180 11177 1 3053 + 21575 11177 2047 1 3053 + 21575 2047 21576 1 3053 + 21576 2047 1663 1 3053 + 21576 1663 1664 1 3053 + 21576 1664 11231 1 3053 + 2049 11201 2052 1 3053 + 2052 11201 2055 1 3053 + 21577 21579 21580 1 3054 + 21577 21580 21581 1 3054 + 21578 21583 21584 1 3054 + 21578 21584 21585 1 3054 + 21579 21578 21585 1 3054 + 21579 21585 21586 1 3054 + 21580 21579 21586 1 3054 + 21580 21586 21587 1 3054 + 21581 21580 21587 1 3054 + 21581 21587 21588 1 3054 + 21581 21588 21589 1 3054 + 21582 21581 21589 1 3054 + 21582 21589 21590 1 3054 + 21583 21591 21592 1 3054 + 21584 21583 21592 1 3054 + 21584 21592 21593 1 3054 + 21584 21593 21594 1 3054 + 21585 21584 21594 1 3054 + 21585 21594 21595 1 3054 + 21586 21585 21595 1 3054 + 21586 21595 21596 1 3054 + 21587 21586 21596 1 3054 + 21587 21596 21597 1 3054 + 21588 21587 21597 1 3054 + 21588 21597 21598 1 3054 + 21588 21598 21599 1 3054 + 21589 21588 21599 1 3054 + 21591 21600 21601 1 3054 + 21592 21591 21601 1 3054 + 21592 21601 21602 1 3054 + 21593 21592 21602 1 3054 + 21593 21602 21603 1 3054 + 21594 21593 21603 1 3054 + 21594 21603 21604 1 3054 + 21595 21594 21604 1 3054 + 21595 21604 21605 1 3054 + 21596 21595 21605 1 3054 + 21596 21605 21606 1 3054 + 21596 21606 21607 1 3054 + 21597 21596 21607 1 3054 + 21597 21607 21608 1 3054 + 21598 21597 21608 1 3054 + 21598 21608 21609 1 3054 + 21599 21598 21609 1 3054 + 21603 21602 21610 1 3054 + 21603 21610 21611 1 3054 + 21604 21603 21611 1 3054 + 21604 21611 21612 1 3054 + 21605 21604 21612 1 3054 + 21605 21612 21613 1 3054 + 21606 21605 21613 1 3054 + 21606 21613 21614 1 3054 + 21607 21606 21614 1 3054 + 21607 21614 21615 1 3054 + 21608 21607 21615 1 3054 + 21608 21615 21616 1 3054 + 21609 21608 21616 1 3054 + 21613 21612 21617 1 3054 + 21613 21617 21618 1 3054 + 21614 21613 21618 1 3054 + 21614 21618 21619 1 3054 + 21615 21614 21619 1 3054 + 21615 21619 11296 1 3054 + 21615 11296 21616 1 3054 + 21616 11296 11293 1 3054 + 21616 11293 21609 1 3054 + 21609 11293 2073 1 3054 + 21609 2073 21599 1 3054 + 21599 2073 11286 1 3054 + 21599 11286 21589 1 3054 + 21589 11286 21590 1 3054 + 21590 11286 11282 1 3054 + 21590 11282 2070 1 3054 + 21590 2070 11264 1 3054 + 21590 11264 21582 1 3054 + 21582 11264 11259 1 3054 + 21582 11259 21581 1 3054 + 21581 11259 21577 1 3054 + 21577 11259 11254 1 3054 + 21577 11254 11249 1 3054 + 21577 11249 21578 1 3054 + 21577 21578 21579 1 3054 + 21578 11249 11244 1 3054 + 21578 11244 21583 1 3054 + 21583 11244 2065 1 3054 + 21583 2065 21591 1 3054 + 21591 2065 11236 1 3054 + 21591 11236 21600 1 3054 + 21600 11236 9690 1 3054 + 21600 9690 9693 1 3054 + 21600 9693 21601 1 3054 + 21601 9693 9696 1 3054 + 21601 9696 21602 1 3054 + 21602 9696 21610 1 3054 + 21610 9696 9699 1 3054 + 21610 9699 9702 1 3054 + 21610 9702 21611 1 3054 + 21611 9702 9705 1 3054 + 21611 9705 21612 1 3054 + 21612 9705 21617 1 3054 + 21617 9705 9708 1 3054 + 21617 9708 21618 1 3054 + 21618 9708 1667 1 3054 + 21618 1667 21619 1 3054 + 21619 1667 1673 1 3054 + 21619 1673 11296 1 3054 + 9690 11236 1666 1 3054 + 11264 2070 2067 1 3054 + 1676 2079 9759 1 3055 + 9759 2079 11298 1 3055 + 9759 11298 1675 1 3055 + 11298 2079 11295 1 3055 + 11295 2079 2076 1 3055 + 11295 2076 2074 1 3055 + 21620 21621 21622 1 3056 + 21620 21622 21623 1 3056 + 21620 21623 21624 1 3056 + 21622 21621 21625 1 3056 + 21622 21625 21626 1 3056 + 21622 21626 21627 1 3056 + 21623 21622 21627 1 3056 + 21623 21627 21628 1 3056 + 21623 21628 21629 1 3056 + 21624 21623 21629 1 3056 + 21624 21629 21630 1 3056 + 21626 21625 21631 1 3056 + 21626 21631 21632 1 3056 + 21626 21632 21633 1 3056 + 21627 21626 21633 1 3056 + 21627 21633 21634 1 3056 + 21628 21627 21634 1 3056 + 21628 21634 21635 1 3056 + 21629 21628 21635 1 3056 + 21629 21635 21636 1 3056 + 21629 21636 21637 1 3056 + 21630 21629 21637 1 3056 + 21630 21637 21638 1 3056 + 21631 21639 21640 1 3056 + 21632 21631 21640 1 3056 + 21632 21640 21641 1 3056 + 21633 21632 21641 1 3056 + 21633 21641 21642 1 3056 + 21634 21633 21642 1 3056 + 21634 21642 21643 1 3056 + 21635 21634 21643 1 3056 + 21641 21640 21644 1 3056 + 21641 21644 21645 1 3056 + 21641 21645 21646 1 3056 + 21642 21641 21646 1 3056 + 21642 21646 11375 1 3056 + 21642 11375 21643 1 3056 + 21643 11375 2091 1 3056 + 21643 2091 11365 1 3056 + 21643 11365 21635 1 3056 + 21635 11365 11360 1 3056 + 21635 11360 21636 1 3056 + 21636 11360 2088 1 3056 + 21636 2088 21637 1 3056 + 21637 2088 11349 1 3056 + 21637 11349 21638 1 3056 + 21638 11349 2085 1 3056 + 21638 2085 11340 1 3056 + 21638 11340 21630 1 3056 + 21630 11340 11336 1 3056 + 21630 11336 21624 1 3056 + 21624 11336 11332 1 3056 + 21624 11332 21620 1 3056 + 21620 11332 21621 1 3056 + 21621 11332 2082 1 3056 + 21621 2082 11324 1 3056 + 21621 11324 21625 1 3056 + 21625 11324 11320 1 3056 + 21625 11320 21631 1 3056 + 21631 11320 11316 1 3056 + 21631 11316 21639 1 3056 + 21639 11316 2080 1 3056 + 21639 2080 1678 1 3056 + 21639 1678 21644 1 3056 + 21639 21644 21640 1 3056 + 21644 1678 1679 1 3056 + 21644 1679 21645 1 3056 + 21645 1679 11379 1 3056 + 21645 11379 21646 1 3056 + 21646 11379 11375 1 3056 + 9800 1685 11386 1 3057 + 9800 11386 21649 1 3057 + 9800 21649 9798 1 3057 + 9798 21649 21648 1 3057 + 9798 21648 1682 1 3057 + 1682 21648 1681 1 3057 + 1681 21648 11382 1 3057 + 11382 21648 21649 1 3057 + 11382 21649 21647 1 3057 + 11382 21647 11378 1 3057 + 11378 21647 2094 1 3057 + 11378 2094 2092 1 3057 + 2094 21647 11386 1 3057 + 11386 21647 21649 1 3057 + 1688 1691 2100 1 3058 + 1688 2100 11404 1 3058 + 1688 11404 9814 1 3058 + 9814 11404 21655 1 3058 + 9814 21655 9810 1 3058 + 9810 21655 21654 1 3058 + 9810 21654 9806 1 3058 + 9806 21654 21653 1 3058 + 9806 21653 1687 1 3058 + 1687 21653 21652 1 3058 + 1687 21652 11388 1 3058 + 11388 21652 21651 1 3058 + 11388 21651 2095 1 3058 + 2095 21651 21650 1 3058 + 2095 21650 11390 1 3058 + 11390 21650 11392 1 3058 + 11390 11392 2097 1 3058 + 11392 21650 11394 1 3058 + 11394 21650 21651 1 3058 + 11394 21651 21652 1 3058 + 11394 21652 11396 1 3058 + 11396 21652 11398 1 3058 + 11398 21652 21653 1 3058 + 11398 21653 11400 1 3058 + 11400 21653 21654 1 3058 + 11400 21654 21655 1 3058 + 11400 21655 11402 1 3058 + 11402 21655 11404 1 3058 + 9845 1697 11412 1 3059 + 9845 11412 2103 1 3059 + 9845 2103 9842 1 3059 + 9842 2103 2101 1 3059 + 9842 2101 1694 1 3059 + 1694 2101 1693 1 3059 + 1700 2109 21657 1 3060 + 1700 21657 21656 1 3060 + 1700 21656 1699 1 3060 + 1699 21656 11413 1 3060 + 11413 21656 11414 1 3060 + 11413 11414 2104 1 3060 + 11414 21656 11416 1 3060 + 11416 21656 11418 1 3060 + 11418 21656 11420 1 3060 + 11418 11420 2106 1 3060 + 11420 21656 21657 1 3060 + 11420 21657 11422 1 3060 + 11422 21657 2109 1 3060 + 21658 21661 21662 1 3061 + 21659 21658 21662 1 3061 + 21659 21662 11443 1 3061 + 21659 11443 2115 1 3061 + 21659 2115 11436 1 3061 + 21659 11436 21658 1 3061 + 21658 11436 11432 1 3061 + 21658 11432 21660 1 3061 + 21658 21660 21661 1 3061 + 21661 21660 9858 1 3061 + 21661 9858 9860 1 3061 + 21661 9860 21662 1 3061 + 21662 9860 1703 1 3061 + 21662 1703 11443 1 3061 + 9858 21660 9856 1 3061 + 9856 21660 11428 1 3061 + 9856 11428 2110 1 3061 + 9856 2110 9854 1 3061 + 9854 2110 1702 1 3061 + 11428 21660 11432 1 3061 + 11436 2115 2112 1 3061 + 21663 21666 21667 1 3062 + 21664 21663 21667 1 3062 + 21664 21667 21668 1 3062 + 21666 21671 21672 1 3062 + 21667 21666 21672 1 3062 + 21667 21672 21673 1 3062 + 21668 21667 21673 1 3062 + 21668 21673 21674 1 3062 + 21665 21668 21674 1 3062 + 21665 21674 21669 1 3062 + 21665 21669 21670 1 3062 + 21670 21669 21675 1 3062 + 21670 21675 21676 1 3062 + 21672 21671 21678 1 3062 + 21672 21678 21679 1 3062 + 21673 21672 21679 1 3062 + 21673 21679 21680 1 3062 + 21674 21673 21680 1 3062 + 21675 21674 21680 1 3062 + 21669 21674 21675 1 3062 + 21676 21675 21681 1 3062 + 21676 21681 21682 1 3062 + 21677 21676 21682 1 3062 + 21678 21683 21684 1 3062 + 21679 21678 21684 1 3062 + 21679 21684 21685 1 3062 + 21680 21679 21685 1 3062 + 21681 21680 21685 1 3062 + 21675 21680 21681 1 3062 + 21684 21683 21686 1 3062 + 21684 21686 21687 1 3062 + 21685 21684 21687 1 3062 + 21685 21687 21681 1 3062 + 21681 21687 9890 1 3062 + 21681 9890 21682 1 3062 + 21682 9890 1709 1 3062 + 21682 1709 21677 1 3062 + 21677 1709 1712 1 3062 + 21677 1712 11466 1 3062 + 21677 11466 21670 1 3062 + 21677 21670 21676 1 3062 + 21670 11466 2121 1 3062 + 21670 2121 11457 1 3062 + 21670 11457 21665 1 3062 + 21665 11457 11453 1 3062 + 21665 11453 21664 1 3062 + 21665 21664 21668 1 3062 + 21664 11453 2118 1 3062 + 21664 2118 21663 1 3062 + 21663 2118 11449 1 3062 + 21663 11449 11447 1 3062 + 21663 11447 21666 1 3062 + 21666 11447 2116 1 3062 + 21666 2116 21671 1 3062 + 21671 2116 11445 1 3062 + 21671 11445 21678 1 3062 + 21678 11445 1705 1 3062 + 21678 1705 21683 1 3062 + 21683 1705 9866 1 3062 + 21683 9866 21686 1 3062 + 21686 9866 1706 1 3062 + 21686 1706 21687 1 3062 + 21687 1706 9890 1 3062 + 1715 1718 9923 1 3063 + 1715 9923 1714 1 3063 + 1714 9923 11470 1 3063 + 11470 9923 9925 1 3063 + 11470 9925 2122 1 3063 + 2122 9925 1721 1 3063 + 11498 2133 21689 1 3064 + 11498 21689 11503 1 3064 + 11503 21689 2124 1 3064 + 11503 2124 2119 1 3064 + 11503 2119 11508 1 3064 + 11508 2119 11456 1 3064 + 11508 11456 11513 1 3064 + 11513 11456 11460 1 3064 + 11513 11460 1724 1 3064 + 1724 11460 1723 1 3064 + 1723 11460 2120 1 3064 + 2124 21689 11476 1 3064 + 11476 21689 21688 1 3064 + 11476 21688 2127 1 3064 + 2127 21688 11487 1 3064 + 2127 11487 2130 1 3064 + 11487 21688 2133 1 3064 + 2133 21688 21689 1 3064 + 21691 21697 21698 1 3065 + 21692 21691 21698 1 3065 + 21692 21698 21699 1 3065 + 21690 21692 21699 1 3065 + 21690 21699 21693 1 3065 + 21690 21693 21694 1 3065 + 21694 21693 21701 1 3065 + 21694 21701 21702 1 3065 + 21695 21703 21704 1 3065 + 21696 21695 21704 1 3065 + 21696 21704 21705 1 3065 + 21697 21696 21705 1 3065 + 21697 21705 21706 1 3065 + 21698 21697 21706 1 3065 + 21698 21706 21707 1 3065 + 21699 21698 21707 1 3065 + 21699 21707 21708 1 3065 + 21693 21699 21708 1 3065 + 21693 21708 21700 1 3065 + 21693 21700 21701 1 3065 + 21701 21700 21709 1 3065 + 21701 21709 21710 1 3065 + 21702 21701 21710 1 3065 + 21702 21710 21711 1 3065 + 21704 21703 21712 1 3065 + 21704 21712 21713 1 3065 + 21705 21704 21713 1 3065 + 21705 21713 21714 1 3065 + 21706 21705 21714 1 3065 + 21706 21714 21715 1 3065 + 21707 21706 21715 1 3065 + 21707 21715 21716 1 3065 + 21708 21707 21716 1 3065 + 21709 21708 21716 1 3065 + 21700 21708 21709 1 3065 + 21710 21709 21717 1 3065 + 21710 21717 21718 1 3065 + 21711 21710 21718 1 3065 + 21711 21718 21719 1 3065 + 21714 21713 21720 1 3065 + 21714 21720 21721 1 3065 + 21715 21714 21721 1 3065 + 21715 21721 21722 1 3065 + 21716 21715 21722 1 3065 + 21717 21716 21722 1 3065 + 21709 21716 21717 1 3065 + 21718 21717 21723 1 3065 + 21722 21721 21724 1 3065 + 21723 21722 21724 1 3065 + 21717 21722 21723 1 3065 + 21723 21724 1726 1 3065 + 21723 1726 9935 1 3065 + 21723 9935 21718 1 3065 + 21718 9935 9940 1 3065 + 21718 9940 21719 1 3065 + 21719 9940 1727 1 3065 + 21719 1727 1732 1 3065 + 21719 1732 21711 1 3065 + 21711 1732 10000 1 3065 + 21711 10000 21702 1 3065 + 21702 10000 1738 1 3065 + 21702 1738 21694 1 3065 + 21694 1738 11535 1 3065 + 21694 11535 21690 1 3065 + 21690 11535 2139 1 3065 + 21690 2139 11531 1 3065 + 21690 11531 21692 1 3065 + 21692 11531 11528 1 3065 + 21692 11528 21691 1 3065 + 21691 11528 11525 1 3065 + 21691 11525 21697 1 3065 + 21697 11525 21696 1 3065 + 21696 11525 11522 1 3065 + 21696 11522 21695 1 3065 + 21695 11522 2136 1 3065 + 21695 2136 21703 1 3065 + 21703 2136 2134 1 3065 + 21703 2134 11502 1 3065 + 21703 11502 21712 1 3065 + 21712 11502 11507 1 3065 + 21712 11507 21713 1 3065 + 21713 11507 21720 1 3065 + 21720 11507 11512 1 3065 + 21720 11512 11517 1 3065 + 21720 11517 21721 1 3065 + 21721 11517 21724 1 3065 + 21724 11517 1726 1 3065 + 1741 2142 11541 1 3066 + 1741 11541 10024 1 3066 + 10024 11541 11539 1 3066 + 10024 11539 10017 1 3066 + 10017 11539 11537 1 3066 + 10017 11537 11536 1 3066 + 10017 11536 1740 1 3066 + 11536 11537 2140 1 3066 + 21725 21728 21729 1 3067 + 21726 21725 21729 1 3067 + 21726 21729 21730 1 3067 + 21726 21730 11602 1 3067 + 21726 11602 21727 1 3067 + 21726 21727 11555 1 3067 + 21726 11555 21725 1 3067 + 21725 11555 11551 1 3067 + 21725 11551 21728 1 3067 + 21728 11551 11547 1 3067 + 21728 11547 21732 1 3067 + 21728 21732 11620 1 3067 + 21728 11620 21733 1 3067 + 21728 21733 21729 1 3067 + 21729 21733 11605 1 3067 + 21729 11605 21730 1 3067 + 21730 11605 11602 1 3067 + 11605 21733 11608 1 3067 + 11608 21733 2157 1 3067 + 2157 21733 11615 1 3067 + 11615 21733 11620 1 3067 + 11620 21732 1744 1 3067 + 1744 21732 2143 1 3067 + 1744 2143 1743 1 3067 + 2143 21732 11547 1 3067 + 11555 21727 11559 1 3067 + 11559 21727 21731 1 3067 + 11559 21731 11563 1 3067 + 11563 21731 21734 1 3067 + 11563 21734 11567 1 3067 + 11567 21734 11590 1 3067 + 11567 11590 11571 1 3067 + 11571 11590 2154 1 3067 + 11571 2154 2151 1 3067 + 11571 2151 2145 1 3067 + 2145 2151 2148 1 3067 + 11590 21734 11593 1 3067 + 11593 21734 11596 1 3067 + 11596 21734 21731 1 3067 + 11596 21731 11599 1 3067 + 11599 21731 21727 1 3067 + 11599 21727 11602 1 3067 + 1747 2166 11624 1 3068 + 1747 11624 1746 1 3068 + 11624 2166 11619 1 3068 + 11619 2166 11644 1 3068 + 11619 11644 2158 1 3068 + 2158 11644 11639 1 3068 + 2158 11639 2160 1 3068 + 2160 11639 2163 1 3068 + 10083 1753 11674 1 3069 + 10083 11674 21735 1 3069 + 10083 21735 10081 1 3069 + 10081 21735 10052 1 3069 + 10081 10052 10057 1 3069 + 10081 10057 10079 1 3069 + 10079 10057 1750 1 3069 + 10052 21735 10047 1 3069 + 10047 21735 11668 1 3069 + 10047 11668 11662 1 3069 + 10047 11662 1749 1 3069 + 1749 11662 2167 1 3069 + 2167 11662 2169 1 3069 + 11668 21735 11674 1 3069 + 21738 21737 21743 1 3070 + 21738 21743 21744 1 3070 + 21739 21738 21744 1 3070 + 21739 21744 21745 1 3070 + 21740 21739 21745 1 3070 + 21740 21745 21746 1 3070 + 21741 21740 21746 1 3070 + 21741 21746 21747 1 3070 + 21742 21741 21747 1 3070 + 21744 21743 21748 1 3070 + 21744 21748 21749 1 3070 + 21745 21744 21749 1 3070 + 21745 21749 21750 1 3070 + 21746 21745 21750 1 3070 + 21749 21748 21751 1 3070 + 21749 21751 21752 1 3070 + 21750 21749 21752 1 3070 + 21750 21752 11673 1 3070 + 21750 11673 11679 1 3070 + 21750 11679 21747 1 3070 + 21750 21747 21746 1 3070 + 21747 11679 1755 1 3070 + 21747 1755 21736 1 3070 + 21747 21736 21742 1 3070 + 21742 21736 11738 1 3070 + 21742 11738 11735 1 3070 + 21742 11735 21741 1 3070 + 21741 11735 11732 1 3070 + 21741 11732 21740 1 3070 + 21740 11732 11729 1 3070 + 21740 11729 21739 1 3070 + 21739 11729 11726 1 3070 + 21739 11726 21738 1 3070 + 21738 11726 11723 1 3070 + 21738 11723 21737 1 3070 + 21737 11723 2181 1 3070 + 21737 2181 2178 1 3070 + 21737 2178 11714 1 3070 + 21737 11714 21743 1 3070 + 21743 11714 11709 1 3070 + 21743 11709 21748 1 3070 + 21748 11709 11704 1 3070 + 21748 11704 21751 1 3070 + 21751 11704 21753 1 3070 + 21751 21753 11667 1 3070 + 21751 11667 21752 1 3070 + 21752 11667 11673 1 3070 + 11667 21753 2170 1 3070 + 2170 21753 11699 1 3070 + 2170 11699 2175 1 3070 + 2170 2175 2172 1 3070 + 11699 21753 11704 1 3070 + 11738 21736 2184 1 3070 + 2184 21736 1756 1 3070 + 1756 21736 1755 1 3070 + 1761 2187 1758 1 3071 + 1758 2187 2185 1 3071 + 21754 21756 21757 1 3072 + 21755 21754 21757 1 3072 + 21755 21757 21758 1 3072 + 21756 21759 21760 1 3072 + 21757 21756 21760 1 3072 + 21757 21760 21761 1 3072 + 21757 21761 21762 1 3072 + 21758 21757 21762 1 3072 + 21758 21762 21763 1 3072 + 21761 21760 21764 1 3072 + 21761 21764 21765 1 3072 + 21762 21761 21765 1 3072 + 21762 21765 21766 1 3072 + 21763 21762 21766 1 3072 + 21763 21766 21767 1 3072 + 21764 21768 21769 1 3072 + 21765 21764 21769 1 3072 + 21765 21769 21770 1 3072 + 21766 21765 21770 1 3072 + 21766 21770 21771 1 3072 + 21767 21766 21771 1 3072 + 21767 21771 21772 1 3072 + 21769 21768 21773 1 3072 + 21769 21773 21774 1 3072 + 21770 21769 21774 1 3072 + 21770 21774 21775 1 3072 + 21771 21770 21775 1 3072 + 21771 21775 21776 1 3072 + 21772 21771 21776 1 3072 + 21776 21775 21777 1 3072 + 21776 21777 21778 1 3072 + 21776 21778 2211 1 3072 + 21776 2211 11767 1 3072 + 21776 11767 21772 1 3072 + 21772 11767 11764 1 3072 + 21772 11764 21767 1 3072 + 21767 11764 11761 1 3072 + 21767 11761 21763 1 3072 + 21763 11761 2208 1 3072 + 21763 2208 21758 1 3072 + 21758 2208 21755 1 3072 + 21755 2208 11758 1 3072 + 21755 11758 21754 1 3072 + 21754 11758 2205 1 3072 + 21754 2205 11752 1 3072 + 21754 11752 21756 1 3072 + 21756 11752 21759 1 3072 + 21759 11752 11748 1 3072 + 21759 11748 2194 1 3072 + 21759 2194 2188 1 3072 + 21759 2188 21760 1 3072 + 21760 2188 21768 1 3072 + 21760 21768 21764 1 3072 + 21768 2188 10111 1 3072 + 21768 10111 21773 1 3072 + 21773 10111 10117 1 3072 + 21773 10117 21774 1 3072 + 21774 10117 10123 1 3072 + 21774 10123 21775 1 3072 + 21775 10123 21777 1 3072 + 21777 10123 10129 1 3072 + 21777 10129 21778 1 3072 + 21778 10129 1764 1 3072 + 21778 1764 2214 1 3072 + 21778 2214 2211 1 3072 + 2214 1764 2217 1 3072 + 10111 2188 1763 1 3072 + 2194 11748 2202 1 3072 + 2194 2202 2197 1 3072 + 1767 2218 1766 1 3073 + 21779 21780 21781 1 3074 + 21780 21782 21783 1 3074 + 21781 21780 21783 1 3074 + 21781 21783 21784 1 3074 + 21783 21782 21785 1 3074 + 21783 21785 21786 1 3074 + 21784 21783 21786 1 3074 + 21784 21786 11807 1 3074 + 21784 11807 11805 1 3074 + 21784 11805 21781 1 3074 + 21781 11805 11803 1 3074 + 21781 11803 21779 1 3074 + 21779 11803 2223 1 3074 + 21779 2223 2220 1 3074 + 21779 2220 2215 1 3074 + 21779 2215 21780 1 3074 + 21780 2215 1769 1 3074 + 21780 1769 10143 1 3074 + 21780 10143 21782 1 3074 + 21782 10143 1770 1 3074 + 21782 1770 21785 1 3074 + 21785 1770 10157 1 3074 + 21785 10157 21786 1 3074 + 21786 10157 10159 1 3074 + 21786 10159 11809 1 3074 + 21786 11809 11807 1 3074 + 11809 10159 1773 1 3074 + 1769 2215 2216 1 3074 + 1775 1776 11810 1 3075 + 21789 21792 21793 1 3075 + 21787 21789 21793 1 3075 + 21787 21793 21790 1 3075 + 21791 21794 21795 1 3075 + 21792 21791 21795 1 3075 + 21792 21795 21796 1 3075 + 21793 21792 21796 1 3075 + 21793 21796 21797 1 3075 + 21790 21793 21797 1 3075 + 21796 21795 21798 1 3075 + 21796 21798 21799 1 3075 + 21797 21796 21799 1 3075 + 21797 21799 21800 1 3075 + 21798 21801 21802 1 3075 + 21799 21798 21802 1 3075 + 21802 21801 21803 1 3075 + 21802 21803 10183 1 3075 + 21802 10183 10185 1 3075 + 21802 10185 21800 1 3075 + 21802 21800 21799 1 3075 + 21800 10185 10187 1 3075 + 21800 10187 10189 1 3075 + 21800 10189 21797 1 3075 + 21797 10189 21790 1 3075 + 21790 10189 10191 1 3075 + 21790 10191 10193 1 3075 + 21790 10193 21788 1 3075 + 21790 21788 21787 1 3075 + 21787 21788 11830 1 3075 + 21787 11830 2226 1 3075 + 21787 2226 21789 1 3075 + 21789 2226 11819 1 3075 + 21789 11819 21792 1 3075 + 21792 11819 11814 1 3075 + 21792 11814 21791 1 3075 + 21791 11814 2224 1 3075 + 21791 2224 21794 1 3075 + 21794 2224 11804 1 3075 + 21794 11804 11806 1 3075 + 21794 11806 21798 1 3075 + 21794 21798 21795 1 3075 + 21798 11806 21801 1 3075 + 21801 11806 11808 1 3075 + 21801 11808 21803 1 3075 + 21803 11808 11810 1 3075 + 21803 11810 10181 1 3075 + 21803 10181 10183 1 3075 + 10181 11810 1776 1 3075 + 11830 21788 1785 1 3075 + 1785 21788 10193 1 3075 + 21806 21805 21808 1 3076 + 21806 21808 21809 1 3076 + 21804 21806 21809 1 3076 + 21804 21809 21807 1 3076 + 21804 21807 11859 1 3076 + 21804 11859 11853 1 3076 + 21804 11853 21806 1 3076 + 21806 11853 11850 1 3076 + 21806 11850 21805 1 3076 + 21805 11850 2229 1 3076 + 21805 2229 11841 1 3076 + 21805 11841 21808 1 3076 + 21808 11841 2227 1 3076 + 21808 2227 11834 1 3076 + 21808 11834 21809 1 3076 + 21809 11834 21810 1 3076 + 21809 21810 21807 1 3076 + 21807 21810 2235 1 3076 + 21807 2235 11859 1 3076 + 2235 21810 2238 1 3076 + 2238 21810 1787 1 3076 + 2238 1787 1788 1 3076 + 1787 21810 11834 1 3076 + 11853 11859 2232 1 3076 + 1791 2239 1790 1 3077 + 10237 1797 11869 1 3078 + 10237 11869 11867 1 3078 + 10237 11867 21811 1 3078 + 10237 21811 1794 1 3078 + 1794 21811 1793 1 3078 + 1793 21811 2237 1 3078 + 2237 21811 2236 1 3078 + 2236 21811 11867 1 3078 + 11869 1797 2241 1 3078 + 1800 2247 10250 1 3079 + 10250 2247 21812 1 3079 + 10250 21812 10246 1 3079 + 10246 21812 2242 1 3079 + 10246 2242 1799 1 3079 + 2242 21812 11872 1 3079 + 11872 21812 11879 1 3079 + 11872 11879 2244 1 3079 + 11879 21812 2247 1 3079 + 1803 2250 11889 1 3080 + 1803 11889 1802 1 3080 + 1802 11889 2248 1 3080 + 2256 2253 1806 1 3081 + 1806 2253 2251 1 3081 + 1806 2251 1805 1 3081 + 1818 2257 10312 1 3082 + 1809 1812 1808 1 3082 + 1808 1812 10310 1 3082 + 1808 10310 10312 1 3082 + 1808 10312 2257 1 3082 + 10310 1812 1815 1 3082 + 2255 1820 2254 1 3083 + 2254 1820 11899 1 3083 + 21813 21815 21816 1 3083 + 21814 21813 21816 1 3083 + 21814 21816 21817 1 3083 + 21815 21819 21820 1 3083 + 21816 21815 21820 1 3083 + 21816 21820 21821 1 3083 + 21817 21816 21821 1 3083 + 21819 21818 21823 1 3083 + 21819 21823 21824 1 3083 + 21820 21819 21824 1 3083 + 21820 21824 21825 1 3083 + 21821 21820 21825 1 3083 + 21818 21822 21823 1 3083 + 21823 21822 21827 1 3083 + 21823 21827 21828 1 3083 + 21824 21823 21828 1 3083 + 21822 21829 21826 1 3083 + 21822 21826 21827 1 3083 + 21827 21826 10316 1 3083 + 21827 10316 10318 1 3083 + 21827 10318 21828 1 3083 + 21828 10318 10320 1 3083 + 21828 10320 21825 1 3083 + 21828 21825 21824 1 3083 + 21825 10320 1821 1 3083 + 21825 1821 1824 1 3083 + 21825 1824 21821 1 3083 + 21821 1824 11929 1 3083 + 21821 11929 21817 1 3083 + 21817 11929 11923 1 3083 + 21817 11923 21814 1 3083 + 21814 11923 2259 1 3083 + 21814 2259 11909 1 3083 + 21814 11909 21813 1 3083 + 21813 11909 11907 1 3083 + 21813 11907 21815 1 3083 + 21815 11907 11905 1 3083 + 21815 11905 21818 1 3083 + 21815 21818 21819 1 3083 + 21818 11905 11903 1 3083 + 21818 11903 21822 1 3083 + 21822 11903 11901 1 3083 + 21822 11901 21829 1 3083 + 21829 11901 11899 1 3083 + 21829 11899 10314 1 3083 + 21829 10314 21826 1 3083 + 21826 10314 10316 1 3083 + 10314 11899 1820 1 3083 + 2259 11923 2262 1 3083 + 21831 21830 21833 1 3084 + 21831 21833 21834 1 3084 + 21830 21835 21832 1 3084 + 21830 21832 21833 1 3084 + 21833 21832 21837 1 3084 + 21833 21837 21838 1 3084 + 21834 21833 21838 1 3084 + 21834 21838 21839 1 3084 + 21832 21835 21840 1 3084 + 21832 21840 21836 1 3084 + 21832 21836 21837 1 3084 + 21837 21836 21842 1 3084 + 21837 21842 21843 1 3084 + 21838 21837 21843 1 3084 + 21838 21843 21844 1 3084 + 21839 21838 21844 1 3084 + 21839 21844 21845 1 3084 + 21836 21841 21842 1 3084 + 21842 21841 10342 1 3084 + 21842 10342 10346 1 3084 + 21842 10346 21843 1 3084 + 21843 10346 10350 1 3084 + 21843 10350 21844 1 3084 + 21844 10350 10354 1 3084 + 21844 10354 21845 1 3084 + 21845 10354 1827 1 3084 + 21845 1827 2271 1 3084 + 21845 2271 11956 1 3084 + 21845 11956 21839 1 3084 + 21839 11956 2268 1 3084 + 21839 2268 21834 1 3084 + 21834 2268 11953 1 3084 + 21834 11953 21831 1 3084 + 21831 11953 11951 1 3084 + 21831 11951 21830 1 3084 + 21830 11951 11949 1 3084 + 21830 11949 21835 1 3084 + 21835 11949 2265 1 3084 + 21835 2265 2263 1 3084 + 21835 2263 11928 1 3084 + 21835 11928 21840 1 3084 + 21840 11928 11934 1 3084 + 21840 11934 21841 1 3084 + 21840 21841 21836 1 3084 + 21841 11934 1826 1 3084 + 21841 1826 10342 1 3084 + 1830 2280 11981 1 3085 + 1830 11981 1829 1 3085 + 1829 11981 2272 1 3085 + 2272 11981 2277 1 3085 + 2272 2277 2274 1 3085 + 21846 21847 21848 1 3086 + 21848 21847 21849 1 3086 + 21848 21849 21850 1 3086 + 21848 21850 2288 1 3086 + 21848 2288 2285 1 3086 + 21848 2285 21846 1 3086 + 21846 2285 2281 1 3086 + 21846 2281 1832 1 3086 + 21846 1832 10372 1 3086 + 21846 10372 21847 1 3086 + 21847 10372 10377 1 3086 + 21847 10377 10382 1 3086 + 21847 10382 10401 1 3086 + 21847 10401 10406 1 3086 + 21847 10406 21849 1 3086 + 21849 10406 10411 1 3086 + 21849 10411 21850 1 3086 + 21850 10411 21851 1 3086 + 21850 21851 2288 1 3086 + 2288 21851 2291 1 3086 + 2291 21851 10416 1 3086 + 2291 10416 1838 1 3086 + 2291 1838 2294 1 3086 + 2294 1838 1866 1 3086 + 10416 21851 10411 1 3086 + 10401 10382 1833 1 3086 + 1869 2297 1868 1 3087 + 1868 2297 2295 1 3087 + 1874 1892 10585 1 3088 + 1874 10585 1871 1 3088 + 1871 10585 2298 1 3088 + 2298 10585 21852 1 3088 + 2298 21852 2300 1 3088 + 2300 21852 10591 1 3088 + 2300 10591 1893 1 3088 + 10591 21852 10588 1 3088 + 10588 21852 10585 1 3088 + 1877 1883 1890 1 3089 + 1877 1890 1876 1 3089 + 21853 21858 21859 1 3090 + 21854 21853 21859 1 3090 + 21854 21859 21860 1 3090 + 21856 21855 21863 1 3090 + 21856 21863 21864 1 3090 + 21857 21856 21864 1 3090 + 21857 21864 21865 1 3090 + 21858 21857 21865 1 3090 + 21858 21865 21866 1 3090 + 21859 21858 21866 1 3090 + 21859 21866 21867 1 3090 + 21860 21859 21867 1 3090 + 21860 21867 21868 1 3090 + 21861 21860 21868 1 3090 + 21861 21868 21869 1 3090 + 21855 21862 21863 1 3090 + 21863 21862 21871 1 3090 + 21863 21871 21872 1 3090 + 21864 21863 21872 1 3090 + 21864 21872 21873 1 3090 + 21865 21864 21873 1 3090 + 21865 21873 21874 1 3090 + 21866 21865 21874 1 3090 + 21866 21874 21875 1 3090 + 21867 21866 21875 1 3090 + 21867 21875 21876 1 3090 + 21868 21867 21876 1 3090 + 21868 21876 21877 1 3090 + 21869 21868 21877 1 3090 + 21873 21872 21878 1 3090 + 21873 21878 21879 1 3090 + 21874 21873 21879 1 3090 + 21874 21879 21875 1 3090 + 21875 21879 1895 1 3090 + 21875 1895 1896 1 3090 + 21875 1896 21876 1 3090 + 21876 1896 21877 1 3090 + 21877 1896 1935 1 3090 + 21877 1935 21870 1 3090 + 21877 21870 21869 1 3090 + 21869 21870 12071 1 3090 + 21869 12071 21861 1 3090 + 21861 12071 12068 1 3090 + 21861 12068 21860 1 3090 + 21860 12068 21854 1 3090 + 21854 12068 2306 1 3090 + 21854 2306 12061 1 3090 + 21854 12061 21853 1 3090 + 21853 12061 12057 1 3090 + 21853 12057 21858 1 3090 + 21858 12057 21857 1 3090 + 21857 12057 12053 1 3090 + 21857 12053 21856 1 3090 + 21856 12053 21855 1 3090 + 21855 12053 12049 1 3090 + 21855 12049 2303 1 3090 + 21855 2303 2289 1 3090 + 21855 2289 21862 1 3090 + 21862 2289 2290 1 3090 + 21862 2290 21871 1 3090 + 21871 2290 2301 1 3090 + 21871 2301 21878 1 3090 + 21871 21878 21872 1 3090 + 21878 2301 1895 1 3090 + 21878 1895 21879 1 3090 + 12071 21870 2309 1 3090 + 2309 21870 1938 1 3090 + 1938 21870 1935 1 3090 + 21880 21881 21882 1 3091 + 21880 21882 21883 1 3091 + 21880 21883 21884 1 3091 + 21880 21884 21885 1 3091 + 21880 21885 21886 1 3091 + 21880 21886 21881 1 3091 + 21882 21881 21888 1 3091 + 21882 21888 21889 1 3091 + 21882 21889 21890 1 3091 + 21883 21882 21890 1 3091 + 21883 21890 21891 1 3091 + 21883 21891 21892 1 3091 + 21884 21883 21892 1 3091 + 21884 21892 21893 1 3091 + 21884 21893 21894 1 3091 + 21885 21884 21894 1 3091 + 21885 21894 21895 1 3091 + 21885 21895 21896 1 3091 + 21886 21885 21896 1 3091 + 21886 21896 21897 1 3091 + 21886 21897 21898 1 3091 + 21881 21886 21898 1 3091 + 21881 21898 21887 1 3091 + 21881 21887 21888 1 3091 + 21888 21887 21900 1 3091 + 21888 21900 21901 1 3091 + 21889 21888 21901 1 3091 + 21889 21901 21902 1 3091 + 21890 21889 21902 1 3091 + 21890 21902 21903 1 3091 + 21890 21903 21904 1 3091 + 21891 21890 21904 1 3091 + 21891 21904 21905 1 3091 + 21892 21891 21905 1 3091 + 21892 21905 21906 1 3091 + 21893 21892 21906 1 3091 + 21893 21906 21907 1 3091 + 21893 21907 21908 1 3091 + 21894 21893 21908 1 3091 + 21894 21908 21909 1 3091 + 21895 21894 21909 1 3091 + 21887 21898 21910 1 3091 + 21887 21910 21899 1 3091 + 21887 21899 21900 1 3091 + 21900 21899 21911 1 3091 + 21900 21911 21912 1 3091 + 21901 21900 21912 1 3091 + 21901 21912 21913 1 3091 + 21902 21901 21913 1 3091 + 21902 21913 21914 1 3091 + 21903 21902 21914 1 3091 + 21907 21906 21915 1 3091 + 21907 21915 21916 1 3091 + 21908 21907 21916 1 3091 + 21908 21916 21917 1 3091 + 21909 21908 21917 1 3091 + 21909 21917 10672 1 3091 + 21909 10672 10676 1 3091 + 21909 10676 10680 1 3091 + 21909 10680 21895 1 3091 + 21895 10680 21896 1 3091 + 21896 10680 10684 1 3091 + 21896 10684 21897 1 3091 + 21897 10684 10688 1 3091 + 21897 10688 21898 1 3091 + 21898 10688 21910 1 3091 + 21910 10688 1907 1 3091 + 21910 1907 10629 1 3091 + 21910 10629 21899 1 3091 + 21899 10629 10633 1 3091 + 21899 10633 21911 1 3091 + 21911 10633 1908 1 3091 + 21911 1908 10711 1 3091 + 21911 10711 21912 1 3091 + 21912 10711 10709 1 3091 + 21912 10709 21913 1 3091 + 21913 10709 10707 1 3091 + 21913 10707 1927 1 3091 + 21913 1927 21914 1 3091 + 21914 1927 10703 1 3091 + 21914 10703 21903 1 3091 + 21903 10703 10700 1 3091 + 21903 10700 21904 1 3091 + 21904 10700 21905 1 3091 + 21905 10700 10697 1 3091 + 21905 10697 21906 1 3091 + 21906 10697 10694 1 3091 + 21906 10694 21915 1 3091 + 21915 10694 1924 1 3091 + 21915 1924 21916 1 3091 + 21916 1924 10691 1 3091 + 21916 10691 21917 1 3091 + 21917 10691 1922 1 3091 + 21917 1922 10672 1 3091 + 21918 21920 21921 1 3092 + 21919 21918 21921 1 3092 + 21919 21921 10715 1 3092 + 21919 10715 10713 1 3092 + 21919 10713 10708 1 3092 + 21919 10708 10710 1 3092 + 21919 10710 21918 1 3092 + 21918 10710 10712 1 3092 + 21918 10712 1911 1 3092 + 21918 1911 21920 1 3092 + 21920 1911 10721 1 3092 + 21920 10721 10717 1 3092 + 21920 10717 21921 1 3092 + 21921 10717 10715 1 3092 + 10717 10721 10719 1 3092 + 10717 10719 1930 1 3092 + 1911 10712 1910 1 3092 + 10708 10713 1928 1 3092 + 21923 21925 21926 1 3093 + 21924 21927 21928 1 3093 + 21926 21925 21929 1 3093 + 21928 21927 21931 1 3093 + 21928 21931 21932 1 3093 + 21930 21929 21933 1 3093 + 21931 21930 21933 1 3093 + 21932 21931 21933 1 3093 + 21932 21933 10649 1 3093 + 21932 10649 10651 1 3093 + 21932 10651 10653 1 3093 + 21932 10653 21928 1 3093 + 21928 10653 1914 1 3093 + 21928 1914 21924 1 3093 + 21924 1914 10657 1 3093 + 21924 10657 10737 1 3093 + 21924 10737 1933 1 3093 + 21924 1933 21927 1 3093 + 21927 1933 10733 1 3093 + 21927 10733 10730 1 3093 + 21927 10730 21931 1 3093 + 21931 10730 21930 1 3093 + 21930 10730 10727 1 3093 + 21930 10727 21929 1 3093 + 21929 10727 21926 1 3093 + 21926 10727 10724 1 3093 + 21926 10724 21923 1 3093 + 21923 10724 1931 1 3093 + 21923 1931 21922 1 3093 + 21923 21922 10643 1 3093 + 21923 10643 21925 1 3093 + 21925 10643 10645 1 3093 + 21925 10645 10647 1 3093 + 21925 10647 21929 1 3093 + 21929 10647 21933 1 3093 + 21933 10647 10649 1 3093 + 10643 21922 10641 1 3093 + 10641 21922 10639 1 3093 + 10639 21922 10722 1 3093 + 10639 10722 1913 1 3093 + 10722 21922 10720 1 3093 + 10720 21922 1931 1 3093 + 10737 10657 1917 1 3093 + 10692 1923 10745 1 3094 + 10692 10745 10743 1 3094 + 10692 10743 21934 1 3094 + 10692 21934 1920 1 3094 + 1920 21934 10664 1 3094 + 10664 21934 21935 1 3094 + 10664 21935 1919 1 3094 + 1919 21935 10738 1 3094 + 10738 21935 10739 1 3094 + 10738 10739 1934 1 3094 + 10739 21935 10741 1 3094 + 10741 21935 10743 1 3094 + 10743 21935 21934 1 3094 + 21936 21942 21943 1 3095 + 21937 21936 21943 1 3095 + 21937 21943 21944 1 3095 + 21938 21937 21944 1 3095 + 21938 21944 21945 1 3095 + 21938 21945 21946 1 3095 + 21939 21938 21946 1 3095 + 21939 21946 21947 1 3095 + 21940 21939 21947 1 3095 + 21940 21947 21948 1 3095 + 21941 21940 21948 1 3095 + 21941 21948 21949 1 3095 + 21942 21950 21951 1 3095 + 21943 21942 21951 1 3095 + 21943 21951 21952 1 3095 + 21944 21943 21952 1 3095 + 21944 21952 21953 1 3095 + 21945 21944 21953 1 3095 + 21945 21953 21954 1 3095 + 21946 21945 21954 1 3095 + 21946 21954 21955 1 3095 + 21947 21946 21955 1 3095 + 21947 21955 21956 1 3095 + 21948 21947 21956 1 3095 + 21948 21956 21957 1 3095 + 21949 21948 21957 1 3095 + 21949 21957 21958 1 3095 + 21950 21959 21960 1 3095 + 21951 21950 21960 1 3095 + 21951 21960 21961 1 3095 + 21952 21951 21961 1 3095 + 21952 21961 21962 1 3095 + 21953 21952 21962 1 3095 + 21953 21962 21963 1 3095 + 21954 21953 21963 1 3095 + 21954 21963 21964 1 3095 + 21955 21954 21964 1 3095 + 21955 21964 21965 1 3095 + 21956 21955 21965 1 3095 + 21956 21965 21966 1 3095 + 21957 21956 21966 1 3095 + 21957 21966 21967 1 3095 + 21958 21957 21967 1 3095 + 21960 21959 21969 1 3095 + 21960 21969 21970 1 3095 + 21961 21960 21970 1 3095 + 21961 21970 21971 1 3095 + 21962 21961 21971 1 3095 + 21962 21971 21972 1 3095 + 21963 21962 21972 1 3095 + 21964 21963 21972 1 3095 + 21964 21972 21973 1 3095 + 21965 21964 21973 1 3095 + 21965 21973 21974 1 3095 + 21966 21965 21974 1 3095 + 21966 21974 21975 1 3095 + 21967 21966 21975 1 3095 + 21967 21975 21976 1 3095 + 21968 21967 21976 1 3095 + 21969 21977 21978 1 3095 + 21970 21969 21978 1 3095 + 21970 21978 21979 1 3095 + 21971 21970 21979 1 3095 + 21972 21971 21979 1 3095 + 21972 21979 21980 1 3095 + 21973 21972 21980 1 3095 + 21973 21980 21981 1 3095 + 21974 21973 21981 1 3095 + 21974 21981 21982 1 3095 + 21975 21974 21982 1 3095 + 21976 21975 21982 1 3095 + 21976 21982 21983 1 3095 + 21978 21977 21984 1 3095 + 21979 21978 21984 1 3095 + 21979 21984 21985 1 3095 + 21980 21979 21985 1 3095 + 21981 21980 21985 1 3095 + 21981 21985 21986 1 3095 + 21982 21981 21986 1 3095 + 21983 21982 21986 1 3095 + 21985 21984 21987 1 3095 + 21986 21985 21987 1 3095 + 21986 21987 10732 1 3095 + 21986 10732 10735 1 3095 + 21986 10735 21983 1 3095 + 21983 10735 1932 1 3095 + 21983 1932 21976 1 3095 + 21976 1932 10740 1 3095 + 21976 10740 21968 1 3095 + 21968 10740 10742 1 3095 + 21968 10742 10744 1 3095 + 21968 10744 21958 1 3095 + 21968 21958 21967 1 3095 + 21958 10744 10746 1 3095 + 21958 10746 21949 1 3095 + 21949 10746 1925 1 3095 + 21949 1925 21941 1 3095 + 21941 1925 10696 1 3095 + 21941 10696 21940 1 3095 + 21940 10696 10699 1 3095 + 21940 10699 21939 1 3095 + 21939 10699 10702 1 3095 + 21939 10702 21938 1 3095 + 21938 10702 21937 1 3095 + 21937 10702 10705 1 3095 + 21937 10705 21936 1 3095 + 21936 10705 1926 1 3095 + 21936 1926 21942 1 3095 + 21942 1926 10714 1 3095 + 21942 10714 21950 1 3095 + 21950 10714 10716 1 3095 + 21950 10716 21959 1 3095 + 21959 10716 10718 1 3095 + 21959 10718 1929 1 3095 + 21959 1929 21969 1 3095 + 21969 1929 21977 1 3095 + 21977 1929 10726 1 3095 + 21977 10726 10729 1 3095 + 21977 10729 21984 1 3095 + 21984 10729 21987 1 3095 + 21987 10729 10732 1 3095 + 1941 2312 1940 1 3096 + 1940 2312 2310 1 3096 + 21988 21990 21991 1 3097 + 21989 21988 21991 1 3097 + 21989 21991 21992 1 3097 + 21991 21990 21993 1 3097 + 21991 21993 21994 1 3097 + 21991 21994 21995 1 3097 + 21992 21991 21995 1 3097 + 21992 21995 21996 1 3097 + 21993 21997 21998 1 3097 + 21994 21993 21998 1 3097 + 21994 21998 21999 1 3097 + 21995 21994 21999 1 3097 + 21995 21999 22000 1 3097 + 21996 21995 22000 1 3097 + 21996 22000 22001 1 3097 + 21997 22002 22003 1 3097 + 21998 21997 22003 1 3097 + 21998 22003 22004 1 3097 + 21999 21998 22004 1 3097 + 21999 22004 12128 1 3097 + 21999 12128 22000 1 3097 + 22000 12128 12123 1 3097 + 22000 12123 22001 1 3097 + 22001 12123 12118 1 3097 + 22001 12118 12107 1 3097 + 22001 12107 21996 1 3097 + 21996 12107 12103 1 3097 + 21996 12103 21992 1 3097 + 21992 12103 12099 1 3097 + 21992 12099 21989 1 3097 + 21989 12099 2318 1 3097 + 21989 2318 21988 1 3097 + 21988 2318 2315 1 3097 + 21988 2315 12091 1 3097 + 21988 12091 21990 1 3097 + 21990 12091 12087 1 3097 + 21990 12087 21993 1 3097 + 21993 12087 21997 1 3097 + 21997 12087 12083 1 3097 + 21997 12083 2313 1 3097 + 21997 2313 22002 1 3097 + 22002 2313 1943 1 3097 + 22002 1943 1944 1 3097 + 22002 1944 22003 1 3097 + 22003 1944 12133 1 3097 + 22003 12133 22004 1 3097 + 22004 12133 12128 1 3097 + 12107 12118 2321 1 3097 + 2321 12118 2324 1 3097 + 22005 22007 22008 1 3098 + 22006 22005 22008 1 3098 + 22006 22008 10825 1 3098 + 22006 10825 10830 1 3098 + 22006 10830 12127 1 3098 + 22006 12127 12132 1 3098 + 22006 12132 22005 1 3098 + 22005 12132 12137 1 3098 + 22005 12137 22007 1 3098 + 22007 12137 1946 1 3098 + 22007 1946 10796 1 3098 + 22007 10796 1947 1 3098 + 22007 1947 10804 1 3098 + 22007 10804 22008 1 3098 + 22008 10804 22009 1 3098 + 22008 22009 10820 1 3098 + 22008 10820 10825 1 3098 + 10820 22009 1950 1 3098 + 1950 22009 10806 1 3098 + 10806 22009 10804 1 3098 + 12127 10830 10835 1 3098 + 12127 10835 12122 1 3098 + 12122 10835 10840 1 3098 + 12122 10840 2325 1 3098 + 2325 10840 1953 1 3098 + 1958 2333 2330 1 3099 + 1958 2330 2327 1 3099 + 1958 2327 12149 1 3099 + 1958 12149 1955 1 3099 + 1955 12149 2323 1 3099 + 2323 12149 2322 1 3099 + 1961 2334 1960 1 3100 + 1964 2336 2331 1 3101 + 1964 2331 2332 1 3101 + 1964 2332 1963 1 3101 + 1967 2342 2339 1 3102 + 1967 2339 2337 1 3102 + 1967 2337 1966 1 3102 + 1970 2361 2358 1 3103 + 1970 2358 10873 1 3103 + 10873 2358 2353 1 3103 + 10873 2353 2343 1 3103 + 10873 2343 1969 1 3103 + 2343 2353 2345 1 3103 + 2345 2353 2350 1 3103 + 10900 1976 2367 1 3104 + 10900 2367 12231 1 3104 + 10900 12231 1973 1 3104 + 1973 12231 12227 1 3104 + 1973 12227 10890 1 3104 + 10890 12227 12223 1 3104 + 10890 12223 10886 1 3104 + 10886 12223 12219 1 3104 + 10886 12219 10882 1 3104 + 10882 12219 2362 1 3104 + 10882 2362 1972 1 3104 + 2362 12219 2364 1 3104 + 2367 1976 1979 1 3104 + 22010 22016 22017 1 3105 + 22011 22010 22017 1 3105 + 22011 22017 22018 1 3105 + 22012 22011 22018 1 3105 + 22012 22018 22019 1 3105 + 22013 22012 22019 1 3105 + 22014 22022 22023 1 3105 + 22015 22014 22023 1 3105 + 22016 22015 22023 1 3105 + 22016 22023 22024 1 3105 + 22017 22016 22024 1 3105 + 22017 22024 22025 1 3105 + 22018 22017 22025 1 3105 + 22018 22025 22026 1 3105 + 22019 22018 22026 1 3105 + 22019 22026 22027 1 3105 + 22021 22020 22028 1 3105 + 22022 22021 22028 1 3105 + 22022 22028 22029 1 3105 + 22023 22022 22029 1 3105 + 22023 22029 22030 1 3105 + 22024 22023 22030 1 3105 + 22024 22030 22031 1 3105 + 22025 22024 22031 1 3105 + 22025 22031 22032 1 3105 + 22026 22025 22032 1 3105 + 22027 22026 22032 1 3105 + 22027 22032 10922 1 3105 + 22027 10922 1982 1 3105 + 22027 1982 2382 1 3105 + 22027 2382 22019 1 3105 + 22019 2382 22013 1 3105 + 22013 2382 2379 1 3105 + 22013 2379 2376 1 3105 + 22013 2376 12252 1 3105 + 22013 12252 22012 1 3105 + 22012 12252 12249 1 3105 + 22012 12249 22011 1 3105 + 22011 12249 2373 1 3105 + 22011 2373 22010 1 3105 + 22010 2373 12246 1 3105 + 22010 12246 22016 1 3105 + 22016 12246 22015 1 3105 + 22015 12246 12244 1 3105 + 22015 12244 22014 1 3105 + 22014 12244 12242 1 3105 + 22014 12242 2370 1 3105 + 22014 2370 22021 1 3105 + 22014 22021 22022 1 3105 + 22021 2370 12238 1 3105 + 22021 12238 22020 1 3105 + 22020 12238 2368 1 3105 + 22020 2368 1981 1 3105 + 22020 1981 10907 1 3105 + 22020 10907 22028 1 3105 + 22028 10907 10910 1 3105 + 22028 10910 22029 1 3105 + 22029 10910 10913 1 3105 + 22029 10913 22030 1 3105 + 22030 10913 10916 1 3105 + 22030 10916 22031 1 3105 + 22031 10916 10919 1 3105 + 22031 10919 22032 1 3105 + 22032 10919 10922 1 3105 + 22033 22039 22040 1 3106 + 22034 22033 22040 1 3106 + 22034 22040 22041 1 3106 + 22035 22034 22041 1 3106 + 22035 22041 22042 1 3106 + 22036 22035 22042 1 3106 + 22036 22042 22043 1 3106 + 22036 22043 22044 1 3106 + 22037 22036 22044 1 3106 + 22037 22044 22045 1 3106 + 22038 22037 22045 1 3106 + 22038 22045 22046 1 3106 + 22039 22048 22049 1 3106 + 22040 22039 22049 1 3106 + 22040 22049 22050 1 3106 + 22041 22040 22050 1 3106 + 22041 22050 22051 1 3106 + 22042 22041 22051 1 3106 + 22042 22051 22052 1 3106 + 22043 22042 22052 1 3106 + 22044 22043 22052 1 3106 + 22044 22052 22053 1 3106 + 22045 22044 22053 1 3106 + 22045 22053 22054 1 3106 + 22046 22045 22054 1 3106 + 22046 22054 22055 1 3106 + 22047 22056 22057 1 3106 + 22048 22047 22057 1 3106 + 22049 22048 22057 1 3106 + 22049 22057 22058 1 3106 + 22050 22049 22058 1 3106 + 22050 22058 22059 1 3106 + 22051 22050 22059 1 3106 + 22051 22059 22060 1 3106 + 22052 22051 22060 1 3106 + 22052 22060 22061 1 3106 + 22053 22052 22061 1 3106 + 22053 22061 22062 1 3106 + 22054 22053 22062 1 3106 + 22057 22056 22063 1 3106 + 22057 22063 22064 1 3106 + 22058 22057 22064 1 3106 + 22058 22064 22065 1 3106 + 22059 22058 22065 1 3106 + 22059 22065 22066 1 3106 + 22060 22059 22066 1 3106 + 22061 22060 22066 1 3106 + 22061 22066 22067 1 3106 + 22062 22061 22067 1 3106 + 22064 22063 22068 1 3106 + 22065 22064 22068 1 3106 + 22065 22068 22069 1 3106 + 22066 22065 22069 1 3106 + 22067 22066 22069 1 3106 + 22069 22068 22070 1 3106 + 22069 22070 10977 1 3106 + 22069 10977 22067 1 3106 + 22067 10977 22062 1 3106 + 22062 10977 22055 1 3106 + 22062 22055 22054 1 3106 + 22055 10977 1991 1 3106 + 22055 1991 2394 1 3106 + 22055 2394 2391 1 3106 + 22055 2391 22046 1 3106 + 22046 2391 12297 1 3106 + 22046 12297 12295 1 3106 + 22046 12295 22038 1 3106 + 22038 12295 12293 1 3106 + 22038 12293 22037 1 3106 + 22037 12293 2388 1 3106 + 22037 2388 22036 1 3106 + 22036 2388 12289 1 3106 + 22036 12289 22035 1 3106 + 22035 12289 22034 1 3106 + 22034 12289 12286 1 3106 + 22034 12286 22033 1 3106 + 22033 12286 12283 1 3106 + 22033 12283 22039 1 3106 + 22039 12283 2385 1 3106 + 22039 2385 2383 1 3106 + 22039 2383 22047 1 3106 + 22039 22047 22048 1 3106 + 22047 2383 1984 1 3106 + 22047 1984 22056 1 3106 + 22056 1984 1985 1 3106 + 22056 1985 22063 1 3106 + 22063 1985 10949 1 3106 + 22063 10949 22068 1 3106 + 22068 10949 22070 1 3106 + 22070 10949 1988 1 3106 + 22070 1988 10977 1 3106 + 22071 22072 22073 1 3107 + 22072 22074 22075 1 3107 + 22072 22075 22076 1 3107 + 22073 22072 22076 1 3107 + 22073 22076 22077 1 3107 + 22073 22077 2405 1 3107 + 22073 2405 12337 1 3107 + 22073 12337 12334 1 3107 + 22073 12334 22071 1 3107 + 22071 12334 2402 1 3107 + 22071 2402 12315 1 3107 + 22071 12315 22072 1 3107 + 22072 12315 12309 1 3107 + 22072 12309 22074 1 3107 + 22074 12309 2395 1 3107 + 22074 2395 1993 1 3107 + 22074 1993 1994 1 3107 + 22074 1994 22075 1 3107 + 22075 1994 10991 1 3107 + 22075 10991 22076 1 3107 + 22076 10991 10993 1 3107 + 22076 10993 22077 1 3107 + 22077 10993 10995 1 3107 + 22077 10995 12341 1 3107 + 22077 12341 2405 1 3107 + 12341 10995 1997 1 3107 + 12315 2402 2399 1 3107 + 1999 2000 12342 1 3108 + 2000 2003 22078 1 3108 + 2000 22078 12342 1 3108 + 12342 22078 2408 1 3108 + 12342 2408 2406 1 3108 + 2408 22078 2411 1 3108 + 2411 22078 2006 1 3108 + 2006 22078 2003 1 3108 + 22079 22081 22082 1 3109 + 22079 22082 22083 1 3109 + 22080 22079 22083 1 3109 + 22080 22083 22084 1 3109 + 22081 22086 22087 1 3109 + 22082 22081 22087 1 3109 + 22082 22087 22088 1 3109 + 22083 22082 22088 1 3109 + 22083 22088 22089 1 3109 + 22084 22083 22089 1 3109 + 22084 22089 22090 1 3109 + 22085 22084 22090 1 3109 + 22085 22090 22091 1 3109 + 22086 22092 22093 1 3109 + 22087 22086 22093 1 3109 + 22087 22093 22094 1 3109 + 22088 22087 22094 1 3109 + 22088 22094 22095 1 3109 + 22088 22095 22096 1 3109 + 22089 22088 22096 1 3109 + 22089 22096 22097 1 3109 + 22090 22089 22097 1 3109 + 22093 22092 22098 1 3109 + 22093 22098 22099 1 3109 + 22094 22093 22099 1 3109 + 22094 22099 22100 1 3109 + 22095 22094 22100 1 3109 + 22096 22095 22100 1 3109 + 22096 22100 22101 1 3109 + 22097 22096 22101 1 3109 + 22097 22101 22102 1 3109 + 22099 22098 22103 1 3109 + 22099 22103 22104 1 3109 + 22100 22099 22104 1 3109 + 22100 22104 22105 1 3109 + 22101 22100 22105 1 3109 + 22101 22105 22102 1 3109 + 22102 22105 2423 1 3109 + 22102 2423 12395 1 3109 + 22102 12395 12391 1 3109 + 22102 12391 22097 1 3109 + 22097 12391 22090 1 3109 + 22090 12391 22091 1 3109 + 22091 12391 12387 1 3109 + 22091 12387 2420 1 3109 + 22091 2420 22085 1 3109 + 22085 2420 2417 1 3109 + 22085 2417 12379 1 3109 + 22085 12379 22084 1 3109 + 22084 12379 22080 1 3109 + 22080 12379 12375 1 3109 + 22080 12375 22079 1 3109 + 22079 12375 12371 1 3109 + 22079 12371 22081 1 3109 + 22081 12371 2414 1 3109 + 22081 2414 12363 1 3109 + 22081 12363 22086 1 3109 + 22086 12363 12359 1 3109 + 22086 12359 22092 1 3109 + 22092 12359 2412 1 3109 + 22092 2412 22098 1 3109 + 22098 2412 2008 1 3109 + 22098 2008 2009 1 3109 + 22098 2009 22103 1 3109 + 22103 2009 2012 1 3109 + 22103 2012 22104 1 3109 + 22104 2012 12405 1 3109 + 22104 12405 22105 1 3109 + 22105 12405 2423 1 3109 + 11091 2021 22108 1 3110 + 11091 22108 22107 1 3110 + 11091 22107 22106 1 3110 + 11091 22106 2015 1 3110 + 2015 22106 11055 1 3110 + 11055 22106 12410 1 3110 + 11055 12410 2014 1 3110 + 12410 22106 2424 1 3110 + 2424 22106 22107 1 3110 + 2424 22107 12418 1 3110 + 12418 22107 22108 1 3110 + 12418 22108 2426 1 3110 + 2426 22108 12427 1 3110 + 12427 22108 22109 1 3110 + 12427 22109 2030 1 3110 + 2030 22109 2027 1 3110 + 2027 22109 2024 1 3110 + 2024 22109 2021 1 3110 + 2021 22109 22108 1 3110 + 2033 2041 12429 1 3111 + 2033 12429 2032 1 3111 + 12429 2041 2042 1 3111 + 12429 2042 2429 1 3111 + 12429 2429 2427 1 3111 + 2036 2039 2035 1 3112 + 11191 2048 12449 1 3113 + 11191 12449 2432 1 3113 + 11191 2432 22110 1 3113 + 11191 22110 11188 1 3113 + 11188 22110 11185 1 3113 + 11185 22110 12445 1 3113 + 11185 12445 12442 1 3113 + 11185 12442 22111 1 3113 + 11185 22111 11182 1 3113 + 11182 22111 22112 1 3113 + 11182 22112 11179 1 3113 + 11179 22112 2045 1 3113 + 2045 22112 11169 1 3113 + 11169 22112 22113 1 3113 + 11169 22113 2430 1 3113 + 11169 2430 2044 1 3113 + 2430 22113 12436 1 3113 + 12436 22113 22112 1 3113 + 12436 22112 12439 1 3113 + 12439 22112 22111 1 3113 + 12439 22111 12442 1 3113 + 12445 22110 2432 1 3113 + 2051 2444 22114 1 3114 + 2051 22114 2050 1 3114 + 2050 22114 2438 1 3114 + 2050 2438 12450 1 3114 + 12450 2438 2435 1 3114 + 12450 2435 2433 1 3114 + 2438 22114 2441 1 3114 + 2441 22114 2444 1 3114 + 2054 2450 2445 1 3115 + 2054 2445 2053 1 3115 + 2445 2450 2447 1 3115 + 22116 22115 22119 1 3116 + 22116 22119 22120 1 3116 + 22117 22116 22120 1 3116 + 22117 22120 22121 1 3116 + 22117 22121 22122 1 3116 + 22118 22117 22122 1 3116 + 22120 22119 22123 1 3116 + 22120 22123 11208 1 3116 + 22120 11208 22121 1 3116 + 22121 11208 11212 1 3116 + 22121 11212 22122 1 3116 + 22122 11212 11216 1 3116 + 22122 11216 12539 1 3116 + 22122 12539 12537 1 3116 + 22122 12537 22118 1 3116 + 22118 12537 12535 1 3116 + 22118 12535 2459 1 3116 + 22118 2459 12523 1 3116 + 22118 12523 22117 1 3116 + 22117 12523 22116 1 3116 + 22116 12523 12516 1 3116 + 22116 12516 22115 1 3116 + 22115 12516 2456 1 3116 + 22115 2456 2453 1 3116 + 22115 2453 12493 1 3116 + 22115 12493 22119 1 3116 + 22119 12493 22123 1 3116 + 22123 12493 2056 1 3116 + 22123 2056 11204 1 3116 + 22123 11204 11208 1 3116 + 2056 12493 2451 1 3116 + 12539 11216 2057 1 3116 + 22124 22127 22128 1 3117 + 22124 22128 22129 1 3117 + 22125 22124 22129 1 3117 + 22125 22129 22130 1 3117 + 22127 22126 22131 1 3117 + 22127 22131 22132 1 3117 + 22128 22127 22132 1 3117 + 22128 22132 22133 1 3117 + 22129 22128 22133 1 3117 + 22129 22133 22134 1 3117 + 22130 22129 22134 1 3117 + 22130 22134 22135 1 3117 + 22132 22131 22137 1 3117 + 22132 22137 22138 1 3117 + 22133 22132 22138 1 3117 + 22133 22138 22139 1 3117 + 22133 22139 22140 1 3117 + 22134 22133 22140 1 3117 + 22134 22140 22141 1 3117 + 22135 22134 22141 1 3117 + 22135 22141 22142 1 3117 + 22136 22135 22142 1 3117 + 22136 22142 22143 1 3117 + 22138 22137 22144 1 3117 + 22138 22144 22145 1 3117 + 22139 22138 22145 1 3117 + 22140 22139 22145 1 3117 + 22140 22145 22146 1 3117 + 22141 22140 22146 1 3117 + 22141 22146 22147 1 3117 + 22142 22141 22147 1 3117 + 22142 22147 22148 1 3117 + 22143 22142 22148 1 3117 + 22143 22148 12584 1 3117 + 22143 12584 2465 1 3117 + 22143 2465 12571 1 3117 + 22143 12571 22136 1 3117 + 22136 12571 12566 1 3117 + 22136 12566 22130 1 3117 + 22136 22130 22135 1 3117 + 22130 12566 22125 1 3117 + 22125 12566 12561 1 3117 + 22125 12561 2462 1 3117 + 22125 2462 22124 1 3117 + 22124 2462 12546 1 3117 + 22124 12546 22127 1 3117 + 22127 12546 22126 1 3117 + 22126 12546 2460 1 3117 + 22126 2460 12536 1 3117 + 22126 12536 12538 1 3117 + 22126 12538 22131 1 3117 + 22131 12538 12540 1 3117 + 22131 12540 22137 1 3117 + 22137 12540 2059 1 3117 + 22137 2059 2060 1 3117 + 22137 2060 22144 1 3117 + 22144 2060 12616 1 3117 + 22144 12616 22145 1 3117 + 22145 12616 12612 1 3117 + 22145 12612 22146 1 3117 + 22146 12612 12608 1 3117 + 22146 12608 22147 1 3117 + 22147 12608 12604 1 3117 + 22147 12604 22148 1 3117 + 22148 12604 12600 1 3117 + 22148 12600 12584 1 3117 + 12584 12600 2471 1 3117 + 12584 2471 2468 1 3117 + 11268 2066 2474 1 3118 + 11268 2474 2472 1 3118 + 11268 2472 12603 1 3118 + 11268 12603 11263 1 3118 + 11263 12603 12607 1 3118 + 11263 12607 11258 1 3118 + 11258 12607 12611 1 3118 + 11258 12611 11253 1 3118 + 11253 12611 12615 1 3118 + 11253 12615 11248 1 3118 + 11248 12615 11226 1 3118 + 11248 11226 2063 1 3118 + 11226 12615 12619 1 3118 + 11226 12619 2062 1 3118 + 12728 2506 12641 1 3119 + 12728 12641 2069 1 3119 + 2069 12641 2475 1 3119 + 2069 2475 2068 1 3119 + 2475 12641 2477 1 3119 + 12641 2506 2480 1 3119 + 2480 2506 2503 1 3119 + 2480 2503 12706 1 3119 + 2480 12706 2483 1 3119 + 2483 12706 2500 1 3119 + 2483 2500 2486 1 3119 + 2486 2500 2489 1 3119 + 2489 2500 2497 1 3119 + 2489 2497 2494 1 3119 + 2072 2075 12738 1 3120 + 2072 12738 11289 1 3120 + 11289 12738 11285 1 3120 + 11285 12738 12735 1 3120 + 11285 12735 12731 1 3120 + 11285 12731 2071 1 3120 + 12731 12735 2507 1 3120 + 11327 2081 12737 1 3121 + 11327 12737 12740 1 3121 + 11327 12740 11323 1 3121 + 11323 12740 2077 1 3121 + 11323 2077 11319 1 3121 + 11319 2077 2078 1 3121 + 12737 2081 12743 1 3121 + 12737 12743 2505 1 3121 + 2505 12743 2504 1 3121 + 22149 22150 22151 1 3122 + 22149 22151 22152 1 3122 + 22149 22152 22153 1 3122 + 22150 22154 22155 1 3122 + 22151 22150 22155 1 3122 + 22151 22155 22156 1 3122 + 22153 22158 22159 1 3122 + 22155 22154 22160 1 3122 + 22155 22160 12712 1 3122 + 22155 12712 2502 1 3122 + 22155 2502 22156 1 3122 + 22156 2502 12745 1 3122 + 22156 12745 22151 1 3122 + 22151 12745 22152 1 3122 + 22152 12745 22157 1 3122 + 22152 22157 11335 1 3122 + 22152 11335 22153 1 3122 + 22153 11335 22158 1 3122 + 22158 11335 11339 1 3122 + 22158 11339 22159 1 3122 + 22159 11339 11595 1 3122 + 22159 11595 11598 1 3122 + 22159 11598 22153 1 3122 + 22153 11598 11601 1 3122 + 22153 11601 22149 1 3122 + 22149 11601 11604 1 3122 + 22149 11604 22150 1 3122 + 22150 11604 11607 1 3122 + 22150 11607 22154 1 3122 + 22154 11607 11610 1 3122 + 22154 11610 22160 1 3122 + 22160 11610 2156 1 3122 + 22160 2156 2159 1 3122 + 22160 2159 2501 1 3122 + 22160 2501 12712 1 3122 + 11595 11339 11343 1 3122 + 11595 11343 11592 1 3122 + 11592 11343 2084 1 3122 + 11592 2084 2155 1 3122 + 2155 2084 3222 1 3122 + 11335 22157 2083 1 3122 + 2083 22157 12745 1 3122 + 3233 3230 15722 1 3123 + 22163 22164 22165 1 3123 + 22161 22163 22165 1 3123 + 22161 22165 2149 1 3123 + 22161 2149 2150 1 3123 + 22161 2150 3223 1 3123 + 22161 3223 2086 1 3123 + 22161 2086 11353 1 3123 + 22161 11353 22163 1 3123 + 22163 11353 22162 1 3123 + 22163 22162 15722 1 3123 + 22163 15722 22164 1 3123 + 22164 15722 3230 1 3123 + 22164 3230 22165 1 3123 + 22165 3230 2128 1 3123 + 22165 2128 2129 1 3123 + 22165 2129 2149 1 3123 + 2128 3230 3227 1 3123 + 15722 22162 3236 1 3123 + 3236 22162 2087 1 3123 + 2087 22162 11353 1 3123 + 2090 2093 11391 1 3124 + 2090 11391 11369 1 3124 + 11369 11391 2096 1 3124 + 11369 2096 11364 1 3124 + 11364 2096 15729 1 3124 + 11364 15729 22166 1 3124 + 11364 22166 2089 1 3124 + 2089 22166 3237 1 3124 + 3237 22166 15729 1 3124 + 3239 3234 15734 1 3125 + 22167 22169 22170 1 3125 + 22167 22170 22171 1 3125 + 22167 22171 22172 1 3125 + 22167 22172 22168 1 3125 + 22170 22174 22175 1 3125 + 22171 22170 22175 1 3125 + 22171 22175 22176 1 3125 + 22171 22176 22177 1 3125 + 22172 22171 22177 1 3125 + 22172 22177 22178 1 3125 + 22174 22179 22180 1 3125 + 22175 22174 22180 1 3125 + 22175 22180 22181 1 3125 + 22176 22175 22181 1 3125 + 22176 22181 22182 1 3125 + 22177 22176 22182 1 3125 + 22177 22182 22183 1 3125 + 22180 22179 22184 1 3125 + 22180 22184 22185 1 3125 + 22181 22180 22185 1 3125 + 22181 22185 22186 1 3125 + 22182 22181 22186 1 3125 + 22182 22186 22187 1 3125 + 22183 22182 22187 1 3125 + 22185 22184 22188 1 3125 + 22185 22188 22189 1 3125 + 22186 22185 22189 1 3125 + 22186 22189 22190 1 3125 + 22186 22190 22191 1 3125 + 22187 22186 22191 1 3125 + 22188 22192 22193 1 3125 + 22189 22188 22193 1 3125 + 22189 22193 22194 1 3125 + 22190 22189 22194 1 3125 + 22190 22194 22195 1 3125 + 22191 22190 22195 1 3125 + 22191 22195 22196 1 3125 + 22193 22192 22197 1 3125 + 22193 22197 22198 1 3125 + 22194 22193 22198 1 3125 + 22194 22198 22199 1 3125 + 22195 22194 22199 1 3125 + 22195 22199 22200 1 3125 + 22196 22195 22200 1 3125 + 22197 22201 22202 1 3125 + 22198 22197 22202 1 3125 + 22198 22202 22203 1 3125 + 22199 22198 22203 1 3125 + 22200 22199 22203 1 3125 + 22202 22201 22204 1 3125 + 22202 22204 22205 1 3125 + 22203 22202 22205 1 3125 + 22203 22205 11417 1 3125 + 22203 11417 11419 1 3125 + 22203 11419 22200 1 3125 + 22200 11419 2105 1 3125 + 22200 2105 22196 1 3125 + 22196 2105 15749 1 3125 + 22196 15749 22191 1 3125 + 22191 15749 15746 1 3125 + 22191 15746 22187 1 3125 + 22187 15746 22183 1 3125 + 22183 15746 15743 1 3125 + 22183 15743 15740 1 3125 + 22183 15740 22177 1 3125 + 22177 15740 22178 1 3125 + 22178 15740 15737 1 3125 + 22178 15737 22172 1 3125 + 22172 15737 22168 1 3125 + 22168 15737 22173 1 3125 + 22168 22173 15725 1 3125 + 22168 15725 3235 1 3125 + 22168 3235 22167 1 3125 + 22167 3235 22169 1 3125 + 22169 3235 15731 1 3125 + 22169 15731 2098 1 3125 + 22169 2098 22170 1 3125 + 22170 2098 22174 1 3125 + 22174 2098 11393 1 3125 + 22174 11393 22179 1 3125 + 22179 11393 11395 1 3125 + 22179 11395 22184 1 3125 + 22184 11395 11397 1 3125 + 22184 11397 22188 1 3125 + 22188 11397 22192 1 3125 + 22192 11397 11399 1 3125 + 22192 11399 11401 1 3125 + 22192 11401 22197 1 3125 + 22197 11401 22201 1 3125 + 22201 11401 11403 1 3125 + 22201 11403 22204 1 3125 + 22204 11403 11405 1 3125 + 22204 11405 2102 1 3125 + 22204 2102 22205 1 3125 + 22205 2102 11415 1 3125 + 22205 11415 11417 1 3125 + 2102 11405 2099 1 3125 + 15725 22173 3234 1 3125 + 3234 22173 15734 1 3125 + 15734 22173 15737 1 3125 + 22207 22211 22212 1 3126 + 22207 22212 22213 1 3126 + 22206 22207 22213 1 3126 + 22206 22213 22208 1 3126 + 22206 22208 22209 1 3126 + 22209 22208 22215 1 3126 + 22211 22210 22216 1 3126 + 22211 22216 22217 1 3126 + 22211 22217 22218 1 3126 + 22212 22211 22218 1 3126 + 22212 22218 22219 1 3126 + 22213 22212 22219 1 3126 + 22213 22219 22220 1 3126 + 22208 22213 22220 1 3126 + 22208 22220 22214 1 3126 + 22208 22214 22215 1 3126 + 22216 22222 22223 1 3126 + 22217 22216 22223 1 3126 + 22217 22223 22224 1 3126 + 22218 22217 22224 1 3126 + 22218 22224 22225 1 3126 + 22219 22218 22225 1 3126 + 22219 22225 22226 1 3126 + 22220 22219 22226 1 3126 + 22220 22226 22227 1 3126 + 22214 22220 22227 1 3126 + 22214 22227 22221 1 3126 + 22222 22228 22229 1 3126 + 22223 22222 22229 1 3126 + 22223 22229 22230 1 3126 + 22224 22223 22230 1 3126 + 22224 22230 22231 1 3126 + 22225 22224 22231 1 3126 + 22225 22231 22232 1 3126 + 22226 22225 22232 1 3126 + 22226 22232 22233 1 3126 + 22227 22226 22233 1 3126 + 22227 22233 22234 1 3126 + 22221 22227 22234 1 3126 + 22229 22228 22235 1 3126 + 22229 22235 22236 1 3126 + 22230 22229 22236 1 3126 + 22230 22236 22237 1 3126 + 22231 22230 22237 1 3126 + 22231 22237 22238 1 3126 + 22232 22231 22238 1 3126 + 22232 22238 22239 1 3126 + 22233 22232 22239 1 3126 + 22237 22236 22240 1 3126 + 22237 22240 22241 1 3126 + 22238 22237 22241 1 3126 + 22238 22241 11435 1 3126 + 22238 11435 22239 1 3126 + 22239 11435 11439 1 3126 + 22239 11439 2111 1 3126 + 22239 2111 22234 1 3126 + 22239 22234 22233 1 3126 + 22234 2111 15767 1 3126 + 22234 15767 22221 1 3126 + 22221 15767 3242 1 3126 + 22221 3242 22215 1 3126 + 22221 22215 22214 1 3126 + 22215 3242 15756 1 3126 + 22215 15756 22209 1 3126 + 22209 15756 3228 1 3126 + 22209 3228 3229 1 3126 + 22209 3229 3240 1 3126 + 22209 3240 15736 1 3126 + 22209 15736 22206 1 3126 + 22206 15736 15739 1 3126 + 22206 15739 22207 1 3126 + 22207 15739 15742 1 3126 + 22207 15742 22211 1 3126 + 22211 15742 22210 1 3126 + 22210 15742 15745 1 3126 + 22210 15745 22216 1 3126 + 22216 15745 15748 1 3126 + 22216 15748 22222 1 3126 + 22222 15748 15751 1 3126 + 22222 15751 22228 1 3126 + 22228 15751 2107 1 3126 + 22228 2107 11421 1 3126 + 22228 11421 22235 1 3126 + 22235 11421 11423 1 3126 + 22235 11423 22240 1 3126 + 22235 22240 22236 1 3126 + 22240 11423 2108 1 3126 + 22240 2108 11431 1 3126 + 22240 11431 22241 1 3126 + 22241 11431 11435 1 3126 + 11450 2117 22242 1 3127 + 11450 22242 15771 1 3127 + 11450 15771 11448 1 3127 + 11448 15771 2113 1 3127 + 11448 2113 2114 1 3127 + 15771 22242 3243 1 3127 + 3243 22242 2123 1 3127 + 2123 22242 2117 1 3127 + 2126 3226 15760 1 3128 + 2126 15760 11477 1 3128 + 11477 15760 3241 1 3128 + 11477 3241 2125 1 3128 + 2132 2135 15704 1 3129 + 2132 15704 11491 1 3129 + 11491 15704 15702 1 3129 + 11491 15702 2131 1 3129 + 2131 15702 2146 1 3129 + 2131 2146 2147 1 3129 + 22243 22244 22245 1 3130 + 22243 22245 22246 1 3130 + 22243 22246 22247 1 3130 + 22243 22247 22248 1 3130 + 22243 22248 22249 1 3130 + 22243 22249 22244 1 3130 + 22245 22244 22251 1 3130 + 22245 22251 22252 1 3130 + 22245 22252 22253 1 3130 + 22246 22245 22253 1 3130 + 22246 22253 22254 1 3130 + 22246 22254 22255 1 3130 + 22247 22246 22255 1 3130 + 22247 22255 22256 1 3130 + 22247 22256 22257 1 3130 + 22248 22247 22257 1 3130 + 22248 22257 22258 1 3130 + 22248 22258 22259 1 3130 + 22249 22248 22259 1 3130 + 22249 22259 22260 1 3130 + 22249 22260 22261 1 3130 + 22244 22249 22261 1 3130 + 22244 22261 22250 1 3130 + 22244 22250 22251 1 3130 + 22251 22250 22263 1 3130 + 22251 22263 22264 1 3130 + 22252 22251 22264 1 3130 + 22252 22264 22265 1 3130 + 22253 22252 22265 1 3130 + 22256 22266 22267 1 3130 + 22257 22256 22267 1 3130 + 22257 22267 22268 1 3130 + 22258 22257 22268 1 3130 + 22258 22268 22269 1 3130 + 22259 22258 22269 1 3130 + 22259 22269 22270 1 3130 + 22259 22270 22271 1 3130 + 22260 22259 22271 1 3130 + 22260 22271 22272 1 3130 + 22261 22260 22272 1 3130 + 22261 22272 22273 1 3130 + 22250 22261 22273 1 3130 + 22250 22273 22262 1 3130 + 22250 22262 22263 1 3130 + 22268 22267 22275 1 3130 + 22268 22275 22276 1 3130 + 22269 22268 22276 1 3130 + 22269 22276 22277 1 3130 + 22269 22277 22278 1 3130 + 22270 22269 22278 1 3130 + 22270 22278 22279 1 3130 + 22271 22270 22279 1 3130 + 22271 22279 22280 1 3130 + 22272 22271 22280 1 3130 + 22272 22280 22281 1 3130 + 22273 22272 22281 1 3130 + 22275 22282 22283 1 3130 + 22276 22275 22283 1 3130 + 22276 22283 22284 1 3130 + 22277 22276 22284 1 3130 + 22277 22284 22285 1 3130 + 22278 22277 22285 1 3130 + 22278 22285 22286 1 3130 + 22279 22278 22286 1 3130 + 22279 22286 11524 1 3130 + 22279 11524 11527 1 3130 + 22279 11527 22280 1 3130 + 22280 11527 11530 1 3130 + 22280 11530 22281 1 3130 + 22281 11530 11533 1 3130 + 22281 11533 22273 1 3130 + 22273 11533 22274 1 3130 + 22273 22274 22262 1 3130 + 22262 22274 22263 1 3130 + 22263 22274 11538 1 3130 + 22263 11538 11540 1 3130 + 22263 11540 22264 1 3130 + 22264 11540 11542 1 3130 + 22264 11542 22265 1 3130 + 22265 11542 2141 1 3130 + 22265 2141 11550 1 3130 + 22265 11550 22253 1 3130 + 22253 11550 11554 1 3130 + 22253 11554 22254 1 3130 + 22254 11554 11558 1 3130 + 22254 11558 22255 1 3130 + 22255 11558 11562 1 3130 + 22255 11562 22256 1 3130 + 22256 11562 22266 1 3130 + 22266 11562 11566 1 3130 + 22266 11566 11570 1 3130 + 22266 11570 22267 1 3130 + 22267 11570 22275 1 3130 + 22275 11570 11574 1 3130 + 22275 11574 22282 1 3130 + 22282 11574 2144 1 3130 + 22282 2144 15703 1 3130 + 22282 15703 22283 1 3130 + 22283 15703 22284 1 3130 + 22284 15703 15705 1 3130 + 22284 15705 22285 1 3130 + 22285 15705 2137 1 3130 + 22285 2137 22286 1 3130 + 22286 2137 11524 1 3130 + 11538 22274 2138 1 3130 + 2138 22274 11533 1 3130 + 2153 3221 2152 1 3131 + 2162 2509 2498 1 3132 + 2162 2498 2499 1 3132 + 2162 2499 2161 1 3132 + 2165 2168 11648 1 3133 + 11648 2168 2171 1 3133 + 11648 2171 2512 1 3133 + 11648 2512 11643 1 3133 + 11643 2512 2490 1 3133 + 11643 2490 2164 1 3133 + 2164 2490 2493 1 3133 + 2164 2493 2510 1 3133 + 2174 2484 2513 1 3134 + 2174 2513 2173 1 3134 + 2513 2484 2485 1 3134 + 22287 22289 22290 1 3135 + 22288 22291 22292 1 3135 + 22289 22288 22292 1 3135 + 22289 22292 22293 1 3135 + 22290 22289 22293 1 3135 + 22290 22293 22294 1 3135 + 22291 22295 22296 1 3135 + 22292 22291 22296 1 3135 + 22292 22296 22297 1 3135 + 22293 22292 22297 1 3135 + 22293 22297 22298 1 3135 + 22294 22293 22298 1 3135 + 22294 22298 22299 1 3135 + 22295 22300 22301 1 3135 + 22296 22295 22301 1 3135 + 22297 22296 22301 1 3135 + 22297 22301 22302 1 3135 + 22298 22297 22302 1 3135 + 22298 22302 22303 1 3135 + 22299 22298 22303 1 3135 + 22300 22304 22305 1 3135 + 22301 22300 22305 1 3135 + 22301 22305 22306 1 3135 + 22302 22301 22306 1 3135 + 22303 22302 22306 1 3135 + 22303 22306 22307 1 3135 + 22305 22304 22310 1 3135 + 22306 22305 22310 1 3135 + 22306 22310 22311 1 3135 + 22307 22306 22311 1 3135 + 22308 22307 22311 1 3135 + 22309 22308 22311 1 3135 + 22311 22310 22312 1 3135 + 22309 22311 22312 1 3135 + 22312 22310 2481 1 3135 + 22312 2481 2482 1 3135 + 22312 2482 22309 1 3135 + 22309 2482 2176 1 3135 + 22309 2176 11703 1 3135 + 22309 11703 22308 1 3135 + 22308 11703 11708 1 3135 + 22308 11708 22307 1 3135 + 22307 11708 22303 1 3135 + 22303 11708 11713 1 3135 + 22303 11713 22299 1 3135 + 22299 11713 11718 1 3135 + 22299 11718 22294 1 3135 + 22294 11718 2177 1 3135 + 22294 2177 22290 1 3135 + 22290 2177 2524 1 3135 + 22290 2524 22287 1 3135 + 22287 2524 2521 1 3135 + 22287 2521 2518 1 3135 + 22287 2518 22288 1 3135 + 22287 22288 22289 1 3135 + 22288 2518 12806 1 3135 + 22288 12806 12803 1 3135 + 22288 12803 22291 1 3135 + 22291 12803 22295 1 3135 + 22295 12803 12800 1 3135 + 22295 12800 22300 1 3135 + 22300 12800 2515 1 3135 + 22300 2515 22304 1 3135 + 22304 2515 12797 1 3135 + 22304 12797 2481 1 3135 + 22304 2481 22310 1 3135 + 2180 2527 2179 1 3136 + 2179 2527 2525 1 3136 + 22313 22316 22317 1 3137 + 22315 22322 22323 1 3137 + 22316 22315 22323 1 3137 + 22316 22323 22324 1 3137 + 22317 22316 22324 1 3137 + 22317 22324 22325 1 3137 + 22318 22317 22325 1 3137 + 22318 22325 22326 1 3137 + 22314 22318 22326 1 3137 + 22314 22326 22319 1 3137 + 22314 22319 22320 1 3137 + 22320 22319 22328 1 3137 + 22322 22329 22330 1 3137 + 22323 22322 22330 1 3137 + 22323 22330 22331 1 3137 + 22324 22323 22331 1 3137 + 22324 22331 22332 1 3137 + 22325 22324 22332 1 3137 + 22325 22332 22333 1 3137 + 22326 22325 22333 1 3137 + 22326 22333 22334 1 3137 + 22319 22326 22334 1 3137 + 22319 22334 22327 1 3137 + 22319 22327 22328 1 3137 + 22328 22327 22335 1 3137 + 22328 22335 22336 1 3137 + 22329 22338 22339 1 3137 + 22330 22329 22339 1 3137 + 22330 22339 22340 1 3137 + 22331 22330 22340 1 3137 + 22331 22340 22341 1 3137 + 22332 22331 22341 1 3137 + 22332 22341 22342 1 3137 + 22333 22332 22342 1 3137 + 22333 22342 22343 1 3137 + 22334 22333 22343 1 3137 + 22335 22334 22343 1 3137 + 22327 22334 22335 1 3137 + 22335 22343 11740 1 3137 + 22335 11740 22336 1 3137 + 22336 11740 2183 1 3137 + 22336 2183 2186 1 3137 + 22336 2186 22328 1 3137 + 22328 2186 22321 1 3137 + 22328 22321 22320 1 3137 + 22320 22321 12858 1 3137 + 22320 12858 22314 1 3137 + 22314 12858 12856 1 3137 + 22314 12856 12854 1 3137 + 22314 12854 22318 1 3137 + 22318 12854 22317 1 3137 + 22317 12854 22313 1 3137 + 22313 12854 2533 1 3137 + 22313 2533 2530 1 3137 + 22313 2530 22316 1 3137 + 22316 2530 22315 1 3137 + 22315 2530 12846 1 3137 + 22315 12846 22322 1 3137 + 22322 12846 12842 1 3137 + 22322 12842 22329 1 3137 + 22329 12842 12838 1 3137 + 22329 12838 22338 1 3137 + 22338 12838 22337 1 3137 + 22338 22337 11725 1 3137 + 22338 11725 22339 1 3137 + 22339 11725 11728 1 3137 + 22339 11728 22340 1 3137 + 22340 11728 11731 1 3137 + 22340 11731 22341 1 3137 + 22341 11731 11734 1 3137 + 22341 11734 22342 1 3137 + 22342 11734 11737 1 3137 + 22342 11737 22343 1 3137 + 22343 11737 11740 1 3137 + 11725 22337 2182 1 3137 + 2182 22337 12834 1 3137 + 2182 12834 2528 1 3137 + 12834 22337 12838 1 3137 + 12858 22321 12860 1 3137 + 12860 22321 12862 1 3137 + 12862 22321 2193 1 3137 + 12862 2193 2539 1 3137 + 12862 2539 2536 1 3137 + 2193 22321 2186 1 3137 + 2196 2540 2195 1 3138 + 12898 2545 2542 1 3139 + 12898 2542 2537 1 3139 + 12898 2537 2538 1 3139 + 12898 2538 2201 1 3139 + 2201 2538 2198 1 3139 + 2554 2551 2204 1 3140 + 2204 2551 12926 1 3140 + 2204 12926 22344 1 3140 + 2204 22344 11755 1 3140 + 11755 22344 22345 1 3140 + 11755 22345 11751 1 3140 + 11751 22345 22346 1 3140 + 11751 22346 12903 1 3140 + 11751 12903 2203 1 3140 + 12903 22346 2546 1 3140 + 2546 22346 22345 1 3140 + 2546 22345 12912 1 3140 + 12912 22345 22344 1 3140 + 12912 22344 2548 1 3140 + 2548 22344 12926 1 3140 + 12956 2557 2555 1 3141 + 12956 2555 11759 1 3141 + 12956 11759 2207 1 3141 + 11759 2555 2206 1 3141 + 22348 22351 22352 1 3142 + 22347 22348 22352 1 3142 + 22347 22352 22349 1 3142 + 22347 22349 22350 1 3142 + 22350 22349 22354 1 3142 + 22352 22351 22355 1 3142 + 22352 22355 22356 1 3142 + 22349 22352 22356 1 3142 + 22349 22356 22353 1 3142 + 22349 22353 22354 1 3142 + 22354 22353 22358 1 3142 + 22356 22355 22359 1 3142 + 22356 22359 22360 1 3142 + 22353 22356 22360 1 3142 + 22353 22360 22357 1 3142 + 22353 22357 22358 1 3142 + 22360 22359 22362 1 3142 + 22360 22362 22363 1 3142 + 22357 22360 22363 1 3142 + 22357 22363 22361 1 3142 + 22362 22364 22365 1 3142 + 22363 22362 22365 1 3142 + 22363 22365 11818 1 3142 + 22363 11818 22361 1 3142 + 22361 11818 11823 1 3142 + 22361 11823 22358 1 3142 + 22361 22358 22357 1 3142 + 22358 11823 2225 1 3142 + 22358 2225 11845 1 3142 + 22358 11845 22354 1 3142 + 22354 11845 2228 1 3142 + 22354 2228 22350 1 3142 + 22350 2228 2560 1 3142 + 22350 2560 22347 1 3142 + 22347 2560 12963 1 3142 + 22347 12963 22348 1 3142 + 22348 12963 2558 1 3142 + 22348 2558 12957 1 3142 + 22348 12957 22351 1 3142 + 22351 12957 2209 1 3142 + 22351 2209 11763 1 3142 + 22351 11763 22355 1 3142 + 22355 11763 22359 1 3142 + 22359 11763 11766 1 3142 + 22359 11766 22362 1 3142 + 22362 11766 11769 1 3142 + 22362 11769 22364 1 3142 + 22364 11769 2210 1 3142 + 22364 2210 2222 1 3142 + 22364 2222 22365 1 3142 + 22365 2222 11818 1 3142 + 2222 2210 2221 1 3142 + 2213 2219 2212 1 3143 + 12999 2566 22366 1 3144 + 12999 22366 22368 1 3144 + 12999 22368 2231 1 3144 + 2231 22368 11855 1 3144 + 11855 22368 22367 1 3144 + 11855 22367 11852 1 3144 + 11852 22367 22369 1 3144 + 11852 22369 2230 1 3144 + 2230 22369 12984 1 3144 + 2230 12984 2561 1 3144 + 12984 22369 12987 1 3144 + 12987 22369 22367 1 3144 + 12987 22367 12990 1 3144 + 12990 22367 22366 1 3144 + 12990 22366 2563 1 3144 + 2563 22366 2566 1 3144 + 22366 22367 22368 1 3144 + 22371 22370 22373 1 3145 + 22371 22373 22374 1 3145 + 22370 22375 22372 1 3145 + 22370 22372 22373 1 3145 + 22373 22372 22377 1 3145 + 22373 22377 22378 1 3145 + 22374 22373 22378 1 3145 + 22374 22378 22379 1 3145 + 22372 22375 22380 1 3145 + 22372 22380 22376 1 3145 + 22372 22376 22377 1 3145 + 22377 22376 22382 1 3145 + 22377 22382 22383 1 3145 + 22378 22377 22383 1 3145 + 22378 22383 22384 1 3145 + 22379 22378 22384 1 3145 + 22376 22380 22385 1 3145 + 22376 22385 22381 1 3145 + 22376 22381 22382 1 3145 + 22382 22381 22386 1 3145 + 22382 22386 22387 1 3145 + 22383 22382 22387 1 3145 + 22383 22387 2243 1 3145 + 22383 2243 22384 1 3145 + 22384 2243 13038 1 3145 + 22384 13038 22379 1 3145 + 22379 13038 2575 1 3145 + 22379 2575 13026 1 3145 + 22379 13026 22374 1 3145 + 22374 13026 2572 1 3145 + 22374 2572 22371 1 3145 + 22371 2572 2569 1 3145 + 22371 2569 22370 1 3145 + 22370 2569 2567 1 3145 + 22370 2567 13003 1 3145 + 22370 13003 22375 1 3145 + 22375 13003 2233 1 3145 + 22375 2233 22380 1 3145 + 22380 2233 11862 1 3145 + 22380 11862 22385 1 3145 + 22385 11862 2234 1 3145 + 22385 2234 11868 1 3145 + 22385 11868 22381 1 3145 + 22381 11868 11870 1 3145 + 22381 11870 22386 1 3145 + 22386 11870 2240 1 3145 + 22386 2240 22387 1 3145 + 22387 2240 11874 1 3145 + 22387 11874 2243 1 3145 + 22389 22388 22392 1 3146 + 22388 22390 22393 1 3146 + 22388 22393 22391 1 3146 + 22388 22391 22392 1 3146 + 22391 22393 22395 1 3146 + 22391 22395 22394 1 3146 + 22394 22395 22397 1 3146 + 22394 22397 22396 1 3146 + 22396 22397 22398 1 3146 + 22396 22398 11902 1 3146 + 22396 11902 11904 1 3146 + 22396 11904 22394 1 3146 + 22394 11904 11906 1 3146 + 22394 11906 22391 1 3146 + 22391 11906 22392 1 3146 + 22392 11906 11908 1 3146 + 22392 11908 22389 1 3146 + 22389 11908 11910 1 3146 + 22389 11910 13069 1 3146 + 22389 13069 13064 1 3146 + 22389 13064 22388 1 3146 + 22388 13064 13059 1 3146 + 22388 13059 22390 1 3146 + 22390 13059 2578 1 3146 + 22390 2578 2576 1 3146 + 22390 2576 13043 1 3146 + 22390 13043 22393 1 3146 + 22393 13043 2245 1 3146 + 22393 2245 22395 1 3146 + 22395 2245 11883 1 3146 + 22395 11883 22397 1 3146 + 22397 11883 2246 1 3146 + 22397 2246 22398 1 3146 + 22398 2246 11890 1 3146 + 22398 11890 11900 1 3146 + 22398 11900 11902 1 3146 + 11900 11890 2249 1 3146 + 11900 2249 2252 1 3146 + 13069 11910 2258 1 3146 + 22399 22402 22403 1 3147 + 22400 22399 22403 1 3147 + 22400 22403 22404 1 3147 + 22402 22401 22407 1 3147 + 22402 22407 22408 1 3147 + 22403 22402 22408 1 3147 + 22403 22408 22409 1 3147 + 22404 22403 22409 1 3147 + 22404 22409 22410 1 3147 + 22405 22404 22410 1 3147 + 22401 22406 22407 1 3147 + 22409 22408 22411 1 3147 + 22409 22411 22410 1 3147 + 22410 22411 2264 1 3147 + 22410 2264 2590 1 3147 + 22410 2590 22405 1 3147 + 22405 2590 2587 1 3147 + 22405 2587 13089 1 3147 + 22405 13089 22404 1 3147 + 22404 13089 22400 1 3147 + 22400 13089 2584 1 3147 + 22400 2584 22399 1 3147 + 22399 2584 13083 1 3147 + 22399 13083 13081 1 3147 + 22399 13081 22402 1 3147 + 22402 13081 22401 1 3147 + 22401 13081 13079 1 3147 + 22401 13079 22406 1 3147 + 22406 13079 2581 1 3147 + 22406 2581 13063 1 3147 + 22406 13063 13068 1 3147 + 22406 13068 22407 1 3147 + 22407 13068 13073 1 3147 + 22407 13073 22408 1 3147 + 22408 13073 2260 1 3147 + 22408 2260 22411 1 3147 + 22411 2260 2261 1 3147 + 22411 2261 2264 1 3147 + 13063 2581 2579 1 3147 + 13135 2596 22413 1 3148 + 13135 22413 13137 1 3148 + 13137 22413 11954 1 3148 + 13137 11954 2267 1 3148 + 11954 22413 11952 1 3148 + 11952 22413 22412 1 3148 + 11952 22412 11950 1 3148 + 11950 22412 13120 1 3148 + 11950 13120 2591 1 3148 + 11950 2591 2266 1 3148 + 13120 22412 13125 1 3148 + 13125 22412 22413 1 3148 + 13125 22413 2596 1 3148 + 13125 2596 2593 1 3148 + 2270 2273 11958 1 3149 + 11958 2273 13168 1 3149 + 11958 13168 22415 1 3149 + 11958 22415 2269 1 3149 + 2269 22415 13138 1 3149 + 13138 22415 22414 1 3149 + 13138 22414 13136 1 3149 + 13136 22414 2602 1 3149 + 13136 2602 2599 1 3149 + 13136 2599 2597 1 3149 + 2602 22414 2605 1 3149 + 2605 22414 2608 1 3149 + 2608 22414 13168 1 3149 + 13168 22414 22415 1 3149 + 22417 22416 22424 1 3150 + 22417 22424 22425 1 3150 + 22418 22417 22425 1 3150 + 22418 22425 22426 1 3150 + 22421 22420 22428 1 3150 + 22421 22428 22429 1 3150 + 22422 22421 22429 1 3150 + 22422 22429 22430 1 3150 + 22416 22422 22430 1 3150 + 22416 22430 22423 1 3150 + 22416 22423 22424 1 3150 + 22424 22423 22431 1 3150 + 22424 22431 22432 1 3150 + 22425 22424 22432 1 3150 + 22425 22432 22433 1 3150 + 22426 22425 22433 1 3150 + 22426 22433 22434 1 3150 + 22427 22426 22434 1 3150 + 22427 22434 22435 1 3150 + 22428 22437 22438 1 3150 + 22429 22428 22438 1 3150 + 22429 22438 22439 1 3150 + 22430 22429 22439 1 3150 + 22431 22430 22439 1 3150 + 22423 22430 22431 1 3150 + 22432 22431 22440 1 3150 + 22432 22440 22441 1 3150 + 22433 22432 22441 1 3150 + 22433 22441 22442 1 3150 + 22434 22433 22442 1 3150 + 22431 22439 22440 1 3150 + 22440 22439 13215 1 3150 + 22440 13215 13212 1 3150 + 22440 13212 22441 1 3150 + 22441 13212 13209 1 3150 + 22441 13209 22442 1 3150 + 22442 13209 13206 1 3150 + 22442 13206 22434 1 3150 + 22434 13206 13203 1 3150 + 22434 13203 22435 1 3150 + 22435 13203 2617 1 3150 + 22435 2617 22436 1 3150 + 22435 22436 22427 1 3150 + 22427 22436 13196 1 3150 + 22427 13196 13194 1 3150 + 22427 13194 22426 1 3150 + 22426 13194 13192 1 3150 + 22426 13192 22418 1 3150 + 22418 13192 13190 1 3150 + 22418 13190 22417 1 3150 + 22417 13190 13188 1 3150 + 22417 13188 22416 1 3150 + 22416 13188 13186 1 3150 + 22416 13186 22422 1 3150 + 22422 13186 13184 1 3150 + 22422 13184 22421 1 3150 + 22421 13184 22420 1 3150 + 22420 13184 13182 1 3150 + 22420 13182 22419 1 3150 + 22420 22419 13174 1 3150 + 22420 13174 22428 1 3150 + 22428 13174 22437 1 3150 + 22437 13174 2275 1 3150 + 22437 2275 2276 1 3150 + 22437 2276 13218 1 3150 + 22437 13218 22438 1 3150 + 22438 13218 13215 1 3150 + 22438 13215 22439 1 3150 + 13174 22419 2609 1 3150 + 2609 22419 2611 1 3150 + 2611 22419 13182 1 3150 + 13196 22436 13198 1 3150 + 13198 22436 13200 1 3150 + 13198 13200 2614 1 3150 + 13200 22436 2617 1 3150 + 22447 22446 22449 1 3151 + 22447 22449 2304 1 3151 + 22447 2304 12052 1 3151 + 22447 12052 22448 1 3151 + 22447 22448 13214 1 3151 + 22447 13214 22446 1 3151 + 22446 13214 13217 1 3151 + 22446 13217 13220 1 3151 + 22446 13220 11985 1 3151 + 22446 11985 22449 1 3151 + 22449 11985 2279 1 3151 + 22449 2279 2284 1 3151 + 22449 2284 2304 1 3151 + 11985 13220 2278 1 3151 + 13214 22448 13211 1 3151 + 13211 22448 12056 1 3151 + 13211 12056 13208 1 3151 + 13208 12056 22443 1 3151 + 13208 22443 13205 1 3151 + 13205 22443 22444 1 3151 + 13205 22444 2618 1 3151 + 2618 22444 22445 1 3151 + 2618 22445 13222 1 3151 + 13222 22445 2305 1 3151 + 13222 2305 2620 1 3151 + 2305 22445 12064 1 3151 + 12064 22445 22444 1 3151 + 12064 22444 12060 1 3151 + 12060 22444 22443 1 3151 + 12060 22443 12056 1 3151 + 12056 22448 12052 1 3151 + 2287 2302 2286 1 3152 + 2293 2296 2299 1 3153 + 2293 2299 2292 1 3153 + 22451 22450 22452 1 3154 + 22451 22452 12090 1 3154 + 22451 12090 12094 1 3154 + 22451 12094 13228 1 3154 + 22451 13228 13225 1 3154 + 22451 13225 22450 1 3154 + 22450 13225 2621 1 3154 + 22450 2621 12070 1 3154 + 22450 12070 22452 1 3154 + 22452 12070 12073 1 3154 + 22452 12073 12086 1 3154 + 22452 12086 12090 1 3154 + 12086 12073 2308 1 3154 + 12086 2308 2311 1 3154 + 12070 2621 2307 1 3154 + 13228 12094 13231 1 3154 + 13231 12094 2314 1 3154 + 13231 2314 2623 1 3154 + 2317 2629 2316 1 3155 + 2316 2629 2624 1 3155 + 2624 2629 2626 1 3155 + 22453 22458 22459 1 3156 + 22454 22453 22459 1 3156 + 22454 22459 22460 1 3156 + 22455 22454 22460 1 3156 + 22455 22460 22461 1 3156 + 22455 22461 22462 1 3156 + 22456 22455 22462 1 3156 + 22458 22457 22463 1 3156 + 22458 22463 22464 1 3156 + 22458 22464 22465 1 3156 + 22459 22458 22465 1 3156 + 22459 22465 22466 1 3156 + 22460 22459 22466 1 3156 + 22460 22466 22467 1 3156 + 22461 22460 22467 1 3156 + 22461 22467 22468 1 3156 + 22462 22461 22468 1 3156 + 22462 22468 22469 1 3156 + 22464 22463 22470 1 3156 + 22464 22470 22471 1 3156 + 22465 22464 22471 1 3156 + 22465 22471 22472 1 3156 + 22466 22465 22472 1 3156 + 22472 22471 22473 1 3156 + 22472 22473 2357 1 3156 + 22472 2357 13282 1 3156 + 22472 13282 22466 1 3156 + 22466 13282 22467 1 3156 + 22467 13282 22468 1 3156 + 22468 13282 2638 1 3156 + 22468 2638 13271 1 3156 + 22468 13271 22469 1 3156 + 22469 13271 2635 1 3156 + 22469 2635 13261 1 3156 + 22469 13261 22462 1 3156 + 22462 13261 22456 1 3156 + 22456 13261 2632 1 3156 + 22456 2632 13257 1 3156 + 22456 13257 22455 1 3156 + 22455 13257 13255 1 3156 + 22455 13255 22454 1 3156 + 22454 13255 13253 1 3156 + 22454 13253 22453 1 3156 + 22453 13253 13251 1 3156 + 22453 13251 22458 1 3156 + 22458 13251 22457 1 3156 + 22457 13251 13249 1 3156 + 22457 13249 22463 1 3156 + 22463 13249 12102 1 3156 + 22463 12102 22470 1 3156 + 22470 12102 12106 1 3156 + 22470 12106 12110 1 3156 + 22470 12110 22471 1 3156 + 22471 12110 22473 1 3156 + 22473 12110 22474 1 3156 + 22473 22474 2357 1 3156 + 2357 22474 12150 1 3156 + 2357 12150 2354 1 3156 + 2354 12150 2326 1 3156 + 2354 2326 3219 1 3156 + 12150 22474 2320 1 3156 + 2320 22474 12110 1 3156 + 12102 13249 2319 1 3156 + 2319 13249 2630 1 3156 + 2329 2335 2338 1 3157 + 2329 2338 2328 1 3157 + 2328 2338 2346 1 3157 + 2328 2346 2349 1 3157 + 2328 2349 3220 1 3157 + 2341 2344 2340 1 3158 + 2352 3218 2351 1 3159 + 22475 22477 22478 1 3160 + 22475 22478 22476 1 3160 + 22477 22481 22482 1 3160 + 22478 22477 22482 1 3160 + 22478 22482 22483 1 3160 + 22478 22483 22484 1 3160 + 22476 22478 22484 1 3160 + 22476 22484 22479 1 3160 + 22476 22479 22480 1 3160 + 22484 22483 22485 1 3160 + 22484 22485 2639 1 3160 + 22484 2639 13281 1 3160 + 22484 13281 22479 1 3160 + 22479 13281 22480 1 3160 + 22480 13281 13349 1 3160 + 22480 13349 2658 1 3160 + 22480 2658 2655 1 3160 + 22480 2655 13334 1 3160 + 22480 13334 22476 1 3160 + 22476 13334 22475 1 3160 + 22475 13334 13329 1 3160 + 22475 13329 22477 1 3160 + 22477 13329 13324 1 3160 + 22477 13324 13313 1 3160 + 22477 13313 22481 1 3160 + 22481 13313 13308 1 3160 + 22481 13308 2649 1 3160 + 22481 2649 22482 1 3160 + 22482 2649 13299 1 3160 + 22482 13299 22483 1 3160 + 22483 13299 13295 1 3160 + 22483 13295 22485 1 3160 + 22485 13295 2646 1 3160 + 22485 2646 2643 1 3160 + 22485 2643 2639 1 3160 + 13313 13324 2652 1 3160 + 13349 13281 2360 1 3160 + 13349 2360 2363 1 3160 + 2360 13281 2359 1 3160 + 22487 22486 22489 1 3161 + 22487 22489 22490 1 3161 + 22487 22490 22491 1 3161 + 22486 22492 22488 1 3161 + 22486 22488 22489 1 3161 + 22489 22488 22494 1 3161 + 22489 22494 22495 1 3161 + 22490 22489 22495 1 3161 + 22490 22495 22496 1 3161 + 22491 22490 22496 1 3161 + 22491 22496 22497 1 3161 + 22491 22497 22498 1 3161 + 22488 22492 22499 1 3161 + 22488 22499 22493 1 3161 + 22488 22493 22494 1 3161 + 22494 22493 22501 1 3161 + 22494 22501 22502 1 3161 + 22495 22494 22502 1 3161 + 22495 22502 22503 1 3161 + 22496 22495 22503 1 3161 + 22496 22503 22504 1 3161 + 22497 22496 22504 1 3161 + 22497 22504 22505 1 3161 + 22498 22497 22505 1 3161 + 22498 22505 22506 1 3161 + 22493 22499 22507 1 3161 + 22493 22507 22500 1 3161 + 22493 22500 22501 1 3161 + 22501 22500 22509 1 3161 + 22501 22509 22510 1 3161 + 22502 22501 22510 1 3161 + 22502 22510 22511 1 3161 + 22503 22502 22511 1 3161 + 22503 22511 22512 1 3161 + 22504 22503 22512 1 3161 + 22504 22512 22513 1 3161 + 22505 22504 22513 1 3161 + 22505 22513 22514 1 3161 + 22506 22505 22514 1 3161 + 22506 22514 22515 1 3161 + 22500 22507 22516 1 3161 + 22500 22516 22508 1 3161 + 22500 22508 22509 1 3161 + 22509 22508 22517 1 3161 + 22509 22517 22518 1 3161 + 22510 22509 22518 1 3161 + 22510 22518 22519 1 3161 + 22511 22510 22519 1 3161 + 22511 22519 22520 1 3161 + 22512 22511 22520 1 3161 + 22512 22520 22521 1 3161 + 22513 22512 22521 1 3161 + 22513 22521 22522 1 3161 + 22514 22513 22522 1 3161 + 22514 22522 22523 1 3161 + 22515 22514 22523 1 3161 + 22508 22516 22517 1 3161 + 22519 22518 22524 1 3161 + 22519 22524 22525 1 3161 + 22520 22519 22525 1 3161 + 22520 22525 22526 1 3161 + 22521 22520 22526 1 3161 + 22521 22526 22527 1 3161 + 22522 22521 22527 1 3161 + 22522 22527 22528 1 3161 + 22523 22522 22528 1 3161 + 22526 22525 22529 1 3161 + 22526 22529 22527 1 3161 + 22527 22529 12240 1 3161 + 22527 12240 22528 1 3161 + 22528 12240 2369 1 3161 + 22528 2369 13375 1 3161 + 22528 13375 22523 1 3161 + 22523 13375 13373 1 3161 + 22523 13373 22515 1 3161 + 22515 13373 13371 1 3161 + 22515 13371 22506 1 3161 + 22506 13371 2664 1 3161 + 22506 2664 22498 1 3161 + 22498 2664 13367 1 3161 + 22498 13367 22491 1 3161 + 22491 13367 13364 1 3161 + 22491 13364 22487 1 3161 + 22487 13364 13361 1 3161 + 22487 13361 22486 1 3161 + 22486 13361 13358 1 3161 + 22486 13358 22492 1 3161 + 22492 13358 2661 1 3161 + 22492 2661 2659 1 3161 + 22492 2659 22499 1 3161 + 22499 2659 13353 1 3161 + 22499 13353 22507 1 3161 + 22507 13353 2365 1 3161 + 22507 2365 22516 1 3161 + 22516 2365 12222 1 3161 + 22516 12222 22517 1 3161 + 22517 12222 12226 1 3161 + 22517 12226 12230 1 3161 + 22517 12230 22524 1 3161 + 22517 22524 22518 1 3161 + 22524 12230 12234 1 3161 + 22524 12234 22525 1 3161 + 22525 12234 22529 1 3161 + 22529 12234 2366 1 3161 + 22529 2366 12240 1 3161 + 13377 2665 13372 1 3162 + 13377 13372 22530 1 3162 + 13377 22530 13379 1 3162 + 13379 22530 22531 1 3162 + 13379 22531 13381 1 3162 + 13381 22531 12247 1 3162 + 13381 12247 2372 1 3162 + 12247 22531 12245 1 3162 + 12245 22531 12243 1 3162 + 12243 22531 13376 1 3162 + 12243 13376 2371 1 3162 + 13376 22531 13374 1 3162 + 13374 22531 22530 1 3162 + 13374 22530 13372 1 3162 + 22532 22533 22534 1 3163 + 22532 22534 22535 1 3163 + 22532 22535 22536 1 3163 + 22532 22536 22537 1 3163 + 22532 22537 22538 1 3163 + 22532 22538 22533 1 3163 + 22534 22533 22540 1 3163 + 22534 22540 22541 1 3163 + 22534 22541 22542 1 3163 + 22535 22534 22542 1 3163 + 22535 22542 22543 1 3163 + 22535 22543 22544 1 3163 + 22536 22535 22544 1 3163 + 22536 22544 22545 1 3163 + 22536 22545 22546 1 3163 + 22537 22536 22546 1 3163 + 22537 22546 22547 1 3163 + 22537 22547 22548 1 3163 + 22538 22537 22548 1 3163 + 22538 22548 22549 1 3163 + 22538 22549 22550 1 3163 + 22533 22538 22550 1 3163 + 22533 22550 22539 1 3163 + 22533 22539 22540 1 3163 + 22542 22551 22552 1 3163 + 22543 22542 22552 1 3163 + 22543 22552 22553 1 3163 + 22544 22543 22553 1 3163 + 22544 22553 22554 1 3163 + 22545 22544 22554 1 3163 + 22545 22554 22555 1 3163 + 22545 22555 22556 1 3163 + 22546 22545 22556 1 3163 + 22546 22556 22557 1 3163 + 22547 22546 22557 1 3163 + 22547 22557 22558 1 3163 + 22548 22547 22558 1 3163 + 22552 22559 22560 1 3163 + 22553 22552 22560 1 3163 + 22553 22560 22561 1 3163 + 22554 22553 22561 1 3163 + 22554 22561 22562 1 3163 + 22555 22554 22562 1 3163 + 22555 22562 22563 1 3163 + 22556 22555 22563 1 3163 + 22556 22563 22564 1 3163 + 22557 22556 22564 1 3163 + 22561 22560 22565 1 3163 + 22561 22565 22566 1 3163 + 22562 22561 22566 1 3163 + 22562 22566 22567 1 3163 + 22563 22562 22567 1 3163 + 22563 22567 22568 1 3163 + 22563 22568 22569 1 3163 + 22564 22563 22569 1 3163 + 22566 22565 22570 1 3163 + 22566 22570 22571 1 3163 + 22567 22566 22571 1 3163 + 22567 22571 22572 1 3163 + 22568 22567 22572 1 3163 + 22569 22568 22572 1 3163 + 22569 22572 12254 1 3163 + 22569 12254 2375 1 3163 + 22569 2375 13388 1 3163 + 22569 13388 22564 1 3163 + 22564 13388 22557 1 3163 + 22557 13388 22558 1 3163 + 22558 13388 2653 1 3163 + 22558 2653 13328 1 3163 + 22558 13328 22548 1 3163 + 22548 13328 13333 1 3163 + 22548 13333 22549 1 3163 + 22549 13333 13338 1 3163 + 22549 13338 22550 1 3163 + 22550 13338 2654 1 3163 + 22550 2654 2662 1 3163 + 22550 2662 22539 1 3163 + 22539 2662 13360 1 3163 + 22539 13360 22540 1 3163 + 22540 13360 13363 1 3163 + 22540 13363 22541 1 3163 + 22541 13363 13366 1 3163 + 22541 13366 22542 1 3163 + 22542 13366 22551 1 3163 + 22551 13366 13369 1 3163 + 22551 13369 2663 1 3163 + 22551 2663 22559 1 3163 + 22551 22559 22552 1 3163 + 22559 2663 13378 1 3163 + 22559 13378 13380 1 3163 + 22559 13380 22565 1 3163 + 22559 22565 22560 1 3163 + 22565 13380 13382 1 3163 + 22565 13382 22570 1 3163 + 22570 13382 2374 1 3163 + 22570 2374 22571 1 3163 + 22571 2374 12251 1 3163 + 22571 12251 22572 1 3163 + 22572 12251 12254 1 3163 + 22573 22574 22575 1 3164 + 22573 22575 22576 1 3164 + 22573 22576 22577 1 3164 + 22573 22577 22578 1 3164 + 22573 22578 22579 1 3164 + 22573 22579 22574 1 3164 + 22576 22580 22581 1 3164 + 22577 22576 22581 1 3164 + 22577 22581 22582 1 3164 + 22577 22582 22583 1 3164 + 22578 22577 22583 1 3164 + 22578 22583 22584 1 3164 + 22578 22584 22585 1 3164 + 22579 22578 22585 1 3164 + 22579 22585 22586 1 3164 + 22579 22586 22587 1 3164 + 22574 22579 22587 1 3164 + 22581 22580 22588 1 3164 + 22581 22588 22589 1 3164 + 22582 22581 22589 1 3164 + 22582 22589 22590 1 3164 + 22582 22590 22591 1 3164 + 22583 22582 22591 1 3164 + 22583 22591 22592 1 3164 + 22584 22583 22592 1 3164 + 22584 22592 22593 1 3164 + 22585 22584 22593 1 3164 + 22585 22593 22594 1 3164 + 22588 22595 22596 1 3164 + 22589 22588 22596 1 3164 + 22589 22596 22597 1 3164 + 22590 22589 22597 1 3164 + 22590 22597 22598 1 3164 + 22591 22590 22598 1 3164 + 22591 22598 22599 1 3164 + 22592 22591 22599 1 3164 + 22596 22595 22600 1 3164 + 22596 22600 12288 1 3164 + 22596 12288 22597 1 3164 + 22597 12288 12291 1 3164 + 22597 12291 22598 1 3164 + 22598 12291 2387 1 3164 + 22598 2387 22599 1 3164 + 22599 2387 13410 1 3164 + 22599 13410 22592 1 3164 + 22592 13410 13408 1 3164 + 22592 13408 22593 1 3164 + 22593 13408 13406 1 3164 + 22593 13406 22594 1 3164 + 22594 13406 2670 1 3164 + 22594 2670 2667 1 3164 + 22594 2667 22586 1 3164 + 22594 22586 22585 1 3164 + 22586 2667 22587 1 3164 + 22587 2667 2650 1 3164 + 22587 2650 13312 1 3164 + 22587 13312 22574 1 3164 + 22574 13312 13317 1 3164 + 22574 13317 22575 1 3164 + 22575 13317 2651 1 3164 + 22575 2651 22576 1 3164 + 22576 2651 22580 1 3164 + 22580 2651 13394 1 3164 + 22580 13394 22588 1 3164 + 22588 13394 22595 1 3164 + 22595 13394 2377 1 3164 + 22595 2377 22600 1 3164 + 22600 2377 2386 1 3164 + 22600 2386 12285 1 3164 + 22600 12285 12288 1 3164 + 2386 2377 2378 1 3164 + 2381 2384 2380 1 3165 + 13412 2671 13407 1 3166 + 13412 13407 22601 1 3166 + 13412 22601 13414 1 3166 + 13414 22601 22603 1 3166 + 13414 22603 13416 1 3166 + 13416 22603 12298 1 3166 + 13416 12298 2390 1 3166 + 12298 22603 22602 1 3166 + 12298 22602 12296 1 3166 + 12296 22602 12294 1 3166 + 12294 22602 13411 1 3166 + 12294 13411 2389 1 3166 + 13411 22602 13409 1 3166 + 13409 22602 22601 1 3166 + 13409 22601 13407 1 3166 + 22601 22602 22603 1 3166 + 12320 2398 22605 1 3167 + 12320 22605 13417 1 3167 + 12320 13417 12314 1 3167 + 12314 13417 2392 1 3167 + 12314 2392 2393 1 3167 + 13417 22605 13415 1 3167 + 13415 22605 13413 1 3167 + 13413 22605 13427 1 3167 + 13413 13427 22604 1 3167 + 13413 22604 2669 1 3167 + 2669 22604 2676 1 3167 + 2669 2676 2673 1 3167 + 2669 2673 2668 1 3167 + 2676 22604 13427 1 3167 + 13427 22605 2398 1 3167 + 22607 22606 22608 1 3168 + 22607 22608 22609 1 3168 + 22609 22608 22610 1 3168 + 22609 22610 22611 1 3168 + 22609 22611 13488 1 3168 + 22609 13488 13478 1 3168 + 22609 13478 22607 1 3168 + 22607 13478 2688 1 3168 + 22607 2688 13465 1 3168 + 22607 13465 22606 1 3168 + 22606 13465 2685 1 3168 + 22606 2685 13441 1 3168 + 22606 13441 2677 1 3168 + 22606 2677 22608 1 3168 + 22608 2677 13433 1 3168 + 22608 13433 22610 1 3168 + 22610 13433 2400 1 3168 + 22610 2400 2401 1 3168 + 22610 2401 22611 1 3168 + 22611 2401 13488 1 3168 + 13441 2685 2679 1 3168 + 2679 2685 2682 1 3168 + 13478 13488 2691 1 3168 + 2404 2407 13506 1 3169 + 2404 13506 12339 1 3169 + 12339 13506 22612 1 3169 + 12339 22612 12336 1 3169 + 12336 22612 13491 1 3169 + 12336 13491 2403 1 3169 + 13491 22612 13503 1 3169 + 13491 13503 2692 1 3169 + 2692 13503 2694 1 3169 + 13503 22612 13506 1 3169 + 12366 2413 2697 1 3170 + 12366 2697 22613 1 3170 + 12366 22613 12362 1 3170 + 12362 22613 13508 1 3170 + 12362 13508 2409 1 3170 + 12362 2409 2410 1 3170 + 13508 22613 13505 1 3170 + 13505 22613 13513 1 3170 + 13505 13513 2695 1 3170 + 13513 22613 2697 1 3170 + 15656 2439 13546 1 3171 + 15656 13546 13541 1 3171 + 15656 13541 2416 1 3171 + 2416 13541 12382 1 3171 + 12382 13541 13536 1 3171 + 12382 13536 12378 1 3171 + 12378 13536 2703 1 3171 + 12378 2703 12374 1 3171 + 12374 2703 2700 1 3171 + 12374 2700 2415 1 3171 + 2415 2700 2698 1 3171 + 13546 2439 13551 1 3171 + 13551 2439 2440 1 3171 + 13551 2440 2706 1 3171 + 2706 2440 2709 1 3171 + 2709 2440 2714 1 3171 + 2419 2436 2418 1 3172 + 2436 2437 15658 1 3172 + 2436 15658 2418 1 3172 + 2434 2421 2431 1 3173 + 12422 2425 22614 1 3173 + 12422 22614 12398 1 3173 + 12422 12398 2422 1 3173 + 12398 22614 12441 1 3173 + 12398 12441 12444 1 3173 + 12398 12444 12394 1 3173 + 12394 12444 12447 1 3173 + 12394 12447 12390 1 3173 + 12390 12447 2431 1 3173 + 12390 2431 2421 1 3173 + 12441 22614 12438 1 3173 + 12438 22614 2425 1 3173 + 12438 2425 2428 1 3173 + 2443 2446 2717 1 3174 + 2443 2717 2442 1 3174 + 2442 2717 2715 1 3174 + 12498 2452 22615 1 3175 + 12498 22615 13597 1 3175 + 12498 13597 2720 1 3175 + 12498 2720 2718 1 3175 + 12498 2718 2449 1 3175 + 2449 2718 2448 1 3175 + 13597 22615 2723 1 3175 + 2723 22615 2726 1 3175 + 2726 22615 2452 1 3175 + 13650 2735 13626 1 3176 + 13650 13626 2727 1 3176 + 13650 2727 13654 1 3176 + 13654 2727 2454 1 3176 + 13654 2454 2455 1 3176 + 13626 2735 2732 1 3176 + 13626 2732 2729 1 3176 + 22617 22616 22624 1 3177 + 22617 22624 22625 1 3177 + 22618 22617 22625 1 3177 + 22619 22618 22625 1 3177 + 22619 22625 22626 1 3177 + 22620 22619 22626 1 3177 + 22620 22626 22627 1 3177 + 22621 22620 22627 1 3177 + 22621 22627 22628 1 3177 + 22622 22621 22628 1 3177 + 22622 22628 12552 1 3177 + 22622 12552 22623 1 3177 + 22622 22623 13678 1 3177 + 22622 13678 13676 1 3177 + 22622 13676 22621 1 3177 + 22621 13676 13674 1 3177 + 22621 13674 22620 1 3177 + 22620 13674 13672 1 3177 + 22620 13672 22619 1 3177 + 22619 13672 13670 1 3177 + 22619 13670 22618 1 3177 + 22618 13670 13668 1 3177 + 22618 13668 22617 1 3177 + 22617 13668 13666 1 3177 + 22617 13666 22616 1 3177 + 22616 13666 13664 1 3177 + 22616 13664 13653 1 3177 + 22616 13653 13657 1 3177 + 22616 13657 22624 1 3177 + 22624 13657 2457 1 3177 + 22624 2457 12522 1 3177 + 22624 12522 22625 1 3177 + 22625 12522 22626 1 3177 + 22626 12522 12529 1 3177 + 22626 12529 22627 1 3177 + 22627 12529 2458 1 3177 + 22627 2458 22628 1 3177 + 22628 2458 12552 1 3177 + 13653 13664 2736 1 3177 + 2736 13664 2738 1 3177 + 13678 22623 13680 1 3177 + 13680 22623 2741 1 3177 + 2741 22623 2744 1 3177 + 2744 22623 2461 1 3177 + 2744 2461 2747 1 3177 + 2461 22623 12552 1 3177 + 22630 22629 22634 1 3178 + 22630 22634 22635 1 3178 + 22631 22630 22635 1 3178 + 22631 22635 22636 1 3178 + 22632 22631 22636 1 3178 + 22632 22636 22637 1 3178 + 22633 22632 22637 1 3178 + 22633 22637 22638 1 3178 + 22636 22635 22639 1 3178 + 22636 22639 13741 1 3178 + 22636 13741 22637 1 3178 + 22637 13741 13736 1 3178 + 22637 13736 22638 1 3178 + 22638 13736 13731 1 3178 + 22638 13731 13724 1 3178 + 22638 13724 22633 1 3178 + 22633 13724 13722 1 3178 + 22633 13722 13720 1 3178 + 22633 13720 22632 1 3178 + 22632 13720 2753 1 3178 + 22632 2753 22631 1 3178 + 22631 2753 13712 1 3178 + 22631 13712 22630 1 3178 + 22630 13712 22629 1 3178 + 22629 13712 13707 1 3178 + 22629 13707 12565 1 3178 + 22629 12565 22634 1 3178 + 22634 12565 12570 1 3178 + 22634 12570 12575 1 3178 + 22634 12575 22635 1 3178 + 22635 12575 22639 1 3178 + 22639 12575 2464 1 3178 + 22639 2464 13746 1 3178 + 22639 13746 13741 1 3178 + 12565 13707 2750 1 3178 + 12565 2750 2463 1 3178 + 2463 2750 2748 1 3178 + 13724 13731 2756 1 3178 + 2756 13731 2759 1 3178 + 22640 22643 22644 1 3179 + 22641 22640 22644 1 3179 + 22641 22644 22645 1 3179 + 22641 22645 22646 1 3179 + 22642 22641 22646 1 3179 + 22643 22648 22649 1 3179 + 22644 22643 22649 1 3179 + 22644 22649 22650 1 3179 + 22645 22644 22650 1 3179 + 22645 22650 22651 1 3179 + 22646 22645 22651 1 3179 + 22648 22647 22652 1 3179 + 22648 22652 22653 1 3179 + 22649 22648 22653 1 3179 + 22649 22653 22654 1 3179 + 22650 22649 22654 1 3179 + 22650 22654 22655 1 3179 + 22651 22650 22655 1 3179 + 22652 22656 22657 1 3179 + 22653 22652 22657 1 3179 + 22653 22657 22658 1 3179 + 22654 22653 22658 1 3179 + 22657 22656 22659 1 3179 + 22657 22659 22660 1 3179 + 22658 22657 22660 1 3179 + 22658 22660 2516 1 3179 + 22658 2516 12802 1 3179 + 22658 12802 22655 1 3179 + 22658 22655 22654 1 3179 + 22655 12802 12805 1 3179 + 22655 12805 22651 1 3179 + 22651 12805 12808 1 3179 + 22651 12808 22646 1 3179 + 22646 12808 2517 1 3179 + 22646 2517 22642 1 3179 + 22642 2517 2765 1 3179 + 22642 2765 2762 1 3179 + 22642 2762 2760 1 3179 + 22642 2760 13735 1 3179 + 22642 13735 22641 1 3179 + 22641 13735 13740 1 3179 + 22641 13740 22640 1 3179 + 22640 13740 13745 1 3179 + 22640 13745 22643 1 3179 + 22643 13745 13750 1 3179 + 22643 13750 22647 1 3179 + 22643 22647 22648 1 3179 + 22647 13750 2466 1 3179 + 22647 2466 12590 1 3179 + 22647 12590 22652 1 3179 + 22652 12590 22656 1 3179 + 22656 12590 2467 1 3179 + 22656 2467 22659 1 3179 + 22659 2467 3214 1 3179 + 22659 3214 15633 1 3179 + 22659 15633 15631 1 3179 + 22659 15631 22660 1 3179 + 22660 15631 2516 1 3179 + 2476 3215 2473 1 3180 + 2470 2473 2469 1 3180 + 2469 2473 3215 1 3180 + 3213 2478 15634 1 3181 + 12798 2514 15632 1 3181 + 12798 15632 12647 1 3181 + 12798 12647 2479 1 3181 + 12647 15632 15634 1 3181 + 12647 15634 2478 1 3181 + 2488 2511 2487 1 3182 + 2496 2508 2495 1 3183 + 2520 2766 2519 1 3184 + 2523 2526 2522 1 3185 + 22661 22664 22665 1 3185 + 22662 22661 22665 1 3185 + 22662 22665 22666 1 3185 + 22662 22666 22667 1 3185 + 22663 22662 22667 1 3185 + 22663 22667 22668 1 3185 + 22664 22670 22671 1 3185 + 22665 22664 22671 1 3185 + 22665 22671 22672 1 3185 + 22666 22665 22672 1 3185 + 22666 22672 22673 1 3185 + 22667 22666 22673 1 3185 + 22667 22673 22674 1 3185 + 22668 22667 22674 1 3185 + 22668 22674 22675 1 3185 + 22669 22668 22675 1 3185 + 22671 22670 22676 1 3185 + 22671 22676 22677 1 3185 + 22672 22671 22677 1 3185 + 22672 22677 22678 1 3185 + 22673 22672 22678 1 3185 + 22673 22678 22679 1 3185 + 22674 22673 22679 1 3185 + 22674 22679 22680 1 3185 + 22675 22674 22680 1 3185 + 22677 22676 22681 1 3185 + 22677 22681 22682 1 3185 + 22678 22677 22682 1 3185 + 22679 22678 22682 1 3185 + 22679 22682 22683 1 3185 + 22680 22679 22683 1 3185 + 22680 22683 12841 1 3185 + 22680 12841 12845 1 3185 + 22680 12845 22675 1 3185 + 22675 12845 12849 1 3185 + 22675 12849 22669 1 3185 + 22669 12849 2529 1 3185 + 22669 2529 2774 1 3185 + 22669 2774 13814 1 3185 + 22669 13814 22668 1 3185 + 22668 13814 22663 1 3185 + 22663 13814 13810 1 3185 + 22663 13810 13806 1 3185 + 22663 13806 22662 1 3185 + 22662 13806 2771 1 3185 + 22662 2771 22661 1 3185 + 22661 2771 13796 1 3185 + 22661 13796 22664 1 3185 + 22664 13796 13791 1 3185 + 22664 13791 22670 1 3185 + 22670 13791 2768 1 3185 + 22670 2768 2763 1 3185 + 22670 2763 22676 1 3185 + 22676 2763 2764 1 3185 + 22676 2764 22681 1 3185 + 22681 2764 2522 1 3185 + 22681 2522 2526 1 3185 + 22681 2526 22682 1 3185 + 22682 2526 22683 1 3185 + 22683 2526 12837 1 3185 + 22683 12837 12841 1 3185 + 2532 2777 13824 1 3186 + 2532 13824 13821 1 3186 + 2532 13821 2531 1 3186 + 2531 13821 2775 1 3186 + 22685 22684 22687 1 3187 + 22685 22687 22688 1 3187 + 22685 22688 13835 1 3187 + 22685 13835 2780 1 3187 + 22685 2780 22684 1 3187 + 22684 2780 2778 1 3187 + 22684 2778 22686 1 3187 + 22684 22686 12857 1 3187 + 22684 12857 12859 1 3187 + 22684 12859 22687 1 3187 + 22687 12859 12861 1 3187 + 22687 12861 22688 1 3187 + 22688 12861 12863 1 3187 + 22688 12863 22689 1 3187 + 22688 22689 2783 1 3187 + 22688 2783 13835 1 3187 + 2783 22689 2541 1 3187 + 2541 22689 2535 1 3187 + 2535 22689 12863 1 3187 + 12857 22686 12855 1 3187 + 12855 22686 2534 1 3187 + 2534 22686 2778 1 3187 + 12917 2547 2798 1 3188 + 12917 2798 22690 1 3188 + 12917 22690 2784 1 3188 + 12917 2784 2543 1 3188 + 12917 2543 2544 1 3188 + 2784 22690 13894 1 3188 + 2784 13894 13852 1 3188 + 13852 13894 13888 1 3188 + 13852 13888 2786 1 3188 + 2786 13888 2795 1 3188 + 2786 2795 2789 1 3188 + 2789 2795 2792 1 3188 + 13894 22690 2798 1 3188 + 2550 2804 13916 1 3189 + 2550 13916 12931 1 3189 + 12931 13916 2801 1 3189 + 12931 2801 2799 1 3189 + 12931 2799 2549 1 3189 + 2552 2553 2805 1 3190 + 22693 22692 22696 1 3190 + 22693 22696 22697 1 3190 + 22694 22698 22699 1 3190 + 22692 22694 22699 1 3190 + 22692 22699 22695 1 3190 + 22692 22695 22696 1 3190 + 22698 22701 22702 1 3190 + 22699 22698 22702 1 3190 + 22699 22702 22703 1 3190 + 22695 22699 22703 1 3190 + 22695 22703 22700 1 3190 + 22702 22701 22704 1 3190 + 22702 22704 22703 1 3190 + 22703 22704 12986 1 3190 + 22703 12986 22700 1 3190 + 22700 12986 12989 1 3190 + 22700 12989 12992 1 3190 + 22700 12992 22696 1 3190 + 22700 22696 22695 1 3190 + 22696 12992 22697 1 3190 + 22697 12992 2562 1 3190 + 22697 2562 2810 1 3190 + 22697 2810 13947 1 3190 + 22697 13947 22693 1 3190 + 22693 13947 22691 1 3190 + 22693 22691 22692 1 3190 + 22692 22691 13934 1 3190 + 22692 13934 13931 1 3190 + 22692 13931 22694 1 3190 + 22694 13931 13928 1 3190 + 22694 13928 22698 1 3190 + 22698 13928 13925 1 3190 + 22698 13925 22701 1 3190 + 22701 13925 13922 1 3190 + 22701 13922 13919 1 3190 + 22701 13919 12969 1 3190 + 22701 12969 22704 1 3190 + 22704 12969 2559 1 3190 + 22704 2559 12986 1 3190 + 12969 13919 2556 1 3190 + 2556 13919 2805 1 3190 + 2556 2805 2553 1 3190 + 13934 22691 13937 1 3190 + 13937 22691 13943 1 3190 + 13937 13943 2807 1 3190 + 13943 22691 13947 1 3190 + 2565 2568 22705 1 3191 + 2565 22705 2564 1 3191 + 2564 22705 2811 1 3191 + 2811 22705 13955 1 3191 + 13955 22705 2568 1 3191 + 13955 2568 2813 1 3191 + 2571 2822 22706 1 3192 + 2571 22706 2814 1 3192 + 2571 2814 2570 1 3192 + 2814 22706 2816 1 3192 + 2816 22706 2819 1 3192 + 2819 22706 2822 1 3192 + 2574 2577 2580 1 3193 + 2574 2580 13030 1 3193 + 13030 2580 13969 1 3193 + 13030 13969 2573 1 3193 + 2573 13969 2823 1 3193 + 22708 22707 22710 1 3194 + 22707 22709 22710 1 3194 + 22710 22709 13082 1 3194 + 22710 13082 13084 1 3194 + 22710 13084 22708 1 3194 + 22708 13084 13981 1 3194 + 22708 13981 2825 1 3194 + 22708 2825 22707 1 3194 + 22707 2825 2820 1 3194 + 22707 2820 2821 1 3194 + 22707 2821 22709 1 3194 + 22709 2821 13970 1 3194 + 22709 13970 22711 1 3194 + 22709 22711 13082 1 3194 + 13082 22711 13080 1 3194 + 13080 22711 2582 1 3194 + 2582 22711 13970 1 3194 + 13981 13084 2583 1 3194 + 22715 22714 22717 1 3195 + 22715 22717 22718 1 3195 + 22716 22715 22718 1 3195 + 22716 22718 22719 1 3195 + 22716 22719 2834 1 3195 + 22716 2834 2831 1 3195 + 22716 2831 22715 1 3195 + 22715 2831 14019 1 3195 + 22715 14019 22714 1 3195 + 22714 14019 22713 1 3195 + 22714 22713 22717 1 3195 + 22717 22713 13094 1 3195 + 22717 13094 2586 1 3195 + 22717 2586 22718 1 3195 + 22718 2586 14040 1 3195 + 22718 14040 22719 1 3195 + 22719 14040 2837 1 3195 + 22719 2837 2834 1 3195 + 13094 22713 2585 1 3195 + 2585 22713 13986 1 3195 + 13986 22713 14015 1 3195 + 13986 14015 22712 1 3195 + 13986 22712 2826 1 3195 + 2826 22712 13995 1 3195 + 13995 22712 14007 1 3195 + 13995 14007 2828 1 3195 + 14007 22712 14011 1 3195 + 14011 22712 14015 1 3195 + 14015 22713 14019 1 3195 + 13129 2592 2842 1 3196 + 13129 2842 2838 1 3196 + 13129 2838 14044 1 3196 + 13129 14044 13124 1 3196 + 13124 14044 2588 1 3196 + 13124 2588 2589 1 3196 + 2842 2592 2845 1 3196 + 2595 2598 2848 1 3197 + 2595 2848 2594 1 3197 + 2594 2848 2846 1 3197 + 2601 2857 14076 1 3198 + 2601 14076 14073 1 3198 + 2601 14073 2600 1 3198 + 2600 14073 2849 1 3198 + 2849 14073 2851 1 3198 + 14076 2857 2854 1 3198 + 2604 2858 2603 1 3199 + 2869 2866 14157 1 3200 + 22722 22723 22724 1 3200 + 22724 22723 22725 1 3200 + 22724 22725 22726 1 3200 + 22726 22725 22727 1 3200 + 22726 22727 22728 1 3200 + 22728 22727 22729 1 3200 + 22728 22729 22730 1 3200 + 22728 22730 14136 1 3200 + 22728 14136 14131 1 3200 + 22728 14131 22726 1 3200 + 22726 14131 14126 1 3200 + 22726 14126 22724 1 3200 + 22724 14126 2863 1 3200 + 22724 2863 22722 1 3200 + 22722 2863 22721 1 3200 + 22722 22721 14181 1 3200 + 22722 14181 22723 1 3200 + 22723 14181 14179 1 3200 + 22723 14179 22725 1 3200 + 22725 14179 14177 1 3200 + 22725 14177 14175 1 3200 + 22725 14175 22727 1 3200 + 22727 14175 14173 1 3200 + 22727 14173 22729 1 3200 + 22729 14173 2875 1 3200 + 22729 2875 2872 1 3200 + 22729 2872 22730 1 3200 + 22730 2872 14157 1 3200 + 22730 14157 2866 1 3200 + 22730 2866 14136 1 3200 + 14181 22721 14183 1 3200 + 14183 22721 14185 1 3200 + 14185 22721 22720 1 3200 + 14185 22720 14187 1 3200 + 14187 22720 2860 1 3200 + 14187 2860 14189 1 3200 + 14189 2860 14103 1 3200 + 14189 14103 14191 1 3200 + 14191 14103 2855 1 3200 + 14191 2855 14193 1 3200 + 14193 2855 2610 1 3200 + 2610 2855 2856 1 3200 + 2610 2856 2606 1 3200 + 2610 2606 2607 1 3200 + 2860 22720 2863 1 3200 + 2863 22720 22721 1 3200 + 22732 22731 22734 1 3201 + 22732 22734 22735 1 3201 + 22732 22735 22736 1 3201 + 22731 22738 22733 1 3201 + 22731 22733 22734 1 3201 + 22734 22733 22740 1 3201 + 22734 22740 22741 1 3201 + 22735 22734 22741 1 3201 + 22735 22741 22742 1 3201 + 22736 22735 22742 1 3201 + 22736 22742 22743 1 3201 + 22736 22743 22744 1 3201 + 22737 22736 22744 1 3201 + 22737 22744 22745 1 3201 + 22733 22738 22746 1 3201 + 22733 22746 22739 1 3201 + 22733 22739 22740 1 3201 + 22740 22739 22748 1 3201 + 22740 22748 22749 1 3201 + 22741 22740 22749 1 3201 + 22741 22749 22750 1 3201 + 22742 22741 22750 1 3201 + 22742 22750 22751 1 3201 + 22743 22742 22751 1 3201 + 22743 22751 22752 1 3201 + 22743 22752 22753 1 3201 + 22744 22743 22753 1 3201 + 22744 22753 22754 1 3201 + 22745 22744 22754 1 3201 + 22746 22755 22756 1 3201 + 22739 22746 22756 1 3201 + 22739 22756 22747 1 3201 + 22739 22747 22748 1 3201 + 22748 22747 22758 1 3201 + 22748 22758 22759 1 3201 + 22749 22748 22759 1 3201 + 22749 22759 22760 1 3201 + 22750 22749 22760 1 3201 + 22750 22760 22761 1 3201 + 22751 22750 22761 1 3201 + 22751 22761 22762 1 3201 + 22752 22751 22762 1 3201 + 22752 22762 22763 1 3201 + 22753 22752 22763 1 3201 + 22753 22763 22764 1 3201 + 22754 22753 22764 1 3201 + 22754 22764 22765 1 3201 + 22754 22765 22766 1 3201 + 22755 22767 22768 1 3201 + 22756 22755 22768 1 3201 + 22756 22768 22769 1 3201 + 22747 22756 22769 1 3201 + 22747 22769 22757 1 3201 + 22747 22757 22758 1 3201 + 22760 22759 22770 1 3201 + 22760 22770 22771 1 3201 + 22761 22760 22771 1 3201 + 22761 22771 22772 1 3201 + 22762 22761 22772 1 3201 + 22762 22772 22773 1 3201 + 22763 22762 22773 1 3201 + 22763 22773 22774 1 3201 + 22764 22763 22774 1 3201 + 22764 22774 22775 1 3201 + 22765 22764 22775 1 3201 + 22765 22775 22776 1 3201 + 22766 22765 22776 1 3201 + 22766 22776 22777 1 3201 + 22774 22773 22778 1 3201 + 22774 22778 22779 1 3201 + 22775 22774 22779 1 3201 + 22775 22779 14199 1 3201 + 22775 14199 22776 1 3201 + 22776 14199 14196 1 3201 + 22776 14196 22777 1 3201 + 22777 14196 2876 1 3201 + 22777 2876 14174 1 3201 + 22777 14174 22766 1 3201 + 22766 14174 14176 1 3201 + 22766 14176 14178 1 3201 + 22766 14178 22754 1 3201 + 22754 14178 22745 1 3201 + 22745 14178 14180 1 3201 + 22745 14180 22737 1 3201 + 22737 14180 14182 1 3201 + 22737 14182 14184 1 3201 + 22737 14184 22732 1 3201 + 22737 22732 22736 1 3201 + 22732 14184 14186 1 3201 + 22732 14186 22731 1 3201 + 22731 14186 14188 1 3201 + 22731 14188 22738 1 3201 + 22738 14188 14190 1 3201 + 22738 14190 22746 1 3201 + 22746 14190 22755 1 3201 + 22755 14190 14192 1 3201 + 22755 14192 22767 1 3201 + 22767 14192 14194 1 3201 + 22767 14194 13183 1 3201 + 22767 13183 13185 1 3201 + 22767 13185 22768 1 3201 + 22768 13185 22769 1 3201 + 22769 13185 13187 1 3201 + 22769 13187 22757 1 3201 + 22757 13187 13189 1 3201 + 22757 13189 22758 1 3201 + 22758 13189 13191 1 3201 + 22758 13191 22759 1 3201 + 22759 13191 13193 1 3201 + 22759 13193 22770 1 3201 + 22770 13193 13195 1 3201 + 22770 13195 22771 1 3201 + 22771 13195 13197 1 3201 + 22771 13197 22772 1 3201 + 22772 13197 13199 1 3201 + 22772 13199 22778 1 3201 + 22772 22778 22773 1 3201 + 22778 13199 2613 1 3201 + 22778 2613 22779 1 3201 + 22779 2613 14202 1 3201 + 22779 14202 14199 1 3201 + 13183 14194 2612 1 3201 + 22780 22785 22786 1 3202 + 22781 22780 22786 1 3202 + 22781 22786 22787 1 3202 + 22782 22781 22787 1 3202 + 22782 22787 22788 1 3202 + 22783 22782 22788 1 3202 + 22785 22784 22789 1 3202 + 22785 22789 13227 1 3202 + 22785 13227 22786 1 3202 + 22786 13227 13230 1 3202 + 22786 13230 22787 1 3202 + 22787 13230 13233 1 3202 + 22787 13233 22788 1 3202 + 22788 13233 2622 1 3202 + 22788 2622 2625 1 3202 + 22788 2625 22783 1 3202 + 22783 2625 14210 1 3202 + 22783 14210 2874 1 3202 + 22783 2874 22782 1 3202 + 22782 2874 14198 1 3202 + 22782 14198 22781 1 3202 + 22781 14198 14201 1 3202 + 22781 14201 22780 1 3202 + 22780 14201 14204 1 3202 + 22780 14204 22785 1 3202 + 22785 14204 22784 1 3202 + 22784 14204 2615 1 3202 + 22784 2615 13201 1 3202 + 22784 13201 13223 1 3202 + 22784 13223 22789 1 3202 + 22789 13223 2619 1 3202 + 22789 2619 13227 1 3202 + 13223 13201 2616 1 3202 + 2874 14210 2873 1 3202 + 22790 22791 22792 1 3203 + 22791 22795 22796 1 3203 + 22792 22791 22796 1 3203 + 22795 22794 22797 1 3203 + 22795 22797 13250 1 3203 + 22795 13250 13252 1 3203 + 22795 13252 22796 1 3203 + 22796 13252 13254 1 3203 + 22796 13254 22792 1 3203 + 22792 13254 13256 1 3203 + 22792 13256 22793 1 3203 + 22792 22793 14223 1 3203 + 22792 14223 22790 1 3203 + 22790 14223 2870 1 3203 + 22790 2870 14163 1 3203 + 22790 14163 22791 1 3203 + 22791 14163 22794 1 3203 + 22791 22794 22795 1 3203 + 22794 14163 2871 1 3203 + 22794 2871 14215 1 3203 + 22794 14215 22797 1 3203 + 22797 14215 2627 1 3203 + 22797 2627 2628 1 3203 + 22797 2628 13250 1 3203 + 14223 22793 14228 1 3203 + 14228 22793 13258 1 3203 + 14228 13258 2878 1 3203 + 2878 13258 2881 1 3203 + 2881 13258 2631 1 3203 + 13258 22793 13256 1 3203 + 2634 2887 2884 1 3204 + 2634 2884 13264 1 3204 + 13264 2884 2633 1 3204 + 2633 2884 2882 1 3204 + 2637 2642 13276 1 3205 + 13276 2642 22798 1 3205 + 13276 22798 2636 1 3205 + 2636 22798 2888 1 3205 + 2888 22798 2890 1 3205 + 2890 22798 2893 1 3205 + 2893 22798 2896 1 3205 + 2896 22798 2642 1 3205 + 2645 2899 2897 1 3206 + 2645 2897 2644 1 3206 + 2648 2666 14281 1 3207 + 2648 14281 13302 1 3207 + 13302 14281 14278 1 3207 + 13302 14278 13298 1 3207 + 13298 14278 14275 1 3207 + 13298 14275 2900 1 3207 + 13298 2900 2647 1 3207 + 14281 2666 2672 1 3207 + 2657 2660 2656 1 3208 + 13444 2678 22799 1 3209 + 13444 22799 14283 1 3209 + 13444 14283 2674 1 3209 + 13444 2674 2675 1 3209 + 14283 22799 14280 1 3209 + 14280 22799 14286 1 3209 + 14280 14286 2894 1 3209 + 14280 2894 14277 1 3209 + 14277 2894 2898 1 3209 + 2898 2894 2895 1 3209 + 14286 22799 2678 1 3209 + 2681 2905 2680 1 3210 + 2680 2905 14288 1 3210 + 14288 2905 2902 1 3210 + 14288 2902 2892 1 3210 + 2892 2902 2891 1 3210 + 22800 22801 22802 1 3211 + 22800 22802 14322 1 3211 + 22800 14322 14320 1 3211 + 22800 14320 14318 1 3211 + 22800 14318 22801 1 3211 + 22801 14318 14316 1 3211 + 22801 14316 2908 1 3211 + 22801 2908 2906 1 3211 + 22801 2906 2683 1 3211 + 22801 2683 22802 1 3211 + 22802 2683 2684 1 3211 + 22802 2684 14322 1 3211 + 2908 14316 2911 1 3211 + 14320 14322 2914 1 3211 + 22804 22806 22807 1 3212 + 22805 22804 22807 1 3212 + 22806 22808 22809 1 3212 + 22807 22806 22809 1 3212 + 22808 22810 22811 1 3212 + 22809 22808 22811 1 3212 + 22809 22811 14376 1 3212 + 22809 14376 22807 1 3212 + 22807 14376 2929 1 3212 + 22807 2929 22805 1 3212 + 22805 2929 14361 1 3212 + 22805 14361 22803 1 3212 + 22805 22803 22804 1 3212 + 22804 22803 14328 1 3212 + 22804 14328 14325 1 3212 + 22804 14325 22806 1 3212 + 22806 14325 22808 1 3212 + 22808 14325 2915 1 3212 + 22808 2915 14323 1 3212 + 22808 14323 22810 1 3212 + 22810 14323 2686 1 3212 + 22810 2686 13470 1 3212 + 22810 13470 22811 1 3212 + 22811 13470 2687 1 3212 + 22811 2687 2932 1 3212 + 22811 2932 14376 1 3212 + 14328 22803 14331 1 3212 + 14331 22803 14355 1 3212 + 14331 14355 2917 1 3212 + 2917 14355 2926 1 3212 + 2917 2926 2923 1 3212 + 2917 2923 2920 1 3212 + 14355 22803 14361 1 3212 + 2690 2693 14402 1 3213 + 2690 14402 13482 1 3213 + 13482 14402 14397 1 3213 + 13482 14397 2689 1 3213 + 2689 14397 2933 1 3213 + 14402 2693 13517 1 3213 + 14402 13517 2696 1 3213 + 14402 2696 2699 1 3213 + 22812 22816 22817 1 3214 + 22813 22812 22817 1 3214 + 22813 22817 22818 1 3214 + 22814 22813 22818 1 3214 + 22814 22818 22819 1 3214 + 22814 22819 22820 1 3214 + 22815 22814 22820 1 3214 + 22815 22820 22821 1 3214 + 22816 22822 22823 1 3214 + 22817 22816 22823 1 3214 + 22817 22823 22824 1 3214 + 22818 22817 22824 1 3214 + 22818 22824 22825 1 3214 + 22819 22818 22825 1 3214 + 22819 22825 22826 1 3214 + 22820 22819 22826 1 3214 + 22820 22826 22827 1 3214 + 22821 22820 22827 1 3214 + 22821 22827 22828 1 3214 + 22822 22829 22830 1 3214 + 22823 22822 22830 1 3214 + 22823 22830 22831 1 3214 + 22824 22823 22831 1 3214 + 22824 22831 22832 1 3214 + 22825 22824 22832 1 3214 + 22825 22832 22833 1 3214 + 22826 22825 22833 1 3214 + 22826 22833 22834 1 3214 + 22826 22834 22835 1 3214 + 22827 22826 22835 1 3214 + 22827 22835 22836 1 3214 + 22828 22827 22836 1 3214 + 22830 22829 22837 1 3214 + 22830 22837 22838 1 3214 + 22831 22830 22838 1 3214 + 22831 22838 22839 1 3214 + 22832 22831 22839 1 3214 + 22832 22839 22840 1 3214 + 22833 22832 22840 1 3214 + 22833 22840 22841 1 3214 + 22834 22833 22841 1 3214 + 22835 22834 22841 1 3214 + 22835 22841 22842 1 3214 + 22836 22835 22842 1 3214 + 22836 22842 22843 1 3214 + 22839 22838 22844 1 3214 + 22839 22844 22845 1 3214 + 22840 22839 22845 1 3214 + 22840 22845 22846 1 3214 + 22841 22840 22846 1 3214 + 22841 22846 22847 1 3214 + 22842 22841 22847 1 3214 + 22842 22847 22848 1 3214 + 22843 22842 22848 1 3214 + 22845 22844 22849 1 3214 + 22845 22849 22850 1 3214 + 22846 22845 22850 1 3214 + 22847 22846 22850 1 3214 + 22847 22850 22851 1 3214 + 22848 22847 22851 1 3214 + 22848 22851 14431 1 3214 + 22848 14431 14428 1 3214 + 22848 14428 22843 1 3214 + 22843 14428 14425 1 3214 + 22843 14425 22836 1 3214 + 22836 14425 2938 1 3214 + 22836 2938 22828 1 3214 + 22828 2938 14422 1 3214 + 22828 14422 22821 1 3214 + 22821 14422 14420 1 3214 + 22821 14420 22815 1 3214 + 22815 14420 14418 1 3214 + 22815 14418 2935 1 3214 + 22815 2935 22814 1 3214 + 22814 2935 22813 1 3214 + 22813 2935 14414 1 3214 + 22813 14414 22812 1 3214 + 22812 14414 14411 1 3214 + 22812 14411 22816 1 3214 + 22816 14411 2930 1 3214 + 22816 2930 14382 1 3214 + 22816 14382 22822 1 3214 + 22822 14382 22829 1 3214 + 22829 14382 2931 1 3214 + 22829 2931 22837 1 3214 + 22837 2931 14401 1 3214 + 22837 14401 22844 1 3214 + 22837 22844 22838 1 3214 + 22844 14401 14406 1 3214 + 22844 14406 22849 1 3214 + 22849 14406 2701 1 3214 + 22849 2701 22850 1 3214 + 22850 2701 22851 1 3214 + 22851 2701 2702 1 3214 + 22851 2702 14431 1 3214 + 22852 22854 22855 1 3215 + 22852 22855 22856 1 3215 + 22853 22852 22856 1 3215 + 22853 22856 22857 1 3215 + 22854 22858 22859 1 3215 + 22855 22854 22859 1 3215 + 22855 22859 22860 1 3215 + 22856 22855 22860 1 3215 + 22856 22860 22861 1 3215 + 22857 22856 22861 1 3215 + 22857 22861 22862 1 3215 + 22858 22863 22864 1 3215 + 22859 22858 22864 1 3215 + 22859 22864 22865 1 3215 + 22860 22859 22865 1 3215 + 22860 22865 22866 1 3215 + 22861 22860 22866 1 3215 + 22861 22866 22867 1 3215 + 22862 22861 22867 1 3215 + 22863 22868 22869 1 3215 + 22864 22863 22869 1 3215 + 22864 22869 22870 1 3215 + 22865 22864 22870 1 3215 + 22866 22865 22870 1 3215 + 22866 22870 22871 1 3215 + 22867 22866 22871 1 3215 + 22867 22871 22872 1 3215 + 22867 22872 14459 1 3215 + 22867 14459 22862 1 3215 + 22862 14459 2944 1 3215 + 22862 2944 14449 1 3215 + 22862 14449 22857 1 3215 + 22857 14449 14445 1 3215 + 22857 14445 22853 1 3215 + 22853 14445 14441 1 3215 + 22853 14441 22852 1 3215 + 22852 14441 2941 1 3215 + 22852 2941 14437 1 3215 + 22852 14437 22854 1 3215 + 22854 14437 14435 1 3215 + 22854 14435 2939 1 3215 + 22854 2939 22858 1 3215 + 22858 2939 14427 1 3215 + 22858 14427 22863 1 3215 + 22863 14427 14430 1 3215 + 22863 14430 22868 1 3215 + 22868 14430 14433 1 3215 + 22868 14433 13540 1 3215 + 22868 13540 22869 1 3215 + 22869 13540 13545 1 3215 + 22869 13545 22870 1 3215 + 22870 13545 13550 1 3215 + 22870 13550 22871 1 3215 + 22871 13550 13555 1 3215 + 22871 13555 22872 1 3215 + 22872 13555 2705 1 3215 + 22872 2705 14459 1 3215 + 13540 14433 2704 1 3215 + 2708 2721 2707 1 3216 + 2707 2721 14464 1 3216 + 14464 2721 13602 1 3216 + 14464 13602 2722 1 3216 + 14464 2722 2945 1 3216 + 2945 2722 2947 1 3216 + 2713 2716 2710 1 3217 + 2710 2716 2719 1 3217 + 13632 2728 14492 1 3218 + 13632 14492 2950 1 3218 + 13632 2950 22873 1 3218 + 13632 22873 2725 1 3218 + 2725 22873 2724 1 3218 + 2724 22873 2948 1 3218 + 2948 22873 2950 1 3218 + 14492 2728 14497 1 3218 + 14497 2728 14547 1 3218 + 14497 14547 2953 1 3218 + 2953 14547 2956 1 3218 + 2956 14547 2965 1 3218 + 2956 2965 2959 1 3218 + 2959 2965 2962 1 3218 + 2731 2974 2730 1 3219 + 2730 2974 14572 1 3219 + 2730 14572 14554 1 3219 + 14554 14572 2971 1 3219 + 14554 2971 2966 1 3219 + 2966 2971 2968 1 3219 + 2734 2737 2733 1 3220 + 2733 2737 14599 1 3220 + 2733 14599 2975 1 3220 + 2975 14599 14582 1 3220 + 14582 14599 14596 1 3220 + 14582 14596 14586 1 3220 + 14586 14596 14593 1 3220 + 14586 14593 2983 1 3220 + 14586 2983 2977 1 3220 + 2977 2983 2980 1 3220 + 22874 22878 22879 1 3221 + 22875 22874 22879 1 3221 + 22875 22879 22880 1 3221 + 22876 22875 22880 1 3221 + 22876 22880 22881 1 3221 + 22877 22876 22881 1 3221 + 22877 22881 22882 1 3221 + 22877 22882 22883 1 3221 + 22878 22884 22885 1 3221 + 22878 22885 22886 1 3221 + 22879 22878 22886 1 3221 + 22879 22886 22887 1 3221 + 22880 22879 22887 1 3221 + 22880 22887 22888 1 3221 + 22881 22880 22888 1 3221 + 22881 22888 22889 1 3221 + 22882 22881 22889 1 3221 + 22882 22889 22890 1 3221 + 22882 22890 22891 1 3221 + 22883 22882 22891 1 3221 + 22885 22884 22892 1 3221 + 22885 22892 22893 1 3221 + 22886 22885 22893 1 3221 + 22886 22893 22894 1 3221 + 22887 22886 22894 1 3221 + 22887 22894 22895 1 3221 + 22887 22895 22896 1 3221 + 22888 22887 22896 1 3221 + 22888 22896 22897 1 3221 + 22889 22888 22897 1 3221 + 22889 22897 22898 1 3221 + 22890 22889 22898 1 3221 + 22890 22898 22899 1 3221 + 22891 22890 22899 1 3221 + 22891 22899 22900 1 3221 + 22892 22901 22902 1 3221 + 22893 22892 22902 1 3221 + 22893 22902 22903 1 3221 + 22894 22893 22903 1 3221 + 22894 22903 22904 1 3221 + 22895 22894 22904 1 3221 + 22895 22904 22905 1 3221 + 22896 22895 22905 1 3221 + 22896 22905 22906 1 3221 + 22897 22896 22906 1 3221 + 22897 22906 22907 1 3221 + 22898 22897 22907 1 3221 + 22898 22907 22908 1 3221 + 22899 22898 22908 1 3221 + 22899 22908 22909 1 3221 + 22900 22899 22909 1 3221 + 22900 22909 22910 1 3221 + 22909 22908 22911 1 3221 + 22909 22911 22912 1 3221 + 22910 22909 22912 1 3221 + 22910 22912 14621 1 3221 + 22910 14621 14617 1 3221 + 22910 14617 22900 1 3221 + 22900 14617 14613 1 3221 + 22900 14613 22891 1 3221 + 22891 14613 22883 1 3221 + 22883 14613 2986 1 3221 + 22883 2986 14609 1 3221 + 22883 14609 22877 1 3221 + 22877 14609 14607 1 3221 + 22877 14607 22876 1 3221 + 22876 14607 14605 1 3221 + 22876 14605 22875 1 3221 + 22875 14605 22874 1 3221 + 22874 14605 14603 1 3221 + 22874 14603 22878 1 3221 + 22878 14603 2984 1 3221 + 22878 2984 22884 1 3221 + 22884 2984 14595 1 3221 + 22884 14595 22892 1 3221 + 22892 14595 14598 1 3221 + 22892 14598 22901 1 3221 + 22901 14598 14601 1 3221 + 22901 14601 13665 1 3221 + 22901 13665 13667 1 3221 + 22901 13667 22902 1 3221 + 22902 13667 13669 1 3221 + 22902 13669 22903 1 3221 + 22903 13669 22904 1 3221 + 22904 13669 13671 1 3221 + 22904 13671 22905 1 3221 + 22905 13671 13673 1 3221 + 22905 13673 22906 1 3221 + 22906 13673 13675 1 3221 + 22906 13675 22907 1 3221 + 22907 13675 13677 1 3221 + 22907 13677 22908 1 3221 + 22908 13677 22911 1 3221 + 22911 13677 13679 1 3221 + 22911 13679 22912 1 3221 + 22912 13679 13681 1 3221 + 22912 13681 14621 1 3221 + 14621 13681 2740 1 3221 + 13665 14601 2739 1 3221 + 22913 22914 22915 1 3222 + 22913 22915 22916 1 3222 + 22914 22917 22918 1 3222 + 22915 22914 22918 1 3222 + 22915 22918 22919 1 3222 + 22915 22919 22920 1 3222 + 22916 22915 22920 1 3222 + 22917 22921 22922 1 3222 + 22918 22917 22922 1 3222 + 22918 22922 22923 1 3222 + 22919 22918 22923 1 3222 + 22919 22923 22924 1 3222 + 22920 22919 22924 1 3222 + 22920 22924 22925 1 3222 + 22921 22926 22927 1 3222 + 22922 22921 22927 1 3222 + 22922 22927 22928 1 3222 + 22923 22922 22928 1 3222 + 22923 22928 22929 1 3222 + 22924 22923 22929 1 3222 + 22924 22929 22930 1 3222 + 22924 22930 22931 1 3222 + 22925 22924 22931 1 3222 + 22927 22926 22932 1 3222 + 22927 22932 22933 1 3222 + 22927 22933 22934 1 3222 + 22928 22927 22934 1 3222 + 22928 22934 22935 1 3222 + 22929 22928 22935 1 3222 + 22929 22935 22936 1 3222 + 22930 22929 22936 1 3222 + 22930 22936 22937 1 3222 + 22931 22930 22937 1 3222 + 22933 22932 22938 1 3222 + 22934 22933 22938 1 3222 + 22934 22938 22939 1 3222 + 22935 22934 22939 1 3222 + 22935 22939 22940 1 3222 + 22936 22935 22940 1 3222 + 22936 22940 22941 1 3222 + 22937 22936 22941 1 3222 + 22937 22941 2995 1 3222 + 22937 2995 14654 1 3222 + 22937 14654 22931 1 3222 + 22931 14654 14649 1 3222 + 22931 14649 22925 1 3222 + 22925 14649 22920 1 3222 + 22920 14649 14644 1 3222 + 22920 14644 22916 1 3222 + 22916 14644 2992 1 3222 + 22916 2992 2989 1 3222 + 22916 2989 22913 1 3222 + 22913 2989 14631 1 3222 + 22913 14631 22914 1 3222 + 22914 14631 14628 1 3222 + 22914 14628 22917 1 3222 + 22917 14628 2987 1 3222 + 22917 2987 22921 1 3222 + 22921 2987 14616 1 3222 + 22921 14616 22926 1 3222 + 22926 14616 14620 1 3222 + 22926 14620 22932 1 3222 + 22932 14620 14624 1 3222 + 22932 14624 22938 1 3222 + 22938 14624 22942 1 3222 + 22938 22942 13711 1 3222 + 22938 13711 22939 1 3222 + 22939 13711 13716 1 3222 + 22939 13716 22940 1 3222 + 22940 13716 2752 1 3222 + 22940 2752 22941 1 3222 + 22941 2752 2995 1 3222 + 13711 22942 2751 1 3222 + 2751 22942 2743 1 3222 + 2743 22942 2742 1 3222 + 2742 22942 14624 1 3222 + 2746 2749 2745 1 3223 + 2755 2998 13725 1 3224 + 13725 2998 22944 1 3224 + 13725 22944 13723 1 3224 + 13723 22944 14668 1 3224 + 13723 14668 22943 1 3224 + 13723 22943 13721 1 3224 + 13721 22943 2754 1 3224 + 2754 22943 2996 1 3224 + 2996 22943 14668 1 3224 + 14668 22944 14672 1 3224 + 14672 22944 2998 1 3224 + 2758 2761 2757 1 3225 + 2757 2761 2767 1 3225 + 2757 2767 2999 1 3225 + 22946 22945 22947 1 3226 + 22946 22947 22948 1 3226 + 22948 22947 22950 1 3226 + 22948 22950 22951 1 3226 + 22948 22951 22952 1 3226 + 22949 22948 22952 1 3226 + 22950 22953 22954 1 3226 + 22951 22950 22954 1 3226 + 22951 22954 22955 1 3226 + 22952 22951 22955 1 3226 + 22952 22955 22956 1 3226 + 22954 22953 22957 1 3226 + 22954 22957 22958 1 3226 + 22955 22954 22958 1 3226 + 22955 22958 22959 1 3226 + 22956 22955 22959 1 3226 + 22958 22957 22960 1 3226 + 22958 22960 13795 1 3226 + 22958 13795 22959 1 3226 + 22959 13795 13800 1 3226 + 22959 13800 22956 1 3226 + 22956 13800 2770 1 3226 + 22956 2770 3004 1 3226 + 22956 3004 22952 1 3226 + 22952 3004 14694 1 3226 + 22952 14694 22949 1 3226 + 22949 14694 14692 1 3226 + 22949 14692 22948 1 3226 + 22948 14692 22946 1 3226 + 22946 14692 14690 1 3226 + 22946 14690 14688 1 3226 + 22946 14688 22945 1 3226 + 22945 14688 14648 1 3226 + 22945 14648 14653 1 3226 + 22945 14653 22947 1 3226 + 22947 14653 14658 1 3226 + 22947 14658 22950 1 3226 + 22950 14658 22953 1 3226 + 22953 14658 2994 1 3226 + 22953 2994 14671 1 3226 + 22953 14671 22957 1 3226 + 22957 14671 14675 1 3226 + 22957 14675 22960 1 3226 + 22960 14675 2997 1 3226 + 22960 2997 2769 1 3226 + 22960 2769 13795 1 3226 + 14648 14688 14686 1 3226 + 14648 14686 2993 1 3226 + 2993 14686 3001 1 3226 + 22962 22969 22970 1 3227 + 22963 22962 22970 1 3227 + 22963 22970 22971 1 3227 + 22964 22963 22971 1 3227 + 22964 22971 22972 1 3227 + 22961 22964 22972 1 3227 + 22961 22972 22965 1 3227 + 22961 22965 22966 1 3227 + 22966 22965 22974 1 3227 + 22966 22974 22975 1 3227 + 22967 22966 22975 1 3227 + 22967 22975 22976 1 3227 + 22968 22978 22979 1 3227 + 22969 22968 22979 1 3227 + 22969 22979 22980 1 3227 + 22970 22969 22980 1 3227 + 22970 22980 22981 1 3227 + 22971 22970 22981 1 3227 + 22971 22981 22982 1 3227 + 22972 22971 22982 1 3227 + 22972 22982 22983 1 3227 + 22965 22972 22983 1 3227 + 22965 22983 22973 1 3227 + 22965 22973 22974 1 3227 + 22974 22973 22985 1 3227 + 22979 22978 22986 1 3227 + 22979 22986 22987 1 3227 + 22980 22979 22987 1 3227 + 22980 22987 22988 1 3227 + 22981 22980 22988 1 3227 + 22981 22988 22989 1 3227 + 22982 22981 22989 1 3227 + 22982 22989 22990 1 3227 + 22983 22982 22990 1 3227 + 22983 22990 22991 1 3227 + 22973 22983 22991 1 3227 + 22973 22991 22984 1 3227 + 22973 22984 22985 1 3227 + 22985 22984 2779 1 3227 + 22985 2779 15623 1 3227 + 22985 15623 22975 1 3227 + 22985 22975 22974 1 3227 + 22975 15623 15621 1 3227 + 22975 15621 22976 1 3227 + 22976 15621 2787 1 3227 + 22976 2787 14714 1 3227 + 22976 14714 22967 1 3227 + 22967 14714 14712 1 3227 + 22967 14712 14710 1 3227 + 22967 14710 22966 1 3227 + 22966 14710 22961 1 3227 + 22961 14710 14708 1 3227 + 22961 14708 22964 1 3227 + 22964 14708 14706 1 3227 + 22964 14706 22963 1 3227 + 22963 14706 14704 1 3227 + 22963 14704 22962 1 3227 + 22962 14704 14702 1 3227 + 22962 14702 22968 1 3227 + 22962 22968 22969 1 3227 + 22968 14702 14700 1 3227 + 22968 14700 14698 1 3227 + 22968 14698 22977 1 3227 + 22968 22977 22978 1 3227 + 22978 22977 22986 1 3227 + 22986 22977 13809 1 3227 + 22986 13809 13813 1 3227 + 22986 13813 13817 1 3227 + 22986 13817 22987 1 3227 + 22987 13817 22988 1 3227 + 22988 13817 2773 1 3227 + 22988 2773 13823 1 3227 + 22988 13823 22989 1 3227 + 22989 13823 22990 1 3227 + 22990 13823 13826 1 3227 + 22990 13826 22991 1 3227 + 22991 13826 2776 1 3227 + 22991 2776 22984 1 3227 + 22984 2776 2779 1 3227 + 13809 22977 3005 1 3227 + 13809 3005 2772 1 3227 + 3005 22977 14698 1 3227 + 14714 2787 2788 1 3227 + 13856 2785 15622 1 3228 + 13856 15622 15624 1 3228 + 13856 15624 13837 1 3228 + 13856 13837 2782 1 3228 + 13837 15624 2781 1 3228 + 22992 22993 22994 1 3229 + 22992 22994 22995 1 3229 + 22992 22995 22996 1 3229 + 22992 22996 22997 1 3229 + 22992 22997 22998 1 3229 + 22992 22998 22993 1 3229 + 22994 22993 23000 1 3229 + 22994 23000 23001 1 3229 + 22996 22995 23002 1 3229 + 22996 23002 23003 1 3229 + 22996 23003 23004 1 3229 + 22997 22996 23004 1 3229 + 22997 23004 23005 1 3229 + 22997 23005 23006 1 3229 + 22998 22997 23006 1 3229 + 22998 23006 23007 1 3229 + 22998 23007 23008 1 3229 + 22993 22998 23008 1 3229 + 22993 23008 22999 1 3229 + 22993 22999 23000 1 3229 + 23000 22999 23010 1 3229 + 23000 23010 23011 1 3229 + 23001 23000 23011 1 3229 + 23005 23004 23012 1 3229 + 23005 23012 23013 1 3229 + 23006 23005 23013 1 3229 + 23006 23013 23014 1 3229 + 23006 23014 23015 1 3229 + 23007 23006 23015 1 3229 + 22999 23009 23010 1 3229 + 23011 23010 23016 1 3229 + 23011 23016 23017 1 3229 + 23013 23012 23018 1 3229 + 23013 23018 23019 1 3229 + 23014 23013 23019 1 3229 + 23014 23019 23020 1 3229 + 23017 23016 23021 1 3229 + 23019 23018 23022 1 3229 + 23019 23022 14699 1 3229 + 23019 14699 23020 1 3229 + 23020 14699 14701 1 3229 + 23020 14701 14703 1 3229 + 23020 14703 23014 1 3229 + 23014 14703 23015 1 3229 + 23015 14703 14705 1 3229 + 23015 14705 23007 1 3229 + 23007 14705 23008 1 3229 + 23008 14705 14707 1 3229 + 23008 14707 23009 1 3229 + 23008 23009 22999 1 3229 + 23009 14707 14709 1 3229 + 23009 14709 14711 1 3229 + 23009 14711 23010 1 3229 + 23010 14711 23016 1 3229 + 23016 14711 14713 1 3229 + 23016 14713 14715 1 3229 + 23016 14715 23021 1 3229 + 23021 14715 2790 1 3229 + 23021 2790 2791 1 3229 + 23021 2791 3007 1 3229 + 23021 3007 23017 1 3229 + 23017 3007 14734 1 3229 + 23017 14734 23011 1 3229 + 23011 14734 14729 1 3229 + 23011 14729 23001 1 3229 + 23001 14729 14724 1 3229 + 23001 14724 22994 1 3229 + 22994 14724 22995 1 3229 + 22995 14724 23002 1 3229 + 23002 14724 14719 1 3229 + 23002 14719 3002 1 3229 + 23002 3002 14687 1 3229 + 23002 14687 23003 1 3229 + 23003 14687 14689 1 3229 + 23003 14689 23004 1 3229 + 23004 14689 23012 1 3229 + 23012 14689 14691 1 3229 + 23012 14691 23018 1 3229 + 23018 14691 14693 1 3229 + 23018 14693 14695 1 3229 + 23018 14695 23022 1 3229 + 23022 14695 3003 1 3229 + 23022 3003 14699 1 3229 + 14761 3013 14753 1 3230 + 14761 14753 3008 1 3230 + 14761 3008 2794 1 3230 + 2794 3008 2793 1 3230 + 14753 3013 3010 1 3230 + 23026 23025 23028 1 3231 + 23027 23026 23028 1 3231 + 23027 23028 23029 1 3231 + 23027 23029 14813 1 3231 + 23027 14813 14811 1 3231 + 23027 14811 14809 1 3231 + 23027 14809 14807 1 3231 + 23027 14807 23026 1 3231 + 23026 14807 14805 1 3231 + 23026 14805 23024 1 3231 + 23026 23024 23025 1 3231 + 23025 23024 13893 1 3231 + 23025 13893 13899 1 3231 + 23025 13899 23028 1 3231 + 23028 13899 2797 1 3231 + 23028 2797 2800 1 3231 + 23028 2800 23029 1 3231 + 23029 2800 14813 1 3231 + 13893 23024 14801 1 3231 + 13893 14801 23023 1 3231 + 13893 23023 2796 1 3231 + 2796 23023 14766 1 3231 + 14766 23023 14799 1 3231 + 14766 14799 14797 1 3231 + 14766 14797 3014 1 3231 + 3014 14797 14795 1 3231 + 3014 14795 3016 1 3231 + 3016 14795 14793 1 3231 + 3016 14793 3019 1 3231 + 3019 14793 3022 1 3231 + 14799 23023 14801 1 3231 + 14801 23024 14803 1 3231 + 14803 23024 14805 1 3231 + 14809 14811 3025 1 3231 + 23030 23034 23035 1 3232 + 23031 23030 23035 1 3232 + 23031 23035 23036 1 3232 + 23032 23031 23036 1 3232 + 23034 23033 23038 1 3232 + 23034 23038 23039 1 3232 + 23035 23034 23039 1 3232 + 23035 23039 23040 1 3232 + 23036 23035 23040 1 3232 + 23033 23041 23037 1 3232 + 23033 23037 23038 1 3232 + 23041 23043 23044 1 3232 + 23037 23041 23044 1 3232 + 23037 23044 23042 1 3232 + 23043 23045 23046 1 3232 + 23044 23043 23046 1 3232 + 23044 23046 23047 1 3232 + 23042 23044 23047 1 3232 + 23045 23049 23050 1 3232 + 23046 23045 23050 1 3232 + 23048 23051 23052 1 3232 + 23049 23048 23052 1 3232 + 23049 23052 13921 1 3232 + 23049 13921 23050 1 3232 + 23050 13921 13924 1 3232 + 23050 13924 13927 1 3232 + 23050 13927 23047 1 3232 + 23050 23047 23046 1 3232 + 23047 13927 13930 1 3232 + 23047 13930 23042 1 3232 + 23042 13930 13933 1 3232 + 23042 13933 23038 1 3232 + 23042 23038 23037 1 3232 + 23038 13933 13936 1 3232 + 23038 13936 23039 1 3232 + 23039 13936 13939 1 3232 + 23039 13939 23040 1 3232 + 23040 13939 2806 1 3232 + 23040 2806 14859 1 3232 + 23040 14859 23036 1 3232 + 23036 14859 14843 1 3232 + 23036 14843 23032 1 3232 + 23032 14843 3031 1 3232 + 23032 3031 3028 1 3232 + 23032 3028 14834 1 3232 + 23032 14834 23031 1 3232 + 23031 14834 14831 1 3232 + 23031 14831 23030 1 3232 + 23030 14831 14828 1 3232 + 23030 14828 23034 1 3232 + 23034 14828 23033 1 3232 + 23033 14828 14825 1 3232 + 23033 14825 23041 1 3232 + 23041 14825 14822 1 3232 + 23041 14822 23043 1 3232 + 23043 14822 14819 1 3232 + 23043 14819 23045 1 3232 + 23045 14819 14816 1 3232 + 23045 14816 23048 1 3232 + 23045 23048 23049 1 3232 + 23048 14816 3026 1 3232 + 23048 3026 14812 1 3232 + 23048 14812 23051 1 3232 + 23051 14812 14814 1 3232 + 23051 14814 13917 1 3232 + 23051 13917 23052 1 3232 + 23052 13917 2803 1 3232 + 23052 2803 13921 1 3232 + 13917 14814 2802 1 3232 + 14843 14859 3034 1 3232 + 23054 23055 23056 1 3233 + 23056 23055 23058 1 3233 + 23056 23058 23059 1 3233 + 23055 23057 23058 1 3233 + 23058 23057 23061 1 3233 + 23058 23061 23062 1 3233 + 23059 23058 23062 1 3233 + 23057 23060 23061 1 3233 + 23061 23060 13956 1 3233 + 23061 13956 23062 1 3233 + 23062 13956 2812 1 3233 + 23062 2812 2815 1 3233 + 23062 2815 14895 1 3233 + 23062 14895 23059 1 3233 + 23059 14895 14890 1 3233 + 23059 14890 23056 1 3233 + 23056 14890 23054 1 3233 + 23054 14890 3040 1 3233 + 23054 3040 23053 1 3233 + 23054 23053 14864 1 3233 + 23054 14864 2808 1 3233 + 23054 2808 23055 1 3233 + 23055 2808 13946 1 3233 + 23055 13946 23057 1 3233 + 23057 13946 13950 1 3233 + 23057 13950 23060 1 3233 + 23060 13950 2809 1 3233 + 23060 2809 13956 1 3233 + 14864 23053 3035 1 3233 + 3035 23053 3037 1 3233 + 3037 23053 3040 1 3233 + 23064 23063 23066 1 3234 + 23064 23066 23067 1 3234 + 23063 23065 23066 1 3234 + 23066 23065 23069 1 3234 + 23066 23069 23070 1 3234 + 23067 23066 23070 1 3234 + 23065 23068 23069 1 3234 + 23069 23068 23071 1 3234 + 23069 23071 23070 1 3234 + 23070 23071 2824 1 3234 + 23070 2824 14000 1 3234 + 23070 14000 23067 1 3234 + 23067 14000 2827 1 3234 + 23067 2827 14909 1 3234 + 23067 14909 23064 1 3234 + 23064 14909 14907 1 3234 + 23064 14907 23063 1 3234 + 23063 14907 14905 1 3234 + 23063 14905 14903 1 3234 + 23063 14903 14894 1 3234 + 23063 14894 23065 1 3234 + 23065 14894 14899 1 3234 + 23065 14899 23068 1 3234 + 23068 14899 2817 1 3234 + 23068 2817 23071 1 3234 + 23071 2817 2818 1 3234 + 23071 2818 2824 1 3234 + 14894 14903 3041 1 3234 + 14909 2827 3043 1 3234 + 23072 23073 23074 1 3235 + 23072 23075 23076 1 3235 + 23072 23076 23073 1 3235 + 23074 23073 23078 1 3235 + 23074 23078 23079 1 3235 + 23075 23080 23081 1 3235 + 23076 23075 23081 1 3235 + 23076 23081 23082 1 3235 + 23076 23082 23083 1 3235 + 23073 23076 23083 1 3235 + 23073 23083 23077 1 3235 + 23073 23077 23078 1 3235 + 23078 23077 23085 1 3235 + 23078 23085 23086 1 3235 + 23079 23078 23086 1 3235 + 23081 23080 23087 1 3235 + 23081 23087 23088 1 3235 + 23081 23088 23089 1 3235 + 23082 23081 23089 1 3235 + 23082 23089 23090 1 3235 + 23083 23082 23090 1 3235 + 23083 23090 23091 1 3235 + 23077 23083 23091 1 3235 + 23077 23091 23084 1 3235 + 23077 23084 23085 1 3235 + 23085 23084 23093 1 3235 + 23085 23093 23094 1 3235 + 23086 23085 23094 1 3235 + 23086 23094 23095 1 3235 + 23088 23087 23096 1 3235 + 23088 23096 23097 1 3235 + 23089 23088 23097 1 3235 + 23089 23097 23098 1 3235 + 23090 23089 23098 1 3235 + 23090 23098 23099 1 3235 + 23091 23090 23099 1 3235 + 23091 23099 23100 1 3235 + 23084 23091 23100 1 3235 + 23084 23100 23092 1 3235 + 23084 23092 23093 1 3235 + 23093 23092 23102 1 3235 + 23093 23102 23103 1 3235 + 23094 23093 23103 1 3235 + 23094 23103 23104 1 3235 + 23095 23094 23104 1 3235 + 23097 23096 23105 1 3235 + 23097 23105 23106 1 3235 + 23098 23097 23106 1 3235 + 23098 23106 23107 1 3235 + 23099 23098 23107 1 3235 + 23099 23107 23108 1 3235 + 23100 23099 23108 1 3235 + 23100 23108 23109 1 3235 + 23092 23100 23109 1 3235 + 23092 23109 23101 1 3235 + 23092 23101 23102 1 3235 + 23102 23101 23110 1 3235 + 23102 23110 23111 1 3235 + 23103 23102 23111 1 3235 + 23103 23111 23112 1 3235 + 23104 23103 23112 1 3235 + 23107 23106 23113 1 3235 + 23107 23113 23114 1 3235 + 23108 23107 23114 1 3235 + 23108 23114 23115 1 3235 + 23109 23108 23115 1 3235 + 23110 23109 23115 1 3235 + 23101 23109 23110 1 3235 + 23111 23110 23116 1 3235 + 23111 23116 23117 1 3235 + 23112 23111 23117 1 3235 + 23115 23114 23118 1 3235 + 23116 23115 23118 1 3235 + 23110 23115 23116 1 3235 + 23116 23118 14018 1 3235 + 23116 14018 14022 1 3235 + 23116 14022 23117 1 3235 + 23117 14022 2830 1 3235 + 23117 2830 14936 1 3235 + 23117 14936 23112 1 3235 + 23112 14936 14934 1 3235 + 23112 14934 23104 1 3235 + 23104 14934 14932 1 3235 + 23104 14932 14930 1 3235 + 23104 14930 23095 1 3235 + 23095 14930 14928 1 3235 + 23095 14928 23086 1 3235 + 23086 14928 23079 1 3235 + 23079 14928 14926 1 3235 + 23079 14926 14924 1 3235 + 23079 14924 23074 1 3235 + 23074 14924 14922 1 3235 + 23074 14922 23072 1 3235 + 23072 14922 14920 1 3235 + 23072 14920 23075 1 3235 + 23075 14920 14918 1 3235 + 23075 14918 23080 1 3235 + 23080 14918 14916 1 3235 + 23080 14916 23087 1 3235 + 23087 14916 3053 1 3235 + 23087 3053 14912 1 3235 + 23087 14912 23096 1 3235 + 23096 14912 3050 1 3235 + 23096 3050 23105 1 3235 + 23105 3050 3044 1 3235 + 23105 3044 2829 1 3235 + 23105 2829 23106 1 3235 + 23106 2829 23113 1 3235 + 23113 2829 14010 1 3235 + 23113 14010 14014 1 3235 + 23113 14014 23114 1 3235 + 23114 14014 23118 1 3235 + 23118 14014 14018 1 3235 + 23119 23122 23123 1 3236 + 23119 23123 23124 1 3236 + 23120 23119 23124 1 3236 + 23120 23124 23125 1 3236 + 23120 23125 23126 1 3236 + 23122 23121 23127 1 3236 + 23122 23127 23128 1 3236 + 23122 23128 23129 1 3236 + 23123 23122 23129 1 3236 + 23123 23129 23130 1 3236 + 23124 23123 23130 1 3236 + 23124 23130 23131 1 3236 + 23125 23124 23131 1 3236 + 23125 23131 23132 1 3236 + 23127 23133 23134 1 3236 + 23128 23127 23134 1 3236 + 23128 23134 23135 1 3236 + 23132 23131 23136 1 3236 + 23134 23133 23137 1 3236 + 23134 23137 14969 1 3236 + 23134 14969 23135 1 3236 + 23135 14969 3059 1 3236 + 23135 3059 23129 1 3236 + 23135 23129 23128 1 3236 + 23129 3059 14956 1 3236 + 23129 14956 23130 1 3236 + 23130 14956 14950 1 3236 + 23130 14950 23131 1 3236 + 23131 14950 23136 1 3236 + 23136 14950 3056 1 3236 + 23136 3056 14944 1 3236 + 23136 14944 23132 1 3236 + 23132 14944 14942 1 3236 + 23132 14942 14940 1 3236 + 23132 14940 23126 1 3236 + 23132 23126 23125 1 3236 + 23126 14940 14938 1 3236 + 23126 14938 14917 1 3236 + 23126 14917 14919 1 3236 + 23126 14919 23120 1 3236 + 23120 14919 14921 1 3236 + 23120 14921 14923 1 3236 + 23120 14923 23119 1 3236 + 23119 14923 14925 1 3236 + 23119 14925 23122 1 3236 + 23122 14925 23121 1 3236 + 23121 14925 14927 1 3236 + 23121 14927 23127 1 3236 + 23127 14927 14929 1 3236 + 23127 14929 23133 1 3236 + 23133 14929 14931 1 3236 + 23133 14931 23137 1 3236 + 23137 14931 23138 1 3236 + 23137 23138 14974 1 3236 + 23137 14974 14969 1 3236 + 14974 23138 14979 1 3236 + 14979 23138 14935 1 3236 + 14979 14935 14984 1 3236 + 14984 14935 23139 1 3236 + 14984 23139 2833 1 3236 + 2833 23139 2832 1 3236 + 2832 23139 14937 1 3236 + 14937 23139 14935 1 3236 + 14935 23138 14933 1 3236 + 14933 23138 14931 1 3236 + 14917 14938 3054 1 3236 + 23141 23140 23143 1 3237 + 23141 23143 23144 1 3237 + 23140 23142 23143 1 3237 + 23143 23142 23146 1 3237 + 23143 23146 23147 1 3237 + 23144 23143 23147 1 3237 + 23144 23147 23148 1 3237 + 23142 23145 23146 1 3237 + 23146 23145 23150 1 3237 + 23146 23150 23151 1 3237 + 23147 23146 23151 1 3237 + 23147 23151 23152 1 3237 + 23148 23147 23152 1 3237 + 23148 23152 23153 1 3237 + 23145 23149 23150 1 3237 + 23150 23149 23155 1 3237 + 23150 23155 23156 1 3237 + 23151 23150 23156 1 3237 + 23151 23156 23157 1 3237 + 23152 23151 23157 1 3237 + 23149 23158 23154 1 3237 + 23149 23154 23155 1 3237 + 23155 23154 23159 1 3237 + 23155 23159 23160 1 3237 + 23156 23155 23160 1 3237 + 23156 23160 23161 1 3237 + 23157 23156 23161 1 3237 + 23159 23158 23162 1 3237 + 23154 23158 23159 1 3237 + 23160 23159 23163 1 3237 + 23160 23163 23164 1 3237 + 23161 23160 23164 1 3237 + 23163 23162 23165 1 3237 + 23159 23162 23163 1 3237 + 23164 23163 23166 1 3237 + 23166 23165 23167 1 3237 + 23163 23165 23166 1 3237 + 23166 23167 14075 1 3237 + 23166 14075 14078 1 3237 + 23166 14078 23164 1 3237 + 23164 14078 2853 1 3237 + 23164 2853 23161 1 3237 + 23161 2853 14109 1 3237 + 23161 14109 23157 1 3237 + 23157 14109 2859 1 3237 + 23157 2859 23153 1 3237 + 23157 23153 23152 1 3237 + 23153 2859 14999 1 3237 + 23153 14999 23148 1 3237 + 23148 14999 14997 1 3237 + 23148 14997 23144 1 3237 + 23144 14997 3062 1 3237 + 23144 3062 23141 1 3237 + 23141 3062 14993 1 3237 + 23141 14993 23140 1 3237 + 23140 14993 3060 1 3237 + 23140 3060 14973 1 3237 + 23140 14973 23142 1 3237 + 23142 14973 14978 1 3237 + 23142 14978 23145 1 3237 + 23145 14978 14983 1 3237 + 23145 14983 23149 1 3237 + 23149 14983 23158 1 3237 + 23158 14983 14988 1 3237 + 23158 14988 23162 1 3237 + 23162 14988 2835 1 3237 + 23162 2835 23165 1 3237 + 23165 2835 2836 1 3237 + 23165 2836 23167 1 3237 + 23167 2836 2841 1 3237 + 23167 2841 2852 1 3237 + 23167 2852 14075 1 3237 + 2844 2847 2850 1 3238 + 2844 2850 2843 1 3238 + 23168 23169 23170 1 3239 + 23168 23170 15005 1 3239 + 23168 15005 15003 1 3239 + 23168 15003 15001 1 3239 + 23168 15001 14998 1 3239 + 23168 14998 15000 1 3239 + 23168 15000 23169 1 3239 + 23169 15000 2861 1 3239 + 23169 2861 2862 1 3239 + 23169 2862 23170 1 3239 + 23170 2862 15007 1 3239 + 23170 15007 15005 1 3239 + 15005 15007 3065 1 3239 + 14998 15001 3063 1 3239 + 23172 23171 23174 1 3240 + 23172 23174 23175 1 3240 + 23173 23172 23175 1 3240 + 23173 23175 3071 1 3240 + 23173 3071 3068 1 3240 + 23173 3068 15013 1 3240 + 23173 15013 15010 1 3240 + 23173 15010 23172 1 3240 + 23172 15010 23171 1 3240 + 23171 15010 3066 1 3240 + 23171 3066 14130 1 3240 + 23171 14130 14135 1 3240 + 23171 14135 23174 1 3240 + 23174 14135 14140 1 3240 + 23174 14140 15018 1 3240 + 23174 15018 23175 1 3240 + 23175 15018 3071 1 3240 + 15018 14140 2865 1 3240 + 14130 3066 15008 1 3240 + 14130 15008 2864 1 3240 + 23177 23176 23178 1 3241 + 23177 23178 3080 1 3241 + 23177 3080 3077 1 3241 + 23177 3077 15022 1 3241 + 23177 15022 3072 1 3241 + 23177 3072 23176 1 3241 + 23176 3072 15020 1 3241 + 23176 15020 14227 1 3241 + 23176 14227 14232 1 3241 + 23176 14232 23178 1 3241 + 23178 14232 2877 1 3241 + 23178 2877 3080 1 3241 + 14227 15020 2867 1 3241 + 14227 2867 2868 1 3241 + 15022 3077 3074 1 3241 + 2880 2883 15036 1 3242 + 2880 15036 15033 1 3242 + 2880 15033 2879 1 3242 + 2879 15033 3081 1 3242 + 3081 15033 3083 1 3242 + 2886 2889 23182 1 3243 + 2886 23182 2885 1 3243 + 2885 23182 23181 1 3243 + 2885 23181 15038 1 3243 + 15038 23181 23180 1 3243 + 15038 23180 15035 1 3243 + 15035 23180 23179 1 3243 + 15035 23179 3084 1 3243 + 3084 23179 15052 1 3243 + 3084 15052 3086 1 3243 + 3086 15052 3089 1 3243 + 15052 23179 15056 1 3243 + 15056 23179 23180 1 3243 + 15056 23180 15060 1 3243 + 15060 23180 23181 1 3243 + 15060 23181 2910 1 3243 + 2910 23181 23182 1 3243 + 2910 23182 2909 1 3243 + 2909 23182 2889 1 3243 + 2909 2889 2901 1 3243 + 2904 2907 2903 1 3244 + 23183 23186 23187 1 3245 + 23183 23187 23188 1 3245 + 23184 23183 23188 1 3245 + 23184 23188 23189 1 3245 + 23184 23189 23190 1 3245 + 23186 23185 23192 1 3245 + 23186 23192 23193 1 3245 + 23186 23193 23194 1 3245 + 23187 23186 23194 1 3245 + 23187 23194 23195 1 3245 + 23188 23187 23195 1 3245 + 23188 23195 23196 1 3245 + 23189 23188 23196 1 3245 + 23189 23196 23197 1 3245 + 23189 23197 23198 1 3245 + 23190 23189 23198 1 3245 + 23193 23192 23199 1 3245 + 23193 23199 23200 1 3245 + 23194 23193 23200 1 3245 + 23194 23200 23201 1 3245 + 23194 23201 23202 1 3245 + 23195 23194 23202 1 3245 + 23195 23202 23203 1 3245 + 23196 23195 23203 1 3245 + 23196 23203 23204 1 3245 + 23197 23196 23204 1 3245 + 23201 23200 23205 1 3245 + 23201 23205 23206 1 3245 + 23202 23201 23206 1 3245 + 23202 23206 23207 1 3245 + 23203 23202 23207 1 3245 + 23203 23207 23208 1 3245 + 23204 23203 23208 1 3245 + 23204 23208 23209 1 3245 + 23206 23205 23210 1 3245 + 23206 23210 23211 1 3245 + 23207 23206 23211 1 3245 + 23207 23211 23208 1 3245 + 23208 23211 14321 1 3245 + 23208 14321 2913 1 3245 + 23208 2913 23209 1 3245 + 23209 2913 14327 1 3245 + 23209 14327 23204 1 3245 + 23204 14327 14330 1 3245 + 23204 14330 23197 1 3245 + 23197 14330 23198 1 3245 + 23198 14330 14333 1 3245 + 23198 14333 23190 1 3245 + 23190 14333 23191 1 3245 + 23190 23191 23184 1 3245 + 23184 23191 15084 1 3245 + 23184 15084 23183 1 3245 + 23183 15084 15078 1 3245 + 23183 15078 23186 1 3245 + 23186 15078 23185 1 3245 + 23185 15078 3092 1 3245 + 23185 3092 3090 1 3245 + 23185 3090 23192 1 3245 + 23192 3090 15055 1 3245 + 23192 15055 23199 1 3245 + 23199 15055 15059 1 3245 + 23199 15059 23200 1 3245 + 23200 15059 23205 1 3245 + 23205 15059 15063 1 3245 + 23205 15063 23210 1 3245 + 23210 15063 2912 1 3245 + 23210 2912 14317 1 3245 + 23210 14317 23211 1 3245 + 23211 14317 14319 1 3245 + 23211 14319 14321 1 3245 + 15084 23191 15090 1 3245 + 15090 23191 2916 1 3245 + 15090 2916 3095 1 3245 + 3095 2916 3098 1 3245 + 2916 23191 14333 1 3245 + 2919 3101 3099 1 3246 + 2919 3099 2918 1 3246 + 15138 3110 3107 1 3247 + 15138 3107 3104 1 3247 + 15138 3104 2921 1 3247 + 15138 2921 2922 1 3247 + 2921 3104 3102 1 3247 + 23212 23213 23214 1 3248 + 23212 23214 23215 1 3248 + 23212 23215 23216 1 3248 + 23213 23217 23218 1 3248 + 23213 23218 23219 1 3248 + 23214 23213 23219 1 3248 + 23214 23219 23220 1 3248 + 23214 23220 23221 1 3248 + 23215 23214 23221 1 3248 + 23215 23221 23222 1 3248 + 23215 23222 23223 1 3248 + 23216 23215 23223 1 3248 + 23221 23220 23224 1 3248 + 23221 23224 23225 1 3248 + 23222 23221 23225 1 3248 + 23222 23225 23226 1 3248 + 23223 23222 23226 1 3248 + 23223 23226 23227 1 3248 + 23225 23224 23228 1 3248 + 23225 23228 23229 1 3248 + 23226 23225 23229 1 3248 + 23226 23229 23230 1 3248 + 23227 23226 23230 1 3248 + 23227 23230 23231 1 3248 + 23230 23229 23232 1 3248 + 23230 23232 23233 1 3248 + 23231 23230 23233 1 3248 + 23231 23233 23234 1 3248 + 23234 23233 23235 1 3248 + 23234 23235 23236 1 3248 + 23234 23236 15159 1 3248 + 23234 15159 15156 1 3248 + 23234 15156 23231 1 3248 + 23231 15156 15153 1 3248 + 23231 15153 23227 1 3248 + 23227 15153 15150 1 3248 + 23227 15150 23223 1 3248 + 23223 15150 23216 1 3248 + 23216 15150 15147 1 3248 + 23216 15147 15144 1 3248 + 23216 15144 23212 1 3248 + 23212 15144 15141 1 3248 + 23212 15141 23213 1 3248 + 23213 15141 23217 1 3248 + 23217 15141 3111 1 3248 + 23217 3111 15139 1 3248 + 23217 15139 15613 1 3248 + 23217 15613 23218 1 3248 + 23218 15613 15611 1 3248 + 23218 15611 23219 1 3248 + 23219 15611 15609 1 3248 + 23219 15609 23220 1 3248 + 23220 15609 15607 1 3248 + 23220 15607 23224 1 3248 + 23224 15607 15605 1 3248 + 23224 15605 23228 1 3248 + 23228 15605 3211 1 3248 + 23228 3211 2942 1 3248 + 23228 2942 23229 1 3248 + 23229 2942 23232 1 3248 + 23232 2942 14444 1 3248 + 23232 14444 14448 1 3248 + 23232 14448 23233 1 3248 + 23233 14448 23235 1 3248 + 23235 14448 14452 1 3248 + 23235 14452 23236 1 3248 + 23236 14452 2946 1 3248 + 23236 2946 2949 1 3248 + 23236 2949 15159 1 3248 + 2946 14452 2943 1 3248 + 15613 15139 2924 1 3248 + 15613 2924 2925 1 3248 + 23238 23237 23240 1 3249 + 23238 23240 14416 1 3249 + 23238 14416 23239 1 3249 + 23238 23239 15610 1 3249 + 23238 15610 23237 1 3249 + 23237 15610 15612 1 3249 + 23237 15612 15614 1 3249 + 23237 15614 14360 1 3249 + 23237 14360 14366 1 3249 + 23237 14366 23240 1 3249 + 23240 14366 14413 1 3249 + 23240 14413 14416 1 3249 + 14413 14366 2928 1 3249 + 14360 15614 2927 1 3249 + 15610 23239 15608 1 3249 + 15608 23239 15606 1 3249 + 15606 23239 15615 1 3249 + 15606 15615 3212 1 3249 + 15615 23239 2934 1 3249 + 2934 23239 14416 1 3249 + 23242 23241 23243 1 3250 + 23242 23243 14438 1 3250 + 23242 14438 2940 1 3250 + 23242 2940 3210 1 3250 + 23242 3210 23241 1 3250 + 23241 3210 15616 1 3250 + 23241 15616 14419 1 3250 + 23241 14419 14421 1 3250 + 23241 14421 23243 1 3250 + 23243 14421 14423 1 3250 + 23243 14423 14436 1 3250 + 23243 14436 14438 1 3250 + 14436 14423 2937 1 3250 + 14419 15616 2936 1 3250 + 23245 23246 23247 1 3251 + 23247 23246 23248 1 3251 + 23247 23248 23249 1 3251 + 23247 23249 3116 1 3251 + 23247 3116 23245 1 3251 + 23245 3116 3113 1 3251 + 23245 3113 15169 1 3251 + 23245 15169 23244 1 3251 + 23245 23244 15149 1 3251 + 23245 15149 23246 1 3251 + 23246 15149 15152 1 3251 + 23246 15152 23248 1 3251 + 23248 15152 15155 1 3251 + 23248 15155 23250 1 3251 + 23248 23250 23249 1 3251 + 23249 23250 3121 1 3251 + 23249 3121 3116 1 3251 + 3121 23250 14501 1 3251 + 3121 14501 2952 1 3251 + 14501 23250 23251 1 3251 + 14501 23251 14496 1 3251 + 14496 23251 15161 1 3251 + 14496 15161 2951 1 3251 + 15161 23251 15158 1 3251 + 15158 23251 23250 1 3251 + 15158 23250 15155 1 3251 + 15149 23244 15146 1 3251 + 15146 23244 15143 1 3251 + 15143 23244 15165 1 3251 + 15143 15165 3109 1 3251 + 3109 15165 3108 1 3251 + 15165 23244 15169 1 3251 + 2955 3129 2954 1 3252 + 2954 3129 3124 1 3252 + 2954 3124 3122 1 3252 + 2958 3132 2957 1 3253 + 2957 3132 3130 1 3253 + 2961 3137 3133 1 3254 + 2961 3133 2960 1 3254 + 2964 2967 2963 1 3255 + 2963 2967 3138 1 3255 + 2970 3140 3125 1 3256 + 2970 3125 3128 1 3256 + 2970 3128 2969 1 3256 + 2969 3128 3131 1 3256 + 2969 3131 3136 1 3256 + 23252 23255 23256 1 3257 + 23256 23255 23258 1 3257 + 23256 23258 23259 1 3257 + 23259 23258 23260 1 3257 + 23259 23260 15585 1 3257 + 23259 15585 3205 1 3257 + 23259 3205 23256 1 3257 + 23256 3205 15578 1 3257 + 23256 15578 23252 1 3257 + 23252 15578 23253 1 3257 + 23252 23253 15257 1 3257 + 23252 15257 15254 1 3257 + 23252 15254 23255 1 3257 + 23255 15254 3143 1 3257 + 23255 3143 15247 1 3257 + 23255 15247 23258 1 3257 + 23258 15247 23260 1 3257 + 23260 15247 15243 1 3257 + 23260 15243 23261 1 3257 + 23260 23261 2976 1 3257 + 23260 2976 15585 1 3257 + 2976 23261 14589 1 3257 + 14589 23261 23262 1 3257 + 14589 23262 14585 1 3257 + 14585 23262 23263 1 3257 + 14585 23263 2973 1 3257 + 2973 23263 15231 1 3257 + 2973 15231 14574 1 3257 + 14574 15231 3141 1 3257 + 14574 3141 2972 1 3257 + 15231 23263 15235 1 3257 + 15235 23263 15239 1 3257 + 15239 23263 23262 1 3257 + 15239 23262 23261 1 3257 + 15239 23261 15243 1 3257 + 15257 23253 23254 1 3257 + 15257 23254 3146 1 3257 + 3146 23254 23257 1 3257 + 3146 23257 3149 1 3257 + 3149 23257 3015 1 3257 + 3015 23257 3011 1 3257 + 3015 3011 3012 1 3257 + 3011 23257 15570 1 3257 + 15570 23257 15574 1 3257 + 15574 23257 23254 1 3257 + 15574 23254 23253 1 3257 + 15574 23253 15578 1 3257 + 2979 3208 15587 1 3258 + 2979 15587 2978 1 3258 + 15587 3208 3206 1 3258 + 23265 23267 23268 1 3259 + 23265 23268 15597 1 3259 + 23265 15597 15593 1 3259 + 23265 15593 23264 1 3259 + 23265 23264 14608 1 3259 + 23265 14608 23267 1 3259 + 23267 14608 14610 1 3259 + 23267 14610 14630 1 3259 + 23267 14630 23268 1 3259 + 23268 14630 14633 1 3259 + 23268 14633 15597 1 3259 + 15597 14633 2988 1 3259 + 14630 14610 2985 1 3259 + 14608 23264 23266 1 3259 + 14608 23266 14606 1 3259 + 14606 23266 14604 1 3259 + 14604 23266 3209 1 3259 + 14604 3209 2981 1 3259 + 14604 2981 2982 1 3259 + 3209 23266 23264 1 3259 + 3209 23264 15593 1 3259 + 23269 23270 23271 1 3260 + 23269 23271 23272 1 3260 + 23269 23272 23273 1 3260 + 23269 23273 23274 1 3260 + 23269 23274 23275 1 3260 + 23269 23275 23270 1 3260 + 23272 23277 23278 1 3260 + 23273 23272 23278 1 3260 + 23273 23278 23279 1 3260 + 23273 23279 23280 1 3260 + 23274 23273 23280 1 3260 + 23274 23280 23281 1 3260 + 23274 23281 23282 1 3260 + 23275 23274 23282 1 3260 + 23275 23282 23283 1 3260 + 23275 23283 23284 1 3260 + 23270 23275 23284 1 3260 + 23270 23284 23276 1 3260 + 23281 23280 23285 1 3260 + 23281 23285 23286 1 3260 + 23282 23281 23286 1 3260 + 23276 23284 23287 1 3260 + 23276 23287 3009 1 3260 + 23276 3009 15573 1 3260 + 23276 15573 23270 1 3260 + 23270 15573 15577 1 3260 + 23270 15577 23271 1 3260 + 23271 15577 15581 1 3260 + 23271 15581 23272 1 3260 + 23272 15581 23277 1 3260 + 23277 15581 3204 1 3260 + 23277 3204 3207 1 3260 + 23277 3207 23278 1 3260 + 23278 3207 15596 1 3260 + 23278 15596 23279 1 3260 + 23279 15596 15600 1 3260 + 23279 15600 23280 1 3260 + 23280 15600 2990 1 3260 + 23280 2990 23285 1 3260 + 23285 2990 2991 1 3260 + 23285 2991 23286 1 3260 + 23286 2991 3000 1 3260 + 23286 3000 14723 1 3260 + 23286 14723 23282 1 3260 + 23282 14723 14728 1 3260 + 23282 14728 23283 1 3260 + 23283 14728 14733 1 3260 + 23283 14733 23284 1 3260 + 23284 14733 23287 1 3260 + 23287 14733 14738 1 3260 + 23287 14738 14755 1 3260 + 23287 14755 3009 1 3260 + 14755 14738 3006 1 3260 + 3018 3150 3017 1 3261 + 23288 23289 23290 1 3262 + 23288 23290 23291 1 3262 + 23288 23291 23292 1 3262 + 23288 23292 23293 1 3262 + 23288 23293 23294 1 3262 + 23288 23294 23289 1 3262 + 23290 23289 23296 1 3262 + 23290 23296 23297 1 3262 + 23290 23297 23298 1 3262 + 23291 23290 23298 1 3262 + 23291 23298 23299 1 3262 + 23291 23299 23300 1 3262 + 23292 23291 23300 1 3262 + 23293 23292 23301 1 3262 + 23293 23301 23302 1 3262 + 23293 23302 23303 1 3262 + 23294 23293 23303 1 3262 + 23294 23303 23304 1 3262 + 23294 23304 23305 1 3262 + 23289 23294 23305 1 3262 + 23289 23305 23295 1 3262 + 23289 23295 23296 1 3262 + 23296 23295 23307 1 3262 + 23303 23302 23308 1 3262 + 23303 23308 23309 1 3262 + 23295 23305 23310 1 3262 + 23295 23310 23306 1 3262 + 23295 23306 23307 1 3262 + 23307 23306 23312 1 3262 + 23306 23311 23312 1 3262 + 23312 23311 3033 1 3262 + 23312 3033 3036 1 3262 + 23312 3036 15293 1 3262 + 23312 15293 23307 1 3262 + 23307 15293 15288 1 3262 + 23307 15288 23296 1 3262 + 23296 15288 23297 1 3262 + 23297 15288 15283 1 3262 + 23297 15283 23298 1 3262 + 23298 15283 3155 1 3262 + 23298 3155 23299 1 3262 + 23299 3155 15276 1 3262 + 23299 15276 23300 1 3262 + 23300 15276 3152 1 3262 + 23300 3152 15273 1 3262 + 23300 15273 23292 1 3262 + 23292 15273 23301 1 3262 + 23301 15273 15271 1 3262 + 23301 15271 15269 1 3262 + 23301 15269 23302 1 3262 + 23302 15269 23308 1 3262 + 23308 15269 3147 1 3262 + 23308 3147 3148 1 3262 + 23308 3148 23309 1 3262 + 23309 3148 3021 1 3262 + 23309 3021 15556 1 3262 + 23309 15556 23304 1 3262 + 23309 23304 23303 1 3262 + 23304 15556 23305 1 3262 + 23305 15556 23310 1 3262 + 23310 15556 3202 1 3262 + 23310 3202 3032 1 3262 + 23310 3032 23311 1 3262 + 23310 23311 23306 1 3262 + 23311 3032 14849 1 3262 + 23311 14849 3033 1 3262 + 3021 3148 3020 1 3262 + 23313 23314 23315 1 3263 + 23313 23315 23316 1 3263 + 23313 23316 23317 1 3263 + 23313 23317 23318 1 3263 + 23313 23318 23319 1 3263 + 23313 23319 23314 1 3263 + 23315 23314 23321 1 3263 + 23315 23321 23322 1 3263 + 23315 23322 23323 1 3263 + 23316 23315 23323 1 3263 + 23316 23323 23324 1 3263 + 23316 23324 23325 1 3263 + 23317 23316 23325 1 3263 + 23317 23325 23326 1 3263 + 23317 23326 23327 1 3263 + 23318 23317 23327 1 3263 + 23318 23327 23328 1 3263 + 23318 23328 23329 1 3263 + 23319 23318 23329 1 3263 + 23319 23329 23330 1 3263 + 23319 23330 23331 1 3263 + 23314 23319 23331 1 3263 + 23314 23331 23320 1 3263 + 23314 23320 23321 1 3263 + 23321 23320 23333 1 3263 + 23321 23333 23334 1 3263 + 23322 23321 23334 1 3263 + 23326 23325 23336 1 3263 + 23326 23336 23337 1 3263 + 23326 23337 23338 1 3263 + 23327 23326 23338 1 3263 + 23327 23338 23339 1 3263 + 23328 23327 23339 1 3263 + 23328 23339 23340 1 3263 + 23329 23328 23340 1 3263 + 23329 23340 23341 1 3263 + 23329 23341 23342 1 3263 + 23330 23329 23342 1 3263 + 23330 23342 23343 1 3263 + 23331 23330 23343 1 3263 + 23331 23343 23344 1 3263 + 23320 23331 23344 1 3263 + 23320 23344 23332 1 3263 + 23320 23332 23333 1 3263 + 23338 23337 23346 1 3263 + 23338 23346 23347 1 3263 + 23339 23338 23347 1 3263 + 23339 23347 23348 1 3263 + 23340 23339 23348 1 3263 + 23340 23348 23349 1 3263 + 23340 23349 23350 1 3263 + 23341 23340 23350 1 3263 + 23341 23350 23351 1 3263 + 23342 23341 23351 1 3263 + 23342 23351 23352 1 3263 + 23343 23342 23352 1 3263 + 23343 23352 23353 1 3263 + 23344 23343 23353 1 3263 + 23344 23353 23354 1 3263 + 23332 23344 23354 1 3263 + 23332 23354 23345 1 3263 + 23348 23347 23355 1 3263 + 23348 23355 23356 1 3263 + 23349 23348 23356 1 3263 + 23349 23356 23357 1 3263 + 23350 23349 23357 1 3263 + 23350 23357 23358 1 3263 + 23351 23350 23358 1 3263 + 23351 23358 23359 1 3263 + 23352 23351 23359 1 3263 + 23352 23359 23360 1 3263 + 23353 23352 23360 1 3263 + 23353 23360 23361 1 3263 + 23354 23353 23361 1 3263 + 23354 23361 23362 1 3263 + 23345 23354 23362 1 3263 + 23357 23356 23363 1 3263 + 23357 23363 23364 1 3263 + 23358 23357 23364 1 3263 + 23358 23364 23365 1 3263 + 23359 23358 23365 1 3263 + 23359 23365 23366 1 3263 + 23360 23359 23366 1 3263 + 23360 23366 23367 1 3263 + 23361 23360 23367 1 3263 + 23361 23367 14818 1 3263 + 23361 14818 23362 1 3263 + 23362 14818 14821 1 3263 + 23362 14821 14824 1 3263 + 23362 14824 23345 1 3263 + 23345 14824 14827 1 3263 + 23345 14827 23333 1 3263 + 23345 23333 23332 1 3263 + 23333 14827 14830 1 3263 + 23333 14830 23334 1 3263 + 23334 14830 14833 1 3263 + 23334 14833 14836 1 3263 + 23334 14836 23322 1 3263 + 23322 14836 23335 1 3263 + 23322 23335 23323 1 3263 + 23323 23335 23324 1 3263 + 23324 23335 15562 1 3263 + 23324 15562 23325 1 3263 + 23325 15562 23336 1 3263 + 23336 15562 3023 1 3263 + 23336 3023 14794 1 3263 + 23336 14794 23337 1 3263 + 23337 14794 23346 1 3263 + 23346 14794 14796 1 3263 + 23346 14796 14798 1 3263 + 23346 14798 23347 1 3263 + 23347 14798 14800 1 3263 + 23347 14800 23355 1 3263 + 23355 14800 14802 1 3263 + 23355 14802 23356 1 3263 + 23356 14802 23363 1 3263 + 23363 14802 14804 1 3263 + 23363 14804 14806 1 3263 + 23363 14806 23364 1 3263 + 23364 14806 14808 1 3263 + 23364 14808 23365 1 3263 + 23365 14808 14810 1 3263 + 23365 14810 23366 1 3263 + 23366 14810 3024 1 3263 + 23366 3024 23367 1 3263 + 23367 3024 14818 1 3263 + 15562 23335 3203 1 3263 + 3203 23335 3027 1 3263 + 3027 23335 14836 1 3263 + 3030 3201 3029 1 3264 + 23368 23369 23370 1 3265 + 23368 23370 23371 1 3265 + 23368 23371 23372 1 3265 + 23368 23372 23373 1 3265 + 23368 23373 23374 1 3265 + 23368 23374 23369 1 3265 + 23370 23369 23376 1 3265 + 23370 23376 23377 1 3265 + 23370 23377 23378 1 3265 + 23371 23370 23378 1 3265 + 23371 23378 23379 1 3265 + 23369 23374 23381 1 3265 + 23369 23381 23375 1 3265 + 23369 23375 23376 1 3265 + 23376 23375 23383 1 3265 + 23376 23383 23384 1 3265 + 23377 23376 23384 1 3265 + 23377 23384 23385 1 3265 + 23378 23377 23385 1 3265 + 23375 23381 23386 1 3265 + 23375 23386 23382 1 3265 + 23375 23382 23383 1 3265 + 23383 23382 14908 1 3265 + 23383 14908 14910 1 3265 + 23383 14910 23384 1 3265 + 23384 14910 3042 1 3265 + 23384 3042 3049 1 3265 + 23384 3049 23385 1 3265 + 23385 3049 15318 1 3265 + 23385 15318 23378 1 3265 + 23378 15318 3161 1 3265 + 23378 3161 15311 1 3265 + 23378 15311 23379 1 3265 + 23379 15311 15309 1 3265 + 23379 15309 23371 1 3265 + 23371 15309 23372 1 3265 + 23372 15309 23380 1 3265 + 23372 23380 3156 1 3265 + 23372 3156 23373 1 3265 + 23373 3156 15287 1 3265 + 23373 15287 23374 1 3265 + 23374 15287 15292 1 3265 + 23374 15292 23381 1 3265 + 23381 15292 15297 1 3265 + 23381 15297 23386 1 3265 + 23386 15297 23387 1 3265 + 23386 23387 14904 1 3265 + 23386 14904 14906 1 3265 + 23386 14906 23382 1 3265 + 23382 14906 14908 1 3265 + 14904 23387 3039 1 3265 + 3039 23387 3038 1 3265 + 3038 23387 15297 1 3265 + 3156 23380 3158 1 3265 + 3158 23380 15307 1 3265 + 15307 23380 15309 1 3265 + 23388 23392 23393 1 3266 + 23388 23393 23394 1 3266 + 23389 23388 23394 1 3266 + 23389 23394 23395 1 3266 + 23390 23389 23395 1 3266 + 23390 23395 3162 1 3266 + 23390 3162 23391 1 3266 + 23390 23391 14939 1 3266 + 23390 14939 14941 1 3266 + 23390 14941 23389 1 3266 + 23389 14941 23388 1 3266 + 23388 14941 14943 1 3266 + 23388 14943 14945 1 3266 + 23388 14945 23392 1 3266 + 23392 14945 3055 1 3266 + 23392 3055 15378 1 3266 + 23392 15378 3170 1 3266 + 23392 3170 23393 1 3266 + 23393 3170 15352 1 3266 + 23393 15352 23394 1 3266 + 23394 15352 3167 1 3266 + 23394 3167 23395 1 3266 + 23395 3167 3164 1 3266 + 23395 3164 3162 1 3266 + 3170 15378 3173 1 3266 + 14939 23391 3052 1 3266 + 3052 23391 14914 1 3266 + 14914 23391 15324 1 3266 + 14914 15324 3051 1 3266 + 15324 23391 3162 1 3266 + 23396 23397 23398 1 3267 + 23396 23398 23399 1 3267 + 23396 23399 23400 1 3267 + 23396 23400 23401 1 3267 + 23396 23401 23402 1 3267 + 23396 23402 23397 1 3267 + 23398 23403 23404 1 3267 + 23399 23398 23404 1 3267 + 23399 23404 23405 1 3267 + 23399 23405 23406 1 3267 + 23400 23399 23406 1 3267 + 23400 23406 23407 1 3267 + 23400 23407 23408 1 3267 + 23401 23400 23408 1 3267 + 23401 23408 23409 1 3267 + 23404 23410 23411 1 3267 + 23405 23404 23411 1 3267 + 23405 23411 23412 1 3267 + 23406 23405 23412 1 3267 + 23406 23412 23413 1 3267 + 23407 23406 23413 1 3267 + 23407 23413 23414 1 3267 + 23407 23414 23415 1 3267 + 23408 23407 23415 1 3267 + 23408 23415 23416 1 3267 + 23409 23408 23416 1 3267 + 23409 23416 23417 1 3267 + 23411 23418 23419 1 3267 + 23412 23411 23419 1 3267 + 23412 23419 23420 1 3267 + 23413 23412 23420 1 3267 + 23413 23420 23421 1 3267 + 23414 23413 23421 1 3267 + 23414 23421 23422 1 3267 + 23415 23414 23422 1 3267 + 23415 23422 23423 1 3267 + 23416 23415 23423 1 3267 + 23416 23423 23424 1 3267 + 23417 23416 23424 1 3267 + 23420 23419 23425 1 3267 + 23420 23425 23426 1 3267 + 23421 23420 23426 1 3267 + 23421 23426 23427 1 3267 + 23422 23421 23427 1 3267 + 23422 23427 23428 1 3267 + 23422 23428 23423 1 3267 + 23423 23428 15397 1 3267 + 23423 15397 23424 1 3267 + 23424 15397 3178 1 3267 + 23424 3178 15383 1 3267 + 23424 15383 23417 1 3267 + 23417 15383 3057 1 3267 + 23417 3057 23409 1 3267 + 23409 3057 14955 1 3267 + 23409 14955 23401 1 3267 + 23401 14955 23402 1 3267 + 23402 14955 14961 1 3267 + 23402 14961 23397 1 3267 + 23397 14961 3058 1 3267 + 23397 3058 14995 1 3267 + 23397 14995 23398 1 3267 + 23398 14995 23403 1 3267 + 23403 14995 3061 1 3267 + 23403 3061 15002 1 3267 + 23403 15002 23410 1 3267 + 23403 23410 23404 1 3267 + 23410 15002 15004 1 3267 + 23410 15004 15006 1 3267 + 23410 15006 23418 1 3267 + 23410 23418 23411 1 3267 + 23418 15006 3064 1 3267 + 23418 3064 23425 1 3267 + 23418 23425 23419 1 3267 + 23425 3064 15012 1 3267 + 23425 15012 15015 1 3267 + 23425 15015 23426 1 3267 + 23426 15015 3067 1 3267 + 23426 3067 23427 1 3267 + 23427 3067 23428 1 3267 + 23428 3067 3181 1 3267 + 23428 3181 15397 1 3267 + 15383 3178 3174 1 3267 + 15023 3073 15416 1 3268 + 15023 15416 3069 1 3268 + 15023 3069 3070 1 3268 + 3069 15416 3182 1 3268 + 3075 3076 15420 1 3269 + 3076 3087 23430 1 3269 + 3076 23430 15420 1 3269 + 15420 23430 23429 1 3269 + 15420 23429 3180 1 3269 + 3180 23429 15430 1 3269 + 3180 15430 15403 1 3269 + 15403 15430 15426 1 3269 + 15403 15426 3184 1 3269 + 15403 3184 3179 1 3269 + 15430 23429 15434 1 3269 + 15434 23429 23430 1 3269 + 15434 23430 3091 1 3269 + 3091 23430 3088 1 3269 + 3088 23430 3087 1 3269 + 3079 3082 3078 1 3270 + 3078 3082 3085 1 3270 + 23431 23432 23433 1 3271 + 23431 23433 23434 1 3271 + 23431 23434 23435 1 3271 + 23431 23435 23436 1 3271 + 23431 23436 23437 1 3271 + 23431 23437 23432 1 3271 + 23433 23432 23439 1 3271 + 23433 23439 23440 1 3271 + 23433 23440 23441 1 3271 + 23434 23433 23441 1 3271 + 23434 23441 23442 1 3271 + 23434 23442 23443 1 3271 + 23435 23434 23443 1 3271 + 23435 23443 23444 1 3271 + 23435 23444 23445 1 3271 + 23436 23435 23445 1 3271 + 23436 23445 23446 1 3271 + 23436 23446 23447 1 3271 + 23437 23436 23447 1 3271 + 23437 23447 23448 1 3271 + 23437 23448 23449 1 3271 + 23432 23437 23449 1 3271 + 23432 23449 23438 1 3271 + 23432 23438 23439 1 3271 + 23440 23439 23450 1 3271 + 23440 23450 23451 1 3271 + 23441 23440 23451 1 3271 + 23441 23451 23452 1 3271 + 23441 23452 23453 1 3271 + 23442 23441 23453 1 3271 + 23442 23453 23454 1 3271 + 23443 23442 23454 1 3271 + 23443 23454 23455 1 3271 + 23444 23443 23455 1 3271 + 23444 23455 23456 1 3271 + 23444 23456 23457 1 3271 + 23445 23444 23457 1 3271 + 23445 23457 23458 1 3271 + 23446 23445 23458 1 3271 + 23446 23458 23459 1 3271 + 23447 23446 23459 1 3271 + 23447 23459 23460 1 3271 + 23447 23460 23461 1 3271 + 23448 23447 23461 1 3271 + 23448 23461 23462 1 3271 + 23449 23448 23462 1 3271 + 23449 23462 23463 1 3271 + 23438 23449 23463 1 3271 + 23451 23450 23464 1 3271 + 23451 23464 23465 1 3271 + 23452 23451 23465 1 3271 + 23452 23465 23466 1 3271 + 23452 23466 23467 1 3271 + 23453 23452 23467 1 3271 + 23453 23467 23468 1 3271 + 23454 23453 23468 1 3271 + 23454 23468 23469 1 3271 + 23455 23454 23469 1 3271 + 23455 23469 23470 1 3271 + 23456 23455 23470 1 3271 + 23456 23470 23471 1 3271 + 23456 23471 23472 1 3271 + 23457 23456 23472 1 3271 + 23457 23472 23473 1 3271 + 23458 23457 23473 1 3271 + 23458 23473 23474 1 3271 + 23459 23458 23474 1 3271 + 23459 23474 23475 1 3271 + 23460 23459 23475 1 3271 + 23460 23475 23476 1 3271 + 23467 23466 23477 1 3271 + 23467 23477 23478 1 3271 + 23468 23467 23478 1 3271 + 23468 23478 23479 1 3271 + 23468 23479 23480 1 3271 + 23469 23468 23480 1 3271 + 23469 23480 23481 1 3271 + 23470 23469 23481 1 3271 + 23470 23481 23482 1 3271 + 23471 23470 23482 1 3271 + 23471 23482 23483 1 3271 + 23472 23471 23483 1 3271 + 23472 23483 23484 1 3271 + 23473 23472 23484 1 3271 + 23473 23484 23485 1 3271 + 23474 23473 23485 1 3271 + 23474 23485 23486 1 3271 + 23474 23486 23487 1 3271 + 23475 23474 23487 1 3271 + 23479 23478 23488 1 3271 + 23483 23482 23489 1 3271 + 23483 23489 23490 1 3271 + 23484 23483 23490 1 3271 + 23484 23490 23491 1 3271 + 23485 23484 23491 1 3271 + 23485 23491 23492 1 3271 + 23486 23485 23492 1 3271 + 23491 23490 23493 1 3271 + 23491 23493 15480 1 3271 + 23491 15480 23492 1 3271 + 23492 15480 15477 1 3271 + 23492 15477 23486 1 3271 + 23486 15477 15474 1 3271 + 23486 15474 23487 1 3271 + 23487 15474 15471 1 3271 + 23487 15471 23476 1 3271 + 23487 23476 23475 1 3271 + 23476 15471 3190 1 3271 + 23476 3190 15458 1 3271 + 23476 15458 23461 1 3271 + 23476 23461 23460 1 3271 + 23461 15458 23462 1 3271 + 23462 15458 15451 1 3271 + 23462 15451 23463 1 3271 + 23463 15451 3187 1 3271 + 23463 3187 3168 1 3271 + 23463 3168 15359 1 3271 + 23463 15359 23438 1 3271 + 23438 15359 23439 1 3271 + 23439 15359 23450 1 3271 + 23450 15359 3169 1 3271 + 23450 3169 23464 1 3271 + 23464 3169 3185 1 3271 + 23464 3185 23465 1 3271 + 23465 3185 15429 1 3271 + 23465 15429 23466 1 3271 + 23466 15429 23477 1 3271 + 23477 15429 15433 1 3271 + 23477 15433 15437 1 3271 + 23477 15437 23478 1 3271 + 23478 15437 23488 1 3271 + 23488 15437 3093 1 3271 + 23488 3093 15083 1 3271 + 23488 15083 23479 1 3271 + 23479 15083 23480 1 3271 + 23480 15083 15089 1 3271 + 23480 15089 23481 1 3271 + 23481 15089 23482 1 3271 + 23482 15089 23489 1 3271 + 23489 15089 15095 1 3271 + 23489 15095 23490 1 3271 + 23490 15095 3094 1 3271 + 23490 3094 23493 1 3271 + 23493 3094 3193 1 3271 + 23493 3193 15480 1 3271 + 3097 3100 3103 1 3272 + 3097 3103 3194 1 3272 + 3097 3194 3096 1 3272 + 15172 3112 15473 1 3273 + 15172 15473 15476 1 3273 + 15172 15476 15168 1 3273 + 15168 15476 15479 1 3273 + 15168 15479 3106 1 3273 + 3106 15479 15482 1 3273 + 3106 15482 3192 1 3273 + 3106 3192 3105 1 3273 + 15473 3112 3196 1 3273 + 15473 3196 3191 1 3273 + 3115 3199 3114 1 3274 + 3114 3199 3197 1 3274 + 23494 23496 23497 1 3275 + 23494 23497 23498 1 3275 + 23495 23494 23498 1 3275 + 23495 23498 23499 1 3275 + 23498 23497 23500 1 3275 + 23498 23500 23501 1 3275 + 23499 23498 23501 1 3275 + 23499 23501 23502 1 3275 + 23500 23503 23504 1 3275 + 23501 23500 23504 1 3275 + 23501 23504 23505 1 3275 + 23502 23501 23505 1 3275 + 23502 23505 23506 1 3275 + 23504 23503 23507 1 3275 + 23504 23507 23508 1 3275 + 23505 23504 23508 1 3275 + 23505 23508 23509 1 3275 + 23506 23505 23509 1 3275 + 23509 23508 23510 1 3275 + 23509 23510 15242 1 3275 + 23509 15242 15246 1 3275 + 23509 15246 23506 1 3275 + 23506 15246 15250 1 3275 + 23506 15250 23502 1 3275 + 23502 15250 3142 1 3275 + 23502 3142 23499 1 3275 + 23499 3142 15537 1 3275 + 23499 15537 23495 1 3275 + 23495 15537 3153 1 3275 + 23495 3153 23494 1 3275 + 23494 3153 15278 1 3275 + 23494 15278 23496 1 3275 + 23496 15278 3154 1 3275 + 23496 3154 3157 1 3275 + 23496 3157 15521 1 3275 + 23496 15521 23497 1 3275 + 23497 15521 23500 1 3275 + 23500 15521 15516 1 3275 + 23500 15516 23503 1 3275 + 23503 15516 15511 1 3275 + 23503 15511 23507 1 3275 + 23507 15511 3200 1 3275 + 23507 3200 3117 1 3275 + 23507 3117 23508 1 3275 + 23508 3117 23510 1 3275 + 23510 3117 3120 1 3275 + 23510 3120 15238 1 3275 + 23510 15238 15242 1 3275 + 15238 3120 15234 1 3275 + 15234 3120 3139 1 3275 + 3139 3120 3123 1 3275 + 15274 3151 15538 1 3276 + 15274 15538 15272 1 3276 + 15272 15538 15256 1 3276 + 15272 15256 15259 1 3276 + 15272 15259 15270 1 3276 + 15270 15259 3145 1 3276 + 15256 15538 3144 1 3276 + 23511 23514 23515 1 3277 + 23512 23511 23515 1 3277 + 23512 23515 23516 1 3277 + 23513 23512 23516 1 3277 + 23513 23516 23517 1 3277 + 23513 23517 15525 1 3277 + 23513 15525 15308 1 3277 + 23513 15308 23512 1 3277 + 23512 15308 15310 1 3277 + 23512 15310 23511 1 3277 + 23511 15310 15312 1 3277 + 23511 15312 23514 1 3277 + 23514 15312 3160 1 3277 + 23514 3160 3163 1 3277 + 23514 3163 3188 1 3277 + 23514 3188 15457 1 3277 + 23514 15457 23515 1 3277 + 23515 15457 15464 1 3277 + 23515 15464 23516 1 3277 + 23516 15464 23518 1 3277 + 23516 23518 23517 1 3277 + 23517 23518 15520 1 3277 + 23517 15520 15525 1 3277 + 15520 23518 15515 1 3277 + 15515 23518 3195 1 3277 + 15515 3195 3198 1 3277 + 3195 23518 3189 1 3277 + 3189 23518 15464 1 3277 + 15308 15525 3159 1 3277 + 3166 3186 3165 1 3278 + 3172 3177 3171 1 3279 + 3171 3177 3183 1 3279 + 3232 3238 3231 1 3280 + 23519 23520 23521 1 3281 + 23519 23521 23522 1 3281 + 23521 23520 23524 1 3281 + 23521 23524 23525 1 3281 + 23521 23525 23526 1 3281 + 23522 23521 23526 1 3281 + 23520 23527 23523 1 3281 + 23520 23523 23524 1 3281 + 23524 23523 23529 1 3281 + 23524 23529 23530 1 3281 + 23525 23524 23530 1 3281 + 23525 23530 23531 1 3281 + 23526 23525 23531 1 3281 + 23526 23531 23532 1 3281 + 23523 23527 23533 1 3281 + 23523 23533 23528 1 3281 + 23523 23528 23529 1 3281 + 23529 23528 23535 1 3281 + 23529 23535 23536 1 3281 + 23530 23529 23536 1 3281 + 23530 23536 23537 1 3281 + 23531 23530 23537 1 3281 + 23531 23537 23538 1 3281 + 23532 23531 23538 1 3281 + 23528 23533 23539 1 3281 + 23528 23539 23534 1 3281 + 23528 23534 23535 1 3281 + 23535 23534 23541 1 3281 + 23535 23541 23542 1 3281 + 23536 23535 23542 1 3281 + 23536 23542 23543 1 3281 + 23537 23536 23543 1 3281 + 23537 23543 23544 1 3281 + 23538 23537 23544 1 3281 + 23538 23544 23545 1 3281 + 23534 23539 23546 1 3281 + 23534 23546 23540 1 3281 + 23534 23540 23541 1 3281 + 23541 23540 23547 1 3281 + 23541 23547 23548 1 3281 + 23542 23541 23548 1 3281 + 23542 23548 23549 1 3281 + 23543 23542 23549 1 3281 + 23543 23549 23550 1 3281 + 23544 23543 23550 1 3281 + 23540 23546 23547 1 3281 + 23547 23546 3258 1 3281 + 23547 3258 15896 1 3281 + 23547 15896 23548 1 3281 + 23548 15896 3261 1 3281 + 23548 3261 23549 1 3281 + 23549 3261 15918 1 3281 + 23549 15918 23550 1 3281 + 23550 15918 15922 1 3281 + 23550 15922 15926 1 3281 + 23550 15926 23544 1 3281 + 23544 15926 23545 1 3281 + 23545 15926 3254 1 3281 + 23545 3254 15838 1 3281 + 23545 15838 23538 1 3281 + 23538 15838 15844 1 3281 + 23538 15844 23532 1 3281 + 23532 15844 15850 1 3281 + 23532 15850 23526 1 3281 + 23526 15850 15856 1 3281 + 23526 15856 23522 1 3281 + 23522 15856 15870 1 3281 + 23522 15870 23519 1 3281 + 23519 15870 15872 1 3281 + 23519 15872 15874 1 3281 + 23519 15874 23520 1 3281 + 23520 15874 23527 1 3281 + 23527 15874 15876 1 3281 + 23527 15876 23533 1 3281 + 23533 15876 15878 1 3281 + 23533 15878 23539 1 3281 + 23539 15878 15880 1 3281 + 23539 15880 23546 1 3281 + 23546 15880 15882 1 3281 + 23546 15882 3258 1 3281 + 15870 15856 3255 1 3281 + 16055 3276 23551 1 3282 + 16055 23551 16040 1 3282 + 16055 16040 3273 1 3282 + 16040 23551 16036 1 3282 + 16036 23551 16373 1 3282 + 16036 16373 3272 1 3282 + 16373 23551 3276 1 3282 + 23553 23552 23556 1 3283 + 23553 23556 23557 1 3283 + 23552 23554 23558 1 3283 + 23552 23558 23555 1 3283 + 23552 23555 23556 1 3283 + 23556 23555 23560 1 3283 + 23556 23560 23561 1 3283 + 23557 23556 23561 1 3283 + 23557 23561 23562 1 3283 + 23555 23558 23563 1 3283 + 23555 23563 23559 1 3283 + 23555 23559 23560 1 3283 + 23560 23559 23565 1 3283 + 23560 23565 23566 1 3283 + 23561 23560 23566 1 3283 + 23561 23566 23567 1 3283 + 23562 23561 23567 1 3283 + 23559 23563 23568 1 3283 + 23559 23568 23564 1 3283 + 23559 23564 23565 1 3283 + 23565 23564 23570 1 3283 + 23565 23570 23571 1 3283 + 23566 23565 23571 1 3283 + 23566 23571 23572 1 3283 + 23567 23566 23572 1 3283 + 23567 23572 23573 1 3283 + 23564 23569 23570 1 3283 + 23570 23574 23575 1 3283 + 23571 23570 23575 1 3283 + 23571 23575 23576 1 3283 + 23572 23571 23576 1 3283 + 23572 23576 23577 1 3283 + 23573 23572 23577 1 3283 + 23573 23577 23578 1 3283 + 23576 23575 23579 1 3283 + 23576 23579 23580 1 3283 + 23577 23576 23580 1 3283 + 23577 23580 23581 1 3283 + 23578 23577 23581 1 3283 + 23578 23581 23582 1 3283 + 23581 23580 23583 1 3283 + 23581 23583 23584 1 3283 + 23582 23581 23584 1 3283 + 23582 23584 23585 1 3283 + 23584 23583 23587 1 3283 + 23584 23587 23588 1 3283 + 23585 23584 23588 1 3283 + 23586 23585 23588 1 3283 + 23586 23588 23589 1 3283 + 23586 23589 16277 1 3283 + 23586 16277 16272 1 3283 + 23586 16272 16267 1 3283 + 23586 16267 23585 1 3283 + 23585 16267 23582 1 3283 + 23582 16267 16262 1 3283 + 23582 16262 23578 1 3283 + 23578 16262 16257 1 3283 + 23578 16257 23573 1 3283 + 23573 16257 16252 1 3283 + 23573 16252 23567 1 3283 + 23567 16252 23562 1 3283 + 23562 16252 16247 1 3283 + 23562 16247 23557 1 3283 + 23557 16247 3317 1 3283 + 23557 3317 23553 1 3283 + 23553 3317 16240 1 3283 + 23553 16240 23552 1 3283 + 23552 16240 23554 1 3283 + 23554 16240 3281 1 3283 + 23554 3281 3282 1 3283 + 23554 3282 16348 1 3283 + 23554 16348 23558 1 3283 + 23558 16348 16344 1 3283 + 23558 16344 23563 1 3283 + 23563 16344 3319 1 3283 + 23563 3319 23568 1 3283 + 23568 3319 16338 1 3283 + 23568 16338 16335 1 3283 + 23568 16335 23564 1 3283 + 23564 16335 23569 1 3283 + 23569 16335 16332 1 3283 + 23569 16332 23570 1 3283 + 23570 16332 23574 1 3283 + 23574 16332 16329 1 3283 + 23574 16329 23575 1 3283 + 23575 16329 23579 1 3283 + 23579 16329 16326 1 3283 + 23579 16326 16323 1 3283 + 23579 16323 23580 1 3283 + 23580 16323 23583 1 3283 + 23583 16323 16320 1 3283 + 23583 16320 23587 1 3283 + 23587 16320 16317 1 3283 + 23587 16317 23588 1 3283 + 23588 16317 16314 1 3283 + 23588 16314 23589 1 3283 + 23589 16314 16311 1 3283 + 23589 16311 23590 1 3283 + 23589 23590 16277 1 3283 + 16277 23590 3303 1 3283 + 3303 23590 23591 1 3283 + 3303 23591 16180 1 3283 + 16180 23591 3299 1 3283 + 16180 3299 3300 1 3283 + 3299 23591 16308 1 3283 + 16308 23591 23590 1 3283 + 16308 23590 16311 1 3283 + 23593 23592 23596 1 3284 + 23592 23594 23597 1 3284 + 23592 23597 23595 1 3284 + 23592 23595 23596 1 3284 + 23596 23595 23599 1 3284 + 23597 23600 23601 1 3284 + 23595 23597 23601 1 3284 + 23595 23601 23598 1 3284 + 23595 23598 23599 1 3284 + 23600 23603 23604 1 3284 + 23601 23600 23604 1 3284 + 23601 23604 23605 1 3284 + 23598 23601 23605 1 3284 + 23598 23605 23602 1 3284 + 23604 23603 23606 1 3284 + 23604 23606 23607 1 3284 + 23605 23604 23607 1 3284 + 23605 23607 23608 1 3284 + 23602 23605 23608 1 3284 + 23606 23609 23610 1 3284 + 23607 23606 23610 1 3284 + 23610 23609 23611 1 3284 + 23610 23611 3294 1 3284 + 23610 3294 16364 1 3284 + 23610 16364 23608 1 3284 + 23610 23608 23607 1 3284 + 23608 16364 16360 1 3284 + 23608 16360 23602 1 3284 + 23602 16360 16356 1 3284 + 23602 16356 23599 1 3284 + 23602 23599 23598 1 3284 + 23599 16356 3320 1 3284 + 23599 3320 16347 1 3284 + 23599 16347 23596 1 3284 + 23596 16347 16351 1 3284 + 23596 16351 23593 1 3284 + 23593 16351 16073 1 3284 + 23593 16073 23592 1 3284 + 23592 16073 3285 1 3284 + 23592 3285 23594 1 3284 + 23594 3285 16085 1 3284 + 23594 16085 23597 1 3284 + 23597 16085 16087 1 3284 + 23597 16087 23600 1 3284 + 23600 16087 16089 1 3284 + 23600 16089 23603 1 3284 + 23603 16089 16091 1 3284 + 23603 16091 23606 1 3284 + 23606 16091 3288 1 3284 + 23606 3288 23609 1 3284 + 23609 3288 16105 1 3284 + 23609 16105 23611 1 3284 + 23611 16105 16128 1 3284 + 23611 16128 3294 1 3284 + 16128 16105 3291 1 3284 + 16073 16351 3284 1 3284 + 23613 23616 23617 1 3285 + 23612 23613 23617 1 3285 + 23612 23617 23614 1 3285 + 23612 23614 23615 1 3285 + 23615 23614 23619 1 3285 + 23615 23619 23620 1 3285 + 23616 23621 23622 1 3285 + 23617 23616 23622 1 3285 + 23617 23622 23623 1 3285 + 23614 23617 23623 1 3285 + 23614 23623 23618 1 3285 + 23614 23618 23619 1 3285 + 23619 23618 23624 1 3285 + 23619 23624 23625 1 3285 + 23620 23619 23625 1 3285 + 23620 23625 23626 1 3285 + 23621 23628 23629 1 3285 + 23622 23621 23629 1 3285 + 23622 23629 23630 1 3285 + 23623 23622 23630 1 3285 + 23624 23623 23630 1 3285 + 23618 23623 23624 1 3285 + 23625 23624 23631 1 3285 + 23625 23631 23632 1 3285 + 23626 23625 23632 1 3285 + 23626 23632 23633 1 3285 + 23627 23626 23633 1 3285 + 23627 23633 23634 1 3285 + 23628 23636 23637 1 3285 + 23629 23628 23637 1 3285 + 23629 23637 23638 1 3285 + 23630 23629 23638 1 3285 + 23631 23630 23638 1 3285 + 23624 23630 23631 1 3285 + 23632 23631 23639 1 3285 + 23632 23639 23640 1 3285 + 23633 23632 23640 1 3285 + 23633 23640 23641 1 3285 + 23634 23633 23641 1 3285 + 23634 23641 23642 1 3285 + 23635 23634 23642 1 3285 + 23635 23642 23643 1 3285 + 23636 23647 23648 1 3285 + 23637 23636 23648 1 3285 + 23637 23648 23649 1 3285 + 23638 23637 23649 1 3285 + 23639 23638 23649 1 3285 + 23631 23638 23639 1 3285 + 23640 23639 23650 1 3285 + 23640 23650 23651 1 3285 + 23641 23640 23651 1 3285 + 23641 23651 23652 1 3285 + 23642 23641 23652 1 3285 + 23643 23642 23652 1 3285 + 23643 23652 23653 1 3285 + 23644 23643 23653 1 3285 + 23644 23653 23654 1 3285 + 23645 23644 23654 1 3285 + 23645 23654 23655 1 3285 + 23646 23645 23655 1 3285 + 23648 23647 23656 1 3285 + 23648 23656 23657 1 3285 + 23649 23648 23657 1 3285 + 23650 23649 23657 1 3285 + 23639 23649 23650 1 3285 + 23651 23650 23658 1 3285 + 23651 23658 23659 1 3285 + 23652 23651 23659 1 3285 + 23653 23652 23659 1 3285 + 23653 23659 23660 1 3285 + 23654 23653 23660 1 3285 + 23655 23654 23660 1 3285 + 23655 23660 23661 1 3285 + 23657 23656 23663 1 3285 + 23658 23657 23663 1 3285 + 23650 23657 23658 1 3285 + 23659 23658 23664 1 3285 + 23660 23659 23664 1 3285 + 23661 23660 23664 1 3285 + 23662 23661 23664 1 3285 + 23663 23662 23664 1 3285 + 23658 23663 23664 1 3285 + 23663 23656 16141 1 3285 + 23663 16141 23662 1 3285 + 23662 16141 16144 1 3285 + 23662 16144 23661 1 3285 + 23661 16144 16147 1 3285 + 23661 16147 23655 1 3285 + 23655 16147 16150 1 3285 + 23655 16150 23646 1 3285 + 23646 16150 16153 1 3285 + 23646 16153 16310 1 3285 + 23646 16310 23645 1 3285 + 23645 16310 16313 1 3285 + 23645 16313 23644 1 3285 + 23644 16313 16316 1 3285 + 23644 16316 23643 1 3285 + 23643 16316 16319 1 3285 + 23643 16319 23635 1 3285 + 23635 16319 16322 1 3285 + 23635 16322 16325 1 3285 + 23635 16325 23634 1 3285 + 23634 16325 23627 1 3285 + 23627 16325 16328 1 3285 + 23627 16328 23620 1 3285 + 23627 23620 23626 1 3285 + 23620 16328 16331 1 3285 + 23620 16331 23615 1 3285 + 23615 16331 16334 1 3285 + 23615 16334 16337 1 3285 + 23615 16337 23612 1 3285 + 23612 16337 16340 1 3285 + 23612 16340 23613 1 3285 + 23613 16340 16359 1 3285 + 23613 16359 16363 1 3285 + 23613 16363 23616 1 3285 + 23616 16363 16367 1 3285 + 23616 16367 23621 1 3285 + 23621 16367 3296 1 3285 + 23621 3296 23628 1 3285 + 23628 3296 16132 1 3285 + 23628 16132 23636 1 3285 + 23636 16132 16135 1 3285 + 23636 16135 23647 1 3285 + 23647 16135 16138 1 3285 + 23647 16138 23656 1 3285 + 23656 16138 16141 1 3285 + 16359 16340 3318 1 3285 + 16310 16153 3297 1 3285 + 23665 23672 23673 1 3286 + 23667 23666 23674 1 3286 + 23667 23674 23675 1 3286 + 23668 23667 23675 1 3286 + 23668 23675 23676 1 3286 + 23669 23668 23676 1 3286 + 23669 23676 23677 1 3286 + 23670 23669 23677 1 3286 + 23670 23677 23678 1 3286 + 23671 23670 23678 1 3286 + 23671 23678 23679 1 3286 + 23672 23671 23679 1 3286 + 23673 23672 23679 1 3286 + 23673 23679 23680 1 3286 + 23675 23674 23681 1 3286 + 23675 23681 23682 1 3286 + 23676 23675 23682 1 3286 + 23676 23682 23683 1 3286 + 23677 23676 23683 1 3286 + 23678 23677 23683 1 3286 + 23678 23683 23684 1 3286 + 23679 23678 23684 1 3286 + 23679 23684 23685 1 3286 + 23680 23679 23685 1 3286 + 23681 23686 23687 1 3286 + 23682 23681 23687 1 3286 + 23683 23682 23687 1 3286 + 23683 23687 23688 1 3286 + 23684 23683 23688 1 3286 + 23684 23688 23689 1 3286 + 23685 23684 23689 1 3286 + 23687 23686 23690 1 3286 + 23688 23687 23690 1 3286 + 23688 23690 23691 1 3286 + 23689 23688 23691 1 3286 + 23691 23690 23692 1 3286 + 23691 23692 16188 1 3286 + 23691 16188 23689 1 3286 + 23689 16188 16190 1 3286 + 23689 16190 23685 1 3286 + 23685 16190 16192 1 3286 + 23685 16192 23680 1 3286 + 23680 16192 16194 1 3286 + 23680 16194 23673 1 3286 + 23673 16194 16196 1 3286 + 23673 16196 23665 1 3286 + 23665 16196 16198 1 3286 + 23665 16198 16305 1 3286 + 23665 16305 16303 1 3286 + 23665 16303 23672 1 3286 + 23672 16303 16301 1 3286 + 23672 16301 23671 1 3286 + 23671 16301 16299 1 3286 + 23671 16299 23670 1 3286 + 23670 16299 16297 1 3286 + 23670 16297 23669 1 3286 + 23669 16297 16295 1 3286 + 23669 16295 23668 1 3286 + 23668 16295 16293 1 3286 + 23668 16293 23667 1 3286 + 23667 16293 16291 1 3286 + 23667 16291 23666 1 3286 + 23666 16291 16289 1 3286 + 23666 16289 16261 1 3286 + 23666 16261 16266 1 3286 + 23666 16266 23674 1 3286 + 23674 16266 16271 1 3286 + 23674 16271 23681 1 3286 + 23681 16271 23686 1 3286 + 23686 16271 16276 1 3286 + 23686 16276 23690 1 3286 + 23690 16276 16281 1 3286 + 23690 16281 23692 1 3286 + 23692 16281 3305 1 3286 + 23692 3305 16186 1 3286 + 23692 16186 16188 1 3286 + 16261 16289 16256 1 3286 + 16256 16289 16287 1 3286 + 16256 16287 16251 1 3286 + 16251 16287 16285 1 3286 + 16251 16285 3315 1 3286 + 3315 16285 3314 1 3286 + 16305 16198 3306 1 3286 + 23693 23694 23695 1 3287 + 23693 23695 23696 1 3287 + 23693 23696 23697 1 3287 + 23693 23697 23698 1 3287 + 23693 23698 23699 1 3287 + 23693 23699 23694 1 3287 + 23695 23694 23701 1 3287 + 23695 23701 23702 1 3287 + 23695 23702 23703 1 3287 + 23696 23695 23703 1 3287 + 23696 23703 23704 1 3287 + 23696 23704 23705 1 3287 + 23697 23696 23705 1 3287 + 23697 23705 23706 1 3287 + 23697 23706 23707 1 3287 + 23698 23697 23707 1 3287 + 23694 23699 23708 1 3287 + 23694 23708 23700 1 3287 + 23694 23700 23701 1 3287 + 23701 23700 23710 1 3287 + 23701 23710 23711 1 3287 + 23702 23701 23711 1 3287 + 23702 23711 23712 1 3287 + 23703 23702 23712 1 3287 + 23703 23712 23713 1 3287 + 23703 23713 23714 1 3287 + 23704 23703 23714 1 3287 + 23704 23714 23715 1 3287 + 23705 23704 23715 1 3287 + 23705 23715 23716 1 3287 + 23706 23705 23716 1 3287 + 23706 23716 23717 1 3287 + 23700 23708 23718 1 3287 + 23700 23718 23709 1 3287 + 23700 23709 23710 1 3287 + 23710 23709 23720 1 3287 + 23710 23720 23721 1 3287 + 23711 23710 23721 1 3287 + 23711 23721 23722 1 3287 + 23712 23711 23722 1 3287 + 23712 23722 23723 1 3287 + 23713 23712 23723 1 3287 + 23713 23723 23724 1 3287 + 23714 23713 23724 1 3287 + 23714 23724 23725 1 3287 + 23714 23725 23726 1 3287 + 23715 23714 23726 1 3287 + 23715 23726 23727 1 3287 + 23716 23715 23727 1 3287 + 23716 23727 23728 1 3287 + 23717 23716 23728 1 3287 + 23709 23718 23729 1 3287 + 23709 23729 23719 1 3287 + 23709 23719 23720 1 3287 + 23720 23719 23731 1 3287 + 23720 23731 23732 1 3287 + 23721 23720 23732 1 3287 + 23721 23732 23733 1 3287 + 23722 23721 23733 1 3287 + 23722 23733 23734 1 3287 + 23723 23722 23734 1 3287 + 23723 23734 23735 1 3287 + 23724 23723 23735 1 3287 + 23724 23735 23736 1 3287 + 23725 23724 23736 1 3287 + 23725 23736 23737 1 3287 + 23726 23725 23737 1 3287 + 23726 23737 23738 1 3287 + 23727 23726 23738 1 3287 + 23719 23730 23731 1 3287 + 23733 23732 23739 1 3287 + 23733 23739 23740 1 3287 + 23734 23733 23740 1 3287 + 23734 23740 23741 1 3287 + 23735 23734 23741 1 3287 + 23735 23741 23742 1 3287 + 23736 23735 23742 1 3287 + 23736 23742 16302 1 3287 + 23736 16302 23737 1 3287 + 23737 16302 16304 1 3287 + 23737 16304 23738 1 3287 + 23738 16304 16306 1 3287 + 23738 16306 23727 1 3287 + 23727 16306 3308 1 3287 + 23727 3308 23728 1 3287 + 23728 3308 16202 1 3287 + 23728 16202 16205 1 3287 + 23728 16205 23717 1 3287 + 23717 16205 3309 1 3287 + 23717 3309 23706 1 3287 + 23706 3309 23707 1 3287 + 23707 3309 16212 1 3287 + 23707 16212 16216 1 3287 + 23707 16216 23698 1 3287 + 23698 16216 23699 1 3287 + 23699 16216 16220 1 3287 + 23699 16220 23708 1 3287 + 23708 16220 16224 1 3287 + 23708 16224 23718 1 3287 + 23718 16224 16228 1 3287 + 23718 16228 23729 1 3287 + 23729 16228 3312 1 3287 + 23729 3312 16286 1 3287 + 23729 16286 23730 1 3287 + 23729 23730 23719 1 3287 + 23730 16286 16288 1 3287 + 23730 16288 16290 1 3287 + 23730 16290 23731 1 3287 + 23731 16290 16292 1 3287 + 23731 16292 23739 1 3287 + 23731 23739 23732 1 3287 + 23739 16292 16294 1 3287 + 23739 16294 23740 1 3287 + 23740 16294 16296 1 3287 + 23740 16296 23741 1 3287 + 23741 16296 16298 1 3287 + 23741 16298 23742 1 3287 + 23742 16298 16300 1 3287 + 23742 16300 16302 1 3287 diff --git a/examples/demos/data/sh2.pdb b/examples/demos/data/sh2.pdb new file mode 100644 index 0000000000000000000000000000000000000000..e254cf039a75bdfc8a4cbde99216dde4a5418bbf --- /dev/null +++ b/examples/demos/data/sh2.pdb @@ -0,0 +1,888 @@ +HELIX 1 1 PRO A 66 LYS A 76 1 11 +HELIX 2 2 SER A 127 HIS A 135 1 9 +SHEET 1 A 4 PHE A 83 GLU A 87 0 +SHEET 2 A 4 PHE A 95 PHE A 101 -1 O SER A 96 N ARG A 86 +SHEET 3 A 4 ASP A 104 ARG A 112 -1 O PHE A 108 N LEU A 97 +SHEET 4 A 4 TYR A 118 PHE A 119 -1 O PHE A 119 N LEU A 111 +ATOM 1 N MET A 55 -11.301 11.863 12.812 1.00 46.35 N +ATOM 2 CA MET A 55 -10.174 12.241 13.713 1.00 45.84 C +ATOM 3 C MET A 55 -9.595 11.051 14.465 1.00 44.35 C +ATOM 4 O MET A 55 -10.219 9.989 14.526 1.00 46.54 O +ATOM 5 CB MET A 55 -10.591 13.367 14.670 1.00 48.03 C +ATOM 6 CG MET A 55 -11.911 13.150 15.404 1.00 49.20 C +ATOM 7 SD MET A 55 -12.173 14.422 16.660 1.00 55.85 S +ATOM 8 CE MET A 55 -10.955 13.907 17.875 1.00 52.51 C +ATOM 9 N LYS A 56 -8.383 11.240 14.995 1.00 42.02 N +ATOM 10 CA LYS A 56 -7.611 10.243 15.755 1.00 39.04 C +ATOM 11 C LYS A 56 -7.093 9.042 14.960 1.00 35.73 C +ATOM 12 O LYS A 56 -7.875 8.322 14.336 1.00 35.25 O +ATOM 13 CB LYS A 56 -8.367 9.735 16.999 1.00 40.07 C +ATOM 14 CG LYS A 56 -8.392 10.697 18.162 1.00 41.30 C +ATOM 15 CD LYS A 56 -9.261 10.144 19.283 1.00 43.06 C +ATOM 16 CE LYS A 56 -9.291 11.093 20.474 1.00 43.02 C +ATOM 17 NZ LYS A 56 -7.941 11.318 21.057 1.00 42.52 N +ATOM 18 N PRO A 57 -5.757 8.838 14.934 1.00 32.59 N +ATOM 19 CA PRO A 57 -5.167 7.704 14.210 1.00 30.22 C +ATOM 20 C PRO A 57 -5.475 6.389 14.924 1.00 28.03 C +ATOM 21 O PRO A 57 -5.774 6.389 16.125 1.00 25.91 O +ATOM 22 CB PRO A 57 -3.678 8.017 14.254 1.00 30.30 C +ATOM 23 CG PRO A 57 -3.518 8.821 15.511 1.00 30.21 C +ATOM 24 CD PRO A 57 -4.694 9.727 15.450 1.00 32.07 C +ATOM 25 N HIS A 58 -5.434 5.288 14.176 1.00 26.73 N +ATOM 26 CA HIS A 58 -5.705 3.960 14.726 1.00 26.95 C +ATOM 27 C HIS A 58 -4.622 3.524 15.706 1.00 27.12 C +ATOM 28 O HIS A 58 -3.426 3.545 15.366 1.00 27.18 O +ATOM 29 CB HIS A 58 -5.849 2.928 13.607 1.00 26.98 C +ATOM 30 CG HIS A 58 -7.149 3.014 12.872 1.00 27.32 C +ATOM 31 ND1 HIS A 58 -8.359 3.179 13.510 1.00 28.47 N +ATOM 32 CD2 HIS A 58 -7.428 2.948 11.552 1.00 26.86 C +ATOM 33 CE1 HIS A 58 -9.327 3.211 12.613 1.00 28.81 C +ATOM 34 NE2 HIS A 58 -8.789 3.073 11.416 1.00 28.59 N +ATOM 35 N PRO A 59 -5.020 3.161 16.948 1.00 27.05 N +ATOM 36 CA PRO A 59 -4.064 2.725 17.976 1.00 26.49 C +ATOM 37 C PRO A 59 -3.515 1.307 17.792 1.00 25.98 C +ATOM 38 O PRO A 59 -2.801 0.795 18.659 1.00 26.77 O +ATOM 39 CB PRO A 59 -4.874 2.858 19.268 1.00 26.70 C +ATOM 40 CG PRO A 59 -6.258 2.507 18.822 1.00 27.23 C +ATOM 41 CD PRO A 59 -6.384 3.262 17.517 1.00 27.94 C +ATOM 42 N TRP A 60 -3.807 0.705 16.641 1.00 23.73 N +ATOM 43 CA TRP A 60 -3.371 -0.650 16.363 1.00 22.05 C +ATOM 44 C TRP A 60 -2.311 -0.858 15.292 1.00 21.12 C +ATOM 45 O TRP A 60 -1.814 -1.970 15.124 1.00 19.47 O +ATOM 46 CB TRP A 60 -4.578 -1.549 16.094 1.00 20.73 C +ATOM 47 CG TRP A 60 -5.636 -1.027 15.135 1.00 19.95 C +ATOM 48 CD1 TRP A 60 -6.839 -0.471 15.475 1.00 18.34 C +ATOM 49 CD2 TRP A 60 -5.634 -1.125 13.701 1.00 21.37 C +ATOM 50 NE1 TRP A 60 -7.590 -0.230 14.350 1.00 19.38 N +ATOM 51 CE2 TRP A 60 -6.883 -0.623 13.246 1.00 19.29 C +ATOM 52 CE3 TRP A 60 -4.704 -1.594 12.751 1.00 20.18 C +ATOM 53 CZ2 TRP A 60 -7.231 -0.581 11.877 1.00 20.26 C +ATOM 54 CZ3 TRP A 60 -5.045 -1.554 11.379 1.00 20.05 C +ATOM 55 CH2 TRP A 60 -6.306 -1.049 10.963 1.00 19.97 C +ATOM 56 N PHE A 61 -1.980 0.191 14.544 1.00 22.58 N +ATOM 57 CA PHE A 61 -0.962 0.055 13.501 1.00 20.39 C +ATOM 58 C PHE A 61 0.393 0.457 14.047 1.00 22.27 C +ATOM 59 O PHE A 61 0.645 1.639 14.340 1.00 22.00 O +ATOM 60 CB PHE A 61 -1.304 0.881 12.267 1.00 20.45 C +ATOM 61 CG PHE A 61 -0.504 0.510 11.044 1.00 18.86 C +ATOM 62 CD1 PHE A 61 -0.892 -0.580 10.251 1.00 20.04 C +ATOM 63 CD2 PHE A 61 0.650 1.234 10.689 1.00 19.96 C +ATOM 64 CE1 PHE A 61 -0.138 -0.957 9.112 1.00 20.03 C +ATOM 65 CE2 PHE A 61 1.416 0.874 9.556 1.00 19.76 C +ATOM 66 CZ PHE A 61 1.024 -0.224 8.763 1.00 19.54 C +ATOM 67 N PHE A 62 1.271 -0.539 14.140 1.00 21.40 N +ATOM 68 CA PHE A 62 2.612 -0.344 14.678 1.00 21.91 C +ATOM 69 C PHE A 62 3.734 -0.393 13.645 1.00 22.34 C +ATOM 70 O PHE A 62 4.910 -0.258 13.998 1.00 24.21 O +ATOM 71 CB PHE A 62 2.873 -1.363 15.786 1.00 22.58 C +ATOM 72 CG PHE A 62 2.242 -1.023 17.100 1.00 22.20 C +ATOM 73 CD1 PHE A 62 0.841 -0.954 17.238 1.00 21.95 C +ATOM 74 CD2 PHE A 62 3.042 -0.820 18.232 1.00 22.73 C +ATOM 75 CE1 PHE A 62 0.235 -0.692 18.488 1.00 21.77 C +ATOM 76 CE2 PHE A 62 2.453 -0.557 19.496 1.00 25.91 C +ATOM 77 CZ PHE A 62 1.043 -0.494 19.621 1.00 25.11 C +ATOM 78 N GLY A 63 3.365 -0.539 12.371 1.00 20.22 N +ATOM 79 CA GLY A 63 4.342 -0.585 11.293 1.00 20.67 C +ATOM 80 C GLY A 63 5.264 -1.780 11.345 1.00 20.79 C +ATOM 81 O GLY A 63 4.834 -2.874 11.700 1.00 19.22 O +ATOM 82 N LYS A 64 6.545 -1.555 11.072 1.00 20.29 N +ATOM 83 CA LYS A 64 7.521 -2.635 11.071 1.00 22.16 C +ATOM 84 C LYS A 64 8.055 -3.014 12.464 1.00 23.01 C +ATOM 85 O LYS A 64 9.266 -3.098 12.676 1.00 23.84 O +ATOM 86 CB LYS A 64 8.662 -2.326 10.087 1.00 22.60 C +ATOM 87 CG LYS A 64 9.244 -3.559 9.417 1.00 26.28 C +ATOM 88 CD LYS A 64 10.508 -3.211 8.641 1.00 27.71 C +ATOM 89 CE LYS A 64 10.985 -4.388 7.812 1.00 30.37 C +ATOM 90 NZ LYS A 64 12.229 -4.043 7.053 1.00 30.90 N +ATOM 91 N ILE A 65 7.141 -3.248 13.409 1.00 24.30 N +ATOM 92 CA ILE A 65 7.527 -3.666 14.757 1.00 23.54 C +ATOM 93 C ILE A 65 7.811 -5.171 14.643 1.00 23.07 C +ATOM 94 O ILE A 65 7.027 -5.913 14.030 1.00 23.44 O +ATOM 95 CB ILE A 65 6.423 -3.339 15.851 1.00 25.59 C +ATOM 96 CG1 ILE A 65 6.962 -3.595 17.271 1.00 26.04 C +ATOM 97 CG2 ILE A 65 5.173 -4.174 15.650 1.00 21.66 C +ATOM 98 CD1 ILE A 65 6.029 -3.211 18.423 1.00 25.92 C +ATOM 99 N PRO A 66 9.005 -5.608 15.082 1.00 23.03 N +ATOM 100 CA PRO A 66 9.328 -7.039 15.000 1.00 23.30 C +ATOM 101 C PRO A 66 8.373 -7.936 15.805 1.00 22.52 C +ATOM 102 O PRO A 66 7.733 -7.476 16.760 1.00 21.80 O +ATOM 103 CB PRO A 66 10.731 -7.092 15.577 1.00 22.47 C +ATOM 104 CG PRO A 66 11.321 -5.780 15.171 1.00 23.62 C +ATOM 105 CD PRO A 66 10.202 -4.821 15.455 1.00 22.54 C +ATOM 106 N ARG A 67 8.271 -9.196 15.382 1.00 22.06 N +ATOM 107 CA ARG A 67 7.433 -10.219 16.020 1.00 22.83 C +ATOM 108 C ARG A 67 7.699 -10.347 17.529 1.00 24.10 C +ATOM 109 O ARG A 67 6.768 -10.261 18.334 1.00 23.86 O +ATOM 110 CB ARG A 67 7.674 -11.560 15.316 1.00 23.94 C +ATOM 111 CG ARG A 67 6.907 -12.774 15.864 1.00 24.62 C +ATOM 112 CD ARG A 67 7.324 -14.023 15.112 1.00 23.47 C +ATOM 113 NE ARG A 67 6.867 -15.262 15.739 1.00 22.04 N +ATOM 114 CZ ARG A 67 5.894 -16.036 15.262 1.00 20.66 C +ATOM 115 NH1 ARG A 67 5.240 -15.700 14.155 1.00 19.53 N +ATOM 116 NH2 ARG A 67 5.607 -17.184 15.863 1.00 23.22 N +ATOM 117 N ALA A 68 8.974 -10.480 17.898 1.00 22.59 N +ATOM 118 CA ALA A 68 9.386 -10.612 19.299 1.00 23.66 C +ATOM 119 C ALA A 68 9.109 -9.356 20.121 1.00 23.97 C +ATOM 120 O ALA A 68 8.824 -9.445 21.320 1.00 21.85 O +ATOM 121 CB ALA A 68 10.850 -10.990 19.384 1.00 24.34 C +ATOM 122 N LYS A 69 9.149 -8.199 19.455 1.00 23.41 N +ATOM 123 CA LYS A 69 8.880 -6.917 20.103 1.00 25.09 C +ATOM 124 C LYS A 69 7.378 -6.717 20.320 1.00 23.56 C +ATOM 125 O LYS A 69 6.968 -6.064 21.278 1.00 23.45 O +ATOM 126 CB LYS A 69 9.470 -5.764 19.296 1.00 28.16 C +ATOM 127 CG LYS A 69 10.376 -4.839 20.098 1.00 34.10 C +ATOM 128 CD LYS A 69 11.700 -5.504 20.427 1.00 35.59 C +ATOM 129 CE LYS A 69 12.617 -4.610 21.248 1.00 38.56 C +ATOM 130 NZ LYS A 69 13.031 -3.384 20.500 1.00 40.78 N +ATOM 131 N ALA A 70 6.569 -7.318 19.442 1.00 21.80 N +ATOM 132 CA ALA A 70 5.106 -7.272 19.532 1.00 20.39 C +ATOM 133 C ALA A 70 4.711 -8.157 20.718 1.00 20.37 C +ATOM 134 O ALA A 70 3.856 -7.788 21.511 1.00 18.06 O +ATOM 135 CB ALA A 70 4.477 -7.795 18.247 1.00 20.76 C +ATOM 136 N GLU A 71 5.429 -9.273 20.876 1.00 20.11 N +ATOM 137 CA GLU A 71 5.215 -10.213 21.983 1.00 21.59 C +ATOM 138 C GLU A 71 5.492 -9.561 23.332 1.00 22.42 C +ATOM 139 O GLU A 71 4.665 -9.622 24.238 1.00 23.01 O +ATOM 140 CB GLU A 71 6.103 -11.453 21.844 1.00 20.77 C +ATOM 141 CG GLU A 71 5.676 -12.404 20.752 1.00 20.33 C +ATOM 142 CD GLU A 71 6.580 -13.621 20.589 1.00 23.37 C +ATOM 143 OE1 GLU A 71 7.586 -13.757 21.325 1.00 24.10 O +ATOM 144 OE2 GLU A 71 6.275 -14.452 19.703 1.00 22.08 O +ATOM 145 N GLU A 72 6.639 -8.890 23.414 1.00 24.69 N +ATOM 146 CA GLU A 72 7.114 -8.182 24.603 1.00 26.91 C +ATOM 147 C GLU A 72 6.147 -7.077 25.056 1.00 26.71 C +ATOM 148 O GLU A 72 5.800 -7.000 26.231 1.00 27.59 O +ATOM 149 CB GLU A 72 8.487 -7.585 24.281 1.00 29.90 C +ATOM 150 CG GLU A 72 9.259 -6.984 25.439 1.00 35.72 C +ATOM 151 CD GLU A 72 10.634 -6.502 25.009 1.00 38.18 C +ATOM 152 OE1 GLU A 72 11.515 -7.357 24.771 1.00 41.23 O +ATOM 153 OE2 GLU A 72 10.827 -5.272 24.900 1.00 40.41 O +ATOM 154 N MET A 73 5.683 -6.273 24.099 1.00 25.69 N +ATOM 155 CA MET A 73 4.764 -5.161 24.348 1.00 25.99 C +ATOM 156 C MET A 73 3.375 -5.643 24.772 1.00 23.81 C +ATOM 157 O MET A 73 2.828 -5.155 25.769 1.00 24.09 O +ATOM 158 CB MET A 73 4.675 -4.265 23.093 1.00 29.48 C +ATOM 159 CG MET A 73 3.816 -2.985 23.205 1.00 33.88 C +ATOM 160 SD MET A 73 2.045 -3.236 22.891 1.00 40.73 S +ATOM 161 CE MET A 73 1.356 -1.829 23.696 1.00 40.37 C +ATOM 162 N LEU A 74 2.830 -6.601 24.019 1.00 19.41 N +ATOM 163 CA LEU A 74 1.496 -7.148 24.282 1.00 21.16 C +ATOM 164 C LEU A 74 1.366 -8.006 25.540 1.00 20.66 C +ATOM 165 O LEU A 74 0.301 -8.035 26.151 1.00 20.51 O +ATOM 166 CB LEU A 74 0.951 -7.895 23.059 1.00 18.35 C +ATOM 167 CG LEU A 74 0.681 -7.041 21.812 1.00 18.12 C +ATOM 168 CD1 LEU A 74 0.294 -7.950 20.684 1.00 16.60 C +ATOM 169 CD2 LEU A 74 -0.402 -6.006 22.047 1.00 16.44 C +ATOM 170 N SER A 75 2.447 -8.677 25.939 1.00 21.80 N +ATOM 171 CA SER A 75 2.456 -9.511 27.159 1.00 25.20 C +ATOM 172 C SER A 75 2.269 -8.632 28.411 1.00 25.97 C +ATOM 173 O SER A 75 1.759 -9.099 29.433 1.00 28.52 O +ATOM 174 CB SER A 75 3.775 -10.286 27.278 1.00 23.60 C +ATOM 175 OG SER A 75 4.885 -9.397 27.275 1.00 26.10 O +ATOM 176 N LYS A 76 2.668 -7.361 28.293 1.00 25.99 N +ATOM 177 CA LYS A 76 2.553 -6.363 29.360 1.00 27.23 C +ATOM 178 C LYS A 76 1.156 -5.735 29.416 1.00 25.74 C +ATOM 179 O LYS A 76 0.802 -5.100 30.401 1.00 24.43 O +ATOM 180 CB LYS A 76 3.613 -5.267 29.209 1.00 30.60 C +ATOM 181 CG LYS A 76 5.036 -5.752 29.442 1.00 33.98 C +ATOM 182 CD LYS A 76 6.011 -4.579 29.425 1.00 40.37 C +ATOM 183 CE LYS A 76 7.436 -5.038 29.716 1.00 41.35 C +ATOM 184 NZ LYS A 76 7.962 -5.994 28.697 1.00 43.77 N +ATOM 185 N GLN A 77 0.360 -5.934 28.366 1.00 24.14 N +ATOM 186 CA GLN A 77 -1.015 -5.418 28.316 1.00 23.22 C +ATOM 187 C GLN A 77 -1.864 -6.227 29.291 1.00 22.39 C +ATOM 188 O GLN A 77 -1.605 -7.409 29.499 1.00 21.05 O +ATOM 189 CB GLN A 77 -1.578 -5.514 26.899 1.00 22.91 C +ATOM 190 CG GLN A 77 -1.026 -4.488 25.925 1.00 19.40 C +ATOM 191 CD GLN A 77 -1.510 -3.085 26.220 1.00 21.60 C +ATOM 192 OE1 GLN A 77 -2.715 -2.821 26.205 1.00 21.35 O +ATOM 193 NE2 GLN A 77 -0.578 -2.178 26.500 1.00 20.89 N +ATOM 194 N AARG A 78 -2.851 -5.608 29.934 0.50 23.71 N +ATOM 194 N BARG A 78 -2.833 -5.548 29.881 0.50 23.71 N +ATOM 195 CA AARG A 78 -3.679 -6.371 30.876 0.50 24.25 C +ATOM 195 CA BARG A 78 -3.736 -6.099 30.882 0.50 24.25 C +ATOM 196 C AARG A 78 -4.796 -7.173 30.240 0.50 24.10 C +ATOM 196 C BARG A 78 -4.834 -7.024 30.341 0.50 24.10 C +ATOM 197 O AARG A 78 -5.000 -8.339 30.597 0.50 26.14 O +ATOM 197 O BARG A 78 -5.070 -8.106 30.884 0.50 26.14 O +ATOM 198 CB AARG A 78 -4.249 -5.512 32.015 0.50 26.10 C +ATOM 198 CB BARG A 78 -4.381 -4.923 31.620 0.50 26.10 C +ATOM 199 CG AARG A 78 -4.735 -6.393 33.187 0.50 26.78 C +ATOM 199 CG BARG A 78 -5.189 -5.307 32.831 0.50 26.78 C +ATOM 200 CD AARG A 78 -5.396 -5.623 34.306 0.50 28.73 C +ATOM 200 CD BARG A 78 -6.058 -4.173 33.250 0.50 28.73 C +ATOM 201 NE AARG A 78 -5.728 -6.434 35.489 0.50 29.50 N +ATOM 201 NE BARG A 78 -6.914 -4.592 34.350 0.50 29.50 N +ATOM 202 CZ AARG A 78 -4.857 -7.074 36.277 0.50 30.52 C +ATOM 202 CZ BARG A 78 -7.687 -3.785 35.065 0.50 30.52 C +ATOM 203 NH1AARG A 78 -3.549 -7.043 36.041 0.50 29.29 N +ATOM 203 NH1BARG A 78 -7.726 -2.481 34.810 0.50 29.29 N +ATOM 204 NH2AARG A 78 -5.302 -7.727 37.342 0.50 31.57 N +ATOM 204 NH2BARG A 78 -8.428 -4.294 36.038 0.50 31.57 N +ATOM 205 N HIS A 79 -5.502 -6.582 29.287 1.00 25.37 N +ATOM 206 CA HIS A 79 -6.623 -7.268 28.651 1.00 24.14 C +ATOM 207 C HIS A 79 -6.342 -8.257 27.535 1.00 26.02 C +ATOM 208 O HIS A 79 -5.534 -7.989 26.632 1.00 25.31 O +ATOM 209 CB HIS A 79 -7.629 -6.234 28.157 1.00 25.31 C +ATOM 210 CG HIS A 79 -8.133 -5.311 29.226 1.00 27.99 C +ATOM 211 ND1 HIS A 79 -8.925 -5.739 30.270 1.00 29.47 N +ATOM 212 CD2 HIS A 79 -7.952 -3.982 29.412 1.00 28.40 C +ATOM 213 CE1 HIS A 79 -9.209 -4.713 31.054 1.00 29.32 C +ATOM 214 NE2 HIS A 79 -8.629 -3.634 30.556 1.00 28.66 N +ATOM 215 N ASP A 80 -7.037 -9.402 27.609 1.00 25.33 N +ATOM 216 CA ASP A 80 -6.962 -10.446 26.591 1.00 25.36 C +ATOM 217 C ASP A 80 -7.614 -9.840 25.348 1.00 24.85 C +ATOM 218 O ASP A 80 -8.646 -9.169 25.453 1.00 23.39 O +ATOM 219 CB ASP A 80 -7.768 -11.679 27.006 1.00 26.93 C +ATOM 220 CG ASP A 80 -7.090 -12.502 28.085 1.00 30.53 C +ATOM 221 OD1 ASP A 80 -5.839 -12.525 28.149 1.00 29.14 O +ATOM 222 OD2 ASP A 80 -7.829 -13.142 28.866 1.00 32.00 O +ATOM 223 N GLY A 81 -6.974 -10.015 24.197 1.00 23.06 N +ATOM 224 CA GLY A 81 -7.504 -9.450 22.970 1.00 21.59 C +ATOM 225 C GLY A 81 -6.759 -8.203 22.530 1.00 20.69 C +ATOM 226 O GLY A 81 -6.999 -7.711 21.422 1.00 21.71 O +ATOM 227 N ALA A 82 -5.878 -7.677 23.392 1.00 19.57 N +ATOM 228 CA ALA A 82 -5.071 -6.490 23.067 1.00 19.24 C +ATOM 229 C ALA A 82 -4.201 -6.896 21.880 1.00 18.50 C +ATOM 230 O ALA A 82 -3.520 -7.921 21.911 1.00 18.78 O +ATOM 231 CB ALA A 82 -4.232 -6.062 24.236 1.00 18.27 C +ATOM 232 N PHE A 83 -4.290 -6.114 20.816 1.00 19.38 N +ATOM 233 CA PHE A 83 -3.607 -6.453 19.584 1.00 18.96 C +ATOM 234 C PHE A 83 -2.881 -5.337 18.864 1.00 19.03 C +ATOM 235 O PHE A 83 -2.975 -4.174 19.225 1.00 21.27 O +ATOM 236 CB PHE A 83 -4.653 -7.063 18.621 1.00 18.84 C +ATOM 237 CG PHE A 83 -5.593 -6.043 18.010 1.00 18.07 C +ATOM 238 CD1 PHE A 83 -5.482 -5.698 16.650 1.00 19.08 C +ATOM 239 CD2 PHE A 83 -6.535 -5.368 18.807 1.00 19.15 C +ATOM 240 CE1 PHE A 83 -6.296 -4.686 16.092 1.00 19.28 C +ATOM 241 CE2 PHE A 83 -7.356 -4.353 18.266 1.00 19.03 C +ATOM 242 CZ PHE A 83 -7.237 -4.011 16.911 1.00 19.82 C +ATOM 243 N LEU A 84 -2.284 -5.727 17.741 1.00 18.10 N +ATOM 244 CA LEU A 84 -1.602 -4.820 16.848 1.00 18.21 C +ATOM 245 C LEU A 84 -1.459 -5.454 15.474 1.00 17.25 C +ATOM 246 O LEU A 84 -1.461 -6.677 15.340 1.00 15.82 O +ATOM 247 CB LEU A 84 -0.227 -4.403 17.399 1.00 18.70 C +ATOM 248 CG LEU A 84 0.963 -5.324 17.689 1.00 18.94 C +ATOM 249 CD1 LEU A 84 1.757 -5.641 16.439 1.00 18.83 C +ATOM 250 CD2 LEU A 84 1.868 -4.612 18.680 1.00 16.70 C +ATOM 251 N ILE A 85 -1.376 -4.598 14.459 1.00 16.48 N +ATOM 252 CA ILE A 85 -1.141 -5.025 13.087 1.00 15.71 C +ATOM 253 C ILE A 85 0.276 -4.538 12.829 1.00 16.26 C +ATOM 254 O ILE A 85 0.622 -3.392 13.138 1.00 16.71 O +ATOM 255 CB ILE A 85 -2.132 -4.387 12.055 1.00 16.64 C +ATOM 256 CG1 ILE A 85 -3.531 -5.011 12.185 1.00 16.82 C +ATOM 257 CG2 ILE A 85 -1.611 -4.543 10.610 1.00 16.76 C +ATOM 258 CD1 ILE A 85 -3.705 -6.426 11.628 1.00 20.48 C +ATOM 259 N ARG A 86 1.095 -5.430 12.291 1.00 16.77 N +ATOM 260 CA ARG A 86 2.473 -5.100 11.988 1.00 15.66 C +ATOM 261 C ARG A 86 2.843 -5.530 10.590 1.00 17.95 C +ATOM 262 O ARG A 86 2.173 -6.376 9.996 1.00 16.74 O +ATOM 263 CB ARG A 86 3.409 -5.767 12.995 1.00 13.47 C +ATOM 264 CG ARG A 86 3.247 -7.261 13.115 1.00 13.70 C +ATOM 265 CD ARG A 86 4.097 -7.815 14.236 1.00 18.81 C +ATOM 266 NE ARG A 86 3.818 -9.229 14.434 1.00 19.30 N +ATOM 267 CZ ARG A 86 4.414 -10.216 13.778 1.00 19.86 C +ATOM 268 NH1 ARG A 86 5.351 -9.959 12.873 1.00 18.77 N +ATOM 269 NH2 ARG A 86 4.036 -11.463 14.002 1.00 19.36 N +ATOM 270 N GLU A 87 3.919 -4.940 10.078 1.00 18.67 N +ATOM 271 CA GLU A 87 4.430 -5.268 8.754 1.00 22.01 C +ATOM 272 C GLU A 87 5.506 -6.319 8.983 1.00 23.29 C +ATOM 273 O GLU A 87 6.443 -6.106 9.754 1.00 21.72 O +ATOM 274 CB GLU A 87 4.961 -4.016 8.060 1.00 20.74 C +ATOM 275 CG GLU A 87 3.910 -2.916 8.034 1.00 20.53 C +ATOM 276 CD GLU A 87 4.221 -1.805 7.079 1.00 20.48 C +ATOM 277 OE1 GLU A 87 4.115 -2.030 5.854 1.00 18.78 O +ATOM 278 OE2 GLU A 87 4.572 -0.702 7.548 1.00 21.44 O +ATOM 279 N SER A 88 5.278 -7.490 8.394 1.00 25.14 N +ATOM 280 CA SER A 88 6.146 -8.658 8.522 1.00 30.16 C +ATOM 281 C SER A 88 7.572 -8.475 8.016 1.00 31.78 C +ATOM 282 O SER A 88 7.830 -7.691 7.102 1.00 31.34 O +ATOM 283 CB SER A 88 5.487 -9.858 7.824 1.00 31.22 C +ATOM 284 OG SER A 88 6.158 -11.083 8.098 1.00 33.79 O +ATOM 285 N GLU A 89 8.496 -9.161 8.684 1.00 34.33 N +ATOM 286 CA GLU A 89 9.910 -9.147 8.331 1.00 34.28 C +ATOM 287 C GLU A 89 10.238 -10.449 7.589 1.00 34.91 C +ATOM 288 O GLU A 89 11.142 -10.479 6.750 1.00 35.79 O +ATOM 289 CB GLU A 89 10.785 -9.016 9.579 1.00 33.80 C +ATOM 290 CG GLU A 89 10.685 -7.680 10.296 1.00 33.89 C +ATOM 291 CD GLU A 89 11.669 -7.561 11.447 1.00 33.72 C +ATOM 292 OE1 GLU A 89 11.614 -8.402 12.373 1.00 30.65 O +ATOM 293 OE2 GLU A 89 12.507 -6.630 11.423 1.00 35.73 O +ATOM 294 N SER A 90 9.485 -11.513 7.891 1.00 36.32 N +ATOM 295 CA SER A 90 9.675 -12.824 7.252 1.00 36.13 C +ATOM 296 C SER A 90 9.063 -12.840 5.850 1.00 37.21 C +ATOM 297 O SER A 90 9.502 -13.592 4.974 1.00 38.74 O +ATOM 298 CB SER A 90 9.075 -13.955 8.104 1.00 35.59 C +ATOM 299 OG SER A 90 7.653 -13.935 8.131 1.00 36.25 O +ATOM 300 N ALA A 91 8.055 -11.993 5.650 1.00 36.12 N +ATOM 301 CA ALA A 91 7.375 -11.866 4.363 1.00 35.07 C +ATOM 302 C ALA A 91 7.188 -10.374 4.057 1.00 34.44 C +ATOM 303 O ALA A 91 6.166 -9.783 4.434 1.00 33.06 O +ATOM 304 CB ALA A 91 6.023 -12.601 4.393 1.00 36.10 C +ATOM 305 N PRO A 92 8.189 -9.734 3.398 1.00 33.85 N +ATOM 306 CA PRO A 92 8.141 -8.307 3.044 1.00 32.72 C +ATOM 307 C PRO A 92 6.960 -7.947 2.155 1.00 31.39 C +ATOM 308 O PRO A 92 6.740 -8.573 1.115 1.00 32.49 O +ATOM 309 CB PRO A 92 9.468 -8.090 2.310 1.00 33.92 C +ATOM 310 CG PRO A 92 10.375 -9.092 2.945 1.00 34.25 C +ATOM 311 CD PRO A 92 9.484 -10.309 2.981 1.00 34.10 C +ATOM 312 N GLY A 93 6.197 -6.950 2.596 1.00 30.52 N +ATOM 313 CA GLY A 93 5.028 -6.501 1.863 1.00 28.53 C +ATOM 314 C GLY A 93 3.742 -7.026 2.469 1.00 28.38 C +ATOM 315 O GLY A 93 2.644 -6.621 2.073 1.00 29.12 O +ATOM 316 N ASP A 94 3.877 -7.943 3.423 1.00 27.73 N +ATOM 317 CA ASP A 94 2.724 -8.538 4.092 1.00 26.63 C +ATOM 318 C ASP A 94 2.536 -8.030 5.510 1.00 24.96 C +ATOM 319 O ASP A 94 3.453 -7.470 6.106 1.00 25.62 O +ATOM 320 CB ASP A 94 2.838 -10.066 4.109 1.00 29.22 C +ATOM 321 CG ASP A 94 2.751 -10.684 2.723 1.00 29.78 C +ATOM 322 OD1 ASP A 94 2.202 -10.050 1.789 1.00 32.78 O +ATOM 323 OD2 ASP A 94 3.225 -11.825 2.575 1.00 35.13 O +ATOM 324 N PHE A 95 1.322 -8.201 6.022 1.00 22.36 N +ATOM 325 CA PHE A 95 0.986 -7.799 7.377 1.00 20.72 C +ATOM 326 C PHE A 95 0.767 -9.033 8.230 1.00 20.75 C +ATOM 327 O PHE A 95 0.498 -10.121 7.715 1.00 19.54 O +ATOM 328 CB PHE A 95 -0.279 -6.931 7.408 1.00 18.96 C +ATOM 329 CG PHE A 95 -0.164 -5.668 6.612 1.00 19.08 C +ATOM 330 CD1 PHE A 95 -0.610 -5.628 5.276 1.00 16.88 C +ATOM 331 CD2 PHE A 95 0.436 -4.525 7.172 1.00 16.90 C +ATOM 332 CE1 PHE A 95 -0.452 -4.459 4.496 1.00 20.33 C +ATOM 333 CE2 PHE A 95 0.600 -3.349 6.408 1.00 17.78 C +ATOM 334 CZ PHE A 95 0.158 -3.315 5.069 1.00 19.53 C +ATOM 335 N SER A 96 0.876 -8.841 9.538 1.00 21.05 N +ATOM 336 CA SER A 96 0.674 -9.902 10.515 1.00 20.51 C +ATOM 337 C SER A 96 -0.116 -9.299 11.661 1.00 19.95 C +ATOM 338 O SER A 96 -0.022 -8.095 11.907 1.00 19.30 O +ATOM 339 CB SER A 96 2.013 -10.432 11.028 1.00 19.60 C +ATOM 340 OG SER A 96 2.790 -10.958 9.972 1.00 22.71 O +ATOM 341 N LEU A 97 -0.901 -10.141 12.335 1.00 17.57 N +ATOM 342 CA LEU A 97 -1.735 -9.735 13.461 1.00 19.49 C +ATOM 343 C LEU A 97 -1.203 -10.447 14.704 1.00 17.42 C +ATOM 344 O LEU A 97 -1.111 -11.670 14.721 1.00 18.24 O +ATOM 345 CB LEU A 97 -3.195 -10.159 13.210 1.00 19.00 C +ATOM 346 CG LEU A 97 -4.464 -9.532 13.818 1.00 23.13 C +ATOM 347 CD1 LEU A 97 -5.459 -10.631 14.128 1.00 22.15 C +ATOM 348 CD2 LEU A 97 -4.224 -8.690 15.049 1.00 21.59 C +ATOM 349 N SER A 98 -0.901 -9.672 15.743 1.00 17.13 N +ATOM 350 CA SER A 98 -0.383 -10.202 17.008 1.00 18.39 C +ATOM 351 C SER A 98 -1.398 -9.866 18.089 1.00 17.34 C +ATOM 352 O SER A 98 -1.794 -8.720 18.217 1.00 17.34 O +ATOM 353 CB SER A 98 0.987 -9.608 17.309 1.00 16.78 C +ATOM 354 OG SER A 98 1.921 -10.006 16.316 1.00 18.56 O +ATOM 355 N VAL A 99 -1.864 -10.883 18.812 1.00 17.69 N +ATOM 356 CA VAL A 99 -2.911 -10.719 19.828 1.00 19.80 C +ATOM 357 C VAL A 99 -2.540 -11.362 21.158 1.00 19.64 C +ATOM 358 O VAL A 99 -2.083 -12.499 21.189 1.00 18.25 O +ATOM 359 CB VAL A 99 -4.249 -11.418 19.386 1.00 19.72 C +ATOM 360 CG1 VAL A 99 -5.410 -10.940 20.248 1.00 19.01 C +ATOM 361 CG2 VAL A 99 -4.553 -11.198 17.928 1.00 19.34 C +ATOM 362 N LYS A 100 -2.821 -10.658 22.254 1.00 20.64 N +ATOM 363 CA LYS A 100 -2.558 -11.185 23.591 1.00 20.57 C +ATOM 364 C LYS A 100 -3.720 -12.093 23.996 1.00 20.04 C +ATOM 365 O LYS A 100 -4.876 -11.785 23.720 1.00 20.70 O +ATOM 366 CB LYS A 100 -2.429 -10.052 24.620 1.00 22.10 C +ATOM 367 CG LYS A 100 -2.080 -10.532 26.032 1.00 23.82 C +ATOM 368 CD LYS A 100 -2.568 -9.580 27.096 1.00 27.01 C +ATOM 369 CE LYS A 100 -2.560 -10.240 28.469 1.00 30.35 C +ATOM 370 NZ LYS A 100 -1.181 -10.539 28.929 1.00 28.75 N +ATOM 371 N PHE A 101 -3.384 -13.221 24.619 1.00 21.21 N +ATOM 372 CA PHE A 101 -4.368 -14.178 25.125 1.00 23.43 C +ATOM 373 C PHE A 101 -3.734 -15.012 26.231 1.00 23.74 C +ATOM 374 O PHE A 101 -3.093 -16.037 25.969 1.00 23.68 O +ATOM 375 CB PHE A 101 -4.914 -15.087 24.022 1.00 24.24 C +ATOM 376 CG PHE A 101 -6.243 -15.699 24.357 1.00 25.11 C +ATOM 377 CD1 PHE A 101 -6.390 -17.094 24.419 1.00 25.75 C +ATOM 378 CD2 PHE A 101 -7.376 -14.880 24.577 1.00 25.07 C +ATOM 379 CE1 PHE A 101 -7.664 -17.681 24.689 1.00 25.98 C +ATOM 380 CE2 PHE A 101 -8.648 -15.443 24.847 1.00 24.21 C +ATOM 381 CZ PHE A 101 -8.791 -16.849 24.899 1.00 25.48 C +ATOM 382 N GLY A 102 -3.930 -14.564 27.469 1.00 25.15 N +ATOM 383 CA GLY A 102 -3.361 -15.245 28.625 1.00 26.29 C +ATOM 384 C GLY A 102 -1.877 -14.993 28.739 1.00 26.64 C +ATOM 385 O GLY A 102 -1.451 -13.846 28.668 1.00 28.01 O +ATOM 386 N ASN A 103 -1.100 -16.072 28.841 1.00 27.82 N +ATOM 387 CA ASN A 103 0.354 -16.001 28.956 1.00 30.45 C +ATOM 388 C ASN A 103 1.042 -15.990 27.588 1.00 29.43 C +ATOM 389 O ASN A 103 2.270 -15.902 27.508 1.00 30.46 O +ATOM 390 CB ASN A 103 0.876 -17.178 29.792 1.00 32.42 C +ATOM 391 CG ASN A 103 2.229 -16.890 30.435 1.00 34.84 C +ATOM 392 OD1 ASN A 103 2.363 -15.956 31.226 1.00 40.34 O +ATOM 393 ND2 ASN A 103 3.236 -17.683 30.087 1.00 36.08 N +ATOM 394 N ASP A 104 0.242 -16.071 26.523 1.00 29.06 N +ATOM 395 CA ASP A 104 0.757 -16.085 25.150 1.00 27.63 C +ATOM 396 C ASP A 104 0.333 -14.891 24.306 1.00 25.19 C +ATOM 397 O ASP A 104 -0.638 -14.193 24.608 1.00 21.61 O +ATOM 398 CB ASP A 104 0.280 -17.333 24.386 1.00 30.34 C +ATOM 399 CG ASP A 104 0.624 -18.631 25.080 1.00 33.41 C +ATOM 400 OD1 ASP A 104 1.772 -18.782 25.555 1.00 36.30 O +ATOM 401 OD2 ASP A 104 -0.269 -19.502 25.139 1.00 35.42 O +ATOM 402 N VAL A 105 1.125 -14.652 23.264 1.00 22.89 N +ATOM 403 CA VAL A 105 0.848 -13.629 22.275 1.00 22.71 C +ATOM 404 C VAL A 105 0.847 -14.436 20.977 1.00 23.77 C +ATOM 405 O VAL A 105 1.885 -14.951 20.523 1.00 25.15 O +ATOM 406 CB VAL A 105 1.877 -12.491 22.254 1.00 21.47 C +ATOM 407 CG1 VAL A 105 1.562 -11.527 21.108 1.00 18.79 C +ATOM 408 CG2 VAL A 105 1.843 -11.724 23.573 1.00 19.83 C +ATOM 409 N GLN A 106 -0.354 -14.596 20.439 1.00 20.59 N +ATOM 410 CA GLN A 106 -0.593 -15.366 19.228 1.00 20.74 C +ATOM 411 C GLN A 106 -0.429 -14.543 17.961 1.00 20.58 C +ATOM 412 O GLN A 106 -0.813 -13.374 17.916 1.00 20.07 O +ATOM 413 CB GLN A 106 -1.991 -15.978 19.287 1.00 19.27 C +ATOM 414 CG GLN A 106 -2.180 -16.941 20.450 1.00 21.40 C +ATOM 415 CD GLN A 106 -3.531 -17.626 20.445 1.00 22.38 C +ATOM 416 OE1 GLN A 106 -4.254 -17.593 19.447 1.00 22.11 O +ATOM 417 NE2 GLN A 106 -3.878 -18.258 21.567 1.00 21.46 N +ATOM 418 N HIS A 107 0.173 -15.161 16.947 1.00 18.73 N +ATOM 419 CA HIS A 107 0.406 -14.508 15.669 1.00 18.21 C +ATOM 420 C HIS A 107 -0.423 -15.125 14.559 1.00 19.67 C +ATOM 421 O HIS A 107 -0.617 -16.343 14.511 1.00 19.27 O +ATOM 422 CB HIS A 107 1.896 -14.527 15.310 1.00 19.88 C +ATOM 423 CG HIS A 107 2.768 -13.937 16.371 1.00 19.85 C +ATOM 424 ND1 HIS A 107 2.836 -12.583 16.612 1.00 18.40 N +ATOM 425 CD2 HIS A 107 3.566 -14.524 17.294 1.00 19.69 C +ATOM 426 CE1 HIS A 107 3.636 -12.361 17.639 1.00 18.28 C +ATOM 427 NE2 HIS A 107 4.093 -13.522 18.070 1.00 18.09 N +ATOM 428 N PHE A 108 -0.974 -14.247 13.720 1.00 17.84 N +ATOM 429 CA PHE A 108 -1.807 -14.619 12.580 1.00 18.06 C +ATOM 430 C PHE A 108 -1.235 -13.935 11.340 1.00 19.95 C +ATOM 431 O PHE A 108 -0.778 -12.792 11.411 1.00 19.39 O +ATOM 432 CB PHE A 108 -3.261 -14.127 12.766 1.00 18.60 C +ATOM 433 CG PHE A 108 -3.966 -14.685 13.982 1.00 19.40 C +ATOM 434 CD1 PHE A 108 -3.724 -14.152 15.266 1.00 20.90 C +ATOM 435 CD2 PHE A 108 -4.872 -15.752 13.855 1.00 21.09 C +ATOM 436 CE1 PHE A 108 -4.369 -14.680 16.413 1.00 19.57 C +ATOM 437 CE2 PHE A 108 -5.526 -16.290 14.994 1.00 20.88 C +ATOM 438 CZ PHE A 108 -5.272 -15.753 16.275 1.00 21.10 C +ATOM 439 N LYS A 109 -1.230 -14.637 10.213 1.00 19.66 N +ATOM 440 CA LYS A 109 -0.750 -14.041 8.975 1.00 21.58 C +ATOM 441 C LYS A 109 -1.942 -13.431 8.242 1.00 20.96 C +ATOM 442 O LYS A 109 -2.975 -14.075 8.108 1.00 21.08 O +ATOM 443 CB LYS A 109 -0.034 -15.087 8.098 1.00 24.16 C +ATOM 444 CG LYS A 109 0.463 -14.587 6.724 1.00 26.38 C +ATOM 445 CD LYS A 109 1.565 -13.499 6.811 1.00 31.48 C +ATOM 446 CE LYS A 109 2.941 -14.086 7.063 1.00 31.64 C +ATOM 447 NZ LYS A 109 3.391 -14.983 5.958 1.00 35.14 N +ATOM 448 N VAL A 110 -1.815 -12.163 7.851 1.00 20.32 N +ATOM 449 CA VAL A 110 -2.869 -11.494 7.092 1.00 19.85 C +ATOM 450 C VAL A 110 -2.601 -11.848 5.628 1.00 21.71 C +ATOM 451 O VAL A 110 -1.586 -11.459 5.041 1.00 21.82 O +ATOM 452 CB VAL A 110 -2.889 -9.958 7.300 1.00 20.05 C +ATOM 453 CG1 VAL A 110 -4.014 -9.326 6.496 1.00 21.04 C +ATOM 454 CG2 VAL A 110 -3.069 -9.617 8.778 1.00 20.52 C +ATOM 455 N LEU A 111 -3.497 -12.661 5.083 1.00 21.59 N +ATOM 456 CA LEU A 111 -3.411 -13.139 3.711 1.00 25.08 C +ATOM 457 C LEU A 111 -4.077 -12.150 2.750 1.00 26.75 C +ATOM 458 O LEU A 111 -4.857 -11.298 3.175 1.00 25.91 O +ATOM 459 CB LEU A 111 -4.064 -14.518 3.634 1.00 24.66 C +ATOM 460 CG LEU A 111 -3.540 -15.538 4.653 1.00 25.88 C +ATOM 461 CD1 LEU A 111 -4.564 -16.610 4.929 1.00 25.09 C +ATOM 462 CD2 LEU A 111 -2.211 -16.125 4.194 1.00 23.16 C +ATOM 463 N ARG A 112 -3.731 -12.246 1.468 1.00 28.17 N +ATOM 464 CA ARG A 112 -4.279 -11.363 0.440 1.00 29.55 C +ATOM 465 C ARG A 112 -4.500 -12.149 -0.857 1.00 30.76 C +ATOM 466 O ARG A 112 -3.568 -12.796 -1.356 1.00 31.83 O +ATOM 467 CB ARG A 112 -3.322 -10.184 0.204 1.00 31.79 C +ATOM 468 CG ARG A 112 -4.004 -8.914 -0.312 1.00 33.58 C +ATOM 469 CD ARG A 112 -3.014 -7.787 -0.548 1.00 35.40 C +ATOM 470 NE ARG A 112 -3.642 -6.690 -1.284 1.00 33.58 N +ATOM 471 CZ ARG A 112 -3.042 -5.953 -2.216 1.00 33.96 C +ATOM 472 NH1 ARG A 112 -1.769 -6.170 -2.546 1.00 34.06 N +ATOM 473 NH2 ARG A 112 -3.740 -5.025 -2.862 1.00 31.88 N +ATOM 474 N ASP A 113 -5.735 -12.126 -1.377 1.00 29.94 N +ATOM 475 CA ASP A 113 -6.067 -12.849 -2.617 1.00 31.10 C +ATOM 476 C ASP A 113 -5.719 -12.076 -3.896 1.00 31.83 C +ATOM 477 O ASP A 113 -5.267 -10.931 -3.821 1.00 31.04 O +ATOM 478 CB ASP A 113 -7.543 -13.343 -2.633 1.00 28.48 C +ATOM 479 CG ASP A 113 -8.593 -12.213 -2.677 1.00 27.85 C +ATOM 480 OD1 ASP A 113 -8.312 -11.057 -3.054 1.00 24.93 O +ATOM 481 OD2 ASP A 113 -9.762 -12.512 -2.359 1.00 29.99 O +ATOM 482 N GLY A 114 -5.991 -12.693 -5.052 1.00 32.39 N +ATOM 483 CA GLY A 114 -5.725 -12.078 -6.351 1.00 33.30 C +ATOM 484 C GLY A 114 -6.502 -10.802 -6.658 1.00 32.74 C +ATOM 485 O GLY A 114 -6.091 -10.019 -7.522 1.00 34.46 O +ATOM 486 N ALA A 115 -7.617 -10.596 -5.951 1.00 31.14 N +ATOM 487 CA ALA A 115 -8.458 -9.406 -6.112 1.00 31.26 C +ATOM 488 C ALA A 115 -8.036 -8.307 -5.121 1.00 31.35 C +ATOM 489 O ALA A 115 -8.659 -7.244 -5.046 1.00 32.95 O +ATOM 490 CB ALA A 115 -9.939 -9.773 -5.925 1.00 30.37 C +ATOM 491 N GLY A 116 -6.979 -8.591 -4.360 1.00 31.39 N +ATOM 492 CA GLY A 116 -6.446 -7.658 -3.379 1.00 31.28 C +ATOM 493 C GLY A 116 -7.150 -7.603 -2.033 1.00 30.27 C +ATOM 494 O GLY A 116 -6.840 -6.719 -1.225 1.00 30.71 O +ATOM 495 N LYS A 117 -8.048 -8.553 -1.769 1.00 27.52 N +ATOM 496 CA LYS A 117 -8.796 -8.588 -0.509 1.00 27.94 C +ATOM 497 C LYS A 117 -8.033 -9.294 0.611 1.00 28.55 C +ATOM 498 O LYS A 117 -7.399 -10.320 0.380 1.00 29.10 O +ATOM 499 CB LYS A 117 -10.165 -9.250 -0.699 1.00 27.80 C +ATOM 500 CG LYS A 117 -11.016 -8.636 -1.805 1.00 29.42 C +ATOM 501 CD LYS A 117 -12.476 -9.022 -1.652 1.00 32.12 C +ATOM 502 CE LYS A 117 -13.289 -8.647 -2.881 1.00 32.61 C +ATOM 503 NZ LYS A 117 -13.227 -7.188 -3.188 1.00 36.13 N +ATOM 504 N TYR A 118 -8.113 -8.740 1.822 1.00 27.58 N +ATOM 505 CA TYR A 118 -7.430 -9.299 2.989 1.00 25.78 C +ATOM 506 C TYR A 118 -8.291 -10.320 3.723 1.00 23.95 C +ATOM 507 O TYR A 118 -9.511 -10.206 3.738 1.00 23.82 O +ATOM 508 CB TYR A 118 -7.037 -8.193 3.973 1.00 27.31 C +ATOM 509 CG TYR A 118 -6.130 -7.114 3.433 1.00 26.26 C +ATOM 510 CD1 TYR A 118 -6.664 -5.903 2.965 1.00 29.67 C +ATOM 511 CD2 TYR A 118 -4.731 -7.266 3.439 1.00 27.54 C +ATOM 512 CE1 TYR A 118 -5.825 -4.848 2.515 1.00 28.14 C +ATOM 513 CE2 TYR A 118 -3.877 -6.221 2.991 1.00 28.07 C +ATOM 514 CZ TYR A 118 -4.439 -5.017 2.535 1.00 28.37 C +ATOM 515 OH TYR A 118 -3.624 -3.995 2.124 1.00 29.05 O +ATOM 516 N PHE A 119 -7.642 -11.327 4.308 1.00 23.31 N +ATOM 517 CA PHE A 119 -8.319 -12.377 5.071 1.00 22.41 C +ATOM 518 C PHE A 119 -7.412 -13.130 6.044 1.00 22.49 C +ATOM 519 O PHE A 119 -6.188 -13.002 6.008 1.00 20.93 O +ATOM 520 CB PHE A 119 -9.080 -13.375 4.153 1.00 22.17 C +ATOM 521 CG PHE A 119 -8.204 -14.208 3.233 1.00 23.41 C +ATOM 522 CD1 PHE A 119 -8.070 -15.597 3.449 1.00 22.49 C +ATOM 523 CD2 PHE A 119 -7.599 -13.639 2.091 1.00 22.41 C +ATOM 524 CE1 PHE A 119 -7.353 -16.419 2.539 1.00 21.73 C +ATOM 525 CE2 PHE A 119 -6.876 -14.448 1.169 1.00 23.75 C +ATOM 526 CZ PHE A 119 -6.754 -15.842 1.393 1.00 23.54 C +ATOM 527 N LEU A 120 -8.040 -13.861 6.962 1.00 20.71 N +ATOM 528 CA LEU A 120 -7.312 -14.671 7.934 1.00 20.22 C +ATOM 529 C LEU A 120 -7.722 -16.123 7.730 1.00 20.80 C +ATOM 530 O LEU A 120 -6.891 -17.030 7.825 1.00 20.37 O +ATOM 531 CB LEU A 120 -7.624 -14.248 9.379 1.00 17.72 C +ATOM 532 CG LEU A 120 -7.230 -12.879 9.955 1.00 18.59 C +ATOM 533 CD1 LEU A 120 -7.651 -12.821 11.418 1.00 16.20 C +ATOM 534 CD2 LEU A 120 -5.743 -12.625 9.831 1.00 17.54 C +ATOM 535 N TRP A 121 -9.017 -16.331 7.474 1.00 19.35 N +ATOM 536 CA TRP A 121 -9.578 -17.672 7.278 1.00 21.67 C +ATOM 537 C TRP A 121 -10.322 -17.817 5.945 1.00 22.63 C +ATOM 538 O TRP A 121 -9.702 -18.177 4.951 1.00 22.48 O +ATOM 539 CB TRP A 121 -10.479 -18.066 8.466 1.00 21.50 C +ATOM 540 CG TRP A 121 -9.840 -17.857 9.826 1.00 22.71 C +ATOM 541 CD1 TRP A 121 -10.021 -16.782 10.649 1.00 23.55 C +ATOM 542 CD2 TRP A 121 -8.896 -18.712 10.487 1.00 22.56 C +ATOM 543 NE1 TRP A 121 -9.246 -16.909 11.776 1.00 23.70 N +ATOM 544 CE2 TRP A 121 -8.548 -18.083 11.709 1.00 23.21 C +ATOM 545 CE3 TRP A 121 -8.307 -19.952 10.171 1.00 22.60 C +ATOM 546 CZ2 TRP A 121 -7.634 -18.655 12.630 1.00 24.69 C +ATOM 547 CZ3 TRP A 121 -7.390 -20.530 11.095 1.00 23.39 C +ATOM 548 CH2 TRP A 121 -7.072 -19.873 12.308 1.00 24.38 C +ATOM 549 N VAL A 122 -11.639 -17.574 5.925 1.00 24.03 N +ATOM 550 CA VAL A 122 -12.433 -17.678 4.689 1.00 25.97 C +ATOM 551 C VAL A 122 -13.082 -16.363 4.239 1.00 25.58 C +ATOM 552 O VAL A 122 -13.046 -16.032 3.051 1.00 25.87 O +ATOM 553 CB VAL A 122 -13.506 -18.841 4.724 1.00 27.57 C +ATOM 554 CG1 VAL A 122 -12.831 -20.190 4.931 1.00 28.62 C +ATOM 555 CG2 VAL A 122 -14.560 -18.624 5.800 1.00 31.28 C +ATOM 556 N VAL A 123 -13.629 -15.605 5.196 1.00 26.29 N +ATOM 557 CA VAL A 123 -14.291 -14.315 4.938 1.00 26.93 C +ATOM 558 C VAL A 123 -13.268 -13.282 4.437 1.00 26.58 C +ATOM 559 O VAL A 123 -12.199 -13.127 5.030 1.00 25.72 O +ATOM 560 CB VAL A 123 -15.032 -13.785 6.216 1.00 26.70 C +ATOM 561 CG1 VAL A 123 -15.834 -12.521 5.902 1.00 26.68 C +ATOM 562 CG2 VAL A 123 -15.973 -14.852 6.768 1.00 27.83 C +ATOM 563 N LYS A 124 -13.601 -12.642 3.314 1.00 24.92 N +ATOM 564 CA LYS A 124 -12.753 -11.642 2.657 1.00 26.49 C +ATOM 565 C LYS A 124 -13.144 -10.211 3.035 1.00 26.65 C +ATOM 566 O LYS A 124 -14.321 -9.917 3.263 1.00 25.54 O +ATOM 567 CB LYS A 124 -12.828 -11.787 1.123 1.00 25.22 C +ATOM 568 CG LYS A 124 -12.547 -13.175 0.542 1.00 26.89 C +ATOM 569 CD LYS A 124 -11.125 -13.628 0.770 1.00 24.05 C +ATOM 570 CE LYS A 124 -10.843 -14.989 0.144 1.00 26.07 C +ATOM 571 NZ LYS A 124 -10.574 -14.908 -1.319 1.00 22.78 N +ATOM 572 N PHE A 125 -12.138 -9.335 3.118 1.00 26.75 N +ATOM 573 CA PHE A 125 -12.331 -7.917 3.469 1.00 28.50 C +ATOM 574 C PHE A 125 -11.594 -7.018 2.500 1.00 28.84 C +ATOM 575 O PHE A 125 -10.461 -7.308 2.119 1.00 30.12 O +ATOM 576 CB PHE A 125 -11.804 -7.622 4.877 1.00 26.65 C +ATOM 577 CG PHE A 125 -12.308 -8.562 5.912 1.00 25.82 C +ATOM 578 CD1 PHE A 125 -11.582 -9.731 6.220 1.00 25.73 C +ATOM 579 CD2 PHE A 125 -13.540 -8.332 6.541 1.00 25.77 C +ATOM 580 CE1 PHE A 125 -12.079 -10.669 7.142 1.00 26.40 C +ATOM 581 CE2 PHE A 125 -14.050 -9.257 7.460 1.00 25.82 C +ATOM 582 CZ PHE A 125 -13.315 -10.434 7.764 1.00 27.06 C +ATOM 583 N ASN A 126 -12.203 -5.874 2.192 1.00 29.97 N +ATOM 584 CA ASN A 126 -11.618 -4.889 1.280 1.00 29.53 C +ATOM 585 C ASN A 126 -10.474 -4.077 1.881 1.00 28.46 C +ATOM 586 O ASN A 126 -9.731 -3.409 1.152 1.00 27.57 O +ATOM 587 CB ASN A 126 -12.696 -3.934 0.765 1.00 31.52 C +ATOM 588 CG ASN A 126 -13.705 -4.624 -0.137 1.00 35.20 C +ATOM 589 OD1 ASN A 126 -13.335 -5.290 -1.107 1.00 34.80 O +ATOM 590 ND2 ASN A 126 -14.989 -4.464 0.179 1.00 35.33 N +ATOM 591 N SER A 127 -10.337 -4.138 3.207 1.00 26.39 N +ATOM 592 CA SER A 127 -9.290 -3.402 3.914 1.00 22.78 C +ATOM 593 C SER A 127 -8.875 -4.049 5.239 1.00 22.54 C +ATOM 594 O SER A 127 -9.570 -4.919 5.759 1.00 23.05 O +ATOM 595 CB SER A 127 -9.756 -1.972 4.190 1.00 22.76 C +ATOM 596 OG SER A 127 -10.808 -1.953 5.136 1.00 21.05 O +ATOM 597 N LEU A 128 -7.730 -3.609 5.767 1.00 21.37 N +ATOM 598 CA LEU A 128 -7.203 -4.062 7.056 1.00 21.58 C +ATOM 599 C LEU A 128 -8.122 -3.546 8.155 1.00 20.84 C +ATOM 600 O LEU A 128 -8.379 -4.256 9.115 1.00 19.67 O +ATOM 601 CB LEU A 128 -5.792 -3.509 7.305 1.00 22.90 C +ATOM 602 CG LEU A 128 -4.557 -4.084 6.607 1.00 25.32 C +ATOM 603 CD1 LEU A 128 -3.357 -3.203 6.934 1.00 22.55 C +ATOM 604 CD2 LEU A 128 -4.302 -5.521 7.069 1.00 27.12 C +ATOM 605 N ASN A 129 -8.657 -2.334 7.948 1.00 19.42 N +ATOM 606 CA ASN A 129 -9.568 -1.653 8.880 1.00 20.11 C +ATOM 607 C ASN A 129 -10.851 -2.469 9.100 1.00 20.71 C +ATOM 608 O ASN A 129 -11.305 -2.615 10.229 1.00 20.76 O +ATOM 609 CB ASN A 129 -9.909 -0.245 8.347 1.00 18.00 C +ATOM 610 CG ASN A 129 -10.371 0.733 9.443 1.00 18.48 C +ATOM 611 OD1 ASN A 129 -10.391 1.941 9.215 1.00 17.08 O +ATOM 612 ND2 ASN A 129 -10.754 0.215 10.617 1.00 16.45 N +ATOM 613 N GLU A 130 -11.389 -3.029 8.017 1.00 21.12 N +ATOM 614 CA GLU A 130 -12.604 -3.845 8.054 1.00 20.91 C +ATOM 615 C GLU A 130 -12.335 -5.218 8.664 1.00 21.09 C +ATOM 616 O GLU A 130 -13.199 -5.764 9.342 1.00 19.15 O +ATOM 617 CB GLU A 130 -13.197 -3.977 6.646 1.00 23.33 C +ATOM 618 CG GLU A 130 -13.766 -2.673 6.105 1.00 24.89 C +ATOM 619 CD GLU A 130 -14.000 -2.708 4.606 1.00 25.07 C +ATOM 620 OE1 GLU A 130 -15.134 -3.002 4.186 1.00 26.47 O +ATOM 621 OE2 GLU A 130 -13.047 -2.438 3.845 1.00 27.33 O +ATOM 622 N LEU A 131 -11.126 -5.747 8.446 1.00 20.16 N +ATOM 623 CA LEU A 131 -10.707 -7.042 8.997 1.00 19.98 C +ATOM 624 C LEU A 131 -10.618 -6.930 10.512 1.00 19.57 C +ATOM 625 O LEU A 131 -11.118 -7.788 11.235 1.00 18.89 O +ATOM 626 CB LEU A 131 -9.343 -7.464 8.416 1.00 20.26 C +ATOM 627 CG LEU A 131 -8.713 -8.818 8.784 1.00 19.37 C +ATOM 628 CD1 LEU A 131 -7.996 -9.362 7.572 1.00 19.38 C +ATOM 629 CD2 LEU A 131 -7.762 -8.708 9.954 1.00 20.20 C +ATOM 630 N VAL A 132 -9.955 -5.865 10.960 1.00 17.41 N +ATOM 631 CA VAL A 132 -9.758 -5.562 12.371 1.00 18.29 C +ATOM 632 C VAL A 132 -11.111 -5.349 13.071 1.00 17.07 C +ATOM 633 O VAL A 132 -11.404 -6.020 14.058 1.00 17.71 O +ATOM 634 CB VAL A 132 -8.837 -4.311 12.512 1.00 16.87 C +ATOM 635 CG1 VAL A 132 -8.968 -3.656 13.880 1.00 18.20 C +ATOM 636 CG2 VAL A 132 -7.393 -4.697 12.239 1.00 16.97 C +ATOM 637 N ASP A 133 -11.945 -4.479 12.501 1.00 16.17 N +ATOM 638 CA ASP A 133 -13.259 -4.158 13.065 1.00 19.73 C +ATOM 639 C ASP A 133 -14.204 -5.336 13.200 1.00 19.14 C +ATOM 640 O ASP A 133 -14.866 -5.478 14.224 1.00 21.64 O +ATOM 641 CB ASP A 133 -13.919 -3.001 12.308 1.00 17.72 C +ATOM 642 CG ASP A 133 -13.240 -1.666 12.580 1.00 21.83 C +ATOM 643 OD1 ASP A 133 -12.381 -1.595 13.495 1.00 20.87 O +ATOM 644 OD2 ASP A 133 -13.550 -0.687 11.865 1.00 22.47 O +ATOM 645 N TYR A 134 -14.199 -6.210 12.196 1.00 19.30 N +ATOM 646 CA TYR A 134 -15.034 -7.411 12.183 1.00 21.13 C +ATOM 647 C TYR A 134 -14.611 -8.309 13.330 1.00 21.29 C +ATOM 648 O TYR A 134 -15.444 -8.803 14.086 1.00 22.53 O +ATOM 649 CB TYR A 134 -14.841 -8.161 10.858 1.00 21.62 C +ATOM 650 CG TYR A 134 -15.520 -9.521 10.735 1.00 23.52 C +ATOM 651 CD1 TYR A 134 -16.893 -9.625 10.426 1.00 24.22 C +ATOM 652 CD2 TYR A 134 -14.774 -10.716 10.866 1.00 22.18 C +ATOM 653 CE1 TYR A 134 -17.513 -10.904 10.246 1.00 24.11 C +ATOM 654 CE2 TYR A 134 -15.374 -11.990 10.680 1.00 21.44 C +ATOM 655 CZ TYR A 134 -16.741 -12.070 10.374 1.00 22.71 C +ATOM 656 OH TYR A 134 -17.324 -13.303 10.225 1.00 25.11 O +ATOM 657 N HIS A 135 -13.297 -8.459 13.469 1.00 20.34 N +ATOM 658 CA HIS A 135 -12.720 -9.305 14.491 1.00 20.81 C +ATOM 659 C HIS A 135 -12.758 -8.810 15.937 1.00 20.26 C +ATOM 660 O HIS A 135 -12.248 -9.472 16.845 1.00 19.83 O +ATOM 661 CB HIS A 135 -11.351 -9.795 14.043 1.00 19.83 C +ATOM 662 CG HIS A 135 -11.422 -10.863 12.998 1.00 20.16 C +ATOM 663 ND1 HIS A 135 -11.950 -12.112 13.253 1.00 21.03 N +ATOM 664 CD2 HIS A 135 -11.056 -10.868 11.695 1.00 19.22 C +ATOM 665 CE1 HIS A 135 -11.902 -12.838 12.152 1.00 20.12 C +ATOM 666 NE2 HIS A 135 -11.365 -12.108 11.193 1.00 18.30 N +ATOM 667 N ARG A 136 -13.447 -7.689 16.146 1.00 19.91 N +ATOM 668 CA ARG A 136 -13.660 -7.125 17.478 1.00 22.49 C +ATOM 669 C ARG A 136 -14.880 -7.814 18.093 1.00 22.68 C +ATOM 670 O ARG A 136 -15.063 -7.789 19.302 1.00 23.55 O +ATOM 671 CB ARG A 136 -13.924 -5.617 17.413 1.00 21.94 C +ATOM 672 CG ARG A 136 -12.716 -4.780 17.067 1.00 20.26 C +ATOM 673 CD ARG A 136 -13.104 -3.307 16.970 1.00 22.93 C +ATOM 674 NE ARG A 136 -12.001 -2.476 16.487 1.00 20.56 N +ATOM 675 CZ ARG A 136 -11.003 -2.024 17.244 1.00 22.88 C +ATOM 676 NH1 ARG A 136 -10.949 -2.315 18.542 1.00 21.22 N +ATOM 677 NH2 ARG A 136 -10.052 -1.273 16.702 1.00 20.45 N +ATOM 678 N SER A 137 -15.695 -8.445 17.246 1.00 23.28 N +ATOM 679 CA SER A 137 -16.901 -9.137 17.702 1.00 23.91 C +ATOM 680 C SER A 137 -17.078 -10.563 17.191 1.00 23.12 C +ATOM 681 O SER A 137 -18.079 -11.221 17.499 1.00 24.37 O +ATOM 682 CB SER A 137 -18.132 -8.310 17.380 1.00 23.72 C +ATOM 683 OG SER A 137 -18.100 -7.056 18.034 1.00 26.54 O +ATOM 684 N THR A 138 -16.134 -11.017 16.370 1.00 23.28 N +ATOM 685 CA THR A 138 -16.121 -12.384 15.854 1.00 21.21 C +ATOM 686 C THR A 138 -14.689 -12.830 16.123 1.00 21.98 C +ATOM 687 O THR A 138 -13.742 -12.115 15.794 1.00 20.52 O +ATOM 688 CB THR A 138 -16.453 -12.461 14.340 1.00 22.06 C +ATOM 689 OG1 THR A 138 -17.783 -11.974 14.118 1.00 22.19 O +ATOM 690 CG2 THR A 138 -16.371 -13.907 13.824 1.00 23.42 C +ATOM 691 N SER A 139 -14.538 -14.006 16.726 1.00 20.73 N +ATOM 692 CA SER A 139 -13.226 -14.538 17.078 1.00 20.97 C +ATOM 693 C SER A 139 -12.190 -14.660 15.965 1.00 20.35 C +ATOM 694 O SER A 139 -12.499 -15.126 14.865 1.00 21.60 O +ATOM 695 CB SER A 139 -13.381 -15.883 17.775 1.00 21.71 C +ATOM 696 OG SER A 139 -12.118 -16.413 18.145 1.00 23.49 O +ATOM 697 N VAL A 140 -10.960 -14.238 16.269 1.00 21.02 N +ATOM 698 CA VAL A 140 -9.844 -14.335 15.316 1.00 21.99 C +ATOM 699 C VAL A 140 -9.338 -15.766 15.215 1.00 22.42 C +ATOM 700 O VAL A 140 -8.619 -16.109 14.281 1.00 21.90 O +ATOM 701 CB VAL A 140 -8.621 -13.442 15.684 1.00 21.07 C +ATOM 702 CG1 VAL A 140 -8.880 -12.049 15.325 1.00 23.61 C +ATOM 703 CG2 VAL A 140 -8.283 -13.532 17.149 1.00 19.28 C +ATOM 704 N SER A 141 -9.710 -16.579 16.200 1.00 23.82 N +ATOM 705 CA SER A 141 -9.300 -17.976 16.272 1.00 25.41 C +ATOM 706 C SER A 141 -10.499 -18.913 16.141 1.00 27.82 C +ATOM 707 O SER A 141 -11.617 -18.575 16.538 1.00 27.29 O +ATOM 708 CB SER A 141 -8.590 -18.222 17.605 1.00 24.04 C +ATOM 709 OG SER A 141 -8.123 -19.552 17.726 1.00 25.85 O +ATOM 710 N ARG A 142 -10.244 -20.102 15.603 1.00 31.60 N +ATOM 711 CA ARG A 142 -11.278 -21.120 15.431 1.00 33.71 C +ATOM 712 C ARG A 142 -11.369 -22.015 16.662 1.00 34.10 C +ATOM 713 O ARG A 142 -12.461 -22.423 17.057 1.00 34.78 O +ATOM 714 CB ARG A 142 -10.970 -21.996 14.224 1.00 36.79 C +ATOM 715 CG ARG A 142 -10.892 -21.281 12.890 1.00 39.27 C +ATOM 716 CD ARG A 142 -10.683 -22.297 11.774 1.00 44.43 C +ATOM 717 NE ARG A 142 -9.473 -23.093 11.993 1.00 45.39 N +ATOM 718 CZ ARG A 142 -9.432 -24.421 11.971 1.00 46.90 C +ATOM 719 NH1 ARG A 142 -10.535 -25.123 11.724 1.00 48.89 N +ATOM 720 NH2 ARG A 142 -8.306 -25.051 12.285 1.00 48.76 N +ATOM 721 N ASN A 143 -10.211 -22.304 17.259 1.00 34.97 N +ATOM 722 CA ASN A 143 -10.095 -23.169 18.441 1.00 35.41 C +ATOM 723 C ASN A 143 -10.477 -22.491 19.755 1.00 34.85 C +ATOM 724 O ASN A 143 -10.878 -23.159 20.714 1.00 35.46 O +ATOM 725 CB ASN A 143 -8.661 -23.706 18.562 1.00 37.97 C +ATOM 726 CG ASN A 143 -8.246 -24.553 17.378 1.00 40.37 C +ATOM 727 OD1 ASN A 143 -8.949 -25.492 16.987 1.00 42.11 O +ATOM 728 ND2 ASN A 143 -7.091 -24.227 16.796 1.00 41.15 N +ATOM 729 N GLN A 144 -10.276 -21.176 19.819 1.00 33.24 N +ATOM 730 CA GLN A 144 -10.573 -20.380 21.014 1.00 32.51 C +ATOM 731 C GLN A 144 -11.378 -19.136 20.653 1.00 31.86 C +ATOM 732 O GLN A 144 -11.368 -18.696 19.497 1.00 31.23 O +ATOM 733 CB GLN A 144 -9.266 -19.934 21.691 1.00 31.99 C +ATOM 734 CG GLN A 144 -8.363 -21.062 22.192 1.00 33.51 C +ATOM 735 CD GLN A 144 -6.966 -20.590 22.526 1.00 35.05 C +ATOM 736 OE1 GLN A 144 -6.270 -20.004 21.688 1.00 34.10 O +ATOM 737 NE2 GLN A 144 -6.536 -20.856 23.751 1.00 33.43 N +ATOM 738 N GLN A 145 -12.067 -18.570 21.645 1.00 30.23 N +ATOM 739 CA GLN A 145 -12.847 -17.355 21.439 1.00 30.26 C +ATOM 740 C GLN A 145 -12.024 -16.141 21.873 1.00 28.21 C +ATOM 741 O GLN A 145 -11.955 -15.805 23.060 1.00 30.32 O +ATOM 742 CB GLN A 145 -14.200 -17.421 22.168 1.00 31.31 C +ATOM 743 CG GLN A 145 -15.154 -18.522 21.672 1.00 35.74 C +ATOM 744 CD GLN A 145 -15.483 -18.428 20.177 1.00 39.42 C +ATOM 745 OE1 GLN A 145 -16.085 -17.451 19.710 1.00 38.32 O +ATOM 746 NE2 GLN A 145 -15.084 -19.451 19.423 1.00 38.80 N +ATOM 747 N ILE A 146 -11.317 -15.560 20.900 1.00 25.66 N +ATOM 748 CA ILE A 146 -10.450 -14.395 21.112 1.00 23.43 C +ATOM 749 C ILE A 146 -10.995 -13.189 20.343 1.00 22.82 C +ATOM 750 O ILE A 146 -11.016 -13.185 19.109 1.00 22.93 O +ATOM 751 CB ILE A 146 -8.983 -14.666 20.636 1.00 22.36 C +ATOM 752 CG1 ILE A 146 -8.491 -16.043 21.109 1.00 22.20 C +ATOM 753 CG2 ILE A 146 -8.052 -13.539 21.114 1.00 22.36 C +ATOM 754 CD1 ILE A 146 -7.118 -16.438 20.623 1.00 23.55 C +ATOM 755 N PHE A 147 -11.381 -12.154 21.083 1.00 21.92 N +ATOM 756 CA PHE A 147 -11.935 -10.939 20.497 1.00 22.35 C +ATOM 757 C PHE A 147 -10.938 -9.786 20.596 1.00 22.81 C +ATOM 758 O PHE A 147 -10.404 -9.507 21.672 1.00 22.21 O +ATOM 759 CB PHE A 147 -13.248 -10.564 21.200 1.00 25.62 C +ATOM 760 CG PHE A 147 -14.297 -11.641 21.155 1.00 28.77 C +ATOM 761 CD1 PHE A 147 -14.512 -12.474 22.275 1.00 31.16 C +ATOM 762 CD2 PHE A 147 -15.081 -11.834 20.000 1.00 29.72 C +ATOM 763 CE1 PHE A 147 -15.506 -13.498 22.246 1.00 31.49 C +ATOM 764 CE2 PHE A 147 -16.077 -12.850 19.951 1.00 30.08 C +ATOM 765 CZ PHE A 147 -16.288 -13.683 21.080 1.00 32.10 C +ATOM 766 N LEU A 148 -10.734 -9.084 19.482 1.00 20.63 N +ATOM 767 CA LEU A 148 -9.800 -7.956 19.434 1.00 22.54 C +ATOM 768 C LEU A 148 -10.291 -6.697 20.130 1.00 23.59 C +ATOM 769 O LEU A 148 -11.424 -6.266 19.915 1.00 22.14 O +ATOM 770 CB LEU A 148 -9.474 -7.572 17.986 1.00 21.74 C +ATOM 771 CG LEU A 148 -8.877 -8.570 17.008 1.00 21.44 C +ATOM 772 CD1 LEU A 148 -8.507 -7.857 15.703 1.00 19.29 C +ATOM 773 CD2 LEU A 148 -7.674 -9.244 17.609 1.00 20.25 C +ATOM 774 N ARG A 149 -9.442 -6.130 20.982 1.00 23.79 N +ATOM 775 CA ARG A 149 -9.756 -4.880 21.663 1.00 25.57 C +ATOM 776 C ARG A 149 -8.502 -4.020 21.705 1.00 24.79 C +ATOM 777 O ARG A 149 -7.402 -4.535 21.879 1.00 25.69 O +ATOM 778 CB ARG A 149 -10.366 -5.107 23.054 1.00 30.11 C +ATOM 779 CG ARG A 149 -9.527 -5.865 24.063 1.00 34.12 C +ATOM 780 CD ARG A 149 -10.291 -6.020 25.363 1.00 35.74 C +ATOM 781 NE ARG A 149 -10.657 -4.727 25.938 1.00 39.28 N +ATOM 782 CZ ARG A 149 -11.128 -4.554 27.172 1.00 40.01 C +ATOM 783 NH1 ARG A 149 -11.295 -5.593 27.985 1.00 38.81 N +ATOM 784 NH2 ARG A 149 -11.430 -3.335 27.596 1.00 40.58 N +ATOM 785 N ASP A 150 -8.662 -2.721 21.463 1.00 23.60 N +ATOM 786 CA ASP A 150 -7.546 -1.768 21.451 1.00 24.45 C +ATOM 787 C ASP A 150 -6.606 -1.853 22.647 1.00 25.46 C +ATOM 788 O ASP A 150 -7.029 -2.173 23.759 1.00 26.40 O +ATOM 789 CB ASP A 150 -8.066 -0.331 21.327 1.00 24.39 C +ATOM 790 CG ASP A 150 -8.757 -0.062 20.000 1.00 24.29 C +ATOM 791 OD1 ASP A 150 -8.497 -0.778 19.009 1.00 23.90 O +ATOM 792 OD2 ASP A 150 -9.546 0.900 19.946 1.00 27.60 O +ATOM 793 N ILE A 151 -5.320 -1.624 22.391 1.00 26.29 N +ATOM 794 CA ILE A 151 -4.304 -1.629 23.441 1.00 26.99 C +ATOM 795 C ILE A 151 -4.560 -0.470 24.407 1.00 28.61 C +ATOM 796 O ILE A 151 -5.149 0.550 24.018 1.00 26.09 O +ATOM 797 CB ILE A 151 -2.861 -1.494 22.875 1.00 27.96 C +ATOM 798 CG1 ILE A 151 -2.769 -0.374 21.829 1.00 29.06 C +ATOM 799 CG2 ILE A 151 -2.395 -2.815 22.333 1.00 27.78 C +ATOM 800 CD1 ILE A 151 -1.557 0.501 21.997 1.00 29.36 C +ATOM 801 N GLU A 152 -4.214 -0.674 25.676 1.00 29.81 N +ATOM 802 CA GLU A 152 -4.385 0.354 26.695 1.00 33.50 C +ATOM 803 C GLU A 152 -3.187 1.284 26.620 1.00 35.21 C +ATOM 804 O GLU A 152 -2.074 0.931 27.014 1.00 35.73 O +ATOM 805 CB GLU A 152 -4.504 -0.260 28.087 1.00 35.54 C +ATOM 806 CG GLU A 152 -5.839 -0.937 28.360 1.00 38.01 C +ATOM 807 CD GLU A 152 -6.617 -0.299 29.503 1.00 41.18 C +ATOM 808 OE1 GLU A 152 -6.027 -0.053 30.581 1.00 40.22 O +ATOM 809 OE2 GLU A 152 -7.829 -0.057 29.320 1.00 44.38 O +ATOM 810 N GLN A 153 -3.429 2.445 26.027 1.00 36.81 N +ATOM 811 CA GLN A 153 -2.418 3.472 25.843 1.00 39.68 C +ATOM 812 C GLN A 153 -2.648 4.645 26.792 1.00 40.16 C +ATOM 813 O GLN A 153 -3.772 4.904 27.228 1.00 41.16 O +ATOM 814 CB GLN A 153 -2.410 3.948 24.370 1.00 41.39 C +ATOM 815 CG GLN A 153 -3.628 4.779 23.879 1.00 42.78 C +ATOM 816 CD GLN A 153 -4.953 4.030 23.922 1.00 45.15 C +ATOM 817 OE1 GLN A 153 -5.703 4.125 24.905 1.00 46.32 O +ATOM 818 NE2 GLN A 153 -5.253 3.283 22.853 1.00 42.56 N +ATOM 819 N VAL A 154 -1.558 5.322 27.121 1.00 40.20 N +ATOM 820 CA VAL A 154 -1.569 6.490 27.988 1.00 40.79 C +ATOM 821 C VAL A 154 -1.331 7.688 27.052 1.00 40.93 C +ATOM 822 O VAL A 154 -0.487 7.595 26.156 1.00 40.96 O +ATOM 823 CB VAL A 154 -0.435 6.363 29.067 1.00 40.84 C +ATOM 824 CG1 VAL A 154 -0.185 7.673 29.754 1.00 41.51 C +ATOM 825 CG2 VAL A 154 -0.818 5.320 30.120 1.00 41.19 C +ATOM 826 N PRO A 155 -2.113 8.789 27.194 1.00 41.47 N +ATOM 827 CA PRO A 155 -1.905 9.957 26.319 1.00 42.60 C +ATOM 828 C PRO A 155 -0.535 10.645 26.489 1.00 42.98 C +ATOM 829 O PRO A 155 -0.264 11.200 27.576 1.00 43.40 O +ATOM 830 CB PRO A 155 -3.078 10.879 26.686 1.00 42.83 C +ATOM 831 CG PRO A 155 -3.438 10.461 28.097 1.00 42.81 C +ATOM 832 CD PRO A 155 -3.337 8.969 28.002 1.00 42.03 C +HETATM 833 C AYI A 1 -3.059 -20.043 9.725 1.00 22.23 C +HETATM 834 N AYI A 1 -3.255 -19.243 12.043 1.00 22.20 N +HETATM 835 O AYI A 1 -3.396 -20.048 8.542 1.00 21.84 O +HETATM 836 CA AYI A 1 -4.003 -19.519 10.808 1.00 21.59 C +HETATM 837 CB AYI A 1 -4.723 -18.261 10.316 1.00 21.51 C +HETATM 838 CG AYI A 1 -3.746 -17.157 9.909 1.00 19.80 C +HETATM 839 NAE AYI A 1 -1.888 -20.486 10.172 1.00 20.26 N +HETATM 840 OD1 AYI A 1 -2.672 -17.013 10.490 1.00 20.94 O +HETATM 841 ND2 AYI A 1 -4.160 -16.386 8.906 1.00 19.94 N +HETATM 842 CAA AYI A 1 -2.119 -19.695 17.244 1.00 26.11 C +HETATM 843 OAI AYI A 1 -3.808 -21.224 12.970 1.00 20.09 O +HETATM 844 CAR AYI A 1 -2.544 -18.466 16.439 1.00 21.49 C +HETATM 845 CAC AYI A 1 -4.602 -19.587 15.525 1.00 20.39 C +HETATM 846 NAV AYI A 1 -1.169 -19.072 13.956 1.00 22.56 N +HETATM 847 CBA AYI A 1 -3.223 -20.142 13.023 1.00 22.21 C +HETATM 848 CBE AYI A 1 -3.297 -18.870 15.169 1.00 22.75 C +HETATM 849 CBG AYI A 1 -2.431 -19.756 14.273 1.00 20.42 C +HETATM 850 CAB AYI A 1 5.955 -19.410 13.421 1.00 32.64 C +HETATM 851 OAH AYI A 1 3.642 -18.092 13.918 1.00 26.67 O +HETATM 852 OAJ AYI A 1 -0.350 -20.706 12.625 1.00 24.62 O +HETATM 853 OAK AYI A 1 6.600 -14.261 10.518 1.00 26.03 O +HETATM 854 OAL AYI A 1 5.770 -11.840 10.648 1.00 26.28 O +HETATM 855 OAM AYI A 1 5.271 -13.466 12.568 1.00 25.20 O +HETATM 856 CAN AYI A 1 2.318 -14.918 11.347 1.00 24.37 C +HETATM 857 CAO AYI A 1 4.164 -16.101 10.364 1.00 27.23 C +HETATM 858 CAP AYI A 1 1.699 -16.129 11.636 1.00 25.20 C +HETATM 859 CAQ AYI A 1 3.544 -17.312 10.653 1.00 28.17 C +HETATM 860 NAT AYI A 1 4.660 -19.811 12.854 1.00 31.47 N +HETATM 861 OAW AYI A 1 4.071 -13.712 10.290 1.00 25.65 O +HETATM 862 CAZ AYI A 1 3.598 -19.081 13.188 1.00 28.62 C +HETATM 863 CBB AYI A 1 -0.235 -19.615 13.180 1.00 24.38 C +HETATM 864 CBC AYI A 1 3.551 -14.900 10.705 1.00 25.82 C +HETATM 865 CBD AYI A 1 2.307 -17.330 11.288 1.00 26.35 C +HETATM 866 CBH AYI A 1 2.272 -19.572 12.607 1.00 26.80 C +HETATM 867 CBI AYI A 1 1.032 -18.772 13.005 1.00 25.64 C +HETATM 868 CBJ AYI A 1 1.594 -18.653 11.586 1.00 26.69 C +HETATM 869 PBK AYI A 1 5.493 -13.391 10.976 1.00 25.47 P +TER 870 AYI A 1 +END \ No newline at end of file diff --git a/examples/demos/data/sh2.vert b/examples/demos/data/sh2.vert new file mode 100644 index 0000000000000000000000000000000000000000..6d1ac0c2b8f1ed3a774a061c27b4203df2c79511 --- /dev/null +++ b/examples/demos/data/sh2.vert @@ -0,0 +1,23745 @@ +# MSMS solvent excluded surface vertices for /tmp/tmpNakzL3/entity +#vertex #sphere density probe_r + 23742 832 5.00 1.50 + -17.880 -6.992 16.257 0.144 0.753 -0.642 0 682 1 + -17.880 -6.455 16.655 0.144 0.396 -0.907 0 683 1 + -16.274 -5.671 14.763 -0.926 -0.127 0.355 0 640 1 + -18.176 -7.843 19.332 -0.050 -0.518 0.854 0 683 1 + -18.196 -8.477 19.121 -0.036 -0.095 0.995 0 682 1 + -17.628 -8.859 19.269 -0.415 0.159 0.896 0 679 1 + -18.022 -9.559 18.978 -0.641 -0.241 0.729 0 679 1 + -18.590 -9.178 18.829 -0.262 -0.496 0.828 0 682 1 + -18.534 -10.567 18.793 -0.299 0.430 0.852 0 681 1 + -18.973 -10.673 16.399 -0.588 0.361 -0.724 0 681 1 + -19.060 -9.291 16.267 -0.531 -0.561 -0.636 0 682 1 + -18.826 -11.047 14.720 -0.686 0.610 0.396 0 689 1 + -18.120 -10.493 14.173 -0.222 0.974 0.036 0 689 1 + -18.304 -8.698 15.682 -0.098 -0.222 -0.970 0 682 1 + -16.958 -8.918 14.157 -0.996 -0.076 0.047 0 648 1 + -16.523 -7.763 14.339 -0.710 0.685 0.167 0 648 1 + -17.839 -7.462 15.877 0.168 0.484 -0.859 0 682 1 + -16.236 -6.111 14.408 -0.901 -0.416 0.121 0 640 1 + -16.538 -7.748 14.055 -0.720 0.694 -0.020 0 648 1 + -16.251 -6.097 14.124 -0.911 -0.407 -0.066 0 640 1 + -16.425 -7.032 13.175 -0.795 0.217 0.567 0 646 1 + -16.305 -6.229 12.404 -0.726 0.676 0.126 0 646 1 + -16.139 -5.346 13.404 -0.837 0.087 -0.540 0 640 1 + -15.922 -5.271 12.874 -0.982 0.037 -0.186 0 639 1 + -15.712 -4.452 13.123 -0.862 0.505 -0.044 0 639 1 + -15.942 -4.580 13.637 -0.708 0.591 -0.386 0 640 1 + -15.581 -3.374 12.711 -0.949 -0.213 0.230 0 641 1 + -14.848 -2.827 13.781 -0.531 0.100 0.842 0 641 1 + -15.258 -4.068 14.636 -0.258 0.927 0.271 0 640 1 + -14.472 -2.968 15.932 -0.782 0.194 -0.593 0 673 1 + -14.795 -3.507 16.566 -0.966 -0.114 -0.231 0 673 1 + -15.560 -4.573 15.229 -0.456 0.596 0.661 0 640 1 + -15.173 -4.574 16.771 -0.714 0.596 -0.367 0 671 1 + -15.527 -5.201 16.848 -0.916 0.238 -0.323 0 671 1 + -15.890 -5.159 15.301 -0.674 0.210 0.708 0 640 1 + -17.497 -5.943 17.193 0.397 0.732 -0.553 0 683 1 + -15.235 -5.321 18.534 -0.749 0.169 0.641 0 671 1 + -17.223 -6.055 18.769 0.577 0.658 0.484 0 683 1 + -15.715 -6.419 19.399 -0.429 0.901 0.064 0 670 1 + -16.372 -8.048 20.031 -0.861 -0.170 0.479 0 670 1 + -17.880 -7.684 19.401 0.145 -0.413 0.899 0 683 1 + -17.311 -8.688 19.343 -0.235 0.256 0.938 0 679 1 + -16.049 -8.601 20.126 -0.649 -0.534 0.542 0 670 1 + -16.966 -9.280 19.445 -0.037 -0.082 0.996 0 679 1 + -16.126 -10.525 20.506 -0.597 0.748 0.289 0 762 1 + -16.550 -10.948 20.345 -0.839 0.507 0.197 0 762 1 + -17.390 -9.703 19.284 -0.279 -0.323 0.904 0 679 1 + -17.010 -11.417 20.322 -0.533 0.819 0.212 0 764 1 + -17.207 -11.537 20.196 -0.646 0.751 0.140 0 764 1 + -17.587 -9.823 19.158 -0.392 -0.392 0.832 0 679 1 + -18.128 -10.813 18.962 -0.032 0.268 0.963 0 681 1 + -17.122 -13.593 18.760 -0.597 -0.425 -0.680 0 764 1 + -18.048 -12.736 17.620 0.020 -0.997 0.080 0 681 1 + -17.142 -13.378 16.869 -0.584 -0.568 0.580 0 685 1 + -17.693 -13.130 16.038 -0.898 -0.426 0.105 0 685 1 + -18.563 -12.504 16.843 -0.319 -0.844 -0.432 0 681 1 + -18.416 -12.878 15.163 -0.417 -0.595 0.688 0 689 1 + -17.588 -13.338 15.888 -0.838 -0.545 0.019 0 685 1 + -18.318 -13.072 15.023 -0.352 -0.722 0.596 0 689 1 + -17.703 -14.041 14.951 -0.761 -0.076 0.644 0 690 1 + -17.948 -13.932 13.065 -0.901 -0.014 -0.434 0 690 1 + -18.546 -12.971 13.261 -0.502 -0.656 -0.564 0 689 1 + -18.318 -13.631 11.327 -0.654 -0.216 0.725 0 656 1 + -18.538 -12.950 11.069 -0.799 0.232 0.555 0 656 1 + -18.766 -12.290 13.002 -0.647 -0.208 -0.734 0 689 1 + -18.710 -11.818 11.137 -0.684 -0.522 0.509 0 653 1 + -18.399 -10.232 11.597 -0.507 0.384 0.772 0 653 1 + -18.476 -10.808 13.432 -0.456 0.767 -0.451 0 689 1 + -18.113 -9.642 11.680 -0.697 -0.010 0.717 0 651 1 + -17.672 -9.355 11.969 -0.445 0.154 0.882 0 651 1 + -18.063 -10.539 13.702 -0.185 0.944 -0.273 0 689 1 + -16.902 -8.964 13.687 -0.959 -0.106 -0.263 0 648 1 + -17.560 -8.756 11.791 -0.381 0.497 0.780 0 651 1 + -16.797 -8.404 13.519 -0.890 0.262 -0.373 0 648 1 + -16.702 -7.734 12.602 -0.953 -0.185 0.239 0 646 1 + -17.251 -7.912 10.401 -0.205 0.979 -0.014 0 651 1 + -16.393 -6.890 11.212 -0.777 0.297 -0.555 0 646 1 + -16.304 -7.237 10.600 -0.836 0.528 -0.147 0 649 1 + -15.531 -6.629 10.369 -0.394 0.875 -0.279 0 649 1 + -15.620 -6.283 10.980 -0.335 0.645 -0.687 0 646 1 + -14.671 -5.539 9.648 -0.968 0.148 0.201 0 616 1 + -14.657 -5.497 9.681 -0.959 0.175 0.223 0 616 1 + -15.605 -6.239 11.016 -0.326 0.670 -0.667 0 646 1 + -15.163 -5.714 11.088 -0.622 0.320 -0.715 0 645 1 + -15.483 -5.498 11.699 -0.828 0.459 -0.320 0 645 1 + -15.945 -6.010 11.664 -0.521 0.801 -0.297 0 646 1 + -15.562 -5.052 12.133 -0.776 0.162 -0.610 0 639 1 + -15.346 -5.366 11.585 -0.740 0.545 -0.394 0 645 1 + -15.417 -4.912 12.012 -0.693 0.242 -0.679 0 639 1 + -15.285 -3.834 11.600 -0.781 -0.476 -0.404 0 641 1 + -15.031 -5.379 11.186 -0.537 0.536 -0.652 0 645 1 + -14.952 -3.849 11.178 -0.590 -0.484 -0.646 0 641 1 + -14.526 -5.166 9.778 -0.873 0.394 0.287 0 616 1 + -14.346 -4.774 9.457 -0.755 0.652 0.075 0 616 1 + -14.759 -3.429 10.834 -0.480 -0.245 -0.843 0 641 1 + -14.152 -3.819 8.870 -0.884 0.015 0.466 0 614 1 + -13.795 -2.785 8.775 -0.680 0.606 0.412 0 614 1 + -14.402 -2.395 10.739 -0.276 0.346 -0.897 0 641 1 + -14.187 -1.285 10.621 -0.419 -0.394 -0.818 0 644 1 + -14.988 -0.829 12.338 -0.946 -0.093 0.311 0 644 1 + -15.258 -1.907 12.575 -0.765 0.625 0.153 0 641 1 + -14.945 -1.291 12.701 -0.974 0.214 0.069 0 642 1 + -14.374 -1.826 13.903 -0.648 -0.092 0.756 0 642 1 + -14.687 -2.442 13.778 -0.439 0.319 0.840 0 641 1 + -14.311 -2.584 15.930 -0.690 0.413 -0.595 0 673 1 + -13.962 -1.230 14.113 -0.413 0.249 0.876 0 642 1 + -13.899 -1.988 16.140 -0.454 0.754 -0.475 0 673 1 + -13.488 -1.224 14.468 -0.729 0.244 0.640 0 643 1 + -13.304 -1.069 14.582 -0.607 0.346 0.715 0 643 1 + -13.702 -1.823 16.262 -0.342 0.848 -0.405 0 673 1 + -13.126 -1.497 16.064 -0.726 0.631 -0.273 0 674 1 + -12.836 -1.303 17.060 -0.539 0.757 0.370 0 674 1 + -13.395 -1.617 17.317 -0.166 0.966 0.199 0 673 1 + -12.426 -1.025 17.444 -0.813 0.571 0.114 0 675 1 + -12.347 -1.292 18.093 -0.768 0.418 0.485 0 675 1 + -13.317 -1.884 17.967 -0.121 0.813 0.569 0 673 1 + -12.245 -1.476 18.684 -0.836 0.541 0.091 0 676 1 + -12.030 -3.046 19.379 -0.697 -0.471 0.540 0 676 1 + -13.089 -3.547 18.703 0.009 -0.137 0.991 0 673 1 + -12.255 -5.001 20.053 -0.547 0.832 0.091 0 769 1 + -12.394 -5.102 20.031 -0.638 0.766 0.076 0 769 1 + -13.238 -3.655 18.680 -0.076 -0.199 0.977 0 673 1 + -13.616 -4.721 18.884 0.176 0.512 0.841 0 671 1 + -12.805 -5.744 20.275 -0.909 0.344 0.237 0 769 1 + -14.056 -5.408 19.145 -0.075 0.120 0.990 0 671 1 + -14.613 -6.500 19.971 0.296 0.848 0.440 0 670 1 + -12.453 -6.829 20.881 -0.677 -0.370 0.636 0 769 1 + -14.261 -7.585 20.577 0.528 0.134 0.839 0 670 1 + -13.367 -8.852 21.542 -0.068 0.978 0.195 0 759 1 + -14.724 -9.708 21.588 -0.844 0.489 0.222 0 759 1 + -15.529 -8.386 20.620 -0.307 -0.392 0.867 0 670 1 + -15.208 -10.205 21.567 -0.521 0.821 0.236 0 760 1 + -15.511 -10.390 21.307 -0.694 0.715 0.087 0 760 1 + -15.813 -8.559 20.377 -0.493 -0.506 0.707 0 670 1 + -15.873 -10.479 20.774 -0.453 0.774 0.443 0 762 1 + -15.890 -11.153 21.692 -0.910 0.279 0.307 0 760 1 + -16.251 -11.242 21.159 -0.669 0.338 0.662 0 762 1 + -15.989 -11.538 22.209 -0.844 0.535 -0.038 0 761 1 + -16.003 -11.560 22.206 -0.852 0.522 -0.040 0 761 1 + -16.266 -11.265 21.156 -0.677 0.325 0.660 0 762 1 + -16.462 -12.033 22.192 -0.546 0.837 -0.031 0 763 1 + -16.462 -12.033 22.192 -0.546 0.837 -0.031 0 763 1 + -16.266 -11.265 21.155 -0.677 0.325 0.660 0 762 1 + -16.726 -11.734 21.133 -0.371 0.638 0.675 0 764 1 + -16.462 -12.033 22.192 -0.547 0.837 -0.031 0 763 1 + -16.726 -11.734 21.133 -0.371 0.637 0.675 0 764 1 + -16.823 -12.119 21.654 -0.306 0.894 0.328 0 765 1 + -17.158 -14.525 19.816 -0.497 -0.481 -0.722 0 765 1 + -17.060 -14.140 19.295 -0.562 -0.737 -0.375 0 764 1 + -17.000 -16.341 19.218 -0.602 0.730 -0.324 0 745 1 + -16.578 -16.321 18.820 -0.324 0.743 -0.585 0 745 1 + -16.609 -14.119 18.869 -0.304 -0.725 -0.618 0 764 1 + -15.822 -14.616 17.344 -0.828 -0.394 0.399 0 691 1 + -15.957 -14.407 17.205 -0.915 -0.259 0.309 0 691 1 + -16.751 -13.897 18.722 -0.385 -0.598 -0.702 0 764 1 + -16.772 -13.682 16.831 -0.372 -0.742 0.558 0 685 1 + -15.934 -14.676 16.663 -0.901 -0.432 -0.041 0 691 1 + -16.748 -13.967 16.257 -0.358 -0.905 0.230 0 685 1 + -16.863 -14.670 15.320 -0.281 -0.436 0.855 0 690 1 + -15.056 -15.319 16.086 -0.334 -0.847 -0.413 0 691 1 + -15.933 -15.352 14.709 0.250 -0.826 0.506 0 690 1 + -14.553 -16.264 16.532 -0.670 -0.218 -0.710 0 695 1 + -14.316 -16.274 16.348 -0.534 -0.223 -0.815 0 695 1 + -15.696 -15.362 14.525 0.386 -0.831 0.400 0 690 1 + -13.817 -15.872 14.996 -0.867 -0.491 0.086 0 694 1 + -13.227 -15.246 13.536 -0.479 -0.079 -0.874 0 694 1 + -15.065 -14.692 12.963 0.746 -0.448 -0.492 0 690 1 + -13.002 -14.198 12.191 -0.629 -0.777 0.022 0 665 1 + -13.196 -13.968 11.820 -0.739 -0.646 -0.189 0 665 1 + -15.259 -14.462 12.592 0.636 -0.317 -0.704 0 690 1 + -14.799 -13.577 11.141 0.329 -0.907 0.263 0 654 1 + -15.253 -13.721 10.909 0.069 -0.989 0.131 0 654 1 + -15.713 -14.605 12.361 0.376 -0.399 -0.836 0 690 1 + -16.229 -14.260 10.668 0.720 -0.630 0.292 0 656 1 + -15.132 -13.662 10.225 0.138 -0.956 -0.260 0 654 1 + -16.117 -14.205 10.029 0.794 -0.594 -0.129 0 656 1 + -15.409 -14.983 8.419 0.322 -0.075 0.944 0 562 1 + -17.391 -13.905 7.162 -0.810 0.541 0.225 0 562 1 + -17.969 -13.197 8.853 -0.425 0.070 -0.903 0 656 1 + -17.327 -12.829 6.762 -0.853 -0.176 0.491 0 561 1 + -17.321 -12.496 6.824 -0.850 0.014 0.527 0 561 1 + -17.964 -12.886 8.911 -0.421 0.275 -0.864 0 656 1 + -18.096 -11.749 8.829 -0.333 -0.483 -0.810 0 653 1 + -16.585 -11.097 6.588 -0.429 0.814 0.392 0 561 1 + -17.359 -10.350 8.593 0.088 0.316 -0.945 0 653 1 + -15.761 -9.590 7.307 -0.978 -0.190 -0.087 0 581 1 + -15.769 -9.551 7.320 -0.982 -0.168 -0.080 0 581 1 + -17.368 -10.312 8.606 0.083 0.339 -0.937 0 653 1 + -17.082 -9.721 8.689 -0.108 -0.055 -0.993 0 651 1 + -15.375 -8.189 7.867 -0.757 0.610 0.232 0 581 1 + -16.688 -8.359 9.236 0.117 0.723 -0.680 0 651 1 + -15.740 -7.683 9.435 -0.514 0.273 -0.813 0 649 1 + -15.014 -7.847 7.840 -0.551 0.806 0.217 0 581 1 + -15.379 -7.341 9.409 -0.307 0.469 -0.828 0 649 1 + -14.528 -6.204 8.750 -0.874 -0.289 -0.389 0 616 1 + -15.000 -7.827 7.798 -0.543 0.817 0.193 0 581 1 + -14.516 -6.185 8.710 -0.866 -0.277 -0.416 0 616 1 + -14.765 -7.400 7.373 -0.700 0.533 0.476 0 579 1 + -14.643 -7.077 7.063 -0.630 0.717 0.298 0 579 1 + -14.401 -5.884 8.420 -0.791 -0.079 -0.607 0 616 1 + -14.484 -5.067 7.111 -0.736 -0.623 0.266 0 617 1 + -14.581 -4.182 7.698 -0.791 -0.117 0.601 0 617 1 + -14.491 -5.057 8.968 -0.850 0.465 -0.246 0 616 1 + -14.307 -4.121 8.347 -0.973 -0.158 0.168 0 614 1 + -14.596 -3.689 7.658 -0.799 0.164 0.578 0 617 1 + -14.322 -3.628 8.308 -0.982 0.124 0.145 0 614 1 + -14.858 -3.087 7.408 -0.624 -0.237 0.745 0 618 1 + -13.969 -1.838 7.629 -0.116 0.477 0.871 0 618 1 + -13.433 -2.379 8.529 -0.474 0.838 0.271 0 614 1 + -13.849 -0.906 10.391 -0.196 -0.144 -0.970 0 644 1 + -13.607 -1.215 10.334 -0.290 0.103 -0.952 0 644 1 + -13.700 -2.068 7.860 -0.228 0.673 0.703 0 618 1 + -13.859 -1.773 7.603 -0.053 0.514 0.856 0 618 1 + -13.746 -0.845 10.366 -0.129 -0.104 -0.986 0 644 1 + -13.323 -2.314 8.502 -0.411 0.875 0.256 0 614 1 + -13.182 -2.250 8.485 -0.330 0.911 0.246 0 614 1 + -13.614 -0.786 10.350 -0.042 -0.065 -0.997 0 644 1 + -12.373 -1.615 8.968 -0.870 0.488 -0.076 0 607 1 + -12.200 -1.362 8.973 -0.771 0.633 -0.073 0 607 1 + -13.453 -0.549 10.354 0.064 0.091 -0.994 0 644 1 + -11.979 0.116 9.131 -0.919 -0.353 -0.178 0 610 1 + -11.942 1.351 9.904 -0.898 0.353 0.263 0 610 1 + -13.418 0.606 11.077 0.087 0.851 -0.519 0 644 1 + -12.042 1.062 10.455 -0.831 0.546 -0.104 0 612 1 + -11.562 1.125 11.577 -0.521 0.587 0.619 0 612 1 + -12.943 0.669 12.187 0.399 0.892 0.212 0 644 1 + -10.951 2.562 12.555 -0.928 -0.371 -0.033 0 33 1 + -12.189 0.569 12.106 0.043 0.810 0.585 0 644 1 + -10.869 1.788 12.340 -0.906 -0.066 0.417 0 33 1 + -10.721 2.228 13.002 -0.797 -0.562 0.222 0 33 1 + -12.728 0.356 12.605 0.541 0.686 0.487 0 644 1 + -12.147 -0.095 13.414 0.154 0.987 -0.053 0 643 1 + -12.983 -0.265 13.919 -0.396 0.875 0.279 0 643 1 + -13.564 0.186 13.109 -0.009 0.574 0.819 0 644 1 + -13.422 -0.205 13.526 -0.104 0.835 0.541 0 642 1 + -11.372 -0.006 13.203 0.134 0.862 0.489 0 643 1 + -10.469 1.414 12.943 -0.624 -0.331 0.708 0 33 1 + -9.962 1.834 13.487 -0.363 -0.787 0.499 0 33 1 + -11.438 -0.463 13.868 0.621 0.745 0.245 0 643 1 + -9.072 0.219 14.292 -0.956 0.290 -0.037 0 50 1 + -9.078 0.202 14.354 -0.960 0.279 0.002 0 50 1 + -11.444 -0.480 13.929 0.617 0.734 0.285 0 643 1 + -10.289 -0.311 15.510 -0.153 0.621 -0.769 0 677 1 + -11.198 -0.371 16.176 -0.739 0.582 -0.339 0 677 1 + -12.344 -0.540 14.588 0.025 0.694 0.719 0 643 1 + -11.705 -0.664 16.395 -0.401 0.777 -0.485 0 675 1 + -11.802 -0.699 16.427 -0.456 0.757 -0.467 0 675 1 + -12.434 -0.572 14.618 -0.035 0.673 0.739 0 643 1 + -12.248 -0.995 16.100 -0.159 0.955 -0.249 0 674 1 + -10.845 -0.053 17.237 -0.511 0.787 0.345 0 677 1 + -11.331 -0.327 17.519 -0.187 0.970 0.157 0 675 1 + -10.586 1.014 18.843 -0.684 0.075 -0.726 0 792 1 + -10.963 0.623 19.470 -0.932 -0.182 -0.313 0 792 1 + -11.734 -0.746 18.190 -0.418 0.730 0.541 0 675 1 + -11.667 -0.961 18.775 -0.463 0.874 0.150 0 676 1 + -10.632 0.014 20.534 -0.714 -0.583 0.387 0 792 1 + -11.333 -1.576 19.849 -0.247 0.477 0.843 0 676 1 + -10.344 -0.492 20.600 -0.907 -0.246 0.343 0 790 1 + -10.174 -0.758 20.756 -0.810 -0.398 0.432 0 790 1 + -11.172 -1.827 19.996 -0.144 0.315 0.938 0 676 1 + -10.047 -2.027 21.433 -0.894 0.448 -0.020 0 785 1 + -10.194 -2.489 21.483 -0.989 0.150 0.013 0 785 1 + -11.319 -2.289 20.047 -0.239 0.017 0.971 0 676 1 + -10.791 -3.471 21.577 -0.591 0.805 -0.049 0 775 1 + -11.291 -4.199 21.170 -0.877 0.389 -0.282 0 775 1 + -11.791 -2.976 19.663 -0.543 -0.426 0.723 0 676 1 + -12.019 -4.932 20.334 -0.392 0.878 0.276 0 769 1 + -11.428 -4.404 21.464 -0.956 0.272 -0.114 0 775 1 + -12.147 -5.123 20.609 -0.476 0.752 0.456 0 769 1 + -11.710 -4.509 22.106 -0.768 0.342 -0.542 0 778 1 + -11.516 -6.386 22.734 -0.657 -0.731 -0.183 0 778 1 + -11.967 -6.879 21.196 -0.357 -0.403 0.843 0 769 1 + -11.460 -8.488 22.069 -0.695 0.670 0.261 0 758 1 + -11.526 -8.540 22.012 -0.738 0.636 0.223 0 758 1 + -12.033 -6.930 21.139 -0.401 -0.437 0.805 0 769 1 + -12.917 -8.960 21.818 0.189 0.916 0.353 0 759 1 + -11.000 -10.314 22.814 -0.392 -0.531 0.751 0 758 1 + -12.355 -10.858 22.676 0.510 -0.168 0.843 0 759 1 + -11.487 -11.623 22.535 -0.068 0.342 0.937 0 755 1 + -11.663 -11.833 22.573 -0.182 0.207 0.961 0 755 1 + -12.542 -11.080 22.716 0.403 -0.295 0.866 0 759 1 + -13.125 -11.962 23.212 0.792 0.293 0.535 0 761 1 + -15.016 -10.906 22.865 -0.288 0.896 0.337 0 761 1 + -14.433 -10.024 22.369 -0.677 0.309 0.668 0 759 1 + -14.917 -10.521 22.348 -0.354 0.640 0.682 0 760 1 + -11.593 -12.553 22.566 -0.137 -0.258 0.957 0 755 1 + -13.050 -12.725 23.204 0.835 -0.143 0.531 0 761 1 + -11.876 -14.363 23.533 0.052 0.949 0.311 0 741 1 + -12.874 -15.023 23.984 -0.605 0.514 0.608 0 741 1 + -14.119 -13.431 23.686 0.225 -0.547 0.806 0 761 1 + -14.578 -13.904 23.673 0.530 -0.232 0.815 0 763 1 + -13.219 -15.591 23.877 -0.831 0.141 0.537 0 741 1 + -14.946 -14.511 23.558 0.320 -0.579 0.750 0 763 1 + -14.343 -16.322 23.522 -0.082 0.628 0.774 0 742 1 + -15.779 -16.781 22.568 -0.902 0.366 0.228 0 742 1 + -16.382 -14.970 22.604 -0.500 -0.841 0.204 0 763 1 + -16.743 -15.056 22.066 -0.260 -0.784 0.563 0 765 1 + -15.789 -16.793 22.546 -0.908 0.359 0.216 0 742 1 + -16.753 -15.068 22.043 -0.266 -0.791 0.551 0 765 1 + -16.230 -17.301 22.317 -0.615 0.698 0.368 0 743 1 + -16.486 -17.411 21.908 -0.761 0.635 0.135 0 743 1 + -17.009 -15.178 21.634 -0.412 -0.854 0.317 0 765 1 + -16.861 -16.952 20.918 -0.511 0.328 0.795 0 745 1 + -16.880 -18.233 21.646 -0.986 0.165 -0.015 0 743 1 + -17.229 -17.720 20.674 -0.753 -0.177 0.634 0 745 1 + -17.032 -18.189 20.956 -0.885 0.136 0.445 0 744 1 + -16.758 -18.916 19.082 -0.728 -0.279 -0.626 0 744 1 + -16.973 -18.399 18.921 -0.584 -0.624 -0.519 0 745 1 + -16.490 -19.392 18.773 -0.907 0.038 -0.420 0 746 1 + -15.355 -18.725 18.081 -0.175 0.468 -0.866 0 746 1 + -15.849 -17.738 18.236 0.155 -0.189 -0.970 0 745 1 + -14.585 -17.035 17.240 -0.688 -0.658 -0.306 0 695 1 + -15.052 -16.132 17.319 -0.955 -0.142 -0.261 0 695 1 + -16.286 -16.895 18.310 -0.132 0.366 -0.921 0 745 1 + -15.527 -15.195 16.829 -0.638 -0.767 0.066 0 691 1 + -14.857 -19.023 17.951 0.147 0.276 -0.950 0 746 1 + -14.057 -17.350 17.103 -0.386 -0.838 -0.384 0 695 1 + -13.137 -18.592 16.532 -1.000 -0.011 -0.004 0 707 1 + -12.884 -18.108 15.841 -0.834 0.307 -0.459 0 707 1 + -13.787 -16.833 16.363 -0.232 -0.543 -0.807 0 695 1 + -13.323 -16.395 15.010 -0.542 -0.835 0.095 0 694 1 + -12.006 -18.239 15.107 -0.256 0.221 -0.941 0 707 1 + -12.444 -16.526 14.276 0.036 -0.921 -0.387 0 694 1 + -11.517 -18.372 14.824 -0.582 0.309 -0.752 0 706 1 + -11.154 -18.233 14.668 -0.374 0.388 -0.842 0 706 1 + -12.105 -16.397 14.130 0.259 -0.836 -0.484 0 694 1 + -10.501 -17.286 12.604 -0.810 -0.243 0.534 0 543 1 + -10.570 -17.246 12.507 -0.854 -0.217 0.472 0 543 1 + -12.173 -16.357 14.035 0.214 -0.810 -0.546 0 694 1 + -11.007 -17.207 12.031 -0.563 -0.243 0.790 0 541 1 + -11.552 -16.327 11.365 -0.875 0.260 0.409 0 541 1 + -12.683 -15.535 13.412 -0.121 -0.269 -0.956 0 694 1 + -12.420 -14.507 12.059 -0.296 -0.954 -0.053 0 665 1 + -11.033 -15.539 9.946 -0.578 0.710 -0.402 0 541 1 + -11.901 -13.719 10.640 0.001 -0.503 -0.864 0 665 1 + -11.637 -13.310 10.253 -0.175 -0.776 -0.606 0 666 1 + -12.220 -12.943 10.206 -0.551 -0.539 -0.637 0 666 1 + -12.518 -13.330 10.590 -0.352 -0.281 -0.893 0 665 1 + -14.121 -12.939 9.910 0.716 -0.542 -0.440 0 654 1 + -12.198 -12.780 10.071 -0.537 -0.433 -0.724 0 666 1 + -14.098 -12.765 9.768 0.729 -0.443 -0.521 0 654 1 + -13.147 -12.047 8.422 0.096 -0.922 0.376 0 582 1 + -13.226 -12.081 8.348 0.051 -0.941 0.334 0 582 1 + -14.176 -12.799 9.694 0.685 -0.462 -0.563 0 654 1 + -14.018 -13.628 7.634 0.579 0.090 0.810 0 560 1 + -14.382 -14.124 7.805 0.371 -0.193 0.908 0 560 1 + -14.540 -13.295 9.865 0.477 -0.746 -0.465 0 654 1 + -14.816 -14.616 8.060 0.661 0.135 0.738 0 562 1 + -14.011 -14.719 7.287 0.584 -0.534 0.612 0 560 1 + -14.445 -15.212 7.542 0.873 -0.206 0.442 0 562 1 + -13.378 -15.562 6.725 0.162 0.028 0.986 0 556 1 + -13.586 -16.089 6.668 0.028 -0.312 0.950 0 556 1 + -14.665 -15.770 7.481 0.748 -0.525 0.408 0 562 1 + -14.013 -17.511 7.034 0.313 0.636 0.705 0 555 1 + -15.566 -17.537 4.868 -0.575 0.621 -0.533 0 555 1 + -16.218 -15.796 5.315 -0.140 -0.539 -0.830 0 562 1 + -15.442 -15.548 4.470 -0.657 -0.704 -0.267 0 557 1 + -15.934 -14.430 4.346 -0.939 -0.066 -0.338 0 557 1 + -16.710 -14.678 5.190 -0.421 0.100 -0.902 0 562 1 + -16.646 -13.602 4.791 -0.464 -0.618 -0.635 0 561 1 + -15.502 -13.766 3.800 -0.692 0.314 -0.650 0 557 1 + -16.214 -12.938 4.245 -0.217 -0.238 -0.947 0 561 1 + -15.095 -12.974 3.066 -0.964 -0.214 -0.160 0 563 1 + -15.084 -12.281 3.043 -0.957 0.233 -0.175 0 563 1 + -16.203 -12.204 4.221 -0.211 0.181 -0.961 0 561 1 + -15.427 -10.931 3.020 -0.728 -0.667 -0.160 0 566 1 + -15.408 -9.653 4.292 -0.715 0.174 0.677 0 566 1 + -16.182 -10.836 5.582 -0.199 0.963 -0.183 0 561 1 + -15.359 -9.330 6.301 -0.748 -0.042 -0.662 0 581 1 + -15.383 -9.494 4.265 -0.698 0.278 0.659 0 566 1 + -15.332 -9.160 6.272 -0.732 0.056 -0.679 0 581 1 + -15.096 -8.733 5.848 -0.889 -0.229 -0.396 0 579 1 + -14.885 -8.576 3.703 -0.371 0.882 0.289 0 566 1 + -14.564 -7.751 5.246 -0.585 0.332 -0.740 0 579 1 + -14.006 -7.559 3.829 -0.957 0.205 0.205 0 573 1 + -13.608 -6.885 4.076 -0.730 0.589 0.347 0 573 1 + -14.166 -7.077 5.494 -0.358 0.717 -0.598 0 579 1 + -14.007 -5.067 5.543 -0.463 -0.623 -0.631 0 617 1 + -13.603 -6.867 4.054 -0.727 0.600 0.334 0 573 1 + -14.002 -5.048 5.521 -0.460 -0.612 -0.643 0 617 1 + -14.912 -4.494 4.372 0.146 -0.982 0.123 0 620 1 + -15.765 -3.788 5.324 -0.415 -0.517 0.749 0 620 1 + -14.915 -4.293 6.539 -0.982 -0.180 -0.061 0 617 1 + -15.178 -3.691 6.289 -0.807 -0.582 0.105 0 618 1 + -15.698 -1.807 4.937 -0.371 0.786 0.494 0 620 1 + -15.106 -1.572 5.875 -0.766 0.629 -0.132 0 618 1 + -15.214 -1.588 5.183 -0.694 0.640 0.330 0 619 1 + -13.386 -1.093 4.886 0.351 0.923 0.160 0 619 1 + -13.278 -1.077 5.578 0.279 0.912 -0.301 0 618 1 + -12.952 -1.065 4.490 0.062 0.903 0.424 0 621 1 + -12.940 -1.067 4.493 0.070 0.902 0.427 0 621 1 + -13.265 -1.080 5.582 0.286 0.910 -0.299 0 618 1 + -11.828 -0.826 5.135 -0.671 0.741 -0.001 0 596 1 + -11.625 -0.830 5.754 -0.537 0.739 0.407 0 596 1 + -13.047 -1.084 6.245 0.411 0.908 0.080 0 618 1 + -11.267 0.037 7.279 -0.776 0.161 -0.610 0 609 1 + -11.638 -0.131 8.099 -0.988 0.065 -0.142 0 609 1 + -13.418 -1.251 7.064 0.199 0.812 0.548 0 618 1 + -11.851 0.321 8.605 -0.846 -0.236 -0.479 0 610 1 + -12.361 -1.264 7.486 -0.549 0.719 0.426 0 618 1 + -11.776 -0.676 8.062 -0.947 0.320 0.035 0 610 1 + -11.905 0.135 8.849 -0.876 -0.342 -0.340 0 610 1 + -13.472 -1.437 7.308 0.168 0.706 0.688 0 618 1 + -12.126 -1.343 8.690 -0.729 0.644 -0.234 0 607 1 + -12.365 -1.605 8.940 -0.865 0.494 -0.091 0 607 1 + -13.710 -1.699 7.558 0.032 0.556 0.830 0 618 1 + -13.174 -2.240 8.458 -0.326 0.917 0.231 0 614 1 + -11.189 0.666 7.577 -0.732 0.521 -0.440 0 609 1 + -11.403 1.117 8.083 -0.589 0.220 -0.777 0 610 1 + -11.345 1.692 8.058 -0.628 -0.164 -0.761 0 611 1 + -11.778 2.020 9.832 -0.913 0.052 0.406 0 611 1 + -11.866 1.468 9.980 -0.854 0.420 0.307 0 610 1 + -11.970 1.172 10.527 -0.785 0.617 -0.058 0 612 1 + -11.356 2.330 10.323 -0.635 0.256 0.729 0 611 1 + -11.544 1.485 11.023 -0.509 0.820 0.262 0 612 1 + -10.932 2.944 11.969 -0.917 -0.153 -0.368 0 33 1 + -10.796 3.289 9.790 -0.267 0.887 0.378 0 611 1 + -10.333 3.969 11.398 -0.575 0.433 -0.694 0 33 1 + -10.012 3.858 10.878 -0.789 0.507 -0.347 0 34 1 + -8.536 4.602 11.456 0.163 0.986 0.026 0 34 1 + -8.769 4.756 12.011 0.319 0.883 -0.344 0 33 1 + -7.892 4.635 11.521 -0.265 0.964 -0.018 0 32 1 + -7.683 4.645 11.893 -0.146 0.970 0.195 0 32 1 + -8.559 4.767 12.383 0.439 0.889 -0.132 0 33 1 + -7.554 4.676 12.502 -0.232 0.950 -0.211 0 30 1 + -7.559 4.684 12.550 -0.234 0.955 -0.184 0 30 1 + -8.564 4.775 12.430 0.436 0.894 -0.104 0 33 1 + -7.893 7.212 13.298 -0.012 -0.730 -0.683 0 12 1 + -8.691 5.451 13.368 -0.038 0.993 0.112 0 33 1 + -8.444 6.319 13.661 -0.524 -0.715 -0.464 0 12 1 + -8.698 7.050 14.457 -0.541 -0.837 0.080 0 12 1 + -9.426 4.602 13.670 -0.056 0.795 0.604 0 33 1 + -8.944 4.508 14.052 -0.377 0.857 0.350 0 31 1 + -9.280 2.244 14.334 -0.594 -0.603 0.532 0 31 1 + -9.782 2.203 13.969 -0.260 -0.576 0.775 0 33 1 + -10.113 0.054 15.904 -0.039 0.856 -0.515 0 677 1 + -9.549 1.840 13.863 -0.525 -0.521 0.673 0 33 1 + -9.855 -0.054 15.590 -0.313 0.792 -0.524 0 677 1 + -10.249 -0.199 15.602 -0.127 0.693 -0.710 0 677 1 + -9.926 1.934 13.649 -0.342 -0.730 0.592 0 33 1 + -9.038 0.314 14.445 -0.934 0.351 0.061 0 50 1 + -9.524 0.114 15.707 -0.221 0.964 -0.150 0 677 1 + -8.887 1.792 14.505 -0.674 -0.226 0.704 0 31 1 + -8.939 2.380 14.705 -0.374 -0.516 0.771 0 31 1 + -9.771 0.190 16.275 0.181 0.944 -0.276 0 677 1 + -8.560 0.703 15.118 -0.626 0.602 0.495 0 50 1 + -8.432 0.706 15.254 -0.543 0.604 0.583 0 50 1 + -9.642 0.193 16.411 0.264 0.946 -0.188 0 677 1 + -8.135 0.651 15.827 -0.741 0.641 0.201 0 48 1 + -8.026 0.647 16.110 -0.678 0.639 0.363 0 48 1 + -9.540 0.190 16.678 0.331 0.944 -0.015 0 677 1 + -7.816 2.370 17.053 -0.818 -0.510 -0.265 0 41 1 + -8.907 0.142 16.956 -0.127 0.989 -0.073 0 677 1 + -7.662 1.682 17.233 -0.965 -0.047 -0.259 0 41 1 + -7.872 2.378 17.260 -0.850 -0.505 -0.147 0 41 1 + -9.593 0.197 16.874 0.296 0.949 0.111 0 677 1 + -9.346 1.263 18.484 0.132 0.238 -0.962 0 792 1 + -7.935 3.517 18.287 -0.886 0.146 0.440 0 41 1 + -9.404 2.327 19.443 0.093 0.939 -0.331 0 792 1 + -7.877 3.169 18.889 -0.925 0.378 0.038 0 40 1 + -7.188 2.737 20.287 -0.531 0.131 0.837 0 40 1 + -8.760 1.923 20.749 0.517 0.673 0.529 0 792 1 + -6.641 3.105 22.187 -0.896 -0.115 -0.430 0 818 1 + -8.228 1.631 20.838 0.155 0.859 0.487 0 792 1 + -6.595 2.538 21.944 -0.934 0.255 -0.251 0 818 1 + -6.652 3.092 22.214 -0.903 -0.123 -0.412 0 818 1 + -8.771 1.910 20.776 0.510 0.665 0.546 0 792 1 + -8.034 1.413 21.471 0.018 0.996 0.082 0 789 1 + -9.767 -0.376 21.735 -0.972 -0.025 0.233 0 789 1 + -10.391 0.239 21.022 -0.556 -0.435 0.708 0 792 1 + -10.086 -0.251 21.123 -0.759 -0.108 0.641 0 790 1 + -9.741 -0.722 21.651 -0.957 -0.224 0.185 0 789 1 + -10.060 -0.598 21.038 -0.744 -0.306 0.593 0 790 1 + -9.940 -1.876 21.700 -0.824 0.545 0.153 0 785 1 + -9.058 -0.834 22.678 -0.567 -0.288 0.772 0 789 1 + -9.295 -1.981 22.669 -0.409 0.477 0.778 0 785 1 + -8.478 -1.716 23.798 -0.953 0.300 0.025 0 788 1 + -8.538 -2.112 23.934 -0.993 0.040 0.115 0 788 1 + -9.355 -2.381 22.807 -0.447 0.220 0.867 0 785 1 + -10.183 -3.462 23.621 0.105 0.940 0.324 0 778 1 + -11.030 -3.566 22.558 -0.379 0.881 -0.284 0 778 1 + -10.155 -2.479 21.803 -0.963 0.156 0.220 0 785 1 + -10.749 -3.461 21.916 -0.567 0.811 0.144 0 775 1 + -8.514 -2.175 24.085 -0.977 -0.002 0.215 0 788 1 + -10.157 -3.530 23.783 0.119 0.901 0.416 0 778 1 + -10.312 -3.431 25.160 0.222 0.836 -0.502 0 781 1 + -11.997 -4.946 25.190 -0.864 -0.141 -0.483 0 781 1 + -11.942 -5.134 23.814 -0.901 -0.015 0.434 0 778 1 + -11.908 -5.555 24.880 -0.924 0.265 -0.276 0 780 1 + -11.311 -6.967 24.302 -0.583 -0.541 -0.606 0 780 1 + -11.346 -6.546 23.236 -0.560 -0.822 0.104 0 778 1 + -11.300 -8.637 22.538 -0.590 0.572 0.570 0 758 1 + -10.928 -7.570 24.860 -0.364 -0.886 -0.287 0 780 1 + -10.943 -9.201 23.060 -0.354 0.201 0.913 0 758 1 + -10.070 -9.033 24.938 -0.937 0.089 -0.339 0 218 1 + -9.415 -10.272 24.744 -0.506 -0.726 -0.466 0 218 1 + -10.288 -10.440 22.866 0.076 -0.614 0.786 0 758 1 + -8.992 -10.659 24.646 -0.788 -0.468 -0.401 0 217 1 + -8.786 -10.804 24.477 -0.670 -0.551 -0.498 0 217 1 + -10.095 -10.576 22.708 0.203 -0.703 0.682 0 758 1 + -8.735 -10.624 23.379 -0.704 -0.671 0.234 0 224 1 + -8.707 -10.672 23.318 -0.687 -0.699 0.199 0 224 1 + -10.069 -10.621 22.650 0.220 -0.733 0.644 0 758 1 + -10.546 -11.934 22.370 0.539 0.142 0.830 0 755 1 + -8.602 -10.781 23.259 -0.628 -0.761 0.165 0 224 1 + -10.447 -12.036 22.315 0.602 0.076 0.795 0 755 1 + -8.855 -12.669 22.402 -0.459 0.497 0.736 0 753 1 + -8.983 -12.974 22.484 -0.532 0.323 0.783 0 753 1 + -10.568 -12.324 22.392 0.525 -0.110 0.844 0 755 1 + -10.090 -13.369 22.483 0.206 0.587 0.783 0 748 1 + -10.822 -13.670 22.661 -0.212 0.414 0.885 0 748 1 + -11.259 -12.609 22.560 0.079 -0.294 0.953 0 755 1 + -11.545 -14.418 23.527 0.270 0.912 0.308 0 741 1 + -10.674 -13.745 22.721 -0.128 0.372 0.920 0 748 1 + -11.407 -14.488 23.584 0.361 0.867 0.345 0 741 1 + -9.842 -14.229 24.445 -0.682 0.694 -0.230 0 380 1 + -10.259 -15.638 25.502 -0.921 -0.111 0.374 0 380 1 + -11.796 -15.805 24.572 0.104 0.000 0.995 0 741 1 + -10.325 -16.287 25.526 -0.877 0.321 0.358 0 381 1 + -10.338 -17.657 24.770 -0.884 -0.462 -0.073 0 381 1 + -11.808 -17.086 23.865 0.096 -0.843 0.530 0 741 1 + -11.862 -18.458 23.177 0.132 0.072 0.989 0 738 1 + -12.205 -18.447 23.184 -0.089 0.079 0.993 0 738 1 + -12.148 -17.075 23.872 -0.127 -0.836 0.534 0 741 1 + -13.198 -17.910 23.517 0.573 -0.279 0.771 0 742 1 + -12.749 -19.296 22.832 -0.440 -0.469 0.766 0 738 1 + -13.774 -18.809 23.145 0.243 -0.793 0.558 0 742 1 + -14.214 -19.317 22.916 0.537 -0.455 0.711 0 743 1 + -12.766 -19.914 21.974 -0.451 -0.867 0.212 0 738 1 + -14.232 -19.972 22.006 0.527 -0.828 0.191 0 743 1 + -12.118 -20.829 21.702 -0.883 -0.257 0.393 0 730 1 + -12.231 -20.919 21.169 -0.947 -0.308 0.089 0 730 1 + -14.345 -20.061 21.473 0.462 -0.879 -0.114 0 743 1 + -14.356 -20.431 20.378 0.470 -0.633 0.616 0 746 1 + -16.032 -20.326 20.282 -0.611 -0.565 0.554 0 746 1 + -16.121 -19.950 21.371 -0.552 -0.816 -0.172 0 743 1 + -16.272 -19.906 20.681 -0.451 -0.845 0.288 0 744 1 + -12.164 -21.096 20.875 -0.909 -0.409 -0.079 0 730 1 + -14.293 -20.599 20.100 0.510 -0.741 0.437 0 746 1 + -12.211 -22.430 20.735 -0.877 0.480 0.014 0 724 1 + -13.808 -20.576 19.815 0.155 -0.852 0.499 0 746 1 + -12.131 -22.054 20.329 -0.978 0.146 0.152 0 724 1 + -12.262 -22.558 20.532 -0.911 0.395 -0.120 0 724 1 + -14.344 -20.729 19.895 0.477 -0.824 0.304 0 746 1 + -12.174 -22.208 20.076 -0.970 0.162 0.184 0 723 1 + -12.217 -22.306 19.776 -0.994 0.106 0.012 0 723 1 + -14.385 -20.822 19.611 0.451 -0.884 0.121 0 746 1 + -13.089 -22.285 18.434 -0.413 0.091 0.906 0 713 1 + -13.364 -21.227 16.801 -0.594 0.787 -0.168 0 713 1 + -14.662 -19.754 17.963 0.272 -0.195 -0.942 0 746 1 + -12.944 -19.316 16.544 -0.873 -0.487 0.004 0 707 1 + -13.349 -21.245 16.689 -0.584 0.775 -0.242 0 713 1 + -12.930 -19.334 16.432 -0.864 -0.499 -0.070 0 707 1 + -12.865 -20.562 15.913 -0.907 0.319 0.276 0 711 1 + -12.078 -19.854 14.527 -0.457 0.724 -0.517 0 711 1 + -12.195 -18.672 15.135 -0.380 -0.064 -0.923 0 707 1 + -11.900 -19.928 13.354 -0.576 0.773 0.265 0 715 1 + -11.819 -19.860 13.320 -0.530 0.812 0.246 0 715 1 + -12.119 -18.609 15.104 -0.330 -0.022 -0.944 0 707 1 + -11.638 -18.767 14.820 -0.651 0.083 -0.755 0 706 1 + -11.299 -19.587 13.058 -0.232 0.968 0.096 0 715 1 + -11.117 -18.494 14.558 -0.353 0.239 -0.904 0 706 1 + -10.466 -17.532 12.501 -0.787 -0.402 0.467 0 543 1 + -11.339 -19.591 12.982 -0.255 0.965 0.053 0 715 1 + -10.504 -17.536 12.429 -0.812 -0.405 0.421 0 543 1 + -10.937 -17.515 11.948 -0.523 -0.419 0.742 0 541 1 + -11.726 -19.920 12.173 -0.476 0.778 -0.410 0 715 1 + -11.324 -17.843 11.138 -0.744 -0.606 0.280 0 541 1 + -11.240 -18.339 10.759 -0.800 -0.276 0.533 0 540 1 + -11.549 -17.955 10.189 -0.977 -0.056 0.207 0 540 1 + -11.633 -17.459 10.568 -0.921 -0.387 -0.046 0 541 1 + -11.844 -18.052 9.561 -0.780 0.008 0.626 0 539 1 + -11.082 -16.423 8.443 -0.345 0.939 -0.013 0 539 1 + -10.871 -15.831 9.451 -0.486 0.544 -0.685 0 541 1 + -10.329 -15.663 7.957 -0.847 0.431 0.311 0 535 1 + -9.932 -15.271 8.138 -0.591 0.684 0.428 0 535 1 + -10.450 -15.416 9.643 -0.245 0.781 -0.575 0 541 1 + -9.344 -14.246 9.057 -0.983 0.001 -0.184 0 531 1 + -9.359 -14.183 9.157 -0.991 0.037 -0.127 0 531 1 + -10.465 -15.352 9.743 -0.254 0.817 -0.518 0 541 1 + -11.101 -13.134 10.061 0.170 -0.662 -0.730 0 666 1 + -9.237 -13.759 8.908 -0.922 0.280 -0.269 0 531 1 + -10.986 -12.734 9.827 0.245 -0.404 -0.882 0 666 1 + -9.351 -13.596 7.746 -0.846 0.171 0.506 0 527 1 + -10.277 -12.682 9.808 -0.230 -0.411 -0.882 0 666 1 + -9.128 -13.287 8.347 -0.996 -0.007 0.092 0 527 1 + -9.353 -13.553 7.726 -0.847 0.199 0.493 0 527 1 + -10.988 -12.691 9.807 0.243 -0.376 -0.894 0 666 1 + -11.295 -12.062 7.855 0.448 -0.796 0.407 0 580 1 + -12.358 -12.165 8.006 -0.159 -0.855 0.493 0 580 1 + -11.991 -12.789 9.949 -0.404 -0.439 -0.802 0 666 1 + -12.928 -12.057 8.293 0.221 -0.927 0.302 0 582 1 + -12.433 -12.218 7.876 -0.202 -0.885 0.419 0 580 1 + -13.004 -12.109 8.163 0.178 -0.957 0.228 0 582 1 + -13.796 -13.656 7.448 0.706 0.074 0.704 0 560 1 + -12.196 -12.357 7.589 -0.067 -0.965 0.255 0 580 1 + -13.559 -13.795 7.161 0.842 -0.006 0.540 0 560 1 + -12.248 -13.468 6.511 -0.032 -0.224 0.974 0 559 1 + -12.220 -13.841 6.372 -0.014 -0.470 0.883 0 559 1 + -13.529 -14.194 7.013 0.859 -0.234 0.455 0 560 1 + -12.923 -15.066 6.467 0.455 0.348 0.820 0 556 1 + -11.946 -14.007 6.243 0.166 -0.579 0.798 0 559 1 + -12.647 -15.234 6.337 0.633 0.239 0.736 0 556 1 + -10.379 -15.591 7.457 -0.879 0.477 -0.011 0 535 1 + -10.404 -15.640 7.493 -0.895 0.446 0.012 0 535 1 + -12.672 -15.283 6.372 0.617 0.208 0.759 0 556 1 + -11.694 -16.251 6.731 -0.035 0.854 0.520 0 549 1 + -12.601 -17.059 7.026 -0.621 0.332 0.710 0 549 1 + -13.580 -16.091 6.667 0.032 -0.313 0.949 0 556 1 + -14.007 -17.513 7.034 0.316 0.635 0.705 0 555 1 + -12.563 -17.173 7.103 -0.596 0.258 0.760 0 549 1 + -13.967 -17.634 7.115 0.339 0.566 0.752 0 555 1 + -12.083 -17.377 8.346 -0.917 0.394 -0.069 0 539 1 + -11.812 -19.189 8.311 -0.762 -0.642 -0.088 0 539 1 + -13.696 -19.446 7.081 0.494 -0.470 0.732 0 555 1 + -12.898 -20.169 6.680 -0.038 0.012 0.999 0 554 1 + -14.445 -20.616 4.406 -0.922 -0.243 -0.300 0 554 1 + -15.243 -19.893 4.807 -0.390 -0.725 -0.567 0 555 1 + -14.757 -19.993 4.311 -0.715 -0.658 -0.236 0 553 1 + -14.820 -18.073 3.861 -0.751 0.439 -0.493 0 553 1 + -15.307 -17.973 4.358 -0.427 0.372 -0.824 0 555 1 + -14.625 -16.929 3.637 -0.882 -0.323 -0.344 0 551 1 + -14.816 -16.516 4.055 -0.991 -0.087 -0.105 0 551 1 + -15.498 -17.559 4.775 -0.536 0.608 -0.585 0 555 1 + -15.374 -15.571 4.378 -0.619 -0.717 -0.320 0 557 1 + -14.686 -16.265 3.546 -0.917 0.056 -0.396 0 551 1 + -15.244 -15.320 3.868 -0.545 -0.574 -0.611 0 557 1 + -14.563 -16.107 3.001 -0.998 -0.050 -0.033 0 552 1 + -14.262 -15.319 2.483 -0.800 0.469 -0.374 0 552 1 + -14.922 -14.477 3.314 -0.361 -0.093 -0.928 0 557 1 + -14.547 -13.645 2.606 -0.610 -0.647 -0.457 0 563 1 + -14.167 -15.293 2.339 -0.738 0.486 -0.468 0 552 1 + -14.451 -13.618 2.462 -0.549 -0.630 -0.550 0 563 1 + -14.015 -13.923 1.132 -0.839 -0.427 0.337 0 568 1 + -14.259 -13.218 0.904 -0.978 -0.025 0.207 0 568 1 + -14.681 -12.954 2.247 -0.697 -0.201 -0.689 0 563 1 + -14.388 -12.578 1.172 -0.892 -0.452 0.028 0 567 1 + -14.553 -11.807 1.414 -0.986 -0.011 0.167 0 567 1 + -14.837 -12.226 2.476 -0.797 0.268 -0.541 0 563 1 + -15.182 -10.877 2.458 -0.567 -0.631 -0.529 0 566 1 + -13.994 -10.550 0.707 -0.666 0.707 -0.238 0 567 1 + -14.659 -9.702 1.797 -0.223 0.141 -0.965 0 566 1 + -13.831 -9.274 -0.574 -0.775 -0.144 0.616 0 501 1 + -13.452 -8.510 -0.293 -0.558 0.292 0.777 0 501 1 + -14.305 -8.988 2.060 0.011 0.611 -0.791 0 566 1 + -13.760 -9.059 1.871 -0.352 0.658 -0.665 0 565 1 + -13.759 -9.056 1.873 -0.351 0.660 -0.664 0 565 1 + -14.303 -8.985 2.062 0.012 0.613 -0.790 0 566 1 + -13.384 -7.997 2.073 -0.602 -0.046 -0.798 0 573 1 + -13.757 -9.056 1.872 -0.350 0.660 -0.665 0 565 1 + -13.382 -7.998 2.072 -0.601 -0.046 -0.798 0 573 1 + -13.449 -8.508 -0.291 -0.556 0.294 0.777 0 501 1 + -13.427 -8.424 -0.310 -0.543 0.342 0.767 0 501 1 + -13.360 -7.914 2.053 -0.588 0.002 -0.809 0 573 1 + -13.020 -7.499 1.606 -0.815 -0.275 -0.511 0 574 1 + -13.114 -7.331 1.690 -0.868 -0.179 -0.463 0 574 1 + -13.454 -7.746 2.138 -0.642 0.098 -0.761 0 573 1 + -13.328 -6.751 1.584 -0.726 -0.566 -0.392 0 583 1 + -13.583 -5.914 2.897 -0.890 -0.026 0.455 0 583 1 + -13.724 -6.859 3.529 -0.796 0.604 0.034 0 573 1 + -15.025 -4.487 3.881 0.072 -0.977 -0.201 0 620 1 + -13.428 -5.993 3.750 -0.974 0.024 0.225 0 573 1 + -14.161 -4.708 3.937 -0.455 -0.885 0.093 0 620 1 + -13.705 -5.812 2.571 -0.969 0.040 0.245 0 583 1 + -15.146 -4.386 3.558 -0.008 -0.911 -0.413 0 620 1 + -15.075 -5.119 1.581 -0.055 -0.422 0.905 0 590 1 + -14.969 -3.059 0.834 0.013 0.906 0.422 0 590 1 + -15.041 -2.347 2.818 0.061 0.431 -0.900 0 620 1 + -13.909 -2.731 1.143 -0.693 0.687 0.216 0 587 1 + -13.830 -2.668 1.183 -0.648 0.723 0.239 0 587 1 + -14.967 -2.288 2.855 0.110 0.470 -0.876 0 620 1 + -13.930 -2.008 2.685 -0.581 0.283 -0.763 0 621 1 + -13.990 -1.595 3.002 -0.620 0.555 -0.555 0 621 1 + -15.027 -1.875 3.171 0.071 0.741 -0.667 0 620 1 + -14.496 -1.661 3.294 -0.283 0.598 -0.749 0 619 1 + -12.079 -2.365 1.235 0.352 0.897 0.269 0 587 1 + -12.294 -1.724 2.734 0.495 0.469 -0.731 0 621 1 + -11.054 -2.431 1.750 -0.331 0.941 -0.075 0 585 1 + -11.048 -2.429 1.755 -0.328 0.942 -0.072 0 585 1 + -12.289 -1.722 2.739 0.499 0.471 -0.728 0 621 1 + -10.717 -1.457 2.821 -0.549 0.294 -0.782 0 595 1 + -10.928 -0.720 3.841 -0.670 0.715 -0.199 0 595 1 + -12.486 -1.033 3.693 0.369 0.924 -0.100 0 621 1 + -11.374 -0.793 4.334 -0.373 0.763 -0.528 0 596 1 + -10.036 -0.366 4.826 -0.160 0.918 0.364 0 595 1 + -10.540 -0.461 5.255 0.176 0.981 0.078 0 596 1 + -10.107 0.431 6.745 -0.113 0.386 -0.915 0 609 1 + -8.641 -1.028 5.153 0.637 0.540 0.550 0 595 1 + -8.711 -0.231 7.071 0.684 0.008 -0.729 0 609 1 + -8.163 -1.259 6.947 0.319 0.694 -0.646 0 605 1 + -7.661 -1.146 7.930 0.642 0.766 -0.011 0 605 1 + -8.180 -0.111 8.113 0.988 0.076 -0.134 0 609 1 + -6.517 -0.482 9.321 -0.121 0.324 -0.938 0 55 1 + -6.713 0.192 9.799 -0.233 0.709 -0.665 0 55 1 + -8.376 0.564 8.591 0.876 0.462 0.140 0 609 1 + -7.231 2.037 10.071 0.112 -0.520 -0.846 0 32 1 + -7.447 2.378 9.897 -0.011 -0.325 -0.946 0 32 1 + -8.592 0.905 8.418 0.753 0.657 0.041 0 609 1 + -8.917 1.915 8.845 0.970 -0.017 -0.244 0 611 1 + -7.841 3.462 9.931 -0.236 0.294 -0.926 0 32 1 + -9.286 2.928 8.876 0.727 0.649 -0.223 0 611 1 + -8.487 3.494 9.955 0.195 0.272 -0.942 0 34 1 + -5.339 0.409 10.946 0.553 0.833 -0.010 0 55 1 + -5.857 2.254 11.218 0.898 -0.397 -0.191 0 32 1 + -5.128 2.245 12.166 0.412 -0.390 -0.823 0 29 1 + -5.303 3.979 12.318 0.312 0.600 -0.737 0 29 1 + -6.032 3.988 11.370 0.798 0.594 -0.104 0 32 1 + -5.130 5.080 12.670 0.196 -0.134 -0.971 0 25 1 + -6.479 5.727 13.119 -0.674 0.283 -0.682 0 25 1 + -7.462 4.673 11.845 -0.019 0.986 0.167 0 32 1 + -7.333 4.703 12.454 -0.105 0.965 -0.239 0 30 1 + -6.544 5.734 13.190 -0.716 0.288 -0.636 0 25 1 + -7.401 4.712 12.530 -0.144 0.970 -0.196 0 30 1 + -7.745 7.237 13.279 0.085 -0.714 -0.695 0 12 1 + -7.481 5.439 13.541 -0.190 0.471 -0.862 0 30 1 + -7.577 6.145 13.736 -0.125 -0.003 -0.992 0 12 1 + -6.353 5.894 13.084 -0.593 0.391 -0.704 0 25 1 + -7.556 7.395 13.174 0.210 -0.610 -0.764 0 12 1 + -6.284 7.045 13.035 -0.638 -0.377 -0.671 0 19 1 + -5.950 8.539 12.886 -0.448 0.477 -0.756 0 19 1 + -7.244 8.791 13.035 0.415 0.309 -0.856 0 12 1 + -6.839 9.156 13.232 0.145 0.065 -0.987 0 11 1 + -7.408 9.667 13.356 -0.180 0.357 -0.917 0 11 1 + -7.776 9.269 13.151 0.065 0.623 -0.780 0 12 1 + -8.563 10.594 13.128 0.590 -0.261 -0.764 0 3 1 + -9.375 10.088 13.021 0.126 -0.551 -0.825 0 3 1 + -8.535 8.795 13.051 -0.434 0.311 -0.845 0 12 1 + -9.699 9.623 13.145 0.342 -0.241 -0.908 0 4 1 + -10.229 8.640 15.226 -0.007 -0.887 0.461 0 4 1 + -9.065 7.812 15.132 -0.783 -0.335 0.524 0 12 1 + -9.375 8.429 16.417 -0.576 -0.746 -0.333 0 13 1 + -8.574 8.010 16.787 -0.119 -0.986 -0.121 0 13 1 + -8.317 7.421 15.478 -0.290 -0.593 0.751 0 12 1 + -7.273 6.461 16.366 -0.986 0.047 0.159 0 21 1 + -7.191 5.983 15.753 -0.932 -0.267 -0.244 0 21 1 + -8.234 6.943 14.865 -0.236 -0.907 0.348 0 12 1 + -7.152 5.955 15.173 -0.958 -0.248 0.142 0 20 1 + -7.152 5.953 15.168 -0.958 -0.249 0.140 0 20 1 + -8.235 6.941 14.860 -0.237 -0.908 0.345 0 12 1 + -8.476 4.399 14.459 -0.076 0.787 0.612 0 31 1 + -7.150 5.949 15.174 -0.957 -0.251 0.143 0 20 1 + -8.474 4.395 14.464 -0.075 0.785 0.616 0 31 1 + -7.189 5.978 15.754 -0.931 -0.271 -0.244 0 21 1 + -7.155 5.774 15.971 -0.909 -0.405 -0.102 0 21 1 + -8.440 4.189 14.683 -0.052 0.652 0.757 0 31 1 + -7.220 4.609 15.314 -0.866 0.371 0.336 0 26 1 + -7.224 4.565 15.351 -0.868 0.346 0.357 0 26 1 + -8.443 4.147 14.718 -0.054 0.625 0.779 0 31 1 + -7.537 4.243 16.639 -0.659 0.561 -0.502 0 41 1 + -7.789 2.505 16.799 -0.803 -0.432 -0.410 0 41 1 + -8.682 2.507 14.869 -0.208 -0.434 0.877 0 31 1 + -7.999 0.782 15.857 -0.663 0.716 0.218 0 48 1 + -8.077 0.721 15.804 -0.708 0.681 0.188 0 48 1 + -8.755 2.449 14.819 -0.256 -0.471 0.844 0 31 1 + -8.377 0.773 15.232 -0.508 0.647 0.569 0 50 1 + -7.213 4.584 15.358 -0.862 0.357 0.361 0 26 1 + -7.526 4.262 16.646 -0.653 0.572 -0.497 0 41 1 + -7.149 5.750 16.012 -0.904 -0.420 -0.074 0 21 1 + -5.729 6.194 17.632 0.030 -0.128 0.991 0 21 1 + -6.007 4.737 18.379 0.215 0.843 0.493 0 41 1 + -5.310 4.551 19.188 -0.249 0.967 -0.046 0 39 1 + -5.770 4.337 19.535 -0.512 0.845 0.153 0 39 1 + -6.467 4.523 18.727 -0.048 0.721 0.691 0 41 1 + -6.409 4.175 19.329 -0.086 0.953 0.290 0 40 1 + -5.875 4.022 20.108 -0.572 0.665 0.480 0 39 1 + -6.514 3.860 19.903 -0.146 0.773 0.617 0 40 1 + -6.005 4.165 21.824 -0.485 0.569 -0.664 0 818 1 + -4.825 4.350 20.180 0.028 0.853 0.521 0 39 1 + -5.014 4.476 21.892 0.154 0.769 -0.620 0 818 1 + -4.250 5.237 22.309 -0.355 0.262 -0.897 0 815 1 + -4.483 5.377 22.474 -0.488 0.342 -0.803 0 815 1 + -5.234 4.608 22.048 0.012 0.855 -0.519 0 818 1 + -5.094 5.031 22.494 -0.081 0.572 -0.816 0 816 1 + -6.617 4.283 23.444 -0.951 0.145 -0.273 0 816 1 + -6.671 3.901 22.945 -0.915 0.399 0.059 0 818 1 + -6.881 4.314 23.963 -0.775 0.124 -0.620 0 817 1 + -6.738 3.089 24.497 -0.681 -0.681 -0.268 0 817 1 + -6.527 2.665 23.484 -0.822 -0.399 0.407 0 818 1 + -6.463 1.313 24.057 -0.864 0.502 0.025 0 796 1 + -6.501 1.225 23.852 -0.889 0.444 -0.109 0 796 1 + -6.565 2.575 23.277 -0.847 -0.457 0.274 0 818 1 + -7.942 0.865 22.598 0.071 0.684 0.726 0 789 1 + -6.653 0.549 24.238 -0.989 -0.000 0.145 0 796 1 + -8.104 0.143 23.011 -0.022 0.271 0.962 0 789 1 + -7.587 -0.803 24.109 -0.367 0.901 0.230 0 788 1 + -6.358 0.283 24.899 -0.796 -0.176 0.580 0 796 1 + -7.292 -1.069 24.771 -0.173 0.726 0.666 0 788 1 + -6.761 -0.422 26.965 -0.527 0.294 -0.797 0 806 1 + -7.062 -1.734 27.395 -0.699 -0.455 -0.551 0 806 1 + -7.573 -2.296 25.173 -0.358 -0.081 0.930 0 788 1 + -8.037 -3.139 27.881 -0.049 0.482 -0.875 0 212 1 + -7.287 -2.680 25.342 -0.632 0.046 0.774 0 788 1 + -7.657 -3.403 27.603 -0.383 0.535 -0.753 0 212 1 + -8.159 -3.348 27.794 -0.118 0.362 -0.925 0 212 1 + -7.687 -2.491 25.092 -0.433 -0.209 0.877 0 788 1 + -9.478 -3.750 26.176 0.761 0.630 0.154 0 781 1 + -8.334 -3.193 27.897 -0.218 0.451 -0.866 0 212 1 + -9.643 -3.604 26.274 0.654 0.724 0.217 0 781 1 + -9.800 -3.457 26.863 0.759 0.627 -0.176 0 782 1 + -9.805 -3.452 26.860 0.756 0.630 -0.178 0 782 1 + -9.648 -3.599 26.271 0.651 0.728 0.215 0 781 1 + -10.028 -2.914 27.086 0.904 0.272 -0.329 0 784 1 + -12.236 -3.181 26.281 -0.520 0.099 -0.848 0 784 1 + -11.856 -3.865 25.466 -0.773 0.556 -0.305 0 781 1 + -12.145 -3.734 26.007 -0.581 0.468 -0.666 0 782 1 + -12.404 -5.080 26.096 -0.729 -0.301 -0.615 0 782 1 + -12.101 -5.135 25.550 -0.932 -0.264 -0.250 0 781 1 + -12.018 -5.757 25.262 -0.987 0.151 -0.058 0 780 1 + -12.368 -5.623 26.554 -0.708 -0.611 -0.353 0 782 1 + -11.981 -6.300 25.719 -0.966 -0.160 0.203 0 780 1 + -12.380 -6.074 26.988 -0.700 -0.310 -0.643 0 783 1 + -11.121 -7.093 27.636 0.112 -0.968 -0.225 0 783 1 + -10.648 -7.380 26.405 -0.204 -0.777 0.596 0 780 1 + -9.807 -8.855 26.382 -0.764 0.207 0.611 0 218 1 + -10.669 -7.011 27.994 0.404 -0.915 0.005 0 783 1 + -9.359 -8.773 26.736 -0.469 0.260 0.844 0 218 1 + -8.939 -7.391 28.073 -0.749 -0.661 -0.048 0 209 1 + -8.862 -7.476 28.137 -0.704 -0.710 -0.012 0 209 1 + -9.286 -8.853 26.795 -0.421 0.208 0.883 0 218 1 + -8.501 -8.964 27.868 -0.945 0.282 0.167 0 215 1 + -8.563 -9.515 27.855 -0.985 -0.073 0.159 0 215 1 + -9.348 -9.399 26.782 -0.462 -0.151 0.874 0 218 1 + -8.991 -10.573 27.591 -0.699 0.632 0.334 0 219 1 + -9.119 -11.668 25.893 -0.772 0.006 -0.636 0 219 1 + -9.467 -10.422 25.195 -0.540 -0.824 -0.170 0 218 1 + -9.048 -10.819 25.128 -0.819 -0.560 -0.126 0 217 1 + -8.646 -12.032 25.534 -0.502 -0.201 -0.841 0 219 1 + -8.575 -11.183 24.769 -0.549 -0.767 -0.331 0 217 1 + -9.053 -13.769 24.538 -0.231 0.957 -0.177 0 380 1 + -9.035 -13.770 24.511 -0.221 0.956 -0.192 0 380 1 + -8.558 -11.184 24.743 -0.539 -0.768 -0.346 0 217 1 + -8.448 -13.510 24.387 -0.612 0.783 -0.109 0 378 1 + -8.353 -13.477 24.203 -0.558 0.802 -0.214 0 378 1 + -8.463 -11.151 24.559 -0.485 -0.749 -0.451 0 217 1 + -8.665 -12.858 22.605 -0.350 0.389 0.852 0 753 1 + -8.749 -12.727 22.498 -0.398 0.464 0.791 0 753 1 + -8.547 -11.019 24.453 -0.533 -0.674 -0.512 0 217 1 + -8.496 -10.839 23.355 -0.567 -0.794 0.220 0 224 1 + -8.465 -13.565 24.191 -0.622 0.751 -0.221 0 378 1 + -8.777 -12.947 22.593 -0.414 0.339 0.845 0 753 1 + -9.052 -13.825 24.316 -0.231 0.924 -0.304 0 380 1 + -9.237 -13.910 24.243 -0.337 0.876 -0.345 0 380 1 + -8.962 -13.031 22.520 -0.520 0.290 0.803 0 753 1 + -10.069 -13.426 22.519 0.218 0.554 0.804 0 748 1 + -9.095 -12.817 27.087 -0.758 -0.651 0.046 0 219 1 + -9.501 -14.555 26.090 -0.487 0.508 0.711 0 380 1 + -9.038 -13.470 28.005 -0.796 -0.216 -0.566 0 222 1 + -7.458 -14.489 28.267 0.244 -0.886 -0.394 0 222 1 + -7.810 -15.645 26.370 0.479 -0.115 0.870 0 380 1 + -7.223 -15.385 26.246 0.087 -0.289 0.953 0 378 1 + -7.146 -15.604 26.154 0.131 -0.414 0.901 0 378 1 + -7.733 -15.864 26.278 0.523 -0.240 0.818 0 380 1 + -7.279 -16.897 26.205 0.220 0.448 0.866 0 379 1 + -7.283 -16.899 26.207 0.218 0.447 0.868 0 379 1 + -7.737 -15.866 26.280 0.521 -0.242 0.819 0 380 1 + -7.803 -16.515 26.304 0.565 0.191 0.803 0 381 1 + -8.980 -18.833 24.764 -0.752 -0.658 0.043 0 379 1 + -9.500 -18.449 24.861 -0.405 -0.914 -0.022 0 381 1 + -9.719 -19.872 23.380 -0.259 0.035 0.965 0 733 1 + -10.163 -19.561 23.147 -0.512 0.213 0.832 0 733 1 + -9.944 -18.138 24.627 -0.659 -0.736 -0.155 0 381 1 + -11.490 -18.912 23.042 0.372 -0.220 0.902 0 738 1 + -10.400 -20.053 23.018 -0.648 -0.068 0.759 0 733 1 + -11.714 -19.376 22.921 0.228 -0.520 0.823 0 738 1 + -11.003 -20.259 22.706 -0.246 0.069 0.967 0 730 1 + -10.186 -20.649 22.997 -0.526 -0.408 0.746 0 733 1 + -10.789 -20.854 22.685 -0.124 -0.271 0.955 0 730 1 + -9.769 -21.169 23.228 -0.804 -0.061 0.592 0 734 1 + -9.793 -21.725 22.952 -0.817 -0.379 0.434 0 734 1 + -10.813 -21.410 22.408 -0.137 -0.588 0.797 0 730 1 + -10.949 -22.723 22.168 -0.047 0.287 0.957 0 724 1 + -8.311 -22.794 21.947 0.030 -0.990 -0.140 0 734 1 + -9.563 -23.722 21.229 0.865 -0.371 0.339 0 724 1 + -8.448 -24.014 20.271 0.121 -0.176 0.977 0 725 1 + -9.636 -24.964 19.289 -0.557 -0.719 0.415 0 725 1 + -10.674 -24.610 20.310 0.134 -0.955 -0.265 0 724 1 + -10.298 -24.716 19.233 -0.116 -0.884 0.453 0 722 1 + -11.621 -23.958 18.774 -0.872 -0.451 0.190 0 722 1 + -11.910 -23.902 19.881 -0.679 -0.489 -0.548 0 724 1 + -12.697 -23.536 18.065 -0.155 -0.732 0.663 0 713 1 + -13.094 -22.574 18.431 -0.416 -0.099 0.904 0 713 1 + -12.308 -22.939 20.247 -0.941 0.145 -0.307 0 724 1 + -12.222 -22.616 19.772 -0.997 -0.071 0.010 0 723 1 + -11.103 -24.371 17.666 -0.576 -0.687 -0.443 0 722 1 + -12.213 -23.922 17.029 0.163 -0.986 -0.018 0 713 1 + -10.468 -25.447 16.995 -1.000 0.030 0.005 0 727 1 + -10.376 -25.330 16.490 -0.939 0.107 -0.327 0 727 1 + -12.120 -23.805 16.524 0.224 -0.909 -0.350 0 713 1 + -11.593 -23.713 16.305 -0.128 -0.971 -0.204 0 712 1 + -11.806 -23.531 15.905 -0.249 -0.866 -0.433 0 712 1 + -12.319 -23.635 16.150 0.093 -0.797 -0.596 0 713 1 + -11.621 -23.522 14.780 -0.372 -0.872 0.317 0 714 1 + -12.702 -22.157 14.417 -0.990 -0.092 0.110 0 714 1 + -13.329 -22.359 15.811 -0.571 0.042 -0.820 0 713 1 + -12.844 -21.753 14.974 -0.895 -0.362 -0.261 0 711 1 + -12.617 -21.475 13.943 -0.941 0.297 -0.160 0 714 1 + -12.759 -21.071 14.500 -0.846 0.028 -0.532 0 711 1 + -12.581 -21.145 13.327 -0.965 0.077 0.250 0 715 1 + -12.459 -22.455 13.427 -0.851 -0.262 -0.455 0 714 1 + -12.423 -22.125 12.812 -0.875 -0.482 -0.045 0 715 1 + -12.327 -22.594 12.297 -0.939 -0.170 0.299 0 716 1 + -11.596 -21.020 11.000 -0.521 0.730 -0.442 0 716 1 + -11.692 -20.551 11.515 -0.457 0.417 -0.785 0 715 1 + -11.501 -19.067 9.474 -0.584 -0.572 0.576 0 539 1 + -11.523 -18.960 9.549 -0.596 -0.511 0.619 0 539 1 + -11.713 -20.444 11.591 -0.469 0.478 -0.742 0 715 1 + -11.228 -18.863 10.177 -0.793 -0.575 0.201 0 540 1 + -10.787 -21.751 10.115 -0.060 0.312 -0.948 0 716 1 + -10.693 -19.799 8.588 -0.122 -0.990 0.070 0 539 1 + -9.691 -20.669 9.375 -0.791 -0.410 -0.455 0 545 1 + -8.928 -20.473 8.620 -0.355 -0.298 -0.886 0 545 1 + -9.931 -19.603 7.833 0.313 -0.878 -0.362 0 539 1 + -9.515 -19.421 7.285 0.036 -0.999 0.004 0 536 1 + -9.769 -19.402 7.098 -0.109 -0.989 -0.103 0 536 1 + -10.185 -19.584 7.646 0.168 -0.867 -0.468 0 539 1 + -10.113 -19.469 6.483 0.120 -0.944 0.307 0 537 1 + -10.343 -19.487 6.467 -0.012 -0.954 0.298 0 537 1 + -10.416 -19.602 7.630 0.036 -0.878 -0.478 0 539 1 + -11.501 -20.583 5.999 0.760 -0.224 0.610 0 554 1 + -10.069 -19.549 5.932 0.144 -0.989 -0.007 0 537 1 + -11.227 -20.644 5.464 0.916 -0.259 0.305 0 554 1 + -9.778 -19.614 5.439 -0.050 -0.946 0.321 0 538 1 + -10.282 -18.814 3.698 -0.381 -0.419 -0.824 0 538 1 + -11.766 -19.787 3.602 0.608 0.230 -0.760 0 554 1 + -11.583 -18.628 3.490 0.486 -0.543 -0.685 0 550 1 + -12.148 -18.565 3.208 0.163 -0.507 -0.846 0 550 1 + -12.332 -19.725 3.320 0.285 0.266 -0.921 0 554 1 + -12.643 -19.102 3.224 0.493 -0.149 -0.857 0 553 1 + -12.550 -18.200 3.023 -0.067 -0.298 -0.952 0 550 1 + -13.045 -18.737 3.039 0.263 0.059 -0.963 0 553 1 + -12.847 -17.349 2.318 0.131 -0.866 -0.482 0 552 1 + -14.329 -16.812 2.812 -0.844 -0.513 -0.157 0 552 1 + -14.630 -18.163 3.567 -0.643 0.388 -0.661 0 553 1 + -14.435 -17.019 3.343 -0.773 -0.375 -0.512 0 551 1 + -11.610 -17.728 3.145 0.470 -0.029 -0.882 0 550 1 + -11.968 -16.908 2.433 0.709 -0.576 -0.407 0 552 1 + -10.876 -16.487 1.048 -0.019 -0.856 0.516 0 570 1 + -12.486 -15.591 0.149 -0.939 -0.344 0.003 0 570 1 + -13.473 -16.070 1.593 -0.281 -0.025 -0.959 0 552 1 + -13.273 -14.754 0.333 -0.415 -0.902 -0.119 0 568 1 + -12.311 -15.223 -0.779 -0.839 -0.134 -0.528 0 570 1 + -13.098 -14.386 -0.595 -0.315 -0.692 -0.650 0 568 1 + -12.096 -15.170 -1.447 -0.982 -0.169 -0.082 0 571 1 + -11.646 -14.038 -2.023 -0.692 0.561 -0.454 0 571 1 + -12.620 -13.186 -1.206 -0.042 -0.006 -0.999 0 568 1 + -11.232 -12.856 -2.533 -0.967 -0.226 -0.115 0 481 1 + -11.268 -12.324 -2.446 -0.991 0.124 -0.057 0 481 1 + -12.658 -12.617 -1.113 -0.064 0.319 -0.946 0 568 1 + -12.626 -10.700 -2.125 -0.085 -0.959 -0.271 0 501 1 + -13.454 -10.471 -1.719 -0.559 -0.828 -0.039 0 501 1 + -13.487 -12.388 -0.707 -0.537 0.450 -0.714 0 568 1 + -13.617 -11.748 -0.439 -0.451 0.023 -0.892 0 567 1 + -11.133 -12.128 -2.892 -0.902 0.252 -0.351 0 481 1 + -12.481 -10.491 -2.603 -0.003 -0.839 -0.544 0 501 1 + -12.856 -10.318 -3.171 0.247 -0.955 -0.165 0 502 1 + -14.280 -8.092 -1.550 -0.566 0.317 0.761 0 502 1 + -13.905 -8.265 -0.982 -0.816 0.432 0.383 0 501 1 + -14.238 -6.461 -0.755 -0.594 -0.770 0.231 0 589 1 + -14.150 -6.465 -0.591 -0.536 -0.773 0.340 0 589 1 + -13.810 -8.269 -0.806 -0.762 0.430 0.483 0 501 1 + -14.378 -6.239 -0.107 -0.384 -0.923 0.017 0 588 1 + -13.992 -6.284 0.336 -0.164 -0.949 0.270 0 588 1 + -13.425 -8.314 -0.363 -0.542 0.405 0.736 0 501 1 + -13.018 -7.389 1.553 -0.814 -0.212 -0.541 0 574 1 + -14.081 -6.226 0.460 -0.215 -0.915 0.341 0 588 1 + -13.106 -7.331 1.677 -0.864 -0.179 -0.470 0 574 1 + -13.321 -6.750 1.572 -0.721 -0.565 -0.400 0 583 1 + -14.308 -6.031 0.711 -0.345 -0.804 0.484 0 588 1 + -13.535 -6.567 1.808 -0.860 -0.447 -0.247 0 583 1 + -14.906 -5.873 0.818 0.054 -0.909 0.413 0 590 1 + -14.556 -6.150 -0.236 -0.486 -0.872 -0.057 0 588 1 + -15.139 -5.986 -0.075 -0.097 -0.982 -0.164 0 590 1 + -14.316 -6.381 -0.712 -0.646 -0.718 0.260 0 589 1 + -14.403 -4.618 -1.955 -0.702 0.442 -0.558 0 589 1 + -15.227 -4.206 -1.331 -0.153 0.167 -0.974 0 590 1 + -14.648 -4.264 -1.566 -0.539 0.206 -0.817 0 588 1 + -14.155 -2.936 -0.236 -0.257 0.965 -0.057 0 588 1 + -14.761 -2.952 -0.075 0.147 0.975 -0.164 0 590 1 + -13.689 -2.617 0.180 -0.568 0.752 -0.334 0 587 1 + -12.747 -3.671 -1.249 0.547 0.545 -0.635 0 588 1 + -12.282 -3.352 -0.833 0.237 0.333 -0.913 0 587 1 + -12.626 -4.064 -1.658 0.466 0.807 -0.363 0 589 1 + -11.963 -4.712 -1.414 0.903 0.380 -0.202 0 589 1 + -11.572 -4.046 -0.572 0.642 -0.064 -0.764 0 587 1 + -11.075 -4.487 -0.334 0.310 0.230 -0.922 0 584 1 + -11.047 -4.444 -0.313 0.326 0.254 -0.910 0 584 1 + -11.544 -4.003 -0.551 0.658 -0.039 -0.752 0 587 1 + -10.147 -3.738 -0.273 -0.274 -0.216 -0.937 0 586 1 + -10.632 -2.204 1.368 -0.593 0.793 0.142 0 586 1 + -12.064 -2.362 1.204 0.361 0.898 0.251 0 587 1 + -11.038 -2.428 1.719 -0.322 0.942 -0.093 0 585 1 + -10.618 -2.198 1.388 -0.584 0.797 0.155 0 586 1 + -11.023 -2.421 1.741 -0.314 0.946 -0.080 0 585 1 + -10.692 -1.450 2.807 -0.535 0.298 -0.791 0 595 1 + -8.579 -2.499 1.547 0.758 0.599 0.260 0 586 1 + -8.511 -1.772 2.977 0.712 0.114 -0.693 0 595 1 + -8.295 -2.432 2.850 0.568 0.554 -0.608 0 592 1 + -7.816 -2.463 3.820 0.842 0.536 -0.054 0 592 1 + -8.031 -1.803 3.947 0.986 0.096 -0.139 0 595 1 + -7.132 -2.618 4.736 0.386 0.639 -0.665 0 597 1 + -7.521 -2.074 5.802 0.135 0.991 0.022 0 597 1 + -8.444 -1.227 5.076 0.750 0.426 0.506 0 595 1 + -7.977 -1.446 6.874 0.439 0.573 -0.693 0 605 1 + -7.297 -2.130 5.930 0.279 0.954 0.105 0 597 1 + -7.753 -1.503 7.003 0.583 0.536 -0.610 0 605 1 + -6.377 -1.995 6.649 -0.334 0.865 -0.375 0 601 1 + -6.093 -1.805 7.566 -0.172 0.974 0.149 0 601 1 + -7.485 -1.323 7.868 0.756 0.652 -0.052 0 605 1 + -6.330 -0.670 9.255 -0.014 0.217 -0.976 0 55 1 + -5.243 -1.910 7.756 0.314 0.914 0.258 0 601 1 + -5.480 -0.774 9.445 0.472 0.157 -0.868 0 55 1 + -4.119 -1.769 7.585 -0.436 0.820 0.372 0 603 1 + -3.933 -1.743 7.707 -0.329 0.834 0.442 0 603 1 + -5.294 -0.749 9.567 0.578 0.172 -0.798 0 55 1 + -4.712 -0.982 9.759 0.190 0.327 -0.926 0 54 1 + -4.722 0.153 11.167 0.184 0.975 -0.121 0 54 1 + -5.304 0.386 10.975 0.572 0.820 0.007 0 55 1 + -5.093 2.222 12.195 0.432 -0.404 -0.807 0 29 1 + -4.621 0.138 11.234 0.242 0.967 -0.083 0 54 1 + -4.992 2.206 12.263 0.490 -0.412 -0.768 0 29 1 + -2.894 1.262 11.644 -0.909 0.217 -0.356 0 60 1 + -2.181 2.394 12.333 -0.501 0.864 0.038 0 60 1 + -4.279 3.338 12.952 0.897 0.235 -0.374 0 29 1 + -3.178 3.618 13.868 0.163 0.048 -0.985 0 28 1 + -3.276 3.915 13.899 0.098 0.243 -0.965 0 28 1 + -4.384 3.656 12.985 0.837 0.416 -0.355 0 29 1 + -4.262 4.776 13.300 0.756 -0.330 -0.565 0 25 1 + -3.025 4.386 14.165 0.264 0.554 -0.790 0 28 1 + -4.008 5.252 13.569 0.920 -0.023 -0.392 0 25 1 + -3.113 6.509 13.568 0.323 -0.862 -0.392 0 22 1 + -3.841 6.998 12.840 -0.093 -0.582 -0.808 0 22 1 + -4.696 5.714 12.881 0.476 0.275 -0.835 0 25 1 + -4.528 6.854 12.820 0.365 -0.486 -0.794 0 19 1 + -4.321 9.237 13.176 -0.368 0.697 -0.616 0 22 1 + -5.009 9.092 13.156 0.090 0.793 -0.602 0 19 1 + -4.790 10.026 13.728 -0.055 0.171 -0.984 0 24 1 + -5.026 10.059 13.764 -0.190 0.190 -0.963 0 24 1 + -5.245 9.125 13.192 -0.044 0.812 -0.582 0 19 1 + -5.530 9.603 13.605 0.146 0.494 -0.857 0 18 1 + -5.789 9.511 13.538 -0.021 0.434 -0.901 0 18 1 + -5.519 9.028 13.121 -0.201 0.756 -0.622 0 19 1 + -6.408 9.645 13.467 0.392 0.345 -0.853 0 11 1 + -5.743 9.794 13.714 0.009 0.617 -0.787 0 18 1 + -6.358 9.945 13.653 0.420 0.516 -0.747 0 11 1 + -5.251 10.261 13.879 -0.318 0.305 -0.897 0 24 1 + -5.421 10.656 14.157 -0.415 0.531 -0.739 0 24 1 + -6.528 10.340 13.931 0.323 0.742 -0.588 0 11 1 + -7.194 11.348 14.006 0.767 0.070 -0.638 0 9 1 + -7.830 10.982 13.570 0.357 -0.166 -0.919 0 9 1 + -7.202 9.952 13.469 -0.062 0.520 -0.852 0 11 1 + -8.356 10.879 13.241 0.708 -0.098 -0.700 0 3 1 + -7.886 11.430 13.539 0.321 0.123 -0.939 0 9 1 + -8.416 11.354 13.208 0.674 0.173 -0.718 0 3 1 + -8.683 11.904 12.861 0.852 -0.193 -0.487 0 2 1 + -9.629 11.176 12.436 0.312 -0.609 -0.729 0 2 1 + -9.361 10.626 12.783 0.134 -0.243 -0.961 0 3 1 + -10.213 11.049 12.065 0.702 -0.525 -0.482 0 1 1 + -10.498 10.695 12.185 0.518 -0.754 -0.405 0 1 1 + -9.663 10.251 12.910 -0.039 -0.457 -0.888 0 3 1 + -9.969 9.775 13.042 0.165 -0.141 -0.976 0 4 1 + -12.278 11.065 13.712 -0.630 -0.515 0.581 0 1 1 + -11.731 10.142 14.555 -0.995 0.100 0.019 0 4 1 + -12.618 11.611 14.962 -0.404 -0.879 -0.252 0 6 1 + -11.789 11.673 16.335 0.070 -0.844 0.532 0 6 1 + -10.956 10.200 15.838 -0.485 0.139 0.863 0 4 1 + -10.566 10.286 18.125 -0.746 0.081 -0.661 0 15 1 + -10.518 9.744 18.134 -0.719 -0.229 -0.657 0 15 1 + -10.912 9.693 15.846 -0.456 -0.195 0.868 0 4 1 + -10.106 9.555 17.079 -0.994 -0.103 0.046 0 13 1 + -7.864 9.090 19.290 0.798 -0.602 0.004 0 15 1 + -7.451 8.902 18.236 0.523 -0.476 0.707 0 13 1 + -7.463 9.346 18.772 0.531 -0.772 0.349 0 14 1 + -6.867 9.861 18.359 0.871 -0.478 0.113 0 14 1 + -6.856 9.417 17.822 0.864 -0.182 0.470 0 13 1 + -5.161 9.413 17.107 -0.267 -0.179 0.947 0 24 1 + -5.214 9.059 16.982 -0.297 -0.382 0.875 0 24 1 + -6.910 9.063 17.697 0.833 -0.384 0.399 0 13 1 + -5.717 7.445 17.217 0.038 0.695 0.718 0 21 1 + -4.866 8.952 17.010 -0.098 -0.443 0.891 0 24 1 + -5.392 7.345 17.243 0.252 0.629 0.736 0 21 1 + -4.324 8.534 17.038 -0.460 -0.164 0.872 0 23 1 + -3.195 7.309 16.330 0.185 -0.864 0.468 0 23 1 + -4.337 6.199 16.581 0.946 -0.125 0.300 0 21 1 + -3.170 4.787 16.204 0.168 0.817 0.552 0 28 1 + -3.207 4.735 16.287 0.144 0.783 0.606 0 28 1 + -4.373 6.147 16.664 0.921 -0.159 0.354 0 21 1 + -3.744 4.808 16.508 0.502 0.734 0.458 0 27 1 + -3.826 4.752 16.666 0.455 0.701 0.549 0 27 1 + -4.450 6.094 16.812 0.871 -0.194 0.452 0 21 1 + -3.569 4.383 17.714 0.283 0.947 -0.150 0 36 1 + -4.057 4.446 18.291 0.004 0.984 0.180 0 36 1 + -4.907 6.154 17.351 0.570 -0.155 0.807 0 21 1 + -4.431 4.508 18.888 0.253 0.943 -0.217 0 39 1 + -2.844 2.998 19.201 0.697 0.156 0.700 0 36 1 + -3.218 3.059 19.797 0.946 0.115 0.302 0 39 1 + -1.687 1.971 21.057 -0.074 0.840 -0.537 0 800 1 + -1.964 2.140 21.539 -0.232 0.937 -0.262 0 800 1 + -3.495 3.228 20.280 0.788 0.212 0.578 0 39 1 + -2.358 3.731 22.634 0.030 -0.124 -0.992 0 814 1 + -3.685 3.384 21.731 0.910 0.131 -0.392 0 39 1 + -3.599 3.422 21.907 0.854 0.106 -0.510 0 814 1 + -2.365 3.769 22.630 0.026 -0.103 -0.994 0 814 1 + -3.502 3.265 20.275 0.784 0.233 0.575 0 39 1 + -2.927 4.152 22.403 0.401 -0.358 -0.843 0 815 1 + -1.697 5.444 23.808 0.408 0.855 -0.321 0 814 1 + -2.259 5.827 23.581 0.782 0.599 -0.170 0 815 1 + -0.788 7.158 24.732 -0.198 -0.288 -0.937 0 822 1 + -1.511 7.715 25.039 -0.673 0.079 -0.735 0 822 1 + -3.032 6.424 23.910 0.341 0.940 0.018 0 815 1 + -2.237 8.814 25.036 -0.190 -0.653 -0.733 0 827 1 + -2.994 6.685 24.777 -0.198 0.942 -0.273 0 815 1 + -2.539 8.051 25.421 -0.571 -0.180 -0.801 0 827 1 + -3.005 8.811 25.584 -0.629 -0.655 -0.420 0 827 1 + -3.800 6.421 24.458 -0.098 0.938 0.331 0 815 1 + -3.045 8.301 26.056 -0.602 -0.315 -0.734 0 826 1 + -3.095 8.275 26.111 -0.634 -0.332 -0.699 0 826 1 + -3.853 6.393 24.516 -0.129 0.922 0.364 0 815 1 + -3.719 8.327 26.419 -0.218 -0.367 -0.904 0 832 1 + -3.512 6.454 25.528 -0.637 0.760 -0.128 0 815 1 + -3.453 7.294 26.353 -0.679 0.162 -0.716 0 832 1 + -4.108 8.052 26.726 -0.440 -0.524 -0.729 0 832 1 + -4.242 6.118 24.823 -0.351 0.765 0.539 0 815 1 + -4.273 6.093 26.425 -0.330 0.782 -0.528 0 813 1 + -4.497 5.968 26.420 -0.477 0.700 -0.532 0 813 1 + -4.482 5.984 24.818 -0.488 0.689 0.536 0 815 1 + -5.456 5.581 25.266 0.162 0.958 0.238 0 817 1 + -5.754 5.630 24.697 -0.033 0.990 -0.137 0 817 1 + -4.799 6.037 24.208 -0.669 0.719 0.188 0 815 1 + -5.411 5.691 24.228 -0.262 0.949 0.175 0 816 1 + -4.917 3.930 27.452 -0.754 -0.641 0.148 0 813 1 + -5.876 3.543 26.299 -0.114 -0.383 0.917 0 817 1 + -5.280 1.762 27.222 -0.512 0.805 0.301 0 802 1 + -5.915 1.082 26.257 -0.874 0.416 -0.251 0 802 1 + -6.469 2.908 25.396 -0.504 -0.801 0.323 0 817 1 + -6.194 1.132 24.956 -0.688 0.383 0.617 0 796 1 + -6.076 0.313 26.246 -0.966 -0.023 -0.256 0 802 1 + -6.345 0.413 24.946 -0.787 -0.090 0.610 0 796 1 + -6.747 -0.283 27.015 -0.519 0.374 -0.769 0 806 1 + -6.071 0.822 26.645 -0.963 0.267 -0.028 0 802 1 + -6.742 0.226 27.414 -0.516 0.664 -0.541 0 806 1 + -7.671 0.587 27.952 0.104 0.424 -0.900 0 809 1 + -8.250 -0.967 28.178 -0.277 -0.599 -0.751 0 809 1 + -7.361 -1.437 27.655 -0.869 -0.286 -0.403 0 806 1 + -8.336 -2.843 28.140 -0.219 0.651 -0.727 0 212 1 + -8.321 -0.965 28.204 -0.324 -0.597 -0.734 0 809 1 + -8.412 -2.839 28.169 -0.263 0.653 -0.710 0 212 1 + -10.097 -2.585 27.346 0.860 0.484 -0.162 0 784 1 + -10.026 -2.915 27.092 0.906 0.271 -0.325 0 784 1 + -8.337 -3.189 27.900 -0.220 0.453 -0.864 0 212 1 + -9.803 -3.453 26.866 0.757 0.629 -0.175 0 782 1 + -9.180 -0.721 29.534 -0.888 -0.437 0.141 0 809 1 + -10.964 -2.339 28.689 0.301 0.642 0.705 0 784 1 + -9.586 -2.486 30.144 -0.617 0.740 -0.266 0 214 1 + -10.044 -3.002 30.526 -0.913 0.407 -0.020 0 214 1 + -11.422 -2.855 29.070 0.005 0.309 0.951 0 784 1 + -10.396 -3.463 30.754 -0.678 0.714 -0.172 0 213 1 + -10.890 -4.367 30.710 -0.960 0.198 -0.196 0 213 1 + -11.887 -3.708 29.029 -0.295 -0.241 0.925 0 784 1 + -11.821 -4.819 29.220 -0.339 0.499 0.797 0 783 1 + -12.722 -5.042 28.237 -0.920 0.355 0.163 0 783 1 + -12.788 -3.932 28.046 -0.876 -0.385 0.290 0 784 1 + -12.730 -4.530 27.877 -0.915 0.014 0.403 0 782 1 + -10.591 -5.777 30.912 -0.790 -0.608 -0.081 0 213 1 + -11.540 -6.150 29.411 -0.158 -0.359 0.920 0 783 1 + -10.374 -6.221 30.535 -0.935 -0.311 0.171 0 211 1 + -9.511 -7.002 29.590 -0.378 -0.815 -0.439 0 211 1 + -10.677 -6.931 28.466 0.399 -0.863 0.310 0 783 1 + -8.948 -7.306 28.574 -0.754 -0.613 0.238 0 209 1 + -9.217 -7.191 29.814 -0.188 -0.937 -0.294 0 211 1 + -8.636 -7.506 28.812 -0.576 -0.727 0.374 0 209 1 + -8.172 -7.984 29.040 -0.885 -0.409 0.222 0 206 1 + -8.172 -8.016 28.972 -0.885 -0.428 0.183 0 206 1 + -8.636 -7.539 28.744 -0.576 -0.746 0.335 0 209 1 + -8.289 -9.024 28.441 -0.807 0.244 0.537 0 215 1 + -7.214 -8.550 29.685 -0.338 -0.733 0.591 0 206 1 + -7.385 -9.528 29.114 -0.224 -0.081 0.971 0 215 1 + -6.369 -8.999 30.584 -0.901 -0.434 -0.009 0 197 1 + -6.139 -9.345 30.550 -0.749 -0.662 -0.031 0 197 1 + -7.151 -9.877 29.080 -0.074 -0.307 0.949 0 215 1 + -7.183 -11.337 29.387 -0.053 0.666 0.744 0 220 1 + -8.085 -11.382 28.990 -0.568 0.640 0.517 0 220 1 + -8.003 -9.920 28.705 -0.623 -0.334 0.707 0 215 1 + -8.398 -11.002 28.492 -0.360 0.387 0.849 0 219 1 + -8.151 -11.442 28.986 -0.606 0.606 0.515 0 220 1 + -8.464 -11.062 28.488 -0.398 0.353 0.847 0 219 1 + -8.449 -11.829 29.315 -0.408 0.864 0.296 0 222 1 + -6.525 -12.403 29.738 0.323 0.057 0.945 0 220 1 + -6.929 -12.727 30.018 0.592 0.273 0.758 0 222 1 + -5.940 -12.421 29.662 -0.067 0.069 0.995 0 221 1 + -5.739 -13.351 29.421 0.066 -0.543 0.837 0 221 1 + -6.727 -13.657 29.777 0.725 -0.339 0.599 0 222 1 + -4.588 -14.664 29.730 -0.701 0.332 0.631 0 383 1 + -5.077 -15.562 28.495 -0.981 -0.181 -0.074 0 383 1 + -7.184 -14.497 28.623 0.424 -0.891 -0.160 0 222 1 + -5.260 -15.209 27.934 -0.858 -0.416 0.300 0 382 1 + -5.361 -15.147 27.589 -0.923 -0.376 0.078 0 382 1 + -7.284 -14.435 28.282 0.359 -0.851 -0.384 0 222 1 + -6.905 -14.230 27.881 0.106 -0.988 -0.117 0 220 1 + -6.929 -14.230 27.858 0.092 -0.987 -0.130 0 220 1 + -7.307 -14.435 28.261 0.344 -0.851 -0.398 0 222 1 + -7.061 -15.327 26.239 0.180 -0.256 0.950 0 378 1 + -6.908 -14.227 27.855 0.104 -0.986 -0.131 0 220 1 + -7.040 -15.325 26.236 0.192 -0.254 0.948 0 378 1 + -5.364 -15.144 27.565 -0.925 -0.374 0.062 0 382 1 + -5.318 -15.252 27.522 -0.895 -0.444 0.034 0 382 1 + -6.991 -15.439 26.190 0.220 -0.319 0.922 0 378 1 + -6.468 -15.817 26.088 -0.129 -0.067 0.989 0 376 1 + -6.584 -15.968 26.052 -0.195 -0.154 0.969 0 376 1 + -7.107 -15.590 26.154 0.154 -0.406 0.901 0 378 1 + -6.652 -16.612 26.081 -0.150 0.275 0.950 0 377 1 + -6.685 -16.626 26.079 -0.168 0.267 0.949 0 377 1 + -7.140 -15.605 26.152 0.135 -0.414 0.900 0 378 1 + -7.273 -16.897 26.204 0.224 0.448 0.866 0 379 1 + -5.982 -18.433 25.469 0.233 -0.765 0.600 0 377 1 + -6.570 -18.704 25.594 0.625 -0.584 0.517 0 379 1 + -6.076 -20.208 25.082 0.296 0.418 0.859 0 737 1 + -7.860 -20.681 24.538 -0.854 0.113 0.508 0 737 1 + -8.459 -19.205 25.017 -0.455 -0.871 0.188 0 379 1 + -8.782 -20.765 23.865 -0.239 0.170 0.956 0 734 1 + -9.181 -20.516 23.639 -0.468 0.312 0.827 0 734 1 + -8.859 -18.956 24.792 -0.683 -0.728 0.059 0 379 1 + -9.598 -19.995 23.408 -0.190 -0.035 0.981 0 733 1 + -6.677 -22.352 23.373 -0.091 -0.965 -0.244 0 737 1 + -7.529 -22.537 22.631 0.477 -0.843 0.251 0 734 1 + -6.884 -22.319 22.785 0.047 -0.988 0.148 0 735 1 + -6.694 -22.091 21.668 0.155 -0.857 -0.491 0 735 1 + -7.339 -22.308 21.513 0.585 -0.712 -0.388 0 734 1 + -7.477 -23.529 19.838 0.677 0.101 0.729 0 725 1 + -6.470 -21.661 21.234 0.283 -0.612 -0.738 0 735 1 + -7.252 -23.099 19.405 0.805 0.347 0.481 0 725 1 + -6.157 -21.300 20.902 0.075 -0.853 -0.517 0 736 1 + -6.284 -20.776 20.378 -0.009 -0.508 -0.862 0 736 1 + -7.389 -22.538 18.844 0.727 0.667 0.161 0 725 1 + -7.205 -20.551 18.411 0.604 -0.657 0.450 0 709 1 + -7.104 -20.649 17.986 0.670 -0.722 0.171 0 709 1 + -7.281 -22.643 18.390 0.788 0.607 -0.098 0 725 1 + -6.587 -22.959 17.532 0.325 0.818 0.475 0 728 1 + -6.424 -24.573 18.152 0.430 -0.223 0.875 0 728 1 + -7.109 -24.353 19.048 0.887 -0.370 0.278 0 725 1 + -6.918 -24.744 18.501 0.759 -0.109 0.642 0 726 1 + -8.518 -25.729 18.645 -0.155 -0.672 0.724 0 726 1 + -8.709 -25.338 19.192 -0.028 -0.933 0.360 0 725 1 + -8.849 -26.119 18.368 0.066 -0.412 0.909 0 727 1 + -9.731 -25.861 18.237 -0.515 -0.243 0.822 0 727 1 + -9.653 -25.062 19.051 -0.567 -0.775 0.280 0 725 1 + -10.315 -24.814 18.995 -0.126 -0.940 0.317 0 722 1 + -7.293 -25.986 17.061 0.545 -0.819 -0.181 0 726 1 + -7.704 -26.359 16.887 0.819 -0.570 -0.066 0 727 1 + -6.779 -25.745 16.792 0.202 -0.979 -0.002 0 728 1 + -7.141 -25.370 15.751 -0.032 -0.738 -0.674 0 728 1 + -8.063 -25.988 15.856 0.583 -0.326 -0.744 0 727 1 + -7.738 -25.776 13.532 0.366 -0.467 0.805 0 720 1 + -9.144 -25.823 13.335 -0.541 -0.498 0.678 0 720 1 + -9.456 -26.035 15.661 -0.333 -0.357 -0.873 0 727 1 + -9.714 -25.578 13.253 -0.161 -0.661 0.733 0 718 1 + -9.726 -25.573 13.255 -0.168 -0.658 0.734 0 718 1 + -9.467 -26.029 15.663 -0.341 -0.354 -0.871 0 727 1 + -10.252 -25.853 13.062 0.182 -0.471 0.863 0 719 1 + -9.509 -25.362 15.127 -0.776 -0.422 -0.469 0 727 1 + -9.965 -25.256 13.615 -0.406 -0.508 0.759 0 719 1 + -10.746 -25.164 13.259 -0.136 -0.027 0.990 0 719 1 + -9.957 -25.347 15.858 -0.663 0.095 -0.743 0 727 1 + -10.960 -23.723 14.504 0.006 -0.987 0.160 0 714 1 + -11.230 -23.612 14.843 -0.149 -0.923 0.354 0 714 1 + -10.209 -25.243 16.175 -0.829 0.164 -0.534 0 727 1 + -11.414 -23.621 15.968 -0.026 -0.918 -0.397 0 712 1 + -11.848 -24.596 12.357 -0.847 0.340 0.408 0 719 1 + -12.127 -23.121 13.548 -0.661 -0.643 -0.386 0 714 1 + -11.995 -23.260 12.417 -0.750 -0.550 0.368 0 716 1 + -10.504 -24.489 10.310 0.020 0.409 -0.912 0 719 1 + -10.570 -23.147 10.249 0.064 -0.486 -0.872 0 716 1 + -9.993 -24.128 10.340 -0.321 0.168 -0.932 0 718 1 + -9.403 -23.780 10.343 0.017 0.366 -0.930 0 718 1 + -9.980 -22.799 10.252 0.402 -0.287 -0.870 0 716 1 + -9.425 -23.163 10.445 0.031 -0.045 -0.999 0 717 1 + -9.302 -22.973 10.457 0.110 0.078 -0.991 0 717 1 + -9.850 -22.598 10.265 0.476 -0.172 -0.862 0 716 1 + -8.754 -21.516 9.525 -0.255 -0.894 -0.369 0 545 1 + -8.827 -23.075 10.584 0.417 0.011 -0.909 0 717 1 + -8.250 -21.625 9.659 0.032 -0.956 -0.292 0 545 1 + -7.827 -21.891 10.086 -0.250 -0.778 -0.577 0 547 1 + -6.343 -19.995 9.799 0.598 0.306 -0.741 0 547 1 + -6.766 -19.728 9.373 0.881 0.128 -0.456 0 545 1 + -6.163 -18.292 8.259 0.479 -0.830 0.286 0 530 1 + -7.074 -18.494 7.458 -0.121 -0.963 -0.241 0 530 1 + -7.741 -19.944 8.515 0.324 0.004 -0.946 0 545 1 + -8.327 -18.892 7.180 0.715 -0.697 -0.056 0 536 1 + -7.024 -18.232 6.905 -0.088 -0.791 -0.605 0 530 1 + -8.274 -18.613 6.588 0.745 -0.538 -0.394 0 536 1 + -8.420 -18.802 5.477 0.843 -0.411 0.346 0 538 1 + -9.322 -19.462 5.669 0.250 -0.845 0.472 0 538 1 + -9.238 -19.319 6.793 0.194 -0.941 -0.277 0 536 1 + -9.582 -19.386 6.177 0.423 -0.896 0.133 0 537 1 + -6.851 -17.970 6.631 0.026 -0.618 -0.785 0 530 1 + -8.248 -18.540 5.204 0.957 -0.239 0.166 0 538 1 + -5.775 -17.842 5.211 -0.692 -0.704 0.161 0 461 1 + -5.772 -17.858 4.715 -0.690 -0.713 -0.122 0 461 1 + -8.245 -18.555 4.740 0.959 -0.249 -0.139 0 538 1 + -7.059 -17.770 3.612 0.168 -0.772 0.613 0 524 1 + -8.971 -17.035 2.285 -0.925 -0.352 -0.145 0 524 1 + -10.032 -17.868 3.500 -0.217 0.203 -0.955 0 538 1 + -10.582 -16.375 1.180 0.149 -0.792 0.592 0 570 1 + -10.048 -17.209 3.492 -0.246 -0.235 -0.940 0 538 1 + -10.449 -16.090 1.803 0.022 -0.982 0.186 0 570 1 + -10.645 -16.373 1.196 0.113 -0.791 0.601 0 570 1 + -10.091 -17.867 3.515 -0.256 0.204 -0.945 0 538 1 + -11.379 -17.615 3.294 0.602 0.036 -0.797 0 550 1 + -8.281 -17.118 1.231 -0.531 -0.399 -0.748 0 524 1 + -9.892 -16.458 0.125 0.543 -0.839 -0.011 0 570 1 + -8.005 -16.852 0.702 -0.715 -0.577 -0.395 0 526 1 + -7.808 -16.606 0.224 -0.602 -0.437 -0.668 0 526 1 + -9.695 -16.213 -0.353 0.656 -0.699 -0.284 0 570 1 + -9.627 -16.104 -1.045 0.611 -0.772 0.177 0 571 1 + -7.385 -16.141 -0.212 -0.360 -0.171 -0.917 0 526 1 + -9.228 -15.664 -1.455 0.868 -0.488 -0.088 0 571 1 + -7.749 -14.987 -2.070 -0.118 -0.939 0.322 0 478 1 + -8.818 -14.141 -3.528 -0.728 -0.456 -0.511 0 478 1 + -10.237 -14.866 -2.831 0.218 0.027 -0.976 0 571 1 + -9.837 -13.676 -3.333 -0.049 -0.766 -0.641 0 481 1 + -8.773 -13.961 -3.714 -0.703 -0.353 -0.618 0 478 1 + -9.795 -13.508 -3.507 -0.022 -0.655 -0.755 0 481 1 + -9.258 -13.439 -3.734 -0.380 -0.701 -0.604 0 479 1 + -9.567 -12.596 -4.079 -0.557 -0.219 -0.801 0 479 1 + -10.084 -12.720 -3.830 -0.212 -0.137 -0.968 0 481 1 + -10.188 -11.470 -5.578 -0.143 -0.970 0.198 0 490 1 + -11.058 -10.653 -4.907 -0.640 -0.503 0.582 0 490 1 + -10.897 -11.956 -3.203 -0.747 0.366 -0.555 0 481 1 + -12.605 -10.133 -3.502 0.391 -0.849 -0.355 0 502 1 + -11.451 -8.894 -5.990 -0.864 0.502 -0.037 0 490 1 + -12.997 -8.375 -4.585 0.167 0.156 -0.974 0 502 1 + -12.983 -7.672 -4.640 0.157 -0.312 -0.937 0 503 1 + -14.512 -7.120 -2.324 -0.829 0.044 0.557 0 503 1 + -14.617 -7.789 -2.131 -0.759 0.490 0.428 0 502 1 + -14.554 -6.178 -1.299 -0.802 -0.584 -0.126 0 589 1 + -11.964 -6.334 -2.909 0.815 0.551 0.180 0 503 1 + -12.030 -5.399 -1.878 0.859 -0.072 -0.507 0 589 1 + -10.868 -6.951 -2.254 0.084 0.963 -0.257 0 500 1 + -10.669 -6.922 -1.731 0.198 0.979 0.042 0 500 1 + -11.844 -5.372 -1.389 0.981 -0.054 -0.186 0 589 1 + -10.947 -5.193 -0.307 0.383 -0.174 -0.907 0 584 1 + -10.393 -7.019 -1.559 0.356 0.924 0.140 0 500 1 + -10.670 -5.290 -0.136 0.541 -0.229 -0.809 0 584 1 + -9.368 -6.997 -0.961 -0.327 0.909 -0.258 0 496 1 + -9.235 -6.935 -0.880 -0.251 0.945 -0.212 0 496 1 + -10.537 -5.228 -0.054 0.618 -0.194 -0.762 0 584 1 + -8.235 -6.115 -1.211 -0.917 0.398 0.009 0 494 1 + -9.738 -5.609 0.294 0.114 0.122 -0.986 0 584 1 + -8.508 -6.080 -0.351 -0.708 0.437 -0.555 0 494 1 + -8.191 -6.022 -1.195 -0.889 0.458 0.020 0 494 1 + -10.490 -5.129 -0.036 0.644 -0.137 -0.752 0 584 1 + -9.627 -4.378 -0.014 0.069 -0.638 -0.767 0 586 1 + -6.981 -5.279 -0.758 -0.093 0.947 0.307 0 494 1 + -8.417 -3.635 0.423 0.865 -0.149 -0.480 0 586 1 + -6.522 -4.315 1.001 -0.398 0.304 -0.865 0 512 1 + -6.558 -3.294 2.182 -0.419 0.888 -0.190 0 512 1 + -8.451 -2.681 1.527 0.842 0.479 0.247 0 586 1 + -8.158 -2.627 2.828 0.647 0.443 -0.621 0 592 1 + -6.159 -3.238 3.113 -0.191 0.920 0.342 0 512 1 + -7.758 -2.570 3.759 0.875 0.475 -0.089 0 592 1 + -7.077 -2.719 4.679 0.421 0.574 -0.702 0 597 1 + -5.685 -3.370 3.441 0.080 0.845 0.529 0 512 1 + -6.629 -2.844 4.989 0.710 0.494 -0.502 0 597 1 + -5.099 -3.017 5.330 -0.310 0.609 -0.730 0 602 1 + -5.120 -2.851 5.500 -0.321 0.705 -0.633 0 602 1 + -6.648 -2.687 5.149 0.698 0.595 -0.399 0 597 1 + -5.690 -2.586 5.822 0.059 0.528 -0.847 0 601 1 + -4.879 -2.608 5.724 -0.184 0.844 -0.504 0 602 1 + -5.449 -2.342 6.047 0.196 0.667 -0.719 0 601 1 + -4.325 -2.201 5.875 -0.553 0.573 -0.605 0 603 1 + -4.523 -2.931 5.291 0.019 0.659 -0.752 0 602 1 + -3.969 -2.525 5.442 -0.350 0.388 -0.853 0 603 1 + -4.062 -2.962 3.150 -0.288 0.679 0.675 0 515 1 + -3.104 -2.947 3.094 0.342 0.690 0.638 0 515 1 + -2.945 -2.508 5.382 0.236 0.397 -0.887 0 603 1 + -1.322 -2.560 4.521 -0.846 0.432 -0.313 0 334 1 + -0.703 -1.906 5.649 -0.492 0.805 0.331 0 334 1 + -2.325 -1.855 6.510 0.589 0.771 -0.242 0 603 1 + -0.840 -0.818 7.515 -0.401 0.079 -0.913 0 64 1 + -1.675 -0.494 8.416 -0.878 0.265 -0.398 0 64 1 + -3.161 -1.531 7.410 0.112 0.956 0.272 0 603 1 + -2.023 -0.320 8.941 -0.646 0.149 -0.748 0 62 1 + -2.407 -0.511 9.378 -0.866 0.039 -0.499 0 62 1 + -3.545 -1.722 7.847 -0.107 0.846 0.522 0 603 1 + -4.324 -0.961 9.899 0.412 0.339 -0.846 0 54 1 + -2.392 0.315 10.146 -0.857 0.511 -0.060 0 62 1 + -4.309 -0.135 10.667 0.421 0.811 -0.407 0 54 1 + -2.582 0.989 11.077 -0.731 0.062 -0.680 0 60 1 + -2.210 0.546 10.016 -0.753 0.644 -0.134 0 62 1 + -2.401 1.221 10.946 -0.627 0.194 -0.755 0 60 1 + -2.031 1.050 10.382 -0.873 0.308 -0.378 0 61 1 + -1.153 2.085 10.642 -0.371 0.900 -0.230 0 61 1 + -1.522 2.256 11.207 -0.125 0.786 -0.606 0 60 1 + -0.621 2.419 10.478 -0.726 0.677 -0.120 0 63 1 + 0.268 2.658 11.632 -0.218 0.814 0.539 0 63 1 + -0.634 2.495 12.360 0.383 0.922 0.053 0 60 1 + 0.290 2.766 13.384 -0.233 0.741 -0.629 0 59 1 + -0.249 2.781 13.885 -0.588 0.751 -0.299 0 59 1 + -1.211 2.511 12.897 0.053 0.931 0.360 0 60 1 + -2.271 3.728 14.395 0.760 0.120 -0.639 0 28 1 + -0.098 2.217 15.534 -0.489 0.380 0.785 0 59 1 + -2.120 3.163 16.043 0.859 -0.251 0.446 0 28 1 + -2.070 2.104 17.210 0.826 0.455 -0.332 0 37 1 + -2.146 2.331 17.417 0.782 0.585 -0.214 0 37 1 + -2.191 3.376 16.236 0.812 -0.111 0.573 0 28 1 + -2.400 2.985 17.502 0.951 0.149 -0.271 0 36 1 + -3.452 4.336 17.669 0.350 0.920 -0.176 0 36 1 + -3.175 4.638 16.392 0.165 0.719 0.675 0 28 1 + -3.710 4.704 16.621 0.521 0.674 0.523 0 27 1 + -2.084 2.266 18.101 0.818 0.548 0.177 0 37 1 + -2.338 2.921 18.186 0.986 0.112 0.120 0 36 1 + -1.823 1.949 18.512 0.643 0.759 -0.097 0 38 1 + -2.244 1.992 19.411 0.367 0.788 0.495 0 38 1 + -2.788 2.967 19.149 0.729 0.138 0.670 0 36 1 + -1.631 1.940 21.004 -0.042 0.823 -0.567 0 800 1 + -1.608 1.604 19.140 0.785 0.532 0.316 0 38 1 + -0.950 1.525 20.714 0.347 0.585 -0.733 0 800 1 + 0.250 1.066 19.618 -0.453 0.891 -0.002 0 77 1 + 1.347 0.381 21.106 0.174 0.500 0.848 0 77 1 + 0.147 0.840 22.202 0.974 0.194 0.117 0 800 1 + 1.492 -0.235 22.986 0.078 0.911 -0.405 0 161 1 + 0.627 -0.358 24.301 -0.417 0.841 0.346 0 161 1 + -0.718 0.717 23.517 0.480 0.124 0.869 0 800 1 + -1.029 0.917 25.910 0.687 -0.009 -0.726 0 804 1 + -1.094 1.185 25.880 0.645 0.167 -0.746 0 804 1 + -0.787 1.005 23.486 0.440 0.288 0.851 0 800 1 + -1.184 2.376 25.261 0.705 -0.626 -0.333 0 811 1 + -1.096 2.579 25.124 0.755 -0.510 -0.411 0 811 1 + -0.699 1.208 23.348 0.490 0.404 0.772 0 800 1 + -1.092 2.799 24.444 0.753 -0.657 0.042 0 814 1 + -0.750 3.920 25.559 0.953 0.256 -0.162 0 811 1 + -0.747 4.140 24.879 0.950 0.109 0.291 0 814 1 + -0.421 4.805 26.203 0.733 -0.334 -0.592 0 819 1 + -0.465 5.175 26.032 0.705 -0.095 -0.703 0 819 1 + -0.793 4.532 24.697 0.924 0.334 0.187 0 814 1 + 0.056 6.305 25.563 0.358 -0.849 -0.390 0 822 1 + -0.028 5.326 26.872 0.987 0.002 -0.160 0 819 1 + 0.489 6.455 26.395 0.642 -0.750 0.157 0 822 1 + 0.581 5.806 27.756 0.581 -0.318 -0.749 0 823 1 + 0.980 6.985 28.247 0.809 0.356 -0.468 0 823 1 + 0.862 7.557 26.855 0.888 -0.025 0.460 0 822 1 + 1.096 7.590 28.564 0.732 -0.047 -0.680 0 824 1 + 0.947 8.274 28.562 0.647 0.343 -0.681 0 824 1 + 0.723 8.196 26.853 0.796 0.395 0.458 0 822 1 + 0.785 9.646 27.055 0.754 -0.571 0.324 0 828 1 + -0.414 9.859 24.930 0.069 -0.449 -0.891 0 828 1 + -0.398 8.395 24.867 0.058 0.526 -0.848 0 822 1 + -1.047 9.541 24.852 0.491 -0.238 -0.838 0 827 1 + -1.257 11.486 25.135 -0.413 0.481 -0.774 0 828 1 + -1.889 11.169 25.057 0.009 0.692 -0.721 0 827 1 + -2.431 11.594 25.226 0.370 0.409 -0.834 0 830 1 + -3.835 9.588 25.778 -0.432 -0.738 -0.519 0 830 1 + -3.293 9.163 25.609 -0.793 -0.454 -0.406 0 827 1 + -3.954 8.707 26.386 -0.353 -0.150 -0.924 0 832 1 + -3.725 8.392 26.396 -0.221 -0.330 -0.918 0 832 1 + -3.064 8.848 25.619 -0.662 -0.634 -0.400 0 827 1 + -3.101 8.336 26.089 -0.637 -0.292 -0.713 0 826 1 + -4.687 10.212 26.516 -0.919 -0.381 -0.097 0 830 1 + -4.807 9.331 27.123 -0.840 0.207 -0.502 0 832 1 + -4.853 10.019 27.167 -0.809 -0.252 -0.531 0 831 1 + -2.911 9.990 29.698 0.301 -0.269 0.915 0 831 1 + -2.864 9.301 29.654 0.270 0.190 0.944 0 832 1 + -1.410 8.703 30.463 -0.700 0.588 0.405 0 824 1 + -1.828 7.511 30.334 -0.939 -0.093 0.331 0 824 1 + -3.283 8.109 29.525 0.031 -0.492 0.870 0 832 1 + -2.120 6.425 30.503 -0.744 0.631 0.219 0 825 1 + -2.352 6.144 30.294 -0.877 0.471 0.100 0 825 1 + -3.515 7.828 29.317 -0.102 -0.652 0.751 0 832 1 + -2.699 6.684 29.310 -0.646 0.111 0.756 0 820 1 + -3.025 6.453 28.959 -0.832 -0.021 0.555 0 820 1 + -3.841 7.597 28.965 -0.288 -0.784 0.550 0 832 1 + -4.024 5.668 28.518 -0.166 0.503 0.849 0 813 1 + -2.883 6.188 29.103 -0.751 -0.173 0.637 0 820 1 + -3.892 5.420 28.653 -0.079 0.339 0.937 0 813 1 + -2.537 5.648 30.087 -0.982 0.187 -0.019 0 825 1 + -2.103 4.161 29.858 -0.734 -0.662 -0.150 0 825 1 + -3.486 4.030 28.438 0.188 -0.575 0.796 0 813 1 + -2.948 3.850 28.322 -0.171 -0.454 0.874 0 812 1 + -3.022 3.702 28.218 -0.214 -0.539 0.815 0 812 1 + -3.556 3.892 28.341 0.142 -0.666 0.732 0 813 1 + -3.271 2.150 28.138 -0.048 0.495 0.868 0 803 1 + -3.806 2.078 28.051 -0.354 0.454 0.818 0 803 1 + -4.056 3.825 28.260 -0.187 -0.710 0.679 0 813 1 + -4.414 1.366 28.728 0.051 0.929 0.366 0 805 1 + -5.048 1.387 28.317 -0.311 0.941 0.131 0 805 1 + -4.649 3.845 27.875 -0.577 -0.697 0.426 0 813 1 + -4.993 1.671 27.674 -0.348 0.752 0.560 0 802 1 + -5.234 1.320 28.271 -0.417 0.903 0.105 0 805 1 + -5.180 1.603 27.628 -0.454 0.714 0.533 0 802 1 + -6.210 1.302 28.924 0.233 0.915 -0.331 0 807 1 + -6.852 0.989 28.341 -0.134 0.736 -0.664 0 807 1 + -5.821 1.290 27.045 -0.821 0.535 0.200 0 802 1 + -7.438 1.025 28.326 0.257 0.712 -0.654 0 809 1 + -7.069 1.265 30.146 -0.258 0.893 0.367 0 807 1 + -7.641 1.283 30.013 0.123 0.881 0.456 0 809 1 + -6.746 1.285 30.639 -0.473 0.880 0.038 0 808 1 + -7.242 -0.540 31.354 -0.799 -0.320 0.508 0 808 1 + -8.137 -0.542 30.727 -0.203 -0.319 0.926 0 809 1 + -8.534 -2.306 31.349 0.062 0.857 0.512 0 214 1 + -6.019 -1.428 31.229 0.006 -0.904 0.426 0 808 1 + -7.298 -3.202 31.223 0.859 0.278 0.430 0 214 1 + -5.197 -4.043 31.936 -0.542 0.839 -0.045 0 198 1 + -5.383 -4.206 32.283 -0.648 0.746 0.153 0 198 1 + -7.473 -3.356 31.551 0.746 0.179 0.642 0 214 1 + -5.912 -4.258 33.341 -0.295 0.780 -0.552 0 200 1 + -6.469 -4.347 33.773 -0.613 0.729 -0.305 0 200 1 + -7.998 -3.441 31.959 0.407 0.125 0.905 0 214 1 + -8.229 -3.927 32.272 0.560 0.449 0.696 0 213 1 + -6.738 -6.416 33.510 -0.767 -0.453 -0.455 0 200 1 + -8.498 -5.996 32.009 0.407 -0.733 0.546 0 213 1 + -6.433 -6.771 32.993 -0.970 -0.216 -0.111 0 199 1 + -6.426 -6.787 32.965 -0.966 -0.225 -0.127 0 199 1 + -8.490 -6.012 31.981 0.411 -0.742 0.530 0 213 1 + -8.391 -6.443 31.543 0.344 -0.454 0.822 0 211 1 + -6.234 -7.097 32.621 -0.857 -0.402 -0.323 0 199 1 + -8.210 -6.735 31.218 0.461 -0.643 0.612 0 211 1 + -6.268 -8.017 31.371 -0.834 0.212 0.509 0 197 1 + -6.461 -8.354 31.015 -0.961 -0.010 0.275 0 197 1 + -8.406 -7.076 30.858 0.335 -0.862 0.380 0 211 1 + -7.312 -7.861 30.146 -0.394 -0.339 0.854 0 206 1 + -3.723 -7.788 32.884 0.578 -0.797 -0.173 0 199 1 + -3.921 -8.664 31.617 0.710 -0.214 0.671 0 197 1 + -3.236 -7.778 31.817 0.253 -0.804 0.538 0 195 1 + -2.974 -7.892 31.379 0.403 -0.869 0.288 0 195 1 + -3.677 -8.770 31.208 0.871 -0.284 0.402 0 197 1 + -1.990 -8.308 30.662 -0.253 -0.592 0.765 0 188 1 + -1.991 -8.425 30.562 -0.254 -0.668 0.699 0 188 1 + -3.677 -8.887 31.107 0.870 -0.361 0.336 0 197 1 + -2.459 -9.803 30.160 0.058 0.250 0.967 0 369 1 + -3.701 -10.833 29.656 -0.652 -0.339 0.678 0 369 1 + -4.838 -9.850 30.635 0.106 -0.994 0.025 0 197 1 + -5.255 -11.929 29.420 0.384 0.392 0.836 0 221 1 + -5.922 -11.846 29.507 -0.054 0.446 0.893 0 221 1 + -5.505 -9.767 30.722 -0.332 -0.940 0.083 0 197 1 + -6.505 -11.788 29.572 0.334 0.408 0.850 0 220 1 + -3.232 -11.484 29.500 -0.384 -0.711 0.589 0 369 1 + -4.817 -12.537 29.274 0.672 -0.008 0.740 0 221 1 + -3.602 -13.794 29.572 -0.138 0.829 0.541 0 383 1 + -3.065 -11.508 29.564 -0.289 -0.725 0.626 0 369 1 + -3.435 -13.818 29.636 -0.042 0.815 0.578 0 383 1 + -2.482 -13.217 29.591 -0.678 0.414 0.607 0 385 1 + -2.303 -13.468 29.868 -0.561 0.249 0.790 0 385 1 + -3.245 -14.088 29.932 0.067 0.661 0.747 0 383 1 + -2.560 -13.971 29.985 -0.390 0.584 0.712 0 384 1 + -2.251 -15.883 30.199 -0.214 -0.508 0.834 0 384 1 + -2.936 -15.999 30.146 0.243 -0.431 0.869 0 383 1 + -1.848 -16.363 30.167 -0.483 -0.188 0.855 0 386 1 + -1.995 -17.239 28.350 -0.577 -0.753 -0.317 0 386 1 + -3.092 -16.926 28.221 0.154 -0.961 -0.231 0 383 1 + -2.976 -17.210 26.929 0.077 -0.772 0.631 0 374 1 + -4.139 -16.858 26.706 -0.688 -0.540 0.485 0 374 1 + -4.335 -16.549 27.984 -0.557 -0.745 -0.367 0 383 1 + -4.507 -16.442 26.879 -0.442 -0.817 0.370 0 373 1 + -4.626 -16.358 26.905 -0.510 -0.769 0.385 0 373 1 + -4.454 -16.466 28.010 -0.625 -0.697 -0.351 0 383 1 + -5.852 -17.319 26.069 0.307 -0.129 0.943 0 377 1 + -6.173 -16.981 26.152 0.124 0.064 0.990 0 377 1 + -4.775 -16.128 28.093 -0.808 -0.505 -0.304 0 383 1 + -4.947 -16.021 26.988 -0.693 -0.576 0.433 0 373 1 + -5.020 -15.907 27.011 -0.735 -0.511 0.445 0 373 1 + -4.848 -16.014 28.115 -0.850 -0.440 -0.291 0 383 1 + -5.044 -15.636 27.576 -0.719 -0.692 0.069 0 382 1 + -5.078 -15.846 26.980 -0.768 -0.477 0.428 0 373 1 + -5.099 -15.579 27.546 -0.754 -0.655 0.050 0 382 1 + -6.304 -16.807 26.143 0.049 0.164 0.985 0 377 1 + -6.437 -16.634 26.107 -0.027 0.263 0.964 0 377 1 + -5.225 -15.415 27.512 -0.835 -0.549 0.028 0 382 1 + -6.369 -15.990 26.078 -0.072 -0.166 0.983 0 376 1 + -4.523 -16.445 26.853 -0.451 -0.819 0.356 0 373 1 + -5.748 -17.406 26.017 0.367 -0.178 0.913 0 377 1 + -4.153 -16.861 26.683 -0.697 -0.542 0.469 0 374 1 + -3.325 -17.364 25.265 -0.153 -0.873 -0.463 0 374 1 + -4.863 -17.945 24.501 0.873 -0.486 0.047 0 377 1 + -3.713 -18.469 23.094 0.106 -0.136 0.985 0 417 1 + -3.941 -18.787 23.022 -0.041 -0.341 0.939 0 417 1 + -5.105 -18.282 24.425 0.735 -0.679 0.004 0 377 1 + -5.249 -20.065 24.097 0.831 0.510 0.223 0 737 1 + -3.764 -19.677 22.180 0.074 -0.915 0.396 0 417 1 + -5.071 -20.955 23.254 0.945 -0.064 -0.320 0 737 1 + -4.953 -20.530 22.235 0.866 -0.346 0.360 0 736 1 + -5.097 -20.895 22.066 0.771 -0.586 0.248 0 736 1 + -5.217 -21.322 23.084 0.851 -0.301 -0.430 0 737 1 + -5.337 -21.227 22.479 0.931 -0.364 -0.027 0 735 1 + -3.934 -19.546 20.707 -0.036 -0.831 -0.555 0 417 1 + -5.121 -20.401 20.775 0.756 -0.261 -0.601 0 736 1 + -3.777 -19.331 20.138 -0.141 -0.974 -0.176 0 415 1 + -3.966 -19.234 19.908 -0.248 -0.919 -0.307 0 415 1 + -5.298 -20.310 20.560 0.640 -0.201 -0.742 0 736 1 + -4.297 -19.112 19.447 -0.028 -1.000 0.000 0 416 1 + -4.835 -18.961 19.126 -0.382 -0.900 -0.211 0 416 1 + -5.836 -20.158 20.239 0.285 -0.101 -0.953 0 736 1 + -6.757 -19.934 18.272 0.899 -0.251 0.359 0 709 1 + -4.767 -18.268 18.185 -0.337 -0.444 -0.830 0 416 1 + -6.689 -19.241 17.331 0.944 0.205 -0.260 0 709 1 + -5.273 -17.466 16.633 -0.000 -0.979 0.205 0 438 1 + -5.286 -17.476 16.581 -0.008 -0.985 0.175 0 438 1 + -6.701 -19.250 17.282 0.936 0.198 -0.292 0 709 1 + -5.403 -17.724 15.990 0.070 -0.819 0.569 0 437 1 + -5.874 -17.989 15.225 -0.199 -0.971 0.132 0 437 1 + -7.141 -19.499 16.567 0.646 0.035 -0.763 0 709 1 + -6.847 -19.081 14.134 0.450 -0.243 0.859 0 546 1 + -6.853 -19.111 14.128 0.446 -0.261 0.856 0 546 1 + -7.147 -19.527 16.561 0.642 0.016 -0.766 0 709 1 + -6.593 -19.673 13.979 0.274 0.114 0.955 0 548 1 + -7.671 -19.690 15.397 0.807 -0.589 -0.050 0 709 1 + -7.573 -19.720 14.893 0.717 -0.562 0.413 0 548 1 + -7.250 -20.566 13.905 -0.102 -0.396 0.913 0 548 1 + -7.760 -20.362 16.492 0.239 -0.533 -0.812 0 709 1 + -8.800 -20.640 15.436 0.932 -0.347 -0.108 0 710 1 + -8.868 -20.814 15.549 0.887 -0.460 -0.035 0 710 1 + -7.828 -20.534 16.604 0.194 -0.646 -0.738 0 709 1 + -7.318 -22.843 16.136 -0.146 0.893 -0.426 0 728 1 + -8.545 -22.324 16.246 0.592 0.439 -0.676 0 728 1 + -8.790 -22.005 16.153 0.759 0.221 -0.613 0 710 1 + -9.013 -20.995 15.305 0.794 -0.576 -0.192 0 710 1 + -7.462 -23.024 15.892 -0.239 0.776 -0.583 0 728 1 + -9.274 -21.923 14.651 0.969 0.042 0.244 0 714 1 + -9.239 -22.229 14.332 0.989 -0.133 0.062 0 714 1 + -7.428 -23.313 15.591 -0.218 0.590 -0.778 0 728 1 + -8.600 -22.755 13.228 0.563 0.218 0.797 0 717 1 + -7.989 -23.800 14.986 0.323 0.805 -0.497 0 728 1 + -8.575 -23.520 13.803 0.725 0.614 0.313 0 717 1 + -8.359 -22.955 13.062 0.719 0.089 0.689 0 717 1 + -7.187 -23.513 15.424 -0.062 0.461 -0.885 0 728 1 + -7.785 -23.918 13.205 0.336 0.731 0.594 0 720 1 + -8.255 -22.912 12.934 0.786 0.117 0.607 0 717 1 + -7.681 -23.875 13.078 0.403 0.759 0.511 0 720 1 + -7.074 -21.415 13.136 -0.001 -0.881 0.473 0 548 1 + -6.599 -21.526 12.634 0.270 -0.945 0.187 0 548 1 + -7.233 -23.980 12.605 0.693 0.691 0.206 0 720 1 + -6.746 -21.829 12.075 0.368 -0.742 0.560 0 547 1 + -7.201 -22.157 10.479 0.108 -0.930 -0.352 0 547 1 + -7.662 -24.289 11.099 0.415 0.492 -0.765 0 720 1 + -8.144 -23.953 10.883 0.736 0.268 -0.622 0 718 1 + -9.102 -25.697 10.820 0.189 -0.729 -0.658 0 718 1 + -8.567 -25.935 11.039 -0.168 -0.570 -0.804 0 720 1 + -9.663 -25.970 10.763 0.563 -0.547 -0.620 0 719 1 + -10.243 -25.865 13.053 0.189 -0.479 0.857 0 719 1 + -9.146 -25.830 13.329 -0.542 -0.502 0.673 0 720 1 + -9.716 -25.585 13.246 -0.162 -0.665 0.729 0 718 1 + -7.712 -21.964 10.145 -0.184 -0.820 -0.543 0 547 1 + -8.654 -23.760 10.550 0.444 0.378 -0.812 0 718 1 + -8.718 -23.144 10.640 0.487 -0.033 -0.873 0 717 1 + -6.134 -18.978 11.133 0.536 0.511 -0.672 0 548 1 + -6.281 -19.281 10.573 0.634 0.714 -0.298 0 547 1 + -6.105 -17.624 8.983 0.517 -0.391 0.762 0 530 1 + -6.203 -18.774 11.259 0.496 0.628 -0.599 0 548 1 + -6.170 -17.434 9.101 0.474 -0.266 0.839 0 530 1 + -6.463 -18.212 11.408 0.669 0.253 -0.699 0 546 1 + -6.580 -17.793 11.531 0.603 0.493 -0.628 0 546 1 + -6.279 -17.042 9.216 0.402 -0.008 0.915 0 530 1 + -7.001 -17.529 11.106 0.884 0.317 -0.344 0 544 1 + -7.087 -17.315 11.128 0.835 0.439 -0.332 0 544 1 + -6.359 -16.842 9.237 0.350 0.124 0.929 0 530 1 + -6.661 -15.545 10.052 0.550 -0.741 0.385 0 531 1 + -6.115 -15.119 9.547 0.862 -0.497 0.096 0 531 1 + -5.850 -16.444 8.764 0.685 0.386 0.618 0 530 1 + -3.905 -14.976 8.905 -0.612 -0.593 0.524 0 442 1 + -3.432 -15.525 8.098 -0.301 -0.954 -0.007 0 442 1 + -5.377 -16.992 7.957 0.996 0.025 0.087 0 530 1 + -4.198 -16.796 6.630 0.209 -0.106 0.972 0 461 1 + -2.779 -15.548 7.790 0.129 -0.969 -0.209 0 442 1 + -3.498 -16.821 6.301 0.609 -0.121 0.784 0 461 1 + -1.408 -16.118 7.764 -0.785 -0.589 -0.191 0 443 1 + -1.295 -16.214 7.649 -0.721 -0.644 -0.257 0 443 1 + -3.386 -16.917 6.186 0.673 -0.175 0.718 0 461 1 + -2.300 -16.693 5.847 -0.051 -0.325 0.944 0 462 1 + -3.174 -16.867 2.935 -0.550 -0.424 -0.720 0 462 1 + -4.260 -17.091 3.274 0.174 -0.275 -0.946 0 461 1 + -5.270 -16.736 1.642 0.848 -0.511 0.142 0 526 1 + -5.648 -17.140 1.789 0.632 -0.742 0.226 0 526 1 + -4.638 -17.494 3.421 -0.042 -0.505 -0.862 0 461 1 + -5.925 -17.406 2.317 0.816 -0.564 -0.127 0 524 1 + -2.985 -16.489 2.668 -0.443 -0.208 -0.872 0 462 1 + -5.082 -16.359 1.375 0.955 -0.295 -0.010 0 526 1 + -3.841 -15.748 2.409 0.128 -0.703 -0.700 0 459 1 + -3.870 -14.882 1.933 0.111 -0.208 -0.972 0 459 1 + -5.112 -15.493 0.899 0.938 0.200 -0.282 0 526 1 + -3.637 -14.003 -0.434 -0.045 -0.794 0.606 0 466 1 + -4.216 -14.169 -1.290 -0.426 -0.904 0.043 0 466 1 + -5.732 -15.671 -0.017 0.584 0.098 -0.806 0 526 1 + -5.415 -14.290 -1.868 0.373 -0.823 0.428 0 475 1 + -5.952 -14.528 -2.138 0.066 -0.960 0.274 0 475 1 + -6.269 -15.910 -0.287 0.277 -0.039 -0.960 0 526 1 + -6.633 -14.756 -2.145 0.520 -0.808 0.279 0 478 1 + -5.996 -14.353 -3.509 0.041 -0.859 -0.510 0 475 1 + -6.677 -14.581 -3.517 0.495 -0.707 -0.505 0 478 1 + -5.963 -14.191 -4.657 0.018 -0.967 0.255 0 482 1 + -7.442 -13.162 -5.329 -0.936 -0.303 -0.179 0 482 1 + -8.245 -13.490 -4.229 -0.401 -0.084 -0.912 0 478 1 + -8.729 -12.968 -4.250 -0.078 -0.432 -0.899 0 479 1 + -7.467 -13.029 -5.384 -0.952 -0.217 -0.214 0 482 1 + -8.756 -12.827 -4.307 -0.093 -0.351 -0.932 0 479 1 + -8.267 -11.998 -5.826 -0.419 -0.904 0.081 0 486 1 + -8.572 -11.810 -5.824 -0.616 -0.783 0.082 0 486 1 + -9.080 -12.629 -4.306 -0.278 -0.238 -0.931 0 479 1 + -9.701 -11.503 -5.805 0.136 -0.988 0.069 0 490 1 + -8.375 -11.210 -7.156 -0.489 -0.396 -0.777 0 486 1 + -9.491 -10.867 -7.215 0.256 -0.625 -0.737 0 490 1 + -7.905 -11.342 -7.554 -0.802 -0.309 -0.512 0 484 1 + -7.877 -11.157 -7.681 -0.786 -0.203 -0.585 0 484 1 + -9.463 -10.682 -7.343 0.272 -0.520 -0.810 0 490 1 + -8.780 -10.513 -7.429 -0.184 -0.632 -0.753 0 487 1 + -9.309 -8.148 -6.982 -0.486 0.719 -0.497 0 487 1 + -9.993 -8.318 -6.895 -0.031 0.832 -0.554 0 490 1 + -9.353 -7.156 -6.395 -0.457 0.058 -0.888 0 489 1 + -10.131 -7.109 -5.400 -0.968 0.089 -0.233 0 489 1 + -10.825 -8.267 -5.830 -0.506 0.861 0.054 0 490 1 + -12.392 -7.080 -4.489 0.539 0.070 -0.840 0 503 1 + -9.605 -6.491 -4.125 -0.622 0.496 0.606 0 489 1 + -11.861 -6.456 -3.202 0.881 0.472 -0.009 0 503 1 + -10.759 -7.081 -2.565 0.147 0.889 -0.434 0 500 1 + -9.211 -6.499 -3.842 -0.363 0.490 0.792 0 489 1 + -10.338 -7.089 -2.262 0.388 0.884 -0.261 0 500 1 + -8.553 -6.612 -2.367 -0.802 0.566 -0.191 0 493 1 + -8.534 -6.559 -1.792 -0.791 0.597 0.138 0 493 1 + -10.318 -7.036 -1.687 0.399 0.914 0.067 0 500 1 + -9.293 -7.013 -1.089 -0.284 0.900 -0.331 0 496 1 + -8.487 -6.519 -1.716 -0.764 0.619 0.181 0 493 1 + -9.246 -6.974 -1.012 -0.257 0.923 -0.288 0 496 1 + -8.245 -6.151 -1.335 -0.925 0.374 -0.072 0 494 1 + -7.406 -6.003 -2.694 -0.146 0.914 -0.378 0 493 1 + -7.236 -5.669 -2.250 -0.260 0.691 -0.674 0 494 1 + -7.081 -6.029 -3.316 -0.363 0.931 0.036 0 492 1 + -6.590 -5.917 -3.274 -0.082 0.995 0.060 0 492 1 + -6.776 -5.564 -2.211 0.042 0.760 -0.649 0 494 1 + -5.251 -4.720 -3.026 -0.975 0.197 -0.106 0 473 1 + -4.669 -4.528 -1.725 -0.599 0.321 0.734 0 473 1 + -6.199 -5.374 -0.923 0.421 0.885 0.199 0 494 1 + -5.686 -4.417 0.825 0.079 0.246 -0.966 0 512 1 + -5.035 -4.915 0.477 -0.219 0.685 -0.694 0 512 1 + -4.451 -4.965 -1.028 -0.614 0.719 0.325 0 473 1 + -4.456 -4.382 -1.647 -0.462 0.415 0.784 0 473 1 + -5.461 -4.262 0.907 0.208 0.335 -0.919 0 512 1 + -4.392 -3.876 0.818 -0.505 0.078 -0.860 0 515 1 + -4.308 -3.048 3.097 -0.450 0.623 0.640 0 515 1 + -5.371 -3.376 3.345 0.259 0.841 0.475 0 512 1 + -4.786 -3.023 5.234 -0.131 0.606 -0.785 0 602 1 + -3.295 -4.049 -1.743 0.287 0.629 0.722 0 473 1 + -3.241 -3.547 0.723 0.252 0.295 -0.922 0 515 1 + -2.946 -4.420 -1.378 0.055 0.876 0.479 0 471 1 + -2.150 -5.528 -0.771 0.510 0.243 0.825 0 471 1 + -2.498 -4.583 1.290 0.741 -0.387 -0.549 0 515 1 + -2.137 -6.374 -0.002 0.501 0.807 0.312 0 469 1 + -2.078 -6.619 0.359 0.535 0.667 0.519 0 469 1 + -2.442 -4.812 1.627 0.777 -0.538 -0.327 0 515 1 + -2.477 -5.897 1.993 0.800 0.185 -0.570 0 513 1 + -2.375 -5.835 2.180 0.858 0.220 -0.463 0 513 1 + -2.347 -4.755 1.802 0.840 -0.500 -0.212 0 515 1 + -0.794 -5.022 2.875 -0.196 -0.322 -0.926 0 332 1 + -0.906 -3.187 3.384 -0.260 0.727 -0.636 0 332 1 + -2.452 -3.039 2.278 0.771 0.629 0.101 0 515 1 + -0.625 -2.659 3.648 -0.447 0.375 -0.812 0 334 1 + 0.786 -4.060 3.326 0.708 0.228 -0.669 0 332 1 + 1.068 -3.532 3.590 0.520 -0.124 -0.845 0 334 1 + 2.243 -5.160 2.199 -0.264 0.961 0.083 0 315 1 + 2.827 -5.363 2.907 0.120 0.828 0.548 0 315 1 + 1.692 -3.749 4.348 0.877 -0.248 -0.412 0 334 1 + 3.346 -5.462 3.148 -0.226 0.894 0.388 0 314 1 + 1.840 -5.056 3.849 0.826 0.560 0.072 0 334 1 + 2.060 -5.285 3.689 0.676 0.714 0.180 0 314 1 + 3.403 -5.578 3.391 -0.194 0.827 0.527 0 314 1 + 1.749 -3.865 4.591 0.909 -0.314 -0.273 0 334 1 + 3.611 -3.191 5.012 -0.332 -0.764 -0.554 0 277 1 + 2.848 -1.220 5.631 -0.833 0.533 -0.147 0 277 1 + 0.933 -1.757 5.253 0.443 0.890 0.105 0 334 1 + 1.137 -1.773 5.871 0.307 0.901 -0.307 0 333 1 + 0.959 -1.704 5.931 0.205 0.940 -0.272 0 333 1 + 0.755 -1.688 5.313 0.341 0.930 0.140 0 334 1 + 1.154 -0.262 7.018 0.075 -0.021 -0.997 0 66 1 + 0.131 -0.262 7.259 -0.511 -0.022 -0.860 0 66 1 + -0.269 -1.689 5.554 -0.244 0.929 0.277 0 334 1 + -0.406 -0.600 7.420 -0.153 0.204 -0.967 0 64 1 + -0.258 0.931 8.472 -0.732 0.660 -0.166 0 66 1 + -0.794 0.593 8.633 -0.375 0.886 -0.274 0 64 1 + -0.077 1.438 8.838 -0.853 0.322 -0.410 0 65 1 + -0.078 1.439 8.842 -0.854 0.323 -0.408 0 65 1 + -0.796 0.593 8.637 -0.376 0.886 -0.272 0 64 1 + -0.432 1.605 9.364 -0.618 0.212 -0.757 0 63 1 + -0.433 1.605 9.365 -0.619 0.212 -0.756 0 63 1 + -0.797 0.593 8.637 -0.376 0.886 -0.271 0 64 1 + -1.145 0.767 9.163 -0.144 0.770 -0.622 0 62 1 + -0.454 1.617 9.386 -0.631 0.219 -0.745 0 63 1 + -1.165 0.780 9.184 -0.156 0.777 -0.610 0 62 1 + -0.986 1.283 9.550 -0.275 0.442 -0.854 0 61 1 + 2.561 1.784 10.516 0.654 0.520 0.549 0 65 1 + 2.208 1.951 11.039 0.890 0.409 0.200 0 63 1 + 3.912 1.111 11.318 -0.246 0.969 0.014 0 79 1 + 3.839 1.061 11.611 -0.287 0.940 0.182 0 79 1 + 2.135 1.900 11.332 0.849 0.381 0.367 0 63 1 + 3.387 0.991 12.123 0.014 0.987 -0.160 0 78 1 + 3.273 1.008 12.324 -0.059 0.998 -0.030 0 78 1 + 2.014 1.918 11.545 0.780 0.391 0.489 0 63 1 + 3.438 1.167 12.909 -0.169 0.891 -0.420 0 69 1 + 3.297 1.203 13.076 -0.250 0.912 -0.325 0 69 1 + 1.873 1.954 11.712 0.699 0.412 0.585 0 63 1 + 1.791 2.108 13.459 0.754 0.309 -0.580 0 59 1 + 3.577 1.313 14.000 -0.090 0.975 0.203 0 69 1 + 2.053 2.211 14.322 0.926 0.376 -0.012 0 59 1 + 3.059 1.336 14.477 0.256 0.960 -0.115 0 68 1 + 2.523 1.024 15.766 -0.051 0.781 0.622 0 68 1 + 1.552 1.919 15.527 0.596 0.184 0.781 0 59 1 + 2.352 0.710 16.884 0.063 0.990 -0.123 0 72 1 + 1.946 0.702 17.111 -0.169 0.986 0.006 0 72 1 + 1.172 1.911 15.739 0.347 0.179 0.921 0 59 1 + 1.300 0.734 17.175 0.262 0.964 -0.036 0 73 1 + 0.764 0.794 17.265 -0.044 0.999 0.015 0 73 1 + 0.672 1.968 15.824 0.018 0.216 0.976 0 59 1 + 0.485 0.915 17.842 0.143 0.918 -0.369 0 75 1 + -0.138 0.846 17.742 -0.213 0.879 -0.426 0 75 1 + 0.090 1.904 15.730 -0.365 0.174 0.915 0 59 1 + -1.868 1.769 17.420 0.941 0.264 -0.212 0 37 1 + -0.132 0.950 18.007 -0.210 0.938 -0.275 0 75 1 + -1.862 1.873 17.686 0.944 0.323 -0.060 0 37 1 + -1.616 1.582 18.124 0.780 0.518 -0.352 0 38 1 + -0.064 0.988 18.877 -0.171 0.960 0.223 0 75 1 + -1.553 1.617 18.937 0.821 0.541 0.183 0 38 1 + 0.309 1.079 19.400 -0.420 0.899 -0.126 0 77 1 + 1.030 0.824 18.125 0.454 0.866 -0.207 0 75 1 + 1.403 0.916 18.648 0.206 0.805 -0.556 0 77 1 + 2.054 0.886 18.591 -0.228 0.825 -0.517 0 76 1 + 2.242 0.294 21.010 -0.121 0.486 0.865 0 76 1 + 1.591 0.323 21.068 0.313 0.467 0.827 0 77 1 + 1.736 -0.293 22.949 0.217 0.878 -0.427 0 161 1 + 3.069 -0.166 21.087 0.352 0.223 0.909 0 76 1 + 2.563 -0.753 23.025 0.689 0.615 -0.383 0 161 1 + 3.698 -1.287 22.799 -0.067 0.970 -0.232 0 159 1 + 3.510 -2.570 24.877 -0.175 0.237 0.956 0 159 1 + 2.375 -2.036 25.104 0.582 -0.118 0.804 0 161 1 + 3.039 -3.675 26.042 0.139 0.974 0.179 0 157 1 + 2.644 -3.723 26.245 -0.121 0.942 0.313 0 157 1 + 1.951 -2.088 25.321 0.340 -0.148 0.929 0 161 1 + 0.967 -2.245 26.609 0.997 -0.043 0.070 0 193 1 + 0.059 -0.806 26.162 0.411 0.885 -0.218 0 193 1 + 0.990 -0.563 24.848 -0.209 0.723 0.658 0 161 1 + -0.690 0.725 26.421 0.911 -0.136 -0.390 0 804 1 + -0.345 -0.460 25.341 0.504 0.864 -0.010 0 161 1 + -0.536 -0.307 25.526 0.644 0.751 -0.146 0 804 1 + -1.079 -1.635 27.863 -0.323 0.350 0.879 0 193 1 + -1.817 -0.096 28.105 0.169 -0.676 0.718 0 804 1 + -2.921 -0.717 28.676 0.905 -0.261 0.337 0 805 1 + -3.575 0.908 29.000 0.531 0.668 0.522 0 805 1 + -2.428 1.424 28.408 -0.233 0.324 0.917 0 804 1 + -2.967 1.621 28.323 0.126 0.193 0.973 0 803 1 + -2.799 1.985 28.176 0.222 0.401 0.889 0 803 1 + -2.272 1.764 28.270 -0.130 0.548 0.826 0 804 1 + -1.706 3.848 29.791 -0.507 -0.841 -0.188 0 825 1 + -1.525 2.848 28.371 0.503 -0.222 0.835 0 804 1 + -1.426 3.195 28.616 0.318 -0.870 0.377 0 825 1 + -0.402 4.002 29.047 0.238 -0.753 -0.613 0 825 1 + -1.053 1.908 27.574 0.672 0.643 0.369 0 804 1 + -0.789 4.077 27.632 0.496 -0.803 0.330 0 819 1 + -0.706 4.071 27.456 0.550 -0.807 0.216 0 819 1 + -0.970 1.902 27.400 0.726 0.639 0.254 0 804 1 + -1.052 3.143 26.886 0.780 -0.188 0.596 0 811 1 + 0.073 4.396 28.930 0.509 -0.528 -0.680 0 825 1 + -0.341 4.449 27.522 0.785 -0.563 0.259 0 819 1 + 0.249 4.878 28.444 0.391 -0.849 -0.356 0 823 1 + 0.882 5.604 30.421 0.972 0.162 0.172 0 825 1 + 1.059 6.085 29.935 0.854 -0.159 0.496 0 823 1 + 1.175 6.690 30.252 0.777 -0.562 0.284 0 824 1 + -1.810 3.630 28.654 -0.540 -0.630 0.559 0 825 1 + -2.195 2.974 28.086 -0.281 -0.189 0.941 0 803 1 + -2.957 2.099 28.151 0.131 0.466 0.875 0 803 1 + -1.864 3.962 29.767 -0.598 -0.776 -0.202 0 825 1 + -2.708 3.651 28.231 -0.035 -0.568 0.822 0 812 1 + -1.268 -2.038 27.881 -0.445 0.091 0.891 0 193 1 + -3.122 -1.144 28.695 0.790 -0.505 0.348 0 805 1 + -1.740 -2.448 27.834 -0.131 0.364 0.922 0 191 1 + -2.110 -2.849 27.847 -0.343 0.135 0.930 0 191 1 + -3.492 -1.545 28.709 0.579 -0.734 0.355 0 805 1 + -2.736 -4.103 29.582 0.074 0.971 -0.227 0 194 1 + -3.930 -2.117 28.728 0.569 -0.416 0.710 0 805 1 + -3.365 -3.945 29.360 0.143 0.962 0.234 0 194 1 + -3.296 -4.126 30.018 -0.287 0.956 0.054 0 194 1 + -4.085 -1.569 29.170 0.239 -0.748 0.619 0 805 1 + -4.702 -1.882 29.296 0.650 -0.540 0.535 0 806 1 + -4.783 -1.603 29.586 0.603 -0.381 0.701 0 806 1 + -4.167 -1.291 29.460 0.192 -0.589 0.785 0 805 1 + -4.946 -1.121 30.609 0.711 -0.703 0.019 0 808 1 + -5.599 1.289 30.010 0.282 0.883 -0.375 0 808 1 + -4.866 1.287 28.820 -0.207 0.884 0.419 0 805 1 + -5.841 1.269 29.473 0.443 0.896 -0.017 0 807 1 + -5.008 -1.791 29.642 0.475 -0.488 0.733 0 806 1 + -5.156 -1.296 30.661 0.573 -0.818 0.053 0 808 1 + -4.274 -3.902 31.329 -0.014 0.920 -0.392 0 198 1 + -5.501 -1.669 31.005 0.320 -0.907 0.276 0 808 1 + -4.849 -3.671 31.531 -0.281 0.937 -0.209 0 198 1 + -4.797 -3.937 30.756 0.454 0.874 -0.173 0 198 1 + -5.291 -2.512 29.619 0.792 -0.098 0.603 0 806 1 + -4.830 -1.934 29.385 0.576 -0.570 0.586 0 806 1 + -4.097 -4.045 31.072 0.087 0.838 -0.539 0 198 1 + -3.418 -4.175 30.102 -0.366 0.924 0.108 0 194 1 + -2.134 -4.728 30.990 0.462 0.568 0.681 0 194 1 + -2.737 -4.631 32.013 0.864 0.503 -0.001 0 198 1 + -0.327 -4.484 31.211 -0.743 0.405 0.533 0 179 1 + -0.143 -5.392 31.555 -0.622 -0.192 0.759 0 179 1 + -2.540 -5.603 32.381 0.977 -0.052 0.209 0 198 1 + -2.277 -5.999 31.855 0.801 0.212 0.559 0 195 1 + -2.507 -6.559 32.162 0.670 -0.107 0.735 0 195 1 + -2.770 -6.162 32.688 0.845 -0.372 0.384 0 198 1 + -2.994 -6.569 33.229 0.995 -0.100 0.024 0 199 1 + -3.419 -5.470 33.878 0.752 0.527 0.395 0 199 1 + -3.194 -5.063 33.338 0.603 0.256 0.756 0 198 1 + -3.724 -5.115 34.395 0.956 0.290 0.051 0 200 1 + -3.412 -5.497 33.901 0.756 0.512 0.408 0 199 1 + -3.717 -5.142 34.418 0.959 0.275 0.064 0 200 1 + -2.903 -5.867 35.265 0.417 0.759 -0.501 0 203 1 + -3.633 -5.521 36.324 -0.054 0.982 0.183 0 203 1 + -4.490 -4.775 35.540 0.518 0.484 0.705 0 200 1 + -4.241 -5.445 36.450 0.352 0.931 0.099 0 202 1 + -4.923 -5.374 36.688 -0.038 0.971 0.235 0 202 1 + -5.171 -4.705 35.779 0.128 0.525 0.842 0 200 1 + -5.347 -5.155 36.278 0.246 0.825 0.509 0 201 1 + -6.670 -7.186 34.514 -0.608 -0.485 -0.629 0 201 1 + -6.573 -6.856 33.910 -0.673 -0.705 -0.226 0 200 1 + -6.268 -7.212 33.394 -0.876 -0.468 0.118 0 199 1 + -5.965 -7.806 34.807 -0.153 -0.885 -0.440 0 201 1 + -5.521 -7.869 33.704 -0.449 -0.843 0.296 0 199 1 + -5.577 -8.183 35.131 -0.411 -0.634 -0.655 0 202 1 + -4.408 -8.330 35.144 0.256 -0.718 -0.647 0 202 1 + -4.352 -8.016 33.718 0.219 -0.927 0.303 0 199 1 + -3.790 -8.244 35.092 -0.156 -0.775 -0.612 0 203 1 + -4.186 -8.689 36.330 0.383 -0.923 0.030 0 202 1 + -3.580 -8.583 36.211 -0.020 -0.994 0.110 0 203 1 + -4.443 -8.920 36.851 0.554 -0.769 -0.317 0 204 1 + -4.255 -6.923 38.154 0.676 0.519 0.524 0 204 1 + -3.393 -6.586 37.514 0.101 0.295 0.950 0 203 1 + -3.987 -6.573 37.711 0.497 0.286 0.819 0 202 1 + -6.068 -6.428 37.700 -0.494 0.838 0.231 0 204 1 + -5.908 -6.049 37.229 -0.601 0.586 0.544 0 202 1 + -6.277 -5.792 36.788 -0.354 0.414 0.838 0 201 1 + -6.325 -8.394 36.387 -0.660 -0.430 -0.616 0 204 1 + -6.534 -7.758 35.476 -0.520 -0.854 -0.009 0 201 1 + -6.180 -8.132 35.839 -0.756 -0.605 -0.251 0 202 1 + -0.007 -5.939 31.377 -0.532 -0.552 0.642 0 179 1 + -2.131 -6.585 31.664 0.884 -0.122 0.450 0 195 1 + -1.202 -7.086 30.929 0.265 0.212 0.941 0 188 1 + 0.532 -6.406 31.131 -0.177 -0.859 0.480 0 179 1 + -0.663 -7.552 30.683 0.620 -0.094 0.779 0 188 1 + 0.677 -6.790 30.728 -0.274 -0.603 0.750 0 178 1 + 0.717 -6.858 30.685 -0.251 -0.641 0.725 0 178 1 + -0.626 -7.616 30.643 0.644 -0.136 0.753 0 188 1 + 1.045 -8.455 30.610 -0.470 0.424 0.775 0 173 1 + 0.685 -9.168 30.506 -0.707 -0.045 0.706 0 173 1 + -0.986 -8.328 30.539 0.407 -0.605 0.684 0 188 1 + -0.771 -9.876 30.269 0.264 0.427 0.865 0 370 1 + -1.693 -10.005 30.291 -0.331 0.344 0.879 0 370 1 + -1.899 -8.456 30.561 -0.193 -0.689 0.699 0 188 1 + -2.360 -9.836 30.160 0.114 0.231 0.966 0 369 1 + -1.897 -11.428 29.977 -0.462 -0.574 0.676 0 370 1 + -2.576 -11.343 29.827 -0.009 -0.630 0.776 0 369 1 + -2.024 -13.062 29.837 -0.377 0.516 0.769 0 385 1 + -0.041 -11.457 28.419 0.735 -0.592 -0.329 0 370 1 + -0.186 -13.091 28.294 0.832 0.497 -0.246 0 385 1 + 1.705 -11.037 27.571 -0.429 -0.872 0.236 0 171 1 + -0.371 -12.647 28.251 0.874 0.231 -0.427 0 385 1 + 1.220 -10.882 27.636 -0.215 -0.977 -0.007 0 171 1 + 1.538 -10.998 27.250 -0.525 -0.850 0.052 0 171 1 + -0.343 -13.054 27.993 0.729 0.521 -0.444 0 385 1 + -0.199 -11.420 28.115 0.633 -0.568 -0.525 0 370 1 + -0.324 -11.398 27.964 0.553 -0.554 -0.622 0 370 1 + -0.466 -13.032 27.844 0.648 0.535 -0.542 0 385 1 + -0.688 -11.446 26.570 0.795 -0.522 0.307 0 367 1 + -0.718 -11.550 26.446 0.778 -0.582 0.236 0 367 1 + -0.495 -13.130 27.728 0.629 0.471 -0.618 0 385 1 + -0.091 -13.302 25.712 0.360 0.586 0.726 0 397 1 + 0.073 -13.504 25.762 0.468 0.453 0.759 0 397 1 + -0.331 -13.332 27.778 0.737 0.338 -0.585 0 385 1 + 0.898 -14.286 27.218 -0.082 0.974 -0.212 0 388 1 + 1.252 -14.353 28.168 0.120 0.936 0.332 0 388 1 + 0.000 -13.395 28.667 0.955 0.297 -0.001 0 385 1 + 0.935 -14.358 28.800 0.332 0.939 -0.089 0 387 1 + -0.043 -14.974 30.316 -0.227 0.587 0.777 0 387 1 + -0.914 -13.971 30.084 0.353 -0.082 0.932 0 385 1 + -1.073 -14.509 30.216 0.459 0.277 0.844 0 384 1 + -0.410 -15.743 30.509 -0.436 0.147 0.888 0 387 1 + -1.439 -15.278 30.409 0.250 -0.163 0.954 0 384 1 + -1.082 -15.793 30.366 0.012 0.180 0.984 0 386 1 + -0.409 -15.771 30.514 -0.436 0.131 0.890 0 387 1 + -1.081 -15.819 30.370 0.012 0.163 0.987 0 386 1 + -0.168 -16.315 30.900 -0.596 0.493 0.633 0 390 1 + -0.201 -18.160 28.823 -0.615 -0.561 -0.554 0 390 1 + -1.112 -17.561 28.410 -0.008 -0.960 -0.278 0 386 1 + -0.699 -19.250 26.575 -0.283 0.166 0.945 0 401 1 + -1.188 -19.015 26.248 -0.605 0.320 0.729 0 401 1 + -1.605 -17.324 28.079 -0.326 -0.807 -0.492 0 386 1 + -2.590 -17.294 26.660 0.331 -0.827 0.455 0 374 1 + -1.693 -19.082 24.811 -0.937 0.276 -0.216 0 401 1 + -3.095 -17.361 25.223 -0.001 -0.871 -0.491 0 374 1 + -3.481 -18.466 23.051 0.256 -0.134 0.957 0 417 1 + -0.714 -19.472 23.686 -0.292 0.020 -0.956 0 401 1 + -2.493 -18.860 21.915 0.894 -0.389 0.224 0 417 1 + -1.627 -18.288 21.420 0.316 -0.770 0.554 0 414 1 + -1.791 -18.613 20.788 0.223 -0.956 0.193 0 414 1 + -2.648 -19.167 21.318 0.794 -0.587 -0.161 0 417 1 + -2.414 -18.930 20.785 0.638 -0.745 0.194 0 415 1 + -2.098 -17.994 19.055 0.047 -0.602 -0.797 0 414 1 + -2.721 -18.311 19.053 0.463 -0.391 -0.796 0 415 1 + -2.011 -17.550 18.518 -0.011 -0.898 -0.439 0 413 1 + -2.021 -17.546 18.510 -0.017 -0.896 -0.444 0 413 1 + -2.732 -18.306 19.045 0.457 -0.389 -0.800 0 415 1 + -3.143 -18.246 18.640 0.731 -0.429 -0.531 0 416 1 + -2.456 -16.994 17.940 -0.266 -0.580 -0.770 0 413 1 + -3.549 -17.729 18.107 0.464 -0.090 -0.882 0 416 1 + -3.970 -16.890 16.550 0.744 -0.650 0.157 0 438 1 + -2.298 -16.816 17.782 -0.176 -0.479 -0.860 0 413 1 + -3.813 -16.712 16.391 0.834 -0.548 0.066 0 438 1 + -1.596 -16.942 15.508 -0.644 -0.394 0.656 0 421 1 + -1.730 -17.108 15.208 -0.732 -0.503 0.459 0 421 1 + -3.956 -16.889 16.071 0.752 -0.649 -0.116 0 438 1 + -4.074 -17.137 15.480 0.830 -0.484 0.278 0 437 1 + -1.793 -17.302 14.586 -0.774 -0.631 0.050 0 421 1 + -4.141 -17.345 14.815 0.791 -0.603 -0.103 0 437 1 + -3.840 -17.097 14.289 0.590 -0.768 0.248 0 435 1 + -4.533 -17.463 13.717 0.194 -0.978 -0.079 0 435 1 + -4.835 -17.712 14.243 0.395 -0.812 -0.429 0 437 1 + -5.548 -19.365 13.003 0.871 0.290 0.397 0 548 1 + -6.555 -19.652 13.965 0.295 0.126 0.947 0 548 1 + -5.842 -17.998 15.205 -0.180 -0.976 0.121 0 437 1 + -6.815 -19.090 14.114 0.468 -0.248 0.848 0 546 1 + -4.830 -16.843 12.487 0.024 -0.623 -0.781 0 435 1 + -5.845 -18.745 11.773 0.701 0.645 -0.305 0 548 1 + -6.105 -18.183 11.922 0.874 0.270 -0.405 0 546 1 + -5.335 -16.261 12.246 -0.265 -0.291 -0.920 0 435 1 + -6.610 -17.601 11.680 0.585 0.602 -0.543 0 546 1 + -7.032 -17.337 11.255 0.867 0.426 -0.259 0 544 1 + -5.387 -16.168 12.235 -0.294 -0.238 -0.926 0 435 1 + -7.084 -17.244 11.245 0.837 0.479 -0.265 0 544 1 + -6.657 -15.474 10.169 0.552 -0.701 0.452 0 531 1 + -4.962 -15.770 12.107 -0.051 -0.010 -0.999 0 435 1 + -6.232 -15.076 10.042 0.795 -0.473 0.379 0 531 1 + -4.218 -15.020 11.605 -0.547 -0.510 -0.664 0 432 1 + -4.161 -14.978 11.530 -0.514 -0.486 -0.707 0 432 1 + -6.175 -15.034 9.966 0.828 -0.449 0.336 0 531 1 + -5.307 -14.284 10.175 0.249 -0.948 0.197 0 534 1 + -5.221 -14.295 9.860 0.298 -0.954 0.016 0 534 1 + -6.090 -15.044 9.651 0.877 -0.455 0.155 0 531 1 + -3.881 -14.906 9.002 -0.596 -0.547 0.588 0 442 1 + -5.094 -14.239 10.018 0.371 -0.922 0.107 0 534 1 + -3.761 -14.854 9.150 -0.517 -0.513 0.685 0 442 1 + -3.948 -14.932 11.373 -0.393 -0.460 -0.796 0 432 1 + -3.634 -15.141 11.389 -0.213 -0.580 -0.787 0 432 1 + -3.467 -15.049 9.166 -0.324 -0.641 0.696 0 442 1 + -2.614 -15.335 10.211 -0.893 -0.450 -0.001 0 439 1 + -1.913 -15.831 9.498 -0.441 -0.770 -0.461 0 439 1 + -2.774 -15.540 8.460 0.133 -0.964 0.231 0 442 1 + -1.402 -16.109 8.480 -0.782 -0.584 0.218 0 443 1 + 0.250 -14.965 10.537 0.955 -0.212 0.209 0 439 1 + 0.890 -15.192 9.581 0.528 -0.060 0.847 0 443 1 + 0.336 -14.661 11.077 0.897 -0.415 -0.150 0 430 1 + 0.402 -14.474 11.035 0.935 -0.308 -0.174 0 430 1 + 0.956 -15.006 9.539 0.566 0.046 0.823 0 443 1 + 0.626 -14.523 9.943 0.786 -0.275 0.553 0 440 1 + 0.861 -14.119 9.654 0.921 -0.044 0.388 0 440 1 + 1.192 -14.601 9.249 0.700 0.277 0.658 0 443 1 + 2.565 -14.139 8.771 -0.215 -0.031 0.976 0 446 1 + 2.656 -15.766 7.461 -0.163 -0.960 0.227 0 446 1 + 1.283 -16.228 7.939 0.753 -0.652 -0.091 0 443 1 + 2.894 -16.113 6.895 -0.321 -0.729 0.605 0 447 1 + 2.676 -16.228 6.542 -0.461 -0.803 0.376 0 447 1 + 1.053 -16.350 7.564 0.621 -0.722 -0.305 0 443 1 + 1.282 -16.120 6.930 0.468 -0.876 0.118 0 444 1 + 0.096 -16.275 6.444 -0.210 -0.965 -0.160 0 444 1 + -0.133 -16.506 7.078 -0.057 -0.811 -0.583 0 443 1 + -1.138 -16.985 5.277 0.613 -0.491 0.619 0 462 1 + 0.152 -14.110 5.069 -0.178 0.273 -0.946 0 444 1 + -1.083 -14.820 3.902 0.645 0.746 -0.167 0 462 1 + -0.846 -12.587 4.341 0.487 -0.742 -0.460 0 451 1 + -0.894 -12.567 4.264 0.456 -0.729 -0.511 0 451 1 + -1.134 -14.798 3.819 0.616 0.758 -0.214 0 462 1 + -1.687 -13.420 3.596 0.985 -0.160 -0.066 0 456 1 + -2.524 -13.944 2.435 0.507 -0.460 -0.729 0 456 1 + -1.970 -15.322 2.658 0.138 0.459 -0.878 0 462 1 + -2.825 -14.580 2.400 0.708 -0.035 -0.705 0 459 1 + -2.549 -13.930 2.410 0.493 -0.452 -0.744 0 456 1 + -2.850 -14.567 2.374 0.694 -0.028 -0.720 0 459 1 + -2.755 -13.447 1.380 0.630 -0.775 -0.057 0 463 1 + -3.469 -13.701 1.003 0.169 -0.939 -0.300 0 463 1 + -3.607 -14.836 1.975 0.261 -0.182 -0.948 0 459 1 + -3.391 -13.960 -0.395 0.117 -0.766 0.632 0 466 1 + -2.334 -12.344 0.804 0.901 -0.063 -0.428 0 463 1 + -2.266 -12.616 -0.592 0.856 0.118 0.503 0 466 1 + -2.062 -11.398 0.181 0.720 -0.694 -0.013 0 467 1 + -2.839 -10.338 -1.471 0.276 -0.088 -0.957 0 467 1 + -2.993 -11.625 -2.137 0.378 0.770 -0.514 0 466 1 + -3.837 -10.699 -3.361 0.941 0.153 0.303 0 477 1 + -3.861 -11.495 -3.947 0.925 -0.371 -0.083 0 477 1 + -3.017 -12.421 -2.722 0.362 0.246 -0.899 0 466 1 + -3.972 -12.063 -3.990 0.999 0.007 -0.054 0 476 1 + -4.553 -13.380 -3.871 0.666 -0.745 0.014 0 476 1 + -3.560 -13.653 -2.611 0.005 -0.564 -0.826 0 466 1 + -4.713 -13.737 -3.281 0.774 -0.508 -0.379 0 475 1 + -4.788 -13.551 -4.038 0.532 -0.843 -0.081 0 476 1 + -4.949 -13.908 -3.448 0.639 -0.605 -0.475 0 475 1 + -4.974 -13.771 -4.599 0.656 -0.696 0.292 0 482 1 + -4.271 -12.802 -4.560 0.827 -0.415 -0.379 0 476 1 + -4.487 -13.064 -5.091 0.971 -0.239 -0.025 0 482 1 + -4.274 -12.802 -5.693 0.829 -0.414 0.376 0 483 1 + -7.315 -12.809 -6.319 -0.908 -0.418 0.018 0 483 1 + -7.356 -13.070 -5.682 -0.881 -0.243 -0.406 0 482 1 + -8.156 -12.039 -6.124 -0.348 -0.931 -0.111 0 486 1 + -7.306 -12.663 -6.820 -0.904 -0.334 -0.268 0 483 1 + -8.148 -11.901 -6.597 -0.343 -0.842 -0.417 0 486 1 + -7.665 -12.074 -6.962 -0.665 -0.727 -0.174 0 484 1 + -5.998 -12.168 -8.077 -0.156 -0.052 -0.986 0 483 1 + -6.356 -11.580 -8.219 0.083 -0.444 -0.892 0 484 1 + -6.162 -11.140 -8.546 -0.046 -0.737 -0.674 0 485 1 + -7.343 -10.292 -8.340 -0.823 -0.180 -0.538 0 485 1 + -7.620 -10.673 -7.998 -0.639 0.074 -0.766 0 484 1 + -8.523 -10.028 -7.746 -0.037 -0.356 -0.934 0 487 1 + -6.557 -8.592 -7.760 -0.307 0.939 -0.157 0 485 1 + -7.682 -8.209 -7.126 0.443 0.684 -0.580 0 487 1 + -7.487 -7.702 -6.669 0.314 0.346 -0.884 0 488 1 + -8.089 -7.478 -6.661 -0.030 0.474 -0.880 0 488 1 + -8.283 -7.985 -7.119 0.100 0.812 -0.575 0 487 1 + -8.395 -7.004 -6.523 0.174 0.158 -0.972 0 489 1 + -7.050 -6.944 -5.604 0.563 0.779 -0.276 0 488 1 + -7.424 -6.505 -5.535 0.812 0.486 -0.322 0 489 1 + -6.316 -6.644 -4.800 0.074 0.579 -0.812 0 492 1 + -7.265 -6.112 -3.408 -0.468 0.884 -0.017 0 492 1 + -8.311 -6.007 -4.234 0.229 0.814 0.534 0 489 1 + -7.590 -6.086 -2.787 -0.251 0.867 -0.431 0 493 1 + -6.589 -7.583 -5.787 0.827 0.414 -0.381 0 488 1 + -5.855 -7.284 -4.983 0.338 0.214 -0.917 0 492 1 + -6.150 -7.764 -5.375 0.535 0.534 -0.655 0 491 1 + -5.527 -8.618 -4.902 0.937 -0.017 -0.349 0 491 1 + -5.194 -8.189 -4.481 0.715 -0.303 -0.630 0 492 1 + -4.691 -9.780 -4.629 0.379 0.758 -0.531 0 477 1 + -4.334 -9.740 -3.968 0.614 0.783 -0.097 0 477 1 + -4.813 -8.146 -3.775 0.933 -0.279 -0.226 0 492 1 + -3.242 -7.360 -3.238 -0.114 -0.804 -0.584 0 471 1 + -3.468 -6.511 -3.819 -0.243 -0.319 -0.916 0 471 1 + -5.039 -7.298 -4.356 0.804 0.206 -0.558 0 492 1 + -3.787 -6.024 -4.046 -0.031 -0.644 -0.764 0 473 1 + -2.884 -6.161 -3.946 0.090 -0.119 -0.989 0 471 1 + -3.236 -5.693 -4.167 0.325 -0.431 -0.842 0 473 1 + -2.267 -6.256 -4.011 -0.321 -0.055 -0.945 0 472 1 + -1.580 -4.636 -2.427 0.122 0.990 0.077 0 472 1 + -2.549 -4.073 -2.582 0.768 0.614 0.180 0 473 1 + -2.156 -4.445 -2.268 0.506 0.862 -0.029 0 471 1 + -1.423 -5.733 -1.100 0.223 0.282 0.933 0 472 1 + -1.990 -5.607 -0.861 0.601 0.198 0.774 0 471 1 + -1.977 -6.454 -0.091 0.593 0.762 0.261 0 469 1 + -2.245 -7.546 -3.079 -0.307 -0.888 -0.344 0 472 1 + -2.848 -8.374 -2.188 0.095 -0.335 -0.937 0 469 1 + -2.861 -7.527 -2.958 0.104 -0.900 -0.424 0 471 1 + -3.046 -7.535 -2.964 -0.003 -0.904 -0.427 0 471 1 + -3.034 -8.382 -2.194 -0.011 -0.340 -0.940 0 469 1 + -4.151 -9.905 -3.712 0.734 0.675 0.072 0 477 1 + -3.919 -10.323 -3.470 0.887 0.400 0.231 0 477 1 + -2.785 -8.830 -1.935 0.131 -0.596 -0.792 0 469 1 + -3.242 -9.350 -1.826 0.436 -0.249 -0.865 0 468 1 + -3.073 -9.469 -1.686 0.532 -0.317 -0.785 0 468 1 + -2.616 -8.949 -1.795 0.228 -0.664 -0.712 0 469 1 + -2.758 -10.055 -1.448 0.322 0.074 -0.944 0 467 1 + -2.384 -9.231 1.333 0.536 0.545 0.645 0 467 1 + -2.242 -8.125 0.986 0.441 -0.193 0.876 0 469 1 + -2.640 -7.402 2.619 0.707 -0.675 -0.213 0 513 1 + -2.584 -9.457 1.614 0.422 0.415 0.806 0 467 1 + -2.840 -7.628 2.901 0.592 -0.804 -0.052 0 513 1 + -3.234 -8.110 3.108 0.855 -0.482 -0.189 0 511 1 + -3.137 -7.893 3.800 0.911 -0.358 0.206 0 511 1 + -2.743 -7.410 3.593 0.648 -0.680 0.344 0 513 1 + -1.235 -7.137 4.648 -0.357 -0.862 -0.359 0 330 1 + -0.693 -6.247 3.641 -0.047 -0.354 -0.934 0 330 1 + -2.201 -6.521 2.587 0.958 -0.171 -0.231 0 513 1 + -0.620 -5.707 3.281 -0.096 -0.713 -0.694 0 332 1 + -0.477 -6.268 3.653 0.076 -0.366 -0.928 0 330 1 + -0.404 -5.729 3.293 0.027 -0.726 -0.688 0 332 1 + 1.130 -6.720 2.168 -0.996 -0.065 0.062 0 315 1 + -0.341 -6.713 3.930 0.154 -0.620 -0.769 0 330 1 + 1.258 -7.135 2.427 -0.912 -0.338 0.233 0 315 1 + 1.198 -8.056 3.383 -0.872 0.275 -0.405 0 317 1 + 1.261 -8.281 3.167 -0.836 0.147 -0.528 0 317 1 + 1.316 -7.346 2.225 -0.873 -0.477 0.100 0 315 1 + 1.097 -9.049 2.084 -0.727 0.659 0.194 0 322 1 + 2.609 -9.125 0.654 0.268 0.608 -0.747 0 322 1 + 2.829 -7.422 0.795 0.122 -0.527 -0.841 0 315 1 + 3.349 -7.665 0.888 -0.225 -0.365 -0.903 0 314 1 + 3.529 -7.306 0.755 -0.122 -0.160 -0.980 0 314 1 + 2.998 -7.086 0.670 0.233 -0.306 -0.923 0 315 1 + 4.123 -7.063 0.475 -0.517 -0.321 -0.793 0 313 1 + 4.187 -5.048 2.358 -0.481 0.830 0.283 0 313 1 + 3.058 -5.203 2.430 0.272 0.933 0.235 0 315 1 + 3.594 -5.290 2.637 -0.085 0.992 0.096 0 314 1 + 4.416 -5.134 2.768 -0.350 0.781 0.517 0 313 1 + 3.822 -5.376 3.048 0.046 0.943 0.331 0 314 1 + 4.002 -3.003 4.691 -0.074 -0.640 -0.765 0 277 1 + 3.859 -5.462 3.529 -0.255 0.937 0.239 0 314 1 + 4.013 -3.397 4.928 -0.365 -0.538 -0.760 0 277 1 + 4.362 -3.242 4.772 -0.067 -0.828 -0.557 0 277 1 + 4.745 -5.114 3.101 -0.358 0.599 0.716 0 313 1 + 4.829 -5.528 3.304 -0.114 0.556 0.823 0 313 1 + 4.388 -3.371 5.192 0.180 -0.882 -0.436 0 277 1 + 4.235 -5.770 3.583 0.282 0.718 0.637 0 314 1 + 4.042 -5.863 3.742 0.172 0.665 0.727 0 314 1 + 4.208 -3.457 5.340 0.061 -0.939 -0.338 0 277 1 + 3.879 -6.159 5.465 0.280 0.862 -0.422 0 319 1 + 3.882 -3.948 5.943 0.353 -0.621 -0.700 0 277 1 + 3.686 -5.552 6.017 0.483 0.452 -0.750 0 319 1 + 3.989 -6.170 5.529 0.353 0.855 -0.379 0 319 1 + 4.318 -3.468 5.404 0.133 -0.946 -0.296 0 277 1 + 4.722 -4.485 6.391 -0.136 -0.268 -0.954 0 274 1 + 6.065 -3.405 6.848 0.631 0.349 -0.693 0 274 1 + 5.573 -2.458 5.831 0.959 -0.282 -0.015 0 277 1 + 5.724 -2.385 6.395 0.859 -0.331 -0.391 0 276 1 + 5.550 -1.111 6.176 0.759 0.396 -0.516 0 276 1 + 5.411 -1.268 5.627 0.852 0.501 -0.150 0 277 1 + 5.638 -0.609 6.468 0.701 0.061 -0.710 0 278 1 + 3.682 -0.012 6.528 -0.586 0.454 -0.671 0 278 1 + 3.455 -0.671 5.686 -0.434 0.894 -0.110 0 277 1 + 3.457 -0.473 6.240 -0.436 0.761 -0.479 0 276 1 + 3.032 -0.762 6.330 -0.679 0.596 -0.428 0 276 1 + 3.057 -0.942 5.770 -0.696 0.716 -0.055 0 277 1 + 1.557 -0.032 7.107 0.304 0.110 -0.946 0 66 1 + 1.337 -0.305 7.043 0.179 -0.046 -0.983 0 66 1 + 2.852 -1.197 5.711 -0.831 0.548 -0.094 0 277 1 + 1.141 -1.747 5.956 0.309 0.915 -0.258 0 333 1 + 3.234 -0.497 6.465 -0.564 0.747 -0.351 0 276 1 + 1.759 0.233 7.242 0.420 0.261 -0.869 0 66 1 + 3.473 -0.034 6.738 -0.723 0.439 -0.533 0 278 1 + 3.665 0.437 7.112 -0.597 0.749 -0.287 0 278 1 + 1.964 0.737 7.643 0.537 0.549 -0.640 0 66 1 + 2.145 1.244 8.009 0.416 0.211 -0.884 0 65 1 + 4.530 0.585 8.355 -0.028 0.847 0.531 0 278 1 + 3.070 1.403 9.338 0.945 0.302 -0.124 0 65 1 + 4.420 0.729 10.140 0.045 0.751 -0.659 0 79 1 + 5.501 0.116 8.430 0.611 0.538 0.580 0 278 1 + 5.460 0.227 10.220 0.639 0.464 -0.613 0 79 1 + 6.481 -0.295 10.171 -0.041 0.813 -0.581 0 82 1 + 6.702 -0.132 11.667 0.102 0.918 0.384 0 82 1 + 5.695 0.400 11.804 0.773 0.563 0.292 0 79 1 + 5.889 0.498 13.115 0.644 0.497 -0.581 0 70 1 + 4.968 1.058 13.240 0.038 0.866 -0.499 0 70 1 + 4.710 0.999 11.939 0.211 0.905 0.369 0 79 1 + 4.430 1.088 13.024 0.398 0.846 -0.355 0 69 1 + 3.709 1.157 12.832 -0.014 0.885 -0.464 0 69 1 + 3.989 1.068 11.747 -0.202 0.945 0.259 0 79 1 + 3.529 0.998 12.251 0.106 0.991 -0.077 0 78 1 + 4.560 1.101 14.583 -0.230 0.894 0.385 0 70 1 + 3.993 1.133 14.461 0.148 0.872 0.466 0 69 1 + 3.475 1.156 14.938 0.493 0.857 0.148 0 68 1 + 4.780 0.582 15.258 -0.086 0.553 0.829 0 70 1 + 3.710 0.601 15.660 0.627 0.540 0.561 0 68 1 + 3.908 0.381 17.300 0.495 0.687 -0.533 0 74 1 + 3.096 0.743 17.447 0.031 0.893 -0.449 0 74 1 + 2.897 0.963 15.806 0.163 0.747 0.645 0 68 1 + 2.727 0.649 16.924 0.277 0.956 -0.100 0 72 1 + 2.347 0.765 17.972 -0.397 0.906 -0.149 0 74 1 + 1.978 0.671 17.449 -0.151 0.968 0.200 0 72 1 + 1.331 0.703 17.513 0.280 0.947 0.157 0 73 1 + 2.334 0.764 18.002 -0.405 0.905 -0.132 0 74 1 + 1.318 0.702 17.543 0.273 0.946 0.174 0 73 1 + 2.062 0.885 18.585 -0.223 0.824 -0.521 0 76 1 + 2.054 0.886 18.591 -0.228 0.825 -0.517 0 76 1 + 1.310 0.703 17.548 0.268 0.947 0.177 0 73 1 + 1.030 0.824 18.125 0.454 0.866 -0.207 0 75 1 + 4.437 -0.647 19.275 0.797 0.099 0.596 0 74 1 + 4.165 -0.525 19.858 0.978 0.018 0.207 0 76 1 + 5.815 -1.750 19.363 -0.122 0.835 0.537 0 98 1 + 5.638 -2.149 19.758 -0.223 0.607 0.763 0 98 1 + 3.987 -0.924 20.253 0.877 -0.210 0.433 0 76 1 + 4.617 -2.045 21.965 0.457 0.537 -0.709 0 159 1 + 6.216 -2.583 20.046 0.107 0.359 0.927 0 98 1 + 5.194 -2.479 22.253 0.788 0.289 -0.544 0 159 1 + 5.591 -3.070 22.201 0.523 0.683 -0.510 0 158 1 + 5.546 -3.279 24.247 0.498 0.563 0.659 0 158 1 + 5.150 -2.688 24.299 0.762 0.170 0.625 0 159 1 + 5.587 -3.693 24.826 0.470 0.839 0.273 0 155 1 + 4.570 -3.811 25.444 -0.111 0.772 0.626 0 155 1 + 4.133 -2.807 24.917 0.181 0.102 0.978 0 159 1 + 3.621 -3.896 26.079 0.522 0.828 0.204 0 157 1 + 4.750 -4.038 25.690 -0.008 0.642 0.767 0 155 1 + 3.789 -4.108 26.308 0.632 0.689 0.355 0 157 1 + 5.325 -3.769 28.033 -0.392 0.463 -0.795 0 182 1 + 5.172 -3.712 28.158 -0.479 0.496 -0.724 0 182 1 + 3.646 -4.054 26.424 0.538 0.724 0.431 0 157 1 + 4.066 -4.029 28.058 0.259 0.707 -0.658 0 180 1 + 2.849 -3.956 28.338 -0.437 0.749 -0.498 0 180 1 + 2.509 -3.986 26.686 -0.210 0.769 0.603 0 157 1 + 0.831 -2.510 27.054 0.909 -0.214 0.358 0 193 1 + 0.748 -3.156 27.357 0.863 0.264 0.432 0 193 1 + 2.133 -4.176 28.253 -0.104 0.976 -0.193 0 180 1 + 2.624 -3.898 28.753 -0.565 0.783 -0.261 0 180 1 + 0.618 -2.455 27.446 0.772 -0.179 0.610 0 193 1 + 1.490 -4.114 28.848 0.191 0.927 -0.324 0 178 1 + 1.225 -4.010 29.132 0.040 0.986 -0.162 0 178 1 + 0.369 -2.357 27.714 0.611 -0.116 0.783 0 193 1 + 1.045 -3.807 29.640 0.160 0.851 -0.501 0 179 1 + 0.199 -3.775 29.963 -0.397 0.872 -0.288 0 179 1 + -0.485 -2.325 28.040 0.060 -0.095 0.994 0 193 1 + -0.682 -3.829 28.970 0.191 0.908 0.374 0 186 1 + -1.283 -3.789 28.897 -0.153 0.931 0.332 0 186 1 + -1.053 -2.287 27.971 -0.306 -0.071 0.949 0 193 1 + -1.511 -2.712 27.930 -0.001 0.213 0.977 0 191 1 + -1.763 -3.930 28.854 -0.428 0.850 0.307 0 186 1 + -1.992 -2.853 27.886 -0.275 0.132 0.952 0 191 1 + -2.624 -4.107 29.619 0.146 0.968 -0.203 0 194 1 + -1.203 -4.114 29.468 -0.107 0.745 0.658 0 186 1 + -2.095 -4.281 30.199 0.487 0.856 0.171 0 194 1 + -0.288 -4.041 30.428 -0.717 0.697 0.018 0 179 1 + 1.507 -4.029 29.246 0.201 0.975 -0.097 0 178 1 + 1.308 -3.825 29.746 0.333 0.839 -0.431 0 179 1 + 2.641 -3.813 29.151 -0.555 0.831 -0.033 0 180 1 + 3.307 -5.311 30.932 -0.175 -0.025 0.984 0 180 1 + 1.931 -5.225 31.411 0.743 -0.082 0.665 0 179 1 + 2.818 -5.816 31.001 0.151 0.312 0.938 0 177 1 + 1.876 -6.994 30.846 -0.387 -0.360 0.849 0 177 1 + 1.051 -6.325 31.266 0.164 -0.806 0.569 0 179 1 + 1.232 -6.704 30.871 0.043 -0.554 0.832 0 178 1 + 1.845 -7.060 30.800 -0.405 -0.398 0.823 0 177 1 + 1.200 -6.770 30.826 0.025 -0.592 0.806 0 178 1 + 1.497 -8.374 30.743 -0.173 0.477 0.862 0 173 1 + 3.515 -7.561 30.197 0.550 -0.685 0.479 0 177 1 + 3.058 -8.842 30.179 0.855 0.169 0.491 0 173 1 + 3.384 -8.608 29.759 0.637 0.014 0.771 0 172 1 + 3.476 -9.296 29.491 0.689 -0.380 0.617 0 172 1 + 3.143 -9.485 29.928 0.911 -0.254 0.325 0 173 1 + 4.171 -10.060 28.968 0.226 0.129 0.965 0 174 1 + 2.643 -11.254 28.196 -0.647 -0.553 0.525 0 174 1 + 1.715 -10.601 29.207 -0.029 -0.988 -0.149 0 173 1 + 2.034 -10.896 28.141 -0.241 -0.792 0.561 0 171 1 + 1.921 -10.883 28.104 -0.306 -0.784 0.540 0 171 1 + 1.610 -10.589 29.172 -0.098 -0.980 -0.172 0 173 1 + 0.163 -11.312 28.922 0.867 -0.498 -0.005 0 370 1 + 2.590 -11.534 26.961 -0.677 -0.713 -0.181 0 174 1 + 1.981 -11.176 26.907 -0.271 -0.952 -0.144 0 171 1 + 1.698 -12.198 25.251 -0.083 -0.271 0.959 0 408 1 + 1.215 -11.962 25.189 -0.359 -0.136 0.923 0 408 1 + 1.498 -10.941 26.844 -0.548 -0.817 -0.180 0 171 1 + -0.596 -11.412 26.324 0.848 -0.503 0.167 0 367 1 + -0.657 -11.403 26.560 0.813 -0.497 0.302 0 367 1 + 1.437 -10.931 27.081 -0.582 -0.812 -0.045 0 171 1 + -0.295 -11.357 27.955 0.572 -0.528 -0.628 0 370 1 + 1.190 -12.008 25.172 -0.373 -0.162 0.914 0 408 1 + -0.620 -11.458 26.307 0.834 -0.529 0.157 0 367 1 + 0.000 -13.216 25.581 0.420 0.643 0.640 0 397 1 + 1.438 -12.248 25.193 -0.231 -0.300 0.926 0 408 1 + 0.232 -13.440 25.601 0.573 0.495 0.653 0 397 1 + 0.741 -13.710 25.531 0.233 0.675 0.700 0 396 1 + 0.708 -13.793 25.616 0.214 0.627 0.749 0 396 1 + 0.201 -13.518 25.681 0.552 0.444 0.706 0 397 1 + 1.035 -14.301 27.131 -0.004 0.965 -0.261 0 388 1 + 1.037 -13.852 25.526 0.402 0.594 0.697 0 396 1 + 1.364 -14.359 27.041 0.184 0.932 -0.313 0 388 1 + 1.734 -12.390 25.187 -0.062 -0.381 0.923 0 408 1 + 1.354 -14.329 26.025 0.303 0.885 0.354 0 388 1 + 1.531 -13.385 25.136 0.184 0.251 0.950 0 408 1 + 1.911 -12.443 25.167 0.039 -0.411 0.911 0 408 1 + 1.542 -14.412 27.020 0.286 0.902 -0.325 0 388 1 + 2.119 -14.471 27.017 -0.099 0.941 -0.323 0 389 1 + 2.126 -14.424 27.182 -0.094 0.972 -0.215 0 389 1 + 1.550 -14.362 27.196 0.290 0.930 -0.224 0 388 1 + 2.811 -11.729 27.053 -0.551 -0.825 -0.129 0 174 1 + 1.844 -14.317 27.497 0.130 0.991 -0.032 0 388 1 + 2.973 -11.959 27.369 -0.690 -0.721 0.061 0 174 1 + 2.852 -11.714 27.692 -0.528 -0.816 0.236 0 174 1 + 1.590 -14.346 27.835 0.313 0.939 0.141 0 388 1 + 2.164 -14.410 27.779 -0.070 0.982 0.178 0 389 1 + 2.209 -14.589 28.271 -0.040 0.864 0.502 0 389 1 + 1.638 -14.538 28.361 0.341 0.830 0.442 0 388 1 + 1.321 -14.543 28.992 0.552 0.833 0.021 0 387 1 + 2.358 -14.720 28.459 0.058 0.778 0.626 0 389 1 + 1.480 -14.683 29.194 0.644 0.753 0.136 0 387 1 + 2.405 -14.747 30.306 0.027 0.796 -0.605 0 392 1 + 0.944 -15.575 31.615 -0.934 0.250 0.256 0 392 1 + -0.082 -15.570 30.595 -0.249 0.247 0.936 0 387 1 + 0.158 -16.113 30.981 -0.410 0.609 0.679 0 390 1 + 1.285 -16.567 32.106 -0.709 -0.402 0.579 0 392 1 + 0.523 -17.174 31.506 -0.201 0.003 0.979 0 390 1 + 1.148 -17.041 31.803 -0.618 -0.086 0.782 0 391 1 + 1.896 -18.544 30.901 -0.190 -0.945 0.266 0 391 1 + 1.272 -18.677 30.604 0.226 -0.856 0.464 0 390 1 + 2.410 -18.841 30.704 -0.533 -0.747 0.398 0 393 1 + 2.607 -18.796 29.210 -0.406 -0.718 -0.566 0 393 1 + 1.480 -18.629 29.022 0.345 -0.829 -0.440 0 390 1 + 1.886 -19.331 26.968 0.075 -0.361 0.930 0 400 1 + 1.147 -19.350 26.819 -0.411 -0.374 0.832 0 400 1 + 0.690 -18.649 28.863 -0.106 -0.841 -0.531 0 390 1 + 0.574 -19.320 26.688 -0.029 -0.394 0.919 0 399 1 + 0.484 -19.306 26.689 -0.080 -0.386 0.919 0 399 1 + 0.600 -18.635 28.863 -0.158 -0.833 -0.531 0 390 1 + 0.049 -19.694 26.613 0.209 -0.127 0.970 0 401 1 + 0.579 -19.406 26.648 -0.026 -0.443 0.896 0 399 1 + 0.138 -19.788 26.575 0.268 -0.188 0.945 0 401 1 + 1.152 -19.431 26.782 -0.408 -0.427 0.807 0 400 1 + 1.785 -20.200 25.007 0.008 -0.933 -0.360 0 400 1 + 0.771 -20.557 24.801 0.684 -0.694 -0.223 0 401 1 + 1.256 -20.229 24.750 0.361 -0.913 -0.189 0 399 1 + 0.114 -19.144 23.486 -0.291 -0.293 -0.911 0 399 1 + -0.296 -19.543 23.620 -0.018 -0.027 -0.999 0 401 1 + -0.044 -18.545 23.166 -0.185 -0.693 -0.697 0 398 1 + -0.390 -18.442 23.210 -0.383 -0.634 -0.672 0 398 1 + -0.619 -19.447 23.661 -0.230 0.036 -0.972 0 401 1 + -1.525 -18.262 21.393 0.374 -0.755 0.539 0 414 1 + -0.950 -18.590 23.468 -0.072 -0.554 -0.830 0 401 1 + -1.414 -17.968 22.331 0.237 -0.969 -0.069 0 414 1 + 0.604 -17.538 22.679 0.185 -0.117 -0.976 0 398 1 + -0.531 -17.357 20.862 0.942 -0.238 0.235 0 414 1 + 1.380 -16.342 20.871 -0.332 -0.915 0.229 0 405 1 + 1.409 -16.391 20.623 -0.313 -0.947 0.066 0 405 1 + -0.500 -17.410 20.596 0.960 -0.268 0.084 0 414 1 + 0.232 -16.683 20.032 0.471 -0.753 0.460 0 410 1 + -0.321 -17.051 18.840 0.155 -0.963 -0.222 0 410 1 + -1.054 -17.778 19.404 0.644 -0.478 -0.598 0 414 1 + -0.966 -17.333 18.867 0.586 -0.774 -0.240 0 413 1 + -0.432 -16.848 18.312 0.092 -0.847 -0.524 0 410 1 + -1.077 -17.131 18.339 0.522 -0.659 -0.542 0 413 1 + -0.064 -16.664 17.242 -0.153 -0.970 0.190 0 418 1 + -0.368 -16.613 16.978 -0.349 -0.937 0.020 0 418 1 + -1.399 -17.077 18.060 0.338 -0.628 -0.701 0 413 1 + -0.755 -17.186 15.768 -0.091 -0.555 0.827 0 421 1 + 0.909 -16.443 16.482 0.475 -0.827 -0.300 0 418 1 + 0.510 -17.018 15.276 0.741 -0.444 0.503 0 421 1 + 1.748 -16.227 15.698 -0.084 -0.971 0.222 0 422 1 + 1.889 -15.666 13.981 -0.004 -0.651 -0.759 0 422 1 + 0.641 -16.493 13.671 0.828 -0.099 -0.553 0 421 1 + 0.818 -15.942 13.635 0.709 -0.467 -0.528 0 420 1 + 0.230 -15.827 13.095 0.373 -0.401 -0.837 0 420 1 + 0.091 -16.386 13.167 0.466 -0.028 -0.885 0 421 1 + -0.409 -15.593 12.181 0.799 -0.557 -0.228 0 429 1 + -2.228 -16.316 12.658 -0.241 -0.970 0.044 0 429 1 + -1.610 -17.061 13.612 -0.653 -0.473 -0.592 0 421 1 + -3.643 -16.839 13.246 0.702 -0.621 -0.348 0 435 1 + -2.767 -15.845 11.781 -0.548 -0.701 -0.456 0 429 1 + -4.181 -16.368 12.370 0.395 -0.352 -0.849 0 435 1 + -3.438 -15.618 11.867 -0.101 -0.852 -0.514 0 432 1 + -2.740 -15.675 11.542 -0.533 -0.603 -0.593 0 429 1 + -3.411 -15.448 11.628 -0.086 -0.755 -0.650 0 432 1 + -2.404 -15.625 10.436 -0.757 -0.637 0.144 0 439 1 + -0.508 -15.682 12.086 0.742 -0.608 -0.282 0 429 1 + -0.297 -15.631 10.950 0.602 -0.642 0.475 0 439 1 + -0.244 -15.367 11.514 0.566 -0.818 0.099 0 430 1 + -0.409 -15.593 12.181 0.799 -0.556 -0.228 0 429 1 + -0.145 -15.277 11.609 0.623 -0.767 0.154 0 430 1 + 0.230 -15.826 13.095 0.373 -0.401 -0.837 0 420 1 + 0.727 -15.093 13.240 0.657 0.018 -0.753 0 420 1 + 0.352 -14.544 11.755 0.907 -0.348 0.237 0 430 1 + 1.797 -14.817 13.587 -0.056 -0.166 -0.985 0 422 1 + 1.910 -14.216 13.588 0.008 0.178 -0.984 0 422 1 + 0.465 -13.943 11.756 0.971 -0.004 0.237 0 430 1 + 0.581 -13.374 11.764 0.894 -0.383 0.232 0 431 1 + 0.601 -13.340 11.083 0.907 -0.361 -0.216 0 431 1 + 0.487 -13.906 11.027 0.984 0.017 -0.179 0 430 1 + 0.710 -13.955 9.935 0.835 0.049 0.549 0 440 1 + 0.614 -13.287 11.056 0.916 -0.326 -0.234 0 431 1 + 0.725 -13.898 9.907 0.843 0.082 0.532 0 440 1 + 2.387 -12.376 10.341 -0.265 -0.933 0.243 0 340 1 + 2.515 -12.447 10.103 -0.181 -0.980 0.086 0 340 1 + 0.862 -13.974 9.652 0.921 0.038 0.387 0 440 1 + 2.566 -13.995 8.770 -0.214 0.052 0.975 0 446 1 + 3.766 -12.111 9.807 0.642 -0.759 -0.109 0 340 1 + 3.904 -13.635 8.453 0.550 0.258 0.794 0 446 1 + 5.439 -12.173 8.876 -0.473 -0.717 0.512 0 284 1 + 5.576 -12.295 8.806 -0.383 -0.797 0.466 0 284 1 + 4.050 -13.766 8.378 0.634 0.183 0.752 0 446 1 + 6.318 -13.712 8.823 -0.878 0.147 0.455 0 299 1 + 6.528 -14.955 8.073 -0.740 -0.671 -0.038 0 299 1 + 4.275 -15.096 7.576 0.762 -0.577 0.293 0 446 1 + 4.421 -15.481 7.004 0.664 -0.321 0.675 0 447 1 + 7.022 -14.711 6.987 -0.415 -0.511 -0.753 0 299 1 + 4.920 -15.234 5.907 0.986 -0.162 -0.033 0 447 1 + 6.225 -14.150 5.182 0.116 -0.885 0.451 0 304 1 + 4.933 -13.740 3.633 -0.623 -0.651 -0.434 0 304 1 + 3.700 -14.847 4.445 0.199 0.088 -0.976 0 447 1 + 3.615 -13.280 2.779 0.256 -0.957 0.134 0 323 1 + 2.412 -12.995 3.105 -0.535 -0.770 0.348 0 323 1 + 2.486 -14.559 4.773 -0.584 0.273 -0.764 0 447 1 + 1.589 -13.849 5.097 0.014 -0.200 -0.980 0 445 1 + 1.534 -13.927 5.114 -0.018 -0.245 -0.969 0 445 1 + 2.434 -14.633 4.790 -0.618 0.226 -0.753 0 447 1 + 1.025 -14.429 5.074 0.321 0.090 -0.943 0 444 1 + 0.978 -13.368 5.168 -0.335 0.075 -0.939 0 445 1 + 0.469 -13.870 5.127 0.004 0.409 -0.912 0 444 1 + -0.549 -12.364 4.396 0.682 -0.595 -0.425 0 451 1 + 1.086 -13.216 5.152 -0.274 0.162 -0.948 0 445 1 + -0.448 -12.221 4.381 0.749 -0.501 -0.434 0 451 1 + 1.633 -11.916 3.265 -0.639 -0.704 0.310 0 321 1 + 1.089 -11.181 2.493 -0.950 -0.284 -0.131 0 321 1 + -0.957 -11.533 3.659 0.414 -0.049 -0.909 0 451 1 + 0.925 -10.833 2.044 -0.840 -0.515 0.168 0 322 1 + 0.932 -9.696 2.546 -0.835 0.233 0.498 0 322 1 + -0.949 -10.396 4.161 0.419 0.700 -0.579 0 451 1 + 1.085 -8.973 3.662 -0.937 -0.249 -0.246 0 317 1 + 1.006 -8.789 3.873 -0.982 -0.143 -0.125 0 317 1 + -1.023 -10.223 4.359 0.371 0.813 -0.449 0 451 1 + 0.413 -8.609 4.835 -0.586 -0.263 -0.766 0 324 1 + 0.130 -8.423 5.056 -0.769 -0.143 -0.623 0 324 1 + -1.303 -10.039 4.578 0.186 0.934 -0.304 0 451 1 + -0.833 -7.249 4.654 -0.127 -0.926 -0.355 0 330 1 + -1.297 -9.732 5.111 -0.054 0.791 -0.610 0 451 1 + -0.939 -7.595 5.197 -0.301 -0.680 -0.669 0 330 1 + -1.212 -7.190 4.765 -0.344 -0.892 -0.292 0 330 1 + -1.658 -9.984 4.682 -0.047 0.971 -0.236 0 451 1 + -2.784 -8.896 5.328 0.703 0.246 -0.667 0 453 1 + -2.850 -8.921 5.254 0.665 0.231 -0.710 0 453 1 + -1.720 -10.007 4.612 -0.088 0.955 -0.282 0 451 1 + -3.181 -7.970 3.843 0.886 -0.402 0.231 0 511 1 + -3.350 -8.324 3.250 0.789 -0.604 -0.108 0 511 1 + -1.878 -10.337 4.058 -0.192 0.738 -0.647 0 451 1 + -2.699 -9.670 1.757 0.356 0.294 0.887 0 467 1 + -2.026 -10.764 1.227 0.741 -0.332 0.584 0 467 1 + -1.248 -11.360 3.562 0.222 0.065 -0.973 0 451 1 + -2.300 -11.746 1.791 0.923 0.323 0.208 0 463 1 + -2.229 -12.124 1.832 0.969 0.079 0.235 0 463 1 + -1.178 -11.734 3.603 0.268 -0.181 -0.946 0 451 1 + -1.992 -12.529 2.888 0.811 0.349 -0.470 0 456 1 + -2.834 -8.863 5.290 0.674 0.265 -0.689 0 453 1 + -3.165 -7.912 3.879 0.895 -0.369 0.251 0 511 1 + -1.263 -7.156 4.726 -0.373 -0.873 -0.314 0 330 1 + 0.406 -8.297 4.775 -0.591 -0.062 -0.804 0 324 1 + -0.540 -7.115 4.357 0.040 -0.850 -0.525 0 330 1 + 0.999 -8.459 3.810 -0.986 0.045 -0.161 0 317 1 + 1.690 -11.708 1.782 -0.607 -0.585 -0.538 0 321 1 + 1.486 -11.327 1.379 -0.471 -0.840 -0.270 0 322 1 + 1.994 -12.208 1.770 -0.810 -0.252 -0.530 0 323 1 + 3.830 -11.379 1.254 0.398 0.293 -0.869 0 323 1 + 3.322 -10.497 0.863 0.737 -0.294 -0.609 0 322 1 + 3.653 -10.821 1.230 0.515 -0.078 -0.853 0 321 1 + 3.780 -10.593 1.310 0.588 0.052 -0.807 0 321 1 + 3.440 -10.284 0.939 0.814 -0.154 -0.559 0 322 1 + 5.694 -9.550 0.604 -0.688 -0.643 -0.336 0 308 1 + 5.386 -8.684 0.432 -0.891 -0.073 -0.449 0 308 1 + 3.132 -9.417 0.767 0.612 0.416 -0.672 0 322 1 + 3.908 -7.977 1.010 0.095 -0.544 -0.834 0 314 1 + 5.390 -8.668 0.423 -0.888 -0.063 -0.455 0 308 1 + 3.912 -7.961 1.000 0.097 -0.534 -0.840 0 314 1 + 4.506 -7.719 0.720 -0.299 -0.696 -0.653 0 313 1 + 6.994 -7.305 0.317 0.167 0.834 -0.525 0 308 1 + 6.222 -6.260 0.607 0.682 0.138 -0.718 0 313 1 + 7.114 -6.927 0.741 0.088 0.583 -0.808 0 307 1 + 7.378 -6.452 1.348 0.239 0.854 -0.461 0 307 1 + 6.486 -5.784 1.213 0.833 0.410 -0.372 0 313 1 + 6.979 -6.045 1.610 0.505 0.584 -0.636 0 312 1 + 5.625 -6.083 3.747 -0.369 0.559 0.742 0 312 1 + 5.051 -5.825 3.477 0.013 0.387 0.922 0 313 1 + 4.267 -6.350 5.479 0.536 0.737 -0.413 0 319 1 + 4.239 -6.334 5.472 0.517 0.747 -0.417 0 319 1 + 5.021 -5.807 3.470 -0.004 0.396 0.918 0 313 1 + 4.428 -6.050 3.749 0.392 0.558 0.732 0 314 1 + 6.088 -6.441 4.056 -0.070 0.329 0.942 0 312 1 + 4.726 -6.704 5.785 0.838 0.504 -0.211 0 319 1 + 6.900 -6.814 6.280 -0.612 0.577 -0.541 0 282 1 + 6.889 -6.774 6.338 -0.619 0.603 -0.503 0 282 1 + 4.715 -6.664 5.843 0.830 0.530 -0.173 0 319 1 + 5.499 -5.014 6.727 0.307 -0.570 -0.762 0 274 1 + 7.835 -6.184 6.907 0.003 0.992 -0.128 0 282 1 + 6.512 -4.382 7.336 0.886 -0.209 -0.414 0 274 1 + 8.488 -4.171 7.962 -0.432 -0.350 -0.831 0 87 1 + 8.284 -2.822 8.153 -0.549 0.421 -0.722 0 87 1 + 6.307 -3.033 7.527 0.769 0.562 -0.305 0 274 1 + 8.015 -2.253 8.463 -0.370 0.042 -0.928 0 86 1 + 8.009 -2.244 8.465 -0.373 0.047 -0.927 0 86 1 + 6.301 -3.024 7.530 0.766 0.567 -0.303 0 274 1 + 5.960 -2.003 7.077 0.994 -0.113 -0.001 0 276 1 + 8.013 -1.890 8.521 -0.371 0.249 -0.895 0 86 1 + 5.963 -1.650 7.133 0.996 0.089 0.031 0 276 1 + 6.024 -1.112 7.362 0.955 -0.270 -0.122 0 278 1 + 7.881 -0.954 9.332 -0.446 0.784 -0.431 0 86 1 + 5.901 -0.237 8.120 0.874 0.306 0.377 0 278 1 + 6.884 -0.652 9.859 0.219 0.583 -0.783 0 82 1 + 8.746 -1.001 11.227 0.048 0.757 0.652 0 86 1 + 7.700 -0.696 11.648 0.745 0.554 0.371 0 82 1 + 8.466 -1.319 12.324 0.235 0.969 -0.080 0 84 1 + 7.927 -1.325 12.902 -0.073 0.965 0.250 0 84 1 + 7.192 -0.702 12.193 0.417 0.550 0.723 0 82 1 + 6.374 -0.066 13.635 0.963 0.126 -0.239 0 70 1 + 7.966 -1.634 13.536 -0.051 0.789 0.613 0 84 1 + 6.409 -0.355 14.228 0.986 -0.064 0.151 0 70 1 + 7.722 -1.935 14.594 0.111 0.989 -0.093 0 92 1 + 7.623 -1.930 14.956 0.055 0.992 0.114 0 92 1 + 6.317 -0.351 14.566 0.926 -0.061 0.374 0 70 1 + 7.113 -1.779 15.461 0.395 0.891 -0.223 0 95 1 + 6.157 -1.693 16.384 -0.152 0.940 0.304 0 95 1 + 5.423 -0.271 15.429 0.338 -0.008 0.941 0 70 1 + 4.597 -0.531 17.483 0.888 0.165 -0.428 0 74 1 + 6.188 -1.710 16.444 -0.134 0.931 0.339 0 95 1 + 4.627 -0.547 17.543 0.906 0.156 -0.394 0 74 1 + 6.006 -1.650 17.631 -0.013 0.892 -0.452 0 98 1 + 6.628 -1.732 16.513 0.117 0.918 0.378 0 95 1 + 6.446 -1.673 17.700 0.238 0.879 -0.413 0 98 1 + 6.877 -1.850 17.168 -0.049 0.997 -0.059 0 96 1 + 8.013 -2.755 18.390 0.600 0.480 0.639 0 96 1 + 7.582 -2.578 18.922 0.888 0.362 0.285 0 98 1 + 9.589 -3.329 19.695 -0.450 0.863 -0.230 0 127 1 + 8.988 -3.937 20.664 -0.793 0.516 0.323 0 127 1 + 6.981 -3.185 19.891 0.544 0.015 0.839 0 98 1 + 7.386 -4.604 21.213 0.275 0.961 -0.043 0 125 1 + 7.087 -4.551 21.364 0.079 0.995 0.057 0 125 1 + 6.662 -3.129 20.052 0.362 0.047 0.931 0 98 1 + 6.037 -3.615 22.208 0.779 0.371 -0.506 0 158 1 + 7.436 -5.156 22.403 0.308 0.598 0.740 0 125 1 + 6.410 -4.262 23.320 0.992 0.002 0.129 0 158 1 + 6.808 -5.250 23.802 0.726 0.660 -0.192 0 154 1 + 6.762 -5.163 24.022 0.696 0.716 -0.050 0 154 1 + 6.361 -4.170 23.553 0.963 0.054 0.263 0 158 1 + 6.402 -4.583 24.133 0.936 0.330 -0.123 0 155 1 + 6.787 -5.212 24.337 0.713 0.685 0.154 0 154 1 + 6.429 -4.635 24.466 0.951 0.300 0.068 0 155 1 + 8.504 -5.477 24.970 -0.432 0.861 -0.268 0 150 1 + 8.345 -5.499 25.585 -0.522 0.849 0.084 0 150 1 + 6.271 -4.657 25.082 0.861 0.288 0.419 0 155 1 + 6.909 -5.542 25.409 0.435 0.877 0.202 0 147 1 + 6.716 -5.564 25.726 0.325 0.865 0.383 0 147 1 + 6.078 -4.679 25.399 0.751 0.275 0.601 0 155 1 + 7.576 -5.116 27.479 -0.249 0.566 -0.786 0 184 1 + 7.525 -5.080 27.524 -0.282 0.589 -0.757 0 184 1 + 6.023 -4.641 25.446 0.720 0.297 0.628 0 155 1 + 6.599 -4.373 27.790 0.336 0.118 -0.934 0 182 1 + 7.814 -4.790 27.732 -0.095 0.777 -0.622 0 184 1 + 6.905 -4.065 28.011 0.511 0.294 -0.808 0 182 1 + 7.562 -4.277 28.145 0.072 0.435 -0.898 0 183 1 + 6.614 -5.255 31.246 -0.470 -0.124 0.874 0 183 1 + 5.957 -5.043 31.111 -0.031 -0.265 0.964 0 182 1 + 5.507 -5.585 31.119 0.269 0.096 0.958 0 181 1 + 4.655 -4.880 30.911 -0.218 0.498 0.839 0 181 1 + 5.105 -4.338 30.903 -0.518 0.137 0.844 0 182 1 + 3.998 -4.656 30.803 0.220 0.349 0.911 0 180 1 + 4.301 -5.862 31.026 -0.420 -0.063 0.905 0 181 1 + 3.644 -5.638 30.919 0.018 -0.212 0.977 0 180 1 + 3.155 -6.144 30.989 0.344 0.125 0.931 0 177 1 + 4.675 -7.276 30.223 -0.206 -0.871 0.446 0 181 1 + 3.529 -7.558 30.186 0.558 -0.683 0.472 0 177 1 + 3.398 -8.605 29.748 0.645 0.015 0.764 0 172 1 + 4.981 -7.446 29.879 -0.032 -0.968 0.250 0 181 1 + 3.704 -8.775 29.403 0.820 -0.082 0.567 0 172 1 + 4.909 -9.146 28.774 0.016 0.165 0.986 0 175 1 + 4.821 -9.476 28.792 -0.042 -0.052 0.998 0 175 1 + 3.609 -9.128 29.422 0.766 -0.283 0.578 0 172 1 + 4.304 -9.891 28.899 0.302 0.225 0.926 0 174 1 + 5.629 -10.493 26.530 0.490 -0.721 -0.490 0 175 1 + 5.169 -10.980 26.479 0.797 -0.396 -0.456 0 174 1 + 5.520 -10.605 25.021 0.562 -0.647 0.515 0 139 1 + 4.638 -11.082 24.659 -0.017 -0.961 0.277 0 139 1 + 4.226 -11.491 26.091 0.258 -0.688 -0.678 0 174 1 + 3.334 -12.154 24.381 0.852 -0.246 0.462 0 408 1 + 2.427 -12.543 25.005 0.334 -0.468 0.818 0 408 1 + 3.318 -11.879 26.715 -0.261 -0.910 -0.322 0 174 1 + 2.601 -14.564 26.866 0.218 0.880 -0.422 0 389 1 + 2.128 -14.513 26.200 0.710 0.642 -0.290 0 389 1 + 2.004 -13.294 25.052 0.800 -0.246 0.547 0 408 1 + 2.615 -12.960 24.542 0.441 -0.706 0.553 0 408 1 + 2.777 -14.955 26.433 0.333 0.623 -0.707 0 389 1 + 1.918 -14.422 24.880 0.906 0.268 0.328 0 396 1 + 1.934 -14.453 24.860 0.915 0.250 0.317 0 396 1 + 2.792 -14.984 26.415 0.343 0.604 -0.719 0 389 1 + 2.130 -15.004 25.250 0.784 0.618 0.057 0 395 1 + 2.473 -16.430 25.141 0.980 -0.197 -0.005 0 395 1 + 3.112 -16.317 26.312 0.554 -0.273 -0.787 0 389 1 + 2.865 -17.747 25.342 0.719 0.681 -0.140 0 400 1 + 2.998 -18.490 26.405 0.807 0.192 0.559 0 400 1 + 3.246 -17.060 27.375 0.642 -0.762 -0.088 0 389 1 + 3.730 -17.947 28.642 0.319 -0.170 -0.932 0 393 1 + 3.964 -16.395 29.626 0.470 0.831 -0.297 0 393 1 + 3.477 -15.522 28.350 0.794 0.250 0.554 0 389 1 + 3.543 -15.952 29.759 0.751 0.536 -0.386 0 391 1 + 3.366 -15.699 29.842 0.649 0.681 -0.339 0 391 1 + 3.312 -15.286 28.427 0.685 0.406 0.605 0 389 1 + 3.358 -15.312 30.274 0.655 0.423 -0.626 0 392 1 + 3.660 -15.946 30.084 0.818 0.540 -0.200 0 391 1 + 3.633 -15.543 30.500 0.836 0.271 -0.478 0 392 1 + 4.075 -16.389 29.933 0.541 0.835 -0.099 0 393 1 + 3.595 -17.727 31.594 0.232 -0.028 0.972 0 393 1 + 3.158 -16.869 32.145 0.523 -0.600 0.605 0 392 1 + 3.152 -17.363 31.845 0.527 -0.271 0.805 0 391 1 + 2.201 -16.652 24.341 0.825 -0.324 -0.463 0 395 1 + 2.611 -17.955 24.595 0.552 0.544 -0.632 0 400 1 + 1.981 -17.228 23.988 0.972 0.060 -0.227 0 398 1 + 1.699 -17.890 23.527 0.811 -0.318 -0.491 0 398 1 + 2.348 -18.573 24.164 0.379 0.137 -0.915 0 400 1 + 1.858 -18.489 23.847 0.705 0.081 -0.704 0 399 1 + 2.111 -16.480 24.114 0.774 -0.225 -0.592 0 395 1 + 1.891 -17.056 23.762 0.921 0.159 -0.357 0 398 1 + 2.216 -15.753 23.245 0.704 -0.710 -0.012 0 402 1 + 2.026 -15.850 22.869 0.581 -0.773 -0.255 0 402 1 + 1.690 -17.159 23.364 0.805 0.100 -0.584 0 398 1 + 2.395 -15.987 21.512 0.335 -0.682 0.650 0 405 1 + 2.633 -14.751 22.918 0.973 -0.064 -0.223 0 402 1 + 2.996 -14.899 21.560 0.731 0.034 0.682 0 405 1 + 3.069 -13.760 22.431 0.681 -0.725 0.101 0 406 1 + 3.121 -13.716 22.369 0.711 -0.700 0.066 0 406 1 + 3.044 -14.858 21.502 0.763 0.061 0.644 0 405 1 + 5.292 -14.238 21.601 -0.736 -0.352 0.578 0 142 1 + 5.465 -14.828 21.190 -0.637 -0.690 0.344 0 142 1 + 3.206 -15.410 21.118 0.869 -0.302 0.392 0 405 1 + 5.386 -15.162 20.711 -0.585 -0.467 0.663 0 144 1 + 5.239 -15.564 19.678 -0.681 -0.732 -0.016 0 144 1 + 3.059 -15.812 20.086 0.772 -0.566 -0.288 0 405 1 + 3.917 -15.675 18.565 0.200 -0.658 0.726 0 425 1 + 2.731 -15.932 17.914 -0.477 -0.804 0.354 0 425 1 + 1.951 -16.052 19.477 0.043 -0.724 -0.688 0 405 1 + 0.812 -16.320 18.806 0.803 -0.545 -0.241 0 410 1 + 2.716 -15.938 17.879 -0.485 -0.808 0.334 0 425 1 + 0.797 -16.326 18.771 0.794 -0.549 -0.261 0 410 1 + 1.095 -16.172 17.675 0.595 -0.652 0.470 0 418 1 + 2.834 -16.086 17.000 -0.418 -0.893 -0.168 0 425 1 + 1.207 -16.312 16.846 0.667 -0.742 -0.065 0 418 1 + 2.063 -16.088 16.084 0.096 -0.892 0.442 0 422 1 + 3.057 -16.128 16.812 -0.291 -0.916 -0.275 0 425 1 + 2.287 -16.129 15.896 0.223 -0.915 0.335 0 422 1 + 4.090 -17.346 16.135 -0.979 -0.104 0.176 0 116 1 + 4.209 -17.370 15.220 -0.902 -0.120 -0.415 0 116 1 + 2.413 -16.154 14.927 0.295 -0.930 -0.219 0 422 1 + 4.028 -16.640 14.380 -0.782 -0.606 0.145 0 115 1 + 4.284 -14.838 13.291 -0.617 0.556 -0.557 0 115 1 + 2.684 -14.245 13.773 0.450 0.161 -0.878 0 422 1 + 3.692 -12.754 13.216 -0.222 -0.833 -0.507 0 269 1 + 3.203 -12.445 13.139 -0.537 -0.634 -0.556 0 269 1 + 2.166 -13.918 13.692 0.154 0.348 -0.925 0 422 1 + 2.220 -12.028 11.715 0.118 -0.912 0.393 0 339 1 + 1.941 -12.952 13.663 0.189 -0.314 -0.930 0 422 1 + 1.968 -12.007 12.675 0.171 -0.948 -0.267 0 339 1 + 2.032 -12.054 11.686 0.011 -0.927 0.376 0 339 1 + 1.978 -13.944 13.662 0.047 0.333 -0.942 0 422 1 + 0.645 -13.120 11.833 0.936 -0.216 0.278 0 431 1 + 2.054 -12.181 11.053 0.023 -1.000 0.014 0 339 1 + 0.665 -13.239 11.241 0.949 -0.294 -0.112 0 431 1 + 2.437 -12.328 10.527 -0.232 -0.902 0.365 0 340 1 + 2.668 -12.007 11.418 0.374 -0.900 0.223 0 339 1 + 3.011 -12.166 10.868 0.145 -0.795 0.589 0 340 1 + 3.626 -12.426 12.859 -0.265 -0.621 -0.738 0 269 1 + 4.514 -12.017 12.635 0.308 -0.357 -0.882 0 269 1 + 3.890 -11.761 10.647 0.724 -0.528 0.444 0 340 1 + 5.160 -11.277 12.080 -0.123 -0.850 -0.511 0 268 1 + 5.383 -11.097 11.822 0.021 -0.734 -0.678 0 268 1 + 4.111 -11.583 10.391 0.869 -0.411 0.275 0 340 1 + 5.784 -11.645 9.460 -0.246 -0.370 0.896 0 284 1 + 6.387 -10.486 11.847 0.668 -0.340 -0.662 0 268 1 + 6.778 -11.039 9.485 0.408 0.029 0.913 0 284 1 + 7.933 -10.093 9.787 -0.363 -0.602 0.712 0 285 1 + 8.203 -10.368 9.611 -0.189 -0.779 0.598 0 285 1 + 7.045 -11.311 9.311 0.583 -0.150 0.798 0 284 1 + 8.690 -11.525 9.221 -0.513 -0.008 0.858 0 294 1 + 8.658 -11.752 9.180 -0.534 -0.154 0.831 0 294 1 + 7.013 -11.536 9.270 0.563 -0.298 0.771 0 284 1 + 7.756 -12.953 9.286 0.068 0.646 0.760 0 299 1 + 8.694 -11.778 9.197 -0.510 -0.171 0.843 0 294 1 + 7.792 -12.978 9.304 0.091 0.629 0.772 0 299 1 + 8.458 -12.921 9.373 -0.353 0.591 0.725 0 298 1 + 8.381 -15.011 6.893 -0.397 -0.603 -0.692 0 298 1 + 7.720 -14.932 6.986 0.044 -0.656 -0.754 0 299 1 + 8.638 -14.762 5.418 -0.568 -0.769 0.292 0 297 1 + 8.395 -14.583 5.295 -0.728 -0.652 0.211 0 297 1 + 7.477 -14.754 6.863 -0.116 -0.539 -0.835 0 299 1 + 8.115 -14.306 5.721 -0.541 -0.837 -0.074 0 296 1 + 8.016 -14.234 5.694 -0.598 -0.797 -0.089 0 296 1 + 7.384 -14.687 6.838 -0.177 -0.495 -0.851 0 299 1 + 6.613 -14.124 5.022 0.337 -0.870 0.359 0 304 1 + 8.044 -14.246 5.635 -0.582 -0.804 -0.123 0 296 1 + 6.641 -14.136 4.962 0.353 -0.877 0.325 0 304 1 + 8.329 -14.528 5.214 -0.772 -0.616 0.158 0 297 1 + 8.701 -14.066 3.773 -0.527 -0.312 -0.790 0 297 1 + 7.039 -13.642 3.420 0.581 -0.595 -0.556 0 304 1 + 7.663 -13.303 3.407 0.165 -0.821 -0.546 0 301 1 + 6.857 -11.849 2.692 -0.296 0.010 -0.955 0 301 1 + 6.233 -12.188 2.705 0.120 0.236 -0.964 0 304 1 + 6.771 -11.160 2.550 -0.239 -0.449 -0.861 0 302 1 + 6.524 -11.028 2.576 -0.379 -0.373 -0.847 0 302 1 + 5.986 -12.055 2.731 -0.021 0.312 -0.950 0 304 1 + 4.599 -11.706 1.936 0.904 0.079 -0.420 0 323 1 + 6.509 -10.968 2.557 -0.388 -0.339 -0.857 0 302 1 + 4.585 -11.650 1.919 0.895 0.115 -0.431 0 323 1 + 6.331 -10.035 1.194 -0.269 -0.962 0.052 0 308 1 + 5.802 -9.690 0.688 -0.617 -0.735 -0.281 0 308 1 + 4.056 -11.306 1.413 0.547 0.342 -0.764 0 323 1 + 3.895 -10.743 1.400 0.654 -0.034 -0.756 0 321 1 + 7.196 -11.010 2.427 0.005 -0.364 -0.932 0 302 1 + 6.973 -10.074 1.072 0.154 -0.988 -0.028 0 308 1 + 8.256 -10.980 1.930 -0.702 -0.384 -0.600 0 311 1 + 9.221 -10.181 1.256 -0.150 0.073 -0.986 0 311 1 + 7.875 -9.327 0.441 0.747 -0.496 -0.443 0 308 1 + 9.214 -9.156 0.946 -0.145 -0.609 -0.779 0 309 1 + 8.924 -7.289 0.853 -0.311 0.458 -0.833 0 309 1 + 7.604 -7.581 0.354 0.569 0.653 -0.501 0 308 1 + 7.766 -7.223 0.781 0.461 0.414 -0.785 0 307 1 + 8.902 -6.473 1.953 -0.323 0.924 -0.204 0 309 1 + 7.745 -6.407 1.881 0.448 0.880 -0.156 0 307 1 + 7.325 -6.003 2.114 0.728 0.611 -0.311 0 312 1 + 8.973 -6.471 2.754 -0.283 0.925 0.254 0 309 1 + 7.392 -6.002 2.870 0.771 0.612 0.177 0 312 1 + 8.360 -6.572 3.093 0.125 0.992 0.028 0 306 1 + 7.931 -6.877 4.031 -0.120 0.817 0.564 0 306 1 + 6.987 -6.290 3.755 0.510 0.426 0.748 0 312 1 + 7.790 -6.664 5.982 -0.026 0.675 -0.737 0 282 1 + 9.118 -7.438 4.207 0.558 0.497 0.664 0 306 1 + 8.900 -7.188 6.146 0.704 0.331 -0.629 0 282 1 + 9.731 -7.337 3.868 0.150 0.430 0.890 0 309 1 + 9.779 -7.406 3.890 0.178 0.391 0.903 0 309 1 + 8.945 -7.252 6.167 0.734 0.289 -0.615 0 282 1 + 10.198 -7.868 4.183 -0.101 0.699 0.708 0 310 1 + 10.429 -8.152 4.420 0.031 0.537 0.843 0 310 1 + 9.161 -7.518 6.389 0.876 0.114 -0.469 0 282 1 + 10.214 -8.178 6.906 0.174 0.554 -0.814 0 286 1 + 10.251 -8.001 7.053 0.195 0.655 -0.730 0 286 1 + 9.195 -7.353 6.526 0.898 0.222 -0.379 0 282 1 + 10.747 -5.805 6.813 -0.136 -0.810 -0.571 0 89 1 + 9.358 -4.560 7.191 -0.930 -0.098 -0.355 0 89 1 + 7.897 -6.189 6.879 0.044 0.988 -0.147 0 282 1 + 8.554 -4.177 7.932 -0.394 -0.353 -0.849 0 87 1 + 9.508 -3.897 7.012 -0.844 0.281 -0.457 0 89 1 + 8.704 -3.514 7.753 -0.308 0.025 -0.951 0 87 1 + 9.288 -3.354 7.395 -0.697 -0.082 -0.712 0 88 1 + 9.235 -2.445 7.716 -0.727 0.438 -0.528 0 88 1 + 8.652 -2.605 8.075 -0.338 0.545 -0.767 0 87 1 + 8.383 -2.036 8.384 -0.159 0.166 -0.973 0 86 1 + 11.102 -2.426 10.088 0.339 0.449 0.827 0 88 1 + 10.250 -2.018 10.755 0.907 0.176 0.382 0 86 1 + 10.446 -2.421 11.998 0.776 0.445 -0.446 0 85 1 + 9.387 -1.594 12.492 0.079 0.989 -0.121 0 85 1 + 9.116 -1.133 11.284 0.260 0.682 0.684 0 86 1 + 8.836 -1.450 12.381 0.446 0.894 -0.048 0 84 1 + 9.159 -1.941 13.656 -0.071 0.761 0.645 0 85 1 + 8.592 -1.822 13.627 0.307 0.681 0.664 0 84 1 + 8.349 -2.123 14.685 0.470 0.882 -0.041 0 92 1 + 9.630 -2.338 13.941 0.239 0.500 0.832 0 85 1 + 8.853 -2.548 14.990 0.757 0.639 0.133 0 92 1 + 10.087 -3.081 15.312 -0.066 0.995 -0.082 0 105 1 + 9.855 -3.197 16.008 -0.198 0.928 0.316 0 105 1 + 8.621 -2.664 15.686 0.625 0.572 0.531 0 92 1 + 8.360 -2.632 16.846 0.799 0.551 -0.243 0 96 1 + 7.875 -2.205 16.725 0.522 0.794 -0.312 0 96 1 + 8.135 -2.238 15.565 0.348 0.816 0.462 0 92 1 + 7.626 -2.087 16.070 0.687 0.715 0.125 0 95 1 + 10.095 -3.612 16.716 -0.061 0.691 0.720 0 105 1 + 8.599 -3.046 17.554 0.936 0.314 0.162 0 96 1 + 10.175 -3.620 18.858 -0.115 0.696 -0.708 0 127 1 + 11.056 -3.906 16.678 0.488 0.523 0.699 0 105 1 + 11.136 -3.915 18.821 0.435 0.528 -0.730 0 127 1 + 12.399 -3.251 19.091 -0.407 0.086 -0.909 0 130 1 + 11.803 -2.745 21.198 -0.792 0.412 0.450 0 130 1 + 10.505 -3.379 21.054 0.074 0.834 0.546 0 127 1 + 11.539 -3.273 21.585 -0.616 0.764 0.192 0 129 1 + 11.322 -3.814 22.116 -0.740 0.455 0.496 0 129 1 + 10.288 -3.920 21.585 -0.050 0.525 0.850 0 127 1 + 10.517 -4.195 23.873 -0.204 0.708 -0.676 0 153 1 + 9.808 -4.775 23.887 -0.670 0.327 -0.666 0 153 1 + 9.529 -4.541 21.600 -0.484 0.170 0.858 0 127 1 + 7.892 -5.169 22.088 0.608 0.589 0.533 0 125 1 + 8.510 -5.748 22.725 0.032 0.952 0.305 0 125 1 + 9.285 -5.588 23.453 -0.502 0.842 -0.197 0 153 1 + 9.560 -4.858 24.169 -0.833 0.273 -0.481 0 153 1 + 7.644 -5.251 22.370 0.444 0.535 0.719 0 125 1 + 8.392 -5.896 23.832 -0.054 0.965 -0.256 0 149 1 + 8.259 -5.892 23.902 -0.130 0.968 -0.217 0 149 1 + 7.520 -5.247 22.435 0.363 0.538 0.761 0 125 1 + 6.893 -5.342 23.833 0.781 0.601 -0.171 0 154 1 + 8.262 -5.862 24.071 -0.128 0.984 -0.120 0 149 1 + 6.896 -5.314 23.993 0.783 0.619 -0.068 0 154 1 + 8.619 -5.585 24.605 -0.366 0.800 -0.476 0 150 1 + 8.301 -5.861 24.045 -0.106 0.985 -0.135 0 149 1 + 8.657 -5.584 24.579 -0.344 0.800 -0.491 0 150 1 + 9.475 -4.825 24.367 -0.889 0.294 -0.350 0 153 1 + 9.714 -4.622 25.706 -0.732 0.428 0.530 0 153 1 + 8.913 -5.367 26.011 -0.198 0.924 0.327 0 150 1 + 8.294 -4.971 27.581 0.214 0.660 -0.720 0 184 1 + 7.732 -5.156 27.414 -0.149 0.541 -0.828 0 184 1 + 8.317 -5.563 25.833 -0.538 0.812 0.225 0 150 1 + 6.880 -5.606 25.657 0.419 0.841 0.343 0 147 1 + 10.789 -5.156 26.415 -0.025 0.076 0.997 0 153 1 + 9.379 -5.510 28.297 0.914 0.312 -0.258 0 184 1 + 10.697 -5.716 26.571 0.036 0.449 0.893 0 151 1 + 10.770 -6.626 26.749 0.078 -0.071 0.994 0 151 1 + 9.448 -6.369 28.465 0.959 -0.242 -0.149 0 184 1 + 10.135 -6.848 26.948 0.501 0.078 0.862 0 150 1 + 8.509 -8.000 26.650 -0.429 -0.581 0.692 0 150 1 + 7.913 -7.456 28.185 -0.031 -0.943 -0.331 0 184 1 + 7.519 -8.553 26.265 0.231 -0.212 0.949 0 146 1 + 7.499 -8.554 26.269 0.220 -0.212 0.952 0 146 1 + 7.894 -7.457 28.189 -0.044 -0.944 -0.328 0 184 1 + 6.367 -9.133 27.488 0.975 0.174 0.140 0 175 1 + 5.761 -8.987 28.447 0.577 0.270 0.771 0 175 1 + 7.283 -7.309 29.158 -0.438 -0.848 0.297 0 184 1 + 5.892 -7.276 29.529 0.489 -0.871 0.050 0 181 1 + 6.053 -7.025 30.080 0.581 -0.727 0.365 0 181 1 + 7.435 -7.072 29.678 -0.340 -0.696 0.633 0 184 1 + 7.161 -6.695 30.207 -0.157 -0.947 0.281 0 183 1 + 6.960 -9.800 25.253 -0.088 -0.924 0.371 0 146 1 + 5.863 -10.297 26.537 0.643 -0.592 -0.485 0 175 1 + 6.211 -10.436 24.666 0.411 -0.500 0.762 0 138 1 + 6.046 -10.575 24.647 0.317 -0.579 0.751 0 138 1 + 5.709 -10.427 26.519 0.542 -0.678 -0.497 0 175 1 + 5.599 -10.539 25.011 0.615 -0.603 0.508 0 139 1 + 5.583 -11.084 24.190 0.052 -0.870 0.490 0 138 1 + 5.167 -11.015 24.584 0.330 -0.916 0.227 0 139 1 + 5.865 -11.957 23.503 -0.136 -0.288 0.948 0 140 1 + 5.401 -12.081 23.319 -0.401 -0.359 0.843 0 140 1 + 4.733 -11.131 24.412 0.045 -0.992 0.114 0 139 1 + 3.435 -12.206 24.117 0.910 -0.275 0.311 0 408 1 + 5.262 -12.567 22.900 -0.481 -0.636 0.603 0 140 1 + 3.296 -12.692 23.698 0.830 -0.553 0.071 0 408 1 + 3.311 -13.046 23.089 0.820 -0.317 0.477 0 406 1 + 3.019 -13.354 23.261 0.652 -0.493 0.575 0 406 1 + 3.003 -13.000 23.870 0.663 -0.729 0.169 0 408 1 + 2.585 -14.368 23.701 0.942 0.183 0.282 0 402 1 + 2.235 -14.346 24.302 0.716 0.197 0.670 0 402 1 + 2.632 -12.976 24.506 0.451 -0.716 0.533 0 408 1 + 1.935 -14.438 24.845 0.916 0.259 0.308 0 396 1 + 2.241 -14.368 24.302 0.720 0.183 0.669 0 402 1 + 1.942 -14.462 24.844 0.919 0.245 0.308 0 396 1 + 2.138 -15.013 25.234 0.789 0.613 0.048 0 395 1 + 5.284 -12.731 22.715 -0.468 -0.730 0.498 0 140 1 + 3.334 -13.210 22.904 0.832 -0.411 0.372 0 406 1 + 5.087 -13.170 22.211 -0.336 -0.438 0.834 0 141 1 + 4.921 -13.615 21.765 -0.431 -0.692 0.579 0 141 1 + 3.168 -13.655 22.458 0.738 -0.665 0.117 0 406 1 + 5.338 -14.176 21.690 -0.710 -0.317 0.629 0 142 1 + 5.401 -13.319 22.218 -0.157 -0.523 0.838 0 141 1 + 5.818 -13.881 22.143 -0.435 -0.148 0.888 0 142 1 + 5.598 -12.880 22.722 -0.288 -0.815 0.502 0 140 1 + 5.909 -12.879 22.839 -0.111 -0.815 0.569 0 140 1 + 6.129 -13.880 22.260 -0.258 -0.148 0.955 0 142 1 + 6.658 -13.931 22.516 -0.610 -0.114 0.784 0 143 1 + 7.235 -15.227 21.489 -0.231 -0.967 0.108 0 143 1 + 6.746 -15.267 21.160 0.095 -0.940 0.327 0 142 1 + 6.584 -15.572 20.683 0.203 -0.737 0.645 0 144 1 + 8.390 -14.175 20.105 0.529 -0.275 -0.803 0 143 1 + 7.739 -14.520 19.299 0.963 -0.045 -0.266 0 144 1 + 7.982 -14.141 19.680 0.801 -0.297 -0.520 0 142 1 + 7.801 -13.711 19.338 0.698 -0.051 -0.715 0 142 1 + 7.570 -14.118 18.980 0.852 0.220 -0.476 0 144 1 + 7.952 -13.320 17.158 0.597 -0.312 0.739 0 111 1 + 7.910 -13.628 17.016 0.573 -0.488 0.658 0 111 1 + 7.531 -14.406 18.847 0.826 0.030 -0.563 0 144 1 + 8.102 -14.205 16.669 0.445 -0.104 0.890 0 112 1 + 8.099 -14.262 16.663 0.443 -0.137 0.886 0 112 1 + 7.527 -14.460 18.842 0.824 -0.005 -0.567 0 144 1 + 7.831 -14.858 16.884 0.622 0.260 0.739 0 113 1 + 7.156 -16.069 17.031 0.187 -0.520 0.833 0 113 1 + 6.860 -15.659 18.987 0.385 -0.794 -0.471 0 144 1 + 6.537 -17.014 17.091 0.600 0.110 0.793 0 116 1 + 5.274 -17.103 17.375 -0.215 0.052 0.975 0 116 1 + 5.609 -15.747 19.267 -0.438 -0.852 -0.287 0 144 1 + 4.313 -15.871 18.125 0.427 -0.770 0.475 0 425 1 + 7.746 -16.538 15.743 0.567 -0.824 0.003 0 113 1 + 7.127 -17.484 15.804 0.980 -0.193 -0.038 0 116 1 + 7.350 -16.972 15.523 0.832 -0.535 0.149 0 114 1 + 5.920 -17.354 14.111 0.015 -0.753 -0.658 0 114 1 + 5.777 -17.844 14.471 0.110 -0.426 -0.898 0 116 1 + 5.597 -17.114 13.631 0.230 -0.913 -0.338 0 115 1 + 6.965 -16.082 13.879 0.612 -0.026 -0.790 0 114 1 + 6.584 -15.914 13.412 0.867 -0.138 -0.479 0 115 1 + 7.625 -15.153 13.810 0.172 -0.646 -0.744 0 112 1 + 6.499 -13.643 13.616 -0.471 0.217 -0.855 0 112 1 + 5.521 -14.489 13.230 0.181 0.781 -0.597 0 115 1 + 4.929 -12.405 13.154 0.576 -0.608 -0.547 0 269 1 + 6.701 -13.388 13.605 -0.356 0.363 -0.861 0 112 1 + 5.119 -12.165 13.144 0.699 -0.453 -0.554 0 269 1 + 5.766 -11.425 12.588 0.268 -0.946 -0.184 0 268 1 + 7.134 -13.189 13.586 -0.108 0.477 -0.872 0 112 1 + 6.174 -11.237 12.570 0.531 -0.824 -0.195 0 268 1 + 7.296 -12.052 13.680 -0.216 -0.281 -0.935 0 110 1 + 8.049 -10.791 13.789 0.214 0.439 -0.872 0 110 1 + 6.886 -10.047 12.674 0.990 -0.057 -0.129 0 268 1 + 8.322 -9.672 13.908 0.033 -0.307 -0.951 0 106 1 + 8.130 -8.845 13.879 -0.091 0.227 -0.970 0 106 1 + 6.694 -9.220 12.645 0.867 0.477 -0.147 0 268 1 + 8.610 -7.828 13.613 -0.410 -0.451 -0.793 0 100 1 + 8.541 -7.720 13.593 -0.450 -0.389 -0.804 0 100 1 + 6.629 -9.118 12.626 0.825 0.543 -0.159 0 268 1 + 7.450 -7.116 13.203 0.278 -0.792 -0.544 0 94 1 + 7.245 -6.959 12.949 0.144 -0.688 -0.711 0 94 1 + 6.423 -8.959 12.370 0.692 0.645 -0.325 0 268 1 + 6.955 -7.055 10.825 0.337 -0.624 0.705 0 273 1 + 6.987 -7.236 10.612 0.358 -0.744 0.565 0 273 1 + 6.455 -9.142 12.155 0.712 0.527 -0.463 0 268 1 + 8.002 -8.750 10.094 -0.319 0.265 0.910 0 285 1 + 7.081 -7.177 10.624 0.420 -0.705 0.572 0 273 1 + 8.097 -8.690 10.106 -0.258 0.304 0.917 0 285 1 + 9.083 -7.979 10.934 -0.915 -0.171 0.365 0 290 1 + 9.444 -8.648 11.060 -0.709 -0.553 0.437 0 290 1 + 8.437 -9.322 10.224 -0.038 -0.104 0.994 0 285 1 + 9.490 -9.265 10.729 -0.740 -0.142 0.657 0 289 1 + 9.731 -10.231 10.269 -0.602 -0.694 0.394 0 289 1 + 8.665 -10.234 9.790 0.109 -0.692 0.713 0 285 1 + 9.151 -11.391 9.400 -0.215 0.079 0.973 0 294 1 + 11.210 -10.697 9.818 0.243 -0.960 0.137 0 289 1 + 10.547 -11.830 8.975 0.685 -0.205 0.699 0 294 1 + 10.958 -11.358 8.900 0.411 -0.519 0.749 0 287 1 + 11.077 -11.496 8.713 0.479 -0.598 0.642 0 287 1 + 10.660 -11.960 8.798 0.758 -0.288 0.585 0 294 1 + 10.817 -12.592 8.557 0.653 0.133 0.746 0 295 1 + 10.564 -12.725 8.756 0.508 0.056 0.860 0 295 1 + 10.420 -12.086 8.986 0.604 -0.370 0.706 0 294 1 + 10.287 -13.247 9.149 0.693 0.404 0.597 0 298 1 + 10.615 -14.228 6.797 0.537 -0.802 -0.260 0 295 1 + 10.338 -14.750 7.190 0.722 -0.454 -0.522 0 298 1 + 10.468 -14.518 5.695 0.635 -0.609 0.475 0 297 1 + 11.143 -12.873 6.300 0.839 -0.028 -0.544 0 295 1 + 10.961 -13.251 5.231 0.960 0.224 0.169 0 297 1 + 11.775 -11.705 6.113 0.417 -0.807 -0.419 0 288 1 + 11.552 -11.236 5.498 0.270 -0.498 -0.824 0 288 1 + 10.738 -12.783 4.616 0.813 0.532 -0.236 0 297 1 + 10.816 -11.211 3.671 0.761 -0.515 0.394 0 311 1 + 9.235 -11.959 2.453 -0.142 -0.943 -0.302 0 311 1 + 9.260 -13.482 3.477 -0.159 0.073 -0.985 0 297 1 + 8.262 -12.677 3.091 0.507 -0.464 -0.727 0 301 1 + 8.281 -11.089 1.977 -0.687 -0.446 -0.573 0 311 1 + 7.308 -11.808 2.615 -0.038 0.033 -0.999 0 301 1 + 7.222 -11.119 2.474 0.019 -0.426 -0.905 0 302 1 + 11.733 -10.949 5.431 0.389 -0.309 -0.868 0 288 1 + 11.009 -10.904 3.599 0.872 -0.340 0.353 0 311 1 + 11.420 -10.342 3.583 0.597 -0.714 0.364 0 310 1 + 10.319 -9.604 1.272 -0.032 -0.292 -0.956 0 310 1 + 9.907 -10.165 1.289 0.242 0.082 -0.967 0 311 1 + 9.900 -9.141 0.979 0.247 -0.601 -0.760 0 309 1 + 11.151 -9.046 6.242 0.006 0.943 -0.334 0 288 1 + 10.797 -8.306 4.451 0.241 0.449 0.860 0 310 1 + 10.583 -8.332 6.936 0.384 0.466 -0.797 0 286 1 + 11.924 -9.195 6.970 0.515 0.845 0.145 0 288 1 + 11.410 -8.490 7.715 0.857 0.375 -0.352 0 286 1 + 11.814 -8.430 8.291 0.588 0.335 -0.736 0 289 1 + 11.645 -8.084 8.373 0.491 0.533 -0.689 0 289 1 + 11.241 -8.144 7.797 0.761 0.573 -0.305 0 286 1 + 11.737 -5.948 7.558 0.430 -0.891 -0.145 0 89 1 + 11.862 -7.981 8.667 0.615 0.592 -0.521 0 289 1 + 11.954 -5.845 7.852 0.554 -0.832 0.023 0 89 1 + 11.816 -7.364 8.998 0.646 0.181 -0.742 0 290 1 + 12.033 -7.142 9.319 0.771 0.308 -0.558 0 290 1 + 12.172 -5.622 8.173 0.678 -0.705 0.206 0 89 1 + 12.850 -6.655 9.943 0.226 -0.017 -0.974 0 293 1 + 12.960 -6.528 9.976 0.298 0.067 -0.952 0 293 1 + 12.289 -5.486 8.208 0.745 -0.627 0.226 0 89 1 + 12.828 -5.254 7.812 0.386 -0.782 0.490 0 90 1 + 11.300 -3.048 6.312 -0.599 0.642 -0.478 0 90 1 + 10.671 -3.148 6.618 -0.180 0.708 -0.682 0 89 1 + 10.450 -2.605 7.000 -0.033 0.346 -0.938 0 88 1 + 12.859 -3.933 8.465 0.407 0.071 0.911 0 90 1 + 12.102 -3.542 9.282 0.911 -0.189 0.366 0 88 1 + 12.323 -4.086 8.899 0.764 0.173 0.621 0 89 1 + 12.235 -4.209 9.024 0.714 0.102 0.692 0 89 1 + 12.015 -3.666 9.406 0.861 -0.260 0.437 0 88 1 + 12.909 -5.334 10.738 0.265 0.853 -0.451 0 293 1 + 12.247 -5.133 11.461 -0.171 0.985 0.025 0 293 1 + 11.306 -3.450 10.180 0.456 -0.137 0.879 0 88 1 + 10.637 -3.379 12.083 0.902 -0.185 -0.390 0 85 1 + 12.342 -5.254 12.048 -0.109 0.905 0.411 0 293 1 + 10.732 -3.500 12.670 0.964 -0.265 -0.004 0 85 1 + 11.783 -4.766 13.822 0.264 0.579 -0.771 0 104 1 + 11.778 -4.349 14.274 0.261 0.818 -0.513 0 104 1 + 10.728 -3.110 13.093 0.962 -0.008 0.275 0 85 1 + 11.262 -3.906 14.405 0.606 0.523 -0.600 0 105 1 + 11.968 -4.770 16.446 0.370 0.577 0.728 0 104 1 + 11.451 -4.328 16.577 0.714 0.282 0.641 0 105 1 + 12.772 -3.649 18.995 -0.167 -0.171 -0.971 0 130 1 + 11.145 -4.342 17.136 0.723 0.593 0.355 0 105 1 + 12.189 -3.812 18.998 -0.024 0.213 -0.977 0 130 1 + 12.560 -4.044 19.031 0.120 -0.079 -0.990 0 130 1 + 11.850 -5.038 16.821 0.605 0.601 0.522 0 104 1 + 12.197 -5.045 16.496 0.501 0.420 0.757 0 104 1 + 12.989 -3.908 19.042 -0.027 -0.338 -0.941 0 130 1 + 12.372 -4.918 18.921 0.384 0.335 -0.860 0 128 1 + 13.166 -5.435 19.474 0.838 0.039 -0.545 0 128 1 + 13.738 -4.396 19.563 0.456 -0.653 -0.604 0 130 1 + 13.589 -5.022 19.852 0.555 -0.236 -0.797 0 129 1 + 12.556 -6.631 21.457 0.489 -0.644 0.588 0 128 1 + 12.979 -6.218 21.836 0.207 -0.919 0.336 0 129 1 + 12.408 -7.478 23.547 0.588 -0.079 -0.805 0 152 1 + 12.643 -6.383 24.474 0.742 0.641 -0.195 0 152 1 + 13.231 -5.047 22.828 0.351 -0.250 0.903 0 129 1 + 12.301 -5.347 24.538 0.970 -0.049 -0.238 0 153 1 + 12.523 -6.486 25.502 0.663 0.573 0.481 0 152 1 + 12.182 -5.450 25.566 0.891 -0.117 0.438 0 153 1 + 12.187 -6.030 25.663 0.888 0.270 0.374 0 151 1 + 11.384 -7.854 26.201 -0.086 -0.327 0.941 0 152 1 + 10.968 -7.494 26.411 0.191 -0.567 0.801 0 151 1 + 10.334 -7.717 26.610 0.614 -0.419 0.669 0 150 1 + 10.904 -8.718 25.062 -0.402 -0.895 0.191 0 152 1 + 9.820 -8.641 25.391 0.321 -0.947 -0.028 0 150 1 + 9.464 -8.918 24.856 0.558 -0.762 0.329 0 149 1 + 8.864 -8.970 25.283 0.215 -0.791 0.572 0 149 1 + 9.220 -8.692 25.817 -0.022 -0.976 0.216 0 150 1 + 8.230 -9.245 25.431 0.638 -0.608 0.473 0 146 1 + 8.744 -9.310 24.141 0.147 -0.986 -0.080 0 149 1 + 8.111 -9.586 24.289 0.570 -0.802 -0.179 0 146 1 + 8.895 -10.121 22.679 0.047 -0.445 0.894 0 120 1 + 8.878 -10.132 22.675 0.036 -0.452 0.891 0 120 1 + 8.093 -9.597 24.285 0.559 -0.809 -0.182 0 146 1 + 7.804 -9.866 23.718 0.752 -0.630 0.196 0 145 1 + 7.209 -10.145 24.122 0.368 -0.810 0.457 0 145 1 + 7.462 -9.893 24.713 0.199 -0.978 0.063 0 146 1 + 6.714 -10.530 24.126 0.698 -0.554 0.454 0 138 1 + 7.240 -10.185 24.018 0.388 -0.835 0.390 0 145 1 + 6.746 -10.572 24.016 0.717 -0.578 0.391 0 138 1 + 7.028 -11.445 23.329 0.529 0.005 0.849 0 140 1 + 7.668 -10.030 23.620 0.664 -0.736 0.133 0 145 1 + 7.482 -11.281 22.907 0.788 0.098 0.608 0 140 1 + 8.744 -10.295 22.578 -0.053 -0.559 0.827 0 120 1 + 8.942 -10.652 22.236 0.077 -0.794 0.603 0 120 1 + 7.694 -11.663 22.542 0.909 -0.120 0.399 0 140 1 + 8.327 -12.794 22.238 0.487 0.634 0.601 0 143 1 + 9.370 -10.776 21.810 0.360 -0.876 0.323 0 120 1 + 8.756 -12.918 21.813 0.769 0.552 0.321 0 143 1 + 10.344 -11.582 20.951 -0.289 -0.338 0.895 0 121 1 + 10.048 -12.522 19.114 -0.458 -0.875 -0.154 0 121 1 + 8.479 -13.796 20.096 0.588 -0.026 -0.809 0 143 1 + 9.373 -12.348 19.075 -0.008 -0.992 -0.128 0 118 1 + 9.350 -12.345 19.059 -0.020 -0.990 -0.137 0 118 1 + 8.459 -13.794 20.081 0.574 -0.024 -0.818 0 143 1 + 8.055 -13.734 19.654 0.843 -0.064 -0.534 0 142 1 + 9.113 -12.253 18.756 -0.156 -0.938 -0.310 0 118 1 + 7.818 -13.642 19.352 0.707 -0.012 -0.707 0 142 1 + 7.968 -13.251 17.171 0.607 -0.273 0.747 0 111 1 + 9.401 -12.165 18.493 0.009 -0.888 -0.461 0 118 1 + 8.257 -13.163 16.908 0.771 -0.222 0.596 0 111 1 + 9.198 -12.013 17.849 0.144 -0.989 -0.031 0 117 1 + 9.462 -11.872 17.421 0.315 -0.898 -0.308 0 117 1 + 8.537 -13.013 16.454 0.931 -0.137 0.337 0 111 1 + 8.891 -12.453 16.201 0.695 -0.510 0.506 0 110 1 + 8.904 -12.485 16.149 0.703 -0.528 0.476 0 110 1 + 8.550 -13.045 16.402 0.939 -0.155 0.308 0 111 1 + 8.742 -13.622 16.055 0.811 0.229 0.539 0 112 1 + 9.921 -10.663 16.684 0.611 -0.118 -0.783 0 117 1 + 9.377 -11.172 15.421 0.973 0.222 0.060 0 110 1 + 9.575 -10.031 15.447 0.841 -0.539 0.042 0 106 1 + 9.409 -9.967 14.665 0.734 -0.498 -0.462 0 106 1 + 9.201 -11.104 14.592 0.872 0.260 -0.414 0 110 1 + 11.058 -9.566 13.178 -0.366 -0.765 0.529 0 292 1 + 9.066 -10.445 14.277 0.705 -0.089 -0.704 0 110 1 + 10.389 -9.384 13.288 -0.349 -0.933 0.083 0 292 1 + 10.496 -9.407 12.595 -0.736 -0.661 0.146 0 292 1 + 8.599 -10.935 13.968 0.529 0.357 -0.770 0 110 1 + 8.841 -9.807 14.077 0.367 -0.394 -0.842 0 106 1 + 10.151 -8.815 12.368 -0.962 -0.271 -0.003 0 292 1 + 8.493 -9.209 13.848 0.143 -0.008 -0.990 0 106 1 + 9.620 -8.510 11.409 -0.608 -0.474 0.636 0 290 1 + 9.057 -8.703 13.727 -0.338 -0.182 -0.923 0 106 1 + 9.810 -8.230 12.140 -0.850 -0.503 0.155 0 290 1 + 9.461 -8.239 11.414 -0.700 -0.319 0.639 0 290 1 + 8.342 -8.953 13.853 0.046 0.157 -0.987 0 106 1 + 8.834 -7.943 13.585 -0.282 -0.517 -0.808 0 100 1 + 9.276 -7.887 11.313 -0.805 -0.119 0.581 0 290 1 + 8.650 -7.592 13.484 -0.387 -0.316 -0.866 0 100 1 + 7.551 -6.996 13.101 0.345 -0.713 -0.611 0 94 1 + 8.642 -6.693 12.382 -0.471 -0.844 -0.255 0 94 1 + 8.897 -6.816 12.121 -0.644 -0.761 -0.078 0 290 1 + 9.143 -7.754 11.120 -0.881 -0.043 0.471 0 290 1 + 7.426 -6.872 12.920 0.263 -0.631 -0.730 0 94 1 + 7.136 -6.968 10.797 0.456 -0.567 0.686 0 273 1 + 10.239 -9.037 12.252 -0.905 -0.418 -0.080 0 292 1 + 9.714 -8.749 11.285 -0.555 -0.611 0.565 0 290 1 + 9.760 -9.365 10.954 -0.586 -0.200 0.786 0 289 1 + 12.594 -9.274 11.605 0.645 -0.574 -0.505 0 292 1 + 12.279 -9.618 10.262 0.854 -0.344 0.390 0 289 1 + 12.687 -8.947 11.124 0.582 -0.792 -0.185 0 291 1 + 12.811 -7.752 10.134 0.652 -0.109 -0.750 0 291 1 + 12.403 -8.423 9.272 0.924 0.339 -0.175 0 289 1 + 13.152 -7.277 10.208 0.425 -0.425 -0.799 0 293 1 + 13.012 -7.057 10.055 0.333 -0.281 -0.900 0 293 1 + 12.253 -8.188 9.108 0.839 0.473 -0.269 0 289 1 + 12.207 -7.571 9.439 0.870 0.062 -0.490 0 290 1 + 13.262 -8.112 11.916 0.910 -0.315 0.268 0 291 1 + 13.575 -7.614 11.874 0.702 -0.647 0.296 0 293 1 + 13.131 -8.494 12.346 0.998 -0.060 -0.018 0 292 1 + 12.777 -7.863 13.190 0.765 0.355 0.537 0 292 1 + 13.220 -6.983 12.718 0.469 -0.232 0.852 0 293 1 + 12.723 -6.615 14.538 0.801 -0.477 -0.362 0 104 1 + 12.659 -8.151 13.447 0.688 0.165 0.707 0 292 1 + 12.597 -6.923 14.814 0.729 -0.653 -0.204 0 104 1 + 12.325 -7.528 15.001 0.911 -0.249 -0.329 0 103 1 + 12.017 -6.852 16.739 0.735 0.137 0.664 0 103 1 + 12.289 -6.247 16.552 0.553 -0.267 0.789 0 104 1 + 12.464 -6.119 18.978 0.437 -0.352 -0.828 0 128 1 + 11.420 -7.600 17.103 0.394 -0.290 0.872 0 103 1 + 11.867 -6.867 19.342 0.096 -0.779 -0.620 0 128 1 + 10.603 -8.116 18.925 0.938 0.054 -0.342 0 122 1 + 10.620 -8.148 18.970 0.949 0.033 -0.313 0 122 1 + 11.885 -6.901 19.390 0.106 -0.799 -0.593 0 128 1 + 11.493 -9.433 18.909 0.367 0.889 -0.272 0 121 1 + 11.505 -9.717 20.390 0.374 0.727 0.575 0 121 1 + 11.897 -7.185 20.872 0.113 -0.961 0.254 0 128 1 + 10.702 -8.963 20.730 0.910 0.225 0.348 0 119 1 + 10.464 -8.832 21.097 0.774 0.299 0.557 0 119 1 + 11.660 -7.054 21.238 -0.023 -0.886 0.463 0 128 1 + 11.571 -7.873 23.343 0.037 -0.340 -0.940 0 152 1 + 10.593 -8.123 22.989 0.693 -0.243 -0.678 0 152 1 + 10.141 -8.498 22.116 0.995 0.008 -0.095 0 119 1 + 10.469 -8.943 21.142 0.777 0.236 0.583 0 119 1 + 11.576 -7.977 23.385 0.040 -0.408 -0.912 0 152 1 + 10.239 -9.014 21.671 0.931 0.283 0.231 0 120 1 + 9.699 -9.736 22.529 0.575 -0.192 0.795 0 120 1 + 11.035 -8.699 24.243 -0.316 -0.883 -0.348 0 152 1 + 9.604 -8.898 23.980 0.638 -0.750 -0.172 0 149 1 + 10.538 -9.317 21.130 0.817 0.022 0.577 0 119 1 + 10.303 -9.364 21.660 0.973 0.053 0.224 0 120 1 + 11.342 -10.071 20.790 0.281 0.525 0.803 0 121 1 + 10.600 -8.159 18.911 0.936 0.026 -0.351 0 122 1 + 11.471 -9.445 18.846 0.355 0.883 -0.307 0 121 1 + 11.416 -7.646 17.089 0.392 -0.317 0.864 0 103 1 + 11.182 -8.734 15.983 0.258 -0.938 0.232 0 103 1 + 11.237 -10.533 17.740 0.221 0.261 -0.940 0 121 1 + 10.292 -10.308 17.101 0.851 0.111 -0.514 0 117 1 + 9.250 -12.004 17.835 0.178 -0.983 -0.041 0 117 1 + 10.133 -12.330 18.517 -0.410 -0.766 -0.496 0 121 1 + 9.457 -12.156 18.477 0.041 -0.882 -0.469 0 118 1 + 10.923 -8.830 15.646 0.110 -0.993 0.039 0 103 1 + 10.048 -10.399 16.784 0.693 0.053 -0.719 0 117 1 + 9.703 -9.767 15.546 0.924 -0.368 0.106 0 106 1 + 10.915 -8.771 15.121 0.105 -0.960 -0.261 0 103 1 + 9.695 -9.712 15.051 0.918 -0.333 -0.214 0 106 1 + 11.341 -9.312 13.559 -0.179 -0.599 0.780 0 292 1 + 12.380 -4.360 8.868 0.797 0.016 0.604 0 89 1 + 13.045 -5.476 10.593 0.354 0.759 -0.546 0 293 1 + 12.913 -4.192 8.436 0.442 -0.096 0.892 0 90 1 + 12.127 -10.844 7.848 0.648 -0.240 0.723 0 288 1 + 12.031 -10.194 9.231 0.712 -0.673 -0.199 0 289 1 + 11.779 -10.856 8.312 0.880 -0.232 0.413 0 287 1 + 11.902 -11.460 7.628 0.500 -0.645 0.578 0 288 1 + 11.538 -11.515 8.076 0.743 -0.609 0.279 0 287 1 + 11.278 -12.611 7.921 0.916 0.122 0.382 0 295 1 + 7.395 -16.347 14.417 0.858 -0.177 -0.483 0 114 1 + 8.055 -15.417 14.348 0.418 -0.797 -0.437 0 112 1 + 7.789 -15.948 14.699 0.595 -0.443 -0.671 0 113 1 + 1.638 -11.922 3.263 -0.636 -0.707 0.308 0 321 1 + 1.946 -12.408 3.154 -0.841 -0.383 0.381 0 323 1 + 1.091 -13.221 5.150 -0.271 0.159 -0.949 0 445 1 + 3.234 -12.304 27.361 -0.753 -0.475 -0.455 0 174 1 + 2.747 -14.123 27.435 -0.425 0.751 -0.505 0 389 1 + 2.259 -14.467 27.007 -0.007 0.944 -0.330 0 389 1 + 2.953 -11.775 26.865 -0.470 -0.851 -0.236 0 174 1 + 2.061 -12.439 25.155 0.125 -0.408 0.904 0 408 1 + -3.195 -9.551 -1.727 0.462 -0.364 -0.808 0 468 1 + -2.880 -10.137 -1.489 0.253 0.027 -0.967 0 467 1 + -3.875 -10.512 -3.377 0.916 0.276 0.292 0 477 1 + -4.481 -9.173 -3.254 0.857 0.305 -0.415 0 477 1 + -3.927 -7.933 -2.854 0.477 -0.546 -0.689 0 471 1 + -5.558 -8.658 -4.976 0.917 -0.043 -0.398 0 491 1 + -4.722 -9.819 -4.703 0.359 0.731 -0.580 0 477 1 + -5.131 -9.366 -6.541 0.632 0.429 0.646 0 485 1 + -4.801 -9.855 -6.735 0.849 0.108 0.518 0 485 1 + -4.392 -10.308 -4.896 0.576 0.410 -0.707 0 477 1 + -4.901 -10.205 -6.281 0.915 0.341 0.215 0 484 1 + -4.893 -10.223 -6.285 0.919 0.331 0.213 0 484 1 + -4.385 -10.325 -4.900 0.580 0.399 -0.710 0 477 1 + -4.534 -10.812 -6.143 0.680 0.723 0.119 0 483 1 + -4.106 -11.974 -5.694 0.925 0.059 0.375 0 483 1 + -3.984 -11.411 -4.480 0.844 -0.316 -0.434 0 477 1 + -4.104 -11.973 -4.561 0.923 0.059 -0.380 0 476 1 + -4.891 -10.224 -6.294 0.921 0.330 0.208 0 484 1 + -4.532 -10.813 -6.152 0.682 0.723 0.114 0 483 1 + -4.792 -9.873 -6.746 0.855 0.096 0.510 0 485 1 + -6.126 -7.922 -5.468 0.550 0.432 -0.715 0 491 1 + -5.693 -8.638 -7.028 0.262 0.909 0.325 0 485 1 + -6.563 -7.751 -5.885 0.842 0.318 -0.437 0 488 1 + -3.875 -4.007 29.395 0.019 0.849 0.528 0 194 1 + -4.702 -2.715 28.959 0.573 -0.017 0.819 0 806 1 + -8.591 -22.687 13.201 0.569 0.262 0.780 0 717 1 + -7.430 -21.177 13.419 -0.205 -0.745 0.635 0 548 1 + -9.229 -22.157 14.303 0.995 -0.092 0.045 0 714 1 + -9.259 -21.866 14.565 0.978 0.074 0.195 0 714 1 + -7.459 -20.886 13.681 -0.221 -0.579 0.785 0 548 1 + -8.998 -20.942 15.224 0.804 -0.542 -0.244 0 710 1 + -2.217 10.589 29.344 0.698 0.073 0.713 0 831 1 + -0.716 9.302 30.109 -0.303 0.931 0.203 0 824 1 + -0.720 10.948 29.004 -0.300 -0.166 0.939 0 829 1 + 0.881 10.218 27.764 0.753 -0.646 0.124 0 829 1 + 0.997 8.522 28.782 0.676 0.485 -0.555 0 824 1 + 0.836 9.893 27.275 0.783 -0.430 0.449 0 828 1 + -0.904 12.477 27.056 -0.421 0.840 -0.342 0 829 1 + -1.074 12.310 26.518 -0.308 0.951 0.016 0 828 1 + -2.248 12.418 26.609 0.474 0.879 -0.044 0 830 1 + -1.196 12.309 28.037 -0.613 0.729 0.304 0 829 1 + -2.559 12.238 27.659 0.296 0.777 0.556 0 830 1 + -2.726 12.045 28.310 0.407 0.905 0.122 0 831 1 + -2.677 7.330 15.875 0.480 -0.852 0.208 0 23 1 + -2.686 4.807 15.779 0.487 0.830 0.272 0 28 1 + -2.751 6.959 15.295 0.530 -0.605 0.595 0 22 1 + -3.085 9.954 14.249 0.247 0.647 -0.721 0 23 1 + -3.159 9.583 13.669 0.296 0.895 -0.334 0 22 1 + -3.628 10.372 14.221 0.609 0.368 -0.702 0 24 1 + -6.877 11.479 17.767 0.866 0.447 -0.226 0 14 1 + -5.170 11.031 16.515 -0.272 0.745 0.609 0 24 1 + -6.517 11.269 16.656 0.625 0.587 0.515 0 10 1 + -6.602 11.595 15.289 0.577 0.773 -0.266 0 10 1 + -5.256 11.357 15.149 -0.321 0.931 -0.172 0 24 1 + -7.038 12.009 14.942 0.867 0.496 -0.034 0 9 1 + -7.252 11.865 16.305 0.205 0.927 0.314 0 10 1 + -7.652 12.264 15.900 0.471 0.661 0.584 0 9 1 + -7.613 12.075 17.416 0.445 0.787 -0.427 0 14 1 + -8.121 12.272 17.448 0.155 0.900 -0.408 0 14 1 + -8.132 12.450 15.930 0.162 0.781 0.604 0 9 1 + -9.304 13.753 17.315 0.943 -0.088 -0.320 0 8 1 + -9.356 13.865 17.165 0.914 -0.024 -0.406 0 8 1 + -8.181 12.556 15.789 0.130 0.849 0.512 0 9 1 + -9.188 13.616 15.686 0.802 0.142 0.581 0 5 1 + -8.905 13.705 14.344 0.963 0.193 -0.186 0 5 1 + -7.914 12.640 14.522 0.303 0.903 -0.305 0 9 1 + -8.713 13.185 13.902 0.835 0.539 0.108 0 2 1 + -10.785 14.080 13.084 -0.111 0.407 -0.907 0 5 1 + -10.593 13.560 12.642 -0.239 0.754 -0.612 0 2 1 + -11.123 13.300 12.259 0.115 0.927 -0.357 0 1 1 + -11.789 13.978 13.550 -0.685 0.349 -0.640 0 5 1 + -12.071 13.204 12.699 -0.497 0.865 -0.073 0 1 1 + -12.398 13.877 13.889 -0.278 0.416 -0.866 0 6 1 + -11.576 14.717 14.152 -0.563 0.772 -0.296 0 5 1 + -12.185 14.617 14.490 -0.157 0.838 -0.522 0 6 1 + -12.308 15.214 15.049 -0.075 0.440 -0.895 0 7 1 + -12.729 12.855 17.351 -0.309 -0.870 0.384 0 7 1 + -12.601 12.288 16.762 -0.394 -0.492 0.776 0 6 1 + -12.160 12.638 17.903 -0.688 -0.725 0.016 0 8 1 + -11.520 12.254 17.773 -0.323 -0.945 -0.058 0 8 1 + -11.962 11.905 16.632 -0.029 -0.712 0.702 0 6 1 + -10.739 10.517 18.423 -0.844 0.213 -0.492 0 15 1 + -11.679 12.500 18.623 -0.414 -0.804 0.427 0 8 1 + -10.898 10.764 19.273 -0.935 0.354 -0.006 0 15 1 + -10.911 11.202 19.822 -0.926 0.062 -0.372 0 16 1 + -8.642 9.613 21.145 0.371 -0.846 0.384 0 16 1 + -8.628 9.175 20.595 0.362 -0.554 0.750 0 15 1 + -8.014 9.807 21.394 -0.047 -0.975 0.218 0 17 1 + -7.109 10.133 20.505 0.537 -0.765 -0.356 0 17 1 + -7.668 9.520 19.653 0.910 -0.356 0.212 0 15 1 + -7.267 9.775 19.136 0.643 -0.527 0.556 0 14 1 + -7.918 12.547 20.113 0.015 0.793 -0.609 0 17 1 + -8.124 12.334 18.721 0.153 0.935 0.319 0 14 1 + -8.539 12.516 19.788 0.430 0.813 -0.392 0 16 1 + -8.582 12.529 19.769 0.405 0.821 -0.403 0 16 1 + -8.168 12.347 18.702 0.128 0.943 0.308 0 14 1 + -9.350 13.828 18.569 0.917 -0.045 0.397 0 8 1 + -10.651 15.318 16.312 0.845 0.498 -0.194 0 7 1 + -10.109 15.069 16.877 0.484 0.664 -0.570 0 8 1 + -9.941 14.820 15.398 0.372 0.830 0.416 0 5 1 + -11.732 -16.358 6.881 -0.060 0.785 0.617 0 549 1 + -11.202 -16.512 8.111 -0.413 0.888 -0.203 0 539 1 + -10.443 -15.746 7.643 -0.920 0.377 0.109 0 535 1 + -11.598 -13.579 6.351 0.395 -0.298 0.869 0 559 1 + -10.028 -15.159 7.566 -0.652 0.756 0.059 0 535 1 + -9.547 -13.945 7.314 -0.972 -0.054 0.227 0 527 1 + -9.401 -13.922 7.702 -0.878 -0.039 0.477 0 527 1 + -9.881 -15.137 7.954 -0.557 0.770 0.310 0 535 1 + -9.290 -14.104 8.862 -0.952 0.082 -0.296 0 531 1 + -11.587 -13.400 6.394 0.403 -0.180 0.898 0 559 1 + -9.535 -13.764 7.358 -0.965 0.063 0.255 0 527 1 + -11.489 -12.285 7.464 0.337 -0.923 0.184 0 580 1 + -7.086 -23.296 15.557 0.003 0.600 -0.800 0 728 1 + -7.077 -21.231 13.411 -0.003 -0.776 0.630 0 548 1 + -7.086 -23.130 15.665 0.003 0.696 -0.718 0 728 1 + -7.077 -21.110 13.584 -0.003 -0.696 0.718 0 548 1 + -18.403 -6.985 16.270 -0.155 0.757 -0.634 -3 682 1 + -18.369 -6.448 16.667 -0.177 0.400 -0.899 -3 683 1 + -18.897 -7.055 16.429 -0.437 0.717 -0.543 -3 682 1 + -18.831 -6.514 16.816 -0.481 0.356 -0.801 -3 683 1 + -19.309 -7.196 16.719 -0.673 0.637 -0.378 -3 682 1 + -19.216 -6.646 17.087 -0.734 0.270 -0.623 -3 683 1 + -19.597 -7.392 17.110 -0.837 0.524 -0.155 -3 682 1 + -19.486 -6.829 17.452 -0.912 0.149 -0.383 -3 683 1 + -19.732 -7.624 17.560 -0.914 0.392 0.103 -3 682 1 + -19.611 -7.045 17.873 -0.994 0.007 -0.106 -3 683 1 + -19.698 -7.866 18.022 -0.895 0.254 0.367 -3 682 1 + -19.580 -7.272 18.305 -0.974 -0.142 0.178 -3 683 1 + -19.500 -8.094 18.450 -0.782 0.124 0.611 -3 682 1 + -19.395 -7.485 18.705 -0.852 -0.282 0.441 -3 683 1 + -19.158 -8.284 18.797 -0.586 0.015 0.810 -3 682 1 + -19.075 -7.663 19.030 -0.641 -0.399 0.655 -3 683 1 + -18.708 -8.416 19.029 -0.329 -0.061 0.942 -3 682 1 + -18.654 -7.786 19.246 -0.365 -0.481 0.798 -3 683 1 + -18.524 -9.627 18.674 -0.306 -0.196 0.931 -7 682 1 + -18.504 -10.106 18.661 -0.319 0.123 0.940 -7 681 1 + -19.051 -9.197 18.576 -0.525 -0.507 0.684 -7 682 1 + -18.928 -9.643 18.452 -0.607 -0.209 0.766 7 682 1 + -18.899 -10.122 18.445 -0.627 0.111 0.771 7 681 1 + -18.965 -10.585 18.557 -0.583 0.419 0.696 -7 681 1 + -19.396 -9.219 18.179 -0.722 -0.519 0.457 -7 682 1 + -19.230 -9.663 18.104 -0.833 -0.223 0.507 7 682 1 + -19.193 -10.142 18.106 -0.858 0.096 0.505 7 681 1 + -19.287 -10.606 18.186 -0.795 0.405 0.452 -7 681 1 + -19.581 -9.242 17.687 -0.828 -0.533 0.175 -7 682 1 + -19.393 -9.684 17.672 -0.953 -0.239 0.185 7 682 1 + -19.351 -10.162 17.686 -0.981 0.080 0.176 7 681 1 + -19.460 -10.627 17.726 -0.908 0.390 0.149 -7 681 1 + -19.583 -9.264 17.161 -0.829 -0.545 -0.125 -7 682 1 + -19.394 -9.703 17.211 -0.955 -0.253 -0.158 7 682 1 + -19.353 -10.180 17.236 -0.982 0.066 -0.175 7 681 1 + -19.462 -10.648 17.235 -0.910 0.377 -0.174 -7 681 1 + -19.402 -9.281 16.668 -0.726 -0.555 -0.407 -7 682 1 + -19.236 -9.718 16.778 -0.836 -0.264 -0.481 7 682 1 + -19.198 -10.195 16.814 -0.861 0.054 -0.505 7 681 1 + -19.293 -10.663 16.773 -0.798 0.367 -0.478 -7 681 1 + -18.936 -9.726 16.427 -0.613 -0.270 -0.742 -7 682 1 + -18.906 -10.203 16.472 -0.633 0.048 -0.772 -7 681 1 + -18.727 -9.548 16.111 -0.752 -0.389 -0.531 -9 682 1 + -18.496 -9.858 15.883 -0.907 -0.183 -0.379 -9 682 1 + -18.386 -10.192 15.603 -0.980 0.040 -0.193 -9 689 1 + -18.407 -10.520 15.298 -0.966 0.259 0.010 -9 689 1 + -18.559 -10.814 14.995 -0.865 0.455 0.212 -9 689 1 + -18.803 -8.928 15.887 -0.384 -0.353 -0.853 -9 682 1 + -18.548 -9.294 15.845 -0.554 -0.108 -0.826 9 682 1 + -18.367 -9.676 15.692 -0.674 0.146 -0.724 9 682 1 + -18.277 -10.038 15.442 -0.735 0.387 -0.557 9 689 1 + -18.285 -10.347 15.117 -0.729 0.594 -0.341 9 689 1 + -18.391 -10.577 14.747 -0.658 0.747 -0.094 9 689 1 + -18.586 -10.707 14.364 -0.528 0.833 0.162 -9 689 1 + -18.200 -9.134 15.702 -0.168 0.069 -0.983 -9 682 1 + -18.118 -9.561 15.590 -0.223 0.353 -0.909 -9 682 1 + -18.065 -9.940 15.356 -0.258 0.606 -0.752 -9 689 1 + -18.048 -10.238 15.020 -0.269 0.805 -0.529 -9 689 1 + -18.067 -10.428 14.614 -0.257 0.931 -0.258 -9 689 1 + -17.871 -8.686 15.566 -0.387 -0.230 -0.893 -11 682 1 + -17.490 -8.705 15.331 -0.642 -0.217 -0.736 -11 682 1 + -17.195 -8.754 14.996 -0.838 -0.185 -0.513 -11 648 1 + -17.012 -8.827 14.593 -0.960 -0.136 -0.244 -11 648 1 + -18.208 -8.009 15.658 -0.044 0.172 -0.984 -11 682 1 + -17.796 -8.147 15.547 -0.318 0.264 -0.911 11 682 1 + -17.426 -8.250 15.314 -0.565 0.332 -0.755 11 682 1 + -17.132 -8.308 14.980 -0.761 0.371 -0.533 11 648 1 + -16.941 -8.316 14.575 -0.889 0.376 -0.262 11 648 1 + -16.868 -8.274 14.134 -0.937 0.348 0.032 -11 648 1 + -17.507 -7.719 15.719 -0.054 0.656 -0.753 -11 682 1 + -17.182 -7.888 15.460 -0.270 0.768 -0.580 -11 682 1 + -16.893 -7.954 15.122 -0.463 0.812 -0.355 -11 648 1 + -16.667 -7.911 14.738 -0.614 0.783 -0.099 -11 648 1 + -17.428 -7.337 15.954 -0.106 0.401 -0.910 -12 682 1 + -17.030 -7.160 15.916 -0.371 0.283 -0.884 -12 682 1 + -16.680 -6.948 15.765 -0.605 0.141 -0.784 -12 682 1 + -16.406 -6.717 15.514 -0.787 -0.012 -0.617 -12 640 1 + -16.233 -6.488 15.185 -0.903 -0.165 -0.397 -12 640 1 + -16.174 -6.280 14.806 -0.942 -0.304 -0.144 -12 640 1 + -17.453 -7.049 16.187 -0.141 0.792 -0.594 -12 682 1 + -17.044 -7.006 16.040 -0.413 0.763 -0.497 -12 682 1 + -16.687 -6.866 15.831 -0.651 0.670 -0.357 -12 682 1 + -16.413 -6.641 15.576 -0.834 0.519 -0.187 -12 640 1 + -16.245 -6.349 15.297 -0.946 0.325 -0.002 -12 640 1 + -16.198 -6.017 15.018 -0.977 0.104 0.184 -12 640 1 + -16.119 -6.536 14.358 -0.979 -0.133 0.154 -14 640 1 + -16.130 -6.978 14.329 -0.971 0.162 0.174 -14 648 1 + -16.269 -7.399 14.323 -0.879 0.442 0.178 -14 648 1 + -16.132 -6.524 14.117 -0.991 -0.122 -0.062 -14 640 1 + -16.142 -6.967 14.103 -0.984 0.173 -0.052 -14 648 1 + -16.282 -7.387 14.082 -0.891 0.453 -0.038 -14 648 1 + -16.173 -6.388 13.773 -0.963 -0.213 0.168 -16 640 1 + -16.233 -6.710 13.447 -0.923 0.002 0.386 -16 646 1 + -16.295 -5.709 13.761 -0.940 -0.152 -0.305 -16 640 1 + -16.214 -6.031 13.438 -0.994 0.062 -0.090 16 640 1 + -16.275 -6.343 13.103 -0.953 0.271 0.134 16 646 1 + -16.472 -6.618 12.786 -0.822 0.453 0.345 -16 646 1 + -16.070 -5.695 13.109 -0.883 0.320 -0.343 -16 640 1 + -16.127 -5.999 12.765 -0.845 0.523 -0.114 -16 646 1 + -15.636 -4.230 13.353 -0.913 0.358 -0.197 -20 640 1 + -15.509 -3.810 13.030 -0.997 0.077 0.018 -20 641 1 + -15.841 -4.333 14.006 -0.642 0.753 -0.143 -20 640 1 + -15.547 -4.013 13.678 -0.838 0.540 0.076 20 640 1 + -15.418 -3.587 13.364 -0.924 0.256 0.285 20 641 1 + -15.472 -3.109 13.107 -0.888 -0.062 0.456 -20 641 1 + -15.604 -4.155 14.353 -0.485 0.870 0.085 -20 640 1 + -15.338 -3.857 13.982 -0.662 0.672 0.332 20 640 1 + -15.204 -3.427 13.677 -0.752 0.384 0.535 20 641 1 + -15.218 -2.920 13.477 -0.743 0.046 0.668 -20 641 1 + -15.034 -3.781 14.231 -0.407 0.736 0.542 -20 640 1 + -14.892 -3.348 13.933 -0.502 0.447 0.740 -20 641 1 + -14.911 -3.985 14.991 -0.489 0.872 0.035 -22 640 1 + -14.646 -3.754 15.352 -0.665 0.718 -0.206 -22 673 1 + -14.494 -3.402 15.678 -0.767 0.483 -0.423 -22 673 1 + -15.158 -4.397 15.476 -0.724 0.479 0.496 -22 640 1 + -14.878 -4.141 15.807 -0.911 0.308 0.275 -22 673 1 + -14.753 -3.833 16.185 -0.994 0.103 0.024 -22 673 1 + -15.295 -4.715 15.695 -0.633 0.690 0.350 -24 640 1 + -15.160 -4.715 16.234 -0.723 0.691 -0.009 -24 671 1 + -15.583 -5.226 15.758 -0.879 0.254 0.403 -24 640 1 + -15.456 -5.241 16.299 -0.963 0.264 0.043 -24 671 1 + -15.964 -5.576 15.448 -0.625 0.488 0.610 -25 640 1 + -16.122 -5.928 15.678 -0.519 0.722 0.457 -25 640 1 + -16.350 -6.182 15.969 -0.368 0.892 0.263 -25 640 1 + -16.626 -6.317 16.295 -0.183 0.982 0.046 -25 683 1 + -16.928 -6.321 16.627 0.018 0.984 -0.176 -25 683 1 + -17.227 -6.192 16.936 0.217 0.898 -0.382 -25 683 1 + -16.170 -5.850 15.161 -0.996 -0.008 0.089 -25 640 1 + -16.199 -6.030 15.571 -0.977 0.112 -0.184 -25 640 1 + -16.359 -6.195 15.956 -0.870 0.222 -0.441 -25 640 1 + -16.636 -6.330 16.282 -0.685 0.312 -0.658 -25 683 1 + -17.004 -6.423 16.520 -0.439 0.374 -0.817 -25 683 1 + -17.432 -6.466 16.648 -0.154 0.403 -0.902 -25 683 1 + -17.042 -6.003 17.305 0.094 0.772 -0.628 -27 683 1 + -16.573 -5.948 17.324 -0.219 0.736 -0.641 -27 683 1 + -16.136 -5.784 17.248 -0.510 0.626 -0.590 -27 671 1 + -15.776 -5.526 17.084 -0.750 0.455 -0.480 -27 671 1 + -17.504 -5.692 17.728 0.392 0.897 -0.202 -27 683 1 + -17.047 -5.812 17.712 0.088 0.978 -0.191 27 683 1 + -16.577 -5.787 17.668 -0.225 0.961 -0.162 27 683 1 + -16.141 -5.619 17.599 -0.516 0.849 -0.116 27 671 1 + -15.781 -5.324 17.514 -0.756 0.652 -0.059 27 671 1 + -15.535 -4.932 17.420 -0.920 0.391 0.004 -27 671 1 + -17.403 -5.733 18.308 0.459 0.870 0.180 -27 683 1 + -16.970 -5.844 18.153 0.170 0.944 0.284 27 683 1 + -16.513 -5.814 18.041 -0.135 0.924 0.359 27 683 1 + -16.075 -5.646 17.981 -0.427 0.812 0.398 27 671 1 + -15.700 -5.357 17.981 -0.676 0.620 0.398 27 671 1 + -15.427 -4.977 18.041 -0.859 0.366 0.359 -27 671 1 + -16.834 -6.088 18.504 0.317 0.680 0.661 -27 683 1 + -16.397 -6.020 18.337 0.026 0.635 0.772 -27 683 1 + -15.957 -5.858 18.285 -0.268 0.527 0.807 -27 671 1 + -15.556 -5.617 18.353 -0.535 0.366 0.761 -27 671 1 + -16.880 -6.321 18.857 0.348 0.835 0.425 -29 683 1 + -16.492 -6.477 19.000 0.089 0.940 0.330 -29 670 1 + -16.092 -6.511 19.186 -0.178 0.962 0.206 -29 670 1 + -17.450 -6.291 19.175 0.428 0.503 0.751 -29 683 1 + -17.073 -6.521 19.202 0.176 0.657 0.733 29 683 1 + -16.673 -6.665 19.324 -0.091 0.753 0.652 29 670 1 + -16.284 -6.711 19.531 -0.349 0.783 0.514 29 670 1 + -15.941 -6.655 19.805 -0.578 0.746 0.331 -29 670 1 + -17.657 -6.689 19.441 0.292 0.241 0.926 -29 683 1 + -17.248 -6.859 19.427 0.019 0.355 0.935 29 683 1 + -16.838 -6.983 19.535 -0.255 0.437 0.863 29 670 1 + -16.460 -7.050 19.756 -0.506 0.482 0.715 29 670 1 + -16.148 -7.053 20.071 -0.714 0.484 0.506 -29 670 1 + -17.809 -7.181 19.521 0.191 -0.083 0.978 -29 683 1 + -17.378 -7.277 19.495 -0.096 -0.019 0.995 29 683 1 + -16.959 -7.375 19.599 -0.375 0.047 0.926 29 670 1 + -16.589 -7.468 19.824 -0.622 0.108 0.776 29 670 1 + -16.300 -7.546 20.150 -0.814 0.160 0.558 -29 670 1 + -17.438 -7.704 19.393 -0.150 -0.400 0.904 -29 683 1 + -17.016 -7.776 19.503 -0.432 -0.352 0.831 -29 670 1 + -16.650 -7.894 19.722 -0.676 -0.273 0.685 -29 670 1 + -17.590 -8.176 19.257 -0.049 -0.085 0.995 -30 679 1 + -17.873 -8.328 19.191 -0.252 -0.194 0.948 -30 679 1 + -16.919 -8.485 19.460 -0.496 0.121 0.860 -32 679 1 + -16.596 -8.265 19.696 -0.712 -0.026 0.702 -32 670 1 + -16.613 -9.010 19.550 -0.273 -0.262 0.926 -32 679 1 + -16.297 -8.776 19.784 -0.483 -0.417 0.770 -32 670 1 + -16.674 -9.672 19.505 -0.232 0.180 0.956 -34 679 1 + -16.420 -10.035 19.719 -0.401 0.422 0.813 -34 762 1 + -16.230 -10.330 20.065 -0.528 0.618 0.582 -34 762 1 + -17.026 -10.023 19.371 -0.522 -0.110 0.846 -34 679 1 + -16.747 -10.362 19.595 -0.708 0.116 0.697 -34 762 1 + -16.582 -10.681 19.932 -0.818 0.329 0.472 -34 762 1 + -17.182 -10.098 19.281 -0.418 -0.060 0.906 -36 679 1 + -17.029 -10.501 19.398 -0.520 0.209 0.828 -36 679 1 + -16.946 -10.877 19.625 -0.575 0.459 0.677 -36 764 1 + -16.939 -11.191 19.943 -0.580 0.669 0.465 -36 764 1 + -17.341 -10.195 19.180 -0.557 -0.144 0.818 -36 679 1 + -17.168 -10.586 19.310 -0.672 0.117 0.731 -36 679 1 + -17.084 -10.961 19.537 -0.728 0.367 0.580 -36 764 1 + -17.098 -11.288 19.842 -0.719 0.585 0.377 -36 764 1 + -17.831 -10.310 18.950 -0.230 -0.067 0.971 -37 681 1 + -18.220 -10.075 18.788 -0.509 0.102 0.855 -37 681 1 + -17.827 -11.107 19.125 -0.232 0.464 0.855 -39 681 1 + -17.559 -11.338 19.402 -0.411 0.618 0.670 -39 764 1 + -17.345 -11.486 19.771 -0.554 0.717 0.424 -39 764 1 + -18.494 -11.265 18.961 -0.273 -0.029 0.962 -39 681 1 + -18.144 -11.498 19.123 -0.506 0.126 0.853 39 681 1 + -17.863 -11.714 19.401 -0.693 0.270 0.668 39 764 1 + -17.675 -11.894 19.769 -0.818 0.390 0.423 39 764 1 + -17.598 -12.020 20.194 -0.869 0.474 0.139 -39 764 1 + -18.686 -11.782 18.775 -0.399 -0.369 0.839 -39 681 1 + -18.310 -11.945 18.962 -0.650 -0.260 0.714 39 681 1 + -18.023 -12.144 19.246 -0.842 -0.128 0.525 39 764 1 + -17.849 -12.359 19.601 -0.957 0.016 0.288 39 764 1 + -17.804 -12.573 19.995 -0.987 0.158 0.025 -39 764 1 + -18.666 -12.259 18.442 -0.386 -0.683 0.620 -39 681 1 + -18.293 -12.357 18.674 -0.635 -0.617 0.465 39 681 1 + -18.006 -12.540 18.970 -0.826 -0.495 0.268 39 764 1 + -17.831 -12.789 19.301 -0.943 -0.329 0.047 39 764 1 + -17.783 -13.083 19.639 -0.975 -0.133 -0.178 -39 764 1 + -18.438 -12.599 18.029 -0.236 -0.907 0.349 -39 681 1 + -18.096 -12.652 18.317 -0.464 -0.872 0.157 39 681 1 + -17.817 -12.823 18.627 -0.651 -0.758 -0.049 39 764 1 + -17.625 -13.096 18.929 -0.778 -0.576 -0.251 39 764 1 + -17.539 -13.448 19.198 -0.836 -0.341 -0.430 -39 764 1 + -17.759 -12.770 17.963 -0.173 -0.974 -0.149 -39 681 1 + -17.492 -12.937 18.287 -0.350 -0.863 -0.365 -39 764 1 + -17.274 -13.219 18.560 -0.496 -0.674 -0.547 -39 764 1 + -17.707 -12.824 17.322 -0.207 -0.938 0.278 -41 681 1 + -17.395 -13.045 17.064 -0.415 -0.790 0.451 -41 685 1 + -18.346 -12.694 17.236 -0.176 -0.969 -0.173 -41 681 1 + -17.982 -12.785 16.967 -0.418 -0.908 0.006 41 681 1 + -17.677 -13.005 16.700 -0.621 -0.762 0.184 41 685 1 + -17.461 -13.334 16.458 -0.766 -0.543 0.345 -41 685 1 + -18.183 -12.609 16.604 -0.572 -0.773 -0.273 -41 681 1 + -17.883 -12.825 16.327 -0.772 -0.630 -0.088 -41 685 1 + -18.437 -12.414 16.412 -0.403 -0.904 -0.144 -42 681 1 + -18.367 -12.450 15.960 -0.449 -0.879 0.157 -42 689 1 + -18.360 -12.610 15.531 -0.454 -0.773 0.443 -42 689 1 + -18.984 -12.172 16.732 -0.595 -0.625 -0.505 -42 681 1 + -18.788 -12.136 16.319 -0.725 -0.649 -0.229 42 681 1 + -18.695 -12.191 15.874 -0.788 -0.612 0.067 42 689 1 + -18.711 -12.332 15.438 -0.777 -0.518 0.358 42 689 1 + -18.837 -12.546 15.053 -0.693 -0.376 0.615 -42 689 1 + -19.214 -11.692 16.605 -0.747 -0.310 -0.588 -42 681 1 + -18.981 -11.735 16.213 -0.902 -0.281 -0.327 42 681 1 + -18.875 -11.817 15.775 -0.973 -0.227 -0.035 42 689 1 + -18.904 -11.931 15.332 -0.954 -0.151 0.260 42 689 1 + -19.067 -12.066 14.926 -0.845 -0.061 0.531 -42 689 1 + -19.211 -11.158 16.486 -0.745 0.041 -0.666 -42 681 1 + -18.978 -11.288 16.114 -0.899 0.128 -0.418 42 681 1 + -18.872 -11.401 15.682 -0.970 0.203 -0.130 42 689 1 + -18.901 -11.484 15.233 -0.951 0.259 0.169 42 689 1 + -19.064 -11.532 14.807 -0.843 0.291 0.453 -42 689 1 + -18.780 -10.883 16.041 -0.717 0.500 -0.485 -42 681 1 + -18.687 -11.022 15.614 -0.780 0.593 -0.200 -42 689 1 + -18.703 -11.079 15.160 -0.769 0.631 0.103 -42 689 1 + -17.971 -12.939 15.550 -0.713 -0.554 0.430 -44 685 1 + -17.877 -13.124 15.416 -0.645 -0.687 0.333 -44 685 1 + -17.942 -13.507 14.910 -0.603 -0.432 0.671 -46 690 1 + -18.553 -13.183 14.624 -0.507 -0.795 0.333 -46 689 1 + -18.167 -13.613 14.528 -0.764 -0.509 0.396 46 690 1 + -17.955 -14.160 14.523 -0.905 -0.144 0.400 -46 690 1 + -18.676 -13.203 14.163 -0.588 -0.809 0.030 -46 689 1 + -18.284 -13.632 14.088 -0.849 -0.522 0.080 46 690 1 + -18.087 -14.181 14.031 -0.981 -0.157 0.118 -46 690 1 + -18.674 -13.129 13.692 -0.586 -0.760 -0.280 -46 689 1 + -18.282 -13.562 13.637 -0.847 -0.472 -0.244 46 690 1 + -18.084 -14.102 13.526 -0.979 -0.112 -0.170 -46 690 1 + -18.160 -13.410 13.225 -0.759 -0.363 -0.540 -46 690 1 + -18.302 -12.937 12.883 -0.665 -0.678 -0.312 -48 689 1 + -18.147 -12.995 12.463 -0.768 -0.640 -0.032 -48 689 1 + -18.097 -13.139 12.039 -0.801 -0.543 0.251 -48 656 1 + -18.156 -13.358 11.648 -0.762 -0.397 0.511 -48 656 1 + -18.470 -12.413 12.685 -0.844 -0.125 -0.522 -48 689 1 + -18.289 -12.554 12.296 -0.964 -0.032 -0.263 -48 689 1 + -18.239 -12.699 11.871 -0.998 0.065 0.020 -48 656 1 + -18.325 -12.835 11.450 -0.941 0.156 0.301 -48 656 1 + -18.528 -12.056 12.604 -0.805 -0.364 -0.468 -50 689 1 + -18.435 -11.888 12.121 -0.867 -0.476 -0.146 -50 653 1 + -18.498 -11.805 11.612 -0.825 -0.531 0.193 -50 653 1 + -18.925 -11.765 13.136 -0.751 0.138 -0.646 -50 689 1 + -18.655 -11.635 12.711 -0.931 0.051 -0.362 50 689 1 + -18.553 -11.496 12.221 -0.999 -0.041 -0.036 50 653 1 + -18.631 -11.365 11.724 -0.947 -0.129 0.296 50 653 1 + -18.880 -11.256 11.281 -0.781 -0.201 0.591 -50 653 1 + -18.820 -11.232 13.291 -0.682 0.488 -0.544 -50 689 1 + -18.571 -11.208 12.835 -0.848 0.472 -0.240 50 689 1 + -18.475 -11.099 12.336 -0.912 0.399 0.092 50 653 1 + -18.544 -10.918 11.854 -0.867 0.279 0.414 50 653 1 + -18.768 -10.686 11.446 -0.717 0.124 0.686 -50 653 1 + -18.295 -10.868 12.948 -0.576 0.807 -0.129 -50 689 1 + -18.218 -10.782 12.442 -0.627 0.750 0.209 -50 653 1 + -18.255 -10.562 11.972 -0.603 0.603 0.522 -50 653 1 + -18.181 -10.751 13.066 -0.652 0.729 -0.207 -52 689 1 + -17.984 -10.585 12.670 -0.784 0.619 0.057 -52 689 1 + -17.903 -10.326 12.281 -0.837 0.446 0.316 -52 651 1 + -17.948 -10.001 11.940 -0.807 0.230 0.543 -52 651 1 + -17.868 -10.547 13.272 -0.315 0.949 0.014 -52 689 1 + -17.720 -10.412 12.843 -0.414 0.860 0.300 -52 689 1 + -17.633 -10.150 12.459 -0.472 0.685 0.556 -52 651 1 + -17.617 -9.785 12.158 -0.482 0.442 0.757 -52 651 1 + -17.589 -10.321 13.794 -0.501 0.798 -0.334 -53 689 1 + -17.209 -9.952 13.823 -0.754 0.553 -0.354 -53 648 1 + -16.970 -9.481 13.786 -0.914 0.238 -0.329 -53 648 1 + -17.632 -10.285 14.155 -0.547 0.836 0.048 -53 689 1 + -17.247 -9.921 14.145 -0.803 0.593 0.055 -53 648 1 + -17.013 -9.445 14.146 -0.960 0.276 0.054 -53 648 1 + -16.846 -9.064 13.180 -0.996 -0.040 0.075 -55 648 1 + -16.968 -9.170 12.688 -0.915 0.032 0.403 -55 651 1 + -17.255 -9.271 12.267 -0.723 0.099 0.684 -55 651 1 + -16.762 -8.614 13.046 -0.914 0.402 -0.057 -55 648 1 + -16.890 -8.752 12.563 -0.828 0.494 0.265 -55 651 1 + -17.167 -8.801 12.127 -0.643 0.527 0.556 -55 651 1 + -16.637 -8.074 13.069 -0.997 0.042 -0.072 -56 646 1 + -16.733 -8.053 13.790 -0.848 0.493 -0.195 -56 648 1 + -16.576 -7.737 13.328 -0.952 0.283 0.114 56 646 1 + -16.633 -7.358 12.891 -0.914 0.030 0.405 -56 646 1 + -16.389 -7.445 13.582 -0.819 0.492 0.295 -56 646 1 + -16.830 -8.102 12.222 -0.868 0.061 0.492 -58 646 1 + -17.129 -8.459 11.939 -0.669 0.298 0.681 -58 651 1 + -16.782 -7.337 12.186 -0.999 0.042 0.001 -58 646 1 + -16.900 -7.757 11.860 -0.921 0.322 0.219 58 646 1 + -17.199 -8.113 11.577 -0.722 0.560 0.407 58 651 1 + -17.640 -8.359 11.375 -0.427 0.724 0.542 -58 651 1 + -16.674 -7.041 11.698 -0.937 0.212 -0.277 -58 646 1 + -16.805 -7.499 11.435 -0.850 0.517 -0.102 58 646 1 + -17.104 -7.855 11.152 -0.650 0.755 0.086 58 651 1 + -17.532 -8.062 10.887 -0.365 0.893 0.263 -58 651 1 + -16.561 -7.368 11.012 -0.665 0.616 -0.422 -58 646 1 + -16.860 -7.725 10.730 -0.466 0.854 -0.234 -58 651 1 + -16.055 -6.538 11.062 -0.584 0.499 -0.641 -60 646 1 + -15.966 -6.884 10.450 -0.643 0.730 -0.233 -60 649 1 + -15.215 -6.217 10.733 -0.606 0.601 -0.522 -62 646 1 + -14.902 -6.059 10.405 -0.814 0.495 -0.303 -62 616 1 + -14.714 -5.825 10.031 -0.939 0.339 -0.054 -62 616 1 + -15.202 -6.181 10.762 -0.595 0.631 -0.498 -62 646 1 + -14.891 -6.026 10.431 -0.803 0.528 -0.277 -62 616 1 + -14.702 -5.790 10.058 -0.928 0.371 -0.029 -62 616 1 + -15.676 -5.589 11.953 -0.700 0.520 -0.489 -65 639 1 + -16.173 -6.093 12.019 -0.651 0.753 -0.094 -65 646 1 + -15.888 -5.666 12.283 -0.841 0.469 -0.270 65 639 1 + -15.790 -5.135 12.488 -0.906 0.115 -0.407 -65 639 1 + -16.011 -5.793 12.643 -0.922 0.385 -0.032 -65 639 1 + -15.258 -4.358 11.875 -0.799 -0.127 -0.587 -68 641 1 + -15.684 -4.680 12.535 -0.846 0.375 -0.380 -68 639 1 + -15.505 -4.143 12.360 -0.965 0.017 -0.263 68 641 1 + -15.552 -3.602 12.123 -0.933 -0.343 -0.106 -68 641 1 + -15.532 -3.931 12.905 -0.982 0.159 0.101 -68 641 1 + -15.140 -4.341 11.682 -0.878 -0.138 -0.459 -70 641 1 + -15.161 -4.874 11.677 -0.863 0.217 -0.455 -70 645 1 + -14.855 -4.353 11.321 -0.654 -0.148 -0.742 -70 641 1 + -14.883 -4.886 11.324 -0.636 0.207 -0.744 -70 645 1 + -14.588 -4.139 10.916 -0.832 -0.291 -0.472 -72 641 1 + -14.382 -4.485 10.565 -0.969 -0.060 -0.238 -72 616 1 + -14.361 -4.842 10.169 -0.984 0.178 0.026 -72 616 1 + -14.439 -3.816 10.651 -0.693 0.013 -0.721 -72 641 1 + -14.252 -4.201 10.332 -0.818 0.270 -0.508 -72 616 1 + -14.219 -4.534 9.916 -0.840 0.492 -0.231 -72 616 1 + -14.396 -3.456 10.551 -0.722 -0.226 -0.654 -74 641 1 + -14.135 -3.516 10.175 -0.896 -0.187 -0.404 -74 641 1 + -14.001 -3.602 9.742 -0.985 -0.130 -0.115 -74 614 1 + -14.007 -3.706 9.293 -0.981 -0.060 0.184 -74 614 1 + -14.694 -2.877 10.744 -0.443 0.071 -0.894 -74 641 1 + -14.345 -3.021 10.480 -0.676 0.168 -0.718 74 641 1 + -14.091 -3.142 10.114 -0.845 0.248 -0.474 74 641 1 + -13.957 -3.228 9.682 -0.934 0.306 -0.186 74 614 1 + -13.956 -3.271 9.223 -0.935 0.334 0.120 74 614 1 + -14.087 -3.266 8.781 -0.847 0.331 0.415 -74 614 1 + -14.114 -2.642 10.476 -0.467 0.511 -0.722 -74 641 1 + -13.894 -2.817 10.111 -0.614 0.628 -0.478 -74 641 1 + -13.760 -2.903 9.678 -0.704 0.685 -0.190 -74 614 1 + -13.726 -2.892 9.219 -0.726 0.677 0.117 -74 614 1 + -14.252 -1.837 10.784 -0.375 -0.026 -0.927 -76 644 1 + -14.868 -2.264 11.036 -0.542 0.421 -0.727 -76 641 1 + -14.670 -1.720 11.049 -0.674 0.059 -0.736 76 644 1 + -14.622 -1.163 10.899 -0.706 -0.313 -0.636 -76 644 1 + -15.190 -2.127 11.482 -0.727 0.500 -0.472 -76 641 1 + -14.959 -1.597 11.450 -0.881 0.146 -0.450 76 644 1 + -14.924 -1.035 11.316 -0.904 -0.229 -0.361 -76 644 1 + -15.327 -2.002 12.019 -0.804 0.571 -0.165 -76 641 1 + -15.081 -1.486 11.931 -0.968 0.226 -0.106 76 644 1 + -15.052 -0.918 11.818 -0.988 -0.152 -0.031 -76 644 1 + -15.020 -1.400 12.428 -0.925 0.287 0.250 -76 644 1 + -15.184 -2.040 13.043 -0.723 0.549 0.420 -78 641 1 + -14.870 -1.424 13.168 -0.932 0.138 0.336 -78 642 1 + -14.988 -2.224 13.455 -0.611 0.444 0.656 -78 641 1 + -14.674 -1.608 13.581 -0.820 0.033 0.572 -78 642 1 + -14.375 -2.627 14.106 -0.647 0.442 0.621 -79 641 1 + -14.166 -2.741 14.532 -0.786 0.518 0.337 -79 641 1 + -14.082 -2.772 15.012 -0.842 0.539 0.017 -79 673 1 + -14.132 -2.718 15.495 -0.809 0.503 -0.305 -79 673 1 + -14.496 -2.915 14.108 -0.765 0.159 0.624 -79 641 1 + -14.266 -2.979 14.534 -0.919 0.201 0.339 -79 641 1 + -14.182 -3.011 15.014 -0.975 0.222 0.019 -79 673 1 + -14.253 -3.007 15.497 -0.927 0.220 -0.303 -79 673 1 + -14.043 -2.516 15.536 -0.868 0.368 -0.332 -81 673 1 + -13.909 -2.392 15.090 -0.958 0.285 -0.035 -81 673 1 + -13.923 -2.223 14.640 -0.948 0.173 0.265 -81 642 1 + -14.083 -2.028 14.230 -0.841 0.043 0.539 -81 642 1 + -13.729 -2.063 15.695 -0.568 0.804 -0.178 -81 673 1 + -13.647 -2.013 15.224 -0.623 0.771 0.136 -81 673 1 + -13.661 -1.845 14.773 -0.613 0.658 0.436 -81 642 1 + -13.770 -1.574 14.390 -0.541 0.478 0.692 -81 642 1 + -13.615 -1.967 15.721 -0.644 0.740 -0.195 -83 673 1 + -13.441 -1.819 15.268 -0.760 0.641 0.106 -83 643 1 + -13.397 -1.561 14.834 -0.789 0.470 0.396 -83 643 1 + -13.458 -1.835 15.818 -0.505 0.856 -0.109 -83 673 1 + -13.300 -1.701 15.356 -0.610 0.767 0.200 -83 643 1 + -13.247 -1.436 14.927 -0.645 0.590 0.485 -83 643 1 + -13.608 -1.641 16.791 -0.288 0.952 -0.102 -85 673 1 + -13.037 -1.326 16.564 -0.668 0.742 0.050 -85 674 1 + -12.850 -1.415 17.362 -0.530 0.831 0.169 -87 675 1 + -12.777 -1.664 17.965 -0.481 0.666 0.570 -87 675 1 + -12.889 -1.859 18.149 -0.407 0.796 0.448 -89 673 1 + -12.519 -1.718 18.396 -0.653 0.702 0.283 -89 676 1 + -13.419 -2.355 18.404 -0.180 0.544 0.820 -89 673 1 + -12.980 -2.277 18.537 -0.473 0.491 0.731 89 673 1 + -12.608 -2.127 18.776 -0.721 0.392 0.572 89 676 1 + -12.342 -1.921 19.097 -0.898 0.254 0.358 -89 676 1 + -13.338 -2.946 18.666 -0.134 0.206 0.969 -89 673 1 + -12.908 -2.801 18.769 -0.421 0.109 0.901 89 673 1 + -12.538 -2.640 19.003 -0.667 0.002 0.745 89 676 1 + -12.265 -2.479 19.344 -0.849 -0.106 0.517 -89 676 1 + -12.686 -3.334 18.802 -0.259 -0.279 0.925 -89 673 1 + -12.322 -3.161 19.035 -0.503 -0.394 0.769 -89 676 1 + -12.830 -3.948 18.722 -0.164 0.130 0.978 -91 673 1 + -12.596 -4.330 18.890 -0.320 0.385 0.866 -91 673 1 + -12.411 -4.653 19.190 -0.443 0.600 0.666 -91 769 1 + -12.294 -4.884 19.591 -0.521 0.754 0.399 -91 769 1 + -12.941 -4.029 18.705 -0.274 0.050 0.960 -91 673 1 + -12.686 -4.395 18.876 -0.444 0.295 0.846 -91 673 1 + -12.499 -4.716 19.176 -0.569 0.509 0.646 -91 769 1 + -12.398 -4.960 19.575 -0.636 0.671 0.381 -91 769 1 + -13.433 -4.207 18.669 0.054 0.170 0.984 -92 671 1 + -13.716 -3.501 18.598 -0.350 -0.111 0.930 -92 673 1 + -13.878 -4.064 18.593 -0.242 0.265 0.933 92 671 1 + -14.095 -4.567 18.802 -0.098 0.600 0.794 -92 671 1 + -14.156 -3.389 18.366 -0.601 -0.047 0.798 -92 673 1 + -14.287 -3.960 18.378 -0.514 0.334 0.790 92 671 1 + -14.535 -4.455 18.570 -0.349 0.664 0.661 -92 671 1 + -14.514 -3.331 18.007 -0.805 -0.014 0.593 -92 673 1 + -14.619 -3.906 18.044 -0.735 0.370 0.568 92 671 1 + -14.892 -4.397 18.211 -0.553 0.697 0.456 -92 671 1 + -14.753 -3.332 17.557 -0.942 -0.015 0.335 -92 673 1 + -14.841 -3.908 17.626 -0.883 0.369 0.289 92 671 1 + -15.131 -4.399 17.761 -0.690 0.696 0.199 -92 671 1 + -14.850 -3.393 17.060 -0.997 -0.049 0.051 -92 673 1 + -14.931 -3.964 17.164 -0.943 0.331 -0.018 92 671 1 + -15.228 -4.459 17.264 -0.745 0.661 -0.085 -92 671 1 + -14.880 -4.070 16.706 -0.910 0.261 -0.324 -92 671 1 + -13.269 -4.968 19.045 -0.056 0.677 0.734 -94 671 1 + -12.929 -5.122 19.306 -0.282 0.779 0.559 -94 769 1 + -12.628 -5.168 19.646 -0.482 0.810 0.333 -94 769 1 + -13.637 -5.545 19.264 -0.354 0.211 0.911 -94 671 1 + -13.268 -5.652 19.508 -0.600 0.282 0.748 -94 769 1 + -12.982 -5.721 19.856 -0.791 0.328 0.516 -94 769 1 + -14.260 -5.861 19.273 0.061 0.421 0.905 -95 671 1 + -14.453 -6.240 19.559 0.189 0.674 0.714 -95 670 1 + -14.690 -5.251 18.943 -0.438 0.209 0.874 -95 671 1 + -14.806 -5.726 19.099 -0.361 0.525 0.770 95 671 1 + -14.985 -6.108 19.390 -0.242 0.780 0.577 95 670 1 + -15.206 -6.354 19.781 -0.094 0.944 0.315 -95 670 1 + -15.275 -5.786 18.747 -0.722 0.479 0.499 -95 671 1 + -15.441 -6.167 19.047 -0.611 0.733 0.299 -95 670 1 + -14.187 -6.549 19.920 0.012 0.881 0.474 -97 670 1 + -13.759 -6.489 19.928 -0.273 0.840 0.468 -97 670 1 + -13.366 -6.325 19.994 -0.535 0.731 0.424 -97 769 1 + -13.039 -6.069 20.113 -0.753 0.560 0.345 -97 769 1 + -14.499 -6.965 20.448 0.371 0.542 0.754 -97 670 1 + -14.096 -6.918 20.299 0.103 0.510 0.854 97 670 1 + -13.681 -6.808 20.255 -0.174 0.437 0.883 97 670 1 + -13.288 -6.643 20.322 -0.436 0.327 0.838 97 769 1 + -12.948 -6.438 20.492 -0.662 0.190 0.725 97 769 1 + -12.691 -6.209 20.753 -0.834 0.038 0.551 -97 769 1 + -13.908 -7.410 20.401 0.292 0.017 0.956 -97 670 1 + -13.518 -7.233 20.344 0.033 -0.101 0.994 -97 670 1 + -13.125 -7.068 20.410 -0.230 -0.211 0.950 -97 769 1 + -12.760 -6.930 20.594 -0.473 -0.303 0.827 -97 769 1 + -14.117 -8.046 20.655 0.432 0.441 0.787 -99 670 1 + -13.904 -8.436 20.858 0.290 0.701 0.652 -99 759 1 + -13.645 -8.714 21.164 0.117 0.887 0.447 -99 759 1 + -14.724 -7.747 20.783 0.223 0.027 0.974 -99 670 1 + -14.502 -8.180 20.826 0.075 0.316 0.946 99 670 1 + -14.268 -8.563 21.020 -0.081 0.571 0.817 99 759 1 + -14.047 -8.855 21.343 -0.228 0.766 0.601 99 759 1 + -13.863 -9.025 21.763 -0.351 0.879 0.321 -99 759 1 + -15.174 -8.031 20.798 -0.073 -0.159 0.985 -99 670 1 + -14.877 -8.417 20.839 -0.271 0.098 0.957 99 670 1 + -14.623 -8.787 21.032 -0.441 0.344 0.829 99 759 1 + -14.439 -9.102 21.357 -0.564 0.554 0.612 99 759 1 + -14.344 -9.329 21.779 -0.626 0.706 0.331 -99 759 1 + -15.172 -8.712 20.690 -0.545 -0.175 0.820 -99 670 1 + -14.902 -9.066 20.891 -0.725 0.061 0.686 -99 759 1 + -14.747 -9.410 21.202 -0.828 0.290 0.479 -99 759 1 + -15.321 -8.791 20.590 -0.446 -0.122 0.887 -101 670 1 + -15.175 -9.214 20.684 -0.543 0.160 0.824 -101 670 1 + -15.104 -9.614 20.892 -0.590 0.427 0.685 -101 760 1 + -15.116 -9.955 21.196 -0.582 0.654 0.483 -101 760 1 + -15.543 -8.927 20.400 -0.673 -0.261 0.692 -101 670 1 + -15.366 -9.331 20.520 -0.791 0.008 0.612 -101 670 1 + -15.300 -9.734 20.725 -0.835 0.277 0.476 -101 760 1 + -15.350 -10.098 20.996 -0.802 0.520 0.295 -101 760 1 + -15.657 -9.055 20.264 -0.597 -0.176 0.783 -102 670 1 + -15.615 -9.584 20.298 -0.625 0.177 0.760 -102 762 1 + -15.690 -10.079 20.476 -0.575 0.507 0.642 -102 762 1 + -15.844 -9.088 20.066 -0.786 -0.210 0.582 -102 670 1 + -15.787 -9.615 20.115 -0.824 0.141 0.549 -102 762 1 + -15.885 -10.114 20.268 -0.758 0.475 0.447 -102 762 1 + -16.110 -10.824 20.992 -0.588 0.577 0.567 -104 762 1 + -15.748 -10.735 21.525 -0.829 0.518 0.212 -104 760 1 + -16.031 -11.441 21.647 -0.816 0.471 0.336 -106 761 1 + -16.045 -11.462 21.644 -0.824 0.457 0.335 -106 761 1 + -16.240 -11.603 21.450 -0.694 0.550 0.464 -108 762 1 + -16.307 -11.866 21.806 -0.649 0.726 0.227 -108 763 1 + -16.240 -11.603 21.449 -0.694 0.550 0.464 -108 762 1 + -16.308 -11.867 21.806 -0.649 0.726 0.227 -108 763 1 + -16.448 -11.068 20.779 -0.781 0.438 0.445 -109 762 1 + -16.908 -11.537 20.757 -0.475 0.750 0.460 -109 764 1 + -16.539 -11.972 21.624 -0.495 0.796 0.348 -111 763 1 + -16.539 -11.972 21.624 -0.495 0.796 0.348 -111 763 1 + -17.186 -11.906 20.920 -0.634 0.540 0.554 -113 764 1 + -17.284 -12.290 21.442 -0.569 0.796 0.207 -113 765 1 + -17.543 -12.192 20.643 -0.838 0.376 0.395 -113 764 1 + -17.641 -12.576 21.164 -0.773 0.633 0.048 -113 765 1 + -17.762 -12.564 20.327 -0.963 0.163 0.215 -113 764 1 + -17.859 -12.949 20.848 -0.898 0.420 -0.133 -113 765 1 + -17.821 -12.987 20.004 -0.996 -0.078 0.030 -113 764 1 + -17.918 -13.371 20.525 -0.932 0.178 -0.317 -113 765 1 + -17.714 -13.418 19.706 -0.935 -0.325 -0.140 -113 764 1 + -17.811 -13.803 20.227 -0.870 -0.068 -0.487 -113 765 1 + -17.452 -13.816 19.462 -0.786 -0.552 -0.280 -113 764 1 + -17.549 -14.200 19.983 -0.721 -0.296 -0.627 -113 765 1 + -16.791 -14.528 19.437 -0.742 -0.479 -0.469 -115 764 1 + -16.641 -14.992 19.503 -0.841 -0.169 -0.513 -115 764 1 + -16.628 -15.485 19.486 -0.850 0.159 -0.502 -115 745 1 + -16.752 -15.951 19.387 -0.768 0.470 -0.436 -115 745 1 + -16.463 -14.512 19.128 -0.400 -0.463 -0.791 -115 764 1 + -16.383 -14.980 19.260 -0.454 -0.151 -0.878 -115 764 1 + -16.376 -15.473 19.249 -0.459 0.177 -0.871 -115 745 1 + -16.444 -15.936 19.097 -0.414 0.486 -0.770 -115 745 1 + -16.268 -14.084 18.538 -0.531 -0.749 -0.397 -117 764 1 + -16.007 -14.162 18.147 -0.705 -0.696 -0.136 -117 691 1 + -15.853 -14.346 17.735 -0.807 -0.574 0.138 -117 691 1 + -16.386 -13.901 18.416 -0.629 -0.596 -0.499 -117 764 1 + -16.115 -13.995 18.036 -0.810 -0.533 -0.245 -117 691 1 + -15.967 -14.169 17.618 -0.908 -0.417 0.034 -117 691 1 + -16.632 -13.628 18.302 -0.465 -0.778 -0.423 -118 764 1 + -16.595 -13.494 17.808 -0.490 -0.867 -0.093 -118 685 1 + -16.643 -13.513 17.298 -0.458 -0.854 0.247 -118 685 1 + -16.934 -13.381 18.333 -0.723 -0.567 -0.396 -118 764 1 + -16.872 -13.267 17.837 -0.764 -0.642 -0.065 -118 685 1 + -16.944 -13.266 17.329 -0.715 -0.643 0.274 -118 685 1 + -16.284 -13.982 16.964 -0.697 -0.542 0.470 -120 691 1 + -16.263 -14.238 16.448 -0.682 -0.724 0.103 -120 691 1 + -16.764 -14.231 15.717 -0.348 -0.729 0.590 -121 690 1 + -17.232 -13.709 16.122 -0.635 -0.757 0.153 -121 685 1 + -17.212 -13.992 15.593 -0.649 -0.568 0.506 121 690 1 + -17.348 -14.412 15.186 -0.558 -0.288 0.778 -121 690 1 + -17.541 -13.649 15.376 -0.869 -0.338 0.360 -121 690 1 + -16.514 -14.579 15.554 -0.514 -0.497 0.699 -123 690 1 + -16.228 -14.548 15.874 -0.705 -0.518 0.485 -123 691 1 + -16.030 -14.582 16.254 -0.837 -0.495 0.232 -123 691 1 + -16.470 -15.147 15.055 -0.057 -0.708 0.704 -123 690 1 + -16.176 -14.988 15.326 -0.253 -0.814 0.523 123 690 1 + -15.913 -14.930 15.662 -0.428 -0.853 0.299 123 691 1 + -15.703 -14.977 16.035 -0.568 -0.821 0.051 123 691 1 + -15.563 -15.126 16.413 -0.661 -0.722 -0.202 -123 691 1 + -15.714 -15.165 15.028 0.105 -0.951 0.292 -123 690 1 + -15.482 -15.095 15.384 -0.050 -0.997 0.055 -123 691 1 + -15.257 -15.148 15.747 -0.200 -0.962 -0.186 -123 691 1 + -15.620 -15.161 15.017 0.042 -0.953 0.300 -125 690 1 + -15.300 -15.116 15.371 -0.171 -0.983 0.064 -125 690 1 + -15.007 -15.221 15.736 -0.367 -0.913 -0.179 -125 695 1 + -14.770 -15.466 16.072 -0.525 -0.750 -0.403 -125 695 1 + -14.613 -15.826 16.347 -0.629 -0.510 -0.587 -125 695 1 + -15.464 -15.167 14.896 0.231 -0.961 0.152 -125 690 1 + -15.197 -15.120 15.292 0.054 -0.992 -0.111 -125 690 1 + -14.922 -15.224 15.670 -0.130 -0.923 -0.363 -125 695 1 + -14.667 -15.470 15.992 -0.300 -0.759 -0.578 -125 695 1 + -14.458 -15.832 16.226 -0.440 -0.517 -0.734 -125 695 1 + -15.276 -15.240 14.531 0.106 -0.912 0.396 -127 690 1 + -14.843 -15.235 14.589 -0.183 -0.916 0.358 -127 690 1 + -14.433 -15.346 14.692 -0.456 -0.841 0.289 -127 694 1 + -14.081 -15.565 14.831 -0.691 -0.696 0.196 -127 694 1 + -15.551 -15.452 13.880 0.469 -0.883 0.032 -127 690 1 + -15.161 -15.312 14.018 0.208 -0.976 -0.061 127 690 1 + -14.744 -15.296 14.149 -0.069 -0.987 -0.148 127 690 1 + -14.336 -15.406 14.261 -0.341 -0.913 -0.223 127 694 1 + -13.971 -15.633 14.345 -0.584 -0.762 -0.278 127 694 1 + -13.681 -15.957 14.393 -0.778 -0.546 -0.311 -127 694 1 + -15.319 -15.205 13.305 0.601 -0.742 -0.297 -127 690 1 + -14.976 -15.116 13.561 0.373 -0.802 -0.467 127 690 1 + -14.586 -15.128 13.757 0.112 -0.793 -0.598 127 690 1 + -14.181 -15.242 13.878 -0.157 -0.718 -0.679 127 694 1 + -13.796 -15.447 13.911 -0.414 -0.581 -0.701 127 694 1 + -13.464 -15.726 13.856 -0.635 -0.395 -0.664 -127 694 1 + -14.774 -14.707 13.289 0.552 -0.438 -0.709 -127 690 1 + -14.413 -14.778 13.524 0.311 -0.391 -0.866 -127 690 1 + -14.012 -14.899 13.649 0.044 -0.310 -0.950 -127 694 1 + -13.605 -15.059 13.653 -0.227 -0.203 -0.952 -127 694 1 + -14.733 -14.307 12.942 0.525 -0.704 -0.478 -129 690 1 + -14.310 -14.045 12.839 0.243 -0.880 -0.409 -129 690 1 + -13.845 -13.933 12.665 -0.067 -0.954 -0.293 -129 665 1 + -13.392 -13.987 12.440 -0.369 -0.918 -0.144 -129 665 1 + -14.872 -14.141 12.674 0.378 -0.531 -0.759 -129 690 1 + -14.421 -13.913 12.625 0.077 -0.683 -0.726 -129 690 1 + -13.956 -13.801 12.452 -0.233 -0.757 -0.610 -129 665 1 + -13.532 -13.821 12.173 -0.516 -0.744 -0.424 -129 665 1 + -15.276 -14.091 12.306 0.647 -0.564 -0.513 -131 690 1 + -15.199 -13.804 11.944 0.596 -0.756 -0.272 -131 654 1 + -15.034 -13.626 11.543 0.486 -0.874 -0.004 -131 654 1 + -15.662 -14.214 12.109 0.342 -0.660 -0.668 -131 690 1 + -15.561 -13.918 11.759 0.275 -0.857 -0.435 -131 654 1 + -15.420 -13.748 11.346 0.181 -0.970 -0.160 -131 654 1 + -15.989 -14.380 12.037 0.560 -0.550 -0.620 -132 690 1 + -16.178 -14.239 11.617 0.686 -0.643 -0.341 -132 656 1 + -16.261 -14.198 11.145 0.741 -0.671 -0.026 -132 656 1 + -16.202 -14.954 12.432 0.096 -0.598 -0.796 -132 690 1 + -16.389 -14.665 12.095 0.221 -0.791 -0.571 132 690 1 + -16.542 -14.498 11.670 0.323 -0.902 -0.288 132 656 1 + -16.644 -14.471 11.200 0.391 -0.920 0.025 132 656 1 + -16.687 -14.585 10.735 0.419 -0.844 0.335 -132 656 1 + -16.783 -15.054 12.568 -0.235 -0.656 -0.717 -132 690 1 + -16.864 -14.747 12.207 -0.181 -0.860 -0.476 132 690 1 + -16.973 -14.573 11.772 -0.108 -0.977 -0.186 132 656 1 + -17.099 -14.550 11.308 -0.024 -0.992 0.123 132 656 1 + -17.229 -14.679 10.863 0.062 -0.906 0.420 -132 656 1 + -17.337 -14.887 12.743 -0.552 -0.560 -0.618 -132 690 1 + -17.318 -14.611 12.350 -0.565 -0.745 -0.355 132 690 1 + -17.386 -14.449 11.902 -0.519 -0.853 -0.057 132 656 1 + -17.534 -14.419 11.445 -0.421 -0.873 0.248 132 656 1 + -17.747 -14.523 11.026 -0.278 -0.803 0.527 -132 656 1 + -17.753 -14.486 12.921 -0.790 -0.331 -0.516 -132 690 1 + -17.659 -14.282 12.495 -0.853 -0.467 -0.232 132 690 1 + -17.696 -14.150 12.034 -0.828 -0.555 0.075 132 656 1 + -17.861 -14.104 11.584 -0.718 -0.586 0.375 132 656 1 + -18.136 -14.149 11.192 -0.535 -0.556 0.636 -132 656 1 + -17.818 -13.829 12.613 -0.988 -0.083 -0.132 -132 690 1 + -17.840 -13.738 12.141 -0.973 -0.144 0.182 -132 656 1 + -18.013 -13.670 11.697 -0.857 -0.189 0.478 -132 656 1 + -15.789 -13.892 10.763 0.427 -0.875 0.229 -134 654 1 + -15.681 -13.839 10.150 0.504 -0.838 -0.210 -134 654 1 + -16.139 -14.275 9.515 0.809 -0.547 0.213 -136 656 1 + -16.016 -14.443 9.039 0.727 -0.436 0.530 -136 562 1 + -15.763 -14.689 8.659 0.558 -0.272 0.784 -136 562 1 + -16.497 -14.565 10.041 0.544 -0.830 -0.121 -136 656 1 + -16.444 -14.563 9.525 0.509 -0.831 0.223 136 656 1 + -16.300 -14.711 9.049 0.413 -0.733 0.541 136 562 1 + -16.082 -14.990 8.669 0.268 -0.546 0.794 136 562 1 + -15.815 -15.368 8.433 0.090 -0.295 0.951 -136 562 1 + -16.974 -14.754 9.940 0.230 -0.955 -0.188 -136 656 1 + -16.827 -14.715 9.443 0.133 -0.981 0.143 136 656 1 + -16.656 -14.853 8.973 0.019 -0.889 0.457 136 562 1 + -16.482 -15.149 8.584 -0.097 -0.691 0.716 136 562 1 + -16.326 -15.571 8.324 -0.202 -0.411 0.889 -136 562 1 + -17.458 -14.738 9.743 -0.088 -0.944 -0.317 -136 656 1 + -17.216 -14.703 9.286 -0.250 -0.968 -0.012 136 656 1 + -17.018 -14.841 8.826 -0.382 -0.876 0.294 136 562 1 + -16.889 -15.136 8.419 -0.468 -0.679 0.566 136 562 1 + -16.844 -15.553 8.114 -0.498 -0.401 0.769 -136 562 1 + -17.860 -14.520 9.488 -0.352 -0.801 -0.485 -136 656 1 + -17.538 -14.527 9.081 -0.567 -0.796 -0.213 136 656 1 + -17.318 -14.677 8.636 -0.714 -0.696 0.084 136 562 1 + -17.226 -14.953 8.205 -0.775 -0.512 0.371 136 562 1 + -17.274 -15.320 7.841 -0.743 -0.267 0.613 -136 562 1 + -18.103 -14.140 9.223 -0.512 -0.551 -0.659 -136 656 1 + -17.733 -14.222 8.868 -0.759 -0.496 -0.423 136 656 1 + -17.499 -14.394 8.438 -0.914 -0.381 -0.135 136 562 1 + -17.430 -14.634 7.983 -0.961 -0.222 0.168 136 562 1 + -17.533 -14.913 7.558 -0.892 -0.035 0.451 -136 562 1 + -18.142 -13.670 8.997 -0.538 -0.241 -0.808 -136 656 1 + -17.764 -13.845 8.687 -0.790 -0.124 -0.601 136 656 1 + -17.529 -14.043 8.269 -0.947 0.007 -0.322 136 562 1 + -17.463 -14.239 7.793 -0.990 0.138 -0.005 136 562 1 + -17.575 -14.410 7.316 -0.916 0.252 0.313 -136 562 1 + -17.626 -13.466 8.571 -0.654 0.249 -0.715 -136 656 1 + -17.400 -13.690 8.161 -0.804 0.398 -0.441 -136 562 1 + -17.318 -13.842 7.672 -0.859 0.499 -0.115 -136 562 1 + -17.565 -13.108 8.578 -0.694 0.010 -0.720 -138 656 1 + -17.275 -13.017 8.185 -0.888 -0.050 -0.457 -138 656 1 + -17.131 -12.935 7.717 -0.984 -0.105 -0.145 -138 561 1 + -17.149 -12.870 7.224 -0.972 -0.149 0.183 -138 561 1 + -17.561 -12.883 8.620 -0.690 0.273 -0.671 -138 656 1 + -17.272 -12.835 8.219 -0.883 0.241 -0.403 -138 656 1 + -17.127 -12.748 7.751 -0.979 0.183 -0.091 -138 561 1 + -17.145 -12.630 7.269 -0.967 0.104 0.230 -138 561 1 + -17.984 -12.305 8.973 -0.408 -0.113 -0.906 -139 653 1 + -18.379 -12.921 9.200 -0.694 0.251 -0.674 -139 656 1 + -18.381 -12.338 9.250 -0.693 -0.137 -0.707 139 653 1 + -18.540 -11.787 9.138 -0.587 -0.505 -0.633 -139 653 1 + -18.670 -12.947 9.615 -0.886 0.234 -0.401 -139 656 1 + -18.659 -12.364 9.647 -0.893 -0.155 -0.422 139 653 1 + -18.851 -11.815 9.582 -0.765 -0.521 -0.379 -139 653 1 + -18.800 -12.962 10.105 -0.971 0.224 -0.079 -139 656 1 + -18.784 -12.378 10.116 -0.983 -0.165 -0.086 139 653 1 + -18.991 -11.831 10.106 -0.844 -0.530 -0.080 -139 653 1 + -18.754 -12.963 10.610 -0.941 0.224 0.253 -139 656 1 + -18.740 -12.378 10.599 -0.951 -0.166 0.261 139 653 1 + -18.942 -11.832 10.647 -0.816 -0.530 0.229 -139 653 1 + -18.533 -12.366 11.037 -0.802 -0.157 0.576 -139 653 1 + -17.664 -11.762 8.550 -0.621 -0.475 -0.624 -141 653 1 + -17.342 -11.858 8.162 -0.836 -0.410 -0.365 -141 653 1 + -17.167 -12.027 7.709 -0.953 -0.298 -0.063 -141 561 1 + -17.160 -12.248 7.245 -0.957 -0.151 0.247 -141 561 1 + -18.099 -11.203 8.624 -0.335 -0.171 -0.927 -141 653 1 + -17.667 -11.372 8.404 -0.623 -0.058 -0.780 141 653 1 + -17.344 -11.551 8.047 -0.838 0.062 -0.542 141 653 1 + -17.169 -11.720 7.594 -0.955 0.174 -0.240 141 561 1 + -17.162 -11.858 7.099 -0.960 0.266 0.090 141 561 1 + -17.324 -11.949 6.619 -0.852 0.327 0.410 -141 561 1 + -17.830 -10.692 8.538 -0.181 0.121 -0.976 -141 653 1 + -17.475 -11.007 8.343 -0.418 0.332 -0.846 141 653 1 + -17.193 -11.265 7.998 -0.606 0.503 -0.616 141 653 1 + -17.018 -11.433 7.545 -0.723 0.616 -0.314 141 561 1 + -16.970 -11.493 7.037 -0.755 0.656 0.025 141 561 1 + -17.055 -11.438 6.533 -0.698 0.619 0.361 -141 561 1 + -17.139 -10.764 8.382 -0.059 0.592 -0.804 -141 653 1 + -16.929 -11.073 8.029 -0.199 0.798 -0.569 -141 653 1 + -16.754 -11.242 7.576 -0.316 0.910 -0.267 -141 561 1 + -16.634 -11.250 7.076 -0.396 0.916 0.067 -141 561 1 + -16.883 -10.243 8.589 -0.230 0.245 -0.942 -143 653 1 + -16.444 -10.097 8.436 -0.523 0.147 -0.840 -143 653 1 + -16.087 -9.927 8.149 -0.761 0.034 -0.648 -143 581 1 + -15.851 -9.752 7.759 -0.918 -0.082 -0.388 -143 581 1 + -16.889 -10.214 8.599 -0.236 0.273 -0.933 -143 653 1 + -16.449 -10.073 8.443 -0.530 0.179 -0.829 -143 653 1 + -16.092 -9.903 8.157 -0.767 0.066 -0.638 -143 581 1 + -15.857 -9.723 7.768 -0.924 -0.054 -0.379 -143 581 1 + -17.817 -10.110 8.717 -0.173 0.454 -0.874 -144 653 1 + -17.530 -9.519 8.800 -0.364 0.060 -0.929 -144 651 1 + -18.224 -9.947 8.965 -0.407 0.547 -0.732 -144 653 1 + -17.938 -9.357 9.048 -0.597 0.153 -0.787 -144 651 1 + -18.555 -9.838 9.330 -0.596 0.609 -0.523 -144 653 1 + -18.269 -9.247 9.413 -0.786 0.216 -0.579 -144 651 1 + -18.781 -9.792 9.779 -0.724 0.636 -0.267 -144 653 1 + -18.495 -9.201 9.862 -0.915 0.242 -0.322 -144 651 1 + -18.881 -9.813 10.273 -0.782 0.624 0.016 -144 653 1 + -18.595 -9.222 10.357 -0.972 0.230 -0.040 -144 651 1 + -18.847 -9.899 10.769 -0.762 0.574 0.299 -144 653 1 + -18.561 -9.309 10.853 -0.953 0.181 0.244 -144 651 1 + -18.681 -10.043 11.224 -0.668 0.492 0.559 -144 653 1 + -18.395 -9.453 11.307 -0.858 0.098 0.503 -144 651 1 + -16.595 -9.645 8.543 -0.432 -0.106 -0.896 -146 651 1 + -16.185 -9.587 8.241 -0.705 -0.144 -0.694 -146 581 1 + -15.899 -9.555 7.816 -0.896 -0.166 -0.411 -146 581 1 + -17.094 -9.190 8.743 -0.115 0.249 -0.962 -146 651 1 + -16.605 -9.213 8.587 -0.440 0.264 -0.858 146 651 1 + -16.194 -9.189 8.281 -0.714 0.249 -0.654 146 581 1 + -15.909 -9.123 7.860 -0.905 0.204 -0.373 146 581 1 + -15.782 -9.020 7.374 -0.990 0.136 -0.049 -146 581 1 + -16.955 -8.711 8.935 -0.036 0.523 -0.852 -146 651 1 + -16.493 -8.823 8.744 -0.344 0.598 -0.724 146 651 1 + -16.091 -8.831 8.425 -0.612 0.603 -0.512 146 581 1 + -15.796 -8.733 8.017 -0.809 0.538 -0.240 146 581 1 + -15.643 -8.541 7.566 -0.910 0.409 0.061 -146 581 1 + -16.275 -8.537 8.988 -0.158 0.842 -0.515 -146 651 1 + -15.890 -8.568 8.650 -0.414 0.863 -0.290 -146 581 1 + -15.578 -8.447 8.261 -0.622 0.782 -0.031 -146 581 1 + -16.188 -8.087 9.433 -0.216 0.542 -0.812 -147 649 1 + -16.931 -8.110 9.551 -0.022 0.866 -0.500 -147 651 1 + -16.413 -7.857 9.725 -0.367 0.697 -0.616 147 649 1 + -15.984 -7.434 9.750 -0.653 0.415 -0.633 -147 649 1 + -17.125 -7.957 9.951 -0.133 0.953 -0.272 -147 651 1 + -16.592 -7.715 10.095 -0.488 0.792 -0.368 147 649 1 + -16.178 -7.281 10.150 -0.764 0.503 -0.405 -147 649 1 + -16.709 -7.674 10.511 -0.566 0.820 -0.088 -147 649 1 + -15.505 -7.907 9.129 -0.671 0.422 -0.609 -149 649 1 + -15.358 -8.075 8.742 -0.769 0.534 -0.351 -149 581 1 + -15.314 -8.172 8.308 -0.799 0.599 -0.062 -149 581 1 + -15.191 -7.611 9.106 -0.432 0.648 -0.627 -149 649 1 + -15.061 -7.794 8.721 -0.519 0.771 -0.369 -149 581 1 + -15.000 -7.875 8.286 -0.560 0.825 -0.080 -149 581 1 + -14.967 -6.991 9.334 -0.582 0.235 -0.778 -150 649 1 + -14.670 -6.595 9.104 -0.780 -0.029 -0.625 -150 616 1 + -15.569 -6.940 9.837 -0.416 0.698 -0.583 -150 649 1 + -15.127 -6.653 9.695 -0.711 0.507 -0.488 150 649 1 + -14.826 -6.266 9.456 -0.911 0.248 -0.329 150 616 1 + -14.706 -5.829 9.151 -0.991 -0.043 -0.126 -150 616 1 + -15.095 -6.391 10.143 -0.685 0.717 -0.129 -150 649 1 + -14.795 -6.011 9.892 -0.885 0.463 0.039 -150 616 1 + -14.395 -6.677 8.567 -0.963 0.026 -0.267 -152 616 1 + -14.439 -7.146 8.335 -0.934 0.339 -0.113 -152 581 1 + -14.654 -7.552 8.083 -0.791 0.609 0.056 -152 581 1 + -14.385 -6.662 8.536 -0.953 0.041 -0.299 -152 616 1 + -14.429 -7.132 8.306 -0.924 0.354 -0.146 -152 581 1 + -14.643 -7.537 8.049 -0.781 0.624 0.025 -152 581 1 + -14.348 -6.509 8.386 -0.978 -0.061 -0.199 -154 616 1 + -14.336 -6.842 8.030 -0.986 0.161 0.038 -154 579 1 + -14.480 -7.150 7.680 -0.890 0.366 0.271 -154 579 1 + -14.253 -6.258 8.144 -0.890 0.171 -0.423 -154 616 1 + -14.246 -6.605 7.801 -0.895 0.402 -0.194 -154 579 1 + -14.380 -6.888 7.428 -0.805 0.591 0.055 -154 579 1 + -14.259 -5.540 8.031 -0.886 -0.308 -0.348 -156 616 1 + -14.288 -5.256 7.575 -0.866 -0.497 -0.044 -156 617 1 + -14.541 -5.477 8.689 -0.883 0.189 -0.430 -156 616 1 + -14.383 -5.181 8.269 -0.989 -0.009 -0.149 156 616 1 + -14.415 -4.887 7.819 -0.967 -0.205 0.150 156 617 1 + -14.634 -4.632 7.399 -0.821 -0.375 0.430 -156 617 1 + -14.339 -4.810 8.515 -0.952 0.301 0.056 -156 616 1 + -14.370 -4.506 8.072 -0.931 0.098 0.351 -156 617 1 + -14.289 -4.608 8.663 -0.985 0.166 -0.042 -157 614 1 + -14.150 -4.336 9.131 -0.886 0.360 0.293 -157 614 1 + -14.485 -3.350 7.799 -0.873 -0.061 0.484 -161 618 1 + -14.151 -3.154 8.491 -0.884 0.395 0.250 -161 614 1 + -14.327 -2.912 7.969 -0.767 0.233 0.598 161 618 1 + -14.688 -2.613 7.591 -0.527 0.034 0.849 -161 618 1 + -13.843 -2.721 8.568 -0.708 0.642 0.293 -161 614 1 + -14.042 -2.512 8.040 -0.576 0.502 0.645 161 618 1 + -14.380 -2.181 7.668 -0.351 0.281 0.893 -161 618 1 + -13.662 -2.194 8.004 -0.321 0.715 0.621 -161 618 1 + -13.307 -2.366 8.976 -0.558 0.830 -0.027 -162 614 1 + -13.261 -2.234 9.419 -0.588 0.742 -0.322 -162 614 1 + -13.299 -1.996 9.816 -0.563 0.583 -0.587 -162 644 1 + -13.419 -1.673 10.128 -0.483 0.368 -0.795 -162 644 1 + -13.608 -1.298 10.326 -0.357 0.118 -0.927 -162 644 1 + -13.548 -2.637 9.140 -0.845 0.507 0.169 -162 614 1 + -13.422 -2.416 9.529 -0.929 0.360 -0.090 -162 614 1 + -13.431 -2.143 9.905 -0.923 0.178 -0.341 -162 644 1 + -13.572 -1.845 10.232 -0.829 -0.021 -0.559 -162 644 1 + -13.832 -1.549 10.479 -0.655 -0.218 -0.723 -162 644 1 + -13.540 -1.258 10.310 -0.266 0.171 -0.949 -167 644 1 + -13.373 -1.646 10.117 -0.378 0.430 -0.820 -167 644 1 + -13.259 -1.972 9.806 -0.453 0.647 -0.613 -167 614 1 + -13.211 -2.205 9.407 -0.485 0.803 -0.347 -167 614 1 + -13.233 -2.323 8.958 -0.470 0.881 -0.048 -167 614 1 + -13.453 -1.219 10.299 -0.150 0.223 -0.963 -167 644 1 + -13.313 -1.619 10.109 -0.243 0.490 -0.837 -167 644 1 + -13.208 -1.949 9.800 -0.313 0.710 -0.630 -167 614 1 + -13.148 -2.177 9.399 -0.353 0.862 -0.363 -167 614 1 + -13.139 -2.281 8.946 -0.359 0.931 -0.062 -167 614 1 + -13.234 -1.008 10.282 -0.296 0.083 -0.952 -169 644 1 + -12.893 -1.219 10.088 -0.523 0.224 -0.823 -169 644 1 + -12.621 -1.401 9.785 -0.704 0.345 -0.621 -169 607 1 + -12.443 -1.537 9.401 -0.823 0.436 -0.364 -169 607 1 + -13.105 -0.819 10.286 -0.167 0.271 -0.948 -169 644 1 + -12.780 -1.054 10.091 -0.384 0.427 -0.818 -169 644 1 + -12.506 -1.232 9.789 -0.567 0.546 -0.617 -169 607 1 + -12.307 -1.338 9.405 -0.700 0.617 -0.361 -169 607 1 + -13.041 -0.384 10.330 -0.210 -0.019 -0.977 -171 644 1 + -12.658 -0.222 10.177 -0.466 -0.127 -0.876 -171 644 1 + -12.335 -0.077 9.909 -0.681 -0.224 -0.697 -171 610 1 + -12.102 0.040 9.550 -0.836 -0.302 -0.458 -171 610 1 + -13.582 0.119 10.577 -0.021 0.531 -0.847 -171 644 1 + -13.145 0.150 10.508 -0.312 0.510 -0.801 171 644 1 + -12.748 0.247 10.333 -0.576 0.445 -0.685 171 644 1 + -12.428 0.403 10.069 -0.790 0.342 -0.509 171 610 1 + -12.211 0.603 9.738 -0.935 0.208 -0.288 171 610 1 + -12.117 0.831 9.369 -0.998 0.056 -0.042 -171 610 1 + -13.014 0.538 10.907 -0.183 0.896 -0.406 -171 644 1 + -12.634 0.588 10.684 -0.437 0.862 -0.257 -171 644 1 + -12.311 0.751 10.427 -0.652 0.753 -0.086 -171 610 1 + -12.073 1.013 10.159 -0.810 0.579 0.093 -171 610 1 + -12.883 0.591 10.947 -0.270 0.860 -0.432 -173 644 1 + -12.403 0.750 10.730 -0.590 0.754 -0.288 -173 612 1 + -13.222 0.780 11.642 0.216 0.965 -0.147 -173 644 1 + -12.717 0.740 11.428 -0.122 0.993 -0.004 173 644 1 + -12.236 0.899 11.213 -0.442 0.886 0.139 173 612 1 + -11.844 1.238 11.026 -0.703 0.660 0.264 -173 612 1 + -12.479 0.645 11.891 0.090 0.908 0.409 -173 644 1 + -11.997 0.804 11.678 -0.231 0.802 0.551 -173 612 1 + -10.855 2.182 12.445 -0.992 -0.117 0.040 -175 33 1 + -10.752 2.032 12.645 -0.776 -0.431 0.460 -175 33 1 + -12.476 0.038 12.986 0.373 0.898 0.233 -178 643 1 + -13.138 0.351 12.896 0.271 0.683 0.679 -178 644 1 + -12.857 0.033 13.256 0.083 0.895 0.439 178 643 1 + -12.558 -0.100 13.706 -0.116 0.983 0.139 -178 643 1 + -13.251 -0.120 13.453 -0.217 0.778 0.589 -178 643 1 + -14.054 0.029 13.108 -0.331 0.471 0.817 -179 644 1 + -13.946 -0.373 13.524 -0.403 0.739 0.540 -179 642 1 + -14.485 -0.211 12.965 -0.615 0.313 0.724 -179 644 1 + -14.407 -0.630 13.372 -0.667 0.592 0.452 -179 642 1 + -14.809 -0.509 12.698 -0.828 0.117 0.548 -179 644 1 + -14.754 -0.948 13.086 -0.865 0.410 0.289 -179 642 1 + -13.773 -0.635 13.890 -0.305 0.589 0.748 -180 642 1 + -13.312 -0.667 14.259 -0.612 0.611 0.502 -180 643 1 + -10.538 1.840 12.957 -0.919 -0.303 0.252 -182 33 1 + -10.203 1.666 13.171 -0.202 -0.674 0.710 -182 33 1 + -11.753 -0.106 13.308 -0.109 0.994 0.018 -183 643 1 + -11.439 -0.269 13.509 0.622 0.615 0.485 -183 643 1 + -11.013 -0.706 13.857 0.337 0.907 0.252 -185 643 1 + -10.534 -0.804 13.887 0.018 0.972 0.232 -185 643 1 + -10.052 -0.747 13.954 -0.303 0.934 0.188 -185 50 1 + -9.619 -0.541 14.051 -0.592 0.796 0.123 -185 50 1 + -9.280 -0.206 14.168 -0.818 0.574 0.045 -185 50 1 + -11.016 -0.716 13.893 0.332 0.891 0.310 -185 643 1 + -10.536 -0.810 13.906 0.011 0.954 0.301 -185 643 1 + -10.053 -0.751 13.967 -0.310 0.914 0.260 -185 50 1 + -9.621 -0.546 14.070 -0.599 0.778 0.191 -185 50 1 + -9.284 -0.216 14.204 -0.823 0.558 0.102 -185 50 1 + -11.258 -0.684 14.385 0.493 0.870 -0.018 -187 643 1 + -10.979 -0.724 14.837 0.307 0.896 -0.320 -187 677 1 + -10.642 -0.594 15.229 0.082 0.810 -0.581 -187 677 1 + -11.907 -0.366 14.254 0.312 0.808 0.499 -187 643 1 + -11.613 -0.597 14.634 0.116 0.962 0.246 187 643 1 + -11.297 -0.646 15.060 -0.095 0.995 -0.038 187 677 1 + -10.999 -0.506 15.479 -0.293 0.902 -0.318 187 677 1 + -10.757 -0.196 15.838 -0.455 0.695 -0.557 -187 677 1 + -11.948 -0.730 14.890 -0.239 0.821 0.518 -187 643 1 + -11.597 -0.765 15.290 -0.473 0.844 0.252 -187 677 1 + -11.336 -0.640 15.738 -0.647 0.761 -0.047 -187 677 1 + -12.131 -0.816 14.972 -0.117 0.878 0.464 -189 643 1 + -11.939 -0.935 15.439 -0.245 0.957 0.153 -189 675 1 + -11.791 -0.882 15.933 -0.344 0.922 -0.177 -189 675 1 + -12.203 -0.842 14.996 -0.189 0.853 0.487 -189 643 1 + -12.007 -0.959 15.461 -0.320 0.931 0.177 -189 675 1 + -11.867 -0.909 15.958 -0.413 0.898 -0.154 -189 675 1 + -12.352 -0.893 15.046 -0.090 0.887 0.453 -190 643 1 + -12.287 -1.040 15.563 -0.133 0.985 0.109 -190 674 1 + -12.917 -0.738 14.630 -0.353 0.564 0.747 -190 643 1 + -12.765 -1.035 15.057 -0.454 0.761 0.463 190 643 1 + -12.702 -1.183 15.573 -0.496 0.860 0.118 190 674 1 + -12.736 -1.163 16.113 -0.474 0.847 -0.241 -190 674 1 + -13.097 -1.318 15.015 -0.746 0.512 0.426 -190 643 1 + -13.035 -1.468 15.532 -0.787 0.611 0.082 -190 674 1 + -12.591 -1.046 16.583 -0.381 0.923 0.062 -191 674 1 + -12.166 -0.752 16.939 -0.664 0.727 -0.175 -191 675 1 + -11.593 -0.402 16.954 -0.337 0.927 -0.166 -193 675 1 + -11.092 -0.124 16.704 -0.671 0.741 0.001 -193 677 1 + -11.049 -0.260 17.855 -0.375 0.925 -0.067 -195 675 1 + -10.817 -0.071 18.182 -0.530 0.799 -0.285 -195 675 1 + -10.654 0.223 18.471 -0.639 0.603 -0.478 -195 792 1 + -10.574 0.595 18.699 -0.692 0.355 -0.629 -195 792 1 + -11.367 -0.590 18.384 -0.662 0.626 0.411 -195 675 1 + -11.087 -0.352 18.632 -0.849 0.467 0.246 -195 675 1 + -10.918 -0.052 18.912 -0.962 0.268 0.059 -195 792 1 + -10.876 0.282 19.200 -0.990 0.045 -0.133 -195 792 1 + -11.285 -0.695 18.964 -0.717 0.697 0.025 -198 676 1 + -11.024 -0.313 19.157 -0.891 0.442 -0.104 -198 792 1 + -10.912 0.143 19.332 -0.966 0.137 -0.221 -198 792 1 + -11.664 -1.229 19.386 -0.461 0.701 0.544 -198 676 1 + -11.283 -0.909 19.451 -0.715 0.487 0.501 198 676 1 + -11.022 -0.507 19.599 -0.889 0.220 0.402 198 792 1 + -10.910 -0.069 19.816 -0.963 -0.073 0.258 198 792 1 + -10.960 0.357 20.075 -0.930 -0.357 0.085 -198 792 1 + -11.019 -1.186 19.820 -0.456 0.217 0.863 -198 676 1 + -10.782 -0.759 19.935 -0.614 -0.068 0.786 -198 792 1 + -10.648 -0.344 20.183 -0.704 -0.345 0.621 -198 792 1 + -10.969 -1.342 19.898 -0.490 0.321 0.811 -200 676 1 + -10.668 -1.068 20.050 -0.691 0.138 0.710 -200 790 1 + -10.453 -0.776 20.290 -0.834 -0.056 0.549 -200 790 1 + -10.829 -1.562 20.027 -0.373 0.139 0.917 -200 676 1 + -10.532 -1.280 20.174 -0.571 -0.050 0.820 -200 790 1 + -10.308 -1.004 20.424 -0.720 -0.233 0.653 -200 790 1 + -10.754 -1.986 20.200 -0.423 0.421 0.802 -202 676 1 + -10.404 -2.078 20.532 -0.656 0.482 0.581 -202 785 1 + -10.160 -2.092 20.959 -0.819 0.492 0.296 -202 785 1 + -10.873 -2.361 20.241 -0.536 0.065 0.842 -202 676 1 + -10.514 -2.422 20.570 -0.776 0.105 0.622 -202 785 1 + -10.279 -2.466 21.000 -0.932 0.135 0.336 -202 785 1 + -11.088 -2.637 20.176 -0.393 0.249 0.885 -204 676 1 + -10.907 -2.954 20.417 -0.513 0.460 0.724 -204 676 1 + -10.792 -3.212 20.751 -0.590 0.632 0.502 -204 775 1 + -10.752 -3.390 21.149 -0.617 0.751 0.236 -204 775 1 + -11.469 -3.192 19.865 -0.758 -0.282 0.588 -204 676 1 + -11.244 -3.445 20.143 -0.908 -0.114 0.403 -204 676 1 + -11.135 -3.712 20.472 -0.981 0.064 0.184 -204 775 1 + -11.151 -3.970 20.824 -0.970 0.237 -0.051 -204 775 1 + -11.661 -3.410 19.601 -0.630 -0.136 0.765 -205 676 1 + -11.619 -3.864 19.646 -0.658 0.166 0.734 -205 676 1 + -11.670 -4.295 19.794 -0.625 0.453 0.636 -205 769 1 + -11.807 -4.662 20.031 -0.533 0.698 0.478 -205 769 1 + -11.843 -3.464 19.385 -0.822 -0.193 0.536 -205 676 1 + -11.771 -3.909 19.466 -0.870 0.104 0.482 -205 676 1 + -11.820 -4.339 19.614 -0.837 0.391 0.383 -205 769 1 + -11.987 -4.715 19.816 -0.726 0.642 0.249 -205 769 1 + -11.683 -4.789 20.609 -0.616 0.782 0.093 -207 769 1 + -11.432 -4.536 20.896 -0.783 0.614 -0.099 -207 775 1 + -11.802 -4.966 20.863 -0.707 0.647 0.287 -207 769 1 + -11.554 -4.718 21.157 -0.872 0.482 0.091 -207 775 1 + -11.900 -5.102 20.976 -0.641 0.738 0.212 -209 769 1 + -11.736 -4.985 21.370 -0.750 0.659 -0.051 -209 778 1 + -11.671 -4.781 21.759 -0.794 0.524 -0.310 -209 778 1 + -12.379 -5.523 20.834 -0.629 0.489 0.605 -209 769 1 + -12.102 -5.450 21.172 -0.814 0.441 0.380 209 769 1 + -11.931 -5.320 21.560 -0.927 0.354 0.121 209 778 1 + -11.882 -5.143 21.963 -0.960 0.236 -0.148 209 778 1 + -11.958 -4.936 22.347 -0.910 0.098 -0.404 -209 778 1 + -12.426 -5.998 21.026 -0.660 0.177 0.731 -209 769 1 + -12.143 -5.864 21.339 -0.849 0.087 0.522 209 769 1 + -11.971 -5.718 21.720 -0.963 -0.010 0.268 209 778 1 + -11.924 -5.574 22.137 -0.994 -0.106 -0.010 209 778 1 + -12.008 -5.444 22.552 -0.938 -0.193 -0.287 -209 778 1 + -12.281 -6.474 21.153 -0.564 -0.137 0.814 -209 769 1 + -12.017 -6.279 21.449 -0.741 -0.267 0.616 209 769 1 + -11.849 -6.118 21.827 -0.852 -0.374 0.365 209 778 1 + -11.793 -6.007 22.252 -0.890 -0.449 0.081 209 778 1 + -11.853 -5.954 22.688 -0.850 -0.484 -0.209 -209 778 1 + -11.743 -6.631 21.487 -0.506 -0.568 0.649 -209 769 1 + -11.585 -6.457 21.863 -0.612 -0.684 0.398 -209 778 1 + -11.507 -6.373 22.291 -0.663 -0.740 0.112 -209 778 1 + -11.677 -7.300 21.221 -0.550 -0.122 0.826 -211 769 1 + -11.483 -7.742 21.390 -0.680 0.173 0.713 -211 758 1 + -11.408 -8.154 21.684 -0.730 0.447 0.517 -211 758 1 + -11.729 -7.340 21.176 -0.603 -0.164 0.780 -211 769 1 + -11.530 -7.779 21.350 -0.736 0.129 0.665 -211 758 1 + -11.460 -8.195 21.640 -0.783 0.406 0.472 -211 758 1 + -12.108 -7.327 20.966 -0.350 -0.172 0.921 -212 769 1 + -12.229 -7.746 20.912 -0.270 0.107 0.957 -212 769 1 + -12.384 -8.151 20.980 -0.167 0.377 0.911 -212 759 1 + -12.561 -8.508 21.166 -0.049 0.615 0.787 -212 759 1 + -12.744 -8.786 21.454 0.073 0.800 0.596 -212 759 1 + -12.409 -7.255 20.782 -0.707 -0.087 0.702 -212 769 1 + -12.456 -7.691 20.772 -0.675 0.205 0.708 -212 769 1 + -12.590 -8.102 20.854 -0.586 0.478 0.654 -212 759 1 + -12.799 -8.451 21.020 -0.447 0.711 0.543 -212 759 1 + -13.066 -8.708 21.256 -0.269 0.882 0.386 -212 759 1 + -12.410 -8.974 21.825 -0.150 0.925 0.348 -214 759 1 + -11.927 -8.828 21.892 -0.471 0.828 0.303 -214 758 1 + -12.885 -9.277 22.328 0.208 0.736 0.645 -214 759 1 + -12.381 -9.247 22.266 -0.128 0.716 0.686 214 759 1 + -11.900 -9.094 22.322 -0.449 0.614 0.649 214 758 1 + -11.496 -8.836 22.489 -0.718 0.442 0.538 -214 758 1 + -12.765 -9.754 22.674 0.276 0.463 0.842 -214 759 1 + -12.278 -9.659 22.564 -0.048 0.400 0.915 214 759 1 + -11.799 -9.495 22.612 -0.368 0.291 0.883 214 758 1 + -11.384 -9.282 22.812 -0.644 0.148 0.750 -214 758 1 + -12.578 -10.312 22.797 0.383 0.144 0.912 -214 759 1 + -12.116 -10.141 22.670 0.076 0.030 0.997 214 759 1 + -11.642 -9.965 22.715 -0.241 -0.088 0.967 214 758 1 + -11.209 -9.804 22.927 -0.529 -0.195 0.826 -214 758 1 + -11.924 -10.612 22.566 0.223 -0.332 0.917 -214 759 1 + -11.454 -10.423 22.614 -0.090 -0.457 0.885 -214 758 1 + -11.949 -11.252 22.492 0.240 0.095 0.966 -216 755 1 + -12.117 -11.451 22.527 0.120 -0.048 0.992 -216 755 1 + -12.910 -11.521 22.874 0.649 -0.001 0.761 -218 761 1 + -12.861 -10.769 22.894 0.221 -0.117 0.968 -218 759 1 + -13.206 -11.232 23.039 0.451 0.192 0.872 218 761 1 + -13.445 -11.650 23.391 0.610 0.471 0.637 -218 761 1 + -13.245 -10.484 22.948 0.002 0.046 0.999 -218 759 1 + -13.562 -10.969 23.089 0.213 0.368 0.905 218 761 1 + -13.829 -11.366 23.444 0.391 0.633 0.668 -218 761 1 + -13.660 -10.253 22.872 -0.235 0.178 0.956 -218 759 1 + -13.946 -10.754 23.019 -0.044 0.512 0.858 218 761 1 + -14.243 -11.134 23.368 0.154 0.766 0.625 -218 761 1 + -14.068 -10.095 22.673 -0.468 0.268 0.842 -218 759 1 + -14.324 -10.608 22.834 -0.297 0.610 0.734 218 761 1 + -14.651 -10.976 23.169 -0.079 0.856 0.511 -218 761 1 + -14.663 -10.542 22.553 -0.524 0.654 0.546 -218 761 1 + -14.617 -9.830 22.007 -0.782 0.419 0.461 -219 759 1 + -15.101 -10.327 21.986 -0.459 0.751 0.475 -219 760 1 + -15.318 -10.651 22.175 -0.583 0.566 0.583 -220 760 1 + -15.417 -11.035 22.692 -0.517 0.822 0.238 -220 761 1 + -15.649 -10.866 21.951 -0.773 0.443 0.455 -220 760 1 + -15.749 -11.251 22.468 -0.707 0.699 0.110 -220 761 1 + -12.724 -11.981 22.823 0.525 0.305 0.795 -222 761 1 + -12.213 -11.936 22.599 0.184 0.275 0.944 -222 755 1 + -12.661 -12.620 22.816 0.576 -0.213 0.790 -222 761 1 + -12.151 -12.560 22.593 0.236 -0.253 0.938 -222 755 1 + -12.991 -13.160 23.119 0.795 0.147 0.588 -224 761 1 + -12.825 -13.576 23.112 0.685 0.424 0.593 -224 761 1 + -12.567 -13.935 23.184 0.513 0.663 0.545 -224 741 1 + -12.241 -14.205 23.329 0.296 0.844 0.448 -224 741 1 + -13.547 -13.005 23.635 0.551 -0.303 0.777 -224 761 1 + -13.380 -13.379 23.457 0.440 -0.053 0.897 224 761 1 + -13.154 -13.761 23.397 0.289 0.201 0.936 224 761 1 + -12.890 -14.116 23.463 0.113 0.438 0.892 224 741 1 + -12.610 -14.413 23.649 -0.074 0.636 0.768 224 741 1 + -12.340 -14.624 23.936 -0.253 0.777 0.577 -224 741 1 + -13.828 -13.714 23.496 0.031 -0.359 0.933 -224 761 1 + -13.533 -14.044 23.431 -0.166 -0.138 0.976 -224 761 1 + -13.260 -14.393 23.497 -0.348 0.094 0.933 -224 741 1 + -13.034 -14.729 23.686 -0.498 0.318 0.806 -224 741 1 + -14.470 -13.097 23.910 0.024 -0.356 0.934 -225 761 1 + -14.928 -13.570 23.896 0.330 -0.041 0.943 -225 763 1 + -14.851 -12.729 23.973 -0.193 -0.146 0.970 -225 761 1 + -15.309 -13.202 23.959 0.112 0.169 0.979 -225 763 1 + -15.225 -12.363 23.870 -0.407 0.063 0.911 -225 761 1 + -15.683 -12.836 23.856 -0.101 0.378 0.920 -225 763 1 + -15.555 -12.035 23.610 -0.596 0.251 0.763 -225 761 1 + -16.014 -12.507 23.596 -0.290 0.566 0.772 -225 763 1 + -15.810 -11.776 23.219 -0.742 0.399 0.539 -225 761 1 + -16.269 -12.249 23.205 -0.436 0.714 0.548 -225 763 1 + -15.964 -11.613 22.735 -0.830 0.492 0.263 -225 761 1 + -16.423 -12.086 22.722 -0.524 0.807 0.272 -225 763 1 + -14.257 -14.156 23.476 0.317 -0.064 0.946 -227 763 1 + -13.893 -14.417 23.409 0.074 0.110 0.991 -227 763 1 + -13.519 -14.663 23.477 -0.175 0.274 0.946 -227 741 1 + -13.169 -14.871 23.675 -0.409 0.413 0.814 -227 741 1 + -14.543 -14.628 23.387 0.052 -0.501 0.864 -227 763 1 + -14.134 -14.814 23.334 -0.222 -0.377 0.899 -227 763 1 + -13.754 -15.051 23.404 -0.474 -0.219 0.853 -227 741 1 + -13.440 -15.318 23.591 -0.684 -0.041 0.728 -227 741 1 + -14.844 -14.944 23.299 0.252 -0.291 0.923 -229 763 1 + -14.698 -15.428 23.202 0.154 0.032 0.988 -229 742 1 + -14.524 -15.906 23.279 0.039 0.351 0.936 -229 742 1 + -15.555 -14.713 23.505 -0.028 -0.694 0.719 -229 763 1 + -15.338 -15.107 23.255 -0.172 -0.431 0.886 229 763 1 + -15.152 -15.578 23.162 -0.296 -0.118 0.948 229 742 1 + -15.018 -16.069 23.236 -0.386 0.210 0.898 229 742 1 + -14.952 -16.523 23.469 -0.430 0.513 0.743 -229 742 1 + -16.072 -14.878 23.160 -0.324 -0.789 0.523 -229 763 1 + -15.758 -15.242 22.976 -0.533 -0.547 0.646 229 763 1 + -15.538 -15.701 22.905 -0.680 -0.240 0.693 229 742 1 + -15.438 -16.204 22.957 -0.747 0.095 0.658 229 742 1 + -15.470 -16.689 23.124 -0.725 0.418 0.547 -229 742 1 + -16.009 -15.316 22.524 -0.749 -0.611 0.258 -229 763 1 + -15.769 -15.770 22.490 -0.909 -0.308 0.281 -229 742 1 + -15.689 -16.278 22.505 -0.962 0.031 0.270 -229 742 1 + -16.725 -14.635 22.781 -0.696 -0.649 0.305 -230 763 1 + -17.086 -14.720 22.242 -0.456 -0.593 0.664 -230 765 1 + -16.977 -14.201 22.881 -0.841 -0.402 0.363 -230 763 1 + -17.338 -14.287 22.343 -0.600 -0.345 0.722 -230 765 1 + -17.117 -13.709 22.897 -0.920 -0.121 0.372 -230 763 1 + -17.478 -13.795 22.359 -0.680 -0.064 0.731 -230 765 1 + -17.131 -13.203 22.826 -0.928 0.169 0.331 -230 763 1 + -17.492 -13.288 22.288 -0.688 0.225 0.690 -230 765 1 + -17.018 -12.728 22.675 -0.864 0.440 0.245 -230 763 1 + -17.379 -12.813 22.136 -0.623 0.497 0.604 -230 765 1 + -16.788 -12.326 22.457 -0.733 0.670 0.121 -230 763 1 + -17.149 -12.411 21.919 -0.492 0.727 0.479 -230 765 1 + -16.369 -15.296 22.021 -0.509 -0.624 0.593 -232 765 1 + -16.063 -15.620 22.055 -0.713 -0.408 0.570 -232 765 1 + -15.852 -15.998 22.165 -0.854 -0.156 0.497 -232 742 1 + -15.754 -16.397 22.341 -0.919 0.110 0.380 -232 742 1 + -16.377 -15.306 22.003 -0.516 -0.633 0.577 -232 765 1 + -16.070 -15.629 22.039 -0.721 -0.418 0.553 -232 765 1 + -15.859 -16.007 22.149 -0.862 -0.166 0.480 -232 742 1 + -15.763 -16.407 22.323 -0.926 0.101 0.364 -232 742 1 + -16.477 -15.361 21.871 -0.450 -0.596 0.665 -234 765 1 + -16.259 -15.731 21.784 -0.595 -0.350 0.724 -234 765 1 + -16.117 -16.145 21.789 -0.690 -0.074 0.720 -234 743 1 + -16.063 -16.568 21.886 -0.726 0.209 0.655 -234 743 1 + -16.101 -16.965 22.067 -0.700 0.473 0.535 -234 743 1 + -16.666 -15.442 21.569 -0.641 -0.678 0.360 -234 765 1 + -16.405 -15.793 21.550 -0.815 -0.444 0.373 -234 765 1 + -16.248 -16.201 21.579 -0.919 -0.172 0.354 -234 743 1 + -16.209 -16.631 21.653 -0.946 0.114 0.305 -234 743 1 + -16.290 -17.046 21.766 -0.891 0.391 0.229 -234 743 1 + -16.820 -15.505 21.280 -0.538 -0.636 0.553 -235 765 1 + -16.727 -15.946 21.025 -0.600 -0.342 0.723 -235 745 1 + -16.741 -16.448 20.899 -0.591 -0.007 0.807 -235 745 1 + -17.439 -15.001 21.084 -0.658 -0.753 0.003 -235 765 1 + -17.158 -15.366 20.848 -0.845 -0.510 0.160 235 765 1 + -17.028 -15.823 20.640 -0.932 -0.206 0.298 235 745 1 + -17.064 -16.316 20.486 -0.908 0.123 0.401 235 745 1 + -17.263 -16.787 20.404 -0.775 0.437 0.456 -235 745 1 + -17.494 -14.758 20.409 -0.689 -0.615 -0.384 -235 765 1 + -17.201 -15.175 20.317 -0.885 -0.336 -0.323 235 765 1 + -17.066 -15.653 20.168 -0.975 -0.018 -0.223 235 745 1 + -17.106 -16.133 19.978 -0.948 0.302 -0.097 235 745 1 + -17.315 -16.560 19.772 -0.809 0.586 0.041 -235 745 1 + -16.937 -14.992 19.851 -0.644 -0.170 -0.746 -235 765 1 + -16.831 -15.489 19.753 -0.715 0.162 -0.680 -235 745 1 + -16.853 -15.958 19.533 -0.700 0.474 -0.534 -235 745 1 + -16.594 -17.242 21.355 -0.689 0.522 0.503 -237 743 1 + -17.102 -17.320 20.832 -0.669 0.086 0.738 -237 745 1 + -16.825 -17.593 21.272 -0.855 0.269 0.444 237 743 1 + -16.744 -17.805 21.815 -0.908 0.410 0.082 -237 743 1 + -16.946 -17.975 21.121 -0.942 -0.006 0.335 -237 743 1 + -17.382 -18.003 20.278 -0.854 -0.363 0.374 -239 745 1 + -17.195 -18.492 20.534 -0.978 -0.037 0.204 -239 744 1 + -17.388 -18.225 19.820 -0.857 -0.510 0.072 -239 745 1 + -17.201 -18.730 20.043 -0.982 -0.173 -0.076 -239 744 1 + -17.247 -18.363 19.350 -0.764 -0.600 -0.237 -239 745 1 + -17.050 -18.877 19.540 -0.895 -0.257 -0.364 -239 744 1 + -16.645 -18.862 18.901 -0.803 -0.316 -0.505 -241 746 1 + -16.693 -18.204 18.538 -0.400 -0.495 -0.771 -241 745 1 + -16.385 -18.680 18.545 -0.606 -0.178 -0.776 241 746 1 + -16.207 -19.195 18.386 -0.724 0.165 -0.669 -241 746 1 + -16.301 -17.974 18.299 -0.142 -0.344 -0.928 -241 745 1 + -16.021 -18.466 18.323 -0.329 -0.015 -0.944 241 746 1 + -15.811 -18.962 18.144 -0.469 0.315 -0.825 -241 746 1 + -15.601 -18.248 18.264 -0.011 0.150 -0.989 -241 746 1 + -15.480 -17.461 18.166 -0.091 -0.374 -0.923 -243 745 1 + -15.124 -17.238 17.962 -0.329 -0.523 -0.787 -243 695 1 + -14.816 -17.091 17.643 -0.534 -0.621 -0.574 -243 695 1 + -16.114 -17.334 18.195 -0.019 0.077 -0.997 -243 745 1 + -15.705 -17.116 18.131 -0.292 -0.067 -0.954 243 745 1 + -15.339 -16.909 17.928 -0.536 -0.206 -0.819 243 695 1 + -15.050 -16.732 17.606 -0.728 -0.324 -0.604 243 695 1 + -14.868 -16.602 17.196 -0.850 -0.411 -0.331 -243 695 1 + -15.852 -16.743 18.229 -0.422 0.265 -0.867 -243 745 1 + -15.479 -16.552 18.021 -0.671 0.138 -0.729 -243 695 1 + -15.203 -16.342 17.708 -0.854 -0.002 -0.520 -243 695 1 + -15.982 -16.555 18.326 -0.335 0.140 -0.932 -244 745 1 + -15.724 -16.197 18.212 -0.507 -0.099 -0.856 -244 745 1 + -15.536 -15.852 17.980 -0.632 -0.329 -0.701 -244 691 1 + -15.436 -15.553 17.651 -0.699 -0.528 -0.482 -244 691 1 + -15.433 -15.327 17.255 -0.701 -0.679 -0.218 -244 691 1 + -16.175 -16.175 18.664 -0.593 0.646 -0.481 -244 745 1 + -15.854 -15.940 18.441 -0.806 0.489 -0.332 -244 745 1 + -15.646 -15.637 18.172 -0.946 0.287 -0.153 -244 691 1 + -15.568 -15.294 17.882 -0.997 0.058 0.041 -244 691 1 + -15.629 -14.943 17.597 -0.957 -0.176 0.230 -244 691 1 + -15.189 -15.606 17.086 -0.864 -0.493 -0.105 -245 695 1 + -15.340 -15.300 16.434 -0.517 -0.835 -0.188 -245 691 1 + -15.011 -15.706 16.711 -0.737 -0.564 -0.373 245 695 1 + -14.854 -16.243 16.901 -0.841 -0.206 -0.500 -245 695 1 + -14.741 -15.724 16.380 -0.544 -0.577 -0.609 -245 695 1 + -14.577 -17.308 17.593 -0.694 -0.476 -0.541 -247 695 1 + -14.661 -17.645 17.874 -0.638 -0.251 -0.728 -247 695 1 + -14.829 -18.015 18.058 -0.525 -0.004 -0.851 -247 746 1 + -15.068 -18.386 18.129 -0.366 0.243 -0.898 -247 746 1 + -14.161 -17.557 17.485 -0.317 -0.701 -0.639 -247 695 1 + -14.307 -17.857 17.782 -0.220 -0.501 -0.837 -247 695 1 + -14.482 -18.223 17.968 -0.103 -0.257 -0.961 -247 746 1 + -14.671 -18.623 18.026 0.023 0.010 -1.000 -247 746 1 + -13.685 -17.554 17.009 -0.634 -0.703 -0.322 -249 695 1 + -13.393 -17.846 16.874 -0.829 -0.508 -0.232 -249 707 1 + -13.205 -18.202 16.711 -0.955 -0.271 -0.123 -249 707 1 + -13.454 -17.112 16.377 -0.454 -0.357 -0.816 -249 695 1 + -13.179 -17.436 16.288 -0.638 -0.141 -0.757 -249 707 1 + -12.983 -17.778 16.104 -0.768 0.086 -0.635 -249 707 1 + -13.556 -16.550 15.994 -0.386 -0.732 -0.561 -250 695 1 + -13.395 -16.397 15.524 -0.493 -0.834 -0.248 -250 694 1 + -14.010 -16.070 15.981 -0.738 -0.359 -0.571 -250 695 1 + -13.836 -15.930 15.512 -0.854 -0.452 -0.258 -250 694 1 + -12.977 -16.702 15.268 -0.772 -0.631 -0.077 -252 694 1 + -12.776 -17.126 15.512 -0.906 -0.348 -0.240 -252 707 1 + -12.743 -17.615 15.711 -0.928 -0.022 -0.372 -252 707 1 + -12.977 -16.533 14.544 -0.314 -0.926 -0.211 -252 694 1 + -12.712 -16.807 14.910 -0.491 -0.743 -0.456 252 694 1 + -12.538 -17.220 15.192 -0.606 -0.467 -0.643 252 707 1 + -12.478 -17.721 15.354 -0.647 -0.134 -0.751 252 707 1 + -12.538 -18.246 15.375 -0.606 0.216 -0.765 -252 707 1 + -12.303 -16.802 14.705 -0.058 -0.737 -0.673 -252 694 1 + -12.172 -17.216 15.008 -0.144 -0.462 -0.875 -252 707 1 + -12.069 -17.716 15.148 -0.213 -0.128 -0.969 -252 707 1 + -12.169 -16.734 14.602 -0.147 -0.783 -0.604 -254 694 1 + -11.917 -17.058 14.837 -0.315 -0.567 -0.761 -254 694 1 + -11.711 -17.467 14.959 -0.452 -0.294 -0.842 -254 706 1 + -11.573 -17.920 14.954 -0.544 0.008 -0.839 -254 706 1 + -11.912 -16.635 14.491 0.131 -0.677 -0.724 -254 694 1 + -11.700 -16.975 14.744 -0.011 -0.451 -0.893 -254 694 1 + -11.489 -17.382 14.863 -0.151 -0.179 -0.972 -254 706 1 + -11.301 -17.816 14.837 -0.277 0.110 -0.955 -254 706 1 + -11.739 -16.237 13.906 0.015 -0.942 -0.334 -256 694 1 + -11.371 -16.209 13.635 -0.230 -0.961 -0.153 -256 694 1 + -11.035 -16.316 13.342 -0.454 -0.890 0.042 -256 543 1 + -10.762 -16.547 13.056 -0.636 -0.736 0.233 -256 543 1 + -10.579 -16.880 12.802 -0.758 -0.514 0.402 -256 543 1 + -11.784 -16.211 13.843 -0.045 -0.907 -0.418 -256 694 1 + -11.401 -16.192 13.593 -0.301 -0.920 -0.252 -256 694 1 + -11.060 -16.301 13.307 -0.528 -0.847 -0.061 -256 543 1 + -10.793 -16.529 13.013 -0.706 -0.695 0.135 -256 543 1 + -10.624 -16.854 12.738 -0.818 -0.478 0.318 -256 543 1 + -11.909 -16.150 13.690 0.038 -0.948 -0.316 -258 694 1 + -11.639 -16.089 13.296 -0.142 -0.988 -0.054 -258 694 1 + -11.391 -16.181 12.894 -0.308 -0.927 0.214 -258 541 1 + -11.190 -16.416 12.525 -0.441 -0.770 0.460 -258 541 1 + -11.058 -16.770 12.227 -0.530 -0.534 0.659 -258 541 1 + -12.225 -15.639 13.303 -0.425 -0.199 -0.883 -258 694 1 + -11.834 -15.774 13.058 -0.686 -0.109 -0.719 -258 694 1 + -11.549 -15.926 12.701 -0.877 -0.008 -0.481 -258 541 1 + -11.399 -16.079 12.270 -0.977 0.094 -0.194 -258 541 1 + -11.400 -16.218 11.809 -0.976 0.187 0.114 -258 541 1 + -12.569 -15.140 13.215 -0.197 -0.532 -0.824 -259 694 1 + -12.482 -14.819 12.902 -0.254 -0.746 -0.616 -259 665 1 + -12.431 -14.601 12.505 -0.288 -0.891 -0.351 -259 665 1 + -13.037 -14.891 13.321 -0.606 -0.315 -0.731 -259 694 1 + -12.932 -14.580 13.004 -0.676 -0.522 -0.520 -259 665 1 + -12.920 -14.342 12.616 -0.684 -0.681 -0.261 -259 665 1 + -12.032 -14.694 11.864 -0.554 -0.829 0.077 -261 665 1 + -11.727 -15.005 11.681 -0.758 -0.622 0.199 -261 665 1 + -11.535 -15.409 11.527 -0.886 -0.353 0.301 -261 541 1 + -11.474 -15.864 11.418 -0.926 -0.049 0.374 -261 541 1 + -12.516 -14.329 11.472 -0.351 -0.852 -0.389 -261 665 1 + -12.106 -14.557 11.411 -0.624 -0.700 -0.348 261 665 1 + -11.790 -14.889 11.297 -0.835 -0.479 -0.272 261 665 1 + -11.597 -15.292 11.144 -0.963 -0.210 -0.170 261 541 1 + -11.548 -15.727 10.965 -0.996 0.080 -0.050 261 541 1 + -11.648 -16.149 10.778 -0.929 0.361 0.074 -261 541 1 + -12.327 -14.042 10.955 -0.243 -0.688 -0.684 -261 665 1 + -11.960 -14.335 11.011 -0.487 -0.493 -0.721 261 665 1 + -11.666 -14.701 10.960 -0.683 -0.248 -0.687 261 665 1 + -11.474 -15.105 10.806 -0.811 0.020 -0.584 261 541 1 + -11.402 -15.505 10.565 -0.859 0.287 -0.424 261 541 1 + -11.459 -15.862 10.261 -0.821 0.526 -0.221 -261 541 1 + -11.631 -14.085 10.767 -0.179 -0.259 -0.949 -261 665 1 + -11.388 -14.490 10.753 -0.341 0.011 -0.940 -261 665 1 + -11.196 -14.893 10.600 -0.469 0.280 -0.837 -261 541 1 + -11.073 -15.255 10.321 -0.551 0.521 -0.652 -261 541 1 + -12.947 -13.125 10.610 -0.066 -0.418 -0.906 -264 665 1 + -13.386 -12.984 10.494 0.226 -0.512 -0.829 -264 654 1 + -13.791 -12.919 10.252 0.496 -0.555 -0.668 -264 654 1 + -12.742 -13.718 10.894 -0.480 -0.503 -0.719 -264 665 1 + -13.136 -13.453 10.867 -0.217 -0.679 -0.701 264 665 1 + -13.563 -13.290 10.734 0.067 -0.788 -0.613 264 654 1 + -13.980 -13.247 10.509 0.345 -0.817 -0.463 264 654 1 + -14.344 -13.326 10.214 0.588 -0.764 -0.266 -264 654 1 + -12.980 -13.942 11.325 -0.616 -0.631 -0.472 -264 665 1 + -13.337 -13.642 11.231 -0.378 -0.830 -0.410 264 665 1 + -13.751 -13.468 11.076 -0.102 -0.947 -0.306 264 654 1 + -14.180 -13.436 10.874 0.185 -0.968 -0.171 264 654 1 + -14.582 -13.550 10.646 0.453 -0.892 -0.019 -264 654 1 + -13.520 -13.665 11.650 -0.524 -0.849 -0.076 -264 665 1 + -13.922 -13.489 11.467 -0.255 -0.966 0.046 -264 654 1 + -14.363 -13.459 11.292 0.039 -0.986 0.163 -264 654 1 + -13.704 -12.757 10.161 0.438 -0.663 -0.607 -266 654 1 + -13.208 -12.695 10.303 0.107 -0.704 -0.702 -266 666 1 + -12.692 -12.760 10.319 -0.236 -0.661 -0.712 -266 666 1 + -13.685 -12.621 10.049 0.455 -0.539 -0.709 -266 654 1 + -13.191 -12.573 10.203 0.125 -0.571 -0.811 -266 666 1 + -12.675 -12.628 10.210 -0.219 -0.534 -0.816 -266 666 1 + -13.987 -12.406 9.470 0.656 -0.682 -0.323 -268 654 1 + -13.776 -12.151 9.122 0.515 -0.852 -0.091 -268 582 1 + -13.487 -12.027 8.760 0.322 -0.935 0.150 -268 582 1 + -14.053 -12.435 9.408 0.603 -0.706 -0.372 -268 654 1 + -13.838 -12.178 9.064 0.459 -0.877 -0.143 -268 582 1 + -13.553 -12.056 8.698 0.269 -0.958 0.100 -268 582 1 + -14.440 -12.859 9.274 0.861 -0.423 -0.284 -270 654 1 + -14.561 -12.989 8.808 0.941 -0.336 0.027 -270 654 1 + -14.526 -13.175 8.346 0.918 -0.212 0.335 -270 560 1 + -14.338 -13.396 7.939 0.793 -0.065 0.606 -270 560 1 + -14.708 -13.224 9.401 0.589 -0.793 -0.156 -270 654 1 + -14.778 -13.285 8.910 0.636 -0.753 0.172 -270 654 1 + -14.743 -13.470 8.448 0.612 -0.629 0.480 -270 560 1 + -14.606 -13.761 8.065 0.520 -0.435 0.735 -270 560 1 + -14.864 -13.379 9.483 0.692 -0.690 -0.211 -271 654 1 + -15.068 -13.581 9.065 0.829 -0.555 0.068 -271 654 1 + -15.130 -13.878 8.658 0.870 -0.357 0.339 -271 562 1 + -15.043 -14.237 8.310 0.812 -0.118 0.571 -271 562 1 + -15.292 -13.644 9.743 0.245 -0.968 0.061 -271 654 1 + -15.410 -13.793 9.272 0.323 -0.869 0.375 -271 654 1 + -15.472 -14.090 8.866 0.365 -0.671 0.646 -271 562 1 + -15.472 -14.503 8.570 0.364 -0.395 0.843 -271 562 1 + -14.593 -14.926 7.842 0.789 -0.042 0.614 -273 562 1 + -14.159 -14.434 7.587 0.499 -0.371 0.783 -273 560 1 + -14.184 -15.311 7.152 0.699 -0.139 0.701 -275 562 1 + -13.816 -15.432 6.871 0.454 -0.059 0.889 -275 556 1 + -14.377 -15.803 7.099 0.556 -0.502 0.662 -275 562 1 + -14.005 -15.913 6.819 0.308 -0.429 0.849 -275 556 1 + -14.688 -16.196 7.192 0.763 -0.240 0.600 -277 562 1 + -14.575 -16.665 7.009 0.688 0.072 0.722 -277 555 1 + -14.341 -17.121 6.955 0.532 0.377 0.759 -277 555 1 + -15.110 -16.008 7.759 0.493 -0.661 0.566 -277 562 1 + -15.049 -16.389 7.417 0.452 -0.406 0.794 277 562 1 + -14.907 -16.843 7.216 0.358 -0.104 0.928 277 555 1 + -14.702 -17.314 7.180 0.221 0.210 0.952 277 555 1 + -14.458 -17.749 7.312 0.058 0.500 0.864 -277 555 1 + -15.644 -16.221 7.808 0.188 -0.782 0.594 -277 562 1 + -15.482 -16.562 7.457 0.080 -0.555 0.828 277 562 1 + -15.305 -17.001 7.253 -0.038 -0.262 0.964 277 555 1 + -15.135 -17.487 7.219 -0.151 0.062 0.987 277 555 1 + -14.992 -17.962 7.361 -0.247 0.379 0.892 -277 555 1 + -16.168 -16.369 7.619 -0.112 -0.867 0.486 -277 562 1 + -15.907 -16.682 7.304 -0.286 -0.658 0.697 277 562 1 + -15.695 -17.111 7.112 -0.427 -0.372 0.824 277 555 1 + -15.560 -17.607 7.066 -0.517 -0.041 0.855 277 555 1 + -15.516 -18.109 7.172 -0.546 0.294 0.784 -277 555 1 + -16.587 -16.425 7.227 -0.351 -0.899 0.262 -277 562 1 + -16.246 -16.727 6.986 -0.579 -0.697 0.423 277 562 1 + -16.007 -17.153 6.820 -0.738 -0.413 0.534 277 555 1 + -15.900 -17.652 6.749 -0.810 -0.081 0.581 277 555 1 + -15.935 -18.166 6.780 -0.786 0.262 0.560 -277 555 1 + -16.825 -16.379 6.704 -0.487 -0.873 -0.037 -277 562 1 + -16.438 -16.690 6.562 -0.744 -0.666 0.058 277 562 1 + -16.184 -17.119 6.430 -0.914 -0.380 0.146 277 555 1 + -16.092 -17.615 6.324 -0.975 -0.049 0.216 277 555 1 + -16.172 -18.120 6.257 -0.921 0.288 0.261 -277 555 1 + -16.837 -16.240 6.144 -0.494 -0.793 -0.356 -277 562 1 + -16.448 -16.578 6.108 -0.752 -0.569 -0.332 277 562 1 + -16.193 -17.016 6.014 -0.923 -0.276 -0.269 277 555 1 + -16.102 -17.503 5.871 -0.984 0.048 -0.174 277 555 1 + -16.184 -17.981 5.698 -0.928 0.367 -0.059 -277 555 1 + -16.621 -16.033 5.651 -0.370 -0.675 -0.638 -277 562 1 + -16.274 -16.410 5.709 -0.602 -0.424 -0.676 277 562 1 + -16.033 -16.861 5.646 -0.763 -0.123 -0.635 277 555 1 + -15.927 -17.335 5.471 -0.833 0.193 -0.518 277 555 1 + -15.969 -17.774 5.204 -0.805 0.486 -0.340 -277 555 1 + -15.947 -16.217 5.436 -0.321 -0.258 -0.911 -277 562 1 + -15.732 -16.684 5.396 -0.464 0.053 -0.884 -277 555 1 + -15.600 -17.142 5.199 -0.552 0.359 -0.753 -277 555 1 + -15.778 -15.591 4.964 -0.433 -0.676 -0.596 -279 557 1 + -16.541 -15.280 5.169 -0.325 -0.245 -0.914 -279 562 1 + -16.077 -15.114 4.829 -0.634 -0.355 -0.687 279 557 1 + -15.765 -15.032 4.324 -0.842 -0.410 -0.351 -279 557 1 + -16.234 -14.556 4.849 -0.739 0.018 -0.674 -279 557 1 + -16.623 -14.108 5.086 -0.479 -0.280 -0.832 -280 561 1 + -17.098 -14.554 5.461 -0.643 0.170 -0.747 -280 562 1 + -16.983 -13.993 5.337 -0.719 -0.204 -0.664 280 561 1 + -17.034 -13.478 5.061 -0.685 -0.547 -0.480 -280 561 1 + -17.379 -14.400 5.829 -0.804 0.258 -0.536 -280 562 1 + -17.245 -13.850 5.680 -0.893 -0.109 -0.436 280 561 1 + -17.315 -13.325 5.430 -0.846 -0.459 -0.270 -280 561 1 + -17.529 -14.231 6.263 -0.889 0.355 -0.289 -280 562 1 + -17.384 -13.692 6.082 -0.986 -0.004 -0.168 280 561 1 + -17.465 -13.155 5.863 -0.932 -0.362 -0.022 -280 561 1 + -17.533 -14.060 6.721 -0.891 0.452 -0.027 -280 562 1 + -17.388 -13.534 6.508 -0.988 0.102 0.115 280 561 1 + -17.469 -12.984 6.321 -0.934 -0.265 0.239 -280 561 1 + -17.256 -13.390 6.917 -0.900 0.198 0.388 -280 561 1 + -16.198 -13.971 4.632 -0.763 -0.372 -0.529 -282 557 1 + -16.478 -13.282 4.464 -0.368 -0.435 -0.822 -282 561 1 + -16.043 -13.676 4.330 -0.659 -0.173 -0.732 282 557 1 + -15.766 -14.110 4.019 -0.843 0.117 -0.525 -282 557 1 + -15.798 -13.357 4.128 -0.494 0.041 -0.868 -282 557 1 + -15.821 -12.898 4.081 -0.480 -0.264 -0.837 -284 561 1 + -15.486 -12.891 3.813 -0.703 -0.269 -0.659 -284 563 1 + -15.237 -12.917 3.466 -0.869 -0.252 -0.427 -284 563 1 + -15.811 -12.266 4.060 -0.472 0.223 -0.853 -284 561 1 + -15.477 -12.301 3.794 -0.695 0.247 -0.676 -284 563 1 + -15.228 -12.306 3.445 -0.861 0.250 -0.444 -284 563 1 + -15.865 -11.825 4.126 -0.436 -0.071 -0.897 -286 561 1 + -15.605 -11.458 3.871 -0.609 -0.315 -0.728 -286 566 1 + -15.453 -11.148 3.488 -0.711 -0.522 -0.472 -286 566 1 + -16.492 -11.807 4.446 -0.376 0.408 -0.832 -286 561 1 + -16.093 -11.513 4.303 -0.642 0.211 -0.737 286 561 1 + -15.808 -11.180 4.029 -0.832 -0.010 -0.554 286 566 1 + -15.671 -10.850 3.657 -0.924 -0.230 -0.306 286 566 1 + -15.698 -10.560 3.230 -0.906 -0.423 -0.022 -286 566 1 + -16.591 -11.402 4.789 -0.432 0.639 -0.636 -286 561 1 + -16.170 -11.194 4.573 -0.712 0.500 -0.492 286 561 1 + -15.877 -10.896 4.270 -0.908 0.302 -0.290 286 566 1 + -15.745 -10.545 3.915 -0.996 0.068 -0.053 286 566 1 + -15.790 -10.182 3.551 -0.966 -0.174 0.189 -286 566 1 + -16.481 -11.059 5.191 -0.370 0.836 -0.406 -286 561 1 + -16.084 -10.923 4.890 -0.634 0.745 -0.206 286 561 1 + -15.800 -10.655 4.552 -0.824 0.567 0.020 286 566 1 + -15.662 -10.287 4.218 -0.916 0.321 0.242 286 566 1 + -15.687 -9.861 3.927 -0.899 0.037 0.437 -286 566 1 + -15.849 -10.748 5.197 -0.421 0.904 0.073 -286 561 1 + -15.590 -10.499 4.826 -0.594 0.738 0.321 -286 566 1 + -15.438 -10.119 4.512 -0.696 0.485 0.530 -286 566 1 + -15.843 -10.623 5.881 -0.425 0.821 -0.382 -287 561 1 + -15.575 -10.273 6.116 -0.604 0.587 -0.539 -287 581 1 + -15.408 -9.825 6.261 -0.716 0.289 -0.636 -287 581 1 + -16.481 -10.903 6.063 -0.369 0.925 0.092 -287 561 1 + -16.089 -10.678 6.277 -0.630 0.775 -0.051 287 561 1 + -15.803 -10.324 6.483 -0.821 0.539 -0.189 287 581 1 + -15.654 -9.880 6.658 -0.921 0.243 -0.305 287 581 1 + -15.657 -9.396 6.782 -0.918 -0.080 -0.388 -287 581 1 + -16.175 -10.838 6.711 -0.702 0.641 0.310 -287 561 1 + -15.883 -10.472 6.885 -0.897 0.397 0.194 -287 581 1 + -15.739 -10.040 7.091 -0.992 0.110 0.057 -287 581 1 + -15.119 -9.411 5.934 -0.908 0.012 -0.418 -289 581 1 + -14.998 -9.490 5.513 -0.988 0.065 -0.137 -289 581 1 + -15.009 -9.561 5.073 -0.981 0.113 0.156 -289 566 1 + -15.150 -9.617 4.653 -0.887 0.150 0.436 -289 566 1 + -15.097 -9.277 5.912 -0.889 0.134 -0.438 -289 581 1 + -14.980 -9.377 5.494 -0.967 0.200 -0.159 -289 581 1 + -14.991 -9.450 5.054 -0.959 0.249 0.134 -289 566 1 + -15.129 -9.490 4.632 -0.867 0.276 0.415 -289 566 1 + -15.487 -8.749 6.600 -0.821 0.290 -0.491 -290 581 1 + -15.251 -8.322 6.176 -0.978 0.006 -0.209 -290 579 1 + -15.480 -8.364 6.990 -0.817 0.510 -0.268 -290 581 1 + -15.245 -7.937 6.566 -0.974 0.225 0.014 -290 579 1 + -15.312 -8.046 7.404 -0.721 0.692 -0.032 -290 581 1 + -15.077 -7.619 6.980 -0.878 0.407 0.251 -290 579 1 + -14.950 -8.920 5.438 -0.987 -0.104 -0.122 -292 579 1 + -14.951 -9.122 5.009 -0.986 0.031 0.164 -292 566 1 + -15.100 -9.320 4.605 -0.887 0.163 0.433 -292 566 1 + -14.969 -8.168 5.545 -0.817 0.094 -0.569 -292 579 1 + -14.845 -8.454 5.188 -0.900 0.285 -0.331 292 579 1 + -14.856 -8.697 4.781 -0.893 0.447 -0.060 292 566 1 + -15.000 -8.874 4.365 -0.796 0.565 0.217 292 566 1 + -15.264 -8.966 3.982 -0.620 0.626 0.473 -292 566 1 + -14.511 -8.110 4.942 -0.620 0.572 -0.537 -292 579 1 + -14.551 -8.384 4.556 -0.594 0.754 -0.280 -292 566 1 + -14.680 -8.544 4.129 -0.508 0.861 0.005 -292 566 1 + -14.214 -7.747 4.842 -0.818 0.330 -0.471 -294 579 1 + -14.019 -7.680 4.349 -0.948 0.285 -0.142 -294 573 1 + -13.865 -7.157 5.059 -0.558 0.771 -0.308 -294 579 1 + -13.671 -7.090 4.566 -0.687 0.726 0.021 -294 573 1 + -14.001 -6.728 5.706 -0.467 0.484 -0.740 -295 579 1 + -13.897 -6.315 5.823 -0.537 0.209 -0.817 -295 579 1 + -13.862 -5.876 5.833 -0.560 -0.083 -0.824 -295 617 1 + -13.900 -5.448 5.737 -0.534 -0.369 -0.760 -295 617 1 + -14.566 -7.056 5.923 -0.586 0.729 -0.353 -295 579 1 + -14.325 -6.710 6.054 -0.746 0.499 -0.441 295 579 1 + -14.182 -6.300 6.128 -0.842 0.226 -0.490 295 579 1 + -14.147 -5.861 6.139 -0.865 -0.067 -0.497 295 617 1 + -14.224 -5.431 6.085 -0.813 -0.354 -0.461 295 617 1 + -14.407 -5.046 5.971 -0.692 -0.611 -0.386 -295 617 1 + -14.736 -7.056 6.484 -0.684 0.729 -0.033 -295 579 1 + -14.464 -6.710 6.509 -0.865 0.499 -0.049 295 579 1 + -14.303 -6.300 6.527 -0.972 0.225 -0.062 295 579 1 + -14.269 -5.861 6.538 -0.995 -0.067 -0.069 295 617 1 + -14.363 -5.431 6.540 -0.932 -0.354 -0.070 295 617 1 + -14.578 -5.046 6.532 -0.789 -0.611 -0.065 -295 617 1 + -14.388 -6.728 6.978 -0.800 0.484 0.354 -295 579 1 + -14.237 -6.316 6.939 -0.901 0.209 0.380 -295 579 1 + -14.202 -5.876 6.950 -0.924 -0.084 0.373 -295 617 1 + -14.287 -5.448 7.009 -0.867 -0.369 0.334 -295 617 1 + -13.648 -5.311 5.411 -0.702 -0.460 -0.543 -297 617 1 + -13.385 -5.618 5.205 -0.878 -0.255 -0.406 -297 617 1 + -13.243 -5.960 4.944 -0.973 -0.027 -0.231 -297 573 1 + -13.234 -6.306 4.650 -0.978 0.203 -0.036 -297 573 1 + -13.360 -6.624 4.352 -0.895 0.415 0.163 -297 573 1 + -13.645 -5.298 5.396 -0.699 -0.446 -0.560 -297 617 1 + -13.383 -5.608 5.194 -0.873 -0.239 -0.425 -297 617 1 + -13.241 -5.952 4.934 -0.968 -0.010 -0.252 -297 573 1 + -13.232 -6.297 4.639 -0.974 0.220 -0.055 -297 573 1 + -13.356 -6.611 4.337 -0.891 0.430 0.146 -297 573 1 + -14.262 -4.685 5.206 -0.287 -0.854 -0.434 -299 617 1 + -14.580 -4.492 4.806 -0.075 -0.983 -0.167 -299 620 1 + -14.413 -4.971 5.874 -0.695 -0.568 -0.441 -299 617 1 + -14.608 -4.620 5.504 -0.564 -0.802 -0.194 299 617 1 + -14.916 -4.429 5.096 -0.359 -0.930 0.078 299 620 1 + -15.295 -4.422 4.703 -0.106 -0.934 0.340 -299 620 1 + -14.732 -4.707 6.231 -0.877 -0.417 -0.237 -299 617 1 + -14.878 -4.397 5.805 -0.781 -0.623 0.047 299 617 1 + -15.178 -4.212 5.388 -0.580 -0.747 0.325 299 620 1 + -15.594 -4.175 5.036 -0.303 -0.772 0.559 -299 620 1 + -15.032 -4.048 6.064 -0.904 -0.343 0.255 -299 617 1 + -15.328 -3.872 5.641 -0.706 -0.461 0.537 -299 620 1 + -14.873 -4.022 7.148 -0.958 -0.025 0.287 -300 617 1 + -15.135 -3.420 6.899 -0.783 -0.427 0.453 -300 618 1 + -15.398 -3.673 5.755 -0.660 -0.593 0.461 -302 620 1 + -15.389 -3.272 6.368 -0.927 -0.342 0.150 -302 618 1 + -15.587 -3.298 5.826 -0.795 -0.325 0.512 302 620 1 + -15.963 -3.396 5.398 -0.545 -0.259 0.797 -302 620 1 + -15.492 -2.807 6.362 -0.986 -0.077 0.147 -302 618 1 + -15.679 -2.882 5.820 -0.861 -0.027 0.508 302 620 1 + -16.059 -2.962 5.392 -0.608 0.026 0.793 -302 620 1 + -15.476 -2.341 6.270 -0.977 0.190 0.095 -302 618 1 + -15.665 -2.463 5.738 -0.851 0.272 0.449 302 620 1 + -16.044 -2.526 5.306 -0.599 0.313 0.737 -302 620 1 + -15.343 -1.915 6.103 -0.901 0.433 -0.001 -302 618 1 + -15.546 -2.082 5.588 -0.766 0.544 0.342 302 620 1 + -15.920 -2.128 5.150 -0.517 0.575 0.634 -302 620 1 + -15.334 -1.774 5.384 -0.614 0.765 0.196 -302 620 1 + -14.727 -1.241 5.808 -0.549 0.818 -0.170 -304 618 1 + -14.835 -1.257 5.116 -0.477 0.829 0.292 -304 619 1 + -14.268 -1.039 5.732 -0.287 0.934 -0.213 -304 618 1 + -14.376 -1.055 5.040 -0.215 0.945 0.248 -304 619 1 + -13.770 -0.982 5.653 -0.002 0.966 -0.259 -304 618 1 + -13.878 -0.999 4.961 0.070 0.977 0.203 -304 619 1 + -13.136 -1.181 5.026 0.184 0.981 0.066 -306 621 1 + -13.124 -1.183 5.030 0.193 0.979 0.069 -306 621 1 + -12.755 -1.175 5.468 -0.053 0.973 -0.223 -308 618 1 + -12.255 -1.086 5.313 -0.387 0.914 -0.120 -308 596 1 + -12.570 -1.178 6.032 0.093 0.971 0.221 -308 618 1 + -12.075 -1.089 5.862 -0.237 0.912 0.335 -308 596 1 + -12.709 -1.187 6.518 0.186 0.977 -0.103 -310 618 1 + -12.347 -1.161 6.778 -0.056 0.960 -0.276 -310 618 1 + -11.992 -1.007 7.002 -0.292 0.857 -0.425 -310 609 1 + -11.676 -0.738 7.168 -0.503 0.678 -0.536 -310 609 1 + -11.427 -0.380 7.264 -0.669 0.439 -0.600 -310 609 1 + -12.977 -1.308 7.110 -0.095 0.850 0.517 -310 618 1 + -12.549 -1.252 7.224 -0.380 0.813 0.441 -310 618 1 + -12.171 -1.088 7.398 -0.632 0.703 0.325 -310 609 1 + -11.878 -0.830 7.614 -0.828 0.531 0.181 -310 609 1 + -11.694 -0.501 7.855 -0.950 0.312 0.020 -310 609 1 + -11.708 -0.189 8.369 -0.941 0.105 -0.322 -312 610 1 + -11.729 -0.262 8.465 -0.994 -0.077 -0.083 -312 610 1 + -12.871 -1.356 7.226 -0.165 0.883 0.440 -313 618 1 + -12.892 -1.429 7.321 -0.218 0.701 0.679 -313 618 1 + -13.061 -1.645 7.554 -0.105 0.845 0.524 -315 618 1 + -12.670 -1.700 7.895 -0.366 0.882 0.296 -315 607 1 + -12.345 -1.595 8.290 -0.583 0.812 0.033 -315 607 1 + -13.253 -1.857 7.755 -0.273 0.661 0.699 -315 618 1 + -12.846 -1.894 8.079 -0.544 0.686 0.483 -315 607 1 + -12.537 -1.807 8.491 -0.750 0.628 0.208 -315 607 1 + -13.423 -2.066 7.938 -0.160 0.801 0.577 -316 614 1 + -13.561 -2.134 7.980 -0.252 0.755 0.605 -316 614 1 + -12.697 -2.008 8.691 -0.643 0.762 0.075 -317 607 1 + -12.705 -2.017 8.716 -0.648 0.756 0.092 -317 607 1 + -11.888 -0.892 8.801 -0.887 0.343 -0.308 -318 607 1 + -11.811 -0.378 8.856 -0.939 0.001 -0.345 -318 610 1 + -11.953 -0.908 9.050 -0.936 0.330 -0.124 -318 607 1 + -11.876 -0.395 9.105 -0.987 -0.012 -0.161 -318 610 1 + -11.698 0.732 8.302 -0.758 -0.001 -0.652 -320 610 1 + -11.485 0.281 7.796 -0.900 0.300 -0.315 -320 609 1 + -11.756 1.185 8.473 -0.791 0.258 -0.554 -322 610 1 + -11.675 1.756 8.423 -0.845 -0.122 -0.521 -322 611 1 + -11.962 1.273 8.955 -0.909 0.308 -0.279 -322 610 1 + -11.868 1.838 8.873 -0.972 -0.068 -0.225 -322 611 1 + -12.000 1.370 9.475 -0.931 0.364 0.019 -322 610 1 + -11.904 1.929 9.360 -0.995 -0.008 0.095 -322 611 1 + -11.776 1.557 10.159 -0.914 0.360 0.187 -325 611 1 + -11.384 1.846 10.616 -0.616 0.579 0.534 -325 611 1 + -11.187 1.730 11.262 -0.747 0.657 0.103 -326 612 1 + -10.952 2.081 11.517 -0.904 0.423 -0.067 -326 33 1 + -10.864 2.501 11.762 -0.963 0.143 -0.230 -326 33 1 + -11.202 1.432 11.720 -0.761 0.383 0.524 -326 612 1 + -10.966 1.801 11.948 -0.918 0.137 0.371 -326 33 1 + -10.879 2.191 12.237 -0.976 -0.123 0.179 -326 33 1 + -10.814 2.784 11.529 -0.996 -0.046 -0.075 -328 33 1 + -10.850 2.617 11.078 -0.972 0.065 0.226 -328 611 1 + -11.037 2.461 10.661 -0.847 0.169 0.504 -328 611 1 + -10.778 3.548 11.695 -0.829 0.192 -0.525 -328 33 1 + -10.688 3.278 11.305 -0.890 0.372 -0.265 328 33 1 + -10.736 3.066 10.874 -0.858 0.514 0.023 328 611 1 + -10.917 2.934 10.447 -0.737 0.602 0.308 328 611 1 + -11.212 2.895 10.067 -0.540 0.628 0.561 -328 611 1 + -10.324 3.622 11.063 -0.581 0.664 -0.470 -328 33 1 + -10.405 3.379 10.654 -0.527 0.826 -0.198 -328 611 1 + -10.568 3.263 10.214 -0.418 0.903 0.095 -328 611 1 + -10.036 4.349 11.488 -0.405 0.650 -0.643 -330 33 1 + -9.731 4.217 10.963 -0.608 0.738 -0.292 -330 34 1 + -9.652 4.621 11.629 -0.186 0.806 -0.562 -330 33 1 + -9.369 4.474 11.096 -0.374 0.904 -0.207 -330 34 1 + -9.217 4.761 11.809 0.063 0.886 -0.460 -330 33 1 + -8.958 4.606 11.265 -0.109 0.989 -0.097 -330 34 1 + -8.333 4.610 11.783 0.028 0.981 -0.192 -332 32 1 + -8.135 4.619 12.135 0.156 0.987 0.034 -332 32 1 + -8.067 4.635 12.459 0.110 0.977 -0.182 -334 30 1 + -8.071 4.643 12.504 0.107 0.982 -0.153 -334 30 1 + -8.188 6.815 13.571 0.185 -0.466 -0.865 -336 12 1 + -8.783 7.372 13.572 -0.598 -0.625 -0.502 -336 12 1 + -8.532 6.877 13.677 -0.765 -0.294 -0.573 336 12 1 + -8.499 6.752 14.019 -0.674 -0.639 0.371 -336 12 1 + -8.688 5.028 12.952 0.519 0.726 -0.452 -337 33 1 + -9.517 4.947 12.724 -0.109 0.992 0.063 -337 33 1 + -9.055 5.094 13.065 -0.417 0.894 -0.164 337 33 1 + -9.020 4.961 13.430 -0.327 0.555 0.765 -337 33 1 + -9.673 4.314 13.927 -0.198 0.630 0.751 -339 33 1 + -9.177 4.236 14.294 -0.528 0.682 0.506 -339 31 1 + -9.858 3.939 14.113 -0.303 0.416 0.857 -339 33 1 + -9.352 3.882 14.470 -0.641 0.454 0.619 -339 31 1 + -9.967 3.506 14.215 -0.366 0.168 0.915 -339 33 1 + -9.455 3.473 14.566 -0.707 0.190 0.681 -339 31 1 + -9.990 3.048 14.224 -0.379 -0.093 0.921 -339 33 1 + -9.477 3.042 14.575 -0.721 -0.089 0.687 -339 31 1 + -9.927 2.602 14.140 -0.343 -0.348 0.873 -339 33 1 + -9.417 2.621 14.495 -0.683 -0.360 0.636 -339 31 1 + -9.555 1.702 13.686 -0.590 -0.575 0.567 -343 33 1 + -9.260 1.396 13.797 -0.787 -0.371 0.494 -343 33 1 + -9.066 1.042 13.970 -0.916 -0.135 0.378 -343 50 1 + -8.990 0.670 14.193 -0.967 0.113 0.229 -343 50 1 + -9.584 1.622 13.557 -0.615 -0.645 0.452 -343 33 1 + -9.284 1.327 13.686 -0.815 -0.449 0.367 -343 33 1 + -9.090 0.975 13.862 -0.945 -0.214 0.249 -343 50 1 + -9.017 0.594 14.070 -0.993 0.040 0.111 -343 50 1 + -9.189 0.057 14.803 -0.834 0.522 -0.178 -344 50 1 + -9.459 -0.124 15.136 -0.654 0.643 -0.399 -344 677 1 + -9.825 -0.212 15.411 -0.410 0.702 -0.583 -344 677 1 + -9.222 -0.036 14.727 -0.865 0.438 -0.247 -344 50 1 + -9.490 -0.210 15.065 -0.686 0.554 -0.472 -344 677 1 + -9.858 -0.305 15.335 -0.441 0.617 -0.652 -344 677 1 + -9.426 0.112 15.972 -0.049 0.996 -0.074 -349 677 1 + -9.089 0.178 15.658 -0.274 0.952 0.135 -349 50 1 + -8.790 0.382 15.364 -0.473 0.816 0.331 -349 50 1 + -9.319 0.115 16.085 0.049 0.998 0.029 -349 677 1 + -8.989 0.180 15.764 -0.172 0.955 0.244 -349 50 1 + -8.683 0.384 15.478 -0.375 0.819 0.434 -349 50 1 + -9.228 0.119 16.270 -0.012 0.996 -0.094 -351 677 1 + -8.815 0.176 16.117 -0.288 0.958 0.008 -351 48 1 + -8.440 0.358 15.965 -0.538 0.836 0.110 -351 48 1 + -9.138 0.116 16.502 0.063 0.993 0.102 -351 677 1 + -8.729 0.173 16.340 -0.210 0.955 0.210 -351 48 1 + -8.347 0.355 16.206 -0.464 0.833 0.299 -351 48 1 + -9.610 0.239 17.399 0.308 0.921 -0.239 -355 677 1 + -9.570 0.450 17.879 0.281 0.780 -0.559 -355 792 1 + -9.478 0.806 18.256 0.220 0.543 -0.811 -355 792 1 + -10.282 0.239 16.953 -0.148 0.976 0.162 -355 677 1 + -10.141 0.271 17.460 -0.242 0.954 -0.175 355 677 1 + -10.045 0.479 17.934 -0.306 0.815 -0.492 355 792 1 + -10.006 0.838 18.317 -0.332 0.576 -0.747 355 792 1 + -10.028 1.304 18.562 -0.317 0.266 -0.910 -355 792 1 + -10.575 0.046 17.679 -0.691 0.721 0.051 -355 677 1 + -10.434 0.278 18.130 -0.785 0.566 -0.250 -355 792 1 + -10.437 0.614 18.534 -0.783 0.342 -0.520 -355 792 1 + -8.923 1.520 18.520 -0.150 0.067 -0.986 -357 792 1 + -8.524 1.788 18.394 -0.416 -0.112 -0.903 -357 792 1 + -8.194 2.038 18.120 -0.636 -0.278 -0.720 -357 41 1 + -7.969 2.242 17.728 -0.786 -0.414 -0.458 -357 41 1 + -9.544 1.709 18.659 0.001 0.532 -0.846 -357 792 1 + -9.067 1.843 18.647 -0.317 0.443 -0.838 357 792 1 + -8.641 2.050 18.497 -0.601 0.305 -0.738 357 792 1 + -8.314 2.307 18.226 -0.819 0.134 -0.558 357 41 1 + -8.122 2.586 17.863 -0.947 -0.052 -0.316 357 41 1 + -8.085 2.856 17.448 -0.972 -0.232 -0.039 -357 41 1 + -9.566 2.095 19.007 -0.013 0.786 -0.618 -357 792 1 + -9.082 2.122 18.899 -0.335 0.768 -0.546 357 792 1 + -8.653 2.276 18.701 -0.621 0.666 -0.414 357 792 1 + -8.327 2.539 18.435 -0.839 0.490 -0.237 357 41 1 + -8.138 2.882 18.130 -0.965 0.261 -0.034 357 41 1 + -8.108 3.269 17.820 -0.985 0.004 0.173 -357 41 1 + -8.965 2.291 19.214 -0.199 0.963 -0.179 -357 792 1 + -8.559 2.412 18.956 -0.470 0.882 -0.007 -357 792 1 + -8.230 2.679 18.697 -0.690 0.705 0.166 -357 41 1 + -8.014 3.061 18.466 -0.834 0.450 0.320 -357 41 1 + -8.922 2.334 19.355 -0.228 0.935 -0.272 -359 792 1 + -8.477 2.489 19.223 -0.525 0.831 -0.185 -359 40 1 + -8.116 2.778 19.062 -0.766 0.639 -0.077 -359 40 1 + -9.261 2.393 19.956 0.188 0.982 0.007 -359 792 1 + -8.803 2.388 19.782 -0.117 0.985 0.123 359 792 1 + -8.364 2.541 19.627 -0.410 0.884 0.226 359 40 1 + -7.991 2.835 19.508 -0.659 0.688 0.305 359 40 1 + -7.723 3.239 19.438 -0.837 0.418 0.352 -359 40 1 + -9.032 2.250 20.420 0.338 0.888 0.312 -359 792 1 + -8.613 2.269 20.167 0.059 0.875 0.481 359 792 1 + -8.185 2.428 19.991 -0.227 0.769 0.598 359 40 1 + -7.793 2.710 19.911 -0.488 0.581 0.652 359 40 1 + -7.479 3.085 19.935 -0.697 0.331 0.636 -359 40 1 + -8.387 1.998 20.441 0.268 0.624 0.734 -359 792 1 + -7.971 2.172 20.250 -0.009 0.508 0.862 -359 40 1 + -7.557 2.427 20.197 -0.285 0.337 0.897 -359 40 1 + -8.434 1.563 21.086 0.285 0.896 0.339 -364 789 1 + -9.108 1.830 21.066 0.288 0.612 0.737 -364 792 1 + -8.757 1.486 21.364 0.054 0.841 0.538 364 789 1 + -8.394 1.327 21.781 -0.188 0.947 0.260 -364 789 1 + -9.461 1.638 21.272 0.056 0.485 0.873 -364 792 1 + -9.096 1.301 21.562 -0.187 0.710 0.679 364 789 1 + -8.772 1.121 22.002 -0.403 0.830 0.386 -364 789 1 + -9.795 1.352 21.376 -0.164 0.297 0.941 -364 792 1 + -9.416 1.027 21.662 -0.416 0.514 0.750 364 789 1 + -9.129 0.815 22.113 -0.608 0.655 0.449 -364 789 1 + -10.078 1.001 21.366 -0.350 0.066 0.934 -364 792 1 + -9.688 0.690 21.652 -0.610 0.273 0.743 364 789 1 + -9.432 0.439 22.103 -0.781 0.440 0.443 -364 789 1 + -10.284 0.617 21.244 -0.485 -0.186 0.854 -364 792 1 + -9.885 0.322 21.536 -0.751 0.011 0.660 364 789 1 + -9.652 0.029 21.973 -0.906 0.206 0.369 -364 789 1 + -9.988 -0.041 21.323 -0.825 -0.249 0.508 -364 789 1 + -9.874 -1.038 21.185 -0.868 -0.013 0.496 -368 790 1 + -9.832 -1.481 21.414 -0.896 0.282 0.343 -368 785 1 + -9.973 -1.177 20.938 -0.943 -0.118 0.310 -368 790 1 + -9.929 -1.617 21.173 -0.973 0.175 0.154 -368 785 1 + -9.725 -1.320 21.653 -0.967 0.175 0.183 -370 789 1 + -9.714 -1.901 22.252 -0.679 0.529 0.509 -370 785 1 + -9.511 -1.343 22.177 -0.814 0.158 0.558 370 789 1 + -9.502 -0.749 22.236 -0.821 -0.239 0.519 -370 789 1 + -9.114 -1.420 22.573 -0.530 0.103 0.842 -370 789 1 + -8.906 -1.964 22.966 -0.668 0.466 0.580 -372 785 1 + -8.623 -1.873 23.356 -0.857 0.405 0.320 -372 788 1 + -8.959 -2.316 23.088 -0.712 0.176 0.680 -372 785 1 + -8.676 -2.223 23.477 -0.900 0.115 0.420 -372 788 1 + -9.584 -2.870 22.931 -0.295 0.546 0.784 -374 785 1 + -9.873 -3.247 23.215 -0.102 0.797 0.595 -374 778 1 + -9.702 -2.313 22.537 -0.671 0.263 0.693 -374 785 1 + -9.886 -2.811 22.696 -0.549 0.595 0.587 374 785 1 + -10.183 -3.187 22.974 -0.351 0.846 0.401 374 778 1 + -10.551 -3.390 23.335 -0.106 0.981 0.161 -374 778 1 + -9.979 -2.347 22.190 -0.850 0.241 0.469 -374 785 1 + -10.127 -2.840 22.393 -0.751 0.570 0.333 374 785 1 + -10.429 -3.217 22.665 -0.549 0.822 0.152 374 778 1 + -10.844 -3.426 22.968 -0.273 0.961 -0.049 -374 778 1 + -10.280 -2.955 22.056 -0.879 0.474 0.051 -374 785 1 + -10.586 -3.335 22.320 -0.675 0.727 -0.125 -374 778 1 + -10.356 -3.030 21.837 -0.829 0.524 0.197 -375 775 1 + -10.394 -3.039 21.533 -0.856 0.517 -0.019 -375 775 1 + -11.176 -3.857 21.664 -0.811 0.585 0.000 -376 775 1 + -11.457 -3.962 22.306 -0.624 0.654 -0.428 -376 778 1 + -9.708 -3.422 23.587 -0.212 0.914 0.347 -378 778 1 + -9.266 -3.243 23.606 -0.507 0.794 0.334 -378 778 1 + -8.900 -2.943 23.675 -0.751 0.595 0.288 -378 788 1 + -8.649 -2.553 23.789 -0.918 0.334 0.212 -378 788 1 + -9.689 -3.472 23.707 -0.193 0.863 0.467 -378 778 1 + -9.250 -3.284 23.703 -0.486 0.738 0.469 -378 778 1 + -8.885 -2.983 23.770 -0.729 0.537 0.425 -378 788 1 + -8.631 -2.601 23.902 -0.898 0.282 0.337 -378 788 1 + -10.237 -3.646 24.241 0.172 0.979 0.111 -380 778 1 + -10.291 -3.612 24.716 0.208 0.956 -0.206 -380 781 1 + -10.708 -3.528 23.727 -0.195 0.902 0.385 -380 778 1 + -10.722 -3.644 24.192 -0.186 0.980 0.075 380 778 1 + -10.765 -3.611 24.668 -0.157 0.957 -0.243 380 781 1 + -10.832 -3.430 25.107 -0.113 0.837 -0.536 -380 781 1 + -11.224 -3.726 23.701 -0.490 0.789 0.370 -380 778 1 + -11.177 -3.819 24.169 -0.522 0.851 0.058 380 778 1 + -11.210 -3.781 24.646 -0.500 0.826 -0.260 380 781 1 + -11.319 -3.617 25.083 -0.427 0.716 -0.552 -380 781 1 + -11.636 -4.096 23.708 -0.726 0.578 0.374 -380 778 1 + -11.539 -4.144 24.175 -0.790 0.610 0.062 380 778 1 + -11.564 -4.100 24.652 -0.773 0.580 -0.256 380 781 1 + -11.707 -3.966 25.090 -0.678 0.491 -0.547 -380 781 1 + -11.886 -4.588 23.748 -0.869 0.297 0.396 -380 778 1 + -11.760 -4.578 24.210 -0.953 0.290 0.088 380 778 1 + -11.780 -4.523 24.686 -0.940 0.254 -0.229 380 781 1 + -11.944 -4.430 25.127 -0.830 0.192 -0.523 -380 781 1 + -11.809 -5.059 24.269 -0.989 -0.065 0.131 -380 778 1 + -11.828 -4.994 24.743 -0.977 -0.109 -0.185 -380 781 1 + -11.812 -5.360 24.337 -0.987 0.135 0.086 -382 780 1 + -11.931 -5.663 23.604 -0.894 -0.318 0.314 -382 778 1 + -11.802 -5.852 24.142 -0.980 -0.192 -0.044 382 780 1 + -11.897 -6.085 24.670 -0.918 -0.037 -0.396 -382 780 1 + -11.724 -6.154 23.404 -0.776 -0.598 0.200 -382 778 1 + -11.609 -6.308 23.956 -0.852 -0.496 -0.168 382 780 1 + -11.689 -6.576 24.469 -0.799 -0.317 -0.511 -382 780 1 + -11.258 -6.672 23.800 -0.618 -0.738 -0.272 -382 780 1 + -11.081 -6.859 22.963 -0.736 -0.613 0.287 -383 778 1 + -10.936 -7.272 22.735 -0.833 -0.338 0.438 -383 778 1 + -10.926 -7.740 22.579 -0.840 -0.026 0.542 -383 758 1 + -11.052 -8.212 22.511 -0.756 0.289 0.588 -383 758 1 + -11.205 -6.744 22.599 -0.865 -0.493 -0.093 -383 778 1 + -11.033 -7.182 22.449 -0.980 -0.201 0.007 -383 778 1 + -11.020 -7.652 22.300 -0.988 0.112 0.106 -383 758 1 + -11.168 -8.104 22.169 -0.889 0.414 0.194 -383 758 1 + -10.970 -8.418 22.789 -0.810 0.426 0.402 -385 758 1 + -10.758 -8.136 23.100 -0.951 0.238 0.195 -385 758 1 + -10.686 -7.819 23.439 -0.999 0.026 -0.031 -385 780 1 + -10.762 -7.497 23.774 -0.949 -0.188 -0.254 -385 780 1 + -10.977 -7.204 24.071 -0.805 -0.383 -0.452 -385 780 1 + -10.737 -8.784 23.129 -0.492 -0.077 0.867 -385 758 1 + -10.604 -8.379 23.325 -0.580 -0.347 0.737 -385 758 1 + -10.556 -8.024 23.630 -0.612 -0.583 0.533 -385 780 1 + -10.598 -7.756 24.013 -0.584 -0.763 0.278 -385 780 1 + -10.727 -7.599 24.437 -0.499 -0.867 -0.005 -385 780 1 + -10.550 -9.224 23.294 -0.616 0.216 0.757 -387 758 1 + -10.244 -9.216 23.633 -0.820 0.211 0.531 -387 758 1 + -10.052 -9.179 24.046 -0.949 0.187 0.256 -387 218 1 + -9.992 -9.116 24.495 -0.989 0.145 -0.044 -387 218 1 + -10.817 -9.944 23.068 -0.272 -0.287 0.918 -387 758 1 + -10.455 -9.788 23.300 -0.513 -0.391 0.764 387 758 1 + -10.164 -9.688 23.638 -0.707 -0.458 0.538 387 758 1 + -9.972 -9.651 24.051 -0.835 -0.483 0.263 387 218 1 + -9.896 -9.681 24.501 -0.886 -0.462 -0.037 387 218 1 + -9.944 -9.776 24.946 -0.854 -0.399 -0.334 -387 218 1 + -10.053 -10.166 23.146 -0.081 -0.797 0.599 -387 758 1 + -9.828 -10.003 23.510 -0.230 -0.905 0.357 -387 758 1 + -9.636 -9.966 23.923 -0.358 -0.930 0.081 -387 218 1 + -9.494 -10.058 24.348 -0.453 -0.868 -0.202 -387 218 1 + -9.899 -10.234 23.093 -0.183 -0.751 0.634 -389 758 1 + -9.540 -10.151 23.424 -0.423 -0.806 0.414 -389 758 1 + -9.249 -10.200 23.823 -0.616 -0.774 0.148 -389 217 1 + -9.060 -10.376 24.245 -0.742 -0.657 -0.134 -389 217 1 + -9.759 -10.333 22.978 -0.021 -0.865 0.501 -389 758 1 + -9.426 -10.231 23.331 -0.243 -0.933 0.266 -389 758 1 + -9.133 -10.282 23.727 -0.439 -0.899 0.002 -389 217 1 + -8.912 -10.481 24.123 -0.586 -0.767 -0.262 -389 217 1 + -9.599 -10.446 22.830 -0.128 -0.790 0.600 -391 758 1 + -9.126 -10.463 23.063 -0.443 -0.778 0.445 -391 224 1 + -9.575 -10.486 22.779 -0.109 -0.823 0.558 -391 758 1 + -9.102 -10.504 23.011 -0.424 -0.811 0.403 -391 224 1 + -10.294 -10.997 22.425 0.370 -0.482 0.794 -392 758 1 + -10.459 -11.451 22.328 0.480 -0.180 0.858 -392 755 1 + -10.526 -10.491 22.824 -0.080 -0.647 0.758 -392 758 1 + -10.698 -10.882 22.579 0.034 -0.387 0.922 392 758 1 + -10.865 -11.335 22.483 0.145 -0.084 0.986 392 755 1 + -11.008 -11.802 22.546 0.241 0.227 0.944 -392 755 1 + -11.118 -10.725 22.570 -0.314 -0.256 0.914 -392 758 1 + -11.286 -11.178 22.474 -0.202 0.046 0.978 -392 755 1 + -10.253 -11.605 22.212 0.343 -0.077 0.936 -394 755 1 + -9.909 -11.288 22.190 0.114 -0.288 0.951 -394 755 1 + -9.549 -11.013 22.307 -0.126 -0.472 0.873 -394 224 1 + -9.207 -10.806 22.551 -0.354 -0.609 0.710 -394 224 1 + -8.917 -10.689 22.900 -0.547 -0.687 0.477 -394 224 1 + -10.188 -11.673 22.175 0.429 -0.167 0.888 -394 755 1 + -9.865 -11.333 22.165 0.214 -0.393 0.894 -394 755 1 + -9.512 -11.051 22.286 -0.021 -0.581 0.814 -394 224 1 + -9.161 -10.854 22.526 -0.255 -0.712 0.654 -394 224 1 + -8.848 -10.761 22.861 -0.464 -0.774 0.431 -394 224 1 + -10.086 -12.257 22.149 0.361 0.223 0.905 -396 755 1 + -9.675 -12.447 22.107 0.087 0.349 0.933 -396 753 1 + -9.252 -12.588 22.194 -0.195 0.444 0.875 -396 753 1 + -10.190 -12.505 22.215 0.273 0.011 0.962 -396 755 1 + -9.774 -12.684 22.171 -0.004 0.130 0.992 -396 753 1 + -9.359 -12.845 22.263 -0.281 0.237 0.930 -396 753 1 + -10.374 -12.876 22.336 0.396 0.258 0.881 -398 748 1 + -11.032 -13.147 22.496 -0.072 0.065 0.995 -398 748 1 + -11.373 -13.047 22.507 0.155 -0.002 0.988 -399 755 1 + -11.466 -13.485 22.591 0.217 0.290 0.932 -399 755 1 + -11.529 -13.883 22.804 0.259 0.555 0.790 -399 741 1 + -11.556 -14.203 23.126 0.277 0.769 0.575 -399 741 1 + -11.628 -13.004 22.511 -0.113 0.043 0.993 -399 755 1 + -11.680 -13.449 22.595 -0.078 0.340 0.937 -399 755 1 + -11.742 -13.847 22.807 -0.037 0.605 0.795 -399 741 1 + -11.809 -14.161 23.130 0.008 0.814 0.580 -399 741 1 + -11.312 -14.279 23.148 0.115 0.820 0.561 -401 741 1 + -11.063 -14.022 22.849 -0.051 0.648 0.760 -401 748 1 + -11.185 -14.343 23.200 0.213 0.771 0.601 -401 741 1 + -10.933 -14.088 22.903 0.045 0.600 0.799 -401 748 1 + -10.992 -14.646 23.771 0.084 0.972 0.220 -403 741 1 + -10.564 -14.653 23.993 -0.201 0.977 0.072 -403 380 1 + -10.167 -14.509 24.225 -0.466 0.881 -0.083 -403 380 1 + -11.654 -14.728 24.090 0.198 0.708 0.678 -403 741 1 + -11.199 -14.847 24.195 -0.105 0.788 0.607 403 741 1 + -10.760 -14.844 24.395 -0.398 0.786 0.474 403 380 1 + -10.383 -14.720 24.668 -0.649 0.702 0.292 403 380 1 + -10.107 -14.486 24.987 -0.833 0.547 0.080 -403 380 1 + -11.795 -15.205 24.447 0.105 0.395 0.913 -403 741 1 + -11.317 -15.247 24.495 -0.213 0.423 0.881 403 741 1 + -10.872 -15.223 24.680 -0.510 0.407 0.758 403 380 1 + -10.507 -15.137 24.981 -0.754 0.349 0.557 403 380 1 + -10.257 -14.996 25.369 -0.920 0.255 0.298 -403 380 1 + -11.318 -15.750 24.599 -0.214 -0.037 0.976 -403 741 1 + -10.874 -15.700 24.778 -0.511 -0.070 0.857 -403 380 1 + -10.508 -15.662 25.090 -0.755 -0.095 0.649 -403 380 1 + -11.338 -15.965 24.603 -0.201 0.107 0.974 -405 741 1 + -10.912 -16.108 24.788 -0.486 0.202 0.851 -405 381 1 + -10.562 -16.219 25.107 -0.719 0.276 0.638 -405 381 1 + -11.916 -16.302 24.496 0.025 -0.327 0.945 -405 741 1 + -11.438 -16.380 24.540 -0.293 -0.275 0.916 405 741 1 + -11.006 -16.501 24.728 -0.581 -0.195 0.790 405 381 1 + -10.666 -16.652 25.041 -0.808 -0.094 0.582 405 381 1 + -10.453 -16.819 25.445 -0.950 0.017 0.312 -405 381 1 + -11.921 -16.755 24.246 0.023 -0.625 0.780 -405 741 1 + -11.442 -16.757 24.331 -0.297 -0.623 0.724 405 741 1 + -11.010 -16.858 24.531 -0.585 -0.556 0.591 405 381 1 + -10.670 -17.047 24.823 -0.811 -0.430 0.396 405 381 1 + -10.458 -17.303 25.178 -0.953 -0.259 0.159 -405 381 1 + -11.348 -17.033 24.014 -0.210 -0.877 0.431 -405 741 1 + -10.921 -17.120 24.230 -0.495 -0.820 0.287 -405 381 1 + -10.572 -17.335 24.491 -0.728 -0.676 0.113 -405 381 1 + -11.851 -17.449 23.475 0.125 -0.600 0.790 -407 741 1 + -11.870 -17.927 23.236 0.137 -0.282 0.950 -407 738 1 + -12.143 -17.440 23.481 -0.131 -0.593 0.795 -407 741 1 + -12.163 -17.918 23.242 -0.117 -0.274 0.954 -407 738 1 + -12.530 -17.254 23.645 0.127 -0.717 0.686 -408 741 1 + -12.892 -17.542 23.522 0.369 -0.525 0.767 -408 742 1 + -12.461 -16.776 24.115 -0.333 -0.638 0.694 -408 741 1 + -12.816 -16.979 23.867 -0.096 -0.502 0.859 408 741 1 + -13.186 -17.260 23.750 0.150 -0.315 0.937 408 742 1 + -13.532 -17.589 23.777 0.382 -0.096 0.919 -408 742 1 + -12.768 -16.395 24.200 -0.535 -0.388 0.750 -408 741 1 + -13.097 -16.632 23.945 -0.316 -0.231 0.920 408 741 1 + -13.474 -16.903 23.831 -0.064 -0.050 0.997 408 742 1 + -13.861 -17.182 23.868 0.194 0.136 0.972 -408 742 1 + -13.032 -15.983 24.118 -0.709 -0.117 0.696 -408 741 1 + -13.339 -16.254 23.869 -0.504 0.064 0.861 408 741 1 + -13.722 -16.516 23.753 -0.249 0.238 0.939 408 742 1 + -14.144 -16.741 23.780 0.032 0.388 0.921 -408 742 1 + -13.509 -15.896 23.649 -0.638 0.344 0.689 -408 741 1 + -13.897 -16.148 23.527 -0.379 0.512 0.771 -408 742 1 + -12.733 -18.166 23.235 0.263 -0.109 0.959 -410 738 1 + -13.484 -18.401 23.429 0.409 -0.560 0.720 -410 742 1 + -12.990 -18.605 23.156 0.079 -0.424 0.902 410 738 1 + -12.476 -18.911 23.101 -0.264 -0.220 0.939 -410 738 1 + -13.249 -18.970 22.902 -0.107 -0.686 0.720 -410 738 1 + -14.135 -18.627 23.435 0.037 -0.689 0.724 -411 742 1 + -14.576 -19.135 23.206 0.331 -0.350 0.876 -411 743 1 + -14.524 -18.366 23.605 -0.185 -0.540 0.821 -411 742 1 + -14.964 -18.875 23.376 0.108 -0.201 0.973 -411 743 1 + -14.907 -18.050 23.640 -0.404 -0.360 0.841 -411 742 1 + -15.348 -18.559 23.411 -0.111 -0.021 0.994 -411 743 1 + -15.252 -17.706 23.537 -0.601 -0.163 0.783 -411 742 1 + -15.692 -18.214 23.309 -0.307 0.176 0.935 -411 743 1 + -15.528 -17.362 23.306 -0.759 0.034 0.650 -411 742 1 + -15.968 -17.870 23.077 -0.465 0.372 0.803 -411 743 1 + -15.712 -17.049 22.966 -0.864 0.213 0.456 -411 742 1 + -16.153 -17.557 22.737 -0.571 0.551 0.609 -411 743 1 + -13.745 -19.221 22.744 0.224 -0.519 0.825 -413 743 1 + -13.237 -19.213 22.716 -0.114 -0.524 0.844 -413 738 1 + -14.224 -19.734 22.525 0.531 -0.693 0.488 -413 743 1 + -13.754 -19.582 22.406 0.218 -0.794 0.567 413 743 1 + -13.245 -19.566 22.385 -0.121 -0.805 0.581 413 738 1 + -12.758 -19.690 22.464 -0.446 -0.722 0.528 -413 738 1 + -13.761 -19.787 21.956 0.212 -0.951 0.224 -413 743 1 + -13.252 -19.767 21.945 -0.127 -0.965 0.231 -413 738 1 + -13.853 -19.847 21.831 0.274 -0.911 0.307 -415 743 1 + -13.439 -19.838 21.695 -0.002 -0.917 0.398 -415 743 1 + -13.026 -19.945 21.609 -0.278 -0.846 0.455 -415 730 1 + -12.647 -20.160 21.581 -0.530 -0.703 0.474 -415 730 1 + -12.336 -20.463 21.613 -0.738 -0.501 0.453 -415 730 1 + -13.937 -19.914 21.436 0.190 -0.978 -0.089 -415 743 1 + -13.504 -19.890 21.387 -0.098 -0.994 -0.057 -415 743 1 + -13.085 -19.992 21.331 -0.378 -0.926 -0.020 -415 730 1 + -12.712 -20.211 21.273 -0.626 -0.779 0.019 -415 730 1 + -12.420 -20.529 21.218 -0.821 -0.568 0.056 -415 730 1 + -14.409 -20.151 20.894 0.505 -0.819 0.272 -417 746 1 + -14.784 -20.226 21.527 0.211 -0.974 -0.083 -417 743 1 + -14.803 -20.300 20.943 0.224 -0.925 0.307 417 746 1 + -14.771 -20.587 20.429 0.202 -0.733 0.649 -417 746 1 + -15.255 -20.263 21.528 -0.058 -0.995 -0.082 -417 743 1 + -15.226 -20.333 20.943 -0.077 -0.948 0.307 417 746 1 + -15.215 -20.622 20.430 -0.084 -0.756 0.650 -417 746 1 + -15.715 -20.168 21.474 -0.320 -0.941 -0.113 -417 743 1 + -15.639 -20.247 20.895 -0.371 -0.888 0.273 417 746 1 + -15.649 -20.532 20.379 -0.364 -0.698 0.617 -417 746 1 + -16.003 -20.051 20.803 -0.631 -0.748 0.207 -417 746 1 + -16.494 -19.630 21.474 -0.765 -0.633 -0.113 -418 743 1 + -16.645 -19.587 20.784 -0.664 -0.662 0.347 -418 744 1 + -16.758 -19.213 21.558 -0.916 -0.395 -0.065 -418 743 1 + -16.910 -19.169 20.868 -0.815 -0.424 0.395 -418 744 1 + -16.890 -18.733 21.617 -0.992 -0.121 -0.031 -418 743 1 + -17.042 -18.690 20.927 -0.891 -0.150 0.429 -418 744 1 + -16.606 -19.764 20.312 -0.641 -0.763 0.077 -419 744 1 + -16.346 -20.192 19.933 -0.814 -0.478 0.329 -419 746 1 + -16.809 -19.535 19.894 -0.757 -0.633 -0.162 -419 744 1 + -16.538 -19.976 19.539 -0.938 -0.339 0.075 -419 746 1 + -16.861 -19.243 19.470 -0.787 -0.466 -0.404 -419 744 1 + -16.587 -19.700 19.139 -0.970 -0.161 -0.183 -419 746 1 + -13.946 -20.281 20.325 0.196 -0.733 0.651 -421 746 1 + -13.510 -20.225 20.356 -0.094 -0.770 0.631 -421 746 1 + -13.087 -20.268 20.469 -0.377 -0.741 0.555 -421 730 1 + -12.712 -20.408 20.653 -0.627 -0.648 0.433 -421 730 1 + -12.418 -20.631 20.893 -0.822 -0.500 0.272 -421 730 1 + -13.900 -20.401 20.126 0.249 -0.873 0.420 -421 746 1 + -13.476 -20.315 20.206 -0.034 -0.930 0.367 -421 746 1 + -13.056 -20.350 20.333 -0.314 -0.906 0.282 -421 730 1 + -12.676 -20.502 20.497 -0.567 -0.805 0.173 -421 730 1 + -12.370 -20.758 20.683 -0.771 -0.635 0.049 -421 730 1 + -13.929 -20.634 19.729 0.200 -0.888 0.415 -426 746 1 + -13.486 -20.663 19.621 -0.095 -0.868 0.487 -426 746 1 + -13.056 -20.812 19.581 -0.382 -0.769 0.513 -426 746 1 + -12.679 -21.069 19.613 -0.633 -0.597 0.492 -426 723 1 + -12.390 -21.409 19.713 -0.825 -0.371 0.426 -426 723 1 + -12.216 -21.801 19.872 -0.941 -0.109 0.319 -426 723 1 + -13.951 -20.683 19.578 0.161 -0.976 0.144 -426 746 1 + -13.494 -20.681 19.565 -0.143 -0.978 0.152 -426 746 1 + -13.057 -20.815 19.573 -0.435 -0.889 0.147 -426 746 1 + -12.680 -21.073 19.602 -0.686 -0.717 0.128 -426 723 1 + -12.399 -21.431 19.648 -0.873 -0.478 0.097 -426 723 1 + -12.240 -21.855 19.708 -0.979 -0.195 0.057 -426 723 1 + -14.169 -20.876 19.146 0.307 -0.848 0.432 -428 746 1 + -13.898 -21.080 18.757 0.126 -0.712 0.691 -428 746 1 + -13.605 -21.411 18.491 -0.069 -0.491 0.868 -428 713 1 + -13.324 -21.829 18.379 -0.256 -0.213 0.943 -428 713 1 + -14.932 -20.977 19.200 0.098 -0.985 -0.144 -428 746 1 + -14.536 -20.980 18.871 -0.167 -0.983 0.076 428 746 1 + -14.168 -21.157 18.554 -0.412 -0.865 0.287 428 746 1 + -13.874 -21.487 18.289 -0.608 -0.645 0.463 428 713 1 + -13.688 -21.932 18.106 -0.732 -0.348 0.585 428 713 1 + -13.631 -22.439 18.027 -0.770 -0.010 0.638 -428 713 1 + -15.224 -20.757 18.600 -0.090 -0.843 -0.531 -428 746 1 + -14.731 -20.832 18.469 -0.419 -0.793 -0.443 428 746 1 + -14.312 -21.048 18.259 -0.698 -0.649 -0.303 428 746 1 + -14.017 -21.379 17.995 -0.895 -0.428 -0.127 428 713 1 + -13.881 -21.786 17.708 -0.986 -0.157 0.064 428 713 1 + -13.920 -22.221 17.433 -0.960 0.133 0.248 -428 713 1 + -15.116 -20.269 18.107 -0.021 -0.528 -0.849 -428 746 1 + -14.659 -20.506 18.138 -0.326 -0.371 -0.870 428 746 1 + -14.259 -20.808 18.015 -0.592 -0.169 -0.788 428 746 1 + -13.964 -21.140 17.752 -0.789 0.052 -0.612 428 713 1 + -13.810 -21.462 17.381 -0.892 0.267 -0.365 428 713 1 + -13.813 -21.738 16.945 -0.890 0.451 -0.074 -428 713 1 + -14.355 -20.160 18.041 0.067 0.076 -0.995 -428 746 1 + -14.035 -20.553 17.944 -0.146 0.338 -0.930 -428 746 1 + -13.741 -20.886 17.681 -0.342 0.560 -0.755 -428 713 1 + -13.508 -21.120 17.285 -0.497 0.716 -0.490 -428 713 1 + -14.213 -19.507 17.948 -0.028 -0.359 -0.933 -429 746 1 + -13.768 -19.324 17.771 -0.324 -0.482 -0.814 -429 746 1 + -13.380 -19.225 17.450 -0.582 -0.548 -0.601 -429 707 1 + -13.095 -19.222 17.025 -0.773 -0.550 -0.317 -429 707 1 + -14.344 -19.013 17.940 -0.195 0.270 -0.943 -429 746 1 + -13.866 -18.957 17.765 -0.514 0.233 -0.826 -429 746 1 + -13.478 -18.860 17.444 -0.773 0.168 -0.612 -429 707 1 + -13.225 -18.733 17.017 -0.941 0.083 -0.327 -429 707 1 + -12.774 -19.816 16.634 -0.986 -0.154 -0.056 -431 707 1 + -12.793 -20.345 16.713 -0.974 0.199 -0.109 -431 713 1 + -12.998 -20.836 16.771 -0.837 0.526 -0.148 -431 713 1 + -12.763 -19.830 16.549 -0.974 -0.169 -0.148 -431 707 1 + -12.783 -20.357 16.637 -0.961 0.183 -0.207 -431 713 1 + -12.987 -20.850 16.686 -0.825 0.511 -0.240 -431 713 1 + -12.771 -19.723 16.246 -0.969 -0.240 0.054 -433 707 1 + -12.749 -20.145 16.067 -0.984 0.041 0.173 -433 711 1 + -12.896 -19.101 15.906 -0.841 -0.346 -0.415 -433 707 1 + -12.740 -19.507 15.760 -0.945 -0.075 -0.318 433 707 1 + -12.717 -19.924 15.569 -0.961 0.203 -0.191 433 711 1 + -12.828 -20.312 15.351 -0.886 0.462 -0.045 -433 711 1 + -12.636 -18.867 15.449 -0.670 -0.192 -0.717 -433 707 1 + -12.500 -19.291 15.337 -0.761 0.090 -0.642 433 707 1 + -12.470 -19.702 15.135 -0.781 0.364 -0.507 433 711 1 + -12.551 -20.062 14.862 -0.727 0.604 -0.325 -433 711 1 + -12.092 -19.111 15.047 -0.449 0.228 -0.864 -433 707 1 + -12.052 -19.517 14.838 -0.475 0.499 -0.724 -433 711 1 + -11.931 -19.051 14.966 -0.556 0.189 -0.810 -435 707 1 + -11.757 -19.399 14.666 -0.672 0.421 -0.610 -435 707 1 + -11.691 -19.680 14.268 -0.715 0.608 -0.344 -435 715 1 + -11.741 -19.863 13.814 -0.682 0.730 -0.042 -435 715 1 + -11.876 -19.005 14.943 -0.492 0.241 -0.836 -435 707 1 + -11.712 -19.362 14.647 -0.601 0.479 -0.639 -435 707 1 + -11.645 -19.641 14.248 -0.646 0.666 -0.373 -435 715 1 + -11.682 -19.814 13.789 -0.621 0.781 -0.068 -435 715 1 + -11.498 -19.163 14.546 -0.744 0.347 -0.572 -438 706 1 + -11.483 -19.500 14.176 -0.754 0.571 -0.325 -438 715 1 + -11.594 -19.741 13.751 -0.680 0.732 -0.042 -438 715 1 + -11.070 -18.937 14.330 -0.385 0.535 -0.752 -438 706 1 + -11.086 -19.291 13.976 -0.374 0.771 -0.516 -438 715 1 + -11.166 -19.516 13.535 -0.321 0.921 -0.223 -438 715 1 + -10.740 -18.319 14.382 -0.605 0.123 -0.787 -439 706 1 + -10.445 -18.128 14.098 -0.802 -0.005 -0.598 -439 706 1 + -10.259 -17.937 13.734 -0.926 -0.132 -0.355 -439 543 1 + -10.199 -17.764 13.321 -0.966 -0.247 -0.079 -439 543 1 + -10.270 -17.625 12.897 -0.918 -0.340 0.203 -439 543 1 + -10.766 -18.138 14.458 -0.634 0.325 -0.702 -439 706 1 + -10.463 -17.999 14.153 -0.835 0.232 -0.499 -439 706 1 + -10.274 -17.827 13.780 -0.961 0.118 -0.250 -439 543 1 + -10.216 -17.640 13.372 -1.000 -0.007 0.021 -439 543 1 + -10.294 -17.454 12.968 -0.948 -0.131 0.291 -439 543 1 + -10.351 -18.034 12.454 -0.864 -0.067 0.499 -441 543 1 + -10.390 -18.548 12.496 -0.838 0.275 0.471 -441 543 1 + -10.578 -19.013 12.622 -0.713 0.585 0.386 -441 715 1 + -10.894 -19.374 12.817 -0.502 0.826 0.256 -441 715 1 + -10.377 -18.037 12.404 -0.896 -0.071 0.438 -441 543 1 + -10.410 -18.551 12.458 -0.874 0.272 0.402 -441 543 1 + -10.599 -19.016 12.583 -0.748 0.582 0.319 -441 715 1 + -10.921 -19.377 12.765 -0.534 0.822 0.197 -441 715 1 + -10.800 -17.940 11.895 -0.614 -0.136 0.777 -444 541 1 + -10.746 -18.383 11.947 -0.650 0.160 0.743 -444 541 1 + -10.779 -18.805 12.099 -0.628 0.441 0.641 -444 715 1 + -10.898 -19.167 12.338 -0.549 0.682 0.482 -444 715 1 + -11.090 -19.437 12.641 -0.421 0.863 0.280 -444 715 1 + -11.077 -18.175 11.315 -0.909 -0.385 0.162 -444 541 1 + -10.953 -18.559 11.513 -0.991 -0.129 0.030 -444 541 1 + -10.963 -18.960 11.715 -0.985 0.138 -0.105 -444 715 1 + -11.105 -19.343 11.904 -0.890 0.393 -0.231 -444 715 1 + -11.367 -19.673 12.061 -0.715 0.613 -0.335 -444 715 1 + -11.625 -17.730 10.026 -0.926 -0.206 0.316 -448 539 1 + -11.723 -17.062 10.354 -0.973 -0.160 -0.169 -448 541 1 + -11.708 -17.363 9.828 -0.982 0.041 0.182 448 539 1 + -11.934 -17.654 9.346 -0.832 0.235 0.503 -448 539 1 + -11.684 -16.670 10.115 -0.950 0.064 -0.305 -448 541 1 + -11.672 -17.001 9.607 -0.958 0.285 0.033 448 539 1 + -11.895 -17.262 9.107 -0.809 0.459 0.367 -448 539 1 + -11.518 -16.316 9.872 -0.855 0.266 -0.444 -448 541 1 + -11.519 -16.674 9.383 -0.855 0.505 -0.118 448 539 1 + -11.729 -16.908 8.864 -0.715 0.662 0.228 -448 539 1 + -11.239 -16.028 9.644 -0.696 0.431 -0.574 -448 541 1 + -11.262 -16.408 9.172 -0.682 0.684 -0.259 448 539 1 + -11.451 -16.621 8.637 -0.555 0.826 0.098 -448 539 1 + -10.921 -16.226 8.994 -0.452 0.807 -0.380 -448 539 1 + -10.534 -15.894 9.010 -0.710 0.585 -0.391 -450 541 1 + -10.345 -15.835 8.488 -0.837 0.546 -0.043 -450 535 1 + -10.181 -15.546 9.171 -0.425 0.867 -0.260 -450 541 1 + -10.000 -15.495 8.645 -0.546 0.833 0.090 -450 535 1 + -10.038 -15.233 9.596 -0.521 0.658 -0.544 -452 541 1 + -9.696 -14.959 9.474 -0.748 0.476 -0.462 -452 531 1 + -9.458 -14.620 9.289 -0.907 0.250 -0.339 -452 531 1 + -10.050 -15.178 9.682 -0.530 0.701 -0.477 -452 541 1 + -9.708 -14.907 9.555 -0.758 0.520 -0.393 -452 531 1 + -9.470 -14.565 9.375 -0.917 0.292 -0.272 -452 531 1 + -10.534 -15.078 10.084 -0.207 0.634 -0.745 -453 541 1 + -10.631 -14.720 10.327 -0.143 0.396 -0.907 -453 541 1 + -10.746 -14.311 10.452 -0.066 0.123 -0.990 -453 666 1 + -10.870 -13.886 10.447 0.017 -0.160 -0.987 -453 666 1 + -10.992 -13.482 10.313 0.098 -0.430 -0.898 -453 666 1 + -10.939 -15.211 10.228 -0.641 0.491 -0.590 -453 541 1 + -10.928 -14.818 10.433 -0.648 0.230 -0.727 -453 541 1 + -11.003 -14.396 10.543 -0.598 -0.052 -0.800 -453 666 1 + -11.156 -13.980 10.549 -0.496 -0.329 -0.804 -453 666 1 + -11.373 -13.607 10.449 -0.351 -0.577 -0.737 -453 666 1 + -10.605 -13.174 10.100 -0.160 -0.635 -0.756 -455 666 1 + -10.135 -13.320 10.013 -0.473 -0.538 -0.698 -455 666 1 + -9.745 -13.555 9.810 -0.734 -0.381 -0.563 -455 531 1 + -9.476 -13.854 9.514 -0.913 -0.182 -0.365 -455 531 1 + -10.522 -12.885 9.930 -0.065 -0.303 -0.951 -455 666 1 + -10.069 -13.087 9.876 -0.367 -0.168 -0.915 -455 666 1 + -9.676 -13.317 9.670 -0.629 -0.015 -0.778 -455 531 1 + -9.388 -13.550 9.335 -0.821 0.140 -0.554 -455 531 1 + -11.169 -12.366 9.544 0.363 -0.593 -0.718 -460 666 1 + -11.299 -12.122 9.180 0.450 -0.756 -0.476 -460 666 1 + -11.366 -11.984 8.751 0.495 -0.848 -0.190 -460 580 1 + -11.365 -11.963 8.295 0.494 -0.862 0.114 -460 580 1 + -11.485 -12.851 9.838 -0.077 -0.479 -0.874 -460 666 1 + -11.558 -12.491 9.568 -0.028 -0.719 -0.694 460 666 1 + -11.635 -12.231 9.201 0.023 -0.893 -0.450 460 666 1 + -11.709 -12.094 8.772 0.073 -0.984 -0.164 460 580 1 + -11.773 -12.094 8.320 0.115 -0.984 0.138 460 580 1 + -11.821 -12.231 7.888 0.147 -0.893 0.426 -460 580 1 + -11.955 -12.442 9.655 -0.428 -0.670 -0.606 -460 666 1 + -11.979 -12.189 9.276 -0.412 -0.840 -0.354 -460 666 1 + -12.059 -12.051 8.849 -0.358 -0.931 -0.069 -460 580 1 + -12.190 -12.043 8.412 -0.271 -0.936 0.223 -460 580 1 + -12.129 -12.422 9.735 -0.312 -0.684 -0.660 -461 666 1 + -12.309 -12.146 9.433 -0.192 -0.868 -0.458 -461 666 1 + -12.515 -11.986 9.070 -0.055 -0.975 -0.216 -461 582 1 + -12.727 -11.955 8.678 0.087 -0.995 0.045 -461 582 1 + -12.294 -12.415 9.832 -0.473 -0.677 -0.564 -461 666 1 + -12.453 -12.140 9.518 -0.367 -0.860 -0.355 -461 666 1 + -12.661 -11.979 9.157 -0.228 -0.967 -0.114 -461 582 1 + -12.900 -11.947 8.780 -0.069 -0.988 0.137 -461 582 1 + -13.329 -12.334 7.848 0.395 -0.808 0.438 -464 582 1 + -13.587 -12.695 7.608 0.567 -0.567 0.598 -464 560 1 + -13.749 -13.153 7.469 0.675 -0.261 0.690 -464 560 1 + -13.511 -12.311 8.000 0.241 -0.788 0.566 -464 582 1 + -13.756 -12.674 7.748 0.404 -0.546 0.734 -464 560 1 + -13.931 -13.130 7.621 0.521 -0.242 0.818 -464 560 1 + -13.634 -13.259 7.337 0.598 -0.191 0.779 -466 560 1 + -13.393 -12.886 7.328 0.437 -0.439 0.785 -466 560 1 + -13.095 -12.572 7.421 0.238 -0.649 0.722 -466 580 1 + -12.765 -12.342 7.609 0.019 -0.802 0.597 -466 580 1 + -13.442 -13.371 7.105 0.764 -0.288 0.578 -466 560 1 + -13.225 -12.985 7.124 0.619 -0.546 0.565 -466 560 1 + -12.927 -12.670 7.218 0.420 -0.756 0.502 -466 580 1 + -12.574 -12.455 7.377 0.185 -0.899 0.396 -466 580 1 + -13.215 -13.665 6.793 0.612 -0.093 0.786 -468 560 1 + -12.759 -13.551 6.567 0.308 -0.169 0.936 -468 559 1 + -13.188 -14.007 6.666 0.632 -0.359 0.687 -468 560 1 + -12.734 -13.884 6.443 0.329 -0.441 0.835 -468 559 1 + -13.315 -14.638 6.654 0.716 0.062 0.695 -469 556 1 + -13.745 -15.106 6.898 0.406 -0.276 0.871 -469 556 1 + -12.733 -14.654 6.283 0.328 0.073 0.942 -471 556 1 + -12.489 -14.231 6.251 0.166 -0.209 0.964 -471 559 1 + -12.489 -14.802 6.169 0.528 -0.049 0.848 -471 556 1 + -12.247 -14.378 6.137 0.367 -0.332 0.869 -471 559 1 + -12.321 -15.501 6.229 0.416 0.417 0.808 -473 556 1 + -11.942 -15.716 6.222 0.163 0.560 0.812 -473 556 1 + -11.543 -15.859 6.319 -0.103 0.656 0.748 -473 556 1 + -11.157 -15.920 6.510 -0.360 0.696 0.621 -473 535 1 + -10.816 -15.893 6.779 -0.588 0.678 0.441 -473 535 1 + -10.549 -15.780 7.104 -0.765 0.603 0.225 -473 535 1 + -12.336 -15.530 6.249 0.393 0.373 0.841 -473 556 1 + -11.950 -15.730 6.233 0.135 0.506 0.852 -473 556 1 + -11.547 -15.866 6.324 -0.133 0.597 0.791 -473 556 1 + -11.160 -15.927 6.515 -0.391 0.638 0.664 -473 535 1 + -10.823 -15.907 6.789 -0.616 0.624 0.481 -473 535 1 + -10.564 -15.809 7.125 -0.788 0.559 0.257 -473 535 1 + -12.405 -15.695 6.374 0.439 0.483 0.758 -475 556 1 + -12.066 -16.030 6.498 0.213 0.706 0.675 -475 549 1 + -13.126 -15.634 6.662 0.324 -0.019 0.946 -475 556 1 + -12.806 -16.006 6.630 0.111 0.229 0.967 475 556 1 + -12.468 -16.341 6.754 -0.115 0.452 0.885 475 549 1 + -12.148 -16.603 7.020 -0.328 0.627 0.707 -475 549 1 + -13.206 -16.409 6.635 -0.217 -0.101 0.971 -475 556 1 + -12.868 -16.744 6.758 -0.443 0.122 0.888 -475 549 1 + -13.757 -16.589 6.608 0.150 0.019 0.989 -476 556 1 + -13.905 -17.084 6.735 0.249 0.349 0.904 -476 555 1 + -13.762 -16.587 6.609 0.145 0.020 0.989 -476 556 1 + -13.910 -17.082 6.736 0.244 0.350 0.904 -476 555 1 + -13.517 -17.460 6.891 -0.010 0.600 0.800 -478 555 1 + -13.030 -17.303 6.888 -0.335 0.495 0.802 -478 549 1 + -13.483 -17.565 6.962 0.017 0.520 0.854 -478 555 1 + -12.996 -17.405 6.957 -0.308 0.413 0.857 -478 549 1 + -13.495 -17.825 7.162 0.025 0.693 0.720 -480 555 1 + -13.020 -17.896 7.335 -0.292 0.740 0.606 -480 555 1 + -12.595 -17.838 7.612 -0.575 0.701 0.421 -480 539 1 + -12.270 -17.658 7.963 -0.792 0.581 0.187 -480 539 1 + -14.098 -18.235 7.442 0.264 0.223 0.938 -480 555 1 + -13.590 -18.257 7.397 -0.075 0.237 0.969 480 555 1 + -13.094 -18.238 7.521 -0.405 0.225 0.886 480 555 1 + -12.670 -18.180 7.798 -0.688 0.186 0.701 480 539 1 + -12.365 -18.089 8.198 -0.892 0.126 0.435 480 539 1 + -12.214 -17.977 8.673 -0.992 0.051 0.118 -480 539 1 + -13.995 -18.923 7.429 0.323 -0.171 0.931 -480 555 1 + -13.516 -18.752 7.388 0.003 -0.285 0.958 480 555 1 + -13.036 -18.630 7.513 -0.317 -0.366 0.875 480 555 1 + -12.611 -18.572 7.791 -0.600 -0.405 0.690 480 539 1 + -12.291 -18.584 8.188 -0.814 -0.397 0.425 480 539 1 + -12.112 -18.665 8.660 -0.933 -0.343 0.111 -480 539 1 + -13.301 -19.128 7.137 0.230 -0.682 0.694 -480 555 1 + -12.866 -18.928 7.315 -0.060 -0.815 0.576 -480 555 1 + -12.441 -18.870 7.592 -0.343 -0.854 0.391 -480 539 1 + -12.076 -18.960 7.938 -0.587 -0.794 0.160 -480 539 1 + -13.325 -19.779 6.773 0.246 -0.248 0.937 -482 554 1 + -14.033 -19.777 7.006 0.301 -0.659 0.689 -482 555 1 + -13.638 -20.087 6.704 0.038 -0.452 0.891 482 554 1 + -13.235 -20.500 6.605 -0.231 -0.177 0.957 -482 554 1 + -14.375 -20.044 6.806 0.106 -0.811 0.575 -482 555 1 + -13.956 -20.335 6.518 -0.174 -0.617 0.767 482 554 1 + -13.577 -20.767 6.405 -0.426 -0.329 0.842 -482 554 1 + -14.693 -20.223 6.498 -0.076 -0.914 0.399 -482 555 1 + -14.252 -20.501 6.231 -0.370 -0.729 0.576 482 554 1 + -13.895 -20.946 6.097 -0.608 -0.432 0.666 -482 554 1 + -14.958 -20.300 6.108 -0.228 -0.958 0.176 -482 555 1 + -14.498 -20.573 5.869 -0.534 -0.776 0.335 482 554 1 + -14.160 -21.023 5.707 -0.760 -0.476 0.443 -482 554 1 + -15.148 -20.267 5.670 -0.336 -0.939 -0.074 -482 555 1 + -14.675 -20.542 5.462 -0.652 -0.756 0.064 482 554 1 + -14.350 -20.990 5.269 -0.868 -0.457 0.193 -482 554 1 + -15.246 -20.127 5.224 -0.392 -0.859 -0.329 -482 555 1 + -14.766 -20.412 5.047 -0.712 -0.669 -0.212 482 554 1 + -14.448 -20.850 4.823 -0.924 -0.377 -0.062 -482 554 1 + -14.763 -20.194 4.660 -0.711 -0.524 -0.469 -482 554 1 + -15.427 -19.479 4.543 -0.496 -0.489 -0.718 -484 555 1 + -14.941 -19.579 4.047 -0.820 -0.422 -0.387 -484 553 1 + -15.502 -18.990 4.371 -0.538 -0.209 -0.816 -484 555 1 + -15.016 -19.090 3.875 -0.863 -0.142 -0.485 -484 553 1 + -15.461 -18.471 4.307 -0.515 0.087 -0.853 -484 555 1 + -14.974 -18.571 3.811 -0.839 0.154 -0.522 -484 553 1 + -14.962 -17.636 4.231 -0.657 0.148 -0.740 -486 555 1 + -14.726 -17.275 3.981 -0.814 -0.093 -0.573 -486 551 1 + -15.133 -17.267 4.604 -0.779 0.413 -0.471 -486 555 1 + -14.897 -16.905 4.355 -0.937 0.172 -0.305 -486 551 1 + -15.280 -17.180 4.857 -0.681 0.356 -0.640 -487 555 1 + -15.151 -16.754 4.854 -0.767 0.072 -0.638 -487 555 1 + -15.124 -16.319 4.767 -0.785 -0.218 -0.580 -487 557 1 + -15.200 -15.913 4.603 -0.734 -0.489 -0.471 -487 557 1 + -15.334 -17.162 4.931 -0.729 0.372 -0.575 -487 555 1 + -15.199 -16.738 4.919 -0.819 0.089 -0.567 -487 555 1 + -15.172 -16.303 4.832 -0.837 -0.201 -0.509 -487 557 1 + -15.255 -15.894 4.678 -0.782 -0.474 -0.406 -487 557 1 + -14.996 -15.994 4.242 -0.870 -0.435 -0.230 -489 551 1 + -14.875 -15.761 3.769 -0.790 -0.281 -0.545 -489 551 1 + -14.897 -15.528 3.636 -0.776 -0.436 -0.456 -491 557 1 + -14.662 -15.799 3.337 -0.932 -0.255 -0.257 -491 552 1 + -15.165 -14.901 3.540 -0.499 -0.335 -0.799 -491 557 1 + -14.827 -15.158 3.345 -0.724 -0.164 -0.670 491 557 1 + -14.594 -15.439 3.054 -0.879 0.023 -0.475 491 552 1 + -14.489 -15.716 2.694 -0.949 0.208 -0.235 -491 552 1 + -14.612 -14.784 3.146 -0.567 0.111 -0.816 -491 557 1 + -14.385 -15.074 2.860 -0.718 0.305 -0.625 -491 552 1 + -14.674 -14.015 3.047 -0.526 -0.401 -0.750 -492 563 1 + -15.281 -14.143 3.506 -0.566 0.098 -0.819 -492 557 1 + -14.997 -13.715 3.219 -0.756 -0.187 -0.627 492 563 1 + -14.886 -13.330 2.787 -0.829 -0.444 -0.340 -492 563 1 + -15.195 -13.376 3.484 -0.897 0.054 -0.439 -492 563 1 + -14.310 -14.023 2.676 -0.768 -0.396 -0.503 -494 563 1 + -14.178 -14.454 2.678 -0.857 -0.108 -0.504 -494 552 1 + -14.161 -14.899 2.612 -0.868 0.189 -0.460 -494 552 1 + -14.230 -14.000 2.555 -0.696 -0.376 -0.612 -494 563 1 + -14.102 -14.432 2.564 -0.781 -0.087 -0.618 -494 552 1 + -14.081 -14.877 2.490 -0.795 0.209 -0.569 -494 552 1 + -14.181 -13.621 2.046 -0.729 -0.628 -0.273 -496 563 1 + -14.030 -13.726 1.586 -0.829 -0.558 0.034 -496 568 1 + -14.389 -13.020 1.852 -0.891 -0.157 -0.425 -496 563 1 + -14.243 -13.111 1.387 -0.989 -0.096 -0.116 -496 568 1 + -14.431 -12.723 1.752 -0.863 -0.355 -0.359 -498 567 1 + -14.579 -12.033 1.969 -0.969 0.140 -0.203 -498 567 1 + -14.833 -11.753 2.562 -0.800 -0.047 -0.598 -499 563 1 + -14.952 -11.287 2.556 -0.720 -0.358 -0.594 -499 566 1 + -15.051 -11.802 3.064 -0.978 -0.087 -0.189 -499 563 1 + -15.170 -11.336 3.056 -0.899 -0.397 -0.184 -499 566 1 + -14.809 -11.110 2.157 -0.816 -0.476 -0.329 -501 566 1 + -14.590 -11.434 1.794 -0.962 -0.260 -0.087 -501 567 1 + -15.162 -10.489 2.134 -0.554 -0.377 -0.743 -501 566 1 + -14.791 -10.767 1.870 -0.801 -0.191 -0.567 501 566 1 + -14.572 -11.082 1.499 -0.947 0.018 -0.320 501 567 1 + -14.532 -11.393 1.067 -0.974 0.225 -0.032 -501 567 1 + -14.979 -10.079 1.903 -0.433 -0.106 -0.895 -501 566 1 + -14.629 -10.404 1.666 -0.667 0.110 -0.737 501 566 1 + -14.405 -10.708 1.289 -0.816 0.313 -0.486 501 567 1 + -14.336 -10.953 0.820 -0.862 0.477 -0.173 -501 567 1 + -14.346 -10.071 1.572 -0.432 0.387 -0.815 -501 566 1 + -14.114 -10.366 1.193 -0.586 0.584 -0.562 -501 567 1 + -14.194 -9.645 1.610 -0.533 0.103 -0.840 -503 566 1 + -13.819 -9.570 1.280 -0.783 0.054 -0.620 -503 566 1 + -13.577 -9.486 0.845 -0.944 -0.002 -0.330 -503 501 1 + -13.496 -9.403 0.354 -0.998 -0.058 -0.003 -503 501 1 + -13.584 -9.329 -0.138 -0.940 -0.107 0.325 -503 501 1 + -13.997 -9.248 1.756 -0.194 0.785 -0.589 -503 566 1 + -13.722 -9.375 1.352 -0.377 0.869 -0.319 -503 566 1 + -13.512 -9.355 0.894 -0.518 0.855 -0.014 -503 501 1 + -13.389 -9.189 0.433 -0.599 0.745 0.293 -503 501 1 + -13.368 -8.896 0.022 -0.613 0.550 0.567 -503 501 1 + -13.955 -8.707 2.192 -0.221 0.427 -0.877 -506 566 1 + -13.638 -8.366 2.196 -0.432 0.200 -0.879 -506 573 1 + -14.591 -8.730 2.353 -0.177 0.781 -0.599 -506 566 1 + -14.220 -8.471 2.461 -0.425 0.609 -0.670 506 566 1 + -13.910 -8.124 2.471 -0.631 0.378 -0.677 506 573 1 + -13.691 -7.724 2.385 -0.777 0.111 -0.620 -506 573 1 + -14.797 -8.565 2.757 -0.313 0.889 -0.333 -506 566 1 + -14.410 -8.319 2.833 -0.572 0.725 -0.384 506 566 1 + -14.105 -7.969 2.853 -0.775 0.492 -0.397 506 573 1 + -13.912 -7.548 2.816 -0.904 0.211 -0.373 -506 573 1 + -14.900 -8.512 3.225 -0.381 0.924 -0.025 -506 566 1 + -14.504 -8.270 3.264 -0.644 0.763 -0.051 506 566 1 + -14.202 -7.919 3.296 -0.846 0.529 -0.072 506 573 1 + -14.022 -7.491 3.317 -0.966 0.244 -0.087 -506 573 1 + -14.491 -8.329 3.705 -0.634 0.718 0.288 -506 566 1 + -14.188 -7.979 3.748 -0.835 0.485 0.259 -506 573 1 + -13.513 -8.564 2.062 -0.515 0.332 -0.790 -508 565 1 + -13.512 -8.564 2.061 -0.514 0.332 -0.791 -508 565 1 + -13.070 -8.136 1.754 -0.809 0.047 -0.586 -510 573 1 + -12.875 -8.268 1.351 -0.939 0.135 -0.317 -510 573 1 + -12.817 -8.381 0.901 -0.978 0.210 -0.018 -510 501 1 + -12.900 -8.463 0.449 -0.922 0.264 0.284 -510 501 1 + -13.118 -8.507 0.038 -0.776 0.293 0.558 -510 501 1 + -13.054 -8.079 1.741 -0.791 0.112 -0.601 -510 573 1 + -12.864 -8.228 1.342 -0.918 0.212 -0.334 -510 573 1 + -12.807 -8.347 0.893 -0.956 0.291 -0.036 -510 501 1 + -12.890 -8.423 0.440 -0.901 0.341 0.267 -510 501 1 + -13.103 -8.449 0.025 -0.759 0.359 0.543 -510 501 1 + -13.307 -7.219 1.932 -0.740 -0.253 -0.624 -514 583 1 + -13.753 -7.466 2.555 -0.813 0.258 -0.523 -514 573 1 + -13.576 -6.968 2.307 -0.931 -0.075 -0.357 514 583 1 + -13.610 -6.487 1.978 -0.908 -0.395 -0.138 -514 583 1 + -13.848 -7.156 3.041 -0.867 0.435 -0.245 -514 573 1 + -13.661 -6.689 2.744 -0.991 0.123 -0.047 514 583 1 + -13.700 -6.194 2.437 -0.966 -0.207 0.158 -514 583 1 + -13.550 -6.422 3.183 -0.912 0.313 0.265 -514 583 1 + -14.578 -4.533 3.925 -0.227 -0.946 -0.230 -515 620 1 + -14.529 -4.536 4.136 -0.109 -0.954 0.280 -515 620 1 + -13.505 -6.452 3.642 -0.942 0.333 -0.042 -516 573 1 + -13.453 -6.455 3.867 -0.827 0.325 0.459 -516 573 1 + -14.574 -4.494 3.647 -0.229 -0.972 -0.045 -518 620 1 + -14.163 -4.668 3.406 -0.503 -0.856 0.116 -518 620 1 + -13.838 -4.990 3.184 -0.720 -0.642 0.264 -518 583 1 + -13.637 -5.421 3.008 -0.854 -0.354 0.381 -518 583 1 + -14.657 -4.425 3.426 -0.334 -0.885 -0.325 -518 620 1 + -14.226 -4.616 3.238 -0.621 -0.758 -0.200 -518 620 1 + -13.901 -4.937 3.016 -0.838 -0.543 -0.052 -518 583 1 + -13.720 -5.352 2.785 -0.958 -0.267 0.102 -518 583 1 + -15.121 -4.262 3.110 -0.024 -0.993 -0.114 -520 620 1 + -15.100 -4.282 2.645 -0.039 -0.980 0.196 -520 620 1 + -15.084 -4.444 2.208 -0.049 -0.872 0.487 -520 590 1 + -15.075 -4.732 1.842 -0.055 -0.680 0.731 -520 590 1 + -15.683 -4.233 3.483 -0.361 -0.810 -0.463 -520 620 1 + -15.524 -4.147 3.053 -0.467 -0.867 -0.176 520 620 1 + -15.434 -4.187 2.598 -0.527 -0.840 0.127 520 620 1 + -15.419 -4.348 2.161 -0.537 -0.732 0.418 520 590 1 + -15.482 -4.616 1.785 -0.495 -0.554 0.669 520 590 1 + -15.617 -4.964 1.505 -0.405 -0.322 0.856 -520 590 1 + -16.062 -3.846 3.328 -0.611 -0.555 -0.565 -520 620 1 + -15.810 -3.856 2.937 -0.779 -0.548 -0.304 520 620 1 + -15.669 -3.946 2.501 -0.873 -0.488 -0.014 520 620 1 + -15.656 -4.107 2.064 -0.882 -0.381 0.278 520 590 1 + -15.770 -4.323 1.667 -0.806 -0.237 0.542 520 590 1 + -16.000 -4.573 1.349 -0.652 -0.070 0.755 -520 590 1 + -16.182 -3.330 3.135 -0.690 -0.216 -0.691 -520 620 1 + -15.899 -3.469 2.792 -0.878 -0.123 -0.463 520 620 1 + -15.744 -3.626 2.382 -0.982 -0.018 -0.189 520 620 1 + -15.730 -3.785 1.944 -0.991 0.088 0.103 520 590 1 + -15.860 -3.932 1.521 -0.904 0.186 0.384 520 590 1 + -16.121 -4.052 1.154 -0.730 0.266 0.629 -520 590 1 + -16.010 -2.823 2.957 -0.576 0.117 -0.809 -520 620 1 + -15.770 -3.089 2.658 -0.736 0.294 -0.610 520 620 1 + -15.637 -3.311 2.271 -0.825 0.443 -0.351 520 620 1 + -15.623 -3.469 1.833 -0.834 0.548 -0.060 520 590 1 + -15.730 -3.549 1.386 -0.763 0.601 0.238 520 590 1 + -15.947 -3.541 0.974 -0.618 0.596 0.513 -520 590 1 + -15.592 -2.463 2.840 -0.301 0.354 -0.885 -520 620 1 + -15.456 -2.818 2.570 -0.392 0.591 -0.705 520 620 1 + -15.377 -3.087 2.198 -0.445 0.770 -0.457 520 620 1 + -15.362 -3.245 1.760 -0.454 0.875 -0.165 520 590 1 + -15.413 -3.276 1.298 -0.420 0.896 0.143 520 590 1 + -15.525 -3.177 0.857 -0.346 0.830 0.437 -520 590 1 + -15.042 -2.730 2.553 0.062 0.687 -0.724 -520 620 1 + -15.035 -3.015 2.184 0.057 0.877 -0.478 -520 620 1 + -15.019 -3.172 1.746 0.046 0.982 -0.186 -520 590 1 + -14.996 -3.187 1.281 0.031 0.992 0.124 -520 590 1 + -14.725 -2.613 2.636 -0.149 0.609 -0.779 -522 620 1 + -14.430 -2.797 2.348 -0.347 0.732 -0.587 -522 620 1 + -14.181 -2.882 1.980 -0.512 0.788 -0.342 -522 587 1 + -14.002 -2.859 1.566 -0.631 0.773 -0.066 -522 587 1 + -14.667 -2.567 2.665 -0.090 0.656 -0.750 -522 620 1 + -14.379 -2.757 2.373 -0.282 0.782 -0.555 -522 620 1 + -14.129 -2.840 2.006 -0.449 0.838 -0.310 -522 587 1 + -13.940 -2.810 1.597 -0.574 0.818 -0.038 -522 587 1 + -14.423 -2.189 2.860 -0.253 0.404 -0.879 -524 621 1 + -14.478 -1.806 3.154 -0.295 0.695 -0.656 -524 621 1 + -15.236 -1.621 3.558 -0.067 0.908 -0.413 -525 620 1 + -14.719 -1.389 3.708 -0.411 0.753 -0.513 -525 619 1 + -15.431 -1.521 4.016 -0.195 0.974 -0.112 -525 620 1 + -14.929 -1.282 4.198 -0.531 0.815 -0.233 -525 619 1 + -15.591 -1.585 4.493 -0.301 0.932 0.202 -525 620 1 + -15.100 -1.351 4.708 -0.628 0.776 0.058 -525 619 1 + -14.324 -1.283 3.644 -0.185 0.815 -0.550 -526 619 1 + -13.829 -1.242 3.329 -0.515 0.787 -0.340 -526 621 1 + -14.061 -1.048 4.057 -0.035 0.949 -0.314 -526 619 1 + -13.584 -1.022 3.714 -0.353 0.932 -0.086 -526 621 1 + -13.736 -0.982 4.487 0.151 0.986 -0.068 -526 619 1 + -13.280 -0.961 4.116 -0.153 0.972 0.179 -526 621 1 + -13.772 -2.276 2.383 -0.687 0.462 -0.562 -528 621 1 + -13.700 -2.486 2.011 -0.735 0.602 -0.313 -528 587 1 + -13.720 -2.620 1.599 -0.722 0.691 -0.039 -528 587 1 + -13.441 -1.686 2.584 -0.259 0.495 -0.829 -528 621 1 + -13.343 -1.993 2.295 -0.325 0.700 -0.636 528 621 1 + -13.285 -2.212 1.925 -0.364 0.846 -0.390 528 587 1 + -13.273 -2.326 1.507 -0.372 0.922 -0.111 528 587 1 + -13.307 -2.324 1.075 -0.349 0.920 0.177 -528 587 1 + -12.856 -1.584 2.602 0.126 0.562 -0.818 -528 621 1 + -12.829 -1.904 2.310 0.107 0.775 -0.623 528 621 1 + -12.788 -2.126 1.940 0.080 0.923 -0.377 528 587 1 + -12.737 -2.233 1.523 0.046 0.994 -0.099 528 587 1 + -12.681 -2.215 1.094 0.009 0.982 0.188 -528 587 1 + -12.335 -2.027 2.426 0.523 0.671 -0.526 -528 621 1 + -12.311 -2.245 2.052 0.507 0.817 -0.276 -528 587 1 + -12.223 -2.361 1.644 0.448 0.894 -0.004 -528 587 1 + -12.020 -2.070 2.601 0.313 0.700 -0.643 -530 621 1 + -11.702 -2.316 2.378 0.100 0.864 -0.494 -530 585 1 + -11.369 -2.440 2.085 -0.121 0.947 -0.298 -530 585 1 + -12.015 -2.068 2.606 0.317 0.701 -0.639 -530 621 1 + -11.697 -2.314 2.382 0.105 0.866 -0.490 -530 585 1 + -11.365 -2.438 2.090 -0.117 0.948 -0.295 -530 585 1 + -11.771 -1.728 2.947 0.154 0.475 -0.867 -532 621 1 + -11.222 -1.635 2.976 -0.212 0.413 -0.886 -532 595 1 + -12.395 -1.264 3.132 0.429 0.772 -0.469 -532 621 1 + -11.864 -1.330 3.290 0.075 0.816 -0.574 532 621 1 + -11.317 -1.226 3.328 -0.290 0.747 -0.599 532 595 1 + -10.830 -0.967 3.242 -0.614 0.574 -0.542 -532 595 1 + -11.943 -1.129 3.777 0.007 0.988 -0.156 -532 621 1 + -11.399 -1.019 3.829 -0.356 0.915 -0.191 -532 595 1 + -12.121 -1.079 3.950 0.125 0.954 -0.271 -533 621 1 + -11.739 -0.996 4.170 -0.129 0.899 -0.418 -533 596 1 + -12.728 -0.972 4.088 0.210 0.964 0.160 -533 621 1 + -12.339 -1.023 4.307 -0.049 0.999 0.014 533 621 1 + -11.957 -0.941 4.527 -0.304 0.944 -0.132 533 596 1 + -11.616 -0.731 4.730 -0.531 0.804 -0.267 -533 596 1 + -12.531 -1.109 4.672 -0.203 0.930 0.307 -533 621 1 + -12.149 -1.027 4.893 -0.458 0.875 0.160 -533 596 1 + -10.981 -0.489 4.766 -0.114 0.963 -0.244 -535 596 1 + -10.507 -0.395 4.303 -0.429 0.901 0.065 -535 595 1 + -10.446 -0.438 5.722 0.113 0.966 -0.234 -536 596 1 + -10.335 -0.268 6.155 0.039 0.852 -0.522 -536 609 1 + -10.218 0.032 6.507 -0.039 0.652 -0.757 -536 609 1 + -11.154 -0.507 5.451 -0.228 0.951 0.207 -536 596 1 + -10.964 -0.476 5.887 -0.355 0.931 -0.084 536 596 1 + -10.827 -0.304 6.311 -0.446 0.816 -0.367 536 609 1 + -10.758 -0.008 6.680 -0.492 0.619 -0.612 536 609 1 + -10.764 0.382 6.955 -0.488 0.359 -0.796 -536 609 1 + -11.360 -0.748 6.143 -0.714 0.685 0.147 -536 596 1 + -11.203 -0.563 6.554 -0.818 0.561 -0.127 -536 609 1 + -11.171 -0.292 6.946 -0.840 0.380 -0.388 -536 609 1 + -10.044 0.050 6.500 -0.155 0.641 -0.752 -538 609 1 + -10.003 -0.242 6.150 -0.182 0.835 -0.519 -538 609 1 + -9.988 -0.418 5.728 -0.192 0.952 -0.237 -538 595 1 + -9.999 -0.460 5.273 -0.185 0.981 0.066 -538 595 1 + -9.544 0.420 6.770 0.209 0.380 -0.901 -538 609 1 + -9.599 0.041 6.520 0.245 0.633 -0.734 538 609 1 + -9.619 -0.250 6.167 0.259 0.827 -0.499 538 609 1 + -9.604 -0.425 5.745 0.249 0.944 -0.218 538 595 1 + -9.553 -0.469 5.292 0.215 0.973 0.084 538 595 1 + -9.473 -0.377 4.852 0.162 0.912 0.378 -538 595 1 + -9.045 0.184 6.887 0.494 0.245 -0.834 -538 609 1 + -9.204 -0.146 6.612 0.599 0.465 -0.652 538 609 1 + -9.279 -0.411 6.247 0.649 0.642 -0.408 538 609 1 + -9.264 -0.586 5.825 0.639 0.759 -0.126 538 595 1 + -9.159 -0.656 5.385 0.569 0.805 0.167 538 595 1 + -8.975 -0.613 4.968 0.446 0.777 0.445 -538 595 1 + -8.940 -0.474 6.758 0.837 0.170 -0.520 -538 609 1 + -9.051 -0.694 6.373 0.911 0.317 -0.263 -538 609 1 + -9.036 -0.869 5.951 0.901 0.434 0.018 -538 595 1 + -8.894 -0.984 5.531 0.807 0.510 0.298 -538 595 1 + -8.502 -0.790 7.098 0.545 0.381 -0.747 -540 605 1 + -8.361 -0.111 7.542 0.885 0.077 -0.460 -540 609 1 + -8.188 -0.683 7.520 0.770 0.458 -0.445 540 605 1 + -7.832 -1.146 7.391 0.532 0.767 -0.359 -540 605 1 + -8.026 -0.683 8.031 0.886 0.458 -0.079 -540 605 1 + -8.041 -0.252 8.529 0.896 0.170 -0.411 -542 609 1 + -7.776 -0.369 8.887 0.719 0.248 -0.649 -542 609 1 + -7.410 -0.451 9.153 0.475 0.303 -0.826 -542 55 1 + -6.977 -0.490 9.302 0.186 0.329 -0.926 -542 55 1 + -8.196 0.280 8.906 0.756 0.651 -0.070 -542 609 1 + -7.910 0.088 9.210 0.565 0.779 -0.273 -542 609 1 + -7.543 0.006 9.477 0.320 0.833 -0.450 -542 55 1 + -7.132 0.042 9.679 0.046 0.809 -0.585 -542 55 1 + -8.475 0.783 8.980 0.941 0.316 -0.119 -544 609 1 + -8.442 1.046 9.352 0.919 0.140 -0.367 -544 609 1 + -8.281 1.329 9.673 0.812 -0.048 -0.581 -544 32 1 + -8.008 1.605 9.913 0.630 -0.232 -0.741 -544 32 1 + -7.647 1.848 10.050 0.389 -0.395 -0.832 -544 32 1 + -8.626 1.023 8.858 0.776 0.578 -0.253 -544 609 1 + -8.552 1.221 9.263 0.727 0.446 -0.522 -544 609 1 + -8.378 1.481 9.595 0.610 0.273 -0.744 -544 32 1 + -8.118 1.780 9.824 0.437 0.074 -0.896 -544 32 1 + -7.798 2.088 9.928 0.224 -0.132 -0.966 -544 32 1 + -8.860 1.371 8.644 0.932 0.346 -0.110 -545 611 1 + -8.769 1.034 7.993 0.652 0.731 -0.202 -545 609 1 + -9.018 1.487 8.264 0.818 0.429 -0.382 545 611 1 + -9.082 2.037 8.448 0.861 0.063 -0.505 -545 611 1 + -9.069 1.112 7.630 0.480 0.776 -0.410 -545 609 1 + -9.287 1.557 7.939 0.625 0.480 -0.616 545 611 1 + -9.363 2.110 8.108 0.676 0.111 -0.728 -545 611 1 + -9.464 1.132 7.362 0.254 0.787 -0.563 -545 609 1 + -9.641 1.574 7.699 0.372 0.492 -0.787 545 611 1 + -9.733 2.128 7.858 0.433 0.123 -0.893 -545 611 1 + -9.917 1.090 7.216 -0.005 0.763 -0.647 -545 609 1 + -10.046 1.537 7.568 0.081 0.465 -0.882 545 611 1 + -10.156 2.089 7.721 0.154 0.097 -0.983 -545 611 1 + -10.385 0.992 7.204 -0.272 0.707 -0.653 -545 609 1 + -10.464 1.448 7.557 -0.219 0.402 -0.889 545 611 1 + -10.593 1.997 7.710 -0.133 0.037 -0.990 -545 611 1 + -10.823 0.846 7.328 -0.522 0.623 -0.582 -545 609 1 + -10.856 1.318 7.669 -0.500 0.308 -0.809 545 611 1 + -11.002 1.860 7.826 -0.402 -0.053 -0.914 -545 611 1 + -11.184 1.157 7.891 -0.735 0.193 -0.650 -545 611 1 + -8.719 2.077 9.276 0.838 -0.125 -0.531 -547 611 1 + -8.381 2.218 9.618 0.613 -0.219 -0.760 -547 32 1 + -7.941 2.322 9.834 0.319 -0.288 -0.903 -547 32 1 + -9.033 2.450 8.761 0.894 0.335 -0.299 -547 611 1 + -8.814 2.516 9.207 0.748 0.291 -0.596 547 611 1 + -8.470 2.630 9.554 0.519 0.215 -0.827 547 32 1 + -8.040 2.781 9.762 0.232 0.114 -0.966 547 32 1 + -7.570 2.950 9.808 -0.081 0.001 -0.997 -547 32 1 + -9.022 2.908 9.302 0.551 0.663 -0.507 -547 611 1 + -8.666 2.999 9.643 0.314 0.602 -0.734 -547 32 1 + -8.257 3.191 9.860 0.041 0.474 -0.879 -547 32 1 + -9.113 3.025 9.340 0.612 0.585 -0.533 -548 611 1 + -8.837 3.221 9.714 0.427 0.454 -0.782 -548 34 1 + -9.782 3.322 9.034 0.401 0.908 -0.119 -548 611 1 + -9.548 3.370 9.479 0.245 0.876 -0.415 548 611 1 + -9.273 3.568 9.854 0.062 0.744 -0.665 548 34 1 + -8.988 3.892 10.115 -0.128 0.528 -0.839 -548 34 1 + -10.329 3.452 9.365 0.041 0.994 0.099 -548 611 1 + -10.028 3.485 9.770 -0.159 0.972 -0.171 548 611 1 + -9.755 3.683 10.145 -0.341 0.840 -0.421 548 34 1 + -9.540 4.024 10.449 -0.485 0.613 -0.624 -548 34 1 + -10.439 3.341 10.142 -0.505 0.851 0.143 -548 611 1 + -10.167 3.539 10.519 -0.686 0.720 -0.108 -548 34 1 + -8.468 3.942 10.173 0.207 0.561 -0.802 -549 34 1 + -7.821 3.936 10.162 -0.224 0.565 -0.794 -549 32 1 + -8.470 4.298 10.522 0.206 0.791 -0.577 -549 34 1 + -7.823 4.314 10.532 -0.226 0.780 -0.583 -549 32 1 + -8.494 4.526 10.965 0.191 0.938 -0.291 -549 34 1 + -7.848 4.555 11.001 -0.240 0.918 -0.315 -549 32 1 + -7.090 1.573 10.267 0.018 -0.211 -0.977 -551 32 1 + -6.944 1.071 10.285 -0.079 0.124 -0.989 -551 55 1 + -6.814 0.591 10.122 -0.166 0.444 -0.881 -551 55 1 + -6.611 2.192 10.202 0.467 -0.432 -0.772 -551 32 1 + -6.591 1.698 10.372 0.454 -0.102 -0.885 551 32 1 + -6.488 1.185 10.381 0.385 0.240 -0.891 551 55 1 + -6.315 0.716 10.228 0.270 0.552 -0.789 551 55 1 + -6.093 0.347 9.930 0.122 0.798 -0.590 -551 55 1 + -6.113 2.271 10.617 0.752 -0.387 -0.534 -551 32 1 + -6.191 1.761 10.706 0.804 -0.047 -0.593 551 32 1 + -6.122 1.243 10.687 0.758 0.298 -0.580 551 55 1 + -5.915 0.779 10.561 0.620 0.607 -0.497 551 55 1 + -5.595 0.426 10.345 0.406 0.843 -0.353 -551 55 1 + -5.985 1.748 11.189 0.983 -0.059 -0.172 -551 32 1 + -5.934 1.231 11.128 0.949 0.286 -0.131 -551 55 1 + -5.709 0.766 11.044 0.800 0.596 -0.075 -551 55 1 + -5.581 2.303 11.761 0.714 -0.429 -0.553 -553 29 1 + -5.733 2.848 11.129 0.969 -0.057 -0.242 -553 32 1 + -5.467 2.850 11.679 0.791 -0.059 -0.609 553 29 1 + -5.004 2.838 12.077 0.483 -0.051 -0.874 -553 29 1 + -5.795 3.455 11.182 0.933 0.290 -0.212 -553 32 1 + -5.524 3.411 11.728 0.753 0.319 -0.575 553 29 1 + -5.066 3.446 12.130 0.448 0.296 -0.844 -553 29 1 + -5.743 3.902 11.901 0.605 0.651 -0.458 -553 29 1 + -5.989 4.166 11.856 0.769 0.475 -0.428 -555 32 1 + -5.807 4.429 12.264 0.647 0.300 -0.701 -555 25 1 + -5.509 4.747 12.547 0.449 0.088 -0.889 -555 25 1 + -6.464 4.393 11.337 0.551 0.826 -0.123 -555 32 1 + -6.329 4.485 11.830 0.461 0.764 -0.452 555 32 1 + -6.111 4.714 12.241 0.315 0.611 -0.726 555 25 1 + -5.836 5.054 12.522 0.132 0.385 -0.913 555 25 1 + -5.538 5.462 12.639 -0.067 0.112 -0.991 -555 25 1 + -6.976 4.638 11.507 0.258 0.966 -0.026 -555 32 1 + -6.732 4.678 11.964 0.096 0.939 -0.330 555 32 1 + -6.471 4.887 12.361 -0.079 0.800 -0.595 555 25 1 + -6.224 5.240 12.651 -0.243 0.565 -0.789 555 25 1 + -6.021 5.694 12.800 -0.379 0.262 -0.888 -555 25 1 + -7.115 4.706 12.230 -0.251 0.964 -0.089 -555 32 1 + -6.813 4.912 12.599 -0.452 0.827 -0.335 -555 25 1 + -6.592 5.266 12.908 -0.599 0.590 -0.541 -555 25 1 + -6.976 4.911 12.764 -0.344 0.827 -0.445 -558 30 1 + -6.679 5.267 12.995 -0.541 0.590 -0.599 -558 25 1 + -7.034 4.918 12.829 -0.389 0.832 -0.395 -558 30 1 + -6.737 5.273 13.059 -0.587 0.595 -0.548 -558 25 1 + -7.665 6.739 13.622 0.032 -0.381 -0.924 -559 12 1 + -7.719 6.729 13.629 -0.128 -0.409 -0.904 -559 12 1 + -7.412 4.854 12.933 -0.137 0.875 -0.464 -560 30 1 + -7.439 5.103 13.279 -0.119 0.709 -0.695 -560 30 1 + -7.499 4.839 12.944 -0.275 0.851 -0.447 -560 30 1 + -7.472 5.098 13.283 -0.292 0.679 -0.673 -560 30 1 + -7.357 6.958 13.484 -0.174 -0.527 -0.832 -562 12 1 + -7.001 6.583 13.539 -0.411 -0.278 -0.868 -562 25 1 + -6.718 6.158 13.437 -0.600 0.006 -0.800 -562 25 1 + -7.210 7.081 13.402 -0.021 -0.400 -0.916 -562 12 1 + -6.867 6.694 13.465 -0.250 -0.143 -0.958 -562 25 1 + -6.569 6.282 13.354 -0.448 0.132 -0.884 -562 25 1 + -7.106 7.356 13.238 -0.090 -0.584 -0.807 -564 12 1 + -6.669 7.235 13.191 -0.382 -0.503 -0.775 -564 19 1 + -7.466 7.835 12.955 0.269 -0.320 -0.908 -564 12 1 + -7.022 7.763 13.036 -0.026 -0.272 -0.962 564 12 1 + -6.583 7.654 12.983 -0.320 -0.199 -0.926 564 19 1 + -6.187 7.516 12.801 -0.583 -0.107 -0.805 -564 19 1 + -7.357 8.321 12.907 0.341 -0.001 -0.940 -564 12 1 + -6.922 8.213 12.991 0.050 0.071 -0.996 564 12 1 + -6.480 8.115 12.937 -0.244 0.137 -0.960 564 19 1 + -6.071 8.036 12.749 -0.517 0.190 -0.835 -564 19 1 + -6.817 8.648 13.110 0.130 0.404 -0.905 -564 12 1 + -6.372 8.561 13.058 -0.166 0.462 -0.871 -564 19 1 + -8.105 9.661 13.313 0.284 0.361 -0.888 -568 12 1 + -8.379 10.122 13.305 0.467 0.054 -0.883 -568 3 1 + -8.150 9.039 13.024 -0.181 0.472 -0.863 -568 12 1 + -8.435 9.458 13.202 0.009 0.192 -0.981 568 12 1 + -8.718 9.914 13.190 0.198 -0.112 -0.974 568 3 1 + -8.963 10.349 12.992 0.361 -0.401 -0.842 -568 3 1 + -8.775 9.243 13.225 -0.274 0.013 -0.962 -568 12 1 + -9.067 9.693 13.215 -0.079 -0.287 -0.955 -568 3 1 + -8.907 9.059 13.243 -0.186 0.135 -0.973 -570 12 1 + -9.310 9.346 13.275 0.083 -0.056 -0.995 -570 4 1 + -8.854 8.332 13.173 -0.644 0.007 -0.765 -570 12 1 + -9.188 8.653 13.350 -0.421 -0.207 -0.883 570 12 1 + -9.590 8.939 13.383 -0.153 -0.397 -0.905 570 4 1 + -10.018 9.160 13.268 0.132 -0.545 -0.828 -570 4 1 + -9.101 7.946 13.520 -0.806 -0.247 -0.537 -570 12 1 + -9.405 8.313 13.655 -0.604 -0.492 -0.627 570 12 1 + -9.807 8.599 13.688 -0.335 -0.683 -0.649 570 4 1 + -10.265 8.774 13.614 -0.030 -0.799 -0.600 -570 4 1 + -9.230 7.707 14.026 -0.891 -0.405 -0.204 -570 12 1 + -9.518 8.102 14.100 -0.699 -0.669 -0.253 570 12 1 + -9.921 8.389 14.133 -0.431 -0.860 -0.275 570 4 1 + -10.394 8.535 14.121 -0.115 -0.957 -0.267 -570 4 1 + -9.217 7.659 14.599 -0.883 -0.436 0.173 -570 12 1 + -9.507 8.061 14.604 -0.690 -0.704 0.170 570 12 1 + -9.910 8.347 14.637 -0.421 -0.895 0.148 570 4 1 + -10.381 8.487 14.694 -0.107 -0.988 0.110 -570 4 1 + -9.373 8.195 15.073 -0.578 -0.591 0.563 -570 12 1 + -9.776 8.481 15.105 -0.309 -0.782 0.542 -570 4 1 + -9.036 8.117 15.534 -0.802 -0.539 0.256 -572 12 1 + -9.144 8.331 15.979 -0.731 -0.681 -0.041 -572 13 1 + -8.734 7.556 15.329 -0.565 -0.504 0.653 -572 12 1 + -8.737 7.887 15.711 -0.562 -0.724 0.399 572 12 1 + -8.837 8.094 16.161 -0.496 -0.863 0.099 572 13 1 + -9.021 8.155 16.628 -0.374 -0.903 -0.212 -572 13 1 + -8.362 7.765 15.845 -0.260 -0.822 0.506 -572 12 1 + -8.451 7.969 16.299 -0.201 -0.958 0.204 -572 13 1 + -7.921 7.254 15.586 -0.554 -0.482 0.679 -574 12 1 + -7.599 7.025 15.782 -0.769 -0.329 0.548 -574 21 1 + -7.376 6.753 16.050 -0.917 -0.147 0.370 -574 21 1 + -7.852 6.848 15.065 -0.492 -0.844 0.214 -574 12 1 + -7.533 6.643 15.293 -0.704 -0.707 0.062 -574 21 1 + -7.306 6.346 15.530 -0.855 -0.509 -0.095 -574 21 1 + -7.759 6.739 14.915 -0.554 -0.771 0.314 -576 12 1 + -7.383 6.396 15.022 -0.804 -0.542 0.243 -576 20 1 + -7.759 6.737 14.911 -0.554 -0.772 0.311 -576 12 1 + -7.383 6.394 15.018 -0.804 -0.543 0.240 -576 20 1 + -8.155 6.708 14.492 -0.290 -0.753 0.591 -577 12 1 + -8.113 6.376 14.200 -0.318 -0.532 0.785 -577 12 1 + -8.112 5.975 14.012 -0.318 -0.264 0.911 -577 12 1 + -8.154 5.538 13.943 -0.291 0.027 0.956 -577 31 1 + -8.233 5.106 14.000 -0.238 0.316 0.919 -577 31 1 + -8.344 4.714 14.177 -0.164 0.576 0.801 -577 31 1 + -8.412 6.769 14.267 -0.732 -0.649 0.206 -577 12 1 + -8.222 6.402 14.105 -0.858 -0.405 0.314 -577 12 1 + -8.145 5.982 13.983 -0.910 -0.125 0.395 -577 12 1 + -8.187 5.546 13.914 -0.882 0.165 0.442 -577 31 1 + -8.345 5.132 13.902 -0.777 0.442 0.449 -577 31 1 + -8.605 4.775 13.950 -0.603 0.679 0.418 -577 31 1 + -8.026 4.563 14.429 -0.376 0.677 0.633 -579 31 1 + -7.633 4.832 14.496 -0.638 0.498 0.588 -579 31 1 + -7.339 5.178 14.654 -0.834 0.267 0.483 -579 20 1 + -7.173 5.565 14.886 -0.945 0.010 0.328 -579 20 1 + -8.024 4.561 14.433 -0.375 0.674 0.637 -579 31 1 + -7.632 4.830 14.499 -0.636 0.495 0.592 -579 31 1 + -7.338 5.176 14.657 -0.832 0.264 0.487 -579 20 1 + -7.171 5.562 14.890 -0.943 0.007 0.332 -579 20 1 + -8.022 4.471 14.539 -0.376 0.734 0.566 -581 31 1 + -7.623 4.653 14.696 -0.642 0.613 0.461 -581 31 1 + -7.317 4.923 14.919 -0.846 0.432 0.312 -581 21 1 + -7.134 5.256 15.187 -0.968 0.210 0.134 -581 21 1 + -7.090 5.619 15.475 -0.998 -0.032 -0.058 -581 21 1 + -8.000 4.339 14.680 -0.346 0.552 0.759 -581 31 1 + -7.609 4.568 14.786 -0.606 0.399 0.688 -581 31 1 + -7.306 4.855 14.992 -0.808 0.207 0.551 -581 21 1 + -7.119 5.172 15.277 -0.933 -0.004 0.361 -581 21 1 + -7.068 5.488 15.614 -0.967 -0.215 0.136 -581 21 1 + -7.956 4.232 14.788 -0.375 0.623 0.687 -583 31 1 + -7.534 4.377 15.007 -0.656 0.526 0.541 -583 26 1 + -7.959 4.194 14.820 -0.377 0.593 0.711 -583 31 1 + -7.537 4.339 15.039 -0.659 0.497 0.565 -583 26 1 + -8.141 3.931 15.007 -0.256 0.768 0.586 -585 31 1 + -7.876 3.829 15.382 -0.432 0.837 0.336 -585 31 1 + -7.676 3.850 15.808 -0.566 0.823 0.052 -585 41 1 + -7.559 3.993 16.241 -0.644 0.727 -0.236 -585 41 1 + -8.805 3.685 14.905 -0.288 0.326 0.900 -585 31 1 + -8.418 3.578 15.150 -0.546 0.398 0.737 585 31 1 + -8.111 3.529 15.504 -0.751 0.430 0.501 585 31 1 + -7.915 3.545 15.932 -0.881 0.420 0.216 585 41 1 + -7.849 3.622 16.392 -0.925 0.369 -0.090 585 41 1 + -7.920 3.753 16.838 -0.878 0.281 -0.388 -585 41 1 + -8.893 3.078 14.961 -0.345 -0.065 0.936 -585 31 1 + -8.485 3.114 15.193 -0.617 -0.089 0.782 585 31 1 + -8.168 3.136 15.540 -0.828 -0.104 0.551 585 31 1 + -7.973 3.143 15.969 -0.958 -0.109 0.265 585 41 1 + -7.920 3.134 16.437 -0.994 -0.103 -0.047 585 41 1 + -8.014 3.110 16.897 -0.931 -0.087 -0.354 -585 41 1 + -8.323 2.677 15.122 -0.447 -0.547 0.708 -585 31 1 + -8.031 2.766 15.480 -0.642 -0.606 0.469 -585 31 1 + -7.833 2.766 15.908 -0.774 -0.606 0.184 -585 41 1 + -7.750 2.676 16.362 -0.829 -0.546 -0.119 -585 41 1 + -8.394 2.144 14.839 -0.399 -0.192 0.896 -587 31 1 + -8.165 1.753 14.938 -0.553 0.069 0.831 -587 31 1 + -8.014 1.373 15.156 -0.653 0.322 0.685 -587 48 1 + -7.957 1.038 15.473 -0.691 0.545 0.474 -587 48 1 + -8.451 2.099 14.801 -0.458 -0.237 0.857 -587 31 1 + -8.213 1.715 14.905 -0.617 0.019 0.787 -587 31 1 + -8.064 1.334 15.122 -0.717 0.273 0.642 -587 48 1 + -8.017 0.992 15.432 -0.748 0.501 0.436 -587 48 1 + -8.564 2.028 14.729 -0.383 -0.190 0.904 -588 31 1 + -8.430 1.580 14.773 -0.472 0.109 0.875 -588 50 1 + -8.365 1.147 14.947 -0.515 0.397 0.759 -588 50 1 + -8.716 1.971 14.635 -0.522 -0.243 0.818 -588 31 1 + -8.571 1.526 14.686 -0.619 0.053 0.784 -588 50 1 + -8.518 1.089 14.852 -0.655 0.345 0.673 -588 50 1 + -7.733 1.053 16.059 -0.840 0.536 0.084 -590 48 1 + -7.571 1.389 16.271 -0.949 0.311 -0.058 -590 48 1 + -7.525 1.764 16.476 -0.979 0.062 -0.195 -590 41 1 + -7.600 2.147 16.657 -0.929 -0.193 -0.315 -590 41 1 + -7.755 0.941 16.267 -0.859 0.442 0.258 -590 48 1 + -7.591 1.290 16.456 -0.969 0.210 0.133 -590 48 1 + -7.545 1.665 16.661 -0.999 -0.040 -0.004 -590 41 1 + -7.622 2.035 16.865 -0.948 -0.287 -0.140 -590 41 1 + -7.310 4.274 16.229 -0.810 0.540 -0.228 -592 41 1 + -7.202 4.385 15.785 -0.882 0.466 0.068 -592 26 1 + -7.300 4.292 16.235 -0.804 0.552 -0.223 -592 41 1 + -7.192 4.403 15.791 -0.876 0.478 0.072 -592 26 1 + -7.261 4.601 16.559 -0.829 0.346 -0.439 -594 41 1 + -7.103 4.983 16.415 -0.935 0.091 -0.343 -594 21 1 + -7.064 5.378 16.228 -0.961 -0.172 -0.218 -594 21 1 + -7.571 4.494 17.148 -0.678 0.704 -0.211 -594 41 1 + -7.299 4.798 16.986 -0.859 0.502 -0.103 594 41 1 + -7.138 5.166 16.811 -0.967 0.256 0.014 594 21 1 + -7.100 5.567 16.638 -0.991 -0.011 0.130 594 21 1 + -7.190 5.967 16.481 -0.932 -0.278 0.234 -594 21 1 + -7.401 4.681 17.642 -0.581 0.811 0.072 -594 41 1 + -7.154 4.957 17.407 -0.745 0.627 0.229 594 41 1 + -7.004 5.314 17.201 -0.845 0.389 0.366 594 21 1 + -6.961 5.720 17.041 -0.874 0.118 0.472 594 21 1 + -7.031 6.141 16.943 -0.827 -0.163 0.538 -594 21 1 + -7.042 4.793 18.051 -0.376 0.875 0.305 -594 41 1 + -6.850 5.053 17.755 -0.505 0.702 0.503 594 41 1 + -6.721 5.402 17.523 -0.590 0.469 0.657 594 21 1 + -6.669 5.812 17.375 -0.625 0.196 0.755 594 21 1 + -6.696 6.246 17.325 -0.607 -0.094 0.789 -594 21 1 + -6.552 4.813 18.310 -0.096 0.886 0.453 -594 41 1 + -6.432 5.069 17.975 -0.176 0.715 0.676 594 41 1 + -6.335 5.418 17.727 -0.241 0.483 0.842 594 21 1 + -6.268 5.828 17.587 -0.286 0.210 0.935 594 21 1 + -6.238 6.265 17.567 -0.306 -0.082 0.949 -594 21 1 + -5.968 5.005 18.034 0.189 0.665 0.723 -594 41 1 + -5.905 5.358 17.782 0.147 0.429 0.891 -594 21 1 + -5.823 5.766 17.644 0.092 0.157 0.983 -594 21 1 + -5.657 4.546 18.759 -0.018 0.971 0.240 -596 39 1 + -6.089 4.345 19.085 -0.300 0.840 0.453 -596 39 1 + -6.937 4.416 18.710 -0.316 0.660 0.682 -597 41 1 + -6.879 4.068 19.313 -0.355 0.892 0.280 -597 40 1 + -7.360 4.200 18.626 -0.558 0.536 0.634 -597 41 1 + -7.302 3.851 19.228 -0.597 0.768 0.232 -597 40 1 + -7.702 3.892 18.481 -0.753 0.360 0.551 -597 41 1 + -7.644 3.543 19.083 -0.792 0.592 0.149 -597 40 1 + -6.318 3.695 20.259 -0.277 0.883 0.380 -600 40 1 + -6.157 3.644 20.665 -0.384 0.917 0.109 -600 40 1 + -6.046 3.710 21.085 -0.458 0.872 -0.171 -600 818 1 + -5.994 3.889 21.483 -0.493 0.753 -0.436 -600 818 1 + -7.019 3.406 20.116 -0.435 0.514 0.739 -600 40 1 + -6.720 3.334 20.429 -0.635 0.562 0.530 600 40 1 + -6.503 3.334 20.811 -0.780 0.562 0.276 600 40 1 + -6.385 3.406 21.228 -0.858 0.514 -0.002 600 818 1 + -6.378 3.545 21.645 -0.862 0.422 -0.280 600 818 1 + -6.482 3.738 22.026 -0.793 0.293 -0.534 -600 818 1 + -6.854 2.801 20.565 -0.754 0.088 0.651 -600 40 1 + -6.618 2.877 20.928 -0.911 0.038 0.410 -600 40 1 + -6.498 2.957 21.343 -0.991 -0.016 0.133 -600 818 1 + -6.506 3.036 21.775 -0.986 -0.068 -0.155 -600 818 1 + -5.843 3.978 21.439 -0.594 0.694 -0.407 -602 818 1 + -5.763 3.887 20.997 -0.647 0.755 -0.112 -602 39 1 + -5.775 3.902 20.539 -0.639 0.744 0.193 -602 39 1 + -5.541 4.423 21.843 -0.186 0.735 -0.652 -602 818 1 + -5.444 4.199 21.455 -0.250 0.885 -0.393 602 818 1 + -5.382 4.099 21.012 -0.291 0.952 -0.098 602 39 1 + -5.361 4.132 20.556 -0.305 0.930 0.206 602 39 1 + -5.383 4.295 20.128 -0.291 0.821 0.491 -602 39 1 + -4.992 4.244 21.498 0.139 0.924 -0.357 -602 818 1 + -4.950 4.142 21.053 0.112 0.992 -0.060 -602 39 1 + -4.892 4.178 20.600 0.073 0.968 0.242 -602 39 1 + -4.619 4.792 22.196 -0.109 0.559 -0.822 -604 815 1 + -4.828 4.917 22.344 -0.258 0.648 -0.716 -604 815 1 + -5.704 4.605 22.182 -0.291 0.853 -0.433 -606 818 1 + -5.593 5.029 22.635 -0.366 0.571 -0.735 -606 816 1 + -6.128 4.476 22.391 -0.564 0.770 -0.298 -606 818 1 + -6.041 4.892 22.857 -0.622 0.493 -0.609 -606 816 1 + -6.461 4.234 22.654 -0.779 0.613 -0.128 -606 818 1 + -6.394 4.635 23.135 -0.824 0.346 -0.449 -606 816 1 + -6.678 4.077 23.487 -0.911 0.282 -0.302 -608 817 1 + -6.772 3.470 23.100 -0.980 0.121 0.159 -608 818 1 + -6.770 3.681 23.629 -0.981 -0.019 -0.194 608 817 1 + -6.981 3.887 24.117 -0.841 -0.157 -0.519 -608 817 1 + -6.722 3.043 23.286 -0.948 -0.155 0.280 -608 818 1 + -6.724 3.288 23.801 -0.946 -0.318 -0.063 608 817 1 + -6.931 3.463 24.301 -0.808 -0.435 -0.397 -608 817 1 + -6.545 2.940 23.983 -0.810 -0.582 0.075 -608 817 1 + -6.341 2.213 23.629 -0.945 -0.098 0.311 -610 818 1 + -6.319 1.745 23.827 -0.960 0.215 0.178 -610 796 1 + -6.374 2.135 23.449 -0.974 -0.163 0.159 -610 818 1 + -6.352 1.667 23.648 -0.988 0.149 0.027 -610 796 1 + -6.585 2.283 22.957 -0.833 -0.261 0.488 -611 818 1 + -6.711 1.957 22.697 -0.750 -0.044 0.660 -611 818 1 + -6.930 1.626 22.521 -0.603 0.177 0.778 -611 789 1 + -7.226 1.317 22.443 -0.406 0.383 0.830 -611 789 1 + -7.573 1.056 22.469 -0.175 0.556 0.812 -611 789 1 + -6.761 2.928 22.804 -0.973 -0.229 -0.032 -611 818 1 + -6.728 2.539 22.612 -0.995 0.030 0.096 611 818 1 + -6.820 2.154 22.432 -0.933 0.287 0.216 611 818 1 + -7.030 1.805 22.280 -0.794 0.519 0.317 611 789 1 + -7.340 1.522 22.168 -0.587 0.708 0.392 611 789 1 + -7.724 1.327 22.105 -0.331 0.838 0.434 611 789 1 + -8.149 1.239 22.096 -0.047 0.897 0.440 -611 789 1 + -6.649 2.658 22.183 -0.905 0.166 -0.392 -611 818 1 + -6.759 2.246 22.103 -0.831 0.441 -0.339 -611 818 1 + -6.975 1.889 21.980 -0.688 0.679 -0.257 -611 789 1 + -7.276 1.617 21.825 -0.486 0.860 -0.153 -611 789 1 + -7.640 1.454 21.650 -0.244 0.969 -0.037 -611 789 1 + -7.463 0.753 22.784 -0.248 0.758 0.603 -613 789 1 + -7.029 0.781 23.080 -0.537 0.740 0.405 -613 796 1 + -6.695 0.945 23.452 -0.760 0.631 0.158 -613 796 1 + -7.589 0.191 23.105 -0.365 0.239 0.900 -613 789 1 + -7.142 0.283 23.365 -0.664 0.177 0.727 -613 796 1 + -6.816 0.407 23.759 -0.881 0.094 0.464 -613 796 1 + -7.893 -0.294 23.238 -0.163 0.562 0.811 -614 789 1 + -7.713 -0.623 23.621 -0.283 0.781 0.556 -614 788 1 + -8.523 -0.106 23.001 -0.261 0.129 0.957 -614 789 1 + -8.248 -0.505 23.230 -0.444 0.395 0.804 614 789 1 + -8.058 -0.829 23.612 -0.571 0.610 0.549 614 788 1 + -7.978 -1.036 24.100 -0.624 0.748 0.224 -614 788 1 + -8.853 -0.444 22.886 -0.450 -0.065 0.891 -614 789 1 + -8.529 -0.792 23.132 -0.666 0.167 0.727 614 789 1 + -8.331 -1.108 23.517 -0.798 0.378 0.470 614 788 1 + -8.287 -1.352 23.992 -0.827 0.540 0.153 -614 788 1 + -8.702 -1.123 22.955 -0.804 -0.095 0.587 -614 789 1 + -8.501 -1.430 23.345 -0.939 0.110 0.327 -614 788 1 + -7.214 -0.579 24.099 -0.615 0.752 0.237 -616 788 1 + -6.920 -0.260 24.118 -0.812 0.539 0.224 -616 796 1 + -6.727 0.127 24.166 -0.940 0.281 0.193 -616 796 1 + -6.962 -0.807 24.664 -0.393 0.551 0.736 -616 788 1 + -6.682 -0.474 24.651 -0.580 0.329 0.745 -616 796 1 + -6.475 -0.101 24.732 -0.718 0.080 0.692 -616 796 1 + -7.046 -1.229 25.109 -0.337 0.833 0.440 -618 788 1 + -6.846 -1.278 25.507 -0.471 0.865 0.175 -618 788 1 + -6.708 -1.210 25.928 -0.563 0.820 -0.106 -618 806 1 + -6.645 -1.033 26.334 -0.604 0.702 -0.377 -618 806 1 + -6.664 -0.763 26.691 -0.592 0.521 -0.615 -618 806 1 + -7.675 -1.613 25.016 -0.425 0.369 0.827 -618 788 1 + -7.314 -1.609 25.280 -0.666 0.366 0.650 618 788 1 + -7.042 -1.556 25.632 -0.847 0.331 0.416 618 788 1 + -6.883 -1.459 26.040 -0.953 0.266 0.144 618 806 1 + -6.852 -1.326 26.466 -0.974 0.177 -0.140 618 806 1 + -6.951 -1.169 26.874 -0.908 0.073 -0.412 618 806 1 + -7.171 -1.003 27.227 -0.761 -0.038 -0.647 -618 806 1 + -7.243 -2.086 25.390 -0.579 -0.221 0.785 -618 788 1 + -6.990 -1.906 25.713 -0.747 -0.341 0.570 -618 788 1 + -6.836 -1.771 26.111 -0.850 -0.431 0.304 -618 806 1 + -6.797 -1.694 26.551 -0.876 -0.482 0.011 -618 806 1 + -6.874 -1.681 26.992 -0.824 -0.491 -0.283 -618 806 1 + -8.026 -2.785 24.940 -0.207 -0.013 0.978 -622 788 1 + -8.396 -3.081 24.934 0.040 0.184 0.982 -622 788 1 + -8.760 -3.349 25.075 0.283 0.363 0.888 -622 781 1 + -9.082 -3.563 25.349 0.497 0.505 0.705 -622 781 1 + -9.329 -3.701 25.729 0.662 0.598 0.452 -622 781 1 + -8.187 -2.081 24.739 -0.762 0.060 0.645 -622 788 1 + -8.337 -2.530 24.721 -0.662 0.360 0.657 622 788 1 + -8.585 -2.926 24.801 -0.497 0.624 0.604 622 788 1 + -8.908 -3.228 24.971 -0.282 0.825 0.490 622 781 1 + -9.273 -3.407 25.215 -0.038 0.944 0.327 622 781 1 + -9.643 -3.444 25.508 0.209 0.969 0.132 622 781 1 + -9.983 -3.336 25.820 0.435 0.897 -0.076 -622 781 1 + -8.539 -2.589 24.315 -0.960 0.274 0.061 -622 788 1 + -8.708 -2.961 24.554 -0.847 0.523 -0.098 -622 788 1 + -9.004 -3.256 24.778 -0.650 0.719 -0.247 -622 781 1 + -9.397 -3.443 24.966 -0.388 0.843 -0.372 -622 781 1 + -9.848 -3.503 25.097 -0.087 0.884 -0.460 -622 781 1 + -9.368 -3.873 26.617 0.688 0.712 -0.140 -624 781 1 + -9.157 -3.891 27.037 0.547 0.724 -0.420 -624 781 1 + -8.865 -3.802 27.395 0.352 0.665 -0.659 -624 212 1 + -8.521 -3.615 27.656 0.123 0.540 -0.833 -624 212 1 + -9.494 -3.761 26.692 0.555 0.829 -0.062 -624 781 1 + -9.264 -3.796 27.100 0.402 0.852 -0.334 -624 781 1 + -8.974 -3.705 27.459 0.209 0.792 -0.574 -624 212 1 + -8.654 -3.498 27.734 -0.005 0.653 -0.757 -624 212 1 + -9.931 -3.316 26.685 0.840 0.540 -0.062 -628 784 1 + -9.968 -3.339 25.903 0.444 0.896 -0.022 -628 781 1 + -10.227 -3.076 26.346 0.616 0.721 -0.317 628 784 1 + -10.348 -2.654 26.719 0.698 0.439 -0.566 -628 784 1 + -10.420 -3.232 25.603 0.153 0.964 -0.216 -628 781 1 + -10.643 -2.978 26.069 0.302 0.795 -0.526 628 784 1 + -10.800 -2.548 26.419 0.406 0.508 -0.759 -628 784 1 + -10.935 -3.295 25.415 -0.180 0.924 -0.337 -628 781 1 + -11.119 -3.035 25.896 -0.057 0.751 -0.657 628 784 1 + -11.316 -2.610 26.231 0.074 0.468 -0.881 -628 784 1 + -11.439 -3.517 25.367 -0.504 0.781 -0.368 -628 781 1 + -11.584 -3.240 25.851 -0.408 0.597 -0.691 628 784 1 + -11.819 -2.832 26.182 -0.251 0.325 -0.912 -628 784 1 + -11.969 -3.562 25.942 -0.698 0.354 -0.622 -628 784 1 + -12.052 -4.264 25.447 -0.900 0.299 -0.317 -630 781 1 + -12.353 -4.156 25.987 -0.700 0.227 -0.677 -630 782 1 + -12.136 -4.699 25.475 -0.954 0.018 -0.298 -630 781 1 + -12.442 -4.617 26.017 -0.751 -0.036 -0.660 -630 782 1 + -12.106 -5.409 25.720 -0.928 -0.081 -0.364 -633 782 1 + -12.072 -5.914 26.145 -0.905 -0.417 -0.081 -633 782 1 + -11.979 -6.188 26.170 -0.967 -0.234 -0.097 -635 780 1 + -12.117 -6.111 26.607 -0.876 -0.286 -0.389 -635 783 1 + -11.718 -6.871 25.913 -0.816 -0.486 0.314 -635 780 1 + -11.746 -6.695 26.342 -0.797 -0.603 0.028 635 780 1 + -11.888 -6.606 26.775 -0.702 -0.662 -0.261 635 783 1 + -12.132 -6.613 27.171 -0.540 -0.658 -0.525 -635 783 1 + -11.244 -7.255 26.157 -0.544 -0.706 0.454 -635 780 1 + -11.325 -7.036 26.559 -0.490 -0.852 0.186 635 780 1 + -11.476 -6.940 26.987 -0.389 -0.916 -0.100 635 783 1 + -11.684 -6.975 27.402 -0.251 -0.892 -0.376 -635 783 1 + -10.796 -7.147 26.779 -0.105 -0.932 0.346 -635 780 1 + -10.959 -7.048 27.203 0.004 -0.998 0.064 -635 783 1 + -10.332 -7.663 26.256 -0.414 -0.588 0.695 -636 780 1 + -10.073 -8.026 26.201 -0.587 -0.346 0.732 -636 218 1 + -9.892 -8.436 26.244 -0.707 -0.073 0.703 -636 218 1 + -10.929 -7.540 25.952 -0.365 -0.868 0.336 -636 780 1 + -10.570 -7.798 25.874 -0.604 -0.696 0.388 636 780 1 + -10.292 -8.151 25.848 -0.789 -0.461 0.406 636 218 1 + -10.120 -8.565 25.877 -0.904 -0.185 0.386 636 218 1 + -10.070 -9.004 25.958 -0.937 0.108 0.332 -636 218 1 + -11.028 -7.607 25.408 -0.421 -0.907 0.025 -636 780 1 + -10.653 -7.855 25.415 -0.671 -0.741 0.021 636 780 1 + -10.369 -8.203 25.425 -0.860 -0.509 0.014 636 218 1 + -10.200 -8.619 25.437 -0.973 -0.232 0.006 636 218 1 + -10.163 -9.067 25.449 -0.998 0.067 -0.002 -636 218 1 + -10.569 -7.824 24.953 -0.604 -0.717 -0.349 -636 780 1 + -10.291 -8.175 24.999 -0.789 -0.483 -0.380 -636 218 1 + -10.120 -8.590 24.994 -0.903 -0.206 -0.376 -636 218 1 + -9.756 -8.359 26.415 -0.798 -0.124 0.589 -638 218 1 + -9.838 -7.884 26.545 -0.744 -0.441 0.502 -638 218 1 + -10.043 -7.482 26.760 -0.607 -0.709 0.360 -638 783 1 + -10.349 -7.198 27.034 -0.403 -0.898 0.177 -638 783 1 + -10.722 -7.063 27.337 -0.154 -0.988 -0.025 -638 783 1 + -9.510 -8.314 26.609 -0.368 -0.046 0.929 -638 218 1 + -9.722 -7.863 26.637 -0.227 -0.347 0.910 -638 218 1 + -9.972 -7.469 26.816 -0.060 -0.609 0.791 -638 783 1 + -10.232 -7.177 27.126 0.113 -0.804 0.584 -638 783 1 + -10.473 -7.018 27.534 0.274 -0.910 0.312 -638 783 1 + -9.041 -8.379 26.903 -0.681 -0.003 0.732 -640 218 1 + -8.852 -7.984 27.210 -0.807 -0.266 0.528 -640 209 1 + -8.817 -7.641 27.618 -0.830 -0.495 0.256 -640 209 1 + -8.984 -8.441 26.950 -0.623 -0.066 0.779 -640 218 1 + -8.799 -8.042 27.253 -0.746 -0.332 0.577 -640 209 1 + -8.757 -7.706 27.666 -0.774 -0.556 0.302 -640 209 1 + -8.923 -8.927 27.065 -0.663 0.258 0.702 -642 218 1 + -8.653 -8.966 27.435 -0.844 0.283 0.456 -642 215 1 + -8.978 -9.419 27.054 -0.708 -0.137 0.693 -642 218 1 + -8.708 -9.460 27.423 -0.888 -0.110 0.447 -642 215 1 + -9.118 -9.829 26.928 -0.615 0.136 0.777 -644 218 1 + -8.994 -10.236 27.208 -0.697 0.408 0.590 -644 219 1 + -9.644 -9.693 26.473 -0.656 -0.345 0.671 -644 218 1 + -9.384 -10.094 26.651 -0.830 -0.077 0.553 644 218 1 + -9.267 -10.508 26.924 -0.907 0.199 0.371 644 219 1 + -9.308 -10.888 27.261 -0.880 0.452 0.146 -644 219 1 + -9.770 -9.989 26.066 -0.739 -0.539 0.403 -644 218 1 + -9.497 -10.360 26.285 -0.921 -0.292 0.257 644 218 1 + -9.383 -10.781 26.548 -0.997 -0.011 0.082 644 219 1 + -9.443 -11.205 26.826 -0.957 0.271 -0.103 -644 219 1 + -9.708 -10.244 25.618 -0.698 -0.707 0.109 -644 218 1 + -9.441 -10.589 25.882 -0.876 -0.477 -0.067 644 218 1 + -9.326 -11.017 26.135 -0.953 -0.192 -0.236 644 219 1 + -9.376 -11.478 26.347 -0.919 0.115 -0.377 -644 219 1 + -9.224 -10.749 25.502 -0.701 -0.606 -0.375 -644 218 1 + -9.104 -11.181 25.744 -0.782 -0.319 -0.536 -644 219 1 + -8.985 -11.210 25.557 -0.861 -0.299 -0.412 -647 219 1 + -8.546 -11.548 25.223 -0.569 -0.524 -0.634 -647 219 1 + -8.325 -11.527 24.940 -0.716 -0.537 -0.445 -649 217 1 + -8.175 -11.948 25.049 -0.816 -0.257 -0.518 -649 217 1 + -8.140 -12.404 25.085 -0.839 0.047 -0.542 -649 217 1 + -8.223 -12.854 25.044 -0.784 0.347 -0.515 -649 380 1 + -8.416 -13.255 24.932 -0.655 0.614 -0.440 -649 380 1 + -8.702 -13.570 24.757 -0.465 0.824 -0.323 -649 380 1 + -8.315 -11.528 24.925 -0.701 -0.538 -0.468 -649 217 1 + -8.171 -11.948 25.042 -0.797 -0.258 -0.546 -649 217 1 + -8.139 -12.404 25.083 -0.818 0.046 -0.573 -649 217 1 + -8.222 -12.854 25.042 -0.763 0.346 -0.546 -649 380 1 + -8.412 -13.255 24.925 -0.636 0.613 -0.468 -649 380 1 + -8.692 -13.570 24.743 -0.450 0.823 -0.346 -649 380 1 + -8.256 -11.512 24.806 -0.740 -0.549 -0.388 -651 217 1 + -8.055 -11.914 24.817 -0.874 -0.281 -0.395 -651 217 1 + -7.971 -12.354 24.774 -0.930 0.012 -0.367 -651 378 1 + -8.013 -12.792 24.682 -0.902 0.304 -0.306 -651 378 1 + -8.177 -13.189 24.549 -0.793 0.569 -0.217 -651 378 1 + -8.189 -11.488 24.674 -0.668 -0.524 -0.528 -651 217 1 + -8.004 -11.896 24.719 -0.791 -0.252 -0.557 -651 217 1 + -7.927 -12.338 24.688 -0.843 0.042 -0.536 -651 378 1 + -7.963 -12.775 24.584 -0.819 0.333 -0.468 -651 378 1 + -8.109 -13.166 24.418 -0.721 0.594 -0.357 -651 378 1 + -8.190 -11.207 24.208 -0.668 -0.712 -0.217 -653 217 1 + -8.006 -11.358 23.828 -0.790 -0.612 0.037 -653 217 1 + -7.927 -11.591 23.453 -0.842 -0.456 0.287 -653 217 1 + -7.962 -11.885 23.116 -0.819 -0.260 0.511 -653 753 1 + -8.107 -12.214 22.848 -0.723 -0.041 0.690 -653 753 1 + -8.348 -12.548 22.672 -0.562 0.182 0.807 -653 753 1 + -8.239 -11.128 24.145 -0.738 -0.601 -0.306 -653 217 1 + -8.031 -11.317 23.796 -0.877 -0.475 -0.074 -653 217 1 + -7.940 -11.570 23.437 -0.937 -0.306 0.166 -653 217 1 + -7.975 -11.865 23.100 -0.914 -0.110 0.390 -653 753 1 + -8.132 -12.174 22.816 -0.809 0.096 0.580 -653 753 1 + -8.398 -12.470 22.609 -0.632 0.293 0.717 -653 753 1 + -8.458 -10.845 23.921 -0.592 -0.790 -0.157 -654 224 1 + -8.682 -10.644 23.943 -0.740 -0.658 -0.142 -654 224 1 + -8.363 -11.118 23.014 -0.656 -0.608 0.447 -655 224 1 + -8.322 -11.482 22.736 -0.683 -0.365 0.633 -655 224 1 + -8.378 -11.898 22.547 -0.645 -0.088 0.759 -655 753 1 + -8.525 -12.326 22.465 -0.548 0.197 0.813 -655 753 1 + -8.447 -11.072 22.938 -0.731 -0.567 0.379 -655 224 1 + -8.394 -11.443 22.671 -0.766 -0.320 0.557 -655 224 1 + -8.450 -11.859 22.482 -0.729 -0.043 0.683 -655 753 1 + -8.609 -12.280 22.390 -0.623 0.239 0.745 -655 753 1 + -8.475 -13.157 22.903 -0.477 0.588 0.653 -657 753 1 + -8.354 -13.372 23.295 -0.558 0.731 0.392 -657 378 1 + -8.312 -13.482 23.742 -0.586 0.805 0.094 -657 378 1 + -8.571 -13.232 22.893 -0.552 0.529 0.645 -657 753 1 + -8.443 -13.443 23.285 -0.636 0.669 0.383 -657 378 1 + -8.407 -13.557 23.732 -0.661 0.746 0.085 -657 378 1 + -8.727 -13.375 22.899 -0.447 0.624 0.641 -659 753 1 + -8.761 -13.687 23.325 -0.425 0.832 0.357 -659 380 1 + -8.874 -13.843 23.818 -0.350 0.936 0.028 -659 380 1 + -8.875 -13.443 22.841 -0.578 0.564 0.589 -659 753 1 + -8.896 -13.748 23.272 -0.565 0.768 0.302 -659 380 1 + -9.022 -13.911 23.760 -0.481 0.877 -0.023 -659 380 1 + -9.496 -13.284 22.415 -0.164 0.458 0.873 -660 748 1 + -9.515 -13.230 22.381 -0.177 0.494 0.851 -660 748 1 + -9.899 -13.736 22.763 0.104 0.760 0.641 -661 748 1 + -9.716 -13.953 23.085 -0.018 0.904 0.426 -661 748 1 + -9.535 -14.058 23.460 -0.139 0.975 0.176 -661 380 1 + -9.371 -14.043 23.857 -0.248 0.965 -0.088 -661 380 1 + -10.396 -13.998 22.929 -0.313 0.541 0.781 -661 748 1 + -10.157 -14.185 23.233 -0.472 0.665 0.578 -661 748 1 + -9.976 -14.291 23.608 -0.593 0.735 0.328 -661 380 1 + -9.868 -14.305 24.023 -0.665 0.745 0.051 -661 380 1 + -8.852 -13.585 24.894 -0.364 0.834 -0.414 -664 380 1 + -8.701 -13.289 25.194 -0.465 0.637 -0.615 -664 380 1 + -8.612 -12.908 25.413 -0.525 0.383 -0.760 -664 219 1 + -8.593 -12.476 25.529 -0.537 0.095 -0.838 -664 219 1 + -9.414 -13.869 24.860 -0.438 0.899 0.008 -664 380 1 + -9.142 -13.666 25.153 -0.618 0.763 -0.187 664 380 1 + -8.954 -13.360 25.420 -0.744 0.559 -0.365 664 380 1 + -8.865 -12.979 25.638 -0.803 0.305 -0.511 664 219 1 + -8.883 -12.557 25.789 -0.791 0.024 -0.611 664 219 1 + -9.008 -12.132 25.857 -0.708 -0.259 -0.657 -664 219 1 + -9.625 -14.054 25.268 -0.559 0.794 0.241 -664 380 1 + -9.312 -13.814 25.480 -0.767 0.634 0.099 664 380 1 + -9.102 -13.488 25.705 -0.907 0.417 -0.051 664 380 1 + -9.013 -13.108 25.924 -0.967 0.163 -0.197 664 219 1 + -9.053 -12.705 26.116 -0.940 -0.105 -0.325 664 219 1 + -9.219 -12.317 26.264 -0.829 -0.364 -0.424 -664 219 1 + -9.656 -14.294 25.699 -0.576 0.657 0.487 -664 380 1 + -9.337 -14.006 25.826 -0.789 0.465 0.403 664 380 1 + -9.123 -13.657 26.007 -0.931 0.232 0.282 664 380 1 + -9.034 -13.276 26.225 -0.990 -0.022 0.136 664 219 1 + -9.078 -12.898 26.462 -0.961 -0.274 -0.021 664 219 1 + -9.250 -12.557 26.696 -0.847 -0.502 -0.177 -664 219 1 + -9.212 -14.216 26.140 -0.680 0.282 0.677 -664 380 1 + -9.015 -13.839 26.280 -0.811 0.030 0.584 -664 380 1 + -8.926 -13.458 26.499 -0.871 -0.223 0.438 -664 219 1 + -8.953 -13.107 26.776 -0.852 -0.457 0.254 -664 219 1 + -9.112 -14.435 26.391 -0.746 0.428 0.510 -666 380 1 + -8.851 -14.241 26.779 -0.921 0.299 0.251 -666 380 1 + -8.747 -13.997 27.210 -0.990 0.136 -0.036 -666 222 1 + -8.812 -13.730 27.635 -0.947 -0.042 -0.319 -666 222 1 + -9.409 -15.103 26.386 -0.435 0.194 0.879 -666 380 1 + -9.047 -14.821 26.599 -0.676 0.006 0.737 666 380 1 + -8.801 -14.537 26.939 -0.840 -0.183 0.511 666 380 1 + -8.699 -14.285 27.365 -0.909 -0.351 0.226 666 222 1 + -8.751 -14.093 27.831 -0.874 -0.479 -0.084 666 222 1 + -8.953 -13.982 28.281 -0.739 -0.553 -0.385 -666 222 1 + -9.000 -15.550 26.558 -0.201 -0.061 0.978 -666 380 1 + -8.759 -15.135 26.721 -0.361 -0.337 0.869 666 380 1 + -8.581 -14.778 27.032 -0.481 -0.575 0.662 666 380 1 + -8.484 -14.519 27.456 -0.545 -0.748 0.379 666 222 1 + -8.480 -14.388 27.945 -0.547 -0.835 0.053 666 222 1 + -8.570 -14.400 28.442 -0.488 -0.827 -0.279 -666 222 1 + -8.404 -15.752 26.552 0.140 -0.176 0.974 -666 380 1 + -8.340 -15.277 26.716 0.097 -0.493 0.865 666 380 1 + -8.259 -14.887 27.028 0.043 -0.753 0.657 666 380 1 + -8.171 -14.625 27.453 -0.015 -0.927 0.374 666 222 1 + -8.086 -14.522 27.941 -0.072 -0.996 0.049 666 222 1 + -8.013 -14.589 28.437 -0.121 -0.952 -0.282 -666 222 1 + -7.922 -15.202 26.588 0.553 -0.411 0.725 -666 380 1 + -7.939 -14.829 26.930 0.565 -0.659 0.497 -666 380 1 + -7.860 -14.569 27.357 0.512 -0.833 0.212 -666 222 1 + -7.693 -14.451 27.820 0.401 -0.911 -0.096 -666 222 1 + -7.550 -16.393 26.141 0.401 0.112 0.909 -670 379 1 + -7.554 -16.394 26.143 0.399 0.111 0.910 -670 379 1 + -8.189 -15.812 26.495 0.262 -0.211 0.942 -671 380 1 + -8.255 -16.461 26.519 0.306 0.222 0.926 -671 381 1 + -8.684 -15.759 26.568 -0.021 -0.180 0.983 -671 380 1 + -8.750 -16.408 26.592 0.023 0.252 0.967 -671 381 1 + -9.180 -15.711 26.493 -0.304 -0.153 0.940 -671 380 1 + -9.246 -16.360 26.517 -0.260 0.279 0.924 -671 381 1 + -9.633 -15.673 26.275 -0.563 -0.131 0.816 -671 380 1 + -9.699 -16.322 26.299 -0.519 0.301 0.800 -671 381 1 + -10.003 -15.648 25.935 -0.774 -0.117 0.622 -671 380 1 + -10.069 -16.297 25.959 -0.730 0.316 0.606 -671 381 1 + -8.061 -16.910 26.488 0.417 -0.035 0.908 -673 381 1 + -7.541 -17.294 26.391 0.071 0.221 0.973 -673 379 1 + -8.356 -17.320 26.527 0.249 -0.269 0.930 -673 381 1 + -7.836 -17.704 26.430 -0.098 -0.013 0.995 -673 379 1 + -8.663 -17.708 26.418 0.073 -0.491 0.868 -673 381 1 + -8.143 -18.092 26.321 -0.274 -0.235 0.933 -673 379 1 + -8.955 -18.041 26.170 -0.093 -0.681 0.726 -673 381 1 + -8.434 -18.425 26.073 -0.440 -0.425 0.791 -673 379 1 + -9.205 -18.288 25.805 -0.237 -0.822 0.518 -673 381 1 + -8.685 -18.672 25.708 -0.583 -0.566 0.583 -673 379 1 + -9.392 -18.428 25.356 -0.343 -0.902 0.261 -673 381 1 + -8.872 -18.812 25.259 -0.690 -0.646 0.326 -673 379 1 + -9.421 -18.548 24.425 -0.458 -0.848 0.269 -675 381 1 + -9.404 -18.765 24.026 -0.468 -0.703 0.535 -675 381 1 + -9.453 -19.078 23.701 -0.436 -0.495 0.752 -675 733 1 + -9.561 -19.458 23.479 -0.364 -0.241 0.900 -675 733 1 + -9.774 -18.301 24.239 -0.772 -0.627 0.104 -675 381 1 + -9.710 -18.550 23.866 -0.814 -0.461 0.353 -675 381 1 + -9.758 -18.863 23.540 -0.782 -0.252 0.570 -675 733 1 + -9.914 -19.211 23.293 -0.678 -0.021 0.734 -675 733 1 + -10.090 -18.012 24.224 -0.561 -0.820 0.114 -676 381 1 + -10.311 -17.996 23.835 -0.414 -0.831 0.373 -676 381 1 + -10.587 -18.091 23.497 -0.230 -0.767 0.599 -676 738 1 + -10.894 -18.288 23.238 -0.025 -0.636 0.771 -676 738 1 + -11.204 -18.570 23.082 0.182 -0.448 0.875 -676 738 1 + -10.367 -17.674 24.325 -0.864 -0.450 0.224 -676 381 1 + -10.512 -17.751 23.908 -0.768 -0.399 0.501 -676 381 1 + -10.759 -17.881 23.559 -0.603 -0.312 0.734 -676 738 1 + -11.087 -18.053 23.308 -0.385 -0.198 0.902 -676 738 1 + -11.466 -18.251 23.177 -0.132 -0.066 0.989 -676 738 1 + -11.043 -19.123 22.904 0.074 -0.079 0.994 -678 738 1 + -10.582 -19.348 22.940 -0.233 0.071 0.970 -678 733 1 + -11.243 -19.538 22.795 -0.086 -0.411 0.907 -678 738 1 + -10.787 -19.773 22.829 -0.390 -0.255 0.885 -678 733 1 + -11.358 -19.789 22.702 -0.010 -0.244 0.970 -679 730 1 + -12.126 -19.656 22.749 -0.038 -0.701 0.712 -679 738 1 + -11.750 -20.056 22.538 -0.289 -0.434 0.853 679 730 1 + -11.440 -20.556 22.524 -0.496 -0.101 0.863 -679 730 1 + -12.493 -19.844 22.419 -0.275 -0.822 0.500 -679 738 1 + -12.098 -20.234 22.224 -0.537 -0.561 0.630 679 730 1 + -11.828 -20.755 22.174 -0.717 -0.214 0.663 -679 730 1 + -12.359 -20.301 21.800 -0.722 -0.609 0.328 -679 730 1 + -10.216 -20.989 22.851 -0.506 -0.181 0.844 -683 734 1 + -10.238 -21.501 22.596 -0.521 -0.527 0.671 -683 734 1 + -10.843 -21.817 22.192 -0.117 -0.317 0.941 -684 730 1 + -10.890 -22.269 22.109 -0.086 -0.016 0.996 -684 724 1 + -11.354 -21.334 22.256 -0.446 -0.545 0.710 -684 730 1 + -11.322 -21.750 22.057 -0.467 -0.268 0.842 684 730 1 + -11.356 -22.203 21.978 -0.444 0.034 0.895 684 724 1 + -11.454 -22.652 22.026 -0.379 0.334 0.863 -684 724 1 + -11.797 -21.248 21.914 -0.699 -0.496 0.514 -684 730 1 + -11.714 -21.674 21.754 -0.754 -0.213 0.621 684 730 1 + -11.739 -22.129 21.683 -0.738 0.091 0.669 684 724 1 + -11.868 -22.572 21.706 -0.652 0.386 0.653 -684 724 1 + -12.080 -21.165 21.431 -0.861 -0.449 0.238 -684 730 1 + -11.965 -21.600 21.327 -0.938 -0.159 0.308 684 730 1 + -11.984 -22.058 21.266 -0.926 0.146 0.348 684 724 1 + -12.133 -22.494 21.255 -0.826 0.437 0.356 -684 724 1 + -12.039 -21.539 20.834 -0.992 -0.114 -0.052 -684 730 1 + -12.055 -21.998 20.786 -0.981 0.192 -0.020 -684 724 1 + -10.568 -22.474 22.185 -0.301 0.121 0.946 -686 724 1 + -10.229 -22.209 22.331 -0.527 -0.056 0.848 -686 734 1 + -9.963 -21.951 22.595 -0.705 -0.228 0.672 -686 734 1 + -10.614 -23.155 22.211 0.174 0.003 0.985 -686 724 1 + -10.280 -22.846 22.221 -0.049 -0.203 0.978 686 724 1 + -9.952 -22.565 22.367 -0.267 -0.390 0.881 686 734 1 + -9.662 -22.339 22.633 -0.461 -0.541 0.703 686 734 1 + -9.435 -22.187 22.998 -0.612 -0.643 0.460 -686 734 1 + -10.225 -23.503 22.043 0.430 -0.226 0.874 -686 724 1 + -9.945 -23.146 22.076 0.243 -0.464 0.852 686 724 1 + -9.631 -22.853 22.228 0.034 -0.659 0.751 686 734 1 + -9.312 -22.651 22.483 -0.179 -0.794 0.581 686 734 1 + -9.019 -22.559 22.818 -0.375 -0.855 0.358 -686 734 1 + -9.852 -23.704 21.694 0.675 -0.359 0.645 -686 724 1 + -9.624 -23.319 21.776 0.522 -0.615 0.590 686 724 1 + -9.323 -23.019 21.940 0.322 -0.815 0.481 686 734 1 + -8.978 -22.832 22.170 0.092 -0.940 0.328 686 734 1 + -8.620 -22.774 22.445 -0.147 -0.979 0.145 -686 734 1 + -9.375 -23.335 21.375 0.739 -0.629 0.241 -686 724 1 + -9.084 -23.034 21.555 0.545 -0.829 0.121 -686 734 1 + -8.718 -22.848 21.752 0.301 -0.953 -0.010 -686 734 1 + -9.301 -23.762 20.781 0.690 -0.345 0.637 -688 724 1 + -8.914 -23.863 20.449 0.432 -0.277 0.859 -688 725 1 + -9.767 -24.114 21.119 0.731 -0.628 0.266 -688 724 1 + -9.482 -24.111 20.683 0.541 -0.630 0.557 688 724 1 + -9.100 -24.222 20.348 0.287 -0.556 0.780 688 725 1 + -8.666 -24.433 20.154 -0.003 -0.415 0.910 -688 725 1 + -10.041 -24.412 20.913 0.551 -0.824 0.131 -688 724 1 + -9.727 -24.377 20.499 0.342 -0.848 0.406 688 724 1 + -9.351 -24.495 20.159 0.091 -0.769 0.633 688 725 1 + -8.959 -24.752 19.933 -0.170 -0.598 0.784 -688 725 1 + -10.355 -24.584 20.633 0.344 -0.937 -0.054 -688 724 1 + -10.007 -24.530 20.249 0.113 -0.973 0.202 688 724 1 + -9.639 -24.653 19.902 -0.133 -0.891 0.433 688 725 1 + -9.295 -24.936 19.634 -0.362 -0.703 0.612 -688 725 1 + -10.292 -24.554 19.962 -0.120 -0.992 -0.033 -688 724 1 + -9.932 -24.677 19.607 -0.361 -0.910 0.203 -688 725 1 + -10.487 -24.550 19.760 0.010 -0.995 0.101 -690 722 1 + -11.159 -24.539 20.143 -0.185 -0.908 -0.376 -690 724 1 + -10.951 -24.482 19.600 -0.323 -0.946 -0.014 690 722 1 + -10.817 -24.640 19.054 -0.413 -0.841 0.350 -690 722 1 + -11.590 -24.293 19.994 -0.468 -0.746 -0.474 -690 724 1 + -11.363 -24.246 19.457 -0.619 -0.777 -0.116 690 722 1 + -11.278 -24.376 18.894 -0.676 -0.690 0.259 -690 722 1 + -11.670 -23.872 19.350 -0.839 -0.508 -0.193 -690 722 1 + -11.916 -23.634 19.532 -0.675 -0.667 -0.315 -692 724 1 + -12.009 -23.453 19.143 -0.614 -0.788 -0.055 -692 724 1 + -12.180 -23.373 18.746 -0.499 -0.841 0.209 -692 713 1 + -12.416 -23.402 18.376 -0.342 -0.822 0.456 -692 713 1 + -12.231 -23.486 20.104 -0.890 -0.215 -0.401 -692 724 1 + -12.167 -23.309 19.707 -0.933 -0.333 -0.137 692 724 1 + -12.224 -23.174 19.292 -0.895 -0.423 0.140 692 724 1 + -12.396 -23.094 18.895 -0.781 -0.476 0.405 692 713 1 + -12.668 -23.076 18.550 -0.599 -0.488 0.634 692 713 1 + -13.018 -23.120 18.288 -0.366 -0.459 0.810 -692 713 1 + -12.227 -22.880 19.819 -0.994 0.105 -0.022 -692 724 1 + -12.275 -22.808 19.388 -0.962 0.057 0.266 -692 724 1 + -12.447 -22.728 18.991 -0.848 0.004 0.530 -692 713 1 + -12.728 -22.648 18.663 -0.661 -0.050 0.749 -692 713 1 + -12.335 -22.581 19.225 -0.923 -0.094 0.374 -694 723 1 + -12.639 -22.567 18.756 -0.720 -0.104 0.687 -694 713 1 + -12.330 -22.323 19.228 -0.919 0.117 0.377 -694 723 1 + -12.635 -22.315 18.759 -0.716 0.112 0.689 -694 713 1 + -12.261 -23.579 18.229 -0.445 -0.704 0.554 -696 713 1 + -11.891 -23.724 18.473 -0.692 -0.607 0.391 -696 722 1 + -12.507 -23.853 17.569 -0.030 -0.941 0.337 -696 713 1 + -12.087 -23.871 17.772 -0.310 -0.929 0.202 696 713 1 + -11.711 -24.024 18.005 -0.560 -0.827 0.047 696 722 1 + -11.418 -24.298 18.244 -0.756 -0.645 -0.113 -696 722 1 + -11.816 -23.935 17.275 -0.101 -0.978 -0.182 -696 713 1 + -11.434 -24.089 17.495 -0.356 -0.875 -0.328 -696 722 1 + -11.773 -23.915 17.028 -0.130 -0.991 -0.017 -698 713 1 + -11.350 -24.035 17.024 -0.412 -0.911 -0.014 -698 713 1 + -10.980 -24.273 17.018 -0.658 -0.753 -0.010 -698 727 1 + -10.695 -24.607 17.011 -0.848 -0.530 -0.005 -698 727 1 + -10.520 -25.010 17.003 -0.965 -0.261 -0.000 -698 727 1 + -11.709 -23.833 16.677 -0.050 -0.891 -0.452 -698 713 1 + -11.304 -23.976 16.771 -0.320 -0.795 -0.515 -698 713 1 + -10.940 -24.222 16.799 -0.563 -0.632 -0.533 -698 727 1 + -10.649 -24.549 16.758 -0.757 -0.414 -0.506 -698 727 1 + -10.456 -24.929 16.652 -0.886 -0.160 -0.435 -698 727 1 + -12.061 -23.414 15.734 -0.079 -0.944 -0.319 -702 713 1 + -11.818 -23.375 15.257 -0.241 -0.971 -0.001 -702 714 1 + -12.695 -23.468 15.978 -0.154 -0.687 -0.710 -702 713 1 + -12.393 -23.266 15.582 -0.355 -0.821 -0.446 702 713 1 + -12.159 -23.223 15.101 -0.511 -0.850 -0.125 702 714 1 + -12.023 -23.344 14.595 -0.602 -0.770 0.212 -702 714 1 + -13.009 -23.177 15.856 -0.361 -0.496 -0.790 -702 713 1 + -12.670 -23.009 15.475 -0.587 -0.607 -0.536 702 713 1 + -12.444 -22.959 14.990 -0.738 -0.641 -0.213 702 714 1 + -12.360 -23.032 14.465 -0.794 -0.592 0.138 -702 714 1 + -13.229 -22.793 15.799 -0.505 -0.243 -0.828 -702 713 1 + -12.864 -22.671 15.424 -0.749 -0.325 -0.578 702 713 1 + -12.643 -22.611 14.938 -0.896 -0.365 -0.254 702 714 1 + -12.594 -22.622 14.403 -0.928 -0.358 0.102 -702 714 1 + -12.953 -22.288 15.435 -0.822 -0.005 -0.569 -702 713 1 + -12.734 -22.218 14.949 -0.968 -0.052 -0.245 -702 714 1 + -12.997 -22.037 15.458 -0.793 -0.173 -0.585 -703 711 1 + -13.478 -21.947 16.033 -0.669 0.313 -0.674 -703 713 1 + -13.140 -21.642 15.671 -0.895 0.110 -0.432 703 711 1 + -13.004 -21.312 15.211 -0.986 -0.110 -0.126 -703 711 1 + -13.485 -21.560 16.338 -0.674 0.567 -0.473 -703 713 1 + -13.146 -21.272 15.962 -0.900 0.375 -0.223 703 711 1 + -13.011 -20.899 15.537 -0.990 0.126 0.061 -703 711 1 + -13.016 -20.970 16.299 -0.806 0.591 0.018 -703 711 1 + -12.549 -21.115 13.933 -0.986 0.057 -0.153 -706 715 1 + -12.657 -20.603 14.486 -0.788 0.295 -0.540 -706 711 1 + -12.455 -20.683 13.920 -0.923 0.349 -0.162 706 715 1 + -12.479 -20.677 13.313 -0.907 0.345 0.242 -706 715 1 + -12.423 -20.185 14.495 -0.655 0.534 -0.535 -706 711 1 + -12.239 -20.297 13.928 -0.778 0.609 -0.157 706 715 1 + -12.245 -20.259 13.322 -0.773 0.584 0.247 -706 715 1 + -11.920 -19.991 13.957 -0.563 0.815 -0.137 -706 715 1 + -12.595 -21.645 13.059 -0.973 -0.208 0.097 -708 715 1 + -12.631 -21.975 13.675 -0.949 0.012 -0.314 -708 714 1 + -12.517 -21.795 12.493 -0.929 -0.294 -0.227 -710 715 1 + -12.421 -22.264 11.978 -0.993 0.019 0.117 -710 716 1 + -12.484 -21.446 12.182 -0.910 -0.095 -0.404 -710 715 1 + -12.388 -21.915 11.667 -0.974 0.218 -0.061 -710 716 1 + -12.326 -21.106 11.902 -0.819 0.100 -0.564 -710 715 1 + -12.230 -21.575 11.387 -0.884 0.412 -0.221 -710 716 1 + -12.055 -20.800 11.674 -0.665 0.275 -0.695 -710 715 1 + -11.959 -21.269 11.159 -0.729 0.587 -0.351 -710 716 1 + -11.307 -20.301 11.318 -0.714 0.251 -0.654 -712 715 1 + -11.040 -20.010 11.012 -0.891 0.056 -0.450 -712 715 1 + -10.923 -19.709 10.630 -0.970 -0.144 -0.195 -712 539 1 + -10.966 -19.432 10.216 -0.941 -0.329 0.081 -712 539 1 + -11.167 -19.210 9.816 -0.807 -0.477 0.347 -712 539 1 + -11.320 -20.236 11.364 -0.732 0.340 -0.590 -712 715 1 + -11.048 -19.972 11.038 -0.913 0.164 -0.373 -712 715 1 + -10.928 -19.681 10.650 -0.993 -0.030 -0.115 -712 539 1 + -10.974 -19.394 10.243 -0.963 -0.221 0.157 -712 539 1 + -11.180 -19.145 9.862 -0.825 -0.387 0.411 -712 539 1 + -11.359 -20.143 11.456 -0.706 0.278 -0.652 -713 715 1 + -11.115 -19.798 11.218 -0.869 0.048 -0.493 -713 715 1 + -11.006 -19.446 10.903 -0.941 -0.187 -0.283 -713 540 1 + -11.046 -19.123 10.543 -0.915 -0.402 -0.043 -713 540 1 + -11.368 -19.746 11.896 -0.715 0.662 -0.225 -713 715 1 + -11.122 -19.469 11.583 -0.879 0.477 -0.017 -713 715 1 + -11.014 -19.117 11.268 -0.951 0.243 0.193 -713 540 1 + -11.055 -18.727 10.983 -0.924 -0.017 0.383 -713 540 1 + -11.447 -18.430 10.214 -0.918 -0.328 0.222 -714 540 1 + -11.742 -18.527 9.586 -0.722 -0.263 0.640 -714 539 1 + -11.169 -19.379 9.637 -0.806 -0.364 0.467 -716 539 1 + -10.962 -19.748 9.874 -0.944 -0.118 0.309 -716 539 1 + -10.903 -20.135 10.159 -0.983 0.140 0.119 -716 716 1 + -10.998 -20.501 10.463 -0.920 0.384 -0.084 -716 716 1 + -11.237 -20.806 10.753 -0.760 0.588 -0.277 -716 716 1 + -11.338 -19.530 8.891 -0.491 -0.837 0.243 -716 539 1 + -11.064 -19.677 9.263 -0.674 -0.739 -0.005 716 539 1 + -10.895 -19.939 9.634 -0.786 -0.564 -0.252 716 539 1 + -10.849 -20.290 9.965 -0.817 -0.330 -0.473 716 716 1 + -10.931 -20.692 10.222 -0.762 -0.062 -0.644 716 716 1 + -11.132 -21.104 10.379 -0.628 0.213 -0.749 716 716 1 + -11.432 -21.483 10.418 -0.428 0.465 -0.775 -716 716 1 + -10.649 -19.849 9.068 -0.152 -0.956 -0.250 -716 539 1 + -10.628 -20.050 9.508 -0.165 -0.823 -0.544 -716 539 1 + -10.634 -20.379 9.864 -0.162 -0.603 -0.781 -716 716 1 + -10.665 -20.803 10.097 -0.141 -0.321 -0.937 -716 716 1 + -10.718 -21.277 10.184 -0.106 -0.005 -0.994 -716 716 1 + -10.265 -19.928 8.887 -0.407 -0.904 -0.130 -718 539 1 + -9.916 -20.231 9.161 -0.640 -0.702 -0.312 -718 545 1 + -10.342 -19.783 8.158 0.078 -0.981 -0.176 -718 539 1 + -9.959 -19.914 8.511 -0.177 -0.894 -0.411 718 539 1 + -9.610 -20.217 8.785 -0.410 -0.692 -0.594 718 545 1 + -9.340 -20.654 8.945 -0.590 -0.401 -0.701 -718 545 1 + -9.599 -19.756 8.228 0.093 -0.776 -0.624 -718 539 1 + -9.250 -20.060 8.502 -0.140 -0.574 -0.807 -718 545 1 + -10.168 -19.409 7.075 0.156 -0.984 -0.087 -722 537 1 + -10.381 -19.426 7.060 0.013 -0.995 -0.097 -722 537 1 + -10.781 -19.535 7.313 0.280 -0.922 -0.266 -723 539 1 + -11.103 -19.616 6.952 0.494 -0.869 -0.026 -723 539 1 + -11.345 -19.834 6.588 0.656 -0.723 0.217 -723 554 1 + -11.483 -20.169 6.259 0.748 -0.500 0.437 -723 554 1 + -10.862 -19.706 7.989 -0.219 -0.937 -0.272 -723 539 1 + -11.116 -19.613 7.582 -0.049 -0.999 -0.001 723 539 1 + -11.379 -19.680 7.175 0.126 -0.954 0.271 723 539 1 + -11.621 -19.898 6.810 0.287 -0.809 0.514 723 554 1 + -11.818 -20.246 6.528 0.418 -0.577 0.702 723 554 1 + -11.947 -20.686 6.358 0.505 -0.283 0.815 -723 554 1 + -11.367 -19.556 8.236 -0.508 -0.851 -0.132 -723 539 1 + -11.496 -19.501 7.767 -0.422 -0.888 0.181 723 539 1 + -11.692 -19.587 7.327 -0.291 -0.831 0.474 723 539 1 + -11.934 -19.806 6.963 -0.130 -0.685 0.717 723 554 1 + -12.197 -20.134 6.713 0.045 -0.466 0.884 723 554 1 + -12.453 -20.536 6.604 0.216 -0.198 0.956 -723 554 1 + -11.830 -19.225 7.824 -0.750 -0.617 0.236 -723 539 1 + -11.967 -19.360 7.374 -0.659 -0.528 0.536 -723 539 1 + -12.210 -19.578 7.010 -0.497 -0.382 0.779 -723 554 1 + -12.531 -19.858 6.770 -0.283 -0.195 0.939 -723 554 1 + -11.308 -20.189 6.009 0.631 -0.487 0.604 -725 554 1 + -11.035 -19.857 6.096 0.449 -0.708 0.545 -725 537 1 + -10.704 -19.617 6.253 0.228 -0.868 0.441 -725 537 1 + -11.070 -20.242 5.543 0.811 -0.527 0.253 -725 554 1 + -10.808 -19.908 5.654 0.637 -0.750 0.179 -725 537 1 + -10.465 -19.670 5.787 0.408 -0.909 0.090 -725 537 1 + -11.001 -20.238 5.374 0.765 -0.530 0.365 -727 554 1 + -10.660 -19.911 5.338 0.538 -0.748 0.389 -727 538 1 + -10.238 -19.696 5.361 0.257 -0.891 0.374 -727 538 1 + -11.168 -20.731 4.870 0.950 -0.309 -0.035 -727 554 1 + -10.952 -20.309 4.884 0.806 -0.590 -0.044 727 554 1 + -10.615 -19.976 4.891 0.582 -0.812 -0.049 727 538 1 + -10.191 -19.764 4.892 0.299 -0.953 -0.049 727 538 1 + -9.722 -19.695 4.884 -0.013 -0.999 -0.044 -727 538 1 + -11.253 -20.592 4.289 0.902 -0.230 -0.367 -727 554 1 + -11.022 -20.195 4.405 0.748 -0.494 -0.444 727 554 1 + -10.679 -19.872 4.454 0.519 -0.710 -0.477 727 538 1 + -10.258 -19.655 4.432 0.238 -0.854 -0.462 727 538 1 + -9.802 -19.566 4.341 -0.066 -0.914 -0.401 -727 538 1 + -11.467 -20.255 3.837 0.779 -0.037 -0.625 -727 554 1 + -11.198 -19.917 4.032 0.600 -0.263 -0.755 727 554 1 + -10.840 -19.618 4.114 0.361 -0.462 -0.810 727 538 1 + -10.427 -19.389 4.075 0.086 -0.615 -0.784 727 538 1 + -10.002 -19.251 3.918 -0.197 -0.707 -0.680 -727 538 1 + -11.445 -19.531 3.838 0.394 0.060 -0.917 -727 554 1 + -11.065 -19.266 3.937 0.141 -0.117 -0.983 -727 538 1 + -10.664 -19.019 3.889 -0.127 -0.282 -0.951 -727 538 1 + -11.746 -19.187 3.641 0.595 -0.170 -0.786 -729 550 1 + -12.269 -19.129 3.380 0.244 -0.131 -0.961 -729 550 1 + -12.736 -19.945 3.201 0.054 0.140 -0.989 -730 554 1 + -13.048 -19.323 3.105 0.262 -0.275 -0.925 -730 553 1 + -13.162 -20.157 3.213 -0.189 0.019 -0.982 -730 554 1 + -13.474 -19.534 3.117 0.018 -0.396 -0.918 -730 553 1 + -13.577 -20.342 3.355 -0.426 -0.087 -0.900 -730 554 1 + -13.888 -19.720 3.260 -0.219 -0.502 -0.837 -730 553 1 + -13.947 -20.488 3.616 -0.638 -0.170 -0.751 -730 554 1 + -14.259 -19.865 3.521 -0.430 -0.585 -0.687 -730 553 1 + -14.244 -20.581 3.976 -0.808 -0.223 -0.546 -730 554 1 + -14.556 -19.958 3.881 -0.600 -0.639 -0.482 -730 553 1 + -13.027 -18.191 2.973 0.251 -0.305 -0.919 -734 553 1 + -12.957 -17.706 2.721 0.205 -0.628 -0.751 -734 552 1 + -13.513 -18.695 2.980 -0.004 0.083 -0.997 -734 553 1 + -13.420 -18.156 2.923 -0.066 -0.276 -0.959 734 553 1 + -13.340 -17.672 2.673 -0.120 -0.599 -0.792 734 552 1 + -13.285 -17.310 2.263 -0.157 -0.841 -0.518 -734 552 1 + -13.966 -18.576 3.056 -0.263 0.151 -0.953 -734 553 1 + -13.800 -18.056 2.988 -0.373 -0.195 -0.907 734 553 1 + -13.710 -17.575 2.736 -0.433 -0.516 -0.739 734 552 1 + -13.707 -17.198 2.334 -0.435 -0.767 -0.472 -734 552 1 + -14.352 -18.392 3.260 -0.483 0.257 -0.837 -734 553 1 + -14.125 -17.901 3.158 -0.635 -0.070 -0.769 734 553 1 + -14.026 -17.424 2.902 -0.701 -0.388 -0.598 734 552 1 + -14.068 -17.026 2.524 -0.673 -0.654 -0.347 -734 552 1 + -14.359 -17.708 3.417 -0.824 0.085 -0.561 -734 553 1 + -14.253 -17.237 3.153 -0.894 -0.230 -0.385 -734 552 1 + -14.439 -17.592 3.533 -0.770 0.007 -0.638 -735 551 1 + -14.615 -17.509 3.804 -0.888 0.063 -0.455 -735 551 1 + -12.702 -17.703 2.758 0.035 -0.630 -0.776 -738 550 1 + -12.374 -17.178 2.312 0.442 -0.754 -0.486 -738 552 1 + -12.250 -17.540 2.753 0.359 -0.513 -0.780 738 550 1 + -12.044 -18.018 3.017 0.222 -0.194 -0.955 -738 550 1 + -11.862 -17.281 2.868 0.638 -0.327 -0.697 -738 550 1 + -11.808 -16.605 2.090 0.602 -0.778 -0.178 -740 552 1 + -11.554 -16.423 1.719 0.433 -0.899 0.069 -740 570 1 + -11.232 -16.383 1.359 0.218 -0.926 0.309 -740 570 1 + -12.376 -17.001 2.090 0.441 -0.637 -0.632 -740 552 1 + -12.150 -16.682 1.803 0.289 -0.849 -0.441 740 552 1 + -11.878 -16.497 1.448 0.108 -0.973 -0.204 740 570 1 + -11.589 -16.464 1.060 -0.085 -0.995 0.054 740 570 1 + -11.313 -16.587 0.681 -0.268 -0.913 0.307 -740 570 1 + -12.816 -16.870 1.804 0.151 -0.551 -0.821 -740 552 1 + -12.517 -16.573 1.564 -0.048 -0.749 -0.661 740 552 1 + -12.226 -16.393 1.221 -0.242 -0.869 -0.432 740 570 1 + -11.972 -16.350 0.810 -0.411 -0.898 -0.158 740 570 1 + -11.783 -16.447 0.375 -0.537 -0.833 0.132 -740 570 1 + -13.206 -16.539 1.627 -0.105 -0.333 -0.937 -740 552 1 + -12.843 -16.296 1.416 -0.347 -0.495 -0.797 740 552 1 + -12.535 -16.131 1.081 -0.553 -0.605 -0.573 740 570 1 + -12.313 -16.061 0.656 -0.701 -0.652 -0.290 740 570 1 + -12.200 -16.093 0.186 -0.776 -0.631 0.024 -740 570 1 + -13.066 -15.904 1.388 -0.552 -0.135 -0.823 -740 552 1 + -12.746 -15.760 1.054 -0.766 -0.231 -0.600 -740 570 1 + -12.546 -15.652 0.626 -0.899 -0.303 -0.315 -740 570 1 + -13.324 -15.623 1.454 -0.381 -0.322 -0.867 -741 552 1 + -13.236 -15.229 1.176 -0.439 -0.585 -0.681 -741 568 1 + -13.218 -14.928 0.788 -0.451 -0.786 -0.423 -741 568 1 + -13.968 -15.731 1.880 -0.606 0.198 -0.770 -741 552 1 + -13.734 -15.342 1.693 -0.762 -0.061 -0.645 741 552 1 + -13.623 -14.963 1.401 -0.836 -0.314 -0.451 741 568 1 + -13.647 -14.634 1.038 -0.820 -0.533 -0.208 741 568 1 + -13.802 -14.391 0.641 -0.717 -0.695 0.056 -741 568 1 + -13.900 -14.978 2.074 -0.916 0.277 -0.291 -741 552 1 + -13.780 -14.619 1.761 -0.996 0.037 -0.083 -741 568 1 + -13.820 -14.254 1.436 -0.969 -0.206 0.134 -741 568 1 + -12.793 -15.093 0.248 -0.734 -0.676 -0.063 -743 570 1 + -13.244 -14.618 -0.162 -0.398 -0.825 -0.402 -743 568 1 + -12.766 -14.967 -0.210 -0.716 -0.592 -0.370 743 570 1 + -12.457 -15.455 -0.345 -0.922 -0.266 -0.280 -743 570 1 + -12.631 -14.752 -0.612 -0.626 -0.448 -0.639 -743 570 1 + -12.631 -14.548 -0.794 -0.626 -0.583 -0.518 -745 568 1 + -12.283 -14.821 -1.090 -0.858 -0.401 -0.320 -745 571 1 + -13.061 -14.005 -0.910 -0.293 -0.474 -0.830 -745 568 1 + -12.599 -14.223 -1.063 -0.601 -0.329 -0.728 745 568 1 + -12.252 -14.504 -1.353 -0.833 -0.142 -0.535 745 571 1 + -12.061 -14.811 -1.744 -0.960 0.063 -0.274 -745 571 1 + -12.895 -13.589 -1.122 -0.199 -0.237 -0.951 -745 568 1 + -12.458 -13.868 -1.244 -0.490 -0.051 -0.870 745 568 1 + -12.114 -14.157 -1.530 -0.720 0.141 -0.679 745 571 1 + -11.905 -14.418 -1.944 -0.859 0.316 -0.403 -745 571 1 + -12.223 -13.524 -1.316 -0.307 0.219 -0.926 -745 568 1 + -11.884 -13.820 -1.600 -0.533 0.416 -0.737 -745 571 1 + -12.119 -13.068 -1.321 -0.376 -0.085 -0.923 -747 568 1 + -11.688 -12.966 -1.607 -0.664 -0.153 -0.732 -747 481 1 + -11.379 -12.892 -2.028 -0.869 -0.202 -0.451 -747 481 1 + -12.149 -12.626 -1.248 -0.403 0.325 -0.855 -747 568 1 + -11.714 -12.575 -1.542 -0.693 0.291 -0.659 -747 481 1 + -11.408 -12.470 -1.959 -0.897 0.221 -0.382 -747 481 1 + -12.621 -12.142 -1.037 -0.088 0.002 -0.996 -749 568 1 + -12.598 -11.666 -1.116 -0.104 -0.315 -0.943 -749 568 1 + -12.590 -11.240 -1.341 -0.109 -0.599 -0.793 -749 501 1 + -12.600 -10.906 -1.690 -0.103 -0.822 -0.561 -749 501 1 + -13.120 -12.541 -0.985 -0.328 0.362 -0.873 -749 568 1 + -12.972 -12.085 -0.940 -0.426 0.057 -0.903 749 568 1 + -12.890 -11.619 -1.035 -0.481 -0.253 -0.839 749 568 1 + -12.883 -11.192 -1.261 -0.486 -0.538 -0.689 749 501 1 + -12.951 -10.849 -1.593 -0.441 -0.766 -0.468 749 501 1 + -13.088 -10.625 -1.998 -0.350 -0.916 -0.198 -749 501 1 + -13.251 -11.968 -0.729 -0.695 0.170 -0.699 -749 568 1 + -13.123 -11.522 -0.859 -0.780 -0.128 -0.612 -749 568 1 + -13.115 -11.095 -1.084 -0.785 -0.412 -0.462 -749 501 1 + -13.230 -10.732 -1.381 -0.709 -0.654 -0.264 -749 501 1 + -13.881 -12.586 -0.425 -0.762 0.337 -0.553 -750 568 1 + -14.011 -11.945 -0.157 -0.676 -0.090 -0.731 -750 567 1 + -14.156 -12.804 -0.037 -0.919 0.212 -0.331 -750 568 1 + -14.286 -12.163 0.231 -0.833 -0.215 -0.510 -750 567 1 + -14.286 -13.022 0.420 -0.994 0.088 -0.070 -750 568 1 + -14.416 -12.381 0.688 -0.907 -0.339 -0.248 -750 567 1 + -13.434 -11.331 -0.608 -0.572 -0.255 -0.779 -751 567 1 + -13.342 -10.955 -0.900 -0.634 -0.506 -0.585 -751 501 1 + -13.349 -10.658 -1.284 -0.630 -0.704 -0.329 -751 501 1 + -13.987 -11.386 -0.126 -0.662 0.229 -0.714 -751 567 1 + -13.744 -11.029 -0.346 -0.824 -0.009 -0.566 751 567 1 + -13.630 -10.673 -0.656 -0.900 -0.247 -0.360 751 501 1 + -13.658 -10.356 -1.022 -0.881 -0.458 -0.116 751 501 1 + -13.824 -10.110 -1.406 -0.770 -0.622 0.140 -751 501 1 + -14.121 -10.960 0.282 -0.739 0.472 -0.481 -751 567 1 + -13.856 -10.672 -0.005 -0.915 0.280 -0.289 751 567 1 + -13.735 -10.340 -0.338 -0.996 0.059 -0.068 751 501 1 + -13.770 -9.999 -0.681 -0.972 -0.169 0.161 751 501 1 + -13.958 -9.684 -0.999 -0.847 -0.378 0.373 -751 501 1 + -13.750 -10.329 0.350 -0.829 0.559 -0.000 -751 567 1 + -13.636 -10.020 -0.006 -0.905 0.353 0.237 -751 501 1 + -13.664 -9.656 -0.326 -0.886 0.111 0.450 -751 501 1 + -12.167 -10.822 -2.117 -0.391 -0.878 -0.276 -753 501 1 + -11.767 -11.075 -2.149 -0.658 -0.709 -0.255 -753 501 1 + -11.466 -11.436 -2.220 -0.859 -0.469 -0.207 -753 481 1 + -11.294 -11.866 -2.323 -0.973 -0.182 -0.139 -753 481 1 + -12.058 -10.665 -2.475 -0.285 -0.723 -0.629 -753 501 1 + -11.679 -10.948 -2.441 -0.538 -0.535 -0.652 -753 501 1 + -11.380 -11.311 -2.505 -0.737 -0.293 -0.609 -753 481 1 + -11.191 -11.718 -2.661 -0.863 -0.021 -0.505 -753 481 1 + -12.891 -10.569 -2.356 -0.237 -0.884 -0.402 -755 501 1 + -13.267 -10.396 -2.923 0.013 -1.000 -0.024 -755 502 1 + -13.286 -10.514 -2.078 -0.463 -0.852 -0.243 -755 501 1 + -13.661 -10.341 -2.645 -0.213 -0.968 0.135 -755 502 1 + -13.632 -10.328 -1.792 -0.660 -0.747 -0.080 -755 501 1 + -14.007 -10.155 -2.360 -0.410 -0.862 0.298 -755 502 1 + -13.902 -10.028 -1.522 -0.815 -0.575 0.074 -755 501 1 + -14.277 -9.855 -2.090 -0.565 -0.690 0.452 -755 502 1 + -14.073 -9.638 -1.290 -0.913 -0.352 0.207 -755 501 1 + -14.449 -9.465 -1.857 -0.663 -0.468 0.585 -755 502 1 + -14.133 -9.190 -1.114 -0.947 -0.096 0.308 -755 501 1 + -14.508 -9.017 -1.681 -0.697 -0.211 0.686 -755 502 1 + -14.075 -8.719 -1.008 -0.914 0.173 0.368 -755 501 1 + -14.450 -8.546 -1.576 -0.664 0.058 0.746 -755 502 1 + -13.771 -7.789 -1.021 -0.905 0.115 0.409 -757 501 1 + -13.786 -7.295 -0.993 -0.896 -0.215 0.390 -757 589 1 + -13.948 -6.835 -0.901 -0.788 -0.521 0.328 -757 589 1 + -13.695 -7.793 -0.879 -0.839 0.112 0.532 -757 501 1 + -13.717 -7.298 -0.865 -0.824 -0.218 0.522 -757 589 1 + -13.875 -6.838 -0.765 -0.720 -0.524 0.456 -757 589 1 + -13.648 -7.799 -0.798 -0.871 0.117 0.478 -759 501 1 + -13.629 -7.309 -0.710 -0.883 -0.210 0.419 -759 501 1 + -13.756 -6.854 -0.553 -0.799 -0.513 0.315 -759 588 1 + -14.015 -6.484 -0.345 -0.626 -0.760 0.176 -759 588 1 + -13.363 -7.832 -0.471 -0.584 0.083 0.808 -759 501 1 + -13.398 -7.336 -0.444 -0.560 -0.247 0.790 -759 501 1 + -13.525 -6.881 -0.288 -0.476 -0.551 0.686 -759 588 1 + -13.731 -6.517 -0.018 -0.339 -0.793 0.506 -759 588 1 + -13.068 -8.190 -0.064 -0.780 0.322 0.537 -760 501 1 + -12.833 -8.016 0.319 -0.937 0.206 0.281 -760 501 1 + -12.742 -7.810 0.745 -0.998 0.069 -0.003 -760 574 1 + -12.806 -7.594 1.171 -0.955 -0.076 -0.287 -760 574 1 + -13.070 -8.273 -0.023 -0.781 0.242 0.575 -760 501 1 + -12.834 -8.086 0.353 -0.939 0.117 0.325 -760 501 1 + -12.743 -7.880 0.779 -0.999 -0.021 0.040 -760 574 1 + -12.807 -7.677 1.212 -0.956 -0.156 -0.248 -760 574 1 + -13.084 -6.938 1.313 -0.769 -0.513 -0.381 -762 574 1 + -13.287 -6.578 1.005 -0.634 -0.753 -0.176 -762 588 1 + -13.602 -6.351 0.666 -0.424 -0.904 0.050 -762 588 1 + -13.156 -6.891 1.413 -0.831 -0.472 -0.295 -762 574 1 + -13.353 -6.534 1.097 -0.700 -0.709 -0.084 -762 588 1 + -13.674 -6.304 0.766 -0.486 -0.863 0.137 -762 588 1 + -13.481 -6.440 1.214 -0.614 -0.772 -0.162 -765 583 1 + -13.744 -6.258 0.829 -0.439 -0.894 0.095 -765 588 1 + -13.675 -6.274 1.427 -0.767 -0.642 0.007 -765 583 1 + -13.942 -6.089 1.047 -0.588 -0.766 0.260 -765 588 1 + -13.742 -6.206 1.551 -0.722 -0.688 -0.076 -766 583 1 + -14.063 -5.955 1.281 -0.508 -0.855 0.104 -766 590 1 + -14.465 -5.840 1.028 -0.240 -0.932 0.273 -766 590 1 + -13.701 -6.267 2.248 -0.967 -0.253 0.036 -766 583 1 + -13.876 -5.962 1.908 -0.850 -0.456 0.263 766 583 1 + -14.187 -5.731 1.610 -0.643 -0.611 0.462 766 590 1 + -14.600 -5.596 1.385 -0.368 -0.701 0.612 766 590 1 + -15.072 -5.573 1.258 -0.053 -0.716 0.696 -766 590 1 + -13.879 -5.593 2.171 -0.852 -0.106 0.512 -766 583 1 + -14.189 -5.391 1.852 -0.646 -0.241 0.725 -766 590 1 + -14.603 -5.227 1.648 -0.370 -0.350 0.860 -766 590 1 + -15.029 -6.000 0.382 -0.026 -0.991 0.131 -768 590 1 + -14.438 -6.165 0.248 -0.419 -0.881 0.220 -768 588 1 + -14.685 -6.085 -0.399 -0.400 -0.915 0.052 -770 589 1 + -15.368 -5.816 -0.478 -0.244 -0.872 -0.424 -770 590 1 + -14.895 -5.929 -0.770 -0.559 -0.797 -0.229 770 589 1 + -14.543 -6.213 -1.110 -0.794 -0.607 -0.002 -770 589 1 + -15.500 -5.512 -0.843 -0.329 -0.676 -0.659 -770 590 1 + -15.017 -5.649 -1.106 -0.651 -0.584 -0.484 770 589 1 + -14.673 -5.912 -1.472 -0.880 -0.409 -0.240 -770 589 1 + -15.519 -5.109 -1.127 -0.342 -0.416 -0.842 -770 590 1 + -15.035 -5.279 -1.367 -0.665 -0.303 -0.682 770 589 1 + -14.693 -5.513 -1.753 -0.893 -0.147 -0.425 -770 589 1 + -15.425 -4.656 -1.296 -0.281 -0.124 -0.952 -770 590 1 + -14.948 -4.861 -1.523 -0.599 0.013 -0.801 770 589 1 + -14.599 -5.064 -1.921 -0.831 0.149 -0.535 -770 589 1 + -14.765 -4.447 -1.555 -0.461 0.328 -0.825 -770 589 1 + -15.134 -3.747 -1.188 -0.094 0.462 -0.882 -772 590 1 + -14.550 -3.778 -1.415 -0.483 0.483 -0.730 -772 588 1 + -15.018 -3.362 -0.910 -0.019 0.711 -0.703 -772 590 1 + -14.427 -3.370 -1.121 -0.413 0.717 -0.562 -772 588 1 + -14.889 -3.088 -0.527 0.064 0.888 -0.455 -772 590 1 + -14.291 -3.080 -0.715 -0.335 0.883 -0.330 -772 588 1 + -14.199 -2.892 0.084 -0.228 0.936 -0.270 -773 587 1 + -14.883 -2.931 0.384 0.068 0.989 0.132 -773 590 1 + -14.315 -2.872 0.521 -0.311 0.950 0.041 773 587 1 + -13.819 -2.595 0.667 -0.642 0.765 -0.056 -773 587 1 + -14.397 -2.994 0.949 -0.368 0.863 0.346 -773 587 1 + -13.356 -2.623 -0.188 -0.377 0.749 -0.545 -775 587 1 + -13.822 -2.942 -0.605 -0.067 0.961 -0.267 -775 588 1 + -12.989 -2.757 -0.496 -0.168 0.673 -0.721 -775 587 1 + -13.455 -3.075 -0.913 0.143 0.885 -0.443 -775 588 1 + -12.621 -3.007 -0.717 0.043 0.530 -0.847 -775 587 1 + -13.086 -3.325 -1.134 0.354 0.742 -0.570 -775 588 1 + -12.497 -3.778 -1.167 0.380 0.616 -0.690 -777 589 1 + -11.868 -3.658 -0.752 0.473 0.158 -0.867 -777 587 1 + -12.127 -4.051 -1.095 0.645 0.420 -0.638 777 589 1 + -12.240 -4.349 -1.583 0.721 0.619 -0.313 -777 589 1 + -11.862 -4.399 -0.934 0.835 0.171 -0.523 -777 589 1 + -11.124 -3.892 -0.300 0.378 -0.113 -0.919 -781 587 1 + -10.640 -3.800 -0.204 0.055 -0.175 -0.983 -781 586 1 + -11.646 -3.434 -0.543 0.600 0.286 -0.747 -781 587 1 + -11.212 -3.399 -0.293 0.311 0.262 -0.914 781 587 1 + -10.726 -3.320 -0.197 -0.013 0.210 -0.978 781 586 1 + -10.242 -3.206 -0.265 -0.336 0.133 -0.932 -781 586 1 + -11.767 -2.917 -0.315 0.531 0.581 -0.617 -781 587 1 + -11.317 -2.951 -0.096 0.231 0.604 -0.763 781 587 1 + -10.828 -2.884 -0.005 -0.095 0.559 -0.824 781 586 1 + -10.355 -2.723 -0.052 -0.411 0.451 -0.792 -781 586 1 + -11.889 -2.532 0.097 0.461 0.801 -0.381 -781 587 1 + -11.423 -2.617 0.262 0.150 0.858 -0.491 781 587 1 + -10.931 -2.559 0.343 -0.178 0.819 -0.545 781 586 1 + -10.469 -2.363 0.333 -0.486 0.688 -0.539 -781 586 1 + -11.994 -2.337 0.631 0.401 0.913 -0.076 -781 587 1 + -11.513 -2.448 0.724 0.081 0.987 -0.138 781 587 1 + -11.019 -2.394 0.794 -0.248 0.951 -0.185 781 586 1 + -10.567 -2.180 0.832 -0.550 0.808 -0.210 -781 586 1 + -11.574 -2.471 1.220 0.035 0.970 0.240 -781 587 1 + -11.078 -2.416 1.277 -0.296 0.934 0.202 -781 586 1 + -11.553 -2.509 1.452 0.021 0.996 0.086 -782 585 1 + -11.568 -2.512 1.480 0.011 0.994 0.105 -782 585 1 + -10.831 -2.228 2.175 -0.442 0.817 -0.370 -785 585 1 + -10.716 -1.891 2.545 -0.519 0.592 -0.616 -785 595 1 + -10.853 -2.234 2.188 -0.458 0.812 -0.360 -785 585 1 + -10.738 -1.897 2.558 -0.535 0.588 -0.607 -785 595 1 + -10.531 -1.827 2.423 -0.642 0.550 -0.535 -787 595 1 + -10.506 -2.088 1.927 -0.659 0.724 -0.204 -787 586 1 + -10.261 -1.211 2.697 -0.289 0.435 -0.853 -787 595 1 + -10.172 -1.628 2.332 -0.348 0.712 -0.609 787 595 1 + -10.157 -1.895 1.838 -0.359 0.890 -0.280 787 586 1 + -10.216 -1.975 1.286 -0.319 0.944 0.088 -787 586 1 + -9.766 -1.123 2.660 -0.006 0.485 -0.874 -787 595 1 + -9.760 -1.554 2.300 -0.011 0.772 -0.635 787 595 1 + -9.755 -1.823 1.808 -0.014 0.952 -0.306 787 586 1 + -9.753 -1.892 1.251 -0.015 0.998 0.065 -787 586 1 + -9.269 -1.197 2.699 0.278 0.443 -0.852 -787 595 1 + -9.345 -1.616 2.333 0.329 0.722 -0.608 787 595 1 + -9.352 -1.883 1.839 0.333 0.901 -0.279 787 586 1 + -9.289 -1.961 1.287 0.291 0.953 0.089 -787 586 1 + -8.832 -1.423 2.809 0.528 0.314 -0.789 -787 595 1 + -8.981 -1.804 2.425 0.627 0.568 -0.533 787 595 1 + -8.997 -2.066 1.929 0.638 0.743 -0.202 787 586 1 + -8.880 -2.172 1.390 0.560 0.814 0.157 -787 586 1 + -8.712 -2.096 2.565 0.846 0.330 -0.418 -787 595 1 + -8.736 -2.350 2.065 0.862 0.499 -0.085 -787 586 1 + -8.196 -1.757 3.426 0.891 0.123 -0.436 -789 595 1 + -7.981 -2.417 3.299 0.748 0.563 -0.352 -789 592 1 + -7.866 -2.139 4.281 0.876 0.320 -0.361 -791 595 1 + -7.555 -2.421 4.554 0.668 0.508 -0.543 -791 597 1 + -8.130 -1.400 4.492 0.929 0.327 0.173 -791 595 1 + -7.952 -1.788 4.755 0.811 0.585 -0.003 791 595 1 + -7.639 -2.078 5.018 0.602 0.779 -0.178 791 597 1 + -7.225 -2.237 5.251 0.326 0.885 -0.333 -791 597 1 + -8.226 -1.637 5.263 0.604 0.700 0.381 -791 595 1 + -7.906 -1.930 5.515 0.391 0.895 0.214 -791 597 1 + -8.519 -1.434 5.528 0.800 0.564 0.205 -792 595 1 + -8.459 -1.546 6.014 0.760 0.639 -0.119 -792 605 1 + -8.272 -1.550 6.481 0.635 0.642 -0.430 -792 605 1 + -8.677 -1.274 5.589 0.662 0.704 0.259 -792 595 1 + -8.602 -1.402 6.070 0.612 0.789 -0.061 -792 605 1 + -8.424 -1.396 6.540 0.493 0.785 -0.375 -792 605 1 + -7.871 -1.771 6.574 0.368 0.789 -0.492 -794 605 1 + -7.714 -1.987 6.205 0.263 0.933 -0.246 -794 597 1 + -7.669 -1.822 6.689 0.527 0.749 -0.401 -794 605 1 + -7.512 -2.037 6.320 0.423 0.893 -0.155 -794 597 1 + -7.330 -1.808 6.989 0.301 0.740 -0.601 -796 605 1 + -6.852 -1.980 6.867 -0.018 0.854 -0.519 -796 601 1 + -7.594 -1.341 7.413 0.686 0.641 -0.345 -796 605 1 + -7.189 -1.664 7.354 0.415 0.857 -0.306 796 605 1 + -6.707 -1.832 7.240 0.094 0.969 -0.230 796 601 1 + -6.209 -1.824 7.084 -0.238 0.963 -0.126 -796 601 1 + -7.091 -1.649 7.759 0.494 0.869 0.021 -796 605 1 + -6.608 -1.816 7.655 0.171 0.981 0.091 -796 601 1 + -7.339 -1.316 8.365 0.659 0.647 -0.383 -797 605 1 + -7.075 -1.193 8.793 0.483 0.565 -0.669 -797 55 1 + -6.725 -0.968 9.102 0.250 0.416 -0.875 -797 55 1 + -7.481 -1.174 8.415 0.522 0.784 -0.335 -797 605 1 + -7.207 -1.061 8.840 0.340 0.709 -0.618 -797 55 1 + -6.872 -0.821 9.154 0.116 0.549 -0.828 -797 55 1 + -6.255 -1.082 9.093 -0.064 0.492 -0.868 -799 55 1 + -6.188 -1.428 8.815 -0.108 0.723 -0.683 -799 55 1 + -6.136 -1.677 8.445 -0.143 0.889 -0.436 -799 601 1 + -6.103 -1.807 8.016 -0.165 0.975 -0.150 -799 601 1 + -5.574 -1.166 9.245 0.534 0.418 -0.735 -799 55 1 + -5.596 -1.501 8.947 0.549 0.641 -0.536 -799 55 1 + -5.544 -1.750 8.577 0.514 0.807 -0.289 -799 601 1 + -5.423 -1.891 8.168 0.433 0.901 -0.016 -799 601 1 + -5.311 -1.230 9.361 0.359 0.461 -0.812 -801 55 1 + -5.083 -1.611 9.145 0.207 0.715 -0.668 -801 55 1 + -4.822 -1.876 8.822 0.033 0.891 -0.452 -801 603 1 + -4.556 -1.996 8.424 -0.145 0.972 -0.187 -801 603 1 + -4.313 -1.959 7.997 -0.307 0.947 0.098 -801 603 1 + -5.195 -1.214 9.437 0.512 0.482 -0.711 -801 55 1 + -5.013 -1.601 9.192 0.391 0.740 -0.547 -801 55 1 + -4.768 -1.868 8.857 0.227 0.918 -0.325 -801 603 1 + -4.486 -1.987 8.471 0.039 0.997 -0.067 -801 603 1 + -4.197 -1.943 8.073 -0.153 0.968 0.198 -801 603 1 + -5.208 -0.343 9.798 0.628 0.404 -0.666 -803 55 1 + -4.626 -0.576 9.990 0.240 0.559 -0.794 -803 54 1 + -5.180 -0.002 10.127 0.643 0.598 -0.478 -803 55 1 + -4.598 -0.235 10.319 0.255 0.754 -0.606 -803 54 1 + -5.213 0.247 10.530 0.625 0.741 -0.247 -803 55 1 + -4.631 0.014 10.722 0.237 0.896 -0.375 -803 54 1 + -5.495 0.615 11.371 0.699 0.667 -0.257 -804 55 1 + -5.570 0.954 11.726 0.750 0.441 -0.493 -804 55 1 + -5.523 1.365 11.999 0.718 0.167 -0.676 -804 29 1 + -5.358 1.804 12.161 0.608 -0.125 -0.784 -804 29 1 + -5.520 0.633 11.350 0.674 0.684 -0.279 -804 55 1 + -5.591 0.968 11.708 0.721 0.461 -0.518 -804 55 1 + -5.544 1.379 11.981 0.689 0.187 -0.700 -804 29 1 + -5.384 1.821 12.140 0.583 -0.108 -0.806 -804 29 1 + -5.190 1.794 12.275 0.496 -0.119 -0.860 -806 29 1 + -5.221 1.351 12.242 0.517 0.177 -0.838 -806 29 1 + -5.184 0.931 12.097 0.492 0.457 -0.741 -806 54 1 + -5.082 0.572 11.854 0.424 0.696 -0.579 -806 54 1 + -4.923 0.304 11.535 0.318 0.874 -0.366 -806 54 1 + -5.117 1.783 12.324 0.573 -0.130 -0.809 -806 29 1 + -5.166 1.342 12.279 0.605 0.164 -0.779 -806 29 1 + -5.135 0.924 12.130 0.585 0.443 -0.680 -806 54 1 + -5.026 0.563 11.891 0.512 0.683 -0.521 -806 54 1 + -4.850 0.293 11.584 0.395 0.863 -0.316 -806 54 1 + -4.593 2.126 12.470 0.223 -0.359 -0.906 -808 29 1 + -4.162 1.996 12.550 -0.064 -0.272 -0.960 -808 29 1 + -3.740 1.828 12.497 -0.345 -0.160 -0.925 -808 60 1 + -3.367 1.638 12.316 -0.594 -0.034 -0.804 -808 60 1 + -3.076 1.443 12.022 -0.788 0.096 -0.608 -808 60 1 + -4.770 2.710 12.247 0.617 -0.124 -0.777 -808 29 1 + -4.437 2.480 12.458 0.394 0.029 -0.919 808 29 1 + -4.048 2.254 12.542 0.135 0.179 -0.974 808 29 1 + -3.641 2.053 12.490 -0.136 0.313 -0.940 808 60 1 + -3.253 1.896 12.308 -0.395 0.418 -0.818 808 60 1 + -2.920 1.797 12.011 -0.617 0.484 -0.620 808 60 1 + -2.672 1.765 11.628 -0.782 0.505 -0.365 -808 60 1 + -4.509 3.125 12.499 0.766 0.112 -0.633 -808 29 1 + -4.253 2.771 12.636 0.595 0.348 -0.724 808 29 1 + -3.915 2.467 12.671 0.370 0.551 -0.748 808 29 1 + -3.524 2.239 12.603 0.109 0.703 -0.703 808 60 1 + -3.119 2.108 12.437 -0.161 0.790 -0.592 808 60 1 + -2.736 2.088 12.188 -0.416 0.803 -0.426 808 60 1 + -2.411 2.180 11.880 -0.633 0.742 -0.221 -808 60 1 + -4.092 2.922 12.954 0.772 0.512 -0.376 -808 29 1 + -3.797 2.576 12.903 0.576 0.743 -0.342 -808 29 1 + -3.422 2.334 12.805 0.326 0.904 -0.277 -808 60 1 + -3.001 2.218 12.669 0.045 0.982 -0.186 -808 60 1 + -2.575 2.238 12.506 -0.239 0.968 -0.078 -808 60 1 + -4.021 3.403 13.382 0.725 0.192 -0.661 -810 29 1 + -3.640 3.500 13.699 0.471 0.127 -0.873 -810 28 1 + -4.112 3.677 13.411 0.656 0.402 -0.639 -810 29 1 + -3.728 3.767 13.728 0.400 0.342 -0.850 -810 28 1 + -4.426 4.210 13.202 0.865 0.046 -0.500 -811 25 1 + -4.774 3.827 12.559 0.615 0.514 -0.599 -811 29 1 + -4.775 4.364 12.820 0.615 0.156 -0.773 811 25 1 + -4.630 4.937 12.898 0.519 -0.226 -0.824 -811 25 1 + -5.249 4.499 12.604 0.276 0.253 -0.927 -811 25 1 + -4.019 4.502 13.638 0.594 -0.148 -0.791 -813 25 1 + -3.678 4.205 13.846 0.366 0.050 -0.929 -813 28 1 + -3.797 4.920 13.874 0.779 0.198 -0.595 -813 25 1 + -3.457 4.620 14.080 0.552 0.398 -0.733 -813 28 1 + -3.854 5.759 13.655 0.817 -0.362 -0.450 -815 25 1 + -3.542 6.197 13.655 0.609 -0.654 -0.450 -815 22 1 + -4.292 5.446 13.140 0.737 0.102 -0.668 -815 25 1 + -4.104 5.931 13.278 0.612 -0.221 -0.760 815 25 1 + -3.798 6.373 13.269 0.408 -0.515 -0.754 815 22 1 + -3.413 6.715 13.115 0.151 -0.744 -0.651 -815 22 1 + -4.459 6.166 13.050 0.319 -0.027 -0.947 -815 25 1 + -4.162 6.614 13.035 0.121 -0.326 -0.938 -815 22 1 + -4.665 6.297 12.953 0.456 -0.114 -0.883 -816 19 1 + -5.113 5.762 12.735 0.207 0.306 -0.929 -816 25 1 + -5.062 6.343 12.814 0.173 -0.082 -0.982 816 19 1 + -4.971 6.905 12.665 0.112 -0.457 -0.883 -816 19 1 + -5.555 5.811 12.722 -0.078 0.337 -0.938 -816 25 1 + -5.483 6.390 12.801 -0.127 -0.048 -0.991 816 19 1 + -5.439 6.957 12.651 -0.156 -0.427 -0.891 -816 19 1 + -5.981 5.856 12.842 -0.353 0.367 -0.861 -816 25 1 + -5.888 6.433 12.915 -0.415 -0.018 -0.910 816 19 1 + -5.891 7.005 12.778 -0.414 -0.399 -0.818 -816 19 1 + -6.241 6.469 13.146 -0.667 0.008 -0.745 -816 19 1 + -4.616 7.302 12.599 0.315 -0.230 -0.921 -818 19 1 + -3.929 7.446 12.619 -0.143 -0.326 -0.934 -818 22 1 + -4.717 7.792 12.521 0.257 0.050 -0.965 -818 19 1 + -4.029 7.937 12.542 -0.201 -0.046 -0.979 -818 22 1 + -4.822 8.283 12.595 0.197 0.331 -0.923 -818 19 1 + -4.135 8.427 12.615 -0.261 0.234 -0.936 -818 22 1 + -4.922 8.729 12.813 0.140 0.586 -0.798 -818 19 1 + -4.235 8.874 12.833 -0.318 0.489 -0.812 -818 22 1 + -4.902 9.503 13.534 0.019 0.519 -0.854 -820 24 1 + -5.122 9.534 13.568 -0.126 0.540 -0.832 -820 24 1 + -5.975 9.270 13.383 0.103 0.595 -0.797 -823 11 1 + -6.376 8.815 13.165 -0.163 0.293 -0.942 -823 11 1 + -5.811 10.050 13.873 0.055 0.446 -0.893 -827 24 1 + -5.968 10.415 14.130 -0.050 0.691 -0.721 -827 24 1 + -6.937 10.788 14.054 0.596 0.443 -0.670 -829 9 1 + -6.835 10.164 13.642 0.147 0.641 -0.753 -829 11 1 + -7.211 10.631 13.797 0.397 0.330 -0.856 829 9 1 + -7.484 11.182 13.733 0.580 -0.037 -0.814 -829 9 1 + -7.536 10.442 13.643 0.161 0.193 -0.968 -829 9 1 + -7.645 10.211 13.554 0.233 0.347 -0.908 -830 11 1 + -8.046 10.533 13.475 0.501 0.133 -0.855 -830 3 1 + -7.827 9.960 13.454 0.099 0.162 -0.982 -830 11 1 + -8.228 10.282 13.375 0.367 -0.053 -0.929 -830 3 1 + -8.822 10.961 12.898 0.442 -0.052 -0.896 -834 3 1 + -9.089 11.510 12.551 0.620 -0.418 -0.664 -834 2 1 + -9.844 10.890 12.521 0.455 -0.418 -0.786 -836 1 1 + -10.113 10.554 12.635 0.261 -0.660 -0.705 -836 1 1 + -10.198 10.150 12.874 0.318 -0.390 -0.864 -839 4 1 + -10.380 10.467 12.579 0.439 -0.601 -0.667 -839 1 1 + -10.388 9.564 13.076 -0.111 -0.279 -0.954 -839 4 1 + -10.574 9.961 12.905 0.013 -0.544 -0.839 839 4 1 + -10.758 10.277 12.609 0.135 -0.754 -0.642 839 1 1 + -10.922 10.482 12.219 0.245 -0.891 -0.382 -839 1 1 + -10.819 9.459 13.234 -0.395 -0.348 -0.850 -839 4 1 + -10.960 9.867 13.046 -0.301 -0.620 -0.725 839 4 1 + -11.146 10.182 12.751 -0.177 -0.830 -0.528 839 1 1 + -11.357 10.376 12.378 -0.036 -0.959 -0.280 -839 1 1 + -11.211 9.473 13.496 -0.652 -0.339 -0.678 -839 4 1 + -11.311 9.879 13.281 -0.585 -0.610 -0.534 839 4 1 + -11.498 10.195 12.987 -0.461 -0.820 -0.338 839 1 1 + -11.752 10.390 12.643 -0.291 -0.950 -0.109 -839 1 1 + -11.515 9.604 13.831 -0.852 -0.253 -0.457 -839 4 1 + -11.584 9.996 13.581 -0.807 -0.515 -0.291 839 4 1 + -11.771 10.312 13.288 -0.681 -0.726 -0.096 839 1 1 + -12.059 10.522 12.981 -0.489 -0.865 0.109 -839 1 1 + -11.695 9.836 14.199 -0.971 -0.101 -0.215 -839 4 1 + -11.746 10.204 13.910 -0.938 -0.346 -0.023 839 4 1 + -11.934 10.521 13.619 -0.812 -0.557 0.171 839 1 1 + -12.242 10.756 13.352 -0.607 -0.714 0.349 -839 1 1 + -11.777 10.478 14.230 -0.964 -0.124 0.236 -839 4 1 + -11.966 10.796 13.940 -0.838 -0.336 0.430 -839 1 1 + -11.757 10.593 14.682 -0.978 -0.200 -0.066 -841 4 1 + -11.926 11.014 14.800 -0.864 -0.482 -0.144 -841 6 1 + -12.223 11.365 14.897 -0.667 -0.716 -0.208 -841 6 1 + -11.637 10.049 15.069 -0.933 0.039 0.357 -841 4 1 + -11.677 10.514 15.119 -0.906 -0.271 0.324 841 4 1 + -11.851 10.939 15.217 -0.791 -0.554 0.259 841 6 1 + -12.140 11.283 15.352 -0.598 -0.784 0.169 841 6 1 + -12.517 11.512 15.512 -0.346 -0.936 0.062 -841 6 1 + -11.363 10.069 15.523 -0.753 0.053 0.656 -841 4 1 + -11.445 10.531 15.505 -0.699 -0.255 0.669 841 4 1 + -11.629 10.956 15.584 -0.576 -0.538 0.615 841 6 1 + -11.897 11.301 15.754 -0.397 -0.768 0.502 841 6 1 + -12.224 11.534 15.998 -0.179 -0.923 0.340 -841 6 1 + -11.099 10.642 15.772 -0.390 -0.156 0.907 -841 4 1 + -11.299 11.061 15.839 -0.257 -0.436 0.863 -841 6 1 + -11.537 11.417 16.033 -0.098 -0.673 0.733 -841 6 1 + -10.613 10.160 16.112 -0.714 0.165 0.681 -843 4 1 + -10.363 10.142 16.475 -0.881 0.177 0.439 -843 4 1 + -10.226 10.147 16.894 -0.972 0.174 0.159 -843 15 1 + -10.216 10.175 17.334 -0.979 0.155 -0.134 -843 15 1 + -10.333 10.222 17.757 -0.901 0.124 -0.416 -843 15 1 + -10.582 9.799 16.118 -0.676 -0.266 0.687 -843 4 1 + -10.339 9.871 16.479 -0.838 -0.314 0.446 -843 4 1 + -10.205 9.902 16.898 -0.927 -0.334 0.167 -843 15 1 + -10.191 9.890 17.338 -0.937 -0.326 -0.127 -843 15 1 + -10.299 9.836 17.763 -0.865 -0.290 -0.409 -843 15 1 + -10.505 9.677 16.158 -0.728 -0.185 0.660 -844 4 1 + -10.225 9.630 16.586 -0.914 -0.153 0.375 -844 13 1 + -10.798 9.238 15.714 -0.381 -0.494 0.781 -844 4 1 + -10.402 9.270 16.039 -0.645 -0.515 0.565 844 4 1 + -10.120 9.211 16.464 -0.833 -0.476 0.281 844 13 1 + -9.984 9.068 16.938 -0.924 -0.381 -0.035 -844 13 1 + -10.561 8.872 15.498 -0.225 -0.735 0.640 -844 4 1 + -10.189 8.941 15.846 -0.472 -0.781 0.408 844 4 1 + -9.901 8.874 16.266 -0.664 -0.736 0.128 844 13 1 + -9.730 8.676 16.708 -0.779 -0.605 -0.167 -844 13 1 + -9.893 8.734 15.602 -0.232 -0.950 0.210 -844 4 1 + -9.596 8.660 16.015 -0.429 -0.901 -0.065 -844 13 1 + -10.206 9.670 17.644 -0.927 -0.179 -0.331 -846 15 1 + -9.992 9.118 17.202 -0.928 -0.353 0.116 -846 13 1 + -10.100 9.263 17.759 -0.856 -0.450 -0.254 846 15 1 + -10.404 9.306 18.257 -0.653 -0.479 -0.587 -846 15 1 + -9.762 8.741 17.360 -0.797 -0.568 0.206 -846 13 1 + -9.886 8.914 17.905 -0.714 -0.683 -0.157 846 15 1 + -10.174 8.930 18.414 -0.522 -0.694 -0.497 -846 15 1 + -9.435 8.458 17.539 -0.610 -0.730 0.308 -846 13 1 + -9.583 8.650 18.071 -0.511 -0.858 -0.047 846 15 1 + -9.847 8.646 18.593 -0.335 -0.856 -0.394 -846 15 1 + -9.038 8.290 17.724 -0.384 -0.825 0.414 -846 13 1 + -9.214 8.495 18.243 -0.266 -0.962 0.068 846 15 1 + -9.451 8.479 18.778 -0.108 -0.951 -0.289 -846 15 1 + -8.606 8.254 17.900 -0.136 -0.846 0.515 -846 13 1 + -8.812 8.460 18.407 0.001 -0.984 0.177 846 15 1 + -9.018 8.442 18.954 0.139 -0.972 -0.188 -846 15 1 + -8.173 8.350 18.052 0.111 -0.791 0.601 -846 13 1 + -8.410 8.550 18.548 0.269 -0.924 0.271 846 15 1 + -8.586 8.539 19.106 0.386 -0.917 -0.101 -846 15 1 + -7.777 8.573 18.167 0.337 -0.664 0.667 -846 13 1 + -8.042 8.757 18.655 0.514 -0.787 0.342 846 15 1 + -8.190 8.761 19.221 0.612 -0.790 -0.035 -846 15 1 + -7.739 9.063 18.719 0.715 -0.584 0.384 -846 15 1 + -7.110 9.129 18.055 0.719 -0.346 0.603 -848 13 1 + -7.121 9.573 18.591 0.726 -0.642 0.245 -848 14 1 + -6.545 9.470 17.443 0.656 -0.217 0.723 -850 13 1 + -6.127 9.487 17.182 0.378 -0.229 0.897 -850 24 1 + -5.649 9.468 17.066 0.059 -0.216 0.975 -850 24 1 + -6.589 9.176 17.339 0.619 -0.459 0.637 -850 13 1 + -6.169 9.214 17.085 0.339 -0.485 0.806 -850 24 1 + -5.693 9.174 16.961 0.022 -0.458 0.889 -850 24 1 + -6.850 8.715 17.410 0.793 -0.152 0.590 -851 13 1 + -6.682 8.347 17.205 0.681 0.093 0.726 -851 13 1 + -6.419 7.991 17.099 0.506 0.330 0.797 -851 21 1 + -6.088 7.681 17.104 0.285 0.537 0.794 -851 21 1 + -7.262 8.733 17.914 0.631 -0.573 0.523 -851 13 1 + -7.124 8.459 17.579 0.539 -0.390 0.746 851 13 1 + -6.911 8.132 17.347 0.397 -0.172 0.901 851 13 1 + -6.644 7.781 17.238 0.219 0.062 0.974 851 21 1 + -6.347 7.439 17.263 0.021 0.290 0.957 851 21 1 + -6.047 7.136 17.420 -0.179 0.492 0.852 -851 21 1 + -7.682 8.408 17.912 0.392 -0.758 0.521 -851 13 1 + -7.449 8.208 17.577 0.237 -0.624 0.745 851 13 1 + -7.184 7.921 17.345 0.060 -0.433 0.899 851 13 1 + -6.911 7.575 17.236 -0.122 -0.202 0.972 851 21 1 + -6.655 7.201 17.261 -0.293 0.047 0.955 851 21 1 + -6.438 6.833 17.418 -0.437 0.292 0.851 -851 21 1 + -8.088 8.151 17.689 0.159 -0.905 0.394 -851 13 1 + -7.765 8.008 17.405 -0.056 -0.810 0.584 851 13 1 + -7.449 7.754 17.200 -0.267 -0.640 0.721 851 13 1 + -7.170 7.411 17.095 -0.453 -0.411 0.791 851 21 1 + -6.953 7.012 17.098 -0.598 -0.145 0.789 851 21 1 + -6.819 6.593 17.210 -0.687 0.134 0.714 -851 21 1 + -8.406 8.010 17.289 -0.022 -0.986 0.166 -851 13 1 + -8.011 7.898 17.094 -0.285 -0.912 0.296 851 13 1 + -7.656 7.661 16.940 -0.522 -0.754 0.399 851 13 1 + -7.372 7.321 16.840 -0.711 -0.527 0.465 851 21 1 + -7.186 6.908 16.805 -0.835 -0.251 0.489 851 21 1 + -7.115 6.460 16.836 -0.883 0.047 0.468 -851 21 1 + -8.142 7.899 16.704 -0.407 -0.911 -0.066 -851 13 1 + -7.765 7.662 16.613 -0.658 -0.753 -0.005 -851 13 1 + -7.479 7.321 16.520 -0.849 -0.526 0.056 -851 21 1 + -7.310 6.908 16.436 -0.961 -0.251 0.113 -851 21 1 + -5.566 7.791 16.969 -0.063 0.464 0.884 -853 21 1 + -5.423 8.201 16.841 -0.158 0.190 0.969 -853 24 1 + -5.303 8.637 16.845 -0.238 -0.100 0.966 -853 24 1 + -5.285 7.705 16.991 0.181 0.389 0.903 -853 21 1 + -5.154 8.118 16.863 0.093 0.113 0.989 -853 24 1 + -5.010 8.547 16.869 -0.003 -0.173 0.985 -853 24 1 + -5.019 7.674 16.978 0.003 0.409 0.912 -855 21 1 + -4.645 8.090 16.906 -0.246 0.132 0.960 -855 23 1 + -5.053 7.043 17.292 0.475 0.430 0.768 -855 21 1 + -4.725 7.413 17.021 0.256 0.184 0.949 855 21 1 + -4.343 7.821 16.950 0.002 -0.089 0.996 855 23 1 + -3.961 8.211 17.090 -0.253 -0.348 0.902 -855 23 1 + -4.741 6.727 17.187 0.680 0.222 0.699 -855 21 1 + -4.455 7.139 16.930 0.489 -0.052 0.871 855 21 1 + -4.065 7.540 16.856 0.230 -0.320 0.919 855 23 1 + -3.627 7.873 16.978 -0.062 -0.542 0.838 -855 23 1 + -4.492 6.434 16.941 0.843 0.030 0.537 -855 21 1 + -4.240 6.885 16.716 0.675 -0.271 0.686 855 21 1 + -3.844 7.279 16.637 0.411 -0.533 0.739 855 23 1 + -3.361 7.560 16.714 0.090 -0.721 0.688 -855 23 1 + -4.105 6.682 16.405 0.791 -0.446 0.418 -855 21 1 + -3.706 7.070 16.317 0.525 -0.705 0.477 -855 23 1 + -4.235 5.760 16.360 0.878 0.168 0.448 -857 21 1 + -3.987 5.348 16.215 0.712 0.443 0.545 -857 28 1 + -3.618 5.011 16.161 0.466 0.667 0.581 -857 28 1 + -4.265 5.718 16.426 0.849 0.127 0.513 -857 21 1 + -4.013 5.310 16.274 0.681 0.399 0.614 -857 28 1 + -3.647 4.970 16.226 0.437 0.626 0.646 -857 28 1 + -4.311 5.652 16.531 0.880 0.171 0.443 -859 21 1 + -4.093 5.187 16.477 0.734 0.481 0.479 -859 27 1 + -4.380 5.605 16.663 0.824 0.133 0.551 -859 21 1 + -4.164 5.139 16.613 0.680 0.443 0.584 -859 27 1 + -4.520 5.640 16.914 0.917 0.109 0.384 -861 21 1 + -4.453 5.202 17.072 0.873 0.401 0.278 -861 21 1 + -4.258 4.823 17.272 0.743 0.654 0.145 -861 36 1 + -3.953 4.541 17.493 0.539 0.842 -0.003 -861 36 1 + -4.868 5.686 17.325 0.544 0.158 0.824 -861 21 1 + -4.749 5.240 17.421 0.465 0.454 0.760 -861 21 1 + -4.560 4.862 17.629 0.339 0.706 0.621 -861 36 1 + -4.322 4.589 17.929 0.180 0.889 0.422 -861 36 1 + -5.026 5.743 17.435 0.650 0.119 0.751 -862 21 1 + -5.063 5.348 17.614 0.674 0.383 0.632 -862 21 1 + -5.014 5.001 17.872 0.642 0.614 0.459 -862 39 1 + -4.885 4.731 18.189 0.555 0.794 0.248 -862 39 1 + -4.685 4.562 18.537 0.422 0.906 0.016 -862 39 1 + -5.620 5.772 17.638 -0.043 0.153 0.987 -862 21 1 + -5.517 5.370 17.769 -0.112 0.421 0.900 -862 21 1 + -5.427 5.021 18.013 -0.171 0.654 0.737 -862 39 1 + -5.360 4.754 18.351 -0.216 0.832 0.512 -862 39 1 + -5.320 4.593 18.754 -0.243 0.939 0.243 -862 39 1 + -3.979 4.359 19.187 0.512 0.858 -0.047 -864 39 1 + -3.605 4.298 18.590 0.262 0.899 0.351 -864 36 1 + -3.600 4.043 19.456 0.728 0.677 0.108 -864 39 1 + -3.226 3.982 18.860 0.479 0.718 0.505 -864 36 1 + -3.337 3.593 19.668 0.878 0.420 0.228 -864 39 1 + -2.963 3.532 19.071 0.629 0.461 0.626 -864 36 1 + -3.164 2.635 20.075 0.910 0.398 0.117 -866 39 1 + -2.952 2.280 20.373 0.769 0.634 -0.081 -866 39 1 + -2.607 2.035 20.657 0.539 0.798 -0.271 -866 800 1 + -2.168 1.928 20.894 0.246 0.869 -0.429 -866 800 1 + -3.363 2.757 20.422 0.700 0.526 0.483 -866 39 1 + -3.110 2.377 20.649 0.532 0.779 0.332 -866 39 1 + -2.765 2.131 20.933 0.302 0.943 0.143 -866 800 1 + -2.368 2.049 21.241 0.037 0.997 -0.063 -866 800 1 + -2.850 3.634 22.544 0.359 -0.059 -0.932 -868 814 1 + -3.281 3.527 22.292 0.646 0.012 -0.764 -868 814 1 + -2.854 3.653 22.542 0.352 -0.025 -0.936 -868 814 1 + -3.282 3.533 22.291 0.637 0.055 -0.769 -868 814 1 + -3.724 3.248 20.735 0.941 0.198 0.274 -869 39 1 + -3.790 3.302 21.238 0.985 0.162 -0.061 -869 39 1 + -3.728 3.266 20.733 0.934 0.232 0.270 -869 39 1 + -3.791 3.307 21.238 0.977 0.205 -0.066 -869 39 1 + -3.727 3.421 20.639 0.934 0.129 0.333 -870 39 1 + -3.823 3.594 21.049 0.998 0.014 0.059 -870 39 1 + -3.781 3.769 21.467 0.970 -0.103 -0.219 -870 815 1 + -3.605 3.930 21.855 0.853 -0.210 -0.478 -870 815 1 + -3.312 4.061 22.177 0.657 -0.298 -0.693 -870 815 1 + -3.689 3.859 20.078 0.677 0.572 0.463 -870 39 1 + -3.859 3.839 20.500 0.791 0.585 0.182 870 39 1 + -3.920 3.901 20.947 0.831 0.544 -0.116 870 39 1 + -3.866 4.038 21.378 0.795 0.452 -0.403 870 815 1 + -3.702 4.237 21.753 0.686 0.320 -0.654 870 815 1 + -3.443 4.480 22.038 0.514 0.157 -0.843 870 815 1 + -3.114 4.745 22.207 0.294 -0.019 -0.956 -870 815 1 + -4.192 4.272 20.042 0.390 0.808 0.443 -870 39 1 + -4.214 4.131 20.475 0.404 0.902 0.154 870 39 1 + -4.181 4.115 20.929 0.382 0.912 -0.148 870 39 1 + -4.094 4.225 21.362 0.324 0.839 -0.437 870 815 1 + -3.963 4.451 21.735 0.237 0.688 -0.686 870 815 1 + -3.799 4.772 22.013 0.127 0.474 -0.871 870 815 1 + -3.617 5.158 22.171 0.006 0.217 -0.976 -870 815 1 + -4.661 4.187 20.572 -0.081 0.962 0.260 -870 39 1 + -4.508 4.156 21.000 -0.183 0.983 -0.025 -870 39 1 + -4.381 4.260 21.424 -0.268 0.913 -0.308 -870 815 1 + -4.290 4.491 21.806 -0.328 0.759 -0.562 -870 815 1 + -4.245 4.827 22.110 -0.358 0.535 -0.765 -870 815 1 + -2.673 4.541 22.432 0.546 -0.136 -0.827 -872 815 1 + -2.111 4.157 22.658 0.171 0.120 -0.978 -872 814 1 + -2.466 4.931 22.579 0.664 0.087 -0.743 -872 815 1 + -1.904 4.547 22.806 0.289 0.342 -0.894 -872 814 1 + -2.322 5.293 22.833 0.746 0.294 -0.598 -872 815 1 + -1.760 4.909 23.060 0.371 0.549 -0.749 -872 814 1 + -2.251 5.599 23.176 0.787 0.469 -0.402 -872 815 1 + -1.689 5.216 23.403 0.412 0.724 -0.553 -872 814 1 + -2.181 5.946 23.991 0.730 0.520 -0.443 -874 815 1 + -2.011 6.130 24.345 0.617 0.397 -0.679 -874 815 1 + -1.765 6.364 24.614 0.453 0.241 -0.858 -874 822 1 + -1.461 6.628 24.775 0.251 0.065 -0.966 -874 822 1 + -1.126 6.900 24.816 0.027 -0.116 -0.993 -874 822 1 + -2.634 6.199 23.639 0.568 0.812 -0.137 -874 815 1 + -2.453 6.216 24.033 0.448 0.800 -0.399 874 815 1 + -2.217 6.334 24.376 0.290 0.722 -0.628 874 815 1 + -1.944 6.542 24.641 0.108 0.583 -0.805 874 822 1 + -1.657 6.822 24.805 -0.083 0.396 -0.914 874 822 1 + -1.381 7.153 24.855 -0.267 0.176 -0.948 874 822 1 + -1.139 7.505 24.786 -0.429 -0.059 -0.901 -874 822 1 + -2.742 6.380 24.229 0.148 0.970 -0.195 -874 815 1 + -2.435 6.457 24.525 -0.058 0.918 -0.392 -874 815 1 + -2.134 6.649 24.771 -0.258 0.790 -0.556 -874 822 1 + -1.866 6.940 24.947 -0.437 0.596 -0.674 -874 822 1 + -1.652 7.306 25.039 -0.579 0.352 -0.735 -874 822 1 + -2.381 8.462 25.292 -0.093 -0.418 -0.904 -876 827 1 + -2.714 8.460 25.529 -0.822 -0.421 -0.383 -876 827 1 + -3.037 6.492 24.364 0.344 0.895 -0.285 -877 815 1 + -3.370 6.491 24.601 -0.385 0.892 0.236 -877 815 1 + -3.483 6.415 24.767 -0.310 0.943 0.125 -879 815 1 + -3.207 6.532 25.091 -0.494 0.865 -0.091 -879 815 1 + -2.995 6.761 25.404 -0.635 0.712 -0.299 -879 815 1 + -2.866 7.083 25.678 -0.721 0.497 -0.482 -879 826 1 + -2.830 7.470 25.889 -0.745 0.239 -0.623 -879 826 1 + -2.892 7.888 26.019 -0.704 -0.039 -0.709 -879 826 1 + -3.515 6.398 24.801 -0.354 0.919 0.174 -879 815 1 + -3.223 6.523 25.109 -0.549 0.836 -0.031 -879 815 1 + -3.003 6.757 25.412 -0.695 0.680 -0.233 -879 815 1 + -2.873 7.080 25.686 -0.782 0.465 -0.415 -879 826 1 + -2.845 7.462 25.905 -0.801 0.209 -0.561 -879 826 1 + -2.921 7.873 26.051 -0.750 -0.064 -0.659 -879 826 1 + -3.554 7.813 26.479 -0.328 -0.024 -0.944 -881 832 1 + -3.711 7.702 26.603 -0.705 -0.290 -0.647 -881 832 1 + -3.657 6.329 25.019 -0.259 0.965 0.029 -882 815 1 + -3.814 6.218 25.143 -0.636 0.699 0.326 -882 815 1 + -4.170 5.922 25.343 -0.399 0.896 0.193 -884 815 1 + -4.181 5.913 25.903 -0.392 0.902 -0.180 -884 813 1 + -4.369 5.810 25.338 -0.562 0.805 0.190 -884 815 1 + -4.375 5.804 25.898 -0.559 0.809 -0.184 -884 813 1 + -4.949 5.681 24.994 -0.176 0.891 0.419 -886 817 1 + -5.233 5.728 24.449 -0.380 0.925 0.028 -886 817 1 + -4.822 6.048 23.712 -0.682 0.725 -0.095 -887 815 1 + -5.433 5.702 23.732 -0.274 0.955 -0.109 -887 816 1 + -4.773 5.933 23.231 -0.654 0.660 -0.370 -887 815 1 + -5.384 5.588 23.251 -0.246 0.890 -0.384 -887 816 1 + -4.656 5.703 22.806 -0.588 0.528 -0.613 -887 815 1 + -5.268 5.357 22.826 -0.180 0.759 -0.626 -887 816 1 + -5.831 5.544 23.922 -0.502 0.865 0.000 -888 816 1 + -6.146 5.492 24.410 -0.292 0.899 -0.325 -888 817 1 + -6.197 5.235 23.672 -0.711 0.689 -0.143 -888 816 1 + -6.488 5.204 24.177 -0.517 0.710 -0.479 -888 817 1 + -6.469 4.799 23.507 -0.866 0.439 -0.237 -888 816 1 + -6.743 4.796 24.022 -0.684 0.441 -0.581 -888 817 1 + -5.109 5.522 25.675 -0.070 0.997 -0.035 -890 817 1 + -4.775 5.657 26.077 -0.292 0.907 -0.303 -890 813 1 + -5.858 5.443 25.646 -0.102 0.867 0.487 -890 817 1 + -5.451 5.405 25.999 -0.373 0.893 0.252 890 817 1 + -5.117 5.539 26.401 -0.595 0.803 -0.016 890 813 1 + -4.898 5.830 26.800 -0.741 0.609 -0.282 -890 813 1 + -6.136 5.091 25.995 -0.285 0.636 0.717 -890 817 1 + -5.689 5.104 26.297 -0.583 0.627 0.516 890 817 1 + -5.355 5.239 26.699 -0.806 0.537 0.248 890 813 1 + -5.177 5.478 27.149 -0.924 0.378 -0.052 -890 813 1 + -6.239 4.592 26.248 -0.353 0.307 0.884 -890 817 1 + -5.777 4.678 26.513 -0.661 0.250 0.707 890 817 1 + -5.443 4.813 26.915 -0.884 0.160 0.440 890 813 1 + -5.280 4.979 27.402 -0.992 0.049 0.115 -890 813 1 + -6.147 4.041 26.356 -0.292 -0.055 0.955 -890 817 1 + -5.698 4.208 26.605 -0.591 -0.167 0.789 890 817 1 + -5.364 4.343 27.007 -0.814 -0.257 0.521 890 813 1 + -5.188 4.428 27.510 -0.931 -0.313 0.186 -890 813 1 + -5.467 3.784 26.556 -0.387 -0.543 0.745 -890 817 1 + -5.133 3.918 26.958 -0.610 -0.633 0.477 -890 813 1 + -5.653 3.145 26.237 -0.263 -0.117 0.958 -892 817 1 + -5.466 2.729 26.312 -0.388 0.160 0.908 -892 817 1 + -5.335 2.336 26.516 -0.475 0.422 0.772 -892 802 1 + -5.271 2.004 26.829 -0.518 0.644 0.563 -892 802 1 + -6.330 3.221 25.954 -0.413 -0.595 0.690 -892 817 1 + -6.005 2.895 25.970 -0.630 -0.377 0.679 892 817 1 + -5.768 2.514 26.082 -0.787 -0.124 0.604 892 817 1 + -5.644 2.117 26.281 -0.870 0.142 0.472 892 802 1 + -5.643 1.739 26.546 -0.871 0.393 0.295 892 802 1 + -5.766 1.418 26.853 -0.789 0.608 0.090 -892 802 1 + -6.113 2.651 25.537 -0.742 -0.630 0.229 -892 817 1 + -5.861 2.306 25.711 -0.910 -0.399 0.113 -892 817 1 + -5.739 1.903 25.901 -0.991 -0.131 -0.013 -892 802 1 + -5.757 1.482 26.088 -0.979 0.150 -0.138 -892 802 1 + -6.225 2.552 25.151 -0.667 -0.564 0.487 -893 817 1 + -6.090 2.105 24.985 -0.757 -0.265 0.597 -893 796 1 + -6.080 1.613 24.918 -0.764 0.062 0.642 -893 796 1 + -6.698 2.978 24.971 -0.655 -0.755 0.043 -893 817 1 + -6.408 2.609 24.810 -0.848 -0.509 0.151 893 817 1 + -6.258 2.156 24.673 -0.948 -0.207 0.241 893 796 1 + -6.263 1.669 24.577 -0.945 0.118 0.306 893 796 1 + -6.423 1.202 24.530 -0.838 0.429 0.337 -893 796 1 + -6.440 2.698 24.430 -0.879 -0.421 -0.223 -893 817 1 + -6.287 2.238 24.326 -0.981 -0.114 -0.154 -893 796 1 + -6.295 1.759 24.197 -0.976 0.205 -0.068 -893 796 1 + -5.982 1.054 25.354 -0.829 0.435 0.351 -895 796 1 + -5.886 1.037 25.802 -0.893 0.446 0.053 -895 802 1 + -6.122 0.389 25.345 -0.936 -0.074 0.344 -895 796 1 + -6.029 0.355 25.792 -0.998 -0.051 0.046 -895 802 1 + -6.118 0.226 25.347 -0.939 0.035 0.343 -896 796 1 + -6.045 0.044 25.804 -0.987 0.156 0.039 -896 796 1 + -6.135 -0.112 26.267 -0.927 0.260 -0.270 -896 806 1 + -6.378 -0.225 26.686 -0.765 0.335 -0.550 -896 806 1 + -6.127 0.132 25.313 -0.950 -0.075 0.304 -896 796 1 + -6.053 -0.032 25.777 -0.999 0.034 -0.005 -896 796 1 + -6.143 -0.190 26.239 -0.939 0.140 -0.314 -896 806 1 + -6.388 -0.325 26.651 -0.776 0.230 -0.588 -896 806 1 + -6.314 -0.008 26.698 -0.808 0.191 -0.558 -898 802 1 + -6.309 0.462 27.067 -0.805 0.507 -0.310 -898 802 1 + -7.182 0.341 27.769 -0.223 0.588 -0.778 -900 809 1 + -6.979 -0.164 27.280 -0.651 0.442 -0.617 -900 806 1 + -7.394 -0.008 27.650 -0.374 0.338 -0.864 900 809 1 + -7.893 0.223 27.827 -0.042 0.184 -0.982 -900 809 1 + -7.172 -0.598 27.278 -0.762 0.194 -0.619 -900 806 1 + -7.567 -0.397 27.647 -0.498 0.060 -0.865 900 809 1 + -8.073 -0.183 27.825 -0.161 -0.083 -0.984 -900 809 1 + -7.303 -1.036 27.407 -0.837 -0.057 -0.545 -900 806 1 + -7.685 -0.790 27.763 -0.582 -0.221 -0.782 900 809 1 + -8.196 -0.593 27.946 -0.241 -0.352 -0.904 -900 809 1 + -7.736 -1.149 27.986 -0.619 -0.478 -0.623 -900 809 1 + -7.445 -1.819 27.922 -0.813 -0.031 -0.581 -901 806 1 + -7.651 -2.206 28.102 -0.676 0.227 -0.701 -901 212 1 + -7.958 -2.559 28.178 -0.471 0.462 -0.751 -901 212 1 + -7.192 -2.070 27.702 -0.612 -0.231 -0.756 -901 806 1 + -7.414 -2.441 27.896 -0.464 0.016 -0.886 -901 212 1 + -7.706 -2.810 27.958 -0.270 0.262 -0.927 -901 212 1 + -8.238 -2.410 28.382 -0.285 0.363 -0.887 -903 212 1 + -8.188 -1.916 28.472 -0.318 0.033 -0.947 -903 809 1 + -8.192 -1.416 28.401 -0.315 -0.300 -0.900 -903 809 1 + -8.298 -2.408 28.404 -0.339 0.365 -0.867 -903 212 1 + -8.242 -1.914 28.492 -0.376 0.036 -0.926 -903 809 1 + -8.250 -1.414 28.423 -0.371 -0.297 -0.880 -903 809 1 + -8.903 -2.963 28.116 0.065 0.735 -0.675 -905 212 1 + -9.384 -2.958 27.946 0.385 0.732 -0.562 -905 784 1 + -9.797 -2.828 27.679 0.661 0.645 -0.384 -905 784 1 + -8.843 -3.241 27.902 0.118 0.488 -0.865 -905 212 1 + -9.330 -3.209 27.754 0.442 0.466 -0.766 -905 784 1 + -9.740 -3.096 27.473 0.715 0.391 -0.579 -905 784 1 + -8.759 -3.405 27.804 0.062 0.597 -0.800 -906 212 1 + -9.173 -3.528 27.582 0.337 0.679 -0.652 -906 782 1 + -9.533 -3.545 27.258 0.578 0.690 -0.436 -906 782 1 + -8.757 -3.409 27.801 0.064 0.594 -0.802 -906 212 1 + -9.170 -3.532 27.580 0.340 0.676 -0.654 -906 782 1 + -9.530 -3.548 27.256 0.580 0.687 -0.438 -906 782 1 + -10.072 -2.372 27.724 0.844 0.341 -0.414 -909 784 1 + -9.942 -2.116 28.049 0.757 0.170 -0.631 -909 784 1 + -9.716 -1.838 28.296 0.606 -0.015 -0.795 -909 784 1 + -9.413 -1.562 28.442 0.405 -0.199 -0.892 -909 809 1 + -9.060 -1.311 28.476 0.169 -0.366 -0.915 -909 809 1 + -8.685 -1.106 28.394 -0.081 -0.503 -0.861 -909 809 1 + -10.636 -2.019 27.395 0.512 0.849 -0.129 -909 784 1 + -10.389 -2.039 27.753 0.348 0.862 -0.368 909 784 1 + -10.099 -1.950 28.064 0.154 0.803 -0.575 909 784 1 + -9.789 -1.761 28.302 -0.052 0.677 -0.734 909 784 1 + -9.486 -1.486 28.449 -0.255 0.493 -0.832 909 809 1 + -9.215 -1.148 28.490 -0.435 0.269 -0.859 909 809 1 + -8.998 -0.777 28.423 -0.580 0.021 -0.815 909 809 1 + -8.855 -0.403 28.254 -0.675 -0.228 -0.702 -909 809 1 + -11.056 -1.900 28.046 0.241 0.926 0.290 -909 784 1 + -10.637 -1.969 28.135 -0.039 0.972 0.231 909 784 1 + -10.222 -1.916 28.254 -0.315 0.937 0.152 909 784 1 + -9.846 -1.744 28.391 -0.566 0.823 0.061 909 784 1 + -9.542 -1.470 28.536 -0.768 0.639 -0.036 909 809 1 + -9.335 -1.114 28.677 -0.906 0.402 -0.130 909 809 1 + -9.242 -0.708 28.801 -0.968 0.132 -0.213 909 809 1 + -9.271 -0.285 28.898 -0.949 -0.150 -0.278 -909 809 1 + -10.582 -2.227 28.513 0.047 0.568 0.822 -909 784 1 + -10.195 -2.044 28.441 -0.212 0.445 0.870 -909 784 1 + -9.834 -1.804 28.478 -0.452 0.286 0.845 -909 784 1 + -9.530 -1.529 28.623 -0.655 0.102 0.749 -909 809 1 + -9.309 -1.240 28.861 -0.802 -0.090 0.590 -909 809 1 + -9.189 -0.963 29.174 -0.882 -0.275 0.382 -909 809 1 + -10.661 -2.592 28.881 0.099 0.811 0.576 -911 784 1 + -10.346 -2.741 29.148 -0.111 0.910 0.399 -911 784 1 + -10.046 -2.774 29.466 -0.311 0.932 0.187 -911 214 1 + -9.785 -2.686 29.808 -0.485 0.874 -0.041 -911 214 1 + -11.023 -2.999 29.182 -0.261 0.406 0.876 -911 784 1 + -10.657 -3.092 29.407 -0.504 0.467 0.726 -911 784 1 + -10.356 -3.124 29.725 -0.705 0.488 0.514 -911 214 1 + -10.146 -3.093 30.109 -0.845 0.468 0.258 -911 214 1 + -11.117 -3.147 29.235 -0.198 0.504 0.841 -913 784 1 + -10.839 -3.370 29.516 -0.383 0.653 0.654 -913 784 1 + -10.614 -3.503 29.885 -0.533 0.741 0.407 -913 213 1 + -10.461 -3.535 30.311 -0.635 0.763 0.123 -913 213 1 + -11.731 -3.243 29.114 -0.194 0.059 0.979 -913 784 1 + -11.360 -3.453 29.270 -0.441 0.199 0.875 913 784 1 + -11.050 -3.635 29.546 -0.648 0.321 0.691 913 784 1 + -10.829 -3.774 29.916 -0.795 0.413 0.444 913 213 1 + -10.717 -3.856 30.347 -0.870 0.468 0.157 913 213 1 + -10.724 -3.874 30.800 -0.865 0.480 -0.145 -913 213 1 + -11.484 -3.819 29.203 -0.564 -0.167 0.809 -913 784 1 + -11.158 -3.953 29.488 -0.782 -0.077 0.619 -913 784 1 + -10.938 -4.098 29.857 -0.928 0.019 0.373 -913 213 1 + -10.846 -4.240 30.277 -0.989 0.114 0.092 -913 213 1 + -11.817 -4.279 29.022 -0.342 0.140 0.929 -915 783 1 + -12.294 -3.771 28.807 -0.557 -0.281 0.781 -915 784 1 + -12.191 -4.337 28.817 -0.625 0.096 0.774 915 783 1 + -12.227 -4.881 28.998 -0.601 0.459 0.654 -915 783 1 + -12.605 -3.848 28.467 -0.758 -0.331 0.562 -915 784 1 + -12.479 -4.408 28.504 -0.842 0.042 0.538 915 783 1 + -12.538 -4.958 28.659 -0.802 0.409 0.435 -915 783 1 + -12.648 -4.485 28.115 -0.970 -0.016 0.244 -915 783 1 + -12.901 -3.820 27.644 -0.949 -0.313 0.031 -916 784 1 + -12.850 -4.411 27.451 -0.984 0.082 0.159 -916 782 1 + -12.898 -3.677 27.236 -0.947 -0.221 -0.232 -916 784 1 + -12.846 -4.260 27.019 -0.982 0.168 -0.088 -916 782 1 + -12.779 -3.514 26.853 -0.870 -0.116 -0.479 -916 784 1 + -12.720 -4.088 26.613 -0.909 0.266 -0.319 -916 782 1 + -12.552 -3.345 26.527 -0.724 -0.006 -0.690 -916 784 1 + -12.479 -3.908 26.267 -0.772 0.369 -0.517 -916 782 1 + -12.827 -4.798 27.514 -0.971 -0.139 0.196 -917 782 1 + -12.813 -5.295 27.895 -0.980 0.192 -0.058 -917 783 1 + -12.796 -5.084 27.154 -0.953 -0.303 -0.010 -917 782 1 + -12.784 -5.566 27.555 -0.961 0.018 -0.277 -917 783 1 + -12.638 -5.367 26.826 -0.863 -0.465 -0.198 -917 782 1 + -12.636 -5.832 27.245 -0.865 -0.154 -0.478 -917 783 1 + -11.416 -4.811 29.487 -0.610 0.495 0.620 -919 783 1 + -11.106 -4.726 29.850 -0.816 0.438 0.377 -919 213 1 + -10.924 -4.573 30.273 -0.937 0.335 0.095 -919 213 1 + -11.874 -5.267 29.385 -0.374 0.210 0.903 -919 783 1 + -11.460 -5.186 29.625 -0.650 0.156 0.744 919 783 1 + -11.148 -5.081 29.980 -0.858 0.086 0.507 919 213 1 + -10.971 -4.962 30.416 -0.976 0.006 0.216 919 213 1 + -10.946 -4.842 30.885 -0.993 -0.074 -0.097 -919 213 1 + -11.776 -5.733 29.452 -0.310 -0.090 0.946 -919 783 1 + -11.378 -5.575 29.680 -0.575 -0.195 0.794 919 783 1 + -11.070 -5.449 30.033 -0.781 -0.280 0.559 919 213 1 + -10.885 -5.366 30.474 -0.904 -0.335 0.265 919 213 1 + -10.842 -5.335 30.956 -0.933 -0.356 -0.056 -919 213 1 + -11.181 -5.924 29.646 -0.397 -0.510 0.763 -919 783 1 + -10.884 -5.778 30.001 -0.595 -0.607 0.527 -919 213 1 + -10.680 -5.727 30.438 -0.731 -0.641 0.235 -919 213 1 + -11.146 -6.096 29.565 -0.421 -0.395 0.817 -921 783 1 + -10.803 -6.091 29.819 -0.649 -0.398 0.648 -921 211 1 + -10.538 -6.134 30.151 -0.825 -0.370 0.427 -921 211 1 + -11.342 -6.581 29.178 -0.030 -0.638 0.770 -921 783 1 + -10.975 -6.469 29.364 -0.275 -0.712 0.646 921 783 1 + -10.641 -6.444 29.628 -0.498 -0.729 0.470 921 211 1 + -10.367 -6.507 29.950 -0.680 -0.687 0.255 921 211 1 + -10.176 -6.653 30.302 -0.807 -0.590 0.021 -921 211 1 + -11.038 -6.857 28.845 0.166 -0.815 0.555 -921 783 1 + -10.712 -6.707 29.076 -0.051 -0.915 0.401 921 783 1 + -10.392 -6.669 29.356 -0.264 -0.940 0.214 921 211 1 + -10.104 -6.745 29.662 -0.456 -0.890 0.010 921 211 1 + -9.872 -6.928 29.969 -0.611 -0.767 -0.194 -921 211 1 + -10.400 -6.771 28.748 0.214 -0.969 0.122 -921 783 1 + -10.097 -6.729 29.046 0.012 -0.997 -0.076 -921 211 1 + -9.792 -6.809 29.334 -0.191 -0.944 -0.269 -921 211 1 + -10.220 -6.822 28.418 0.094 -0.935 0.342 -922 783 1 + -9.749 -6.853 28.421 -0.220 -0.914 0.340 -922 209 1 + -9.310 -7.020 28.475 -0.512 -0.803 0.304 -922 209 1 + -10.213 -6.890 28.018 0.100 -0.995 -0.011 -922 783 1 + -9.742 -6.918 28.041 -0.214 -0.977 -0.026 -922 209 1 + -9.303 -7.090 28.060 -0.506 -0.862 -0.039 -922 209 1 + -9.152 -7.057 29.095 -0.617 -0.779 -0.110 -924 211 1 + -8.874 -7.235 29.308 -0.417 -0.908 0.044 -924 211 1 + -8.367 -7.966 28.547 -0.755 -0.461 0.467 -927 209 1 + -8.246 -8.484 28.442 -0.836 -0.116 0.537 -927 215 1 + -8.559 -7.913 28.032 -0.906 -0.419 0.058 -927 209 1 + -8.433 -8.431 27.938 -0.990 -0.073 0.121 -927 215 1 + -8.126 -8.509 28.662 -0.916 -0.099 0.390 -929 206 1 + -7.926 -9.306 28.875 -0.573 0.062 0.817 -929 215 1 + -7.781 -8.778 29.076 -0.670 -0.290 0.683 929 206 1 + -7.788 -8.315 29.432 -0.666 -0.598 0.446 -929 206 1 + -7.265 -8.989 29.304 -0.304 -0.440 0.845 -929 206 1 + -6.973 -9.324 29.312 -0.499 -0.217 0.839 -931 215 1 + -6.644 -9.157 29.650 -0.718 -0.328 0.614 -931 197 1 + -6.435 -9.044 30.090 -0.857 -0.404 0.321 -931 197 1 + -6.787 -9.603 29.285 -0.317 -0.489 0.812 -931 215 1 + -6.475 -9.411 29.625 -0.525 -0.618 0.585 -931 197 1 + -6.250 -9.321 30.063 -0.674 -0.677 0.294 -931 197 1 + -7.149 -10.390 29.008 -0.076 0.035 0.997 -933 215 1 + -7.160 -10.897 29.115 -0.068 0.373 0.925 -933 220 1 + -7.610 -9.887 28.965 -0.369 -0.313 0.875 -933 215 1 + -7.558 -10.399 28.906 -0.404 0.028 0.914 933 215 1 + -7.578 -10.906 29.010 -0.390 0.366 0.845 933 220 1 + -7.668 -11.347 29.266 -0.330 0.660 0.675 -933 220 1 + -7.909 -10.429 28.674 -0.686 0.004 0.728 -933 215 1 + -7.937 -10.936 28.773 -0.667 0.343 0.662 -933 220 1 + -8.137 -10.465 28.498 -0.534 0.028 0.845 -934 219 1 + -8.368 -9.707 28.342 -0.859 -0.197 0.473 -934 215 1 + -8.484 -10.262 28.153 -0.782 0.174 0.598 934 219 1 + -8.785 -10.776 28.107 -0.581 0.516 0.629 -934 219 1 + -8.668 -10.080 27.691 -0.914 0.304 0.268 -934 219 1 + -8.409 -11.518 28.834 -0.435 0.656 0.617 -937 222 1 + -8.892 -11.295 28.291 -0.642 0.220 0.734 -937 219 1 + -8.792 -11.726 28.657 -0.708 0.507 0.490 937 222 1 + -8.849 -12.046 29.131 -0.671 0.721 0.174 -937 222 1 + -9.194 -11.627 28.020 -0.815 0.029 0.579 -937 219 1 + -9.063 -12.025 28.414 -0.902 0.294 0.317 937 222 1 + -9.131 -12.357 28.877 -0.856 0.516 0.007 -937 222 1 + -9.335 -12.022 27.704 -0.896 -0.196 0.399 -937 219 1 + -9.190 -12.379 28.131 -0.993 0.042 0.115 937 222 1 + -9.263 -12.727 28.583 -0.944 0.273 -0.186 -937 222 1 + -9.301 -12.435 27.381 -0.876 -0.432 0.214 -937 219 1 + -9.159 -12.749 27.841 -0.971 -0.222 -0.092 937 222 1 + -9.231 -13.112 28.280 -0.923 0.020 -0.385 -937 222 1 + -8.974 -13.092 27.577 -0.838 -0.467 -0.281 -937 222 1 + -8.066 -11.862 29.651 -0.156 0.842 0.517 -939 222 1 + -7.741 -11.477 29.346 -0.372 0.585 0.720 -939 220 1 + -7.654 -12.039 29.896 0.115 0.726 0.678 -939 222 1 + -7.300 -11.666 29.608 -0.120 0.478 0.870 -939 220 1 + -7.260 -12.338 30.024 0.375 0.529 0.762 -939 222 1 + -6.879 -11.987 29.744 0.121 0.295 0.948 -939 220 1 + -6.464 -12.593 29.743 0.282 0.183 0.942 -941 221 1 + -6.795 -13.206 29.978 0.681 -0.042 0.732 -941 222 1 + -6.339 -13.037 29.705 0.377 -0.155 0.913 941 221 1 + -5.806 -12.899 29.622 0.022 -0.246 0.969 -941 221 1 + -6.277 -13.455 29.519 0.425 -0.474 0.771 -941 221 1 + -6.436 -13.796 29.460 0.531 -0.247 0.811 -943 222 1 + -6.072 -13.968 29.254 0.288 -0.132 0.948 -943 222 1 + -5.669 -14.157 29.177 0.019 -0.006 1.000 -943 383 1 + -5.263 -14.348 29.236 -0.251 0.121 0.960 -943 383 1 + -4.891 -14.522 29.426 -0.499 0.237 0.834 -943 383 1 + -6.964 -14.142 29.616 0.569 -0.658 0.493 -943 222 1 + -6.599 -14.130 29.349 0.326 -0.666 0.671 943 222 1 + -6.189 -14.208 29.173 0.053 -0.613 0.788 943 222 1 + -5.773 -14.371 29.105 -0.225 -0.505 0.833 943 383 1 + -5.387 -14.602 29.151 -0.482 -0.351 0.803 943 383 1 + -5.067 -14.881 29.306 -0.695 -0.165 0.699 943 383 1 + -4.841 -15.182 29.557 -0.846 0.036 0.532 -943 383 1 + -7.135 -14.457 29.182 0.456 -0.865 0.208 -943 222 1 + -6.717 -14.347 29.050 0.178 -0.938 0.296 943 222 1 + -6.275 -14.365 28.958 -0.117 -0.927 0.358 943 222 1 + -5.848 -14.509 28.915 -0.402 -0.830 0.386 943 383 1 + -5.477 -14.767 28.924 -0.649 -0.659 0.380 943 383 1 + -5.194 -15.114 28.986 -0.838 -0.427 0.339 943 383 1 + -5.025 -15.519 29.093 -0.951 -0.157 0.267 -943 383 1 + -6.751 -14.375 28.664 0.135 -0.973 -0.187 -943 222 1 + -6.299 -14.385 28.680 -0.166 -0.966 -0.198 -943 222 1 + -5.870 -14.527 28.669 -0.452 -0.871 -0.190 -943 383 1 + -5.502 -14.788 28.631 -0.697 -0.698 -0.166 -943 383 1 + -5.230 -15.143 28.572 -0.879 -0.460 -0.126 -943 383 1 + -6.752 -14.350 28.471 0.136 -0.989 -0.059 -945 222 1 + -6.298 -14.357 28.310 -0.167 -0.985 0.049 -945 222 1 + -5.870 -14.515 28.157 -0.452 -0.879 0.151 -945 382 1 + -5.512 -14.810 28.027 -0.691 -0.683 0.237 -945 382 1 + -6.824 -14.306 28.223 0.052 -0.937 -0.345 -945 222 1 + -6.356 -14.321 28.111 -0.260 -0.927 -0.270 -945 222 1 + -5.929 -14.479 27.957 -0.545 -0.822 -0.167 -945 382 1 + -5.585 -14.764 27.777 -0.774 -0.631 -0.047 -945 382 1 + -7.384 -14.338 27.778 0.395 -0.915 -0.076 -948 222 1 + -7.396 -14.392 27.283 0.403 -0.879 0.254 -948 222 1 + -7.340 -14.592 26.829 0.366 -0.746 0.556 -948 378 1 + -7.225 -14.916 26.468 0.289 -0.530 0.797 -948 378 1 + -7.493 -14.376 27.782 0.267 -0.961 -0.071 -948 222 1 + -7.484 -14.423 27.286 0.261 -0.930 0.260 -948 222 1 + -7.431 -14.624 26.833 0.226 -0.796 0.562 -948 378 1 + -7.341 -14.957 26.473 0.166 -0.574 0.802 -948 378 1 + -7.079 -14.849 26.470 0.192 -0.574 0.796 -950 378 1 + -7.061 -14.479 26.851 0.180 -0.821 0.542 -950 220 1 + -7.008 -14.264 27.334 0.145 -0.965 0.220 -950 220 1 + -7.062 -14.847 26.468 0.207 -0.573 0.793 -950 378 1 + -7.045 -14.477 26.849 0.196 -0.819 0.539 -950 220 1 + -6.992 -14.262 27.331 0.160 -0.963 0.218 -950 220 1 + -6.592 -15.165 26.268 -0.106 -0.361 0.927 -952 378 1 + -6.161 -15.060 26.440 -0.394 -0.431 0.812 -952 378 1 + -5.789 -15.020 26.735 -0.642 -0.458 0.615 -952 382 1 + -5.514 -15.049 27.123 -0.825 -0.438 0.357 -952 382 1 + -6.556 -15.251 26.233 -0.070 -0.445 0.893 -952 378 1 + -6.131 -15.130 26.412 -0.353 -0.526 0.774 -952 378 1 + -5.759 -15.088 26.707 -0.601 -0.553 0.577 -952 382 1 + -5.479 -15.131 27.090 -0.788 -0.525 0.322 -952 382 1 + -6.880 -16.093 26.009 0.002 -0.070 0.998 -956 377 1 + -6.910 -16.107 26.008 -0.018 -0.079 0.997 -956 377 1 + -7.210 -16.031 26.040 0.181 -0.130 0.975 -957 378 1 + -7.255 -16.475 26.058 0.212 0.167 0.963 -957 379 1 + -7.215 -16.031 26.042 0.178 -0.129 0.976 -957 378 1 + -7.261 -16.475 26.059 0.208 0.167 0.964 -957 379 1 + -7.034 -17.375 26.293 0.360 0.175 0.916 -959 379 1 + -6.446 -17.105 26.168 -0.032 -0.006 0.999 -959 377 1 + -6.824 -17.868 26.212 0.480 -0.107 0.871 -959 379 1 + -6.236 -17.597 26.088 0.088 -0.288 0.954 -959 377 1 + -6.664 -18.327 25.972 0.572 -0.369 0.733 -959 379 1 + -6.076 -18.056 25.847 0.180 -0.550 0.816 -959 377 1 + -6.556 -19.044 25.317 0.616 -0.357 0.702 -961 379 1 + -6.463 -19.431 25.130 0.554 -0.100 0.827 -961 737 1 + -6.298 -19.830 25.049 0.444 0.166 0.880 -961 737 1 + -7.062 -18.928 25.760 0.344 -0.712 0.612 -961 379 1 + -6.976 -19.235 25.458 0.286 -0.507 0.813 961 379 1 + -6.853 -19.608 25.261 0.205 -0.259 0.944 961 737 1 + -6.704 -20.014 25.186 0.105 0.012 0.994 961 737 1 + -6.541 -20.419 25.238 -0.003 0.282 0.959 -961 737 1 + -7.598 -19.103 25.707 0.038 -0.812 0.582 -961 379 1 + -7.433 -19.385 25.414 -0.072 -0.624 0.778 961 379 1 + -7.278 -19.747 25.220 -0.175 -0.383 0.907 961 737 1 + -7.146 -20.159 25.143 -0.264 -0.108 0.958 961 737 1 + -7.047 -20.584 25.189 -0.330 0.175 0.928 -961 737 1 + -8.090 -19.200 25.446 -0.243 -0.868 0.433 -961 379 1 + -7.854 -19.468 25.190 -0.401 -0.690 0.603 961 379 1 + -7.669 -19.824 25.012 -0.524 -0.452 0.722 961 737 1 + -7.551 -20.239 24.927 -0.603 -0.176 0.778 961 737 1 + -7.511 -20.676 24.942 -0.629 0.116 0.768 -961 737 1 + -8.169 -19.472 24.825 -0.648 -0.693 0.316 -961 379 1 + -7.962 -19.828 24.672 -0.786 -0.455 0.418 -961 737 1 + -7.856 -20.243 24.574 -0.857 -0.179 0.483 -961 737 1 + -8.409 -19.442 24.542 -0.488 -0.713 0.504 -963 379 1 + -8.452 -19.815 24.163 -0.459 -0.464 0.757 -963 734 1 + -8.582 -20.275 23.927 -0.373 -0.157 0.914 -963 734 1 + -8.726 -19.244 24.363 -0.771 -0.536 0.344 -963 379 1 + -8.740 -19.635 24.000 -0.762 -0.276 0.586 -963 734 1 + -8.899 -20.077 23.748 -0.656 0.019 0.754 -963 734 1 + -8.894 -19.079 24.302 -0.659 -0.646 0.385 -964 379 1 + -9.042 -19.313 23.878 -0.560 -0.490 0.668 -964 733 1 + -9.286 -19.630 23.569 -0.398 -0.279 0.874 -964 733 1 + -8.993 -18.978 24.279 -0.743 -0.561 0.366 -964 379 1 + -9.134 -19.220 23.857 -0.649 -0.400 0.647 -964 733 1 + -9.385 -19.530 23.546 -0.481 -0.193 0.855 -964 733 1 + -9.930 -20.326 23.262 -0.379 -0.224 0.898 -965 733 1 + -9.513 -20.846 23.493 -0.657 0.123 0.744 -965 734 1 + -8.254 -20.740 24.112 -0.592 0.153 0.792 -967 737 1 + -8.749 -21.244 23.889 -0.220 -0.104 0.970 -967 734 1 + -8.224 -21.171 24.133 -0.570 -0.152 0.807 967 737 1 + -7.829 -21.132 24.561 -0.834 -0.178 0.522 -967 737 1 + -8.623 -21.698 23.801 -0.148 -0.364 0.920 -967 734 1 + -8.110 -21.580 24.054 -0.490 -0.443 0.751 967 737 1 + -7.709 -21.561 24.478 -0.757 -0.455 0.469 -967 737 1 + -8.415 -22.087 23.610 -0.030 -0.586 0.810 -967 734 1 + -7.924 -21.929 23.882 -0.357 -0.691 0.629 967 737 1 + -7.514 -21.928 24.297 -0.631 -0.691 0.352 -967 737 1 + -8.146 -22.372 23.332 0.124 -0.748 0.652 -967 734 1 + -7.682 -22.185 23.632 -0.186 -0.873 0.451 967 737 1 + -7.260 -22.197 24.035 -0.467 -0.865 0.183 -967 737 1 + -7.841 -22.527 22.995 0.298 -0.837 0.459 -967 734 1 + -7.408 -22.325 23.329 0.009 -0.972 0.236 967 737 1 + -6.972 -22.343 23.717 -0.281 -0.959 -0.022 -967 737 1 + -7.127 -22.334 23.001 0.208 -0.978 0.004 -967 737 1 + -7.399 -22.517 22.059 0.551 -0.831 -0.076 -969 734 1 + -6.754 -22.299 22.213 0.121 -0.976 -0.179 -969 735 1 + -7.593 -22.417 21.150 0.755 -0.640 -0.145 -970 734 1 + -7.743 -22.615 20.765 0.854 -0.508 0.111 -970 734 1 + -7.773 -22.883 20.397 0.874 -0.329 0.357 -970 725 1 + -7.681 -23.198 20.078 0.813 -0.119 0.569 -970 725 1 + -7.746 -22.651 21.796 0.353 -0.908 -0.226 -970 734 1 + -7.915 -22.688 21.374 0.466 -0.883 0.056 970 734 1 + -8.020 -22.849 20.959 0.536 -0.776 0.332 970 734 1 + -8.051 -23.117 20.590 0.556 -0.597 0.578 970 725 1 + -8.003 -23.469 20.302 0.525 -0.363 0.770 970 725 1 + -7.883 -23.871 20.121 0.444 -0.094 0.891 -970 725 1 + -8.363 -22.802 21.493 0.065 -0.985 0.163 -970 734 1 + -8.406 -22.946 21.061 0.093 -0.888 0.450 -970 734 1 + -8.437 -23.215 20.693 0.114 -0.709 0.696 -970 725 1 + -8.451 -23.582 20.421 0.123 -0.464 0.877 -970 725 1 + -7.618 -23.109 20.015 0.771 -0.179 0.611 -972 725 1 + -7.642 -22.716 20.285 0.787 -0.441 0.431 -972 725 1 + -7.547 -22.390 20.620 0.724 -0.658 0.208 -972 735 1 + -7.342 -22.164 20.987 0.587 -0.809 -0.037 -972 735 1 + -7.048 -22.061 21.349 0.391 -0.877 -0.278 -972 735 1 + -7.470 -22.825 19.729 0.950 0.164 0.265 -972 725 1 + -7.543 -22.526 20.094 0.999 -0.035 0.022 -972 725 1 + -7.465 -22.233 20.462 0.947 -0.231 -0.223 -972 735 1 + -7.243 -21.974 20.796 0.799 -0.403 -0.446 -972 735 1 + -6.900 -21.777 21.062 0.570 -0.535 -0.624 -972 735 1 + -7.432 -22.733 19.578 0.925 0.103 0.366 -974 725 1 + -7.491 -22.354 19.800 0.964 -0.150 0.218 -974 725 1 + -7.424 -21.994 20.050 0.919 -0.390 0.051 -974 725 1 + -7.236 -21.686 20.307 0.794 -0.596 -0.120 -974 736 1 + -6.944 -21.455 20.548 0.599 -0.749 -0.281 -974 736 1 + -6.573 -21.323 20.753 0.352 -0.838 -0.417 -974 736 1 + -7.513 -22.402 19.247 0.810 0.577 -0.108 -974 725 1 + -7.531 -22.190 19.637 0.822 0.436 -0.367 -974 725 1 + -7.441 -21.922 19.978 0.762 0.256 -0.594 -974 725 1 + -7.252 -21.619 20.241 0.636 0.055 -0.770 -974 736 1 + -6.979 -21.310 20.403 0.454 -0.151 -0.878 -974 736 1 + -6.647 -21.020 20.450 0.233 -0.345 -0.909 -974 736 1 + -7.585 -22.180 18.660 0.858 0.429 0.284 -976 725 1 + -7.666 -21.765 18.514 0.912 0.152 0.381 -976 725 1 + -7.626 -21.329 18.419 0.885 -0.138 0.444 -976 709 1 + -7.467 -20.912 18.384 0.779 -0.416 0.468 -976 709 1 + -7.500 -22.263 18.305 0.935 0.353 -0.041 -976 725 1 + -7.595 -21.835 18.213 0.997 0.068 0.020 -976 725 1 + -7.556 -21.398 18.125 0.972 -0.223 0.079 -976 709 1 + -7.387 -20.991 18.047 0.859 -0.495 0.131 -976 709 1 + -7.003 -22.890 17.938 0.603 0.771 0.204 -978 728 1 + -7.072 -22.982 18.676 0.908 0.414 0.065 -978 725 1 + -6.815 -23.194 18.195 0.737 0.555 0.386 978 728 1 + -6.389 -23.279 17.801 0.453 0.612 0.649 -978 728 1 + -6.969 -23.408 18.894 0.967 0.170 0.190 -978 725 1 + -6.722 -23.577 18.390 0.803 0.283 0.525 978 728 1 + -6.292 -23.681 18.007 0.516 0.352 0.781 -978 728 1 + -6.982 -23.881 19.022 0.960 -0.100 0.263 -978 725 1 + -6.734 -24.002 18.505 0.794 -0.019 0.607 978 728 1 + -6.304 -24.127 18.128 0.508 0.064 0.859 -978 728 1 + -6.848 -24.426 18.528 0.713 -0.321 0.624 -978 728 1 + -7.396 -24.725 19.213 0.723 -0.582 0.372 -980 725 1 + -7.204 -25.116 18.667 0.595 -0.321 0.736 -980 726 1 + -7.781 -25.029 19.296 0.503 -0.756 0.419 -980 725 1 + -7.589 -25.420 18.749 0.375 -0.495 0.784 -980 726 1 + -8.231 -25.239 19.288 0.245 -0.876 0.415 -980 725 1 + -8.040 -25.630 18.742 0.118 -0.615 0.779 -980 726 1 + -8.782 -25.646 18.702 0.021 -0.727 0.686 -982 727 1 + -9.205 -25.250 19.182 -0.311 -0.882 0.354 -982 725 1 + -9.225 -25.567 18.694 -0.297 -0.671 0.680 982 727 1 + -9.312 -26.036 18.359 -0.239 -0.358 0.903 -982 727 1 + -9.626 -25.399 18.577 -0.585 -0.550 0.596 -982 727 1 + -10.067 -25.051 18.645 -0.291 -0.783 0.550 -984 722 1 + -9.865 -25.412 18.383 -0.426 -0.541 0.725 -984 727 1 + -10.735 -24.788 18.622 -0.366 -0.925 0.103 -984 722 1 + -10.433 -25.027 18.319 -0.567 -0.765 0.305 984 722 1 + -10.222 -25.390 18.066 -0.708 -0.524 0.474 984 727 1 + -10.124 -25.836 17.888 -0.773 -0.226 0.593 -984 727 1 + -11.011 -24.633 18.156 -0.524 -0.836 -0.163 -984 722 1 + -10.674 -24.892 17.913 -0.748 -0.663 -0.001 984 722 1 + -10.457 -25.258 17.670 -0.893 -0.419 0.162 984 727 1 + -10.382 -25.691 17.453 -0.943 -0.131 0.306 -984 727 1 + -10.754 -24.664 17.486 -0.809 -0.492 -0.322 -984 722 1 + -10.535 -25.036 17.254 -0.955 -0.244 -0.168 -984 727 1 + -8.444 -26.331 18.150 0.332 -0.552 0.765 -986 727 1 + -8.085 -25.956 18.411 0.092 -0.802 0.591 -986 726 1 + -8.094 -26.448 17.803 0.562 -0.629 0.537 -986 727 1 + -7.710 -26.082 18.040 0.306 -0.874 0.378 -986 726 1 + -7.838 -26.458 17.366 0.731 -0.636 0.249 -986 727 1 + -7.436 -26.092 17.573 0.463 -0.879 0.111 -986 726 1 + -7.301 -25.962 16.844 0.550 -0.835 -0.037 -988 728 1 + -7.826 -26.267 16.317 0.739 -0.510 -0.440 -988 727 1 + -7.413 -25.877 16.314 0.464 -0.770 -0.438 988 728 1 + -6.901 -25.652 16.217 0.123 -0.919 -0.374 -988 728 1 + -7.634 -25.617 15.885 0.297 -0.573 -0.764 -988 728 1 + -8.254 -25.761 15.517 0.710 -0.477 -0.518 -990 727 1 + -8.348 -25.599 15.108 0.773 -0.585 -0.246 -990 727 1 + -8.338 -25.516 14.666 0.766 -0.641 0.049 -990 720 1 + -8.225 -25.519 14.231 0.691 -0.639 0.339 -990 720 1 + -8.019 -25.608 13.841 0.553 -0.579 0.599 -990 720 1 + -8.745 -26.323 15.731 0.134 -0.547 -0.826 -990 727 1 + -8.715 -25.988 15.432 0.114 -0.770 -0.627 990 727 1 + -8.669 -25.757 15.049 0.083 -0.924 -0.372 990 727 1 + -8.612 -25.650 14.616 0.045 -0.996 -0.083 990 720 1 + -8.549 -25.678 14.172 0.003 -0.977 0.213 990 720 1 + -8.485 -25.837 13.756 -0.039 -0.871 0.490 990 720 1 + -8.427 -26.114 13.406 -0.078 -0.686 0.723 -990 720 1 + -9.195 -25.793 15.385 -0.507 -0.518 -0.689 -990 727 1 + -9.003 -25.621 15.016 -0.635 -0.633 -0.443 -990 727 1 + -8.897 -25.535 14.588 -0.706 -0.690 -0.157 -990 720 1 + -8.886 -25.541 14.138 -0.713 -0.686 0.142 -990 720 1 + -8.971 -25.640 13.708 -0.657 -0.620 0.429 -990 720 1 + -9.341 -25.665 15.378 -0.410 -0.604 -0.684 -992 727 1 + -9.289 -25.387 14.989 -0.445 -0.789 -0.425 -992 727 1 + -9.306 -25.231 14.536 -0.434 -0.893 -0.123 -992 718 1 + -9.388 -25.212 14.064 -0.378 -0.906 0.192 -992 718 1 + -9.529 -25.332 13.621 -0.284 -0.826 0.487 -992 718 1 + -9.348 -25.661 15.379 -0.420 -0.599 -0.682 -992 727 1 + -9.294 -25.385 14.990 -0.457 -0.783 -0.423 -992 727 1 + -9.309 -25.229 14.537 -0.446 -0.887 -0.120 -992 718 1 + -9.393 -25.210 14.065 -0.390 -0.900 0.194 -992 718 1 + -9.537 -25.328 13.622 -0.294 -0.821 0.489 -992 718 1 + -10.114 -25.510 13.293 0.090 -0.700 0.709 -994 719 1 + -10.329 -25.210 13.379 -0.414 0.004 0.910 -994 719 1 + -9.467 -25.658 15.440 -0.341 -0.601 -0.723 -995 727 1 + -9.680 -25.361 15.525 -0.847 0.105 -0.521 -995 727 1 + -9.938 -24.904 15.810 -0.675 -0.200 -0.710 -997 727 1 + -10.009 -24.488 15.667 -0.628 -0.477 -0.615 -997 727 1 + -10.163 -24.135 15.443 -0.525 -0.713 -0.465 -997 714 1 + -10.387 -23.877 15.157 -0.376 -0.885 -0.275 -997 714 1 + -10.661 -23.735 14.834 -0.194 -0.979 -0.060 -997 714 1 + -10.116 -24.831 16.032 -0.892 -0.111 -0.439 -997 727 1 + -10.141 -24.434 15.831 -0.875 -0.375 -0.305 -997 727 1 + -10.281 -24.087 15.590 -0.781 -0.607 -0.144 -997 714 1 + -10.525 -23.820 15.329 -0.619 -0.785 0.029 -997 714 1 + -10.851 -23.657 15.073 -0.401 -0.894 0.200 -997 714 1 + -10.283 -24.821 16.295 -0.780 -0.117 -0.614 -998 727 1 + -10.459 -24.415 16.334 -0.663 -0.388 -0.641 -998 727 1 + -10.723 -24.060 16.289 -0.487 -0.625 -0.610 -998 712 1 + -11.051 -23.787 16.163 -0.268 -0.807 -0.527 -998 712 1 + -10.416 -24.890 16.546 -0.912 -0.186 -0.365 -998 727 1 + -10.576 -24.476 16.554 -0.806 -0.462 -0.371 -998 727 1 + -10.842 -24.122 16.514 -0.628 -0.698 -0.344 -998 712 1 + -11.191 -23.860 16.428 -0.395 -0.873 -0.286 -998 712 1 + -11.312 -23.504 15.408 -0.094 -0.995 -0.023 -999 714 1 + -11.676 -23.421 15.349 -0.336 -0.940 -0.062 -999 714 1 + -10.888 -23.892 14.021 -0.042 -0.875 0.483 -1001 714 1 + -10.824 -24.216 13.623 -0.085 -0.659 0.748 -1001 719 1 + -10.775 -24.658 13.359 -0.118 -0.364 0.924 -1001 719 1 + -11.508 -23.658 14.327 -0.307 -0.950 0.059 -1001 714 1 + -11.321 -23.840 13.881 -0.432 -0.828 0.356 1001 714 1 + -11.211 -24.170 13.498 -0.505 -0.609 0.612 1001 719 1 + -11.191 -24.608 13.224 -0.519 -0.316 0.794 1001 719 1 + -11.264 -25.102 13.092 -0.470 0.013 0.882 -1001 719 1 + -11.925 -23.443 13.986 -0.546 -0.827 -0.136 -1001 714 1 + -11.650 -23.670 13.611 -0.729 -0.676 0.114 1001 714 1 + -11.506 -24.018 13.257 -0.825 -0.444 0.350 1001 719 1 + -11.508 -24.445 12.965 -0.823 -0.159 0.545 1001 719 1 + -11.657 -24.900 12.770 -0.724 0.144 0.675 -1001 719 1 + -11.810 -23.416 13.265 -0.873 -0.447 -0.198 -1001 714 1 + -11.649 -23.791 12.947 -0.980 -0.197 0.014 -1001 719 1 + -11.662 -24.200 12.632 -0.972 0.076 0.224 -1001 719 1 + -11.974 -23.117 12.984 -0.763 -0.646 -0.010 -1002 716 1 + -12.282 -22.498 12.872 -0.969 -0.234 -0.085 -1002 716 1 + -11.821 -23.682 12.336 -0.866 -0.270 0.422 -1004 716 1 + -11.770 -24.141 12.315 -0.899 0.037 0.436 -1004 719 1 + -12.138 -23.259 11.919 -0.831 -0.550 0.083 -1004 716 1 + -11.947 -23.680 11.894 -0.958 -0.269 0.100 1004 716 1 + -11.894 -24.140 11.882 -0.993 0.038 0.108 1004 719 1 + -11.983 -24.595 11.887 -0.934 0.341 0.105 -1004 719 1 + -12.104 -23.248 11.402 -0.812 -0.543 -0.212 -1004 716 1 + -11.918 -23.671 11.434 -0.936 -0.262 -0.234 1004 716 1 + -11.865 -24.131 11.433 -0.971 0.045 -0.233 1004 719 1 + -11.952 -24.584 11.399 -0.914 0.347 -0.210 -1004 719 1 + -11.898 -23.229 10.927 -0.694 -0.533 -0.484 -1004 716 1 + -11.735 -23.654 11.012 -0.803 -0.249 -0.541 1004 716 1 + -11.686 -24.114 11.020 -0.836 0.058 -0.546 1004 719 1 + -11.757 -24.566 10.950 -0.789 0.359 -0.499 -1004 719 1 + -11.544 -23.204 10.550 -0.492 -0.518 -0.700 -1004 716 1 + -11.420 -23.631 10.677 -0.575 -0.233 -0.784 1004 716 1 + -11.379 -24.092 10.692 -0.603 0.074 -0.795 1004 719 1 + -11.423 -24.543 10.594 -0.573 0.374 -0.729 -1004 719 1 + -11.084 -23.175 10.314 -0.229 -0.502 -0.834 -1004 716 1 + -11.011 -23.606 10.468 -0.277 -0.215 -0.937 1004 716 1 + -10.978 -24.068 10.488 -0.299 0.093 -0.950 1004 719 1 + -10.988 -24.516 10.372 -0.292 0.392 -0.872 -1004 719 1 + -10.555 -23.581 10.410 0.054 -0.197 -0.979 -1004 716 1 + -10.532 -24.043 10.431 0.039 0.111 -0.993 -1004 719 1 + -10.266 -23.618 10.404 -0.139 -0.172 -0.975 -1006 718 1 + -9.717 -23.294 10.407 0.226 0.043 -0.973 -1006 718 1 + -9.616 -22.212 10.238 0.320 -0.430 -0.844 -1009 716 1 + -9.338 -21.884 10.095 0.134 -0.648 -0.749 -1009 545 1 + -9.041 -21.645 9.850 -0.063 -0.808 -0.586 -1009 545 1 + -10.350 -22.233 10.057 0.190 0.036 -0.981 -1009 716 1 + -10.047 -21.897 10.059 -0.012 -0.188 -0.982 1009 716 1 + -9.745 -21.587 9.926 -0.213 -0.395 -0.894 1009 545 1 + -9.472 -21.330 9.671 -0.395 -0.566 -0.724 1009 545 1 + -9.254 -21.151 9.317 -0.541 -0.685 -0.488 -1009 545 1 + -10.423 -21.482 10.108 -0.302 0.132 -0.944 -1009 716 1 + -10.101 -21.194 9.973 -0.517 -0.060 -0.854 -1009 545 1 + -9.849 -20.915 9.721 -0.685 -0.246 -0.686 -1009 545 1 + -8.862 -21.744 9.939 -0.183 -0.742 -0.645 -1011 545 1 + -9.000 -22.088 10.252 -0.091 -0.512 -0.854 -1011 717 1 + -9.152 -22.512 10.431 0.010 -0.229 -0.973 -1011 717 1 + -8.450 -21.833 10.049 0.166 -0.817 -0.552 -1011 545 1 + -8.625 -22.169 10.352 0.282 -0.593 -0.754 -1011 717 1 + -8.755 -22.598 10.537 0.369 -0.307 -0.877 -1011 717 1 + -7.839 -21.436 9.370 0.267 -0.848 -0.458 -1013 545 1 + -7.416 -21.703 9.796 -0.015 -0.670 -0.742 -1013 547 1 + -7.450 -21.116 9.184 0.490 -0.665 -0.564 -1013 545 1 + -7.027 -21.382 9.610 0.207 -0.487 -0.848 -1013 547 1 + -7.121 -20.696 9.120 0.677 -0.425 -0.600 -1013 545 1 + -6.698 -20.962 9.547 0.395 -0.247 -0.885 -1013 547 1 + -6.886 -20.217 9.185 0.812 -0.152 -0.563 -1013 545 1 + -6.462 -20.484 9.612 0.530 0.026 -0.848 -1013 547 1 + -6.851 -19.275 9.140 0.937 -0.175 -0.301 -1015 545 1 + -6.769 -18.853 8.854 0.883 -0.456 -0.111 -1015 530 1 + -6.531 -18.511 8.549 0.724 -0.684 0.093 -1015 530 1 + -7.151 -19.956 8.857 0.661 -0.002 -0.751 -1015 545 1 + -7.154 -19.454 8.735 0.663 -0.337 -0.669 1015 545 1 + -7.039 -19.012 8.493 0.586 -0.631 -0.508 1015 530 1 + -6.820 -18.682 8.161 0.440 -0.851 -0.286 1015 530 1 + -6.523 -18.504 7.778 0.242 -0.970 -0.031 -1015 530 1 + -7.618 -19.445 8.465 0.242 -0.329 -0.913 -1015 545 1 + -7.453 -19.004 8.253 0.132 -0.623 -0.771 -1015 530 1 + -7.264 -18.674 7.903 0.006 -0.843 -0.538 -1015 530 1 + -8.024 -19.599 8.339 0.512 -0.226 -0.829 -1016 545 1 + -8.228 -19.289 8.035 0.649 -0.433 -0.626 -1016 536 1 + -8.333 -19.045 7.635 0.718 -0.596 -0.359 -1016 536 1 + -8.294 -20.322 8.461 0.008 -0.211 -0.977 -1016 545 1 + -8.489 -19.917 8.293 0.138 -0.481 -0.866 1016 545 1 + -8.663 -19.585 7.992 0.254 -0.702 -0.665 1016 536 1 + -8.798 -19.362 7.589 0.344 -0.851 -0.396 1016 536 1 + -8.880 -19.270 7.125 0.399 -0.913 -0.087 -1016 536 1 + -9.023 -20.044 8.427 -0.292 -0.584 -0.757 -1016 545 1 + -9.162 -19.704 8.118 -0.199 -0.810 -0.551 -1016 536 1 + -9.332 -19.489 7.723 -0.086 -0.954 -0.288 -1016 536 1 + -7.963 -18.631 7.295 0.472 -0.872 -0.132 -1018 536 1 + -7.532 -18.493 7.390 0.184 -0.963 -0.196 -1018 530 1 + -7.916 -18.383 6.771 0.507 -0.690 -0.516 -1018 536 1 + -7.486 -18.252 6.880 0.220 -0.778 -0.589 -1018 530 1 + -8.443 -18.650 6.036 0.858 -0.513 -0.026 -1020 538 1 + -8.682 -19.062 6.707 0.512 -0.795 -0.326 -1020 536 1 + -8.808 -19.053 6.142 0.597 -0.801 0.051 1020 538 1 + -8.802 -19.222 5.589 0.592 -0.688 0.420 -1020 538 1 + -9.307 -19.282 6.219 0.240 -0.965 0.105 -1020 538 1 + -8.306 -18.481 5.782 0.767 -0.625 0.143 -1024 538 1 + -8.085 -18.247 6.106 0.620 -0.781 -0.073 -1024 538 1 + -7.778 -18.122 6.420 0.415 -0.865 -0.282 -1024 530 1 + -7.413 -18.117 6.695 0.172 -0.868 -0.465 -1024 530 1 + -8.175 -18.281 5.573 0.908 -0.411 -0.080 -1024 538 1 + -7.975 -18.080 5.932 0.775 -0.545 -0.319 -1024 538 1 + -7.668 -17.955 6.246 0.570 -0.628 -0.529 -1024 530 1 + -7.282 -17.917 6.486 0.313 -0.654 -0.689 -1024 530 1 + -8.066 -18.154 5.097 0.836 -0.495 0.237 -1026 538 1 + -7.777 -17.833 5.021 0.643 -0.710 0.288 -1026 538 1 + -7.405 -17.602 4.982 0.395 -0.863 0.314 -1026 538 1 + -6.982 -17.483 4.983 0.113 -0.943 0.313 -1026 461 1 + -6.545 -17.485 5.024 -0.178 -0.942 0.286 -1026 461 1 + -6.131 -17.608 5.103 -0.455 -0.860 0.233 -1026 461 1 + -8.064 -18.163 4.823 0.838 -0.510 -0.194 -1026 538 1 + -7.776 -17.837 4.881 0.646 -0.727 -0.233 -1026 538 1 + -7.404 -17.605 4.909 0.398 -0.882 -0.252 -1026 538 1 + -6.982 -17.486 4.905 0.116 -0.962 -0.249 -1026 461 1 + -6.544 -17.490 4.869 -0.175 -0.958 -0.225 -1026 461 1 + -6.129 -17.618 4.803 -0.452 -0.873 -0.181 -1026 461 1 + -8.126 -18.224 4.406 0.879 -0.469 0.084 -1028 538 1 + -7.868 -17.967 4.085 0.707 -0.641 0.298 -1028 524 1 + -7.500 -17.810 3.811 0.462 -0.745 0.481 -1028 524 1 + -8.437 -18.795 4.378 0.832 -0.407 -0.377 -1028 538 1 + -8.286 -18.424 4.103 0.732 -0.654 -0.194 1028 538 1 + -8.020 -18.156 3.798 0.554 -0.832 0.009 1028 524 1 + -7.667 -18.019 3.495 0.319 -0.924 0.212 1028 524 1 + -7.265 -18.027 3.225 0.051 -0.919 0.392 -1028 524 1 + -8.734 -18.889 4.020 0.637 -0.468 -0.613 -1028 538 1 + -8.534 -18.503 3.804 0.503 -0.726 -0.469 1028 538 1 + -8.256 -18.231 3.515 0.317 -0.907 -0.276 1028 524 1 + -7.927 -18.101 3.183 0.098 -0.994 -0.055 1028 524 1 + -7.583 -18.127 2.841 -0.131 -0.976 0.173 -1028 524 1 + -9.094 -18.824 3.717 0.400 -0.425 -0.812 -1028 538 1 + -8.835 -18.448 3.551 0.227 -0.676 -0.701 1028 538 1 + -8.540 -18.179 3.275 0.030 -0.855 -0.518 1028 524 1 + -8.241 -18.044 2.918 -0.169 -0.945 -0.280 1028 524 1 + -7.968 -18.057 2.517 -0.351 -0.936 -0.012 -1028 524 1 + -9.465 -18.608 3.513 0.156 -0.284 -0.946 -1028 538 1 + -9.145 -18.268 3.381 -0.058 -0.510 -0.858 1028 538 1 + -8.834 -18.009 3.114 -0.265 -0.683 -0.680 1028 524 1 + -8.564 -17.856 2.740 -0.445 -0.785 -0.431 1028 524 1 + -8.364 -17.827 2.299 -0.578 -0.805 -0.137 -1028 524 1 + -9.793 -18.274 3.437 -0.060 -0.064 -0.996 -1028 538 1 + -9.419 -17.989 3.317 -0.310 -0.253 -0.916 1028 538 1 + -9.093 -17.744 3.054 -0.527 -0.417 -0.741 1028 524 1 + -8.851 -17.564 2.674 -0.689 -0.536 -0.488 1028 524 1 + -8.716 -17.469 2.218 -0.779 -0.600 -0.184 -1028 524 1 + -9.619 -17.650 3.370 -0.493 0.058 -0.868 -1028 538 1 + -9.282 -17.423 3.104 -0.717 -0.093 -0.691 -1028 524 1 + -9.059 -17.211 2.729 -0.866 -0.235 -0.441 -1028 524 1 + -10.540 -17.802 3.576 0.043 0.162 -0.986 -1032 538 1 + -10.983 -17.716 3.500 0.339 0.104 -0.935 -1032 550 1 + -10.181 -18.358 3.520 -0.315 -0.119 -0.941 -1032 538 1 + -10.624 -18.257 3.581 -0.021 -0.186 -0.982 1032 538 1 + -11.069 -18.182 3.505 0.276 -0.236 -0.932 1032 550 1 + -11.475 -18.140 3.299 0.547 -0.264 -0.794 -1032 550 1 + -10.717 -18.679 3.746 -0.092 -0.509 -0.856 -1032 538 1 + -11.164 -18.615 3.675 0.207 -0.551 -0.808 -1032 550 1 + -11.537 -17.183 3.087 0.708 -0.252 -0.660 -1033 550 1 + -11.575 -16.793 2.770 0.733 -0.511 -0.448 -1033 550 1 + -11.489 -16.490 2.376 0.676 -0.713 -0.185 -1033 570 1 + -11.289 -16.309 1.950 0.542 -0.834 0.098 -1033 570 1 + -10.996 -16.268 1.542 0.347 -0.861 0.371 -1033 570 1 + -11.674 -17.250 3.000 0.513 -0.348 -0.785 -1033 550 1 + -11.651 -16.831 2.721 0.498 -0.627 -0.599 -1033 550 1 + -11.544 -16.517 2.340 0.426 -0.836 -0.346 -1033 570 1 + -11.365 -16.346 1.902 0.307 -0.950 -0.053 -1033 570 1 + -11.133 -16.336 1.454 0.152 -0.957 0.246 -1033 570 1 + -10.153 -16.291 1.300 -0.137 -0.848 0.512 -1035 570 1 + -9.744 -16.323 1.490 -0.410 -0.827 0.385 -1035 570 1 + -9.390 -16.468 1.733 -0.646 -0.730 0.223 -1035 524 1 + -9.124 -16.713 2.006 -0.823 -0.567 0.041 -1035 524 1 + -10.288 -16.575 0.632 0.317 -0.906 0.279 -1035 570 1 + -9.919 -16.451 0.863 0.071 -0.990 0.124 1035 570 1 + -9.540 -16.461 1.112 -0.181 -0.983 -0.041 1035 570 1 + -9.187 -16.606 1.355 -0.417 -0.886 -0.203 1035 524 1 + -8.890 -16.872 1.570 -0.615 -0.709 -0.346 1035 524 1 + -8.677 -17.235 1.737 -0.757 -0.466 -0.458 -1035 524 1 + -9.604 -16.357 0.460 0.351 -0.907 -0.234 -1035 570 1 + -9.267 -16.380 0.762 0.127 -0.891 -0.435 -1035 570 1 + -8.913 -16.525 1.005 -0.109 -0.795 -0.597 -1035 524 1 + -8.575 -16.779 1.166 -0.335 -0.626 -0.704 -1035 524 1 + -9.521 -16.297 0.297 0.296 -0.947 -0.125 -1037 570 1 + -9.112 -16.257 0.452 0.023 -0.973 -0.229 -1037 570 1 + -8.700 -16.343 0.578 -0.252 -0.916 -0.313 -1037 526 1 + -8.320 -16.547 0.664 -0.505 -0.780 -0.370 -1037 526 1 + -9.361 -16.098 -0.092 0.433 -0.776 -0.458 -1037 570 1 + -8.971 -16.082 0.111 0.173 -0.786 -0.593 -1037 570 1 + -8.559 -16.168 0.237 -0.101 -0.729 -0.677 -1037 526 1 + -8.160 -16.348 0.275 -0.368 -0.609 -0.703 -1037 526 1 + -10.103 -16.463 -0.442 0.423 -0.842 -0.335 -1038 570 1 + -10.013 -16.340 -1.128 0.362 -0.924 0.123 -1038 571 1 + -10.567 -16.579 -0.534 0.157 -0.908 -0.387 -1038 570 1 + -10.451 -16.450 -1.215 0.080 -0.995 0.067 -1038 571 1 + -11.046 -16.550 -0.620 -0.116 -0.892 -0.437 -1038 570 1 + -10.902 -16.423 -1.297 -0.212 -0.977 0.014 -1038 571 1 + -11.496 -16.380 -0.693 -0.373 -0.795 -0.479 -1038 570 1 + -11.327 -16.262 -1.366 -0.486 -0.873 -0.030 -1038 571 1 + -11.878 -16.083 -0.747 -0.592 -0.625 -0.509 -1038 570 1 + -11.688 -15.981 -1.417 -0.719 -0.693 -0.063 -1038 571 1 + -12.158 -15.685 -0.777 -0.752 -0.398 -0.526 -1038 570 1 + -11.952 -15.606 -1.444 -0.889 -0.450 -0.081 -1038 571 1 + -9.312 -15.890 -0.700 0.401 -0.915 -0.052 -1040 571 1 + -8.926 -15.836 -0.366 0.144 -0.951 -0.275 -1040 571 1 + -8.515 -15.949 -0.079 -0.130 -0.875 -0.466 -1040 526 1 + -8.127 -16.217 0.125 -0.389 -0.697 -0.603 -1040 526 1 + -9.033 -15.583 -0.987 0.739 -0.542 -0.400 -1040 571 1 + -8.709 -15.597 -0.589 0.522 -0.533 -0.665 -1040 571 1 + -8.293 -15.704 -0.308 0.245 -0.462 -0.853 -1040 526 1 + -7.833 -15.893 -0.178 -0.061 -0.336 -0.940 -1040 526 1 + -8.972 -15.323 -1.631 0.698 -0.716 0.029 -1042 571 1 + -8.616 -15.082 -1.803 0.461 -0.876 0.143 -1042 478 1 + -8.195 -14.967 -1.954 0.180 -0.953 0.244 -1042 478 1 + -9.410 -15.720 -1.942 0.751 -0.524 -0.402 -1042 571 1 + -9.128 -15.370 -2.048 0.562 -0.757 -0.332 1042 571 1 + -8.765 -15.128 -2.200 0.321 -0.919 -0.230 1042 478 1 + -8.357 -15.017 -2.385 0.049 -0.993 -0.107 1042 478 1 + -7.942 -15.046 -2.586 -0.228 -0.973 0.027 -1042 478 1 + -9.668 -15.587 -2.377 0.585 -0.438 -0.683 -1042 571 1 + -9.348 -15.256 -2.420 0.372 -0.658 -0.655 1042 571 1 + -8.975 -15.019 -2.555 0.123 -0.816 -0.564 1042 478 1 + -8.585 -14.898 -2.771 -0.137 -0.897 -0.420 1042 478 1 + -8.215 -14.905 -3.047 -0.384 -0.893 -0.237 -1042 478 1 + -9.959 -15.286 -2.691 0.397 -0.244 -0.885 -1042 571 1 + -9.597 -14.999 -2.688 0.156 -0.435 -0.887 1042 571 1 + -9.213 -14.773 -2.811 -0.100 -0.586 -0.804 1042 478 1 + -8.844 -14.631 -3.049 -0.347 -0.680 -0.646 1042 478 1 + -8.523 -14.586 -3.379 -0.560 -0.710 -0.426 -1042 478 1 + -9.835 -14.639 -2.808 -0.050 -0.124 -0.991 -1042 571 1 + -9.440 -14.430 -2.926 -0.313 -0.263 -0.912 -1042 478 1 + -9.090 -14.259 -3.174 -0.547 -0.378 -0.747 -1042 478 1 + -10.119 -14.417 -2.867 0.139 -0.272 -0.952 -1043 571 1 + -9.981 -14.007 -3.039 0.047 -0.545 -0.837 -1043 481 1 + -10.708 -14.715 -2.851 -0.087 0.125 -0.988 -1043 571 1 + -10.540 -14.282 -2.884 -0.199 -0.164 -0.966 1043 571 1 + -10.401 -13.873 -3.057 -0.291 -0.437 -0.851 1043 481 1 + -10.304 -13.527 -3.353 -0.356 -0.667 -0.654 -1043 481 1 + -11.135 -14.508 -2.707 -0.362 0.258 -0.896 -1043 571 1 + -10.921 -14.097 -2.756 -0.504 -0.016 -0.863 1043 571 1 + -10.780 -13.689 -2.929 -0.598 -0.288 -0.748 1043 481 1 + -10.726 -13.322 -3.211 -0.634 -0.533 -0.560 -1043 481 1 + -11.462 -14.272 -2.419 -0.573 0.410 -0.710 -1043 571 1 + -11.213 -13.886 -2.498 -0.738 0.153 -0.657 1043 571 1 + -11.071 -13.479 -2.673 -0.833 -0.119 -0.541 1043 481 1 + -11.050 -13.088 -2.925 -0.847 -0.379 -0.372 -1043 481 1 + -11.378 -13.677 -2.145 -0.870 0.321 -0.373 -1043 571 1 + -11.235 -13.270 -2.321 -0.965 0.050 -0.256 -1043 481 1 + -9.280 -13.835 -3.361 -0.420 -0.660 -0.623 -1045 478 1 + -9.240 -13.673 -3.527 -0.391 -0.545 -0.742 -1045 478 1 + -9.949 -13.142 -3.730 -0.123 -0.415 -0.902 -1047 481 1 + -9.422 -13.048 -3.972 -0.474 -0.477 -0.740 -1047 479 1 + -10.030 -12.271 -3.984 -0.248 -0.436 -0.865 -1049 481 1 + -10.014 -11.888 -4.269 -0.259 -0.691 -0.675 -1049 481 1 + -10.037 -11.610 -4.658 -0.243 -0.876 -0.416 -1049 490 1 + -10.097 -11.466 -5.109 -0.203 -0.972 -0.115 -1049 490 1 + -10.650 -12.445 -3.591 -0.584 0.044 -0.811 -1049 481 1 + -10.456 -12.064 -3.804 -0.713 -0.210 -0.669 1049 481 1 + -10.370 -11.715 -4.119 -0.770 -0.443 -0.459 1049 481 1 + -10.402 -11.433 -4.503 -0.749 -0.631 -0.202 1049 490 1 + -10.548 -11.247 -4.919 -0.652 -0.755 0.075 1049 490 1 + -10.793 -11.177 -5.323 -0.488 -0.802 0.344 -1049 490 1 + -10.642 -11.696 -3.512 -0.917 0.193 -0.349 -1049 481 1 + -10.527 -11.406 -3.874 -0.994 -0.000 -0.107 -1049 481 1 + -10.562 -11.117 -4.253 -0.970 -0.193 0.145 -1049 490 1 + -10.746 -10.857 -4.609 -0.848 -0.367 0.383 -1049 490 1 + -11.005 -11.552 -2.938 -0.675 0.097 -0.731 -1050 481 1 + -11.224 -11.132 -2.793 -0.530 -0.183 -0.828 -1050 481 1 + -11.528 -10.742 -2.783 -0.327 -0.443 -0.835 -1050 502 1 + -11.886 -10.424 -2.909 -0.088 -0.655 -0.751 -1050 502 1 + -12.258 -10.214 -3.158 0.160 -0.795 -0.585 -1050 502 1 + -11.143 -11.653 -2.757 -0.895 -0.065 -0.441 -1050 481 1 + -11.299 -11.187 -2.693 -0.791 -0.375 -0.484 -1050 481 1 + -11.585 -10.783 -2.708 -0.600 -0.644 -0.474 -1050 502 1 + -11.968 -10.485 -2.801 -0.345 -0.843 -0.412 -1050 502 1 + -12.408 -10.324 -2.961 -0.052 -0.951 -0.305 -1050 502 1 + -12.278 -9.948 -3.799 0.174 -0.972 -0.157 -1052 502 1 + -11.925 -9.912 -4.120 -0.062 -0.996 0.056 -1052 502 1 + -11.582 -10.027 -4.432 -0.291 -0.920 0.265 -1052 490 1 + -11.283 -10.283 -4.704 -0.490 -0.749 0.446 -1052 490 1 + -12.983 -9.977 -3.977 0.175 -0.760 -0.626 -1052 502 1 + -12.568 -9.829 -4.162 -0.102 -0.859 -0.502 1052 502 1 + -12.168 -9.812 -4.424 -0.368 -0.870 -0.328 1052 502 1 + -11.825 -9.927 -4.736 -0.597 -0.793 -0.120 1052 490 1 + -11.573 -10.163 -5.067 -0.765 -0.636 0.101 1052 490 1 + -11.437 -10.497 -5.382 -0.856 -0.413 0.311 -1052 490 1 + -13.204 -9.549 -4.378 0.049 -0.516 -0.855 -1052 502 1 + -12.737 -9.502 -4.469 -0.263 -0.548 -0.794 1052 502 1 + -12.310 -9.537 -4.682 -0.547 -0.524 -0.653 1052 502 1 + -11.967 -9.653 -4.994 -0.776 -0.447 -0.445 1052 490 1 + -11.742 -9.836 -5.374 -0.926 -0.325 -0.191 1052 490 1 + -11.658 -10.069 -5.783 -0.982 -0.169 0.081 -1052 490 1 + -13.209 -8.964 -4.600 0.046 -0.181 -0.982 -1052 502 1 + -12.741 -9.053 -4.640 -0.266 -0.121 -0.956 1052 502 1 + -12.314 -9.161 -4.825 -0.551 -0.050 -0.833 1052 502 1 + -11.970 -9.276 -5.137 -0.780 0.027 -0.625 1052 490 1 + -11.746 -9.388 -5.544 -0.930 0.102 -0.353 1052 490 1 + -11.663 -9.483 -6.005 -0.985 0.165 -0.046 -1052 490 1 + -12.579 -8.602 -4.628 -0.112 0.307 -0.945 -1052 502 1 + -12.177 -8.783 -4.815 -0.380 0.428 -0.820 -1052 502 1 + -11.834 -8.898 -5.127 -0.609 0.505 -0.612 -1052 490 1 + -11.583 -8.937 -5.532 -0.776 0.530 -0.342 -1052 490 1 + -13.470 -8.357 -4.597 -0.103 0.166 -0.981 -1054 502 1 + -13.429 -7.656 -4.652 -0.130 -0.302 -0.944 -1054 503 1 + -13.925 -8.312 -4.477 -0.363 0.191 -0.912 -1054 502 1 + -13.859 -7.614 -4.538 -0.408 -0.275 -0.871 -1054 503 1 + -14.325 -8.244 -4.233 -0.592 0.230 -0.773 -1054 502 1 + -14.236 -7.549 -4.308 -0.651 -0.233 -0.723 -1054 503 1 + -14.635 -8.158 -3.887 -0.769 0.279 -0.575 -1054 502 1 + -14.529 -7.468 -3.981 -0.840 -0.181 -0.512 -1054 503 1 + -14.831 -8.061 -3.467 -0.881 0.335 -0.335 -1054 502 1 + -14.713 -7.377 -3.585 -0.959 -0.122 -0.256 -1054 503 1 + -14.894 -7.962 -3.009 -0.917 0.391 -0.073 -1054 502 1 + -14.774 -7.283 -3.152 -0.998 -0.061 0.023 -1054 503 1 + -14.821 -7.869 -2.551 -0.876 0.445 0.189 -1054 502 1 + -14.705 -7.195 -2.720 -0.953 -0.005 0.302 -1054 503 1 + -14.380 -7.395 -1.978 -0.918 0.227 0.326 -1055 502 1 + -14.286 -6.966 -1.773 -0.980 -0.059 0.190 -1055 589 1 + -14.346 -6.545 -1.539 -0.940 -0.339 0.033 -1055 589 1 + -14.105 -7.642 -1.504 -0.683 0.017 0.730 -1055 502 1 + -14.036 -7.190 -1.343 -0.729 -0.285 0.623 -1055 589 1 + -14.083 -6.782 -1.085 -0.698 -0.557 0.451 -1055 589 1 + -14.400 -6.440 -1.672 -0.904 -0.409 0.122 -1057 589 1 + -14.386 -6.765 -2.026 -0.914 -0.193 0.358 -1057 503 1 + -14.659 -5.835 -1.618 -0.871 -0.358 -0.336 -1057 589 1 + -14.494 -6.134 -1.956 -0.981 -0.159 -0.111 1057 589 1 + -14.480 -6.458 -2.311 -0.990 0.057 0.126 1057 503 1 + -14.619 -6.773 -2.646 -0.898 0.267 0.350 -1057 503 1 + -14.594 -5.482 -1.936 -0.828 -0.126 -0.546 -1057 589 1 + -14.436 -5.820 -2.239 -0.934 0.099 -0.344 1057 589 1 + -14.422 -6.142 -2.595 -0.943 0.315 -0.106 1057 503 1 + -14.553 -6.417 -2.968 -0.856 0.498 0.142 -1057 503 1 + -14.368 -5.163 -2.215 -0.679 0.084 -0.729 -1057 589 1 + -14.234 -5.536 -2.488 -0.768 0.332 -0.547 1057 589 1 + -14.220 -5.858 -2.845 -0.778 0.547 -0.309 1057 503 1 + -14.325 -6.095 -3.249 -0.708 0.705 -0.040 -1057 503 1 + -14.008 -4.919 -2.419 -0.443 0.244 -0.863 -1057 589 1 + -13.914 -5.319 -2.669 -0.505 0.510 -0.696 1057 589 1 + -13.898 -5.640 -3.027 -0.516 0.724 -0.458 1057 503 1 + -13.961 -5.849 -3.455 -0.474 0.864 -0.172 -1057 503 1 + -13.560 -4.781 -2.522 -0.148 0.335 -0.931 -1057 589 1 + -13.515 -5.196 -2.761 -0.178 0.611 -0.771 1057 589 1 + -13.497 -5.516 -3.119 -0.189 0.825 -0.533 1057 503 1 + -13.509 -5.710 -3.559 -0.182 0.954 -0.239 -1057 503 1 + -13.080 -4.766 -2.511 0.168 0.345 -0.923 -1057 589 1 + -13.087 -5.182 -2.751 0.173 0.623 -0.763 1057 589 1 + -13.068 -5.502 -3.109 0.160 0.836 -0.525 1057 503 1 + -13.024 -5.694 -3.548 0.131 0.964 -0.232 -1057 503 1 + -12.629 -4.875 -2.388 0.465 0.273 -0.842 -1057 589 1 + -12.686 -5.279 -2.641 0.502 0.543 -0.673 1057 589 1 + -12.665 -5.600 -2.999 0.489 0.756 -0.435 1057 503 1 + -12.569 -5.804 -3.423 0.425 0.893 -0.152 -1057 503 1 + -12.264 -5.096 -2.168 0.705 0.128 -0.698 -1057 589 1 + -12.360 -5.476 -2.445 0.769 0.382 -0.512 1057 589 1 + -12.338 -5.797 -2.802 0.755 0.596 -0.275 1057 503 1 + -12.200 -6.027 -3.201 0.663 0.749 -0.009 -1057 503 1 + -12.152 -5.746 -2.188 0.940 0.160 -0.301 -1057 589 1 + -12.129 -6.069 -2.544 0.925 0.375 -0.064 -1057 503 1 + -11.964 -5.821 -1.829 0.815 0.209 -0.541 -1059 589 1 + -11.798 -6.217 -1.845 0.704 0.473 -0.530 -1059 589 1 + -11.545 -6.554 -1.927 0.536 0.698 -0.475 -1059 500 1 + -11.227 -6.806 -2.067 0.323 0.866 -0.382 -1059 500 1 + -11.812 -5.799 -1.430 0.960 0.230 -0.159 -1059 589 1 + -11.662 -6.197 -1.489 0.860 0.496 -0.119 -1059 589 1 + -11.407 -6.534 -1.564 0.690 0.721 -0.070 -1059 500 1 + -11.067 -6.783 -1.647 0.463 0.886 -0.014 -1059 500 1 + -11.672 -5.293 -0.938 0.867 -0.107 -0.487 -1060 589 1 + -11.363 -5.231 -0.564 0.660 -0.148 -0.736 -1060 584 1 + -11.781 -4.693 -0.960 0.781 0.367 -0.505 -1060 589 1 + -11.474 -4.615 -0.587 0.576 0.315 -0.754 -1060 584 1 + -11.040 -5.691 -0.346 0.445 0.159 -0.881 -1062 584 1 + -11.056 -6.163 -0.537 0.456 0.473 -0.754 -1062 584 1 + -10.993 -6.552 -0.858 0.414 0.733 -0.540 -1062 500 1 + -10.859 -6.816 -1.272 0.325 0.908 -0.264 -1062 500 1 + -10.840 -5.762 -0.222 0.655 0.085 -0.751 -1062 584 1 + -10.897 -6.218 -0.438 0.692 0.390 -0.607 -1062 584 1 + -10.834 -6.608 -0.759 0.651 0.650 -0.393 -1062 500 1 + -10.660 -6.886 -1.148 0.534 0.835 -0.134 -1062 500 1 + -10.535 -5.685 -0.011 0.451 0.034 -0.892 -1064 584 1 + -10.342 -6.075 0.000 0.323 0.294 -0.900 -1064 584 1 + -10.109 -6.428 -0.102 0.167 0.530 -0.832 -1064 496 1 + -9.855 -6.714 -0.309 -0.002 0.721 -0.693 -1064 496 1 + -9.600 -6.910 -0.604 -0.172 0.851 -0.497 -1064 496 1 + -10.436 -5.638 0.049 0.550 0.080 -0.831 -1064 584 1 + -10.265 -6.039 0.048 0.436 0.347 -0.830 -1064 584 1 + -10.040 -6.396 -0.059 0.286 0.585 -0.759 -1064 496 1 + -9.778 -6.678 -0.262 0.111 0.774 -0.624 -1064 496 1 + -9.502 -6.863 -0.543 -0.073 0.897 -0.436 -1064 496 1 + -8.311 -6.126 -0.761 -0.867 0.405 -0.291 -1066 494 1 + -8.292 -6.086 -0.754 -0.821 0.501 -0.274 -1066 494 1 + -10.166 -5.413 0.192 0.370 -0.070 -0.926 -1067 584 1 + -10.146 -5.371 0.199 0.415 0.024 -0.909 -1067 584 1 + -10.102 -4.706 0.068 0.386 -0.419 -0.822 -1068 586 1 + -10.758 -4.805 -0.242 0.491 0.048 -0.870 -1068 584 1 + -10.342 -4.416 -0.116 0.214 -0.211 -0.954 1068 586 1 + -9.877 -4.076 -0.206 -0.096 -0.439 -0.894 -1068 586 1 + -10.600 -4.093 -0.179 0.029 0.021 -0.999 -1068 586 1 + -9.177 -4.543 0.061 -0.231 -0.528 -0.817 -1070 586 1 + -8.763 -4.791 0.008 -0.507 -0.363 -0.782 -1070 586 1 + -8.429 -5.095 -0.167 -0.730 -0.160 -0.665 -1070 494 1 + -8.209 -5.425 -0.447 -0.876 0.060 -0.478 -1070 494 1 + -8.127 -5.745 -0.802 -0.931 0.273 -0.242 -1070 494 1 + -9.040 -3.766 -0.154 0.454 -0.235 -0.859 -1070 586 1 + -8.832 -4.183 -0.021 0.316 0.043 -0.948 1070 586 1 + -8.574 -4.593 -0.037 0.144 0.317 -0.937 1070 586 1 + -8.294 -4.954 -0.200 -0.043 0.558 -0.829 1070 494 1 + -8.020 -5.228 -0.492 -0.226 0.740 -0.634 1070 494 1 + -7.782 -5.385 -0.884 -0.384 0.845 -0.373 1070 494 1 + -7.604 -5.410 -1.335 -0.503 0.861 -0.072 -1070 494 1 + -8.465 -4.106 0.318 0.897 0.165 -0.410 -1070 586 1 + -8.373 -4.551 0.149 0.836 0.462 -0.297 -1070 586 1 + -8.150 -4.924 -0.067 0.687 0.710 -0.154 -1070 494 1 + -7.820 -5.186 -0.306 0.466 0.885 0.006 -1070 494 1 + -7.416 -5.308 -0.545 0.197 0.966 0.165 -1070 494 1 + -8.163 -3.787 0.778 0.696 -0.048 -0.717 -1072 586 1 + -7.811 -3.945 1.031 0.461 0.057 -0.886 -1072 586 1 + -7.393 -4.095 1.159 0.182 0.157 -0.971 -1072 512 1 + -6.950 -4.222 1.148 -0.113 0.242 -0.964 -1072 512 1 + -8.320 -3.168 0.640 0.928 0.159 -0.337 -1072 586 1 + -8.089 -3.424 0.946 0.774 0.330 -0.541 1072 586 1 + -7.747 -3.634 1.176 0.546 0.469 -0.694 1072 586 1 + -7.328 -3.776 1.307 0.266 0.564 -0.781 1072 512 1 + -6.871 -3.839 1.327 -0.038 0.606 -0.795 1072 512 1 + -6.419 -3.815 1.233 -0.339 0.590 -0.732 -1072 512 1 + -8.332 -2.825 1.037 0.920 0.384 -0.076 -1072 586 1 + -8.098 -3.158 1.254 0.764 0.606 -0.221 1072 586 1 + -7.755 -3.405 1.440 0.535 0.771 -0.345 1072 586 1 + -7.336 -3.543 1.577 0.256 0.863 -0.436 1072 512 1 + -6.881 -3.558 1.652 -0.048 0.873 -0.486 1072 512 1 + -6.432 -3.448 1.658 -0.347 0.800 -0.490 -1072 512 1 + -8.190 -3.047 1.634 0.668 0.723 0.175 -1072 586 1 + -7.834 -3.310 1.766 0.431 0.898 0.087 -1072 586 1 + -7.416 -3.445 1.911 0.153 0.988 -0.009 -1072 512 1 + -6.977 -3.439 2.054 -0.140 0.985 -0.105 -1072 512 1 + -8.470 -2.735 1.983 0.855 0.515 -0.057 -1073 586 1 + -8.369 -2.716 2.430 0.788 0.502 -0.355 -1073 592 1 + -8.589 -2.567 2.001 0.764 0.644 -0.043 -1073 586 1 + -8.491 -2.544 2.449 0.699 0.628 -0.341 -1073 592 1 + -7.815 -2.984 2.798 0.419 0.681 -0.600 -1075 592 1 + -7.404 -3.230 2.669 0.145 0.845 -0.515 -1075 512 1 + -6.969 -3.337 2.456 -0.145 0.917 -0.373 -1075 512 1 + -7.928 -2.508 3.275 0.778 0.511 -0.365 -1075 592 1 + -7.625 -2.886 3.168 0.577 0.762 -0.294 1075 592 1 + -7.227 -3.139 3.013 0.312 0.931 -0.190 1075 512 1 + -6.779 -3.239 2.827 0.013 0.998 -0.066 1075 512 1 + -6.328 -3.176 2.629 -0.288 0.955 0.065 -1075 512 1 + -7.484 -2.937 3.569 0.693 0.720 0.038 -1075 592 1 + -7.097 -3.187 3.385 0.435 0.886 0.161 -1075 512 1 + -6.639 -3.290 3.227 0.129 0.955 0.266 -1075 512 1 + -7.499 -2.710 4.268 0.702 0.569 -0.428 -1076 597 1 + -7.551 -2.614 4.323 0.665 0.637 -0.389 -1076 597 1 + -6.898 -3.079 4.369 0.302 0.815 -0.495 -1078 597 1 + -6.667 -3.300 3.974 0.148 0.961 -0.232 -1078 512 1 + -6.411 -3.354 3.538 -0.023 0.998 0.058 -1078 512 1 + -6.534 -3.181 4.621 0.646 0.719 -0.257 -1078 597 1 + -6.327 -3.395 4.209 0.508 0.861 0.018 -1078 512 1 + -6.033 -3.460 3.800 0.312 0.905 0.290 -1078 512 1 + -6.178 -3.029 5.244 0.409 0.617 -0.672 -1080 597 1 + -5.644 -3.090 5.363 0.053 0.658 -0.751 -1080 602 1 + -6.195 -2.892 5.384 0.395 0.732 -0.555 -1080 597 1 + -5.661 -2.949 5.506 0.040 0.770 -0.637 -1080 602 1 + -6.218 -2.709 5.567 0.411 0.610 -0.677 -1081 601 1 + -6.940 -2.304 5.492 0.509 0.842 -0.177 -1081 597 1 + -6.495 -2.346 5.892 0.213 0.870 -0.444 1081 601 1 + -5.999 -2.180 6.185 -0.118 0.759 -0.640 -1081 601 1 + -6.833 -2.181 6.307 -0.030 0.989 -0.146 -1081 601 1 + -4.865 -2.348 6.042 -0.193 0.670 -0.716 -1084 603 1 + -5.431 -2.049 6.411 0.207 0.834 -0.511 -1084 601 1 + -4.848 -2.075 6.381 -0.182 0.852 -0.491 1084 603 1 + -4.307 -1.907 6.240 -0.543 0.740 -0.397 -1084 603 1 + -5.387 -1.871 6.842 0.231 0.936 -0.265 -1084 601 1 + -4.808 -1.909 6.782 -0.155 0.962 -0.225 1084 603 1 + -4.263 -1.729 6.671 -0.518 0.842 -0.150 -1084 603 1 + -5.323 -1.823 7.303 0.268 0.963 -0.001 -1084 601 1 + -4.748 -1.865 7.211 -0.115 0.991 0.061 1084 603 1 + -4.199 -1.682 7.132 -0.481 0.869 0.113 -1084 603 1 + -4.674 -1.946 7.632 -0.066 0.938 0.341 -1084 603 1 + -3.830 -2.842 5.163 -0.443 0.599 -0.667 -1088 603 1 + -3.748 -3.080 4.797 -0.497 0.757 -0.423 -1088 603 1 + -3.732 -3.218 4.375 -0.508 0.850 -0.142 -1088 515 1 + -3.783 -3.244 3.934 -0.474 0.867 0.152 -1088 515 1 + -3.896 -3.157 3.514 -0.399 0.809 0.432 -1088 515 1 + -3.105 -2.830 5.121 0.343 0.612 -0.713 -1088 603 1 + -3.221 -3.071 4.766 0.420 0.773 -0.476 -1088 603 1 + -3.281 -3.210 4.349 0.460 0.866 -0.198 -1088 515 1 + -3.281 -3.236 3.905 0.460 0.883 0.098 -1088 515 1 + -3.220 -3.145 3.474 0.419 0.822 0.385 -1088 515 1 + -2.472 -2.642 5.356 -0.079 0.487 -0.870 -1090 603 1 + -2.012 -2.698 5.190 -0.386 0.524 -0.759 -1090 334 1 + -1.615 -2.670 4.901 -0.651 0.505 -0.567 -1090 334 1 + -2.674 -2.000 5.862 0.390 0.687 -0.612 -1090 603 1 + -2.247 -2.220 5.755 0.106 0.834 -0.541 1090 603 1 + -1.803 -2.306 5.561 -0.190 0.891 -0.412 1090 334 1 + -1.389 -2.248 5.300 -0.466 0.852 -0.238 1090 334 1 + -1.051 -2.052 5.001 -0.691 0.722 -0.039 -1090 334 1 + -1.957 -2.099 6.294 0.344 0.934 -0.098 -1090 603 1 + -1.534 -2.193 6.062 0.062 0.997 0.056 -1090 334 1 + -1.100 -2.127 5.839 -0.227 0.952 0.205 -1090 334 1 + -2.092 -1.821 6.899 0.434 0.748 -0.502 -1092 603 1 + -1.798 -1.684 7.219 0.238 0.657 -0.716 -1092 603 1 + -1.471 -1.456 7.440 0.020 0.505 -0.863 -1092 64 1 + -1.142 -1.158 7.542 -0.200 0.306 -0.931 -1092 64 1 + -2.783 -1.551 6.873 0.328 0.944 -0.035 -1092 603 1 + -2.455 -1.580 7.187 0.109 0.963 -0.245 1092 603 1 + -2.111 -1.476 7.468 -0.119 0.894 -0.432 1092 603 1 + -1.785 -1.248 7.689 -0.337 0.742 -0.580 1092 64 1 + -1.505 -0.917 7.830 -0.524 0.521 -0.674 1092 64 1 + -1.297 -0.514 7.878 -0.662 0.253 -0.705 -1092 64 1 + -2.755 -1.564 7.614 -0.159 0.978 0.136 -1092 603 1 + -2.371 -1.462 7.837 -0.415 0.910 -0.012 -1092 603 1 + -2.044 -1.234 8.058 -0.633 0.758 -0.160 -1092 64 1 + -1.805 -0.901 8.257 -0.792 0.536 -0.292 -1092 64 1 + -2.832 -1.588 7.794 -0.108 0.994 0.016 -1094 603 1 + -2.521 -1.474 8.181 -0.315 0.918 -0.242 -1094 603 1 + -2.264 -1.201 8.526 -0.486 0.736 -0.472 -1094 62 1 + -2.092 -0.801 8.790 -0.601 0.469 -0.647 -1094 62 1 + -3.109 -1.726 8.109 -0.398 0.849 0.347 -1094 603 1 + -2.741 -1.584 8.432 -0.643 0.754 0.132 -1094 603 1 + -2.485 -1.311 8.777 -0.814 0.572 -0.098 -1094 62 1 + -2.369 -0.939 9.105 -0.891 0.324 -0.316 -1094 62 1 + -3.726 -1.893 8.211 0.013 0.960 0.279 -1095 603 1 + -3.905 -1.939 8.612 0.133 0.991 0.012 -1095 603 1 + -4.067 -1.857 9.014 0.241 0.936 -0.256 -1095 54 1 + -4.198 -1.653 9.383 0.328 0.800 -0.502 -1095 54 1 + -4.286 -1.346 9.686 0.387 0.595 -0.704 -1095 54 1 + -4.010 -1.908 8.109 -0.278 0.945 0.174 -1095 603 1 + -4.123 -1.951 8.533 -0.203 0.973 -0.109 -1095 603 1 + -4.262 -1.868 8.944 -0.110 0.918 -0.382 -1095 54 1 + -4.416 -1.665 9.304 -0.008 0.783 -0.623 -1095 54 1 + -4.570 -1.361 9.584 0.095 0.580 -0.809 -1095 54 1 + -3.899 -0.944 10.034 0.129 0.328 -0.936 -1097 54 1 + -3.458 -0.884 10.045 -0.166 0.287 -0.943 -1097 54 1 + -3.038 -0.785 9.931 -0.446 0.222 -0.867 -1097 62 1 + -2.677 -0.657 9.702 -0.686 0.136 -0.715 -1097 62 1 + -4.361 -0.464 10.193 0.391 0.623 -0.677 -1097 54 1 + -3.929 -0.544 10.271 0.103 0.676 -0.729 1097 54 1 + -3.483 -0.534 10.252 -0.194 0.670 -0.717 1097 54 1 + -3.063 -0.436 10.138 -0.474 0.604 -0.641 1097 62 1 + -2.706 -0.257 9.939 -0.712 0.485 -0.508 1097 62 1 + -2.444 -0.014 9.673 -0.887 0.323 -0.330 -1097 62 1 + -3.887 -0.279 10.652 0.139 0.907 -0.397 -1097 54 1 + -3.447 -0.303 10.585 -0.154 0.923 -0.352 -1097 54 1 + -3.027 -0.205 10.471 -0.434 0.858 -0.276 -1097 62 1 + -2.665 0.008 10.320 -0.676 0.716 -0.176 -1097 62 1 + -3.941 -0.098 10.946 0.175 0.786 -0.593 -1098 54 1 + -3.547 0.052 11.140 -0.088 0.686 -0.722 -1098 54 1 + -3.166 0.300 11.230 -0.342 0.521 -0.782 -1098 60 1 + -2.834 0.623 11.208 -0.563 0.306 -0.768 -1098 60 1 + -4.185 0.116 11.391 -0.048 0.981 -0.187 -1098 54 1 + -3.756 0.235 11.520 -0.334 0.902 -0.273 -1098 54 1 + -3.375 0.483 11.611 -0.588 0.737 -0.334 -1098 60 1 + -3.079 0.836 11.653 -0.786 0.501 -0.362 -1098 60 1 + -2.386 0.615 10.659 -0.862 0.311 -0.401 -1100 62 1 + -2.217 0.830 10.538 -0.749 0.455 -0.482 -1100 62 1 + -2.185 1.641 10.960 -0.503 0.434 -0.747 -1102 60 1 + -1.815 1.470 10.395 -0.749 0.549 -0.371 -1102 61 1 + -1.884 1.995 11.049 -0.332 0.637 -0.696 -1102 60 1 + -1.515 1.824 10.484 -0.578 0.751 -0.320 -1102 61 1 + -1.017 2.243 10.889 -0.462 0.794 -0.394 -1104 63 1 + -1.265 2.489 11.578 0.023 0.919 -0.394 -1104 60 1 + -0.778 2.459 11.233 -0.302 0.939 -0.164 1104 63 1 + -0.363 2.652 10.850 -0.579 0.810 0.092 -1104 63 1 + -0.958 2.572 11.976 0.198 0.966 -0.166 -1104 60 1 + -0.494 2.535 11.602 -0.112 0.990 0.083 1104 63 1 + -0.056 2.735 11.247 -0.404 0.857 0.319 -1104 63 1 + -0.194 2.464 11.958 0.089 0.943 0.322 -1104 63 1 + -0.345 2.438 12.746 0.190 0.960 -0.204 -1106 60 1 + -0.025 2.531 13.099 -0.023 0.898 -0.439 -1106 59 1 + -0.849 2.452 13.215 -0.188 0.971 0.148 -1106 60 1 + -0.517 2.545 13.556 -0.410 0.909 -0.080 -1106 59 1 + -1.579 2.493 13.223 0.298 0.944 0.142 -1107 60 1 + -1.898 2.627 13.573 0.511 0.854 -0.091 -1107 60 1 + -2.135 2.899 13.908 0.669 0.673 -0.314 -1107 28 1 + -2.264 3.279 14.192 0.755 0.419 -0.504 -1107 28 1 + -1.664 2.573 12.534 -0.205 0.967 0.153 -1107 60 1 + -1.907 2.537 12.960 -0.043 0.990 -0.132 1107 60 1 + -2.157 2.662 13.365 0.124 0.907 -0.402 1107 60 1 + -2.388 2.933 13.706 0.277 0.727 -0.629 1107 28 1 + -2.573 3.321 13.944 0.401 0.468 -0.788 1107 28 1 + -2.694 3.785 14.056 0.482 0.158 -0.862 -1107 28 1 + -2.282 2.407 12.815 -0.434 0.855 -0.283 -1107 60 1 + -2.454 2.559 13.251 -0.320 0.754 -0.574 -1107 60 1 + -2.676 2.833 13.594 -0.171 0.571 -0.803 -1107 28 1 + -2.927 3.199 13.807 -0.004 0.327 -0.945 -1107 28 1 + -2.023 3.400 14.531 0.594 0.339 -0.729 -1109 28 1 + -1.700 3.115 14.576 0.379 0.529 -0.759 -1109 28 1 + -1.331 2.896 14.526 0.133 0.675 -0.726 -1109 59 1 + -0.944 2.761 14.385 -0.125 0.765 -0.632 -1109 59 1 + -0.573 2.722 14.166 -0.372 0.791 -0.486 -1109 59 1 + -2.009 3.959 15.005 0.932 0.273 -0.238 -1109 28 1 + -1.837 3.564 14.963 0.818 0.536 -0.209 1109 28 1 + -1.563 3.236 14.895 0.635 0.755 -0.164 1109 28 1 + -1.210 3.003 14.806 0.400 0.911 -0.105 1109 59 1 + -0.807 2.882 14.704 0.131 0.991 -0.037 1109 59 1 + -0.388 2.886 14.597 -0.148 0.988 0.034 1109 59 1 + 0.013 3.013 14.495 -0.416 0.904 0.102 -1109 59 1 + -1.948 3.732 15.668 0.972 0.123 0.198 -1109 28 1 + -1.794 3.404 15.432 0.870 0.343 0.355 1109 28 1 + -1.532 3.118 15.241 0.695 0.533 0.483 1109 28 1 + -1.182 2.898 15.110 0.462 0.679 0.570 1109 59 1 + -0.775 2.764 15.050 0.191 0.769 0.610 1109 59 1 + -0.345 2.725 15.067 -0.097 0.795 0.599 1109 59 1 + 0.074 2.786 15.158 -0.376 0.754 0.538 -1109 59 1 + -1.916 3.001 15.698 0.723 -0.143 0.676 -1109 28 1 + -1.621 2.820 15.437 0.527 -0.022 0.850 -1109 28 1 + -1.261 2.637 15.283 0.287 0.100 0.953 -1109 59 1 + -0.865 2.466 15.247 0.023 0.214 0.977 -1109 59 1 + -0.466 2.322 15.333 -0.243 0.310 0.919 -1109 59 1 + -2.300 2.795 16.410 0.980 -0.005 0.201 -1111 28 1 + -2.283 2.425 16.817 0.968 0.241 -0.070 -1111 37 1 + -2.363 2.980 16.579 0.926 0.152 0.344 -1111 28 1 + -2.347 2.616 16.991 0.916 0.395 0.070 -1111 37 1 + -2.398 3.245 16.628 0.950 -0.024 0.312 -1113 28 1 + -2.470 3.110 17.063 0.998 0.065 0.021 -1113 36 1 + -2.341 3.907 16.367 0.714 0.238 0.658 -1113 28 1 + -2.536 3.735 16.748 0.844 0.352 0.404 1113 28 1 + -2.611 3.613 17.187 0.894 0.433 0.112 1113 36 1 + -2.559 3.553 17.641 0.860 0.473 -0.191 -1113 36 1 + -2.687 4.351 16.422 0.486 0.530 0.695 -1113 28 1 + -2.856 4.146 16.799 0.598 0.668 0.443 1113 28 1 + -2.939 4.035 17.239 0.654 0.741 0.150 1113 36 1 + -2.930 4.029 17.700 0.648 0.745 -0.158 -1113 36 1 + -3.306 4.410 16.772 0.252 0.871 0.422 -1113 28 1 + -3.402 4.306 17.211 0.316 0.940 0.130 -1113 36 1 + -3.634 4.423 17.124 0.471 0.862 0.188 -1115 36 1 + -3.742 4.467 17.166 0.399 0.891 0.216 -1115 36 1 + -2.181 2.381 18.347 0.882 0.471 0.013 -1119 38 1 + -2.493 3.000 18.697 0.898 0.157 0.412 -1119 36 1 + -2.320 2.452 18.804 0.782 0.522 0.340 1119 38 1 + -1.969 2.023 18.989 0.548 0.808 0.217 -1119 38 1 + -2.583 2.423 19.208 0.593 0.501 0.630 -1119 38 1 + -2.819 2.560 19.375 0.750 0.409 0.519 -1120 36 1 + -2.742 2.213 19.676 0.699 0.641 0.318 -1120 36 1 + -2.563 1.959 20.024 0.580 0.810 0.087 -1120 800 1 + -2.301 1.822 20.384 0.405 0.902 -0.153 -1120 800 1 + -1.979 1.815 20.721 0.191 0.906 -0.379 -1120 800 1 + -2.858 2.581 19.410 0.706 0.433 0.560 -1120 36 1 + -2.769 2.228 19.701 0.647 0.669 0.366 -1120 36 1 + -2.586 1.971 20.045 0.525 0.840 0.137 -1120 800 1 + -2.328 1.837 20.409 0.353 0.930 -0.105 -1120 800 1 + -2.018 1.837 20.757 0.146 0.930 -0.338 -1120 800 1 + -1.816 1.758 20.634 0.081 0.944 -0.320 -1122 800 1 + -1.990 1.705 20.220 0.197 0.979 -0.044 -1122 38 1 + -2.137 1.786 19.799 0.296 0.926 0.236 -1122 38 1 + -1.243 1.409 20.390 0.542 0.663 -0.517 -1122 800 1 + -1.463 1.383 19.995 0.688 0.680 -0.253 -1122 38 1 + -1.588 1.451 19.565 0.772 0.635 0.033 -1122 38 1 + -0.652 1.243 20.539 0.148 0.774 -0.616 -1124 800 1 + -0.333 1.063 20.282 -0.064 0.893 -0.445 -1124 77 1 + -0.024 1.002 19.965 -0.271 0.934 -0.234 -1124 77 1 + -0.572 1.625 21.086 0.563 0.642 -0.521 -1124 800 1 + -0.324 1.329 20.861 0.397 0.840 -0.371 1124 800 1 + -0.024 1.145 20.586 0.197 0.962 -0.188 1124 77 1 + 0.303 1.089 20.287 -0.021 1.000 0.012 1124 77 1 + 0.628 1.166 19.989 -0.237 0.948 0.210 -1124 77 1 + -0.234 1.531 21.495 0.756 0.589 -0.287 -1124 800 1 + -0.032 1.248 21.215 0.621 0.778 -0.100 1124 800 1 + 0.254 1.068 20.922 0.431 0.897 0.095 1124 77 1 + 0.596 1.007 20.642 0.202 0.938 0.282 1124 77 1 + 0.966 1.072 20.399 -0.044 0.895 0.444 -1124 77 1 + 0.017 1.257 21.885 0.900 0.432 -0.064 -1124 800 1 + 0.186 1.010 21.553 0.787 0.596 0.158 1124 800 1 + 0.460 0.843 21.242 0.605 0.708 0.365 1124 77 1 + 0.814 0.770 20.979 0.369 0.757 0.540 1124 77 1 + 1.217 0.798 20.789 0.100 0.738 0.667 -1124 77 1 + 0.299 0.649 21.828 0.873 0.321 0.367 -1124 800 1 + 0.567 0.501 21.502 0.695 0.420 0.584 -1124 77 1 + 0.927 0.409 21.254 0.454 0.481 0.750 -1124 77 1 + 0.294 0.410 22.433 0.876 0.480 -0.036 -1126 800 1 + 0.592 0.064 22.657 0.678 0.712 -0.186 -1126 161 1 + 1.007 -0.160 22.849 0.401 0.861 -0.314 -1126 161 1 + -0.033 0.984 22.710 0.871 0.276 0.407 -1126 800 1 + 0.146 0.528 22.847 0.751 0.580 0.316 1126 800 1 + 0.456 0.172 23.039 0.544 0.818 0.188 1126 161 1 + 0.860 -0.043 23.263 0.275 0.961 0.038 1126 161 1 + 1.311 -0.091 23.494 -0.026 0.993 -0.115 -1126 161 1 + -0.339 0.941 23.174 0.696 0.251 0.673 -1126 800 1 + -0.103 0.492 23.226 0.539 0.550 0.638 1126 800 1 + 0.226 0.139 23.388 0.319 0.786 0.530 1126 161 1 + 0.610 -0.078 23.642 0.063 0.931 0.361 1126 161 1 + 1.005 -0.135 23.958 -0.200 0.968 0.150 -1126 161 1 + -0.412 0.310 23.506 0.276 0.395 0.876 -1126 800 1 + -0.059 -0.029 23.647 0.040 0.621 0.783 -1126 161 1 + 0.301 -0.260 23.922 -0.200 0.776 0.599 -1126 161 1 + -1.086 0.713 23.805 0.725 0.127 0.677 -1128 800 1 + -1.349 0.727 24.192 0.900 0.118 0.419 -1128 800 1 + -1.480 0.758 24.640 0.988 0.097 0.121 -1128 804 1 + -1.468 0.803 25.105 0.980 0.067 -0.190 -1128 804 1 + -1.312 0.858 25.542 0.876 0.030 -0.481 -1128 804 1 + -1.132 0.902 23.784 0.670 0.356 0.651 -1128 800 1 + -1.379 0.852 24.178 0.835 0.390 0.389 -1128 800 1 + -1.505 0.858 24.628 0.918 0.385 0.089 -1128 804 1 + -1.496 0.921 25.092 0.913 0.344 -0.220 -1128 804 1 + -1.355 1.034 25.523 0.819 0.269 -0.508 -1128 804 1 + -1.144 1.329 23.665 0.678 0.072 0.731 -1130 800 1 + -1.382 1.666 23.973 0.837 -0.153 0.526 -1130 800 1 + -1.472 1.976 24.374 0.897 -0.360 0.258 -1130 811 1 + -1.403 2.222 24.821 0.851 -0.524 -0.040 -1130 811 1 + -1.082 1.474 23.567 0.746 0.227 0.627 -1130 800 1 + -1.333 1.779 23.896 0.913 0.023 0.407 -1130 800 1 + -1.423 2.089 24.297 0.973 -0.184 0.140 -1130 811 1 + -1.340 2.367 24.723 0.918 -0.369 -0.144 -1130 811 1 + -1.016 1.624 23.456 0.702 0.126 0.701 -1131 800 1 + -1.200 2.065 23.697 0.825 -0.168 0.540 -1131 814 1 + -1.227 2.474 24.041 0.842 -0.440 0.311 -1131 814 1 + -0.517 1.500 22.989 0.594 0.571 0.567 -1131 800 1 + -0.873 1.856 23.171 0.831 0.334 0.445 1131 800 1 + -1.070 2.276 23.437 0.962 0.054 0.267 1131 814 1 + -1.083 2.706 23.755 0.971 -0.233 0.055 1131 814 1 + -0.911 3.091 24.084 0.856 -0.490 -0.164 -1131 814 1 + -0.517 1.783 22.578 0.594 0.732 0.332 -1131 800 1 + -0.872 2.080 22.846 0.831 0.534 0.154 1131 800 1 + -1.069 2.479 23.142 0.962 0.268 -0.044 1131 814 1 + -1.083 2.930 23.430 0.971 -0.032 -0.236 1131 814 1 + -0.911 3.374 23.674 0.857 -0.328 -0.398 -1131 814 1 + -0.698 2.015 22.176 0.491 0.865 0.103 -1131 800 1 + -1.015 2.264 22.527 0.703 0.699 -0.131 1131 800 1 + -1.199 2.646 22.853 0.826 0.444 -0.348 1131 814 1 + -1.226 3.113 23.112 0.843 0.133 -0.521 1131 814 1 + -1.091 3.606 23.272 0.754 -0.196 -0.628 -1131 814 1 + -1.033 2.163 21.840 0.299 0.950 -0.090 -1131 800 1 + -1.282 2.382 22.260 0.465 0.804 -0.370 1131 800 1 + -1.441 2.753 22.610 0.571 0.557 -0.603 1131 814 1 + -1.492 3.231 22.845 0.605 0.238 -0.760 1131 814 1 + -1.427 3.754 22.935 0.562 -0.111 -0.820 -1131 814 1 + -1.476 2.207 21.617 0.046 0.975 -0.217 -1131 800 1 + -1.633 2.416 22.084 0.150 0.836 -0.528 1131 800 1 + -1.760 2.785 22.450 0.235 0.590 -0.772 1131 814 1 + -1.843 3.266 22.668 0.290 0.269 -0.918 1131 814 1 + -1.870 3.798 22.712 0.308 -0.086 -0.947 -1131 814 1 + -2.019 2.363 22.022 -0.196 0.788 -0.584 -1131 800 1 + -2.111 2.737 22.394 -0.134 0.539 -0.831 -1131 814 1 + -2.229 3.213 22.607 -0.056 0.222 -0.974 -1131 814 1 + -0.839 3.206 24.577 0.898 -0.424 0.118 -1133 814 1 + -0.842 2.986 25.257 0.900 -0.278 -0.335 -1133 811 1 + -0.720 3.666 24.726 0.966 -0.161 0.203 -1133 814 1 + -0.724 3.447 25.406 0.968 -0.015 -0.250 -1133 811 1 + -0.819 4.380 25.343 0.999 -0.051 -0.018 -1135 814 1 + -0.706 4.611 25.803 0.923 -0.205 -0.325 -1135 819 1 + -0.859 4.716 25.187 0.968 0.211 -0.140 -1135 814 1 + -0.744 4.940 25.651 0.891 0.062 -0.449 -1135 819 1 + -0.903 4.953 24.893 0.997 0.053 0.057 -1136 814 1 + -0.861 5.382 25.097 0.969 -0.233 -0.080 -1136 814 1 + -0.672 5.775 25.289 0.844 -0.495 -0.208 -1136 822 1 + -0.356 6.094 25.450 0.633 -0.708 -0.315 -1136 822 1 + -1.039 4.984 24.039 0.784 0.592 -0.189 -1136 814 1 + -1.086 5.290 24.402 0.815 0.388 -0.431 1136 814 1 + -1.010 5.656 24.699 0.764 0.144 -0.629 1136 814 1 + -0.818 6.043 24.900 0.636 -0.114 -0.763 1136 822 1 + -0.529 6.413 24.986 0.444 -0.361 -0.820 1136 822 1 + -0.173 6.728 24.948 0.206 -0.571 -0.795 -1136 822 1 + -1.577 5.634 24.229 0.328 0.728 -0.602 -1136 814 1 + -1.408 5.934 24.559 0.215 0.528 -0.822 -1136 814 1 + -1.207 6.315 24.764 0.081 0.274 -0.958 -1136 822 1 + -0.993 6.737 24.823 -0.062 -0.007 -0.998 -1136 822 1 + -0.196 6.007 25.801 0.526 -0.650 -0.549 -1138 822 1 + -0.376 5.618 25.962 0.646 -0.391 -0.656 -1138 819 1 + 0.341 6.336 25.952 0.544 -0.828 -0.134 -1138 822 1 + 0.060 6.035 26.152 0.731 -0.627 -0.268 1138 822 1 + -0.118 5.647 26.314 0.850 -0.368 -0.376 1138 819 1 + -0.178 5.206 26.424 0.890 -0.075 -0.449 -1138 819 1 + 0.194 6.142 26.552 0.839 -0.542 0.053 -1138 822 1 + 0.016 5.754 26.716 0.958 -0.283 -0.056 -1138 819 1 + 0.391 6.355 26.901 0.707 -0.684 -0.180 -1140 822 1 + 0.423 6.130 27.374 0.686 -0.533 -0.495 -1140 823 1 + 0.821 6.965 26.605 0.861 -0.415 0.296 -1140 822 1 + 0.687 6.809 27.088 0.950 -0.311 -0.026 1140 822 1 + 0.727 6.596 27.566 0.923 -0.169 -0.345 1140 823 1 + 0.937 6.352 27.980 0.784 -0.006 -0.621 -1140 823 1 + 0.723 7.336 27.310 0.980 0.122 0.156 -1140 822 1 + 0.765 7.137 27.794 0.953 0.254 -0.166 -1140 823 1 + 0.717 7.574 27.289 0.985 -0.037 0.171 -1142 822 1 + 0.709 7.585 27.746 0.990 -0.044 -0.134 -1142 824 1 + 0.839 7.591 28.185 0.903 -0.048 -0.427 -1142 824 1 + 0.597 8.123 27.287 0.880 0.444 0.169 -1142 822 1 + 0.594 8.112 27.745 0.882 0.451 -0.136 -1142 824 1 + 0.714 8.164 28.183 0.802 0.417 -0.429 -1142 824 1 + 0.593 8.687 26.843 0.883 0.068 0.465 -1144 822 1 + 0.614 9.189 26.913 0.868 -0.267 0.418 -1144 828 1 + 0.870 8.254 26.339 0.893 0.434 0.120 -1144 822 1 + 0.725 8.739 26.380 0.990 0.111 0.092 1144 822 1 + 0.751 9.243 26.438 0.973 -0.225 0.054 1144 828 1 + 0.943 9.708 26.505 0.845 -0.535 0.009 -1144 828 1 + 0.807 8.311 25.807 0.852 0.471 -0.229 -1144 822 1 + 0.669 8.790 25.902 0.944 0.152 -0.293 1144 822 1 + 0.693 9.296 25.947 0.928 -0.185 -0.323 1144 828 1 + 0.876 9.769 25.937 0.806 -0.501 -0.316 -1144 828 1 + 0.544 8.358 25.340 0.678 0.502 -0.537 -1144 822 1 + 0.432 8.833 25.482 0.753 0.186 -0.631 1144 822 1 + 0.449 9.339 25.516 0.742 -0.152 -0.654 1144 828 1 + 0.594 9.819 25.437 0.645 -0.472 -0.601 -1144 828 1 + 0.120 8.388 25.010 0.400 0.521 -0.754 -1144 822 1 + 0.051 8.859 25.185 0.446 0.207 -0.871 1144 822 1 + 0.058 9.366 25.211 0.441 -0.131 -0.888 1144 828 1 + 0.141 9.851 25.084 0.386 -0.454 -0.803 -1144 828 1 + -0.416 8.866 25.056 0.070 0.213 -0.975 -1144 822 1 + -0.421 9.373 25.078 0.074 -0.126 -0.989 -1144 828 1 + -0.652 8.749 24.989 0.228 0.290 -0.930 -1145 822 1 + -0.875 9.143 24.983 0.376 0.027 -0.926 -1145 827 1 + -0.978 8.052 24.792 -0.323 0.301 -0.897 -1145 822 1 + -1.190 8.432 24.919 -0.181 0.048 -0.982 1145 822 1 + -1.426 8.817 24.912 -0.024 -0.209 -0.978 1145 827 1 + -1.666 9.174 24.772 0.136 -0.447 -0.884 -1145 827 1 + -1.684 8.119 25.148 -0.558 -0.190 -0.808 -1145 822 1 + -1.934 8.497 25.147 -0.392 -0.442 -0.807 -1145 827 1 + -1.239 9.961 24.701 0.381 0.002 -0.925 -1147 827 1 + -0.606 10.278 24.779 -0.041 -0.209 -0.977 -1147 828 1 + -1.455 10.395 24.686 0.257 0.251 -0.933 -1147 827 1 + -0.823 10.713 24.764 -0.164 0.039 -0.986 -1147 828 1 + -1.678 10.809 24.808 0.130 0.487 -0.864 -1147 827 1 + -1.046 11.127 24.886 -0.292 0.275 -0.916 -1147 828 1 + -2.188 10.870 24.853 -0.162 0.522 -0.838 -1149 827 1 + -2.729 11.295 25.022 0.199 0.238 -0.951 -1149 830 1 + -2.489 10.520 24.769 -0.334 0.322 -0.886 -1149 827 1 + -3.031 10.946 24.938 0.027 0.038 -0.999 -1149 830 1 + -2.770 10.147 24.810 -0.494 0.108 -0.863 -1149 827 1 + -3.311 10.572 24.979 -0.133 -0.175 -0.975 -1149 830 1 + -3.009 9.778 24.973 -0.631 -0.102 -0.769 -1149 827 1 + -3.550 10.203 25.142 -0.270 -0.386 -0.882 -1149 830 1 + -3.188 9.441 25.246 -0.733 -0.295 -0.613 -1149 827 1 + -3.729 9.867 25.416 -0.372 -0.578 -0.726 -1149 830 1 + -3.557 8.970 26.074 -0.617 -0.325 -0.716 -1151 832 1 + -3.343 8.676 26.084 -0.476 -0.519 -0.710 -1151 832 1 + -3.852 9.195 26.159 -0.421 -0.475 -0.773 -1155 830 1 + -4.322 8.876 26.559 -0.563 -0.053 -0.825 -1155 832 1 + -4.198 9.354 26.322 -0.646 -0.372 -0.667 1155 830 1 + -4.202 9.757 25.951 -0.643 -0.641 -0.420 -1155 830 1 + -4.613 9.089 26.810 -0.729 0.069 -0.681 -1155 832 1 + -4.471 9.554 26.558 -0.824 -0.241 -0.513 1155 830 1 + -4.494 9.970 26.203 -0.809 -0.519 -0.276 -1155 830 1 + -4.653 9.781 26.852 -0.942 -0.093 -0.321 -1155 830 1 + -5.009 9.287 27.594 -0.955 0.182 -0.233 -1157 832 1 + -5.055 9.976 27.638 -0.924 -0.277 -0.262 -1157 831 1 + -5.061 9.251 28.105 -0.985 0.161 0.059 -1157 832 1 + -5.108 9.940 28.149 -0.954 -0.298 0.029 -1157 831 1 + -4.958 9.226 28.608 -0.927 0.147 0.346 -1157 832 1 + -5.005 9.914 28.652 -0.895 -0.312 0.317 -1157 831 1 + -4.710 9.214 29.059 -0.785 0.140 0.604 -1157 832 1 + -4.757 9.903 29.103 -0.754 -0.319 0.575 -1157 831 1 + -4.339 9.216 29.415 -0.573 0.141 0.807 -1157 832 1 + -4.386 9.905 29.459 -0.542 -0.318 0.778 -1157 831 1 + -3.879 9.233 29.645 -0.310 0.151 0.939 -1157 832 1 + -3.926 9.921 29.689 -0.279 -0.308 0.910 -1157 831 1 + -3.372 9.262 29.727 -0.020 0.167 0.986 -1157 832 1 + -3.419 9.951 29.771 0.011 -0.292 0.956 -1157 831 1 + -2.463 9.056 29.667 0.002 0.353 0.936 -1159 832 1 + -2.060 8.863 29.817 -0.266 0.482 0.835 -1159 824 1 + -1.697 8.741 30.092 -0.508 0.563 0.652 -1159 824 1 + -3.144 8.715 29.723 0.111 -0.145 0.983 -1159 832 1 + -2.699 8.559 29.725 -0.186 -0.041 0.982 1159 832 1 + -2.283 8.397 29.872 -0.464 0.067 0.884 1159 824 1 + -1.934 8.244 30.150 -0.696 0.169 0.698 1159 824 1 + -1.689 8.117 30.531 -0.859 0.254 0.444 -1159 824 1 + -2.818 8.044 29.557 -0.279 -0.449 0.849 -1159 832 1 + -2.393 7.914 29.715 -0.562 -0.362 0.744 -1159 824 1 + -2.053 7.730 29.982 -0.789 -0.239 0.565 -1159 824 1 + -2.903 7.780 29.426 -0.222 -0.272 0.936 -1161 832 1 + -2.563 7.404 29.491 -0.449 -0.022 0.893 -1161 832 1 + -2.300 7.024 29.711 -0.624 0.232 0.746 -1161 825 1 + -2.147 6.684 30.062 -0.727 0.458 0.512 -1161 825 1 + -3.070 7.579 29.277 -0.398 -0.486 0.778 -1161 832 1 + -2.694 7.245 29.373 -0.649 -0.263 0.714 -1161 832 1 + -2.432 6.865 29.593 -0.824 -0.010 0.567 -1161 825 1 + -2.313 6.483 29.913 -0.903 0.245 0.354 -1161 825 1 + -3.182 7.501 29.183 -0.323 -0.434 0.841 -1163 832 1 + -2.900 7.106 29.180 -0.511 -0.171 0.842 -1163 820 1 + -3.475 7.293 28.866 -0.531 -0.581 0.616 -1163 832 1 + -3.194 6.898 28.864 -0.719 -0.318 0.618 -1163 820 1 + -3.802 7.290 28.662 -0.314 -0.579 0.753 -1164 832 1 + -3.803 6.911 28.452 -0.313 -0.326 0.892 -1164 832 1 + -3.843 6.490 28.355 -0.286 -0.046 0.957 -1164 813 1 + -3.919 6.064 28.377 -0.236 0.238 0.942 -1164 813 1 + -4.332 7.703 28.687 -0.569 -0.723 0.392 -1164 832 1 + -4.195 7.375 28.439 -0.660 -0.505 0.557 1164 832 1 + -4.141 6.983 28.261 -0.696 -0.244 0.675 1164 832 1 + -4.174 6.561 28.168 -0.674 0.037 0.738 1164 813 1 + -4.291 6.144 28.167 -0.596 0.316 0.739 1164 813 1 + -4.483 5.766 28.258 -0.468 0.567 0.678 -1164 813 1 + -4.643 7.825 28.220 -0.746 -0.654 0.125 -1164 832 1 + -4.444 7.472 28.066 -0.879 -0.419 0.228 1164 832 1 + -4.355 7.067 27.940 -0.939 -0.149 0.312 1164 832 1 + -4.384 6.644 27.853 -0.920 0.134 0.370 1164 813 1 + -4.527 6.237 27.813 -0.824 0.405 0.397 1164 813 1 + -4.774 5.881 27.822 -0.659 0.643 0.391 -1164 813 1 + -4.710 7.939 27.661 -0.785 -0.589 -0.195 -1164 832 1 + -4.497 7.563 27.619 -0.926 -0.339 -0.166 1164 832 1 + -4.401 7.146 27.555 -0.990 -0.060 -0.124 1164 832 1 + -4.428 6.720 27.477 -0.972 0.223 -0.071 1164 813 1 + -4.578 6.323 27.389 -0.873 0.488 -0.013 1164 813 1 + -4.836 5.987 27.299 -0.700 0.712 0.047 -1164 813 1 + -4.518 8.020 27.126 -0.675 -0.542 -0.500 -1164 832 1 + -4.344 7.628 27.191 -0.791 -0.281 -0.543 1164 832 1 + -4.269 7.202 27.187 -0.841 0.003 -0.541 1164 832 1 + -4.299 6.775 27.116 -0.821 0.288 -0.493 1164 813 1 + -4.432 6.385 26.983 -0.732 0.548 -0.405 1164 813 1 + -4.657 6.063 26.799 -0.582 0.762 -0.282 -1164 813 1 + -4.016 7.654 26.871 -0.502 -0.258 -0.826 -1164 832 1 + -3.987 7.224 26.912 -0.521 0.029 -0.853 -1164 832 1 + -4.023 6.797 26.846 -0.497 0.313 -0.809 -1164 813 1 + -4.121 6.409 26.679 -0.432 0.572 -0.698 -1164 813 1 + -3.617 5.887 28.551 -0.437 0.356 0.826 -1166 813 1 + -3.273 6.158 28.703 -0.666 0.176 0.725 -1166 820 1 + -3.496 5.658 28.676 -0.343 0.180 0.922 -1166 813 1 + -3.148 5.923 28.831 -0.574 0.004 0.819 -1166 820 1 + -3.477 5.378 28.769 -0.355 0.367 0.860 -1168 813 1 + -3.107 5.382 28.993 -0.602 0.364 0.711 -1168 813 1 + -2.812 5.432 29.305 -0.799 0.331 0.502 -1168 825 1 + -2.616 5.523 29.681 -0.929 0.270 0.252 -1168 825 1 + -3.907 4.906 28.742 -0.089 0.001 0.996 -1168 813 1 + -3.489 4.961 28.842 -0.367 -0.035 0.930 1168 813 1 + -3.118 5.011 29.057 -0.615 -0.069 0.786 1168 813 1 + -2.823 5.053 29.371 -0.811 -0.097 0.577 1168 825 1 + -2.629 5.083 29.757 -0.940 -0.117 0.319 1168 825 1 + -2.553 5.098 30.183 -0.991 -0.127 0.036 -1168 825 1 + -3.762 4.410 28.666 0.007 -0.325 0.946 -1168 813 1 + -3.372 4.558 28.780 -0.254 -0.423 0.870 1168 813 1 + -3.013 4.653 29.002 -0.493 -0.487 0.721 1168 813 1 + -2.716 4.688 29.315 -0.691 -0.510 0.513 1168 825 1 + -2.505 4.658 29.691 -0.831 -0.490 0.262 1168 825 1 + -2.398 4.568 30.101 -0.903 -0.430 -0.011 -1168 825 1 + -3.148 4.249 28.595 -0.038 -0.721 0.692 -1168 813 1 + -2.814 4.379 28.838 -0.260 -0.807 0.530 -1168 813 1 + -2.513 4.407 29.147 -0.461 -0.826 0.324 -1168 825 1 + -2.269 4.333 29.497 -0.624 -0.776 0.091 -1168 825 1 + -3.501 3.502 28.078 0.106 -0.406 0.908 -1172 813 1 + -3.430 3.052 27.951 0.058 -0.106 0.993 -1172 803 1 + -3.351 2.586 27.971 0.006 0.205 0.979 -1172 803 1 + -3.924 3.445 28.009 -0.275 -0.457 0.846 -1172 813 1 + -3.833 2.998 27.885 -0.335 -0.159 0.929 -1172 803 1 + -3.793 2.527 27.900 -0.363 0.155 0.919 -1172 803 1 + -4.057 3.424 27.962 -0.186 -0.443 0.877 -1174 813 1 + -4.089 2.950 27.811 -0.165 -0.127 0.978 -1174 813 1 + -4.148 2.454 27.821 -0.126 0.203 0.971 -1174 805 1 + -4.228 1.993 27.993 -0.072 0.511 0.857 -1174 805 1 + -4.320 1.616 28.307 -0.011 0.762 0.647 -1174 805 1 + -4.397 3.435 27.742 -0.745 -0.424 0.514 -1174 813 1 + -4.268 2.956 27.694 -0.831 -0.104 0.546 -1174 813 1 + -4.277 2.459 27.737 -0.825 0.227 0.517 -1174 805 1 + -4.423 1.999 27.866 -0.728 0.533 0.431 -1174 805 1 + -4.690 1.629 28.067 -0.550 0.780 0.298 -1174 805 1 + -4.502 3.449 27.618 -0.675 -0.433 0.597 -1175 813 1 + -4.465 2.982 27.458 -0.700 -0.122 0.704 -1175 813 1 + -4.542 2.495 27.413 -0.649 0.203 0.733 -1175 802 1 + -4.725 2.042 27.488 -0.527 0.505 0.684 -1175 802 1 + -4.697 3.511 27.311 -0.901 -0.361 0.242 -1175 813 1 + -4.623 3.032 27.209 -0.950 -0.042 0.310 -1175 813 1 + -4.704 2.547 27.157 -0.896 0.281 0.344 -1175 802 1 + -4.932 2.108 27.162 -0.744 0.574 0.341 -1175 802 1 + -5.400 1.342 27.914 -0.307 0.888 0.343 -1179 802 1 + -5.660 1.198 28.245 -0.134 0.983 0.122 -1179 807 1 + -5.938 1.184 28.592 0.052 0.993 -0.109 -1179 807 1 + -5.529 1.516 27.331 -0.654 0.664 0.363 -1179 802 1 + -5.702 1.267 27.656 -0.538 0.830 0.147 1179 802 1 + -5.947 1.127 28.000 -0.375 0.923 -0.083 1179 807 1 + -6.241 1.109 28.334 -0.179 0.935 -0.305 1179 807 1 + -6.559 1.215 28.627 0.033 0.865 -0.501 -1179 807 1 + -5.956 1.071 27.408 -0.731 0.681 -0.042 -1179 802 1 + -6.188 0.941 27.766 -0.577 0.767 -0.280 -1179 807 1 + -6.495 0.913 28.086 -0.372 0.786 -0.494 -1179 807 1 + -6.010 1.015 27.359 -0.695 0.719 -0.009 -1180 802 1 + -6.295 0.840 27.671 -0.505 0.835 -0.217 -1180 802 1 + -6.651 0.781 27.953 -0.268 0.874 -0.405 -1180 809 1 + -7.044 0.845 28.179 -0.006 0.832 -0.555 -1180 809 1 + -6.202 0.653 27.050 -0.876 0.379 -0.298 -1180 802 1 + -6.455 0.538 27.413 -0.707 0.456 -0.541 -1180 802 1 + -6.808 0.486 27.701 -0.472 0.491 -0.732 -1180 809 1 + -7.226 0.503 27.886 -0.193 0.480 -0.856 -1180 809 1 + -7.445 1.278 28.704 0.253 0.879 -0.405 -1182 809 1 + -6.858 1.260 28.745 -0.138 0.891 -0.433 -1182 807 1 + -7.483 1.412 29.137 0.227 0.966 -0.120 -1182 809 1 + -6.900 1.403 29.209 -0.162 0.972 -0.168 -1182 807 1 + -7.551 1.413 29.587 0.183 0.967 0.176 -1182 809 1 + -6.972 1.404 29.690 -0.203 0.973 0.107 -1182 807 1 + -7.175 1.186 30.299 -0.188 0.946 0.265 -1184 808 1 + -7.918 1.000 30.409 -0.058 0.695 0.716 -1184 809 1 + -7.431 0.924 30.666 -0.383 0.746 0.545 1184 808 1 + -7.023 1.002 31.035 -0.655 0.694 0.299 -1184 808 1 + -8.109 0.553 30.684 -0.184 0.401 0.897 -1184 809 1 + -7.608 0.510 30.921 -0.518 0.430 0.739 1184 808 1 + -7.214 0.555 31.310 -0.781 0.400 0.480 -1184 808 1 + -8.186 0.011 30.796 -0.235 0.045 0.971 -1184 809 1 + -7.680 0.007 31.025 -0.573 0.047 0.818 1184 808 1 + -7.291 0.013 31.422 -0.832 0.043 0.553 -1184 808 1 + -7.634 -0.505 30.961 -0.538 -0.343 0.770 -1184 808 1 + -8.207 -1.044 30.635 -0.156 0.016 0.988 -1185 809 1 + -8.304 -1.544 30.717 -0.092 0.349 0.933 -1185 214 1 + -8.417 -1.981 30.965 -0.016 0.641 0.767 -1185 214 1 + -8.670 -0.499 30.507 -0.553 -0.291 0.781 -1185 809 1 + -8.625 -1.010 30.462 -0.583 0.050 0.811 1185 809 1 + -8.683 -1.513 30.560 -0.544 0.386 0.745 1185 214 1 + -8.838 -1.948 30.791 -0.441 0.675 0.592 1185 214 1 + -9.071 -2.262 31.126 -0.285 0.885 0.368 -1185 214 1 + -9.047 -0.564 30.074 -0.802 -0.333 0.496 -1185 809 1 + -8.921 -1.061 30.122 -0.886 -0.002 0.465 1185 809 1 + -8.953 -1.559 30.252 -0.865 0.330 0.378 1185 214 1 + -9.137 -1.999 30.449 -0.742 0.623 0.247 1185 214 1 + -9.453 -2.328 30.690 -0.531 0.843 0.086 -1185 214 1 + -9.025 -1.185 29.698 -0.991 -0.127 0.032 -1185 809 1 + -9.047 -1.671 29.867 -0.977 0.197 -0.081 -1185 214 1 + -9.241 -2.123 30.022 -0.847 0.498 -0.184 -1185 214 1 + -8.145 -2.109 31.128 -0.198 0.726 0.658 -1187 214 1 + -7.787 -1.798 31.013 -0.436 0.518 0.736 -1187 214 1 + -7.499 -1.404 31.014 -0.628 0.256 0.735 -1187 808 1 + -7.311 -0.969 31.132 -0.754 -0.034 0.656 -1187 808 1 + -8.125 -2.604 31.599 0.325 0.664 0.673 -1187 214 1 + -7.852 -2.323 31.308 0.143 0.477 0.867 1187 214 1 + -7.556 -1.967 31.154 -0.054 0.240 0.969 1187 214 1 + -7.269 -1.572 31.155 -0.246 -0.024 0.969 1187 808 1 + -7.020 -1.181 31.309 -0.411 -0.284 0.866 1187 808 1 + -6.838 -0.835 31.601 -0.533 -0.515 0.671 -1187 808 1 + -7.670 -2.934 31.553 0.619 0.451 0.643 -1187 214 1 + -7.526 -2.560 31.275 0.522 0.202 0.828 1187 214 1 + -7.298 -2.154 31.128 0.371 -0.069 0.926 1187 214 1 + -7.012 -1.758 31.129 0.180 -0.333 0.926 1187 808 1 + -6.697 -1.416 31.276 -0.030 -0.561 0.827 1187 808 1 + -6.387 -1.163 31.556 -0.237 -0.730 0.641 -1187 808 1 + -7.259 -2.752 31.038 0.832 -0.022 0.554 -1187 214 1 + -7.088 -2.306 30.941 0.718 -0.319 0.618 -1187 214 1 + -6.802 -1.910 30.943 0.528 -0.583 0.617 -1187 808 1 + -6.433 -1.606 31.042 0.282 -0.786 0.551 -1187 808 1 + -7.088 -3.605 31.224 0.718 0.547 0.430 -1189 214 1 + -6.778 -3.932 31.283 0.512 0.765 0.390 -1189 214 1 + -6.398 -4.154 31.396 0.259 0.913 0.315 -1189 198 1 + -5.983 -4.251 31.553 -0.018 0.977 0.211 -1189 198 1 + -5.570 -4.213 31.739 -0.294 0.952 0.087 -1189 198 1 + -7.208 -3.711 31.449 0.569 0.416 0.710 -1189 214 1 + -6.865 -4.008 31.445 0.340 0.614 0.712 -1189 214 1 + -6.475 -4.221 31.539 0.080 0.756 0.650 -1189 198 1 + -6.073 -4.330 31.722 -0.188 0.829 0.527 -1189 198 1 + -5.698 -4.325 31.978 -0.438 0.825 0.357 -1189 198 1 + -7.426 -3.813 31.755 0.714 0.484 0.506 -1191 214 1 + -7.259 -4.188 32.044 0.603 0.734 0.313 -1191 214 1 + -6.990 -4.440 32.386 0.424 0.902 0.085 -1191 200 1 + -6.650 -4.540 32.742 0.197 0.968 -0.153 -1191 200 1 + -6.277 -4.477 33.073 -0.052 0.926 -0.373 -1191 200 1 + -7.724 -3.861 31.986 0.224 0.405 0.886 -1191 214 1 + -7.412 -4.213 32.163 0.016 0.640 0.769 -1191 214 1 + -7.098 -4.457 32.470 -0.194 0.803 0.564 -1191 200 1 + -6.815 -4.567 32.871 -0.382 0.875 0.297 -1191 200 1 + -6.598 -4.528 33.322 -0.527 0.850 -0.004 -1191 200 1 + -8.416 -3.186 32.024 0.138 0.289 0.947 -1192 214 1 + -8.671 -3.657 32.342 0.308 0.603 0.736 -1192 213 1 + -8.859 -2.985 31.945 -0.148 0.419 0.896 -1192 214 1 + -9.140 -3.444 32.257 0.039 0.725 0.687 -1192 213 1 + -9.283 -2.857 31.727 -0.422 0.501 0.756 -1192 214 1 + -9.589 -3.309 32.027 -0.217 0.802 0.556 -1192 213 1 + -9.645 -2.816 31.394 -0.655 0.528 0.541 -1192 214 1 + -9.973 -3.266 31.674 -0.436 0.827 0.354 -1192 213 1 + -9.907 -2.866 30.980 -0.825 0.495 0.273 -1192 214 1 + -10.251 -3.319 31.235 -0.595 0.797 0.103 -1192 213 1 + -7.970 -4.276 32.385 0.388 0.681 0.621 -1194 213 1 + -7.659 -4.533 32.582 0.181 0.853 0.490 -1194 213 1 + -7.325 -4.676 32.844 -0.042 0.948 0.315 -1194 200 1 + -6.995 -4.691 33.148 -0.262 0.959 0.112 -1194 200 1 + -6.701 -4.579 33.467 -0.458 0.883 -0.101 -1194 200 1 + -8.583 -4.209 32.609 0.358 0.288 0.888 -1194 213 1 + -8.225 -4.479 32.627 0.119 0.467 0.876 1194 213 1 + -7.850 -4.685 32.763 -0.131 0.605 0.785 1194 213 1 + -7.494 -4.810 33.004 -0.368 0.689 0.625 1194 200 1 + -7.186 -4.844 33.329 -0.573 0.711 0.408 1194 200 1 + -6.956 -4.781 33.709 -0.727 0.669 0.155 1194 200 1 + -6.823 -4.629 34.109 -0.815 0.568 -0.112 -1194 200 1 + -8.829 -4.693 32.762 0.217 0.011 0.976 -1194 213 1 + -8.402 -4.826 32.737 -0.068 0.100 0.993 1194 213 1 + -7.983 -4.946 32.846 -0.347 0.180 0.920 1194 213 1 + -7.611 -5.041 33.078 -0.595 0.244 0.766 1194 200 1 + -7.319 -5.104 33.412 -0.790 0.286 0.543 1194 200 1 + -7.133 -5.129 33.819 -0.914 0.302 0.271 1194 200 1 + -7.069 -5.113 34.263 -0.956 0.291 -0.024 -1194 200 1 + -8.902 -5.248 32.692 0.176 -0.306 0.936 -1194 213 1 + -8.454 -5.225 32.687 -0.123 -0.321 0.939 1194 213 1 + -8.022 -5.245 32.808 -0.411 -0.308 0.858 1194 213 1 + -7.646 -5.307 33.044 -0.661 -0.267 0.701 1194 200 1 + -7.358 -5.404 33.374 -0.853 -0.202 0.481 1194 200 1 + -7.185 -5.528 33.769 -0.969 -0.119 0.218 1194 200 1 + -7.142 -5.668 34.192 -0.998 -0.026 -0.065 -1194 200 1 + -8.780 -5.725 32.416 0.245 -0.578 0.778 -1194 213 1 + -8.366 -5.568 32.488 -0.031 -0.683 0.730 1194 213 1 + -7.957 -5.502 32.659 -0.304 -0.727 0.616 1194 213 1 + -7.588 -5.534 32.912 -0.550 -0.706 0.447 1194 200 1 + -7.293 -5.661 33.225 -0.746 -0.621 0.238 1194 200 1 + -7.098 -5.871 33.570 -0.876 -0.481 0.008 1194 200 1 + -7.020 -6.145 33.917 -0.928 -0.298 -0.223 -1194 200 1 + -8.163 -5.762 32.196 0.184 -0.888 0.421 -1194 213 1 + -7.804 -5.648 32.440 -0.056 -0.964 0.258 -1194 213 1 + -7.453 -5.663 32.718 -0.290 -0.954 0.073 -1194 200 1 + -7.140 -5.807 33.006 -0.498 -0.859 -0.119 -1194 200 1 + -6.895 -6.065 33.278 -0.662 -0.687 -0.301 -1194 200 1 + -8.059 -5.840 32.024 0.114 -0.837 0.536 -1196 213 1 + -7.603 -5.805 32.116 -0.190 -0.860 0.474 -1196 213 1 + -7.175 -5.895 32.277 -0.475 -0.800 0.367 -1196 199 1 + -6.816 -6.101 32.491 -0.715 -0.663 0.224 -1196 199 1 + -6.560 -6.402 32.738 -0.885 -0.462 0.059 -1196 199 1 + -8.054 -5.851 32.005 0.119 -0.849 0.514 -1196 213 1 + -7.600 -5.813 32.103 -0.183 -0.875 0.449 -1196 213 1 + -7.172 -5.902 32.266 -0.468 -0.816 0.340 -1196 199 1 + -6.813 -6.109 32.478 -0.708 -0.678 0.198 -1196 199 1 + -6.555 -6.414 32.719 -0.880 -0.474 0.038 -1196 199 1 + -8.994 -6.168 32.003 0.123 -0.831 0.542 -1197 213 1 + -8.866 -6.590 31.564 0.038 -0.549 0.835 -1197 211 1 + -9.505 -6.222 31.889 -0.169 -0.862 0.477 -1197 213 1 + -9.349 -6.642 31.456 -0.274 -0.583 0.765 -1197 211 1 + -9.973 -6.170 31.651 -0.437 -0.833 0.341 -1197 213 1 + -9.790 -6.593 31.232 -0.558 -0.551 0.620 -1197 211 1 + -10.348 -6.016 31.314 -0.651 -0.745 0.148 -1197 213 1 + -10.144 -6.447 30.914 -0.787 -0.457 0.415 -1197 211 1 + -7.941 -6.290 31.532 0.044 -0.557 0.829 -1199 211 1 + -7.484 -6.220 31.645 -0.260 -0.603 0.754 -1199 211 1 + -7.066 -6.241 31.872 -0.539 -0.589 0.602 -1199 199 1 + -6.730 -6.352 32.190 -0.763 -0.515 0.390 -1199 199 1 + -6.509 -6.540 32.567 -0.910 -0.390 0.139 -1199 199 1 + -7.825 -6.476 31.324 0.204 -0.816 0.541 -1199 211 1 + -7.410 -6.340 31.511 -0.073 -0.906 0.417 -1199 211 1 + -7.005 -6.341 31.761 -0.343 -0.906 0.250 -1199 199 1 + -6.652 -6.479 32.049 -0.578 -0.814 0.058 -1199 199 1 + -6.386 -6.739 32.345 -0.755 -0.640 -0.140 -1199 199 1 + -7.849 -6.812 30.972 0.220 -0.592 0.776 -1201 211 1 + -7.459 -6.967 30.828 -0.040 -0.489 0.872 -1201 211 1 + -7.074 -7.186 30.799 -0.297 -0.343 0.891 -1201 197 1 + -6.728 -7.449 30.886 -0.527 -0.167 0.833 -1201 197 1 + -6.451 -7.735 31.083 -0.712 0.023 0.702 -1201 197 1 + -7.984 -7.047 30.724 0.054 -0.882 0.469 -1201 211 1 + -7.555 -7.134 30.652 -0.232 -0.824 0.517 -1201 211 1 + -7.156 -7.329 30.647 -0.498 -0.694 0.521 -1201 197 1 + -6.823 -7.615 30.711 -0.720 -0.503 0.478 -1201 197 1 + -6.585 -7.967 30.837 -0.879 -0.268 0.394 -1201 197 1 + -8.043 -7.203 30.494 0.093 -0.777 0.622 -1202 211 1 + -7.663 -7.477 30.247 -0.160 -0.595 0.787 -1202 206 1 + -8.721 -7.246 30.571 0.132 -0.972 0.194 -1202 211 1 + -8.322 -7.354 30.239 -0.134 -0.900 0.415 1202 211 1 + -7.949 -7.631 29.986 -0.384 -0.715 0.584 1202 206 1 + -7.646 -8.041 29.841 -0.585 -0.442 0.680 -1202 206 1 + -9.002 -7.286 30.209 -0.050 -0.998 -0.039 -1202 211 1 + -8.571 -7.390 29.919 -0.337 -0.929 0.154 1202 211 1 + -8.203 -7.667 29.658 -0.582 -0.744 0.328 1202 206 1 + -7.944 -8.084 29.458 -0.755 -0.466 0.461 -1202 206 1 + -8.761 -7.306 29.569 -0.492 -0.861 -0.131 -1202 211 1 + -8.398 -7.582 29.300 -0.734 -0.677 0.049 -1202 206 1 + -6.932 -7.997 30.347 -0.648 -0.248 0.720 -1203 206 1 + -6.639 -8.166 30.646 -0.843 -0.135 0.521 -1203 197 1 + -6.845 -8.610 29.936 -0.584 -0.693 0.423 -1203 206 1 + -6.554 -8.764 30.245 -0.778 -0.590 0.217 -1203 197 1 + -6.067 -7.696 31.758 -0.968 -0.003 0.252 -1205 197 1 + -6.055 -7.375 32.193 -0.976 -0.216 -0.038 -1205 199 1 + -6.096 -8.408 31.648 -0.721 -0.046 0.691 -1205 197 1 + -5.916 -8.040 32.001 -0.841 -0.291 0.456 1205 197 1 + -5.900 -7.729 32.443 -0.852 -0.498 0.161 1205 199 1 + -6.050 -7.515 32.916 -0.752 -0.641 -0.155 -1205 199 1 + -5.760 -8.729 31.854 -0.500 -0.257 0.827 -1205 197 1 + -5.620 -8.323 32.183 -0.593 -0.528 0.608 1205 197 1 + -5.596 -8.019 32.630 -0.609 -0.730 0.310 1205 199 1 + -5.691 -7.858 33.137 -0.546 -0.837 -0.028 -1205 199 1 + -5.307 -8.934 31.962 -0.202 -0.391 0.898 -1205 197 1 + -5.221 -8.503 32.277 -0.259 -0.679 0.687 1205 197 1 + -5.186 -8.204 32.727 -0.282 -0.878 0.388 1205 199 1 + -5.206 -8.077 33.252 -0.269 -0.962 0.037 -1205 199 1 + -4.802 -8.993 31.955 0.130 -0.430 0.893 -1205 197 1 + -4.776 -8.555 32.271 0.114 -0.722 0.682 1205 197 1 + -4.729 -8.258 32.721 0.082 -0.920 0.382 1205 199 1 + -4.666 -8.141 33.245 0.040 -0.999 0.033 -1205 199 1 + -4.317 -8.899 31.834 0.450 -0.368 0.814 -1205 197 1 + -4.349 -8.472 32.165 0.471 -0.653 0.593 1205 197 1 + -4.290 -8.173 32.612 0.432 -0.852 0.295 1205 199 1 + -4.147 -8.040 33.116 0.336 -0.941 -0.041 -1205 199 1 + -4.001 -8.265 31.974 0.763 -0.479 0.433 -1205 197 1 + -3.932 -7.960 32.415 0.717 -0.683 0.139 -1205 199 1 + -3.637 -8.160 31.644 0.520 -0.550 0.653 -1207 195 1 + -3.403 -8.261 31.252 0.688 -0.623 0.373 -1207 195 1 + -3.369 -8.533 30.908 0.666 -0.442 0.602 -1209 197 1 + -2.955 -8.367 30.705 0.390 -0.552 0.737 -1209 188 1 + -2.478 -8.289 30.620 0.072 -0.604 0.794 -1209 188 1 + -3.370 -8.627 30.827 0.665 -0.534 0.522 -1209 197 1 + -2.955 -8.453 30.631 0.389 -0.650 0.653 -1209 188 1 + -2.479 -8.383 30.539 0.071 -0.696 0.714 -1209 188 1 + -3.517 -9.088 30.703 0.764 -0.226 0.605 -1211 197 1 + -3.240 -9.324 30.392 0.579 -0.069 0.812 -1211 369 1 + -2.875 -9.571 30.204 0.336 0.095 0.937 -1211 369 1 + -4.003 -9.347 31.145 0.656 -0.663 0.360 -1211 197 1 + -3.791 -9.475 30.735 0.515 -0.577 0.633 1211 197 1 + -3.500 -9.692 30.422 0.321 -0.433 0.842 1211 369 1 + -3.161 -9.974 30.238 0.095 -0.245 0.965 1211 369 1 + -2.807 -10.295 30.201 -0.141 -0.031 0.990 -1211 369 1 + -4.417 -9.691 30.976 0.383 -0.889 0.249 -1211 197 1 + -4.140 -9.764 30.593 0.198 -0.840 0.505 1211 197 1 + -3.832 -9.967 30.287 -0.007 -0.705 0.709 1211 369 1 + -3.525 -10.276 30.090 -0.212 -0.499 0.840 1211 369 1 + -3.251 -10.663 30.020 -0.395 -0.241 0.887 -1211 369 1 + -4.494 -9.898 30.307 -0.123 -0.962 0.245 -1211 197 1 + -4.168 -10.094 30.015 -0.341 -0.831 0.439 -1211 369 1 + -3.895 -10.416 29.791 -0.523 -0.617 0.589 -1211 369 1 + -5.038 -9.957 30.219 0.239 -0.922 0.303 -1213 197 1 + -5.202 -10.203 29.848 0.349 -0.759 0.550 -1213 197 1 + -5.313 -10.562 29.559 0.423 -0.519 0.743 -1213 221 1 + -5.362 -10.999 29.382 0.455 -0.228 0.861 -1213 221 1 + -5.341 -11.471 29.334 0.442 0.087 0.893 -1213 221 1 + -5.449 -9.906 30.273 -0.370 -0.847 0.382 -1213 197 1 + -5.448 -10.172 29.880 -0.370 -0.670 0.644 -1213 197 1 + -5.503 -10.539 29.584 -0.333 -0.425 0.841 -1213 221 1 + -5.608 -10.969 29.414 -0.263 -0.139 0.955 -1213 221 1 + -5.752 -11.420 29.388 -0.167 0.162 0.972 -1213 221 1 + -5.638 -9.851 30.248 -0.244 -0.884 0.399 -1214 197 1 + -5.811 -10.081 29.840 -0.128 -0.730 0.671 -1214 197 1 + -6.006 -10.433 29.543 0.002 -0.496 0.869 -1214 220 1 + -6.201 -10.868 29.392 0.132 -0.206 0.970 -1214 220 1 + -6.373 -11.337 29.402 0.247 0.107 0.963 -1214 220 1 + -5.999 -9.610 30.149 -0.842 -0.485 0.236 -1214 197 1 + -6.000 -9.955 29.788 -0.841 -0.255 0.477 -1214 197 1 + -6.141 -10.343 29.507 -0.747 0.004 0.664 -1214 220 1 + -6.407 -10.731 29.336 -0.570 0.262 0.778 -1214 220 1 + -6.767 -11.075 29.294 -0.330 0.491 0.806 -1214 220 1 + -4.847 -11.681 29.222 0.112 0.227 0.968 -1217 221 1 + -4.418 -11.393 29.197 -0.174 0.035 0.984 -1217 369 1 + -4.020 -11.098 29.348 -0.439 -0.162 0.884 -1217 369 1 + -4.494 -12.171 29.105 0.457 -0.253 0.853 -1217 221 1 + -4.090 -11.849 29.088 0.187 -0.467 0.864 -1217 369 1 + -3.652 -11.610 29.226 -0.105 -0.626 0.773 -1217 369 1 + -4.601 -12.945 29.174 0.528 0.264 0.807 -1218 221 1 + -4.306 -13.313 29.193 0.331 0.509 0.794 -1218 383 1 + -3.961 -13.606 29.330 0.102 0.704 0.703 -1218 383 1 + -5.277 -12.916 29.506 0.369 -0.257 0.893 -1218 221 1 + -4.990 -13.266 29.370 0.178 -0.024 0.984 1218 221 1 + -4.677 -13.619 29.380 -0.031 0.211 0.977 1218 383 1 + -4.368 -13.940 29.536 -0.237 0.426 0.873 1218 383 1 + -4.095 -14.199 29.821 -0.419 0.598 0.683 -1218 383 1 + -5.381 -13.634 29.298 -0.172 -0.355 0.919 -1218 221 1 + -5.049 -13.970 29.311 -0.394 -0.131 0.910 -1218 383 1 + -4.776 -14.325 29.460 -0.576 0.106 0.811 -1218 383 1 + -3.424 -13.499 29.289 -0.256 0.633 0.730 -1220 383 1 + -3.280 -13.121 29.102 -0.352 0.381 0.855 -1220 383 1 + -3.183 -12.692 29.029 -0.417 0.095 0.904 -1220 369 1 + -3.141 -12.250 29.075 -0.445 -0.199 0.873 -1220 369 1 + -3.158 -11.835 29.237 -0.434 -0.476 0.765 -1220 369 1 + -3.303 -13.517 29.335 -0.130 0.614 0.778 -1220 383 1 + -3.189 -13.134 29.137 -0.207 0.359 0.910 -1220 383 1 + -3.102 -12.704 29.060 -0.265 0.072 0.962 -1220 369 1 + -3.049 -12.264 29.110 -0.299 -0.221 0.928 -1220 369 1 + -3.037 -11.853 29.283 -0.308 -0.495 0.813 -1220 369 1 + -2.916 -13.591 29.543 -0.389 0.663 0.639 -1222 385 1 + -2.745 -13.832 29.809 -0.267 0.491 0.829 -1222 385 1 + -3.192 -14.521 30.209 0.096 0.414 0.905 -1224 383 1 + -2.507 -14.404 30.262 -0.360 0.336 0.870 -1224 384 1 + -3.119 -15.014 30.343 0.138 0.132 0.982 -1224 383 1 + -2.434 -14.898 30.395 -0.318 0.054 0.946 -1224 384 1 + -3.031 -15.522 30.321 0.189 -0.159 0.969 -1224 383 1 + -2.346 -15.406 30.374 -0.268 -0.236 0.934 -1224 384 1 + -2.377 -16.143 30.050 -0.130 -0.335 0.933 -1226 386 1 + -3.057 -16.390 29.913 0.174 -0.654 0.736 -1226 383 1 + -2.486 -16.494 29.841 -0.207 -0.584 0.785 1226 386 1 + -1.962 -16.732 29.947 -0.556 -0.426 0.714 -1226 386 1 + -3.138 -16.701 29.570 0.127 -0.832 0.540 -1226 383 1 + -2.559 -16.774 29.532 -0.259 -0.783 0.565 1226 386 1 + -2.039 -17.026 29.623 -0.606 -0.615 0.505 -1226 386 1 + -3.172 -16.904 29.148 0.108 -0.948 0.299 -1226 383 1 + -2.589 -16.957 29.152 -0.281 -0.913 0.295 1226 386 1 + -2.071 -17.218 29.224 -0.626 -0.739 0.247 -1226 386 1 + -3.156 -16.982 28.684 0.117 -0.993 0.034 -1226 383 1 + -2.575 -17.027 28.736 -0.270 -0.963 -0.001 1226 386 1 + -2.056 -17.291 28.787 -0.617 -0.786 -0.035 -1226 386 1 + -2.517 -16.977 28.320 -0.229 -0.927 -0.296 -1226 386 1 + -3.072 -16.886 27.767 0.140 -0.987 0.073 -1228 383 1 + -3.032 -16.984 27.322 0.114 -0.922 0.369 -1228 374 1 + -3.763 -16.877 28.139 -0.230 -0.933 -0.278 -1228 383 1 + -3.667 -16.843 27.694 -0.293 -0.956 0.019 1228 383 1 + -3.612 -16.942 27.251 -0.330 -0.890 0.315 1228 374 1 + -3.603 -17.164 26.852 -0.336 -0.742 0.581 -1228 374 1 + -4.175 -16.552 27.555 -0.663 -0.744 -0.081 -1228 383 1 + -4.108 -16.658 27.116 -0.709 -0.673 0.212 -1228 374 1 + -4.363 -16.404 27.431 -0.539 -0.843 0.002 -1230 373 1 + -4.473 -16.326 27.456 -0.612 -0.791 0.018 -1230 373 1 + -4.527 -16.287 27.546 -0.576 -0.816 -0.042 -1232 383 1 + -4.696 -16.247 27.075 -0.463 -0.844 0.272 -1232 383 1 + -4.944 -16.348 26.650 -0.298 -0.776 0.556 -1232 377 1 + -5.242 -16.579 26.318 -0.099 -0.622 0.777 -1232 377 1 + -5.556 -16.916 26.117 0.110 -0.397 0.911 -1232 377 1 + -4.719 -16.086 27.596 -0.846 -0.533 0.028 -1232 383 1 + -4.805 -16.133 27.103 -0.788 -0.501 0.356 -1232 383 1 + -5.023 -16.264 26.670 -0.643 -0.414 0.645 -1232 377 1 + -5.350 -16.466 26.346 -0.425 -0.280 0.861 -1232 377 1 + -5.748 -16.714 26.166 -0.159 -0.114 0.981 -1232 377 1 + -4.773 -16.011 27.533 -0.810 -0.583 0.069 -1234 373 1 + -4.841 -15.905 27.554 -0.854 -0.513 0.083 -1234 373 1 + -5.150 -15.683 27.062 -0.720 -0.586 0.372 -1239 382 1 + -5.320 -15.884 26.640 -0.607 -0.452 0.654 -1239 382 1 + -5.590 -16.159 26.326 -0.427 -0.268 0.864 -1239 377 1 + -5.930 -16.479 26.154 -0.200 -0.055 0.978 -1239 377 1 + -5.241 -15.564 27.037 -0.824 -0.450 0.344 -1239 382 1 + -5.394 -15.788 26.620 -0.723 -0.301 0.622 -1239 382 1 + -5.665 -16.061 26.305 -0.542 -0.119 0.832 -1239 377 1 + -6.026 -16.354 26.127 -0.301 0.076 0.951 -1239 377 1 + -5.340 -15.429 27.006 -0.759 -0.540 0.365 -1240 382 1 + -5.591 -15.540 26.565 -0.591 -0.466 0.659 -1240 376 1 + -5.949 -15.735 26.243 -0.353 -0.336 0.873 -1240 376 1 + -5.415 -15.298 27.014 -0.831 -0.413 0.373 -1240 382 1 + -5.661 -15.419 26.573 -0.667 -0.333 0.667 -1240 376 1 + -6.026 -15.599 26.252 -0.423 -0.213 0.881 -1240 376 1 + -5.918 -16.538 26.154 -0.208 -0.016 0.978 -1242 377 1 + -5.563 -16.271 26.309 -0.445 -0.194 0.874 -1242 373 1 + -5.273 -16.033 26.594 -0.638 -0.353 0.685 -1242 373 1 + -5.807 -16.686 26.161 -0.120 -0.133 0.984 -1242 377 1 + -5.459 -16.410 26.316 -0.352 -0.317 0.881 -1242 373 1 + -5.162 -16.180 26.601 -0.550 -0.470 0.691 -1242 373 1 + -5.535 -16.972 26.091 0.096 -0.360 0.928 -1244 377 1 + -5.203 -16.678 26.250 -0.125 -0.556 0.822 -1244 373 1 + -4.890 -16.467 26.531 -0.334 -0.697 0.635 -1244 373 1 + -5.447 -17.046 26.047 0.165 -0.418 0.893 -1244 377 1 + -5.121 -16.748 26.209 -0.052 -0.617 0.785 -1244 373 1 + -4.802 -16.541 26.487 -0.264 -0.755 0.600 -1244 373 1 + -5.324 -17.175 25.978 0.084 -0.332 0.939 -1246 377 1 + -4.887 -16.995 26.085 -0.207 -0.452 0.868 -1246 374 1 + -4.483 -16.887 26.329 -0.477 -0.524 0.705 -1246 374 1 + -5.514 -17.777 25.771 0.501 -0.390 0.773 -1246 377 1 + -5.133 -17.477 25.777 0.247 -0.590 0.769 1246 377 1 + -4.714 -17.270 25.903 -0.033 -0.728 0.685 1246 374 1 + -4.300 -17.177 26.137 -0.309 -0.790 0.529 1246 374 1 + -3.934 -17.207 26.453 -0.553 -0.770 0.318 -1246 374 1 + -5.266 -18.008 25.401 0.642 -0.522 0.561 -1246 377 1 + -4.931 -17.666 25.475 0.419 -0.750 0.511 1246 377 1 + -4.530 -17.441 25.629 0.152 -0.900 0.409 1246 374 1 + -4.105 -17.357 25.847 -0.131 -0.956 0.263 1246 374 1 + -3.701 -17.423 26.106 -0.400 -0.912 0.090 -1246 374 1 + -5.038 -18.067 24.956 0.773 -0.556 0.307 -1246 377 1 + -4.745 -17.714 25.112 0.577 -0.791 0.203 1246 377 1 + -4.361 -17.485 25.300 0.322 -0.944 0.078 1246 374 1 + -3.927 -17.403 25.500 0.032 -0.998 -0.055 1246 374 1 + -3.489 -17.478 25.691 -0.260 -0.948 -0.183 -1246 374 1 + -4.602 -17.614 24.741 0.699 -0.706 -0.113 -1246 377 1 + -4.232 -17.394 24.963 0.452 -0.853 -0.261 -1246 374 1 + -3.791 -17.308 25.144 0.158 -0.911 -0.382 -1246 374 1 + -4.750 -17.968 24.005 0.798 -0.471 0.377 -1248 377 1 + -4.500 -18.072 23.574 0.631 -0.401 0.665 -1248 417 1 + -4.140 -18.246 23.258 0.391 -0.285 0.875 -1248 417 1 + -4.943 -18.236 23.945 0.627 -0.709 0.324 -1248 377 1 + -4.673 -18.314 23.520 0.447 -0.657 0.607 -1248 417 1 + -4.326 -18.505 23.200 0.215 -0.530 0.820 -1248 417 1 + -5.363 -18.678 24.315 0.907 -0.414 0.077 -1249 377 1 + -5.479 -19.141 24.217 0.984 -0.106 0.143 -1249 737 1 + -5.439 -19.620 24.142 0.958 0.214 0.193 -1249 737 1 + -5.399 -18.384 25.065 0.566 -0.737 0.369 -1249 377 1 + -5.604 -18.762 24.838 0.703 -0.485 0.520 1249 377 1 + -5.698 -19.217 24.693 0.766 -0.182 0.617 1249 737 1 + -5.671 -19.700 24.645 0.748 0.141 0.649 1249 737 1 + -5.526 -20.161 24.700 0.651 0.448 0.612 -1249 737 1 + -6.080 -18.802 25.168 0.299 -0.519 0.801 -1249 377 1 + -6.131 -19.253 24.994 0.333 -0.218 0.917 -1249 737 1 + -6.130 -19.739 24.964 0.332 0.106 0.937 -1249 737 1 + -5.168 -19.869 23.678 0.777 0.380 0.502 -1251 737 1 + -4.974 -19.618 23.333 0.648 0.212 0.732 -1251 737 1 + -4.685 -19.335 23.096 0.455 0.024 0.890 -1251 417 1 + -4.329 -19.049 22.989 0.218 -0.167 0.962 -1251 417 1 + -5.012 -20.576 23.777 0.983 0.181 0.017 -1251 737 1 + -4.991 -20.252 23.439 0.970 -0.036 0.242 1251 737 1 + -4.828 -19.933 23.136 0.861 -0.248 0.444 1251 737 1 + -4.539 -19.650 22.898 0.668 -0.437 0.602 1251 417 1 + -4.152 -19.432 22.749 0.410 -0.582 0.702 1251 417 1 + -3.704 -19.298 22.703 0.112 -0.671 0.733 -1251 417 1 + -5.035 -20.535 23.047 0.921 -0.343 -0.182 -1251 737 1 + -4.865 -20.166 22.814 0.808 -0.589 -0.027 -1251 737 1 + -4.575 -19.884 22.576 0.615 -0.778 0.132 -1251 417 1 + -4.196 -19.715 22.358 0.362 -0.890 0.277 -1251 417 1 + -5.116 -20.719 22.742 0.975 -0.221 0.021 -1253 736 1 + -5.250 -21.057 22.585 0.873 -0.477 -0.098 -1253 736 1 + -5.456 -21.740 23.077 0.697 -0.570 -0.435 -1254 737 1 + -5.590 -21.670 22.471 0.786 -0.617 -0.031 -1254 735 1 + -5.803 -22.071 23.127 0.473 -0.784 -0.403 -1254 737 1 + -5.957 -22.020 22.524 0.576 -0.817 -0.001 -1254 735 1 + -6.223 -22.282 23.229 0.202 -0.920 -0.337 -1254 737 1 + -6.403 -22.244 22.632 0.322 -0.945 0.061 -1254 735 1 + -5.592 -21.557 22.036 0.785 -0.552 -0.280 -1255 735 1 + -5.336 -21.203 21.652 0.615 -0.789 -0.024 -1255 736 1 + -5.988 -21.708 21.601 0.559 -0.639 -0.528 -1255 735 1 + -5.706 -21.344 21.245 0.371 -0.882 -0.291 -1255 736 1 + -4.656 -20.129 22.144 0.668 -0.614 0.420 -1257 736 1 + -4.244 -19.833 22.125 0.393 -0.811 0.433 -1257 417 1 + -4.893 -20.647 21.734 0.906 -0.423 0.030 -1257 736 1 + -4.603 -20.231 21.705 0.712 -0.700 0.049 1257 736 1 + -4.191 -19.936 21.684 0.437 -0.897 0.063 1257 417 1 + -3.704 -19.794 21.675 0.112 -0.991 0.069 -1257 417 1 + -4.952 -20.601 21.221 0.867 -0.393 -0.307 -1257 736 1 + -4.655 -20.191 21.256 0.669 -0.666 -0.330 1257 736 1 + -4.243 -19.896 21.234 0.394 -0.863 -0.315 1257 417 1 + -3.763 -19.748 21.157 0.074 -0.962 -0.264 -1257 417 1 + -4.803 -20.016 20.865 0.544 -0.518 -0.660 -1257 736 1 + -4.392 -19.719 20.841 0.269 -0.715 -0.645 -1257 417 1 + -4.894 -19.967 20.739 0.604 -0.550 -0.576 -1259 736 1 + -4.571 -19.622 20.609 0.388 -0.780 -0.490 -1259 415 1 + -4.184 -19.402 20.402 0.131 -0.927 -0.352 -1259 415 1 + -5.041 -19.892 20.560 0.468 -0.480 -0.742 -1259 736 1 + -4.709 -19.551 20.441 0.247 -0.707 -0.662 -1259 415 1 + -4.337 -19.323 20.215 -0.001 -0.859 -0.512 -1259 415 1 + -5.166 -19.829 20.424 0.551 -0.522 -0.651 -1261 736 1 + -4.935 -19.441 20.171 0.398 -0.781 -0.482 -1261 416 1 + -4.633 -19.192 19.832 0.196 -0.946 -0.256 -1261 416 1 + -5.586 -19.710 20.173 0.118 -0.400 -0.909 -1261 736 1 + -5.314 -19.334 19.945 -0.063 -0.651 -0.757 -1261 416 1 + -5.053 -19.074 19.581 -0.237 -0.824 -0.514 -1261 416 1 + -6.255 -20.042 20.019 0.564 -0.179 -0.806 -1262 736 1 + -6.584 -19.955 19.671 0.784 -0.237 -0.574 -1262 736 1 + -6.789 -19.905 19.232 0.921 -0.270 -0.281 -1262 709 1 + -6.849 -19.897 18.748 0.961 -0.275 0.041 -1262 709 1 + -6.576 -20.485 20.118 0.185 -0.702 -0.688 -1262 736 1 + -6.838 -20.305 19.749 0.360 -0.822 -0.442 -1262 736 1 + -7.043 -20.254 19.311 0.497 -0.855 -0.150 -1262 709 1 + -7.170 -20.340 18.848 0.581 -0.798 0.159 -1262 709 1 + -6.606 -19.529 18.357 0.799 -0.521 0.302 -1264 709 1 + -6.353 -19.192 18.482 0.630 -0.745 0.218 -1264 709 1 + -6.018 -18.951 18.635 0.407 -0.906 0.116 -1264 416 1 + -5.631 -18.827 18.803 0.149 -0.989 0.004 -1264 416 1 + -5.225 -18.830 18.972 -0.122 -0.987 -0.108 -1264 416 1 + -6.613 -19.723 17.709 0.994 -0.113 -0.011 -1264 709 1 + -6.506 -19.383 17.967 0.923 -0.339 -0.183 1264 709 1 + -6.281 -19.087 18.201 0.772 -0.537 -0.339 1264 709 1 + -5.956 -18.860 18.392 0.556 -0.688 -0.466 1264 416 1 + -5.560 -18.722 18.522 0.291 -0.780 -0.553 1264 416 1 + -5.125 -18.684 18.581 0.002 -0.805 -0.593 1264 416 1 + -4.691 -18.750 18.564 -0.288 -0.761 -0.581 -1264 416 1 + -6.559 -19.048 17.704 0.857 0.076 -0.509 -1264 709 1 + -6.319 -18.846 18.012 0.697 -0.059 -0.714 -1264 709 1 + -5.989 -18.651 18.228 0.477 -0.189 -0.858 -1264 416 1 + -5.598 -18.481 18.333 0.216 -0.302 -0.928 -1264 416 1 + -5.178 -18.349 18.318 -0.063 -0.390 -0.919 -1264 416 1 + -6.735 -18.796 17.248 0.974 -0.092 -0.205 -1266 709 1 + -6.646 -18.363 17.137 0.915 -0.381 -0.131 -1266 709 1 + -6.431 -17.983 17.008 0.772 -0.634 -0.045 -1266 438 1 + -6.110 -17.691 16.873 0.558 -0.829 0.045 -1266 438 1 + -5.711 -17.513 16.744 0.292 -0.947 0.131 -1266 438 1 + -6.743 -18.802 17.215 0.964 -0.100 -0.248 -1266 709 1 + -6.652 -18.368 17.114 0.903 -0.390 -0.180 -1266 709 1 + -6.437 -17.988 16.987 0.759 -0.644 -0.096 -1266 438 1 + -6.116 -17.696 16.848 0.546 -0.838 -0.003 -1266 438 1 + -5.721 -17.520 16.708 0.282 -0.955 0.090 -1266 438 1 + -6.784 -18.877 17.031 0.991 -0.051 -0.125 -1268 709 1 + -6.729 -18.511 16.762 0.954 -0.295 0.054 -1268 709 1 + -6.540 -18.186 16.501 0.829 -0.512 0.228 -1268 437 1 + -6.237 -17.932 16.272 0.626 -0.681 0.381 -1268 437 1 + -5.845 -17.773 16.096 0.365 -0.787 0.498 -1268 437 1 + -7.083 -19.045 16.546 0.607 -0.267 -0.749 -1268 709 1 + -6.939 -18.629 16.420 0.511 -0.544 -0.665 -1268 709 1 + -6.725 -18.289 16.202 0.368 -0.771 -0.519 -1268 437 1 + -6.459 -18.057 15.911 0.191 -0.926 -0.326 -1268 437 1 + -6.166 -17.954 15.575 -0.004 -0.995 -0.102 -1268 437 1 + -7.448 -19.377 16.210 0.850 -0.046 -0.524 -1270 709 1 + -7.620 -19.262 15.770 0.965 -0.123 -0.231 -1270 709 1 + -7.640 -19.167 15.293 0.979 -0.186 0.086 -1270 546 1 + -7.507 -19.101 14.831 0.889 -0.230 0.395 -1270 546 1 + -7.232 -19.071 14.430 0.707 -0.250 0.662 -1270 546 1 + -7.451 -19.394 16.206 0.845 -0.072 -0.529 -1270 709 1 + -7.622 -19.272 15.768 0.959 -0.153 -0.237 -1270 709 1 + -7.642 -19.175 15.292 0.973 -0.218 0.080 -1270 546 1 + -7.509 -19.112 14.828 0.884 -0.260 0.389 -1270 546 1 + -7.236 -19.090 14.426 0.702 -0.275 0.657 -1270 546 1 + -7.009 -19.709 14.177 0.550 0.138 0.823 -1272 548 1 + -7.346 -19.725 14.491 0.775 0.148 0.614 -1272 548 1 + -7.357 -20.182 14.137 -0.030 -0.652 0.758 -1272 548 1 + -7.468 -19.891 14.477 0.044 -0.846 0.531 -1272 548 1 + -7.435 -19.591 16.233 0.835 0.059 -0.547 -1273 709 1 + -7.615 -19.647 15.833 0.955 0.096 -0.281 -1273 709 1 + -7.761 -20.033 16.196 0.239 -0.752 -0.615 -1273 709 1 + -7.730 -19.803 15.820 0.218 -0.905 -0.364 -1273 709 1 + -8.222 -20.361 16.243 0.546 -0.533 -0.646 -1275 709 1 + -8.583 -20.457 15.876 0.787 -0.469 -0.402 -1275 710 1 + -8.280 -20.510 16.340 0.495 -0.662 -0.562 -1275 709 1 + -8.642 -20.608 15.974 0.736 -0.597 -0.318 -1275 710 1 + -7.771 -20.919 16.858 0.156 -0.390 -0.908 -1276 709 1 + -7.692 -21.360 16.982 0.103 -0.096 -0.990 -1276 709 1 + -7.597 -21.814 16.963 0.040 0.207 -0.978 -1276 728 1 + -7.497 -22.239 16.804 -0.027 0.490 -0.871 -1276 728 1 + -7.401 -22.593 16.519 -0.091 0.726 -0.681 -1276 728 1 + -7.082 -20.469 17.104 0.685 -0.603 -0.409 -1276 709 1 + -7.292 -20.877 17.180 0.824 -0.331 -0.459 1276 709 1 + -7.382 -21.333 17.190 0.885 -0.028 -0.466 1276 709 1 + -7.346 -21.792 17.132 0.860 0.279 -0.427 1276 728 1 + -7.185 -22.212 17.013 0.753 0.558 -0.348 1276 728 1 + -6.916 -22.551 16.844 0.574 0.784 -0.235 1276 728 1 + -6.565 -22.777 16.641 0.339 0.935 -0.100 -1276 728 1 + -7.306 -20.993 17.747 0.805 -0.493 0.331 -1276 709 1 + -7.391 -21.408 17.555 0.862 -0.217 0.459 -1276 709 1 + -7.353 -21.853 17.430 0.836 0.081 0.542 -1276 728 1 + -7.194 -22.287 17.382 0.730 0.370 0.574 -1276 728 1 + -6.930 -22.668 17.417 0.555 0.624 0.551 -1276 728 1 + -8.977 -21.195 15.784 0.960 -0.206 -0.191 -1278 710 1 + -8.950 -21.605 15.992 0.942 0.067 -0.330 -1278 710 1 + -9.052 -21.289 15.657 0.820 -0.380 -0.427 -1278 710 1 + -8.975 -21.636 15.949 0.769 -0.149 -0.621 -1278 710 1 + -7.761 -22.785 16.244 0.149 0.854 -0.498 -1279 728 1 + -8.184 -22.607 16.282 0.431 0.735 -0.523 -1279 728 1 + -7.836 -22.879 16.117 0.010 0.680 -0.733 -1279 728 1 + -8.209 -22.638 16.239 0.259 0.519 -0.815 -1279 728 1 + -7.926 -23.119 15.825 0.070 0.840 -0.539 -1281 728 1 + -8.378 -23.086 15.676 0.372 0.818 -0.439 -1281 728 1 + -8.775 -22.929 15.461 0.636 0.713 -0.296 -1281 714 1 + -9.074 -22.663 15.200 0.835 0.536 -0.122 -1281 714 1 + -9.247 -22.316 14.921 0.950 0.304 0.064 -1281 714 1 + -7.904 -23.302 15.634 0.099 0.583 -0.807 -1281 728 1 + -8.365 -23.203 15.554 0.407 0.517 -0.754 -1281 728 1 + -8.764 -23.025 15.360 0.672 0.398 -0.624 -1281 714 1 + -9.060 -22.787 15.071 0.870 0.239 -0.431 -1281 714 1 + -9.224 -22.512 14.716 0.979 0.056 -0.195 -1281 714 1 + -8.633 -23.177 13.466 0.586 0.499 0.639 -1283 717 1 + -8.532 -23.261 13.396 0.835 0.293 0.467 -1283 717 1 + -7.706 -23.618 15.336 -0.033 0.793 -0.608 -1284 728 1 + -7.605 -23.702 15.266 0.216 0.587 -0.780 -1284 728 1 + -7.337 -23.854 15.182 0.037 0.688 -0.724 -1285 728 1 + -7.481 -24.105 14.846 0.133 0.856 -0.500 -1285 728 1 + -7.608 -24.243 14.444 0.218 0.948 -0.232 -1285 720 1 + -7.706 -24.257 14.011 0.283 0.957 0.057 -1285 720 1 + -7.767 -24.146 13.586 0.324 0.883 0.340 -1285 720 1 + -6.670 -23.865 15.349 0.272 0.233 -0.934 -1285 728 1 + -6.978 -24.098 15.131 0.477 0.389 -0.788 1285 728 1 + -7.224 -24.280 14.809 0.641 0.510 -0.574 1285 728 1 + -7.386 -24.394 14.412 0.749 0.586 -0.309 1285 720 1 + -7.449 -24.432 13.974 0.791 0.611 -0.017 1285 720 1 + -7.408 -24.389 13.534 0.764 0.583 0.276 1285 720 1 + -7.268 -24.270 13.130 0.670 0.504 0.545 -1285 720 1 + -6.458 -24.457 15.400 0.408 -0.148 -0.901 -1285 728 1 + -6.832 -24.507 15.166 0.657 -0.115 -0.745 1285 728 1 + -7.119 -24.573 14.834 0.849 -0.071 -0.524 1285 728 1 + -7.295 -24.648 14.433 0.966 -0.021 -0.256 1285 720 1 + -7.344 -24.725 13.999 0.999 0.031 0.033 1285 720 1 + -7.262 -24.799 13.569 0.944 0.080 0.320 1285 720 1 + -7.056 -24.862 13.181 0.807 0.122 0.578 -1285 720 1 + -6.641 -25.040 15.556 0.291 -0.524 -0.800 -1285 728 1 + -6.958 -24.911 15.274 0.502 -0.611 -0.612 1285 728 1 + -7.210 -24.862 14.911 0.670 -0.643 -0.371 1285 728 1 + -7.373 -24.898 14.500 0.779 -0.619 -0.097 1285 720 1 + -7.435 -25.014 14.076 0.820 -0.541 0.186 1285 720 1 + -7.388 -25.202 13.677 0.789 -0.416 0.452 1285 720 1 + -7.238 -25.445 13.337 0.689 -0.254 0.679 -1285 720 1 + -7.304 -25.140 15.409 0.077 -0.892 -0.446 -1285 728 1 + -7.458 -25.026 15.008 0.179 -0.967 -0.179 -1285 728 1 + -7.588 -25.039 14.584 0.266 -0.958 0.104 -1285 720 1 + -7.683 -25.178 14.173 0.329 -0.866 0.377 -1285 720 1 + -7.734 -25.431 13.812 0.363 -0.697 0.618 -1285 720 1 + -8.135 -23.485 13.057 0.569 0.443 0.693 -1287 717 1 + -8.039 -23.446 12.939 0.642 0.473 0.604 -1287 717 1 + -7.741 -23.507 12.743 0.443 0.514 0.735 -1289 720 1 + -7.726 -23.054 12.531 0.434 0.212 0.876 -1289 720 1 + -7.639 -22.565 12.465 0.376 -0.114 0.920 -1289 548 1 + -7.490 -22.096 12.553 0.276 -0.427 0.861 -1289 548 1 + -7.294 -21.697 12.785 0.145 -0.693 0.706 -1289 548 1 + -7.484 -23.567 12.472 0.860 0.416 0.295 -1289 720 1 + -7.591 -23.085 12.389 0.932 0.095 0.350 -1289 720 1 + -7.543 -22.588 12.364 0.900 -0.237 0.367 -1289 548 1 + -7.344 -22.130 12.400 0.767 -0.542 0.343 -1289 548 1 + -7.018 -21.762 12.494 0.549 -0.787 0.280 -1289 548 1 + -7.410 -23.591 12.323 0.811 0.432 0.394 -1291 720 1 + -7.446 -23.128 12.109 0.835 0.123 0.537 -1291 720 1 + -7.336 -22.642 11.990 0.762 -0.200 0.616 -1291 547 1 + -7.093 -22.192 11.978 0.600 -0.500 0.624 -1291 547 1 + -7.059 -24.158 12.062 0.804 0.576 -0.144 -1291 720 1 + -7.288 -23.716 11.942 0.957 0.282 -0.064 1291 720 1 + -7.351 -23.225 11.811 0.999 -0.045 0.023 1291 720 1 + -7.238 -22.743 11.684 0.924 -0.367 0.108 1291 547 1 + -6.965 -22.324 11.576 0.742 -0.646 0.180 1291 547 1 + -6.562 -22.018 11.500 0.473 -0.850 0.231 -1291 547 1 + -7.220 -24.273 11.499 0.701 0.502 -0.507 -1291 720 1 + -7.401 -23.797 11.547 0.822 0.184 -0.540 1291 720 1 + -7.439 -23.289 11.502 0.847 -0.154 -0.509 1291 720 1 + -7.329 -22.808 11.367 0.773 -0.475 -0.419 1291 547 1 + -7.084 -22.409 11.160 0.610 -0.741 -0.281 1291 547 1 + -6.732 -22.140 10.903 0.376 -0.920 -0.110 -1291 547 1 + -7.711 -23.808 11.267 0.448 0.171 -0.878 -1291 720 1 + -7.682 -23.298 11.282 0.428 -0.169 -0.888 -1291 720 1 + -7.578 -22.817 11.142 0.359 -0.490 -0.794 -1291 547 1 + -7.411 -22.421 10.863 0.248 -0.754 -0.609 -1291 547 1 + -7.823 -24.698 10.855 0.311 0.228 -0.923 -1293 720 1 + -8.314 -24.386 10.625 0.639 0.020 -0.769 -1293 718 1 + -8.044 -25.140 10.760 0.169 -0.057 -0.984 -1293 720 1 + -8.548 -24.854 10.524 0.505 -0.247 -0.827 -1293 718 1 + -8.301 -25.567 10.823 0.003 -0.333 -0.943 -1293 720 1 + -8.820 -25.307 10.591 0.350 -0.506 -0.788 -1293 718 1 + -9.138 -25.886 10.986 0.213 -0.603 -0.769 -1295 719 1 + -8.656 -26.303 11.441 -0.226 -0.808 -0.545 -1295 720 1 + -9.221 -26.226 11.357 0.151 -0.859 -0.489 1295 719 1 + -9.752 -26.338 11.165 0.505 -0.784 -0.361 -1295 719 1 + -8.777 -26.488 11.947 -0.304 -0.927 -0.218 -1295 720 1 + -9.333 -26.397 11.824 0.066 -0.988 -0.136 1295 719 1 + -9.873 -26.524 11.671 0.427 -0.904 -0.034 -1295 719 1 + -8.913 -26.464 12.481 -0.391 -0.911 0.127 -1295 720 1 + -9.458 -26.374 12.317 -0.028 -0.971 0.236 1295 719 1 + -10.009 -26.499 12.206 0.339 -0.888 0.311 -1295 719 1 + -9.042 -26.233 12.966 -0.475 -0.762 0.439 -1295 720 1 + -9.577 -26.161 12.765 -0.118 -0.810 0.574 1295 719 1 + -10.138 -26.268 12.690 0.256 -0.739 0.623 -1295 719 1 + -9.673 -25.789 13.099 -0.191 -0.530 0.826 -1295 719 1 + -9.803 -25.643 10.461 0.472 -0.336 -0.815 -1298 719 1 + -9.251 -25.350 10.499 0.104 -0.531 -0.841 -1298 718 1 + -10.003 -25.264 10.275 0.343 -0.091 -0.935 -1298 719 1 + -9.462 -24.949 10.303 -0.017 -0.301 -0.953 -1298 718 1 + -10.244 -24.867 10.223 0.188 0.165 -0.968 -1298 719 1 + -9.718 -24.528 10.248 -0.163 -0.061 -0.985 -1298 718 1 + -8.125 -23.510 10.985 0.724 -0.028 -0.690 -1300 718 1 + -8.007 -23.071 10.991 0.645 -0.320 -0.694 -1300 718 1 + -7.800 -22.677 10.903 0.507 -0.583 -0.635 -1300 547 1 + -7.523 -22.362 10.726 0.322 -0.793 -0.517 -1300 547 1 + -8.531 -23.357 10.720 0.362 0.109 -0.926 -1300 718 1 + -8.358 -22.939 10.762 0.247 -0.170 -0.954 -1300 718 1 + -8.151 -22.544 10.673 0.109 -0.433 -0.895 -1300 547 1 + -7.928 -22.209 10.461 -0.039 -0.656 -0.753 -1300 547 1 + -8.509 -22.771 10.672 0.348 -0.282 -0.894 -1302 717 1 + -8.258 -22.432 10.595 0.180 -0.507 -0.843 -1302 547 1 + -7.985 -22.156 10.414 -0.002 -0.692 -0.722 -1302 547 1 + -8.605 -22.710 10.623 0.269 -0.232 -0.935 -1302 717 1 + -8.351 -22.374 10.547 0.100 -0.456 -0.884 -1302 547 1 + -8.084 -22.093 10.363 -0.078 -0.643 -0.762 -1302 547 1 + -6.300 -21.661 11.867 0.623 -0.646 0.441 -1304 547 1 + -6.154 -21.358 12.427 0.525 -0.849 0.068 -1304 548 1 + -5.948 -21.372 11.618 0.824 -0.481 0.299 -1304 547 1 + -5.801 -21.069 12.178 0.726 -0.683 -0.074 -1304 548 1 + -5.721 -20.989 11.351 0.954 -0.262 0.146 -1304 547 1 + -5.574 -20.686 11.911 0.856 -0.464 -0.227 -1304 548 1 + -5.640 -20.547 11.090 1.000 -0.010 -0.003 -1304 547 1 + -5.493 -20.244 11.650 0.902 -0.212 -0.376 -1304 548 1 + -5.713 -20.087 10.860 0.958 0.253 -0.134 -1304 547 1 + -5.567 -19.784 11.420 0.860 0.051 -0.507 -1304 548 1 + -5.934 -19.652 10.682 0.832 0.502 -0.236 -1304 547 1 + -5.787 -19.348 11.242 0.734 0.300 -0.609 -1304 548 1 + -6.517 -19.120 10.243 0.791 0.606 -0.079 -1305 547 1 + -6.653 -18.883 9.904 0.882 0.448 0.147 -1305 547 1 + -6.677 -18.588 9.583 0.898 0.252 0.361 -1305 530 1 + -6.587 -18.262 9.308 0.838 0.034 0.545 -1305 530 1 + -6.391 -17.931 9.102 0.707 -0.186 0.682 -1305 530 1 + -6.175 -19.654 10.190 0.694 0.500 -0.517 -1305 547 1 + -6.441 -19.390 9.967 0.871 0.324 -0.369 1305 547 1 + -6.596 -19.084 9.697 0.975 0.120 -0.189 1305 547 1 + -6.627 -18.763 9.403 0.996 -0.094 0.007 1305 530 1 + -6.533 -18.454 9.111 0.932 -0.300 0.202 1305 530 1 + -6.320 -18.183 8.844 0.791 -0.480 0.380 1305 530 1 + -6.007 -17.973 8.625 0.582 -0.620 0.526 -1305 530 1 + -6.562 -19.636 9.685 0.744 0.066 -0.664 -1305 547 1 + -6.686 -19.268 9.486 0.827 -0.179 -0.532 -1305 547 1 + -6.706 -18.923 9.220 0.841 -0.409 -0.355 -1305 530 1 + -6.619 -18.630 8.910 0.783 -0.605 -0.148 -1305 530 1 + -6.433 -18.413 8.580 0.659 -0.749 0.072 -1305 530 1 + -6.480 -17.845 9.234 0.767 -0.244 0.594 -1307 530 1 + -6.726 -18.107 9.586 0.931 -0.069 0.359 -1307 530 1 + -6.815 -18.381 9.998 0.990 0.113 0.085 -1307 548 1 + -6.737 -18.635 10.425 0.938 0.283 -0.200 -1307 548 1 + -6.501 -18.842 10.817 0.781 0.421 -0.462 -1307 548 1 + -6.517 -17.738 9.301 0.705 -0.063 0.706 -1307 530 1 + -6.744 -18.053 9.619 0.857 0.147 0.494 -1307 530 1 + -6.828 -18.343 10.021 0.913 0.341 0.226 -1307 548 1 + -6.757 -18.576 10.461 0.866 0.496 -0.068 -1307 548 1 + -6.541 -18.725 10.890 0.722 0.595 -0.353 -1307 548 1 + -6.548 -17.536 9.372 0.726 -0.198 0.658 -1309 530 1 + -6.816 -17.668 9.743 0.905 -0.110 0.411 -1309 530 1 + -6.947 -17.816 10.176 0.992 -0.011 0.122 -1309 546 1 + -6.928 -17.966 10.628 0.980 0.089 -0.179 -1309 546 1 + -6.761 -18.103 11.053 0.868 0.180 -0.462 -1309 546 1 + -6.617 -17.287 9.446 0.628 0.156 0.763 -1309 530 1 + -6.860 -17.509 9.790 0.790 0.304 0.533 -1309 530 1 + -6.984 -17.685 10.215 0.872 0.421 0.250 -1309 546 1 + -6.976 -17.797 10.678 0.867 0.496 -0.059 -1309 546 1 + -6.836 -17.834 11.132 0.774 0.520 -0.362 -1309 546 1 + -6.645 -17.186 9.452 0.646 0.088 0.758 -1311 530 1 + -6.920 -17.318 9.794 0.829 0.176 0.530 -1311 530 1 + -7.079 -17.425 10.210 0.935 0.248 0.253 -1311 544 1 + -7.107 -17.498 10.662 0.954 0.296 -0.048 -1311 544 1 + -6.707 -17.030 9.468 0.582 0.249 0.774 -1311 530 1 + -6.974 -17.183 9.808 0.759 0.351 0.548 -1311 530 1 + -7.134 -17.287 10.224 0.866 0.421 0.270 -1311 544 1 + -7.173 -17.332 10.678 0.892 0.451 -0.032 -1311 544 1 + -6.560 -16.349 9.353 0.483 -0.205 0.851 -1313 530 1 + -6.665 -15.897 9.637 0.553 -0.506 0.662 -1313 531 1 + -6.112 -15.999 8.938 0.860 0.090 0.502 -1313 530 1 + -6.205 -15.537 9.211 0.922 -0.218 0.320 -1313 531 1 + -5.606 -16.184 8.453 0.523 0.213 0.826 -1315 530 1 + -5.284 -15.892 8.264 0.308 0.018 0.951 -1315 530 1 + -4.917 -15.598 8.218 0.063 -0.178 0.982 -1315 442 1 + -4.540 -15.330 8.318 -0.188 -0.356 0.915 -1315 442 1 + -4.191 -15.116 8.555 -0.421 -0.499 0.757 -1315 442 1 + -5.314 -16.523 7.953 0.953 -0.288 0.090 -1315 530 1 + -5.108 -16.098 7.962 0.816 -0.572 0.084 -1315 530 1 + -4.780 -15.757 7.984 0.598 -0.799 0.069 -1315 442 1 + -4.363 -15.536 8.016 0.320 -0.946 0.048 -1315 442 1 + -3.898 -15.455 8.056 0.010 -1.000 0.022 -1315 442 1 + -5.263 -16.935 7.499 0.919 -0.014 0.393 -1316 530 1 + -5.009 -16.879 7.099 0.750 -0.051 0.659 -1316 461 1 + -4.641 -16.831 6.800 0.505 -0.083 0.859 -1316 461 1 + -5.447 -17.505 7.827 0.950 -0.313 0.001 -1316 530 1 + -5.322 -17.367 7.388 0.866 -0.405 0.293 1316 530 1 + -5.065 -17.291 6.994 0.695 -0.456 0.556 1316 461 1 + -4.703 -17.283 6.685 0.454 -0.461 0.763 1316 461 1 + -4.272 -17.345 6.490 0.167 -0.420 0.892 -1316 461 1 + -5.681 -17.917 7.579 0.796 -0.583 -0.162 -1316 530 1 + -5.519 -17.714 7.180 0.688 -0.718 0.105 1316 530 1 + -5.252 -17.620 6.796 0.510 -0.781 0.360 1316 461 1 + -4.909 -17.645 6.467 0.281 -0.765 0.580 1316 461 1 + -4.523 -17.785 6.225 0.024 -0.671 0.741 -1316 461 1 + -6.037 -18.153 7.259 0.562 -0.739 -0.373 -1316 530 1 + -5.819 -17.913 6.909 0.416 -0.898 -0.140 1316 530 1 + -5.538 -17.810 6.539 0.229 -0.968 0.107 1316 461 1 + -5.222 -17.853 6.185 0.018 -0.939 0.343 1316 461 1 + -4.904 -18.038 5.883 -0.194 -0.816 0.545 -1316 461 1 + -6.452 -18.172 6.923 0.289 -0.751 -0.594 -1316 530 1 + -6.169 -17.929 6.626 0.100 -0.913 -0.396 1316 530 1 + -5.871 -17.825 6.270 -0.099 -0.982 -0.158 1316 461 1 + -5.587 -17.869 5.889 -0.288 -0.953 0.095 1316 461 1 + -5.347 -18.058 5.523 -0.448 -0.827 0.339 -1316 461 1 + -6.506 -17.759 6.380 -0.205 -0.759 -0.618 -1316 530 1 + -6.191 -17.663 6.036 -0.414 -0.823 -0.389 -1316 461 1 + -5.939 -17.692 5.632 -0.583 -0.804 -0.120 -1316 461 1 + -4.043 -16.371 6.716 0.106 -0.389 0.915 -1318 461 1 + -3.873 -16.002 6.930 -0.007 -0.636 0.772 -1318 461 1 + -3.705 -15.721 7.254 -0.119 -0.822 0.556 -1318 442 1 + -3.553 -15.557 7.656 -0.220 -0.932 0.288 -1318 442 1 + -3.505 -16.391 6.463 0.614 -0.408 0.676 -1318 461 1 + -3.426 -16.018 6.720 0.561 -0.656 0.505 -1318 461 1 + -3.267 -15.737 7.048 0.455 -0.843 0.286 -1318 442 1 + -3.045 -15.576 7.416 0.306 -0.951 0.041 -1318 442 1 + -3.211 -16.470 6.222 0.417 -0.355 0.837 -1320 461 1 + -2.864 -16.168 6.262 0.186 -0.556 0.810 -1320 461 1 + -2.490 -15.946 6.416 -0.063 -0.704 0.707 -1320 461 1 + -2.126 -15.824 6.671 -0.306 -0.786 0.537 -1320 443 1 + -1.805 -15.813 7.002 -0.520 -0.793 0.316 -1320 443 1 + -1.558 -15.914 7.378 -0.685 -0.726 0.066 -1320 443 1 + -3.148 -16.523 6.159 0.515 -0.438 0.737 -1320 461 1 + -2.838 -16.190 6.235 0.308 -0.660 0.685 -1320 461 1 + -2.484 -15.952 6.410 0.072 -0.819 0.569 -1320 461 1 + -2.119 -15.829 6.665 -0.171 -0.901 0.399 -1320 443 1 + -1.779 -15.834 6.976 -0.398 -0.897 0.192 -1320 443 1 + -1.495 -15.967 7.315 -0.587 -0.809 -0.034 -1320 443 1 + -2.882 -16.773 5.911 0.337 -0.271 0.901 -1322 462 1 + -3.365 -17.358 5.961 0.685 -0.427 0.590 -1322 461 1 + -2.863 -17.183 5.703 0.350 -0.544 0.762 1322 462 1 + -2.279 -17.134 5.622 -0.039 -0.577 0.816 -1322 462 1 + -3.398 -17.716 5.621 0.666 -0.632 0.395 -1322 461 1 + -2.893 -17.515 5.387 0.330 -0.766 0.551 1322 462 1 + -2.312 -17.492 5.281 -0.058 -0.781 0.621 -1322 462 1 + -3.480 -17.958 5.196 0.619 -0.770 0.153 -1322 461 1 + -2.970 -17.739 4.993 0.279 -0.916 0.288 1322 462 1 + -2.394 -17.734 4.857 -0.105 -0.920 0.379 -1322 462 1 + -3.606 -18.060 4.728 0.548 -0.829 -0.115 -1322 461 1 + -3.086 -17.834 4.559 0.201 -0.980 -0.002 1322 462 1 + -2.520 -17.837 4.389 -0.176 -0.978 0.111 -1322 462 1 + -3.761 -18.014 4.260 0.459 -0.802 -0.382 -1322 461 1 + -3.231 -17.791 4.124 0.105 -0.951 -0.292 1322 462 1 + -2.675 -17.790 3.921 -0.265 -0.951 -0.156 -1322 462 1 + -3.933 -17.823 3.836 0.360 -0.693 -0.624 -1322 461 1 + -3.390 -17.614 3.731 -0.002 -0.832 -0.554 1322 462 1 + -2.847 -17.599 3.497 -0.364 -0.842 -0.398 -1322 462 1 + -4.105 -17.505 3.497 0.263 -0.511 -0.818 -1322 461 1 + -3.549 -17.319 3.417 -0.108 -0.635 -0.765 1322 462 1 + -3.019 -17.281 3.158 -0.461 -0.661 -0.592 -1322 462 1 + -3.693 -16.935 3.210 -0.204 -0.379 -0.903 -1322 462 1 + -4.676 -16.869 3.035 0.451 -0.422 -0.786 -1324 461 1 + -5.008 -16.727 2.649 0.673 -0.517 -0.529 -1324 526 1 + -5.215 -16.680 2.165 0.811 -0.548 -0.206 -1324 526 1 + -4.978 -17.191 3.152 0.185 -0.707 -0.683 -1324 461 1 + -5.283 -17.021 2.756 0.388 -0.821 -0.419 -1324 526 1 + -5.517 -17.002 2.282 0.544 -0.833 -0.103 -1324 526 1 + -5.036 -17.346 3.275 0.224 -0.604 -0.765 -1325 461 1 + -5.405 -17.279 3.027 0.469 -0.648 -0.599 -1325 524 1 + -5.710 -17.300 2.698 0.673 -0.635 -0.380 -1325 524 1 + -4.978 -17.870 3.787 -0.236 -0.720 -0.652 -1325 461 1 + -5.330 -17.671 3.592 -0.001 -0.853 -0.522 1325 461 1 + -5.683 -17.587 3.327 0.234 -0.909 -0.345 1325 524 1 + -6.004 -17.625 3.015 0.448 -0.883 -0.137 1325 524 1 + -6.265 -17.782 2.684 0.622 -0.779 0.083 -1325 524 1 + -5.381 -17.999 4.247 -0.467 -0.794 -0.389 -1325 461 1 + -5.679 -17.783 3.990 -0.268 -0.938 -0.218 1325 461 1 + -6.013 -17.693 3.703 -0.046 -0.999 -0.026 1325 524 1 + -6.353 -17.737 3.412 0.181 -0.969 0.167 1325 524 1 + -6.668 -17.911 3.144 0.391 -0.853 0.346 -1325 524 1 + -6.016 -17.661 4.394 -0.527 -0.845 0.092 -1325 461 1 + -6.332 -17.577 4.085 -0.317 -0.901 0.298 -1325 524 1 + -6.690 -17.615 3.816 -0.078 -0.876 0.477 -1325 524 1 + -6.232 -17.662 2.028 0.641 -0.710 -0.292 -1326 524 1 + -5.956 -17.396 1.499 0.456 -0.888 0.061 -1326 526 1 + -6.619 -17.801 1.756 0.419 -0.790 -0.448 -1326 524 1 + -6.343 -17.535 1.227 0.235 -0.967 -0.095 -1326 526 1 + -7.054 -17.812 1.523 0.171 -0.796 -0.581 -1326 524 1 + -6.778 -17.546 0.994 -0.014 -0.974 -0.228 -1326 526 1 + -7.501 -17.693 1.349 -0.085 -0.728 -0.680 -1326 524 1 + -7.225 -17.427 0.820 -0.269 -0.906 -0.327 -1326 526 1 + -7.922 -17.456 1.249 -0.325 -0.592 -0.737 -1326 524 1 + -7.645 -17.189 0.720 -0.509 -0.770 -0.385 -1326 526 1 + -5.078 -16.469 1.992 0.719 -0.689 -0.091 -1328 526 1 + -4.774 -16.309 2.329 0.517 -0.796 -0.315 -1328 526 1 + -4.391 -16.271 2.616 0.262 -0.821 -0.507 -1328 462 1 + -3.968 -16.359 2.826 -0.021 -0.762 -0.647 -1328 462 1 + -3.548 -16.565 2.936 -0.301 -0.625 -0.720 -1328 462 1 + -4.955 -16.223 1.818 0.870 -0.386 -0.306 -1328 526 1 + -4.693 -16.147 2.214 0.696 -0.436 -0.570 -1328 526 1 + -4.325 -16.138 2.522 0.451 -0.442 -0.775 -1328 462 1 + -3.887 -16.197 2.711 0.159 -0.403 -0.901 -1328 462 1 + -3.425 -16.319 2.761 -0.150 -0.322 -0.935 -1328 462 1 + -4.922 -16.089 1.709 0.848 -0.475 -0.233 -1330 526 1 + -4.643 -15.886 2.011 0.662 -0.610 -0.434 -1330 459 1 + -4.271 -15.769 2.252 0.414 -0.689 -0.595 -1330 459 1 + -5.036 -15.955 1.080 0.982 -0.064 -0.179 -1330 526 1 + -4.882 -15.743 1.457 0.879 -0.206 -0.429 1330 526 1 + -4.605 -15.559 1.773 0.695 -0.328 -0.640 1330 459 1 + -4.231 -15.422 1.999 0.445 -0.419 -0.791 1330 459 1 + -3.794 -15.344 2.115 0.154 -0.472 -0.868 -1330 459 1 + -4.947 -15.346 1.301 0.829 0.102 -0.550 -1330 526 1 + -4.667 -15.186 1.626 0.642 -0.005 -0.767 -1330 459 1 + -4.296 -15.026 1.843 0.395 -0.112 -0.912 -1330 459 1 + -5.195 -15.105 0.618 0.994 -0.059 -0.095 -1332 526 1 + -5.122 -14.727 0.322 0.945 -0.311 0.103 -1332 526 1 + -4.900 -14.398 0.042 0.797 -0.530 0.289 -1332 466 1 + -4.553 -14.152 -0.193 0.565 -0.694 0.445 -1332 466 1 + -4.116 -14.016 -0.357 0.275 -0.785 0.555 -1332 466 1 + -5.578 -15.216 0.052 0.482 -0.206 -0.852 -1332 526 1 + -5.348 -14.792 -0.013 0.328 -0.488 -0.809 -1332 526 1 + -5.067 -14.446 -0.205 0.141 -0.719 -0.680 -1332 466 1 + -4.763 -14.213 -0.504 -0.062 -0.875 -0.481 -1332 466 1 + -4.469 -14.117 -0.879 -0.257 -0.938 -0.231 -1332 466 1 + -5.915 -15.305 -0.187 0.706 -0.147 -0.693 -1334 526 1 + -6.006 -14.958 -0.447 0.767 -0.378 -0.519 -1334 526 1 + -5.996 -14.660 -0.776 0.760 -0.576 -0.300 -1334 475 1 + -5.886 -14.438 -1.143 0.687 -0.724 -0.055 -1334 475 1 + -5.687 -14.311 -1.518 0.554 -0.809 0.195 -1334 475 1 + -6.306 -15.478 -0.383 0.302 -0.326 -0.896 -1334 526 1 + -6.304 -15.090 -0.597 0.300 -0.585 -0.753 -1334 526 1 + -6.262 -14.778 -0.910 0.272 -0.793 -0.545 -1334 475 1 + -6.184 -14.570 -1.293 0.221 -0.931 -0.289 -1334 475 1 + -6.078 -14.484 -1.715 0.150 -0.989 -0.008 -1334 475 1 + -6.515 -15.514 -0.460 0.441 -0.303 -0.845 -1335 526 1 + -6.688 -15.168 -0.771 0.556 -0.533 -0.638 -1335 526 1 + -6.769 -14.909 -1.187 0.610 -0.706 -0.360 -1335 478 1 + -6.751 -14.767 -1.663 0.598 -0.800 -0.043 -1335 478 1 + -6.807 -16.147 -0.329 -0.030 -0.175 -0.984 -1335 526 1 + -6.913 -15.690 -0.491 0.040 -0.480 -0.877 1335 526 1 + -7.012 -15.311 -0.796 0.106 -0.732 -0.673 1335 526 1 + -7.093 -15.053 -1.213 0.161 -0.904 -0.395 1335 478 1 + -7.148 -14.943 -1.694 0.197 -0.978 -0.074 1335 478 1 + -7.171 -14.994 -2.187 0.212 -0.943 0.255 -1335 478 1 + -7.340 -15.685 -0.404 -0.390 -0.475 -0.789 -1335 526 1 + -7.360 -15.307 -0.726 -0.377 -0.726 -0.575 -1335 526 1 + -7.441 -15.048 -1.142 -0.323 -0.899 -0.297 -1335 478 1 + -7.576 -14.938 -1.607 -0.233 -0.972 0.013 -1335 478 1 + -6.607 -14.821 -2.613 0.535 -0.845 0.011 -1337 478 1 + -5.925 -14.593 -2.606 0.081 -0.997 0.006 -1337 475 1 + -6.622 -14.761 -3.083 0.527 -0.810 -0.257 -1337 478 1 + -5.940 -14.533 -3.075 0.072 -0.962 -0.262 -1337 475 1 + -6.488 -14.308 -3.868 0.369 -0.889 -0.271 -1339 478 1 + -6.241 -14.173 -4.262 0.204 -0.979 -0.008 -1339 482 1 + -7.148 -14.571 -3.816 0.226 -0.702 -0.676 -1339 478 1 + -6.901 -14.299 -4.131 0.062 -0.883 -0.466 1339 478 1 + -6.645 -14.165 -4.519 -0.109 -0.972 -0.207 1339 482 1 + -6.406 -14.182 -4.939 -0.268 -0.961 0.073 -1339 482 1 + -7.606 -14.362 -4.054 -0.036 -0.582 -0.812 -1339 478 1 + -7.304 -14.116 -4.340 -0.237 -0.747 -0.621 1339 478 1 + -7.040 -13.986 -4.724 -0.414 -0.834 -0.366 1339 482 1 + -6.839 -13.985 -5.164 -0.547 -0.834 -0.072 -1339 482 1 + -7.990 -13.985 -4.199 -0.255 -0.367 -0.895 -1339 478 1 + -7.642 -13.784 -4.467 -0.487 -0.501 -0.715 1339 478 1 + -7.369 -13.661 -4.848 -0.669 -0.582 -0.462 1339 482 1 + -7.201 -13.629 -5.300 -0.781 -0.604 -0.160 -1339 482 1 + -7.866 -13.349 -4.494 -0.654 -0.178 -0.735 -1339 478 1 + -7.589 -13.236 -4.874 -0.839 -0.253 -0.482 -1339 482 1 + -8.533 -13.749 -4.018 -0.566 -0.232 -0.791 -1340 478 1 + -9.017 -13.228 -4.038 -0.243 -0.580 -0.778 -1340 479 1 + -8.303 -12.928 -4.380 -0.362 -0.458 -0.812 -1342 479 1 + -7.925 -12.949 -4.619 -0.614 -0.444 -0.652 -1342 482 1 + -7.630 -13.029 -4.945 -0.811 -0.391 -0.435 -1342 482 1 + -8.326 -12.809 -4.429 -0.380 -0.364 -0.851 -1342 479 1 + -7.946 -12.838 -4.665 -0.633 -0.344 -0.694 -1342 482 1 + -7.652 -12.914 -4.993 -0.830 -0.293 -0.475 -1342 482 1 + -8.569 -12.457 -4.548 -0.218 -0.598 -0.771 -1344 479 1 + -8.416 -12.178 -4.908 -0.320 -0.784 -0.532 -1344 486 1 + -8.311 -12.019 -5.349 -0.390 -0.890 -0.238 -1344 486 1 + -8.835 -12.293 -4.547 -0.441 -0.461 -0.770 -1344 479 1 + -8.659 -12.029 -4.906 -0.559 -0.638 -0.530 -1344 486 1 + -8.568 -11.862 -5.347 -0.619 -0.749 -0.236 -1344 486 1 + -9.171 -12.233 -4.446 -0.217 -0.501 -0.837 -1345 479 1 + -9.289 -11.899 -4.689 -0.138 -0.724 -0.675 -1345 479 1 + -9.424 -11.654 -5.015 -0.048 -0.888 -0.458 -1345 490 1 + -9.565 -11.518 -5.397 0.046 -0.978 -0.203 -1345 490 1 + -9.572 -12.206 -4.259 -0.553 -0.479 -0.681 -1345 479 1 + -9.645 -11.875 -4.523 -0.505 -0.700 -0.505 -1345 479 1 + -9.780 -11.630 -4.849 -0.415 -0.863 -0.288 -1345 490 1 + -9.966 -11.491 -5.211 -0.291 -0.956 -0.047 -1345 490 1 + -9.106 -11.542 -5.824 -0.261 -0.962 0.082 -1347 486 1 + -9.689 -11.453 -6.345 0.143 -0.960 -0.240 -1347 490 1 + -9.095 -11.498 -6.308 -0.253 -0.930 -0.264 1347 486 1 + -8.562 -11.764 -6.334 -0.609 -0.753 -0.247 -1347 486 1 + -9.617 -11.233 -6.835 0.184 -0.834 -0.520 -1347 490 1 + -9.030 -11.300 -6.747 -0.207 -0.789 -0.579 1347 486 1 + -8.493 -11.555 -6.797 -0.565 -0.619 -0.545 -1347 486 1 + -8.918 -10.973 -7.088 -0.127 -0.555 -0.822 -1347 486 1 + -9.049 -10.871 -7.149 -0.039 -0.623 -0.781 -1349 490 1 + -8.612 -10.957 -7.187 -0.330 -0.565 -0.756 -1349 484 1 + -8.219 -11.119 -7.326 -0.592 -0.457 -0.663 -1349 484 1 + -9.025 -10.711 -7.259 -0.020 -0.501 -0.865 -1349 490 1 + -8.589 -10.806 -7.292 -0.311 -0.437 -0.844 -1349 484 1 + -8.195 -10.959 -7.436 -0.574 -0.335 -0.747 -1349 484 1 + -9.610 -10.213 -7.587 0.188 -0.251 -0.949 -1351 490 1 + -8.927 -10.044 -7.673 -0.268 -0.364 -0.892 -1351 487 1 + -9.750 -9.688 -7.663 0.108 0.049 -0.993 -1351 490 1 + -9.066 -9.518 -7.749 -0.348 -0.064 -0.935 -1351 487 1 + -9.868 -9.161 -7.563 0.041 0.350 -0.936 -1351 490 1 + -9.184 -8.992 -7.649 -0.415 0.237 -0.878 -1351 487 1 + -9.952 -8.688 -7.298 -0.007 0.620 -0.785 -1351 490 1 + -9.268 -8.519 -7.384 -0.463 0.507 -0.727 -1351 487 1 + -9.740 -8.017 -6.603 -0.199 0.631 -0.749 -1353 490 1 + -9.519 -7.616 -6.430 -0.346 0.364 -0.865 -1353 489 1 + -10.516 -8.207 -6.451 -0.330 0.895 -0.301 -1353 490 1 + -10.197 -7.921 -6.215 -0.543 0.704 -0.458 1353 490 1 + -9.964 -7.522 -6.052 -0.698 0.438 -0.566 1353 489 1 + -9.843 -7.053 -5.980 -0.779 0.126 -0.614 -1353 489 1 + -10.466 -7.973 -5.673 -0.745 0.665 -0.050 -1353 490 1 + -10.226 -7.573 -5.525 -0.905 0.398 -0.149 -1353 489 1 + -11.050 -8.343 -5.441 -0.356 0.912 -0.205 -1354 490 1 + -11.325 -8.293 -5.080 -0.172 0.878 -0.446 -1354 490 1 + -11.624 -8.121 -4.782 0.027 0.764 -0.645 -1354 503 1 + -11.919 -7.843 -4.572 0.224 0.579 -0.784 -1354 503 1 + -12.183 -7.485 -4.472 0.400 0.340 -0.851 -1354 503 1 + -11.480 -8.774 -5.551 -0.844 0.422 -0.330 -1354 490 1 + -11.627 -8.595 -5.157 -0.747 0.303 -0.592 -1354 490 1 + -11.877 -8.375 -4.846 -0.580 0.156 -0.800 -1354 503 1 + -12.207 -8.132 -4.646 -0.360 -0.006 -0.933 -1354 503 1 + -12.588 -7.891 -4.575 -0.106 -0.167 -0.980 -1354 503 1 + -11.960 -7.130 -4.305 0.251 0.103 -0.963 -1356 503 1 + -11.491 -7.164 -4.263 -0.062 0.126 -0.990 -1356 503 1 + -11.031 -7.180 -4.369 -0.369 0.136 -0.920 -1356 489 1 + -10.626 -7.175 -4.612 -0.639 0.133 -0.758 -1356 489 1 + -10.316 -7.151 -4.967 -0.845 0.117 -0.521 -1356 489 1 + -12.188 -6.382 -4.008 0.671 0.520 -0.529 -1356 503 1 + -11.832 -6.693 -4.004 0.434 0.727 -0.532 1356 503 1 + -11.412 -6.896 -4.079 0.154 0.863 -0.482 1356 503 1 + -10.970 -6.970 -4.225 -0.141 0.912 -0.384 1356 489 1 + -10.548 -6.909 -4.429 -0.422 0.872 -0.248 1356 489 1 + -10.189 -6.719 -4.669 -0.662 0.745 -0.088 1356 489 1 + -9.929 -6.417 -4.923 -0.835 0.544 0.081 -1356 489 1 + -11.628 -6.739 -3.500 0.726 0.661 0.189 -1356 503 1 + -11.287 -6.924 -3.769 0.499 0.784 0.369 -1356 503 1 + -10.872 -6.993 -3.984 0.222 0.830 0.512 -1356 489 1 + -10.424 -6.938 -4.122 -0.077 0.793 0.604 -1356 489 1 + -9.987 -6.765 -4.171 -0.368 0.678 0.636 -1356 489 1 + -11.592 -6.782 -2.954 0.703 0.690 -0.175 -1357 503 1 + -11.212 -6.998 -2.734 0.449 0.834 -0.322 -1357 500 1 + -11.686 -6.671 -2.688 0.630 0.776 0.032 -1357 503 1 + -11.307 -6.885 -2.462 0.377 0.919 -0.119 -1357 500 1 + -10.470 -7.207 -2.877 -0.046 0.973 -0.226 -1359 500 1 + -10.186 -7.206 -3.218 -0.235 0.972 0.001 -1359 500 1 + -9.934 -7.077 -3.560 -0.403 0.886 0.229 -1359 489 1 + -9.734 -6.831 -3.871 -0.536 0.722 0.437 -1359 489 1 + -10.137 -7.214 -2.638 0.254 0.967 -0.010 -1359 500 1 + -9.904 -7.211 -3.015 0.099 0.965 0.241 -1359 500 1 + -9.657 -7.082 -3.361 -0.066 0.879 0.472 -1359 489 1 + -9.420 -6.837 -3.645 -0.224 0.716 0.661 -1359 489 1 + -9.855 -7.195 -2.219 0.066 0.955 -0.290 -1361 500 1 + -9.361 -7.144 -2.223 -0.263 0.921 -0.287 -1361 493 1 + -8.911 -6.943 -2.274 -0.563 0.787 -0.253 -1361 493 1 + -9.839 -7.151 -1.743 0.079 0.991 0.105 -1361 500 1 + -9.346 -7.104 -1.781 -0.249 0.960 0.130 -1361 493 1 + -8.895 -6.899 -1.798 -0.550 0.823 0.142 -1361 493 1 + -9.813 -7.145 -1.370 0.062 0.988 -0.144 -1362 496 1 + -9.882 -7.130 -1.253 0.016 0.998 -0.064 -1362 496 1 + -8.849 -6.876 -1.429 -0.580 0.808 -0.105 -1364 493 1 + -8.806 -6.838 -1.358 -0.551 0.832 -0.057 -1364 493 1 + -8.826 -6.804 -1.090 -0.537 0.810 -0.236 -1365 496 1 + -8.482 -6.521 -1.201 -0.767 0.621 -0.162 -1365 494 1 + -8.816 -6.770 -0.973 -0.530 0.835 -0.150 -1365 496 1 + -8.472 -6.488 -1.087 -0.759 0.647 -0.074 -1365 494 1 + -8.024 -5.893 -1.702 -0.779 0.543 -0.314 -1367 494 1 + -8.249 -6.244 -2.108 -0.628 0.777 -0.043 -1367 493 1 + -7.675 -5.727 -2.018 -0.549 0.653 -0.522 -1367 494 1 + -7.876 -6.065 -2.446 -0.415 0.879 -0.236 -1367 493 1 + -7.121 -5.946 -2.744 -0.337 0.876 -0.345 -1369 492 1 + -6.680 -5.846 -2.707 -0.022 0.948 -0.318 -1369 492 1 + -6.262 -5.528 -2.275 -0.301 0.736 -0.607 -1371 494 1 + -5.801 -5.360 -2.447 -0.608 0.623 -0.492 -1371 473 1 + -5.450 -5.079 -2.708 -0.842 0.436 -0.318 -1371 473 1 + -6.686 -5.313 -1.781 0.101 0.925 -0.366 -1371 494 1 + -6.191 -5.332 -1.938 -0.229 0.938 -0.261 1371 494 1 + -5.738 -5.182 -2.143 -0.531 0.838 -0.125 1371 473 1 + -5.380 -4.881 -2.370 -0.770 0.638 0.026 1371 473 1 + -5.160 -4.466 -2.592 -0.916 0.361 0.174 -1371 473 1 + -6.481 -5.245 -1.323 0.236 0.970 -0.064 -1371 494 1 + -6.031 -5.279 -1.581 -0.064 0.992 0.107 1371 494 1 + -5.593 -5.134 -1.819 -0.356 0.896 0.266 1371 473 1 + -5.218 -4.828 -2.009 -0.606 0.692 0.393 1371 473 1 + -4.953 -4.398 -2.129 -0.783 0.405 0.473 -1371 473 1 + -5.811 -5.380 -1.268 0.163 0.888 0.429 -1371 494 1 + -5.394 -5.225 -1.536 -0.116 0.786 0.608 -1371 473 1 + -4.997 -4.930 -1.695 -0.380 0.588 0.714 -1371 473 1 + -6.195 -5.401 -0.472 0.419 0.902 -0.102 -1372 494 1 + -6.134 -5.305 -0.035 0.378 0.838 -0.393 -1372 494 1 + -6.021 -5.094 0.349 0.303 0.698 -0.649 -1372 512 1 + -5.867 -4.789 0.644 0.200 0.495 -0.846 -1372 512 1 + -6.811 -5.326 -0.342 -0.206 0.978 0.030 -1372 494 1 + -6.670 -5.240 0.078 -0.300 0.921 -0.250 -1372 494 1 + -6.569 -5.028 0.464 -0.367 0.779 -0.508 -1372 512 1 + -6.518 -4.710 0.782 -0.401 0.568 -0.719 -1372 512 1 + -4.517 -4.776 -1.408 -0.700 0.486 0.523 -1374 473 1 + -4.424 -4.712 -1.375 -0.484 0.635 0.602 -1374 473 1 + -5.351 -4.695 0.711 -0.144 0.432 -0.890 -1375 512 1 + -5.253 -4.628 0.747 0.069 0.579 -0.812 -1375 512 1 + -4.908 -4.094 0.970 -0.161 0.223 -0.961 -1377 515 1 + -5.596 -3.818 1.119 0.131 0.589 -0.798 -1377 512 1 + -5.029 -3.697 1.160 -0.247 0.508 -0.825 1377 515 1 + -4.517 -3.461 1.016 -0.588 0.351 -0.729 -1377 515 1 + -5.675 -3.454 1.468 0.086 0.797 -0.598 -1377 512 1 + -5.099 -3.371 1.472 -0.298 0.741 -0.602 1377 515 1 + -4.591 -3.121 1.342 -0.636 0.575 -0.515 -1377 515 1 + -5.690 -3.210 1.915 0.077 0.936 -0.343 -1377 512 1 + -5.113 -3.152 1.873 -0.307 0.898 -0.315 1377 515 1 + -4.605 -2.893 1.760 -0.646 0.725 -0.240 -1377 515 1 + -5.640 -3.111 2.413 0.106 0.993 -0.058 -1377 512 1 + -5.068 -3.064 2.318 -0.275 0.961 0.004 1377 515 1 + -4.559 -2.801 2.225 -0.615 0.786 0.067 -1377 515 1 + -5.530 -3.168 2.907 0.169 0.960 0.224 -1377 512 1 + -4.970 -3.115 2.761 -0.205 0.925 0.322 1377 515 1 + -4.456 -2.854 2.688 -0.547 0.750 0.371 -1377 515 1 + -4.828 -3.301 3.153 -0.103 0.791 0.603 -1377 515 1 + -5.286 -3.548 3.739 0.202 0.956 0.212 -1378 512 1 + -5.175 -3.598 4.161 0.128 0.989 -0.069 -1378 512 1 + -5.047 -3.521 4.573 0.043 0.938 -0.344 -1378 602 1 + -4.913 -3.324 4.941 -0.046 0.807 -0.589 -1378 602 1 + -5.541 -3.544 3.818 -0.016 0.960 0.279 -1378 512 1 + -5.399 -3.594 4.229 -0.110 0.994 0.004 -1378 512 1 + -5.271 -3.517 4.642 -0.196 0.943 -0.271 -1378 602 1 + -5.168 -3.319 5.019 -0.264 0.811 -0.523 -1378 602 1 + -4.575 -3.295 4.887 -0.272 0.787 -0.553 -1379 602 1 + -4.407 -3.442 4.452 -0.384 0.885 -0.263 -1379 602 1 + -4.300 -3.448 3.975 -0.455 0.889 0.055 -1379 515 1 + -4.266 -3.312 3.507 -0.478 0.798 0.367 -1379 515 1 + -4.383 -3.228 4.928 -0.074 0.857 -0.511 -1379 602 1 + -4.255 -3.389 4.485 -0.160 0.963 -0.215 -1379 602 1 + -4.152 -3.396 4.007 -0.228 0.968 0.103 -1379 515 1 + -4.085 -3.248 3.546 -0.273 0.870 0.411 -1379 515 1 + -4.076 -4.109 0.515 -0.716 0.233 -0.658 -1381 515 1 + -3.877 -4.304 0.106 -0.849 0.363 -0.385 -1381 515 1 + -3.816 -4.439 -0.367 -0.889 0.453 -0.070 -1381 473 1 + -3.902 -4.500 -0.851 -0.832 0.494 0.253 -1381 473 1 + -4.123 -4.480 -1.294 -0.684 0.481 0.548 -1381 473 1 + -3.889 -3.471 0.722 -0.175 0.345 -0.922 -1381 515 1 + -3.793 -3.881 0.462 -0.239 0.618 -0.749 1381 515 1 + -3.736 -4.191 0.079 -0.276 0.825 -0.494 1381 515 1 + -3.725 -4.365 -0.385 -0.284 0.941 -0.184 1381 473 1 + -3.760 -4.385 -0.878 -0.261 0.954 0.145 1381 473 1 + -3.837 -4.249 -1.348 -0.209 0.864 0.458 1381 473 1 + -3.949 -3.972 -1.744 -0.135 0.679 0.722 -1381 473 1 + -3.429 -3.924 0.462 0.377 0.546 -0.748 -1381 515 1 + -3.556 -4.212 0.079 0.462 0.738 -0.493 -1381 515 1 + -3.607 -4.379 -0.385 0.495 0.849 -0.184 -1381 473 1 + -3.576 -4.407 -0.878 0.475 0.868 0.145 -1381 473 1 + -3.469 -4.293 -1.348 0.403 0.792 0.459 -1381 473 1 + -3.268 -3.932 0.525 0.270 0.551 -0.790 -1383 515 1 + -3.261 -4.248 0.227 0.265 0.762 -0.591 -1383 515 1 + -3.220 -4.468 -0.144 0.238 0.908 -0.344 -1383 471 1 + -3.150 -4.574 -0.559 0.191 0.979 -0.067 -1383 471 1 + -3.056 -4.558 -0.982 0.128 0.968 0.215 -1383 471 1 + -2.799 -3.746 0.872 0.543 0.164 -0.824 -1383 515 1 + -2.947 -4.077 0.633 0.641 0.384 -0.664 1383 515 1 + -3.014 -4.359 0.310 0.686 0.572 -0.449 1383 515 1 + -2.995 -4.569 -0.068 0.674 0.712 -0.197 1383 471 1 + -2.892 -4.691 -0.472 0.605 0.793 0.072 1383 471 1 + -2.713 -4.712 -0.866 0.485 0.808 0.335 1383 471 1 + -2.473 -4.633 -1.219 0.325 0.755 0.570 -1383 471 1 + -2.528 -4.123 1.078 0.721 -0.084 -0.688 -1383 515 1 + -2.750 -4.350 0.783 0.869 0.067 -0.491 1383 515 1 + -2.863 -4.569 0.426 0.944 0.213 -0.253 1383 515 1 + -2.857 -4.761 0.037 0.940 0.341 0.006 1383 471 1 + -2.734 -4.911 -0.351 0.858 0.441 0.265 1383 471 1 + -2.503 -5.005 -0.706 0.704 0.504 0.501 1383 471 1 + -2.183 -5.036 -0.998 0.491 0.524 0.696 -1383 471 1 + -2.728 -4.685 0.936 0.894 -0.319 -0.313 -1383 515 1 + -2.846 -4.826 0.544 0.973 -0.225 -0.051 -1383 515 1 + -2.841 -4.996 0.145 0.970 -0.112 0.215 -1383 471 1 + -2.716 -5.180 -0.227 0.886 0.011 0.463 -1383 471 1 + -2.479 -5.362 -0.542 0.728 0.132 0.672 -1383 471 1 + -2.727 -4.997 1.119 0.894 -0.111 -0.435 -1385 515 1 + -2.805 -5.429 0.874 0.946 0.177 -0.272 -1385 515 1 + -2.724 -5.831 0.584 0.892 0.445 -0.078 -1385 469 1 + -2.493 -6.159 0.281 0.738 0.663 0.124 -1385 469 1 + -2.687 -5.160 1.360 0.941 -0.306 -0.148 -1385 515 1 + -2.774 -5.559 1.067 0.998 -0.039 0.047 -1385 515 1 + -2.692 -5.965 0.782 0.944 0.231 0.237 -1385 469 1 + -2.451 -6.332 0.537 0.783 0.476 0.400 -1385 469 1 + -2.556 -5.333 1.865 0.853 -0.190 -0.485 -1387 513 1 + -2.465 -5.278 2.033 0.919 -0.151 -0.365 -1387 513 1 + -2.089 -4.682 2.241 0.668 -0.548 -0.504 -1389 515 1 + -1.713 -4.707 2.590 0.417 -0.532 -0.737 -1389 332 1 + -1.264 -4.824 2.810 0.118 -0.453 -0.883 -1389 332 1 + -2.198 -4.294 1.692 0.938 -0.197 -0.284 -1389 515 1 + -1.968 -4.310 2.152 0.785 -0.186 -0.590 1389 515 1 + -1.600 -4.359 2.507 0.540 -0.153 -0.827 1389 332 1 + -1.138 -4.435 2.717 0.232 -0.103 -0.967 1389 332 1 + -0.634 -4.529 2.757 -0.104 -0.040 -0.994 -1389 332 1 + -2.165 -3.801 1.745 0.960 0.128 -0.249 -1389 515 1 + -1.942 -3.912 2.194 0.811 0.202 -0.549 1389 515 1 + -1.576 -3.987 2.547 0.567 0.252 -0.784 1389 332 1 + -1.110 -4.018 2.762 0.257 0.273 -0.927 1389 332 1 + -0.599 -4.001 2.813 -0.084 0.261 -0.962 -1389 332 1 + -2.255 -3.358 1.952 0.901 0.419 -0.113 -1389 515 1 + -2.014 -3.554 2.361 0.741 0.550 -0.386 1389 515 1 + -1.643 -3.653 2.703 0.493 0.616 -0.614 1389 332 1 + -1.186 -3.644 2.936 0.188 0.610 -0.770 1389 332 1 + -0.695 -3.528 3.034 -0.139 0.532 -0.835 -1389 332 1 + -2.174 -3.297 2.625 0.585 0.800 -0.130 -1389 515 1 + -1.792 -3.413 2.949 0.331 0.878 -0.346 -1389 332 1 + -1.353 -3.375 3.212 0.038 0.852 -0.521 -1389 332 1 + -2.270 -3.218 2.635 0.649 0.748 -0.137 -1390 515 1 + -2.004 -3.301 2.975 0.472 0.803 -0.363 -1390 515 1 + -1.677 -3.280 3.268 0.255 0.789 -0.559 -1390 334 1 + -1.318 -3.158 3.489 0.015 0.708 -0.706 -1390 334 1 + -0.957 -2.945 3.620 -0.226 0.566 -0.793 -1390 334 1 + -2.786 -2.847 2.663 0.551 0.755 0.355 -1390 515 1 + -2.509 -3.080 2.911 0.366 0.911 0.189 1390 515 1 + -2.185 -3.197 3.183 0.150 0.989 0.008 1390 515 1 + -1.841 -3.186 3.457 -0.079 0.981 -0.175 1390 334 1 + -1.508 -3.049 3.708 -0.301 0.890 -0.342 1390 334 1 + -1.213 -2.797 3.915 -0.498 0.722 -0.480 1390 334 1 + -0.982 -2.453 4.060 -0.652 0.493 -0.577 -1390 334 1 + -2.737 -3.152 3.220 0.097 0.827 0.554 -1390 515 1 + -2.357 -3.251 3.417 -0.156 0.892 0.423 -1390 515 1 + -1.997 -3.235 3.668 -0.396 0.882 0.256 -1390 334 1 + -1.688 -3.105 3.952 -0.602 0.796 0.066 -1390 334 1 + -1.457 -2.874 4.245 -0.757 0.641 -0.129 -1390 334 1 + -0.186 -2.787 3.436 -0.197 0.302 -0.933 -1392 334 1 + -0.468 -3.315 3.172 -0.009 0.654 -0.757 -1392 332 1 + 0.268 -2.987 3.353 0.063 0.187 -0.980 -1392 334 1 + -0.013 -3.515 3.089 0.251 0.539 -0.804 -1392 332 1 + 0.699 -3.243 3.406 0.309 0.041 -0.950 -1392 334 1 + 0.417 -3.771 3.142 0.497 0.393 -0.774 -1392 332 1 + 1.153 -3.997 3.622 0.463 0.186 -0.867 -1394 334 1 + 1.308 -4.434 3.525 0.360 0.477 -0.802 -1394 334 1 + 1.517 -4.800 3.308 0.221 0.721 -0.657 -1394 315 1 + 1.758 -5.058 2.992 0.060 0.893 -0.446 -1394 315 1 + 2.009 -5.182 2.610 -0.107 0.976 -0.191 -1394 315 1 + 1.557 -4.137 4.112 0.967 0.010 -0.255 -1394 334 1 + 1.566 -4.524 3.838 0.961 0.268 -0.073 -1394 334 1 + 1.719 -4.870 3.553 0.859 0.499 0.117 -1394 315 1 + 2.001 -5.142 3.286 0.671 0.680 0.295 -1394 315 1 + 2.382 -5.312 3.063 0.416 0.793 0.444 -1394 315 1 + 2.890 -5.551 3.288 0.078 0.953 0.294 -1396 314 1 + 2.446 -5.490 3.475 0.374 0.912 0.169 -1396 314 1 + 2.919 -5.610 3.414 0.129 0.849 0.512 -1396 314 1 + 2.455 -5.509 3.516 0.438 0.782 0.444 -1396 314 1 + 1.595 -4.210 4.228 0.941 0.059 -0.332 -1397 334 1 + 1.646 -4.661 4.055 0.907 0.360 -0.218 -1397 334 1 + 1.624 -4.270 4.353 0.992 -0.045 -0.114 -1397 334 1 + 1.656 -4.681 4.096 0.972 0.230 0.057 -1397 334 1 + 1.990 -3.562 4.806 0.749 -0.516 -0.416 -1399 334 1 + 2.329 -3.327 4.967 0.523 -0.673 -0.523 -1399 334 1 + 2.736 -3.179 5.059 0.251 -0.772 -0.585 -1399 277 1 + 3.176 -3.133 5.074 -0.042 -0.803 -0.595 -1399 277 1 + 1.675 -3.399 4.201 0.867 -0.048 -0.496 -1399 334 1 + 1.932 -3.194 4.498 0.696 -0.184 -0.694 1399 334 1 + 2.279 -3.014 4.704 0.464 -0.305 -0.832 1399 334 1 + 2.688 -2.873 4.802 0.192 -0.399 -0.897 1399 277 1 + 3.121 -2.784 4.782 -0.097 -0.458 -0.884 1399 277 1 + 3.542 -2.755 4.648 -0.377 -0.477 -0.794 -1399 277 1 + 1.512 -2.822 4.077 0.774 0.282 -0.567 -1399 334 1 + 1.803 -2.739 4.400 0.580 0.226 -0.783 1399 334 1 + 2.170 -2.626 4.621 0.336 0.151 -0.930 1399 334 1 + 2.581 -2.493 4.720 0.062 0.063 -0.996 1399 277 1 + 2.999 -2.352 4.690 -0.217 -0.031 -0.976 1399 277 1 + 3.389 -2.216 4.531 -0.477 -0.122 -0.870 -1399 277 1 + 1.300 -2.274 4.249 0.653 0.595 -0.469 -1399 334 1 + 1.636 -2.306 4.536 0.429 0.617 -0.660 1399 334 1 + 2.027 -2.257 4.736 0.168 0.584 -0.794 1399 334 1 + 2.441 -2.133 4.833 -0.108 0.501 -0.859 1399 277 1 + 2.841 -1.942 4.818 -0.374 0.374 -0.848 1399 277 1 + 3.191 -1.703 4.692 -0.608 0.215 -0.764 -1399 277 1 + 1.090 -1.887 4.675 0.533 0.816 -0.225 -1399 334 1 + 1.470 -2.001 4.872 0.280 0.891 -0.357 1399 334 1 + 1.886 -1.998 5.023 0.002 0.889 -0.457 1399 334 1 + 2.303 -1.879 5.114 -0.276 0.810 -0.518 1399 277 1 + 2.683 -1.654 5.137 -0.529 0.660 -0.533 1399 277 1 + 2.995 -1.342 5.091 -0.737 0.452 -0.502 -1399 277 1 + 1.346 -1.898 5.328 0.168 0.984 0.055 -1399 334 1 + 1.781 -1.910 5.411 -0.122 0.993 -0.001 -1399 334 1 + 2.200 -1.793 5.494 -0.401 0.914 -0.056 -1399 277 1 + 2.566 -1.556 5.569 -0.645 0.756 -0.106 -1399 277 1 + 0.723 -1.660 5.821 0.362 0.911 -0.199 -1403 334 1 + 0.755 -1.474 6.294 0.341 0.787 -0.514 -1403 334 1 + 0.845 -1.153 6.678 0.281 0.573 -0.770 -1403 66 1 + 0.983 -0.732 6.929 0.189 0.293 -0.937 -1403 66 1 + 0.224 -1.590 5.355 0.038 0.986 0.164 -1403 334 1 + 0.341 -1.589 5.851 -0.040 0.985 -0.167 1403 334 1 + 0.450 -1.418 6.318 -0.113 0.871 -0.478 1403 334 1 + 0.540 -1.097 6.702 -0.173 0.657 -0.734 1403 66 1 + 0.601 -0.662 6.959 -0.213 0.367 -0.906 1403 66 1 + 0.624 -0.163 7.060 -0.228 0.035 -0.973 -1403 66 1 + -0.015 -1.660 5.994 -0.413 0.910 -0.017 -1403 334 1 + 0.167 -1.475 6.431 -0.535 0.787 -0.308 -1403 334 1 + 0.257 -1.153 6.816 -0.595 0.572 -0.564 -1403 66 1 + 0.245 -0.733 7.102 -0.587 0.292 -0.755 -1403 66 1 + -0.210 -1.732 6.030 -0.283 0.958 -0.040 -1404 334 1 + -0.195 -1.627 6.499 -0.293 0.888 -0.353 -1404 334 1 + -0.226 -1.385 6.915 -0.273 0.727 -0.630 -1404 64 1 + -0.298 -1.031 7.232 -0.224 0.491 -0.842 -1404 64 1 + -0.541 -1.898 6.102 -0.600 0.799 0.029 -1404 334 1 + -0.471 -1.765 6.560 -0.647 0.711 -0.276 -1404 334 1 + -0.502 -1.523 6.975 -0.626 0.550 -0.553 -1404 64 1 + -0.629 -1.196 7.305 -0.542 0.332 -0.772 -1404 64 1 + -0.645 -0.102 7.672 -0.289 0.489 -0.823 -1406 64 1 + -0.108 0.237 7.511 -0.647 0.263 -0.716 -1406 66 1 + -0.780 0.313 8.094 -0.367 0.726 -0.582 -1406 64 1 + -0.243 0.652 7.933 -0.724 0.500 -0.474 -1406 66 1 + -0.363 0.944 8.776 -0.663 0.652 -0.369 -1408 65 1 + -0.364 0.944 8.779 -0.663 0.652 -0.367 -1408 65 1 + -0.604 0.846 8.950 -0.504 0.718 -0.481 -1410 64 1 + -0.479 1.193 9.200 -0.587 0.486 -0.647 -1410 63 1 + -0.605 0.845 8.951 -0.504 0.718 -0.480 -1410 64 1 + -0.480 1.193 9.201 -0.587 0.486 -0.647 -1410 63 1 + -1.164 0.315 8.486 -0.586 0.727 -0.358 -1411 64 1 + -1.512 0.489 9.012 -0.354 0.611 -0.708 -1411 62 1 + -1.465 -0.057 8.410 -0.758 0.514 -0.401 -1411 64 1 + -1.813 0.117 8.936 -0.526 0.398 -0.751 -1411 62 1 + -0.745 1.129 9.344 -0.411 0.529 -0.742 -1413 63 1 + -0.764 1.140 9.364 -0.424 0.536 -0.730 -1413 63 1 + -1.581 0.778 9.389 -0.394 0.776 -0.493 -1414 62 1 + -1.402 1.281 9.755 -0.513 0.441 -0.737 -1414 61 1 + -1.938 0.699 9.673 -0.598 0.731 -0.330 -1414 62 1 + -1.759 1.202 10.039 -0.717 0.395 -0.574 -1414 61 1 + -1.112 1.626 9.840 -0.347 0.637 -0.688 -1415 61 1 + -0.579 1.960 9.677 -0.702 0.415 -0.579 -1415 63 1 + -1.169 1.900 10.214 -0.380 0.794 -0.474 -1415 61 1 + -0.636 2.234 10.050 -0.735 0.571 -0.365 -1415 63 1 + -0.194 2.042 9.386 -0.483 0.461 -0.744 -1417 63 1 + 0.159 1.875 8.863 -0.718 0.572 -0.396 -1417 65 1 + 0.132 2.402 9.493 -0.296 0.667 -0.684 -1417 63 1 + 0.486 2.235 8.970 -0.532 0.778 -0.335 -1417 65 1 + 0.521 2.654 9.675 -0.074 0.812 -0.579 -1417 63 1 + 0.874 2.488 9.152 -0.310 0.922 -0.231 -1417 65 1 + 0.937 2.778 9.917 0.164 0.882 -0.441 -1417 63 1 + 1.291 2.612 9.394 -0.072 0.993 -0.092 -1417 65 1 + 1.347 2.763 10.199 0.398 0.874 -0.280 -1417 63 1 + 1.701 2.596 9.676 0.163 0.984 0.069 -1417 65 1 + 1.715 2.609 10.497 0.609 0.786 -0.110 -1417 63 1 + 2.069 2.443 9.974 0.373 0.897 0.239 -1417 65 1 + 2.010 2.331 10.785 0.777 0.627 0.055 -1417 63 1 + 2.364 2.164 10.262 0.542 0.737 0.404 -1417 65 1 + 2.499 1.523 11.068 0.696 0.695 0.181 -1419 63 1 + 2.914 1.219 11.130 0.419 0.897 0.139 -1419 79 1 + 3.405 1.076 11.217 0.092 0.992 0.082 -1419 79 1 + 2.440 1.482 11.305 0.645 0.660 0.385 -1419 63 1 + 2.860 1.182 11.347 0.365 0.860 0.357 -1419 79 1 + 3.346 1.036 11.453 0.041 0.957 0.286 -1419 79 1 + 2.323 1.511 11.494 0.723 0.640 0.260 -1421 63 1 + 2.614 1.213 11.692 0.529 0.839 0.127 -1421 78 1 + 2.980 1.034 11.909 0.285 0.958 -0.017 -1421 78 1 + 2.222 1.526 11.672 0.641 0.652 0.405 -1421 63 1 + 2.521 1.227 11.857 0.442 0.852 0.282 -1421 78 1 + 2.883 1.048 12.081 0.201 0.971 0.132 -1421 78 1 + 2.153 1.538 11.777 0.687 0.644 0.335 -1423 63 1 + 2.391 1.251 12.056 0.529 0.836 0.148 -1423 63 1 + 2.705 1.085 12.358 0.319 0.946 -0.053 -1423 69 1 + 3.066 1.056 12.652 0.079 0.965 -0.248 -1423 69 1 + 2.043 1.566 11.907 0.586 0.670 0.455 -1423 63 1 + 2.297 1.275 12.168 0.417 0.864 0.281 -1423 63 1 + 2.611 1.109 12.469 0.207 0.975 0.080 -1423 69 1 + 2.956 1.084 12.782 -0.022 0.991 -0.129 -1423 69 1 + 1.665 1.897 12.126 0.838 0.450 0.309 -1424 63 1 + 1.578 1.905 12.585 0.896 0.444 0.003 -1424 59 1 + 1.622 1.978 13.044 0.867 0.396 -0.303 -1424 59 1 + 1.473 2.437 11.658 0.470 0.687 0.554 -1424 63 1 + 1.332 2.298 12.081 0.564 0.780 0.272 1424 63 1 + 1.274 2.272 12.544 0.603 0.797 -0.037 1424 59 1 + 1.303 2.362 13.001 0.583 0.737 -0.341 1424 59 1 + 1.416 2.559 13.408 0.508 0.605 -0.613 -1424 59 1 + 0.897 2.689 11.629 0.141 0.832 0.537 -1424 63 1 + 0.854 2.507 12.057 0.169 0.953 0.252 1424 63 1 + 0.836 2.464 12.522 0.181 0.982 -0.058 1424 59 1 + 0.844 2.563 12.978 0.176 0.916 -0.362 1424 59 1 + 0.878 2.795 13.381 0.153 0.761 -0.631 -1424 59 1 + 0.332 2.481 12.059 -0.261 0.931 0.254 -1424 63 1 + 0.358 2.440 12.524 -0.278 0.959 -0.056 -1424 59 1 + 0.344 2.538 12.980 -0.269 0.893 -0.360 -1424 59 1 + 2.077 1.725 13.494 0.563 0.565 -0.603 -1426 59 1 + 2.450 1.428 13.437 0.315 0.763 -0.565 -1426 69 1 + 2.871 1.248 13.293 0.034 0.883 -0.469 -1426 69 1 + 1.964 2.230 13.870 0.868 0.389 -0.309 -1426 59 1 + 2.222 1.827 13.839 0.695 0.658 -0.289 1426 59 1 + 2.588 1.525 13.764 0.452 0.859 -0.239 1426 69 1 + 3.022 1.355 13.653 0.162 0.973 -0.165 1426 69 1 + 3.482 1.334 13.516 -0.144 0.987 -0.074 -1426 69 1 + 2.297 1.811 14.220 0.764 0.643 0.057 -1426 59 1 + 2.659 1.510 14.126 0.523 0.844 0.120 -1426 69 1 + 3.100 1.338 14.050 0.228 0.959 0.170 -1426 69 1 + 2.290 1.819 14.383 0.768 0.638 -0.052 -1428 59 1 + 2.636 1.518 14.436 0.538 0.839 -0.087 -1428 68 1 + 1.980 2.217 14.779 0.879 0.380 0.289 -1428 59 1 + 2.223 1.824 14.805 0.717 0.642 0.272 1428 59 1 + 2.568 1.523 14.869 0.487 0.843 0.229 1428 68 1 + 2.982 1.342 14.966 0.211 0.964 0.164 -1428 68 1 + 1.807 2.116 15.196 0.765 0.314 0.563 -1428 59 1 + 2.063 1.731 15.189 0.594 0.570 0.567 1428 59 1 + 2.403 1.428 15.264 0.367 0.773 0.518 1428 68 1 + 2.796 1.234 15.412 0.105 0.902 0.419 -1428 68 1 + 1.827 1.550 15.495 0.413 0.431 0.803 -1428 59 1 + 2.161 1.241 15.578 0.190 0.636 0.748 -1428 68 1 + 1.594 1.513 15.671 0.569 0.455 0.685 -1430 59 1 + 1.706 1.164 15.900 0.493 0.688 0.533 -1430 59 1 + 1.881 0.901 16.196 0.377 0.863 0.336 -1430 72 1 + 2.102 0.745 16.533 0.230 0.967 0.111 -1430 72 1 + 1.285 1.507 15.843 0.272 0.449 0.851 -1430 59 1 + 1.432 1.159 16.053 0.174 0.681 0.711 -1430 59 1 + 1.601 0.895 16.352 0.061 0.857 0.512 -1430 72 1 + 1.777 0.739 16.715 -0.056 0.961 0.270 -1430 72 1 + 1.109 1.459 15.942 0.389 0.481 0.786 -1432 59 1 + 1.110 1.087 16.275 0.388 0.729 0.564 -1432 73 1 + 1.176 0.836 16.701 0.344 0.896 0.279 -1432 73 1 + 0.698 1.506 16.011 0.001 0.525 0.851 -1432 59 1 + 0.724 1.130 16.340 -0.017 0.775 0.632 -1432 73 1 + 0.747 0.884 16.774 -0.032 0.939 0.343 -1432 73 1 + 0.599 1.496 16.021 0.067 0.531 0.845 -1434 59 1 + 0.537 1.119 16.368 0.108 0.783 0.613 -1434 59 1 + 0.495 0.881 16.825 0.136 0.941 0.309 -1434 75 1 + 0.477 0.810 17.336 0.148 0.988 -0.032 -1434 75 1 + 0.198 1.452 15.956 -0.436 0.475 0.764 -1434 59 1 + 0.227 1.084 16.318 -0.456 0.720 0.522 -1434 59 1 + 0.176 0.845 16.773 -0.422 0.880 0.219 -1434 75 1 + 0.049 0.763 17.267 -0.337 0.935 -0.110 -1434 75 1 + -0.319 1.739 15.671 -0.092 0.284 0.954 -1435 59 1 + -0.740 1.611 15.737 0.188 0.369 0.910 -1435 59 1 + -1.136 1.532 15.924 0.453 0.422 0.786 -1435 59 1 + -1.473 1.509 16.214 0.677 0.437 0.592 -1435 37 1 + -1.720 1.543 16.583 0.842 0.414 0.346 -1435 37 1 + -1.856 1.633 16.997 0.932 0.355 0.070 -1435 37 1 + -0.426 1.917 15.558 -0.270 0.580 0.769 -1435 59 1 + -0.790 1.694 15.685 -0.027 0.728 0.685 -1435 59 1 + -1.158 1.568 15.901 0.218 0.813 0.540 -1435 59 1 + -1.496 1.548 16.189 0.444 0.826 0.348 -1435 37 1 + -1.776 1.638 16.523 0.630 0.766 0.125 -1435 37 1 + -1.973 1.829 16.874 0.762 0.639 -0.108 -1435 37 1 + -1.668 1.420 17.580 0.807 0.497 -0.319 -1437 37 1 + -1.367 1.133 17.700 0.606 0.688 -0.399 -1437 37 1 + -0.990 0.932 17.770 0.355 0.822 -0.445 -1437 75 1 + -0.568 0.834 17.784 0.074 0.888 -0.455 -1437 75 1 + -1.663 1.505 17.798 0.811 0.569 -0.135 -1437 37 1 + -1.362 1.208 17.892 0.611 0.766 -0.198 -1437 37 1 + -0.985 1.007 17.962 0.360 0.900 -0.245 -1437 75 1 + -0.563 0.919 18.002 0.078 0.959 -0.271 -1437 75 1 + -1.320 1.278 18.161 0.583 0.720 -0.377 -1440 38 1 + -0.954 1.062 18.154 0.339 0.864 -0.372 -1440 75 1 + -0.547 0.949 18.101 0.067 0.939 -0.337 -1440 75 1 + -1.264 1.309 18.880 0.629 0.746 0.221 -1440 38 1 + -0.900 1.091 18.850 0.386 0.891 0.241 -1440 75 1 + -0.489 0.981 18.849 0.112 0.964 0.241 -1440 75 1 + -1.278 1.289 19.012 0.638 0.759 0.133 -1441 38 1 + -0.922 1.057 19.104 0.401 0.913 0.071 -1441 38 1 + -0.517 0.940 19.205 0.130 0.991 0.004 -1441 77 1 + -0.095 0.948 19.307 -0.151 0.986 -0.064 -1441 77 1 + -1.322 1.279 19.177 0.595 0.749 0.292 -1441 38 1 + -0.962 1.049 19.251 0.355 0.903 0.243 -1441 38 1 + -0.557 0.931 19.355 0.085 0.981 0.173 -1441 77 1 + -0.141 0.937 19.481 -0.192 0.977 0.090 -1441 77 1 + 0.671 1.144 19.130 -0.212 0.936 -0.280 -1443 77 1 + 0.298 1.053 18.607 0.036 0.997 0.068 -1443 75 1 + 1.045 1.088 18.874 0.001 0.904 -0.427 -1443 77 1 + 0.672 0.997 18.351 0.250 0.965 -0.079 -1443 75 1 + 1.458 1.141 19.156 0.237 0.934 -0.266 -1445 77 1 + 2.109 1.112 19.098 -0.197 0.954 -0.227 -1445 76 1 + 1.509 1.190 19.709 0.267 0.963 0.050 -1445 77 1 + 2.160 1.161 19.651 -0.167 0.982 0.089 -1445 76 1 + 1.551 1.058 20.249 0.291 0.887 0.359 -1445 77 1 + 2.202 1.029 20.192 -0.143 0.906 0.398 -1445 76 1 + 1.580 0.759 20.719 0.307 0.716 0.627 -1445 77 1 + 2.230 0.729 20.661 -0.127 0.735 0.666 -1445 76 1 + 1.534 -0.001 21.348 0.351 0.683 0.640 -1446 77 1 + 1.521 -0.240 21.708 0.360 0.843 0.400 -1446 77 1 + 1.552 -0.374 22.117 0.339 0.932 0.127 -1446 161 1 + 1.626 -0.392 22.543 0.290 0.944 -0.156 -1446 161 1 + 1.334 0.047 21.379 0.183 0.723 0.666 -1446 77 1 + 1.344 -0.198 21.735 0.177 0.886 0.429 -1446 77 1 + 1.375 -0.332 22.145 0.156 0.975 0.156 -1446 161 1 + 1.426 -0.345 22.574 0.122 0.984 -0.130 -1446 161 1 + 1.809 -0.440 22.519 0.168 0.976 -0.140 -1448 161 1 + 1.906 -0.449 22.069 0.103 0.982 0.159 -1448 161 1 + 2.017 -0.319 21.642 0.029 0.896 0.444 -1448 76 1 + 2.133 -0.064 21.278 -0.048 0.725 0.687 -1448 76 1 + 2.461 -0.803 22.579 0.757 0.648 -0.086 -1448 161 1 + 2.466 -0.761 22.121 0.754 0.620 0.219 -1448 161 1 + 2.578 -0.631 21.694 0.679 0.533 0.504 -1448 76 1 + 2.785 -0.427 21.338 0.541 0.397 0.741 -1448 76 1 + 2.892 -1.039 22.994 0.470 0.805 -0.362 -1450 161 1 + 3.282 -1.222 22.916 0.210 0.927 -0.310 -1450 159 1 + 2.692 -0.707 23.565 0.764 0.641 -0.075 -1450 161 1 + 3.012 -0.996 23.491 0.551 0.834 -0.025 1450 161 1 + 3.401 -1.179 23.413 0.291 0.956 0.027 1450 159 1 + 3.828 -1.240 23.338 0.007 0.997 0.076 -1450 159 1 + 2.739 -0.837 24.105 0.790 0.567 0.234 -1450 161 1 + 3.054 -1.116 23.987 0.580 0.753 0.312 1450 161 1 + 3.444 -1.299 23.910 0.320 0.875 0.364 1450 159 1 + 3.874 -1.371 23.878 0.033 0.922 0.385 -1450 159 1 + 2.696 -1.129 24.578 0.766 0.400 0.504 -1450 161 1 + 3.015 -1.385 24.422 0.553 0.571 0.607 1450 161 1 + 3.404 -1.568 24.345 0.293 0.693 0.659 1450 159 1 + 3.831 -1.662 24.351 0.009 0.756 0.655 -1450 159 1 + 2.569 -1.546 24.925 0.693 0.162 0.702 -1450 161 1 + 2.898 -1.768 24.742 0.474 0.310 0.824 1450 161 1 + 3.288 -1.951 24.664 0.214 0.432 0.876 1450 159 1 + 3.705 -2.079 24.698 -0.064 0.518 0.853 -1450 159 1 + 2.719 -2.220 24.907 0.352 0.004 0.936 -1450 161 1 + 3.109 -2.403 24.829 0.093 0.126 0.988 -1450 159 1 + 2.379 -2.473 25.115 0.579 0.173 0.797 -1452 161 1 + 2.457 -2.887 25.228 0.527 0.449 0.722 -1452 161 1 + 2.602 -3.245 25.433 0.430 0.687 0.585 -1452 157 1 + 2.802 -3.515 25.712 0.297 0.867 0.399 -1452 157 1 + 2.042 -2.514 25.288 0.280 0.136 0.950 -1452 161 1 + 2.168 -2.923 25.377 0.196 0.408 0.892 -1452 161 1 + 2.319 -3.279 25.578 0.095 0.646 0.757 -1452 157 1 + 2.482 -3.554 25.876 -0.014 0.829 0.559 -1452 157 1 + 1.573 -2.105 25.523 0.592 -0.137 0.794 -1454 161 1 + 1.268 -2.139 25.822 0.796 -0.114 0.595 -1454 193 1 + 1.060 -2.187 26.194 0.934 -0.082 0.347 -1454 193 1 + 1.894 -1.586 25.344 0.307 0.139 0.942 -1454 161 1 + 1.523 -1.674 25.542 0.554 0.197 0.809 1454 161 1 + 1.221 -1.736 25.840 0.755 0.239 0.611 1454 193 1 + 1.012 -1.770 26.213 0.895 0.261 0.362 1454 193 1 + 0.912 -1.772 26.630 0.961 0.262 0.084 -1454 193 1 + 1.695 -1.129 25.264 0.194 0.400 0.896 -1454 161 1 + 1.352 -1.279 25.473 0.422 0.501 0.756 1454 161 1 + 1.062 -1.369 25.776 0.616 0.560 0.554 1454 193 1 + 0.847 -1.389 26.146 0.759 0.574 0.307 1454 193 1 + 0.725 -1.340 26.554 0.840 0.541 0.035 -1454 193 1 + 1.380 -0.773 25.091 0.014 0.604 0.797 -1454 161 1 + 1.082 -0.973 25.325 0.213 0.737 0.641 1454 161 1 + 0.809 -1.083 25.637 0.395 0.810 0.433 1454 193 1 + 0.585 -1.093 26.003 0.544 0.817 0.189 1454 193 1 + 0.428 -1.004 26.392 0.649 0.758 -0.070 -1454 193 1 + 0.746 -0.793 25.115 -0.046 0.876 0.480 -1454 161 1 + 0.496 -0.915 25.442 0.120 0.958 0.262 -1454 193 1 + 0.260 -0.919 25.801 0.277 0.961 0.023 -1454 193 1 + -0.782 0.352 26.143 0.972 0.113 -0.205 -1455 804 1 + -0.729 -0.003 25.834 0.937 0.350 0.000 -1455 804 1 + -0.955 0.450 25.884 0.637 0.302 -0.709 -1455 804 1 + -0.784 0.028 25.751 0.524 0.583 -0.621 -1455 804 1 + 0.510 -0.655 24.919 0.110 0.784 0.610 -1456 161 1 + 0.049 -0.619 25.090 0.418 0.761 0.497 -1456 161 1 + 0.326 -0.551 24.642 -0.216 0.969 0.119 -1456 161 1 + -0.010 -0.586 25.001 0.008 0.993 -0.121 -1456 161 1 + -0.675 0.268 26.434 0.901 0.169 -0.400 -1458 804 1 + -0.535 -0.165 26.393 0.808 0.458 -0.372 -1458 193 1 + -0.283 -0.535 26.299 0.639 0.704 -0.309 -1458 193 1 + -0.574 0.695 26.935 0.987 -0.155 -0.052 -1458 804 1 + -0.578 0.243 26.867 0.989 0.146 -0.006 1458 804 1 + -0.444 -0.189 26.798 0.900 0.434 0.040 1458 193 1 + -0.185 -0.560 26.734 0.727 0.682 0.082 1458 193 1 + 0.176 -0.836 26.682 0.486 0.866 0.117 -1458 193 1 + -0.661 0.570 27.441 0.930 -0.237 0.281 -1458 804 1 + -0.651 0.138 27.292 0.923 0.051 0.381 1458 804 1 + -0.512 -0.287 27.196 0.831 0.334 0.445 1458 193 1 + -0.258 -0.666 27.162 0.661 0.587 0.468 1458 193 1 + 0.089 -0.962 27.193 0.430 0.784 0.447 -1458 193 1 + -0.933 0.372 27.848 0.751 -0.368 0.549 -1458 804 1 + -0.880 -0.029 27.634 0.715 -0.101 0.692 1458 804 1 + -0.727 -0.443 27.516 0.613 0.176 0.770 1458 193 1 + -0.488 -0.833 27.506 0.454 0.436 0.777 1458 193 1 + -0.186 -1.163 27.604 0.253 0.655 0.712 -1458 193 1 + -1.343 0.136 28.083 0.481 -0.523 0.704 -1458 804 1 + -1.224 -0.227 27.831 0.402 -0.281 0.871 1458 804 1 + -1.049 -0.629 27.701 0.285 -0.013 0.958 1458 193 1 + -0.835 -1.033 27.704 0.142 0.256 0.956 1458 193 1 + -0.600 -1.401 27.841 -0.014 0.501 0.865 -1458 193 1 + -1.623 -0.422 27.849 0.039 -0.459 0.888 -1458 804 1 + -1.422 -0.811 27.718 -0.094 -0.199 0.975 -1458 193 1 + -1.236 -1.229 27.722 -0.219 0.079 0.972 -1458 193 1 + -2.270 -0.220 28.202 0.471 -0.593 0.653 -1460 804 1 + -2.651 -0.434 28.399 0.725 -0.450 0.521 -1460 805 1 + -1.914 0.390 28.426 0.105 -0.356 0.929 -1460 804 1 + -2.359 0.225 28.495 0.402 -0.246 0.882 1460 804 1 + -2.742 0.023 28.700 0.657 -0.110 0.746 1460 805 1 + -3.024 -0.197 29.019 0.845 0.036 0.533 -1460 805 1 + -2.131 0.929 28.533 -0.037 -0.001 0.999 -1460 804 1 + -2.557 0.718 28.593 0.247 0.140 0.959 1460 804 1 + -2.945 0.528 28.801 0.506 0.266 0.821 1460 805 1 + -3.256 0.379 29.134 0.713 0.365 0.598 -1460 805 1 + -2.829 1.170 28.479 0.034 0.493 0.869 -1460 804 1 + -3.225 0.992 28.683 0.298 0.612 0.733 -1460 805 1 + -1.514 3.738 29.372 -0.635 -0.767 0.091 -1464 825 1 + -1.418 3.512 28.967 -0.699 -0.617 0.361 -1464 825 1 + -0.834 3.818 28.984 0.525 -0.631 -0.571 -1464 825 1 + -1.187 3.540 28.835 0.761 -0.445 -0.472 -1464 825 1 + -1.970 2.092 28.183 -0.331 0.330 0.884 -1465 804 1 + -1.713 2.464 28.218 -0.502 0.081 0.861 -1465 804 1 + -1.333 2.167 27.820 0.859 0.470 0.205 -1465 804 1 + -1.496 2.490 28.094 0.967 0.255 0.022 -1465 804 1 + -1.259 2.327 27.433 0.809 0.363 0.462 -1467 804 1 + -1.336 2.804 27.366 0.861 0.046 0.507 -1467 804 1 + -1.278 3.287 27.379 0.821 -0.277 0.499 -1467 819 1 + -1.089 3.727 27.471 0.695 -0.570 0.437 -1467 819 1 + -1.199 2.323 27.308 0.879 0.359 0.315 -1467 804 1 + -1.289 2.800 27.266 0.939 0.040 0.343 -1467 804 1 + -1.230 3.284 27.279 0.899 -0.282 0.335 -1467 819 1 + -1.029 3.723 27.345 0.765 -0.575 0.291 -1467 819 1 + -1.116 2.274 27.164 0.823 0.392 0.411 -1468 804 1 + -1.144 2.701 26.988 0.842 0.107 0.529 -1468 811 1 + -0.764 1.691 26.880 0.862 0.500 -0.088 -1468 804 1 + -0.926 2.078 26.685 0.969 0.242 0.042 1468 804 1 + -0.949 2.500 26.496 0.985 -0.040 0.168 1468 811 1 + -0.832 2.917 26.331 0.906 -0.317 0.279 -1468 811 1 + -0.808 1.436 26.341 0.833 0.333 -0.443 -1468 804 1 + -0.967 1.844 26.188 0.938 0.061 -0.340 1468 804 1 + -0.991 2.260 25.985 0.955 -0.216 -0.205 1468 811 1 + -0.879 2.645 25.754 0.880 -0.473 -0.051 -1468 811 1 + -1.230 1.612 25.762 0.736 -0.117 -0.667 -1468 804 1 + -1.261 2.022 25.549 0.756 -0.390 -0.525 -1468 811 1 + -0.960 3.668 27.122 0.719 -0.538 0.439 -1469 819 1 + -0.783 3.321 26.448 0.934 -0.086 0.346 -1469 811 1 + -0.718 3.828 26.727 0.891 -0.425 0.159 1469 819 1 + -0.452 4.239 27.042 0.714 -0.699 -0.051 -1469 819 1 + -0.678 3.591 25.987 0.994 0.068 0.082 -1469 811 1 + -0.624 4.071 26.312 0.958 -0.252 -0.135 1469 819 1 + -0.353 4.494 26.607 0.778 -0.534 -0.332 -1469 819 1 + -0.689 4.367 25.927 0.912 -0.042 -0.408 -1469 819 1 + -0.734 4.204 28.122 0.459 -0.888 0.003 -1471 819 1 + -0.600 4.178 28.612 0.370 -0.871 -0.324 -1471 825 1 + -0.332 4.538 28.023 0.779 -0.623 -0.075 -1471 819 1 + -0.189 4.520 28.511 0.683 -0.610 -0.401 -1471 825 1 + -0.123 4.756 27.989 0.639 -0.767 -0.053 -1472 823 1 + -0.088 4.833 27.170 0.948 -0.315 0.032 -1472 819 1 + 0.118 5.120 27.656 0.811 -0.506 -0.292 1472 823 1 + 0.518 5.284 28.071 0.545 -0.616 -0.569 -1472 823 1 + 0.174 5.587 27.373 0.852 -0.172 -0.495 -1472 823 1 + 0.675 5.044 28.764 0.634 -0.753 -0.173 -1474 823 1 + 0.498 4.563 29.250 0.752 -0.433 -0.497 -1474 825 1 + 0.970 5.323 29.147 0.803 -0.595 0.045 -1474 823 1 + 0.793 4.841 29.633 0.921 -0.274 -0.279 -1474 825 1 + 1.103 5.682 29.551 0.879 -0.389 0.277 -1474 823 1 + 0.926 5.201 30.037 0.997 -0.068 -0.047 -1474 825 1 + 1.256 6.272 29.507 0.966 -0.052 0.252 -1475 823 1 + 1.372 6.877 29.824 0.890 -0.455 0.040 -1475 824 1 + 1.310 6.498 29.057 0.997 0.077 -0.006 -1475 823 1 + 1.425 7.102 29.374 0.920 -0.326 -0.217 -1475 824 1 + 1.215 6.743 28.625 0.943 0.217 -0.253 -1475 823 1 + 1.330 7.347 28.942 0.866 -0.186 -0.464 -1475 824 1 + 0.923 6.171 30.309 0.945 -0.216 0.246 -1476 825 1 + 1.019 6.798 30.675 0.688 -0.500 0.526 -1476 824 1 + 0.778 6.271 30.702 0.849 -0.149 0.508 1476 825 1 + 0.727 5.712 30.844 0.883 0.224 0.413 -1476 825 1 + 0.750 6.925 31.030 0.534 -0.427 0.729 -1476 824 1 + 0.528 6.390 31.033 0.683 -0.071 0.727 1476 825 1 + 0.458 5.839 31.199 0.729 0.297 0.617 -1476 825 1 + 0.391 7.062 31.289 0.329 -0.349 0.877 -1476 824 1 + 0.193 6.518 31.275 0.461 0.014 0.887 1476 825 1 + 0.099 5.976 31.458 0.524 0.375 0.765 -1476 825 1 + -0.029 7.197 31.431 0.089 -0.272 0.958 -1476 824 1 + -0.198 6.643 31.406 0.202 0.097 0.975 1476 825 1 + -0.321 6.111 31.600 0.284 0.452 0.846 -1476 825 1 + -0.476 7.319 31.443 -0.166 -0.202 0.965 -1476 824 1 + -0.614 6.757 31.418 -0.074 0.173 0.982 1476 825 1 + -0.768 6.233 31.612 0.029 0.522 0.853 -1476 825 1 + -0.913 7.419 31.325 -0.416 -0.145 0.898 -1476 824 1 + -1.020 6.849 31.308 -0.344 0.234 0.909 1476 825 1 + -1.205 6.333 31.494 -0.221 0.579 0.785 -1476 825 1 + -1.304 7.487 31.086 -0.640 -0.106 0.761 -1476 824 1 + -1.385 6.913 31.085 -0.586 0.276 0.762 1476 825 1 + -1.596 6.401 31.255 -0.445 0.618 0.649 -1476 825 1 + -1.618 7.518 30.747 -0.819 -0.088 0.567 -1476 824 1 + -1.677 6.942 30.769 -0.780 0.296 0.552 1476 825 1 + -1.910 6.432 30.915 -0.624 0.636 0.455 -1476 825 1 + -1.872 6.935 30.385 -0.909 0.291 0.297 -1476 825 1 + -2.500 2.471 28.014 0.022 0.077 0.997 -1478 803 1 + -2.560 2.515 28.005 -0.133 0.189 0.973 -1478 803 1 + -1.698 3.837 29.198 -0.512 -0.833 0.207 -1479 825 1 + -1.759 3.880 29.189 -0.668 -0.722 0.183 -1479 825 1 + -1.978 4.070 29.319 -0.521 -0.848 0.097 -1480 825 1 + -2.171 4.051 28.886 -0.393 -0.835 0.385 -1480 812 1 + -2.423 3.906 28.511 -0.225 -0.739 0.636 -1480 812 1 + -2.181 4.238 29.396 -0.682 -0.714 0.158 -1480 825 1 + -2.361 4.208 28.958 -0.562 -0.694 0.450 -1480 812 1 + -2.625 4.074 28.588 -0.386 -0.604 0.697 -1480 812 1 + -2.801 3.157 28.008 0.027 -0.240 0.971 -1481 812 1 + -2.887 2.616 27.980 0.085 0.121 0.989 -1481 803 1 + -3.073 3.202 27.997 -0.180 -0.206 0.962 -1481 812 1 + -3.159 2.660 27.969 -0.122 0.155 0.980 -1481 803 1 + -3.312 1.211 28.568 0.356 0.466 0.810 -1482 805 1 + -3.379 1.900 28.247 -0.109 0.352 0.930 -1482 803 1 + -3.694 1.469 28.497 0.101 0.639 0.763 1482 805 1 + -3.986 1.187 28.924 0.296 0.827 0.478 -1482 805 1 + -4.091 1.635 28.315 -0.164 0.749 0.642 -1482 805 1 + -2.727 -0.899 28.258 0.776 -0.140 0.615 -1484 805 1 + -2.407 -1.104 27.940 0.562 -0.004 0.827 -1484 805 1 + -1.995 -1.310 27.758 0.287 0.133 0.949 -1484 193 1 + -1.535 -1.493 27.731 -0.019 0.256 0.967 -1484 193 1 + -2.873 -1.208 28.272 0.624 -0.462 0.630 -1484 805 1 + -2.521 -1.348 27.951 0.390 -0.369 0.844 -1484 805 1 + -2.107 -1.548 27.769 0.113 -0.236 0.965 -1484 193 1 + -1.673 -1.786 27.745 -0.176 -0.077 0.981 -1484 193 1 + -2.994 -1.352 28.306 0.705 -0.366 0.607 -1486 805 1 + -2.768 -1.613 28.002 0.554 -0.193 0.810 -1486 805 1 + -2.464 -1.900 27.812 0.351 -0.001 0.936 -1486 191 1 + -2.110 -2.187 27.754 0.116 0.190 0.975 -1486 191 1 + -3.287 -1.669 28.317 0.442 -0.652 0.617 -1486 805 1 + -3.019 -1.885 28.011 0.264 -0.508 0.820 -1486 805 1 + -2.715 -2.172 27.821 0.061 -0.316 0.947 -1486 191 1 + -2.402 -2.504 27.765 -0.148 -0.095 0.984 -1486 191 1 + -4.500 -1.123 29.767 0.415 -0.701 0.580 -1493 805 1 + -4.769 -1.065 30.164 0.594 -0.740 0.316 -1493 808 1 + -3.857 -0.825 29.611 0.370 -0.323 0.871 -1493 805 1 + -4.228 -0.716 29.899 0.618 -0.396 0.679 1493 805 1 + -4.504 -0.667 30.293 0.802 -0.428 0.417 1493 808 1 + -4.655 -0.686 30.751 0.902 -0.416 0.112 -1493 808 1 + -3.717 -0.264 29.650 0.450 -0.002 0.893 -1493 805 1 + -4.106 -0.224 29.933 0.709 -0.029 0.705 1493 805 1 + -4.385 -0.188 30.326 0.895 -0.053 0.443 1493 808 1 + -4.525 -0.161 30.787 0.988 -0.071 0.135 -1493 808 1 + -3.770 0.308 29.570 0.420 0.324 0.848 -1493 805 1 + -4.152 0.277 29.863 0.675 0.345 0.652 1493 805 1 + -4.430 0.300 30.258 0.860 0.330 0.390 1493 808 1 + -4.574 0.374 30.712 0.956 0.281 0.086 -1493 808 1 + -4.006 0.803 29.385 0.284 0.608 0.742 -1493 805 1 + -4.360 0.711 29.701 0.520 0.669 0.531 1493 805 1 + -4.632 0.722 30.099 0.701 0.662 0.265 1493 808 1 + -4.795 0.837 30.539 0.810 0.585 -0.028 -1493 808 1 + -4.391 1.147 29.121 0.064 0.804 0.591 -1493 805 1 + -4.697 1.012 29.470 0.268 0.894 0.358 1493 805 1 + -4.960 1.016 29.874 0.444 0.892 0.089 1493 808 1 + -5.155 1.158 30.292 0.574 0.797 -0.190 -1493 808 1 + -5.113 1.135 29.206 -0.043 0.986 0.161 -1493 805 1 + -5.366 1.136 29.617 0.126 0.986 -0.113 -1493 808 1 + -5.369 1.163 29.120 0.128 0.967 0.218 -1494 807 1 + -5.710 1.192 28.612 -0.100 0.987 -0.123 -1494 807 1 + -6.258 1.406 29.670 0.205 0.974 0.095 -1495 807 1 + -5.989 1.417 30.195 0.025 0.967 -0.254 -1495 808 1 + -6.680 1.404 29.901 -0.036 0.973 0.227 -1495 807 1 + -6.383 1.415 30.411 -0.234 0.966 -0.112 -1495 808 1 + -4.945 -1.296 30.054 0.711 -0.586 0.389 -1497 806 1 + -5.146 -1.464 30.104 0.567 -0.706 0.425 -1497 806 1 + -3.738 -4.229 30.616 -0.152 0.960 -0.234 -1504 194 1 + -3.712 -3.994 31.328 0.307 0.867 -0.393 -1504 198 1 + -3.396 -4.183 30.844 0.095 0.993 -0.070 1504 194 1 + -3.055 -4.127 30.343 -0.132 0.955 0.264 -1504 194 1 + -3.336 -4.082 31.585 0.522 0.817 -0.246 -1504 198 1 + -3.059 -4.262 31.074 0.337 0.937 0.095 1504 194 1 + -2.700 -4.210 30.586 0.098 0.902 0.421 -1504 194 1 + -3.001 -4.301 31.820 0.713 0.692 -0.111 -1504 198 1 + -2.760 -4.457 31.284 0.553 0.796 0.247 1504 194 1 + -2.383 -4.416 30.808 0.302 0.769 0.564 -1504 194 1 + -2.525 -4.751 31.456 0.723 0.584 0.370 -1504 194 1 + -2.463 -4.934 31.719 0.681 0.706 0.195 -1506 198 1 + -2.073 -5.118 31.457 0.422 0.828 0.369 -1506 198 1 + -1.613 -5.162 31.258 0.115 0.857 0.502 -1506 179 1 + -1.133 -5.061 31.144 -0.206 0.790 0.578 -1506 179 1 + -0.687 -4.826 31.128 -0.502 0.633 0.589 -1506 179 1 + -2.351 -5.488 31.928 0.850 -0.128 0.511 -1506 198 1 + -2.017 -5.396 31.562 0.628 -0.190 0.755 -1506 198 1 + -1.578 -5.335 31.324 0.335 -0.230 0.914 -1506 179 1 + -1.081 -5.313 31.240 0.004 -0.245 0.970 -1506 179 1 + -0.584 -5.333 31.320 -0.327 -0.232 0.916 -1506 179 1 + -2.799 -5.790 32.955 0.828 -0.159 0.537 -1510 198 1 + -3.024 -6.196 33.496 0.978 0.112 0.177 -1510 199 1 + -2.944 -5.414 33.177 0.745 0.056 0.664 -1510 198 1 + -3.169 -5.821 33.718 0.895 0.327 0.304 -1510 199 1 + -3.562 -5.125 33.813 0.848 0.298 0.439 -1511 200 1 + -3.399 -4.619 33.257 0.486 0.510 0.710 -1511 198 1 + -3.751 -4.714 33.738 0.721 0.574 0.389 1511 200 1 + -3.928 -4.670 34.314 0.839 0.544 0.005 -1511 200 1 + -3.713 -4.262 33.117 0.306 0.714 0.629 -1511 198 1 + -4.042 -4.385 33.609 0.525 0.796 0.301 1511 200 1 + -4.243 -4.313 34.174 0.659 0.748 -0.075 -1511 200 1 + -4.108 -4.027 32.930 0.080 0.849 0.523 -1511 198 1 + -4.407 -4.167 33.436 0.280 0.942 0.186 1511 200 1 + -4.638 -4.078 33.988 0.433 0.883 -0.182 -1511 200 1 + -4.546 -3.936 32.716 -0.170 0.901 0.400 -1511 198 1 + -4.812 -4.083 33.238 0.007 0.999 0.052 1511 200 1 + -5.075 -3.987 33.773 0.183 0.935 -0.305 -1511 200 1 + -4.985 -3.998 32.493 -0.420 0.865 0.273 -1511 198 1 + -5.217 -4.140 33.032 -0.265 0.960 -0.086 1511 200 1 + -5.514 -4.049 33.550 -0.067 0.899 -0.432 -1511 200 1 + -5.585 -4.333 32.838 -0.513 0.831 -0.217 -1511 200 1 + -3.566 -5.466 34.732 0.859 0.491 -0.146 -1515 200 1 + -3.285 -5.716 35.024 0.672 0.658 -0.340 -1515 203 1 + -3.885 -4.892 34.801 0.863 0.418 0.283 -1515 200 1 + -3.714 -5.246 35.070 0.750 0.654 0.103 1515 200 1 + -3.430 -5.501 35.355 0.560 0.824 -0.086 1515 203 1 + -3.062 -5.631 35.626 0.314 0.911 -0.267 -1515 203 1 + -4.152 -4.765 35.189 0.711 0.490 0.504 -1515 200 1 + -3.950 -5.134 35.412 0.576 0.736 0.355 1515 200 1 + -3.661 -5.391 35.689 0.383 0.908 0.171 1515 203 1 + -3.314 -5.512 35.992 0.152 0.988 -0.031 -1515 203 1 + -4.248 -5.143 35.722 0.356 0.729 0.584 -1515 200 1 + -3.952 -5.400 35.993 0.159 0.901 0.404 -1515 203 1 + -4.420 -5.199 35.944 0.471 0.767 0.436 -1517 202 1 + -5.053 -5.133 36.166 0.049 0.811 0.583 -1517 202 1 + -5.640 -4.610 35.712 -0.139 0.579 0.803 -1519 200 1 + -5.789 -5.066 36.215 -0.039 0.883 0.468 -1519 201 1 + -6.099 -4.634 35.567 -0.402 0.565 0.721 -1519 200 1 + -6.222 -5.088 36.078 -0.319 0.868 0.380 -1519 201 1 + -6.509 -4.774 35.356 -0.636 0.485 0.600 -1519 200 1 + -6.610 -5.220 35.879 -0.569 0.783 0.251 -1519 201 1 + -6.835 -5.017 35.097 -0.822 0.346 0.452 -1519 200 1 + -6.917 -5.450 35.635 -0.767 0.635 0.094 -1519 201 1 + -7.047 -5.344 34.814 -0.944 0.159 0.290 -1519 200 1 + -7.118 -5.759 35.367 -0.897 0.436 -0.079 -1519 201 1 + -7.129 -5.725 34.530 -0.990 -0.058 0.128 -1519 200 1 + -7.195 -6.118 35.099 -0.946 0.204 -0.252 -1519 201 1 + -7.071 -6.127 34.270 -0.957 -0.288 -0.020 -1519 200 1 + -7.141 -6.498 34.854 -0.911 -0.041 -0.410 -1519 201 1 + -6.881 -6.516 34.058 -0.848 -0.510 -0.142 -1519 200 1 + -6.960 -6.864 34.653 -0.795 -0.278 -0.539 -1519 201 1 + -6.369 -7.135 33.988 -0.808 -0.519 -0.278 -1522 201 1 + -5.946 -7.610 33.526 -0.692 -0.695 0.193 -1522 199 1 + -6.082 -7.490 34.106 -0.601 -0.775 -0.193 1522 201 1 + -6.366 -7.562 34.639 -0.412 -0.728 -0.549 -1522 201 1 + -5.702 -7.721 34.266 -0.328 -0.941 -0.078 -1522 201 1 + -5.456 -7.829 34.205 -0.492 -0.870 -0.038 -1524 199 1 + -5.476 -7.938 34.699 -0.479 -0.797 -0.368 -1524 202 1 + -4.951 -8.057 33.685 -0.123 -0.951 0.285 -1524 199 1 + -4.949 -7.996 34.188 -0.124 -0.991 -0.050 1524 199 1 + -4.968 -8.105 34.682 -0.111 -0.918 -0.380 1524 202 1 + -5.007 -8.371 35.112 -0.086 -0.741 -0.666 -1524 202 1 + -4.416 -7.960 34.217 0.262 -0.965 -0.029 -1524 199 1 + -4.436 -8.069 34.711 0.275 -0.892 -0.359 -1524 202 1 + -4.175 -7.915 34.198 0.101 -0.995 -0.017 -1525 199 1 + -3.980 -7.994 34.675 -0.029 -0.942 -0.335 -1525 203 1 + -3.839 -7.854 33.542 0.512 -0.835 0.203 -1525 199 1 + -3.734 -7.775 34.047 0.442 -0.887 -0.134 1525 199 1 + -3.549 -7.858 34.527 0.319 -0.832 -0.454 1525 203 1 + -3.306 -8.091 34.925 0.157 -0.676 -0.720 -1525 203 1 + -3.406 -7.502 33.442 0.760 -0.634 0.146 -1525 199 1 + -3.361 -7.473 33.961 0.730 -0.653 -0.200 1525 199 1 + -3.185 -7.563 34.443 0.612 -0.594 -0.522 1525 203 1 + -2.897 -7.760 34.831 0.421 -0.462 -0.781 -1525 203 1 + -3.118 -7.014 33.433 0.924 -0.355 0.141 -1525 199 1 + -3.114 -7.054 33.953 0.922 -0.329 -0.206 1525 199 1 + -2.943 -7.153 34.436 0.808 -0.263 -0.528 1525 203 1 + -2.625 -7.299 34.823 0.596 -0.165 -0.786 -1525 203 1 + -3.018 -6.463 33.517 0.981 -0.040 0.189 -1525 199 1 + -3.028 -6.580 34.026 0.988 0.038 -0.150 1525 199 1 + -2.859 -6.689 34.507 0.875 0.111 -0.471 1525 203 1 + -2.531 -6.779 34.902 0.657 0.170 -0.735 -1525 203 1 + -3.121 -5.931 33.681 0.922 0.264 0.283 -1525 199 1 + -3.117 -6.122 34.167 0.919 0.391 -0.041 1525 199 1 + -2.946 -6.242 34.645 0.805 0.471 -0.360 1525 203 1 + -2.629 -6.277 35.057 0.594 0.495 -0.635 -1525 203 1 + -3.367 -5.749 34.356 0.726 0.680 0.105 -1525 199 1 + -3.190 -5.878 34.829 0.608 0.765 -0.211 -1525 203 1 + -3.689 -8.527 35.618 -0.090 -0.958 -0.273 -1527 203 1 + -4.301 -8.630 35.701 0.318 -0.889 -0.329 -1527 202 1 + -4.043 -8.647 36.543 0.288 -0.951 -0.112 -1529 204 1 + -3.296 -8.436 36.672 0.163 -0.899 0.407 -1529 203 1 + -3.780 -8.511 36.969 0.486 -0.848 0.209 1529 204 1 + -4.158 -8.772 37.312 0.738 -0.674 -0.019 -1529 204 1 + -3.118 -8.102 37.087 0.278 -0.683 0.675 -1529 203 1 + -3.616 -8.203 37.353 0.610 -0.616 0.498 1529 204 1 + -3.980 -8.439 37.727 0.853 -0.459 0.248 -1529 204 1 + -3.074 -7.634 37.393 0.307 -0.381 0.872 -1529 203 1 + -3.575 -7.770 37.635 0.641 -0.290 0.711 1529 204 1 + -3.936 -7.970 38.033 0.881 -0.157 0.446 -1529 204 1 + -3.170 -7.101 37.543 0.244 -0.037 0.969 -1529 203 1 + -3.664 -7.278 37.774 0.574 0.081 0.815 1529 204 1 + -4.032 -7.437 38.183 0.819 0.187 0.542 -1529 204 1 + -3.870 -6.803 37.747 0.419 0.439 0.795 -1529 204 1 + -3.433 -6.203 37.339 0.075 0.542 0.837 -1530 203 1 + -4.030 -6.167 37.525 0.472 0.518 0.713 -1530 202 1 + -3.490 -5.883 37.067 0.038 0.748 0.662 -1530 203 1 + -4.090 -5.828 37.237 0.438 0.712 0.549 -1530 202 1 + -3.558 -5.650 36.721 -0.006 0.899 0.438 -1530 203 1 + -4.162 -5.581 36.870 0.397 0.853 0.339 -1530 202 1 + -4.415 -6.228 37.744 0.253 0.483 0.838 -1532 202 1 + -4.658 -6.597 38.185 0.415 0.729 0.544 -1532 204 1 + -4.915 -6.012 37.667 -0.033 0.607 0.794 -1532 202 1 + -5.131 -6.393 38.112 0.110 0.861 0.497 -1532 204 1 + -5.432 -5.950 37.489 -0.329 0.642 0.692 -1532 202 1 + -5.619 -6.334 37.944 -0.205 0.898 0.389 -1532 204 1 + -5.597 -5.741 37.136 -0.423 0.762 0.491 -1533 202 1 + -5.983 -5.501 36.700 -0.165 0.602 0.781 -1533 201 1 + -5.260 -5.510 36.951 -0.230 0.894 0.385 -1533 202 1 + -5.666 -5.283 36.525 0.040 0.743 0.669 -1533 201 1 + -6.122 -6.185 37.180 -0.458 0.676 0.577 -1535 204 1 + -6.703 -6.125 36.654 -0.629 0.199 0.751 -1535 201 1 + -6.515 -6.492 37.056 -0.754 0.444 0.483 1535 204 1 + -6.493 -6.761 37.565 -0.769 0.623 0.144 -1535 204 1 + -6.965 -6.554 36.415 -0.798 -0.077 0.597 -1535 201 1 + -6.757 -6.888 36.835 -0.937 0.145 0.317 1535 204 1 + -6.756 -7.190 37.326 -0.938 0.347 -0.010 -1535 204 1 + -7.025 -7.014 36.107 -0.837 -0.374 0.399 -1535 201 1 + -6.812 -7.313 36.552 -0.979 -0.175 0.103 1535 204 1 + -6.816 -7.650 37.019 -0.977 0.050 -0.209 -1535 204 1 + -6.874 -7.437 35.778 -0.739 -0.647 0.186 -1535 201 1 + -6.673 -7.703 36.248 -0.874 -0.470 -0.127 1535 204 1 + -6.665 -8.073 36.689 -0.879 -0.223 -0.421 -1535 204 1 + -6.359 -7.999 35.969 -0.637 -0.693 -0.337 -1535 204 1 + -6.275 -7.838 35.124 -0.353 -0.906 -0.235 -1536 201 1 + -5.905 -8.217 35.466 -0.599 -0.653 -0.463 -1536 202 1 + -5.839 -8.439 35.793 -0.561 -0.780 -0.277 -1537 202 1 + -6.002 -8.684 36.344 -0.452 -0.617 -0.644 -1537 204 1 + -5.436 -8.662 35.824 -0.331 -0.908 -0.259 -1537 202 1 + -5.622 -8.894 36.374 -0.206 -0.753 -0.625 -1537 204 1 + -5.003 -8.783 35.931 -0.083 -0.977 -0.198 -1537 202 1 + -5.214 -9.008 36.474 0.057 -0.827 -0.560 -1537 204 1 + -4.575 -8.792 36.104 0.161 -0.982 -0.099 -1537 202 1 + -4.810 -9.017 36.638 0.317 -0.832 -0.454 -1537 204 1 + -2.859 -6.550 32.646 0.904 -0.113 0.412 -1538 195 1 + -3.115 -7.054 33.169 0.926 -0.378 -0.010 -1538 199 1 + -2.970 -7.000 32.591 0.829 -0.414 0.375 1538 195 1 + -2.627 -7.044 32.102 0.601 -0.385 0.701 -1538 195 1 + -3.366 -7.475 33.050 0.782 -0.618 -0.078 -1538 199 1 + -3.203 -7.389 32.481 0.673 -0.675 0.301 1538 195 1 + -2.879 -7.464 31.983 0.457 -0.625 0.633 -1538 195 1 + -3.534 -7.680 32.327 0.452 -0.870 0.198 -1538 195 1 + -1.945 -5.897 31.491 0.580 0.145 0.802 -1540 195 1 + -1.514 -5.771 31.263 0.293 0.060 0.954 -1540 195 1 + -1.035 -5.635 31.196 -0.027 -0.030 0.999 -1540 179 1 + -0.560 -5.504 31.297 -0.344 -0.118 0.932 -1540 179 1 + -1.841 -6.312 31.356 0.691 -0.304 0.656 -1540 195 1 + -1.435 -6.091 31.159 0.420 -0.451 0.787 -1540 195 1 + -0.957 -5.946 31.094 0.102 -0.548 0.830 -1540 179 1 + -0.463 -5.894 31.169 -0.228 -0.583 0.780 -1540 179 1 + -1.908 -6.756 31.324 0.736 -0.008 0.677 -1541 195 1 + -1.589 -6.928 31.071 0.523 0.107 0.846 -1541 188 1 + -2.336 -7.091 31.737 0.767 -0.412 0.492 -1541 195 1 + -2.091 -7.209 31.389 0.604 -0.333 0.724 1541 195 1 + -1.768 -7.370 31.135 0.388 -0.226 0.893 1541 188 1 + -1.394 -7.560 30.997 0.139 -0.099 0.985 -1541 188 1 + -2.630 -7.547 31.638 0.599 -0.672 0.435 -1541 195 1 + -2.354 -7.616 31.300 0.415 -0.626 0.660 1541 195 1 + -2.024 -7.767 31.048 0.195 -0.525 0.828 1541 188 1 + -1.669 -7.986 30.904 -0.042 -0.379 0.924 -1541 188 1 + -2.662 -7.925 31.069 0.194 -0.847 0.494 -1541 195 1 + -2.324 -8.067 30.823 -0.031 -0.752 0.658 -1541 188 1 + -0.885 -6.772 30.842 0.054 0.003 0.999 -1543 188 1 + -0.560 -6.457 30.893 -0.163 -0.207 0.965 -1543 179 1 + -0.258 -6.171 31.076 -0.364 -0.398 0.842 -1543 179 1 + -0.433 -7.163 30.636 0.466 -0.354 0.811 -1543 188 1 + -0.138 -6.822 30.700 0.270 -0.581 0.768 -1543 179 1 + 0.194 -6.562 30.871 0.048 -0.755 0.654 -1543 179 1 + -0.264 -7.227 30.529 0.354 -0.311 0.882 -1545 188 1 + 0.202 -6.961 30.545 0.043 -0.488 0.872 -1545 178 1 + -0.232 -7.283 30.494 0.381 -0.358 0.852 -1545 188 1 + 0.236 -7.019 30.508 0.070 -0.534 0.843 -1545 178 1 + -0.260 -7.858 30.398 0.400 0.025 0.916 -1547 188 1 + 0.173 -8.096 30.307 0.112 0.184 0.977 -1547 173 1 + 0.625 -8.302 30.381 -0.190 0.322 0.928 -1547 173 1 + -0.546 -8.425 30.315 0.114 -0.540 0.834 -1547 188 1 + -0.088 -8.612 30.232 -0.191 -0.416 0.889 -1547 173 1 + 0.339 -8.869 30.298 -0.476 -0.244 0.845 -1547 173 1 + -0.996 -8.811 30.268 0.414 -0.283 0.865 -1549 188 1 + -0.921 -9.352 30.174 0.364 0.078 0.928 -1549 370 1 + -1.438 -8.407 30.634 0.110 -0.656 0.746 -1549 188 1 + -1.379 -8.878 30.348 0.070 -0.342 0.937 1549 188 1 + -1.306 -9.418 30.254 0.021 0.018 1.000 1549 370 1 + -1.228 -9.956 30.364 -0.030 0.376 0.926 -1549 370 1 + -1.770 -8.919 30.286 -0.279 -0.380 0.882 -1549 188 1 + -1.698 -9.460 30.192 -0.327 -0.019 0.945 -1549 370 1 + -2.041 -8.858 30.256 -0.099 -0.420 0.902 -1550 188 1 + -2.202 -9.338 30.117 0.008 -0.101 0.995 -1550 369 1 + -2.123 -8.831 30.257 -0.166 -0.398 0.902 -1550 188 1 + -2.286 -9.309 30.117 -0.057 -0.079 0.995 -1550 369 1 + -2.491 -10.356 30.214 0.039 -0.066 0.997 -1552 369 1 + -1.817 -10.497 30.342 -0.410 0.027 0.912 -1552 370 1 + -2.566 -10.878 30.099 -0.003 -0.364 0.931 -1552 369 1 + -1.887 -10.989 30.233 -0.456 -0.290 0.842 -1552 370 1 + -2.391 -11.734 29.612 -0.132 -0.370 0.919 -1553 369 1 + -2.227 -12.181 29.540 -0.242 -0.072 0.968 -1553 385 1 + -2.101 -12.640 29.618 -0.326 0.234 0.916 -1553 385 1 + -2.791 -11.868 29.397 -0.471 -0.485 0.737 -1553 369 1 + -2.591 -12.304 29.344 -0.605 -0.194 0.772 -1553 385 1 + -2.484 -12.769 29.411 -0.677 0.116 0.727 -1553 385 1 + -1.902 -12.665 29.713 -0.459 0.251 0.852 -1555 385 1 + -1.838 -12.237 29.695 -0.502 -0.035 0.864 -1555 370 1 + -1.836 -11.813 29.786 -0.503 -0.318 0.804 -1555 370 1 + -1.536 -13.115 29.998 -0.056 0.481 0.875 -1555 385 1 + -1.483 -12.710 29.851 -0.092 0.211 0.973 1555 385 1 + -1.441 -12.280 29.825 -0.120 -0.076 0.990 1555 370 1 + -1.414 -11.858 29.924 -0.138 -0.357 0.924 1555 370 1 + -1.404 -11.481 30.139 -0.144 -0.608 0.781 -1555 370 1 + -1.023 -13.153 29.951 0.281 0.456 0.844 -1555 385 1 + -1.042 -12.743 29.811 0.294 0.183 0.938 1555 385 1 + -1.024 -12.311 29.788 0.282 -0.106 0.954 1555 370 1 + -0.971 -11.891 29.884 0.246 -0.385 0.889 1555 370 1 + -0.886 -11.520 30.092 0.190 -0.633 0.751 -1555 370 1 + -0.569 -13.171 29.706 0.580 0.444 0.683 -1555 385 1 + -0.652 -12.758 29.600 0.635 0.169 0.754 1555 385 1 + -0.655 -12.325 29.588 0.637 -0.120 0.761 1555 370 1 + -0.578 -11.906 29.672 0.586 -0.399 0.705 1555 370 1 + -0.428 -11.538 29.844 0.486 -0.644 0.590 -1555 370 1 + -0.249 -13.165 29.301 0.791 0.448 0.416 -1555 385 1 + -0.376 -12.754 29.252 0.876 0.174 0.449 1555 385 1 + -0.394 -12.320 29.259 0.888 -0.115 0.444 1555 370 1 + -0.301 -11.901 29.322 0.826 -0.394 0.402 1555 370 1 + -0.104 -11.532 29.436 0.695 -0.641 0.327 -1555 370 1 + -0.113 -13.137 28.803 0.880 0.467 0.089 -1555 385 1 + -0.260 -12.729 28.824 0.978 0.195 0.075 1555 385 1 + -0.285 -12.297 28.855 0.994 -0.093 0.055 1555 370 1 + -0.184 -11.877 28.892 0.927 -0.373 0.030 1555 370 1 + 0.032 -11.504 28.933 0.783 -0.622 0.003 -1555 370 1 + -0.323 -12.690 28.387 0.923 0.230 -0.308 -1555 385 1 + -0.344 -12.260 28.441 0.937 -0.057 -0.344 -1555 370 1 + -0.247 -11.837 28.452 0.873 -0.339 -0.351 -1555 370 1 + -0.457 -12.658 28.128 0.806 0.257 -0.534 -1560 385 1 + -0.471 -12.230 28.197 0.815 -0.028 -0.579 -1560 370 1 + -0.382 -11.806 28.192 0.756 -0.311 -0.576 -1560 370 1 + -0.564 -12.639 28.000 0.713 0.273 -0.646 -1560 385 1 + -0.571 -12.212 28.075 0.718 -0.011 -0.696 -1560 370 1 + -0.489 -11.787 28.063 0.663 -0.295 -0.688 -1560 370 1 + -0.757 -12.748 27.654 0.841 0.346 -0.415 -1562 385 1 + -0.934 -12.416 27.409 0.960 0.125 -0.252 -1562 385 1 + -0.983 -12.069 27.129 0.992 -0.107 -0.066 -1562 367 1 + -0.898 -11.735 26.841 0.936 -0.329 0.127 -1562 367 1 + -0.779 -12.825 27.562 0.819 0.268 -0.508 -1562 385 1 + -0.954 -12.484 27.328 0.935 0.040 -0.352 -1562 385 1 + -1.003 -12.138 27.047 0.968 -0.190 -0.164 -1562 367 1 + -0.922 -11.817 26.744 0.914 -0.404 0.038 -1562 367 1 + -0.598 -13.349 27.345 0.698 0.617 -0.363 -1564 385 1 + -0.606 -13.484 26.912 0.703 0.707 -0.074 -1564 385 1 + -0.517 -13.522 26.469 0.644 0.733 0.221 -1564 397 1 + -0.340 -13.460 26.056 0.526 0.691 0.496 -1564 397 1 + -0.473 -13.504 27.383 0.831 0.453 -0.322 -1564 385 1 + -0.500 -13.614 26.944 0.850 0.526 -0.029 -1564 385 1 + -0.412 -13.652 26.501 0.791 0.551 0.266 -1564 397 1 + -0.215 -13.614 26.095 0.659 0.526 0.537 -1564 397 1 + -0.110 -13.705 27.733 0.589 0.587 -0.555 -1566 385 1 + 0.186 -14.004 27.617 0.392 0.786 -0.478 -1566 388 1 + 0.532 -14.203 27.440 0.162 0.919 -0.360 -1566 388 1 + -0.112 -13.294 28.208 0.881 0.363 -0.303 -1566 385 1 + 0.082 -13.672 28.109 0.752 0.615 -0.237 1566 385 1 + 0.371 -13.972 27.980 0.559 0.815 -0.151 1566 388 1 + 0.732 -14.168 27.832 0.319 0.946 -0.052 1566 388 1 + 1.132 -14.245 27.677 0.052 0.997 0.051 -1566 388 1 + 0.180 -13.760 28.511 0.835 0.541 0.103 -1566 385 1 + 0.466 -14.057 28.368 0.644 0.739 0.198 -1566 388 1 + 0.834 -14.260 28.251 0.399 0.874 0.277 -1566 388 1 + 0.204 -13.808 28.718 0.819 0.573 -0.034 -1568 385 1 + 0.526 -14.140 28.763 0.604 0.794 -0.065 -1568 387 1 + -0.078 -13.397 29.141 0.903 0.295 0.311 -1568 385 1 + 0.132 -13.811 29.155 0.763 0.571 0.302 1568 385 1 + 0.452 -14.142 29.212 0.550 0.792 0.264 1568 387 1 + 0.851 -14.360 29.307 0.284 0.938 0.201 -1568 387 1 + -0.274 -13.504 29.567 0.775 0.225 0.591 -1568 385 1 + -0.048 -13.909 29.547 0.624 0.495 0.604 1568 385 1 + 0.267 -14.244 29.614 0.414 0.718 0.559 1568 387 1 + 0.642 -14.475 29.762 0.164 0.872 0.461 -1568 387 1 + -0.564 -13.703 29.894 0.584 0.094 0.806 -1568 385 1 + -0.316 -14.093 29.849 0.418 0.354 0.836 1568 385 1 + -0.007 -14.432 29.924 0.213 0.580 0.786 1568 387 1 + 0.331 -14.688 30.112 -0.013 0.750 0.661 -1568 387 1 + -0.639 -14.340 30.025 0.170 0.164 0.972 -1568 385 1 + -0.339 -14.685 30.104 -0.030 0.394 0.919 -1568 387 1 + -1.388 -13.789 30.186 0.041 0.038 0.998 -1569 385 1 + -1.580 -14.314 30.324 0.170 0.388 0.906 -1569 384 1 + -1.870 -13.614 30.111 -0.276 0.152 0.949 -1569 385 1 + -2.096 -14.128 30.244 -0.125 0.495 0.860 -1569 384 1 + -0.572 -14.794 30.169 0.125 0.466 0.876 -1571 387 1 + -1.255 -14.879 30.371 0.355 0.065 0.933 -1571 384 1 + -0.742 -15.138 30.313 0.013 0.238 0.971 1571 387 1 + -0.226 -15.345 30.471 -0.331 0.375 0.866 -1571 387 1 + -0.913 -15.510 30.349 -0.101 -0.008 0.995 -1571 387 1 + -1.863 -15.585 30.386 0.008 -0.338 0.941 -1572 384 1 + -1.482 -16.083 30.343 -0.246 -0.007 0.969 -1572 386 1 + -0.587 -16.109 30.531 -0.317 0.356 0.879 -1576 390 1 + -1.306 -16.222 30.370 -0.133 -0.097 0.986 -1576 386 1 + -0.801 -16.491 30.531 -0.470 0.083 0.879 1576 390 1 + -0.406 -16.741 30.900 -0.733 0.250 0.633 -1576 390 1 + -1.472 -16.631 30.238 -0.240 -0.361 0.901 -1576 386 1 + -0.958 -16.880 30.406 -0.582 -0.195 0.789 1576 390 1 + -0.582 -17.175 30.760 -0.833 0.002 0.553 -1576 390 1 + -1.562 -17.007 29.987 -0.298 -0.603 0.740 -1576 386 1 + -1.044 -17.237 30.168 -0.643 -0.450 0.619 1576 390 1 + -0.677 -17.574 30.495 -0.888 -0.226 0.402 -1576 390 1 + -1.567 -17.314 29.643 -0.301 -0.801 0.517 -1576 386 1 + -1.049 -17.528 29.841 -0.647 -0.658 0.385 1576 390 1 + -0.683 -17.898 30.129 -0.891 -0.411 0.193 -1576 390 1 + -1.487 -17.519 29.238 -0.250 -0.934 0.256 -1576 386 1 + -0.973 -17.724 29.456 -0.593 -0.798 0.111 1576 390 1 + -0.599 -18.116 29.701 -0.843 -0.536 -0.052 -1576 390 1 + -1.331 -17.604 28.813 -0.149 -0.989 -0.018 -1576 386 1 + -0.824 -17.804 29.053 -0.486 -0.855 -0.178 1576 390 1 + -0.432 -18.206 29.250 -0.748 -0.588 -0.310 -1576 390 1 + -0.616 -17.763 28.669 -0.338 -0.826 -0.452 -1576 390 1 + -0.957 -17.512 27.938 -0.111 -0.993 0.036 -1578 386 1 + -0.821 -17.627 27.472 -0.201 -0.916 0.347 -1578 386 1 + -0.719 -17.895 27.064 -0.270 -0.738 0.619 -1578 401 1 + -0.661 -18.284 26.758 -0.308 -0.478 0.822 -1578 401 1 + -0.654 -18.754 26.589 -0.313 -0.165 0.935 -1578 401 1 + -1.231 -17.380 27.755 -0.576 -0.770 -0.275 -1578 386 1 + -0.951 -17.565 27.385 -0.762 -0.647 -0.029 -1578 386 1 + -0.799 -17.856 27.011 -0.864 -0.452 0.221 -1578 401 1 + -0.789 -18.223 26.673 -0.870 -0.208 0.446 -1578 401 1 + -0.924 -18.624 26.409 -0.781 0.059 0.622 -1578 401 1 + -1.840 -17.113 27.746 -0.170 -0.948 -0.270 -1579 386 1 + -2.099 -17.035 27.376 0.003 -1.000 -0.023 -1579 374 1 + -2.357 -17.098 27.002 0.175 -0.958 0.227 -1579 374 1 + -2.166 -17.042 27.973 -0.463 -0.884 -0.065 -1579 386 1 + -2.402 -16.969 27.587 -0.306 -0.932 0.193 -1579 374 1 + -2.681 -17.027 27.227 -0.120 -0.894 0.432 -1579 374 1 + -2.278 -17.472 26.299 0.123 -0.709 0.695 -1581 374 1 + -1.945 -17.772 26.059 -0.100 -0.509 0.855 -1581 374 1 + -1.629 -18.160 25.966 -0.310 -0.250 0.917 -1581 401 1 + -1.367 -18.591 26.031 -0.485 0.037 0.874 -1581 401 1 + -3.093 -17.555 26.040 -0.000 -0.999 0.047 -1581 374 1 + -2.620 -17.649 25.878 -0.316 -0.936 0.155 1581 374 1 + -2.201 -17.905 25.743 -0.595 -0.766 0.245 1581 374 1 + -1.885 -18.293 25.650 -0.805 -0.507 0.307 1581 401 1 + -1.708 -18.768 25.610 -0.923 -0.190 0.333 1581 401 1 + -1.690 -19.276 25.628 -0.935 0.148 0.322 -1581 401 1 + -2.621 -17.517 25.323 -0.317 -0.767 -0.557 -1581 374 1 + -2.202 -17.806 25.327 -0.597 -0.575 -0.560 -1581 374 1 + -1.886 -18.194 25.234 -0.807 -0.316 -0.498 -1581 401 1 + -1.710 -18.636 25.055 -0.925 -0.021 -0.379 -1581 401 1 + -3.225 -17.204 24.787 0.085 -0.976 -0.200 -1582 374 1 + -3.341 -17.198 24.321 0.163 -0.980 0.110 -1582 374 1 + -3.433 -17.342 23.872 0.224 -0.884 0.410 -1582 417 1 + -3.490 -17.623 23.485 0.262 -0.697 0.668 -1582 417 1 + -3.507 -18.011 23.202 0.273 -0.438 0.856 -1582 417 1 + -3.363 -17.206 24.813 -0.127 -0.979 -0.161 -1582 374 1 + -3.421 -17.199 24.336 -0.088 -0.984 0.157 -1582 374 1 + -3.493 -17.343 23.883 -0.041 -0.888 0.459 -1582 417 1 + -3.571 -17.624 23.500 0.011 -0.700 0.714 -1582 417 1 + -3.647 -18.013 23.228 0.062 -0.441 0.895 -1582 417 1 + -3.058 -18.581 22.990 -0.027 -0.058 0.998 -1584 417 1 + -2.637 -18.703 23.059 -0.307 0.023 0.952 -1584 417 1 + -2.257 -18.822 23.254 -0.560 0.103 0.822 -1584 417 1 + -1.950 -18.928 23.556 -0.765 0.173 0.621 -1584 401 1 + -1.744 -19.011 23.939 -0.902 0.228 0.365 -1584 401 1 + -1.655 -19.064 24.370 -0.961 0.264 0.078 -1584 401 1 + -3.226 -19.311 22.499 0.420 -0.679 0.601 -1584 417 1 + -2.915 -19.054 22.681 0.213 -0.851 0.480 1584 417 1 + -2.576 -18.908 22.926 -0.014 -0.948 0.317 1584 417 1 + -2.238 -18.886 23.212 -0.239 -0.963 0.126 1584 417 1 + -1.932 -18.990 23.515 -0.443 -0.893 -0.076 1584 401 1 + -1.683 -19.211 23.808 -0.608 -0.746 -0.271 1584 401 1 + -1.514 -19.530 24.065 -0.721 -0.533 -0.442 1584 401 1 + -1.440 -19.919 24.264 -0.770 -0.274 -0.575 -1584 401 1 + -2.504 -18.801 22.354 0.901 -0.428 -0.068 -1584 417 1 + -2.398 -18.798 22.784 0.830 -0.430 -0.355 -1584 417 1 + -2.182 -18.852 23.168 0.687 -0.394 -0.611 -1584 417 1 + -1.877 -18.957 23.471 0.483 -0.324 -0.813 -1584 401 1 + -1.509 -19.104 23.669 0.238 -0.226 -0.945 -1584 401 1 + -1.109 -19.281 23.742 -0.029 -0.108 -0.994 -1584 401 1 + -2.135 -18.502 21.619 0.655 -0.627 0.422 -1586 414 1 + -2.282 -18.795 21.051 0.550 -0.835 0.017 -1586 414 1 + -3.000 -19.431 21.061 0.567 -0.756 -0.327 -1587 417 1 + -2.787 -19.209 20.513 0.425 -0.904 0.039 -1587 415 1 + -3.445 -19.562 20.849 0.280 -0.841 -0.463 -1587 417 1 + -3.259 -19.348 20.289 0.156 -0.984 -0.089 -1587 415 1 + -2.400 -18.953 20.294 0.646 -0.758 -0.086 -1589 415 1 + -1.777 -18.637 20.297 0.230 -0.969 -0.088 -1589 414 1 + -2.451 -18.850 19.816 0.617 -0.700 -0.359 -1589 415 1 + -1.827 -18.534 19.818 0.202 -0.910 -0.361 -1589 414 1 + -2.561 -18.630 19.390 0.554 -0.574 -0.603 -1589 415 1 + -1.937 -18.314 19.392 0.139 -0.785 -0.604 -1589 414 1 + -2.395 -17.847 18.865 0.245 -0.700 -0.671 -1591 413 1 + -2.405 -17.843 18.858 0.239 -0.698 -0.676 -1591 413 1 + -3.038 -18.805 19.249 0.282 -0.674 -0.683 -1592 415 1 + -3.429 -18.712 18.832 0.543 -0.736 -0.405 -1592 416 1 + -3.470 -19.130 19.552 0.035 -0.859 -0.510 -1592 415 1 + -3.833 -19.015 19.114 0.277 -0.936 -0.219 -1592 416 1 + -2.830 -17.914 18.672 0.522 -0.650 -0.552 -1594 416 1 + -2.444 -17.674 18.628 0.265 -0.811 -0.522 -1594 413 1 + -3.206 -17.437 18.179 0.235 -0.285 -0.929 -1594 416 1 + -2.830 -17.183 18.121 -0.016 -0.454 -0.891 -1594 413 1 + -3.822 -17.425 17.843 0.645 -0.293 -0.706 -1595 416 1 + -3.993 -17.167 17.468 0.759 -0.465 -0.456 -1595 438 1 + -4.044 -16.982 17.021 0.793 -0.588 -0.158 -1595 438 1 + -3.893 -18.037 18.039 0.238 -0.292 -0.926 -1595 416 1 + -4.109 -17.682 17.786 0.381 -0.529 -0.758 1595 416 1 + -4.264 -17.410 17.414 0.485 -0.710 -0.510 1595 438 1 + -4.343 -17.250 16.962 0.538 -0.817 -0.208 1595 438 1 + -4.337 -17.219 16.477 0.534 -0.838 0.115 -1595 438 1 + -4.318 -18.225 18.066 -0.042 -0.416 -0.908 -1595 416 1 + -4.464 -17.839 17.809 0.054 -0.674 -0.737 1595 416 1 + -4.600 -17.558 17.436 0.146 -0.861 -0.488 1595 438 1 + -4.714 -17.414 16.986 0.221 -0.957 -0.188 1595 438 1 + -4.793 -17.420 16.506 0.274 -0.953 0.132 -1595 438 1 + -4.838 -17.874 17.909 -0.290 -0.706 -0.645 -1595 416 1 + -4.955 -17.592 17.530 -0.212 -0.895 -0.393 -1595 438 1 + -5.105 -17.451 17.090 -0.112 -0.989 -0.099 -1595 438 1 + -3.781 -16.691 16.909 0.618 -0.782 -0.083 -1597 438 1 + -3.508 -16.599 17.257 0.436 -0.843 -0.315 -1597 438 1 + -3.175 -16.622 17.562 0.214 -0.828 -0.518 -1597 413 1 + -2.814 -16.758 17.797 -0.027 -0.738 -0.675 -1597 413 1 + -3.655 -16.549 16.783 0.729 -0.656 -0.194 -1597 438 1 + -3.399 -16.476 17.147 0.558 -0.705 -0.438 -1597 438 1 + -3.066 -16.499 17.453 0.336 -0.690 -0.641 -1597 413 1 + -2.688 -16.616 17.671 0.084 -0.612 -0.786 -1597 413 1 + -3.558 -16.492 16.076 0.664 -0.695 0.277 -1599 438 1 + -3.209 -16.370 15.801 0.431 -0.776 0.460 -1599 438 1 + -2.799 -16.358 15.590 0.158 -0.784 0.601 -1599 421 1 + -2.366 -16.457 15.465 -0.130 -0.717 0.684 -1599 421 1 + -1.952 -16.658 15.436 -0.406 -0.583 0.703 -1599 421 1 + -3.655 -16.611 15.861 0.551 -0.834 0.024 -1599 438 1 + -3.275 -16.451 15.654 0.297 -0.941 0.162 -1599 438 1 + -2.853 -16.425 15.469 0.016 -0.958 0.285 -1599 421 1 + -2.429 -16.534 15.326 -0.267 -0.885 0.381 -1599 421 1 + -2.042 -16.769 15.236 -0.524 -0.729 0.441 -1599 421 1 + -4.315 -17.218 16.281 0.547 -0.837 0.003 -1600 438 1 + -4.433 -17.466 15.689 0.625 -0.672 0.397 -1600 437 1 + -4.773 -17.421 16.456 0.285 -0.953 0.104 -1600 438 1 + -4.891 -17.668 15.865 0.363 -0.788 0.498 -1600 437 1 + -3.772 -16.886 15.258 0.629 -0.651 0.426 -1602 437 1 + -3.385 -16.724 15.094 0.371 -0.759 0.535 -1602 437 1 + -2.947 -16.664 15.002 0.079 -0.799 0.596 -1602 421 1 + -2.499 -16.713 14.991 -0.220 -0.766 0.603 -1602 421 1 + -2.081 -16.865 15.062 -0.499 -0.665 0.556 -1602 421 1 + -3.819 -17.031 14.796 0.576 -0.812 -0.090 -1602 437 1 + -3.418 -16.827 14.765 0.309 -0.949 -0.070 -1602 437 1 + -2.975 -16.751 14.725 0.014 -0.999 -0.043 -1602 421 1 + -2.531 -16.810 14.679 -0.282 -0.959 -0.012 -1602 421 1 + -2.125 -17.000 14.631 -0.553 -0.833 0.020 -1602 421 1 + -4.451 -17.588 14.522 0.614 -0.742 -0.270 -1604 437 1 + -4.149 -17.339 13.996 0.413 -0.907 0.081 -1604 435 1 + -5.235 -17.892 14.030 0.662 -0.692 -0.287 -1606 437 1 + -5.531 -18.181 13.772 0.859 -0.499 -0.115 -1606 437 1 + -5.690 -18.550 13.495 0.965 -0.253 0.069 -1606 548 1 + -5.696 -18.959 13.230 0.969 0.019 0.246 -1606 548 1 + -5.031 -17.933 14.651 0.283 -0.939 -0.196 -1606 437 1 + -5.383 -18.058 14.337 0.518 -0.855 0.013 1606 437 1 + -5.652 -18.319 14.026 0.698 -0.682 0.221 1606 437 1 + -5.812 -18.688 13.749 0.804 -0.436 0.405 1606 548 1 + -5.843 -19.126 13.537 0.825 -0.144 0.547 1606 548 1 + -5.744 -19.587 13.411 0.759 0.164 0.630 -1606 548 1 + -5.387 -18.034 14.992 0.079 -0.997 -0.001 -1606 437 1 + -5.651 -18.134 14.594 0.255 -0.930 0.264 1606 437 1 + -5.874 -18.382 14.238 0.404 -0.765 0.501 1606 437 1 + -6.033 -18.751 13.961 0.510 -0.519 0.686 1606 548 1 + -6.112 -19.202 13.793 0.562 -0.218 0.798 1606 548 1 + -6.101 -19.688 13.752 0.555 0.106 0.825 -1606 548 1 + -5.993 -18.107 14.754 -0.080 -0.904 0.421 -1606 437 1 + -6.157 -18.360 14.370 0.030 -0.735 0.677 -1606 437 1 + -6.316 -18.728 14.094 0.136 -0.489 0.861 -1606 548 1 + -6.454 -19.175 13.954 0.228 -0.192 0.955 -1606 548 1 + -6.113 -18.079 14.807 0.000 -0.923 0.386 -1607 437 1 + -6.384 -18.306 14.471 0.181 -0.771 0.610 -1607 546 1 + -6.627 -18.655 14.231 0.343 -0.538 0.770 -1607 546 1 + -6.140 -18.071 14.824 -0.022 -0.917 0.399 -1607 437 1 + -6.409 -18.299 14.486 0.158 -0.765 0.624 -1607 546 1 + -6.654 -18.648 14.248 0.321 -0.532 0.783 -1607 546 1 + -5.636 -18.862 13.049 0.929 -0.045 0.367 -1610 548 1 + -5.561 -18.367 13.158 0.879 -0.376 0.294 -1610 548 1 + -5.332 -17.938 13.320 0.726 -0.662 0.187 -1610 435 1 + -4.975 -17.624 13.513 0.488 -0.871 0.057 -1610 435 1 + -5.486 -19.134 12.298 0.906 0.422 -0.006 -1610 548 1 + -5.591 -18.697 12.544 0.977 0.131 -0.170 1610 548 1 + -5.526 -18.236 12.760 0.933 -0.176 -0.314 1610 548 1 + -5.296 -17.807 12.921 0.780 -0.462 -0.421 1610 435 1 + -4.930 -17.459 13.009 0.536 -0.695 -0.480 1610 435 1 + -4.470 -17.232 13.012 0.229 -0.846 -0.482 -1610 435 1 + -5.849 -18.418 12.169 0.703 0.427 -0.569 -1610 548 1 + -5.729 -18.017 12.464 0.623 0.159 -0.766 -1610 548 1 + -5.499 -17.587 12.625 0.470 -0.127 -0.873 -1610 435 1 + -5.188 -17.180 12.633 0.262 -0.399 -0.879 -1610 435 1 + -5.961 -17.809 12.258 0.778 0.020 -0.628 -1613 546 1 + -5.675 -17.431 12.479 0.587 -0.231 -0.776 -1613 435 1 + -5.282 -17.096 12.559 0.325 -0.455 -0.829 -1613 435 1 + -6.367 -17.341 12.063 0.423 0.429 -0.798 -1613 546 1 + -6.046 -17.003 12.301 0.210 0.204 -0.956 -1613 435 1 + -5.688 -16.628 12.364 -0.029 -0.046 -0.999 -1613 435 1 + -6.876 -17.180 11.708 0.763 0.322 -0.561 -1616 544 1 + -6.591 -16.969 12.065 0.573 0.181 -0.799 -1616 544 1 + -6.210 -16.727 12.288 0.319 0.020 -0.948 -1616 435 1 + -5.775 -16.482 12.350 0.029 -0.143 -0.989 -1616 435 1 + -6.914 -17.112 11.700 0.723 0.391 -0.569 -1616 544 1 + -6.622 -16.914 12.059 0.529 0.259 -0.808 -1616 544 1 + -6.241 -16.673 12.282 0.275 0.098 -0.957 -1616 435 1 + -5.813 -16.414 12.343 -0.011 -0.074 -0.997 -1616 435 1 + -7.276 -16.884 11.016 0.964 0.239 -0.113 -1617 544 1 + -7.327 -16.490 10.771 0.998 -0.024 0.051 -1617 544 1 + -7.232 -16.098 10.533 0.936 -0.285 0.209 -1617 531 1 + -7.002 -15.749 10.326 0.782 -0.518 0.347 -1617 531 1 + -7.278 -16.939 10.925 0.962 0.189 -0.197 -1617 544 1 + -7.329 -16.536 10.693 0.996 -0.080 -0.043 -1617 544 1 + -7.235 -16.145 10.456 0.933 -0.341 0.116 -1617 531 1 + -7.004 -15.803 10.235 0.780 -0.568 0.263 -1617 531 1 + -6.577 -15.248 10.604 0.498 -0.852 0.162 -1619 531 1 + -6.413 -15.161 11.066 0.390 -0.909 -0.146 -1619 531 1 + -6.186 -15.225 11.504 0.238 -0.867 -0.438 -1619 435 1 + -5.920 -15.431 11.869 0.061 -0.729 -0.681 -1619 435 1 + -5.643 -15.758 12.122 -0.124 -0.512 -0.850 -1619 435 1 + -6.316 -15.004 10.526 0.852 -0.521 0.056 -1619 531 1 + -6.260 -15.018 11.020 0.814 -0.512 -0.274 -1619 531 1 + -6.070 -15.116 11.469 0.687 -0.447 -0.573 -1619 435 1 + -5.766 -15.287 11.823 0.485 -0.332 -0.809 -1619 435 1 + -5.383 -15.514 12.044 0.229 -0.181 -0.956 -1619 435 1 + -6.057 -14.715 10.349 0.679 -0.714 0.173 -1621 531 1 + -5.766 -14.476 10.687 0.485 -0.873 -0.051 -1621 531 1 + -5.392 -14.386 11.015 0.236 -0.933 -0.270 -1621 432 1 + -4.979 -14.454 11.298 -0.040 -0.888 -0.459 -1621 432 1 + -4.572 -14.674 11.502 -0.311 -0.741 -0.595 -1621 432 1 + -6.023 -14.690 10.305 0.727 -0.678 0.110 -1621 531 1 + -5.747 -14.462 10.662 0.543 -0.830 -0.128 -1621 531 1 + -5.379 -14.376 10.998 0.298 -0.887 -0.352 -1621 432 1 + -4.960 -14.441 11.273 0.019 -0.844 -0.536 -1621 432 1 + -4.538 -14.649 11.457 -0.263 -0.705 -0.659 -1621 432 1 + -5.809 -14.570 10.037 0.585 -0.758 0.289 -1623 534 1 + -5.731 -14.580 9.744 0.638 -0.765 0.093 -1623 534 1 + -5.842 -14.796 9.390 0.712 -0.620 0.329 -1624 531 1 + -5.504 -14.627 9.171 0.486 -0.733 0.476 -1624 531 1 + -5.104 -14.552 9.012 0.220 -0.783 0.581 -1624 442 1 + -4.676 -14.576 8.927 -0.066 -0.767 0.638 -1624 442 1 + -4.256 -14.697 8.924 -0.345 -0.686 0.640 -1624 442 1 + -5.861 -14.850 9.315 0.692 -0.677 0.251 -1624 531 1 + -5.518 -14.667 9.115 0.464 -0.798 0.384 -1624 531 1 + -5.116 -14.586 8.964 0.196 -0.852 0.485 -1624 442 1 + -4.689 -14.614 8.874 -0.089 -0.834 0.545 -1624 442 1 + -4.274 -14.747 8.854 -0.366 -0.745 0.558 -1624 442 1 + -4.164 -14.580 9.133 -0.407 -0.764 0.500 -1626 442 1 + -4.503 -14.358 9.333 -0.181 -0.912 0.367 -1626 534 1 + -4.866 -14.260 9.583 0.061 -0.978 0.201 -1626 534 1 + -4.061 -14.535 9.261 -0.317 -0.725 0.611 -1626 442 1 + -4.404 -14.315 9.456 -0.089 -0.872 0.481 -1626 534 1 + -4.759 -14.213 9.716 0.148 -0.940 0.308 -1626 534 1 + -3.582 -14.641 9.566 -0.637 -0.655 0.408 -1628 442 1 + -3.509 -14.538 10.051 -0.685 -0.724 0.085 -1628 442 1 + -3.551 -14.555 10.550 -0.657 -0.712 -0.248 -1628 432 1 + -3.703 -14.692 11.008 -0.556 -0.621 -0.553 -1628 432 1 + -3.371 -14.781 9.578 -0.388 -0.820 0.421 -1628 442 1 + -3.340 -14.650 10.060 -0.408 -0.907 0.099 -1628 442 1 + -3.378 -14.670 10.560 -0.384 -0.894 -0.233 -1628 432 1 + -3.479 -14.841 11.020 -0.316 -0.780 -0.540 -1628 432 1 + -3.086 -15.051 9.450 -0.578 -0.640 0.506 -1630 442 1 + -2.791 -15.150 9.811 -0.775 -0.574 0.266 -1630 439 1 + -3.175 -15.397 8.830 -0.132 -0.870 0.475 -1630 442 1 + -2.825 -15.362 9.150 -0.365 -0.893 0.262 1630 442 1 + -2.529 -15.462 9.510 -0.562 -0.827 0.022 1630 439 1 + -2.319 -15.687 9.873 -0.702 -0.677 -0.220 -1630 439 1 + -2.466 -15.490 8.819 -0.073 -0.997 -0.008 -1630 442 1 + -2.169 -15.590 9.177 -0.270 -0.931 -0.247 -1630 439 1 + -2.261 -15.571 8.421 -0.209 -0.943 0.257 -1631 442 1 + -1.785 -15.768 8.428 -0.527 -0.812 0.252 -1631 443 1 + -2.265 -15.578 7.822 -0.213 -0.950 -0.230 -1631 442 1 + -1.789 -15.776 7.812 -0.530 -0.818 -0.224 -1631 443 1 + -1.578 -15.882 9.005 -0.664 -0.736 -0.132 -1633 439 1 + -1.017 -16.377 8.754 -0.562 -0.737 0.375 -1633 443 1 + -1.234 -16.122 9.250 -0.418 -0.908 0.044 1633 439 1 + -1.550 -16.083 9.757 -0.207 -0.933 -0.294 -1633 439 1 + -0.560 -16.470 9.032 -0.301 -0.790 0.534 -1633 443 1 + -0.825 -16.205 9.500 -0.124 -0.967 0.222 1633 439 1 + -1.119 -16.171 10.020 0.072 -0.990 -0.125 -1633 439 1 + -0.086 -16.376 9.280 -0.030 -0.737 0.676 -1633 443 1 + -0.400 -16.121 9.722 0.180 -0.907 0.381 1633 439 1 + -0.671 -16.082 10.254 0.360 -0.932 0.027 -1633 439 1 + 0.347 -16.107 9.468 0.218 -0.583 0.783 -1633 443 1 + -0.013 -15.880 9.890 0.457 -0.734 0.502 1633 439 1 + -0.263 -15.828 10.431 0.624 -0.769 0.141 -1633 439 1 + 0.686 -15.696 9.572 0.411 -0.348 0.842 -1633 443 1 + 0.291 -15.512 9.983 0.675 -0.471 0.569 1633 439 1 + 0.057 -15.440 10.530 0.830 -0.518 0.204 -1633 439 1 + 0.474 -15.061 9.990 0.805 -0.148 0.574 -1633 439 1 + 0.592 -15.011 9.857 0.726 -0.181 0.663 -1635 443 1 + 0.391 -14.853 10.220 0.861 -0.287 0.421 -1635 430 1 + 0.303 -14.732 10.639 0.919 -0.367 0.141 -1635 430 1 + 0.650 -14.849 9.820 0.770 -0.058 0.636 -1635 443 1 + 0.445 -14.699 10.186 0.906 -0.158 0.392 -1635 430 1 + 0.360 -14.571 10.603 0.963 -0.244 0.114 -1635 430 1 + 1.587 -14.477 8.918 0.437 0.195 0.878 -1639 443 1 + 2.065 -14.317 8.752 0.118 0.088 0.989 -1639 446 1 + 1.323 -15.040 9.202 0.775 0.027 0.631 -1639 443 1 + 1.703 -14.862 8.877 0.522 -0.092 0.848 1639 443 1 + 2.180 -14.701 8.711 0.204 -0.199 0.959 1639 446 1 + 2.696 -14.578 8.724 -0.140 -0.281 0.949 -1639 446 1 + 1.402 -15.458 9.026 0.821 -0.212 0.530 -1639 443 1 + 1.772 -15.229 8.723 0.574 -0.365 0.733 1639 443 1 + 2.250 -15.068 8.556 0.256 -0.472 0.844 1639 446 1 + 2.775 -14.996 8.549 -0.095 -0.520 0.849 -1639 446 1 + 1.423 -15.816 8.738 0.832 -0.417 0.366 -1639 443 1 + 1.790 -15.543 8.469 0.587 -0.599 0.545 1639 443 1 + 2.267 -15.382 8.303 0.269 -0.706 0.655 1639 446 1 + 2.796 -15.354 8.260 -0.083 -0.725 0.684 -1639 446 1 + 1.382 -16.081 8.364 0.809 -0.568 0.152 -1639 443 1 + 1.754 -15.776 8.141 0.561 -0.772 0.300 1639 443 1 + 2.232 -15.615 7.975 0.242 -0.879 0.411 1639 446 1 + 2.755 -15.619 7.886 -0.107 -0.876 0.470 -1639 446 1 + 1.668 -15.905 7.768 0.496 -0.868 0.023 -1639 443 1 + 2.145 -15.744 7.602 0.178 -0.975 0.133 -1639 446 1 + 1.587 -15.969 7.608 0.550 -0.825 0.130 -1641 443 1 + 1.990 -15.857 7.300 0.281 -0.899 0.335 -1641 447 1 + 2.444 -15.907 7.053 -0.021 -0.866 0.500 -1641 447 1 + 1.406 -16.065 7.313 0.386 -0.912 -0.138 -1641 443 1 + 1.828 -15.943 7.037 0.104 -0.993 0.046 -1641 447 1 + 2.269 -16.000 6.769 -0.190 -0.956 0.225 -1641 447 1 + 0.489 -16.548 7.288 0.299 -0.835 -0.463 -1643 443 1 + 0.718 -16.317 6.654 0.146 -0.989 -0.040 -1643 444 1 + -0.421 -16.339 6.749 0.135 -0.922 -0.363 -1644 443 1 + -0.689 -16.307 6.366 0.314 -0.943 -0.108 -1644 443 1 + -0.912 -16.413 5.968 0.462 -0.873 0.158 -1644 462 1 + -1.066 -16.646 5.592 0.565 -0.717 0.408 -1644 462 1 + -0.732 -16.543 7.422 -0.399 -0.832 -0.386 -1644 443 1 + -0.887 -16.368 7.016 -0.295 -0.948 -0.116 1644 443 1 + -1.085 -16.331 6.593 -0.163 -0.973 0.166 1644 443 1 + -1.307 -16.437 6.195 -0.015 -0.902 0.432 1644 462 1 + -1.532 -16.675 5.859 0.135 -0.743 0.655 1644 462 1 + -1.736 -17.022 5.620 0.271 -0.512 0.815 -1644 462 1 + -1.325 -16.112 7.193 -0.700 -0.712 0.047 -1644 443 1 + -1.458 -16.114 6.743 -0.612 -0.711 0.347 -1644 443 1 + -1.680 -16.220 6.345 -0.464 -0.640 0.612 -1644 462 1 + -1.970 -16.419 6.036 -0.270 -0.507 0.818 -1644 462 1 + -0.907 -16.601 5.484 0.459 -0.747 0.481 -1646 462 1 + -0.602 -16.339 5.769 0.255 -0.922 0.291 -1646 444 1 + -0.255 -16.226 6.101 0.024 -0.997 0.069 -1646 444 1 + -0.794 -16.903 4.863 0.810 -0.445 0.382 -1646 462 1 + -0.621 -16.534 5.140 0.695 -0.691 0.197 1646 462 1 + -0.336 -16.276 5.450 0.505 -0.863 -0.009 1646 444 1 + 0.031 -16.158 5.757 0.260 -0.942 -0.214 1646 444 1 + 0.441 -16.194 6.031 -0.013 -0.918 -0.396 -1646 444 1 + -0.557 -16.637 4.451 0.945 -0.292 0.147 -1646 462 1 + -0.425 -16.312 4.798 0.857 -0.509 -0.085 1646 462 1 + -0.154 -16.070 5.132 0.676 -0.670 -0.307 1646 444 1 + 0.227 -15.937 5.416 0.422 -0.759 -0.496 1646 444 1 + 0.677 -15.927 5.619 0.122 -0.766 -0.632 -1646 444 1 + -0.466 -16.226 4.105 0.997 -0.058 -0.051 -1646 462 1 + -0.349 -15.971 4.511 0.919 -0.228 -0.321 1646 462 1 + -0.083 -15.753 4.865 0.742 -0.373 -0.557 1646 444 1 + 0.303 -15.596 5.128 0.484 -0.478 -0.733 1646 444 1 + 0.768 -15.516 5.273 0.174 -0.531 -0.829 -1646 444 1 + -0.534 -15.736 3.879 0.958 0.223 -0.180 -1646 462 1 + -0.406 -15.564 4.323 0.873 0.108 -0.476 1646 462 1 + -0.136 -15.375 4.690 0.693 -0.018 -0.721 1646 444 1 + 0.247 -15.189 4.941 0.438 -0.142 -0.888 1646 444 1 + 0.700 -15.026 5.047 0.135 -0.251 -0.959 -1646 444 1 + -0.751 -15.241 3.807 0.834 0.505 -0.221 -1646 462 1 + -0.586 -15.154 4.264 0.724 0.447 -0.525 1646 462 1 + -0.303 -14.994 4.635 0.536 0.340 -0.773 1646 444 1 + 0.067 -14.778 4.881 0.289 0.197 -0.937 1646 444 1 + 0.483 -14.531 4.975 0.012 0.032 -0.999 -1646 444 1 + -0.861 -14.804 4.342 0.497 0.735 -0.461 -1646 462 1 + -0.559 -14.668 4.708 0.296 0.645 -0.705 -1646 444 1 + -0.209 -14.429 4.959 0.062 0.485 -0.872 -1646 444 1 + -1.331 -14.432 4.139 0.810 0.488 -0.325 -1648 462 1 + -1.434 -13.958 4.318 0.879 0.171 -0.444 -1648 462 1 + -1.381 -13.452 4.417 0.844 -0.166 -0.511 -1648 451 1 + -1.177 -12.977 4.425 0.707 -0.483 -0.516 -1648 451 1 + -1.366 -14.417 4.082 0.770 0.505 -0.390 -1648 462 1 + -1.461 -13.946 4.275 0.834 0.191 -0.518 -1648 462 1 + -1.406 -13.442 4.376 0.797 -0.146 -0.586 -1648 451 1 + -1.209 -12.963 4.372 0.666 -0.465 -0.583 -1648 451 1 + -1.480 -14.410 3.775 0.846 0.500 -0.185 -1650 462 1 + -1.672 -13.931 3.698 0.974 0.181 -0.133 -1650 456 1 + -1.270 -14.932 3.325 0.538 0.681 -0.496 -1650 462 1 + -1.600 -14.529 3.340 0.758 0.412 -0.506 1650 462 1 + -1.792 -14.050 3.262 0.886 0.093 -0.454 1650 456 1 + -1.824 -13.554 3.103 0.907 -0.237 -0.348 -1650 456 1 + -1.560 -15.114 2.922 0.372 0.577 -0.727 -1650 462 1 + -1.856 -14.689 2.984 0.569 0.294 -0.768 1650 462 1 + -2.048 -14.210 2.907 0.697 -0.025 -0.717 1650 456 1 + -2.114 -13.736 2.699 0.741 -0.341 -0.578 -1650 456 1 + -2.217 -14.872 2.751 0.303 0.159 -0.940 -1650 462 1 + -2.410 -14.393 2.674 0.431 -0.160 -0.888 -1650 456 1 + -2.451 -14.978 2.629 0.459 0.230 -0.858 -1651 459 1 + -2.273 -15.730 2.490 -0.036 0.226 -0.974 -1651 462 1 + -2.732 -15.356 2.474 0.271 -0.023 -0.962 1651 459 1 + -3.128 -14.988 2.232 0.535 -0.269 -0.801 -1651 459 1 + -2.625 -16.134 2.494 -0.236 -0.005 -0.972 -1651 462 1 + -3.058 -15.731 2.477 0.053 -0.274 -0.960 1651 459 1 + -3.480 -15.392 2.235 0.334 -0.500 -0.799 -1651 459 1 + -3.393 -16.061 2.638 -0.171 -0.494 -0.853 -1651 459 1 + -2.955 -14.119 2.130 0.764 -0.327 -0.557 -1655 459 1 + -2.922 -13.730 1.784 0.742 -0.586 -0.327 -1655 463 1 + -3.606 -14.351 1.786 0.261 -0.506 -0.822 -1655 459 1 + -3.558 -13.956 1.449 0.229 -0.769 -0.597 -1655 463 1 + -3.711 -14.390 1.772 0.330 -0.480 -0.813 -1656 459 1 + -3.759 -14.023 1.434 0.362 -0.724 -0.587 -1656 459 1 + -3.746 -13.778 0.997 0.354 -0.887 -0.296 -1656 466 1 + -3.674 -13.682 0.510 0.306 -0.952 0.029 -1656 466 1 + -3.551 -13.745 0.028 0.224 -0.910 0.350 -1656 466 1 + -3.862 -14.416 1.748 0.105 -0.518 -0.849 -1656 459 1 + -3.837 -14.037 1.421 0.088 -0.771 -0.631 -1656 459 1 + -3.796 -13.787 0.989 0.061 -0.938 -0.342 -1656 466 1 + -3.746 -13.694 0.499 0.027 -1.000 -0.015 -1656 466 1 + -3.690 -13.769 0.006 -0.009 -0.950 0.313 -1656 466 1 + -3.442 -13.721 0.032 0.151 -0.926 0.347 -1658 466 1 + -3.469 -13.632 0.516 0.169 -0.985 0.025 -1658 463 1 + -2.941 -13.798 -0.401 0.413 -0.659 0.628 -1658 466 1 + -3.044 -13.578 0.027 0.482 -0.806 0.343 1658 466 1 + -3.070 -13.488 0.511 0.499 -0.867 0.021 1658 463 1 + -3.015 -13.538 0.997 0.462 -0.833 -0.304 -1658 463 1 + -2.575 -13.492 -0.439 0.653 -0.458 0.603 -1658 466 1 + -2.721 -13.307 -0.007 0.750 -0.581 0.315 1658 466 1 + -2.745 -13.216 0.476 0.766 -0.642 -0.007 1658 463 1 + -2.646 -13.228 0.958 0.700 -0.634 -0.329 -1658 463 1 + -2.341 -13.081 -0.506 0.808 -0.187 0.559 -1658 466 1 + -2.513 -12.943 -0.066 0.923 -0.279 0.266 1658 466 1 + -2.537 -12.850 0.417 0.938 -0.341 -0.056 1658 463 1 + -2.409 -12.813 0.891 0.853 -0.366 -0.372 -1658 463 1 + -2.448 -12.532 -0.142 0.977 0.062 0.203 -1658 466 1 + -2.471 -12.438 0.341 0.993 -0.000 -0.119 -1658 463 1 + -2.350 -12.163 -0.386 0.913 -0.184 0.365 -1660 466 1 + -2.280 -11.741 -0.118 0.865 -0.465 0.187 -1660 467 1 + -2.146 -12.351 -1.055 0.935 0.293 0.198 -1660 466 1 + -2.242 -11.924 -0.803 1.000 0.008 0.030 1660 466 1 + -2.168 -11.496 -0.547 0.950 -0.278 -0.141 1660 467 1 + -1.933 -11.114 -0.314 0.794 -0.532 -0.296 -1660 467 1 + -2.243 -12.068 -1.513 0.872 0.479 -0.103 -1660 466 1 + -2.329 -11.669 -1.216 0.930 0.213 -0.301 1660 466 1 + -2.258 -11.234 -0.971 0.882 -0.078 -0.465 1660 467 1 + -2.037 -10.812 -0.804 0.735 -0.359 -0.576 -1660 467 1 + -2.541 -11.813 -1.894 0.676 0.647 -0.354 -1660 466 1 + -2.598 -11.439 -1.559 0.714 0.397 -0.577 1660 466 1 + -2.534 -10.998 -1.323 0.671 0.103 -0.734 1660 467 1 + -2.356 -10.539 -1.211 0.552 -0.203 -0.809 -1660 467 1 + -3.006 -11.270 -1.778 0.386 0.533 -0.752 -1660 466 1 + -2.952 -10.824 -1.548 0.351 0.236 -0.906 -1660 467 1 + -3.364 -11.525 -2.400 0.625 0.703 -0.338 -1662 466 1 + -3.644 -11.323 -2.712 0.812 0.568 -0.130 -1662 477 1 + -3.807 -11.038 -3.043 0.921 0.379 0.091 -1662 477 1 + -2.915 -11.996 -2.471 0.430 0.527 -0.733 -1662 466 1 + -3.299 -11.832 -2.677 0.686 0.418 -0.596 1662 466 1 + -3.584 -11.608 -2.970 0.876 0.268 -0.401 1662 477 1 + -3.742 -11.345 -3.320 0.982 0.093 -0.167 1662 477 1 + -3.759 -11.069 -3.695 0.992 -0.091 0.083 -1662 477 1 + -3.384 -12.185 -2.886 0.607 0.089 -0.790 -1662 466 1 + -3.663 -11.937 -3.164 0.793 -0.077 -0.605 -1662 477 1 + -3.827 -11.699 -3.529 0.902 -0.235 -0.361 -1662 477 1 + -3.390 -12.363 -2.925 0.611 0.207 -0.764 -1664 466 1 + -3.689 -12.278 -3.220 0.810 0.151 -0.567 -1664 476 1 + -3.888 -12.176 -3.585 0.943 0.083 -0.323 -1664 476 1 + -3.085 -12.881 -2.795 0.318 -0.056 -0.947 -1664 466 1 + -3.450 -12.768 -2.989 0.561 -0.131 -0.817 1664 466 1 + -3.747 -12.671 -3.282 0.758 -0.196 -0.622 1664 476 1 + -3.950 -12.598 -3.652 0.894 -0.245 -0.375 1664 476 1 + -4.044 -12.554 -4.068 0.957 -0.273 -0.098 -1664 476 1 + -3.274 -13.309 -2.756 0.193 -0.338 -0.921 -1664 466 1 + -3.617 -13.146 -2.955 0.422 -0.447 -0.789 1664 466 1 + -3.908 -13.037 -3.249 0.616 -0.520 -0.593 1664 476 1 + -4.124 -12.991 -3.617 0.759 -0.550 -0.348 1664 476 1 + -4.247 -13.013 -4.026 0.841 -0.535 -0.074 -1664 476 1 + -3.869 -13.449 -2.827 0.211 -0.700 -0.682 -1664 466 1 + -4.152 -13.330 -3.126 0.400 -0.779 -0.483 -1664 476 1 + -4.386 -13.307 -3.484 0.556 -0.795 -0.245 -1664 476 1 + -3.999 -13.597 -2.737 0.297 -0.601 -0.742 -1665 466 1 + -4.396 -13.626 -2.968 0.562 -0.581 -0.588 -1665 475 1 + -3.739 -14.018 -2.243 -0.112 -0.804 -0.584 -1665 466 1 + -4.164 -13.935 -2.397 0.171 -0.860 -0.481 1665 466 1 + -4.565 -13.973 -2.618 0.439 -0.835 -0.333 1665 475 1 + -4.904 -14.128 -2.887 0.665 -0.731 -0.154 -1665 475 1 + -3.969 -14.200 -1.779 -0.264 -0.924 -0.278 -1665 466 1 + -4.376 -14.103 -1.968 0.008 -0.988 -0.152 1665 466 1 + -4.783 -14.145 -2.179 0.279 -0.960 -0.012 1665 475 1 + -5.150 -14.322 -2.391 0.524 -0.842 0.129 -1665 475 1 + -4.605 -14.075 -1.516 -0.167 -0.967 0.194 -1665 466 1 + -5.017 -14.116 -1.715 0.108 -0.939 0.326 -1665 475 1 + -5.043 -13.757 -4.012 0.702 -0.705 -0.099 -1668 482 1 + -5.430 -14.229 -3.484 0.364 -0.789 -0.495 -1668 475 1 + -5.475 -14.046 -4.044 0.394 -0.911 -0.122 1668 482 1 + -5.428 -14.075 -4.633 0.363 -0.892 0.271 -1668 482 1 + -5.983 -14.157 -4.067 0.032 -0.990 -0.138 -1668 482 1 + -4.661 -13.461 -4.838 0.858 -0.495 0.138 -1670 482 1 + -4.457 -13.222 -4.292 0.721 -0.655 -0.226 -1670 476 1 + -4.665 -13.453 -5.312 0.855 -0.490 -0.167 -1672 482 1 + -4.463 -13.214 -5.927 0.721 -0.649 0.243 -1672 483 1 + -4.970 -13.761 -5.520 0.659 -0.689 -0.302 -1672 482 1 + -4.786 -13.541 -6.147 0.537 -0.836 0.116 -1672 483 1 + -5.371 -13.959 -5.696 0.400 -0.817 -0.415 -1672 482 1 + -5.211 -13.751 -6.334 0.294 -0.956 0.010 -1672 483 1 + -5.830 -14.028 -5.823 0.104 -0.861 -0.497 -1672 482 1 + -5.697 -13.824 -6.468 0.016 -0.998 -0.067 -1672 483 1 + -6.301 -13.961 -5.887 -0.200 -0.818 -0.539 -1672 482 1 + -6.197 -13.753 -6.537 -0.270 -0.957 -0.106 -1672 483 1 + -6.740 -13.765 -5.884 -0.483 -0.691 -0.537 -1672 482 1 + -6.662 -13.545 -6.533 -0.535 -0.838 -0.104 -1672 483 1 + -7.104 -13.458 -5.813 -0.718 -0.493 -0.491 -1672 482 1 + -7.047 -13.219 -6.458 -0.755 -0.652 -0.061 -1672 483 1 + -7.515 -12.634 -5.783 -0.775 -0.534 -0.339 -1673 482 1 + -7.791 -12.279 -5.936 -0.591 -0.771 -0.237 -1673 486 1 + -7.615 -12.597 -5.518 -0.854 -0.504 -0.125 -1673 482 1 + -7.890 -12.242 -5.670 -0.671 -0.742 -0.023 -1673 486 1 + -7.656 -12.339 -6.215 -0.681 -0.731 -0.050 -1675 483 1 + -7.649 -12.208 -6.665 -0.675 -0.637 -0.371 -1675 483 1 + -8.295 -11.600 -6.917 -0.438 -0.648 -0.623 -1676 486 1 + -7.821 -11.755 -7.301 -0.754 -0.545 -0.368 -1676 484 1 + -7.459 -12.057 -7.413 -0.547 -0.717 -0.432 -1678 484 1 + -7.101 -12.646 -7.271 -0.786 -0.325 -0.526 -1678 483 1 + -7.154 -11.963 -7.793 -0.373 -0.663 -0.649 -1678 484 1 + -6.796 -12.552 -7.652 -0.612 -0.271 -0.743 -1678 483 1 + -6.776 -11.799 -8.070 -0.156 -0.570 -0.807 -1678 484 1 + -6.417 -12.388 -7.928 -0.395 -0.177 -0.901 -1678 483 1 + -6.858 -11.376 -8.273 -0.203 -0.328 -0.923 -1680 484 1 + -6.630 -10.949 -8.596 -0.355 -0.612 -0.707 -1680 485 1 + -7.295 -11.062 -8.196 -0.453 -0.148 -0.879 -1680 484 1 + -7.039 -10.656 -8.525 -0.624 -0.419 -0.660 -1680 485 1 + -8.030 -10.334 -7.769 -0.365 -0.152 -0.918 -1681 487 1 + -8.270 -10.784 -7.474 -0.524 -0.451 -0.722 -1681 487 1 + -8.068 -10.073 -7.824 -0.340 -0.326 -0.882 -1683 487 1 + -7.661 -10.163 -8.029 -0.611 -0.266 -0.746 -1683 485 1 + -8.446 -9.468 -7.861 0.007 -0.036 -0.999 -1683 487 1 + -8.000 -9.577 -7.926 -0.290 0.037 -0.956 1683 487 1 + -7.595 -9.680 -8.127 -0.560 0.106 -0.822 1683 485 1 + -7.271 -9.769 -8.447 -0.776 0.165 -0.609 -1683 485 1 + -8.260 -8.928 -7.784 0.113 0.273 -0.955 -1683 487 1 + -7.835 -9.099 -7.857 -0.170 0.387 -0.906 1683 487 1 + -7.435 -9.214 -8.061 -0.437 0.464 -0.770 1683 485 1 + -7.097 -9.263 -8.375 -0.662 0.497 -0.561 -1683 485 1 + -7.992 -8.486 -7.526 0.266 0.525 -0.808 -1683 487 1 + -7.598 -8.708 -7.629 0.004 0.674 -0.739 1683 487 1 + -7.204 -8.834 -7.839 -0.259 0.757 -0.600 1683 485 1 + -6.847 -8.851 -8.134 -0.497 0.768 -0.403 -1683 485 1 + -7.324 -8.463 -7.276 0.205 0.853 -0.480 -1683 487 1 + -6.937 -8.595 -7.494 -0.053 0.941 -0.334 -1683 485 1 + -8.356 -7.555 -6.725 0.148 0.525 -0.838 -1686 489 1 + -8.813 -8.028 -7.131 -0.203 0.787 -0.582 -1686 487 1 + -8.829 -7.594 -6.736 -0.192 0.497 -0.846 1686 489 1 + -8.890 -7.044 -6.535 -0.152 0.131 -0.980 -1686 489 1 + -9.272 -7.701 -6.602 -0.511 0.420 -0.750 -1686 489 1 + -7.983 -6.777 -6.325 0.445 0.307 -0.841 -1688 489 1 + -7.649 -7.235 -6.449 0.221 0.613 -0.759 -1688 488 1 + -7.647 -6.604 -5.983 0.666 0.421 -0.616 -1688 489 1 + -7.289 -7.050 -6.083 0.427 0.718 -0.550 -1688 488 1 + -7.130 -6.634 -5.206 0.616 0.572 -0.541 -1690 489 1 + -6.749 -6.682 -4.953 0.362 0.604 -0.710 -1690 492 1 + -7.640 -6.121 -5.152 0.670 0.739 -0.070 -1690 489 1 + -7.330 -6.279 -4.852 0.463 0.844 -0.270 1690 489 1 + -6.954 -6.317 -4.590 0.212 0.870 -0.445 1690 492 1 + -6.548 -6.233 -4.390 -0.058 0.814 -0.578 -1690 492 1 + -7.954 -5.945 -4.692 0.464 0.855 0.233 -1690 489 1 + -7.619 -6.116 -4.427 0.241 0.969 0.056 1690 489 1 + -7.251 -6.150 -4.154 -0.005 0.992 -0.126 1690 492 1 + -6.883 -6.045 -3.898 -0.250 0.922 -0.297 -1690 492 1 + -7.949 -6.173 -4.004 -0.012 0.925 0.380 -1690 489 1 + -7.589 -6.209 -3.719 -0.252 0.949 0.191 -1690 492 1 + -8.136 -6.202 -3.899 0.113 0.944 0.310 -1691 489 1 + -7.947 -6.283 -3.525 -0.013 0.998 0.061 -1691 493 1 + -7.760 -6.244 -3.145 -0.138 0.972 -0.193 -1691 493 1 + -8.804 -6.147 -4.004 -0.095 0.722 0.686 -1691 489 1 + -8.571 -6.326 -3.695 -0.250 0.841 0.480 1691 489 1 + -8.369 -6.403 -3.328 -0.385 0.893 0.235 1691 493 1 + -8.214 -6.372 -2.933 -0.489 0.872 -0.029 1691 493 1 + -8.117 -6.236 -2.541 -0.553 0.781 -0.290 -1691 493 1 + -8.931 -6.637 -3.552 -0.550 0.582 0.599 -1691 489 1 + -8.718 -6.704 -3.189 -0.692 0.628 0.357 -1691 493 1 + -8.589 -6.696 -2.783 -0.778 0.622 0.087 -1691 493 1 + -6.721 -6.875 -5.137 0.344 0.733 -0.587 -1694 488 1 + -6.291 -7.471 -5.308 0.629 0.339 -0.700 -1694 488 1 + -5.434 -7.711 -4.806 0.578 -0.030 -0.815 -1696 492 1 + -5.753 -8.167 -5.208 0.791 0.274 -0.547 -1696 491 1 + -5.200 -8.620 -4.383 0.719 -0.015 -0.695 -1698 492 1 + -5.111 -9.054 -4.376 0.660 0.274 -0.700 -1698 477 1 + -4.936 -9.452 -4.460 0.543 0.539 -0.644 -1698 477 1 + -4.876 -8.585 -3.784 0.975 0.013 -0.220 -1698 492 1 + -4.812 -9.021 -3.822 0.933 0.304 -0.195 -1698 477 1 + -4.626 -9.418 -3.885 0.808 0.568 -0.152 -1698 477 1 + -4.563 -7.801 -3.528 0.767 -0.509 -0.390 -1700 492 1 + -4.190 -7.538 -3.345 0.518 -0.685 -0.512 -1700 471 1 + -3.733 -7.385 -3.245 0.213 -0.787 -0.579 -1700 471 1 + -4.877 -7.765 -4.146 0.897 -0.061 -0.439 -1700 492 1 + -4.617 -7.484 -3.837 0.723 -0.249 -0.644 1700 492 1 + -4.240 -7.243 -3.633 0.472 -0.409 -0.781 1700 471 1 + -3.786 -7.068 -3.554 0.170 -0.526 -0.834 1700 471 1 + -3.306 -6.978 -3.610 -0.151 -0.586 -0.796 -1700 471 1 + -4.751 -7.096 -4.011 0.612 0.071 -0.788 -1700 492 1 + -4.365 -6.882 -3.794 0.355 -0.072 -0.932 -1700 471 1 + -3.921 -6.680 -3.728 0.059 -0.207 -0.977 -1700 471 1 + -4.853 -6.935 -4.095 0.680 -0.037 -0.732 -1701 492 1 + -4.561 -6.577 -3.948 0.485 -0.275 -0.830 -1701 473 1 + -4.193 -6.262 -3.931 0.240 -0.485 -0.841 -1701 473 1 + -5.388 -6.902 -4.550 0.605 0.432 -0.669 -1701 492 1 + -5.139 -6.610 -4.254 0.439 0.238 -0.867 1701 492 1 + -4.821 -6.281 -4.093 0.227 0.018 -0.974 1701 473 1 + -4.468 -5.949 -4.085 -0.008 -0.203 -0.979 1701 473 1 + -4.117 -5.649 -4.230 -0.243 -0.403 -0.882 -1701 473 1 + -5.783 -6.503 -4.514 0.379 0.660 -0.649 -1701 492 1 + -5.463 -6.283 -4.224 0.165 0.514 -0.842 1701 492 1 + -5.116 -5.983 -4.066 -0.066 0.314 -0.947 1701 473 1 + -4.780 -5.634 -4.056 -0.290 0.081 -0.954 1701 473 1 + -4.490 -5.273 -4.196 -0.484 -0.160 -0.861 -1701 473 1 + -6.156 -6.170 -4.254 0.166 0.850 -0.500 -1701 492 1 + -5.768 -6.011 -4.011 -0.093 0.744 -0.662 1701 492 1 + -5.394 -5.736 -3.872 -0.342 0.560 -0.755 1701 473 1 + -5.074 -5.372 -3.851 -0.555 0.318 -0.769 1701 473 1 + -4.841 -4.959 -3.951 -0.711 0.042 -0.702 -1701 473 1 + -6.441 -5.963 -3.815 0.003 0.968 -0.249 -1701 492 1 + -6.002 -5.842 -3.652 -0.291 0.887 -0.358 1701 492 1 + -5.607 -5.581 -3.545 -0.553 0.714 -0.430 1701 473 1 + -5.300 -5.209 -3.505 -0.758 0.465 -0.456 1701 473 1 + -5.111 -4.764 -3.537 -0.884 0.169 -0.435 -1701 473 1 + -6.123 -5.804 -3.209 -0.393 0.919 0.016 -1701 492 1 + -5.718 -5.547 -3.141 -0.663 0.748 -0.029 -1701 473 1 + -5.417 -5.172 -3.078 -0.864 0.498 -0.071 -1701 473 1 + -2.752 -5.945 -3.982 0.002 -0.262 -0.965 -1705 472 1 + -2.956 -5.216 -4.185 0.506 -0.123 -0.854 -1705 473 1 + -2.493 -5.505 -3.999 0.197 0.070 -0.978 1705 472 1 + -1.987 -5.779 -4.030 -0.140 0.252 -0.957 -1705 472 1 + -2.718 -4.754 -3.995 0.659 0.175 -0.731 -1705 473 1 + -2.274 -5.079 -3.824 0.363 0.392 -0.846 1705 472 1 + -1.749 -5.317 -3.840 0.013 0.550 -0.835 -1705 472 1 + -2.558 -4.375 -3.625 0.763 0.419 -0.492 -1705 473 1 + -2.126 -4.730 -3.482 0.475 0.655 -0.588 1705 472 1 + -1.588 -4.939 -3.470 0.117 0.794 -0.596 -1705 472 1 + -2.498 -4.137 -3.130 0.801 0.573 -0.173 -1705 473 1 + -2.071 -4.509 -3.025 0.516 0.822 -0.242 1705 472 1 + -1.529 -4.700 -2.974 0.155 0.949 -0.276 -1705 472 1 + -2.118 -4.451 -2.520 0.481 0.866 0.139 -1705 472 1 + -2.866 -3.986 -2.115 0.564 0.670 0.482 -1706 473 1 + -2.491 -4.352 -1.772 0.315 0.915 0.254 -1706 471 1 + -2.058 -4.565 -1.809 0.563 0.793 0.233 -1708 471 1 + -1.487 -4.749 -1.994 0.182 0.917 0.356 -1708 472 1 + -1.994 -4.814 -1.399 0.599 0.651 0.467 -1708 471 1 + -1.427 -4.985 -1.607 0.221 0.764 0.606 -1708 472 1 + -1.971 -5.172 -1.074 0.612 0.446 0.653 -1708 471 1 + -1.405 -5.323 -1.300 0.235 0.546 0.804 -1708 472 1 + -2.056 -6.089 -0.540 0.646 0.519 0.560 -1709 469 1 + -2.206 -6.016 -0.456 0.547 0.568 0.615 -1709 469 1 + -1.861 -6.302 -0.518 0.516 0.661 0.545 -1711 469 1 + -1.670 -6.054 -0.866 0.388 0.495 0.777 -1711 472 1 + -1.607 -6.822 -0.159 0.804 0.552 0.222 -1711 469 1 + -1.533 -6.628 -0.578 0.755 0.422 0.502 1711 469 1 + -1.350 -6.373 -0.924 0.632 0.252 0.732 1711 472 1 + -1.074 -6.081 -1.164 0.448 0.058 0.892 -1711 472 1 + -1.362 -7.246 -0.350 0.944 0.309 0.113 -1711 469 1 + -1.316 -7.004 -0.747 0.914 0.148 0.378 1711 469 1 + -1.137 -6.741 -1.089 0.795 -0.028 0.607 1711 472 1 + -0.842 -6.481 -1.343 0.598 -0.201 0.776 -1711 472 1 + -1.270 -7.675 -0.640 0.997 0.064 -0.052 -1711 469 1 + -1.235 -7.385 -1.004 0.973 -0.130 0.191 1711 469 1 + -1.057 -7.113 -1.341 0.855 -0.311 0.415 1711 472 1 + -0.756 -6.886 -1.617 0.654 -0.462 0.599 -1711 472 1 + -1.344 -8.057 -0.995 0.955 -0.154 -0.255 -1711 469 1 + -1.300 -7.723 -1.319 0.925 -0.377 -0.039 1711 469 1 + -1.121 -7.444 -1.649 0.806 -0.563 0.181 1711 472 1 + -0.825 -7.247 -1.952 0.609 -0.695 0.383 -1711 472 1 + -1.573 -8.345 -1.370 0.823 -0.319 -0.470 -1711 469 1 + -1.504 -7.978 -1.652 0.777 -0.563 -0.282 1711 469 1 + -1.321 -7.693 -1.974 0.655 -0.753 -0.067 1711 472 1 + -1.042 -7.518 -2.307 0.469 -0.870 0.154 -1711 472 1 + -1.931 -8.503 -1.722 0.619 -0.409 -0.671 -1711 469 1 + -1.821 -8.118 -1.963 0.545 -0.666 -0.510 1711 469 1 + -1.631 -7.830 -2.279 0.418 -0.858 -0.299 1711 472 1 + -1.380 -7.668 -2.638 0.251 -0.966 -0.060 -1711 472 1 + -2.374 -8.513 -2.006 0.366 -0.415 -0.833 -1711 469 1 + -2.213 -8.127 -2.215 0.258 -0.672 -0.694 1711 469 1 + -2.015 -7.839 -2.525 0.126 -0.864 -0.487 1711 472 1 + -1.798 -7.677 -2.907 -0.019 -0.972 -0.233 -1711 472 1 + -2.633 -8.004 -2.377 -0.048 -0.582 -0.812 -1711 469 1 + -2.425 -7.718 -2.683 -0.187 -0.772 -0.607 -1711 472 1 + -2.866 -7.875 -2.490 0.108 -0.668 -0.736 -1713 471 1 + -3.039 -7.882 -2.495 -0.007 -0.673 -0.740 -1713 471 1 + -3.389 -8.684 -2.158 0.226 -0.138 -0.964 -1715 469 1 + -3.712 -9.007 -2.263 0.441 0.077 -0.894 -1715 469 1 + -3.970 -9.318 -2.499 0.613 0.285 -0.737 -1715 477 1 + -4.139 -9.588 -2.843 0.726 0.464 -0.508 -1715 477 1 + -4.201 -9.790 -3.261 0.767 0.599 -0.229 -1715 477 1 + -3.225 -8.979 -1.987 0.425 -0.496 -0.757 -1715 469 1 + -3.604 -9.201 -2.151 0.677 -0.348 -0.648 -1715 469 1 + -3.884 -9.474 -2.409 0.863 -0.166 -0.476 -1715 477 1 + -4.037 -9.771 -2.737 0.966 0.032 -0.258 -1715 477 1 + -4.049 -10.064 -3.102 0.974 0.227 -0.014 -1715 477 1 + -2.722 -9.464 -1.515 0.299 -0.320 -0.899 -1719 467 1 + -2.207 -8.937 -1.591 0.461 -0.657 -0.596 -1719 469 1 + -2.344 -9.454 -1.326 0.552 -0.313 -0.773 1719 467 1 + -2.350 -10.044 -1.244 0.556 0.080 -0.828 -1719 467 1 + -1.870 -8.886 -1.288 0.653 -0.628 -0.423 -1719 469 1 + -2.032 -9.405 -1.045 0.761 -0.281 -0.585 1719 467 1 + -2.013 -9.992 -0.941 0.748 0.110 -0.654 -1719 467 1 + -1.632 -8.798 -0.909 0.790 -0.577 -0.206 -1719 469 1 + -1.810 -9.324 -0.694 0.909 -0.227 -0.350 1719 467 1 + -1.774 -9.904 -0.562 0.885 0.160 -0.438 -1719 467 1 + -1.510 -8.680 -0.485 0.859 -0.510 0.036 -1719 469 1 + -1.698 -9.215 -0.302 0.984 -0.154 -0.087 1719 467 1 + -1.653 -9.786 -0.138 0.954 0.227 -0.196 -1719 467 1 + -1.516 -8.543 -0.050 0.856 -0.432 0.284 -1719 469 1 + -1.703 -9.088 0.102 0.981 -0.069 0.183 1719 467 1 + -1.658 -9.649 0.297 0.951 0.306 0.053 -1719 467 1 + -1.649 -8.397 0.361 0.780 -0.348 0.519 -1719 469 1 + -1.826 -8.953 0.483 0.899 0.022 0.438 1719 467 1 + -1.791 -9.503 0.708 0.875 0.389 0.288 -1719 467 1 + -1.897 -8.253 0.716 0.638 -0.267 0.722 -1719 469 1 + -2.056 -8.820 0.812 0.744 0.111 0.659 1719 467 1 + -2.039 -9.360 1.063 0.733 0.471 0.491 -1719 467 1 + -2.376 -8.700 1.061 0.531 0.191 0.826 -1719 467 1 + -2.503 -7.827 1.274 0.616 -0.391 0.684 -1720 469 1 + -2.667 -7.593 1.672 0.724 -0.547 0.419 -1720 513 1 + -2.714 -7.446 2.137 0.756 -0.646 0.109 -1720 513 1 + -1.959 -7.640 0.840 0.603 0.084 0.793 -1720 469 1 + -2.268 -7.423 1.153 0.809 -0.060 0.585 1720 469 1 + -2.447 -7.217 1.559 0.929 -0.198 0.314 1720 513 1 + -2.478 -7.042 2.016 0.949 -0.315 0.010 1720 513 1 + -2.357 -6.917 2.474 0.869 -0.398 -0.296 -1720 513 1 + -1.901 -7.107 0.619 0.636 0.389 0.667 -1720 469 1 + -2.219 -6.980 0.968 0.848 0.304 0.433 1720 469 1 + -2.402 -6.804 1.387 0.970 0.186 0.154 1720 513 1 + -2.430 -6.598 1.831 0.989 0.049 -0.142 1720 513 1 + -2.299 -6.384 2.252 0.902 -0.093 -0.422 -1720 513 1 + -2.367 -6.573 0.752 0.727 0.637 0.257 -1720 469 1 + -2.540 -6.425 1.186 0.842 0.538 -0.033 -1720 513 1 + -2.578 -6.192 1.615 0.868 0.382 -0.319 -1720 513 1 + -2.894 -7.691 2.290 0.876 -0.482 0.007 -1722 513 1 + -2.998 -8.063 1.962 0.946 -0.234 0.226 -1722 513 1 + -2.941 -8.474 1.672 0.907 0.040 0.419 -1722 467 1 + -2.728 -8.879 1.454 0.765 0.310 0.564 -1722 467 1 + -3.039 -7.855 2.494 0.725 -0.653 0.220 -1722 513 1 + -3.114 -8.194 2.125 0.775 -0.427 0.466 -1722 513 1 + -3.057 -8.605 1.835 0.737 -0.152 0.659 -1722 467 1 + -2.873 -9.043 1.658 0.614 0.139 0.777 -1722 467 1 + -2.433 -7.110 3.843 0.441 -0.880 0.177 -1726 513 1 + -2.049 -6.956 4.123 0.185 -0.983 -0.010 -1726 330 1 + -1.635 -6.965 4.402 -0.091 -0.977 -0.195 -1726 330 1 + -2.484 -7.263 3.184 0.796 -0.595 0.110 -1726 513 1 + -2.219 -6.988 3.506 0.619 -0.778 -0.104 1726 513 1 + -1.851 -6.843 3.811 0.374 -0.875 -0.307 1726 330 1 + -1.421 -6.843 4.065 0.087 -0.875 -0.476 1726 330 1 + -0.976 -6.989 4.239 -0.209 -0.778 -0.593 -1726 330 1 + -2.295 -6.952 2.833 0.904 -0.418 -0.090 -1726 513 1 + -2.063 -6.732 3.216 0.749 -0.565 -0.346 1726 513 1 + -1.706 -6.606 3.542 0.512 -0.649 -0.563 1726 330 1 + -1.265 -6.587 3.775 0.217 -0.661 -0.718 1726 330 1 + -0.787 -6.678 3.888 -0.101 -0.600 -0.793 -1726 330 1 + -1.985 -6.376 3.013 0.814 -0.268 -0.515 -1726 513 1 + -1.635 -6.276 3.354 0.580 -0.335 -0.743 -1726 330 1 + -1.187 -6.231 3.571 0.282 -0.364 -0.888 -1726 330 1 + -1.973 -6.184 2.902 0.805 -0.396 -0.441 -1727 513 1 + -1.602 -5.918 3.139 0.558 -0.573 -0.600 -1727 332 1 + -1.133 -5.752 3.271 0.246 -0.684 -0.687 -1727 332 1 + -2.114 -5.628 2.572 0.684 0.082 -0.725 -1727 513 1 + -1.732 -5.406 2.836 0.430 -0.066 -0.901 -1727 332 1 + -1.274 -5.196 2.941 0.124 -0.206 -0.971 -1727 332 1 + 0.066 -5.745 3.219 -0.286 -0.715 -0.638 -1730 332 1 + 0.492 -5.870 3.049 -0.571 -0.632 -0.525 -1730 332 1 + 0.833 -6.090 2.799 -0.798 -0.485 -0.358 -1730 315 1 + 1.053 -6.383 2.495 -0.944 -0.290 -0.156 -1730 315 1 + -0.343 -5.235 2.931 0.062 -0.444 -0.894 -1730 332 1 + 0.112 -5.376 2.949 -0.240 -0.350 -0.905 1730 332 1 + 0.530 -5.570 2.829 -0.519 -0.221 -0.826 1730 332 1 + 0.869 -5.797 2.585 -0.746 -0.069 -0.663 1730 315 1 + 1.096 -6.035 2.240 -0.897 0.089 -0.433 1730 315 1 + 1.188 -6.259 1.830 -0.958 0.238 -0.160 -1730 315 1 + -0.067 -4.700 2.806 0.220 -0.138 -0.966 -1730 332 1 + 0.318 -4.976 2.855 -0.037 0.046 -0.998 1730 332 1 + 0.697 -5.245 2.753 -0.290 0.225 -0.930 1730 332 1 + 1.033 -5.480 2.510 -0.514 0.382 -0.769 1730 315 1 + 1.291 -5.657 2.151 -0.686 0.500 -0.529 1730 315 1 + 1.445 -5.758 1.713 -0.789 0.567 -0.237 -1730 315 1 + 0.347 -4.270 2.950 0.456 0.108 -0.883 -1730 332 1 + 0.627 -4.654 2.963 0.269 0.364 -0.891 1730 332 1 + 0.949 -4.983 2.841 0.055 0.584 -0.810 1730 332 1 + 1.278 -5.224 2.596 -0.165 0.745 -0.647 1730 315 1 + 1.583 -5.353 2.253 -0.368 0.830 -0.419 1730 315 1 + 1.832 -5.356 1.848 -0.534 0.832 -0.148 -1730 315 1 + 0.956 -4.497 3.243 0.594 0.519 -0.614 -1730 332 1 + 1.216 -4.856 3.068 0.421 0.758 -0.497 -1730 332 1 + 1.539 -5.100 2.818 0.206 0.921 -0.331 -1730 315 1 + 1.894 -5.205 2.518 -0.030 0.991 -0.131 -1730 315 1 + 1.063 -6.540 2.631 -0.951 -0.185 -0.247 -1732 315 1 + 0.836 -6.390 3.053 -0.800 -0.285 -0.528 -1732 315 1 + 0.475 -6.289 3.387 -0.559 -0.352 -0.750 -1732 330 1 + 0.021 -6.247 3.594 -0.256 -0.380 -0.889 -1732 330 1 + 1.155 -6.837 2.816 -0.843 -0.538 -0.027 -1732 315 1 + 0.910 -6.628 3.202 -0.680 -0.676 -0.284 -1732 315 1 + 0.551 -6.533 3.539 -0.440 -0.740 -0.509 -1732 330 1 + 0.118 -6.563 3.791 -0.152 -0.720 -0.677 -1732 330 1 + 1.375 -7.433 2.754 -0.990 -0.140 0.015 -1734 315 1 + 1.355 -7.749 3.083 -0.976 0.071 -0.205 -1734 317 1 + 1.429 -7.627 2.567 -0.949 -0.289 -0.128 -1734 315 1 + 1.410 -7.949 2.891 -0.936 -0.075 -0.344 -1734 317 1 + 1.462 -7.773 2.155 -0.970 -0.192 0.146 -1736 315 1 + 1.473 -8.227 2.105 -0.977 0.111 0.179 -1736 322 1 + 1.347 -8.666 2.081 -0.894 0.404 0.196 -1736 322 1 + 1.330 -7.307 1.736 -0.864 -0.451 -0.222 -1736 315 1 + 1.474 -7.741 1.746 -0.960 -0.162 -0.228 1736 315 1 + 1.483 -8.197 1.724 -0.967 0.142 -0.213 1736 322 1 + 1.358 -8.634 1.672 -0.883 0.433 -0.179 1736 322 1 + 1.111 -9.010 1.595 -0.718 0.684 -0.128 -1736 322 1 + 1.530 -7.296 1.289 -0.733 -0.444 -0.516 -1736 315 1 + 1.641 -7.731 1.371 -0.807 -0.153 -0.571 1736 315 1 + 1.640 -8.188 1.374 -0.806 0.151 -0.573 1736 322 1 + 1.526 -8.624 1.297 -0.730 0.442 -0.522 1736 322 1 + 1.311 -8.999 1.148 -0.586 0.692 -0.422 -1736 322 1 + 1.887 -7.314 0.952 -0.498 -0.456 -0.738 -1736 315 1 + 1.939 -7.746 1.089 -0.534 -0.167 -0.829 1736 315 1 + 1.918 -8.202 1.111 -0.519 0.137 -0.844 1736 322 1 + 1.824 -8.639 1.015 -0.457 0.428 -0.780 1736 322 1 + 1.667 -9.017 0.811 -0.352 0.680 -0.644 -1736 322 1 + 2.343 -7.358 0.778 -0.198 -0.485 -0.852 -1736 315 1 + 2.322 -7.784 0.944 -0.184 -0.201 -0.962 1736 315 1 + 2.275 -8.237 0.975 -0.153 0.101 -0.983 1736 322 1 + 2.207 -8.677 0.870 -0.107 0.394 -0.913 1736 322 1 + 2.123 -9.061 0.637 -0.052 0.650 -0.758 -1736 322 1 + 2.729 -7.837 0.957 0.189 -0.250 -0.950 -1736 315 1 + 2.654 -8.287 0.988 0.238 0.050 -0.970 -1736 322 1 + 2.613 -8.730 0.883 0.265 0.345 -0.900 -1736 322 1 + 3.578 -7.037 0.677 -0.154 -0.339 -0.928 -1740 313 1 + 2.968 -6.643 0.588 0.213 -0.015 -0.977 -1740 315 1 + 3.549 -6.612 0.599 -0.174 -0.035 -0.984 1740 313 1 + 4.091 -6.589 0.388 -0.535 -0.050 -0.843 -1740 313 1 + 2.951 -6.196 0.646 0.202 0.280 -0.939 -1740 315 1 + 3.533 -6.184 0.655 -0.186 0.272 -0.944 1740 313 1 + 4.073 -6.110 0.450 -0.546 0.223 -0.808 -1740 313 1 + 2.947 -5.787 0.839 0.199 0.549 -0.812 -1740 315 1 + 3.529 -5.793 0.839 -0.189 0.552 -0.812 1740 313 1 + 4.069 -5.673 0.656 -0.548 0.473 -0.690 -1740 313 1 + 2.958 -5.457 1.147 0.206 0.766 -0.609 -1740 315 1 + 3.539 -5.477 1.134 -0.181 0.779 -0.600 1740 313 1 + 4.080 -5.320 0.986 -0.542 0.675 -0.501 -1740 313 1 + 2.981 -5.238 1.541 0.222 0.910 -0.350 -1740 315 1 + 3.562 -5.267 1.511 -0.165 0.929 -0.330 1740 313 1 + 4.105 -5.086 1.407 -0.527 0.809 -0.260 -1740 313 1 + 3.016 -5.150 1.983 0.245 0.968 -0.059 -1740 315 1 + 3.595 -5.183 1.934 -0.141 0.990 -0.027 1740 313 1 + 4.142 -4.992 1.880 -0.506 0.862 0.010 -1740 313 1 + 3.635 -5.233 2.362 -0.113 0.953 0.280 -1740 313 1 + 3.761 -5.897 5.779 0.359 0.687 -0.631 -1753 319 1 + 3.809 -5.902 5.807 0.472 0.677 -0.565 -1753 319 1 + 4.034 -3.654 5.675 0.177 -0.808 -0.562 -1754 277 1 + 4.082 -3.659 5.704 0.290 -0.819 -0.495 -1754 277 1 + 4.450 -3.680 5.850 0.045 -0.804 -0.593 -1756 277 1 + 4.590 -4.033 6.192 -0.049 -0.569 -0.821 -1756 274 1 + 4.872 -3.260 5.379 0.498 -0.809 -0.313 -1756 277 1 + 4.948 -3.494 5.827 0.447 -0.653 -0.611 1756 277 1 + 5.101 -3.841 6.168 0.345 -0.421 -0.839 1756 274 1 + 5.315 -4.262 6.364 0.202 -0.141 -0.969 -1756 274 1 + 5.318 -2.901 5.531 0.792 -0.573 -0.213 -1756 277 1 + 5.348 -3.171 5.963 0.771 -0.393 -0.501 1756 277 1 + 5.513 -3.510 6.308 0.662 -0.167 -0.731 1756 274 1 + 5.793 -3.878 6.526 0.475 0.079 -0.876 -1756 274 1 + 5.577 -2.774 6.233 0.957 -0.071 -0.283 -1756 277 1 + 5.748 -3.102 6.585 0.843 0.147 -0.518 -1756 274 1 + 5.618 -1.849 5.715 0.989 0.119 -0.091 -1758 277 1 + 5.772 -1.732 6.271 0.886 0.042 -0.462 -1758 276 1 + 5.438 -0.970 6.095 0.834 0.302 -0.462 -1760 278 1 + 5.031 -0.892 5.434 0.603 0.749 -0.276 -1760 277 1 + 5.087 -0.621 5.917 0.566 0.568 -0.598 1760 278 1 + 5.258 -0.233 6.276 0.452 0.309 -0.837 -1760 278 1 + 4.523 -0.645 5.378 0.269 0.911 -0.313 -1760 277 1 + 4.615 -0.392 5.864 0.207 0.742 -0.638 1760 278 1 + 4.750 0.014 6.219 0.117 0.471 -0.874 -1760 278 1 + 3.968 -0.568 5.467 -0.097 0.962 -0.255 -1760 277 1 + 4.100 -0.320 5.947 -0.185 0.797 -0.575 1760 278 1 + 4.195 0.092 6.308 -0.248 0.522 -0.816 -1760 278 1 + 3.625 -0.416 6.150 -0.548 0.724 -0.420 -1760 278 1 + 2.880 -0.966 6.230 -0.578 0.732 -0.362 -1764 277 1 + 2.608 -0.871 6.631 -0.397 0.669 -0.629 -1764 277 1 + 2.273 -0.667 6.930 -0.173 0.533 -0.828 -1764 66 1 + 1.909 -0.377 7.095 0.069 0.340 -0.938 -1764 66 1 + 2.730 -1.151 6.187 -0.750 0.518 -0.412 -1764 277 1 + 2.487 -1.022 6.596 -0.587 0.432 -0.684 -1764 277 1 + 2.148 -0.823 6.894 -0.362 0.299 -0.883 -1764 66 1 + 1.750 -0.575 7.048 -0.097 0.133 -0.986 -1764 66 1 + 2.522 -1.535 5.819 -0.611 0.774 -0.167 -1765 277 1 + 2.097 -1.752 5.901 -0.327 0.919 -0.221 -1765 333 1 + 1.620 -1.826 5.948 -0.010 0.967 -0.253 -1765 333 1 + 2.519 -1.555 5.752 -0.614 0.756 -0.228 -1765 277 1 + 2.094 -1.771 5.838 -0.330 0.900 -0.285 -1765 333 1 + 1.616 -1.846 5.879 -0.012 0.950 -0.312 -1765 333 1 + 1.118 -1.531 6.390 0.325 0.771 -0.548 -1766 333 1 + 1.145 -1.193 6.738 0.307 0.546 -0.780 -1766 66 1 + 1.221 -0.770 6.964 0.256 0.264 -0.930 -1766 66 1 + 0.965 -1.495 6.370 0.201 0.801 -0.565 -1766 333 1 + 1.003 -1.159 6.719 0.176 0.577 -0.798 -1766 66 1 + 1.068 -0.734 6.943 0.132 0.293 -0.947 -1766 66 1 + 1.959 -0.306 7.121 0.036 0.292 -0.956 -1768 66 1 + 2.367 -0.534 6.985 -0.236 0.444 -0.864 -1768 276 1 + 2.738 -0.691 6.711 -0.483 0.549 -0.682 -1768 276 1 + 2.128 -0.085 7.234 0.174 0.473 -0.864 -1768 66 1 + 2.524 -0.327 7.089 -0.091 0.634 -0.768 -1768 276 1 + 2.907 -0.470 6.824 -0.345 0.729 -0.591 -1768 276 1 + 2.207 0.071 7.320 0.121 0.369 -0.922 -1770 66 1 + 2.673 -0.034 7.255 -0.190 0.439 -0.878 -1770 278 1 + 3.110 -0.070 7.054 -0.481 0.463 -0.744 -1770 278 1 + 2.374 0.483 7.648 0.263 0.718 -0.644 -1770 66 1 + 2.826 0.341 7.553 -0.037 0.813 -0.581 -1770 278 1 + 3.271 0.325 7.368 -0.335 0.824 -0.457 -1770 278 1 + 1.496 0.961 7.564 0.270 0.677 -0.685 -1771 66 1 + 1.677 1.467 7.930 0.149 0.339 -0.929 -1771 65 1 + 0.994 1.100 7.619 -0.017 0.757 -0.653 -1771 66 1 + 1.175 1.607 7.985 -0.138 0.419 -0.897 -1771 65 1 + 0.504 1.143 7.802 -0.297 0.781 -0.549 -1771 66 1 + 0.685 1.650 8.168 -0.418 0.443 -0.793 -1771 65 1 + 0.073 1.085 8.096 -0.543 0.748 -0.381 -1771 66 1 + 0.254 1.592 8.462 -0.664 0.410 -0.625 -1771 65 1 + 2.531 0.889 8.002 0.159 0.448 -0.880 -1773 65 1 + 2.947 0.616 7.834 -0.118 0.630 -0.768 -1773 278 1 + 3.341 0.459 7.524 -0.381 0.735 -0.562 -1773 278 1 + 2.511 1.531 8.359 0.626 0.375 -0.684 -1773 65 1 + 2.817 1.112 8.275 0.422 0.654 -0.628 1773 65 1 + 3.200 0.814 8.076 0.167 0.853 -0.495 1773 278 1 + 3.613 0.673 7.786 -0.109 0.947 -0.301 1773 278 1 + 4.007 0.705 7.440 -0.372 0.926 -0.071 -1773 278 1 + 2.842 1.587 8.835 0.815 0.408 -0.412 -1773 65 1 + 3.075 1.157 8.646 0.660 0.695 -0.286 1773 65 1 + 3.428 0.853 8.404 0.424 0.897 -0.125 1773 278 1 + 3.860 0.715 8.140 0.136 0.989 0.052 1773 278 1 + 4.317 0.758 7.885 -0.168 0.961 0.222 -1773 278 1 + 3.252 1.013 9.038 0.824 0.562 0.076 -1773 65 1 + 3.586 0.726 8.752 0.601 0.753 0.267 -1773 278 1 + 4.030 0.577 8.515 0.305 0.852 0.425 -1773 278 1 + 3.272 1.115 9.624 0.811 0.494 -0.315 -1774 65 1 + 3.584 0.895 9.866 0.602 0.641 -0.476 -1774 79 1 + 3.979 0.762 10.044 0.339 0.729 -0.595 -1774 79 1 + 2.895 1.738 9.915 0.845 0.494 0.205 -1774 65 1 + 3.121 1.404 10.121 0.695 0.716 0.068 1774 65 1 + 3.442 1.168 10.336 0.481 0.874 -0.076 1774 79 1 + 3.828 1.051 10.541 0.223 0.951 -0.212 1774 79 1 + 4.245 1.064 10.716 -0.055 0.943 -0.329 -1774 79 1 + 2.833 1.444 10.639 0.473 0.747 0.467 -1774 65 1 + 3.170 1.206 10.826 0.249 0.906 0.342 -1774 79 1 + 3.541 1.091 11.059 0.001 0.982 0.187 -1774 79 1 + 4.444 0.474 9.735 0.029 0.921 -0.389 -1776 79 1 + 4.472 0.360 9.271 0.011 0.997 -0.080 -1776 278 1 + 4.501 0.399 8.795 -0.009 0.971 0.238 -1776 278 1 + 4.997 0.596 10.180 0.374 0.675 -0.636 -1776 79 1 + 4.917 0.365 9.768 0.427 0.828 -0.362 1776 79 1 + 4.903 0.261 9.301 0.437 0.898 -0.050 1776 278 1 + 4.955 0.294 8.826 0.402 0.876 0.266 1776 278 1 + 5.068 0.460 8.392 0.327 0.765 0.555 -1776 278 1 + 5.297 0.063 9.801 0.748 0.574 -0.334 -1776 79 1 + 5.248 -0.014 9.331 0.780 0.625 -0.021 -1776 278 1 + 5.319 0.004 8.858 0.733 0.613 0.295 -1776 278 1 + 5.934 -0.113 10.269 0.323 0.691 -0.646 -1778 82 1 + 5.613 0.464 10.705 0.726 0.600 -0.336 -1778 79 1 + 6.071 0.100 10.705 0.421 0.842 -0.336 1778 82 1 + 6.625 -0.072 10.629 0.052 0.957 -0.286 -1778 82 1 + 5.695 0.524 11.257 0.773 0.634 -0.021 -1778 79 1 + 6.145 0.154 11.202 0.473 0.881 0.016 1778 82 1 + 6.702 -0.015 11.150 0.102 0.994 0.051 -1778 82 1 + 6.145 0.042 11.694 0.473 0.801 0.366 -1778 82 1 + 5.650 0.351 12.256 0.803 0.596 -0.009 -1780 79 1 + 5.717 0.385 12.707 0.759 0.573 -0.310 -1780 70 1 + 5.259 0.798 11.848 0.524 0.790 0.317 -1780 79 1 + 5.263 0.704 12.295 0.522 0.853 0.019 1780 79 1 + 5.340 0.729 12.744 0.471 0.836 -0.281 1780 70 1 + 5.482 0.870 13.155 0.376 0.742 -0.555 -1780 70 1 + 4.776 0.883 12.375 0.167 0.983 0.078 -1780 79 1 + 4.865 0.903 12.823 0.108 0.969 -0.221 -1780 70 1 + 4.534 0.940 12.481 0.328 0.945 0.008 -1782 69 1 + 3.862 1.004 12.302 -0.116 0.987 -0.111 -1782 69 1 + 4.271 1.265 13.485 0.307 0.947 -0.091 -1786 69 1 + 4.820 1.224 13.671 -0.059 0.975 -0.215 -1786 70 1 + 4.121 1.280 13.981 0.221 0.956 0.192 -1786 69 1 + 4.679 1.238 14.134 -0.152 0.984 0.090 -1786 70 1 + 4.002 1.021 14.728 0.142 0.947 0.288 -1789 70 1 + 3.603 0.937 15.341 0.566 0.732 0.379 -1789 68 1 + 4.116 0.826 15.088 0.224 0.807 0.547 1789 70 1 + 4.680 0.896 14.960 -0.152 0.759 0.633 -1789 70 1 + 4.212 0.525 15.374 0.293 0.591 0.752 -1789 70 1 + 3.630 0.410 16.048 0.680 0.668 0.302 -1791 68 1 + 3.638 0.305 16.476 0.675 0.738 0.017 -1791 74 1 + 3.734 0.295 16.905 0.611 0.744 -0.269 -1791 74 1 + 3.333 0.847 15.738 0.412 0.680 0.606 -1791 68 1 + 3.302 0.624 16.116 0.433 0.829 0.354 1791 68 1 + 3.327 0.508 16.540 0.416 0.906 0.071 1791 74 1 + 3.406 0.509 16.974 0.364 0.906 -0.218 1791 74 1 + 3.532 0.627 17.379 0.280 0.827 -0.488 -1791 74 1 + 2.923 0.725 16.176 0.146 0.905 0.399 -1791 68 1 + 2.967 0.604 16.597 0.117 0.986 0.118 -1791 74 1 + 3.027 0.610 17.033 0.077 0.982 -0.173 -1791 74 1 + 2.784 0.696 16.330 0.239 0.925 0.296 -1792 72 1 + 2.437 0.752 16.293 0.006 0.963 0.271 -1792 72 1 + 2.348 0.722 17.179 0.061 0.997 0.045 -1794 72 1 + 2.718 0.816 17.701 -0.185 0.935 -0.303 -1794 74 1 + 1.846 0.627 17.742 -0.063 0.998 0.005 -1797 74 1 + 1.834 0.625 17.770 -0.071 0.997 0.023 -1797 74 1 + 1.559 0.634 17.910 0.112 0.991 -0.071 -1799 73 1 + 1.814 0.697 18.268 -0.058 0.949 -0.309 -1799 76 1 + 1.551 0.636 17.915 0.107 0.992 -0.067 -1799 73 1 + 1.807 0.699 18.273 -0.063 0.950 -0.306 -1799 76 1 + 1.529 0.755 18.401 0.122 0.912 -0.391 -1801 76 1 + 1.529 0.755 18.401 0.122 0.912 -0.391 -1801 76 1 + 2.485 1.027 18.752 0.018 0.905 -0.425 -1803 76 1 + 2.756 0.905 18.169 -0.163 0.986 -0.036 -1803 74 1 + 2.917 1.040 18.951 0.265 0.913 -0.311 -1803 76 1 + 3.189 0.919 18.368 0.084 0.993 0.077 -1803 74 1 + 3.326 0.924 19.166 0.499 0.846 -0.189 -1803 76 1 + 3.597 0.802 18.582 0.317 0.927 0.200 -1803 74 1 + 3.679 0.687 19.379 0.700 0.711 -0.067 -1803 76 1 + 3.951 0.565 18.796 0.519 0.792 0.322 -1803 74 1 + 3.949 0.348 19.576 0.855 0.517 0.046 -1803 76 1 + 4.221 0.226 18.993 0.674 0.598 0.435 -1803 74 1 + 4.115 -0.067 19.740 0.950 0.280 0.139 -1803 76 1 + 4.387 -0.189 19.156 0.769 0.361 0.528 -1803 74 1 + 4.295 -0.909 19.626 0.891 0.274 0.362 -1805 76 1 + 4.556 -1.253 19.446 0.718 0.503 0.481 -1805 76 1 + 4.921 -1.524 19.337 0.474 0.684 0.554 -1805 98 1 + 5.354 -1.695 19.308 0.185 0.798 0.574 -1805 98 1 + 4.157 -1.220 19.934 0.764 -0.012 0.645 -1805 76 1 + 4.438 -1.518 19.709 0.576 0.186 0.796 -1805 76 1 + 4.803 -1.789 19.599 0.333 0.367 0.869 -1805 98 1 + 5.216 -2.006 19.616 0.058 0.512 0.857 -1805 98 1 + 3.831 -1.190 20.614 0.981 -0.033 0.192 -1806 76 1 + 3.823 -1.461 21.004 0.987 0.148 -0.068 -1806 76 1 + 3.962 -1.709 21.384 0.894 0.314 -0.321 -1806 159 1 + 4.236 -1.911 21.715 0.711 0.448 -0.542 -1806 159 1 + 3.842 -0.537 20.560 0.794 0.011 0.608 -1806 76 1 + 3.720 -0.892 20.850 0.876 0.248 0.414 1806 76 1 + 3.728 -1.209 21.203 0.870 0.460 0.179 1806 76 1 + 3.868 -1.458 21.583 0.777 0.625 -0.074 1806 159 1 + 4.124 -1.612 21.951 0.606 0.728 -0.320 1806 159 1 + 4.471 -1.658 22.272 0.375 0.758 -0.533 -1806 159 1 + 3.517 -0.269 20.855 0.608 0.165 0.777 -1806 76 1 + 3.469 -0.685 21.078 0.640 0.442 0.628 1806 76 1 + 3.517 -1.035 21.395 0.608 0.676 0.417 1806 76 1 + 3.657 -1.284 21.774 0.515 0.841 0.164 1806 159 1 + 3.874 -1.406 22.179 0.370 0.923 -0.106 1806 159 1 + 4.146 -1.389 22.567 0.189 0.912 -0.365 -1806 159 1 + 3.124 -0.606 21.256 0.315 0.517 0.796 -1806 76 1 + 3.226 -0.969 21.545 0.247 0.758 0.603 -1806 76 1 + 3.366 -1.217 21.925 0.154 0.924 0.350 -1806 159 1 + 3.528 -1.327 22.357 0.045 0.997 0.062 -1806 159 1 + 4.689 -2.386 21.648 0.409 0.765 -0.497 -1808 159 1 + 4.822 -2.615 21.258 0.320 0.917 -0.237 -1808 159 1 + 5.002 -2.707 20.833 0.200 0.979 0.046 -1808 98 1 + 5.213 -2.654 20.414 0.060 0.944 0.325 -1808 98 1 + 5.432 -2.462 20.044 -0.086 0.815 0.572 -1808 98 1 + 5.078 -2.679 21.842 0.865 0.422 -0.270 -1808 159 1 + 5.090 -2.816 21.391 0.858 0.513 0.030 -1808 159 1 + 5.228 -2.877 20.945 0.765 0.554 0.328 -1808 98 1 + 5.480 -2.855 20.547 0.597 0.540 0.593 -1808 98 1 + 5.821 -2.754 20.237 0.370 0.473 0.800 -1808 98 1 + 5.398 -2.387 22.755 0.904 0.342 -0.257 -1810 159 1 + 5.794 -2.977 22.704 0.640 0.736 -0.222 -1810 158 1 + 5.460 -2.393 23.302 0.939 0.338 0.055 -1810 159 1 + 5.856 -2.983 23.250 0.675 0.732 0.090 -1810 158 1 + 5.374 -2.497 23.835 0.890 0.279 0.360 -1810 159 1 + 5.771 -3.088 23.783 0.626 0.673 0.394 -1810 158 1 + 5.282 -3.261 24.499 0.674 0.552 0.491 -1812 155 1 + 4.686 -2.683 24.693 0.497 0.173 0.850 -1812 159 1 + 4.855 -3.257 24.862 0.384 0.555 0.738 1812 155 1 + 5.123 -3.687 25.221 0.205 0.842 0.499 -1812 155 1 + 4.347 -3.370 25.068 0.038 0.478 0.878 -1812 155 1 + 3.930 -3.173 25.059 0.316 0.346 0.883 -1813 159 1 + 3.769 -3.494 25.316 0.423 0.560 0.712 -1813 157 1 + 3.663 -3.742 25.666 0.494 0.726 0.479 -1813 157 1 + 3.402 -2.972 25.025 -0.103 0.505 0.857 -1813 159 1 + 3.280 -3.308 25.285 -0.022 0.730 0.684 -1813 157 1 + 3.156 -3.549 25.634 0.061 0.890 0.451 -1813 157 1 + 4.071 -3.952 25.711 0.222 0.865 0.449 -1815 155 1 + 4.231 -4.155 25.930 0.338 0.720 0.607 -1815 155 1 + 3.947 -4.336 26.655 0.527 0.841 0.123 -1817 157 1 + 4.174 -4.454 27.019 0.376 0.919 -0.119 -1817 157 1 + 4.450 -4.450 27.366 0.192 0.917 -0.351 -1817 182 1 + 4.752 -4.326 27.668 -0.010 0.834 -0.552 -1817 182 1 + 5.053 -4.092 27.897 -0.210 0.678 -0.704 -1817 182 1 + 3.846 -4.298 26.737 0.405 0.887 0.222 -1817 157 1 + 4.099 -4.425 27.080 0.236 0.972 -0.006 -1817 157 1 + 4.383 -4.425 27.421 0.047 0.971 -0.233 -1817 182 1 + 4.673 -4.296 27.732 -0.147 0.886 -0.441 -1817 182 1 + 4.944 -4.052 27.985 -0.327 0.722 -0.609 -1817 182 1 + 3.653 -4.215 26.840 0.534 0.832 0.154 -1819 157 1 + 3.731 -4.266 27.277 0.482 0.866 -0.137 -1819 180 1 + 3.872 -4.202 27.695 0.387 0.823 -0.416 -1819 180 1 + 3.086 -3.882 26.558 0.170 0.838 0.519 -1819 157 1 + 3.167 -4.065 26.956 0.116 0.960 0.253 1819 157 1 + 3.263 -4.122 27.388 0.052 0.998 -0.035 1819 180 1 + 3.366 -4.046 27.815 -0.016 0.947 -0.320 1819 180 1 + 3.467 -3.844 28.200 -0.084 0.813 -0.576 -1819 180 1 + 2.666 -4.156 27.068 -0.314 0.883 0.349 -1819 157 1 + 2.780 -4.209 27.495 -0.391 0.918 0.064 -1819 180 1 + 2.843 -4.140 27.932 -0.433 0.872 -0.227 -1819 180 1 + 2.044 -3.864 26.514 0.100 0.689 0.718 -1820 157 1 + 1.596 -3.623 26.467 0.399 0.528 0.750 -1820 157 1 + 1.217 -3.291 26.550 0.651 0.306 0.694 -1820 193 1 + 0.952 -2.905 26.753 0.828 0.049 0.558 -1820 193 1 + 2.135 -3.686 26.214 0.218 0.917 0.333 -1820 157 1 + 1.664 -3.490 26.241 0.531 0.786 0.315 -1820 157 1 + 1.286 -3.156 26.323 0.784 0.564 0.260 -1820 193 1 + 1.044 -2.725 26.451 0.945 0.276 0.175 -1820 193 1 + 0.508 -2.868 27.573 0.845 0.096 0.526 -1825 193 1 + 0.509 -3.268 27.770 0.844 0.363 0.395 -1825 193 1 + 0.622 -3.620 28.019 0.769 0.597 0.229 -1825 178 1 + 0.837 -3.893 28.298 0.625 0.779 0.042 -1825 178 1 + 1.135 -4.062 28.583 0.427 0.892 -0.148 -1825 178 1 + 0.331 -2.799 27.763 0.636 0.179 0.751 -1825 193 1 + 0.378 -3.216 27.910 0.604 0.457 0.653 -1825 193 1 + 0.505 -3.574 28.145 0.520 0.695 0.496 -1825 178 1 + 0.701 -3.839 28.445 0.389 0.872 0.296 -1825 178 1 + 0.948 -3.989 28.784 0.224 0.972 0.070 -1825 178 1 + 0.207 -2.791 27.879 0.718 0.174 0.674 -1827 193 1 + 0.161 -3.197 28.152 0.749 0.444 0.491 -1827 193 1 + 0.236 -3.531 28.504 0.699 0.667 0.257 -1827 179 1 + 0.423 -3.758 28.898 0.574 0.819 -0.006 -1827 179 1 + 0.703 -3.854 29.291 0.388 0.882 -0.268 -1827 179 1 + -0.284 -2.773 28.066 -0.075 0.203 0.976 -1827 193 1 + -0.094 -3.187 28.250 -0.201 0.480 0.854 -1827 193 1 + 0.063 -3.525 28.570 -0.306 0.705 0.640 -1827 179 1 + 0.171 -3.749 28.994 -0.378 0.854 0.358 -1827 179 1 + 0.218 -3.835 29.476 -0.409 0.912 0.037 -1827 179 1 + -0.566 -2.791 28.076 0.113 0.216 0.970 -1829 193 1 + -0.629 -3.225 28.257 0.155 0.505 0.849 -1829 186 1 + -0.669 -3.583 28.565 0.182 0.743 0.644 -1829 186 1 + -1.045 -2.759 28.018 -0.311 0.244 0.918 -1829 193 1 + -1.084 -3.194 28.202 -0.285 0.534 0.796 -1829 186 1 + -1.166 -3.550 28.505 -0.231 0.771 0.594 -1829 186 1 + -1.422 -3.175 28.119 -0.060 0.521 0.851 -1832 191 1 + -1.342 -3.548 28.454 -0.113 0.770 0.628 -1832 186 1 + -1.849 -3.301 28.080 -0.371 0.430 0.823 -1832 191 1 + -1.770 -3.674 28.415 -0.423 0.679 0.600 -1832 186 1 + -2.073 -3.330 28.017 -0.221 0.450 0.865 -1833 191 1 + -2.191 -3.731 28.292 -0.142 0.717 0.682 -1833 191 1 + -2.333 -4.013 28.681 -0.048 0.905 0.423 -1833 194 1 + -2.483 -4.143 29.140 0.052 0.992 0.116 -1833 194 1 + -2.157 -3.327 27.989 -0.311 0.453 0.835 -1833 191 1 + -2.257 -3.729 28.270 -0.245 0.721 0.648 -1833 191 1 + -2.397 -4.010 28.659 -0.151 0.909 0.388 -1833 194 1 + -2.563 -4.140 29.114 -0.040 0.996 0.085 -1833 194 1 + -2.176 -4.135 29.230 -0.153 0.987 0.057 -1835 186 1 + -1.674 -4.300 29.780 0.206 0.869 0.450 -1835 186 1 + -1.635 -4.454 30.225 0.181 0.971 0.153 -1836 194 1 + -1.146 -4.470 30.276 -0.145 0.982 0.119 -1836 179 1 + -0.680 -4.327 30.346 -0.456 0.887 0.073 -1836 179 1 + -1.667 -4.814 30.863 0.151 0.625 0.766 -1836 194 1 + -1.175 -4.799 30.859 -0.177 0.616 0.768 -1836 179 1 + -0.712 -4.685 30.980 -0.486 0.539 0.688 -1836 179 1 + -0.525 -4.176 30.061 -0.559 0.786 0.263 -1837 179 1 + -0.840 -4.201 29.731 -0.350 0.803 0.483 -1837 186 1 + -0.074 -3.929 29.631 -0.215 0.974 -0.067 -1837 179 1 + -0.377 -3.948 29.289 -0.013 0.987 0.161 -1837 186 1 + 1.765 -3.982 29.596 0.028 0.943 -0.331 -1841 179 1 + 2.227 -3.978 29.390 -0.279 0.941 -0.193 -1841 180 1 + 1.516 -3.769 30.229 0.470 0.875 -0.113 -1841 179 1 + 1.952 -3.932 30.031 0.179 0.984 0.019 1841 179 1 + 2.419 -3.926 29.836 -0.132 0.980 0.149 1841 180 1 + 2.863 -3.753 29.667 -0.428 0.865 0.262 -1841 180 1 + 1.707 -3.916 30.699 0.595 0.779 0.196 -1841 179 1 + 2.124 -4.063 30.455 0.317 0.878 0.359 1841 179 1 + 2.596 -4.061 30.271 0.003 0.876 0.482 1841 180 1 + 3.067 -3.910 30.170 -0.312 0.775 0.549 -1841 180 1 + 1.852 -4.243 31.088 0.691 0.564 0.452 -1841 179 1 + 2.255 -4.358 30.805 0.422 0.641 0.641 1841 179 1 + 2.730 -4.364 30.631 0.106 0.645 0.757 1841 180 1 + 3.223 -4.260 30.586 -0.223 0.576 0.787 -1841 180 1 + 1.931 -4.702 31.338 0.743 0.262 0.616 -1841 179 1 + 2.326 -4.771 31.030 0.479 0.309 0.822 1841 179 1 + 2.803 -4.788 30.862 0.161 0.320 0.934 1841 180 1 + 3.307 -4.751 30.853 -0.175 0.295 0.939 -1841 180 1 + 2.326 -5.243 31.096 0.479 -0.070 0.875 -1841 179 1 + 2.803 -5.272 30.930 0.161 -0.050 0.986 -1841 180 1 + 2.320 -5.535 31.108 0.483 0.124 0.866 -1843 177 1 + 1.690 -5.641 31.510 0.584 -0.356 0.730 -1843 179 1 + 2.089 -5.933 31.203 0.318 -0.161 0.934 1843 177 1 + 2.560 -6.261 31.107 0.004 0.058 0.998 -1843 177 1 + 1.385 -6.022 31.460 0.383 -0.607 0.696 -1843 179 1 + 1.797 -6.298 31.155 0.109 -0.423 0.900 1843 177 1 + 2.234 -6.669 31.053 -0.183 -0.175 0.967 -1843 177 1 + 1.477 -6.588 30.969 -0.121 -0.631 0.767 -1843 177 1 + 1.287 -7.142 30.627 -0.033 -0.344 0.938 -1847 178 1 + 1.369 -7.555 30.544 -0.088 -0.068 0.994 -1847 173 1 + 1.441 -7.978 30.584 -0.136 0.213 0.967 -1847 173 1 + 0.873 -7.216 30.506 -0.355 -0.402 0.844 -1847 178 1 + 0.985 -7.625 30.432 -0.430 -0.130 0.894 -1847 173 1 + 1.044 -8.049 30.467 -0.469 0.153 0.870 -1847 173 1 + 1.657 -7.949 30.625 -0.280 0.195 0.940 -1849 173 1 + 1.777 -7.497 30.645 -0.360 -0.107 0.927 -1849 177 1 + 1.935 -8.499 30.818 0.116 0.395 0.911 -1849 173 1 + 2.061 -8.065 30.695 0.032 0.105 0.994 1849 173 1 + 2.191 -7.615 30.716 -0.055 -0.194 0.979 1849 177 1 + 2.314 -7.194 30.881 -0.137 -0.475 0.869 -1849 177 1 + 2.373 -8.628 30.741 0.404 0.310 0.861 -1849 173 1 + 2.463 -8.183 30.624 0.343 0.014 0.939 1849 173 1 + 2.604 -7.737 30.644 0.249 -0.284 0.926 1849 177 1 + 2.782 -7.332 30.799 0.131 -0.554 0.822 -1849 177 1 + 2.761 -8.746 30.520 0.659 0.232 0.715 -1849 173 1 + 2.821 -8.293 30.420 0.619 -0.071 0.782 1849 173 1 + 2.971 -7.849 30.435 0.519 -0.366 0.772 1849 177 1 + 3.197 -7.459 30.563 0.368 -0.626 0.687 -1849 177 1 + 3.094 -8.380 30.106 0.831 -0.138 0.539 -1849 173 1 + 3.252 -7.939 30.113 0.726 -0.433 0.535 -1849 177 1 + 3.358 -9.659 29.478 0.768 -0.138 0.626 -1853 173 1 + 3.715 -9.859 29.144 0.530 -0.005 0.848 -1853 174 1 + 2.894 -9.964 29.958 0.747 -0.569 0.345 -1853 173 1 + 3.136 -10.084 29.504 0.585 -0.488 0.648 1853 173 1 + 3.487 -10.296 29.171 0.351 -0.347 0.870 1853 174 1 + 3.903 -10.572 29.000 0.073 -0.163 0.984 -1853 174 1 + 2.533 -10.345 29.830 0.509 -0.820 0.261 -1853 173 1 + 2.815 -10.423 29.391 0.321 -0.768 0.554 1853 173 1 + 3.158 -10.644 29.055 0.092 -0.621 0.778 1853 174 1 + 3.517 -10.980 28.864 -0.147 -0.397 0.906 -1853 174 1 + 2.118 -10.570 29.566 0.236 -0.968 0.088 -1853 173 1 + 2.447 -10.623 29.156 0.017 -0.933 0.361 1853 173 1 + 2.779 -10.849 28.814 -0.205 -0.782 0.589 1853 174 1 + 3.074 -11.221 28.581 -0.401 -0.534 0.744 -1853 174 1 + 2.089 -10.651 28.837 -0.278 -0.956 0.097 -1853 173 1 + 2.412 -10.878 28.486 -0.493 -0.804 0.332 -1853 174 1 + 1.891 -10.638 28.648 -0.146 -0.964 0.223 -1855 171 1 + 1.791 -10.627 28.615 -0.218 -0.955 0.200 -1855 171 1 + 1.181 -10.602 29.131 0.188 -0.971 -0.144 -1856 173 1 + 0.775 -10.736 29.072 0.459 -0.882 -0.105 -1856 370 1 + 0.426 -10.979 29.001 0.691 -0.720 -0.057 -1856 370 1 + 1.520 -10.581 29.674 -0.157 -0.975 0.159 -1856 173 1 + 1.103 -10.595 29.563 0.120 -0.965 0.232 1856 173 1 + 0.701 -10.729 29.481 0.388 -0.876 0.287 1856 370 1 + 0.348 -10.972 29.435 0.624 -0.714 0.318 1856 370 1 + 0.072 -11.303 29.428 0.808 -0.493 0.322 -1856 370 1 + 1.352 -10.394 30.118 -0.268 -0.852 0.450 -1856 173 1 + 0.959 -10.434 29.945 -0.005 -0.825 0.565 1856 173 1 + 0.565 -10.577 29.843 0.257 -0.730 0.634 1856 370 1 + 0.203 -10.810 29.820 0.499 -0.574 0.649 1856 370 1 + -0.098 -11.114 29.877 0.699 -0.371 0.611 -1856 370 1 + 1.134 -10.058 30.433 -0.411 -0.631 0.658 -1856 173 1 + 0.771 -10.145 30.217 -0.169 -0.573 0.802 1856 173 1 + 0.387 -10.303 30.100 0.087 -0.467 0.880 1856 370 1 + 0.013 -10.519 30.093 0.335 -0.323 0.885 1856 370 1 + -0.318 -10.775 30.195 0.557 -0.152 0.817 -1856 370 1 + 0.899 -9.626 30.570 -0.566 -0.347 0.748 -1856 173 1 + 0.568 -9.773 30.335 -0.346 -0.249 0.905 1856 173 1 + 0.195 -9.951 30.212 -0.097 -0.130 0.987 1856 370 1 + -0.190 -10.145 30.211 0.160 -0.001 0.987 1856 370 1 + -0.555 -10.340 30.333 0.404 0.129 0.906 -1856 370 1 + 0.384 -9.378 30.280 -0.506 0.095 0.857 -1856 173 1 + 0.021 -9.577 30.160 -0.264 0.228 0.937 -1856 370 1 + -0.375 -9.748 30.156 0.000 0.342 0.940 -1856 370 1 + 0.395 -11.031 28.688 0.712 -0.686 0.151 -1857 370 1 + 0.716 -10.836 28.473 0.498 -0.816 0.294 -1857 370 1 + 1.099 -10.743 28.295 0.243 -0.878 0.413 -1857 171 1 + 1.512 -10.759 28.169 -0.033 -0.867 0.497 -1857 171 1 + 0.229 -11.149 28.279 0.555 -0.797 -0.236 -1857 370 1 + 0.568 -10.941 28.110 0.329 -0.936 -0.123 -1857 370 1 + 0.949 -10.850 27.925 0.076 -0.997 -0.000 -1857 171 1 + 1.339 -10.883 27.741 -0.184 -0.975 0.123 -1857 171 1 + 1.945 -11.139 27.550 -0.292 -0.930 0.223 -1859 171 1 + 2.554 -11.496 27.605 -0.698 -0.692 0.187 -1859 174 1 + 1.979 -11.194 26.374 -0.270 -0.940 0.211 -1861 171 1 + 1.925 -11.390 25.881 -0.234 -0.809 0.539 -1861 408 1 + 1.828 -11.739 25.491 -0.169 -0.576 0.800 -1861 408 1 + 1.595 -11.007 26.324 -0.612 -0.773 0.166 -1861 171 1 + 1.576 -11.220 25.836 -0.600 -0.631 0.492 -1861 408 1 + 1.444 -11.553 25.441 -0.512 -0.409 0.755 -1861 408 1 + 1.061 -10.728 26.755 -0.256 -0.959 -0.121 -1863 171 1 + 0.582 -10.671 26.647 0.063 -0.997 -0.048 -1863 171 1 + 0.114 -10.777 26.530 0.375 -0.927 0.029 -1863 367 1 + -0.294 -11.033 26.419 0.647 -0.756 0.104 -1863 367 1 + 1.015 -10.721 26.931 -0.302 -0.952 0.055 -1863 171 1 + 0.545 -10.666 26.791 0.012 -0.989 0.149 -1863 171 1 + 0.077 -10.771 26.674 0.324 -0.919 0.226 -1863 367 1 + -0.339 -11.026 26.595 0.601 -0.749 0.279 -1863 367 1 + 1.123 -10.798 27.346 -0.373 -0.901 -0.222 -1864 171 1 + 0.762 -10.776 27.584 -0.133 -0.915 -0.381 -1864 171 1 + 0.385 -10.869 27.775 0.119 -0.853 -0.508 -1864 370 1 + 0.023 -11.068 27.902 0.360 -0.721 -0.593 -1864 370 1 + 1.204 -10.851 27.482 -0.302 -0.948 -0.103 -1864 171 1 + 0.832 -10.822 27.702 -0.054 -0.967 -0.249 -1864 171 1 + 0.454 -10.914 27.890 0.198 -0.906 -0.375 -1864 370 1 + 0.100 -11.119 28.032 0.434 -0.769 -0.470 -1864 370 1 + -0.542 -11.276 27.530 0.737 -0.582 -0.344 -1865 370 1 + -0.668 -11.292 27.047 0.821 -0.571 -0.022 -1865 367 1 + -0.569 -11.313 27.538 0.716 -0.611 -0.338 -1865 370 1 + -0.695 -11.330 27.055 0.800 -0.600 -0.016 -1865 367 1 + -0.386 -11.366 25.880 0.708 -0.534 0.463 -1867 367 1 + -0.060 -11.407 25.511 0.491 -0.506 0.709 -1867 367 1 + 0.345 -11.530 25.257 0.221 -0.424 0.878 -1867 408 1 + 0.786 -11.722 25.145 -0.073 -0.296 0.952 -1867 408 1 + -0.404 -11.400 25.867 0.690 -0.567 0.450 -1867 367 1 + -0.075 -11.435 25.500 0.471 -0.544 0.695 -1867 367 1 + 0.330 -11.558 25.246 0.201 -0.462 0.864 -1867 408 1 + 0.767 -11.756 25.133 -0.091 -0.330 0.940 -1867 408 1 + -0.710 -11.796 26.046 0.894 -0.303 0.331 -1868 367 1 + -0.686 -12.173 25.827 0.878 -0.052 0.477 -1868 367 1 + -0.550 -12.556 25.669 0.787 0.204 0.582 -1868 397 1 + -0.315 -12.914 25.585 0.630 0.442 0.638 -1868 397 1 + -0.788 -11.870 26.157 0.824 -0.369 0.429 -1868 367 1 + -0.753 -12.236 25.922 0.801 -0.125 0.586 -1868 367 1 + -0.616 -12.618 25.762 0.710 0.130 0.692 -1868 397 1 + -0.389 -12.984 25.690 0.558 0.374 0.741 -1868 397 1 + 0.277 -12.990 25.286 0.236 0.493 0.838 -1870 397 1 + 0.587 -12.694 25.110 0.029 0.295 0.955 -1870 408 1 + 0.902 -12.356 25.070 -0.181 0.070 0.981 -1870 408 1 + 0.475 -13.182 25.302 0.411 0.323 0.853 -1870 397 1 + 0.777 -12.878 25.126 0.210 0.120 0.970 -1870 408 1 + 1.108 -12.556 25.088 -0.011 -0.094 0.995 -1870 408 1 + 0.315 -13.914 25.956 0.476 0.707 0.523 -1873 397 1 + 0.508 -14.194 26.316 0.348 0.894 0.282 -1873 388 1 + 0.756 -14.328 26.723 0.182 0.983 0.011 -1873 388 1 + 0.209 -13.902 26.023 0.377 0.718 0.585 -1873 397 1 + 0.408 -14.183 26.379 0.244 0.905 0.347 -1873 388 1 + 0.646 -14.316 26.793 0.086 0.994 0.072 -1873 388 1 + 0.934 -14.349 26.717 0.063 0.998 0.015 -1875 388 1 + 0.841 -14.276 26.304 0.125 0.949 0.291 -1875 396 1 + 0.764 -14.085 25.927 0.177 0.822 0.542 -1875 396 1 + 1.223 -14.401 26.637 0.278 0.960 -0.044 -1875 388 1 + 1.116 -14.325 26.228 0.349 0.909 0.229 -1875 396 1 + 1.052 -14.137 25.847 0.392 0.783 0.483 -1875 396 1 + 1.632 -12.883 25.073 0.005 -0.052 0.999 -1877 408 1 + 1.706 -12.905 25.065 0.176 -0.103 0.979 -1877 408 1 + 1.341 -14.431 26.530 0.199 0.980 0.027 -1878 388 1 + 1.415 -14.453 26.522 0.370 0.929 0.008 -1878 388 1 + 1.733 -14.670 28.599 0.277 0.918 0.283 -1888 389 1 + 1.876 -14.796 28.780 0.380 0.828 0.412 -1888 389 1 + 1.719 -14.850 29.602 0.484 0.864 -0.136 -1890 387 1 + 2.039 -14.872 29.987 0.271 0.879 -0.392 -1890 392 1 + 1.109 -14.526 29.520 0.431 0.843 0.322 -1890 387 1 + 1.397 -14.714 29.884 0.239 0.968 0.079 1890 387 1 + 1.726 -14.739 30.262 0.020 0.985 -0.173 1890 392 1 + 2.058 -14.600 30.610 -0.201 0.892 -0.405 -1890 392 1 + 0.722 -14.550 29.863 0.210 0.829 0.518 -1890 387 1 + 1.062 -14.735 30.182 -0.017 0.952 0.306 1890 387 1 + 1.399 -14.760 30.552 -0.241 0.969 0.059 1890 392 1 + 1.695 -14.623 30.931 -0.439 0.877 -0.194 -1890 392 1 + 0.366 -14.752 30.182 0.007 0.714 0.700 -1890 387 1 + 0.753 -14.909 30.458 -0.251 0.819 0.516 1890 387 1 + 1.099 -14.930 30.820 -0.481 0.832 0.274 1890 392 1 + 1.363 -14.811 31.229 -0.658 0.753 0.002 -1890 392 1 + 0.087 -15.106 30.436 -0.153 0.511 0.846 -1890 387 1 + 0.511 -15.217 30.678 -0.436 0.585 0.684 1890 387 1 + 0.863 -15.229 31.035 -0.670 0.593 0.446 1890 392 1 + 1.102 -15.142 31.467 -0.830 0.535 0.158 -1890 392 1 + 0.364 -15.618 30.816 -0.547 0.279 0.789 -1890 387 1 + 0.720 -15.620 31.169 -0.784 0.280 0.553 -1890 392 1 + 0.634 -15.897 31.241 -0.727 0.465 0.506 -1893 392 1 + 0.247 -16.632 31.331 -0.359 0.312 0.880 -1893 390 1 + 0.713 -16.361 31.554 -0.670 0.131 0.731 1893 392 1 + 1.027 -16.061 31.943 -0.879 -0.069 0.472 -1893 392 1 + 0.960 -16.846 31.711 -0.493 -0.216 0.843 -1893 392 1 + 0.649 -17.659 31.459 -0.130 -0.275 0.953 -1895 390 1 + 1.274 -17.526 31.756 -0.546 -0.364 0.755 -1895 391 1 + 0.827 -18.096 31.281 -0.028 -0.525 0.851 -1895 390 1 + 1.451 -17.963 31.578 -0.444 -0.613 0.653 -1895 391 1 + 1.041 -18.445 30.988 0.094 -0.724 0.683 -1895 390 1 + 1.665 -18.312 31.284 -0.322 -0.813 0.485 -1895 391 1 + 1.860 -18.658 30.600 -0.166 -0.868 0.467 -1897 393 1 + 1.300 -18.852 30.078 0.242 -0.956 0.163 -1897 390 1 + 1.886 -18.815 30.127 -0.148 -0.980 0.130 1897 393 1 + 2.437 -19.006 30.207 -0.515 -0.853 0.077 -1897 393 1 + 1.373 -18.835 29.527 0.284 -0.947 -0.151 -1897 390 1 + 1.951 -18.801 29.633 -0.102 -0.970 -0.222 1897 393 1 + 2.505 -18.990 29.687 -0.471 -0.843 -0.258 -1897 393 1 + 2.047 -18.615 29.179 -0.033 -0.838 -0.545 -1897 393 1 + 1.457 -18.486 28.550 0.360 -0.924 -0.125 -1899 390 1 + 1.493 -18.493 28.057 0.336 -0.920 0.204 -1899 390 1 + 1.584 -18.650 27.597 0.276 -0.815 0.510 -1899 400 1 + 1.720 -18.940 27.221 0.185 -0.622 0.761 -1899 400 1 + 0.887 -18.500 28.435 -0.238 -0.940 -0.246 -1899 390 1 + 1.045 -18.505 27.966 -0.343 -0.937 0.067 -1899 390 1 + 1.147 -18.661 27.509 -0.411 -0.832 0.371 -1899 400 1 + 1.183 -18.954 27.112 -0.435 -0.638 0.636 -1899 400 1 + 0.704 -18.455 28.386 -0.116 -0.970 -0.213 -1901 390 1 + 0.697 -18.432 27.871 -0.111 -0.985 0.130 -1901 390 1 + 0.671 -18.584 27.380 -0.094 -0.884 0.458 -1901 399 1 + 0.628 -18.892 26.969 -0.065 -0.679 0.731 -1901 399 1 + 0.640 -18.445 28.386 -0.184 -0.960 -0.213 -1901 390 1 + 0.647 -18.424 27.872 -0.189 -0.973 0.130 -1901 390 1 + 0.620 -18.576 27.380 -0.171 -0.872 0.458 -1901 399 1 + 0.564 -18.882 26.970 -0.134 -0.668 0.732 -1901 399 1 + 0.509 -18.432 28.410 -0.097 -0.969 -0.229 -1902 390 1 + 0.402 -18.392 27.919 -0.026 -0.995 0.099 -1902 390 1 + 0.290 -18.522 27.444 0.049 -0.908 0.416 -1902 401 1 + 0.187 -18.806 27.040 0.118 -0.719 0.685 -1902 401 1 + 0.103 -19.212 26.752 0.173 -0.448 0.877 -1902 401 1 + 0.055 -18.162 28.387 -0.786 -0.560 -0.264 -1902 390 1 + 0.177 -18.259 27.907 -0.867 -0.495 0.056 -1902 390 1 + 0.152 -18.440 27.437 -0.850 -0.374 0.370 -1902 401 1 + -0.018 -18.685 27.029 -0.737 -0.211 0.642 -1902 401 1 + -0.312 -18.965 26.731 -0.541 -0.024 0.841 -1902 401 1 + 0.653 -19.575 26.581 -0.075 -0.330 0.941 -1906 400 1 + 0.351 -20.240 26.314 0.408 -0.486 0.773 -1906 401 1 + 0.850 -19.994 26.339 0.075 -0.650 0.756 1906 400 1 + 1.365 -19.883 26.521 -0.268 -0.724 0.635 -1906 400 1 + 0.547 -20.547 25.883 0.537 -0.687 0.489 -1906 401 1 + 1.032 -20.278 25.940 0.214 -0.866 0.452 1906 400 1 + 1.561 -20.189 26.090 -0.139 -0.926 0.352 -1906 400 1 + 0.695 -20.658 25.350 0.634 -0.761 0.139 -1906 401 1 + 1.169 -20.382 25.446 0.318 -0.945 0.075 1906 400 1 + 1.708 -20.301 25.557 -0.042 -0.999 0.001 -1906 400 1 + 1.240 -20.288 24.936 0.372 -0.874 -0.313 -1906 400 1 + 0.620 -20.434 24.333 0.585 -0.613 -0.530 -1908 401 1 + 1.095 -20.098 24.249 0.269 -0.838 -0.475 -1908 399 1 + 0.373 -20.206 23.954 0.422 -0.463 -0.779 -1908 401 1 + 0.830 -19.853 23.845 0.117 -0.698 -0.706 -1908 399 1 + 0.055 -19.898 23.708 0.213 -0.260 -0.942 -1908 401 1 + 0.490 -19.523 23.580 -0.076 -0.510 -0.857 -1908 399 1 + -0.158 -19.002 23.493 -0.110 -0.388 -0.915 -1910 398 1 + -0.468 -18.910 23.533 -0.331 -0.323 -0.887 -1910 398 1 + -1.499 -18.039 21.842 0.357 -0.903 0.240 -1911 414 1 + -1.542 -18.050 21.853 0.260 -0.928 0.266 -1911 414 1 + -0.775 -18.999 23.637 -0.126 -0.263 -0.956 -1912 401 1 + -0.815 -19.009 23.647 -0.225 -0.289 -0.930 -1912 401 1 + -1.321 -18.010 21.744 0.238 -0.922 0.305 -1914 414 1 + -1.081 -17.899 22.141 0.078 -0.996 0.040 -1914 414 1 + -0.829 -17.939 22.545 -0.090 -0.969 -0.228 -1914 398 1 + -0.590 -18.127 22.913 -0.249 -0.844 -0.474 -1914 398 1 + -1.100 -18.132 21.140 0.617 -0.681 0.394 -1914 414 1 + -0.995 -17.911 21.550 0.547 -0.828 0.121 1914 414 1 + -0.807 -17.816 21.979 0.422 -0.892 -0.164 1914 414 1 + -0.555 -17.856 22.382 0.254 -0.865 -0.433 1914 398 1 + -0.264 -18.028 22.719 0.060 -0.750 -0.658 1914 398 1 + 0.036 -18.313 22.957 -0.140 -0.560 -0.817 -1914 398 1 + -0.748 -17.812 20.952 0.818 -0.498 0.287 -1914 414 1 + -0.725 -17.666 21.406 0.803 -0.595 -0.016 1914 414 1 + -0.580 -17.610 21.857 0.707 -0.633 -0.316 1914 414 1 + -0.328 -17.650 22.261 0.539 -0.606 -0.585 1914 398 1 + 0.006 -17.782 22.575 0.316 -0.518 -0.795 1914 398 1 + 0.388 -17.993 22.769 0.062 -0.377 -0.924 -1914 398 1 + -0.559 -17.317 21.337 0.961 -0.265 -0.081 -1914 414 1 + -0.441 -17.317 21.799 0.882 -0.265 -0.389 -1914 414 1 + -0.189 -17.357 22.203 0.714 -0.238 -0.658 -1914 398 1 + 0.172 -17.434 22.506 0.474 -0.187 -0.861 -1914 398 1 + -0.319 -16.936 20.767 0.801 -0.519 0.299 -1916 414 1 + 0.017 -16.595 20.717 0.577 -0.746 0.332 -1916 414 1 + 0.443 -16.369 20.719 0.293 -0.897 0.330 -1916 405 1 + 0.913 -16.281 20.773 -0.020 -0.955 0.295 -1916 405 1 + -0.296 -16.975 20.570 0.824 -0.558 0.101 -1916 414 1 + 0.036 -16.626 20.559 0.602 -0.791 0.108 -1916 414 1 + 0.460 -16.399 20.565 0.319 -0.942 0.104 -1916 405 1 + 0.934 -16.318 20.587 0.003 -0.996 0.090 -1916 405 1 + -0.228 -16.980 20.279 0.778 -0.555 0.295 -1918 410 1 + -0.592 -17.630 20.194 0.907 -0.394 -0.147 -1918 414 1 + -0.312 -17.184 19.906 0.721 -0.692 0.045 1918 410 1 + 0.140 -16.903 19.630 0.419 -0.878 0.229 -1918 410 1 + -0.782 -17.756 19.785 0.799 -0.466 -0.380 -1918 414 1 + -0.488 -17.300 19.528 0.603 -0.770 -0.209 1918 410 1 + -0.049 -17.029 19.221 0.311 -0.950 -0.004 -1918 410 1 + -0.739 -17.320 19.176 0.434 -0.783 -0.445 -1918 410 1 + -1.543 -17.957 19.176 0.364 -0.581 -0.728 -1919 414 1 + -1.456 -17.513 18.639 0.306 -0.877 -0.370 -1919 413 1 + -0.790 -16.793 18.022 0.330 -0.884 -0.330 -1923 413 1 + -0.436 -16.630 17.639 0.095 -0.993 -0.075 -1923 418 1 + -1.062 -16.747 17.786 0.114 -0.848 -0.518 -1923 413 1 + -0.703 -16.585 17.408 -0.126 -0.956 -0.267 -1923 418 1 + -1.375 -16.784 17.710 0.322 -0.823 -0.468 -1924 413 1 + -1.305 -16.605 17.295 0.275 -0.942 -0.191 -1924 413 1 + -1.197 -16.558 16.853 0.203 -0.974 0.104 -1924 421 1 + -1.061 -16.647 16.426 0.113 -0.914 0.389 -1924 421 1 + -0.909 -16.863 16.052 0.011 -0.770 0.637 -1924 421 1 + -1.987 -16.606 17.520 -0.383 -0.619 -0.686 -1924 413 1 + -1.730 -16.482 17.163 -0.555 -0.701 -0.448 -1924 413 1 + -1.550 -16.456 16.744 -0.675 -0.719 -0.168 -1924 421 1 + -1.463 -16.530 16.301 -0.732 -0.669 0.127 -1924 421 1 + -1.479 -16.697 15.876 -0.722 -0.558 0.410 -1924 421 1 + -0.591 -16.870 16.091 -0.201 -0.765 0.611 -1926 421 1 + -0.457 -16.672 16.509 -0.290 -0.897 0.333 -1926 418 1 + -0.300 -17.279 15.666 0.208 -0.616 0.760 -1926 421 1 + -0.186 -16.953 16.000 0.132 -0.833 0.537 1926 421 1 + -0.050 -16.756 16.418 0.042 -0.965 0.258 1926 418 1 + 0.091 -16.707 16.875 -0.053 -0.998 -0.046 -1926 418 1 + 0.139 -17.221 15.495 0.498 -0.578 0.647 -1926 421 1 + 0.206 -16.901 15.848 0.453 -0.791 0.412 1926 421 1 + 0.343 -16.703 16.265 0.362 -0.923 0.134 1926 418 1 + 0.535 -16.648 16.702 0.234 -0.959 -0.158 -1926 418 1 + 0.536 -16.720 15.653 0.724 -0.642 0.252 -1926 421 1 + 0.674 -16.522 16.069 0.632 -0.775 -0.025 -1926 418 1 + 0.843 -16.607 15.336 0.519 -0.718 0.464 -1928 421 1 + 1.274 -16.332 15.482 0.232 -0.901 0.366 -1928 422 1 + 0.676 -17.063 14.855 0.851 -0.474 0.226 -1928 421 1 + 0.990 -16.648 14.962 0.642 -0.751 0.155 1928 421 1 + 1.425 -16.374 15.099 0.352 -0.934 0.064 1928 422 1 + 1.927 -16.276 15.248 0.018 -0.999 -0.036 -1928 422 1 + 0.758 -16.983 14.414 0.905 -0.421 -0.064 -1928 421 1 + 1.063 -16.576 14.572 0.702 -0.692 -0.169 1928 421 1 + 1.500 -16.300 14.698 0.410 -0.876 -0.253 1928 422 1 + 2.014 -16.189 14.776 0.068 -0.950 -0.305 -1928 422 1 + 0.746 -16.785 14.004 0.897 -0.291 -0.333 -1928 421 1 + 1.052 -16.401 14.209 0.693 -0.547 -0.470 1928 421 1 + 1.489 -16.121 14.325 0.402 -0.734 -0.547 1928 422 1 + 2.001 -15.978 14.338 0.060 -0.829 -0.556 -1928 422 1 + 0.959 -16.143 13.914 0.616 -0.333 -0.714 -1928 421 1 + 1.393 -15.855 14.022 0.326 -0.525 -0.786 -1928 422 1 + -0.175 -16.079 12.934 0.643 -0.233 -0.729 -1932 421 1 + -0.348 -15.806 12.594 0.758 -0.415 -0.503 -1932 429 1 + -0.277 -16.734 13.082 0.224 -0.257 -0.940 -1932 421 1 + -0.514 -16.399 12.856 0.382 -0.481 -0.789 1932 421 1 + -0.695 -16.134 12.515 0.502 -0.657 -0.562 1932 429 1 + -0.802 -15.966 12.091 0.574 -0.770 -0.279 -1932 429 1 + -0.723 -16.982 13.136 -0.070 -0.420 -0.905 -1932 421 1 + -0.924 -16.627 12.906 0.064 -0.657 -0.751 1932 421 1 + -1.116 -16.368 12.566 0.192 -0.830 -0.524 1932 429 1 + -1.280 -16.231 12.149 0.301 -0.921 -0.246 -1932 429 1 + -1.188 -17.096 13.321 -0.376 -0.496 -0.783 -1932 421 1 + -1.352 -16.732 13.076 -0.266 -0.738 -0.620 1932 421 1 + -1.555 -16.476 12.740 -0.131 -0.909 -0.396 1932 429 1 + -1.777 -16.353 12.346 0.017 -0.991 -0.134 -1932 429 1 + -1.740 -16.700 13.343 -0.566 -0.713 -0.413 -1932 421 1 + -1.953 -16.443 13.015 -0.424 -0.885 -0.194 -1932 429 1 + -1.985 -16.822 13.717 -0.403 -0.632 -0.662 -1933 421 1 + -2.416 -16.671 13.730 -0.115 -0.733 -0.671 -1933 421 1 + -2.864 -16.622 13.649 0.183 -0.765 -0.617 -1933 435 1 + -3.286 -16.680 13.483 0.464 -0.727 -0.506 -1933 435 1 + -1.713 -17.298 14.068 -0.721 -0.629 -0.291 -1933 421 1 + -2.066 -17.007 14.074 -0.486 -0.823 -0.295 1933 421 1 + -2.486 -16.831 14.038 -0.206 -0.940 -0.271 1933 421 1 + -2.935 -16.786 13.964 0.094 -0.970 -0.222 1933 435 1 + -3.371 -16.876 13.860 0.384 -0.910 -0.153 1933 435 1 + -3.753 -17.092 13.734 0.639 -0.766 -0.069 -1933 435 1 + -2.129 -17.011 14.479 -0.551 -0.826 0.121 -1933 421 1 + -2.540 -16.834 14.388 -0.276 -0.944 0.182 -1933 421 1 + -2.991 -16.788 14.322 0.024 -0.974 0.226 -1933 435 1 + -3.437 -16.879 14.288 0.322 -0.914 0.248 -1933 435 1 + -3.353 -16.547 13.137 0.509 -0.816 -0.275 -1935 435 1 + -3.001 -16.353 12.995 0.274 -0.945 -0.180 -1935 429 1 + -2.615 -16.274 12.830 0.017 -0.997 -0.071 -1935 429 1 + -3.901 -16.699 12.749 0.555 -0.541 -0.632 -1935 435 1 + -3.580 -16.424 12.700 0.341 -0.725 -0.599 1935 435 1 + -3.217 -16.236 12.578 0.099 -0.850 -0.517 1935 429 1 + -2.843 -16.151 12.393 -0.151 -0.907 -0.394 1935 429 1 + -2.486 -16.176 12.161 -0.388 -0.890 -0.239 -1935 429 1 + -3.826 -16.132 12.366 0.158 -0.509 -0.846 -1935 435 1 + -3.452 -15.958 12.259 -0.091 -0.625 -0.775 -1935 429 1 + -3.089 -15.860 12.059 -0.333 -0.691 -0.642 -1935 429 1 + -3.829 -15.915 12.206 0.159 -0.654 -0.740 -1936 432 1 + -4.579 -16.110 12.167 0.168 -0.204 -0.964 -1936 435 1 + -4.197 -15.676 12.019 -0.087 -0.494 -0.865 1936 432 1 + -3.835 -15.360 11.665 -0.328 -0.704 -0.629 -1936 432 1 + -4.551 -15.362 11.963 -0.325 -0.283 -0.903 -1936 432 1 + -2.986 -15.345 11.298 -0.369 -0.824 -0.431 -1939 432 1 + -2.634 -15.406 10.883 -0.603 -0.783 -0.153 -1939 439 1 + -3.174 -15.086 11.097 -0.519 -0.617 -0.591 -1939 432 1 + -2.818 -15.153 10.686 -0.757 -0.572 -0.317 -1939 439 1 + -2.491 -15.572 11.017 -0.699 -0.672 -0.243 -1941 429 1 + -2.033 -15.924 10.529 -0.518 -0.831 0.204 -1941 439 1 + -2.138 -15.857 11.106 -0.448 -0.875 -0.181 1941 429 1 + -2.348 -15.993 11.640 -0.309 -0.785 -0.537 -1941 429 1 + -1.588 -16.084 10.639 -0.231 -0.933 0.275 -1941 439 1 + -1.715 -16.009 11.210 -0.147 -0.983 -0.106 1941 429 1 + -1.876 -16.162 11.756 -0.039 -0.881 -0.471 -1941 429 1 + -1.117 -16.085 10.754 0.073 -0.934 0.349 -1941 439 1 + -1.267 -16.010 11.319 0.173 -0.985 -0.028 1941 429 1 + -1.376 -16.163 11.878 0.246 -0.882 -0.401 -1941 429 1 + -0.670 -15.929 10.861 0.361 -0.833 0.418 -1941 439 1 + -0.842 -15.861 11.422 0.476 -0.879 0.045 1941 429 1 + -0.903 -15.997 11.992 0.517 -0.788 -0.336 -1941 429 1 + -0.487 -15.578 11.506 0.729 -0.677 0.105 -1941 429 1 + 0.038 -15.335 10.767 0.818 -0.450 0.357 -1942 439 1 + 0.112 -15.052 11.320 0.769 -0.639 -0.012 -1942 430 1 + -0.161 -15.284 12.037 0.634 -0.762 -0.132 -1946 430 1 + -0.100 -15.385 12.449 0.593 -0.695 -0.407 -1946 420 1 + 0.034 -15.571 12.812 0.504 -0.571 -0.648 -1946 420 1 + 0.276 -14.640 12.165 0.958 -0.284 -0.037 -1946 430 1 + 0.316 -14.771 12.571 0.931 -0.196 -0.307 -1946 420 1 + 0.471 -14.927 12.940 0.828 -0.093 -0.553 -1946 420 1 + 0.345 -14.456 12.194 0.912 -0.407 -0.056 -1948 430 1 + 0.460 -14.422 12.626 0.835 -0.429 -0.344 -1948 430 1 + 0.687 -14.446 13.012 0.684 -0.413 -0.601 -1948 422 1 + 1.005 -14.525 13.317 0.472 -0.360 -0.805 -1948 422 1 + 1.387 -14.653 13.515 0.217 -0.275 -0.936 -1948 422 1 + 0.426 -14.023 12.195 0.997 0.049 -0.055 -1948 430 1 + 0.521 -14.098 12.627 0.934 0.099 -0.343 -1948 430 1 + 0.741 -14.158 13.012 0.788 0.139 -0.600 -1948 422 1 + 1.066 -14.201 13.318 0.571 0.168 -0.804 -1948 422 1 + 1.468 -14.220 13.515 0.303 0.181 -0.936 -1948 422 1 + 0.493 -13.934 10.460 0.979 0.035 0.199 -1951 440 1 + 0.414 -14.465 10.467 0.927 -0.314 0.204 -1951 440 1 + 0.546 -13.730 10.287 0.944 -0.101 0.314 -1953 440 1 + 0.509 -13.519 10.682 0.969 -0.241 0.051 -1953 431 1 + 0.559 -13.680 10.262 0.953 -0.064 0.296 -1953 440 1 + 0.521 -13.470 10.656 0.978 -0.204 0.032 -1953 431 1 + 0.831 -13.493 9.795 0.772 -0.189 0.607 -1955 440 1 + 1.033 -13.111 9.759 0.637 -0.444 0.631 -1955 440 1 + 1.316 -12.784 9.802 0.448 -0.661 0.602 -1955 340 1 + 1.655 -12.541 9.921 0.222 -0.823 0.522 -1955 340 1 + 2.022 -12.401 10.106 -0.023 -0.917 0.399 -1955 340 1 + 0.930 -13.548 9.610 0.876 -0.246 0.415 -1955 440 1 + 1.109 -13.152 9.620 0.757 -0.510 0.408 -1955 440 1 + 1.382 -12.820 9.682 0.575 -0.731 0.368 -1955 340 1 + 1.727 -12.580 9.789 0.345 -0.891 0.296 -1955 340 1 + 2.116 -12.453 9.934 0.086 -0.976 0.200 -1955 340 1 + 1.143 -13.994 9.218 0.734 0.052 0.677 -1956 440 1 + 1.555 -14.005 8.904 0.460 0.059 0.886 -1956 446 1 + 2.048 -14.005 8.748 0.130 0.059 0.990 -1956 446 1 + 1.142 -14.111 9.219 0.734 -0.050 0.678 -1956 440 1 + 1.554 -14.112 8.905 0.459 -0.049 0.887 -1956 446 1 + 2.048 -14.122 8.749 0.130 -0.042 0.991 -1956 446 1 + 2.625 -13.555 8.828 -0.254 -0.241 0.937 -1958 446 1 + 2.650 -13.147 9.011 -0.271 -0.513 0.814 -1958 446 1 + 2.639 -12.807 9.304 -0.263 -0.740 0.620 -1958 340 1 + 2.593 -12.567 9.679 -0.232 -0.900 0.369 -1958 340 1 + 3.311 -13.958 8.769 0.211 0.073 0.975 -1958 446 1 + 3.208 -13.526 8.827 0.279 -0.215 0.936 1958 446 1 + 3.144 -13.122 9.010 0.323 -0.484 0.813 1958 446 1 + 3.122 -12.783 9.303 0.337 -0.710 0.619 1958 340 1 + 3.145 -12.540 9.678 0.322 -0.872 0.369 1958 340 1 + 3.212 -12.413 10.102 0.277 -0.957 0.086 -1958 340 1 + 3.674 -13.273 8.579 0.704 0.016 0.710 -1958 446 1 + 3.537 -12.909 8.801 0.795 -0.227 0.562 -1958 446 1 + 3.507 -12.574 9.098 0.816 -0.450 0.364 -1958 340 1 + 3.586 -12.300 9.443 0.763 -0.632 0.134 -1958 340 1 + 4.161 -13.280 8.256 0.379 0.020 0.925 -1960 446 1 + 4.476 -12.921 8.202 0.169 -0.219 0.961 -1960 446 1 + 4.818 -12.596 8.297 -0.058 -0.436 0.898 -1960 284 1 + 5.150 -12.338 8.529 -0.280 -0.608 0.743 -1960 284 1 + 4.269 -13.376 8.201 0.488 -0.077 0.870 -1960 446 1 + 4.564 -12.999 8.158 0.291 -0.328 0.898 -1960 446 1 + 4.903 -12.672 8.253 0.065 -0.546 0.835 -1960 284 1 + 5.252 -12.429 8.477 -0.168 -0.708 0.686 -1960 284 1 + 4.426 -13.834 8.163 0.383 0.229 0.895 -1962 446 1 + 4.851 -13.873 8.063 0.100 0.255 0.962 -1962 446 1 + 5.288 -13.880 8.086 -0.192 0.259 0.947 -1962 299 1 + 5.702 -13.853 8.230 -0.467 0.241 0.851 -1962 299 1 + 6.055 -13.795 8.482 -0.703 0.203 0.682 -1962 299 1 + 4.069 -14.345 8.375 0.645 -0.148 0.750 -1962 446 1 + 4.440 -14.250 8.161 0.398 -0.211 0.893 1962 446 1 + 4.861 -14.182 8.061 0.117 -0.257 0.959 1962 446 1 + 5.297 -14.147 8.084 -0.174 -0.280 0.944 1962 299 1 + 5.711 -14.147 8.228 -0.450 -0.280 0.848 1962 299 1 + 6.068 -14.184 8.481 -0.688 -0.255 0.680 1962 299 1 + 6.336 -14.253 8.820 -0.866 -0.209 0.453 -1962 299 1 + 4.152 -14.836 8.079 0.692 -0.429 0.581 -1962 446 1 + 4.499 -14.602 7.949 0.461 -0.584 0.668 1962 446 1 + 4.905 -14.443 7.903 0.190 -0.690 0.698 1962 446 1 + 5.335 -14.373 7.948 -0.097 -0.737 0.669 1962 299 1 + 5.753 -14.397 8.078 -0.375 -0.721 0.582 1962 299 1 + 6.123 -14.513 8.282 -0.622 -0.644 0.446 1962 299 1 + 6.413 -14.712 8.543 -0.815 -0.511 0.271 -1962 299 1 + 4.587 -14.789 7.588 0.554 -0.782 0.286 -1962 446 1 + 4.970 -14.582 7.635 0.298 -0.920 0.254 -1962 446 1 + 5.392 -14.493 7.716 0.017 -0.980 0.200 -1962 299 1 + 5.816 -14.529 7.822 -0.265 -0.955 0.130 -1962 299 1 + 6.205 -14.688 7.944 -0.525 -0.850 0.048 -1962 299 1 + 3.933 -15.391 7.676 0.567 -0.746 0.350 -1963 446 1 + 4.099 -15.758 7.098 0.457 -0.500 0.736 -1963 447 1 + 3.528 -15.611 7.690 0.335 -0.871 0.358 -1963 446 1 + 3.716 -15.966 7.111 0.210 -0.634 0.744 -1963 447 1 + 3.090 -15.740 7.616 0.085 -0.945 0.316 -1963 446 1 + 3.303 -16.088 7.042 -0.057 -0.713 0.699 -1963 447 1 + 4.731 -15.132 6.973 0.458 -0.554 0.696 -1965 447 1 + 5.107 -14.864 7.043 0.207 -0.732 0.649 -1965 447 1 + 5.514 -14.703 7.208 -0.064 -0.840 0.539 -1965 299 1 + 5.911 -14.663 7.451 -0.329 -0.866 0.377 -1965 299 1 + 6.260 -14.751 7.749 -0.562 -0.808 0.178 -1965 299 1 + 4.737 -15.586 6.435 0.868 -0.389 0.308 -1965 447 1 + 4.932 -15.199 6.610 0.738 -0.647 0.191 1965 447 1 + 5.235 -14.906 6.813 0.537 -0.842 0.055 1965 447 1 + 5.615 -14.736 7.025 0.283 -0.955 -0.086 1965 299 1 + 6.037 -14.706 7.223 0.002 -0.976 -0.218 1965 299 1 + 6.460 -14.817 7.390 -0.280 -0.902 -0.330 1965 299 1 + 6.841 -15.060 7.509 -0.534 -0.740 -0.409 -1965 299 1 + 5.048 -14.975 6.274 0.900 -0.335 -0.278 -1965 447 1 + 5.308 -14.765 6.601 0.727 -0.475 -0.495 -1965 447 1 + 5.674 -14.623 6.855 0.483 -0.570 -0.665 -1965 299 1 + 6.110 -14.565 7.013 0.192 -0.608 -0.770 -1965 299 1 + 6.575 -14.595 7.058 -0.117 -0.588 -0.800 -1965 299 1 + 5.062 -14.822 5.674 0.891 -0.437 0.123 -1967 447 1 + 5.351 -14.481 5.460 0.699 -0.664 0.265 -1967 304 1 + 5.753 -14.249 5.290 0.431 -0.819 0.378 -1967 304 1 + 4.776 -15.406 5.404 0.893 -0.273 -0.357 -1967 447 1 + 4.943 -14.964 5.258 0.782 -0.567 -0.260 1967 447 1 + 5.239 -14.614 5.069 0.585 -0.800 -0.134 1967 304 1 + 5.629 -14.396 4.859 0.324 -0.946 0.007 1967 304 1 + 6.073 -14.331 4.649 0.029 -0.989 0.146 -1967 304 1 + 4.484 -15.390 4.938 0.705 -0.263 -0.658 -1967 447 1 + 4.703 -14.951 4.872 0.560 -0.556 -0.614 1967 447 1 + 5.012 -14.603 4.706 0.354 -0.788 -0.504 1967 304 1 + 5.379 -14.383 4.458 0.109 -0.935 -0.338 1967 304 1 + 5.764 -14.315 4.155 -0.148 -0.980 -0.136 -1967 304 1 + 4.102 -15.192 4.596 0.458 -0.135 -0.878 -1967 447 1 + 4.386 -14.787 4.590 0.269 -0.404 -0.874 1967 447 1 + 4.714 -14.448 4.441 0.050 -0.630 -0.775 1967 304 1 + 5.051 -14.212 4.165 -0.174 -0.788 -0.591 1967 304 1 + 5.359 -14.105 3.793 -0.380 -0.859 -0.343 -1967 304 1 + 4.054 -14.502 4.465 -0.037 -0.143 -0.989 -1967 447 1 + 4.402 -14.180 4.323 -0.269 -0.357 -0.895 -1967 304 1 + 4.706 -13.916 4.035 -0.471 -0.533 -0.703 -1967 304 1 + 3.587 -14.433 4.395 0.275 -0.189 -0.943 -1969 447 1 + 3.508 -14.042 4.228 0.327 -0.449 -0.831 -1969 447 1 + 3.470 -13.707 3.957 0.352 -0.673 -0.651 -1969 323 1 + 3.476 -13.456 3.605 0.348 -0.840 -0.416 -1969 323 1 + 3.526 -13.309 3.202 0.315 -0.938 -0.147 -1969 323 1 + 3.013 -14.868 4.459 -0.244 0.074 -0.967 -1969 447 1 + 3.098 -14.448 4.405 -0.301 -0.206 -0.931 1969 447 1 + 3.146 -14.053 4.236 -0.332 -0.470 -0.818 1969 447 1 + 3.152 -13.717 3.964 -0.337 -0.694 -0.637 1969 323 1 + 3.116 -13.467 3.613 -0.313 -0.860 -0.403 1969 323 1 + 3.042 -13.324 3.211 -0.263 -0.955 -0.135 1969 323 1 + 2.934 -13.301 2.793 -0.191 -0.971 0.144 -1969 323 1 + 2.723 -14.228 4.629 -0.742 0.052 -0.668 -1969 447 1 + 2.867 -13.890 4.401 -0.839 -0.173 -0.516 -1969 447 1 + 2.908 -13.574 4.110 -0.866 -0.384 -0.322 -1969 323 1 + 2.840 -13.305 3.777 -0.820 -0.563 -0.100 -1969 323 1 + 2.670 -13.107 3.433 -0.707 -0.695 0.129 -1969 323 1 + 2.075 -14.209 5.052 -0.311 0.040 -0.950 -1971 445 1 + 2.026 -14.279 5.068 -0.346 -0.010 -0.938 -1971 445 1 + 2.001 -14.596 5.044 -0.329 0.201 -0.922 -1972 447 1 + 1.514 -14.526 5.142 -0.004 0.154 -0.988 -1972 444 1 + 2.372 -15.102 4.796 -0.658 -0.077 -0.750 -1972 447 1 + 1.946 -15.019 5.049 -0.373 -0.132 -0.918 1972 447 1 + 1.457 -14.958 5.148 -0.047 -0.172 -0.984 1972 444 1 + 0.960 -14.926 5.081 0.284 -0.194 -0.939 -1972 444 1 + 2.353 -15.547 4.954 -0.670 -0.364 -0.647 -1972 447 1 + 1.929 -15.420 5.192 -0.387 -0.449 -0.806 1972 447 1 + 1.439 -15.368 5.293 -0.061 -0.483 -0.874 1972 444 1 + 0.940 -15.398 5.248 0.272 -0.463 -0.843 -1972 444 1 + 2.379 -15.917 5.247 -0.653 -0.603 -0.459 -1972 447 1 + 1.952 -15.754 5.455 -0.368 -0.712 -0.598 1972 447 1 + 1.464 -15.710 5.563 -0.042 -0.741 -0.670 1972 444 1 + 0.968 -15.790 5.558 0.288 -0.688 -0.666 -1972 444 1 + 2.448 -16.171 5.640 -0.608 -0.767 -0.205 -1972 447 1 + 2.014 -15.982 5.809 -0.319 -0.893 -0.318 1972 447 1 + 1.527 -15.943 5.925 0.006 -0.918 -0.396 1972 444 1 + 1.040 -16.059 5.974 0.330 -0.841 -0.428 -1972 444 1 + 2.551 -16.279 6.088 -0.542 -0.836 0.084 -1972 447 1 + 2.107 -16.079 6.213 -0.246 -0.969 0.001 1972 447 1 + 1.622 -16.043 6.339 0.077 -0.994 -0.083 1972 444 1 + 1.149 -16.173 6.450 0.392 -0.906 -0.157 -1972 444 1 + 2.220 -16.034 6.622 -0.157 -0.933 0.323 -1972 447 1 + 1.737 -15.996 6.756 0.165 -0.958 0.233 -1972 444 1 + 0.109 -13.486 5.196 0.244 0.153 -0.958 -1975 444 1 + -0.205 -13.072 5.083 0.453 -0.123 -0.883 -1975 451 1 + -0.434 -12.682 4.805 0.606 -0.383 -0.697 -1975 451 1 + -0.136 -13.671 5.151 0.014 -0.020 -1.000 -1975 444 1 + -0.422 -13.236 5.044 0.204 -0.310 -0.928 -1975 451 1 + -0.668 -12.859 4.762 0.369 -0.562 -0.741 -1975 451 1 + -0.325 -12.465 4.751 0.533 -0.528 -0.661 -1977 451 1 + -0.035 -12.632 5.024 0.340 -0.416 -0.843 -1977 451 1 + 0.298 -12.851 5.192 0.118 -0.270 -0.956 -1977 445 1 + 0.645 -13.103 5.241 -0.113 -0.102 -0.988 -1977 445 1 + -0.243 -12.349 4.739 0.612 -0.416 -0.673 -1977 451 1 + 0.038 -12.529 5.014 0.424 -0.296 -0.856 -1977 451 1 + 0.372 -12.745 5.181 0.202 -0.152 -0.968 -1977 445 1 + 0.731 -12.981 5.229 -0.038 0.005 -0.999 -1977 445 1 + -0.188 -11.866 4.259 0.575 -0.738 -0.353 -1979 451 1 + 0.151 -11.613 4.088 0.349 -0.906 -0.238 -1979 451 1 + 0.539 -11.487 3.883 0.090 -0.991 -0.102 -1979 321 1 + 0.940 -11.498 3.665 -0.177 -0.983 0.044 -1979 321 1 + 1.316 -11.646 3.452 -0.428 -0.885 0.185 -1979 321 1 + -0.736 -12.017 3.911 0.559 -0.367 -0.743 -1979 451 1 + -0.384 -11.727 3.939 0.325 -0.560 -0.762 1979 451 1 + 0.013 -11.515 3.861 0.060 -0.701 -0.710 1979 451 1 + 0.418 -11.400 3.685 -0.210 -0.778 -0.593 1979 321 1 + 0.794 -11.394 3.426 -0.461 -0.782 -0.420 1979 321 1 + 1.106 -11.496 3.108 -0.669 -0.714 -0.208 1979 321 1 + 1.325 -11.698 2.762 -0.815 -0.579 0.022 -1979 321 1 + -0.534 -11.398 3.768 0.132 -0.139 -0.981 -1979 451 1 + -0.094 -11.282 3.740 -0.162 -0.216 -0.963 -1979 451 1 + 0.325 -11.196 3.579 -0.440 -0.273 -0.855 -1979 321 1 + 0.682 -11.149 3.298 -0.679 -0.305 -0.668 -1979 321 1 + 0.945 -11.143 2.925 -0.854 -0.309 -0.419 -1979 321 1 + -0.611 -11.269 3.731 0.183 -0.225 -0.957 -1981 451 1 + -0.241 -11.035 3.679 -0.063 -0.381 -0.922 -1981 451 1 + 0.121 -10.849 3.508 -0.304 -0.505 -0.808 -1981 451 1 + 0.443 -10.729 3.231 -0.519 -0.585 -0.623 -1981 322 1 + 0.698 -10.685 2.874 -0.689 -0.614 -0.385 -1981 322 1 + 0.863 -10.721 2.466 -0.799 -0.590 -0.114 -1981 322 1 + -0.606 -10.631 4.013 0.191 0.856 -0.480 -1981 451 1 + -0.239 -10.755 3.803 -0.054 0.939 -0.340 -1981 451 1 + 0.121 -10.757 3.548 -0.295 0.940 -0.170 -1981 451 1 + 0.443 -10.637 3.272 -0.509 0.860 0.014 -1981 322 1 + 0.699 -10.406 2.997 -0.680 0.706 0.197 -1981 322 1 + 0.867 -10.083 2.748 -0.792 0.491 0.363 -1981 322 1 + -0.501 -10.364 4.380 0.120 0.678 -0.725 -1983 451 1 + -0.033 -10.218 4.479 -0.192 0.581 -0.791 -1983 451 1 + 0.403 -9.976 4.446 -0.483 0.420 -0.769 -1983 317 1 + 0.759 -9.665 4.284 -0.720 0.212 -0.661 -1983 317 1 + 0.995 -9.317 4.013 -0.877 -0.019 -0.480 -1983 317 1 + -0.543 -10.265 4.493 0.051 0.841 -0.538 -1983 451 1 + -0.055 -10.167 4.538 -0.275 0.776 -0.568 -1983 451 1 + 0.387 -9.940 4.488 -0.569 0.624 -0.535 -1983 317 1 + 0.735 -9.608 4.349 -0.801 0.403 -0.442 -1983 317 1 + 0.949 -9.210 4.136 -0.944 0.138 -0.300 -1983 317 1 + -0.721 -10.062 4.717 0.169 0.706 -0.688 -1985 451 1 + -0.391 -9.786 4.963 -0.050 0.522 -0.851 -1985 451 1 + -0.070 -9.425 5.069 -0.265 0.281 -0.922 -1985 324 1 + 0.208 -9.018 5.025 -0.450 0.010 -0.893 -1985 324 1 + -0.919 -9.933 4.872 -0.070 0.863 -0.500 -1985 451 1 + -0.546 -9.685 5.084 -0.318 0.698 -0.641 -1985 451 1 + -0.225 -9.323 5.191 -0.532 0.457 -0.713 -1985 324 1 + 0.009 -8.887 5.181 -0.688 0.166 -0.706 -1985 324 1 + -2.004 -9.868 4.942 0.183 0.893 -0.410 -1990 451 1 + -2.325 -9.633 5.148 0.397 0.737 -0.547 -1990 453 1 + -2.593 -9.299 5.281 0.576 0.514 -0.636 -1990 453 1 + -2.057 -9.888 4.882 0.137 0.876 -0.462 -1990 451 1 + -2.376 -9.652 5.090 0.350 0.719 -0.601 -1990 453 1 + -2.649 -9.320 5.218 0.531 0.497 -0.686 -1990 453 1 + -2.169 -9.995 4.550 0.212 0.947 -0.240 -1992 451 1 + -2.590 -9.853 4.454 0.492 0.853 -0.177 -1992 451 1 + -2.942 -9.594 4.334 0.727 0.680 -0.097 -1992 451 1 + -3.195 -9.241 4.201 0.896 0.445 -0.008 -1992 511 1 + -3.325 -8.827 4.066 0.982 0.169 0.082 -1992 511 1 + -3.320 -8.390 3.943 0.979 -0.122 0.164 -1992 511 1 + -2.254 -10.173 4.251 0.059 0.629 -0.775 -1992 451 1 + -2.623 -9.922 4.337 0.305 0.462 -0.833 -1992 451 1 + -2.949 -9.608 4.309 0.523 0.252 -0.814 -1992 451 1 + -3.204 -9.260 4.169 0.693 0.020 -0.721 -1992 511 1 + -3.364 -8.908 3.930 0.799 -0.214 -0.562 -1992 511 1 + -3.414 -8.586 3.614 0.832 -0.429 -0.351 -1992 511 1 + -2.043 -10.607 3.670 -0.082 0.918 -0.388 -1994 451 1 + -2.222 -10.723 3.218 0.038 0.995 -0.087 -1994 451 1 + -2.395 -10.674 2.751 0.153 0.962 0.224 -1994 467 1 + -2.542 -10.463 2.322 0.251 0.822 0.511 -1994 467 1 + -2.648 -10.116 1.977 0.321 0.591 0.740 -1994 467 1 + -1.316 -10.675 3.767 0.178 0.516 -0.838 -1994 451 1 + -1.723 -10.799 3.505 0.450 0.598 -0.663 1994 451 1 + -2.056 -10.823 3.132 0.671 0.614 -0.415 1994 451 1 + -2.277 -10.745 2.690 0.818 0.562 -0.120 1994 467 1 + -2.361 -10.573 2.228 0.874 0.447 0.188 1994 467 1 + -2.299 -10.326 1.797 0.833 0.283 0.475 1994 467 1 + -2.098 -10.032 1.446 0.699 0.087 0.709 -1994 467 1 + -1.685 -11.189 3.388 0.513 -0.049 -0.857 -1994 451 1 + -2.036 -11.026 3.071 0.747 -0.157 -0.645 -1994 451 1 + -2.262 -10.889 2.647 0.898 -0.248 -0.362 -1994 467 1 + -2.339 -10.794 2.162 0.949 -0.312 -0.039 -1994 467 1 + -2.257 -10.751 1.670 0.895 -0.341 0.289 -1994 467 1 + -1.652 -11.502 3.387 0.491 0.160 -0.856 -1996 451 1 + -1.985 -11.621 3.090 0.714 0.240 -0.658 -1996 451 1 + -2.217 -11.706 2.700 0.868 0.296 -0.398 -1996 463 1 + -2.326 -11.749 2.252 0.940 0.325 -0.099 -1996 463 1 + -1.599 -11.785 3.418 0.549 -0.147 -0.823 -1996 451 1 + -1.941 -11.857 3.116 0.777 -0.099 -0.622 -1996 451 1 + -2.173 -11.943 2.725 0.932 -0.042 -0.361 -1996 463 1 + -2.272 -12.035 2.283 0.998 0.019 -0.066 -1996 463 1 + -1.530 -12.008 3.480 0.503 0.002 -0.864 -1997 451 1 + -1.810 -12.281 3.234 0.690 0.184 -0.700 -1997 456 1 + -0.955 -12.181 3.861 0.415 -0.475 -0.776 -1997 451 1 + -1.324 -12.420 3.718 0.661 -0.315 -0.681 1997 451 1 + -1.599 -12.704 3.479 0.844 -0.126 -0.521 1997 456 1 + -1.754 -13.006 3.165 0.947 0.076 -0.312 -1997 456 1 + -1.267 -12.777 4.091 0.705 -0.589 -0.395 -1997 451 1 + -1.541 -13.070 3.861 0.887 -0.393 -0.242 -1997 456 1 + -2.222 -12.353 2.375 0.964 0.232 -0.128 -1998 463 1 + -1.996 -13.040 2.685 0.808 0.057 -0.586 -1998 456 1 + -2.226 -12.812 2.193 0.962 -0.095 -0.257 1998 463 1 + -2.233 -12.606 1.640 0.966 -0.233 0.111 -1998 463 1 + -2.190 -13.528 2.519 0.698 -0.222 -0.681 -1998 456 1 + -2.400 -13.250 2.043 0.838 -0.407 -0.364 1998 463 1 + -2.416 -13.067 1.483 0.848 -0.529 0.010 -1998 463 1 + -2.722 -13.611 1.945 0.608 -0.665 -0.434 -1998 463 1 + -2.269 -11.255 1.458 0.903 -0.005 0.430 -1999 467 1 + -2.200 -12.063 1.305 0.987 0.118 -0.105 -1999 463 1 + -2.175 -11.556 0.996 0.970 -0.220 0.100 1999 467 1 + -1.921 -11.101 0.712 0.801 -0.524 0.290 -1999 467 1 + -2.301 -11.823 0.521 0.880 -0.411 -0.239 -1999 467 1 + -3.036 -9.369 1.874 0.581 0.093 0.809 -2000 467 1 + -3.289 -9.054 2.109 0.749 -0.117 0.652 -2000 467 1 + -3.433 -8.757 2.439 0.845 -0.315 0.432 -2000 511 1 + -3.454 -8.505 2.832 0.859 -0.483 0.170 -2000 511 1 + -2.947 -9.203 1.763 0.663 0.246 0.707 -2000 467 1 + -3.212 -8.913 2.015 0.841 0.053 0.539 -2000 467 1 + -3.356 -8.615 2.345 0.936 -0.146 0.319 -2000 511 1 + -3.364 -8.339 2.721 0.941 -0.330 0.068 -2000 511 1 + -3.297 -8.175 4.238 0.963 -0.266 -0.033 -2002 511 1 + -3.277 -8.417 4.629 0.950 -0.105 -0.293 -2002 453 1 + -3.123 -8.674 4.979 0.848 0.066 -0.526 -2002 453 1 + -3.284 -8.125 4.269 0.974 -0.227 -0.009 -2002 511 1 + -3.265 -8.370 4.658 0.961 -0.064 -0.268 -2002 453 1 + -3.110 -8.623 5.009 0.858 0.105 -0.503 -2002 453 1 + -2.948 -7.497 4.042 0.750 -0.646 0.142 -2003 511 1 + -2.608 -7.187 4.229 0.523 -0.852 0.017 -2003 511 1 + -2.182 -7.018 4.419 0.240 -0.965 -0.109 -2003 330 1 + -1.717 -7.007 4.591 -0.071 -0.972 -0.224 -2003 330 1 + -2.928 -7.483 3.984 0.771 -0.632 0.083 -2003 511 1 + -2.591 -7.176 4.182 0.547 -0.836 -0.049 -2003 511 1 + -2.165 -7.007 4.372 0.263 -0.949 -0.175 -2003 330 1 + -1.696 -6.993 4.533 -0.050 -0.958 -0.283 -2003 330 1 + -1.559 -7.232 5.068 -0.176 -0.822 -0.542 -2004 330 1 + -1.880 -7.424 5.333 0.038 -0.695 -0.718 -2004 330 1 + -2.196 -7.712 5.498 0.249 -0.502 -0.828 -2004 453 1 + -2.476 -8.071 5.547 0.436 -0.263 -0.861 -2004 453 1 + -2.696 -8.467 5.475 0.582 0.001 -0.813 -2004 453 1 + -1.524 -7.256 5.095 -0.137 -0.848 -0.512 -2004 330 1 + -1.854 -7.441 5.353 0.084 -0.725 -0.684 -2004 330 1 + -2.173 -7.727 5.515 0.296 -0.534 -0.792 -2004 453 1 + -2.451 -8.088 5.566 0.481 -0.293 -0.826 -2004 453 1 + -2.661 -8.491 5.502 0.621 -0.025 -0.783 -2004 453 1 + -0.416 -7.508 4.898 -0.405 -0.754 -0.518 -2006 330 1 + -0.080 -7.917 5.038 -0.629 -0.480 -0.611 -2006 324 1 + -0.168 -7.395 4.647 -0.208 -0.664 -0.719 -2006 330 1 + 0.162 -7.807 4.793 -0.428 -0.389 -0.816 -2006 324 1 + -0.082 -7.201 4.391 -0.266 -0.793 -0.548 -2007 330 1 + 0.338 -7.402 4.346 -0.545 -0.659 -0.518 -2007 330 1 + 0.678 -7.699 4.225 -0.772 -0.461 -0.438 -2007 317 1 + 0.905 -8.063 4.041 -0.924 -0.218 -0.315 -2007 317 1 + 0.074 -6.887 4.058 -0.122 -0.504 -0.855 -2007 330 1 + 0.470 -7.135 4.062 -0.386 -0.339 -0.858 -2007 330 1 + 0.810 -7.432 3.942 -0.613 -0.141 -0.777 -2007 317 1 + 1.061 -7.749 3.708 -0.780 0.071 -0.621 -2007 317 1 + 0.799 -8.377 4.352 -0.853 -0.009 -0.522 -2008 324 1 + 0.806 -8.674 4.408 -0.848 -0.220 -0.482 -2008 324 1 + 1.173 -9.209 3.276 -0.996 -0.092 0.011 -2009 317 1 + 1.121 -9.458 2.892 -0.961 0.074 0.267 -2009 322 1 + 1.329 -8.596 2.838 -0.882 0.357 -0.309 -2009 317 1 + 1.273 -8.860 2.465 -0.844 0.533 -0.060 -2009 322 1 + 1.146 -11.140 1.706 -0.695 -0.717 -0.055 -2011 322 1 + 1.326 -11.509 2.131 -0.815 -0.471 -0.338 -2011 321 1 + 1.811 -11.707 1.618 -0.687 -0.586 -0.429 -2013 323 1 + 1.884 -11.283 0.960 -0.209 -0.811 -0.546 -2013 322 1 + 2.179 -11.667 1.229 -0.407 -0.556 -0.725 2013 323 1 + 2.392 -12.165 1.350 -0.548 -0.224 -0.806 -2013 323 1 + 2.378 -11.108 0.712 0.116 -0.696 -0.708 -2013 322 1 + 2.638 -11.505 1.000 -0.058 -0.432 -0.900 2013 323 1 + 2.886 -11.990 1.103 -0.223 -0.109 -0.969 -2013 323 1 + 2.885 -10.831 0.678 0.449 -0.514 -0.731 -2013 322 1 + 3.108 -11.247 0.968 0.301 -0.236 -0.924 2013 323 1 + 3.393 -11.712 1.069 0.111 0.074 -0.991 -2013 323 1 + 3.513 -10.938 1.140 0.609 -0.000 -0.793 -2013 323 1 + 3.717 -9.971 1.130 0.629 -0.362 -0.687 -2017 322 1 + 4.084 -9.709 1.225 0.385 -0.537 -0.751 -2017 322 1 + 4.505 -9.523 1.214 0.105 -0.661 -0.743 -2017 308 1 + 4.940 -9.430 1.098 -0.186 -0.723 -0.666 -2017 308 1 + 5.349 -9.440 0.888 -0.458 -0.717 -0.526 -2017 308 1 + 3.517 -9.407 1.019 0.355 0.410 -0.840 -2017 322 1 + 3.953 -9.339 1.152 0.065 0.364 -0.929 -2017 322 1 + 4.397 -9.220 1.154 -0.231 0.285 -0.930 -2017 308 1 + 4.809 -9.061 1.025 -0.505 0.179 -0.844 -2017 308 1 + 5.149 -8.876 0.777 -0.732 0.056 -0.679 -2017 308 1 + 3.239 -9.059 0.992 0.541 0.178 -0.822 -2018 322 1 + 3.415 -8.678 1.113 0.424 -0.076 -0.903 -2018 314 1 + 3.644 -8.307 1.119 0.271 -0.324 -0.907 -2018 314 1 + 2.781 -8.803 0.892 0.153 0.394 -0.906 -2018 322 1 + 2.973 -8.431 1.016 0.026 0.146 -0.989 -2018 314 1 + 3.167 -8.041 1.015 -0.104 -0.115 -0.988 -2018 314 1 + 4.360 -8.067 1.035 -0.206 -0.484 -0.851 -2020 314 1 + 4.782 -8.226 0.939 -0.488 -0.378 -0.787 -2020 308 1 + 5.136 -8.438 0.732 -0.723 -0.237 -0.649 -2020 308 1 + 4.363 -8.054 1.026 -0.204 -0.473 -0.857 -2020 314 1 + 4.785 -8.213 0.931 -0.485 -0.366 -0.794 -2020 308 1 + 5.139 -8.425 0.724 -0.721 -0.225 -0.656 -2020 308 1 + 4.887 -7.972 0.708 -0.553 -0.527 -0.645 -2023 313 1 + 5.191 -8.298 0.606 -0.756 -0.309 -0.577 -2023 308 1 + 4.740 -7.408 0.394 -0.165 -0.518 -0.839 -2023 313 1 + 5.095 -7.696 0.419 -0.402 -0.326 -0.856 2023 313 1 + 5.394 -8.030 0.324 -0.601 -0.104 -0.793 2023 308 1 + 5.609 -8.378 0.119 -0.744 0.128 -0.655 -2023 308 1 + 5.068 -7.069 0.208 0.023 -0.325 -0.946 -2023 313 1 + 5.386 -7.395 0.254 -0.189 -0.107 -0.976 2023 313 1 + 5.678 -7.737 0.163 -0.383 0.120 -0.916 2023 308 1 + 5.916 -8.061 -0.055 -0.542 0.337 -0.770 -2023 308 1 + 5.454 -6.741 0.183 0.244 -0.137 -0.960 -2023 313 1 + 5.729 -7.104 0.231 0.061 0.105 -0.993 2023 313 1 + 6.012 -7.453 0.141 -0.128 0.338 -0.933 2023 308 1 + 6.277 -7.754 -0.079 -0.305 0.539 -0.786 -2023 308 1 + 5.854 -6.461 0.321 0.472 0.023 -0.881 -2023 313 1 + 6.083 -6.856 0.354 0.319 0.286 -0.903 2023 313 1 + 6.357 -7.210 0.261 0.136 0.523 -0.841 2023 308 1 + 6.650 -7.492 0.050 -0.059 0.711 -0.701 -2023 308 1 + 6.410 -6.677 0.607 0.557 0.416 -0.719 -2023 313 1 + 6.675 -7.037 0.508 0.380 0.656 -0.652 -2023 308 1 + 6.623 -6.636 0.763 0.415 0.389 -0.823 -2025 307 1 + 6.869 -6.192 1.329 0.578 0.681 -0.449 -2025 307 1 + 6.387 -5.434 1.586 0.776 0.610 -0.158 -2027 313 1 + 6.885 -5.714 1.962 0.444 0.797 -0.409 -2027 312 1 + 6.200 -5.211 2.019 0.670 0.737 0.089 -2027 313 1 + 6.709 -5.505 2.371 0.331 0.933 -0.145 -2027 312 1 + 5.946 -5.140 2.469 0.525 0.778 0.346 -2027 313 1 + 6.469 -5.437 2.795 0.176 0.976 0.129 -2027 312 1 + 5.649 -5.227 2.889 0.355 0.728 0.586 -2027 313 1 + 6.189 -5.519 3.192 -0.005 0.923 0.384 -2027 312 1 + 5.340 -5.463 3.237 0.178 0.593 0.785 -2027 313 1 + 5.898 -5.742 3.520 -0.193 0.779 0.596 -2027 312 1 + 4.789 -6.171 3.715 0.188 0.618 0.764 -2029 313 1 + 4.557 -6.417 4.078 0.342 0.781 0.522 -2029 313 1 + 4.382 -6.535 4.526 0.459 0.860 0.223 -2029 319 1 + 4.281 -6.511 5.011 0.526 0.844 -0.100 -2029 319 1 + 4.767 -6.159 3.710 0.165 0.631 0.758 -2029 313 1 + 4.540 -6.407 4.073 0.317 0.796 0.516 -2029 313 1 + 4.365 -6.525 4.522 0.433 0.875 0.217 -2029 319 1 + 4.261 -6.500 5.006 0.503 0.858 -0.106 -2029 319 1 + 4.265 -6.287 4.117 0.501 0.716 0.486 -2031 314 1 + 4.174 -6.420 4.556 0.561 0.805 0.194 -2031 319 1 + 4.166 -6.437 5.023 0.566 0.816 -0.117 -2031 319 1 + 3.945 -6.132 4.111 0.237 0.844 0.481 -2031 314 1 + 3.882 -6.278 4.550 0.279 0.942 0.188 -2031 319 1 + 3.859 -6.288 5.016 0.294 0.948 -0.123 -2031 319 1 + 4.469 -6.598 5.099 0.401 0.902 -0.159 -2033 319 1 + 4.736 -6.697 4.692 0.223 0.968 0.112 -2033 319 1 + 5.040 -6.638 4.304 0.020 0.929 0.371 -2033 312 1 + 5.348 -6.425 3.977 -0.185 0.787 0.589 -2033 312 1 + 4.792 -6.847 5.314 0.794 0.599 0.103 -2033 319 1 + 4.988 -6.891 4.860 0.663 0.629 0.406 -2033 319 1 + 5.293 -6.832 4.473 0.460 0.590 0.664 -2033 312 1 + 5.673 -6.677 4.194 0.206 0.486 0.849 -2033 312 1 + 5.056 -6.975 6.048 0.618 0.685 -0.386 -2035 319 1 + 5.488 -7.132 6.245 0.329 0.790 -0.518 -2035 319 1 + 5.977 -7.157 6.356 0.004 0.806 -0.592 -2035 282 1 + 6.465 -7.047 6.368 -0.322 0.733 -0.600 -2035 282 1 + 5.048 -6.948 6.088 0.608 0.719 -0.336 -2035 319 1 + 5.483 -7.111 6.276 0.318 0.828 -0.461 -2035 319 1 + 5.971 -7.136 6.387 -0.007 0.845 -0.535 -2035 282 1 + 6.457 -7.019 6.409 -0.332 0.767 -0.550 -2035 282 1 + 4.665 -6.358 6.161 0.863 0.326 -0.385 -2036 319 1 + 4.728 -6.009 6.429 0.821 0.093 -0.563 -2036 319 1 + 4.900 -5.648 6.622 0.707 -0.147 -0.692 -2036 274 1 + 5.165 -5.306 6.724 0.530 -0.375 -0.760 -2036 274 1 + 4.403 -6.394 5.606 0.625 0.708 -0.329 -2036 319 1 + 4.416 -6.142 5.972 0.616 0.541 -0.573 2036 319 1 + 4.510 -5.820 6.262 0.553 0.326 -0.767 2036 319 1 + 4.676 -5.454 6.452 0.442 0.082 -0.893 2036 274 1 + 4.901 -5.078 6.524 0.292 -0.169 -0.941 2036 274 1 + 5.165 -4.724 6.473 0.116 -0.405 -0.907 -2036 274 1 + 4.085 -5.963 5.911 0.288 0.718 -0.634 -2036 319 1 + 4.220 -5.663 6.209 0.199 0.517 -0.832 -2036 319 1 + 4.380 -5.294 6.397 0.092 0.272 -0.958 -2036 274 1 + 4.553 -4.889 6.460 -0.023 0.002 -1.000 -2036 274 1 + 5.820 -5.329 6.976 0.094 -0.360 -0.928 -2038 274 1 + 6.157 -5.708 7.062 -0.131 -0.108 -0.986 -2038 274 1 + 6.471 -6.105 6.974 -0.340 0.158 -0.927 -2038 282 1 + 6.725 -6.475 6.723 -0.510 0.404 -0.759 -2038 282 1 + 6.064 -4.601 6.833 0.630 -0.334 -0.701 -2038 274 1 + 6.210 -5.044 7.050 0.533 -0.039 -0.845 2038 274 1 + 6.450 -5.494 7.118 0.373 0.261 -0.890 2038 274 1 + 6.755 -5.897 7.028 0.169 0.530 -0.831 2038 282 1 + 7.091 -6.208 6.792 -0.055 0.737 -0.674 2038 282 1 + 7.417 -6.388 6.438 -0.272 0.857 -0.437 -2038 282 1 + 6.519 -4.893 7.397 0.881 0.131 -0.455 -2038 274 1 + 6.682 -5.380 7.378 0.772 0.456 -0.442 -2038 274 1 + 6.981 -5.787 7.281 0.573 0.727 -0.378 -2038 282 1 + 7.381 -6.066 7.118 0.306 0.913 -0.269 -2038 282 1 + 6.784 -4.241 7.678 0.705 -0.303 -0.642 -2040 274 1 + 7.155 -4.143 7.929 0.457 -0.369 -0.809 -2040 274 1 + 7.590 -4.097 8.067 0.167 -0.400 -0.901 -2040 87 1 + 8.049 -4.106 8.079 -0.139 -0.393 -0.909 -2040 87 1 + 6.467 -3.671 7.238 0.860 0.197 -0.470 -2040 274 1 + 6.748 -3.680 7.600 0.673 0.203 -0.712 2040 274 1 + 7.124 -3.660 7.863 0.422 0.190 -0.887 2040 274 1 + 7.560 -3.614 8.001 0.132 0.159 -0.979 2040 87 1 + 8.014 -3.545 8.001 -0.171 0.113 -0.979 2040 87 1 + 8.444 -3.460 7.864 -0.457 0.056 -0.887 -2040 87 1 + 6.622 -3.176 7.829 0.559 0.657 -0.506 -2040 274 1 + 7.016 -3.226 8.059 0.296 0.691 -0.659 -2040 274 1 + 7.451 -3.180 8.197 0.006 0.660 -0.751 -2040 87 1 + 7.887 -3.041 8.230 -0.285 0.567 -0.773 -2040 87 1 + 6.539 -3.006 7.927 0.615 0.544 -0.571 -2042 274 1 + 6.858 -2.902 8.245 0.402 0.475 -0.783 -2042 274 1 + 7.235 -2.730 8.451 0.150 0.360 -0.921 -2042 86 1 + 7.633 -2.506 8.526 -0.115 0.211 -0.971 -2042 86 1 + 6.534 -2.999 7.929 0.611 0.551 -0.569 -2042 274 1 + 6.854 -2.896 8.247 0.397 0.482 -0.781 -2042 274 1 + 7.231 -2.724 8.453 0.146 0.367 -0.919 -2042 86 1 + 7.629 -2.499 8.528 -0.119 0.217 -0.969 -2042 86 1 + 6.018 -2.542 7.323 0.955 0.246 -0.165 -2043 276 1 + 5.799 -2.896 6.691 0.809 0.010 -0.588 -2043 276 1 + 6.038 -2.014 7.557 0.941 -0.106 -0.321 -2045 276 1 + 6.266 -2.042 7.986 0.790 -0.087 -0.607 -2045 276 1 + 6.618 -2.084 8.320 0.555 -0.059 -0.830 -2045 86 1 + 7.057 -2.135 8.522 0.262 -0.025 -0.965 -2045 86 1 + 7.538 -2.190 8.573 -0.058 0.012 -0.998 -2045 86 1 + 6.041 -1.789 7.593 0.944 0.182 -0.276 -2045 276 1 + 6.267 -1.899 8.009 0.793 0.255 -0.553 -2045 276 1 + 6.619 -1.970 8.338 0.559 0.302 -0.772 -2045 86 1 + 7.058 -1.992 8.545 0.265 0.317 -0.910 -2045 86 1 + 7.540 -1.965 8.608 -0.056 0.299 -0.953 -2045 86 1 + 5.854 -1.391 6.606 0.933 0.236 -0.270 -2046 276 1 + 5.922 -0.870 6.870 0.888 -0.111 -0.446 -2046 278 1 + 6.130 -1.212 7.809 0.885 -0.203 -0.420 -2048 278 1 + 6.366 -1.343 8.194 0.727 -0.116 -0.677 -2048 278 1 + 6.709 -1.490 8.480 0.498 -0.018 -0.867 -2048 86 1 + 7.126 -1.640 8.637 0.220 0.082 -0.972 -2048 86 1 + 7.575 -1.778 8.652 -0.079 0.174 -0.982 -2048 86 1 + 6.083 -0.555 7.623 0.994 0.097 0.050 -2048 278 1 + 6.168 -0.851 7.979 0.937 0.294 -0.187 2048 278 1 + 6.391 -1.103 8.307 0.788 0.462 -0.406 2048 278 1 + 6.731 -1.288 8.575 0.562 0.585 -0.585 2048 86 1 + 7.153 -1.386 8.756 0.281 0.650 -0.706 2048 86 1 + 7.617 -1.388 8.834 -0.028 0.652 -0.758 2048 86 1 + 8.076 -1.294 8.800 -0.335 0.589 -0.735 -2048 86 1 + 6.050 -0.644 8.301 0.775 0.578 0.256 -2048 278 1 + 6.313 -0.966 8.520 0.600 0.793 0.110 -2048 278 1 + 6.665 -1.172 8.755 0.365 0.930 -0.047 -2048 86 1 + 7.070 -1.240 8.983 0.095 0.975 -0.199 -2048 86 1 + 7.489 -1.165 9.182 -0.185 0.925 -0.331 -2048 86 1 + 5.891 -0.464 8.505 0.881 0.458 0.120 -2049 278 1 + 5.999 -0.631 8.905 0.809 0.569 -0.147 -2049 278 1 + 6.214 -0.722 9.286 0.665 0.630 -0.401 -2049 82 1 + 6.518 -0.729 9.614 0.463 0.635 -0.619 -2049 82 1 + 5.581 -0.190 8.745 0.558 0.743 0.370 -2049 278 1 + 5.735 -0.398 9.110 0.456 0.881 0.126 -2049 278 1 + 5.949 -0.488 9.491 0.313 0.941 -0.128 -2049 82 1 + 6.206 -0.453 9.856 0.142 0.918 -0.371 -2049 82 1 + 7.397 -0.890 9.674 -0.123 0.742 -0.659 -2051 86 1 + 7.156 -0.396 10.243 0.394 0.748 -0.535 -2051 82 1 + 7.655 -0.648 10.039 0.061 0.915 -0.398 2051 86 1 + 8.169 -0.683 9.739 -0.281 0.939 -0.199 -2051 86 1 + 7.403 -0.316 10.712 0.554 0.800 -0.233 -2051 82 1 + 7.890 -0.571 10.483 0.229 0.970 -0.080 2051 86 1 + 8.431 -0.598 10.236 -0.132 0.988 0.085 -2051 86 1 + 7.593 -0.420 11.201 0.676 0.732 0.083 -2051 82 1 + 8.070 -0.671 10.948 0.358 0.899 0.252 2051 86 1 + 8.632 -0.709 10.754 -0.017 0.924 0.381 -2051 86 1 + 8.172 -0.933 11.372 0.430 0.712 0.555 -2051 86 1 + 8.016 -1.111 11.966 0.534 0.830 0.159 -2053 84 1 + 7.536 -1.116 12.481 0.188 0.826 0.531 -2053 84 1 + 6.813 -0.642 12.470 0.670 0.511 0.539 -2054 82 1 + 6.533 -0.506 12.827 0.856 0.420 0.301 -2054 70 1 + 6.382 -0.308 13.229 0.957 0.287 0.033 -2054 70 1 + 7.010 -0.356 11.938 0.300 0.773 0.559 -2054 82 1 + 6.663 -0.357 12.259 0.531 0.774 0.344 2054 82 1 + 6.395 -0.243 12.632 0.710 0.698 0.095 2054 70 1 + 6.233 -0.025 13.020 0.818 0.552 -0.163 2054 70 1 + 6.193 0.276 13.383 0.844 0.352 -0.405 -2054 70 1 + 6.410 -0.173 12.036 0.297 0.945 0.138 -2054 82 1 + 6.161 -0.073 12.426 0.463 0.878 -0.122 -2054 70 1 + 5.981 0.159 12.798 0.582 0.724 -0.370 -2054 70 1 + 6.475 -0.507 13.502 0.895 0.420 -0.150 -2056 70 1 + 6.710 -0.885 13.346 0.739 0.673 -0.046 -2056 70 1 + 7.054 -1.164 13.184 0.509 0.858 0.062 -2056 84 1 + 7.474 -1.315 13.031 0.229 0.959 0.165 -2056 84 1 + 6.503 -0.727 13.953 0.924 0.184 0.334 -2056 70 1 + 6.733 -1.071 13.728 0.771 0.414 0.484 -2056 70 1 + 7.078 -1.355 13.575 0.541 0.603 0.587 -2056 84 1 + 7.503 -1.548 13.509 0.258 0.732 0.631 -2056 84 1 + 6.443 -0.810 14.283 0.964 0.240 0.114 -2058 70 1 + 6.612 -1.231 14.354 0.851 0.520 0.067 -2058 70 1 + 6.901 -1.579 14.435 0.658 0.752 0.013 -2058 92 1 + 7.283 -1.821 14.518 0.404 0.914 -0.042 -2058 92 1 + 6.371 -0.807 14.546 0.890 0.243 0.387 -2058 70 1 + 6.550 -1.228 14.581 0.770 0.524 0.364 -2058 70 1 + 6.838 -1.576 14.667 0.578 0.756 0.306 -2058 92 1 + 7.207 -1.818 14.796 0.332 0.917 0.220 -2058 92 1 + 6.301 -0.815 14.753 0.936 0.248 0.249 -2060 70 1 + 6.442 -1.237 14.982 0.843 0.530 0.096 -2060 95 1 + 6.723 -1.571 15.227 0.655 0.753 -0.067 -2060 95 1 + 5.967 -0.208 15.089 0.696 0.033 0.718 -2060 70 1 + 6.014 -0.697 15.182 0.665 0.359 0.655 2060 70 1 + 6.172 -1.127 15.386 0.559 0.646 0.520 2060 95 1 + 6.423 -1.448 15.676 0.392 0.860 0.326 2060 95 1 + 6.740 -1.626 16.020 0.181 0.979 0.097 -2060 95 1 + 5.567 -0.749 15.462 0.242 0.311 0.919 -2060 70 1 + 5.752 -1.175 15.648 0.119 0.595 0.795 -2060 95 1 + 5.956 -1.502 15.967 -0.018 0.813 0.582 -2060 95 1 + 4.993 -0.353 15.671 0.624 0.047 0.780 -2061 70 1 + 4.667 -0.427 16.043 0.841 0.096 0.532 -2061 70 1 + 4.482 -0.486 16.504 0.965 0.135 0.224 -2061 74 1 + 4.458 -0.521 17.002 0.981 0.159 -0.108 -2061 74 1 + 5.205 0.246 15.401 0.194 0.332 0.923 -2061 70 1 + 4.837 0.018 15.651 0.440 0.484 0.757 2061 70 1 + 4.542 -0.129 16.027 0.637 0.582 0.506 2061 70 1 + 4.353 -0.180 16.488 0.763 0.615 0.199 2061 74 1 + 4.291 -0.127 16.981 0.804 0.581 -0.130 2061 74 1 + 4.364 0.022 17.453 0.755 0.481 -0.445 -2061 74 1 + 4.531 0.259 15.548 0.080 0.768 0.635 -2061 70 1 + 4.296 0.064 15.945 0.236 0.898 0.371 -2061 70 1 + 4.101 0.019 16.403 0.367 0.928 0.066 -2061 74 1 + 3.967 0.129 16.872 0.456 0.855 -0.247 -2061 74 1 + 4.698 -0.994 17.319 0.821 0.474 -0.319 -2063 74 1 + 4.938 -1.378 17.101 0.661 0.730 -0.174 -2063 74 1 + 5.288 -1.639 16.854 0.428 0.904 -0.009 -2063 95 1 + 5.711 -1.748 16.606 0.146 0.977 0.156 -2063 95 1 + 4.721 -1.006 17.363 0.844 0.462 -0.273 -2063 74 1 + 4.956 -1.387 17.137 0.687 0.716 -0.123 -2063 74 1 + 5.306 -1.648 16.890 0.453 0.890 0.042 -2063 95 1 + 5.733 -1.760 16.650 0.169 0.965 0.202 -2063 95 1 + 4.836 -0.947 17.676 0.767 0.423 -0.482 -2064 74 1 + 5.157 -1.286 17.738 0.553 0.648 -0.524 -2064 98 1 + 5.561 -1.528 17.723 0.284 0.810 -0.513 -2064 98 1 + 4.720 -0.396 17.976 0.959 0.242 -0.146 -2064 74 1 + 4.915 -0.819 18.044 0.830 0.525 -0.191 2064 74 1 + 5.232 -1.165 18.083 0.618 0.755 -0.217 2064 98 1 + 5.640 -1.400 18.090 0.346 0.911 -0.222 2064 98 1 + 6.099 -1.500 18.064 0.040 0.978 -0.205 -2064 98 1 + 4.718 -0.362 18.443 0.958 0.262 0.121 -2064 74 1 + 4.912 -0.791 18.440 0.828 0.547 0.123 2064 74 1 + 5.229 -1.138 18.455 0.617 0.779 0.113 2064 98 1 + 5.637 -1.371 18.486 0.344 0.934 0.092 2064 98 1 + 6.096 -1.466 18.531 0.039 0.997 0.062 -2064 98 1 + 4.620 -0.449 18.892 0.901 0.212 0.377 -2064 74 1 + 4.829 -0.864 18.821 0.762 0.489 0.425 2064 74 1 + 5.151 -1.208 18.812 0.547 0.718 0.431 2064 98 1 + 5.554 -1.445 18.867 0.278 0.876 0.394 2064 98 1 + 5.998 -1.552 18.980 -0.018 0.948 0.319 -2064 98 1 + 4.674 -1.032 19.145 0.639 0.356 0.682 -2064 74 1 + 5.006 -1.365 19.117 0.418 0.578 0.701 -2064 98 1 + 5.399 -1.613 19.192 0.155 0.743 0.651 -2064 98 1 + 6.107 -1.805 17.046 -0.080 0.995 -0.062 -2066 95 1 + 6.512 -1.826 17.109 0.194 0.981 -0.019 -2066 95 1 + 6.829 -1.707 18.022 0.457 0.859 -0.229 -2068 98 1 + 7.260 -1.884 17.490 0.170 0.977 0.125 -2068 96 1 + 7.165 -1.881 18.351 0.649 0.760 -0.041 -2068 98 1 + 7.595 -2.059 17.820 0.362 0.878 0.314 -2068 96 1 + 7.423 -2.180 18.660 0.797 0.589 0.136 -2068 98 1 + 7.854 -2.357 18.129 0.510 0.707 0.490 -2068 96 1 + 7.822 -3.017 19.043 0.728 0.655 0.204 -2070 98 1 + 8.190 -3.340 19.200 0.482 0.870 0.100 -2070 98 1 + 8.644 -3.510 19.375 0.180 0.984 -0.017 -2070 127 1 + 9.129 -3.506 19.546 -0.143 0.981 -0.131 -2070 127 1 + 7.299 -2.717 19.520 0.726 0.282 0.627 -2070 98 1 + 7.620 -3.116 19.469 0.512 0.548 0.661 2070 98 1 + 8.032 -3.418 19.535 0.238 0.750 0.617 2070 98 1 + 8.485 -3.588 19.710 -0.065 0.863 0.501 2070 127 1 + 8.927 -3.605 19.973 -0.359 0.875 0.326 2070 127 1 + 9.306 -3.468 20.294 -0.612 0.783 0.112 -2070 127 1 + 7.394 -3.450 19.733 0.269 0.191 0.944 -2070 98 1 + 7.854 -3.680 19.742 -0.037 0.345 0.938 -2070 98 1 + 8.307 -3.850 19.917 -0.340 0.458 0.821 -2070 127 1 + 8.701 -3.939 20.237 -0.602 0.517 0.608 -2070 127 1 + 6.927 -3.597 20.007 0.581 0.289 0.761 -2072 98 1 + 6.944 -3.973 20.218 0.569 0.540 0.621 -2072 98 1 + 7.032 -4.281 20.506 0.510 0.746 0.429 -2072 125 1 + 7.183 -4.498 20.847 0.409 0.890 0.201 -2072 125 1 + 6.671 -3.552 20.137 0.356 0.329 0.875 -2072 98 1 + 6.724 -3.934 20.330 0.321 0.584 0.746 -2072 98 1 + 6.816 -4.243 20.616 0.259 0.790 0.556 -2072 125 1 + 6.941 -4.455 20.970 0.176 0.931 0.319 -2072 125 1 + 6.318 -3.291 20.262 0.591 0.155 0.791 -2073 98 1 + 6.049 -3.434 20.571 0.771 0.251 0.585 -2073 98 1 + 5.876 -3.546 20.953 0.886 0.325 0.330 -2073 158 1 + 5.815 -3.616 21.377 0.927 0.372 0.048 -2073 158 1 + 5.870 -3.640 21.808 0.890 0.388 -0.239 -2073 158 1 + 5.986 -2.886 20.257 0.260 0.560 0.787 -2073 98 1 + 5.789 -3.117 20.567 0.391 0.715 0.580 -2073 98 1 + 5.642 -3.259 20.950 0.490 0.809 0.325 -2073 158 1 + 5.555 -3.299 21.374 0.547 0.836 0.042 -2073 158 1 + 5.538 -3.235 21.803 0.559 0.793 -0.244 -2073 158 1 + 6.196 -3.987 22.055 0.673 0.619 -0.404 -2075 158 1 + 6.438 -4.282 21.851 0.512 0.816 -0.268 -2075 125 1 + 6.743 -4.476 21.615 0.308 0.945 -0.110 -2075 125 1 + 6.263 -3.721 22.598 0.907 0.311 -0.283 -2075 158 1 + 6.389 -4.078 22.389 0.824 0.549 -0.143 2075 158 1 + 6.617 -4.367 22.161 0.672 0.741 0.008 2075 125 1 + 6.929 -4.563 21.935 0.464 0.872 0.159 2075 125 1 + 7.298 -4.650 21.729 0.217 0.930 0.297 -2075 125 1 + 6.392 -3.945 22.982 0.981 0.183 -0.063 -2075 158 1 + 6.499 -4.270 22.718 0.910 0.399 0.113 2075 158 1 + 6.719 -4.544 22.467 0.763 0.582 0.281 2075 125 1 + 7.035 -4.747 22.251 0.553 0.717 0.424 2075 125 1 + 7.419 -4.859 22.088 0.297 0.792 0.533 -2075 125 1 + 6.515 -4.541 23.006 0.922 0.188 0.339 -2075 158 1 + 6.734 -4.796 22.735 0.776 0.358 0.519 -2075 125 1 + 7.050 -5.007 22.528 0.565 0.498 0.657 -2075 125 1 + 6.499 -4.798 23.565 0.933 0.359 -0.034 -2077 154 1 + 6.454 -4.716 23.774 0.901 0.419 0.116 -2077 154 1 + 6.200 -3.810 23.821 0.871 0.260 0.416 -2078 158 1 + 6.241 -4.224 24.401 0.844 0.536 0.030 -2078 155 1 + 5.921 -3.505 24.059 0.712 0.434 0.552 -2078 158 1 + 5.962 -3.919 24.638 0.685 0.710 0.166 -2078 155 1 + 6.606 -5.014 24.582 0.833 0.553 -0.010 -2082 155 1 + 6.888 -5.323 24.697 0.645 0.759 -0.086 -2082 155 1 + 7.251 -5.537 24.801 0.403 0.902 -0.156 -2082 150 1 + 7.664 -5.638 24.886 0.128 0.969 -0.212 -2082 150 1 + 8.094 -5.617 24.943 -0.159 0.955 -0.251 -2082 150 1 + 6.488 -5.030 25.041 0.716 0.537 0.447 -2082 155 1 + 6.796 -5.336 25.056 0.511 0.740 0.437 -2082 155 1 + 7.168 -5.549 25.125 0.263 0.882 0.391 -2082 150 1 + 7.572 -5.651 25.244 -0.007 0.950 0.311 -2082 150 1 + 7.976 -5.634 25.402 -0.276 0.939 0.206 -2082 150 1 + 6.511 -5.170 25.208 0.701 0.630 0.336 -2084 147 1 + 6.331 -5.191 25.503 0.581 0.616 0.532 -2084 147 1 + 6.062 -5.022 25.687 0.761 0.504 0.409 -2086 155 1 + 6.148 -5.297 26.030 0.704 0.687 0.180 -2086 155 1 + 6.328 -5.481 26.397 0.584 0.809 -0.064 -2086 155 1 + 6.586 -5.556 26.755 0.412 0.860 -0.303 -2086 184 1 + 6.899 -5.516 27.072 0.203 0.833 -0.515 -2086 184 1 + 7.239 -5.365 27.321 -0.024 0.732 -0.681 -2086 184 1 + 6.030 -5.000 25.715 0.715 0.536 0.449 -2086 155 1 + 6.133 -5.287 26.043 0.647 0.727 0.230 -2086 155 1 + 6.322 -5.477 26.402 0.521 0.854 -0.009 -2086 155 1 + 6.581 -5.552 26.759 0.348 0.904 -0.248 -2086 184 1 + 6.886 -5.507 27.084 0.145 0.874 -0.464 -2086 184 1 + 7.210 -5.345 27.346 -0.072 0.766 -0.639 -2086 184 1 + 5.804 -4.722 25.853 0.866 0.351 0.356 -2087 155 1 + 5.711 -4.751 26.313 0.928 0.370 0.050 -2087 155 1 + 5.755 -4.726 26.780 0.898 0.353 -0.261 -2087 182 1 + 5.931 -4.648 27.208 0.781 0.301 -0.547 -2087 182 1 + 6.222 -4.527 27.556 0.587 0.220 -0.779 -2087 182 1 + 5.499 -4.079 25.511 0.420 0.618 0.664 -2087 155 1 + 5.449 -4.341 25.897 0.454 0.793 0.407 2087 155 1 + 5.465 -4.487 26.343 0.443 0.890 0.110 2087 155 1 + 5.546 -4.502 26.805 0.388 0.900 -0.199 2087 182 1 + 5.685 -4.384 27.238 0.296 0.822 -0.487 2087 182 1 + 5.867 -4.146 27.600 0.175 0.663 -0.728 2087 182 1 + 6.075 -3.811 27.854 0.036 0.439 -0.898 -2087 182 1 + 4.942 -4.313 26.018 -0.136 0.825 0.548 -2087 155 1 + 5.113 -4.468 26.427 -0.250 0.928 0.275 -2087 155 1 + 5.248 -4.485 26.877 -0.340 0.940 -0.024 -2087 182 1 + 5.333 -4.365 27.322 -0.397 0.860 -0.321 -2087 182 1 + 5.360 -4.118 27.721 -0.415 0.695 -0.587 -2087 182 1 + 7.058 -4.774 27.771 0.030 0.386 -0.922 -2089 184 1 + 7.331 -4.500 27.969 0.226 0.584 -0.780 -2089 184 1 + 6.978 -3.659 28.293 0.553 0.526 -0.647 -2091 182 1 + 7.636 -3.871 28.428 0.114 0.667 -0.736 -2091 183 1 + 7.001 -3.343 28.680 0.566 0.706 -0.426 -2091 182 1 + 7.658 -3.555 28.814 0.127 0.848 -0.515 -2091 183 1 + 6.971 -3.144 29.138 0.549 0.820 -0.164 -2091 182 1 + 7.629 -3.356 29.272 0.110 0.961 -0.254 -2091 183 1 + 6.892 -3.080 29.627 0.503 0.856 0.116 -2091 182 1 + 7.550 -3.292 29.762 0.065 0.998 0.026 -2091 183 1 + 6.770 -3.157 30.106 0.433 0.813 0.389 -2091 182 1 + 7.427 -3.368 30.240 -0.005 0.954 0.300 -2091 183 1 + 6.615 -3.366 30.533 0.345 0.693 0.633 -2091 182 1 + 7.273 -3.578 30.667 -0.093 0.834 0.543 -2091 183 1 + 6.441 -3.691 30.870 0.246 0.507 0.826 -2091 182 1 + 7.099 -3.903 31.005 -0.193 0.649 0.736 -2091 183 1 + 6.264 -4.104 31.090 0.144 0.272 0.951 -2091 182 1 + 6.921 -4.315 31.224 -0.294 0.413 0.862 -2091 183 1 + 6.097 -4.568 31.173 0.049 0.007 0.999 -2091 182 1 + 6.755 -4.779 31.307 -0.389 0.148 0.909 -2091 183 1 + 5.518 -4.679 31.101 -0.282 -0.057 0.958 -2093 182 1 + 5.068 -5.220 31.109 0.018 0.304 0.953 -2093 181 1 + 4.570 -4.528 30.743 -0.161 0.264 0.951 -2094 180 1 + 5.002 -3.913 30.690 -0.577 0.381 0.723 -2094 182 1 + 4.475 -4.133 30.545 -0.225 0.527 0.819 2094 180 1 + 3.895 -4.230 30.590 0.161 0.592 0.789 -2094 180 1 + 4.932 -3.564 30.357 -0.617 0.580 0.533 -2094 182 1 + 4.410 -3.809 30.236 -0.268 0.743 0.613 2094 180 1 + 3.825 -3.882 30.257 0.121 0.791 0.599 -2094 180 1 + 4.901 -3.325 29.934 -0.634 0.717 0.291 -2094 182 1 + 4.381 -3.587 29.843 -0.287 0.891 0.351 2094 180 1 + 3.795 -3.643 29.834 0.104 0.928 0.357 -2094 180 1 + 4.913 -3.217 29.459 -0.627 0.778 0.020 -2094 182 1 + 4.392 -3.486 29.403 -0.280 0.958 0.057 2094 180 1 + 3.806 -3.534 29.360 0.110 0.990 0.086 -2094 180 1 + 4.966 -3.249 28.976 -0.597 0.760 -0.256 -2094 182 1 + 4.441 -3.516 28.954 -0.247 0.938 -0.242 2094 180 1 + 3.859 -3.567 28.877 0.141 0.972 -0.190 -2094 180 1 + 5.055 -3.419 28.529 -0.546 0.663 -0.512 -2094 182 1 + 4.524 -3.674 28.539 -0.192 0.833 -0.519 2094 180 1 + 3.948 -3.737 28.429 0.192 0.874 -0.446 -2094 180 1 + 4.633 -3.946 28.194 -0.120 0.652 -0.749 -2094 180 1 + 3.812 -5.134 30.943 0.114 0.076 0.991 -2096 180 1 + 4.469 -5.358 31.050 -0.324 0.225 0.919 -2096 181 1 + 3.733 -6.007 30.887 -0.041 0.034 0.999 -2099 181 1 + 3.260 -6.567 30.948 0.404 -0.116 0.907 -2099 177 1 + 3.830 -6.398 30.849 0.024 -0.229 0.973 2099 181 1 + 4.406 -6.285 30.986 -0.360 -0.304 0.882 -2099 181 1 + 3.363 -6.962 30.791 0.463 -0.342 0.818 -2099 177 1 + 3.925 -6.763 30.704 0.088 -0.474 0.876 2099 181 1 + 4.509 -6.680 30.829 -0.301 -0.530 0.793 -2099 181 1 + 3.455 -7.300 30.531 0.515 -0.536 0.669 -2099 177 1 + 4.010 -7.076 30.463 0.145 -0.685 0.714 2099 181 1 + 4.601 -7.018 30.569 -0.249 -0.724 0.644 -2099 181 1 + 4.079 -7.315 30.144 0.191 -0.845 0.499 -2099 181 1 + 3.390 -8.041 29.891 0.651 -0.361 0.668 -2100 172 1 + 3.377 -8.044 29.902 0.642 -0.363 0.675 -2100 172 1 + 3.626 -8.153 29.661 0.494 -0.286 0.821 -2102 172 1 + 3.940 -7.752 29.719 0.284 -0.553 0.783 -2102 181 1 + 4.304 -7.447 29.914 0.042 -0.756 0.653 -2102 181 1 + 3.874 -8.292 29.381 0.706 -0.404 0.581 -2102 172 1 + 4.168 -7.879 29.461 0.510 -0.679 0.528 -2102 181 1 + 4.552 -7.586 29.634 0.254 -0.875 0.413 -2102 181 1 + 4.024 -8.904 29.060 0.606 0.004 0.795 -2104 172 1 + 4.441 -9.032 28.843 0.328 0.089 0.940 -2104 175 1 + 3.941 -9.212 29.076 0.544 -0.227 0.808 -2104 172 1 + 4.360 -9.332 28.859 0.265 -0.147 0.953 -2104 175 1 + 3.889 -9.506 29.066 0.579 -0.031 0.815 -2105 174 1 + 3.765 -9.662 29.130 0.496 -0.136 0.858 -2105 174 1 + 4.646 -10.319 28.796 0.498 -0.019 0.867 -2107 174 1 + 5.140 -9.875 28.695 0.168 -0.315 0.934 -2107 175 1 + 4.946 -10.694 28.513 0.669 -0.233 0.706 -2107 174 1 + 5.420 -10.226 28.431 0.352 -0.545 0.761 -2107 175 1 + 5.168 -10.973 28.085 0.796 -0.393 0.461 -2107 174 1 + 5.628 -10.487 28.031 0.489 -0.717 0.497 -2107 175 1 + 5.286 -11.122 27.561 0.863 -0.478 0.162 -2107 174 1 + 5.739 -10.626 27.541 0.562 -0.809 0.175 -2107 175 1 + 5.286 -11.125 27.004 0.864 -0.479 -0.156 -2107 174 1 + 5.739 -10.628 27.021 0.562 -0.810 -0.167 -2107 175 1 + 5.133 -10.742 25.998 0.821 -0.555 -0.135 -2109 174 1 + 5.255 -10.611 25.490 0.739 -0.642 0.203 -2109 139 1 + 4.755 -11.338 26.280 0.560 -0.601 -0.570 -2109 174 1 + 4.782 -11.045 25.829 0.542 -0.796 -0.270 2109 174 1 + 4.914 -10.906 25.326 0.454 -0.888 0.066 2109 139 1 + 5.133 -10.939 24.835 0.308 -0.867 0.393 -2109 139 1 + 4.334 -11.175 25.669 0.186 -0.899 -0.396 -2109 174 1 + 4.477 -11.033 25.170 0.090 -0.994 -0.064 -2109 139 1 + 3.874 -11.451 25.819 0.492 -0.715 -0.496 -2111 174 1 + 3.588 -11.506 25.480 0.683 -0.678 -0.271 -2111 174 1 + 3.392 -11.651 25.106 0.813 -0.581 -0.021 -2111 408 1 + 3.305 -11.874 24.728 0.871 -0.433 0.231 -2111 408 1 + 3.836 -11.809 26.419 0.035 -0.870 -0.491 -2111 174 1 + 3.560 -11.707 26.082 0.218 -0.939 -0.267 2111 174 1 + 3.314 -11.729 25.710 0.382 -0.924 -0.019 2111 174 1 + 3.119 -11.875 25.335 0.513 -0.827 0.231 2111 408 1 + 2.992 -12.130 24.991 0.597 -0.657 0.460 2111 408 1 + 2.944 -12.473 24.709 0.629 -0.428 0.649 -2111 408 1 + 3.144 -11.763 26.320 -0.145 -0.988 -0.058 -2111 174 1 + 2.951 -11.778 25.918 -0.016 -0.978 0.210 -2111 174 1 + 2.756 -11.923 25.543 0.114 -0.881 0.460 -2111 408 1 + 2.576 -12.186 25.230 0.234 -0.705 0.669 -2111 408 1 + 3.142 -14.674 27.717 0.573 0.808 0.138 -2112 389 1 + 3.897 -11.997 27.626 0.070 -0.978 0.199 -2113 174 1 + 2.184 -12.904 24.975 0.496 -0.227 0.838 -2115 408 1 + 2.267 -13.088 24.771 0.674 -0.621 0.400 -2115 408 1 + 2.342 -14.590 26.545 0.390 0.897 -0.208 -2116 389 1 + 2.420 -14.762 26.354 0.571 0.495 -0.655 -2116 389 1 + 2.387 -14.964 26.125 0.593 0.630 -0.502 -2118 389 1 + 2.095 -14.870 25.734 0.788 0.567 -0.241 -2118 396 1 + 1.933 -14.682 25.303 0.896 0.442 0.046 -2118 396 1 + 2.399 -14.988 26.110 0.605 0.607 -0.516 -2118 389 1 + 2.107 -14.892 25.720 0.800 0.543 -0.256 -2118 396 1 + 1.946 -14.707 25.287 0.907 0.420 0.032 -2118 396 1 + 2.486 -15.086 26.085 0.547 0.672 -0.499 -2120 389 1 + 2.259 -15.093 25.684 0.699 0.677 -0.232 -2120 395 1 + 3.025 -15.382 26.296 0.497 0.342 -0.798 -2120 389 1 + 2.702 -15.454 25.975 0.712 0.390 -0.584 2120 389 1 + 2.480 -15.470 25.571 0.860 0.401 -0.314 2120 395 1 + 2.380 -15.430 25.123 0.927 0.374 -0.016 -2120 395 1 + 3.136 -15.844 26.260 0.570 0.038 -0.821 -2120 389 1 + 2.805 -15.880 25.942 0.791 0.063 -0.609 2120 389 1 + 2.585 -15.908 25.537 0.937 0.081 -0.339 2120 395 1 + 2.498 -15.924 25.085 0.995 0.092 -0.037 -2120 395 1 + 2.782 -16.317 25.990 0.774 -0.272 -0.572 -2120 389 1 + 2.562 -16.356 25.587 0.921 -0.246 -0.303 -2120 395 1 + 2.890 -16.709 26.201 0.702 -0.011 -0.712 -2122 389 1 + 2.769 -17.102 25.987 0.783 0.251 -0.570 -2122 400 1 + 2.760 -17.460 25.691 0.789 0.489 -0.373 -2122 400 1 + 3.318 -16.568 26.631 0.689 -0.438 -0.577 -2122 389 1 + 3.061 -16.918 26.466 0.860 -0.205 -0.467 2122 389 1 + 2.928 -17.297 26.233 0.949 0.047 -0.312 2122 400 1 + 2.931 -17.669 25.956 0.947 0.296 -0.127 2122 400 1 + 3.070 -17.999 25.661 0.854 0.515 0.070 -2122 400 1 + 3.364 -16.828 27.002 0.720 -0.609 -0.333 -2122 389 1 + 3.100 -17.133 26.774 0.896 -0.405 -0.181 2122 389 1 + 2.964 -17.497 26.520 0.987 -0.163 -0.012 2122 400 1 + 2.970 -17.885 26.265 0.983 0.096 0.159 2122 400 1 + 3.117 -18.258 26.032 0.885 0.345 0.314 -2122 400 1 + 3.001 -17.327 27.084 0.805 -0.584 0.106 -2122 389 1 + 2.872 -17.677 26.809 0.891 -0.351 0.290 -2122 400 1 + 2.871 -18.078 26.575 0.891 -0.083 0.446 -2122 400 1 + 3.260 -17.174 27.785 0.632 -0.686 -0.362 -2124 389 1 + 3.352 -17.372 28.152 0.571 -0.554 -0.606 -2124 393 1 + 3.513 -17.637 28.446 0.463 -0.377 -0.802 -2124 393 1 + 3.569 -16.692 27.508 0.854 -0.520 -0.000 -2124 389 1 + 3.540 -16.856 27.901 0.874 -0.410 -0.262 2124 389 1 + 3.617 -17.070 28.262 0.822 -0.268 -0.502 2124 393 1 + 3.794 -17.316 28.562 0.704 -0.103 -0.702 2124 393 1 + 4.056 -17.575 28.776 0.529 0.069 -0.846 -2124 393 1 + 3.727 -16.269 27.741 0.958 -0.242 0.153 -2124 389 1 + 3.676 -16.491 28.102 0.992 -0.094 -0.088 2124 389 1 + 3.746 -16.724 28.452 0.945 0.061 -0.321 2124 393 1 + 3.931 -16.949 28.764 0.822 0.212 -0.529 2124 393 1 + 4.216 -17.149 29.011 0.632 0.345 -0.694 -2124 393 1 + 3.694 -15.858 28.037 0.937 0.029 0.348 -2124 389 1 + 3.649 -16.135 28.358 0.968 0.214 0.134 2124 389 1 + 3.720 -16.386 28.695 0.920 0.381 -0.091 2124 393 1 + 3.903 -16.591 29.021 0.798 0.518 -0.309 2124 393 1 + 4.183 -16.733 29.310 0.611 0.613 -0.501 -2124 393 1 + 3.461 -15.845 28.628 0.805 0.465 0.368 -2124 389 1 + 3.542 -16.111 28.952 0.751 0.642 0.152 -2124 393 1 + 3.715 -16.300 29.294 0.636 0.768 -0.075 -2124 393 1 + 3.346 -15.740 28.794 0.882 0.395 0.258 -2126 389 1 + 3.369 -15.889 29.282 0.867 0.494 -0.068 -2126 391 1 + 3.198 -15.528 28.863 0.761 0.567 0.314 -2126 389 1 + 3.216 -15.671 29.354 0.749 0.662 -0.013 -2126 391 1 + 3.122 -15.416 28.866 0.812 0.493 0.313 -2127 389 1 + 3.064 -15.466 29.355 0.850 0.526 -0.014 -2127 392 1 + 3.146 -15.430 29.842 0.796 0.502 -0.338 -2127 392 1 + 2.905 -14.886 28.443 0.417 0.669 0.615 -2127 389 1 + 2.795 -15.095 28.878 0.491 0.808 0.325 2127 389 1 + 2.765 -15.173 29.367 0.510 0.860 -0.000 2127 392 1 + 2.819 -15.109 29.855 0.474 0.818 -0.326 2127 392 1 + 2.951 -14.913 30.290 0.387 0.686 -0.616 -2127 392 1 + 2.357 -14.962 28.891 0.060 0.939 0.338 -2127 389 1 + 2.364 -15.051 29.379 0.054 0.998 0.013 -2127 392 1 + 2.381 -14.976 29.868 0.043 0.949 -0.313 -2127 392 1 + 3.775 -16.029 30.250 0.741 0.595 -0.311 -2131 393 1 + 3.831 -15.716 30.914 0.966 0.158 -0.205 -2131 392 1 + 3.959 -16.190 30.634 0.880 0.474 -0.019 2131 393 1 + 4.275 -16.563 30.351 0.670 0.722 0.170 -2131 393 1 + 3.879 -15.968 31.332 0.998 -0.008 0.070 -2131 392 1 + 4.004 -16.424 31.023 0.914 0.297 0.276 2131 393 1 + 4.323 -16.817 30.773 0.701 0.559 0.442 -2131 393 1 + 3.772 -16.268 31.704 0.927 -0.205 0.315 -2131 392 1 + 3.904 -16.703 31.369 0.839 0.085 0.538 2131 393 1 + 4.215 -17.120 31.149 0.631 0.363 0.685 -2131 393 1 + 3.521 -16.580 31.987 0.762 -0.411 0.500 -2131 392 1 + 3.671 -16.994 31.632 0.662 -0.135 0.737 2131 393 1 + 3.962 -17.436 31.434 0.468 0.160 0.869 -2131 393 1 + 3.333 -17.262 31.779 0.406 -0.338 0.849 -2131 393 1 + 2.689 -16.954 32.325 0.214 -0.656 0.723 -2132 392 1 + 2.650 -17.455 32.037 0.240 -0.323 0.916 -2132 391 1 + 2.182 -16.928 32.381 -0.119 -0.639 0.760 -2132 392 1 + 2.108 -17.427 32.096 -0.069 -0.307 0.949 -2132 391 1 + 1.696 -16.794 32.305 -0.439 -0.551 0.710 -2132 392 1 + 1.588 -17.284 32.015 -0.366 -0.225 0.903 -2132 391 1 + 2.823 -17.772 31.825 0.340 -0.504 0.794 -2133 391 1 + 3.285 -18.112 31.576 0.032 -0.277 0.960 -2133 393 1 + 2.482 -18.127 31.646 0.144 -0.707 0.692 -2133 391 1 + 2.963 -18.448 31.407 -0.176 -0.493 0.852 -2133 393 1 + 2.162 -18.394 31.328 -0.038 -0.859 0.510 -2133 391 1 + 2.661 -18.699 31.106 -0.371 -0.656 0.658 -2133 393 1 + 3.319 -18.028 28.438 0.593 -0.117 -0.797 -2135 393 1 + 2.993 -18.125 28.119 0.810 -0.052 -0.584 -2135 393 1 + 2.785 -18.230 27.715 0.949 0.018 -0.315 -2135 400 1 + 2.714 -18.332 27.266 0.996 0.086 -0.015 -2135 400 1 + 2.787 -18.422 26.815 0.947 0.146 0.286 -2135 400 1 + 3.412 -18.694 28.926 0.114 -0.653 -0.749 -2135 393 1 + 3.115 -18.506 28.620 0.312 -0.778 -0.545 2135 393 1 + 2.863 -18.430 28.235 0.480 -0.829 -0.289 2135 393 1 + 2.681 -18.475 27.808 0.601 -0.799 -0.004 2135 400 1 + 2.585 -18.635 27.381 0.665 -0.692 0.280 2135 400 1 + 2.586 -18.895 26.995 0.664 -0.519 0.538 2135 400 1 + 2.683 -19.231 26.686 0.599 -0.295 0.744 -2135 400 1 + 2.599 -18.571 28.802 -0.401 -0.868 -0.293 -2135 393 1 + 2.534 -18.472 28.351 -0.358 -0.934 0.007 -2135 393 1 + 2.417 -18.508 27.902 -0.279 -0.910 0.307 -2135 400 1 + 2.259 -18.676 27.497 -0.174 -0.798 0.577 -2135 400 1 + 2.076 -18.959 27.175 -0.052 -0.609 0.792 -2135 400 1 + 2.591 -17.357 25.289 0.901 0.421 -0.104 -2137 400 1 + 2.456 -16.903 25.219 0.991 0.118 -0.058 -2137 395 1 + 2.359 -17.547 24.605 0.720 0.272 -0.639 -2137 400 1 + 2.218 -17.098 24.517 0.814 -0.027 -0.580 -2137 395 1 + 2.204 -17.628 24.343 0.823 0.326 -0.464 -2139 398 1 + 1.952 -18.221 23.931 0.643 -0.098 -0.760 -2139 398 1 + 2.284 -19.085 24.156 0.337 -0.199 -0.920 -2140 400 1 + 1.790 -19.037 23.839 0.666 -0.232 -0.709 -2140 399 1 + 2.158 -19.562 24.309 0.254 -0.513 -0.820 -2140 400 1 + 1.655 -19.547 24.002 0.589 -0.523 -0.616 -2140 399 1 + 1.985 -19.948 24.604 0.140 -0.767 -0.626 -2140 400 1 + 1.470 -19.960 24.318 0.483 -0.759 -0.435 -2140 399 1 + 1.511 -18.727 23.575 0.507 -0.055 -0.860 -2141 399 1 + 1.352 -18.128 23.254 0.613 -0.454 -0.647 -2141 398 1 + 1.079 -18.926 23.416 0.260 -0.169 -0.951 -2141 399 1 + 0.920 -18.327 23.096 0.366 -0.568 -0.737 -2141 398 1 + 0.600 -19.069 23.386 -0.014 -0.250 -0.968 -2141 399 1 + 0.441 -18.470 23.066 0.092 -0.650 -0.754 -2141 398 1 + 1.847 -16.578 23.627 0.950 -0.160 -0.267 -2145 398 1 + 1.959 -16.127 23.448 0.875 -0.460 -0.148 -2145 402 1 + 1.671 -16.668 23.280 0.818 -0.227 -0.528 -2145 398 1 + 1.787 -16.215 23.109 0.740 -0.529 -0.414 -2145 402 1 + 1.531 -16.861 23.087 0.911 -0.099 -0.400 -2146 398 1 + 1.488 -16.577 22.760 0.940 -0.288 -0.182 -2146 398 1 + 1.563 -16.329 22.410 0.890 -0.454 0.052 -2146 405 1 + 1.752 -16.138 22.066 0.764 -0.581 0.281 -2146 405 1 + 2.037 -16.021 21.758 0.574 -0.659 0.486 -2146 405 1 + 1.259 -17.539 22.950 0.559 -0.118 -0.821 -2146 398 1 + 1.220 -17.136 22.788 0.585 -0.386 -0.713 2146 398 1 + 1.255 -16.782 22.537 0.562 -0.622 -0.545 2146 398 1 + 1.361 -16.507 22.216 0.491 -0.806 -0.331 2146 405 1 + 1.529 -16.334 21.853 0.379 -0.921 -0.089 2146 405 1 + 1.746 -16.278 21.479 0.234 -0.959 0.160 2146 405 1 + 1.992 -16.343 21.125 0.070 -0.916 0.396 -2146 405 1 + 0.747 -17.136 22.592 0.090 -0.386 -0.918 -2146 398 1 + 0.901 -16.782 22.390 -0.013 -0.622 -0.783 -2146 398 1 + 1.054 -16.507 22.088 -0.114 -0.805 -0.582 -2146 405 1 + 1.192 -16.334 21.713 -0.206 -0.920 -0.332 -2146 405 1 + 1.304 -16.277 21.296 -0.281 -0.958 -0.054 -2146 405 1 + 2.193 -15.813 21.921 0.470 -0.798 0.378 -2148 405 1 + 2.065 -15.765 22.390 0.555 -0.829 0.065 -2148 402 1 + 2.822 -15.515 21.579 0.617 -0.371 0.694 -2148 405 1 + 2.571 -15.394 21.980 0.784 -0.451 0.427 2148 405 1 + 2.445 -15.345 22.449 0.868 -0.484 0.114 2148 402 1 + 2.457 -15.373 22.937 0.860 -0.465 -0.211 -2148 402 1 + 2.725 -14.848 21.963 0.911 0.000 0.413 -2148 405 1 + 2.600 -14.797 22.432 0.994 -0.034 0.100 -2148 402 1 + 2.889 -14.462 21.772 0.802 -0.256 0.540 -2150 405 1 + 2.915 -14.068 22.074 0.784 -0.519 0.339 -2150 406 1 + 2.933 -14.425 21.720 0.837 -0.227 0.499 -2150 405 1 + 2.960 -14.030 22.020 0.819 -0.490 0.299 -2150 406 1 + 3.353 -14.701 21.224 0.557 -0.043 0.830 -2152 405 1 + 3.735 -14.551 21.054 0.302 -0.144 0.942 -2152 405 1 + 4.156 -14.419 21.009 0.021 -0.232 0.973 -2152 142 1 + 4.581 -14.317 21.091 -0.262 -0.299 0.918 -2152 142 1 + 4.971 -14.255 21.295 -0.522 -0.341 0.782 -2152 142 1 + 3.467 -15.092 20.953 0.695 -0.515 0.502 -2152 405 1 + 3.820 -14.840 20.853 0.460 -0.682 0.569 -2152 405 1 + 4.233 -14.679 20.828 0.185 -0.790 0.585 -2152 142 1 + 4.670 -14.622 20.880 -0.107 -0.828 0.551 -2152 142 1 + 5.093 -14.673 21.005 -0.389 -0.794 0.468 -2152 142 1 + 3.523 -15.187 20.801 0.658 -0.451 0.603 -2154 405 1 + 3.950 -15.040 20.584 0.373 -0.549 0.748 -2154 405 1 + 4.439 -14.984 20.493 0.047 -0.586 0.809 -2154 144 1 + 4.937 -15.027 20.537 -0.285 -0.558 0.779 -2154 144 1 + 3.161 -15.766 20.658 0.839 -0.536 0.089 -2154 405 1 + 3.491 -15.434 20.482 0.619 -0.758 0.207 2154 405 1 + 3.926 -15.229 20.340 0.329 -0.895 0.301 2154 405 1 + 4.415 -15.173 20.249 0.003 -0.932 0.362 2154 144 1 + 4.905 -15.273 20.218 -0.324 -0.865 0.383 2154 144 1 + 5.341 -15.519 20.251 -0.614 -0.702 0.361 -2154 144 1 + 3.421 -15.466 20.085 0.531 -0.797 -0.287 -2154 405 1 + 3.872 -15.253 20.036 0.230 -0.939 -0.255 -2154 405 1 + 4.361 -15.197 19.945 -0.096 -0.976 -0.194 -2154 144 1 + 4.835 -15.305 19.821 -0.412 -0.904 -0.111 -2154 144 1 + 3.137 -15.621 19.668 0.720 -0.694 -0.009 -2156 405 1 + 3.319 -15.531 19.249 0.599 -0.754 0.270 -2156 425 1 + 3.587 -15.549 18.869 0.420 -0.742 0.523 -2156 425 1 + 2.543 -16.101 19.779 0.433 -0.757 -0.490 -2156 405 1 + 2.697 -15.868 19.406 0.330 -0.913 -0.241 2156 405 1 + 2.899 -15.767 18.999 0.196 -0.980 0.030 2156 425 1 + 3.129 -15.807 18.596 0.042 -0.953 0.299 2156 425 1 + 3.365 -15.985 18.236 -0.115 -0.835 0.539 -2156 425 1 + 2.192 -15.826 19.149 -0.117 -0.875 -0.469 -2156 405 1 + 2.417 -15.726 18.753 -0.267 -0.942 -0.206 -2156 425 1 + 2.602 -15.763 18.328 -0.391 -0.917 0.078 -2156 425 1 + 1.510 -16.039 19.331 0.337 -0.733 -0.591 -2157 405 1 + 1.118 -16.131 19.100 0.599 -0.671 -0.437 -2157 410 1 + 1.720 -16.377 20.023 -0.108 -0.938 -0.329 -2157 405 1 + 1.297 -16.339 19.834 0.173 -0.964 -0.203 2157 405 1 + 0.900 -16.439 19.617 0.439 -0.897 -0.058 2157 410 1 + 0.565 -16.668 19.390 0.662 -0.744 0.093 -2157 410 1 + 1.011 -16.352 20.388 -0.048 -0.974 0.223 -2157 405 1 + 0.605 -16.452 20.184 0.223 -0.907 0.358 -2157 410 1 + 1.087 -15.975 18.624 0.619 -0.776 -0.119 -2159 410 1 + 1.457 -15.747 18.424 0.373 -0.928 0.014 -2159 410 1 + 1.883 -15.661 18.226 0.089 -0.985 0.146 -2159 425 1 + 2.323 -15.724 18.050 -0.204 -0.943 0.264 -2159 425 1 + 1.076 -15.979 18.597 0.608 -0.780 -0.145 -2159 410 1 + 1.447 -15.751 18.401 0.361 -0.933 -0.014 -2159 410 1 + 1.873 -15.664 18.203 0.077 -0.990 0.118 -2159 425 1 + 2.311 -15.729 18.023 -0.215 -0.947 0.238 -2159 425 1 + 0.861 -16.175 18.210 0.752 -0.650 0.113 -2160 418 1 + 0.450 -16.636 18.627 0.596 -0.726 -0.343 -2160 410 1 + 0.549 -16.453 18.081 0.531 -0.847 0.021 2160 418 1 + 0.769 -16.464 17.539 0.384 -0.840 0.382 -2160 418 1 + 0.027 -16.816 18.469 0.354 -0.828 -0.434 -2160 410 1 + 0.168 -16.615 17.938 0.260 -0.962 -0.080 2160 418 1 + 0.369 -16.633 17.390 0.126 -0.950 0.286 -2160 418 1 + -0.244 -16.644 17.797 -0.033 -0.983 -0.180 -2160 418 1 + 1.471 -15.955 17.635 0.345 -0.797 0.497 -2162 418 1 + 1.890 -15.838 17.658 0.066 -0.874 0.481 -2162 425 1 + 2.317 -15.833 17.741 -0.219 -0.878 0.426 -2162 425 1 + 1.162 -16.309 17.273 0.638 -0.740 0.211 -2162 418 1 + 1.529 -16.075 17.283 0.394 -0.896 0.204 2162 418 1 + 1.946 -15.954 17.318 0.116 -0.977 0.180 2162 425 1 + 2.378 -15.957 17.377 -0.172 -0.975 0.142 2162 425 1 + 2.787 -16.083 17.453 -0.445 -0.891 0.091 -2162 425 1 + 1.568 -16.077 16.908 0.426 -0.898 -0.107 -2162 418 1 + 1.984 -15.957 16.957 0.149 -0.979 -0.140 -2162 425 1 + 2.418 -15.960 16.989 -0.141 -0.977 -0.161 -2162 425 1 + 1.586 -16.095 16.441 0.414 -0.887 0.205 -2163 422 1 + 1.304 -16.220 16.095 0.212 -0.976 -0.043 -2163 422 1 + 2.471 -15.966 16.523 -0.176 -0.973 0.150 -2165 425 1 + 2.677 -16.004 16.350 -0.037 -0.999 0.032 -2165 425 1 + 2.770 -16.123 15.828 -0.099 -0.919 0.381 -2167 422 1 + 3.238 -16.263 15.820 -0.411 -0.826 0.386 -2167 422 1 + 3.640 -16.535 15.873 -0.679 -0.645 0.351 -2167 116 1 + 3.934 -16.909 15.982 -0.875 -0.396 0.278 -2167 116 1 + 2.863 -16.142 15.116 -0.005 -0.938 -0.345 -2167 422 1 + 3.312 -16.278 15.251 -0.304 -0.848 -0.435 -2167 422 1 + 3.712 -16.549 15.317 -0.571 -0.667 -0.479 -2167 116 1 + 4.022 -16.927 15.306 -0.778 -0.415 -0.472 -2167 116 1 + 2.861 -16.064 14.807 -0.003 -0.990 -0.139 -2169 422 1 + 3.308 -16.121 14.667 -0.302 -0.952 -0.046 -2169 115 1 + 3.711 -16.319 14.520 -0.570 -0.820 0.053 -2169 115 1 + 2.302 -15.991 14.441 0.232 -0.836 -0.497 -2169 422 1 + 2.769 -15.928 14.404 -0.079 -0.878 -0.472 2169 422 1 + 3.224 -15.996 14.298 -0.382 -0.832 -0.401 2169 115 1 + 3.622 -16.188 14.131 -0.648 -0.704 -0.290 2169 115 1 + 3.924 -16.485 13.922 -0.849 -0.507 -0.151 -2169 115 1 + 2.277 -15.661 14.033 0.218 -0.648 -0.730 -2169 422 1 + 2.748 -15.655 14.066 -0.096 -0.652 -0.752 2169 422 1 + 3.205 -15.746 13.988 -0.401 -0.592 -0.699 2169 115 1 + 3.602 -15.925 13.805 -0.666 -0.472 -0.578 2169 115 1 + 3.900 -16.175 13.537 -0.864 -0.306 -0.399 -2169 115 1 + 2.340 -15.216 13.764 0.254 -0.394 -0.884 -2169 422 1 + 2.801 -15.286 13.843 -0.053 -0.347 -0.936 2169 422 1 + 3.253 -15.408 13.783 -0.355 -0.265 -0.897 2169 115 1 + 3.653 -15.569 13.590 -0.621 -0.158 -0.768 2169 115 1 + 3.960 -15.754 13.283 -0.826 -0.035 -0.563 -2169 115 1 + 2.483 -14.719 13.673 0.335 -0.110 -0.936 -2169 422 1 + 2.919 -14.874 13.768 0.045 -0.006 -0.999 2169 422 1 + 3.361 -15.031 13.714 -0.250 0.098 -0.963 2169 115 1 + 3.767 -15.172 13.517 -0.520 0.192 -0.832 2169 115 1 + 4.095 -15.285 13.197 -0.739 0.268 -0.618 -2169 115 1 + 3.085 -14.481 13.851 0.183 0.319 -0.930 -2169 422 1 + 3.514 -14.670 13.790 -0.103 0.445 -0.890 -2169 115 1 + 3.927 -14.793 13.597 -0.379 0.527 -0.761 -2169 115 1 + 2.885 -13.788 13.862 0.317 -0.143 -0.938 -2171 422 1 + 3.139 -13.356 13.791 0.147 -0.432 -0.890 -2171 269 1 + 3.419 -12.998 13.567 -0.040 -0.671 -0.741 -2171 269 1 + 2.470 -13.527 13.797 -0.049 0.087 -0.995 -2171 422 1 + 2.766 -13.121 13.732 -0.246 -0.184 -0.952 -2171 269 1 + 3.020 -12.746 13.504 -0.415 -0.433 -0.800 -2171 269 1 + 2.076 -11.935 12.189 0.214 -0.974 0.077 -2173 339 1 + 1.997 -11.946 12.176 0.035 -0.998 0.049 -2173 339 1 + 2.033 -13.437 13.759 0.243 0.027 -0.970 -2174 422 1 + 1.954 -13.448 13.747 0.063 0.003 -0.998 -2174 422 1 + 1.527 -13.862 13.592 0.348 0.279 -0.895 -2175 422 1 + 1.125 -13.741 13.393 0.616 0.199 -0.762 -2175 422 1 + 0.812 -13.592 13.085 0.825 0.099 -0.557 -2175 431 1 + 0.617 -13.428 12.697 0.955 -0.011 -0.298 -2175 431 1 + 0.560 -13.265 12.266 0.993 -0.119 -0.011 -2175 431 1 + 1.481 -14.044 13.542 0.294 0.063 -0.954 -2175 422 1 + 1.094 -13.863 13.360 0.552 -0.057 -0.832 -2175 422 1 + 0.787 -13.691 13.058 0.757 -0.172 -0.631 -2175 431 1 + 0.588 -13.543 12.665 0.889 -0.271 -0.369 -2175 431 1 + 0.517 -13.434 12.220 0.936 -0.343 -0.072 -2175 431 1 + 0.851 -12.718 11.713 0.799 -0.484 0.358 -2177 431 1 + 1.173 -12.387 11.645 0.584 -0.704 0.403 -2177 339 1 + 1.580 -12.158 11.636 0.313 -0.857 0.409 -2177 339 1 + 0.868 -12.820 11.209 0.814 -0.574 -0.090 -2177 431 1 + 1.189 -12.484 11.164 0.600 -0.798 -0.060 -2177 339 1 + 1.598 -12.264 11.110 0.327 -0.945 -0.024 -2177 339 1 + 0.843 -12.845 11.064 0.830 -0.557 0.007 -2178 431 1 + 1.143 -12.531 10.888 0.630 -0.766 0.124 -2178 431 1 + 1.535 -12.330 10.730 0.369 -0.901 0.229 -2178 340 1 + 1.981 -12.260 10.606 0.072 -0.947 0.312 -2178 340 1 + 0.806 -12.880 10.926 0.788 -0.597 -0.147 -2178 431 1 + 1.112 -12.560 10.775 0.584 -0.810 -0.046 -2178 431 1 + 1.504 -12.359 10.617 0.323 -0.945 0.059 -2178 340 1 + 1.943 -12.296 10.467 0.030 -0.987 0.159 -2178 340 1 + 3.144 -11.946 11.253 0.057 -0.941 0.333 -2182 340 1 + 3.285 -11.860 11.686 -0.037 -0.998 0.044 -2182 340 1 + 3.420 -11.918 12.126 -0.128 -0.960 -0.249 -2182 269 1 + 3.538 -12.112 12.529 -0.206 -0.830 -0.518 -2182 269 1 + 3.494 -12.071 10.731 0.463 -0.733 0.499 -2182 340 1 + 3.508 -11.874 11.150 0.453 -0.864 0.220 2182 340 1 + 3.588 -11.801 11.600 0.400 -0.913 -0.081 2182 340 1 + 3.724 -11.858 12.039 0.309 -0.875 -0.373 2182 269 1 + 3.905 -12.041 12.425 0.188 -0.753 -0.630 2182 269 1 + 4.113 -12.331 12.720 0.050 -0.560 -0.827 -2182 269 1 + 3.808 -11.640 11.086 0.779 -0.609 0.151 -2182 340 1 + 3.837 -11.606 11.548 0.760 -0.631 -0.156 -2182 340 1 + 3.974 -11.663 11.986 0.668 -0.594 -0.449 -2182 269 1 + 4.207 -11.804 12.361 0.513 -0.499 -0.699 -2182 269 1 + 4.029 -11.458 10.919 0.631 -0.730 0.263 -2184 340 1 + 4.245 -11.246 11.224 0.487 -0.871 0.060 -2184 340 1 + 4.522 -11.141 11.535 0.303 -0.941 -0.148 -2184 268 1 + 4.835 -11.151 11.829 0.094 -0.934 -0.344 -2184 268 1 + 4.205 -11.316 10.715 0.806 -0.589 0.060 -2184 340 1 + 4.399 -11.122 11.046 0.677 -0.718 -0.161 -2184 340 1 + 4.675 -11.017 11.357 0.493 -0.788 -0.369 -2184 268 1 + 5.013 -11.008 11.623 0.268 -0.794 -0.546 -2184 268 1 + 4.399 -11.467 9.978 0.677 -0.488 0.551 -2185 340 1 + 4.808 -11.438 9.662 0.405 -0.507 0.761 -2185 284 1 + 5.288 -11.500 9.483 0.084 -0.466 0.881 -2185 284 1 + 4.130 -11.880 9.522 0.400 -0.913 0.082 -2185 340 1 + 4.565 -11.811 9.251 0.110 -0.959 0.262 -2185 284 1 + 5.019 -11.913 9.027 -0.193 -0.891 0.411 -2185 284 1 + 5.797 -11.241 9.715 -0.255 -0.639 0.726 -2187 284 1 + 5.771 -10.934 10.081 -0.238 -0.843 0.482 -2187 284 1 + 5.709 -10.756 10.519 -0.196 -0.962 0.190 -2187 268 1 + 5.617 -10.724 10.987 -0.135 -0.983 -0.122 -2187 268 1 + 5.505 -10.842 11.436 -0.060 -0.905 -0.422 -2187 268 1 + 6.390 -11.524 9.534 0.153 -0.290 0.945 -2187 284 1 + 6.167 -11.167 9.760 0.302 -0.528 0.794 2187 284 1 + 5.990 -10.891 10.107 0.420 -0.712 0.563 2187 284 1 + 5.876 -10.723 10.540 0.495 -0.824 0.274 2187 268 1 + 5.838 -10.680 11.014 0.521 -0.853 -0.042 2187 268 1 + 5.879 -10.767 11.482 0.493 -0.795 -0.354 2187 268 1 + 5.995 -10.975 11.896 0.416 -0.656 -0.630 -2187 268 1 + 6.403 -10.871 9.730 0.657 -0.083 0.749 -2187 284 1 + 6.129 -10.716 10.090 0.840 -0.186 0.510 -2187 284 1 + 5.983 -10.589 10.526 0.937 -0.271 0.219 -2187 268 1 + 5.979 -10.504 10.997 0.940 -0.328 -0.095 -2187 268 1 + 6.118 -10.468 11.452 0.847 -0.352 -0.399 -2187 268 1 + 7.150 -10.669 9.410 0.159 -0.218 0.963 -2189 284 1 + 7.552 -10.341 9.515 -0.109 -0.437 0.893 -2189 285 1 + 7.380 -10.904 9.260 0.360 -0.421 0.833 -2189 284 1 + 7.783 -10.576 9.364 0.091 -0.640 0.763 -2189 285 1 + 7.430 -11.344 9.104 0.327 -0.128 0.936 -2191 284 1 + 7.857 -11.394 9.017 0.042 -0.095 0.995 -2191 294 1 + 8.289 -11.456 9.057 -0.246 -0.053 0.968 -2191 294 1 + 7.403 -11.537 9.069 0.303 -0.298 0.905 -2191 284 1 + 7.831 -11.576 8.983 0.017 -0.272 0.962 -2191 294 1 + 8.262 -11.650 9.022 -0.270 -0.222 0.937 -2191 294 1 + 7.178 -12.039 9.090 0.452 0.037 0.891 -2192 284 1 + 7.438 -12.534 9.096 0.279 0.367 0.887 -2192 299 1 + 6.484 -11.812 9.391 0.214 -0.480 0.851 -2192 284 1 + 6.733 -12.271 9.192 0.048 -0.174 0.984 2192 284 1 + 6.993 -12.766 9.198 -0.125 0.156 0.980 2192 299 1 + 7.226 -13.229 9.408 -0.281 0.465 0.840 -2192 299 1 + 5.966 -12.086 9.224 -0.126 -0.660 0.741 -2192 284 1 + 6.298 -12.501 9.052 -0.348 -0.383 0.856 2192 284 1 + 6.558 -12.996 9.057 -0.521 -0.053 0.852 2192 299 1 + 6.709 -13.502 9.241 -0.621 0.285 0.730 -2192 299 1 + 5.970 -12.677 8.700 -0.646 -0.543 0.537 -2192 284 1 + 6.229 -13.172 8.706 -0.819 -0.213 0.533 -2192 299 1 + 8.098 -12.612 9.086 -0.161 0.419 0.894 -2194 299 1 + 8.412 -12.195 9.049 -0.370 0.141 0.918 -2194 294 1 + 8.130 -12.634 9.102 -0.134 0.400 0.907 -2194 299 1 + 8.443 -12.217 9.065 -0.343 0.122 0.931 -2194 294 1 + 7.790 -13.384 9.541 0.090 0.363 0.928 -2196 299 1 + 8.456 -13.355 9.627 -0.354 0.343 0.870 -2196 298 1 + 7.786 -13.842 9.642 0.087 0.061 0.994 -2196 299 1 + 8.451 -13.845 9.735 -0.356 0.063 0.932 -2196 298 1 + 7.778 -14.310 9.599 0.083 -0.247 0.966 -2196 299 1 + 8.444 -14.345 9.689 -0.361 -0.223 0.906 -2196 298 1 + 7.769 -14.742 9.414 0.076 -0.531 0.844 -2196 299 1 + 8.433 -14.807 9.491 -0.367 -0.487 0.793 -2196 298 1 + 7.758 -15.096 9.106 0.069 -0.764 0.642 -2196 299 1 + 8.422 -15.186 9.162 -0.373 -0.704 0.605 -2196 298 1 + 7.747 -15.339 8.705 0.062 -0.924 0.377 -2196 299 1 + 8.410 -15.447 8.732 -0.380 -0.852 0.359 -2196 298 1 + 7.737 -15.448 8.248 0.055 -0.996 0.077 -2196 299 1 + 8.399 -15.563 8.244 -0.386 -0.919 0.080 -2196 298 1 + 7.728 -15.412 7.780 0.050 -0.972 -0.231 -2196 299 1 + 8.390 -15.524 7.743 -0.391 -0.897 -0.206 -2196 298 1 + 7.723 -15.234 7.345 0.046 -0.855 -0.517 -2196 299 1 + 8.384 -15.334 7.278 -0.395 -0.788 -0.472 -2196 298 1 + 8.013 -14.685 6.682 -0.151 -0.820 -0.551 -2198 299 1 + 8.281 -14.569 6.292 -0.330 -0.898 -0.291 -2198 297 1 + 8.498 -14.595 5.855 -0.474 -0.880 0.000 -2198 297 1 + 7.816 -14.541 6.583 -0.342 -0.681 -0.648 -2198 299 1 + 8.101 -14.436 6.200 -0.532 -0.750 -0.393 -2198 297 1 + 8.301 -14.451 5.755 -0.665 -0.741 -0.096 -2198 297 1 + 7.742 -14.491 6.565 -0.292 -0.714 -0.636 -2200 299 1 + 7.962 -14.336 6.172 -0.439 -0.817 -0.374 -2200 296 1 + 7.657 -14.430 6.542 -0.358 -0.666 -0.654 -2200 299 1 + 7.875 -14.273 6.148 -0.504 -0.770 -0.391 -2200 296 1 + 7.217 -14.347 6.595 -0.065 -0.721 -0.689 -2201 299 1 + 7.041 -14.104 6.260 0.052 -0.883 -0.466 -2201 299 1 + 6.872 -13.980 5.861 0.165 -0.966 -0.200 -2201 304 1 + 6.725 -13.987 5.436 0.263 -0.961 0.083 -2201 304 1 + 6.930 -14.366 6.713 -0.354 -0.741 -0.570 -2201 299 1 + 6.791 -14.121 6.363 -0.261 -0.905 -0.337 -2201 299 1 + 6.616 -13.998 5.967 -0.145 -0.987 -0.073 -2201 304 1 + 6.422 -14.008 5.561 -0.015 -0.980 0.198 -2201 304 1 + 7.100 -13.970 5.210 0.013 -0.972 0.234 -2203 304 1 + 7.589 -14.009 5.445 -0.313 -0.947 0.078 -2203 296 1 + 7.124 -13.981 5.158 0.031 -0.980 0.195 -2203 304 1 + 7.613 -14.020 5.393 -0.295 -0.955 0.038 -2203 296 1 + 7.096 -14.036 4.960 0.050 -0.944 0.327 -2205 304 1 + 7.558 -14.073 5.004 -0.258 -0.919 0.297 -2205 297 1 + 7.982 -14.242 5.092 -0.541 -0.806 0.239 -2205 297 1 + 6.718 -14.207 4.379 0.397 -0.918 -0.008 -2205 304 1 + 7.160 -14.095 4.474 0.103 -0.992 -0.072 2205 304 1 + 7.616 -14.127 4.560 -0.201 -0.971 -0.129 2205 297 1 + 8.044 -14.299 4.626 -0.486 -0.856 -0.173 2205 297 1 + 8.401 -14.594 4.668 -0.724 -0.659 -0.201 -2205 297 1 + 6.860 -14.031 3.830 0.478 -0.817 -0.321 -2205 304 1 + 7.278 -13.949 4.019 0.200 -0.872 -0.447 2205 304 1 + 7.724 -13.993 4.142 -0.098 -0.843 -0.529 2205 297 1 + 8.157 -14.159 4.189 -0.386 -0.732 -0.561 2205 297 1 + 8.533 -14.430 4.156 -0.637 -0.551 -0.538 -2205 297 1 + 7.427 -13.626 3.678 0.322 -0.606 -0.727 -2205 304 1 + 7.861 -13.697 3.830 0.033 -0.559 -0.829 -2205 297 1 + 8.300 -13.849 3.863 -0.260 -0.457 -0.851 -2205 297 1 + 6.879 -13.363 3.071 0.489 -0.435 -0.756 -2207 304 1 + 7.503 -13.023 3.057 0.073 -0.661 -0.746 -2207 301 1 + 6.681 -13.008 2.823 0.376 -0.233 -0.897 -2207 304 1 + 7.305 -12.669 2.810 -0.040 -0.459 -0.888 -2207 301 1 + 6.460 -12.606 2.698 0.250 -0.003 -0.968 -2207 304 1 + 7.084 -12.267 2.685 -0.166 -0.229 -0.959 -2207 301 1 + 6.509 -11.660 2.746 -0.064 -0.116 -0.991 -2209 302 1 + 6.281 -11.537 2.769 -0.217 -0.033 -0.976 -2209 302 1 + 5.559 -12.014 2.688 0.264 0.284 -0.922 -2210 304 1 + 5.165 -11.937 2.532 0.527 0.233 -0.817 -2210 323 1 + 4.836 -11.831 2.274 0.746 0.162 -0.646 -2210 323 1 + 5.906 -12.538 2.648 -0.067 0.036 -0.997 -2210 304 1 + 5.491 -12.427 2.618 0.210 -0.038 -0.977 2210 304 1 + 5.101 -12.321 2.466 0.470 -0.109 -0.876 2210 323 1 + 4.770 -12.228 2.206 0.691 -0.171 -0.703 2210 323 1 + 4.524 -12.157 1.859 0.855 -0.218 -0.471 -2210 323 1 + 5.736 -13.000 2.713 -0.164 -0.228 -0.960 -2210 304 1 + 5.345 -12.822 2.674 0.097 -0.346 -0.933 2210 304 1 + 4.965 -12.688 2.518 0.349 -0.435 -0.830 2210 323 1 + 4.630 -12.608 2.260 0.573 -0.489 -0.657 2210 323 1 + 4.365 -12.588 1.920 0.750 -0.502 -0.431 -2210 323 1 + 5.496 -13.383 2.919 -0.301 -0.447 -0.843 -2210 304 1 + 5.139 -13.150 2.849 -0.063 -0.601 -0.796 2210 304 1 + 4.775 -12.993 2.681 0.180 -0.707 -0.684 2210 323 1 + 4.433 -12.923 2.429 0.408 -0.753 -0.516 2210 323 1 + 4.141 -12.946 2.112 0.603 -0.738 -0.305 -2210 323 1 + 5.217 -13.640 3.238 -0.461 -0.594 -0.660 -2210 304 1 + 4.900 -13.371 3.123 -0.249 -0.773 -0.583 2210 304 1 + 4.553 -13.198 2.936 -0.018 -0.889 -0.458 2210 323 1 + 4.203 -13.134 2.691 0.216 -0.931 -0.295 2210 323 1 + 3.880 -13.187 2.411 0.431 -0.896 -0.108 -2210 323 1 + 4.657 -13.456 3.461 -0.439 -0.840 -0.320 -2210 304 1 + 4.327 -13.277 3.250 -0.219 -0.959 -0.179 -2210 323 1 + 3.969 -13.216 3.016 0.020 -1.000 -0.023 -2210 323 1 + 4.837 -11.525 2.304 0.745 -0.042 -0.666 -2212 323 1 + 5.188 -11.351 2.573 0.512 -0.157 -0.845 -2212 323 1 + 5.614 -11.201 2.715 0.227 -0.258 -0.939 -2212 302 1 + 6.075 -11.089 2.715 -0.080 -0.332 -0.940 -2212 302 1 + 4.827 -11.483 2.292 0.734 0.004 -0.680 -2212 323 1 + 5.179 -11.316 2.562 0.499 -0.108 -0.860 -2212 323 1 + 5.605 -11.165 2.703 0.215 -0.208 -0.954 -2212 302 1 + 6.064 -11.045 2.702 -0.091 -0.288 -0.953 -2212 302 1 + 4.622 -11.166 1.942 0.870 -0.208 -0.446 -2214 323 1 + 4.796 -10.714 1.894 0.754 -0.509 -0.415 -2214 323 1 + 5.089 -10.342 1.781 0.559 -0.757 -0.339 -2214 308 1 + 5.470 -10.090 1.614 0.305 -0.925 -0.228 -2214 308 1 + 5.899 -9.984 1.411 0.019 -0.996 -0.093 -2214 308 1 + 4.313 -10.964 1.646 0.376 0.114 -0.920 -2214 323 1 + 4.629 -10.605 1.734 0.165 -0.125 -0.978 -2214 323 1 + 4.971 -10.266 1.668 -0.063 -0.352 -0.934 -2214 308 1 + 5.303 -9.982 1.454 -0.284 -0.541 -0.792 -2214 308 1 + 5.590 -9.783 1.116 -0.476 -0.673 -0.566 -2214 308 1 + 4.157 -10.423 1.530 0.480 -0.247 -0.842 -2216 321 1 + 4.479 -10.134 1.554 0.265 -0.439 -0.858 -2216 321 1 + 4.834 -9.900 1.471 0.029 -0.595 -0.803 -2216 308 1 + 5.192 -9.740 1.288 -0.210 -0.702 -0.681 -2216 308 1 + 5.524 -9.668 1.019 -0.432 -0.750 -0.502 -2216 308 1 + 4.073 -10.314 1.464 0.392 -0.134 -0.910 -2216 321 1 + 4.415 -10.052 1.505 0.164 -0.309 -0.937 -2216 321 1 + 4.778 -9.828 1.428 -0.078 -0.458 -0.886 -2216 308 1 + 5.131 -9.662 1.241 -0.313 -0.568 -0.761 -2216 308 1 + 5.445 -9.566 0.958 -0.522 -0.632 -0.572 -2216 308 1 + 6.447 -10.112 1.610 -0.347 -0.911 -0.225 -2218 308 1 + 6.519 -10.305 1.997 -0.395 -0.781 -0.483 -2218 302 1 + 6.540 -10.599 2.322 -0.409 -0.586 -0.700 -2218 302 1 + 7.009 -10.146 1.503 0.130 -0.940 -0.316 -2218 308 1 + 7.061 -10.339 1.894 0.095 -0.812 -0.576 -2218 302 1 + 7.125 -10.635 2.211 0.052 -0.614 -0.788 -2218 302 1 + 7.352 -10.101 1.361 -0.099 -0.970 -0.221 -2220 308 1 + 7.716 -10.274 1.617 -0.341 -0.854 -0.392 -2220 311 1 + 8.028 -10.578 1.813 -0.549 -0.652 -0.523 -2220 311 1 + 7.277 -9.946 0.745 0.353 -0.903 -0.243 -2220 308 1 + 7.608 -9.993 1.086 0.133 -0.872 -0.471 2220 308 1 + 7.959 -10.172 1.355 -0.101 -0.753 -0.650 2220 311 1 + 8.295 -10.465 1.526 -0.325 -0.557 -0.764 2220 311 1 + 8.581 -10.843 1.580 -0.516 -0.305 -0.800 -2220 311 1 + 7.592 -9.685 0.525 0.560 -0.732 -0.388 -2220 308 1 + 7.873 -9.773 0.900 0.373 -0.673 -0.639 2220 308 1 + 8.211 -9.963 1.179 0.148 -0.547 -0.824 2220 311 1 + 8.571 -10.236 1.332 -0.093 -0.365 -0.927 2220 311 1 + 8.918 -10.564 1.345 -0.324 -0.146 -0.935 -2220 311 1 + 8.112 -9.471 0.830 0.589 -0.400 -0.702 -2220 308 1 + 8.438 -9.676 1.112 0.372 -0.263 -0.890 -2220 311 1 + 8.821 -9.921 1.259 0.117 -0.100 -0.988 -2220 311 1 + 8.257 -9.168 0.720 0.492 -0.602 -0.629 -2222 308 1 + 8.720 -9.109 0.895 0.184 -0.641 -0.745 -2222 309 1 + 7.907 -8.914 0.203 0.768 -0.224 -0.600 -2222 308 1 + 8.285 -8.795 0.504 0.515 -0.304 -0.801 2222 308 1 + 8.749 -8.726 0.673 0.206 -0.350 -0.914 2222 309 1 + 9.247 -8.715 0.690 -0.126 -0.357 -0.925 -2222 309 1 + 7.868 -8.449 0.104 0.742 0.082 -0.665 -2222 308 1 + 8.250 -8.374 0.415 0.487 0.032 -0.873 2222 308 1 + 8.713 -8.294 0.581 0.178 -0.021 -0.984 2222 309 1 + 9.206 -8.217 0.584 -0.150 -0.073 -0.986 -2222 309 1 + 7.763 -7.986 0.156 0.673 0.386 -0.631 -2222 308 1 + 8.155 -7.955 0.462 0.411 0.366 -0.835 2222 308 1 + 8.616 -7.863 0.630 0.104 0.305 -0.947 2222 309 1 + 9.093 -7.722 0.641 -0.214 0.211 -0.954 -2222 309 1 + 8.012 -7.589 0.641 0.297 0.658 -0.692 -2222 308 1 + 8.468 -7.488 0.814 -0.007 0.591 -0.807 -2222 309 1 + 8.335 -7.311 0.920 0.081 0.473 -0.877 -2225 309 1 + 7.770 -6.846 1.062 0.463 0.629 -0.624 -2225 307 1 + 8.339 -6.962 1.180 0.084 0.706 -0.703 2225 309 1 + 8.928 -6.912 1.134 -0.309 0.673 -0.672 -2225 309 1 + 7.763 -6.566 1.440 0.459 0.789 -0.409 -2225 307 1 + 8.332 -6.702 1.530 0.079 0.880 -0.469 2225 309 1 + 8.920 -6.632 1.511 -0.313 0.833 -0.456 -2225 309 1 + 8.316 -6.554 1.940 0.068 0.978 -0.196 -2225 309 1 + 7.657 -6.285 2.132 0.507 0.799 -0.324 -2228 312 1 + 8.054 -6.466 2.110 0.243 0.920 -0.309 -2228 309 1 + 8.481 -6.531 2.048 -0.042 0.963 -0.268 -2228 309 1 + 7.716 -6.284 2.795 0.555 0.800 0.227 -2228 312 1 + 8.110 -6.465 2.748 0.292 0.921 0.258 -2228 309 1 + 8.541 -6.529 2.734 0.005 0.964 0.267 -2228 309 1 + 7.821 -6.385 2.969 0.485 0.868 0.111 -2230 306 1 + 7.229 -6.076 3.353 0.666 0.564 0.489 -2230 312 1 + 7.666 -6.456 3.429 0.375 0.817 0.438 2230 306 1 + 8.188 -6.650 3.605 0.027 0.947 0.321 -2230 306 1 + 7.435 -6.660 3.812 0.211 0.672 0.709 -2230 306 1 + 6.968 -6.636 4.059 0.522 0.656 0.545 -2231 312 1 + 7.024 -6.889 4.440 0.485 0.825 0.291 -2231 312 1 + 7.148 -7.025 4.863 0.402 0.916 0.009 -2231 282 1 + 7.329 -7.031 5.287 0.281 0.920 -0.274 -2231 282 1 + 7.550 -6.907 5.672 0.134 0.837 -0.530 -2231 282 1 + 6.382 -6.734 4.255 -0.267 0.524 0.809 -2231 312 1 + 6.639 -6.953 4.570 -0.438 0.670 0.599 -2231 312 1 + 6.833 -7.077 4.969 -0.567 0.753 0.333 -2231 282 1 + 6.947 -7.095 5.415 -0.643 0.765 0.036 -2231 282 1 + 6.970 -7.004 5.866 -0.659 0.704 -0.265 -2231 282 1 + 7.850 -6.984 5.558 -0.066 0.888 -0.455 -2233 282 1 + 7.896 -7.134 5.048 -0.097 0.989 -0.115 -2233 306 1 + 7.925 -7.097 4.517 -0.116 0.964 0.240 -2233 306 1 + 8.421 -6.771 6.046 0.389 0.605 -0.695 -2233 282 1 + 8.346 -7.068 5.609 0.439 0.803 -0.403 2233 282 1 + 8.354 -7.212 5.095 0.434 0.899 -0.060 2233 306 1 + 8.445 -7.185 4.570 0.373 0.881 0.290 2233 306 1 + 8.606 -6.991 4.100 0.266 0.752 0.603 -2233 306 1 + 8.723 -7.396 5.688 0.822 0.469 -0.323 -2233 282 1 + 8.701 -7.515 5.168 0.836 0.548 0.024 -2233 306 1 + 8.839 -7.529 4.652 0.744 0.558 0.367 -2233 306 1 + 8.771 -7.425 5.761 0.790 0.488 -0.372 -2235 282 1 + 8.759 -7.589 5.321 0.798 0.598 -0.078 -2235 282 1 + 8.864 -7.665 4.869 0.728 0.648 0.223 -2235 309 1 + 9.076 -7.646 4.450 0.586 0.636 0.502 -2235 309 1 + 9.375 -7.533 4.105 0.387 0.560 0.732 -2235 309 1 + 8.801 -7.466 5.774 0.830 0.431 -0.353 -2235 282 1 + 8.778 -7.616 5.330 0.845 0.531 -0.057 -2235 282 1 + 8.880 -7.688 4.877 0.777 0.579 0.246 -2235 309 1 + 9.097 -7.675 4.460 0.633 0.570 0.524 -2235 309 1 + 9.407 -7.578 4.120 0.426 0.506 0.750 -2235 309 1 + 8.939 -7.615 5.870 0.738 0.530 -0.417 -2237 282 1 + 9.040 -7.899 5.511 0.671 0.720 -0.178 -2237 282 1 + 9.240 -8.079 5.127 0.538 0.839 0.079 -2237 310 1 + 9.518 -8.135 4.754 0.352 0.877 0.327 -2237 310 1 + 9.848 -8.062 4.429 0.132 0.829 0.544 -2237 310 1 + 9.079 -7.788 6.014 0.930 0.294 -0.220 -2237 282 1 + 9.134 -8.015 5.608 0.894 0.445 0.051 -2237 282 1 + 9.319 -8.177 5.208 0.770 0.553 0.318 -2237 310 1 + 9.618 -8.257 4.856 0.571 0.607 0.553 -2237 310 1 + 10.000 -8.249 4.584 0.316 0.601 0.734 -2237 310 1 + 9.423 -7.787 6.660 0.701 0.294 -0.650 -2239 282 1 + 9.786 -8.014 6.838 0.459 0.445 -0.769 -2239 286 1 + 9.455 -7.635 6.786 0.725 0.410 -0.553 -2239 282 1 + 9.818 -7.858 6.968 0.483 0.559 -0.674 -2239 286 1 + 9.297 -6.948 6.790 0.830 -0.048 -0.556 -2241 282 1 + 9.535 -6.550 6.964 0.672 -0.313 -0.672 -2241 282 1 + 9.882 -6.204 7.028 0.440 -0.544 -0.714 -2241 89 1 + 10.301 -5.946 6.976 0.161 -0.716 -0.680 -2241 89 1 + 8.780 -6.892 6.225 0.625 0.526 -0.577 -2241 282 1 + 8.996 -6.613 6.572 0.481 0.340 -0.808 2241 282 1 + 9.290 -6.278 6.787 0.285 0.116 -0.951 2241 282 1 + 9.631 -5.924 6.846 0.058 -0.119 -0.991 2241 89 1 + 9.981 -5.590 6.744 -0.176 -0.342 -0.923 2241 89 1 + 10.303 -5.312 6.491 -0.390 -0.528 -0.755 -2241 89 1 + 8.277 -6.441 6.362 0.294 0.823 -0.487 -2241 282 1 + 8.630 -6.285 6.671 0.059 0.719 -0.693 2241 282 1 + 8.993 -6.012 6.868 -0.183 0.536 -0.824 2241 282 1 + 9.326 -5.651 6.929 -0.405 0.296 -0.865 2241 89 1 + 9.593 -5.242 6.850 -0.583 0.023 -0.812 2241 89 1 + 9.764 -4.829 6.638 -0.697 -0.252 -0.671 -2241 89 1 + 8.354 -6.102 7.047 -0.261 0.930 -0.259 -2241 282 1 + 8.769 -5.863 7.173 -0.537 0.771 -0.342 -2241 282 1 + 9.096 -5.498 7.243 -0.755 0.528 -0.389 -2241 89 1 + 9.299 -5.047 7.249 -0.891 0.227 -0.393 -2241 89 1 + 8.077 -6.069 7.276 -0.076 0.908 -0.411 -2242 282 1 + 8.246 -5.825 7.617 -0.189 0.746 -0.639 -2242 282 1 + 8.390 -5.480 7.872 -0.284 0.516 -0.808 -2242 87 1 + 8.494 -5.065 8.016 -0.354 0.239 -0.904 -2242 87 1 + 8.551 -4.617 8.036 -0.392 -0.060 -0.918 -2242 87 1 + 8.034 -6.065 7.296 -0.129 0.913 -0.387 -2242 282 1 + 8.215 -5.823 7.631 -0.250 0.751 -0.611 -2242 282 1 + 8.362 -5.478 7.884 -0.348 0.521 -0.779 -2242 87 1 + 8.462 -5.062 8.030 -0.414 0.244 -0.877 -2242 87 1 + 8.505 -4.613 8.057 -0.443 -0.055 -0.895 -2242 87 1 + 9.039 -4.340 7.638 -0.718 -0.245 -0.652 -2244 89 1 + 9.179 -3.725 7.471 -0.625 0.166 -0.763 -2244 89 1 + 8.639 -3.042 7.858 -0.346 0.295 -0.891 -2246 87 1 + 9.223 -2.882 7.500 -0.735 0.188 -0.652 -2246 88 1 + 8.865 -2.278 8.145 -0.481 0.327 -0.814 -2249 88 1 + 8.647 -1.639 8.477 -0.009 0.392 -0.920 -2249 86 1 + 9.109 -1.910 8.231 -0.317 0.573 -0.756 2249 88 1 + 9.499 -2.048 7.810 -0.577 0.665 -0.475 -2249 88 1 + 8.956 -1.326 8.681 0.168 0.571 -0.803 -2249 86 1 + 9.397 -1.619 8.421 -0.125 0.767 -0.630 2249 88 1 + 9.808 -1.735 8.014 -0.400 0.844 -0.358 -2249 88 1 + 9.285 -1.125 8.977 0.356 0.686 -0.634 -2249 86 1 + 9.701 -1.432 8.695 0.078 0.891 -0.446 2249 88 1 + 10.137 -1.533 8.310 -0.212 0.959 -0.189 -2249 88 1 + 9.601 -1.054 9.338 0.537 0.727 -0.428 -2249 86 1 + 9.996 -1.366 9.030 0.274 0.936 -0.223 2249 88 1 + 10.453 -1.462 8.670 -0.031 0.999 0.017 -2249 88 1 + 9.878 -1.119 9.731 0.695 0.690 -0.203 -2249 86 1 + 10.252 -1.427 9.395 0.445 0.895 0.021 2249 88 1 + 10.730 -1.527 9.064 0.127 0.962 0.242 -2249 88 1 + 10.090 -1.315 10.122 0.816 0.578 0.020 -2249 86 1 + 10.449 -1.609 9.757 0.577 0.774 0.262 2249 88 1 + 10.942 -1.723 9.454 0.248 0.850 0.465 -2249 88 1 + 10.218 -1.624 10.474 0.889 0.401 0.221 -2249 86 1 + 10.568 -1.896 10.084 0.656 0.582 0.481 2249 88 1 + 11.070 -2.032 9.806 0.321 0.674 0.666 -2249 88 1 + 10.597 -2.261 10.346 0.675 0.339 0.655 -2249 88 1 + 10.187 -2.197 11.168 0.949 0.296 0.107 -2251 86 1 + 10.254 -2.336 11.595 0.904 0.388 -0.178 -2251 85 1 + 9.998 -1.587 10.943 0.763 0.422 0.489 -2251 86 1 + 9.963 -1.814 11.334 0.787 0.574 0.228 2251 86 1 + 10.036 -1.963 11.757 0.738 0.673 -0.054 2251 85 1 + 10.211 -2.019 12.173 0.621 0.710 -0.331 -2251 85 1 + 9.604 -1.279 11.126 0.538 0.598 0.594 -2251 86 1 + 9.613 -1.541 11.497 0.532 0.772 0.346 2251 86 1 + 9.695 -1.696 11.916 0.478 0.876 0.067 2251 85 1 + 9.842 -1.731 12.344 0.379 0.899 -0.218 -2251 85 1 + 9.179 -1.411 11.637 0.218 0.867 0.448 -2251 86 1 + 9.272 -1.569 12.053 0.156 0.973 0.171 -2251 85 1 + 8.930 -1.394 11.791 0.384 0.856 0.346 -2252 84 1 + 8.587 -1.272 11.738 0.154 0.938 0.311 -2252 84 1 + 8.717 -1.501 13.044 0.378 0.864 0.332 -2254 84 1 + 9.275 -1.642 13.112 0.006 0.958 0.287 -2254 85 1 + 8.424 -2.065 14.119 0.419 0.843 0.336 -2255 92 1 + 7.840 -1.889 14.034 0.033 0.959 0.280 -2255 92 1 + 8.584 -2.188 14.302 0.313 0.925 0.214 -2257 92 1 + 8.863 -2.125 13.948 0.127 0.884 0.450 -2257 85 1 + 9.032 -2.565 14.573 0.638 0.651 0.411 -2257 92 1 + 9.299 -2.493 14.212 0.460 0.603 0.652 -2257 85 1 + 9.199 -2.860 15.091 0.527 0.847 0.066 -2259 92 1 + 9.624 -3.044 15.202 0.243 0.970 -0.008 -2259 105 1 + 8.989 -2.965 15.720 0.379 0.773 0.508 -2259 92 1 + 9.415 -3.149 15.831 0.095 0.896 0.434 -2259 105 1 + 8.395 -2.723 16.247 0.775 0.612 0.157 -2261 96 1 + 7.947 -2.329 16.135 0.473 0.877 0.082 -2261 96 1 + 7.162 -1.816 16.295 0.422 0.870 0.254 -2263 95 1 + 7.410 -1.934 16.950 0.256 0.949 -0.183 -2263 96 1 + 8.629 -2.973 16.638 0.619 0.778 -0.104 -2265 96 1 + 8.994 -3.194 16.413 0.376 0.925 0.046 -2265 105 1 + 9.417 -3.271 16.196 0.094 0.977 0.191 -2265 105 1 + 8.830 -3.321 17.232 0.782 0.497 0.376 -2265 96 1 + 9.182 -3.519 16.968 0.547 0.629 0.552 -2265 105 1 + 9.618 -3.619 16.790 0.256 0.696 0.671 -2265 105 1 + 8.720 -3.347 17.894 0.855 0.514 -0.066 -2266 96 1 + 8.967 -3.572 18.225 0.690 0.664 -0.286 -2266 96 1 + 9.316 -3.699 18.514 0.458 0.749 -0.479 -2266 127 1 + 9.732 -3.716 18.732 0.180 0.760 -0.624 -2266 127 1 + 8.352 -2.790 17.965 0.794 0.460 0.397 -2266 96 1 + 8.528 -3.148 18.214 0.677 0.699 0.231 2266 96 1 + 8.804 -3.403 18.496 0.493 0.869 0.043 2266 96 1 + 9.153 -3.530 18.785 0.260 0.954 -0.150 2266 127 1 + 9.540 -3.517 19.052 0.002 0.945 -0.327 2266 127 1 + 9.928 -3.364 19.270 -0.256 0.843 -0.473 -2266 127 1 + 8.265 -3.121 18.543 0.432 0.724 0.537 -2266 96 1 + 8.581 -3.380 18.776 0.222 0.897 0.382 -2266 96 1 + 8.930 -3.507 19.064 -0.011 0.982 0.190 -2266 127 1 + 9.277 -3.490 19.381 -0.242 0.970 -0.021 -2266 127 1 + 10.196 -3.899 18.474 -0.129 0.883 -0.452 -2268 127 1 + 10.198 -4.045 18.021 -0.130 0.980 -0.150 -2268 127 1 + 10.180 -4.044 17.546 -0.118 0.979 0.167 -2268 105 1 + 10.145 -3.894 17.095 -0.095 0.879 0.467 -2268 105 1 + 10.687 -3.664 18.839 0.178 0.671 -0.719 -2268 127 1 + 10.590 -3.933 18.459 0.243 0.851 -0.466 2268 127 1 + 10.530 -4.074 18.008 0.283 0.945 -0.166 2268 127 1 + 10.512 -4.072 17.533 0.295 0.943 0.151 2268 105 1 + 10.539 -3.928 17.080 0.277 0.847 0.453 2268 105 1 + 10.607 -3.656 16.696 0.232 0.666 0.709 -2268 105 1 + 10.935 -4.126 18.445 0.569 0.669 -0.479 -2268 127 1 + 10.820 -4.236 17.997 0.645 0.742 -0.180 -2268 127 1 + 10.802 -4.234 17.522 0.657 0.741 0.137 -2268 105 1 + 10.884 -4.121 17.067 0.603 0.665 0.440 -2268 105 1 + 11.547 -3.756 19.065 0.161 0.422 -0.892 -2270 127 1 + 11.984 -3.526 19.158 -0.131 0.269 -0.954 -2270 130 1 + 10.873 -3.506 19.079 0.284 0.762 -0.582 -2270 127 1 + 11.318 -3.401 19.289 -0.012 0.691 -0.722 2270 127 1 + 11.760 -3.179 19.377 -0.307 0.544 -0.781 2270 130 1 + 12.151 -2.865 19.334 -0.568 0.335 -0.752 -2270 130 1 + 10.654 -3.220 19.495 0.159 0.925 -0.345 -2270 127 1 + 11.127 -3.152 19.650 -0.157 0.880 -0.449 2270 127 1 + 11.574 -2.936 19.731 -0.455 0.736 -0.502 2270 130 1 + 11.944 -2.595 19.726 -0.701 0.509 -0.499 -2270 130 1 + 10.508 -3.096 20.010 0.075 0.996 -0.050 -2270 127 1 + 11.000 -3.044 20.099 -0.253 0.961 -0.109 2270 127 1 + 11.450 -2.830 20.169 -0.553 0.819 -0.156 2270 130 1 + 11.806 -2.479 20.213 -0.790 0.584 -0.185 -2270 130 1 + 10.456 -3.152 20.555 0.046 0.964 0.261 -2270 127 1 + 10.955 -3.093 20.573 -0.287 0.925 0.250 2270 127 1 + 11.405 -2.878 20.632 -0.588 0.781 0.210 2270 130 1 + 11.757 -2.531 20.727 -0.822 0.550 0.147 -2270 130 1 + 10.997 -3.290 21.006 -0.255 0.775 0.578 -2270 127 1 + 11.447 -3.071 21.056 -0.555 0.629 0.545 -2270 130 1 + 11.057 -3.429 21.272 -0.294 0.867 0.401 -2272 129 1 + 10.856 -3.930 21.764 -0.429 0.532 0.730 -2272 129 1 + 10.379 -4.245 21.867 -0.111 0.741 0.662 -2274 127 1 + 10.456 -4.474 22.233 -0.163 0.894 0.417 -2274 127 1 + 10.512 -4.588 22.654 -0.200 0.970 0.137 -2274 153 1 + 10.542 -4.577 23.092 -0.220 0.963 -0.155 -2274 153 1 + 10.544 -4.442 23.510 -0.221 0.873 -0.434 -2274 153 1 + 9.836 -4.689 21.877 -0.689 0.269 0.673 -2274 127 1 + 10.054 -4.803 22.242 -0.834 0.345 0.431 -2274 127 1 + 10.165 -4.872 22.661 -0.908 0.391 0.151 -2274 153 1 + 10.159 -4.891 23.100 -0.904 0.403 -0.142 -2274 153 1 + 10.036 -4.858 23.521 -0.822 0.381 -0.422 -2274 153 1 + 9.125 -4.798 21.515 -0.214 0.342 0.915 -2275 127 1 + 8.686 -5.002 21.575 0.078 0.478 0.875 -2275 125 1 + 8.260 -5.130 21.773 0.362 0.563 0.743 -2275 125 1 + 9.244 -4.115 21.220 -0.647 0.413 0.641 -2275 127 1 + 8.893 -4.452 21.206 -0.412 0.638 0.650 2275 127 1 + 8.476 -4.688 21.294 -0.135 0.795 0.591 2275 125 1 + 8.038 -4.798 21.476 0.157 0.869 0.470 2275 125 1 + 7.625 -4.771 21.733 0.433 0.851 0.299 -2275 125 1 + 8.684 -4.306 20.753 -0.591 0.762 0.264 -2275 127 1 + 8.287 -4.556 20.884 -0.326 0.929 0.177 -2275 125 1 + 7.838 -4.659 21.043 -0.027 0.997 0.071 -2275 125 1 + 9.598 -5.244 23.724 -0.530 0.639 -0.558 -2277 153 1 + 9.499 -5.276 23.836 -0.793 0.552 -0.259 -2277 153 1 + 8.159 -5.539 22.373 0.429 0.836 0.343 -2278 125 1 + 8.061 -5.572 22.486 0.166 0.749 0.642 -2278 125 1 + 7.770 -5.602 22.656 0.360 0.769 0.528 -2280 125 1 + 7.948 -5.840 23.019 0.241 0.927 0.286 -2280 149 1 + 8.163 -5.941 23.425 0.098 0.995 0.016 -2280 149 1 + 7.664 -5.598 22.711 0.267 0.772 0.577 -2280 125 1 + 7.848 -5.836 23.072 0.144 0.931 0.337 -2280 149 1 + 8.053 -5.938 23.482 0.007 0.998 0.063 -2280 149 1 + 7.191 -5.402 22.826 0.582 0.641 0.500 -2281 125 1 + 6.973 -5.435 23.313 0.728 0.663 0.175 -2281 154 1 + 7.119 -5.323 22.799 0.519 0.709 0.476 -2281 125 1 + 6.900 -5.356 23.286 0.665 0.731 0.152 -2281 154 1 + 7.275 -5.676 23.894 0.526 0.824 -0.212 -2283 154 1 + 7.749 -5.867 23.918 0.210 0.951 -0.227 -2283 149 1 + 7.278 -5.651 24.037 0.528 0.844 -0.098 -2283 154 1 + 7.752 -5.841 24.064 0.212 0.970 -0.115 -2283 149 1 + 7.239 -5.591 24.219 0.554 0.803 -0.219 -2284 154 1 + 7.673 -5.736 24.409 0.264 0.900 -0.346 -2284 150 1 + 8.150 -5.734 24.543 -0.054 0.899 -0.435 -2284 150 1 + 7.150 -5.506 24.503 0.471 0.881 0.043 -2284 154 1 + 7.589 -5.657 24.677 0.178 0.981 -0.073 -2284 150 1 + 8.057 -5.647 24.838 -0.134 0.974 -0.180 -2284 150 1 + 9.141 -5.270 24.524 -0.666 0.591 -0.455 -2288 153 1 + 8.621 -5.401 25.052 -0.365 0.904 -0.221 -2288 150 1 + 9.108 -5.107 24.948 -0.690 0.708 -0.152 2288 153 1 + 9.441 -4.654 24.810 -0.912 0.406 -0.059 -2288 153 1 + 8.709 -5.326 25.547 -0.314 0.947 0.062 -2288 150 1 + 9.187 -5.040 25.391 -0.633 0.756 0.166 2288 153 1 + 9.524 -4.584 25.272 -0.857 0.453 0.245 -2288 153 1 + 9.370 -5.076 25.807 -0.502 0.730 0.463 -2288 153 1 + 8.764 -5.472 26.434 -0.098 0.994 0.045 -2290 150 1 + 8.601 -5.436 26.862 0.010 0.971 -0.241 -2290 184 1 + 8.439 -5.264 27.257 0.118 0.856 -0.504 -2290 184 1 + 8.264 -5.636 26.285 -0.503 0.861 -0.075 -2290 150 1 + 8.140 -5.588 26.725 -0.421 0.829 -0.369 -2290 184 1 + 7.957 -5.423 27.114 -0.299 0.718 -0.628 -2290 184 1 + 7.858 -5.733 25.722 -0.233 0.925 0.300 -2291 150 1 + 7.361 -5.748 25.661 0.099 0.935 0.340 -2291 147 1 + 7.884 -5.675 25.501 -0.215 0.967 0.140 -2291 150 1 + 7.387 -5.690 25.440 0.117 0.977 0.181 -2291 147 1 + 6.991 -5.748 26.055 0.345 0.935 0.078 -2292 147 1 + 7.146 -5.771 26.463 0.242 0.951 -0.194 -2292 147 1 + 7.332 -5.673 26.846 0.118 0.885 -0.450 -2292 184 1 + 7.533 -5.462 27.173 -0.016 0.745 -0.667 -2292 184 1 + 6.860 -5.714 26.110 0.229 0.965 0.127 -2292 147 1 + 7.033 -5.742 26.511 0.113 0.984 -0.140 -2292 147 1 + 7.221 -5.644 26.893 -0.012 0.919 -0.395 -2292 184 1 + 7.408 -5.430 27.226 -0.136 0.775 -0.617 -2292 184 1 + 8.625 -5.203 27.370 -0.006 0.815 -0.579 -2294 184 1 + 8.954 -5.323 27.079 -0.226 0.895 -0.385 -2294 184 1 + 9.253 -5.319 26.735 -0.424 0.892 -0.156 -2294 153 1 + 9.492 -5.191 26.369 -0.584 0.807 0.089 -2294 153 1 + 9.651 -4.951 26.015 -0.690 0.647 0.324 -2294 153 1 + 8.908 -4.952 28.048 0.611 0.672 -0.419 -2294 184 1 + 9.032 -5.191 27.680 0.528 0.831 -0.173 2294 184 1 + 9.230 -5.314 27.288 0.396 0.914 0.088 2294 184 1 + 9.482 -5.312 26.909 0.228 0.912 0.341 2294 153 1 + 9.765 -5.182 26.576 0.039 0.826 0.563 2294 153 1 + 10.054 -4.939 26.322 -0.153 0.663 0.732 2294 153 1 + 10.322 -4.603 26.168 -0.332 0.440 0.834 -2294 153 1 + 9.345 -5.561 27.846 0.937 0.346 0.043 -2294 184 1 + 9.441 -5.565 27.400 0.873 0.348 0.340 -2294 184 1 + 9.657 -5.520 27.001 0.729 0.318 0.606 -2294 153 1 + 9.975 -5.431 26.687 0.517 0.259 0.816 -2294 153 1 + 10.364 -5.306 26.485 0.258 0.176 0.950 -2294 153 1 + 9.409 -5.710 27.855 0.895 0.445 0.037 -2296 184 1 + 9.580 -5.840 27.418 0.781 0.532 0.328 -2296 184 1 + 9.873 -5.886 27.034 0.585 0.562 0.584 -2296 151 1 + 10.259 -5.843 26.741 0.328 0.534 0.780 -2296 151 1 + 9.460 -6.347 27.980 0.951 -0.256 0.174 -2296 184 1 + 9.622 -6.366 27.521 0.843 -0.244 0.480 -2296 184 1 + 9.916 -6.423 27.139 0.646 -0.206 0.735 -2296 151 1 + 10.313 -6.513 26.872 0.382 -0.146 0.913 -2296 151 1 + 9.428 -6.462 28.015 0.972 -0.180 0.151 -2298 184 1 + 9.545 -6.581 27.586 0.894 -0.101 0.437 -2298 150 1 + 9.788 -6.714 27.219 0.732 -0.012 0.681 -2298 150 1 + 9.242 -6.852 28.530 0.826 -0.554 -0.108 -2298 184 1 + 9.251 -6.876 28.071 0.820 -0.537 0.199 2298 184 1 + 9.377 -6.976 27.639 0.736 -0.471 0.486 2298 150 1 + 9.606 -7.143 27.276 0.584 -0.360 0.728 2298 150 1 + 9.917 -7.360 27.016 0.376 -0.215 0.901 -2298 150 1 + 8.875 -7.231 28.499 0.589 -0.798 -0.128 -2298 184 1 + 8.936 -7.201 28.044 0.547 -0.818 0.176 2298 184 1 + 9.076 -7.287 27.614 0.455 -0.761 0.462 2298 150 1 + 9.279 -7.480 27.249 0.319 -0.633 0.706 2298 150 1 + 9.527 -7.762 26.984 0.153 -0.444 0.883 -2298 150 1 + 8.406 -7.444 28.377 0.286 -0.936 -0.206 -2298 184 1 + 8.535 -7.384 27.940 0.200 -0.976 0.085 2298 184 1 + 8.692 -7.461 27.514 0.096 -0.924 0.369 2298 150 1 + 8.863 -7.669 27.141 -0.018 -0.786 0.618 2298 150 1 + 9.031 -7.988 26.854 -0.130 -0.573 0.809 -2298 150 1 + 8.113 -7.394 27.775 -0.164 -0.985 -0.057 -2298 184 1 + 8.289 -7.471 27.356 -0.282 -0.934 0.222 -2298 150 1 + 8.425 -7.679 26.970 -0.373 -0.794 0.479 -2298 150 1 + 7.796 -7.373 27.700 0.046 -0.999 -0.008 -2300 184 1 + 7.687 -7.459 27.214 0.119 -0.941 0.316 -2300 184 1 + 7.599 -7.706 26.783 0.178 -0.777 0.604 -2300 146 1 + 7.540 -8.085 26.454 0.217 -0.524 0.824 -2300 146 1 + 7.783 -7.373 27.703 0.031 -1.000 -0.004 -2300 184 1 + 7.677 -7.460 27.217 0.101 -0.942 0.320 -2300 184 1 + 7.588 -7.706 26.785 0.161 -0.777 0.608 -2300 146 1 + 7.526 -8.085 26.457 0.202 -0.525 0.827 -2300 146 1 + 7.444 -7.492 28.140 0.257 -0.920 -0.295 -2302 184 1 + 7.028 -7.654 28.050 0.534 -0.812 -0.235 -2302 184 1 + 6.687 -7.928 27.928 0.761 -0.630 -0.154 -2302 175 1 + 6.450 -8.289 27.784 0.919 -0.389 -0.058 -2302 175 1 + 6.340 -8.703 27.633 0.993 -0.113 0.043 -2302 175 1 + 7.699 -7.520 28.764 -0.170 -0.985 0.043 -2302 184 1 + 7.313 -7.534 28.523 0.087 -0.975 0.204 2302 184 1 + 6.940 -7.683 28.310 0.336 -0.876 0.346 2302 184 1 + 6.613 -7.952 28.145 0.554 -0.697 0.456 2302 175 1 + 6.362 -8.317 28.042 0.721 -0.453 0.524 2302 175 1 + 6.211 -8.745 28.012 0.822 -0.168 0.544 2302 175 1 + 6.173 -9.196 28.057 0.847 0.133 0.514 -2302 175 1 + 7.037 -7.394 28.785 -0.273 -0.792 0.546 -2302 184 1 + 6.752 -7.587 28.488 -0.084 -0.663 0.744 -2302 184 1 + 6.456 -7.872 28.293 0.113 -0.473 0.874 -2302 175 1 + 6.176 -8.222 28.219 0.300 -0.240 0.923 -2302 175 1 + 5.937 -8.606 28.272 0.460 0.016 0.888 -2302 175 1 + 6.824 -7.138 29.247 -0.132 -0.962 0.238 -2304 184 1 + 6.342 -7.127 29.375 0.189 -0.970 0.152 -2304 181 1 + 6.961 -6.924 29.717 -0.024 -0.794 0.607 -2304 184 1 + 6.483 -6.908 29.856 0.295 -0.805 0.514 -2304 181 1 + 7.852 -7.025 29.849 -0.071 -0.665 0.743 -2305 184 1 + 7.602 -6.645 30.388 0.095 -0.918 0.384 -2305 183 1 + 8.272 -6.880 29.930 0.200 -0.572 0.796 -2305 184 1 + 8.048 -6.492 30.474 0.350 -0.831 0.433 -2305 183 1 + 8.661 -6.650 29.915 0.451 -0.423 0.786 -2305 184 1 + 8.460 -6.248 30.458 0.585 -0.691 0.424 -2305 183 1 + 8.985 -6.354 29.804 0.660 -0.232 0.714 -2305 184 1 + 8.803 -5.934 30.341 0.781 -0.512 0.357 -2305 183 1 + 9.216 -6.018 29.608 0.809 -0.015 0.588 -2305 184 1 + 9.048 -5.578 30.133 0.921 -0.309 0.238 -2305 183 1 + 9.333 -5.671 29.343 0.885 0.209 0.417 -2305 184 1 + 9.172 -5.210 29.852 0.992 -0.098 0.078 -2305 183 1 + 9.328 -5.342 29.032 0.881 0.420 0.216 -2305 184 1 + 9.166 -4.862 29.522 0.989 0.100 -0.111 -2305 183 1 + 9.200 -5.061 28.702 0.798 0.602 0.003 -2305 184 1 + 9.031 -4.564 29.173 0.911 0.271 -0.310 -2305 183 1 + 8.960 -4.851 28.381 0.644 0.738 -0.204 -2305 184 1 + 8.776 -4.341 28.833 0.766 0.398 -0.505 -2305 183 1 + 8.629 -4.730 28.097 0.430 0.815 -0.387 -2305 184 1 + 8.426 -4.214 28.532 0.566 0.471 -0.677 -2305 183 1 + 8.236 -4.709 27.875 0.177 0.829 -0.531 -2305 184 1 + 8.009 -4.191 28.296 0.328 0.484 -0.812 -2305 183 1 + 6.580 -6.753 30.103 0.230 -0.908 0.350 -2306 181 1 + 7.047 -6.476 30.634 -0.222 -0.822 0.524 -2306 183 1 + 6.475 -6.551 30.499 0.160 -0.772 0.615 2306 181 1 + 5.940 -6.806 30.507 0.516 -0.602 0.609 -2306 181 1 + 6.910 -6.141 30.968 -0.301 -0.630 0.716 -2306 183 1 + 6.347 -6.240 30.809 0.074 -0.565 0.822 2306 181 1 + 5.802 -6.471 30.842 0.438 -0.411 0.800 -2306 181 1 + 6.760 -5.721 31.179 -0.386 -0.390 0.836 -2306 183 1 + 6.209 -5.850 31.004 -0.018 -0.304 0.952 2306 181 1 + 5.653 -6.051 31.052 0.352 -0.171 0.920 -2306 181 1 + 6.073 -5.418 31.066 -0.109 -0.015 0.994 -2306 181 1 + 5.689 -7.485 29.194 0.625 -0.731 0.273 -2307 181 1 + 5.567 -7.790 28.896 0.706 -0.528 0.472 -2307 181 1 + 5.539 -8.164 28.659 0.725 -0.278 0.630 -2307 175 1 + 5.605 -8.575 28.505 0.681 -0.004 0.733 -2307 175 1 + 5.477 -7.410 29.785 0.252 -0.948 0.196 -2307 181 1 + 5.361 -7.591 29.396 0.329 -0.827 0.455 2307 181 1 + 5.289 -7.880 29.067 0.377 -0.635 0.675 2307 181 1 + 5.266 -8.252 28.827 0.392 -0.386 0.835 2307 175 1 + 5.295 -8.676 28.696 0.373 -0.104 0.922 2307 175 1 + 5.373 -9.113 28.686 0.321 0.187 0.928 -2307 175 1 + 4.970 -7.619 29.470 -0.025 -0.853 0.522 -2307 181 1 + 4.957 -7.904 29.130 -0.016 -0.663 0.749 -2307 181 1 + 4.941 -8.276 28.888 -0.005 -0.415 0.910 -2307 175 1 + 4.925 -8.702 28.766 0.006 -0.130 0.991 -2307 175 1 + 6.478 -8.991 27.055 0.900 0.079 0.428 -2309 175 1 + 6.722 -8.837 26.686 0.738 -0.024 0.674 -2309 146 1 + 7.074 -8.686 26.415 0.504 -0.124 0.855 -2309 146 1 + 6.383 -9.653 27.265 0.986 -0.168 -0.007 -2309 175 1 + 6.493 -9.432 26.866 0.913 -0.315 0.259 2309 175 1 + 6.735 -9.258 26.505 0.751 -0.431 0.500 2309 146 1 + 7.088 -9.147 26.218 0.516 -0.505 0.692 2309 146 1 + 7.517 -9.110 26.031 0.230 -0.530 0.816 -2309 146 1 + 6.203 -10.068 26.926 0.867 -0.442 -0.230 -2309 175 1 + 6.340 -9.785 26.578 0.777 -0.630 0.003 2309 175 1 + 6.590 -9.595 26.230 0.610 -0.757 0.234 2309 146 1 + 6.929 -9.515 25.917 0.384 -0.810 0.443 2309 146 1 + 7.324 -9.554 25.669 0.120 -0.784 0.609 -2309 146 1 + 6.050 -9.980 26.248 0.518 -0.804 -0.292 -2309 175 1 + 6.313 -9.781 25.915 0.343 -0.937 -0.070 -2309 146 1 + 6.627 -9.719 25.572 0.134 -0.978 0.158 -2309 146 1 + 5.770 -10.150 26.053 0.705 -0.691 -0.162 -2311 175 1 + 5.803 -10.124 25.540 0.683 -0.708 0.180 -2311 138 1 + 5.956 -10.223 25.059 0.581 -0.642 0.500 -2311 138 1 + 5.646 -10.254 26.038 0.583 -0.793 -0.177 -2311 175 1 + 5.687 -10.222 25.526 0.556 -0.814 0.165 -2311 138 1 + 5.826 -10.333 25.044 0.464 -0.740 0.486 -2311 138 1 + 5.551 -10.328 26.026 0.647 -0.744 -0.168 -2312 175 1 + 5.513 -10.367 25.502 0.672 -0.718 0.181 -2312 139 1 + 5.482 -10.385 26.035 0.588 -0.793 -0.160 -2312 175 1 + 5.444 -10.424 25.511 0.613 -0.767 0.189 -2312 139 1 + 5.371 -11.176 24.091 0.194 -0.808 0.556 -2316 139 1 + 5.615 -11.506 23.713 0.031 -0.589 0.808 -2316 140 1 + 4.993 -11.277 23.941 -0.129 -0.895 0.428 -2316 139 1 + 5.226 -11.609 23.559 -0.285 -0.673 0.683 -2316 140 1 + 4.308 -11.233 24.290 0.328 -0.924 0.195 -2317 139 1 + 3.928 -11.462 24.195 0.581 -0.772 0.259 -2317 408 1 + 3.628 -11.796 24.136 0.781 -0.549 0.298 -2317 408 1 + 4.227 -11.191 24.503 0.257 -0.888 0.381 -2317 139 1 + 3.850 -11.422 24.400 0.508 -0.735 0.450 -2317 408 1 + 3.543 -11.753 24.358 0.713 -0.514 0.478 -2317 408 1 + 3.687 -12.059 23.748 0.742 -0.373 0.557 -2319 408 1 + 4.048 -11.967 23.461 0.501 -0.435 0.748 -2319 408 1 + 4.483 -11.940 23.284 0.211 -0.453 0.866 -2319 140 1 + 4.950 -11.979 23.235 -0.100 -0.427 0.899 -2319 140 1 + 3.579 -12.436 23.423 0.641 -0.724 0.255 -2319 408 1 + 3.956 -12.287 23.185 0.390 -0.823 0.413 -2319 408 1 + 4.392 -12.259 23.008 0.099 -0.842 0.531 -2319 140 1 + 4.842 -12.355 22.910 -0.200 -0.777 0.596 -2319 140 1 + 2.717 -13.397 23.772 0.854 -0.465 0.234 -2323 408 1 + 2.572 -13.870 23.714 0.950 -0.149 0.273 -2323 402 1 + 2.393 -13.376 24.328 0.610 -0.449 0.653 -2323 408 1 + 2.256 -13.850 24.257 0.702 -0.133 0.700 -2323 402 1 + 2.314 -13.275 24.494 0.663 -0.517 0.542 -2324 408 1 + 2.080 -13.639 24.550 0.819 -0.274 0.504 -2324 396 1 + 1.950 -14.038 24.671 0.906 -0.008 0.424 -2324 396 1 + 2.299 -13.261 24.525 0.652 -0.506 0.565 -2324 408 1 + 2.066 -13.626 24.579 0.807 -0.263 0.528 -2324 396 1 + 1.935 -14.024 24.701 0.895 0.003 0.447 -2324 396 1 + 2.098 -14.739 24.724 0.815 0.430 0.388 -2328 402 1 + 2.353 -15.384 24.994 0.912 0.401 -0.089 -2328 395 1 + 2.292 -15.073 24.508 0.953 0.193 0.235 2328 402 1 + 2.444 -14.718 24.075 0.851 -0.043 0.523 -2328 402 1 + 2.422 -15.778 24.708 0.952 0.176 -0.252 -2328 395 1 + 2.354 -15.427 24.251 0.997 -0.058 0.052 2328 402 1 + 2.510 -15.090 23.806 0.893 -0.283 0.349 -2328 402 1 + 2.339 -16.155 24.405 0.904 -0.040 -0.426 -2328 395 1 + 2.279 -15.768 23.978 0.944 -0.299 -0.141 2328 402 1 + 2.431 -15.447 23.519 0.843 -0.513 0.165 -2328 402 1 + 2.074 -16.059 23.716 0.799 -0.506 -0.326 -2328 402 1 + 2.695 -13.841 23.424 0.868 -0.169 0.467 -2329 406 1 + 2.672 -14.576 23.321 0.998 0.049 0.037 -2329 402 1 + 2.778 -14.037 23.064 0.928 -0.310 0.208 2329 406 1 + 3.111 -13.574 22.858 0.705 -0.619 0.345 -2329 406 1 + 2.741 -14.203 22.682 0.901 -0.430 -0.067 -2329 406 1 + 3.609 -12.801 22.876 0.621 -0.480 0.619 -2331 406 1 + 3.988 -12.618 22.742 0.369 -0.602 0.708 -2331 406 1 + 4.414 -12.513 22.701 0.084 -0.672 0.736 -2331 140 1 + 4.851 -12.496 22.755 -0.207 -0.684 0.700 -2331 140 1 + 3.628 -12.934 22.726 0.637 -0.595 0.491 -2331 406 1 + 4.004 -12.735 22.611 0.386 -0.728 0.567 -2331 406 1 + 4.430 -12.630 22.570 0.102 -0.797 0.595 -2331 140 1 + 4.870 -12.629 22.605 -0.191 -0.798 0.571 -2331 140 1 + 3.667 -13.066 22.550 0.611 -0.507 0.608 -2333 406 1 + 4.104 -13.008 22.299 0.319 -0.546 0.775 -2333 141 1 + 4.597 -13.044 22.182 -0.009 -0.521 0.853 -2333 141 1 + 3.531 -13.429 22.185 0.496 -0.815 0.299 -2333 406 1 + 3.979 -13.344 21.963 0.197 -0.872 0.447 -2333 141 1 + 4.461 -13.408 21.817 -0.124 -0.830 0.544 -2333 141 1 + 3.463 -13.481 22.165 0.541 -0.781 0.313 -2334 406 1 + 3.831 -13.414 21.913 0.295 -0.826 0.480 -2334 406 1 + 4.240 -13.458 21.727 0.023 -0.796 0.605 -2334 142 1 + 4.652 -13.611 21.623 -0.252 -0.695 0.674 -2334 142 1 + 5.029 -13.858 21.610 -0.503 -0.530 0.682 -2334 142 1 + 3.430 -13.525 22.101 0.505 -0.827 0.245 -2334 406 1 + 3.807 -13.446 21.866 0.254 -0.880 0.401 -2334 406 1 + 4.218 -13.487 21.685 -0.020 -0.853 0.522 -2334 142 1 + 4.627 -13.643 21.575 -0.293 -0.749 0.595 -2334 142 1 + 4.996 -13.901 21.546 -0.539 -0.577 0.614 -2334 142 1 + 5.756 -13.317 22.342 -0.393 -0.524 0.755 -2338 140 1 + 6.043 -13.317 22.450 -0.200 -0.523 0.828 -2338 140 1 + 6.166 -14.356 22.122 -0.237 -0.420 0.876 -2340 142 1 + 6.692 -14.376 22.387 -0.588 -0.407 0.699 -2340 143 1 + 6.290 -14.771 21.876 -0.166 -0.657 0.735 -2340 142 1 + 6.808 -14.763 22.158 -0.512 -0.662 0.548 -2340 143 1 + 6.489 -15.084 21.545 -0.052 -0.836 0.546 -2340 142 1 + 6.995 -15.056 21.848 -0.389 -0.855 0.344 -2340 143 1 + 6.074 -15.147 21.280 -0.289 -0.872 0.395 -2341 142 1 + 5.956 -15.460 20.795 -0.210 -0.663 0.718 -2341 144 1 + 6.911 -15.305 21.044 -0.015 -0.915 0.404 -2343 143 1 + 7.043 -15.606 20.326 0.505 -0.759 0.410 -2343 144 1 + 7.337 -15.337 20.714 0.310 -0.939 0.152 2343 143 1 + 7.694 -15.261 21.132 0.071 -0.989 -0.127 -2343 143 1 + 7.428 -15.415 19.933 0.759 -0.634 0.152 -2343 144 1 + 7.694 -15.160 20.349 0.582 -0.804 -0.126 2343 143 1 + 8.079 -15.070 20.739 0.325 -0.864 -0.386 -2343 143 1 + 7.674 -15.031 19.570 0.920 -0.381 -0.087 -2343 144 1 + 7.922 -14.804 20.012 0.755 -0.533 -0.382 2343 143 1 + 8.325 -14.686 20.376 0.486 -0.611 -0.624 -2343 143 1 + 7.982 -14.330 19.761 0.801 -0.172 -0.574 -2343 143 1 + 7.396 -13.958 18.605 0.968 0.113 -0.226 -2347 144 1 + 7.348 -13.783 18.201 0.999 -0.004 0.044 -2347 144 1 + 7.432 -13.608 17.802 0.943 -0.120 0.309 -2347 111 1 + 7.639 -13.449 17.444 0.805 -0.226 0.548 -2347 111 1 + 7.364 -14.188 18.499 0.937 -0.115 -0.331 -2347 144 1 + 7.321 -13.985 18.108 0.966 -0.250 -0.070 -2347 144 1 + 7.404 -13.815 17.707 0.910 -0.364 0.197 -2347 111 1 + 7.606 -13.693 17.332 0.776 -0.445 0.447 -2347 111 1 + 7.319 -14.353 18.386 0.967 -0.005 -0.256 -2349 144 1 + 7.276 -14.300 17.881 0.996 -0.040 0.081 -2349 144 1 + 7.405 -14.255 17.390 0.910 -0.070 0.409 -2349 112 1 + 7.691 -14.222 16.970 0.719 -0.092 0.689 -2349 112 1 + 7.317 -14.391 18.382 0.964 -0.051 -0.260 -2349 144 1 + 7.274 -14.330 17.878 0.993 -0.092 0.076 -2349 144 1 + 7.403 -14.286 17.387 0.907 -0.121 0.403 -2349 112 1 + 7.689 -14.262 16.965 0.716 -0.137 0.684 -2349 112 1 + 7.342 -14.575 18.458 0.948 0.071 -0.311 -2351 144 1 + 7.279 -14.680 18.033 0.990 0.142 -0.028 -2351 144 1 + 7.345 -14.767 17.605 0.945 0.200 0.258 -2351 113 1 + 7.535 -14.828 17.211 0.819 0.241 0.521 -2351 113 1 + 7.492 -14.941 18.935 0.801 -0.321 -0.505 -2351 144 1 + 7.314 -14.951 18.531 0.920 -0.314 -0.236 2351 144 1 + 7.255 -15.003 18.096 0.959 -0.280 0.054 2351 144 1 + 7.322 -15.091 17.668 0.914 -0.221 0.339 2351 113 1 + 7.507 -15.208 17.284 0.791 -0.143 0.595 2351 113 1 + 7.795 -15.344 16.978 0.599 -0.053 0.799 -2351 113 1 + 7.255 -15.367 18.986 0.644 -0.602 -0.471 -2351 144 1 + 7.128 -15.286 18.571 0.729 -0.656 -0.195 2351 144 1 + 7.096 -15.290 18.130 0.750 -0.654 0.099 2351 144 1 + 7.162 -15.379 17.703 0.706 -0.594 0.384 2351 113 1 + 7.319 -15.545 17.325 0.601 -0.483 0.636 2351 113 1 + 7.555 -15.774 17.030 0.444 -0.331 0.833 -2351 113 1 + 6.818 -15.514 18.571 0.412 -0.890 -0.194 -2351 144 1 + 6.831 -15.485 18.131 0.404 -0.909 0.100 -2351 144 1 + 6.895 -15.575 17.703 0.361 -0.850 0.385 -2351 113 1 + 7.007 -15.775 17.325 0.286 -0.716 0.637 -2351 113 1 + 6.572 -15.679 18.643 0.577 -0.780 -0.242 -2353 144 1 + 6.361 -15.804 18.267 0.717 -0.697 0.009 -2353 144 1 + 6.247 -16.023 17.892 0.793 -0.551 0.259 -2353 116 1 + 6.239 -16.315 17.552 0.798 -0.356 0.486 -2353 116 1 + 6.339 -16.656 17.277 0.732 -0.129 0.669 -2353 116 1 + 6.280 -15.907 19.265 0.003 -0.958 -0.288 -2353 144 1 + 6.178 -15.848 18.832 0.071 -0.997 0.001 2353 144 1 + 6.086 -15.922 18.398 0.132 -0.948 0.289 2353 144 1 + 6.012 -16.123 18.004 0.182 -0.814 0.552 2353 116 1 + 5.962 -16.434 17.684 0.215 -0.606 0.766 2353 116 1 + 5.942 -16.826 17.467 0.229 -0.345 0.910 2353 116 1 + 5.951 -17.265 17.372 0.222 -0.052 0.974 -2353 116 1 + 5.724 -15.739 18.833 -0.514 -0.858 0.003 -2353 144 1 + 5.769 -15.846 18.400 -0.544 -0.786 0.292 -2353 144 1 + 5.741 -16.058 18.005 -0.526 -0.645 0.555 -2353 116 1 + 5.643 -16.358 17.685 -0.460 -0.445 0.768 -2353 116 1 + 5.482 -16.717 17.469 -0.353 -0.206 0.913 -2353 116 1 + 5.303 -15.573 18.972 -0.233 -0.968 -0.090 -2354 144 1 + 4.963 -15.535 18.665 -0.007 -0.993 0.115 -2354 425 1 + 4.622 -15.638 18.373 0.220 -0.925 0.310 -2354 425 1 + 4.985 -15.416 19.325 -0.512 -0.830 0.220 -2354 144 1 + 4.659 -15.385 19.002 -0.295 -0.851 0.435 -2354 425 1 + 4.291 -15.474 18.740 -0.049 -0.792 0.609 -2354 425 1 + 4.514 -16.074 17.764 0.292 -0.635 0.716 -2355 425 1 + 4.758 -16.366 17.505 0.130 -0.440 0.889 -2355 116 1 + 5.019 -16.720 17.371 -0.044 -0.203 0.978 -2355 116 1 + 3.767 -16.159 17.884 0.115 -0.934 0.337 -2355 425 1 + 4.058 -16.315 17.562 -0.078 -0.831 0.551 2355 425 1 + 4.337 -16.588 17.318 -0.264 -0.648 0.714 2355 116 1 + 4.578 -16.953 17.175 -0.426 -0.405 0.809 2355 116 1 + 4.760 -17.376 17.147 -0.547 -0.124 0.828 -2355 116 1 + 3.314 -16.252 17.410 -0.144 -0.987 0.066 -2355 425 1 + 3.678 -16.393 17.165 -0.386 -0.893 0.229 2355 425 1 + 3.987 -16.660 16.952 -0.592 -0.715 0.371 2355 116 1 + 4.212 -17.028 16.792 -0.742 -0.470 0.478 2355 116 1 + 4.332 -17.463 16.699 -0.822 -0.180 0.540 -2355 116 1 + 3.462 -16.289 16.664 -0.561 -0.809 -0.177 -2355 425 1 + 3.788 -16.564 16.491 -0.778 -0.625 -0.061 -2355 116 1 + 4.004 -16.928 16.309 -0.922 -0.383 0.060 -2355 116 1 + 6.799 -16.517 16.964 0.425 -0.222 0.878 -2357 113 1 + 6.866 -17.251 16.765 0.812 -0.043 0.582 -2357 116 1 + 7.103 -16.735 16.663 0.654 -0.387 0.651 2357 113 1 + 7.485 -16.305 16.704 0.399 -0.673 0.623 -2357 113 1 + 7.071 -17.414 16.317 0.945 -0.149 0.293 -2357 116 1 + 7.293 -16.886 16.249 0.797 -0.501 0.338 2357 113 1 + 7.691 -16.469 16.256 0.531 -0.779 0.333 -2357 113 1 + 7.344 -16.950 15.776 0.836 -0.549 -0.019 -2357 113 1 + 6.981 -17.685 15.349 0.886 -0.324 -0.332 -2359 116 1 + 7.195 -17.185 15.041 0.743 -0.657 -0.126 -2359 114 1 + 6.683 -17.822 14.947 0.694 -0.411 -0.591 -2359 116 1 + 6.879 -17.330 14.615 0.563 -0.739 -0.370 -2359 114 1 + 6.266 -17.877 14.643 0.425 -0.447 -0.787 -2359 116 1 + 6.437 -17.388 14.293 0.311 -0.773 -0.554 -2359 114 1 + 5.667 -17.400 14.124 0.183 -0.722 -0.667 -2360 115 1 + 5.299 -17.902 14.524 -0.199 -0.463 -0.864 -2360 116 1 + 5.225 -17.453 14.173 -0.150 -0.762 -0.630 2360 115 1 + 5.119 -17.172 13.684 -0.078 -0.949 -0.304 -2360 115 1 + 4.845 -17.834 14.680 -0.492 -0.419 -0.763 -2360 116 1 + 4.806 -17.391 14.317 -0.465 -0.715 -0.521 2360 115 1 + 4.665 -17.104 13.840 -0.371 -0.906 -0.203 -2360 115 1 + 4.467 -17.650 14.921 -0.735 -0.301 -0.608 -2360 116 1 + 4.457 -17.221 14.540 -0.728 -0.587 -0.353 2360 115 1 + 4.287 -16.920 14.081 -0.615 -0.787 -0.048 -2360 115 1 + 4.218 -16.962 14.816 -0.909 -0.392 -0.145 -2360 115 1 + 6.033 -16.835 13.458 0.511 -0.732 -0.449 -2362 115 1 + 6.382 -17.058 13.928 0.279 -0.584 -0.762 -2362 114 1 + 6.376 -16.418 13.382 0.733 -0.463 -0.499 -2362 115 1 + 6.745 -16.616 13.847 0.487 -0.331 -0.808 -2362 114 1 + 6.842 -15.602 13.640 0.694 -0.346 -0.631 -2364 115 1 + 7.201 -15.340 13.777 0.455 -0.521 -0.722 -2364 112 1 + 6.411 -15.550 13.151 0.755 0.097 -0.648 -2364 115 1 + 6.683 -15.267 13.399 0.574 -0.092 -0.814 2364 115 1 + 7.039 -14.997 13.531 0.337 -0.271 -0.902 2364 112 1 + 7.442 -14.767 13.532 0.068 -0.425 -0.903 -2364 112 1 + 6.156 -15.162 13.026 0.591 0.347 -0.728 -2364 115 1 + 6.449 -14.910 13.285 0.396 0.179 -0.901 2364 115 1 + 6.799 -14.633 13.414 0.162 -0.006 -0.987 2364 112 1 + 7.172 -14.356 13.401 -0.087 -0.190 -0.978 -2364 112 1 + 5.847 -14.794 13.054 0.392 0.584 -0.711 -2364 115 1 + 6.165 -14.572 13.310 0.180 0.436 -0.882 2364 115 1 + 6.509 -14.287 13.440 -0.049 0.246 -0.968 2364 112 1 + 6.845 -13.966 13.430 -0.273 0.032 -0.961 -2364 112 1 + 5.865 -14.291 13.472 -0.048 0.650 -0.759 -2364 115 1 + 6.202 -14.000 13.605 -0.273 0.455 -0.847 -2364 112 1 + 5.257 -14.155 13.456 0.357 0.559 -0.748 -2365 115 1 + 5.048 -13.734 13.567 0.496 0.279 -0.822 -2365 115 1 + 4.916 -13.271 13.550 0.584 -0.031 -0.811 -2365 269 1 + 4.875 -12.812 13.408 0.612 -0.337 -0.716 -2365 269 1 + 4.895 -14.673 13.046 -0.223 0.662 -0.715 -2365 115 1 + 4.800 -14.289 13.323 -0.160 0.407 -0.900 2365 115 1 + 4.681 -13.843 13.460 -0.080 0.109 -0.991 2365 115 1 + 4.549 -13.379 13.443 0.008 -0.200 -0.980 2365 269 1 + 4.418 -12.946 13.274 0.095 -0.489 -0.867 2365 269 1 + 4.302 -12.589 12.971 0.172 -0.727 -0.665 -2365 269 1 + 4.355 -14.409 13.502 -0.664 0.271 -0.697 -2365 115 1 + 4.323 -13.939 13.603 -0.642 -0.043 -0.765 -2365 115 1 + 4.191 -13.475 13.587 -0.555 -0.352 -0.754 -2365 269 1 + 3.973 -13.066 13.453 -0.409 -0.625 -0.665 -2365 269 1 + 5.194 -12.560 13.483 0.399 -0.504 -0.766 -2367 269 1 + 5.514 -12.784 13.708 0.186 -0.355 -0.916 -2367 269 1 + 5.858 -13.055 13.810 -0.044 -0.174 -0.984 -2367 112 1 + 6.197 -13.351 13.778 -0.270 0.023 -0.963 -2367 112 1 + 5.345 -12.370 13.475 0.548 -0.316 -0.774 -2367 269 1 + 5.645 -12.618 13.701 0.348 -0.150 -0.925 -2367 269 1 + 5.992 -12.887 13.802 0.117 0.029 -0.993 -2367 112 1 + 6.355 -13.151 13.769 -0.125 0.205 -0.971 -2367 112 1 + 5.385 -11.712 12.910 0.522 -0.755 -0.398 -2368 268 1 + 4.826 -11.575 12.441 0.100 -0.652 -0.752 -2368 268 1 + 5.918 -11.539 13.009 0.166 -0.870 -0.464 -2370 268 1 + 6.095 -11.776 13.364 0.049 -0.712 -0.701 -2370 268 1 + 6.278 -12.115 13.619 -0.073 -0.486 -0.871 -2370 112 1 + 6.450 -12.523 13.751 -0.189 -0.214 -0.958 -2370 112 1 + 6.596 -12.961 13.746 -0.286 0.078 -0.955 -2370 112 1 + 6.193 -11.412 12.997 0.519 -0.707 -0.480 -2370 268 1 + 6.285 -11.688 13.356 0.457 -0.523 -0.719 -2370 268 1 + 6.443 -12.039 13.612 0.352 -0.290 -0.890 -2370 112 1 + 6.650 -12.430 13.742 0.214 -0.029 -0.976 -2370 112 1 + 6.888 -12.826 13.733 0.055 0.235 -0.970 -2370 112 1 + 6.398 -11.282 12.985 0.382 -0.795 -0.472 -2372 268 1 + 6.678 -11.445 13.329 0.195 -0.686 -0.701 -2372 110 1 + 6.988 -11.710 13.568 -0.011 -0.509 -0.861 -2372 110 1 + 6.513 -10.902 12.468 0.749 -0.608 -0.261 -2372 268 1 + 6.684 -10.998 12.898 0.635 -0.544 -0.548 2372 268 1 + 6.950 -11.176 13.247 0.458 -0.426 -0.780 2372 110 1 + 7.284 -11.417 13.479 0.235 -0.265 -0.935 2372 110 1 + 7.654 -11.697 13.572 -0.012 -0.078 -0.997 -2372 110 1 + 6.761 -10.486 12.504 0.910 -0.340 -0.238 -2372 268 1 + 6.895 -10.646 12.929 0.821 -0.233 -0.521 2372 268 1 + 7.150 -10.841 13.276 0.651 -0.103 -0.752 2372 110 1 + 7.503 -11.051 13.511 0.416 0.037 -0.909 2372 110 1 + 7.918 -11.256 13.610 0.139 0.174 -0.975 -2372 110 1 + 7.000 -10.275 13.072 0.914 0.095 -0.394 -2372 268 1 + 7.250 -10.488 13.412 0.747 0.237 -0.621 -2372 110 1 + 7.612 -10.666 13.659 0.506 0.356 -0.786 -2372 110 1 + 7.047 -9.897 13.146 0.882 -0.157 -0.444 -2374 268 1 + 7.369 -9.776 13.539 0.668 -0.237 -0.705 -2374 106 1 + 7.811 -9.697 13.803 0.373 -0.290 -0.881 -2374 106 1 + 6.898 -9.252 13.124 0.731 0.498 -0.467 -2374 268 1 + 7.234 -9.194 13.518 0.507 0.459 -0.729 -2374 106 1 + 7.662 -9.053 13.781 0.221 0.365 -0.904 -2374 106 1 + 6.757 -9.076 13.052 0.825 0.381 -0.418 -2376 268 1 + 6.925 -8.884 13.405 0.713 0.253 -0.654 -2376 268 1 + 7.183 -8.660 13.676 0.541 0.103 -0.835 -2376 268 1 + 7.510 -8.423 13.841 0.323 -0.055 -0.945 -2376 100 1 + 7.877 -8.193 13.887 0.078 -0.208 -0.975 -2376 100 1 + 8.254 -7.989 13.808 -0.173 -0.344 -0.923 -2376 100 1 + 6.718 -9.014 13.040 0.766 0.474 -0.435 -2376 268 1 + 6.904 -8.851 13.399 0.642 0.364 -0.675 -2376 268 1 + 7.171 -8.641 13.673 0.464 0.225 -0.857 -2376 268 1 + 7.497 -8.403 13.838 0.247 0.066 -0.967 -2376 100 1 + 7.854 -8.156 13.880 0.008 -0.099 -0.995 -2376 100 1 + 8.212 -7.922 13.796 -0.230 -0.255 -0.939 -2376 100 1 + 6.513 -8.708 12.893 0.902 0.269 -0.337 -2378 268 1 + 6.550 -8.252 13.103 0.878 -0.035 -0.477 -2378 268 1 + 6.734 -7.802 13.233 0.755 -0.334 -0.564 -2378 94 1 + 7.046 -7.409 13.268 0.547 -0.597 -0.587 -2378 94 1 + 6.370 -8.598 12.716 0.727 0.404 -0.555 -2378 268 1 + 6.441 -8.168 12.968 0.680 0.118 -0.724 -2378 268 1 + 6.625 -7.719 13.098 0.557 -0.182 -0.810 -2378 94 1 + 6.904 -7.300 13.092 0.371 -0.461 -0.806 -2378 94 1 + 6.154 -8.712 12.038 0.871 0.480 -0.104 -2380 268 1 + 6.027 -8.387 11.690 0.956 0.264 0.128 -2380 268 1 + 6.054 -8.020 11.363 0.938 0.019 0.346 -2380 273 1 + 6.233 -7.649 11.091 0.818 -0.228 0.527 -2380 273 1 + 6.545 -7.316 10.906 0.611 -0.451 0.651 -2380 273 1 + 6.173 -8.817 11.916 0.901 0.310 -0.304 -2380 268 1 + 6.036 -8.441 11.627 0.992 0.059 -0.112 -2380 268 1 + 6.060 -8.055 11.321 0.976 -0.198 0.092 -2380 273 1 + 6.242 -7.702 11.029 0.855 -0.433 0.287 -2380 273 1 + 6.563 -7.419 10.784 0.641 -0.622 0.450 -2380 273 1 + 6.481 -9.382 11.776 0.696 0.687 -0.211 -2381 268 1 + 6.599 -9.530 11.368 0.616 0.785 0.061 -2381 268 1 + 6.801 -9.571 10.969 0.482 0.813 0.327 -2381 268 1 + 7.068 -9.504 10.614 0.304 0.768 0.564 -2381 285 1 + 7.376 -9.333 10.334 0.099 0.654 0.750 -2381 285 1 + 7.697 -9.074 10.156 -0.115 0.481 0.869 -2381 285 1 + 6.767 -9.888 12.247 0.914 0.046 -0.404 -2381 268 1 + 6.649 -9.786 11.825 0.992 -0.022 -0.123 2381 268 1 + 6.665 -9.686 11.387 0.982 -0.089 0.169 2381 268 1 + 6.813 -9.599 10.972 0.883 -0.147 0.446 2381 268 1 + 7.079 -9.531 10.617 0.705 -0.192 0.682 2381 285 1 + 7.441 -9.489 10.354 0.464 -0.220 0.858 2381 285 1 + 7.865 -9.477 10.206 0.181 -0.228 0.957 2381 285 1 + 8.314 -9.495 10.186 -0.118 -0.216 0.969 -2381 285 1 + 6.443 -10.109 11.609 0.630 -0.591 -0.503 -2381 268 1 + 6.585 -9.812 11.304 0.536 -0.789 -0.299 -2381 268 1 + 6.799 -9.621 10.958 0.393 -0.917 -0.069 -2381 268 1 + 7.066 -9.553 10.602 0.216 -0.962 0.168 -2381 285 1 + 7.361 -9.615 10.270 0.018 -0.921 0.390 -2381 285 1 + 7.659 -9.800 9.990 -0.180 -0.797 0.577 -2381 285 1 + 7.757 -8.317 9.978 -0.156 -0.023 0.988 -2383 285 1 + 7.486 -7.889 10.033 0.025 -0.308 0.951 -2383 273 1 + 7.219 -7.514 10.253 0.203 -0.558 0.804 -2383 273 1 + 7.832 -8.270 9.987 -0.081 0.024 0.996 -2383 285 1 + 7.554 -7.847 10.041 0.104 -0.259 0.960 -2383 273 1 + 7.293 -7.468 10.262 0.278 -0.511 0.813 -2383 273 1 + 8.534 -8.471 10.251 -0.549 0.158 0.821 -2385 285 1 + 8.876 -8.224 10.538 -0.777 -0.007 0.629 -2385 290 1 + 8.839 -9.038 10.357 -0.306 -0.294 0.905 -2385 285 1 + 9.188 -8.804 10.647 -0.539 -0.450 0.712 -2385 290 1 + 9.013 -9.278 10.371 -0.423 -0.134 0.896 -2387 289 1 + 8.523 -9.823 10.085 0.017 -0.427 0.904 -2387 285 1 + 9.095 -9.753 10.239 -0.364 -0.473 0.802 2387 289 1 + 9.581 -9.795 10.582 -0.688 -0.445 0.573 -2387 289 1 + 9.230 -10.143 9.958 -0.268 -0.753 0.601 -2387 289 1 + 8.832 -10.568 9.536 -0.003 -0.470 0.883 -2388 285 1 + 8.999 -10.965 9.402 -0.114 -0.205 0.972 -2388 294 1 + 8.415 -10.689 9.374 -0.330 -0.565 0.756 -2388 285 1 + 8.582 -11.086 9.240 -0.442 -0.300 0.846 -2388 294 1 + 9.433 -10.943 9.527 -0.403 -0.220 0.888 -2390 294 1 + 9.635 -10.539 9.830 -0.538 -0.489 0.686 -2390 289 1 + 9.617 -11.653 9.429 0.085 -0.090 0.992 -2390 294 1 + 9.842 -11.173 9.553 -0.065 -0.410 0.910 2390 294 1 + 10.053 -10.774 9.856 -0.206 -0.676 0.707 2390 289 1 + 10.225 -10.509 10.300 -0.320 -0.853 0.412 -2390 289 1 + 10.107 -11.808 9.280 0.402 -0.190 0.896 -2390 294 1 + 10.272 -11.309 9.422 0.292 -0.523 0.801 2390 294 1 + 10.494 -10.913 9.722 0.144 -0.786 0.601 2390 289 1 + 10.744 -10.673 10.141 -0.023 -0.947 0.321 -2390 289 1 + 10.657 -11.329 9.154 0.611 -0.539 0.579 -2390 294 1 + 10.889 -10.933 9.449 0.457 -0.803 0.383 -2390 289 1 + 10.268 -12.669 8.982 0.705 0.019 0.709 -2395 298 1 + 10.042 -11.999 9.253 0.359 -0.314 0.879 -2395 294 1 + 9.909 -12.587 9.235 0.447 0.078 0.891 2395 298 1 + 9.885 -13.155 9.433 0.463 0.457 0.759 -2395 298 1 + 9.596 -11.913 9.384 0.072 -0.258 0.963 -2395 294 1 + 9.488 -12.505 9.359 0.144 0.137 0.980 2395 298 1 + 9.414 -13.064 9.572 0.194 0.509 0.839 -2395 298 1 + 9.131 -11.837 9.365 -0.228 -0.209 0.951 -2395 294 1 + 9.047 -12.433 9.341 -0.172 0.189 0.967 2395 298 1 + 8.921 -12.983 9.551 -0.088 0.555 0.827 -2395 298 1 + 8.633 -12.377 9.182 -0.469 0.229 0.853 -2395 298 1 + 10.603 -13.613 8.886 0.873 0.195 0.447 -2397 298 1 + 10.880 -13.091 8.493 0.688 -0.153 0.709 -2397 295 1 + 10.775 -13.983 8.517 0.972 -0.016 0.236 -2397 298 1 + 11.052 -13.461 8.124 0.787 -0.364 0.498 -2397 295 1 + 10.787 -14.318 8.080 0.978 -0.207 -0.014 -2397 298 1 + 11.064 -13.796 7.687 0.794 -0.555 0.249 -2397 295 1 + 10.636 -14.583 7.622 0.892 -0.359 -0.275 -2397 298 1 + 10.913 -14.061 7.229 0.707 -0.707 -0.013 -2397 295 1 + 10.236 -14.562 6.708 0.789 -0.580 -0.200 -2398 298 1 + 10.281 -14.481 6.188 0.759 -0.634 0.146 -2398 297 1 + 9.929 -15.101 7.094 0.488 -0.655 -0.577 -2398 298 1 + 9.888 -14.861 6.626 0.516 -0.815 -0.265 2398 298 1 + 9.942 -14.772 6.108 0.479 -0.874 0.080 2398 297 1 + 10.085 -14.846 5.605 0.384 -0.825 0.415 -2398 297 1 + 9.417 -15.272 7.004 0.196 -0.753 -0.628 -2398 298 1 + 9.451 -15.007 6.549 0.173 -0.930 -0.325 2398 298 1 + 9.517 -14.914 6.033 0.129 -0.991 0.019 2398 297 1 + 9.607 -15.006 5.521 0.069 -0.930 0.360 -2398 297 1 + 8.876 -15.241 6.934 -0.114 -0.735 -0.669 -2398 298 1 + 8.989 -14.980 6.489 -0.190 -0.909 -0.372 2398 298 1 + 9.067 -14.888 5.975 -0.242 -0.970 -0.029 2398 297 1 + 9.101 -14.977 5.456 -0.264 -0.911 0.317 -2398 297 1 + 8.567 -14.784 6.454 -0.521 -0.755 -0.399 -2398 298 1 + 8.657 -14.697 5.941 -0.580 -0.812 -0.057 -2398 297 1 + 10.469 -14.286 6.233 0.635 -0.764 0.116 -2400 295 1 + 10.787 -14.163 5.551 0.845 -0.376 0.380 -2400 297 1 + 10.774 -13.946 6.095 0.854 -0.520 0.017 2400 295 1 + 10.956 -13.849 6.643 0.732 -0.585 -0.348 -2400 295 1 + 10.958 -13.724 5.390 0.958 -0.087 0.274 -2400 297 1 + 10.938 -13.526 5.941 0.971 -0.218 -0.093 2400 295 1 + 11.139 -13.378 6.471 0.837 -0.317 -0.446 -2400 295 1 + 10.940 -13.074 5.789 0.973 0.106 -0.203 -2400 295 1 + 10.906 -12.787 5.481 0.996 -0.085 0.002 -2402 297 1 + 11.038 -12.338 5.732 0.908 -0.384 -0.165 -2402 288 1 + 11.341 -11.962 5.952 0.707 -0.635 -0.312 -2402 288 1 + 10.735 -12.428 5.010 0.815 0.296 -0.499 -2402 297 1 + 10.885 -12.018 5.311 0.715 0.023 -0.699 -2402 288 1 + 11.170 -11.603 5.480 0.525 -0.254 -0.812 -2402 288 1 + 10.524 -12.415 4.369 0.955 0.287 -0.072 -2404 297 1 + 10.465 -12.000 4.112 0.995 0.011 0.100 -2404 311 1 + 10.565 -11.584 3.870 0.928 -0.267 0.261 -2404 311 1 + 10.658 -13.077 4.132 0.760 0.339 -0.554 -2404 297 1 + 10.458 -12.659 3.968 0.893 0.060 -0.445 2404 297 1 + 10.402 -12.231 3.733 0.931 -0.225 -0.288 2404 311 1 + 10.496 -11.839 3.451 0.868 -0.486 -0.100 2404 311 1 + 10.730 -11.526 3.153 0.712 -0.695 0.098 -2404 311 1 + 10.333 -13.323 3.730 0.547 0.177 -0.818 -2404 297 1 + 10.188 -12.862 3.635 0.643 -0.129 -0.755 2404 297 1 + 10.148 -12.423 3.418 0.670 -0.422 -0.610 2404 311 1 + 10.215 -12.052 3.103 0.625 -0.670 -0.400 2404 311 1 + 10.382 -11.788 2.723 0.513 -0.845 -0.147 -2404 311 1 + 9.832 -13.468 3.495 0.217 0.082 -0.973 -2404 297 1 + 9.773 -12.983 3.440 0.256 -0.241 -0.936 2404 297 1 + 9.755 -12.537 3.234 0.268 -0.539 -0.799 2404 311 1 + 9.780 -12.178 2.900 0.251 -0.778 -0.576 2404 311 1 + 9.846 -11.944 2.472 0.207 -0.934 -0.291 -2404 311 1 + 9.299 -12.994 3.425 -0.185 -0.252 -0.950 -2404 297 1 + 9.307 -12.548 3.220 -0.191 -0.550 -0.813 -2404 311 1 + 9.285 -12.190 2.884 -0.176 -0.789 -0.589 -2404 311 1 + 8.905 -13.187 3.485 0.077 -0.124 -0.989 -2405 297 1 + 8.562 -12.911 3.351 0.306 -0.308 -0.901 -2405 301 1 + 8.389 -13.727 3.757 -0.319 -0.538 -0.780 -2405 297 1 + 8.032 -13.465 3.631 -0.081 -0.713 -0.696 -2405 301 1 + 8.551 -12.326 2.966 0.314 -0.698 -0.644 -2407 301 1 + 8.886 -12.079 2.747 0.090 -0.863 -0.497 -2407 311 1 + 7.933 -12.473 2.819 0.319 -0.347 -0.882 -2407 301 1 + 8.253 -12.141 2.720 0.105 -0.568 -0.816 2407 301 1 + 8.588 -11.893 2.501 -0.118 -0.733 -0.670 2407 311 1 + 8.906 -11.754 2.181 -0.330 -0.826 -0.457 -2407 311 1 + 7.605 -12.174 2.656 0.131 -0.176 -0.976 -2407 301 1 + 7.955 -11.870 2.572 -0.103 -0.379 -0.920 2407 301 1 + 8.291 -11.623 2.352 -0.326 -0.544 -0.773 2407 311 1 + 8.578 -11.455 2.018 -0.518 -0.655 -0.550 -2407 311 1 + 7.687 -11.539 2.535 -0.291 -0.146 -0.946 -2407 301 1 + 8.022 -11.291 2.316 -0.514 -0.312 -0.799 -2407 311 1 + 7.795 -11.048 2.321 -0.363 -0.473 -0.803 -2409 311 1 + 7.771 -10.947 2.277 -0.378 -0.406 -0.832 -2409 311 1 + 10.800 -11.033 4.174 0.771 -0.634 0.058 -2411 311 1 + 10.932 -10.976 4.689 0.683 -0.672 -0.285 -2411 288 1 + 11.194 -11.047 5.150 0.509 -0.625 -0.592 -2411 288 1 + 10.949 -10.797 4.120 0.911 -0.411 0.007 -2411 311 1 + 11.063 -10.768 4.641 0.836 -0.431 -0.341 -2411 288 1 + 11.336 -10.821 5.097 0.654 -0.395 -0.645 -2411 288 1 + 11.095 -10.981 3.105 0.921 -0.384 0.071 -2413 311 1 + 11.506 -10.420 3.088 0.646 -0.759 0.082 -2413 310 1 + 11.059 -10.970 2.598 0.900 -0.377 -0.219 -2413 311 1 + 11.470 -10.408 2.582 0.626 -0.752 -0.208 -2413 310 1 + 10.903 -10.870 2.125 0.811 -0.321 -0.489 -2413 311 1 + 11.315 -10.308 2.108 0.537 -0.695 -0.478 -2413 310 1 + 10.643 -10.691 1.727 0.662 -0.218 -0.717 -2413 311 1 + 11.054 -10.129 1.710 0.388 -0.593 -0.706 -2413 310 1 + 10.301 -10.449 1.440 0.467 -0.080 -0.881 -2413 311 1 + 10.712 -9.887 1.423 0.193 -0.455 -0.870 -2413 310 1 + 9.878 -9.626 1.225 0.262 -0.278 -0.924 -2414 309 1 + 9.233 -9.640 1.194 -0.158 -0.287 -0.945 -2414 309 1 + 10.282 -8.819 0.943 0.465 -0.416 -0.781 -2415 309 1 + 10.700 -9.281 1.236 0.186 -0.108 -0.977 -2415 310 1 + 10.614 -8.457 1.040 0.655 -0.210 -0.726 -2415 309 1 + 11.033 -8.919 1.333 0.376 0.099 -0.921 -2415 310 1 + 10.869 -8.086 1.261 0.800 0.002 -0.599 -2415 309 1 + 11.287 -8.549 1.554 0.521 0.311 -0.795 -2415 310 1 + 11.023 -7.739 1.588 0.889 0.200 -0.413 -2415 309 1 + 11.442 -8.202 1.881 0.609 0.509 -0.608 -2415 310 1 + 11.064 -7.446 1.992 0.912 0.368 -0.182 -2415 309 1 + 11.482 -7.908 2.285 0.633 0.676 -0.377 -2415 310 1 + 10.988 -7.232 2.439 0.868 0.490 0.074 -2415 309 1 + 11.406 -7.694 2.732 0.589 0.799 -0.122 -2415 310 1 + 10.801 -7.115 2.889 0.762 0.557 0.331 -2415 309 1 + 11.220 -7.578 3.182 0.483 0.865 0.135 -2415 310 1 + 10.520 -7.107 3.304 0.601 0.562 0.568 -2415 309 1 + 10.939 -7.569 3.597 0.322 0.870 0.373 -2415 310 1 + 10.170 -7.206 3.648 0.401 0.505 0.764 -2415 309 1 + 10.588 -7.669 3.941 0.122 0.813 0.569 -2415 310 1 + 11.314 -10.298 4.105 0.668 -0.744 0.016 -2417 310 1 + 11.336 -10.395 4.630 0.654 -0.679 -0.334 -2417 288 1 + 11.481 -10.622 5.092 0.557 -0.528 -0.641 -2417 288 1 + 11.749 -9.887 3.683 0.785 -0.454 0.421 -2417 310 1 + 11.567 -9.947 4.182 0.906 -0.414 0.089 2417 310 1 + 11.558 -10.087 4.698 0.912 -0.321 -0.255 2417 288 1 + 11.722 -10.288 5.165 0.802 -0.187 -0.567 2417 288 1 + 12.040 -10.524 5.524 0.591 -0.029 -0.806 -2417 288 1 + 11.845 -9.353 3.858 0.840 -0.149 0.522 -2417 310 1 + 11.641 -9.537 4.316 0.976 -0.027 0.216 2417 310 1 + 11.623 -9.726 4.816 0.988 0.099 -0.117 2417 288 1 + 11.793 -9.895 5.294 0.875 0.213 -0.436 2417 288 1 + 12.130 -10.025 5.688 0.650 0.299 -0.699 -2417 288 1 + 11.691 -8.848 4.073 0.752 0.139 0.645 -2417 310 1 + 11.522 -9.148 4.482 0.864 0.339 0.372 2417 310 1 + 11.518 -9.384 4.962 0.867 0.496 0.052 2417 288 1 + 11.680 -9.525 5.452 0.759 0.590 -0.275 2417 288 1 + 11.986 -9.553 5.889 0.555 0.609 -0.566 -2417 288 1 + 11.316 -8.474 4.285 0.538 0.353 0.766 -2417 310 1 + 11.234 -8.860 4.645 0.593 0.611 0.525 2417 310 1 + 11.265 -9.130 5.105 0.572 0.791 0.218 2417 288 1 + 11.405 -9.250 5.607 0.479 0.870 -0.116 2417 288 1 + 11.636 -9.203 6.087 0.325 0.839 -0.436 -2417 288 1 + 10.835 -8.731 4.773 0.216 0.732 0.646 -2417 310 1 + 10.914 -9.017 5.218 0.164 0.923 0.349 -2417 288 1 + 11.024 -9.126 5.729 0.091 0.996 0.008 -2417 288 1 + 10.567 -8.604 4.763 0.395 0.647 0.652 -2418 310 1 + 10.400 -8.798 5.179 0.506 0.777 0.374 -2418 310 1 + 10.314 -8.869 5.655 0.564 0.824 0.057 -2418 286 1 + 10.317 -8.808 6.140 0.561 0.784 -0.266 -2418 286 1 + 10.410 -8.622 6.583 0.499 0.660 -0.561 -2418 286 1 + 10.334 -8.506 4.744 0.094 0.773 0.627 -2418 310 1 + 10.255 -8.737 5.167 0.147 0.927 0.345 -2418 310 1 + 10.198 -8.821 5.646 0.184 0.983 0.026 -2418 286 1 + 10.172 -8.747 6.129 0.202 0.934 -0.296 -2418 286 1 + 10.177 -8.525 6.564 0.198 0.786 -0.586 -2418 286 1 + 10.843 -8.776 6.659 0.211 0.762 -0.612 -2420 288 1 + 11.048 -8.321 7.290 0.650 0.472 -0.595 -2420 286 1 + 11.259 -8.766 6.975 0.510 0.769 -0.385 2420 288 1 + 11.585 -9.036 6.572 0.292 0.949 -0.117 -2420 288 1 + 11.583 -8.918 7.355 0.742 0.660 -0.112 -2420 288 1 + 11.035 -7.682 7.866 0.898 0.265 -0.351 -2423 286 1 + 10.985 -7.174 7.874 0.932 -0.074 -0.356 -2423 286 1 + 11.097 -6.678 7.820 0.857 -0.404 -0.320 -2423 89 1 + 11.358 -6.253 7.710 0.683 -0.687 -0.247 -2423 89 1 + 10.850 -8.112 7.279 0.537 0.591 -0.601 -2423 286 1 + 10.754 -7.659 7.493 0.602 0.289 -0.745 2423 286 1 + 10.762 -7.156 7.579 0.596 -0.047 -0.802 2423 286 1 + 10.874 -6.660 7.525 0.521 -0.377 -0.766 2423 89 1 + 11.077 -6.230 7.338 0.386 -0.663 -0.641 2423 89 1 + 11.346 -5.916 7.039 0.207 -0.873 -0.442 -2423 89 1 + 10.323 -7.579 7.331 0.146 0.373 -0.916 -2423 286 1 + 10.421 -7.092 7.450 0.081 0.049 -0.996 -2423 286 1 + 10.533 -6.597 7.396 0.007 -0.282 -0.959 -2423 89 1 + 10.646 -6.151 7.175 -0.069 -0.579 -0.812 -2423 89 1 + 11.485 -6.227 7.913 0.598 -0.705 -0.382 -2425 89 1 + 11.340 -6.633 8.201 0.695 -0.434 -0.574 -2425 89 1 + 11.319 -7.117 8.385 0.709 -0.112 -0.697 -2425 289 1 + 11.425 -7.620 8.445 0.638 0.224 -0.737 -2425 289 1 + 11.638 -6.155 8.121 0.764 -0.626 -0.157 -2425 89 1 + 11.460 -6.577 8.363 0.883 -0.345 -0.318 -2425 89 1 + 11.439 -7.060 8.547 0.897 -0.022 -0.441 -2425 289 1 + 11.578 -7.547 8.653 0.804 0.303 -0.512 -2425 289 1 + 11.724 -6.093 8.239 0.707 -0.667 -0.236 -2427 89 1 + 11.618 -6.460 8.584 0.777 -0.422 -0.466 -2427 290 1 + 11.650 -6.901 8.848 0.756 -0.129 -0.642 -2427 290 1 + 11.901 -5.913 8.499 0.859 -0.512 -0.012 -2427 89 1 + 11.781 -6.294 8.824 0.939 -0.258 -0.228 -2427 290 1 + 11.827 -6.720 9.108 0.908 0.026 -0.418 -2427 290 1 + 12.105 -5.657 8.646 0.723 -0.683 -0.110 -2429 89 1 + 12.150 -5.796 9.104 0.693 -0.590 -0.415 -2429 89 1 + 12.301 -6.025 9.497 0.592 -0.437 -0.677 -2429 293 1 + 12.542 -6.322 9.787 0.431 -0.239 -0.870 -2429 293 1 + 12.192 -5.555 8.673 0.810 -0.581 -0.084 -2429 89 1 + 12.220 -5.714 9.125 0.791 -0.475 -0.385 -2429 89 1 + 12.369 -5.945 9.518 0.692 -0.321 -0.647 -2429 293 1 + 12.625 -6.226 9.811 0.522 -0.134 -0.843 -2429 293 1 + 12.116 -5.723 7.817 0.647 -0.763 0.003 -2431 89 1 + 12.665 -5.478 7.444 0.281 -0.926 0.252 -2431 90 1 + 11.889 -5.828 7.398 0.517 -0.823 -0.237 -2431 89 1 + 12.450 -5.577 7.048 0.143 -0.990 -0.004 -2431 90 1 + 11.628 -5.790 6.986 0.368 -0.801 -0.472 -2431 89 1 + 12.204 -5.542 6.659 -0.016 -0.967 -0.254 -2431 90 1 + 11.356 -5.615 6.620 0.212 -0.701 -0.681 -2431 89 1 + 11.947 -5.376 6.314 -0.182 -0.860 -0.477 -2431 90 1 + 11.098 -5.316 6.333 0.065 -0.530 -0.845 -2431 89 1 + 11.703 -5.094 6.043 -0.339 -0.678 -0.652 -2431 90 1 + 10.876 -4.921 6.149 -0.062 -0.305 -0.950 -2431 89 1 + 11.494 -4.722 5.869 -0.474 -0.438 -0.764 -2431 90 1 + 10.711 -4.466 6.085 -0.156 -0.045 -0.987 -2431 89 1 + 11.338 -4.292 5.809 -0.575 -0.161 -0.803 -2431 90 1 + 10.617 -3.991 6.148 -0.210 0.227 -0.951 -2431 89 1 + 11.250 -3.843 5.868 -0.632 0.129 -0.764 -2431 90 1 + 10.604 -3.538 6.331 -0.218 0.486 -0.846 -2431 89 1 + 11.237 -3.416 6.041 -0.640 0.405 -0.653 -2431 90 1 + 10.218 -3.344 6.635 -0.438 0.597 -0.672 -2432 89 1 + 9.998 -2.801 7.018 -0.291 0.234 -0.927 -2432 88 1 + 9.820 -3.601 6.771 -0.666 0.450 -0.595 -2432 89 1 + 9.599 -3.057 7.153 -0.519 0.088 -0.850 -2432 88 1 + 10.917 -2.892 6.749 -0.344 0.537 -0.770 -2434 90 1 + 10.774 -2.282 7.182 0.152 0.531 -0.834 -2434 88 1 + 11.206 -2.603 6.911 -0.136 0.745 -0.654 2434 90 1 + 11.605 -2.744 6.483 -0.402 0.838 -0.368 -2434 90 1 + 11.127 -2.080 7.458 0.353 0.647 -0.676 -2434 88 1 + 11.521 -2.422 7.158 0.090 0.875 -0.476 2434 90 1 + 11.938 -2.552 6.743 -0.188 0.962 -0.200 -2434 90 1 + 11.473 -2.017 7.801 0.552 0.682 -0.480 -2434 88 1 + 11.831 -2.366 7.465 0.313 0.915 -0.256 2434 90 1 + 12.265 -2.493 7.067 0.023 1.000 0.009 -2434 90 1 + 11.779 -2.101 8.177 0.726 0.634 -0.265 -2434 88 1 + 12.105 -2.441 7.801 0.509 0.861 -0.015 2434 90 1 + 12.554 -2.573 7.422 0.210 0.948 0.238 -2434 90 1 + 12.014 -2.324 8.547 0.860 0.507 -0.054 -2434 88 1 + 12.315 -2.640 8.132 0.660 0.718 0.223 2434 90 1 + 12.775 -2.783 7.771 0.352 0.813 0.463 -2434 90 1 + 12.153 -2.662 8.876 0.940 0.314 0.134 -2434 88 1 + 12.439 -2.943 8.426 0.749 0.501 0.434 2434 90 1 + 12.907 -3.102 8.081 0.437 0.607 0.663 -2434 90 1 + 12.184 -3.082 9.129 0.958 0.074 0.279 -2434 88 1 + 12.467 -3.318 8.653 0.769 0.231 0.596 2434 90 1 + 12.936 -3.499 8.320 0.456 0.351 0.818 -2434 90 1 + 12.394 -3.730 8.789 0.717 -0.064 0.695 -2434 90 1 + 11.880 -4.038 9.597 0.951 -0.012 0.310 -2438 88 1 + 11.868 -4.411 9.827 0.959 0.237 0.157 -2438 88 1 + 11.979 -4.754 10.078 0.885 0.466 -0.010 -2438 293 1 + 12.204 -5.037 10.327 0.735 0.655 -0.177 -2438 293 1 + 12.523 -5.236 10.554 0.522 0.787 -0.328 -2438 293 1 + 11.750 -3.461 9.848 0.710 -0.143 0.690 -2438 88 1 + 11.691 -3.891 9.913 0.749 0.144 0.646 2438 88 1 + 11.728 -4.302 10.062 0.725 0.418 0.547 2438 88 1 + 11.858 -4.660 10.280 0.638 0.657 0.402 2438 293 1 + 12.070 -4.934 10.551 0.497 0.839 0.221 2438 293 1 + 12.346 -5.099 10.849 0.313 0.950 0.022 2438 293 1 + 12.662 -5.143 11.151 0.102 0.979 -0.179 -2438 293 1 + 11.373 -3.883 10.151 0.412 0.152 0.898 -2438 88 1 + 11.492 -4.297 10.238 0.332 0.428 0.841 -2438 88 1 + 11.654 -4.655 10.432 0.224 0.667 0.711 -2438 293 1 + 11.845 -4.928 10.719 0.097 0.849 0.520 -2438 293 1 + 12.049 -5.092 11.072 -0.039 0.958 0.285 -2438 293 1 + 10.959 -3.384 10.444 0.688 -0.181 0.703 -2439 88 1 + 10.701 -3.341 10.800 0.860 -0.210 0.466 -2439 88 1 + 10.555 -3.325 11.216 0.957 -0.220 0.189 -2439 85 1 + 10.533 -3.338 11.656 0.972 -0.211 -0.105 -2439 85 1 + 11.312 -2.914 10.167 0.460 0.170 0.872 -2439 88 1 + 10.964 -2.959 10.434 0.692 0.200 0.694 2439 88 1 + 10.705 -2.979 10.791 0.864 0.214 0.456 2439 88 1 + 10.559 -2.971 11.207 0.962 0.208 0.178 2439 85 1 + 10.537 -2.936 11.647 0.976 0.185 -0.115 2439 85 1 + 10.643 -2.877 12.071 0.906 0.145 -0.398 -2439 85 1 + 10.797 -2.574 10.372 0.542 0.547 0.638 -2439 88 1 + 10.563 -2.650 10.738 0.698 0.598 0.394 -2439 88 1 + 10.420 -2.649 11.155 0.794 0.597 0.115 -2439 85 1 + 10.380 -2.571 11.588 0.821 0.545 -0.173 -2439 85 1 + 10.635 -3.857 12.109 0.904 0.134 -0.407 -2441 85 1 + 10.771 -4.315 12.072 0.813 0.439 -0.382 -2441 85 1 + 11.032 -4.705 11.977 0.639 0.700 -0.319 -2441 293 1 + 11.390 -4.989 11.833 0.401 0.889 -0.223 -2441 293 1 + 11.809 -5.136 11.655 0.121 0.987 -0.104 -2441 293 1 + 10.692 -3.930 12.464 0.991 0.022 0.134 -2441 85 1 + 10.804 -4.357 12.277 0.916 0.307 0.258 -2441 85 1 + 11.056 -4.737 12.130 0.748 0.560 0.356 -2441 293 1 + 11.423 -5.031 12.038 0.504 0.756 0.418 -2441 293 1 + 11.866 -5.210 12.010 0.208 0.875 0.437 -2441 293 1 + 10.722 -3.782 13.006 0.971 -0.077 -0.228 -2443 85 1 + 10.837 -4.073 13.313 0.894 0.118 -0.432 -2443 85 1 + 11.067 -4.350 13.564 0.741 0.302 -0.600 -2443 104 1 + 11.391 -4.587 13.739 0.525 0.460 -0.716 -2443 104 1 + 10.719 -3.467 13.347 0.967 0.230 0.105 -2443 85 1 + 10.834 -3.795 13.614 0.890 0.449 -0.073 -2443 85 1 + 11.064 -4.066 13.872 0.738 0.629 -0.244 -2443 104 1 + 11.387 -4.256 14.098 0.522 0.756 -0.395 -2443 104 1 + 10.689 -3.355 13.442 0.987 0.156 0.042 -2444 85 1 + 10.772 -3.581 13.795 0.932 0.306 -0.194 -2444 105 1 + 10.968 -3.770 14.125 0.801 0.432 -0.414 -2444 105 1 + 10.530 -2.694 13.418 0.831 0.266 0.488 -2444 85 1 + 10.515 -2.988 13.728 0.841 0.462 0.281 2444 85 1 + 10.603 -3.226 14.073 0.783 0.620 0.051 2444 105 1 + 10.786 -3.388 14.423 0.661 0.728 -0.183 2444 105 1 + 11.050 -3.461 14.752 0.485 0.777 -0.402 -2444 105 1 + 10.140 -2.420 13.718 0.575 0.446 0.686 -2444 85 1 + 10.171 -2.747 13.993 0.555 0.663 0.503 2444 85 1 + 10.270 -2.992 14.330 0.489 0.827 0.278 2444 105 1 + 10.428 -3.137 14.700 0.383 0.923 0.032 2444 105 1 + 10.633 -3.168 15.074 0.247 0.944 -0.218 -2444 105 1 + 9.721 -2.674 14.190 0.179 0.724 0.667 -2444 85 1 + 9.834 -2.922 14.520 0.103 0.889 0.447 -2444 105 1 + 9.959 -3.061 14.905 0.020 0.982 0.190 -2444 105 1 + 11.468 -3.790 14.825 0.723 0.589 -0.360 -2446 105 1 + 11.984 -4.232 14.694 0.379 0.884 -0.273 -2446 104 1 + 11.597 -3.777 15.289 0.797 0.597 -0.095 -2446 105 1 + 12.113 -4.220 15.158 0.453 0.892 -0.007 -2446 104 1 + 11.638 -3.869 15.761 0.820 0.544 0.175 -2446 105 1 + 12.154 -4.311 15.630 0.476 0.839 0.262 -2446 104 1 + 11.588 -4.057 16.202 0.792 0.436 0.427 -2446 105 1 + 12.105 -4.500 16.071 0.448 0.732 0.514 -2446 104 1 + 12.657 -4.413 19.102 0.195 -0.002 -0.981 -2453 128 1 + 13.405 -4.176 19.221 0.241 -0.511 -0.825 -2453 130 1 + 13.050 -4.666 19.272 0.478 -0.184 -0.859 2453 128 1 + 12.813 -5.201 19.111 0.636 0.173 -0.752 -2453 128 1 + 13.365 -4.875 19.595 0.705 -0.334 -0.626 -2453 128 1 + 14.076 -4.331 19.857 0.674 -0.611 -0.415 -2454 130 1 + 13.947 -4.953 20.163 0.760 -0.196 -0.620 -2454 129 1 + 14.319 -4.196 20.212 0.831 -0.524 -0.185 -2454 130 1 + 14.205 -4.811 20.541 0.907 -0.115 -0.404 -2454 129 1 + 14.448 -4.003 20.600 0.914 -0.400 0.065 -2454 130 1 + 14.342 -4.606 20.952 0.986 0.002 -0.169 -2454 129 1 + 14.451 -3.769 20.987 0.916 -0.248 0.314 -2454 130 1 + 14.345 -4.357 21.361 0.987 0.144 0.064 -2454 129 1 + 14.328 -3.513 21.338 0.837 -0.083 0.541 -2454 130 1 + 14.215 -4.086 21.733 0.913 0.299 0.277 -2454 129 1 + 14.090 -3.257 21.625 0.683 0.082 0.726 -2454 130 1 + 13.962 -3.815 22.037 0.768 0.454 0.451 -2454 129 1 + 13.756 -3.024 21.822 0.468 0.232 0.853 -2454 130 1 + 13.608 -3.569 22.246 0.566 0.595 0.570 -2454 129 1 + 13.356 -2.834 21.912 0.210 0.355 0.911 -2454 130 1 + 13.184 -3.367 22.342 0.324 0.710 0.625 -2454 129 1 + 12.924 -2.703 21.888 -0.069 0.439 0.896 -2454 130 1 + 12.727 -3.228 22.316 0.063 0.790 0.610 -2454 129 1 + 12.498 -2.642 21.752 -0.344 0.479 0.808 -2454 130 1 + 12.275 -3.164 22.172 -0.196 0.827 0.528 -2454 129 1 + 12.113 -2.657 21.515 -0.592 0.469 0.655 -2454 130 1 + 11.867 -3.179 21.921 -0.428 0.818 0.384 -2454 129 1 + 13.714 -5.434 20.161 0.627 -0.471 -0.621 -2456 129 1 + 13.290 -5.846 19.782 0.909 -0.196 -0.368 -2456 128 1 + 13.708 -5.789 20.554 0.624 -0.673 -0.397 -2456 129 1 + 13.285 -6.201 20.175 0.906 -0.398 -0.144 -2456 128 1 + 13.574 -6.053 20.992 0.547 -0.824 -0.146 -2456 129 1 + 13.150 -6.465 20.613 0.829 -0.549 0.106 -2456 128 1 + 13.322 -6.201 21.433 0.403 -0.909 0.106 -2456 129 1 + 12.899 -6.613 21.054 0.685 -0.634 0.359 -2456 128 1 + 12.702 -6.220 22.242 0.392 -0.918 0.065 -2458 129 1 + 12.489 -6.369 22.659 0.534 -0.818 -0.213 -2458 129 1 + 12.361 -6.651 23.041 0.619 -0.630 -0.468 -2458 152 1 + 12.333 -7.034 23.349 0.638 -0.375 -0.673 -2458 152 1 + 13.317 -5.919 22.174 0.400 -0.748 0.529 -2458 129 1 + 12.948 -6.003 22.488 0.646 -0.692 0.320 2458 129 1 + 12.682 -6.198 22.853 0.823 -0.562 0.077 2458 129 1 + 12.550 -6.484 23.231 0.912 -0.372 -0.175 2458 152 1 + 12.564 -6.830 23.580 0.902 -0.141 -0.408 2458 152 1 + 12.724 -7.198 23.864 0.795 0.104 -0.597 -2458 152 1 + 13.408 -5.494 22.534 0.452 -0.505 0.735 -2458 129 1 + 13.014 -5.694 22.749 0.715 -0.372 0.592 2458 129 1 + 12.735 -5.954 23.059 0.901 -0.199 0.385 2458 129 1 + 12.601 -6.247 23.432 0.991 -0.004 0.137 2458 152 1 + 12.627 -6.539 23.826 0.973 0.191 -0.126 2458 152 1 + 12.809 -6.801 24.200 0.852 0.366 -0.376 -2458 152 1 + 12.885 -5.369 22.962 0.581 -0.034 0.813 -2458 129 1 + 12.633 -5.698 23.228 0.749 0.185 0.636 -2458 129 1 + 12.501 -5.996 23.596 0.837 0.384 0.391 -2458 152 1 + 12.505 -6.233 24.027 0.834 0.541 0.103 -2458 152 1 + 12.775 -5.062 23.106 0.655 -0.239 0.717 -2459 129 1 + 12.443 -5.124 23.521 0.876 -0.198 0.441 -2459 153 1 + 12.279 -5.223 24.019 0.985 -0.132 0.108 -2459 153 1 + 13.161 -4.444 22.903 0.311 0.095 0.946 -2459 129 1 + 12.721 -4.599 23.164 0.604 0.198 0.772 2459 129 1 + 12.396 -4.716 23.572 0.821 0.276 0.500 2459 153 1 + 12.228 -4.780 24.074 0.934 0.319 0.165 2459 153 1 + 12.237 -4.784 24.609 0.927 0.321 -0.192 -2459 153 1 + 12.845 -3.925 22.842 0.130 0.391 0.911 -2459 129 1 + 12.478 -4.199 23.117 0.375 0.574 0.728 2459 129 1 + 12.182 -4.364 23.530 0.573 0.684 0.452 2459 153 1 + 11.995 -4.399 24.030 0.697 0.707 0.119 2459 153 1 + 11.941 -4.299 24.552 0.733 0.640 -0.229 -2459 153 1 + 12.356 -3.609 22.659 -0.149 0.572 0.807 -2459 129 1 + 12.101 -3.956 22.976 0.020 0.803 0.595 2459 129 1 + 11.851 -4.150 23.407 0.187 0.933 0.308 2459 153 1 + 11.636 -4.166 23.896 0.331 0.944 -0.018 2459 153 1 + 11.484 -4.003 24.381 0.432 0.835 -0.341 -2459 153 1 + 11.805 -3.569 22.397 -0.464 0.595 0.657 -2459 129 1 + 11.678 -3.925 22.774 -0.379 0.832 0.405 2459 129 1 + 11.478 -4.123 23.229 -0.245 0.964 0.102 2459 153 1 + 11.231 -4.137 23.703 -0.081 0.973 -0.214 2459 153 1 + 10.969 -3.966 24.136 0.094 0.859 -0.503 -2459 153 1 + 11.306 -4.114 22.558 -0.729 0.654 0.201 -2459 129 1 + 11.150 -4.289 23.038 -0.626 0.771 -0.119 -2459 153 1 + 10.876 -4.317 23.496 -0.443 0.790 -0.425 -2459 153 1 + 12.378 -5.897 24.530 0.919 0.318 -0.232 -2461 152 1 + 12.335 -5.369 25.066 0.992 -0.064 0.109 -2461 153 1 + 12.409 -5.918 25.020 0.943 0.302 0.140 2461 152 1 + 12.677 -6.404 25.002 0.764 0.627 0.152 -2461 152 1 + 12.267 -5.993 25.483 0.835 0.245 0.493 -2461 152 1 + 11.842 -5.356 26.028 0.668 -0.055 0.742 -2462 153 1 + 11.824 -5.929 26.157 0.680 0.327 0.656 -2462 151 1 + 11.354 -5.253 26.325 0.347 0.013 0.938 -2462 153 1 + 11.302 -5.819 26.475 0.382 0.390 0.838 -2462 151 1 + 12.005 -6.335 26.084 0.783 0.095 0.614 -2464 151 1 + 12.353 -6.771 25.895 0.551 0.386 0.740 -2464 152 1 + 11.718 -6.710 26.367 0.619 -0.119 0.776 -2464 151 1 + 12.085 -7.121 26.160 0.375 0.155 0.914 -2464 152 1 + 11.358 -7.112 26.481 0.414 -0.348 0.841 -2464 151 1 + 11.749 -7.497 26.266 0.154 -0.092 0.984 -2464 152 1 + 10.894 -7.078 26.641 0.149 -0.329 0.933 -2465 151 1 + 10.260 -7.300 26.839 0.572 -0.181 0.800 -2465 150 1 + 10.827 -7.740 26.309 0.285 -0.403 0.870 -2467 152 1 + 10.175 -8.179 26.331 0.523 -0.683 0.510 -2467 150 1 + 10.685 -8.155 26.059 0.183 -0.699 0.691 2467 152 1 + 11.236 -8.286 25.941 -0.184 -0.611 0.770 -2467 152 1 + 9.996 -8.501 25.906 0.421 -0.867 0.267 -2467 150 1 + 10.524 -8.443 25.678 0.069 -0.905 0.419 2467 152 1 + 11.068 -8.587 25.544 -0.294 -0.809 0.509 -2467 152 1 + 10.367 -8.568 25.216 -0.044 -0.995 0.088 -2467 152 1 + 8.683 -8.861 25.577 0.336 -0.864 0.376 -2470 146 1 + 8.882 -8.443 26.329 -0.216 -0.834 0.508 -2470 150 1 + 8.371 -8.631 26.049 0.125 -0.708 0.695 2470 146 1 + 7.892 -8.996 25.943 0.444 -0.465 0.766 -2470 146 1 + 8.027 -8.223 26.346 -0.108 -0.432 0.895 -2470 146 1 + 8.218 -9.511 24.884 0.631 -0.759 0.160 -2472 146 1 + 8.851 -9.235 24.735 0.208 -0.943 0.260 -2472 149 1 + 8.200 -9.518 23.800 0.510 -0.847 0.147 -2474 146 1 + 8.374 -9.593 23.335 0.394 -0.797 0.457 -2474 120 1 + 8.615 -9.802 22.947 0.233 -0.658 0.716 -2474 120 1 + 8.185 -9.527 23.796 0.498 -0.855 0.144 -2474 146 1 + 8.361 -9.601 23.331 0.380 -0.806 0.453 -2474 120 1 + 8.601 -9.811 22.943 0.220 -0.666 0.712 -2474 120 1 + 7.033 -10.118 24.388 0.485 -0.828 0.279 -2477 138 1 + 6.566 -10.030 24.890 0.175 -0.770 0.613 -2477 138 1 + 6.810 -10.973 23.596 0.674 -0.310 0.671 -2480 140 1 + 6.404 -10.800 24.166 0.521 -0.708 0.477 -2480 138 1 + 6.492 -11.185 23.736 0.462 -0.451 0.763 2480 140 1 + 6.686 -11.673 23.479 0.333 -0.126 0.934 -2480 140 1 + 6.006 -10.975 24.225 0.294 -0.808 0.511 -2480 138 1 + 6.123 -11.348 23.791 0.216 -0.559 0.800 2480 140 1 + 6.288 -11.848 23.539 0.106 -0.226 0.968 -2480 140 1 + 5.730 -11.449 23.758 -0.045 -0.627 0.778 -2480 140 1 + 7.010 -10.954 23.437 0.540 -0.322 0.777 -2482 140 1 + 7.084 -10.518 23.676 0.492 -0.613 0.618 -2482 145 1 + 7.405 -10.812 23.070 0.840 -0.215 0.499 -2482 140 1 + 7.470 -10.379 23.316 0.797 -0.503 0.335 -2482 145 1 + 7.705 -10.996 22.674 0.640 -0.092 0.763 -2484 140 1 + 8.007 -10.722 22.535 0.439 -0.275 0.856 -2484 120 1 + 8.363 -10.481 22.502 0.201 -0.435 0.878 -2484 120 1 + 7.886 -11.323 22.361 0.781 -0.347 0.519 -2484 140 1 + 8.175 -11.026 22.244 0.588 -0.545 0.597 -2484 120 1 + 8.537 -10.796 22.201 0.347 -0.699 0.626 -2484 120 1 + 7.794 -12.074 22.365 0.843 0.153 0.516 -2485 140 1 + 8.012 -12.463 22.261 0.697 0.413 0.586 -2485 143 1 + 7.362 -11.968 22.945 0.719 -0.294 0.629 -2485 140 1 + 7.499 -12.344 22.723 0.628 -0.044 0.777 2485 140 1 + 7.724 -12.726 22.610 0.477 0.211 0.853 2485 143 1 + 8.016 -13.079 22.616 0.283 0.446 0.849 -2485 143 1 + 6.903 -12.309 23.144 0.457 -0.489 0.743 -2485 140 1 + 7.092 -12.646 22.900 0.331 -0.264 0.906 2485 140 1 + 7.327 -13.021 22.782 0.174 -0.014 0.985 2485 143 1 + 7.587 -13.397 22.802 0.001 0.237 0.972 -2485 143 1 + 6.391 -12.630 23.107 0.164 -0.672 0.722 -2485 140 1 + 6.638 -12.931 22.867 -0.000 -0.471 0.882 2485 140 1 + 6.885 -13.298 22.750 -0.165 -0.227 0.960 2485 143 1 + 7.109 -13.697 22.767 -0.314 0.039 0.949 -2485 143 1 + 6.210 -13.153 22.629 -0.312 -0.633 0.709 -2485 140 1 + 6.468 -13.514 22.518 -0.484 -0.392 0.783 -2485 143 1 + 8.304 -12.380 21.959 0.502 0.358 0.787 -2487 143 1 + 8.365 -11.906 21.811 0.462 0.042 0.886 -2487 143 1 + 8.503 -11.426 21.810 0.370 -0.279 0.886 -2487 120 1 + 8.703 -10.992 21.957 0.237 -0.568 0.788 -2487 120 1 + 8.602 -12.466 21.663 0.872 0.251 0.421 -2487 143 1 + 8.594 -11.972 21.584 0.877 -0.078 0.474 -2487 143 1 + 8.732 -11.492 21.583 0.785 -0.398 0.474 -2487 120 1 + 9.001 -11.078 21.662 0.606 -0.674 0.422 -2487 120 1 + 8.919 -12.735 21.371 0.660 0.430 0.616 -2489 143 1 + 9.195 -12.478 21.034 0.476 0.259 0.840 -2489 143 1 + 9.553 -12.178 20.840 0.238 0.059 0.969 -2489 121 1 + 9.950 -11.867 20.811 -0.027 -0.148 0.989 -2489 121 1 + 9.044 -13.416 21.587 0.959 0.224 0.172 -2489 143 1 + 9.124 -13.088 21.211 0.906 0.005 0.423 2489 143 1 + 9.358 -12.759 20.907 0.750 -0.214 0.626 2489 143 1 + 9.720 -12.466 20.709 0.509 -0.409 0.757 2489 121 1 + 10.168 -12.243 20.641 0.210 -0.558 0.803 2489 121 1 + 10.652 -12.116 20.709 -0.113 -0.643 0.757 -2489 121 1 + 9.090 -13.806 21.108 0.989 -0.032 -0.143 -2489 143 1 + 9.156 -13.364 20.872 0.945 -0.327 0.015 2489 143 1 + 9.383 -12.978 20.637 0.793 -0.584 0.171 2489 143 1 + 9.746 -12.692 20.432 0.552 -0.775 0.308 2489 121 1 + 10.202 -12.537 20.280 0.247 -0.878 0.410 2489 121 1 + 10.701 -12.532 20.197 -0.085 -0.881 0.465 -2489 121 1 + 8.877 -13.949 20.545 0.849 -0.127 -0.513 -2489 143 1 + 9.005 -13.466 20.472 0.763 -0.449 -0.464 2489 143 1 + 9.263 -13.059 20.321 0.591 -0.720 -0.363 2489 143 1 + 9.623 -12.775 20.107 0.352 -0.910 -0.221 2489 121 1 + 10.042 -12.645 19.855 0.072 -0.996 -0.053 2489 121 1 + 10.473 -12.686 19.595 -0.215 -0.969 0.121 -2489 121 1 + 8.724 -13.357 20.154 0.425 -0.318 -0.847 -2489 143 1 + 9.040 -12.973 20.068 0.214 -0.575 -0.790 -2489 143 1 + 9.393 -12.686 19.847 -0.021 -0.766 -0.642 -2489 121 1 + 9.742 -12.530 19.517 -0.254 -0.870 -0.422 -2489 121 1 + 8.551 -13.372 20.057 0.540 -0.309 -0.783 -2491 143 1 + 8.690 -12.986 19.921 0.448 -0.566 -0.692 -2491 143 1 + 8.884 -12.670 19.699 0.318 -0.777 -0.544 -2491 118 1 + 9.118 -12.451 19.409 0.162 -0.922 -0.350 -2491 118 1 + 8.534 -13.370 20.045 0.524 -0.307 -0.795 -2491 143 1 + 8.675 -12.984 19.910 0.430 -0.564 -0.705 -2491 143 1 + 8.869 -12.669 19.688 0.301 -0.775 -0.556 -2491 118 1 + 9.100 -12.449 19.396 0.146 -0.921 -0.362 -2491 118 1 + 8.161 -13.313 19.653 0.773 -0.345 -0.533 -2494 142 1 + 8.363 -12.936 19.584 0.638 -0.597 -0.487 -2494 142 1 + 8.645 -12.633 19.454 0.450 -0.798 -0.401 -2494 118 1 + 8.984 -12.431 19.274 0.224 -0.933 -0.281 -2494 118 1 + 7.966 -13.238 19.405 0.608 -0.281 -0.742 -2494 142 1 + 8.191 -12.869 19.365 0.458 -0.527 -0.716 -2494 142 1 + 8.473 -12.567 19.235 0.270 -0.729 -0.629 -2494 118 1 + 8.789 -12.355 19.026 0.059 -0.870 -0.490 -2494 118 1 + 7.543 -13.508 18.959 0.890 -0.101 -0.445 -2495 142 1 + 7.416 -13.391 18.492 0.975 -0.179 -0.134 -2495 142 1 + 7.450 -13.303 18.003 0.952 -0.238 0.192 -2495 111 1 + 7.641 -13.255 17.546 0.825 -0.270 0.497 -2495 111 1 + 7.531 -13.559 18.949 0.877 -0.153 -0.455 -2495 142 1 + 7.406 -13.432 18.484 0.961 -0.237 -0.145 -2495 142 1 + 7.440 -13.344 17.995 0.938 -0.296 0.181 -2495 111 1 + 7.629 -13.306 17.536 0.812 -0.322 0.487 -2495 111 1 + 8.072 -12.809 17.356 0.537 -0.567 0.624 -2497 111 1 + 8.262 -12.457 17.640 0.411 -0.802 0.434 -2497 111 1 + 8.517 -12.235 17.994 0.241 -0.950 0.198 -2497 118 1 + 8.811 -12.164 18.380 0.045 -0.997 -0.059 -2497 118 1 + 8.288 -12.743 17.158 0.751 -0.502 0.429 -2497 111 1 + 8.440 -12.403 17.478 0.650 -0.729 0.216 -2497 111 1 + 8.695 -12.180 17.832 0.479 -0.877 -0.020 -2497 118 1 + 9.027 -12.098 18.183 0.258 -0.932 -0.254 -2497 118 1 + 8.360 -12.732 17.057 0.702 -0.510 0.497 -2499 111 1 + 8.566 -12.375 17.279 0.565 -0.748 0.349 -2499 117 1 + 8.855 -12.127 17.552 0.373 -0.913 0.167 -2499 117 1 + 8.593 -12.607 16.680 0.894 -0.408 0.187 -2499 111 1 + 8.780 -12.261 16.933 0.769 -0.639 0.018 -2499 117 1 + 9.080 -12.007 17.188 0.570 -0.808 -0.152 -2499 117 1 + 8.293 -13.349 16.764 0.792 -0.328 0.514 -2502 111 1 + 8.486 -13.925 16.417 0.664 0.056 0.746 -2502 112 1 + 8.729 -13.035 16.039 0.820 -0.162 0.550 -2503 110 1 + 8.945 -13.615 15.629 0.926 0.233 0.295 -2503 112 1 + 8.917 -13.029 15.643 0.945 -0.158 0.286 2503 110 1 + 9.107 -12.478 15.723 0.819 -0.525 0.233 -2503 110 1 + 9.018 -13.587 15.164 0.968 0.249 0.029 -2503 112 1 + 8.985 -13.002 15.211 0.990 -0.141 -0.002 2503 110 1 + 9.180 -12.450 15.258 0.860 -0.509 -0.033 -2503 110 1 + 8.954 -13.539 14.698 0.932 0.276 -0.236 -2503 112 1 + 8.926 -12.958 14.779 0.951 -0.111 -0.290 2503 110 1 + 9.116 -12.403 14.793 0.824 -0.481 -0.299 -2503 110 1 + 8.759 -13.476 14.273 0.820 0.312 -0.479 -2503 112 1 + 8.745 -12.900 14.384 0.830 -0.072 -0.553 2503 110 1 + 8.921 -12.340 14.367 0.712 -0.446 -0.542 -2503 110 1 + 8.450 -13.404 13.924 0.643 0.354 -0.679 -2503 112 1 + 8.457 -12.832 14.060 0.639 -0.027 -0.769 2503 110 1 + 8.612 -12.267 14.018 0.536 -0.404 -0.742 -2503 110 1 + 8.053 -13.327 13.681 0.416 0.398 -0.818 -2503 112 1 + 8.088 -12.761 13.834 0.393 0.020 -0.919 2503 110 1 + 8.214 -12.190 13.775 0.309 -0.360 -0.880 -2503 110 1 + 7.601 -13.253 13.565 0.158 0.440 -0.884 -2503 112 1 + 7.669 -12.692 13.726 0.113 0.066 -0.991 2503 110 1 + 7.763 -12.116 13.659 0.051 -0.318 -0.947 -2503 110 1 + 7.235 -12.632 13.745 -0.176 0.106 -0.979 -2503 110 1 + 8.979 -12.126 16.581 0.637 -0.728 0.253 -2505 110 1 + 9.177 -11.925 17.003 0.505 -0.863 -0.029 -2505 117 1 + 9.222 -12.131 15.900 0.884 -0.326 0.334 -2505 110 1 + 9.266 -11.847 16.319 0.855 -0.516 0.054 2505 110 1 + 9.457 -11.652 16.748 0.727 -0.646 -0.232 2505 117 1 + 9.774 -11.568 17.137 0.516 -0.702 -0.491 -2505 117 1 + 9.392 -11.683 15.627 0.982 -0.070 0.178 -2505 110 1 + 9.413 -11.459 16.083 0.967 -0.220 -0.126 2505 110 1 + 9.601 -11.272 16.517 0.842 -0.344 -0.416 2505 117 1 + 9.935 -11.145 16.879 0.620 -0.429 -0.657 -2505 117 1 + 9.401 -11.016 15.904 0.958 0.118 -0.263 -2505 110 1 + 9.589 -10.839 16.342 0.832 -0.000 -0.555 -2505 117 1 + 9.362 -10.582 15.427 0.984 -0.172 0.055 -2507 106 1 + 9.203 -10.521 14.684 0.871 -0.129 -0.475 -2507 106 1 + 8.663 -10.369 14.124 0.486 -0.020 -0.874 -2511 106 1 + 8.170 -10.240 13.963 0.134 0.072 -0.988 -2511 106 1 + 9.220 -9.481 13.987 0.115 -0.612 -0.782 -2513 106 1 + 9.619 -9.259 13.762 -0.151 -0.760 -0.632 -2513 106 1 + 9.992 -9.169 13.428 -0.400 -0.820 -0.410 -2513 292 1 + 10.296 -9.220 13.023 -0.602 -0.786 -0.140 -2513 292 1 + 8.982 -9.072 13.830 -0.183 -0.100 -0.978 -2513 106 1 + 9.440 -8.952 13.644 -0.488 -0.180 -0.854 -2513 106 1 + 9.814 -8.863 13.311 -0.738 -0.239 -0.632 -2513 292 1 + 10.060 -8.816 12.869 -0.902 -0.271 -0.337 -2513 292 1 + 9.753 -8.337 11.752 -0.697 -0.590 0.408 -2515 290 1 + 9.682 -8.216 11.754 -0.847 -0.335 0.412 -2515 290 1 + 8.603 -8.426 13.832 -0.128 -0.195 -0.972 -2517 100 1 + 8.401 -8.323 13.856 -0.271 -0.122 -0.955 -2517 100 1 + 9.191 -7.784 13.250 -0.520 -0.623 -0.585 -2519 100 1 + 9.456 -7.735 12.811 -0.696 -0.656 -0.292 -2519 100 1 + 9.597 -7.802 12.320 -0.791 -0.611 0.035 -2519 290 1 + 9.599 -7.977 11.835 -0.792 -0.494 0.358 -2519 290 1 + 9.060 -7.534 13.178 -0.661 -0.354 -0.662 -2519 100 1 + 9.353 -7.538 12.754 -0.856 -0.351 -0.379 -2519 100 1 + 9.494 -7.605 12.263 -0.950 -0.307 -0.052 -2519 290 1 + 9.468 -7.726 11.763 -0.933 -0.226 0.281 -2519 290 1 + 8.292 -7.320 13.468 -0.149 -0.497 -0.855 -2520 100 1 + 7.915 -7.116 13.336 0.102 -0.633 -0.767 -2520 94 1 + 8.195 -7.435 13.565 -0.219 -0.579 -0.785 -2520 100 1 + 7.820 -7.227 13.431 0.031 -0.718 -0.696 -2520 94 1 + 9.269 -7.455 11.524 -0.800 -0.407 0.441 -2522 290 1 + 9.138 -7.085 11.803 -0.713 -0.653 0.255 -2522 290 1 + 9.200 -7.386 11.424 -0.919 -0.288 0.268 -2522 290 1 + 9.115 -7.062 11.770 -0.863 -0.504 0.037 -2522 290 1 + 7.912 -6.769 12.924 0.105 -0.864 -0.492 -2523 94 1 + 8.287 -6.665 12.676 -0.146 -0.934 -0.327 -2523 94 1 + 7.847 -6.705 12.830 -0.018 -0.742 -0.670 -2523 94 1 + 8.265 -6.643 12.645 -0.297 -0.783 -0.546 -2523 94 1 + 7.229 -6.646 12.551 0.394 -0.781 -0.484 -2524 94 1 + 7.091 -6.538 12.108 0.486 -0.853 -0.188 -2524 94 1 + 7.027 -6.560 11.636 0.529 -0.839 0.126 -2524 273 1 + 7.042 -6.708 11.184 0.519 -0.740 0.427 -2524 273 1 + 7.096 -6.710 12.572 0.243 -0.854 -0.460 -2524 94 1 + 6.984 -6.590 12.125 0.318 -0.934 -0.162 -2524 94 1 + 6.919 -6.611 11.653 0.361 -0.920 0.153 -2524 273 1 + 6.909 -6.772 11.205 0.367 -0.813 0.451 -2524 273 1 + 7.583 -6.977 10.606 0.158 -0.561 0.813 -2525 273 1 + 8.055 -7.074 10.544 -0.156 -0.496 0.854 -2525 273 1 + 8.502 -7.250 10.616 -0.454 -0.379 0.806 -2525 290 1 + 8.878 -7.485 10.815 -0.705 -0.222 0.674 -2525 290 1 + 7.542 -7.132 10.478 0.112 -0.735 0.669 -2525 273 1 + 8.021 -7.203 10.438 -0.207 -0.688 0.696 -2525 273 1 + 8.467 -7.381 10.507 -0.505 -0.569 0.649 -2525 290 1 + 8.834 -7.649 10.679 -0.749 -0.390 0.535 -2525 290 1 + 9.981 -8.617 11.850 -0.849 -0.403 0.342 -2527 292 1 + 10.064 -8.831 11.739 -0.789 -0.556 0.262 -2527 292 1 + 10.051 -9.202 11.315 -0.780 -0.308 0.545 -2530 289 1 + 10.216 -9.089 11.763 -0.890 -0.384 0.246 -2530 292 1 + 10.061 -9.807 10.962 -0.414 -0.452 0.790 -2530 289 1 + 10.313 -9.588 11.322 -0.582 -0.599 0.550 2530 289 1 + 10.472 -9.464 11.770 -0.688 -0.681 0.251 2530 292 1 + 10.520 -9.451 12.259 -0.720 -0.690 -0.075 -2530 292 1 + 10.490 -10.121 10.903 -0.169 -0.632 0.757 -2530 289 1 + 10.687 -9.861 11.271 -0.300 -0.805 0.512 2530 289 1 + 10.836 -9.731 11.721 -0.400 -0.892 0.212 2530 292 1 + 10.921 -9.744 12.205 -0.456 -0.883 -0.111 -2530 292 1 + 10.991 -10.266 10.786 0.118 -0.714 0.690 -2530 289 1 + 11.124 -9.987 11.169 0.029 -0.900 0.435 2530 289 1 + 11.262 -9.854 11.621 -0.063 -0.989 0.133 2530 292 1 + 11.389 -9.879 12.095 -0.148 -0.972 -0.183 -2530 292 1 + 11.499 -10.223 10.626 0.408 -0.690 0.598 -2530 289 1 + 11.567 -9.950 11.029 0.363 -0.872 0.330 2530 289 1 + 11.693 -9.817 11.485 0.279 -0.960 0.026 2530 292 1 + 11.864 -9.839 11.945 0.165 -0.945 -0.281 -2530 292 1 + 11.948 -9.997 10.443 0.665 -0.561 0.494 -2530 289 1 + 11.958 -9.753 10.870 0.658 -0.723 0.209 2530 289 1 + 12.074 -9.625 11.330 0.581 -0.808 -0.097 2530 292 1 + 12.284 -9.628 11.775 0.441 -0.807 -0.394 -2530 292 1 + 12.247 -9.423 10.712 0.876 -0.475 0.090 -2530 289 1 + 12.356 -9.304 11.176 0.803 -0.554 -0.219 -2530 292 1 + 12.391 -9.210 10.680 0.779 -0.617 0.112 -2532 291 1 + 12.486 -9.278 9.899 0.972 -0.149 0.183 -2532 289 1 + 12.582 -8.894 10.343 0.907 -0.405 -0.114 2532 291 1 + 12.894 -8.606 10.761 0.700 -0.597 -0.392 -2532 291 1 + 12.528 -8.864 9.556 0.996 0.087 -0.013 -2532 289 1 + 12.622 -8.510 10.026 0.934 -0.149 -0.326 2532 291 1 + 12.936 -8.192 10.418 0.724 -0.361 -0.588 -2532 291 1 + 12.506 -8.102 9.763 0.856 0.125 -0.502 -2532 291 1 + 12.431 -8.140 9.605 0.906 0.150 -0.397 -2534 289 1 + 12.575 -7.837 9.887 0.810 -0.052 -0.585 -2534 293 1 + 12.822 -7.541 10.094 0.645 -0.249 -0.723 -2534 293 1 + 12.303 -7.939 9.465 0.805 0.307 -0.507 -2534 289 1 + 12.457 -7.651 9.757 0.703 0.115 -0.702 -2534 293 1 + 12.700 -7.349 9.959 0.541 -0.086 -0.837 -2534 293 1 + 12.537 -7.301 9.831 0.650 -0.118 -0.751 -2536 293 1 + 12.382 -6.916 9.723 0.538 0.157 -0.828 -2536 293 1 + 13.398 -7.489 10.541 0.586 -0.565 -0.581 -2538 293 1 + 13.073 -7.979 10.490 0.802 -0.239 -0.547 -2538 291 1 + 13.559 -7.623 10.956 0.692 -0.653 -0.308 -2538 293 1 + 13.245 -8.122 10.934 0.901 -0.321 -0.293 -2538 291 1 + 13.619 -7.666 11.414 0.732 -0.682 -0.006 -2538 293 1 + 13.310 -8.168 11.425 0.938 -0.347 -0.013 -2538 291 1 + 13.259 -8.015 12.094 0.913 -0.380 0.149 -2540 292 1 + 13.495 -7.318 12.351 0.650 -0.452 0.611 -2540 293 1 + 13.185 -7.740 12.537 0.857 -0.171 0.487 2540 292 1 + 13.051 -8.198 12.823 0.946 0.134 0.296 -2540 292 1 + 12.930 -7.429 12.877 0.663 0.066 0.746 -2540 292 1 + 12.890 -6.777 13.061 0.690 -0.369 0.623 -2541 293 1 + 12.683 -6.638 13.517 0.827 -0.462 0.319 -2541 104 1 + 12.625 -6.581 14.030 0.866 -0.499 -0.022 -2541 104 1 + 13.389 -6.406 12.641 0.580 0.148 0.801 -2541 293 1 + 13.025 -6.314 12.999 0.823 0.086 0.562 2541 293 1 + 12.809 -6.207 13.459 0.967 0.015 0.255 2541 104 1 + 12.767 -6.097 13.965 0.995 -0.058 -0.082 2541 104 1 + 12.903 -5.998 14.455 0.904 -0.124 -0.409 -2541 104 1 + 13.267 -5.836 12.473 0.500 0.522 0.691 -2541 293 1 + 12.928 -5.857 12.865 0.727 0.536 0.430 2541 293 1 + 12.718 -5.782 13.334 0.866 0.486 0.117 2541 104 1 + 12.665 -5.619 13.824 0.902 0.377 -0.210 2541 104 1 + 12.773 -5.389 14.276 0.830 0.224 -0.511 -2541 104 1 + 12.886 -5.417 12.257 0.250 0.798 0.549 -2541 293 1 + 12.622 -5.521 12.692 0.426 0.867 0.259 2541 293 1 + 12.434 -5.469 13.173 0.551 0.832 -0.061 2541 104 1 + 12.345 -5.267 13.643 0.611 0.698 -0.375 2541 104 1 + 12.365 -4.940 14.045 0.597 0.480 -0.643 -2541 104 1 + 12.185 -5.390 12.524 -0.004 0.996 0.094 -2541 293 1 + 12.027 -5.347 13.016 0.101 0.967 -0.234 -2541 104 1 + 11.887 -5.130 13.467 0.194 0.822 -0.535 -2541 104 1 + 12.504 -6.891 14.194 0.947 -0.293 -0.132 -2543 104 1 + 12.438 -7.214 13.829 0.991 -0.077 0.111 -2543 292 1 + 12.533 -7.550 13.482 0.928 0.147 0.343 -2543 292 1 + 12.402 -7.140 14.417 0.859 -0.508 0.060 -2543 104 1 + 12.346 -7.440 14.031 0.896 -0.309 0.318 -2543 292 1 + 12.435 -7.789 13.695 0.837 -0.076 0.542 -2543 292 1 + 12.716 -6.829 15.289 0.797 -0.600 0.068 -2545 104 1 + 12.444 -7.435 15.477 0.979 -0.196 -0.057 -2545 103 1 + 12.702 -6.676 15.764 0.789 -0.512 0.339 -2545 104 1 + 12.430 -7.282 15.952 0.971 -0.108 0.214 -2545 103 1 + 12.556 -6.476 16.198 0.705 -0.398 0.587 -2545 104 1 + 12.283 -7.082 16.385 0.887 0.006 0.462 -2545 103 1 + 12.029 -6.052 16.894 0.727 -0.396 0.561 -2546 104 1 + 11.877 -5.916 17.319 0.828 -0.487 0.278 -2546 104 1 + 11.848 -5.852 17.786 0.848 -0.529 -0.033 -2546 128 1 + 11.944 -5.867 18.247 0.784 -0.519 -0.341 -2546 128 1 + 12.156 -5.959 18.658 0.642 -0.458 -0.615 -2546 128 1 + 12.439 -5.632 16.509 0.639 0.085 0.765 -2546 104 1 + 12.130 -5.639 16.865 0.845 0.089 0.527 2546 104 1 + 11.946 -5.632 17.299 0.968 0.085 0.238 2546 104 1 + 11.906 -5.613 17.769 0.995 0.072 -0.076 2546 128 1 + 12.013 -5.583 18.227 0.923 0.053 -0.381 2546 128 1 + 12.257 -5.546 18.629 0.760 0.028 -0.649 2546 128 1 + 12.614 -5.504 18.935 0.522 -0.000 -0.853 -2546 128 1 + 11.968 -5.244 16.856 0.654 0.553 0.517 -2546 104 1 + 11.835 -5.361 17.293 0.743 0.631 0.225 -2546 104 1 + 11.812 -5.385 17.764 0.758 0.646 -0.089 -2546 128 1 + 11.902 -5.313 18.221 0.698 0.598 -0.394 -2546 128 1 + 12.095 -5.152 18.620 0.569 0.491 -0.660 -2546 128 1 + 12.089 -6.163 18.713 0.687 -0.322 -0.652 -2548 128 1 + 11.812 -6.252 18.356 0.872 -0.263 -0.413 -2548 128 1 + 11.658 -6.379 17.940 0.974 -0.178 -0.136 -2548 103 1 + 11.642 -6.531 17.505 0.985 -0.077 0.154 -2548 103 1 + 11.765 -6.694 17.092 0.903 0.031 0.429 -2548 103 1 + 11.675 -6.682 18.966 0.224 -0.902 -0.369 -2548 128 1 + 11.514 -6.625 18.537 0.331 -0.940 -0.084 -2548 128 1 + 11.400 -6.701 18.097 0.407 -0.889 0.210 -2548 103 1 + 11.344 -6.904 17.687 0.444 -0.754 0.484 -2548 103 1 + 11.351 -7.213 17.345 0.440 -0.548 0.712 -2548 103 1 + 11.419 -7.056 19.383 0.394 -0.652 -0.647 -2550 128 1 + 11.034 -7.350 19.321 0.651 -0.457 -0.606 -2550 122 1 + 10.752 -7.716 19.163 0.839 -0.213 -0.501 -2550 122 1 + 11.434 -7.085 19.422 0.407 -0.676 -0.614 -2550 128 1 + 11.047 -7.376 19.357 0.665 -0.482 -0.570 -2550 122 1 + 10.766 -7.743 19.201 0.852 -0.237 -0.466 -2550 122 1 + 11.675 -7.204 19.647 0.246 -0.597 -0.764 -2552 128 1 + 11.497 -7.588 19.801 0.365 -0.341 -0.866 -2552 128 1 + 11.369 -8.017 19.838 0.450 -0.055 -0.891 -2552 128 1 + 11.301 -8.454 19.755 0.496 0.236 -0.836 -2552 121 1 + 11.300 -8.859 19.559 0.496 0.506 -0.705 -2552 121 1 + 11.366 -9.195 19.268 0.452 0.731 -0.511 -2552 121 1 + 12.327 -7.108 20.115 0.358 -0.916 -0.178 -2552 128 1 + 11.936 -7.327 20.076 0.619 -0.770 -0.153 2552 128 1 + 11.629 -7.649 20.017 0.824 -0.555 -0.113 2552 128 1 + 11.432 -8.047 19.943 0.955 -0.290 -0.063 2552 128 1 + 11.365 -8.484 19.859 1.000 0.001 -0.008 2552 121 1 + 11.432 -8.920 19.775 0.955 0.292 0.048 2552 121 1 + 11.628 -9.318 19.698 0.825 0.557 0.100 2552 121 1 + 11.935 -9.640 19.634 0.620 0.772 0.143 -2552 121 1 + 11.682 -7.372 20.524 0.257 -0.836 0.486 -2552 128 1 + 11.501 -7.672 20.243 0.377 -0.636 0.673 -2552 128 1 + 11.370 -8.058 20.052 0.464 -0.379 0.801 -2552 128 1 + 11.303 -8.495 19.969 0.509 -0.087 0.856 -2552 121 1 + 11.304 -8.943 20.001 0.509 0.212 0.835 -2552 121 1 + 11.373 -9.363 20.146 0.462 0.492 0.738 -2552 121 1 + 11.476 -7.352 20.724 0.394 -0.849 0.353 -2554 128 1 + 11.115 -7.648 20.630 0.635 -0.652 0.415 -2554 128 1 + 10.849 -8.043 20.598 0.812 -0.389 0.436 -2554 119 1 + 10.707 -8.496 20.633 0.907 -0.086 0.413 -2554 119 1 + 11.294 -7.252 21.005 0.221 -0.754 0.618 -2554 128 1 + 10.962 -7.564 20.866 0.443 -0.546 0.711 -2554 128 1 + 10.696 -7.959 20.835 0.620 -0.283 0.732 -2554 119 1 + 10.525 -8.396 20.914 0.734 0.009 0.679 -2554 119 1 + 11.641 -6.898 21.722 -0.010 -0.990 0.140 -2555 128 1 + 11.620 -6.913 22.231 0.004 -0.980 -0.199 -2555 128 1 + 11.600 -7.098 22.706 0.017 -0.857 -0.515 -2555 152 1 + 11.583 -7.431 23.091 0.028 -0.635 -0.772 -2555 152 1 + 12.166 -6.943 21.307 0.266 -0.823 0.503 -2555 128 1 + 11.994 -6.821 21.770 0.380 -0.904 0.193 2555 128 1 + 11.889 -6.854 22.268 0.451 -0.882 -0.138 2555 128 1 + 11.861 -7.041 22.741 0.469 -0.758 -0.454 2555 152 1 + 11.915 -7.358 23.136 0.433 -0.546 -0.717 2555 152 1 + 12.043 -7.770 23.407 0.348 -0.272 -0.897 -2555 152 1 + 12.267 -6.602 21.875 0.682 -0.663 0.309 -2555 128 1 + 12.096 -6.688 22.347 0.796 -0.606 -0.005 -2555 128 1 + 12.063 -6.879 22.819 0.818 -0.478 -0.320 -2555 152 1 + 12.171 -7.153 23.234 0.746 -0.296 -0.597 -2555 152 1 + 10.200 -8.687 21.581 0.951 0.203 0.235 -2557 119 1 + 10.202 -8.731 21.599 0.956 0.094 0.279 -2557 119 1 + 11.044 -7.971 23.253 0.388 -0.275 -0.880 -2558 152 1 + 11.046 -8.012 23.269 0.393 -0.385 -0.835 -2558 152 1 + 11.127 -8.086 23.335 0.339 -0.336 -0.879 -2560 152 1 + 10.727 -8.242 23.159 0.605 -0.231 -0.762 -2560 152 1 + 10.414 -8.432 22.874 0.814 -0.105 -0.571 -2560 120 1 + 10.218 -8.637 22.506 0.945 0.032 -0.327 -2560 120 1 + 10.158 -8.838 22.092 0.985 0.166 -0.050 -2560 120 1 + 11.481 -8.509 23.780 -0.022 -0.758 -0.652 -2560 152 1 + 11.066 -8.427 23.589 0.254 -0.813 -0.524 2560 152 1 + 10.688 -8.461 23.322 0.506 -0.790 -0.346 2560 152 1 + 10.383 -8.609 23.005 0.710 -0.692 -0.135 2560 120 1 + 10.179 -8.856 22.669 0.845 -0.527 0.089 2560 120 1 + 10.097 -9.179 22.346 0.900 -0.312 0.305 2560 120 1 + 10.144 -9.546 22.066 0.869 -0.067 0.491 -2560 120 1 + 10.781 -8.549 23.885 -0.146 -0.983 -0.109 -2560 152 1 + 10.505 -8.539 23.512 0.038 -0.989 0.140 -2560 152 1 + 10.235 -8.672 23.158 0.218 -0.901 0.375 -2560 120 1 + 9.996 -8.934 22.859 0.377 -0.726 0.575 -2560 120 1 + 9.811 -9.301 22.642 0.500 -0.482 0.720 -2560 120 1 + 10.536 -8.605 24.208 0.017 -0.946 -0.324 -2561 152 1 + 10.040 -8.674 24.116 0.348 -0.900 -0.263 -2561 149 1 + 10.418 -8.622 24.944 -0.078 -0.960 0.270 -2561 152 1 + 9.919 -8.691 24.873 0.255 -0.913 0.318 -2561 149 1 + 9.487 -8.989 23.562 0.717 -0.689 0.106 -2562 149 1 + 9.463 -9.171 23.158 0.732 -0.568 0.376 -2562 120 1 + 9.536 -9.428 22.803 0.684 -0.397 0.612 -2562 120 1 + 9.213 -9.168 24.104 0.415 -0.904 -0.101 -2562 149 1 + 9.155 -9.218 23.668 0.453 -0.871 0.190 2562 149 1 + 9.157 -9.382 23.256 0.452 -0.761 0.465 2562 120 1 + 9.218 -9.647 22.905 0.412 -0.585 0.699 2562 120 1 + 9.333 -9.988 22.645 0.335 -0.357 0.872 -2562 120 1 + 8.758 -9.339 23.698 0.138 -0.967 0.215 -2562 149 1 + 8.790 -9.494 23.284 0.117 -0.863 0.491 -2562 120 1 + 8.837 -9.763 22.934 0.086 -0.684 0.724 -2562 120 1 + 10.507 -9.657 21.266 0.838 0.249 0.486 -2565 120 1 + 10.868 -9.903 20.963 0.597 0.413 0.688 -2565 121 1 + 10.206 -9.757 21.871 0.909 -0.205 0.363 -2565 120 1 + 10.420 -10.005 21.453 0.766 -0.040 0.642 2565 120 1 + 10.779 -10.261 21.156 0.527 0.131 0.840 2565 121 1 + 11.237 -10.492 21.016 0.221 0.285 0.933 -2565 121 1 + 10.000 -10.153 21.972 0.774 -0.466 0.429 -2565 120 1 + 10.238 -10.356 21.542 0.615 -0.330 0.716 2565 120 1 + 10.592 -10.621 21.247 0.379 -0.153 0.912 2565 121 1 + 11.018 -10.915 21.124 0.096 0.043 0.994 -2565 121 1 + 9.711 -10.506 21.951 0.584 -0.698 0.415 -2565 120 1 + 9.982 -10.669 21.524 0.403 -0.589 0.700 2565 120 1 + 10.329 -10.942 21.228 0.172 -0.407 0.897 2565 121 1 + 10.708 -11.293 21.102 -0.081 -0.173 0.982 -2565 121 1 + 9.680 -10.908 21.399 0.153 -0.788 0.597 -2565 120 1 + 10.019 -11.188 21.100 -0.073 -0.601 0.796 -2565 121 1 + 10.871 -9.729 20.874 0.594 0.296 0.748 -2566 119 1 + 11.023 -9.399 20.503 0.696 0.516 0.500 -2566 119 1 + 11.061 -9.119 18.994 0.656 0.680 -0.329 -2568 121 1 + 10.757 -8.671 19.016 0.859 0.381 -0.343 -2568 122 1 + 11.042 -9.128 18.941 0.641 0.672 -0.371 -2568 121 1 + 10.739 -8.680 18.964 0.844 0.373 -0.386 -2568 122 1 + 11.214 -9.395 18.426 0.527 0.850 -0.028 -2570 121 1 + 11.043 -9.207 18.002 0.641 0.724 0.255 -2570 121 1 + 10.976 -8.900 17.619 0.685 0.520 0.511 -2570 103 1 + 11.022 -8.509 17.320 0.655 0.258 0.710 -2570 103 1 + 11.174 -8.075 17.136 0.553 -0.031 0.832 -2570 103 1 + 11.757 -9.812 18.461 0.519 0.673 -0.527 -2570 121 1 + 11.391 -9.622 18.189 0.763 0.546 -0.345 2570 121 1 + 11.149 -9.343 17.859 0.924 0.360 -0.126 2570 121 1 + 11.058 -9.004 17.510 0.985 0.135 0.107 2570 103 1 + 11.127 -8.644 17.177 0.939 -0.105 0.329 2570 103 1 + 11.350 -8.301 16.899 0.790 -0.334 0.514 2570 103 1 + 11.702 -8.013 16.704 0.555 -0.526 0.644 -2570 103 1 + 11.667 -10.230 18.036 0.467 0.434 -0.770 -2570 121 1 + 11.335 -9.880 17.926 0.688 0.201 -0.697 2570 121 1 + 11.115 -9.497 17.702 0.835 -0.055 -0.548 2570 121 1 + 11.032 -9.123 17.389 0.890 -0.304 -0.339 2570 103 1 + 11.094 -8.799 17.020 0.849 -0.520 -0.093 2570 103 1 + 11.295 -8.560 16.636 0.715 -0.680 0.163 2570 103 1 + 11.612 -8.431 16.279 0.504 -0.765 0.401 -2570 103 1 + 11.069 -10.067 17.743 0.333 -0.049 -0.942 -2570 121 1 + 10.956 -9.609 17.592 0.408 -0.354 -0.841 -2570 121 1 + 10.910 -9.209 17.304 0.439 -0.621 -0.649 -2570 103 1 + 10.935 -8.911 16.910 0.422 -0.820 -0.387 -2570 103 1 + 11.029 -8.746 16.453 0.359 -0.930 -0.082 -2570 103 1 + 10.696 -10.444 17.513 0.581 0.202 -0.788 -2572 117 1 + 11.165 -11.021 17.663 0.180 -0.018 -0.984 -2572 121 1 + 10.632 -10.882 17.444 0.535 -0.111 -0.838 2572 117 1 + 10.224 -10.769 17.029 0.807 -0.186 -0.561 -2572 117 1 + 10.997 -11.490 17.713 0.084 -0.286 -0.955 -2572 121 1 + 10.482 -11.302 17.489 0.428 -0.411 -0.805 2572 117 1 + 10.066 -11.211 17.076 0.705 -0.472 -0.530 -2572 117 1 + 10.752 -11.890 17.886 -0.056 -0.514 -0.856 -2572 121 1 + 10.261 -11.661 17.644 0.271 -0.667 -0.695 2572 117 1 + 9.835 -11.588 17.240 0.555 -0.715 -0.425 -2572 117 1 + 10.453 -12.180 18.164 -0.227 -0.680 -0.697 -2572 121 1 + 9.994 -11.921 17.893 0.080 -0.852 -0.517 2572 117 1 + 9.553 -11.862 17.501 0.373 -0.892 -0.256 -2572 117 1 + 9.706 -12.056 18.210 -0.126 -0.948 -0.291 -2572 117 1 + 10.234 -9.864 16.957 0.890 -0.185 -0.418 -2576 117 1 + 10.306 -9.447 16.750 0.841 -0.463 -0.280 -2576 117 1 + 10.503 -9.098 16.503 0.710 -0.695 -0.115 -2576 103 1 + 10.805 -8.853 16.238 0.509 -0.859 0.061 -2576 103 1 + 10.047 -9.933 16.714 0.694 -0.258 -0.672 -2576 117 1 + 10.148 -9.506 16.545 0.627 -0.543 -0.560 -2576 117 1 + 10.342 -9.159 16.293 0.497 -0.774 -0.392 -2576 103 1 + 10.609 -8.926 15.983 0.319 -0.929 -0.185 -2576 103 1 + 9.787 -10.163 16.435 0.867 -0.104 -0.487 -2577 117 1 + 9.667 -9.945 16.007 0.947 -0.250 -0.201 -2577 106 1 + 9.675 -10.396 16.348 0.775 -0.296 -0.558 -2577 117 1 + 9.555 -10.177 15.920 0.855 -0.441 -0.273 -2577 106 1 + 9.986 -9.312 15.563 0.734 -0.672 0.095 -2579 106 1 + 10.411 -8.985 15.598 0.451 -0.890 0.072 -2579 103 1 + 9.979 -9.263 15.126 0.729 -0.632 -0.264 -2579 106 1 + 10.404 -8.935 15.150 0.445 -0.850 -0.280 -2579 103 1 + 9.803 -9.415 14.652 0.846 -0.530 0.052 -2580 106 1 + 10.057 -9.210 14.262 0.677 -0.667 0.312 -2580 106 1 + 10.428 -9.120 13.926 0.429 -0.727 0.536 -2580 292 1 + 10.873 -9.156 13.682 0.133 -0.703 0.698 -2580 292 1 + 9.608 -9.590 14.389 0.601 -0.749 -0.278 -2580 106 1 + 9.910 -9.342 14.064 0.399 -0.915 -0.062 -2580 106 1 + 10.282 -9.251 13.729 0.152 -0.975 0.162 -2580 292 1 + 10.680 -9.329 13.422 -0.114 -0.923 0.367 -2580 292 1 + 11.249 -8.996 13.868 -0.118 -0.810 0.574 -2581 292 1 + 11.140 -8.789 14.256 -0.045 -0.948 0.316 -2581 103 1 + 11.025 -8.712 14.686 0.031 -0.999 0.029 -2581 103 1 + 11.804 -9.212 13.645 0.125 -0.533 0.837 -2581 292 1 + 11.648 -8.909 13.943 0.229 -0.735 0.639 2581 292 1 + 11.524 -8.706 14.327 0.312 -0.870 0.382 2581 103 1 + 11.442 -8.621 14.764 0.366 -0.926 0.091 2581 103 1 + 11.410 -8.663 15.213 0.388 -0.898 -0.208 -2581 103 1 + 12.213 -8.958 13.655 0.394 -0.366 0.843 -2581 292 1 + 12.001 -8.690 13.951 0.535 -0.545 0.646 2581 292 1 + 11.863 -8.496 14.335 0.627 -0.674 0.390 2581 103 1 + 11.810 -8.393 14.772 0.663 -0.742 0.098 2581 103 1 + 11.847 -8.392 15.223 0.638 -0.743 -0.202 -2581 103 1 + 12.512 -8.587 13.585 0.591 -0.122 0.798 -2581 292 1 + 12.260 -8.370 13.891 0.759 -0.267 0.594 2581 292 1 + 12.111 -8.188 14.277 0.858 -0.388 0.336 2581 103 1 + 12.079 -8.060 14.710 0.879 -0.474 0.048 2581 103 1 + 12.167 -7.996 15.149 0.821 -0.516 -0.245 -2581 103 1 + 12.387 -7.992 13.772 0.869 0.060 0.491 -2581 292 1 + 12.233 -7.826 14.163 0.972 -0.051 0.230 -2581 103 1 + 12.212 -7.666 14.586 0.986 -0.157 -0.052 -2581 103 1 + 11.033 -7.687 17.327 0.647 -0.289 0.705 -2582 103 1 + 10.739 -7.768 17.661 0.844 -0.236 0.482 -2582 103 1 + 10.559 -7.880 18.061 0.963 -0.160 0.216 -2582 122 1 + 10.512 -8.015 18.491 0.995 -0.071 -0.071 -2582 122 1 + 11.036 -7.651 17.338 0.650 -0.256 0.716 -2582 103 1 + 10.741 -7.737 17.671 0.846 -0.199 0.494 -2582 103 1 + 10.561 -7.850 18.071 0.966 -0.123 0.227 -2582 122 1 + 10.514 -7.981 18.502 0.998 -0.036 -0.060 -2582 122 1 + 12.973 -8.928 11.942 0.894 -0.346 -0.284 -2583 292 1 + 13.093 -8.577 11.484 0.814 -0.581 0.021 -2583 291 1 + 8.328 -10.071 22.815 0.224 -0.709 0.669 -2584 120 1 + 7.954 -9.979 23.178 0.474 -0.770 0.427 -2584 145 1 + 8.444 -9.930 22.899 0.325 -0.587 0.742 -2584 120 1 + 8.071 -9.838 23.262 0.574 -0.648 0.500 -2584 145 1 + 12.587 -5.332 10.383 0.480 0.851 -0.214 -2586 293 1 + 12.338 -5.198 9.995 0.646 0.762 0.045 -2586 293 1 + 12.188 -4.948 9.614 0.746 0.595 0.299 -2586 89 1 + 12.152 -4.607 9.279 0.769 0.368 0.522 -2586 89 1 + 12.688 -5.438 10.274 0.592 0.734 -0.334 -2586 293 1 + 12.422 -5.287 9.904 0.769 0.634 -0.087 -2586 293 1 + 12.275 -5.039 9.521 0.867 0.468 0.169 -2586 89 1 + 12.260 -4.719 9.163 0.877 0.255 0.407 -2586 89 1 + 12.762 -5.526 10.191 0.542 0.793 -0.278 -2587 293 1 + 12.568 -5.447 9.743 0.672 0.740 0.021 -2587 293 1 + 12.483 -5.248 9.298 0.729 0.607 0.317 -2587 90 1 + 12.517 -4.949 8.906 0.706 0.408 0.579 -2587 90 1 + 12.666 -4.584 8.607 0.607 0.165 0.778 -2587 90 1 + 13.268 -6.010 10.262 0.501 0.408 -0.764 -2587 293 1 + 12.888 -5.828 10.004 0.754 0.286 -0.591 2587 293 1 + 12.631 -5.599 9.649 0.925 0.133 -0.355 2587 293 1 + 12.525 -5.348 9.236 0.996 -0.034 -0.080 2587 90 1 + 12.581 -5.103 8.811 0.959 -0.197 0.204 2587 90 1 + 12.793 -4.890 8.418 0.817 -0.339 0.466 2587 90 1 + 13.139 -4.732 8.102 0.587 -0.445 0.677 -2587 90 1 + 12.714 -6.120 9.842 0.462 -0.204 -0.863 -2587 293 1 + 12.544 -5.746 9.568 0.576 -0.454 -0.680 -2587 293 1 + 12.467 -5.445 9.182 0.627 -0.654 -0.423 -2587 90 1 + 12.492 -5.252 8.728 0.610 -0.783 -0.121 -2587 90 1 + 12.617 -5.186 8.254 0.527 -0.827 0.195 -2587 90 1 + 11.731 -8.807 7.924 0.644 0.586 -0.492 -2590 289 1 + 11.769 -9.073 7.465 0.618 0.764 -0.185 -2590 288 1 + 12.162 -8.792 8.522 0.787 0.128 -0.604 -2590 289 1 + 12.026 -9.115 8.121 0.877 0.343 -0.336 2590 289 1 + 12.057 -9.373 7.656 0.857 0.515 -0.027 2590 288 1 + 12.249 -9.533 7.186 0.728 0.622 0.287 -2590 288 1 + 12.324 -9.252 8.781 0.880 -0.135 -0.456 -2590 289 1 + 12.165 -9.506 8.341 0.986 0.034 -0.163 2590 289 1 + 12.191 -9.754 7.870 0.968 0.199 0.151 2590 288 1 + 12.401 -9.963 7.428 0.828 0.339 0.446 -2590 288 1 + 12.279 -9.743 9.029 0.853 -0.416 -0.314 -2590 289 1 + 12.126 -9.924 8.552 0.955 -0.295 0.004 2590 289 1 + 12.153 -10.160 8.075 0.937 -0.138 0.321 2590 288 1 + 12.358 -10.423 7.660 0.800 0.037 0.599 -2590 288 1 + 11.915 -10.307 8.724 0.789 -0.598 0.139 -2590 289 1 + 11.949 -10.533 8.243 0.767 -0.447 0.460 -2590 288 1 + 11.804 -10.468 8.758 0.863 -0.491 0.116 -2591 287 1 + 11.687 -10.516 9.557 0.515 -0.857 -0.013 -2591 289 1 + 11.485 -10.766 9.061 0.650 -0.690 0.318 2591 287 1 + 11.434 -11.177 8.639 0.684 -0.416 0.600 -2591 287 1 + 11.042 -10.934 9.303 0.355 -0.802 0.480 -2591 287 1 + 11.308 -12.033 7.959 0.896 -0.263 0.357 -2594 295 1 + 10.879 -12.016 8.551 0.612 -0.251 0.750 -2594 295 1 + 11.371 -12.192 7.749 0.854 -0.157 0.497 -2595 295 1 + 11.586 -11.796 7.649 0.711 -0.421 0.564 -2595 288 1 + 11.419 -12.811 7.398 0.996 0.008 0.083 -2595 295 1 + 11.496 -12.369 7.286 0.945 -0.287 0.158 2595 295 1 + 11.708 -11.969 7.197 0.804 -0.554 0.217 2595 288 1 + 12.034 -11.647 7.139 0.587 -0.768 0.256 -2595 288 1 + 11.371 -12.903 6.830 0.969 -0.045 -0.241 -2595 295 1 + 11.454 -12.451 6.783 0.914 -0.346 -0.210 2595 295 1 + 11.667 -12.048 6.707 0.772 -0.615 -0.160 2595 288 1 + 11.989 -11.733 6.608 0.557 -0.825 -0.094 -2595 288 1 + 11.252 -12.424 6.314 0.766 -0.327 -0.553 -2595 295 1 + 11.469 -12.022 6.250 0.621 -0.595 -0.510 -2595 288 1 + 7.248 -15.576 13.938 0.424 -0.363 -0.830 -2597 114 1 + 7.647 -15.823 14.438 0.689 -0.527 -0.497 -2597 114 1 + 8.386 -15.355 14.712 0.607 -0.761 -0.229 -2598 112 1 + 8.101 -15.890 15.042 0.796 -0.405 -0.449 -2598 113 1 + 8.601 -15.220 15.137 0.730 -0.684 0.014 -2598 112 1 + 8.304 -15.762 15.444 0.927 -0.322 -0.190 -2598 113 1 + 8.681 -15.022 15.585 0.775 -0.571 0.270 -2598 112 1 + 8.380 -15.576 15.866 0.976 -0.202 0.082 -2598 113 1 + 8.618 -14.782 16.014 0.739 -0.434 0.515 -2598 112 1 + 8.320 -15.349 16.271 0.938 -0.056 0.343 -2598 113 1 + 8.418 -14.521 16.384 0.625 -0.284 0.727 -2598 112 1 + 8.131 -15.102 16.621 0.816 0.103 0.569 -2598 113 1 + 7.850 -16.322 15.180 0.634 -0.684 -0.361 -2599 113 1 + 7.460 -16.742 14.927 0.895 -0.404 -0.192 -2599 114 1 + 9.214 -5.317 24.321 -0.715 0.622 -0.319 -2601 153 1 + 8.803 -5.679 24.208 -0.441 0.864 -0.244 -2601 149 1 + 9.288 -5.345 24.149 -0.652 0.598 -0.467 -2601 153 1 + 8.879 -5.708 24.031 -0.379 0.840 -0.389 -2601 149 1 + 9.511 -6.907 3.599 0.025 0.676 0.736 -2602 309 1 + 8.899 -7.007 3.937 0.433 0.743 0.511 -2602 306 1 + 9.249 -6.607 3.214 -0.125 0.847 0.516 -2602 309 1 + 8.637 -6.708 3.553 0.283 0.914 0.291 -2602 306 1 + 3.384 -12.121 12.587 -0.103 -0.824 -0.557 -2604 269 1 + 3.127 -11.940 12.232 0.068 -0.945 -0.320 -2604 339 1 + 2.880 -11.901 11.829 0.233 -0.971 -0.051 -2604 339 1 + 3.027 -12.138 12.824 -0.420 -0.839 -0.346 -2604 269 1 + 2.788 -11.956 12.457 -0.260 -0.960 -0.102 -2604 339 1 + 2.509 -11.918 12.075 -0.075 -0.985 0.153 -2604 339 1 + 1.839 -12.330 2.210 -0.912 -0.332 -0.240 -2606 323 1 + 1.523 -11.839 2.253 -0.702 -0.660 -0.269 -2606 321 1 + 1.822 -12.399 2.688 -0.923 -0.378 0.074 -2606 323 1 + 1.505 -11.912 2.764 -0.712 -0.702 0.023 -2606 321 1 + 2.085 -12.470 3.567 -0.934 -0.342 0.106 -2607 323 1 + 2.103 -12.576 3.994 -0.946 -0.271 -0.179 -2607 323 1 + 1.999 -12.718 4.397 -0.876 -0.177 -0.448 -2607 445 1 + 1.782 -12.882 4.743 -0.732 -0.068 -0.678 -2607 445 1 + 1.470 -13.054 5.001 -0.524 0.048 -0.850 -2607 445 1 + 2.417 -12.889 3.532 -0.539 -0.840 0.064 -2607 323 1 + 2.353 -12.892 3.967 -0.496 -0.838 -0.227 -2607 323 1 + 2.225 -13.003 4.373 -0.411 -0.764 -0.497 -2607 445 1 + 2.044 -13.213 4.715 -0.290 -0.624 -0.725 -2607 445 1 + 1.826 -13.503 4.963 -0.144 -0.431 -0.891 -2607 445 1 + 1.392 -12.904 5.046 -0.472 -0.053 -0.880 -2608 445 1 + 1.630 -12.594 4.823 -0.630 -0.260 -0.732 -2608 445 1 + 1.782 -12.319 4.502 -0.732 -0.443 -0.517 -2608 321 1 + 1.836 -12.103 4.111 -0.768 -0.587 -0.257 -2608 321 1 + 1.787 -11.967 3.685 -0.735 -0.677 0.027 -2608 321 1 + 1.388 -12.900 5.047 -0.476 -0.048 -0.878 -2608 445 1 + 1.627 -12.591 4.824 -0.635 -0.255 -0.729 -2608 445 1 + 1.780 -12.316 4.503 -0.737 -0.438 -0.515 -2608 321 1 + 1.834 -12.100 4.112 -0.773 -0.582 -0.255 -2608 321 1 + 1.783 -11.963 3.687 -0.739 -0.673 0.029 -2608 321 1 + 1.224 -14.946 13.523 0.326 -0.080 -0.942 -2609 420 1 + 1.869 -15.267 13.724 -0.015 -0.423 -0.906 -2609 422 1 + 1.291 -15.363 13.651 0.370 -0.358 -0.857 2609 420 1 + 0.799 -15.543 13.378 0.698 -0.239 -0.675 -2609 420 1 + 1.309 -15.733 13.889 0.382 -0.606 -0.698 -2609 420 1 + -0.160 -15.652 12.703 0.634 -0.517 -0.575 -2610 429 1 + -0.161 -15.652 12.703 0.633 -0.518 -0.575 -2610 429 1 + 2.851 -11.679 26.441 -0.401 -0.915 0.047 -2615 174 1 + 2.695 -11.705 26.023 -0.298 -0.897 0.326 -2615 174 1 + 2.500 -11.850 25.648 -0.167 -0.800 0.576 -2615 408 1 + 2.282 -12.102 25.350 -0.022 -0.632 0.774 -2615 408 1 + 2.559 -11.485 26.518 -0.657 -0.745 0.115 -2615 174 1 + 2.440 -11.536 26.090 -0.578 -0.712 0.400 -2615 174 1 + 2.245 -11.681 25.716 -0.447 -0.615 0.650 -2615 408 1 + 1.990 -11.909 25.428 -0.277 -0.463 0.842 -2615 408 1 + 2.192 -14.547 26.607 0.038 0.997 -0.063 -2616 389 1 + 2.130 -14.549 26.612 -0.106 0.993 -0.052 -2616 389 1 + 2.023 -12.858 25.041 0.151 -0.128 0.980 -2617 408 1 + 1.957 -12.860 25.047 0.009 -0.133 0.991 -2617 408 1 + 1.530 -12.763 25.089 0.074 -0.132 0.988 -2618 408 1 + 1.335 -13.153 25.115 0.204 0.128 0.971 -2618 396 1 + 1.166 -13.526 25.265 0.316 0.377 0.871 -2618 396 1 + 1.272 -12.639 25.093 -0.120 -0.039 0.992 -2618 408 1 + 1.090 -13.035 25.120 0.001 0.225 0.974 -2618 396 1 + 0.908 -13.402 25.270 0.122 0.470 0.874 -2618 396 1 + 2.096 -4.035 29.207 -0.192 0.979 -0.071 -2619 178 1 + 2.080 -4.113 28.837 -0.203 0.926 -0.317 -2619 178 1 + -3.302 -10.267 -1.683 0.534 0.113 -0.838 -2623 467 1 + -3.641 -10.380 -2.006 0.760 0.188 -0.622 -2623 467 1 + -3.863 -10.463 -2.427 0.908 0.244 -0.342 -2623 477 1 + -3.943 -10.509 -2.900 0.961 0.274 -0.026 -2623 477 1 + -3.272 -10.416 -1.670 0.564 -0.036 -0.825 -2623 467 1 + -3.617 -10.499 -1.996 0.794 0.019 -0.607 -2623 467 1 + -3.839 -10.579 -2.416 0.942 0.073 -0.327 -2623 477 1 + -3.915 -10.648 -2.888 0.993 0.119 -0.013 -2623 477 1 + -3.984 -10.323 -2.991 0.988 0.150 0.034 -2624 477 1 + -3.962 -10.114 -2.600 0.974 0.011 -0.226 -2624 477 1 + -3.814 -9.904 -2.239 0.875 -0.129 -0.467 -2624 468 1 + -3.550 -9.711 -1.939 0.699 -0.258 -0.667 -2624 468 1 + -4.019 -10.172 -3.065 0.953 0.299 -0.039 -2624 477 1 + -3.993 -9.982 -2.665 0.937 0.172 -0.305 -2624 477 1 + -3.845 -9.769 -2.306 0.838 0.030 -0.545 -2624 468 1 + -3.587 -9.552 -2.017 0.666 -0.114 -0.737 -2624 468 1 + -3.512 -7.668 -2.869 0.308 -0.816 -0.490 -2625 471 1 + -3.594 -7.594 -2.985 0.121 -0.648 -0.752 -2625 471 1 + -4.381 -9.572 -3.477 0.887 0.454 -0.085 -2626 477 1 + -4.458 -9.502 -3.586 0.697 0.625 -0.352 -2626 477 1 + -2.929 -7.199 -3.440 0.064 -0.712 -0.699 -2627 471 1 + -2.310 -7.235 -3.533 -0.349 -0.687 -0.637 -2627 472 1 + -2.938 -6.723 -3.784 0.060 -0.440 -0.896 -2627 471 1 + -2.317 -6.786 -3.858 -0.354 -0.398 -0.847 -2627 472 1 + -5.090 -9.471 -4.634 0.646 0.552 -0.528 -2629 477 1 + -5.380 -9.068 -4.728 0.839 0.283 -0.465 -2629 491 1 + -5.117 -9.506 -4.698 0.623 0.522 -0.583 -2629 477 1 + -5.407 -9.103 -4.793 0.816 0.254 -0.520 -2629 491 1 + -4.988 -9.913 -5.144 0.536 0.794 -0.286 -2631 477 1 + -5.156 -9.862 -5.637 0.648 0.760 0.043 -2631 485 1 + -5.206 -9.672 -6.122 0.682 0.633 0.367 -2631 485 1 + -4.733 -10.291 -5.293 0.803 0.399 -0.443 -2631 477 1 + -4.927 -10.202 -5.772 0.933 0.339 -0.124 -2631 485 1 + -4.951 -10.050 -6.272 0.948 0.238 0.210 -2631 485 1 + -4.706 -10.349 -5.300 0.785 0.437 -0.439 -2633 477 1 + -4.883 -10.313 -5.780 0.903 0.413 -0.119 -2633 484 1 + -4.700 -10.364 -5.303 0.790 0.425 -0.441 -2633 477 1 + -4.876 -10.329 -5.784 0.908 0.401 -0.121 -2633 484 1 + -4.533 -10.573 -5.261 0.679 0.564 -0.469 -2635 477 1 + -4.585 -10.741 -5.689 0.714 0.676 -0.184 -2635 483 1 + -4.052 -10.835 -4.730 0.799 0.063 -0.598 -2635 477 1 + -4.226 -11.044 -5.104 0.915 0.203 -0.348 2635 477 1 + -4.270 -11.223 -5.527 0.944 0.322 -0.066 2635 483 1 + -4.179 -11.357 -5.961 0.884 0.412 0.223 -2635 483 1 + -4.164 -11.576 -4.874 0.963 -0.207 -0.172 -2635 477 1 + -4.206 -11.770 -5.292 0.991 -0.077 0.107 -2635 483 1 + -4.216 -11.981 -5.127 0.998 0.064 -0.002 -2637 483 1 + -4.133 -12.399 -4.561 0.907 -0.184 -0.380 -2637 476 1 + -4.243 -12.377 -5.127 0.980 -0.199 -0.002 2637 483 1 + -4.135 -12.400 -5.694 0.908 -0.184 0.376 -2637 483 1 + -4.372 -12.752 -5.126 0.894 -0.447 -0.002 -2637 483 1 + -4.756 -10.393 -6.487 0.831 0.443 0.337 -2640 485 1 + -4.352 -11.013 -6.559 0.784 0.609 -0.119 -2640 483 1 + -4.595 -10.572 -6.852 0.946 0.315 0.076 2640 485 1 + -4.624 -10.059 -7.127 0.965 -0.027 0.260 -2640 485 1 + -4.320 -11.249 -6.985 0.803 0.474 -0.362 -2640 483 1 + -4.566 -10.783 -7.232 0.967 0.163 -0.197 2640 485 1 + -4.594 -10.280 -7.525 0.985 -0.172 -0.002 -2640 485 1 + -4.439 -11.499 -7.386 0.735 0.331 -0.592 -2640 483 1 + -4.672 -11.006 -7.592 0.891 0.003 -0.455 2640 485 1 + -4.704 -10.514 -7.901 0.912 -0.325 -0.249 -2640 485 1 + -4.696 -11.737 -7.725 0.588 0.195 -0.785 -2640 483 1 + -4.903 -11.220 -7.895 0.725 -0.150 -0.672 2640 485 1 + -4.945 -10.737 -8.217 0.754 -0.472 -0.457 -2640 485 1 + -5.068 -11.941 -7.967 0.375 0.079 -0.923 -2640 483 1 + -5.235 -11.402 -8.112 0.487 -0.281 -0.827 2640 485 1 + -5.293 -10.927 -8.443 0.525 -0.597 -0.606 -2640 485 1 + -5.516 -12.089 -8.088 0.119 -0.006 -0.993 -2640 483 1 + -5.637 -11.535 -8.220 0.199 -0.376 -0.905 2640 485 1 + -5.712 -11.066 -8.557 0.250 -0.689 -0.681 -2640 485 1 + -6.067 -11.606 -8.210 -0.109 -0.427 -0.898 -2640 485 1 + -5.438 -9.250 -6.203 0.836 0.352 0.420 -2643 485 1 + -5.622 -9.081 -5.803 0.959 0.239 0.154 -2643 491 1 + -5.663 -8.877 -5.380 0.986 0.103 -0.128 -2643 491 1 + -5.319 -8.934 -6.789 0.508 0.714 0.482 -2643 485 1 + -5.594 -8.892 -6.409 0.691 0.686 0.228 2643 485 1 + -5.767 -8.748 -5.994 0.806 0.590 -0.048 2643 491 1 + -5.820 -8.517 -5.587 0.841 0.436 -0.319 2643 491 1 + -5.749 -8.221 -5.227 0.794 0.239 -0.559 -2643 491 1 + -5.904 -8.646 -6.606 0.402 0.914 0.044 -2643 485 1 + -6.055 -8.520 -6.178 0.503 0.830 -0.241 -2643 491 1 + -6.131 -8.270 -5.786 0.554 0.664 -0.503 -2643 491 1 + -6.030 -8.570 -6.742 0.486 0.863 0.135 -2644 485 1 + -6.301 -8.387 -6.439 0.667 0.742 -0.067 -2644 488 1 + -6.485 -8.106 -6.144 0.790 0.554 -0.264 -2644 488 1 + -6.081 -8.501 -7.439 0.007 0.998 0.055 -2644 485 1 + -6.366 -8.451 -7.099 0.197 0.965 -0.172 2644 485 1 + -6.625 -8.273 -6.783 0.370 0.846 -0.383 2644 488 1 + -6.835 -7.983 -6.517 0.510 0.653 -0.560 2644 488 1 + -6.978 -7.605 -6.325 0.605 0.401 -0.688 -2644 488 1 + -6.780 -8.530 -7.378 -0.158 0.898 -0.411 -2644 485 1 + -7.023 -8.349 -7.051 0.004 0.777 -0.630 -2644 488 1 + -7.266 -8.065 -6.807 0.166 0.587 -0.792 -2644 488 1 + -4.213 -14.543 11.168 -0.216 -0.720 -0.660 -2646 432 1 + -4.516 -14.281 10.847 -0.014 -0.895 -0.446 -2646 534 1 + -4.821 -14.175 10.448 0.190 -0.965 -0.180 -2646 534 1 + -4.386 -14.580 11.296 -0.364 -0.751 -0.551 -2646 432 1 + -4.675 -14.314 10.965 -0.171 -0.928 -0.330 -2646 534 1 + -4.995 -14.212 10.576 0.041 -0.997 -0.071 -2646 534 1 + -4.805 -2.302 29.120 0.559 -0.324 0.763 -2647 806 1 + -4.749 -2.279 29.081 0.681 -0.274 0.679 -2647 806 1 + -3.632 -4.148 29.726 -0.222 0.906 0.359 -2648 194 1 + -3.579 -4.126 29.689 -0.098 0.957 0.273 -2648 194 1 + -7.482 -21.638 12.908 0.271 -0.733 0.625 -2650 548 1 + -7.841 -21.991 12.792 0.510 -0.497 0.702 -2650 717 1 + -8.109 -22.434 12.801 0.689 -0.202 0.696 -2650 717 1 + -7.763 -21.450 13.131 0.017 -0.563 0.826 -2650 548 1 + -8.093 -21.823 12.992 0.237 -0.314 0.919 -2650 717 1 + -8.380 -22.253 13.016 0.429 -0.028 0.903 -2650 717 1 + -7.930 -21.154 13.416 0.129 -0.760 0.637 -2652 548 1 + -8.409 -21.259 13.519 0.448 -0.691 0.567 -2652 548 1 + -8.813 -21.479 13.718 0.717 -0.544 0.435 -2652 714 1 + -9.097 -21.790 13.989 0.907 -0.337 0.254 -2652 714 1 + -7.952 -20.941 13.608 0.107 -0.543 0.833 -2652 548 1 + -8.427 -21.086 13.675 0.423 -0.446 0.789 -2652 548 1 + -8.830 -21.306 13.873 0.693 -0.299 0.656 -2652 714 1 + -9.118 -21.576 14.182 0.885 -0.119 0.451 -2652 714 1 + -7.857 -20.656 13.839 0.044 -0.733 0.679 -2653 548 1 + -8.248 -20.541 14.104 0.304 -0.809 0.503 -2653 548 1 + -8.591 -20.554 14.448 0.533 -0.801 0.273 -2653 710 1 + -8.850 -20.692 14.835 0.705 -0.709 0.015 -2653 710 1 + -7.703 -20.420 14.004 0.200 -0.494 0.846 -2653 548 1 + -8.124 -20.352 14.236 0.481 -0.539 0.691 -2653 548 1 + -8.469 -20.368 14.578 0.711 -0.528 0.464 -2653 710 1 + -8.703 -20.468 14.992 0.867 -0.462 0.188 -2653 710 1 + -9.242 -21.374 14.898 0.967 -0.254 -0.027 -2654 714 1 + -9.256 -21.425 14.975 0.957 -0.290 0.028 -2654 714 1 + -9.151 -22.345 13.873 0.943 0.033 0.332 -2655 714 1 + -8.931 -22.528 13.493 0.796 0.155 0.585 -2655 717 1 + -9.160 -22.408 13.898 0.936 -0.013 0.350 -2655 714 1 + -8.939 -22.590 13.518 0.790 0.108 0.604 -2655 717 1 + -2.597 5.917 29.555 -0.942 0.008 0.336 -2657 820 1 + -2.426 6.376 29.747 -0.827 0.316 0.465 -2657 820 1 + -1.601 8.871 30.069 -0.572 0.476 0.667 -2659 824 1 + -1.876 9.109 29.773 -0.389 0.318 0.865 -2659 824 1 + -2.208 9.394 29.604 -0.168 0.128 0.978 -2659 831 1 + -2.565 9.697 29.578 0.070 -0.074 0.995 -2659 831 1 + -1.063 9.054 30.373 -0.502 0.789 0.354 -2659 824 1 + -1.331 9.144 29.999 -0.323 0.729 0.603 2659 824 1 + -1.647 9.341 29.714 -0.112 0.598 0.793 2659 824 1 + -1.979 9.626 29.545 0.109 0.408 0.906 2659 831 1 + -2.295 9.971 29.508 0.320 0.179 0.930 2659 831 1 + -2.564 10.341 29.608 0.499 -0.068 0.864 -2659 831 1 + -1.061 9.337 29.794 -0.073 0.908 0.413 -2659 824 1 + -1.417 9.505 29.539 0.165 0.796 0.583 -2659 824 1 + -1.749 9.790 29.370 0.386 0.606 0.695 -2659 831 1 + -2.025 10.163 29.303 0.570 0.357 0.740 -2659 831 1 + -0.622 9.483 29.728 -0.366 0.811 0.457 -2661 824 1 + -0.573 9.763 29.404 -0.398 0.624 0.673 -2661 824 1 + -0.574 10.122 29.163 -0.397 0.385 0.833 -2661 829 1 + -0.625 10.528 29.026 -0.364 0.114 0.924 -2661 829 1 + -0.151 9.367 30.193 0.019 0.968 0.251 -2661 824 1 + -0.169 9.534 29.795 0.031 0.856 0.516 2661 824 1 + -0.183 9.808 29.462 0.041 0.674 0.738 2661 824 1 + -0.192 10.165 29.220 0.047 0.436 0.899 2661 829 1 + -0.196 10.577 29.090 0.049 0.161 0.986 2661 829 1 + -0.193 11.008 29.082 0.047 -0.126 0.991 -2661 829 1 + 0.401 9.294 30.055 0.335 0.926 0.172 -2661 824 1 + 0.274 9.476 29.685 0.420 0.805 0.419 2661 824 1 + 0.199 9.758 29.367 0.470 0.617 0.631 2661 824 1 + 0.182 10.116 29.127 0.481 0.379 0.791 2661 829 1 + 0.225 10.521 28.985 0.453 0.108 0.885 2661 829 1 + 0.324 10.940 28.954 0.387 -0.171 0.906 -2661 829 1 + 0.828 9.100 29.724 0.579 0.815 -0.017 -2661 824 1 + 0.616 9.320 29.420 0.720 0.668 0.186 2661 824 1 + 0.494 9.623 29.138 0.802 0.466 0.374 2661 824 1 + 0.471 9.984 28.903 0.817 0.225 0.531 2661 829 1 + 0.549 10.373 28.734 0.765 -0.034 0.643 2661 829 1 + 0.723 10.758 28.644 0.649 -0.291 0.703 -2661 829 1 + 1.042 8.823 29.269 0.701 0.657 -0.277 -2661 824 1 + 0.787 9.098 29.054 0.870 0.474 -0.134 2661 824 1 + 0.641 9.432 28.823 0.968 0.251 0.020 2661 824 1 + 0.615 9.797 28.595 0.985 0.008 0.172 2661 829 1 + 0.712 10.163 28.387 0.921 -0.236 0.310 2661 829 1 + 0.922 10.500 28.219 0.780 -0.461 0.423 -2661 829 1 + 0.752 8.856 28.664 0.839 0.262 -0.477 -2661 824 1 + 0.611 9.224 28.487 0.933 0.017 -0.358 -2661 824 1 + 0.585 9.593 28.265 0.950 -0.229 -0.211 -2661 829 1 + 0.678 9.934 28.017 0.889 -0.457 -0.045 -2661 829 1 + 0.716 8.760 28.528 0.863 0.326 -0.386 -2662 824 1 + 0.550 9.043 28.222 0.974 0.138 -0.182 -2662 824 1 + 0.515 9.343 27.892 0.997 -0.063 0.039 -2662 828 1 + 0.613 9.636 27.566 0.932 -0.258 0.255 -2662 828 1 + 0.675 8.561 28.351 0.828 0.152 -0.540 -2662 824 1 + 0.515 8.869 28.068 0.935 -0.054 -0.352 -2662 824 1 + 0.480 9.170 27.738 0.958 -0.254 -0.131 -2662 828 1 + 0.572 9.437 27.390 0.896 -0.432 0.101 -2662 828 1 + 1.098 10.290 27.008 0.933 -0.203 0.296 -2664 828 1 + 1.126 10.589 27.514 0.915 -0.402 -0.041 -2664 829 1 + 1.192 10.758 26.745 0.987 0.065 0.146 -2664 828 1 + 1.214 11.027 27.268 0.973 -0.114 -0.203 -2664 829 1 + 1.108 11.247 26.517 0.939 0.344 0.016 -2664 828 1 + 1.135 11.483 27.055 0.921 0.186 -0.343 -2664 829 1 + 0.855 11.699 26.349 0.794 0.603 -0.080 -2664 828 1 + 0.898 11.906 26.898 0.765 0.465 -0.446 -2664 829 1 + 0.460 12.066 26.260 0.569 0.812 -0.131 -2664 828 1 + 0.530 12.249 26.815 0.522 0.690 -0.501 -2664 829 1 + -0.030 12.305 26.260 0.289 0.948 -0.131 -2664 828 1 + 0.072 12.472 26.815 0.221 0.837 -0.501 -2664 829 1 + -0.561 12.389 26.349 -0.015 0.997 -0.080 -2664 828 1 + -0.425 12.551 26.898 -0.106 0.889 -0.446 -2664 829 1 + -1.672 12.243 26.565 0.090 0.996 -0.015 -2665 830 1 + -1.126 12.207 25.967 -0.338 0.893 -0.298 -2665 828 1 + -1.720 12.148 26.056 0.058 0.932 -0.358 2665 830 1 + -2.300 12.315 26.058 0.445 0.821 -0.359 -2665 830 1 + -1.190 11.921 25.486 -0.374 0.729 -0.573 -2665 828 1 + -1.779 11.883 25.611 0.019 0.754 -0.656 2665 830 1 + -2.364 12.029 25.577 0.408 0.657 -0.634 -2665 830 1 + -1.841 11.482 25.287 -0.023 0.484 -0.875 -2665 830 1 + -1.813 12.283 26.790 0.184 0.969 -0.165 -2667 830 1 + -1.349 12.303 26.944 -0.125 0.955 -0.268 -2667 829 1 + -2.420 12.434 27.147 0.376 0.888 0.263 -2667 830 1 + -1.963 12.297 27.259 0.072 0.979 0.189 2667 830 1 + -1.495 12.317 27.402 -0.241 0.966 0.094 2667 829 1 + -1.065 12.492 27.559 -0.527 0.850 -0.011 -2667 829 1 + -2.085 12.126 27.706 -0.020 0.851 0.525 -2667 830 1 + -1.614 12.151 27.837 -0.334 0.835 0.437 -2667 829 1 + -3.034 12.382 27.581 0.025 0.859 0.511 -2668 830 1 + -3.200 12.189 28.232 0.136 0.988 0.077 -2668 831 1 + -3.520 12.386 27.458 -0.253 0.861 0.441 -2668 830 1 + -3.687 12.193 28.109 -0.142 0.990 0.007 -2668 831 1 + -3.977 12.249 27.300 -0.514 0.783 0.351 -2668 830 1 + -4.143 12.056 27.952 -0.403 0.911 -0.083 -2668 831 1 + -4.364 11.983 27.123 -0.735 0.631 0.250 -2668 830 1 + -4.530 11.790 27.774 -0.624 0.759 -0.185 -2668 831 1 + -4.647 11.611 26.940 -0.897 0.418 0.145 -2668 830 1 + -4.813 11.418 27.592 -0.786 0.547 -0.289 -2668 831 1 + -4.802 11.165 26.769 -0.985 0.164 0.047 -2668 830 1 + -4.969 10.972 27.420 -0.875 0.292 -0.387 -2668 831 1 + -4.816 10.685 26.623 -0.993 -0.111 -0.036 -2668 830 1 + -4.982 10.492 27.274 -0.882 0.018 -0.470 -2668 831 1 + -2.204 11.940 28.172 0.059 0.975 0.214 -2669 831 1 + -1.670 12.032 28.077 -0.297 0.914 0.277 -2669 829 1 + -2.607 11.852 28.758 0.475 0.795 0.378 -2669 831 1 + -2.104 11.778 28.549 0.139 0.844 0.518 2669 831 1 + -1.573 11.874 28.443 -0.215 0.780 0.588 2669 829 1 + -1.085 12.128 28.456 -0.540 0.611 0.579 -2669 829 1 + -2.472 11.515 29.106 0.552 0.602 0.576 -2669 831 1 + -1.990 11.495 28.841 0.231 0.616 0.753 2669 831 1 + -1.462 11.599 28.727 -0.121 0.546 0.829 2669 829 1 + -0.958 11.813 28.781 -0.457 0.403 0.793 -2669 829 1 + -2.336 11.076 29.309 0.630 0.351 0.693 -2669 831 1 + -1.876 11.126 29.012 0.323 0.318 0.891 2669 831 1 + -1.351 11.240 28.894 -0.027 0.242 0.970 2669 829 1 + -0.831 11.403 28.971 -0.373 0.134 0.918 -2669 829 1 + -1.776 10.717 29.041 0.404 -0.012 0.915 -2669 831 1 + -1.254 10.842 28.922 0.056 -0.095 0.994 -2669 829 1 + -6.592 -25.630 17.227 0.322 -0.905 0.278 -2670 728 1 + -7.095 -25.864 17.522 0.658 -0.749 0.082 -2670 726 1 + -6.463 -25.377 17.624 0.405 -0.742 0.534 -2670 728 1 + -6.959 -25.596 17.942 0.735 -0.596 0.322 -2670 726 1 + -6.406 -25.013 17.943 0.442 -0.507 0.740 -2670 728 1 + -6.898 -25.210 18.280 0.770 -0.375 0.515 -2670 726 1 + -5.611 -14.733 27.643 -0.761 -0.649 0.010 -2671 382 1 + -5.977 -14.423 27.723 -0.516 -0.855 -0.044 -2671 220 1 + -6.425 -14.249 27.796 -0.218 -0.972 -0.092 -2671 220 1 + -5.608 -14.735 27.664 -0.758 -0.651 0.028 -2671 382 1 + -5.975 -14.425 27.743 -0.514 -0.857 -0.024 -2671 220 1 + -6.423 -14.251 27.818 -0.215 -0.974 -0.074 -2671 220 1 + -3.294 5.137 15.873 0.251 0.583 0.773 -2673 28 1 + -3.376 5.584 15.669 0.305 0.286 0.908 -2673 28 1 + -3.408 6.078 15.616 0.327 -0.044 0.944 -2673 23 1 + -3.386 6.565 15.718 0.312 -0.368 0.876 -2673 23 1 + -3.312 6.990 15.965 0.263 -0.652 0.711 -2673 23 1 + -3.015 5.149 15.628 0.706 0.602 0.373 -2673 28 1 + -3.227 5.590 15.539 0.847 0.308 0.432 -2673 28 1 + -3.300 6.082 15.521 0.896 -0.020 0.445 -2673 23 1 + -3.224 6.571 15.576 0.845 -0.346 0.408 -2673 23 1 + -3.008 7.003 15.699 0.701 -0.634 0.326 -2673 23 1 + -2.925 5.136 15.500 0.646 0.611 0.458 -2674 28 1 + -3.059 5.565 15.295 0.735 0.325 0.595 -2674 28 1 + -3.074 6.046 15.186 0.745 0.004 0.667 -2674 22 1 + -2.967 6.529 15.187 0.674 -0.318 0.667 -2674 22 1 + -2.426 4.678 15.202 0.658 0.745 -0.108 -2674 28 1 + -2.736 5.042 15.079 0.864 0.502 -0.026 2674 28 1 + -2.905 5.489 14.952 0.977 0.205 0.058 2674 28 1 + -2.915 5.968 14.835 0.984 -0.115 0.137 2674 22 1 + -2.766 6.429 14.740 0.884 -0.422 0.200 2674 22 1 + -2.473 6.821 14.677 0.689 -0.683 0.242 -2674 22 1 + -2.555 4.518 14.589 0.573 0.640 -0.511 -2674 28 1 + -2.829 4.926 14.633 0.756 0.368 -0.541 2674 28 1 + -2.981 5.394 14.589 0.858 0.057 -0.511 2674 28 1 + -2.993 5.871 14.462 0.866 -0.261 -0.427 2674 22 1 + -2.865 6.305 14.266 0.780 -0.551 -0.296 2674 22 1 + -2.610 6.650 14.021 0.610 -0.781 -0.133 -2674 22 1 + -3.172 4.830 14.324 0.362 0.258 -0.896 -2674 28 1 + -3.260 5.316 14.338 0.421 -0.066 -0.905 -2674 28 1 + -3.280 5.791 14.204 0.434 -0.383 -0.816 -2674 22 1 + -3.229 6.203 13.938 0.400 -0.658 -0.638 -2674 22 1 + -2.377 7.201 15.093 0.744 -0.466 0.479 -2676 22 1 + -2.303 7.572 15.673 0.694 -0.714 0.092 -2676 23 1 + -2.107 7.528 14.849 0.898 -0.279 0.340 -2676 22 1 + -2.033 7.899 15.429 0.849 -0.527 -0.047 -2676 23 1 + -1.963 7.914 14.584 0.980 -0.059 0.189 -2676 22 1 + -1.889 8.285 15.164 0.931 -0.306 -0.198 -2676 23 1 + -1.957 8.326 14.320 0.984 0.176 0.038 -2676 22 1 + -1.883 8.697 14.900 0.934 -0.071 -0.349 -2676 23 1 + -2.090 8.730 14.078 0.908 0.407 -0.100 -2676 22 1 + -2.016 9.101 14.658 0.858 0.160 -0.487 -2676 23 1 + -2.350 9.093 13.879 0.759 0.615 -0.214 -2676 22 1 + -2.276 9.464 14.459 0.710 0.368 -0.601 -2676 23 1 + -2.717 9.385 13.739 0.549 0.782 -0.294 -2676 22 1 + -2.643 9.757 14.319 0.500 0.535 -0.681 -2676 23 1 + -3.442 9.910 14.000 0.485 0.676 -0.555 -2677 24 1 + -3.525 9.544 13.413 0.088 0.873 -0.480 -2677 22 1 + -3.785 9.874 13.760 0.261 0.653 -0.711 2677 24 1 + -3.993 10.333 13.965 0.400 0.347 -0.848 -2677 24 1 + -3.922 9.426 13.245 -0.139 0.805 -0.577 -2677 22 1 + -4.158 9.763 13.602 0.018 0.580 -0.814 2677 24 1 + -4.391 10.215 13.797 0.173 0.279 -0.945 -2677 24 1 + -4.534 9.585 13.537 -0.226 0.464 -0.856 -2677 24 1 + -3.456 10.620 14.594 0.707 0.510 -0.489 -2678 24 1 + -2.913 10.202 14.622 0.345 0.789 -0.508 -2678 23 1 + -3.357 10.778 15.036 0.764 0.601 -0.236 -2678 24 1 + -2.815 10.360 15.065 0.402 0.879 -0.255 -2678 23 1 + -3.340 10.833 15.513 0.774 0.632 0.036 -2678 24 1 + -2.797 10.415 15.541 0.412 0.911 0.017 -2678 23 1 + -3.404 10.781 15.986 0.737 0.602 0.306 -2678 24 1 + -2.861 10.363 16.014 0.375 0.881 0.287 -2678 23 1 + -3.546 10.626 16.417 0.656 0.514 0.553 -2678 24 1 + -3.003 10.208 16.446 0.294 0.793 0.534 -2678 23 1 + -3.754 10.380 16.774 0.537 0.373 0.756 -2678 24 1 + -3.211 9.962 16.802 0.175 0.652 0.738 -2678 23 1 + -4.011 10.063 17.026 0.390 0.192 0.900 -2678 24 1 + -3.468 9.645 17.054 0.028 0.471 0.882 -2678 23 1 + -4.298 9.700 17.154 0.226 -0.015 0.974 -2678 24 1 + -3.755 9.282 17.182 -0.135 0.263 0.955 -2678 23 1 + -4.590 9.320 17.149 0.059 -0.233 0.971 -2678 24 1 + -4.048 8.902 17.177 -0.303 0.046 0.952 -2678 23 1 + -5.590 9.630 17.109 0.020 -0.324 0.946 -2680 24 1 + -6.017 9.797 17.256 0.304 -0.435 0.848 -2680 24 1 + -6.396 9.896 17.535 0.557 -0.501 0.662 -2680 14 1 + -6.690 9.918 17.915 0.753 -0.516 0.408 -2680 14 1 + -4.969 10.013 17.155 -0.157 0.163 0.974 -2680 24 1 + -5.444 10.087 17.145 0.160 0.114 0.980 2680 24 1 + -5.895 10.178 17.286 0.460 0.053 0.886 2680 24 1 + -6.274 10.278 17.565 0.714 -0.013 0.700 2680 14 1 + -6.544 10.375 17.951 0.893 -0.078 0.443 2680 14 1 + -6.675 10.461 18.406 0.981 -0.135 0.140 -2680 14 1 + -4.972 10.606 16.937 -0.159 0.502 0.850 -2680 24 1 + -5.447 10.538 16.980 0.157 0.547 0.822 2680 24 1 + -5.897 10.555 17.148 0.458 0.536 0.709 2680 24 1 + -6.277 10.655 17.427 0.711 0.470 0.524 2680 14 1 + -6.546 10.827 17.786 0.891 0.355 0.284 2680 14 1 + -6.679 11.054 18.189 0.979 0.204 0.016 -2680 14 1 + -5.598 10.862 16.658 0.013 0.858 0.513 -2680 24 1 + -6.023 10.826 16.880 0.296 0.882 0.365 -2680 24 1 + -6.403 10.925 17.158 0.549 0.816 0.180 -2680 14 1 + -6.697 11.151 17.464 0.746 0.666 -0.024 -2680 14 1 + -5.641 10.999 16.468 0.041 0.767 0.640 -2682 24 1 + -6.105 11.081 16.516 0.351 0.712 0.608 -2682 10 1 + -5.170 11.281 16.099 -0.272 0.888 0.371 -2682 24 1 + -5.640 11.224 16.092 0.042 0.926 0.376 2682 24 1 + -6.104 11.307 16.140 0.351 0.871 0.344 2682 10 1 + -6.516 11.519 16.240 0.626 0.729 0.277 -2682 10 1 + -5.199 11.393 15.629 -0.289 0.952 0.102 -2682 24 1 + -5.667 11.326 15.666 0.023 0.997 0.077 2682 24 1 + -6.131 11.408 15.714 0.333 0.942 0.045 2682 10 1 + -6.545 11.631 15.769 0.609 0.793 0.008 -2682 10 1 + -5.718 11.293 15.231 -0.013 0.974 -0.227 -2682 24 1 + -6.182 11.375 15.280 0.297 0.919 -0.260 -2682 10 1 + -5.764 11.274 15.134 0.018 0.987 -0.163 -2683 24 1 + -6.269 11.365 15.091 0.354 0.925 -0.134 -2683 9 1 + -6.711 11.621 15.024 0.649 0.755 -0.089 -2683 9 1 + -5.282 11.118 14.565 -0.336 0.795 -0.506 -2683 24 1 + -5.784 11.085 14.672 -0.001 0.817 -0.577 2683 24 1 + -6.287 11.196 14.677 0.334 0.743 -0.580 2683 9 1 + -6.731 11.438 14.580 0.630 0.581 -0.515 2683 9 1 + -7.063 11.784 14.391 0.852 0.351 -0.390 -2683 9 1 + -5.894 10.719 14.349 -0.100 0.489 -0.867 -2683 24 1 + -6.386 10.869 14.388 0.228 0.389 -0.892 -2683 9 1 + -6.837 11.087 14.269 0.529 0.244 -0.813 -2683 9 1 + -7.269 12.217 15.449 0.719 0.631 0.293 -2685 9 1 + -6.846 11.815 15.826 0.437 0.898 0.041 -2685 10 1 + -7.738 12.047 16.377 0.529 0.806 0.266 -2687 9 1 + -7.724 11.981 16.904 0.520 0.850 -0.086 -2687 14 1 + -8.163 12.211 16.404 0.182 0.940 0.288 -2687 9 1 + -8.159 12.149 16.932 0.180 0.982 -0.064 -2687 14 1 + -8.596 12.517 16.107 0.472 0.736 0.486 -2689 9 1 + -8.982 12.707 16.366 0.729 0.609 0.313 -2689 9 1 + -9.245 13.000 16.677 0.904 0.414 0.106 -2689 8 1 + -9.357 13.362 17.006 0.978 0.173 -0.113 -2689 8 1 + -8.632 12.593 16.006 0.431 0.824 0.367 -2689 9 1 + -9.010 12.768 16.284 0.683 0.707 0.182 -2689 9 1 + -9.274 13.062 16.593 0.859 0.511 -0.024 -2689 8 1 + -9.394 13.442 16.898 0.939 0.258 -0.228 -2689 8 1 + -8.601 12.806 15.649 0.410 0.682 0.605 -2691 9 1 + -8.950 13.173 15.613 0.643 0.437 0.629 -2691 5 1 + -7.941 12.713 15.186 0.285 0.950 0.123 -2691 9 1 + -8.385 12.947 15.107 0.581 0.795 0.175 2691 9 1 + -8.729 13.318 15.059 0.811 0.547 0.207 2691 5 1 + -8.933 13.783 15.047 0.947 0.238 0.215 -2691 5 1 + -8.361 12.881 14.512 0.600 0.742 -0.298 -2691 9 1 + -8.704 13.250 14.450 0.829 0.496 -0.257 -2691 5 1 + -8.384 12.823 14.224 0.616 0.781 -0.107 -2692 2 1 + -7.772 12.340 14.090 0.394 0.710 -0.584 -2692 9 1 + -8.249 12.538 13.813 0.712 0.578 -0.399 2692 2 1 + -8.562 12.868 13.445 0.921 0.358 -0.153 -2692 2 1 + -7.762 11.918 13.747 0.400 0.437 -0.805 -2692 9 1 + -8.239 12.136 13.486 0.718 0.292 -0.631 2692 2 1 + -8.552 12.420 13.081 0.927 0.102 -0.361 -2692 2 1 + -8.357 11.671 13.288 0.635 -0.038 -0.772 -2692 2 1 + -8.912 13.438 13.518 0.721 0.684 -0.112 -2694 2 1 + -9.105 13.958 13.959 0.849 0.337 -0.406 -2694 5 1 + -9.232 13.613 13.173 0.538 0.784 -0.309 -2694 2 1 + -9.424 14.133 13.614 0.667 0.438 -0.603 -2694 5 1 + -9.643 13.695 12.897 0.304 0.831 -0.466 -2694 2 1 + -9.835 14.215 13.339 0.432 0.484 -0.761 -2694 5 1 + -10.110 13.677 12.715 0.037 0.821 -0.570 -2694 2 1 + -10.303 14.197 13.156 0.165 0.474 -0.865 -2694 5 1 + -10.276 13.326 12.344 -0.058 0.620 -0.782 -2695 2 1 + -10.824 13.079 11.978 0.308 0.785 -0.538 -2695 1 1 + -9.993 12.978 12.136 0.103 0.421 -0.901 -2695 2 1 + -10.558 12.751 11.782 0.480 0.573 -0.665 -2695 1 1 + -9.771 12.548 12.038 0.231 0.176 -0.957 -2695 2 1 + -10.348 12.345 11.689 0.615 0.311 -0.724 -2695 1 1 + -9.628 12.076 12.058 0.312 -0.094 -0.945 -2695 2 1 + -10.213 11.899 11.708 0.702 0.023 -0.712 -2695 1 1 + -9.580 11.604 12.195 0.340 -0.364 -0.867 -2695 2 1 + -10.167 11.454 11.838 0.731 -0.264 -0.629 -2695 1 1 + -10.954 13.601 12.755 0.002 0.726 -0.688 -2697 5 1 + -11.628 13.329 12.429 -0.211 0.946 -0.247 -2697 1 1 + -11.433 13.629 12.916 -0.342 0.746 -0.572 2697 5 1 + -11.320 14.110 13.263 -0.417 0.425 -0.804 -2697 5 1 + -11.852 13.510 13.172 -0.643 0.661 -0.388 -2697 5 1 + -12.110 13.312 13.171 -0.471 0.793 -0.387 -2698 1 1 + -12.223 13.544 13.582 -0.395 0.638 -0.661 -2698 6 1 + -12.498 12.847 12.776 -0.772 0.635 -0.024 -2698 1 1 + -12.498 12.988 13.240 -0.772 0.542 -0.333 2698 1 1 + -12.620 13.213 13.653 -0.691 0.391 -0.608 2698 6 1 + -12.851 13.500 13.970 -0.537 0.200 -0.820 -2698 6 1 + -12.756 12.379 12.947 -0.939 0.333 0.087 -2698 1 1 + -12.733 12.562 13.396 -0.954 0.212 -0.212 2698 1 1 + -12.861 12.778 13.812 -0.869 0.068 -0.490 2698 6 1 + -13.124 13.004 14.151 -0.693 -0.083 -0.716 -2698 6 1 + -12.805 11.874 13.186 -0.970 0.007 0.242 -2698 1 1 + -12.778 12.102 13.614 -0.988 -0.145 -0.044 2698 1 1 + -12.906 12.308 14.035 -0.903 -0.282 -0.324 2698 6 1 + -13.176 12.469 14.405 -0.723 -0.389 -0.571 -2698 6 1 + -12.637 11.411 13.456 -0.862 -0.291 0.415 -2698 1 1 + -12.625 11.681 13.859 -0.870 -0.471 0.146 2698 1 1 + -12.749 11.877 14.286 -0.787 -0.602 -0.138 2698 6 1 + -12.998 11.979 14.690 -0.621 -0.669 -0.408 -2698 6 1 + -12.298 11.366 14.093 -0.617 -0.716 0.327 -2698 1 1 + -12.416 11.555 14.524 -0.538 -0.842 0.040 -2698 6 1 + -12.324 14.293 14.145 -0.236 0.653 -0.720 -2700 6 1 + -11.715 14.393 13.806 -0.642 0.586 -0.494 -2700 5 1 + -12.240 14.877 14.813 -0.121 0.665 -0.737 -2702 7 1 + -12.656 14.475 14.536 -0.426 0.757 -0.496 -2702 6 1 + -12.697 14.739 14.858 -0.398 0.581 -0.710 2702 7 1 + -12.785 15.070 15.096 -0.340 0.360 -0.869 -2702 7 1 + -13.069 14.246 14.682 -0.662 0.626 -0.413 -2702 6 1 + -13.098 14.516 14.999 -0.642 0.446 -0.624 2702 7 1 + -13.203 14.838 15.244 -0.572 0.231 -0.787 -2702 7 1 + -13.388 13.950 14.915 -0.844 0.457 -0.279 -2702 6 1 + -13.409 14.229 15.225 -0.830 0.272 -0.487 2702 7 1 + -13.527 14.539 15.479 -0.752 0.065 -0.656 -2702 7 1 + -13.588 13.613 15.215 -0.958 0.264 -0.108 -2702 6 1 + -13.603 13.901 15.517 -0.948 0.072 -0.309 2702 7 1 + -13.729 14.197 15.784 -0.864 -0.125 -0.487 -2702 7 1 + -13.651 13.262 15.557 -0.994 0.064 0.088 -2702 6 1 + -13.664 13.560 15.850 -0.985 -0.134 -0.108 2702 7 1 + -13.792 13.842 16.130 -0.900 -0.322 -0.294 -2702 7 1 + -13.571 12.928 15.912 -0.948 -0.127 0.290 -2702 6 1 + -13.587 13.235 16.195 -0.938 -0.331 0.102 2702 7 1 + -13.711 13.503 16.490 -0.855 -0.510 -0.095 -2702 7 1 + -13.355 12.639 16.250 -0.825 -0.292 0.483 -2702 6 1 + -13.377 12.954 16.523 -0.811 -0.502 0.301 2702 7 1 + -13.493 13.211 16.832 -0.733 -0.673 0.095 -2702 7 1 + -13.023 12.420 16.541 -0.635 -0.417 0.650 -2702 6 1 + -13.054 12.741 16.807 -0.615 -0.631 0.473 2702 7 1 + -13.156 12.988 17.127 -0.546 -0.796 0.259 -2702 7 1 + -12.644 12.613 17.021 -0.366 -0.709 0.603 -2702 7 1 + -12.381 12.488 17.082 -0.541 -0.625 0.563 -2704 6 1 + -12.230 12.607 17.473 -0.642 -0.705 0.302 -2704 8 1 + -11.792 12.134 16.962 -0.142 -0.865 0.482 -2704 6 1 + -11.641 12.254 17.354 -0.243 -0.945 0.221 -2704 8 1 + -11.539 11.919 16.757 -0.310 -0.721 0.619 -2705 6 1 + -11.157 11.841 16.961 -0.565 -0.669 0.483 -2705 6 1 + -10.848 11.676 17.228 -0.771 -0.559 0.305 -2705 6 1 + -10.639 11.438 17.535 -0.911 -0.401 0.100 -2705 15 1 + -10.548 11.149 17.854 -0.972 -0.208 -0.112 -2705 15 1 + -10.582 10.833 18.159 -0.949 0.003 -0.316 -2705 15 1 + -11.432 11.776 16.572 -0.168 -0.912 0.374 -2705 6 1 + -11.097 11.760 16.858 -0.391 -0.902 0.184 -2705 6 1 + -10.813 11.628 17.167 -0.581 -0.814 -0.022 -2705 6 1 + -10.603 11.391 17.473 -0.721 -0.655 -0.227 -2705 15 1 + -10.487 11.068 17.750 -0.798 -0.441 -0.411 -2705 15 1 + -10.474 10.689 17.974 -0.807 -0.188 -0.561 -2705 15 1 + -10.689 10.953 18.395 -0.878 -0.077 -0.473 -2707 15 1 + -10.752 11.379 18.306 -0.835 -0.361 -0.414 -2707 15 1 + -10.923 11.758 18.165 -0.722 -0.614 -0.319 -2707 8 1 + -11.186 12.059 17.981 -0.546 -0.814 -0.197 -2707 8 1 + -10.891 10.606 18.844 -0.931 0.264 -0.251 -2707 15 1 + -10.812 11.025 18.737 -0.984 -0.015 -0.180 2707 15 1 + -10.860 11.443 18.607 -0.951 -0.293 -0.093 2707 15 1 + -11.031 11.822 18.465 -0.838 -0.546 0.002 2707 8 1 + -11.310 12.131 18.323 -0.652 -0.752 0.096 2707 8 1 + -11.673 12.343 18.194 -0.410 -0.894 0.182 -2707 8 1 + -10.818 11.153 19.085 -0.988 0.094 0.119 -2707 15 1 + -10.865 11.555 18.913 -0.957 -0.173 0.234 -2707 15 1 + -11.036 11.934 18.771 -0.843 -0.426 0.328 -2707 8 1 + -11.315 12.259 18.671 -0.657 -0.643 0.395 -2707 8 1 + -10.970 10.394 19.565 -0.977 0.143 0.161 -2709 15 1 + -10.984 10.832 20.115 -0.967 -0.149 -0.205 -2709 16 1 + -10.909 10.025 19.861 -0.941 -0.068 0.330 -2709 15 1 + -10.922 10.463 20.411 -0.932 -0.360 -0.036 -2709 16 1 + -10.718 9.685 20.136 -0.833 -0.262 0.488 -2709 15 1 + -10.732 10.123 20.686 -0.823 -0.554 0.121 -2709 16 1 + -10.414 9.402 20.370 -0.659 -0.424 0.621 -2709 15 1 + -10.428 9.840 20.920 -0.650 -0.716 0.255 -2709 16 1 + -10.020 9.196 20.543 -0.434 -0.541 0.720 -2709 15 1 + -10.034 9.634 21.093 -0.424 -0.833 0.354 -2709 16 1 + -9.567 9.086 20.643 -0.175 -0.605 0.777 -2709 15 1 + -9.581 9.524 21.193 -0.166 -0.897 0.411 -2709 16 1 + -9.090 9.079 20.661 0.098 -0.609 0.787 -2709 15 1 + -9.104 9.517 21.210 0.107 -0.901 0.421 -2709 16 1 + -8.342 9.593 20.930 0.171 -0.832 0.527 -2711 17 1 + -8.241 9.165 20.315 0.583 -0.559 0.589 -2711 15 1 + -7.997 9.584 20.679 0.420 -0.839 0.346 2711 17 1 + -7.649 9.797 21.129 0.188 -0.981 0.046 -2711 17 1 + -7.911 9.284 19.990 0.771 -0.492 0.404 -2711 15 1 + -7.702 9.690 20.390 0.632 -0.763 0.138 2711 17 1 + -7.338 9.910 20.823 0.389 -0.909 -0.151 -2711 17 1 + -7.485 9.901 20.089 0.788 -0.611 -0.079 -2711 17 1 + -7.322 10.009 19.566 0.679 -0.682 0.270 -2714 14 1 + -7.267 10.133 20.039 0.643 -0.765 -0.046 -2714 17 1 + -6.928 10.212 18.989 0.836 -0.277 0.473 -2714 14 1 + -7.026 10.391 19.437 0.901 -0.396 0.174 2714 14 1 + -6.977 10.506 19.914 0.869 -0.473 -0.143 2714 17 1 + -6.789 10.545 20.367 0.743 -0.499 -0.445 -2714 17 1 + -6.785 10.748 18.852 0.919 0.029 0.394 -2714 14 1 + -6.900 10.860 19.317 0.995 -0.045 0.084 2714 14 1 + -6.854 10.965 19.796 0.965 -0.115 -0.235 2714 17 1 + -6.653 11.051 20.237 0.831 -0.172 -0.529 -2714 17 1 + -6.858 11.305 18.744 0.877 0.348 0.332 -2714 14 1 + -6.964 11.348 19.223 0.947 0.320 0.013 2714 14 1 + -6.917 11.441 19.704 0.916 0.257 -0.307 2714 17 1 + -6.722 11.577 20.135 0.786 0.167 -0.595 -2714 17 1 + -7.137 11.801 18.681 0.717 0.631 0.297 -2714 14 1 + -7.208 11.781 19.168 0.765 0.644 -0.028 2714 14 1 + -7.156 11.865 19.650 0.730 0.588 -0.349 2714 17 1 + -6.986 12.044 20.076 0.616 0.468 -0.633 -2714 17 1 + -7.581 12.161 18.673 0.463 0.837 0.292 -2714 14 1 + -7.597 12.096 19.161 0.474 0.880 -0.033 2714 14 1 + -7.536 12.173 19.643 0.433 0.829 -0.355 2714 17 1 + -7.405 12.384 20.068 0.346 0.688 -0.638 -2714 17 1 + -8.072 12.247 19.202 0.118 0.993 -0.002 -2714 14 1 + -8.000 12.321 19.684 0.070 0.944 -0.323 -2714 17 1 + -8.369 12.315 19.259 0.316 0.948 -0.040 -2716 16 1 + -8.409 12.327 19.241 0.289 0.956 -0.051 -2716 16 1 + -8.615 12.548 18.556 0.427 0.808 0.406 -2717 14 1 + -8.988 12.890 18.481 0.675 0.580 0.456 -2717 8 1 + -9.243 13.334 18.485 0.845 0.284 0.452 -2717 8 1 + -8.023 12.405 18.073 0.211 0.976 -0.051 -2717 14 1 + -8.498 12.596 18.044 0.527 0.849 -0.031 2717 14 1 + -8.880 12.935 18.010 0.782 0.623 -0.008 2717 8 1 + -9.126 13.382 17.974 0.946 0.325 0.016 2717 8 1 + -9.206 13.887 17.941 0.999 -0.011 0.038 -2717 8 1 + -8.577 12.487 17.535 0.459 0.756 -0.466 -2717 14 1 + -8.953 12.834 17.541 0.710 0.525 -0.470 -2717 8 1 + -9.205 13.273 17.465 0.878 0.232 -0.419 -2717 8 1 + -9.395 13.392 18.851 0.947 0.245 0.209 -2718 8 1 + -9.269 13.001 19.170 0.862 0.506 -0.004 -2718 16 1 + -8.987 12.701 19.489 0.674 0.706 -0.217 -2718 16 1 + -9.595 14.051 18.966 0.777 0.082 0.624 -2718 8 1 + -9.592 13.572 19.171 0.776 0.401 0.487 2718 8 1 + -9.449 13.166 19.464 0.680 0.672 0.292 2718 16 1 + -9.183 12.881 19.809 0.503 0.862 0.062 2718 16 1 + -8.827 12.752 20.166 0.265 0.948 -0.176 -2718 16 1 + -9.974 14.139 19.305 0.561 0.133 0.817 -2718 8 1 + -9.898 13.643 19.444 0.510 0.463 0.725 2718 8 1 + -9.729 13.231 19.714 0.397 0.738 0.545 2718 16 1 + -9.489 12.952 20.082 0.237 0.924 0.299 2718 16 1 + -9.206 12.841 20.505 0.049 0.999 0.018 -2718 16 1 + -10.433 14.081 19.536 0.299 0.100 0.949 -2718 8 1 + -10.267 13.597 19.630 0.188 0.423 0.886 2718 8 1 + -10.068 13.188 19.884 0.056 0.695 0.717 2718 16 1 + -9.859 12.906 20.268 -0.084 0.883 0.461 2718 16 1 + -9.665 12.783 20.736 -0.213 0.965 0.149 -2718 16 1 + -10.902 13.885 19.624 0.030 -0.013 0.999 -2718 8 1 + -10.646 13.438 19.701 -0.141 0.285 0.948 2718 8 1 + -10.415 13.043 19.949 -0.295 0.548 0.783 2718 16 1 + -10.237 12.747 20.339 -0.413 0.746 0.523 2718 16 1 + -10.134 12.586 20.824 -0.482 0.853 0.200 -2718 16 1 + -11.313 13.579 19.556 -0.205 -0.187 0.961 -2718 8 1 + -10.977 13.192 19.646 -0.429 0.071 0.901 2718 8 1 + -10.718 12.818 19.899 -0.601 0.321 0.732 2718 16 1 + -10.568 12.501 20.285 -0.701 0.532 0.475 2718 16 1 + -10.545 12.281 20.756 -0.717 0.679 0.161 -2718 16 1 + -11.604 13.210 19.343 -0.371 -0.398 0.839 -2718 8 1 + -11.212 12.894 19.475 -0.633 -0.188 0.751 2718 8 1 + -10.934 12.545 19.742 -0.818 0.045 0.573 2718 16 1 + -10.803 12.203 20.113 -0.905 0.273 0.326 2718 16 1 + -10.836 11.911 20.542 -0.883 0.468 0.039 -2718 16 1 + -11.733 12.832 19.016 -0.445 -0.615 0.652 -2718 8 1 + -11.315 12.589 19.211 -0.723 -0.453 0.522 2718 8 1 + -11.028 12.265 19.500 -0.914 -0.237 0.329 2718 16 1 + -10.907 11.898 19.849 -0.995 0.008 0.096 2718 16 1 + -10.965 11.533 20.215 -0.957 0.251 -0.148 -2718 16 1 + -11.272 12.322 18.894 -0.685 -0.685 0.246 -2718 8 1 + -10.989 12.021 19.210 -0.874 -0.484 0.036 -2718 16 1 + -10.864 11.631 19.532 -0.958 -0.224 -0.179 -2718 16 1 + -8.739 12.725 20.169 0.316 0.933 -0.174 -2719 16 1 + -8.106 12.744 20.473 -0.106 0.920 -0.377 -2719 17 1 + -8.936 12.802 20.597 0.203 0.977 0.070 -2719 16 1 + -8.292 12.817 20.877 -0.227 0.967 -0.116 -2719 17 1 + -9.116 12.741 21.036 0.100 0.942 0.321 -2719 16 1 + -8.462 12.759 21.291 -0.336 0.930 0.151 -2719 17 1 + -9.261 12.547 21.448 0.017 0.831 0.556 -2719 16 1 + -8.599 12.576 21.680 -0.424 0.811 0.402 -2719 17 1 + -9.360 12.236 21.797 -0.040 0.653 0.756 -2719 16 1 + -8.692 12.283 22.009 -0.485 0.622 0.614 -2719 17 1 + -9.405 11.836 22.054 -0.065 0.425 0.903 -2719 16 1 + -8.734 11.905 22.252 -0.512 0.379 0.771 -2719 17 1 + -9.390 11.380 22.197 -0.057 0.164 0.985 -2719 16 1 + -8.721 11.475 22.387 -0.503 0.101 0.858 -2719 17 1 + -9.319 10.908 22.214 -0.016 -0.106 0.994 -2719 16 1 + -8.653 11.029 22.403 -0.460 -0.187 0.868 -2719 17 1 + -9.196 10.459 22.103 0.054 -0.362 0.931 -2719 16 1 + -8.537 10.606 22.298 -0.385 -0.460 0.800 -2719 17 1 + -9.033 10.074 21.873 0.148 -0.583 0.799 -2719 16 1 + -8.383 10.242 22.081 -0.285 -0.694 0.661 -2719 17 1 + -8.842 9.783 21.544 0.256 -0.748 0.612 -2719 16 1 + -8.204 9.967 21.771 -0.169 -0.871 0.461 -2719 17 1 + -12.414 12.794 17.615 -0.518 -0.830 0.208 -2721 7 1 + -12.365 12.934 18.234 -0.806 -0.556 0.205 -2721 8 1 + -12.614 13.083 17.937 -0.639 -0.655 0.403 2721 7 1 + -12.937 13.156 17.686 -0.424 -0.703 0.570 -2721 7 1 + -12.477 13.323 18.511 -0.870 -0.334 0.363 -2721 8 1 + -12.723 13.460 18.207 -0.706 -0.426 0.567 2721 7 1 + -13.050 13.549 17.967 -0.487 -0.485 0.726 -2721 7 1 + -12.487 13.770 18.710 -0.875 -0.078 0.477 -2721 8 1 + -12.733 13.896 18.400 -0.711 -0.162 0.684 2721 7 1 + -13.060 14.003 18.169 -0.493 -0.233 0.838 -2721 7 1 + -12.393 14.240 18.815 -0.822 0.190 0.537 -2721 8 1 + -12.641 14.352 18.503 -0.656 0.115 0.746 2721 7 1 + -12.965 14.478 18.275 -0.440 0.031 0.897 -2721 7 1 + -12.204 14.692 18.817 -0.714 0.448 0.538 -2721 8 1 + -12.457 14.792 18.504 -0.544 0.382 0.747 2721 7 1 + -12.774 14.936 18.277 -0.334 0.285 0.898 -2721 7 1 + -11.935 15.088 18.716 -0.560 0.675 0.480 -2721 8 1 + -12.196 15.178 18.406 -0.386 0.615 0.687 2721 7 1 + -12.501 15.338 18.174 -0.182 0.509 0.841 -2721 7 1 + -11.609 15.397 18.520 -0.373 0.851 0.368 -2721 8 1 + -11.878 15.478 18.215 -0.193 0.797 0.572 2721 7 1 + -12.171 15.650 17.976 0.001 0.682 0.731 -2721 7 1 + -11.252 15.591 18.245 -0.170 0.963 0.211 -2721 8 1 + -11.532 15.667 17.948 0.017 0.912 0.410 2721 7 1 + -11.810 15.847 17.698 0.202 0.792 0.576 -2721 7 1 + -10.896 15.656 17.915 0.034 0.999 0.023 -2721 8 1 + -11.185 15.729 17.627 0.227 0.950 0.215 2721 7 1 + -11.449 15.912 17.363 0.402 0.828 0.391 -2721 7 1 + -10.569 15.584 17.557 0.220 0.958 -0.182 -2721 8 1 + -10.868 15.660 17.279 0.419 0.908 0.004 2721 7 1 + -11.118 15.840 17.001 0.586 0.788 0.189 -2721 7 1 + -10.299 15.383 17.201 0.375 0.843 -0.385 -2721 8 1 + -10.605 15.464 16.932 0.579 0.789 -0.206 2721 7 1 + -10.844 15.636 16.640 0.738 0.675 -0.011 -2721 7 1 + -10.420 15.159 16.617 0.691 0.604 -0.397 -2721 7 1 + -10.143 14.831 16.410 0.507 0.822 -0.259 -2722 8 1 + -10.085 14.745 15.896 0.468 0.880 0.083 -2722 5 1 + -9.724 14.762 16.972 0.704 0.489 -0.516 -2722 8 1 + -9.804 14.561 16.494 0.757 0.623 -0.197 2722 8 1 + -9.746 14.475 15.980 0.718 0.680 0.145 2722 5 1 + -9.556 14.513 15.493 0.592 0.655 0.470 -2722 5 1 + -9.463 14.346 17.072 0.852 0.251 -0.459 -2722 8 1 + -9.575 14.195 16.582 0.927 0.351 -0.132 2722 8 1 + -9.517 14.108 16.068 0.888 0.409 0.210 2722 5 1 + -9.295 14.097 15.593 0.740 0.417 0.527 -2722 5 1 + -9.480 13.772 16.664 0.997 0.039 -0.072 -2722 8 1 + -9.422 13.685 16.150 0.958 0.096 0.271 -2722 5 1 + -10.257 14.893 15.683 0.582 0.781 0.226 -2723 5 1 + -10.500 15.064 15.996 0.745 0.667 0.017 -2723 7 1 + -10.269 15.052 15.013 0.184 0.963 0.196 -2723 5 1 + -10.561 15.109 15.327 0.379 0.925 -0.013 2723 5 1 + -10.806 15.281 15.638 0.542 0.811 -0.220 2723 7 1 + -10.983 15.554 15.922 0.661 0.629 -0.410 -2723 7 1 + -10.685 15.114 14.650 -0.054 0.998 -0.012 -2723 5 1 + -10.947 15.167 14.989 0.121 0.964 -0.238 2723 5 1 + -11.194 15.339 15.299 0.286 0.849 -0.445 2723 7 1 + -11.405 15.617 15.554 0.427 0.664 -0.614 -2723 7 1 + -11.139 14.998 14.350 -0.313 0.932 -0.183 -2723 5 1 + -11.368 15.059 14.712 -0.160 0.892 -0.424 2723 5 1 + -11.617 15.230 15.020 0.006 0.777 -0.629 2723 7 1 + -11.865 15.499 15.251 0.171 0.598 -0.783 -2723 7 1 + -11.773 14.798 14.527 -0.431 0.718 -0.547 -2723 5 1 + -12.024 14.969 14.835 -0.264 0.604 -0.752 -2723 7 1 + -7.476 11.856 16.868 0.354 0.933 -0.061 -2724 10 1 + -7.195 11.841 17.595 0.684 0.654 -0.324 -2724 14 1 + -7.090 11.640 17.034 0.614 0.788 0.051 2724 10 1 + -6.835 11.631 16.484 0.444 0.793 0.417 -2724 10 1 + -6.796 11.305 17.192 0.812 0.563 0.157 -2724 10 1 + -13.080 -4.002 -1.873 0.168 0.847 -0.504 -2726 589 1 + -13.233 -3.605 -1.479 0.270 0.582 -0.767 -2726 588 1 + -13.562 -4.083 -2.002 -0.150 0.794 -0.589 -2726 589 1 + -13.749 -3.691 -1.617 -0.025 0.533 -0.846 -2726 588 1 + -14.020 -4.296 -2.030 -0.451 0.654 -0.607 -2726 589 1 + -14.239 -3.919 -1.647 -0.305 0.403 -0.863 -2726 588 1 + -7.032 5.373 15.775 -0.982 -0.169 0.083 -2728 21 1 + -7.054 4.972 15.550 -0.967 0.099 0.233 -2728 26 1 + -7.038 5.394 15.737 -0.987 -0.152 0.054 -2728 21 1 + -7.060 4.994 15.511 -0.972 0.115 0.205 -2728 26 1 + -13.284 -8.834 0.060 -0.666 0.512 0.543 -2730 501 1 + -13.234 -9.073 0.505 -0.700 0.671 0.247 -2730 501 1 + -13.303 -9.196 0.992 -0.653 0.753 -0.078 -2730 565 1 + -13.484 -9.190 1.466 -0.532 0.749 -0.394 -2730 565 1 + -13.286 -8.836 0.059 -0.668 0.510 0.542 -2730 501 1 + -13.235 -9.074 0.504 -0.702 0.668 0.246 -2730 501 1 + -13.305 -9.198 0.991 -0.656 0.751 -0.079 -2730 565 1 + -13.487 -9.192 1.465 -0.535 0.747 -0.395 -2730 565 1 + -12.120 -17.362 7.884 -0.892 0.384 0.240 -2732 539 1 + -12.286 -17.292 7.456 -0.781 0.337 0.525 -2732 549 1 + -11.722 -16.848 8.284 -0.711 0.696 -0.104 -2732 539 1 + -11.800 -16.893 7.828 -0.659 0.726 0.199 2732 539 1 + -11.973 -16.833 7.401 -0.544 0.686 0.484 2732 549 1 + -12.223 -16.675 7.044 -0.377 0.580 0.722 -2732 549 1 + -11.338 -16.595 7.675 -0.323 0.942 0.088 -2732 539 1 + -11.521 -16.541 7.252 -0.201 0.907 0.370 -2732 549 1 + -10.735 -16.212 7.883 -0.724 0.687 -0.051 -2733 535 1 + -10.628 -16.132 8.181 -0.648 0.745 0.162 -2733 535 1 + -10.649 -16.015 7.385 -0.782 0.556 0.281 -2734 535 1 + -10.950 -16.215 7.160 -0.582 0.690 0.431 -2734 549 1 + -11.321 -16.333 6.988 -0.334 0.768 0.546 -2734 549 1 + -10.616 -15.922 7.254 -0.754 0.634 0.171 -2734 535 1 + -10.918 -16.128 7.037 -0.552 0.772 0.316 -2734 549 1 + -11.287 -16.241 6.858 -0.306 0.847 0.435 -2734 549 1 + -10.336 -15.347 7.021 -0.907 0.314 0.280 -2736 535 1 + -10.446 -15.049 6.632 -0.834 0.116 0.539 -2736 535 1 + -10.695 -14.732 6.334 -0.668 -0.095 0.738 -2736 559 1 + -11.057 -14.432 6.159 -0.427 -0.296 0.854 -2736 559 1 + -11.490 -14.180 6.128 -0.138 -0.463 0.875 -2736 559 1 + -10.145 -15.111 7.080 -0.574 0.724 0.383 -2736 535 1 + -10.358 -14.942 6.659 -0.432 0.611 0.664 -2736 535 1 + -10.644 -14.670 6.349 -0.241 0.430 0.870 -2736 559 1 + -10.971 -14.326 6.185 -0.023 0.200 0.979 -2736 559 1 + -11.301 -13.948 6.186 0.197 -0.052 0.979 -2736 559 1 + -9.745 -14.815 7.461 -0.840 0.526 0.129 -2738 535 1 + -9.580 -14.397 7.375 -0.951 0.248 0.187 -2738 527 1 + -9.613 -14.795 7.811 -0.736 0.542 0.405 -2738 535 1 + -9.448 -14.377 7.724 -0.846 0.264 0.463 -2738 527 1 + -9.534 -14.887 8.249 -0.789 0.604 0.113 -2739 535 1 + -9.328 -14.529 8.564 -0.926 0.365 -0.097 -2739 531 1 + -9.579 -15.007 8.413 -0.826 0.508 0.245 -2739 535 1 + -9.375 -14.651 8.732 -0.962 0.270 0.032 -2739 531 1 + -9.225 -14.016 8.270 -0.995 0.023 0.099 -2740 527 1 + -9.178 -13.707 8.311 -0.961 0.245 0.129 -2740 527 1 + -9.708 -13.814 6.933 -0.865 -0.141 0.481 -2742 527 1 + -9.978 -13.702 6.612 -0.685 -0.216 0.695 -2742 527 1 + -10.333 -13.616 6.378 -0.448 -0.273 0.851 -2742 559 1 + -10.745 -13.565 6.251 -0.174 -0.307 0.936 -2742 559 1 + -11.179 -13.552 6.242 0.116 -0.316 0.942 -2742 559 1 + -9.700 -13.686 6.963 -0.855 0.011 0.518 -2742 527 1 + -9.972 -13.607 6.634 -0.674 -0.042 0.737 -2742 527 1 + -10.328 -13.533 6.398 -0.436 -0.091 0.895 -2742 559 1 + -10.739 -13.471 6.274 -0.162 -0.132 0.978 -2742 559 1 + -11.171 -13.425 6.273 0.125 -0.163 0.979 -2742 559 1 + -9.615 -13.308 7.242 -0.912 -0.241 0.332 -2743 527 1 + -9.832 -12.889 7.177 -0.767 -0.520 0.376 -2743 527 1 + -10.166 -12.549 7.168 -0.545 -0.747 0.381 -2743 580 1 + -10.582 -12.322 7.218 -0.267 -0.898 0.349 -2743 580 1 + -11.038 -12.231 7.320 0.037 -0.959 0.281 -2743 580 1 + -9.498 -13.174 7.477 -0.750 -0.054 0.659 -2743 527 1 + -9.757 -12.803 7.328 -0.577 -0.302 0.759 -2743 527 1 + -10.104 -12.478 7.294 -0.346 -0.518 0.782 -2743 580 1 + -10.502 -12.231 7.377 -0.081 -0.683 0.726 -2743 580 1 + -10.913 -12.087 7.571 0.193 -0.779 0.597 -2743 580 1 + -11.603 -12.525 6.995 0.414 -0.763 0.497 -2744 580 1 + -11.637 -12.914 6.622 0.436 -0.504 0.745 -2744 559 1 + -12.202 -12.586 7.100 -0.063 -0.812 0.581 -2744 580 1 + -12.220 -12.973 6.725 -0.051 -0.554 0.831 -2744 559 1 + -14.543 -5.333 10.276 -0.862 0.505 -0.045 -2745 616 1 + -14.719 -5.407 10.765 -0.745 0.554 -0.371 -2745 645 1 + -14.656 -5.620 10.191 -0.959 0.257 -0.117 -2745 616 1 + -14.832 -5.695 10.680 -0.842 0.307 -0.443 -2745 645 1 + -7.255 -23.226 15.624 -0.106 0.646 -0.756 -2746 728 1 + -7.255 -23.086 15.760 -0.106 0.736 -0.668 -2746 728 1 + -7.086 -23.016 15.828 0.003 0.781 -0.624 -2746 728 1 + -6.917 -23.087 15.761 0.112 0.736 -0.668 -2746 728 1 + -6.917 -23.227 15.625 0.112 0.645 -0.756 -2746 728 1 + -7.256 -21.157 13.483 -0.105 -0.734 0.671 -2747 548 1 + -7.256 -21.008 13.627 -0.105 -0.649 0.754 -2747 548 1 + -7.077 -20.935 13.699 -0.003 -0.607 0.795 -2747 548 1 + -6.898 -21.009 13.628 0.099 -0.649 0.754 -2747 548 1 + -6.898 -21.158 13.484 0.099 -0.734 0.672 -2747 548 1 + -13.424 -1.594 10.165 -0.413 0.356 -0.838 -160 644 1 + -13.298 -1.925 9.880 -0.497 0.577 -0.648 -160 644 2 + -13.240 -2.175 9.506 -0.536 0.745 -0.397 -160 644 2 + -13.256 -2.323 9.077 -0.525 0.844 -0.111 -160 618 2 + -13.345 -2.355 8.632 -0.466 0.865 0.187 -160 618 2 + -13.497 -2.267 8.214 -0.364 0.806 0.467 -160 618 2 + -11.739 0.731 11.996 -0.281 0.693 0.664 -172 644 2 + -11.338 1.014 12.001 -0.569 0.490 0.660 -172 33 2 + -11.035 1.381 12.121 -0.787 0.226 0.574 -172 33 2 + -11.072 0.218 12.917 -0.117 0.674 0.730 -174 643 2 + -10.795 0.567 12.766 -0.350 0.380 0.856 -174 33 2 + -10.583 0.988 12.775 -0.529 0.026 0.848 -174 33 2 + -11.997 -1.019 7.752 -0.796 0.553 0.245 -309 610 2 + -8.313 5.759 13.674 -0.782 0.387 -0.489 -333 12 2 + -9.233 1.534 13.978 -0.744 -0.308 0.594 -338 33 2 + -9.025 1.183 14.178 -0.888 -0.065 0.455 -338 33 2 + -8.943 0.823 14.444 -0.945 0.185 0.271 -338 33 2 + -8.997 0.489 14.748 -0.907 0.416 0.060 -338 677 2 + -9.181 0.215 15.061 -0.780 0.606 -0.157 -338 677 2 + -9.477 0.028 15.351 -0.575 0.736 -0.358 -338 677 2 + -9.194 0.225 15.363 -0.455 0.885 0.095 -338 677 2 + -8.942 0.486 15.034 -0.634 0.700 0.328 -338 677 2 + -8.797 0.866 14.762 -0.737 0.430 0.521 -338 31 2 + -8.778 1.320 14.578 -0.750 0.109 0.652 -338 31 2 + -8.407 0.317 17.085 -0.463 0.872 -0.160 -350 677 2 + -7.999 0.666 17.182 -0.737 0.637 -0.225 -350 41 2 + -7.739 1.142 17.233 -0.912 0.316 -0.260 -350 41 2 + -7.774 1.557 20.985 -0.148 0.909 0.389 -358 792 2 + -7.342 1.624 21.192 -0.436 0.864 0.251 -358 792 2 + -6.978 1.826 21.438 -0.678 0.730 0.087 -358 818 2 + -6.720 2.142 21.698 -0.850 0.519 -0.086 -358 818 2 + -13.297 -20.641 19.728 -0.190 -0.808 0.558 -420 746 2 + -12.821 -20.856 19.745 -0.511 -0.663 0.546 -420 746 2 + -12.439 -21.192 19.862 -0.769 -0.436 0.467 -420 724 2 + -12.199 -21.609 20.065 -0.931 -0.154 0.330 -420 724 2 + -9.791 -12.749 9.607 -0.553 -0.366 -0.748 -454 666 2 + -9.410 -12.885 9.266 -0.808 -0.275 -0.521 -454 527 2 + -9.179 -13.072 8.828 -0.962 -0.150 -0.229 -454 527 2 + -13.508 -5.479 3.775 -0.917 -0.340 0.207 -513 573 2 + -13.764 -5.030 3.841 -0.736 -0.657 0.161 -513 620 2 + -7.052 -2.942 25.645 -0.791 0.224 0.569 -617 788 2 + -6.931 -3.172 26.031 -0.872 0.379 0.308 -617 788 2 + -6.939 -3.347 26.462 -0.868 0.497 0.017 -617 212 2 + -7.073 -3.449 26.895 -0.777 0.566 -0.275 -617 212 2 + -7.320 -3.468 27.289 -0.610 0.579 -0.541 -617 212 2 + -2.719 6.995 25.164 -0.423 0.687 -0.590 -873 815 2 + -2.556 7.485 25.395 -0.558 0.285 -0.780 -873 827 2 + -3.388 6.808 26.001 -0.725 0.508 -0.465 -878 832 2 + -9.459 -25.173 14.594 -0.817 -0.576 -0.036 -991 727 2 + -9.622 -25.135 14.052 -0.684 -0.607 0.405 -991 719 2 + -10.080 -16.790 3.322 -0.224 -0.515 -0.827 -1027 538 2 + -10.144 -16.441 3.039 -0.182 -0.748 -0.638 -1027 538 2 + -10.232 -16.194 2.668 -0.123 -0.912 -0.390 -1027 570 2 + -10.337 -16.074 2.243 -0.053 -0.993 -0.107 -1027 570 2 + -9.278 -5.818 0.234 -0.193 0.261 -0.946 -1063 584 2 + -8.852 -5.981 0.011 -0.478 0.370 -0.796 -1063 494 2 + -8.267 -23.825 14.614 0.514 0.823 -0.242 -1280 728 2 + -8.470 -23.729 14.206 0.652 0.757 0.037 -1280 717 2 + -4.739 -5.110 0.036 -0.419 0.817 -0.395 -1370 512 2 + -4.535 -5.127 -0.492 -0.558 0.829 -0.038 -1370 473 2 + -1.969 3.336 28.309 -0.433 -0.432 0.791 -1461 803 2 + -3.990 -2.557 28.628 0.614 -0.084 0.785 -1485 805 2 + -3.954 -3.010 28.651 0.587 0.257 0.768 -1485 805 2 + -3.826 -3.424 28.794 0.490 0.569 0.660 -1485 194 2 + -3.622 -3.748 29.040 0.336 0.813 0.475 -1485 194 2 + -5.679 -1.946 30.670 0.484 -0.651 0.585 -1496 808 2 + -5.759 -2.357 30.453 0.558 -0.273 0.784 -1496 808 2 + -5.725 -2.823 30.397 0.526 0.156 0.836 -1496 808 2 + -5.583 -3.257 30.511 0.396 0.556 0.731 -1496 198 2 + -5.361 -3.578 30.774 0.191 0.851 0.489 -1496 198 2 + -5.100 -3.726 31.137 -0.049 0.987 0.154 -1496 198 2 + -5.121 -3.733 30.418 0.675 0.735 0.057 -1496 198 2 + -5.325 -3.400 30.091 0.814 0.508 0.281 -1496 806 2 + -5.384 -2.975 29.813 0.855 0.218 0.471 -1496 806 2 + -0.376 -12.168 28.312 0.878 -0.097 -0.469 -1554 385 2 + -0.241 -11.704 28.298 0.786 -0.414 -0.460 -1554 385 2 + 0.019 -11.306 28.211 0.607 -0.687 -0.400 -1554 171 2 + 0.377 -11.018 28.059 0.363 -0.884 -0.296 -1554 171 2 + 0.792 -10.871 27.861 0.078 -0.984 -0.160 -1554 171 2 + 4.304 -5.374 3.250 -0.023 0.797 0.603 -3288 313 2 + 3.737 -3.557 5.301 -0.023 -0.796 -0.605 -1395 277 2 + 3.457 -3.863 5.563 0.190 -0.563 -0.805 -1395 277 2 + 3.212 -4.272 5.677 0.377 -0.251 -0.892 -1395 277 2 + 3.036 -4.727 5.628 0.511 0.096 -0.854 -1395 277 2 + 2.953 -5.165 5.422 0.574 0.430 -0.697 -1395 314 2 + 2.976 -5.524 5.088 0.556 0.703 -0.443 -1395 314 2 + 3.101 -5.754 4.673 0.461 0.878 -0.127 -1395 314 2 + 3.311 -5.823 4.235 0.301 0.931 0.207 -1395 314 2 + 3.576 -5.721 3.835 0.100 0.853 0.512 -1395 314 2 + 3.714 -4.448 6.148 0.465 -0.286 -0.838 -1749 277 2 + 3.645 -5.009 6.174 0.511 0.089 -0.855 -1749 319 2 + 0.925 -3.628 27.519 0.739 0.593 0.319 -1818 193 2 + 1.246 -3.984 27.744 0.515 0.842 0.162 -1818 180 2 + 1.668 -4.175 28.000 0.221 0.975 -0.016 -1818 180 2 + 1.376 -14.104 25.636 0.288 0.734 0.615 -1874 388 2 + 1.437 -13.780 25.330 0.247 0.516 0.820 -1874 408 2 + 2.312 -14.298 27.467 -0.210 0.978 -0.010 -3290 389 2 + -1.116 -18.258 23.171 0.038 -0.775 -0.631 -1909 401 2 + -1.276 -18.044 22.779 0.145 -0.918 -0.369 -1909 414 2 + -1.153 -9.382 5.418 -0.153 0.550 -0.821 -1984 451 2 + -1.034 -8.942 5.590 -0.235 0.247 -0.940 -1984 451 2 + -0.954 -8.462 5.610 -0.290 -0.083 -0.953 -1984 330 2 + -0.921 -7.996 5.473 -0.313 -0.404 -0.859 -1984 330 2 + 3.182 -11.990 27.015 -0.409 -0.798 -0.443 -3292 174 2 + 3.067 -11.797 26.602 -0.330 -0.931 -0.158 -3292 174 2 + 2.902 -11.746 26.165 -0.216 -0.966 0.143 -3292 174 2 + 2.704 -11.842 25.750 -0.080 -0.900 0.429 -3292 408 2 + 2.494 -12.074 25.400 0.065 -0.740 0.670 -3292 408 2 + 2.294 -12.419 25.152 0.203 -0.502 0.841 -3292 408 2 + 2.124 -12.841 25.032 0.319 -0.211 0.924 -3292 408 2 + 2.310 -14.542 26.663 0.191 0.961 -0.200 -2110 389 2 + 2.525 -14.407 27.091 0.044 0.868 -0.495 -2110 389 2 + 1.920 -12.538 13.439 0.204 -0.592 -0.780 -2170 422 2 + 1.929 -12.212 13.098 0.197 -0.811 -0.551 -2170 339 2 + 8.924 -5.768 23.083 -0.253 0.966 0.058 -2273 153 2 + 11.135 -4.469 17.623 0.730 0.683 0.007 -2445 105 2 + 11.257 -4.472 18.112 0.642 0.685 -0.343 -2445 105 2 + 11.496 -4.350 18.538 0.471 0.599 -0.648 -2445 130 2 + 11.821 -4.121 18.846 0.239 0.434 -0.868 -2445 130 2 + 12.190 -4.372 18.924 0.373 0.145 -0.916 -2445 130 2 + 11.886 -4.675 18.657 0.581 0.352 -0.734 -2445 130 2 + 11.683 -4.916 18.262 0.720 0.517 -0.463 -2445 104 2 + 11.606 -5.067 17.786 0.772 0.620 -0.138 -2445 104 2 + 11.664 -5.109 17.285 0.733 0.649 0.205 -2445 104 2 + 9.209 -10.021 14.253 0.590 -0.427 -0.685 -2506 110 2 + 9.447 -9.665 14.120 0.401 -0.710 -0.579 -2506 110 2 + 9.749 -9.423 13.894 0.160 -0.903 -0.400 -2506 292 2 + 10.077 -9.325 13.605 -0.101 -0.980 -0.169 -2506 292 2 + 9.411 -8.489 13.467 -0.579 -0.327 -0.747 -2512 106 2 + 9.671 -8.329 13.087 -0.756 -0.436 -0.489 -2512 290 2 + 9.809 -8.239 12.628 -0.850 -0.497 -0.176 -2512 290 2 + 10.281 -8.299 22.592 0.902 -0.125 -0.413 -2553 119 2 + 1.822 -13.707 25.188 0.716 0.149 0.682 -2114 408 2 + 1.781 -14.090 25.460 0.752 0.491 0.440 -2114 389 2 + 1.890 -14.375 25.818 0.655 0.746 0.120 -2114 389 2 + -4.424 -8.746 -3.021 0.818 0.012 -0.575 -1712 477 2 + -4.232 -8.316 -2.882 0.686 -0.283 -0.670 -1712 471 2 + -4.216 -3.688 29.090 0.247 0.635 0.732 -1500 194 2 + -4.504 -3.236 28.938 0.441 0.333 0.834 -1500 806 2 + -16.782 -6.720 16.153 -0.588 0.572 -0.572 1 683 2 + -17.200 -6.828 16.344 -0.309 0.644 -0.700 1 683 2 + -18.643 -10.132 16.195 -0.809 0.000 -0.588 6 681 2 + -18.643 -10.573 16.077 -0.809 0.294 -0.509 6 681 2 + -17.025 -9.263 14.629 -0.951 0.155 -0.268 8 648 2 + -17.239 -9.031 15.109 -0.809 0.000 -0.588 8 648 2 + -17.239 -9.472 14.991 -0.809 0.294 -0.509 8 648 2 + -17.239 -9.795 14.668 -0.809 0.509 -0.294 8 648 2 + -17.570 -9.031 15.441 -0.588 0.000 -0.809 8 682 2 + -17.570 -9.495 15.348 -0.588 0.310 -0.747 8 682 2 + -17.570 -9.889 15.085 -0.588 0.572 -0.572 8 689 2 + -17.570 -10.152 14.692 -0.588 0.747 -0.310 8 689 2 + -16.087 -6.736 14.589 -1.000 0.000 0.000 10 640 2 + -16.161 -6.967 14.991 -0.951 0.155 -0.268 10 640 2 + -16.161 -7.199 14.589 -0.951 0.309 0.000 10 648 2 + -16.374 -7.177 15.353 -0.809 0.294 -0.509 10 648 2 + -16.374 -7.499 15.030 -0.809 0.509 -0.294 10 648 2 + -16.374 -7.617 14.589 -0.809 0.588 0.000 10 648 2 + -16.706 -7.594 15.448 -0.588 0.572 -0.572 10 648 2 + -16.191 -6.939 13.624 -0.951 0.155 0.268 13 646 2 + -14.431 -3.559 15.043 -0.809 0.588 0.000 19 640 2 + -14.431 -3.441 14.602 -0.809 0.509 0.294 19 640 2 + -14.763 -3.799 14.579 -0.588 0.747 0.310 19 640 2 + -14.818 -4.143 16.220 -0.951 0.309 0.000 21 673 2 + -15.688 -5.608 16.804 -0.809 0.509 -0.294 23 671 2 + -15.688 -5.726 16.363 -0.809 0.588 0.000 23 671 2 + -15.688 -5.608 15.923 -0.809 0.509 0.294 23 640 2 + -16.019 -5.965 16.828 -0.588 0.747 -0.310 23 671 2 + -16.019 -6.058 16.363 -0.588 0.809 0.000 23 671 2 + -16.438 -6.099 17.042 -0.309 0.836 -0.453 23 683 2 + -16.438 -6.251 16.598 -0.309 0.938 -0.157 23 683 2 + -16.901 -6.196 17.014 0.000 0.901 -0.434 23 683 2 + -15.477 -5.926 18.637 -0.588 0.572 0.572 26 671 2 + -15.895 -6.322 18.816 -0.309 0.836 0.453 26 670 2 + -15.895 -6.034 18.445 -0.309 0.644 0.700 26 670 2 + -16.140 -9.867 19.818 -0.588 0.310 0.747 31 762 2 + -16.140 -9.402 19.725 -0.588 -0.000 0.809 31 670 2 + -17.294 -10.875 19.286 -0.588 0.310 0.747 35 681 2 + -17.136 -13.017 17.740 -0.588 -0.809 0.000 38 681 2 + -17.136 -13.110 18.204 -0.588 -0.747 -0.310 38 764 2 + -17.136 -13.110 17.275 -0.588 -0.747 0.310 38 685 2 + -17.554 -12.804 17.740 -0.309 -0.951 0.000 38 681 2 + -18.159 -12.556 16.195 -0.588 -0.809 0.000 40 681 2 + -17.873 -13.491 12.415 -0.951 -0.309 0.000 45 690 2 + -18.086 -13.190 12.856 -0.809 -0.509 -0.294 45 689 2 + -18.309 -12.138 11.901 -0.951 -0.309 0.000 47 653 2 + -18.309 -12.369 11.500 -0.951 -0.155 0.268 47 656 2 + -16.914 -9.587 13.292 -0.951 0.309 0.000 51 648 2 + -17.127 -10.005 13.292 -0.809 0.588 0.000 51 648 2 + -17.127 -9.887 12.852 -0.809 0.509 0.294 51 648 2 + -17.127 -9.564 12.529 -0.809 0.294 0.509 51 651 2 + -17.459 -10.337 13.292 -0.588 0.809 0.000 51 689 2 + -17.459 -10.244 12.828 -0.588 0.747 0.310 51 689 2 + -16.706 -8.243 12.559 -0.951 0.155 0.268 54 646 2 + -14.410 -4.807 10.610 -0.951 0.155 -0.268 69 616 2 + -14.623 -4.575 11.090 -0.809 0.000 -0.588 69 645 2 + -14.623 -5.016 10.972 -0.809 0.294 -0.509 69 645 2 + -14.052 -4.028 9.971 -0.951 0.155 -0.268 71 616 2 + -14.052 -4.260 9.570 -0.951 0.309 0.000 71 616 2 + -13.602 -2.316 10.157 -0.809 0.294 -0.509 73 641 2 + -13.602 -2.639 9.835 -0.809 0.509 -0.294 73 614 2 + -13.933 -1.876 10.607 -0.588 0.000 -0.809 73 644 2 + -13.933 -2.340 10.515 -0.588 0.310 -0.747 73 641 2 + -14.132 -2.405 14.274 -0.809 0.294 0.509 77 642 2 + -12.194 -4.217 19.068 -0.588 0.310 0.747 88 676 2 + -12.194 -3.753 18.976 -0.588 -0.000 0.809 88 676 2 + -12.889 -4.919 19.096 -0.309 0.644 0.700 90 671 2 + -12.889 -4.526 18.839 -0.309 0.382 0.871 90 671 2 + -13.287 -6.087 19.772 -0.588 0.572 0.572 93 769 2 + -13.705 -6.195 19.581 -0.309 0.644 0.700 93 670 2 + -13.705 -5.802 19.324 -0.309 0.382 0.871 93 671 2 + -14.169 -6.328 19.610 0.000 0.733 0.680 93 670 2 + -13.006 -8.351 20.786 -0.309 0.644 0.700 96 759 2 + -13.006 -7.957 20.529 -0.309 0.382 0.871 96 769 2 + -13.006 -7.502 20.413 -0.309 0.079 0.948 96 769 2 + -13.469 -8.484 20.815 0.000 0.733 0.680 96 759 2 + -13.469 -8.134 20.536 0.000 0.500 0.866 96 670 2 + -13.469 -7.718 20.373 0.000 0.223 0.975 96 670 2 + -15.638 -14.743 17.942 -0.951 -0.309 0.000 114 691 2 + -15.638 -14.975 18.344 -0.951 -0.155 -0.268 114 691 2 + -15.638 -15.438 18.344 -0.951 0.155 -0.268 114 691 2 + -15.851 -14.443 18.383 -0.809 -0.509 -0.294 114 691 2 + -15.851 -14.766 18.706 -0.809 -0.294 -0.509 114 764 2 + -15.851 -15.207 18.824 -0.809 0.000 -0.588 114 745 2 + -15.851 -15.647 18.706 -0.809 0.294 -0.509 114 745 2 + -16.182 -14.349 18.800 -0.588 -0.572 -0.572 114 764 2 + -16.182 -14.742 19.064 -0.588 -0.310 -0.747 114 764 2 + -16.182 -15.671 19.064 -0.588 0.310 -0.747 114 745 2 + -16.116 -13.913 17.668 -0.809 -0.588 0.000 116 691 2 + -16.448 -13.673 17.204 -0.588 -0.747 0.310 116 685 2 + -16.404 -14.203 16.137 -0.588 -0.747 0.310 119 685 2 + -14.236 -15.395 15.125 -0.588 -0.809 0.000 124 694 2 + -14.236 -15.487 15.590 -0.588 -0.747 -0.310 124 694 2 + -14.236 -15.750 15.983 -0.588 -0.572 -0.572 124 695 2 + -14.654 -15.182 15.125 -0.309 -0.951 0.000 124 694 2 + -14.654 -15.259 15.588 -0.309 -0.900 -0.309 124 694 2 + -13.482 -14.238 13.101 -0.309 -0.751 -0.584 126 694 2 + -13.482 -14.584 13.419 -0.309 -0.520 -0.796 126 694 2 + -13.946 -14.125 13.070 0.000 -0.826 -0.563 126 694 2 + -13.946 -14.429 13.398 0.000 -0.623 -0.782 126 694 2 + -14.409 -14.238 13.101 0.309 -0.751 -0.584 126 690 2 + -13.842 -13.588 11.999 -0.309 -0.900 -0.309 128 665 2 + -14.305 -13.504 11.978 0.000 -0.956 -0.295 128 654 2 + -14.305 -13.698 12.381 0.000 -0.826 -0.563 128 690 2 + -14.769 -13.511 11.536 0.309 -0.951 0.000 128 654 2 + -14.769 -13.588 11.999 0.309 -0.900 -0.309 128 654 2 + -14.769 -13.812 12.413 0.309 -0.751 -0.584 128 690 2 + -15.613 -13.778 11.106 0.309 -0.951 0.000 130 654 2 + -16.031 -13.991 11.106 0.588 -0.809 0.000 130 656 2 + -15.807 -13.882 9.835 0.588 -0.809 0.000 133 656 2 + -15.807 -14.238 8.977 0.588 -0.572 0.572 133 656 2 + -15.807 -13.975 9.370 0.588 -0.747 0.310 133 656 2 + -17.180 -13.325 7.900 -0.951 0.155 -0.268 135 562 2 + -17.180 -13.556 7.499 -0.951 0.309 0.000 135 562 2 + -17.096 -12.474 7.614 -1.000 0.000 0.000 137 561 2 + -17.169 -12.242 8.016 -0.951 -0.155 -0.268 137 656 2 + -17.382 -12.474 8.496 -0.809 0.000 -0.588 137 656 2 + -17.714 -12.009 8.736 -0.588 -0.310 -0.747 137 653 2 + -17.714 -12.474 8.828 -0.588 0.000 -0.809 137 656 2 + -15.801 -10.108 7.578 -0.951 0.155 -0.268 140 581 2 + -16.014 -10.317 7.940 -0.809 0.294 -0.509 140 581 2 + -16.014 -10.639 7.617 -0.809 0.509 -0.294 140 581 2 + -16.014 -10.758 7.176 -0.809 0.588 0.000 140 561 2 + -16.346 -10.340 8.297 -0.588 0.310 -0.747 140 653 2 + -16.346 -10.734 8.034 -0.588 0.572 -0.572 140 653 2 + -16.346 -10.997 7.640 -0.588 0.747 -0.310 140 561 2 + -16.346 -11.089 7.176 -0.588 0.809 0.000 140 561 2 + -16.764 -10.449 8.483 -0.309 0.382 -0.871 140 653 2 + -16.764 -10.842 8.226 -0.309 0.644 -0.700 140 653 2 + -16.780 -9.922 8.622 -0.309 0.079 -0.948 142 651 2 + -15.630 -8.132 9.073 -0.588 0.572 -0.572 145 649 2 + -15.630 -8.395 8.680 -0.588 0.747 -0.310 145 581 2 + -16.048 -8.240 9.265 -0.309 0.644 -0.700 145 651 2 + -14.626 -7.079 8.930 -0.809 0.294 -0.509 148 616 2 + -14.626 -7.401 8.607 -0.809 0.509 -0.294 148 581 2 + -14.958 -7.496 9.024 -0.588 0.572 -0.572 148 649 2 + -14.088 -6.002 7.510 -1.000 0.000 0.000 153 616 2 + -14.161 -5.538 7.510 -0.951 -0.309 0.000 153 617 2 + -14.161 -5.770 7.911 -0.951 -0.155 -0.268 153 616 2 + -14.161 -6.465 7.510 -0.951 0.309 0.000 153 616 2 + -12.796 -1.742 9.712 -0.588 0.572 -0.572 166 607 2 + -12.796 -2.005 9.318 -0.588 0.747 -0.310 166 607 2 + -12.143 -0.413 9.745 -0.809 0.000 -0.588 168 610 2 + -12.143 -0.854 9.627 -0.809 0.294 -0.509 168 607 2 + -12.475 -0.413 10.077 -0.588 0.000 -0.809 168 644 2 + -12.475 -0.877 9.985 -0.588 0.310 -0.747 168 644 2 + -10.703 0.944 12.571 -0.809 0.294 0.509 174 33 2 + -10.703 1.385 12.453 -0.809 -0.000 0.588 174 33 2 + -11.035 0.527 12.477 -0.588 0.572 0.572 174 643 2 + -11.035 0.920 12.214 -0.588 0.310 0.747 174 33 2 + -11.453 0.130 12.656 -0.309 0.836 0.453 174 643 2 + -11.453 0.419 12.285 -0.309 0.644 0.700 174 644 2 + -11.917 0.033 12.684 0.000 0.901 0.434 174 643 2 + -11.917 0.285 12.315 0.000 0.733 0.680 174 644 2 + -12.380 0.130 12.656 0.309 0.836 0.453 174 644 2 + -9.080 0.422 13.834 -0.951 0.155 0.268 181 50 2 + -9.293 -0.109 13.795 -0.809 0.509 0.294 181 50 2 + -9.293 0.213 13.472 -0.809 0.294 0.509 181 50 2 + -9.293 0.654 13.354 -0.809 -0.000 0.588 181 50 2 + -9.293 1.095 13.472 -0.809 -0.294 0.509 181 33 2 + -9.625 -0.467 13.771 -0.588 0.747 0.310 181 50 2 + -9.625 -0.204 13.378 -0.588 0.572 0.572 181 50 2 + -9.625 0.190 13.115 -0.588 0.310 0.747 181 50 2 + -9.625 0.654 13.022 -0.588 -0.000 0.809 181 50 2 + -9.625 1.119 13.115 -0.588 -0.310 0.747 181 33 2 + -10.043 -0.600 13.557 -0.309 0.836 0.453 181 643 2 + -10.043 -0.312 13.186 -0.309 0.644 0.700 181 643 2 + -10.043 0.081 12.929 -0.309 0.382 0.871 181 50 2 + -10.043 0.536 12.814 -0.309 0.079 0.948 181 33 2 + -10.043 1.004 12.853 -0.309 -0.233 0.922 181 33 2 + -10.043 1.434 13.041 -0.309 -0.520 0.796 181 33 2 + -10.507 -0.697 13.585 0.000 0.901 0.434 181 643 2 + -10.507 -0.445 13.216 0.000 0.733 0.680 181 643 2 + -10.507 -0.096 12.937 0.000 0.500 0.866 181 643 2 + -10.507 0.320 12.773 0.000 0.223 0.975 181 643 2 + -10.970 -0.600 13.557 0.309 0.836 0.453 181 643 2 + -10.970 -0.312 13.186 0.309 0.644 0.700 181 643 2 + -9.637 -0.500 14.822 -0.588 0.747 -0.310 184 677 2 + -9.637 -0.593 14.357 -0.588 0.809 0.000 184 50 2 + -10.055 -0.634 15.036 -0.309 0.836 -0.453 184 677 2 + -10.055 -0.786 14.592 -0.309 0.938 -0.157 184 677 2 + -10.519 -0.731 15.008 0.000 0.901 -0.434 184 677 2 + -10.519 -0.862 14.581 0.000 0.989 -0.149 184 677 2 + -10.982 -0.786 14.122 0.309 0.938 0.157 184 643 2 + -11.479 -0.772 18.536 -0.588 0.747 0.310 194 676 2 + -10.175 -1.795 20.640 -0.809 0.294 0.509 199 785 2 + -10.175 -1.354 20.522 -0.809 -0.000 0.588 199 790 2 + -10.506 -1.819 20.282 -0.588 0.310 0.747 199 676 2 + -10.464 -3.027 21.063 -0.809 0.509 0.294 201 785 2 + -10.464 -2.704 20.740 -0.809 0.294 0.509 201 785 2 + -11.393 -4.378 20.307 -0.809 0.509 0.294 203 769 2 + -11.393 -4.056 19.984 -0.809 0.294 0.509 203 769 2 + -11.393 -3.615 19.866 -0.809 -0.000 0.588 203 676 2 + -11.076 -7.251 22.058 -0.951 -0.155 0.268 208 769 2 + -11.289 -7.483 21.578 -0.809 -0.000 0.588 208 769 2 + -11.289 -7.042 21.696 -0.809 -0.294 0.509 208 769 2 + -11.289 -6.719 22.019 -0.809 -0.509 0.294 208 778 2 + -11.621 -7.019 21.339 -0.588 -0.310 0.747 208 769 2 + -11.752 -8.444 21.489 -0.588 0.572 0.572 210 758 2 + -11.752 -8.050 21.226 -0.588 0.310 0.747 210 758 2 + -12.171 -8.552 21.297 -0.309 0.644 0.700 210 758 2 + -11.589 -10.997 22.445 0.000 -0.075 0.997 213 755 2 + -12.400 -11.641 22.593 0.309 0.079 0.948 215 755 2 + -12.261 -13.906 22.951 0.309 0.644 0.700 221 741 2 + -12.261 -13.513 22.694 0.309 0.382 0.871 221 755 2 + -12.261 -13.057 22.579 0.309 0.079 0.948 221 755 2 + -12.679 -13.404 22.879 0.588 0.310 0.747 221 761 2 + -12.679 -12.940 22.787 0.588 -0.000 0.809 221 761 2 + -13.782 -14.140 23.400 0.000 -0.075 0.997 223 761 2 + -14.003 -15.953 23.377 -0.309 0.382 0.871 226 742 2 + -14.003 -15.498 23.261 -0.309 0.079 0.948 226 741 2 + -14.466 -15.268 23.187 0.000 -0.075 0.997 226 763 2 + -16.414 -16.900 21.346 -0.809 0.294 0.509 233 745 2 + -16.414 -16.459 21.228 -0.809 -0.000 0.588 233 745 2 + -16.414 -16.019 21.346 -0.809 -0.294 0.509 233 745 2 + -15.154 -17.672 18.165 -0.309 -0.233 -0.922 240 745 2 + -15.271 -15.905 17.692 -0.809 -0.294 -0.509 242 695 2 + -13.210 -18.376 16.928 -0.951 -0.155 -0.268 246 707 2 + -13.423 -18.167 17.290 -0.809 -0.294 -0.509 246 707 2 + -13.755 -17.750 17.384 -0.588 -0.572 -0.572 246 695 2 + -13.755 -18.144 17.647 -0.588 -0.310 -0.747 246 695 2 + -13.755 -18.608 17.740 -0.588 0.000 -0.809 246 746 2 + -14.173 -18.258 17.909 -0.309 -0.233 -0.922 246 746 2 + -14.173 -18.726 17.948 -0.309 0.079 -0.948 246 746 2 + -12.922 -17.207 15.916 -0.809 -0.294 -0.509 248 707 2 + -13.253 -16.790 16.010 -0.588 -0.572 -0.572 248 695 2 + -10.289 -17.187 13.405 -0.951 -0.309 0.000 253 543 2 + -10.289 -17.419 13.806 -0.951 -0.155 -0.268 253 543 2 + -10.502 -16.769 13.405 -0.809 -0.588 0.000 253 543 2 + -10.502 -16.887 13.845 -0.809 -0.509 -0.294 253 543 2 + -10.502 -17.210 14.168 -0.809 -0.294 -0.509 253 706 2 + -10.502 -17.651 14.286 -0.809 0.000 -0.588 253 706 2 + -10.834 -16.530 13.869 -0.588 -0.747 -0.310 253 694 2 + -10.834 -16.793 14.263 -0.588 -0.572 -0.572 253 694 2 + -10.834 -17.186 14.526 -0.588 -0.310 -0.747 253 706 2 + -10.834 -17.651 14.618 -0.588 0.000 -0.809 253 706 2 + -11.252 -16.301 13.868 -0.309 -0.900 -0.309 253 694 2 + -11.252 -16.525 14.281 -0.309 -0.751 -0.584 253 694 2 + -11.252 -16.870 14.599 -0.309 -0.520 -0.796 253 694 2 + -11.252 -17.300 14.787 -0.309 -0.233 -0.922 253 706 2 + -11.716 -16.411 14.250 0.000 -0.826 -0.563 253 694 2 + -10.970 -16.450 12.751 -0.588 -0.747 0.310 255 543 2 + -11.437 -15.474 11.979 -0.951 -0.309 0.000 257 541 2 + -11.437 -15.706 12.380 -0.951 -0.155 -0.268 257 541 2 + -11.650 -15.056 11.979 -0.809 -0.588 0.000 257 665 2 + -11.650 -15.174 12.420 -0.809 -0.509 -0.294 257 665 2 + -11.650 -15.497 12.743 -0.809 -0.294 -0.509 257 694 2 + -11.982 -14.817 12.443 -0.588 -0.747 -0.310 257 665 2 + -11.982 -15.080 12.837 -0.588 -0.572 -0.572 257 694 2 + -11.982 -15.473 13.100 -0.588 -0.310 -0.747 257 694 2 + -12.540 -12.304 9.862 -0.309 -0.751 -0.584 265 666 2 + -13.003 -11.996 9.428 0.000 -0.956 -0.295 265 582 2 + -13.003 -12.190 9.831 0.000 -0.826 -0.563 265 666 2 + -13.467 -12.080 9.449 0.309 -0.900 -0.309 265 654 2 + -13.467 -12.304 9.862 0.309 -0.751 -0.584 265 654 2 + -13.613 -12.144 8.386 0.309 -0.900 0.309 267 582 2 + -14.031 -12.280 8.849 0.588 -0.809 0.000 267 582 2 + -14.031 -12.635 7.991 0.588 -0.572 0.572 267 582 2 + -14.031 -12.372 8.384 0.588 -0.747 0.310 267 582 2 + -14.363 -12.611 8.849 0.809 -0.588 0.000 267 654 2 + -14.363 -13.052 8.085 0.809 -0.294 0.509 267 560 2 + -14.363 -12.730 8.408 0.809 -0.509 0.294 267 560 2 + -14.007 -16.206 6.710 0.309 -0.233 0.922 274 556 2 + -14.425 -16.092 6.971 0.588 -0.310 0.747 274 562 2 + -15.546 -15.746 4.927 -0.588 -0.572 -0.572 276 557 2 + -15.546 -16.140 5.190 -0.588 -0.310 -0.747 276 562 2 + -15.326 -13.295 3.707 -0.809 0.000 -0.588 281 563 2 + -15.305 -11.491 3.544 -0.809 -0.294 -0.509 283 566 2 + -15.305 -11.931 3.662 -0.809 0.000 -0.588 283 563 2 + -15.637 -11.931 3.994 -0.588 0.000 -0.809 283 561 2 + -15.054 -9.856 5.307 -0.951 0.309 0.000 285 566 2 + -15.268 -9.833 6.071 -0.809 0.294 -0.509 285 581 2 + -15.268 -10.156 5.748 -0.809 0.509 -0.294 285 581 2 + -15.268 -10.274 5.307 -0.809 0.588 0.000 285 566 2 + -15.268 -10.156 4.866 -0.809 0.509 0.294 285 566 2 + -15.599 -10.513 5.772 -0.588 0.747 -0.310 285 561 2 + -15.599 -10.606 5.307 -0.588 0.809 0.000 285 561 2 + -14.228 -8.016 4.577 -0.809 0.509 -0.294 291 579 2 + -14.228 -8.134 4.137 -0.809 0.588 0.000 291 566 2 + -13.488 -6.001 5.478 -0.809 0.000 -0.588 293 617 2 + -13.488 -6.442 5.360 -0.809 0.294 -0.509 293 579 2 + -13.488 -6.765 5.037 -0.809 0.509 -0.294 293 579 2 + -13.488 -6.883 4.597 -0.809 0.588 0.000 293 573 2 + -13.820 -6.859 5.455 -0.588 0.572 -0.572 293 579 2 + -13.192 -5.967 4.556 -1.000 0.000 0.000 296 573 2 + -13.266 -5.503 4.556 -0.951 -0.309 0.000 296 617 2 + -13.266 -6.198 4.155 -0.951 0.155 0.268 296 573 2 + -13.266 -5.735 4.155 -0.951 -0.155 0.268 296 573 2 + -13.479 -5.085 4.556 -0.809 -0.588 0.000 296 617 2 + -13.479 -5.203 4.997 -0.809 -0.509 -0.294 296 617 2 + -13.479 -5.203 4.115 -0.809 -0.509 0.294 296 620 2 + -13.811 -4.753 4.556 -0.588 -0.809 0.000 296 620 2 + -13.811 -4.845 5.020 -0.588 -0.747 -0.310 296 617 2 + -13.811 -4.845 4.092 -0.588 -0.747 0.310 296 620 2 + -14.229 -4.540 4.556 -0.309 -0.951 0.000 296 620 2 + -12.835 -1.198 4.909 0.000 0.989 0.149 305 621 2 + -11.549 -0.843 6.829 -0.588 0.747 -0.310 307 596 2 + -11.549 -0.935 6.364 -0.588 0.809 0.000 307 596 2 + -11.967 -1.129 6.599 -0.309 0.938 -0.157 307 596 2 + -11.967 -1.129 6.129 -0.309 0.938 0.157 307 596 2 + -11.793 -0.841 8.339 -0.951 0.309 0.000 311 607 2 + -12.006 -1.259 8.339 -0.809 0.588 0.000 311 607 2 + -12.338 -1.498 7.875 -0.588 0.747 0.310 311 607 2 + -11.094 1.951 10.976 -0.809 0.509 0.294 324 612 2 + -7.911 6.228 13.769 0.000 -0.075 -0.997 333 12 2 + -7.911 5.783 13.736 0.000 0.223 -0.975 333 12 2 + -7.911 5.366 13.572 0.000 0.500 -0.866 333 30 2 + -7.911 5.017 13.294 0.000 0.733 -0.680 333 30 2 + -7.911 4.765 12.924 0.000 0.901 -0.434 333 30 2 + -8.374 5.150 13.323 0.309 0.644 -0.700 333 33 2 + -8.374 4.862 12.952 0.309 0.836 -0.453 333 33 2 + -8.628 4.936 13.718 -0.588 0.572 0.572 335 31 2 + -8.958 1.339 14.250 -0.809 -0.000 0.588 338 31 2 + -9.290 1.803 14.011 -0.588 -0.310 0.747 338 31 2 + -7.617 1.142 16.655 -0.951 0.309 0.000 350 48 2 + -7.830 0.723 16.655 -0.809 0.588 0.000 350 48 2 + -8.162 0.392 16.655 -0.588 0.809 0.000 350 48 2 + -7.721 1.388 17.442 -0.951 0.155 -0.268 352 41 2 + -7.935 1.620 17.922 -0.809 0.000 -0.588 352 41 2 + -7.935 1.179 17.804 -0.809 0.294 -0.509 352 41 2 + -7.935 0.857 17.481 -0.809 0.509 -0.294 352 41 2 + -8.266 1.620 18.254 -0.588 0.000 -0.809 352 792 2 + -8.266 1.156 18.161 -0.588 0.310 -0.747 352 792 2 + -8.266 0.762 17.898 -0.588 0.572 -0.572 352 792 2 + -8.266 0.499 17.505 -0.588 0.747 -0.310 352 677 2 + -8.685 1.047 18.347 -0.309 0.382 -0.871 352 792 2 + -8.685 0.654 18.090 -0.309 0.644 -0.700 352 792 2 + -8.685 0.366 17.719 -0.309 0.836 -0.453 352 677 2 + -8.685 0.213 17.275 -0.309 0.938 -0.157 352 677 2 + -9.148 0.870 18.339 0.000 0.500 -0.866 352 792 2 + -9.148 0.521 18.061 0.000 0.733 -0.680 352 792 2 + -9.148 0.269 17.691 0.000 0.901 -0.434 352 677 2 + -9.148 0.137 17.264 0.000 0.989 -0.149 352 677 2 + -6.558 2.470 21.542 -0.951 0.309 0.000 358 818 2 + -6.771 2.170 21.101 -0.809 0.509 0.294 358 40 2 + -6.771 2.493 20.779 -0.809 0.294 0.509 358 40 2 + -7.103 1.812 21.078 -0.588 0.747 0.310 358 40 2 + -7.103 2.075 20.684 -0.588 0.572 0.572 358 40 2 + -7.103 2.469 20.421 -0.588 0.310 0.747 358 40 2 + -7.521 1.679 20.863 -0.309 0.836 0.453 358 792 2 + -7.521 1.967 20.493 -0.309 0.644 0.700 358 40 2 + -7.985 1.834 20.522 0.000 0.733 0.680 358 792 2 + -7.124 1.694 21.595 -0.588 0.809 0.000 360 789 2 + -7.542 1.500 21.360 -0.309 0.938 0.157 360 789 2 + -8.695 -1.706 23.072 -0.809 0.294 0.509 369 788 2 + -9.145 -2.909 23.249 -0.588 0.572 0.572 371 785 2 + -9.097 -3.391 24.407 -0.588 0.809 0.000 377 788 2 + -9.097 -3.299 23.943 -0.588 0.747 0.310 377 788 2 + -9.515 -3.585 24.642 -0.309 0.938 -0.157 377 781 2 + -9.515 -3.585 24.172 -0.309 0.938 0.157 377 778 2 + -9.979 -3.661 24.631 0.000 0.989 -0.149 377 781 2 + -9.979 -3.661 24.184 0.000 0.989 0.149 377 778 2 + -10.759 -7.315 23.393 -0.951 -0.309 0.000 381 778 2 + -10.759 -7.547 22.991 -0.951 -0.155 0.268 381 758 2 + -10.972 -6.897 23.393 -0.809 -0.588 0.000 381 778 2 + -10.972 -7.015 23.834 -0.809 -0.509 -0.294 381 780 2 + -10.048 -8.436 24.430 -0.951 -0.309 0.000 384 218 2 + -10.048 -8.668 24.028 -0.951 -0.155 0.268 384 218 2 + -10.261 -8.018 24.430 -0.809 -0.588 0.000 384 780 2 + -10.261 -8.899 23.548 -0.809 -0.000 0.588 384 758 2 + -10.261 -8.459 23.666 -0.809 -0.294 0.509 384 758 2 + -10.261 -8.136 23.989 -0.809 -0.509 0.294 384 218 2 + -9.738 -10.785 22.443 0.000 -0.623 0.782 390 758 2 + -8.662 -11.923 22.293 -0.588 -0.000 0.809 393 753 2 + -8.662 -11.458 22.385 -0.588 -0.310 0.747 393 224 2 + -8.662 -11.065 22.648 -0.588 -0.572 0.572 393 224 2 + -9.080 -12.040 22.085 -0.309 0.079 0.948 393 753 2 + -9.080 -11.572 22.124 -0.309 -0.233 0.922 393 753 2 + -9.080 -11.142 22.312 -0.309 -0.520 0.796 393 224 2 + -9.544 -11.811 22.011 0.000 -0.075 0.997 393 755 2 + -9.544 -11.375 22.110 0.000 -0.365 0.931 393 755 2 + -10.007 -12.040 22.085 0.309 0.079 0.948 393 755 2 + -10.402 -14.442 23.422 -0.309 0.836 0.453 400 741 2 + -10.866 -14.539 23.450 0.000 0.901 0.434 400 741 2 + -10.782 -17.492 23.802 -0.588 -0.572 0.572 404 741 2 + -11.200 -17.569 23.466 -0.309 -0.520 0.796 404 741 2 + -11.200 -17.224 23.784 -0.309 -0.751 0.584 404 741 2 + -12.770 -20.259 20.837 -0.588 -0.747 0.310 414 730 2 + -13.188 -20.031 20.839 -0.309 -0.900 0.309 414 746 2 + -13.652 -19.947 20.860 0.000 -0.956 0.295 414 746 2 + -14.115 -20.031 20.839 0.309 -0.900 0.309 414 746 2 + -12.101 -21.478 20.355 -0.951 -0.155 0.268 420 730 2 + -12.314 -20.946 20.315 -0.809 -0.509 0.294 420 730 2 + -12.646 -20.852 19.898 -0.588 -0.572 0.572 420 730 2 + -13.064 -20.584 19.880 -0.309 -0.751 0.584 420 746 2 + -13.527 -20.470 19.911 0.000 -0.826 0.563 420 746 2 + -12.282 -21.916 19.392 -0.951 -0.155 0.268 425 723 2 + -12.495 -21.707 19.030 -0.809 -0.294 0.509 425 713 2 + -12.495 -21.384 19.353 -0.809 -0.509 0.294 425 723 2 + -12.827 -21.684 18.672 -0.588 -0.310 0.747 425 713 2 + -12.827 -21.290 18.935 -0.588 -0.572 0.572 425 713 2 + -12.827 -21.027 19.329 -0.588 -0.747 0.310 425 713 2 + -13.245 -21.368 18.599 -0.309 -0.520 0.796 425 713 2 + -13.245 -21.022 18.917 -0.309 -0.751 0.584 425 713 2 + -13.245 -20.799 19.330 -0.309 -0.900 0.309 425 746 2 + -13.709 -20.909 18.948 0.000 -0.826 0.563 425 746 2 + -12.828 -19.815 16.951 -0.951 -0.155 -0.268 427 707 2 + -12.828 -20.278 16.951 -0.951 0.155 -0.268 427 707 2 + -13.041 -19.606 17.313 -0.809 -0.294 -0.509 427 707 2 + -13.041 -20.047 17.431 -0.809 0.000 -0.588 427 707 2 + -13.041 -20.487 17.313 -0.809 0.294 -0.509 427 713 2 + -13.372 -19.582 17.670 -0.588 -0.310 -0.747 427 707 2 + -13.372 -20.047 17.763 -0.588 0.000 -0.809 427 746 2 + -13.372 -20.511 17.670 -0.588 0.310 -0.747 427 713 2 + -13.372 -20.905 17.407 -0.588 0.572 -0.572 427 713 2 + -13.791 -19.696 17.932 -0.309 -0.233 -0.922 427 746 2 + -13.791 -20.164 17.971 -0.309 0.079 -0.948 427 746 2 + -12.798 -20.547 16.327 -0.951 0.309 0.000 430 711 2 + -10.147 -18.135 13.202 -1.000 0.000 0.000 437 543 2 + -10.221 -18.367 13.603 -0.951 0.155 -0.268 437 543 2 + -10.221 -18.599 13.202 -0.951 0.309 0.000 437 543 2 + -10.221 -18.367 12.800 -0.951 0.155 0.268 437 543 2 + -10.221 -17.904 12.800 -0.951 -0.155 0.268 437 543 2 + -10.434 -18.576 13.965 -0.809 0.294 -0.509 437 706 2 + -10.434 -18.899 13.643 -0.809 0.509 -0.294 437 706 2 + -10.434 -19.017 13.202 -0.809 0.588 0.000 437 715 2 + -10.766 -18.600 14.323 -0.588 0.310 -0.747 437 706 2 + -10.766 -18.993 14.060 -0.588 0.572 -0.572 437 706 2 + -10.766 -19.257 13.666 -0.588 0.747 -0.310 437 715 2 + -10.766 -19.349 13.202 -0.588 0.809 0.000 437 715 2 + -10.508 -18.143 12.179 -0.809 -0.000 0.588 440 543 2 + -11.014 -18.521 11.156 -0.951 -0.155 0.268 443 540 2 + -10.718 -16.137 8.888 -0.588 0.747 -0.310 447 539 2 + -9.605 -15.009 9.221 -0.809 0.509 -0.294 449 531 2 + -9.605 -15.127 8.780 -0.809 0.588 0.000 449 535 2 + -9.937 -15.366 9.245 -0.588 0.747 -0.310 449 541 2 + -9.632 -14.127 9.848 -0.809 0.000 -0.588 451 531 2 + -9.632 -14.567 9.730 -0.809 0.294 -0.509 451 531 2 + -9.964 -13.662 10.087 -0.588 -0.310 -0.747 451 666 2 + -9.964 -14.127 10.180 -0.588 0.000 -0.809 451 531 2 + -9.964 -14.591 10.087 -0.588 0.310 -0.747 451 541 2 + -10.382 -13.776 10.349 -0.309 -0.233 -0.922 451 666 2 + -10.382 -14.244 10.388 -0.309 0.079 -0.948 451 666 2 + -10.382 -14.700 10.273 -0.309 0.382 -0.871 451 541 2 + -9.197 -12.792 8.466 -0.951 -0.309 0.000 456 527 2 + -9.197 -13.024 8.065 -0.951 -0.155 0.268 456 527 2 + -9.410 -12.374 8.466 -0.809 -0.588 0.000 456 527 2 + -9.410 -12.492 8.907 -0.809 -0.509 -0.294 456 527 2 + -9.410 -12.815 7.703 -0.809 -0.294 0.509 456 527 2 + -9.410 -12.492 8.025 -0.809 -0.509 0.294 456 527 2 + -9.742 -12.042 8.466 -0.588 -0.809 0.000 456 527 2 + -9.742 -12.134 8.931 -0.588 -0.747 -0.310 456 666 2 + -9.742 -12.397 9.324 -0.588 -0.572 -0.572 456 666 2 + -9.742 -12.397 7.608 -0.588 -0.572 0.572 456 527 2 + -9.742 -12.134 8.002 -0.588 -0.747 0.310 456 527 2 + -10.160 -11.829 8.466 -0.309 -0.951 0.000 456 580 2 + -10.160 -11.906 8.929 -0.309 -0.900 -0.309 456 666 2 + -10.160 -12.130 9.342 -0.309 -0.751 -0.584 456 666 2 + -10.160 -12.475 9.660 -0.309 -0.520 -0.796 456 666 2 + -10.160 -12.130 7.590 -0.309 -0.751 0.584 456 580 2 + -10.160 -11.906 8.003 -0.309 -0.900 0.309 456 580 2 + -10.623 -11.755 8.466 0.000 -1.000 0.000 456 580 2 + -10.623 -11.822 8.908 0.000 -0.956 -0.295 456 666 2 + -10.623 -12.016 9.311 0.000 -0.826 -0.563 456 666 2 + -10.623 -12.320 9.639 0.000 -0.623 -0.782 456 666 2 + -10.623 -11.822 8.024 0.000 -0.956 0.295 456 580 2 + -11.087 -11.829 8.466 0.309 -0.951 0.000 456 580 2 + -11.087 -11.906 8.929 0.309 -0.900 -0.309 456 666 2 + -11.087 -11.906 8.003 0.309 -0.900 0.309 456 580 2 + -13.201 -12.419 7.628 0.309 -0.751 0.584 462 582 2 + -12.761 -13.024 6.777 0.309 -0.520 0.796 465 559 2 + -13.179 -13.339 6.850 0.588 -0.310 0.747 465 560 2 + -13.122 -14.545 6.483 0.588 -0.000 0.809 467 556 2 + -10.815 -15.340 6.319 -0.588 0.310 0.747 470 535 2 + -11.234 -15.449 6.134 -0.309 0.382 0.871 470 556 2 + -11.234 -14.993 6.019 -0.309 0.079 0.948 470 559 2 + -11.697 -15.209 5.978 0.000 0.223 0.975 470 556 2 + -11.697 -14.763 5.945 0.000 -0.075 0.997 470 559 2 + -11.697 -14.328 6.044 0.000 -0.365 0.931 470 559 2 + -12.161 -14.993 6.019 0.309 0.079 0.948 470 556 2 + -13.532 -16.894 6.628 0.000 0.223 0.975 474 556 2 + -12.576 -17.644 7.385 -0.588 0.572 0.572 477 549 2 + -12.492 -19.371 6.984 -0.309 -0.520 0.796 479 554 2 + -12.492 -19.025 7.302 -0.309 -0.751 0.584 479 539 2 + -12.955 -19.603 6.782 0.000 -0.365 0.931 479 554 2 + -12.955 -19.216 7.006 0.000 -0.623 0.782 479 555 2 + -13.847 -14.100 1.637 -0.951 -0.309 0.000 493 568 2 + -13.847 -14.332 2.038 -0.951 -0.155 -0.268 493 563 2 + -14.606 -11.592 2.066 -0.951 -0.155 -0.268 497 563 2 + -13.567 -9.722 0.751 -0.951 0.155 -0.268 500 567 2 + -13.567 -9.953 0.350 -0.951 0.309 0.000 500 567 2 + -13.780 -9.931 1.113 -0.809 0.294 -0.509 500 567 2 + -13.780 -10.253 0.791 -0.809 0.509 -0.294 500 567 2 + -14.111 -9.954 1.471 -0.588 0.310 -0.747 500 566 2 + -13.069 -8.507 1.638 -0.809 0.294 -0.509 507 573 2 + -13.069 -8.830 1.316 -0.809 0.509 -0.294 507 565 2 + -13.069 -8.948 0.875 -0.809 0.588 0.000 507 565 2 + -13.069 -8.830 0.434 -0.809 0.509 0.294 507 501 2 + -13.401 -8.925 1.733 -0.588 0.572 -0.572 507 565 2 + -13.491 -5.489 3.580 -0.951 -0.309 0.000 513 583 2 + -13.491 -5.721 3.178 -0.951 -0.155 0.268 513 583 2 + -13.704 -5.071 3.580 -0.809 -0.588 0.000 513 583 2 + -13.944 -5.311 2.175 -0.809 -0.294 0.509 517 583 2 + -13.944 -4.989 2.498 -0.809 -0.509 0.294 517 583 2 + -14.276 -4.539 2.938 -0.588 -0.809 0.000 517 620 2 + -14.276 -4.894 2.080 -0.588 -0.572 0.572 517 590 2 + -14.276 -4.631 2.474 -0.588 -0.747 0.310 517 590 2 + -14.694 -4.326 2.938 -0.309 -0.951 0.000 517 620 2 + -14.694 -4.972 1.744 -0.309 -0.520 0.796 517 590 2 + -14.694 -4.626 2.062 -0.309 -0.751 0.584 517 590 2 + -14.694 -4.403 2.475 -0.309 -0.900 0.309 517 620 2 + -14.486 -3.107 1.702 -0.309 0.938 -0.157 519 590 2 + -14.486 -3.107 1.233 -0.309 0.938 0.157 519 590 2 + -11.551 -2.504 1.861 0.000 0.989 -0.149 527 585 2 + -12.014 -2.275 2.317 0.309 0.836 -0.453 527 621 2 + -12.014 -2.427 1.872 0.309 0.938 -0.157 527 587 2 + -11.077 -1.982 2.697 -0.309 0.644 -0.700 529 595 2 + -11.077 -2.271 2.327 -0.309 0.836 -0.453 529 585 2 + -11.541 -2.115 2.668 0.000 0.733 -0.680 529 621 2 + -8.566 -1.077 6.836 0.588 0.572 -0.572 537 605 2 + -8.898 -0.982 6.419 0.809 0.509 -0.294 537 605 2 + -8.898 -1.100 5.978 0.809 0.588 0.000 537 595 2 + -7.579 -0.855 8.771 0.588 0.572 -0.572 539 605 2 + -7.911 -0.760 8.354 0.809 0.509 -0.294 539 605 2 + -7.063 0.507 10.100 0.000 0.500 -0.866 541 55 2 + -7.526 1.607 10.184 0.309 -0.233 -0.922 541 32 2 + -7.526 1.139 10.223 0.309 0.079 -0.948 541 32 2 + -7.526 0.684 10.107 0.309 0.382 -0.871 541 55 2 + -7.526 0.290 9.851 0.309 0.644 -0.700 541 55 2 + -7.944 1.257 10.015 0.588 0.000 -0.809 541 32 2 + -7.944 0.792 9.922 0.588 0.310 -0.747 541 55 2 + -7.944 0.398 9.659 0.588 0.572 -0.572 541 609 2 + -8.276 0.816 9.565 0.809 0.294 -0.509 541 609 2 + -8.276 0.493 9.242 0.809 0.509 -0.294 541 609 2 + -8.344 1.890 9.693 0.588 0.000 -0.809 543 611 2 + -8.676 1.449 9.243 0.809 0.294 -0.509 543 611 2 + -5.723 1.659 11.813 0.809 0.000 -0.588 550 32 2 + -5.723 0.896 11.372 0.809 0.509 -0.294 550 55 2 + -7.154 6.049 13.658 -0.309 0.079 -0.948 557 25 2 + -7.154 5.594 13.543 -0.309 0.382 -0.871 557 25 2 + -7.154 5.200 13.286 -0.309 0.644 -0.700 557 25 2 + -9.358 8.522 15.918 -0.588 -0.809 0.000 569 13 2 + -9.358 8.430 15.453 -0.588 -0.747 0.310 569 12 2 + -7.539 7.296 16.164 -0.809 -0.509 0.294 571 21 2 + -7.871 7.653 16.140 -0.588 -0.747 0.310 571 12 2 + -7.376 5.579 14.496 -0.809 -0.000 0.588 575 20 2 + -7.376 6.020 14.614 -0.809 -0.294 0.509 575 20 2 + -7.708 5.115 14.257 -0.588 0.310 0.747 575 31 2 + -7.708 5.579 14.164 -0.588 -0.000 0.809 575 20 2 + -7.708 6.043 14.257 -0.588 -0.310 0.747 575 12 2 + -7.708 6.437 14.520 -0.588 -0.572 0.572 575 12 2 + -7.494 1.856 16.184 -1.000 0.000 0.000 584 41 2 + -7.567 2.320 16.184 -0.951 -0.309 0.000 584 41 2 + -7.567 1.625 15.783 -0.951 0.155 0.268 584 48 2 + -7.567 2.088 15.783 -0.951 -0.155 0.268 584 41 2 + -7.780 1.093 15.743 -0.809 0.509 0.294 584 48 2 + -7.780 1.416 15.421 -0.809 0.294 0.509 584 48 2 + -7.780 1.856 15.302 -0.809 -0.000 0.588 584 31 2 + -7.780 2.297 15.421 -0.809 -0.294 0.509 584 31 2 + -8.112 2.321 15.063 -0.588 -0.310 0.747 584 31 2 + -7.005 5.119 15.900 -1.000 0.000 0.000 591 21 2 + -7.078 4.656 15.900 -0.951 0.309 0.000 591 26 2 + -5.684 4.902 18.098 0.000 0.733 0.680 593 41 2 + -6.333 2.530 24.095 -0.951 -0.309 0.000 607 818 2 + -6.408 1.659 23.286 -0.951 0.155 0.268 609 796 2 + -6.621 1.127 23.247 -0.809 0.509 0.294 609 796 2 + -6.621 1.450 22.924 -0.809 0.294 0.509 609 796 2 + -6.953 1.032 22.830 -0.588 0.572 0.572 609 796 2 + -7.371 0.924 22.638 -0.309 0.644 0.700 609 789 2 + -6.924 0.108 23.691 -0.809 0.294 0.509 612 796 2 + -7.256 -0.309 23.597 -0.588 0.572 0.572 612 788 2 + -6.125 -0.444 25.769 -0.951 0.309 0.000 615 796 2 + -6.125 -0.212 25.367 -0.951 0.155 0.268 615 796 2 + -6.338 -0.744 26.210 -0.809 0.509 -0.294 615 806 2 + -6.338 -0.862 25.769 -0.809 0.588 0.000 615 788 2 + -6.338 -0.744 25.328 -0.809 0.509 0.294 615 796 2 + -6.338 -0.421 25.005 -0.809 0.294 0.509 615 796 2 + -6.670 -1.102 25.305 -0.588 0.747 0.310 615 788 2 + -6.670 -0.839 24.911 -0.588 0.572 0.572 615 788 2 + -6.611 -2.417 26.568 -1.000 0.000 0.000 617 806 2 + -6.684 -1.954 26.568 -0.951 -0.309 0.000 617 806 2 + -6.684 -2.185 26.969 -0.951 -0.155 -0.268 617 806 2 + -6.684 -2.649 26.969 -0.951 0.155 -0.268 617 806 2 + -6.684 -2.881 26.568 -0.951 0.309 0.000 617 806 2 + -6.684 -2.649 26.167 -0.951 0.155 0.268 617 788 2 + -6.684 -2.185 26.167 -0.951 -0.155 0.268 617 788 2 + -6.897 -1.976 27.332 -0.809 -0.294 -0.509 617 806 2 + -6.897 -2.417 27.450 -0.809 0.000 -0.588 617 806 2 + -6.897 -2.858 27.332 -0.809 0.294 -0.509 617 806 2 + -6.897 -3.181 27.009 -0.809 0.509 -0.294 617 212 2 + -6.897 -2.858 25.804 -0.809 0.294 0.509 617 788 2 + -6.897 -2.417 25.686 -0.809 -0.000 0.588 617 788 2 + -7.229 -2.881 27.689 -0.588 0.310 -0.747 617 212 2 + -7.229 -3.275 27.426 -0.588 0.572 -0.572 617 212 2 + -7.123 -3.686 26.407 -0.809 0.588 0.000 619 788 2 + -7.123 -3.568 25.966 -0.809 0.509 0.294 619 788 2 + -7.123 -3.245 25.644 -0.809 0.294 0.509 619 788 2 + -7.454 -3.663 27.265 -0.588 0.572 -0.572 619 212 2 + -7.454 -3.926 26.872 -0.588 0.747 -0.310 619 212 2 + -7.454 -4.018 26.407 -0.588 0.809 0.000 619 212 2 + -7.454 -3.926 25.943 -0.588 0.747 0.310 619 788 2 + -7.454 -3.663 25.549 -0.588 0.572 0.572 619 788 2 + -7.454 -3.269 25.286 -0.588 0.310 0.747 619 788 2 + -7.873 -3.771 27.457 -0.309 0.644 -0.700 619 212 2 + -7.873 -4.059 27.086 -0.309 0.836 -0.453 619 212 2 + -7.873 -4.212 26.642 -0.309 0.938 -0.157 619 212 2 + -7.873 -4.212 26.172 -0.309 0.938 0.157 619 781 2 + -7.873 -4.059 25.728 -0.309 0.836 0.453 619 788 2 + -7.873 -3.771 25.358 -0.309 0.644 0.700 619 788 2 + -7.873 -3.378 25.101 -0.309 0.382 0.871 619 788 2 + -8.336 -3.904 27.427 0.000 0.733 -0.680 619 212 2 + -8.336 -4.156 27.058 0.000 0.901 -0.434 619 212 2 + -8.336 -4.288 26.631 0.000 0.989 -0.149 619 781 2 + -8.336 -4.288 26.184 0.000 0.989 0.149 619 781 2 + -8.336 -4.156 25.756 0.000 0.901 0.434 619 781 2 + -8.336 -3.904 25.387 0.000 0.733 0.680 619 781 2 + -8.336 -3.555 25.108 0.000 0.500 0.866 619 788 2 + -8.800 -4.059 27.086 0.309 0.836 -0.453 619 781 2 + -8.800 -4.212 26.642 0.309 0.938 -0.157 619 781 2 + -8.800 -4.212 26.172 0.309 0.938 0.157 619 781 2 + -8.800 -4.059 25.728 0.309 0.836 0.453 619 781 2 + -8.800 -3.771 25.358 0.309 0.644 0.700 619 781 2 + -9.218 -4.018 26.407 0.588 0.809 0.000 619 781 2 + -9.218 -3.926 25.943 0.588 0.747 0.310 619 781 2 + -10.072 -7.687 26.441 -0.588 -0.572 0.572 634 780 2 + -10.490 -7.196 26.836 -0.309 -0.900 0.309 634 780 2 + -9.181 -7.918 26.881 -0.588 -0.310 0.747 637 218 2 + -9.181 -7.525 27.144 -0.588 -0.572 0.572 637 209 2 + -9.181 -7.262 27.537 -0.588 -0.747 0.310 637 209 2 + -9.599 -7.602 26.807 -0.309 -0.520 0.796 637 218 2 + -9.599 -7.257 27.126 -0.309 -0.751 0.584 637 209 2 + -9.599 -7.033 27.539 -0.309 -0.900 0.309 637 209 2 + -10.062 -6.949 27.560 0.000 -0.956 0.295 637 783 2 + -8.492 -8.309 27.718 -0.951 -0.155 0.268 639 215 2 + -8.705 -8.541 27.237 -0.809 -0.000 0.588 639 218 2 + -8.827 -10.066 27.329 -0.809 0.294 0.509 641 215 2 + -7.691 -12.275 23.883 -1.000 0.000 0.000 650 378 2 + -7.764 -11.811 23.883 -0.951 -0.309 0.000 650 217 2 + -7.764 -12.043 24.284 -0.951 -0.155 -0.268 650 217 2 + -7.764 -12.507 24.284 -0.951 0.155 -0.268 650 378 2 + -7.764 -12.738 23.883 -0.951 0.309 0.000 650 378 2 + -7.764 -12.507 23.482 -0.951 0.155 0.268 650 753 2 + -7.764 -12.043 23.482 -0.951 -0.155 0.268 650 753 2 + -7.978 -11.511 24.324 -0.809 -0.509 -0.294 650 217 2 + -7.978 -13.157 23.883 -0.809 0.588 0.000 650 378 2 + -7.978 -13.039 23.442 -0.809 0.509 0.294 650 378 2 + -7.978 -12.716 23.119 -0.809 0.294 0.509 650 753 2 + -8.133 -11.589 22.922 -0.809 -0.294 0.509 652 224 2 + -8.133 -11.267 23.244 -0.809 -0.509 0.294 652 224 2 + -9.279 -13.851 23.046 -0.309 0.836 0.453 658 753 2 + -9.279 -13.562 22.675 -0.309 0.644 0.700 658 753 2 + -8.805 -13.330 27.156 -0.951 -0.309 0.000 663 219 2 + -8.805 -13.561 26.755 -0.951 -0.155 0.268 663 219 2 + -10.050 -18.778 23.274 -0.588 -0.310 0.747 674 733 2 + -10.050 -18.384 23.537 -0.588 -0.572 0.572 674 381 2 + -10.468 -18.892 23.012 -0.309 -0.233 0.922 674 733 2 + -10.468 -18.462 23.200 -0.309 -0.520 0.796 674 738 2 + -10.931 -18.694 22.998 0.000 -0.365 0.931 674 738 2 + -10.556 -21.942 22.221 -0.309 -0.233 0.922 682 724 2 + -8.730 -23.498 20.542 0.309 -0.520 0.796 685 725 2 + -8.730 -23.153 20.861 0.309 -0.751 0.584 685 724 2 + -8.730 -22.929 21.274 0.309 -0.900 0.309 685 734 2 + -9.148 -23.420 20.879 0.588 -0.572 0.572 685 724 2 + -12.047 -23.513 18.595 -0.588 -0.747 0.310 689 713 2 + -10.878 -19.925 10.337 -1.000 0.000 0.000 709 539 2 + -10.951 -20.157 10.739 -0.951 0.155 -0.268 709 716 2 + -9.995 -20.426 9.550 -0.588 -0.572 -0.572 715 545 2 + -10.413 -20.933 10.075 -0.309 -0.233 -0.922 715 716 2 + -10.825 -19.492 6.914 0.309 -0.951 0.000 721 537 2 + -10.825 -19.570 6.451 0.309 -0.900 0.309 721 537 2 + -11.318 -19.092 3.845 0.309 -0.233 -0.922 726 550 2 + -12.681 -15.343 0.595 -0.809 -0.509 -0.294 739 570 2 + -13.013 -14.986 0.618 -0.588 -0.747 -0.310 739 568 2 + -13.013 -15.249 1.012 -0.588 -0.572 -0.572 739 568 2 + -11.470 -13.196 -1.823 -0.809 0.000 -0.588 744 481 2 + -11.540 -11.698 -1.768 -0.809 -0.294 -0.509 746 481 2 + -11.540 -12.138 -1.650 -0.809 0.000 -0.588 746 481 2 + -11.872 -11.280 -1.673 -0.588 -0.572 -0.572 746 501 2 + -11.872 -11.674 -1.410 -0.588 -0.310 -0.747 746 481 2 + -11.872 -12.138 -1.318 -0.588 0.000 -0.809 746 568 2 + -12.290 -11.013 -1.655 -0.309 -0.751 -0.584 746 501 2 + -12.290 -11.358 -1.337 -0.309 -0.520 -0.796 746 501 2 + -12.290 -11.788 -1.148 -0.309 -0.233 -0.922 746 568 2 + -12.290 -12.256 -1.110 -0.309 0.079 -0.948 746 568 2 + -13.916 -7.616 -1.290 -0.809 -0.000 0.588 754 502 2 + -12.812 -7.244 0.741 -0.951 -0.309 0.000 758 574 2 + -12.812 -7.476 0.340 -0.951 -0.155 0.268 758 574 2 + -13.025 -6.826 0.741 -0.809 -0.588 0.000 758 574 2 + -13.025 -7.707 -0.141 -0.809 -0.000 0.588 758 501 2 + -13.025 -7.266 -0.022 -0.809 -0.294 0.509 758 501 2 + -13.025 -6.944 0.300 -0.809 -0.509 0.294 758 588 2 + -13.357 -6.849 -0.117 -0.588 -0.572 0.572 758 588 2 + -13.357 -6.586 0.277 -0.588 -0.747 0.310 758 588 2 + -8.201 -1.801 5.835 0.588 0.809 0.000 790 597 2 + -7.341 -1.953 6.767 0.309 0.836 -0.453 793 605 2 + -6.351 -1.828 8.014 0.000 0.989 -0.149 795 601 2 + -6.814 -1.311 8.840 0.309 0.644 -0.700 795 55 2 + -6.814 -1.599 8.470 0.309 0.836 -0.453 795 605 2 + -6.814 -1.752 8.025 0.309 0.938 -0.157 795 605 2 + -4.773 -2.022 7.920 0.000 0.989 0.149 798 601 2 + -5.236 -1.794 8.822 0.309 0.836 -0.453 798 601 2 + -5.236 -1.946 8.378 0.309 0.938 -0.157 798 601 2 + -3.376 1.123 12.231 -0.588 0.310 -0.747 805 60 2 + -3.376 0.730 11.968 -0.588 0.572 -0.572 805 60 2 + -3.794 1.470 12.532 -0.309 0.079 -0.948 805 60 2 + -3.794 1.015 12.417 -0.309 0.382 -0.871 805 60 2 + -3.794 0.622 12.160 -0.309 0.644 -0.700 805 60 2 + -3.794 0.333 11.789 -0.309 0.836 -0.453 805 54 2 + -4.258 1.700 12.606 0.000 -0.075 -0.997 805 29 2 + -4.258 1.254 12.573 0.000 0.223 -0.975 805 29 2 + -4.258 0.838 12.409 0.000 0.500 -0.866 805 54 2 + -4.258 0.488 12.130 0.000 0.733 -0.680 805 54 2 + -4.258 0.236 11.761 0.000 0.901 -0.434 805 54 2 + -4.721 1.470 12.532 0.309 0.079 -0.948 805 29 2 + -4.721 1.015 12.417 0.309 0.382 -0.871 805 29 2 + -4.721 0.622 12.160 0.309 0.644 -0.700 805 54 2 + -2.933 2.591 13.410 0.000 0.733 -0.680 807 28 2 + -2.933 2.339 13.041 0.000 0.901 -0.434 807 60 2 + -3.397 3.117 13.696 0.309 0.382 -0.871 807 28 2 + -3.397 2.724 13.440 0.309 0.644 -0.700 807 28 2 + -3.397 2.436 13.069 0.309 0.836 -0.453 807 28 2 + -3.815 2.832 13.248 0.588 0.572 -0.572 807 29 2 + -3.511 5.681 14.102 0.588 -0.310 -0.747 812 25 2 + -3.511 5.217 14.194 0.588 0.000 -0.809 812 25 2 + -12.010 11.174 14.584 -0.809 -0.588 0.000 838 1 2 + -12.010 11.056 14.143 -0.809 -0.509 0.294 838 1 2 + -10.184 10.408 17.133 -1.000 0.000 0.000 840 15 2 + -10.258 10.871 17.133 -0.951 -0.309 0.000 840 15 2 + -10.258 10.639 17.535 -0.951 -0.155 -0.268 840 15 2 + -10.258 10.639 16.732 -0.951 -0.155 0.268 840 4 2 + -10.471 11.289 17.133 -0.809 -0.588 0.000 840 15 2 + -10.471 10.408 16.252 -0.809 -0.000 0.588 840 4 2 + -10.471 10.848 16.370 -0.809 -0.294 0.509 840 4 2 + -10.471 11.171 16.693 -0.809 -0.509 0.294 840 4 2 + -10.803 10.872 16.012 -0.588 -0.310 0.747 840 4 2 + -10.803 11.266 16.275 -0.588 -0.572 0.572 840 4 2 + -10.803 11.529 16.669 -0.588 -0.747 0.310 840 6 2 + -11.221 11.533 16.257 -0.309 -0.751 0.584 840 6 2 + -5.660 8.599 16.799 0.000 -0.075 0.997 849 24 2 + -6.124 8.369 16.873 0.309 0.079 0.948 849 21 2 + -6.124 8.837 16.912 0.309 -0.233 0.922 849 24 2 + -6.542 8.951 17.173 0.588 -0.310 0.747 849 13 2 + -3.800 5.548 15.911 0.588 0.310 0.747 854 28 2 + -3.800 6.012 15.818 0.588 -0.000 0.809 854 21 2 + -3.800 6.477 15.911 0.588 -0.310 0.747 854 21 2 + -4.132 6.012 16.150 0.809 -0.000 0.588 854 21 2 + -4.026 4.683 17.025 0.588 0.747 0.310 858 27 2 + -4.515 4.515 18.327 0.309 0.938 0.157 860 36 2 + -3.012 2.468 19.810 0.809 0.509 0.294 863 39 2 + -2.313 2.446 22.167 0.000 0.733 -0.680 865 800 2 + -2.313 2.194 21.797 0.000 0.901 -0.434 865 800 2 + -2.776 2.972 22.453 0.309 0.382 -0.871 865 814 2 + -2.776 2.579 22.196 0.309 0.644 -0.700 865 800 2 + -2.776 2.291 21.825 0.309 0.836 -0.453 865 800 2 + -2.776 2.138 21.381 0.309 0.938 -0.157 865 800 2 + -3.194 3.081 22.268 0.588 0.310 -0.747 865 814 2 + -3.194 2.687 22.005 0.588 0.572 -0.572 865 800 2 + -3.194 2.424 21.611 0.588 0.747 -0.310 865 800 2 + -3.194 2.332 21.147 0.588 0.809 0.000 865 39 2 + -3.526 3.105 21.910 0.809 0.294 -0.509 865 814 2 + -3.526 2.782 21.587 0.809 0.509 -0.294 865 39 2 + -3.526 2.664 21.147 0.809 0.588 0.000 865 39 2 + -3.526 2.782 20.706 0.809 0.509 0.294 865 39 2 + -2.057 8.184 25.319 -0.309 -0.233 -0.922 873 822 2 + -2.057 7.716 25.358 -0.309 0.079 -0.948 873 822 2 + -2.057 7.261 25.243 -0.309 0.382 -0.871 873 822 2 + -2.521 6.735 24.957 0.000 0.733 -0.680 873 815 2 + -2.734 8.270 25.718 -0.809 -0.294 -0.509 875 826 2 + -3.164 7.777 26.276 -0.588 0.000 -0.809 878 826 2 + -3.164 7.312 26.184 -0.588 0.310 -0.747 878 826 2 + -3.164 6.919 25.921 -0.588 0.572 -0.572 878 826 2 + -3.555 6.826 26.396 -0.809 0.294 -0.509 880 813 2 + -3.555 6.503 26.073 -0.809 0.509 -0.294 880 813 2 + -3.887 6.408 26.490 -0.588 0.572 -0.572 880 813 2 + -3.887 6.145 26.097 -0.588 0.747 -0.310 880 813 2 + -3.887 6.053 25.632 -0.588 0.809 0.000 880 813 2 + -4.750 5.610 25.388 -0.309 0.938 0.157 883 817 2 + -4.834 2.528 26.910 -0.809 0.294 0.509 889 802 2 + -4.834 2.969 26.792 -0.809 -0.000 0.588 889 813 2 + -4.834 3.410 26.910 -0.809 -0.294 0.509 889 813 2 + -5.166 2.969 26.460 -0.588 -0.000 0.809 889 817 2 + -5.166 3.434 26.553 -0.588 -0.310 0.747 889 817 2 + -5.799 1.475 25.479 -0.951 0.155 0.268 891 796 2 + -5.799 1.938 25.479 -0.951 -0.155 0.268 891 796 2 + -7.783 -1.401 28.172 -0.588 -0.310 -0.747 899 809 2 + -7.783 -1.866 28.264 -0.588 0.000 -0.809 899 809 2 + -8.806 -1.748 28.599 0.000 -0.075 -0.997 902 809 2 + -8.806 -2.194 28.566 0.000 0.223 -0.975 902 212 2 + -8.806 -2.610 28.402 0.000 0.500 -0.866 902 212 2 + -9.270 -1.978 28.525 0.309 0.079 -0.948 902 809 2 + -9.270 -2.433 28.410 0.309 0.382 -0.871 902 212 2 + -9.688 -2.325 28.224 0.588 0.310 -0.747 902 784 2 + -9.688 -2.718 27.961 0.588 0.572 -0.572 902 784 2 + -9.548 -3.367 27.462 0.588 0.572 -0.572 904 784 2 + -9.086 -1.608 29.344 -0.951 0.155 0.268 908 809 2 + -9.086 -1.144 29.344 -0.951 -0.155 0.268 908 809 2 + -9.299 -2.257 29.746 -0.809 0.588 0.000 908 214 2 + -9.299 -2.139 29.305 -0.809 0.509 0.294 908 214 2 + -9.299 -1.817 28.982 -0.809 0.294 0.509 908 809 2 + -9.631 -2.497 29.281 -0.588 0.747 0.310 908 214 2 + -9.631 -2.234 28.888 -0.588 0.572 0.572 908 214 2 + -10.049 -2.630 29.067 -0.309 0.836 0.453 908 784 2 + -10.049 -2.342 28.696 -0.309 0.644 0.700 908 784 2 + -10.512 -2.475 28.726 0.000 0.733 0.680 908 784 2 + -11.117 -4.510 29.653 -0.809 0.294 0.509 912 783 2 + -11.448 -4.534 29.295 -0.588 0.310 0.747 912 783 2 + -10.563 -5.925 30.350 -0.809 -0.509 0.294 918 211 2 + -9.615 -6.798 28.931 -0.309 -0.951 0.000 920 211 2 + -6.839 -8.791 29.713 -0.588 -0.572 0.572 928 206 2 + -6.381 -10.338 29.290 -0.588 -0.000 0.809 930 215 2 + -6.381 -9.873 29.382 -0.588 -0.310 0.747 930 215 2 + -6.799 -10.455 29.082 -0.309 0.079 0.948 930 215 2 + -6.799 -9.987 29.120 -0.309 -0.233 0.922 930 215 2 + -5.666 -14.620 28.383 -0.588 -0.809 0.000 942 382 2 + -5.870 -14.585 27.193 -0.588 -0.747 0.310 949 382 2 + -6.288 -14.580 26.781 -0.309 -0.751 0.584 949 382 2 + -6.288 -14.357 27.194 -0.309 -0.900 0.309 949 220 2 + -6.752 -14.771 26.485 0.000 -0.623 0.782 949 378 2 + -6.752 -14.467 26.813 0.000 -0.826 0.563 949 378 2 + -6.752 -14.273 27.216 0.000 -0.956 0.295 949 220 2 + -8.260 -20.046 24.178 -0.588 -0.310 0.747 960 737 2 + -7.258 -21.816 20.568 0.809 -0.509 -0.294 971 735 2 + -6.762 -20.757 20.280 0.309 -0.520 -0.796 973 736 2 + -7.180 -20.416 19.551 0.588 -0.747 -0.310 973 709 2 + -7.180 -20.679 19.944 0.588 -0.572 -0.572 973 736 2 + -7.180 -21.073 20.207 0.588 -0.310 -0.747 973 736 2 + -7.512 -20.655 19.086 0.809 -0.588 0.000 973 709 2 + -7.512 -20.773 19.527 0.809 -0.509 -0.294 973 709 2 + -7.512 -21.096 19.850 0.809 -0.294 -0.509 973 736 2 + -7.512 -21.537 19.968 0.809 0.000 -0.588 973 736 2 + -7.512 -20.773 18.645 0.809 -0.509 0.294 973 709 2 + -7.725 -21.073 19.086 0.951 -0.309 0.000 973 709 2 + -7.725 -21.305 19.488 0.951 -0.155 -0.268 973 709 2 + -7.725 -21.769 19.488 0.951 0.155 -0.268 973 725 2 + -7.725 -22.001 19.086 0.951 0.309 0.000 973 725 2 + -7.725 -21.305 18.685 0.951 -0.155 0.268 973 709 2 + -7.798 -21.537 19.086 1.000 0.000 0.000 973 725 2 + -7.312 -22.496 17.803 0.809 0.509 0.294 975 725 2 + -7.525 -21.964 17.842 0.951 0.155 0.268 975 725 2 + -7.525 -21.501 17.842 0.951 -0.155 0.268 975 709 2 + -7.653 -25.128 15.202 0.309 -0.900 -0.309 987 728 2 + -7.653 -25.351 15.615 0.309 -0.751 -0.584 987 728 2 + -8.071 -25.263 14.739 0.588 -0.809 0.000 987 727 2 + -8.071 -25.356 15.203 0.588 -0.747 -0.310 987 727 2 + -8.071 -25.619 15.597 0.588 -0.572 -0.572 987 727 2 + -9.074 -25.357 14.352 -0.588 -0.809 0.000 989 720 2 + -9.524 -24.740 14.744 -0.951 -0.309 0.000 993 727 2 + -9.524 -24.972 15.146 -0.951 -0.155 -0.268 993 727 2 + -9.738 -24.322 14.744 -0.809 -0.588 0.000 993 727 2 + -9.738 -24.440 15.185 -0.809 -0.509 -0.294 993 727 2 + -9.738 -24.763 15.508 -0.809 -0.294 -0.509 993 727 2 + -9.738 -24.763 13.981 -0.809 -0.294 0.509 993 719 2 + -9.738 -24.440 14.304 -0.809 -0.509 0.294 993 714 2 + -10.069 -23.990 14.744 -0.588 -0.809 0.000 993 714 2 + -10.069 -24.740 13.623 -0.588 -0.310 0.747 993 719 2 + -10.069 -24.346 13.886 -0.588 -0.572 0.572 993 719 2 + -10.069 -24.083 14.280 -0.588 -0.747 0.310 993 714 2 + -10.488 -24.854 13.361 -0.309 -0.233 0.922 993 719 2 + -10.488 -24.424 13.550 -0.309 -0.520 0.796 993 719 2 + -10.488 -24.078 13.868 -0.309 -0.751 0.584 993 714 2 + -10.488 -23.855 14.281 -0.309 -0.900 0.309 993 714 2 + -10.572 -23.876 15.838 -0.588 -0.747 -0.310 996 712 2 + -10.990 -23.571 15.373 -0.309 -0.951 0.000 996 714 2 + -10.990 -23.648 15.836 -0.309 -0.900 -0.309 996 712 2 + -11.693 -23.854 12.567 -0.951 -0.155 0.268 1000 719 2 + -7.719 -18.812 7.972 0.309 -0.751 -0.584 1014 530 2 + -8.137 -18.817 7.560 0.588 -0.747 -0.310 1014 536 2 + -8.037 -18.298 6.461 0.588 -0.747 -0.310 1017 536 2 + -6.349 -17.471 5.453 -0.309 -0.951 0.000 1023 461 2 + -6.812 -17.397 5.453 0.000 -1.000 0.000 1023 530 2 + -6.812 -17.464 5.895 0.000 -0.956 -0.295 1023 530 2 + -6.812 -17.658 6.298 0.000 -0.826 -0.563 1023 530 2 + -7.276 -17.471 5.453 0.309 -0.951 0.000 1023 530 2 + -7.276 -17.548 5.916 0.309 -0.900 -0.309 1023 530 2 + -7.694 -17.684 5.453 0.588 -0.809 0.000 1023 538 2 + -7.694 -17.776 5.917 0.588 -0.747 -0.310 1023 530 2 + -8.026 -18.016 5.453 0.809 -0.588 0.000 1023 538 2 + -6.344 -17.501 4.531 -0.309 -0.951 0.000 1025 461 2 + -6.807 -17.428 4.531 0.000 -1.000 0.000 1025 524 2 + -6.807 -17.495 4.089 0.000 -0.956 0.295 1025 524 2 + -7.271 -17.501 4.531 0.309 -0.951 0.000 1025 524 2 + -7.271 -17.579 4.068 0.309 -0.900 0.309 1025 524 2 + -7.689 -17.714 4.531 0.588 -0.809 0.000 1025 538 2 + -9.145 -16.800 2.509 -0.809 -0.509 -0.294 1027 524 2 + -9.477 -16.350 2.068 -0.588 -0.809 0.000 1027 524 2 + -9.477 -16.442 2.532 -0.588 -0.747 -0.310 1027 524 2 + -9.477 -16.705 2.926 -0.588 -0.572 -0.572 1027 524 2 + -9.477 -17.099 3.189 -0.588 -0.310 -0.747 1027 538 2 + -9.895 -16.137 2.068 -0.309 -0.951 0.000 1027 570 2 + -9.895 -16.214 2.531 -0.309 -0.900 -0.309 1027 524 2 + -9.895 -16.437 2.944 -0.309 -0.751 -0.584 1027 524 2 + -10.475 -16.321 2.943 0.000 -0.826 -0.563 1029 538 2 + -10.475 -16.625 3.270 0.000 -0.623 -0.782 1029 538 2 + -10.475 -17.012 3.494 0.000 -0.365 -0.931 1029 538 2 + -10.475 -17.448 3.593 0.000 -0.075 -0.997 1029 538 2 + -10.939 -16.134 2.098 0.309 -0.951 0.000 1029 570 2 + -10.939 -16.211 2.561 0.309 -0.900 -0.309 1029 570 2 + -10.939 -16.434 2.974 0.309 -0.751 -0.584 1029 550 2 + -10.939 -16.780 3.292 0.309 -0.520 -0.796 1029 550 2 + -10.939 -17.210 3.480 0.309 -0.233 -0.922 1029 550 2 + -11.357 -16.702 2.956 0.588 -0.572 -0.572 1029 550 2 + -11.357 -17.096 3.219 0.588 -0.310 -0.747 1029 550 2 + -7.925 -14.896 -1.587 0.000 -1.000 0.000 1039 478 2 + -7.925 -14.963 -1.145 0.000 -0.956 -0.295 1039 478 2 + -7.925 -15.157 -0.742 0.000 -0.826 -0.563 1039 526 2 + -7.925 -15.461 -0.415 0.000 -0.623 -0.782 1039 526 2 + -8.389 -14.970 -1.587 0.309 -0.951 0.000 1039 478 2 + -8.389 -15.047 -1.124 0.309 -0.900 -0.309 1039 571 2 + -8.389 -15.271 -0.711 0.309 -0.751 -0.584 1039 571 2 + -8.807 -15.275 -1.123 0.588 -0.747 -0.310 1039 571 2 + -9.447 -14.045 -3.100 -0.309 -0.520 -0.796 1041 481 2 + -10.591 -10.943 -4.035 -0.951 -0.309 0.000 1048 490 2 + -10.591 -11.175 -3.634 -0.951 -0.155 -0.268 1048 481 2 + -10.804 -10.525 -4.035 -0.809 -0.588 0.000 1048 490 2 + -10.804 -10.643 -3.594 -0.809 -0.509 -0.294 1048 481 2 + -10.804 -10.966 -3.271 -0.809 -0.294 -0.509 1048 481 2 + -10.804 -11.407 -3.153 -0.809 0.000 -0.588 1048 481 2 + -10.804 -10.643 -4.476 -0.809 -0.509 0.294 1048 490 2 + -11.136 -10.193 -4.035 -0.588 -0.809 0.000 1048 490 2 + -11.136 -10.285 -3.571 -0.588 -0.747 -0.310 1048 490 2 + -11.136 -10.548 -3.177 -0.588 -0.572 -0.572 1048 481 2 + -11.136 -10.285 -4.499 -0.588 -0.747 0.310 1048 490 2 + -11.554 -9.980 -4.035 -0.309 -0.951 0.000 1048 502 2 + -11.554 -10.057 -3.572 -0.309 -0.900 -0.309 1048 502 2 + -11.554 -10.281 -3.159 -0.309 -0.751 -0.584 1048 502 2 + -12.018 -9.973 -3.593 0.000 -0.956 -0.295 1048 502 2 + -11.624 -6.628 -2.175 0.588 0.747 -0.310 1056 503 2 + -11.955 -6.271 -2.199 0.809 0.509 -0.294 1056 503 2 + -11.254 -5.453 -0.455 0.588 0.000 -0.809 1058 584 2 + -11.254 -6.311 -0.810 0.588 0.572 -0.572 1058 589 2 + -11.254 -6.575 -1.204 0.588 0.747 -0.310 1058 500 2 + -11.586 -5.894 -0.905 0.809 0.294 -0.509 1058 589 2 + -11.586 -6.217 -1.227 0.809 0.509 -0.294 1058 589 2 + -9.858 -6.985 -0.698 0.000 0.901 -0.434 1061 496 2 + -10.322 -6.600 -0.299 0.309 0.644 -0.700 1061 496 2 + -10.322 -6.888 -0.670 0.309 0.836 -0.453 1061 500 2 + -10.322 -7.041 -1.114 0.309 0.938 -0.157 1061 500 2 + -8.729 -6.376 -0.339 -0.588 0.572 -0.572 1063 494 2 + -8.729 -6.639 -0.733 -0.588 0.747 -0.310 1063 494 2 + -9.147 -6.484 -0.148 -0.309 0.644 -0.700 1063 496 2 + -9.147 -6.773 -0.519 -0.309 0.836 -0.453 1063 496 2 + -9.611 -6.268 0.102 0.000 0.500 -0.866 1063 496 2 + -8.310 -5.776 -0.401 -0.809 0.294 -0.509 1065 494 2 + -8.642 -5.335 0.049 -0.588 0.000 -0.809 1065 586 2 + -8.642 -5.800 -0.044 -0.588 0.310 -0.747 1065 494 2 + -9.060 -4.985 0.218 -0.309 -0.233 -0.922 1065 586 2 + -9.060 -5.453 0.257 -0.309 0.079 -0.948 1065 586 2 + -9.524 -4.787 0.232 0.000 -0.365 -0.931 1065 586 2 + -9.524 -5.223 0.331 0.000 -0.075 -0.997 1065 586 2 + -9.987 -4.985 0.218 0.309 -0.233 -0.922 1065 586 2 + -7.120 -4.609 1.002 0.000 0.500 -0.866 1069 512 2 + -7.120 -4.958 0.723 0.000 0.733 -0.680 1069 512 2 + -7.120 -5.210 0.354 0.000 0.901 -0.434 1069 494 2 + -7.120 -5.342 -0.073 0.000 0.989 -0.149 1069 494 2 + -7.583 -4.432 1.009 0.309 0.382 -0.871 1069 512 2 + -7.583 -4.825 0.753 0.309 0.644 -0.700 1069 512 2 + -7.583 -5.113 0.382 0.309 0.836 -0.453 1069 494 2 + -7.583 -5.266 -0.062 0.309 0.938 -0.157 1069 494 2 + -8.001 -4.323 0.824 0.588 0.310 -0.747 1069 586 2 + -8.001 -4.717 0.561 0.588 0.572 -0.572 1069 586 2 + -8.001 -4.980 0.167 0.588 0.747 -0.310 1069 494 2 + -7.650 -3.370 2.132 0.309 0.938 -0.157 1071 586 2 + -8.069 -3.084 2.362 0.588 0.747 -0.310 1071 592 2 + -6.909 -3.265 3.861 0.309 0.938 -0.157 1074 597 2 + -7.327 -2.979 4.091 0.588 0.747 -0.310 1074 597 2 + -5.564 -3.455 4.886 0.000 0.901 -0.434 1077 602 2 + -6.028 -3.358 4.915 0.309 0.836 -0.453 1077 597 2 + -6.028 -3.510 4.470 0.309 0.938 -0.157 1077 597 2 + -4.031 -3.198 4.841 -0.309 0.836 -0.453 1085 602 2 + -1.710 -3.033 4.516 -0.588 0.747 -0.310 1087 334 2 + -2.128 -3.167 4.730 -0.309 0.836 -0.453 1087 334 2 + -2.128 -3.319 4.286 -0.309 0.938 -0.157 1087 334 2 + -2.591 -3.012 5.072 0.000 0.733 -0.680 1087 603 2 + -2.591 -3.263 4.702 0.000 0.901 -0.434 1087 603 2 + -2.591 -3.395 4.275 0.000 0.989 -0.149 1087 515 2 + -2.591 -3.395 3.828 0.000 0.989 0.149 1087 515 2 + -3.055 -3.319 4.286 0.309 0.938 -0.157 1087 515 2 + -3.055 -3.319 3.817 0.309 0.938 0.157 1087 515 2 + -0.978 -1.665 7.196 -0.309 0.644 -0.700 1089 64 2 + -0.978 -1.953 6.825 -0.309 0.836 -0.453 1089 334 2 + -0.978 -2.106 6.381 -0.309 0.938 -0.157 1089 334 2 + -1.441 -1.798 7.166 0.000 0.733 -0.680 1089 603 2 + -1.441 -2.050 6.797 0.000 0.901 -0.434 1089 603 2 + -1.441 -2.182 6.370 0.000 0.989 -0.149 1089 603 2 + -1.905 -1.953 6.825 0.309 0.836 -0.453 1089 603 2 + -2.493 -0.894 9.394 -0.809 0.294 -0.509 1093 62 2 + -2.824 -1.311 9.488 -0.588 0.572 -0.572 1093 62 2 + -2.824 -1.574 9.094 -0.588 0.747 -0.310 1093 62 2 + -3.243 -1.419 9.680 -0.309 0.644 -0.700 1093 54 2 + -3.243 -1.707 9.309 -0.309 0.836 -0.453 1093 54 2 + -3.243 -1.860 8.865 -0.309 0.938 -0.157 1093 603 2 + -3.243 -1.860 8.395 -0.309 0.938 0.157 1093 603 2 + -3.706 -1.203 9.929 0.000 0.500 -0.866 1093 54 2 + -3.706 -1.552 9.650 0.000 0.733 -0.680 1093 54 2 + -3.706 -1.804 9.281 0.000 0.901 -0.434 1093 54 2 + -3.706 -1.936 8.854 0.000 0.989 -0.149 1093 603 2 + -2.797 0.224 10.915 -0.588 0.572 -0.572 1096 60 2 + -0.060 2.395 12.664 0.000 0.989 -0.149 1103 59 2 + -0.060 2.395 12.217 0.000 0.989 0.149 1103 60 2 + -1.131 2.557 14.088 0.000 0.901 -0.434 1105 59 2 + -1.131 2.425 13.660 0.000 0.989 -0.149 1105 59 2 + -1.595 2.654 14.116 0.309 0.836 -0.453 1105 28 2 + -1.595 2.501 13.672 0.309 0.938 -0.157 1105 60 2 + -2.013 3.050 14.295 0.588 0.572 -0.572 1105 28 2 + -0.831 2.037 15.413 0.000 0.500 0.866 1108 59 2 + -1.294 1.821 15.662 0.309 0.644 0.700 1108 59 2 + -1.294 2.214 15.405 0.309 0.382 0.871 1108 59 2 + -1.712 1.929 15.854 0.588 0.572 0.572 1108 28 2 + -1.712 2.323 15.590 0.588 0.310 0.747 1108 28 2 + -2.044 2.023 16.271 0.809 0.509 0.294 1108 37 2 + -2.044 2.346 15.948 0.809 0.294 0.509 1108 28 2 + -2.044 2.787 15.830 0.809 -0.000 0.588 1108 28 2 + -2.257 2.555 16.310 0.951 0.155 0.268 1108 28 2 + -0.430 0.920 19.838 0.000 0.989 -0.149 1121 77 2 + -0.894 1.148 20.294 0.309 0.836 -0.453 1121 800 2 + -0.894 0.996 19.850 0.309 0.938 -0.157 1121 38 2 + -1.312 1.189 19.615 0.588 0.809 0.000 1121 38 2 + 1.145 -0.276 22.613 0.309 0.938 -0.157 1123 161 2 + 0.727 -0.082 22.378 0.588 0.809 0.000 1123 161 2 + 0.727 0.010 21.914 0.588 0.747 0.310 1123 800 2 + 0.395 0.368 21.937 0.809 0.509 0.294 1123 800 2 + 0.002 -0.580 24.597 0.000 0.989 0.149 1125 161 2 + 0.002 -0.448 24.170 0.000 0.901 0.434 1125 161 2 + -0.462 -0.504 25.055 0.309 0.938 -0.157 1125 161 2 + -0.462 -0.504 24.586 0.309 0.938 0.157 1125 161 2 + -0.462 -0.352 24.141 0.309 0.836 0.453 1125 161 2 + -0.462 -0.063 23.771 0.309 0.644 0.700 1125 800 2 + -0.880 -0.218 25.285 0.588 0.747 -0.310 1125 804 2 + -0.880 -0.311 24.820 0.588 0.809 0.000 1125 804 2 + -0.880 -0.218 24.356 0.588 0.747 0.310 1125 800 2 + -0.880 0.045 23.962 0.588 0.572 0.572 1125 800 2 + -0.880 0.439 23.699 0.588 0.310 0.747 1125 800 2 + -1.212 0.462 25.584 0.809 0.294 -0.509 1125 804 2 + -1.212 0.139 25.261 0.809 0.509 -0.294 1125 804 2 + -1.212 0.021 24.820 0.809 0.588 0.000 1125 804 2 + -1.212 0.139 24.380 0.809 0.509 0.294 1125 800 2 + -1.212 0.462 24.057 0.809 0.294 0.509 1125 800 2 + -1.425 0.439 24.820 0.951 0.309 0.000 1125 804 2 + -1.553 1.900 24.761 0.951 -0.309 0.000 1127 811 2 + -1.553 1.668 25.163 0.951 -0.155 -0.268 1127 804 2 + -1.553 1.205 25.163 0.951 0.155 -0.268 1127 804 2 + -1.553 1.205 24.360 0.951 0.155 0.268 1127 800 2 + -1.553 1.668 24.360 0.951 -0.155 0.268 1127 811 2 + -1.627 1.436 24.761 1.000 0.000 0.000 1127 804 2 + -0.621 5.473 25.741 0.809 -0.294 -0.509 1134 819 2 + -0.834 5.264 25.379 0.951 -0.155 -0.268 1134 819 2 + 0.490 8.557 27.942 0.951 0.155 -0.268 1141 824 2 + 0.490 8.557 27.139 0.951 0.155 0.268 1141 822 2 + 0.490 9.021 27.139 0.951 -0.155 0.268 1141 822 2 + 0.417 8.789 27.540 1.000 0.000 0.000 1141 822 2 + -2.023 6.930 30.067 -0.809 0.294 0.509 1158 824 2 + -2.023 7.371 29.949 -0.809 -0.000 0.588 1158 824 2 + -3.391 6.422 28.577 -0.588 -0.000 0.809 1162 820 2 + -3.391 6.886 28.669 -0.588 -0.310 0.747 1162 820 2 + -7.560 -1.020 30.903 -0.588 -0.000 0.809 1183 808 2 + -7.978 -1.593 30.810 -0.309 0.382 0.871 1183 809 2 + -7.978 -1.138 30.694 -0.309 0.079 0.948 1183 809 2 + -5.129 -3.906 31.404 -0.588 0.747 0.310 1186 198 2 + -5.547 -4.039 31.190 -0.309 0.836 0.453 1186 198 2 + -5.547 -3.751 30.819 -0.309 0.644 0.700 1186 198 2 + -6.010 -4.136 31.218 0.000 0.901 0.434 1186 198 2 + -6.010 -3.884 30.849 0.000 0.733 0.680 1186 214 2 + -6.010 -3.535 30.570 0.000 0.500 0.866 1186 214 2 + -6.010 -3.118 30.406 0.000 0.223 0.975 1186 214 2 + -6.010 -2.672 30.373 0.000 -0.075 0.997 1186 808 2 + -6.010 -2.237 30.473 0.000 -0.365 0.931 1186 808 2 + -6.010 -1.849 30.696 0.000 -0.623 0.782 1186 808 2 + -6.474 -3.751 30.819 0.309 0.644 0.700 1186 214 2 + -6.474 -3.358 30.562 0.309 0.382 0.871 1186 214 2 + -6.474 -2.902 30.447 0.309 0.079 0.948 1186 214 2 + -6.474 -2.434 30.486 0.309 -0.233 0.922 1186 808 2 + -6.474 -2.004 30.675 0.309 -0.520 0.796 1186 808 2 + -6.892 -3.643 31.011 0.588 0.572 0.572 1186 214 2 + -6.892 -3.249 30.748 0.588 0.310 0.747 1186 214 2 + -6.892 -2.785 30.655 0.588 -0.000 0.809 1186 214 2 + -6.892 -2.320 30.748 0.588 -0.310 0.747 1186 214 2 + -5.891 -4.494 32.748 -0.309 0.938 -0.157 1188 200 2 + -5.891 -4.494 32.279 -0.309 0.938 0.157 1188 198 2 + -6.355 -4.570 32.290 0.000 0.989 0.149 1188 198 2 + -6.355 -4.439 31.863 0.000 0.901 0.434 1188 198 2 + -6.818 -4.342 31.835 0.309 0.836 0.453 1188 214 2 + -7.006 -5.881 32.827 -0.588 -0.809 0.000 1193 200 2 + -7.411 -5.999 31.899 -0.309 -0.751 0.584 1195 211 2 + -6.305 -7.259 31.372 -0.809 -0.294 0.509 1198 197 2 + -6.305 -6.936 31.695 -0.809 -0.509 0.294 1198 197 2 + -6.637 -7.235 31.014 -0.588 -0.310 0.747 1198 197 2 + -6.637 -6.842 31.278 -0.588 -0.572 0.572 1198 197 2 + -6.637 -6.579 31.671 -0.588 -0.747 0.310 1198 199 2 + -7.055 -6.919 30.941 -0.309 -0.520 0.796 1198 211 2 + -7.055 -6.574 31.259 -0.309 -0.751 0.584 1198 211 2 + -3.738 -7.863 32.160 0.588 -0.747 0.310 1204 195 2 + -2.834 -8.070 30.934 0.309 -0.751 0.584 1206 195 2 + -2.835 -9.078 30.227 0.309 -0.233 0.922 1208 369 2 + -2.835 -8.647 30.416 0.309 -0.520 0.796 1208 188 2 + -3.253 -8.963 30.489 0.588 -0.310 0.747 1208 197 2 + -4.216 -10.561 29.479 -0.309 -0.520 0.796 1210 369 2 + -4.679 -11.229 29.178 0.000 -0.075 0.997 1210 221 2 + -4.679 -10.793 29.277 0.000 -0.365 0.931 1210 369 2 + -4.679 -10.406 29.501 0.000 -0.623 0.782 1210 197 2 + -4.679 -10.102 29.829 0.000 -0.826 0.563 1210 197 2 + -5.143 -10.991 29.291 0.309 -0.233 0.922 1210 221 2 + -6.003 -11.064 29.350 0.000 -0.075 0.997 1212 221 2 + -3.809 -13.299 29.086 0.000 0.500 0.866 1216 383 2 + -3.809 -12.883 28.922 0.000 0.223 0.975 1216 221 2 + -3.809 -12.437 28.889 0.000 -0.075 0.997 1216 221 2 + -3.809 -12.001 28.988 0.000 -0.365 0.931 1216 369 2 + -4.272 -12.667 28.963 0.309 0.079 0.948 1216 221 2 + -4.018 -17.247 24.571 0.309 -0.951 0.000 1245 374 2 + -4.018 -17.894 23.377 0.309 -0.520 0.796 1245 417 2 + -4.018 -17.548 23.695 0.309 -0.751 0.584 1245 417 2 + -4.018 -17.325 24.108 0.309 -0.900 0.309 1245 377 2 + -4.436 -17.460 24.571 0.588 -0.809 0.000 1245 377 2 + -4.436 -17.816 23.713 0.588 -0.572 0.572 1245 377 2 + -4.436 -17.553 24.107 0.588 -0.747 0.310 1245 377 2 + -4.884 -18.835 23.310 0.588 -0.310 0.747 1247 417 2 + -5.216 -19.299 23.549 0.809 -0.000 0.588 1247 737 2 + -5.216 -18.859 23.667 0.809 -0.294 0.509 1247 377 2 + -5.216 -18.536 23.990 0.809 -0.509 0.294 1247 377 2 + -4.339 -19.178 19.889 0.000 -0.956 -0.295 1258 416 2 + -5.408 -18.877 19.252 0.000 -0.956 -0.295 1260 416 2 + -5.408 -19.071 19.655 0.000 -0.826 -0.563 1260 416 2 + -5.872 -18.961 19.273 0.309 -0.900 -0.309 1260 416 2 + -5.872 -19.184 19.686 0.309 -0.751 -0.584 1260 736 2 + -5.872 -19.530 20.004 0.309 -0.520 -0.796 1260 736 2 + -6.290 -19.097 18.810 0.588 -0.809 0.000 1260 709 2 + -6.290 -19.189 19.274 0.588 -0.747 -0.310 1260 709 2 + -6.290 -19.452 19.668 0.588 -0.572 -0.572 1260 736 2 + -6.622 -19.428 18.810 0.809 -0.588 0.000 1260 709 2 + -6.622 -19.547 19.251 0.809 -0.509 -0.294 1260 709 2 + -5.273 -17.501 17.383 0.000 -0.956 -0.295 1263 438 2 + -5.273 -17.695 17.785 0.000 -0.826 -0.563 1263 416 2 + -5.273 -17.999 18.113 0.000 -0.623 -0.782 1263 416 2 + -5.737 -17.585 17.404 0.309 -0.900 -0.309 1263 438 2 + -5.737 -17.808 17.817 0.309 -0.751 -0.584 1263 416 2 + -5.737 -18.154 18.135 0.309 -0.520 -0.796 1263 416 2 + -6.155 -17.813 17.405 0.588 -0.747 -0.310 1263 438 2 + -6.155 -18.076 17.799 0.588 -0.572 -0.572 1263 709 2 + -6.155 -18.470 18.062 0.588 -0.310 -0.747 1263 709 2 + -6.487 -18.171 17.381 0.809 -0.509 -0.294 1263 709 2 + -6.487 -18.493 17.704 0.809 -0.294 -0.509 1263 709 2 + -5.761 -17.604 16.380 0.309 -0.900 0.309 1265 438 2 + -6.636 -18.019 15.423 0.309 -0.951 0.000 1267 437 2 + -6.636 -18.097 14.960 0.309 -0.900 0.309 1267 437 2 + -7.054 -18.233 15.423 0.588 -0.809 0.000 1267 437 2 + -7.054 -18.325 15.887 0.588 -0.747 -0.310 1267 709 2 + -7.054 -18.588 14.565 0.588 -0.572 0.572 1267 546 2 + -7.054 -18.325 14.959 0.588 -0.747 0.310 1267 546 2 + -7.386 -18.564 15.423 0.809 -0.588 0.000 1267 709 2 + -7.386 -18.683 15.864 0.809 -0.509 -0.294 1267 709 2 + -7.386 -19.005 16.186 0.809 -0.294 -0.509 1267 709 2 + -7.386 -18.683 14.982 0.809 -0.509 0.294 1267 546 2 + -7.866 -20.035 14.397 0.309 -0.751 0.584 1271 548 2 + -7.866 -19.811 14.810 0.309 -0.900 0.309 1271 710 2 + -8.284 -19.947 15.274 0.588 -0.809 0.000 1271 710 2 + -8.284 -20.039 15.738 0.588 -0.747 -0.310 1271 710 2 + -8.284 -20.039 14.809 0.588 -0.747 0.310 1271 710 2 + -8.616 -20.279 15.274 0.809 -0.588 0.000 1271 710 2 + -8.001 -21.154 16.880 0.309 -0.233 -0.922 1274 709 2 + -8.001 -21.622 16.919 0.309 0.079 -0.948 1274 709 2 + -8.001 -22.077 16.804 0.309 0.382 -0.871 1274 728 2 + -8.001 -22.470 16.547 0.309 0.644 -0.700 1274 728 2 + -8.419 -21.039 16.618 0.588 -0.310 -0.747 1274 709 2 + -8.419 -21.504 16.711 0.588 0.000 -0.809 1274 709 2 + -8.419 -21.968 16.618 0.588 0.310 -0.747 1274 728 2 + -8.751 -21.063 16.261 0.809 -0.294 -0.509 1274 710 2 + -8.751 -21.504 16.379 0.809 0.000 -0.588 1274 710 2 + -8.285 -22.826 16.067 0.309 0.644 -0.700 1277 728 2 + -8.703 -22.718 15.875 0.588 0.572 -0.572 1277 728 2 + -9.035 -22.300 15.781 0.809 0.294 -0.509 1277 714 2 + -9.248 -21.628 15.418 0.951 -0.155 -0.268 1277 710 2 + -9.248 -22.091 15.418 0.951 0.155 -0.268 1277 714 2 + -9.321 -21.860 15.017 1.000 0.000 0.000 1277 714 2 + -8.219 -23.683 15.103 0.309 0.836 -0.453 1280 728 2 + -8.637 -23.286 15.282 0.588 0.572 -0.572 1280 728 2 + -8.637 -23.550 14.888 0.588 0.747 -0.310 1280 728 2 + -8.637 -23.642 14.424 0.588 0.809 0.000 1280 717 2 + -8.969 -23.192 14.865 0.809 0.509 -0.294 1280 714 2 + -8.969 -23.310 14.424 0.809 0.588 0.000 1280 714 2 + -8.969 -23.192 13.983 0.809 0.509 0.294 1280 717 2 + -8.969 -22.869 13.660 0.809 0.294 0.509 1280 717 2 + -9.182 -22.892 14.424 0.951 0.309 0.000 1280 714 2 + -9.182 -22.660 14.023 0.951 0.155 0.268 1280 714 2 + -7.744 -24.076 14.775 0.309 0.836 -0.453 1282 728 2 + -8.162 -24.035 14.096 0.588 0.809 0.000 1282 720 2 + -8.162 -23.942 13.632 0.588 0.747 0.310 1282 720 2 + -7.958 -23.201 12.724 0.588 0.310 0.747 1286 717 2 + -7.958 -22.737 12.631 0.588 -0.000 0.809 1286 717 2 + -7.921 -23.552 11.164 0.588 0.000 -0.809 1290 720 2 + -6.544 -18.974 10.566 0.809 0.509 -0.294 1303 547 2 + -6.717 -16.656 9.416 0.588 -0.000 0.809 1310 530 2 + -7.048 -16.656 9.748 0.809 -0.000 0.588 1310 530 2 + -7.048 -16.215 9.866 0.809 -0.294 0.509 1310 531 2 + -7.262 -16.888 10.228 0.951 0.155 0.268 1310 544 2 + -7.262 -16.424 10.228 0.951 -0.155 0.268 1310 531 2 + -4.822 -14.930 8.518 0.000 -0.623 0.782 1312 442 2 + -5.286 -15.515 8.308 0.309 -0.233 0.922 1312 530 2 + -5.286 -15.084 8.497 0.309 -0.520 0.796 1312 442 2 + -5.286 -14.739 8.815 0.309 -0.751 0.584 1312 531 2 + -5.704 -15.865 8.477 0.588 -0.000 0.809 1312 530 2 + -5.704 -15.400 8.570 0.588 -0.310 0.747 1312 530 2 + -5.704 -15.007 8.833 0.588 -0.572 0.572 1312 531 2 + -6.036 -15.424 8.927 0.809 -0.294 0.509 1312 531 2 + -3.883 -15.522 7.646 0.000 -0.956 0.295 1314 442 2 + -4.347 -16.175 6.894 0.309 -0.520 0.796 1314 461 2 + -4.347 -15.829 7.212 0.309 -0.751 0.584 1314 442 2 + -4.347 -15.606 7.625 0.309 -0.900 0.309 1314 442 2 + -4.765 -16.491 6.967 0.588 -0.310 0.747 1314 461 2 + -4.765 -16.097 7.230 0.588 -0.572 0.572 1314 461 2 + -4.765 -15.834 7.624 0.588 -0.747 0.310 1314 530 2 + -5.097 -16.514 7.325 0.809 -0.294 0.509 1314 530 2 + -5.097 -16.192 7.647 0.809 -0.509 0.294 1314 530 2 + -2.122 -15.576 7.477 -0.309 -0.951 0.000 1317 442 2 + -2.122 -15.653 7.014 -0.309 -0.900 0.309 1317 442 2 + -2.585 -15.502 7.477 0.000 -1.000 0.000 1317 442 2 + -2.585 -15.763 6.632 0.000 -0.826 0.563 1317 442 2 + -2.585 -15.569 7.035 0.000 -0.956 0.295 1317 442 2 + -3.049 -15.877 6.601 0.309 -0.751 0.584 1317 442 2 + -1.912 -16.054 6.387 -0.309 -0.751 0.584 1319 462 2 + -2.376 -16.245 6.091 0.000 -0.623 0.782 1319 462 2 + -3.999 -16.567 3.028 0.000 -0.623 -0.782 1321 461 2 + -4.168 -13.767 0.475 0.309 -0.951 0.000 1329 466 2 + -4.168 -13.844 0.939 0.309 -0.900 -0.309 1329 466 2 + -4.168 -14.068 1.352 0.309 -0.751 -0.584 1329 459 2 + -4.168 -14.413 1.670 0.309 -0.520 -0.796 1329 459 2 + -4.168 -13.844 0.012 0.309 -0.900 0.309 1329 466 2 + -4.586 -13.980 0.475 0.588 -0.809 0.000 1329 466 2 + -4.586 -14.072 0.940 0.588 -0.747 -0.310 1329 459 2 + -4.586 -14.335 1.333 0.588 -0.572 -0.572 1329 459 2 + -4.586 -14.729 1.597 0.588 -0.310 -0.747 1329 459 2 + -4.918 -14.312 0.475 0.809 -0.588 0.000 1329 526 2 + -4.918 -14.430 0.916 0.809 -0.509 -0.294 1329 526 2 + -4.918 -14.753 1.239 0.809 -0.294 -0.509 1329 526 2 + -5.131 -14.962 0.877 0.951 -0.155 -0.268 1329 526 2 + -4.856 -14.025 -1.226 0.000 -1.000 0.000 1331 466 2 + -4.856 -14.091 -0.784 0.000 -0.956 -0.295 1331 466 2 + -5.319 -14.098 -1.226 0.309 -0.951 0.000 1331 475 2 + -5.319 -14.175 -0.763 0.309 -0.900 -0.309 1331 466 2 + -5.319 -14.399 -0.349 0.309 -0.751 -0.584 1331 466 2 + -5.737 -14.404 -0.761 0.588 -0.747 -0.310 1331 475 2 + -5.737 -14.667 -0.368 0.588 -0.572 -0.572 1331 526 2 + -5.737 -15.060 -0.105 0.588 -0.310 -0.747 1331 526 2 + -6.317 -14.541 -1.727 0.309 -0.951 0.000 1333 475 2 + -7.683 -12.590 -5.264 -0.809 -0.509 -0.294 1341 482 2 + -8.014 -12.233 -5.241 -0.588 -0.747 -0.310 1341 486 2 + -8.014 -12.496 -4.847 -0.588 -0.572 -0.572 1341 482 2 + -9.033 -11.636 -5.239 -0.309 -0.900 -0.309 1343 486 2 + -9.033 -11.859 -4.826 -0.309 -0.751 -0.584 1343 486 2 + -10.370 -7.416 -4.985 -0.809 0.294 -0.509 1352 489 2 + -10.370 -7.739 -5.308 -0.809 0.509 -0.294 1352 489 2 + -10.702 -7.440 -4.628 -0.588 0.310 -0.747 1352 489 2 + -10.702 -7.834 -4.891 -0.588 0.572 -0.572 1352 489 2 + -10.702 -8.097 -5.284 -0.588 0.747 -0.310 1352 490 2 + -11.120 -7.549 -4.442 -0.309 0.382 -0.871 1352 503 2 + -11.120 -7.942 -4.699 -0.309 0.644 -0.700 1352 490 2 + -11.584 -7.725 -4.450 0.000 0.500 -0.866 1352 503 2 + -10.075 -7.002 -3.895 -0.309 0.836 0.453 1355 489 2 + -10.539 -7.231 -3.440 0.000 0.989 0.149 1355 500 2 + -10.539 -7.099 -3.867 0.000 0.901 0.434 1355 489 2 + -11.002 -7.155 -2.981 0.309 0.938 -0.157 1355 500 2 + -11.002 -7.155 -3.451 0.309 0.938 0.157 1355 500 2 + -11.420 -6.961 -3.216 0.588 0.809 0.000 1355 503 2 + -8.874 -6.976 -2.654 -0.588 0.809 0.000 1358 493 2 + -8.874 -6.884 -3.118 -0.588 0.747 0.310 1358 489 2 + -9.292 -7.170 -2.888 -0.309 0.938 0.157 1358 489 2 + -9.292 -7.018 -3.333 -0.309 0.836 0.453 1358 489 2 + -5.831 -5.546 -2.720 -0.588 0.747 -0.310 1368 494 2 + -6.249 -5.679 -2.506 -0.309 0.836 -0.453 1368 494 2 + -6.249 -5.832 -2.950 -0.309 0.938 -0.157 1368 492 2 + -4.685 -5.261 -0.624 -0.588 0.809 0.000 1370 473 2 + -4.685 -5.168 -1.089 -0.588 0.747 0.310 1370 473 2 + -5.104 -5.302 0.055 -0.309 0.836 -0.453 1370 494 2 + -5.104 -5.454 -0.389 -0.309 0.938 -0.157 1370 494 2 + -5.104 -5.454 -0.859 -0.309 0.938 0.157 1370 494 2 + -5.104 -5.302 -1.303 -0.309 0.836 0.453 1370 473 2 + -5.567 -5.147 0.396 0.000 0.733 -0.680 1370 512 2 + -5.567 -5.399 0.027 0.000 0.901 -0.434 1370 494 2 + -5.567 -5.530 -0.401 0.000 0.989 -0.149 1370 494 2 + -5.567 -5.530 -0.848 0.000 0.989 0.149 1370 494 2 + -4.268 -4.617 0.386 -0.588 0.572 -0.572 1373 515 2 + -4.268 -4.880 -0.007 -0.588 0.747 -0.310 1373 515 2 + -4.268 -4.973 -0.472 -0.588 0.809 0.000 1373 473 2 + -4.686 -4.332 0.835 -0.309 0.382 -0.871 1373 515 2 + -4.686 -4.725 0.578 -0.309 0.644 -0.700 1373 515 2 + -4.519 -3.521 3.822 -0.309 0.938 0.157 1376 515 2 + -4.519 -3.369 3.378 -0.309 0.836 0.453 1376 515 2 + -4.982 -3.597 3.834 0.000 0.989 0.149 1376 512 2 + -3.327 -4.512 -0.895 0.309 0.938 0.157 1380 471 2 + -2.600 -5.927 0.026 0.809 0.509 0.294 1382 469 2 + -2.600 -5.604 -0.297 0.809 0.294 0.509 1382 471 2 + -2.813 -5.395 0.065 0.951 0.155 0.268 1382 471 2 + -2.886 -5.164 0.467 1.000 0.000 0.000 1382 515 2 + -2.703 -5.387 1.539 0.951 -0.155 -0.268 1384 515 2 + -2.703 -5.850 1.539 0.951 0.155 -0.268 1384 513 2 + -2.703 -6.082 1.137 0.951 0.309 0.000 1384 513 2 + -1.969 -5.040 2.606 0.588 -0.310 -0.747 1386 515 2 + -2.301 -5.064 2.249 0.809 -0.294 -0.509 1386 515 2 + 3.113 -3.401 5.355 0.000 -0.623 -0.782 1395 277 2 + 3.113 -3.789 5.578 0.000 -0.365 -0.931 1395 277 2 + 3.113 -5.820 3.958 0.000 0.989 0.149 1395 314 2 + 2.649 -3.556 5.376 0.309 -0.520 -0.796 1395 277 2 + 2.649 -3.986 5.565 0.309 -0.233 -0.922 1395 277 2 + 2.649 -4.454 5.604 0.309 0.079 -0.948 1395 334 2 + 2.649 -4.910 5.488 0.309 0.382 -0.871 1395 334 2 + 2.649 -5.303 5.232 0.309 0.644 -0.700 1395 334 2 + 2.649 -5.591 4.861 0.309 0.836 -0.453 1395 314 2 + 2.649 -5.744 4.417 0.309 0.938 -0.157 1395 314 2 + 2.649 -5.744 3.947 0.309 0.938 0.157 1395 314 2 + 2.231 -3.872 5.303 0.588 -0.310 -0.747 1395 334 2 + 2.231 -4.337 5.395 0.588 0.000 -0.809 1395 334 2 + 2.231 -4.801 5.303 0.588 0.310 -0.747 1395 334 2 + 2.231 -5.195 5.040 0.588 0.572 -0.572 1395 334 2 + 2.231 -5.458 4.646 0.588 0.747 -0.310 1395 334 2 + 2.231 -5.550 4.182 0.588 0.809 0.000 1395 314 2 + 1.899 -3.896 4.946 0.809 -0.294 -0.509 1395 334 2 + 1.899 -4.337 5.064 0.809 0.000 -0.588 1395 334 2 + 1.899 -4.777 4.946 0.809 0.294 -0.509 1395 334 2 + 1.899 -5.100 4.623 0.809 0.509 -0.294 1395 334 2 + 1.899 -5.218 4.182 0.809 0.588 0.000 1395 334 2 + 1.686 -4.568 4.583 0.951 0.155 -0.268 1395 334 2 + 1.598 -1.905 5.634 0.000 0.989 -0.149 1398 333 2 + 2.459 1.164 12.824 0.309 0.938 -0.157 1422 69 2 + 2.040 1.450 13.054 0.588 0.747 -0.310 1422 59 2 + 2.040 1.358 12.589 0.588 0.809 0.000 1422 59 2 + 1.709 1.690 12.589 0.809 0.588 0.000 1422 59 2 + -0.457 0.682 17.326 0.000 0.989 -0.149 1433 75 2 + -0.457 0.682 16.878 0.000 0.989 0.149 1433 75 2 + -0.457 0.814 16.451 0.000 0.901 0.434 1433 59 2 + -0.457 1.065 16.082 0.000 0.733 0.680 1433 59 2 + -0.457 1.415 15.803 0.000 0.500 0.866 1433 59 2 + -0.921 0.758 17.337 0.309 0.938 -0.157 1433 75 2 + -0.921 0.758 16.867 0.309 0.938 0.157 1433 75 2 + -0.921 0.910 16.423 0.309 0.836 0.453 1433 59 2 + -0.921 1.199 16.052 0.309 0.644 0.700 1433 59 2 + -1.339 0.951 17.102 0.588 0.809 0.000 1433 37 2 + -1.339 1.044 16.638 0.588 0.747 0.310 1433 37 2 + -1.671 1.283 17.102 0.809 0.588 0.000 1433 37 2 + 3.133 -1.239 22.685 0.309 0.938 -0.157 1447 159 2 + 3.133 -1.239 22.216 0.309 0.938 0.157 1447 159 2 + 2.715 -1.045 22.450 0.588 0.809 0.000 1447 161 2 + 2.715 -0.953 21.986 0.588 0.747 0.310 1447 161 2 + 2.784 -3.180 25.261 0.309 0.644 0.700 1449 157 2 + 2.784 -2.787 25.004 0.309 0.382 0.871 1449 159 2 + 1.998 -3.276 25.664 0.309 0.644 0.700 1451 157 2 + 1.580 -3.168 25.856 0.588 0.572 0.572 1451 157 2 + 1.580 -2.775 25.593 0.588 0.310 0.747 1451 161 2 + 1.248 -2.751 25.950 0.809 0.294 0.509 1451 193 2 + -0.206 -0.692 25.835 0.588 0.809 0.000 1453 193 2 + -0.538 -0.360 25.835 0.809 0.588 0.000 1453 193 2 + -2.028 -0.759 27.798 0.309 -0.233 0.922 1457 804 2 + -2.028 -0.329 27.987 0.309 -0.520 0.796 1457 804 2 + -2.446 -0.645 28.060 0.588 -0.310 0.747 1457 804 2 + -2.003 2.469 28.087 -0.309 0.079 0.948 1461 804 2 + -0.927 3.993 28.591 0.588 -0.747 -0.310 1463 825 2 + -1.259 3.754 28.127 0.809 -0.588 0.000 1463 819 2 + -1.259 3.635 28.568 0.809 -0.509 -0.294 1463 819 2 + -1.259 3.635 27.686 0.809 -0.509 0.294 1463 819 2 + -1.472 3.335 28.127 0.951 -0.309 0.000 1463 819 2 + -1.472 2.640 27.725 0.951 0.155 0.268 1463 804 2 + -1.472 3.104 27.725 0.951 -0.155 0.268 1463 819 2 + -2.297 3.578 28.270 -0.309 -0.520 0.796 1477 812 2 + -2.624 -3.998 28.591 0.000 0.901 0.434 1485 194 2 + -2.624 -3.746 28.221 0.000 0.733 0.680 1485 191 2 + -2.624 -3.396 27.942 0.000 0.500 0.866 1485 191 2 + -2.624 -2.980 27.779 0.000 0.223 0.975 1485 191 2 + -3.087 -4.053 29.007 0.309 0.938 0.157 1485 194 2 + -3.087 -3.901 28.563 0.309 0.836 0.453 1485 194 2 + -3.087 -3.613 28.192 0.309 0.644 0.700 1485 191 2 + -3.087 -3.219 27.935 0.309 0.382 0.871 1485 191 2 + -3.087 -2.764 27.820 0.309 0.079 0.948 1485 191 2 + -3.087 -2.296 27.859 0.309 -0.233 0.922 1485 191 2 + -3.506 -3.768 28.777 0.588 0.747 0.310 1485 194 2 + -3.506 -3.504 28.383 0.588 0.572 0.572 1485 194 2 + -3.506 -3.111 28.120 0.588 0.310 0.747 1485 191 2 + -3.506 -2.646 28.028 0.588 -0.000 0.809 1485 805 2 + -3.506 -2.182 28.120 0.588 -0.310 0.747 1485 805 2 + -3.837 -3.087 28.478 0.809 0.294 0.509 1485 805 2 + -3.837 -2.646 28.360 0.809 -0.000 0.588 1485 805 2 + -3.837 -2.206 28.478 0.809 -0.294 0.509 1485 805 2 + -4.190 -3.264 28.793 0.309 0.382 0.871 1487 806 2 + -4.190 -2.809 28.677 0.309 0.079 0.948 1487 806 2 + -4.190 -2.341 28.716 0.309 -0.233 0.922 1487 806 2 + -5.510 -3.286 30.300 0.809 0.509 0.294 1496 806 2 + -5.510 -2.963 29.977 0.809 0.294 0.509 1496 806 2 + -5.510 -2.523 29.859 0.809 -0.000 0.588 1496 806 2 + -5.510 -2.082 29.977 0.809 -0.294 0.509 1496 806 2 + -5.510 -1.759 30.300 0.809 -0.509 0.294 1496 808 2 + -3.966 -4.272 30.488 0.000 0.989 -0.149 1500 194 2 + -3.966 -4.272 30.041 0.000 0.989 0.149 1500 194 2 + -4.430 -4.196 30.499 0.309 0.938 -0.157 1500 198 2 + -4.430 -4.196 30.030 0.309 0.938 0.157 1500 194 2 + -4.430 -4.043 29.585 0.309 0.836 0.453 1500 194 2 + -4.430 -3.755 29.215 0.309 0.644 0.700 1500 194 2 + -4.848 -4.002 30.264 0.588 0.809 0.000 1500 198 2 + -4.848 -3.910 29.800 0.588 0.747 0.310 1500 194 2 + -4.848 -3.647 29.406 0.588 0.572 0.572 1500 194 2 + -4.848 -3.253 29.143 0.588 0.310 0.747 1500 806 2 + -5.180 -3.552 29.824 0.809 0.509 0.294 1500 806 2 + -5.180 -3.229 29.501 0.809 0.294 0.509 1500 806 2 + -5.180 -2.788 29.383 0.809 -0.000 0.588 1500 806 2 + -0.804 -6.220 30.943 0.000 -0.365 0.931 1539 179 2 + -1.268 -6.418 30.957 0.309 -0.233 0.922 1539 188 2 + 0.804 -7.938 30.350 -0.309 0.079 0.948 1544 173 2 + 0.340 -7.708 30.276 0.000 -0.075 0.997 1544 188 2 + 0.340 -7.272 30.376 0.000 -0.365 0.931 1544 178 2 + -0.123 -7.470 30.389 0.309 -0.233 0.922 1544 188 2 + -0.375 -9.123 30.070 0.000 -0.075 0.997 1546 370 2 + -0.708 -11.788 27.795 0.809 -0.294 -0.509 1559 370 2 + -0.921 -11.997 27.433 0.951 -0.155 -0.268 1559 370 2 + -0.765 -13.187 27.241 0.809 0.509 -0.294 1561 385 2 + -0.765 -13.305 26.801 0.809 0.588 0.000 1561 385 2 + -0.765 -13.187 26.360 0.809 0.509 0.294 1561 397 2 + -0.765 -12.864 26.037 0.809 0.294 0.509 1561 397 2 + -0.978 -12.887 26.801 0.951 0.309 0.000 1561 385 2 + -0.978 -12.655 26.399 0.951 0.155 0.268 1561 397 2 + -0.978 -12.192 26.399 0.951 -0.155 0.268 1561 367 2 + -1.051 -12.423 26.801 1.000 0.000 0.000 1561 367 2 + 0.311 -14.232 27.135 0.309 0.938 -0.157 1563 388 2 + -0.107 -13.946 27.365 0.588 0.747 -0.310 1563 385 2 + -0.107 -14.038 26.900 0.588 0.809 0.000 1563 385 2 + -0.107 -13.946 26.436 0.588 0.747 0.310 1563 397 2 + -0.242 -17.788 27.992 -0.588 -0.809 0.000 1575 386 2 + -0.242 -17.880 28.456 -0.588 -0.747 -0.310 1575 390 2 + -0.242 -18.537 26.871 -0.588 -0.310 0.747 1575 401 2 + -0.242 -18.143 27.134 -0.588 -0.572 0.572 1575 401 2 + -0.242 -17.880 27.528 -0.588 -0.747 0.310 1575 386 2 + -0.660 -17.575 27.992 -0.309 -0.951 0.000 1575 386 2 + -1.213 -17.321 27.342 -0.588 -0.809 0.000 1577 386 2 + -1.213 -18.070 26.221 -0.588 -0.310 0.747 1577 401 2 + -1.213 -17.677 26.484 -0.588 -0.572 0.572 1577 401 2 + -1.213 -17.414 26.877 -0.588 -0.747 0.310 1577 386 2 + -1.631 -17.108 27.342 -0.309 -0.951 0.000 1577 386 2 + -1.631 -17.755 26.147 -0.309 -0.520 0.796 1577 374 2 + -1.631 -17.409 26.466 -0.309 -0.751 0.584 1577 374 2 + -1.631 -17.186 26.879 -0.309 -0.900 0.309 1577 374 2 + -2.095 -17.295 26.497 0.000 -0.826 0.563 1577 374 2 + -2.095 -17.101 26.900 0.000 -0.956 0.295 1577 374 2 + -1.597 -18.668 24.487 -1.000 0.000 0.000 1580 401 2 + -1.671 -18.205 24.487 -0.951 -0.309 0.000 1580 401 2 + -1.671 -18.436 24.888 -0.951 -0.155 -0.268 1580 401 2 + -1.671 -18.436 24.085 -0.951 -0.155 0.268 1580 401 2 + -1.884 -17.787 24.487 -0.809 -0.588 0.000 1580 401 2 + -1.884 -17.905 24.928 -0.809 -0.509 -0.294 1580 401 2 + -1.884 -18.668 23.605 -0.809 -0.000 0.588 1580 401 2 + -1.884 -18.227 23.723 -0.809 -0.294 0.509 1580 401 2 + -1.884 -17.905 24.046 -0.809 -0.509 0.294 1580 401 2 + -2.216 -17.455 24.487 -0.588 -0.809 0.000 1580 374 2 + -2.216 -17.547 24.951 -0.588 -0.747 -0.310 1580 374 2 + -2.216 -18.204 23.366 -0.588 -0.310 0.747 1580 417 2 + -2.216 -17.810 23.629 -0.588 -0.572 0.572 1580 417 2 + -2.216 -17.547 24.022 -0.588 -0.747 0.310 1580 374 2 + -2.634 -17.242 24.487 -0.309 -0.951 0.000 1580 374 2 + -2.634 -17.319 24.950 -0.309 -0.900 -0.309 1580 374 2 + -2.634 -18.318 23.104 -0.309 -0.233 0.922 1580 417 2 + -2.634 -17.888 23.292 -0.309 -0.520 0.796 1580 417 2 + -2.634 -17.542 23.611 -0.309 -0.751 0.584 1580 417 2 + -2.634 -17.319 24.024 -0.309 -0.900 0.309 1580 374 2 + -3.097 -18.120 23.090 0.000 -0.365 0.931 1580 417 2 + -3.097 -17.733 23.314 0.000 -0.623 0.782 1580 417 2 + -3.097 -17.429 23.642 0.000 -0.826 0.563 1580 417 2 + -3.097 -17.235 24.045 0.000 -0.956 0.295 1580 374 2 + -1.152 -18.895 23.648 0.000 -0.365 -0.931 1583 401 2 + -1.616 -18.094 22.715 0.309 -0.900 -0.309 1583 417 2 + -1.616 -18.317 23.128 0.309 -0.751 -0.584 1583 401 2 + -1.616 -18.663 23.446 0.309 -0.520 -0.796 1583 401 2 + -2.034 -18.230 22.252 0.588 -0.809 0.000 1583 417 2 + -2.034 -18.322 22.716 0.588 -0.747 -0.310 1583 417 2 + -2.034 -18.585 23.110 0.588 -0.572 -0.572 1583 417 2 + -2.034 -18.322 21.787 0.588 -0.747 0.310 1583 417 2 + -2.366 -18.561 22.252 0.809 -0.588 0.000 1583 417 2 + -3.318 -17.084 17.979 0.309 -0.520 -0.796 1593 416 2 + -3.736 -17.006 17.643 0.588 -0.572 -0.572 1593 416 2 + -1.680 -16.320 16.491 -0.588 -0.809 0.000 1596 421 2 + -1.680 -16.412 16.027 -0.588 -0.747 0.310 1596 421 2 + -2.098 -16.107 16.491 -0.309 -0.951 0.000 1596 421 2 + -2.098 -16.184 16.954 -0.309 -0.900 -0.309 1596 413 2 + -2.098 -16.408 17.367 -0.309 -0.751 -0.584 1596 413 2 + -2.098 -16.184 16.028 -0.309 -0.900 0.309 1596 421 2 + -2.562 -16.034 16.491 0.000 -1.000 0.000 1596 438 2 + -2.562 -16.100 16.933 0.000 -0.956 -0.295 1596 413 2 + -2.562 -16.294 17.336 0.000 -0.826 -0.563 1596 413 2 + -2.562 -16.100 16.049 0.000 -0.956 0.295 1596 421 2 + -3.025 -16.107 16.491 0.309 -0.951 0.000 1596 438 2 + -3.025 -16.184 16.954 0.309 -0.900 -0.309 1596 438 2 + -3.025 -16.184 16.028 0.309 -0.900 0.309 1596 438 2 + -3.443 -16.320 16.491 0.588 -0.809 0.000 1596 438 2 + -5.829 -15.977 12.243 0.000 -0.365 -0.931 1615 435 2 + -6.293 -15.399 11.723 0.309 -0.751 -0.584 1615 435 2 + -6.293 -15.745 12.041 0.309 -0.520 -0.796 1615 435 2 + -6.293 -16.175 12.230 0.309 -0.233 -0.922 1615 435 2 + -6.711 -15.404 11.311 0.588 -0.747 -0.310 1615 531 2 + -6.711 -15.667 11.705 0.588 -0.572 -0.572 1615 435 2 + -6.711 -16.061 11.968 0.588 -0.310 -0.747 1615 435 2 + -6.711 -16.525 12.060 0.588 0.000 -0.809 1615 544 2 + -7.043 -15.644 10.847 0.809 -0.588 0.000 1615 531 2 + -7.043 -15.762 11.288 0.809 -0.509 -0.294 1615 531 2 + -7.043 -16.084 11.610 0.809 -0.294 -0.509 1615 544 2 + -7.043 -16.525 11.729 0.809 0.000 -0.588 1615 544 2 + -7.256 -16.062 10.847 0.951 -0.309 0.000 1615 531 2 + -7.256 -16.293 11.248 0.951 -0.155 -0.268 1615 544 2 + -7.256 -16.757 11.248 0.951 0.155 -0.268 1615 544 2 + -4.575 -15.006 11.804 -0.309 -0.520 -0.796 1618 432 2 + -5.039 -14.851 11.782 0.000 -0.623 -0.782 1618 432 2 + -5.039 -15.238 12.006 0.000 -0.365 -0.931 1618 435 2 + -5.502 -14.660 11.486 0.309 -0.751 -0.584 1618 432 2 + -5.502 -15.006 11.804 0.309 -0.520 -0.796 1618 435 2 + -5.920 -14.665 11.074 0.588 -0.747 -0.310 1618 531 2 + -5.920 -14.928 11.468 0.588 -0.572 -0.572 1618 435 2 + -5.396 -14.280 10.470 0.309 -0.951 0.000 1620 534 2 + -5.238 -14.378 9.421 0.309 -0.900 0.309 1622 534 2 + -4.073 -14.196 10.178 -0.309 -0.951 0.000 1625 534 2 + -4.073 -14.274 10.641 -0.309 -0.900 -0.309 1625 432 2 + -4.073 -14.274 9.715 -0.309 -0.900 0.309 1625 442 2 + -4.537 -14.123 10.178 0.000 -1.000 0.000 1625 534 2 + -3.071 -14.797 10.210 -0.588 -0.809 0.000 1627 439 2 + -3.071 -14.890 10.674 -0.588 -0.747 -0.310 1627 439 2 + -3.071 -14.890 9.745 -0.588 -0.747 0.310 1627 442 2 + -2.111 -15.559 8.807 -0.309 -0.951 0.000 1629 442 2 + -0.579 -13.819 5.073 0.309 0.079 -0.948 1645 444 2 + -0.579 -14.274 4.958 0.309 0.382 -0.871 1645 444 2 + -0.997 -13.236 4.772 0.588 -0.310 -0.747 1645 451 2 + -0.997 -13.701 4.865 0.588 0.000 -0.809 1645 451 2 + -0.997 -14.165 4.772 0.588 0.310 -0.747 1645 462 2 + -0.997 -14.559 4.509 0.588 0.572 -0.572 1645 462 2 + -1.637 -13.429 3.899 0.951 -0.155 -0.268 1647 456 2 + -2.408 -11.975 0.162 0.951 -0.309 0.000 1657 463 2 + -3.308 -10.934 -1.786 0.588 0.310 -0.747 1659 466 2 + -3.308 -11.328 -2.049 0.588 0.572 -0.572 1659 466 2 + -3.639 -10.911 -2.143 0.809 0.294 -0.509 1659 466 2 + -4.295 -8.101 -2.993 0.588 -0.310 -0.747 1697 492 2 + -4.626 -8.124 -3.350 0.809 -0.294 -0.509 1697 492 2 + -4.626 -8.565 -3.232 0.809 0.000 -0.588 1697 492 2 + -3.514 -8.111 -2.410 0.309 -0.520 -0.796 1712 469 2 + -3.932 -8.427 -2.483 0.588 -0.310 -0.747 1712 469 2 + -3.932 -8.892 -2.391 0.588 0.000 -0.809 1712 469 2 + -4.264 -8.892 -2.723 0.809 0.000 -0.588 1712 477 2 + -4.264 -9.332 -2.841 0.809 0.294 -0.509 1712 477 2 + -2.793 -8.414 1.419 0.809 -0.000 0.588 1718 469 2 + -2.793 -7.973 1.537 0.809 -0.294 0.509 1718 469 2 + -1.228 -5.997 3.434 0.309 -0.520 -0.796 1725 330 2 + 0.100 -6.037 3.456 -0.309 -0.520 -0.796 1728 332 2 + 1.317 -7.411 3.177 -0.951 -0.155 -0.268 1731 315 2 + 1.104 -6.880 3.217 -0.809 -0.509 -0.294 1731 315 2 + 1.104 -7.202 3.539 -0.809 -0.294 -0.509 1731 317 2 + 0.772 -6.785 3.634 -0.588 -0.572 -0.572 1731 330 2 + 1.506 -8.061 2.375 -1.000 0.000 0.000 1733 315 2 + 1.433 -8.293 2.776 -0.951 0.155 -0.268 1733 317 2 + 1.433 -8.524 2.375 -0.951 0.309 0.000 1733 322 2 + 3.418 -4.402 5.954 0.588 -0.310 -0.747 1749 277 2 + 3.418 -4.866 6.046 0.588 0.000 -0.809 1749 319 2 + 3.418 -5.330 5.954 0.588 0.310 -0.747 1749 319 2 + 3.418 -5.724 5.690 0.588 0.572 -0.572 1749 319 2 + 3.418 -5.987 5.297 0.588 0.747 -0.310 1749 319 2 + 3.418 -6.079 4.832 0.588 0.809 0.000 1749 319 2 + 3.418 -5.987 4.368 0.588 0.747 0.310 1749 314 2 + 3.086 -5.307 5.596 0.809 0.294 -0.509 1749 319 2 + 3.086 -5.629 5.273 0.809 0.509 -0.294 1749 319 2 + 4.054 -4.106 6.155 0.309 -0.520 -0.796 1752 277 2 + 4.054 -4.536 6.343 0.309 -0.233 -0.922 1752 274 2 + 4.054 -5.004 6.382 0.309 0.079 -0.948 1752 274 2 + 2.069 -1.341 6.619 -0.309 0.644 -0.700 1763 277 2 + 2.069 -1.629 6.248 -0.309 0.836 -0.453 1763 277 2 + 1.605 -1.124 6.868 0.000 0.500 -0.866 1763 66 2 + 1.605 -1.474 6.589 0.000 0.733 -0.680 1763 333 2 + 1.605 -1.726 6.220 0.000 0.901 -0.434 1763 333 2 + 4.024 0.601 9.831 0.309 0.836 -0.453 1772 79 2 + 4.024 0.448 9.387 0.309 0.938 -0.157 1772 79 2 + 4.024 0.448 8.917 0.309 0.938 0.157 1772 278 2 + 3.606 0.734 9.616 0.588 0.747 -0.310 1772 65 2 + 3.606 0.642 9.152 0.588 0.809 0.000 1772 65 2 + 5.955 -0.331 9.978 0.309 0.836 -0.453 1775 82 2 + 5.537 -0.197 9.764 0.588 0.747 -0.310 1775 79 2 + 5.537 -0.290 9.299 0.588 0.809 0.000 1775 278 2 + 5.973 0.031 12.243 0.588 0.809 0.000 1777 79 2 + 4.839 -2.494 20.223 0.309 0.836 0.453 1804 98 2 + 4.839 -2.205 19.852 0.309 0.644 0.700 1804 98 2 + 4.421 -2.360 21.366 0.588 0.747 -0.310 1804 159 2 + 4.421 -2.452 20.902 0.588 0.809 0.000 1804 159 2 + 4.421 -2.360 20.438 0.588 0.747 0.310 1804 98 2 + 4.421 -2.097 20.044 0.588 0.572 0.572 1804 98 2 + 4.089 -2.002 21.343 0.809 0.509 -0.294 1804 159 2 + 4.089 -2.121 20.902 0.809 0.588 0.000 1804 159 2 + 4.089 -2.002 20.461 0.809 0.509 0.294 1804 76 2 + 4.089 -1.680 20.139 0.809 0.294 0.509 1804 76 2 + 3.876 -1.702 20.902 0.951 0.309 0.000 1804 76 2 + 3.876 -1.471 20.501 0.951 0.155 0.268 1804 76 2 + 4.738 -4.559 27.064 0.000 0.989 -0.149 1814 157 2 + 4.738 -4.559 26.617 0.000 0.989 0.149 1814 157 2 + 4.738 -4.427 26.190 0.000 0.901 0.434 1814 155 2 + 4.274 -4.482 26.606 0.309 0.938 0.157 1814 157 2 + 4.274 -4.330 26.161 0.309 0.836 0.453 1814 157 2 + 2.194 -4.315 27.815 0.000 0.989 -0.149 1818 180 2 + 2.194 -4.315 27.368 0.000 0.989 0.149 1818 157 2 + 2.194 -4.183 26.940 0.000 0.901 0.434 1818 157 2 + 1.731 -4.239 27.826 0.309 0.938 -0.157 1818 157 2 + 1.731 -4.239 27.356 0.309 0.938 0.157 1818 157 2 + 1.731 -4.086 26.912 0.309 0.836 0.453 1818 157 2 + 1.313 -4.045 27.591 0.588 0.809 0.000 1818 157 2 + 1.313 -3.953 27.127 0.588 0.747 0.310 1818 157 2 + 1.313 -3.690 26.733 0.588 0.572 0.572 1818 157 2 + 0.981 -3.595 27.150 0.809 0.509 0.294 1818 193 2 + 0.981 -3.272 26.828 0.809 0.294 0.509 1818 193 2 + 1.775 -4.207 28.585 0.000 0.989 -0.149 1821 178 2 + 1.312 -4.131 28.127 0.309 0.938 0.157 1821 178 2 + 0.894 -3.845 27.897 0.588 0.747 0.310 1821 178 2 + -0.396 -3.819 28.880 0.000 0.901 0.434 1826 186 2 + -0.396 -3.567 28.510 0.000 0.733 0.680 1826 186 2 + 1.463 -10.626 28.472 0.000 -0.956 0.295 1854 173 2 + 1.140 -11.386 25.380 -0.309 -0.520 0.796 1860 408 2 + 1.140 -11.041 25.698 -0.309 -0.751 0.584 1860 408 2 + 1.140 -10.817 26.111 -0.309 -0.900 0.309 1860 171 2 + 0.676 -11.231 25.401 0.000 -0.623 0.782 1860 408 2 + 0.676 -10.927 25.729 0.000 -0.826 0.563 1860 408 2 + 0.676 -10.733 26.132 0.000 -0.956 0.295 1860 171 2 + 0.213 -11.041 25.698 0.309 -0.751 0.584 1860 367 2 + 0.213 -10.817 26.111 0.309 -0.900 0.309 1860 367 2 + -0.205 -11.046 26.109 0.588 -0.747 0.310 1860 367 2 + 0.099 -10.722 27.013 0.309 -0.951 0.000 1862 370 2 + 0.099 -10.799 27.477 0.309 -0.900 -0.309 1862 370 2 + -0.319 -10.935 27.013 0.588 -0.809 0.000 1862 367 2 + -0.319 -11.028 27.478 0.588 -0.747 -0.310 1862 370 2 + 0.631 -12.139 25.046 0.000 -0.075 0.997 1866 408 2 + 0.167 -12.369 25.120 0.309 0.079 0.948 1866 397 2 + 0.167 -11.901 25.159 0.309 -0.233 0.922 1866 408 2 + -0.251 -12.715 25.421 0.588 0.310 0.747 1866 397 2 + -0.251 -12.251 25.328 0.588 -0.000 0.809 1866 397 2 + -0.251 -11.787 25.421 0.588 -0.310 0.747 1866 367 2 + -0.583 -11.810 25.778 0.809 -0.294 0.509 1866 367 2 + 1.982 -14.960 29.163 0.309 0.938 0.157 1887 389 2 + 1.998 -18.372 28.362 0.000 -1.000 0.000 1896 390 2 + 1.998 -18.439 28.804 0.000 -0.956 -0.295 1896 393 2 + 1.998 -18.633 27.517 0.000 -0.826 0.563 1896 400 2 + 1.998 -18.439 27.920 0.000 -0.956 0.295 1896 400 2 + 0.882 -16.214 21.215 0.000 -1.000 0.000 1913 405 2 + 0.882 -16.281 21.657 0.000 -0.956 -0.295 1913 405 2 + 0.419 -16.288 21.215 0.309 -0.951 0.000 1913 405 2 + 0.419 -16.365 21.678 0.309 -0.900 -0.309 1913 405 2 + 0.419 -16.589 22.091 0.309 -0.751 -0.584 1913 398 2 + 0.419 -16.934 22.409 0.309 -0.520 -0.796 1913 398 2 + 0.001 -16.501 21.215 0.588 -0.809 0.000 1913 414 2 + 0.001 -16.593 21.680 0.588 -0.747 -0.310 1913 414 2 + 0.001 -16.856 22.073 0.588 -0.572 -0.572 1913 398 2 + -0.331 -16.833 21.215 0.809 -0.588 0.000 1913 414 2 + -0.331 -16.951 21.656 0.809 -0.509 -0.294 1913 414 2 + -0.892 -16.518 17.009 0.000 -1.000 0.000 1922 418 2 + 0.740 -16.563 15.567 0.588 -0.747 0.310 1925 421 2 + -2.126 -16.421 13.187 -0.309 -0.900 -0.309 1931 429 2 + -2.589 -16.337 13.166 0.000 -0.956 -0.295 1931 429 2 + 1.525 -12.427 10.242 0.309 -0.900 0.309 1952 340 2 + 1.107 -12.655 10.241 0.588 -0.747 0.310 1952 431 2 + 0.775 -13.012 10.264 0.809 -0.509 0.294 1952 431 2 + 2.244 -13.369 8.837 0.000 -0.365 0.931 1954 446 2 + 2.244 -12.982 9.060 0.000 -0.623 0.782 1954 340 2 + 2.244 -12.677 9.388 0.000 -0.826 0.563 1954 340 2 + 1.781 -13.567 8.850 0.309 -0.233 0.922 1954 446 2 + 1.781 -13.137 9.039 0.309 -0.520 0.796 1954 446 2 + 1.781 -12.791 9.357 0.309 -0.751 0.584 1954 340 2 + 1.362 -13.452 9.112 0.588 -0.310 0.747 1954 440 2 + 1.362 -13.059 9.375 0.588 -0.572 0.572 1954 440 2 + 4.730 -12.314 8.471 0.000 -0.623 0.782 1957 284 2 + 4.730 -12.010 8.799 0.000 -0.826 0.563 1957 284 2 + 4.267 -12.469 8.450 0.309 -0.520 0.796 1957 284 2 + 4.267 -12.123 8.768 0.309 -0.751 0.584 1957 340 2 + 3.848 -12.785 8.523 0.588 -0.310 0.747 1957 446 2 + 3.848 -12.391 8.786 0.588 -0.572 0.572 1957 340 2 + 3.848 -12.128 9.180 0.588 -0.747 0.310 1957 340 2 + 5.882 -13.491 8.292 -0.588 -0.000 0.809 1959 299 2 + 5.882 -13.027 8.384 -0.588 -0.310 0.747 1959 284 2 + 5.464 -13.609 8.084 -0.309 0.079 0.948 1959 299 2 + 5.464 -13.141 8.123 -0.309 -0.233 0.922 1959 284 2 + 5.464 -12.711 8.311 -0.309 -0.520 0.796 1959 284 2 + 5.001 -13.379 8.010 0.000 -0.075 0.997 1959 446 2 + 5.001 -12.943 8.109 0.000 -0.365 0.931 1959 284 2 + 4.537 -13.609 8.084 0.309 0.079 0.948 1959 446 2 + 4.536 -15.104 7.158 0.588 -0.572 0.572 1961 447 2 + 6.399 -14.044 6.300 0.000 -0.956 -0.295 1964 299 2 + 6.399 -14.238 6.703 0.000 -0.826 -0.563 1964 299 2 + 5.935 -14.051 5.858 0.309 -0.951 0.000 1964 304 2 + 5.935 -14.128 6.321 0.309 -0.900 -0.309 1964 304 2 + 5.935 -14.352 6.734 0.309 -0.751 -0.584 1964 299 2 + 5.517 -14.264 5.858 0.588 -0.809 0.000 1964 447 2 + 5.517 -14.357 6.322 0.588 -0.747 -0.310 1964 447 2 + 5.185 -14.596 5.858 0.809 -0.588 0.000 1964 447 2 + 4.462 -13.590 3.857 -0.309 -0.751 -0.584 1966 304 2 + 3.999 -13.282 3.423 0.000 -0.956 -0.295 1966 323 2 + 3.999 -13.476 3.826 0.000 -0.826 -0.563 1966 323 2 + 3.999 -13.781 4.154 0.000 -0.623 -0.782 1966 447 2 + 3.999 -14.168 4.377 0.000 -0.365 -0.931 1966 447 2 + 2.491 -13.291 4.485 -0.588 -0.572 -0.572 1968 447 2 + 2.491 -13.685 4.748 -0.588 -0.310 -0.747 1968 447 2 + 2.491 -14.149 4.841 -0.588 0.000 -0.809 1968 447 2 + 2.073 -13.799 5.010 -0.309 -0.233 -0.922 1968 445 2 + 1.556 -11.759 3.730 -0.588 -0.809 0.000 1976 321 2 + 1.556 -11.851 4.194 -0.588 -0.747 -0.310 1976 321 2 + 1.556 -12.114 4.588 -0.588 -0.572 -0.572 1976 445 2 + 1.138 -11.623 4.193 -0.309 -0.900 -0.309 1976 321 2 + 1.138 -11.847 4.606 -0.309 -0.751 -0.584 1976 321 2 + 1.138 -12.192 4.924 -0.309 -0.520 -0.796 1976 445 2 + 1.138 -12.622 5.113 -0.309 -0.233 -0.922 1976 445 2 + 0.675 -11.539 4.172 0.000 -0.956 -0.295 1976 451 2 + 0.675 -11.733 4.575 0.000 -0.826 -0.563 1976 451 2 + 0.675 -12.037 4.903 0.000 -0.623 -0.782 1976 451 2 + 0.675 -12.425 5.126 0.000 -0.365 -0.931 1976 445 2 + 0.211 -11.847 4.606 0.309 -0.751 -0.584 1976 451 2 + 0.211 -12.192 4.924 0.309 -0.520 -0.796 1976 451 2 + 1.106 -9.578 3.694 -0.951 0.155 -0.268 1980 317 2 + 1.106 -9.810 3.293 -0.951 0.309 0.000 1980 322 2 + 0.893 -9.787 4.056 -0.809 0.294 -0.509 1980 317 2 + 0.893 -10.110 3.734 -0.809 0.509 -0.294 1980 322 2 + 0.893 -10.228 3.293 -0.809 0.588 0.000 1980 322 2 + 0.561 -10.204 4.151 -0.588 0.572 -0.572 1980 451 2 + 0.561 -10.468 3.757 -0.588 0.747 -0.310 1980 322 2 + 0.143 -10.601 3.972 -0.309 0.836 -0.453 1980 451 2 + 0.747 -9.003 4.567 -0.809 0.000 -0.588 1982 324 2 + 0.415 -9.468 4.807 -0.588 0.310 -0.747 1982 324 2 + -0.003 -9.970 4.735 -0.309 0.644 -0.700 1982 451 2 + -0.142 -8.173 5.243 -0.588 -0.310 -0.747 1984 324 2 + -0.142 -8.638 5.335 -0.588 0.000 -0.809 1984 324 2 + -0.560 -7.858 5.316 -0.309 -0.520 -0.796 1984 324 2 + -0.560 -8.288 5.505 -0.309 -0.233 -0.922 1984 324 2 + -0.560 -8.756 5.543 -0.309 0.079 -0.948 1984 324 2 + -0.560 -9.211 5.428 -0.309 0.382 -0.871 1984 324 2 + -1.023 -9.737 5.142 0.000 0.733 -0.680 1984 451 2 + -1.265 -7.402 5.203 -0.309 -0.751 -0.584 1986 330 2 + -1.265 -7.748 5.521 -0.309 -0.520 -0.796 1986 330 2 + -1.265 -8.178 5.710 -0.309 -0.233 -0.922 1986 330 2 + -1.265 -8.646 5.749 -0.309 0.079 -0.948 1986 451 2 + -1.265 -9.101 5.634 -0.309 0.382 -0.871 1986 451 2 + -1.729 -7.593 5.500 0.000 -0.623 -0.782 1986 330 2 + -1.729 -7.980 5.723 0.000 -0.365 -0.931 1986 330 2 + -1.729 -8.416 5.823 0.000 -0.075 -0.997 1986 453 2 + -1.729 -8.862 5.790 0.000 0.223 -0.975 1986 453 2 + -1.729 -9.278 5.626 0.000 0.500 -0.866 1986 451 2 + -1.729 -9.628 5.347 0.000 0.733 -0.680 1986 451 2 + -2.192 -8.178 5.710 0.309 -0.233 -0.922 1986 453 2 + -2.192 -8.646 5.749 0.309 0.079 -0.948 1986 453 2 + -2.192 -9.101 5.634 0.309 0.382 -0.871 1986 453 2 + -2.192 -9.494 5.377 0.309 0.644 -0.700 1986 451 2 + -2.734 -9.695 4.653 0.588 0.747 -0.310 1989 451 2 + -3.065 -9.015 4.953 0.809 0.294 -0.509 1989 453 2 + -3.065 -9.337 4.630 0.809 0.509 -0.294 1989 453 2 + -3.278 -8.806 4.590 0.951 0.155 -0.268 1989 453 2 + -2.629 -10.196 4.137 0.309 0.644 -0.700 1991 451 2 + -2.629 -10.485 3.767 0.309 0.836 -0.453 1991 451 2 + -2.629 -10.637 3.322 0.309 0.938 -0.157 1991 451 2 + -2.629 -10.637 2.853 0.309 0.938 0.157 1991 451 2 + -3.047 -10.088 3.946 0.588 0.572 -0.572 1991 451 2 + -3.047 -10.351 3.552 0.588 0.747 -0.310 1991 451 2 + -3.047 -10.443 3.088 0.588 0.809 0.000 1991 451 2 + -3.047 -10.351 2.623 0.588 0.747 0.310 1991 467 2 + -3.047 -10.088 2.229 0.588 0.572 0.572 1991 467 2 + -3.047 -9.694 1.966 0.588 0.310 0.747 1991 467 2 + -3.379 -9.671 3.851 0.809 0.294 -0.509 1991 511 2 + -3.379 -9.994 3.528 0.809 0.509 -0.294 1991 451 2 + -3.379 -10.112 3.088 0.809 0.588 0.000 1991 467 2 + -3.379 -9.994 2.647 0.809 0.509 0.294 1991 467 2 + -3.379 -9.671 2.324 0.809 0.294 0.509 1991 467 2 + -3.592 -8.766 3.088 0.951 -0.309 0.000 1991 511 2 + -3.592 -8.998 3.489 0.951 -0.155 -0.268 1991 511 2 + -3.592 -9.462 3.489 0.951 0.155 -0.268 1991 511 2 + -3.592 -9.693 3.088 0.951 0.309 0.000 1991 511 2 + -3.592 -9.462 2.686 0.951 0.155 0.268 1991 511 2 + -3.592 -8.998 2.686 0.951 -0.155 0.268 1991 511 2 + -3.665 -9.230 3.088 1.000 0.000 0.000 1991 511 2 + -2.128 -11.262 2.985 0.809 0.000 -0.588 1993 451 2 + -2.341 -11.494 2.505 0.951 0.155 -0.268 1993 463 2 + -2.341 -11.030 1.702 0.951 -0.155 0.268 1993 463 2 + -2.415 -11.262 2.103 1.000 0.000 0.000 1993 463 2 + -2.286 -7.116 4.719 0.309 -0.900 -0.309 2001 330 2 + -2.286 -7.339 5.132 0.309 -0.751 -0.584 2001 330 2 + -2.704 -7.344 4.720 0.588 -0.747 -0.310 2001 511 2 + -2.704 -7.607 5.114 0.588 -0.572 -0.572 2001 453 2 + -2.704 -8.001 5.377 0.588 -0.310 -0.747 2001 453 2 + -3.036 -7.584 4.255 0.809 -0.588 0.000 2001 511 2 + -3.036 -7.702 4.696 0.809 -0.509 -0.294 2001 511 2 + -3.036 -8.024 5.019 0.809 -0.294 -0.509 2001 453 2 + 4.514 -8.443 1.142 -0.309 -0.233 -0.922 2016 314 2 + 4.514 -8.911 1.180 -0.309 0.079 -0.948 2016 308 2 + 4.051 -8.245 1.155 0.000 -0.365 -0.931 2016 314 2 + 4.051 -8.681 1.254 0.000 -0.075 -0.997 2016 314 2 + 3.587 -8.911 1.180 0.309 0.079 -0.948 2016 322 2 + 5.071 -6.344 3.840 0.000 0.733 0.680 2026 312 2 + 6.446 -7.203 6.148 -0.309 0.836 -0.453 2032 282 2 + 6.446 -7.355 5.703 -0.309 0.938 -0.157 2032 282 2 + 6.446 -7.355 5.234 -0.309 0.938 0.157 2032 282 2 + 6.446 -7.203 4.790 -0.309 0.836 0.453 2032 312 2 + 5.982 -7.299 6.119 0.000 0.901 -0.434 2032 282 2 + 5.982 -7.431 5.692 0.000 0.989 -0.149 2032 282 2 + 5.982 -7.431 5.245 0.000 0.989 0.149 2032 282 2 + 5.982 -7.299 4.818 0.000 0.901 0.434 2032 312 2 + 5.982 -7.047 4.448 0.000 0.733 0.680 2032 312 2 + 5.519 -7.355 5.703 0.309 0.938 -0.157 2032 319 2 + 5.519 -7.355 5.234 0.309 0.938 0.157 2032 319 2 + 5.519 -7.203 4.790 0.309 0.836 0.453 2032 312 2 + 5.101 -7.161 5.469 0.588 0.809 0.000 2032 319 2 + 5.101 -7.069 5.004 0.588 0.747 0.310 2032 319 2 + 6.424 -6.442 6.890 -0.309 0.382 -0.871 2034 282 2 + 6.424 -6.835 6.634 -0.309 0.644 -0.700 2034 282 2 + 5.960 -6.203 7.046 0.000 0.223 -0.975 2034 282 2 + 5.960 -6.619 6.883 0.000 0.500 -0.866 2034 282 2 + 5.960 -6.969 6.604 0.000 0.733 -0.680 2034 282 2 + 5.496 -5.519 6.967 0.309 -0.233 -0.922 2034 274 2 + 5.496 -5.987 7.006 0.309 0.079 -0.948 2034 274 2 + 5.496 -6.442 6.890 0.309 0.382 -0.871 2034 319 2 + 5.496 -6.835 6.634 0.309 0.644 -0.700 2034 319 2 + 5.078 -5.869 6.798 0.588 0.000 -0.809 2034 274 2 + 5.078 -6.334 6.705 0.588 0.310 -0.747 2034 319 2 + 5.078 -6.727 6.442 0.588 0.572 -0.572 2034 319 2 + 7.841 -4.584 8.211 0.000 -0.075 -0.997 2037 87 2 + 7.841 -5.030 8.178 0.000 0.223 -0.975 2037 87 2 + 7.841 -5.446 8.014 0.000 0.500 -0.866 2037 282 2 + 7.841 -5.795 7.735 0.000 0.733 -0.680 2037 282 2 + 7.377 -4.346 8.098 0.309 -0.233 -0.922 2037 87 2 + 7.377 -4.814 8.137 0.309 0.079 -0.948 2037 274 2 + 7.377 -5.269 8.022 0.309 0.382 -0.871 2037 282 2 + 7.377 -5.662 7.765 0.309 0.644 -0.700 2037 282 2 + 7.377 -5.951 7.394 0.309 0.836 -0.453 2037 282 2 + 6.959 -4.696 7.929 0.588 0.000 -0.809 2037 274 2 + 6.959 -5.160 7.836 0.588 0.310 -0.747 2037 274 2 + 6.959 -5.554 7.573 0.588 0.572 -0.572 2037 282 2 + 6.627 -4.696 7.597 0.809 0.000 -0.588 2037 274 2 + 7.924 -2.763 8.377 -0.309 0.382 -0.871 2039 87 2 + 7.461 -2.940 8.369 0.000 0.500 -0.866 2039 87 2 + 6.568 -2.637 8.196 0.588 0.310 -0.747 2041 274 2 + 6.237 -2.614 7.839 0.809 0.294 -0.509 2041 274 2 + 7.212 -1.129 9.336 0.000 0.901 -0.434 2047 82 2 + 6.749 -1.032 9.364 0.309 0.836 -0.453 2047 82 2 + 6.331 -0.898 9.150 0.588 0.747 -0.310 2047 82 2 + 8.354 -1.120 11.526 0.309 0.836 0.453 2050 86 2 + 6.936 -0.998 12.813 0.588 0.747 0.310 2052 82 2 + 7.426 -1.858 14.220 0.309 0.938 0.157 2055 92 2 + 7.426 -1.705 13.776 0.309 0.836 0.453 2055 84 2 + 7.007 -1.572 13.990 0.588 0.747 0.310 2055 92 2 + 6.676 -1.214 14.014 0.809 0.509 0.294 2055 70 2 + 5.466 -1.538 16.162 0.309 0.836 0.453 2059 95 2 + 5.466 -1.249 15.791 0.309 0.644 0.700 2059 70 2 + 5.048 -1.404 16.376 0.588 0.747 0.310 2059 95 2 + 5.048 -1.141 15.982 0.588 0.572 0.572 2059 70 2 + 5.048 -0.747 15.719 0.588 0.310 0.747 2059 70 2 + 4.716 -1.165 16.841 0.809 0.588 0.000 2059 74 2 + 4.716 -1.046 16.400 0.809 0.509 0.294 2059 74 2 + 4.716 -0.724 16.077 0.809 0.294 0.509 2059 70 2 + 4.503 -0.746 16.841 0.951 0.309 0.000 2059 74 2 + 5.523 -1.720 17.188 0.309 0.938 -0.157 2062 98 2 + 5.105 -1.434 17.417 0.588 0.747 -0.310 2062 98 2 + 8.261 -4.418 20.470 -0.309 0.836 0.453 2069 127 2 + 8.261 -4.129 20.100 -0.309 0.644 0.700 2069 127 2 + 7.798 -4.514 20.498 0.000 0.901 0.434 2069 125 2 + 7.798 -4.263 20.129 0.000 0.733 0.680 2069 125 2 + 7.798 -3.913 19.850 0.000 0.500 0.866 2069 98 2 + 7.334 -4.418 20.470 0.309 0.836 0.453 2069 125 2 + 7.334 -4.129 20.100 0.309 0.644 0.700 2069 125 2 + 7.334 -3.736 19.843 0.309 0.382 0.871 2069 98 2 + 6.742 -4.465 21.214 0.309 0.938 0.157 2071 125 2 + 6.324 -4.272 21.449 0.588 0.809 0.000 2071 125 2 + 6.324 -4.179 20.984 0.588 0.747 0.310 2071 125 2 + 6.324 -3.916 20.591 0.588 0.572 0.572 2071 98 2 + 5.992 -3.940 21.449 0.809 0.588 0.000 2071 158 2 + 5.992 -3.822 21.008 0.809 0.509 0.294 2071 125 2 + 6.684 -5.023 23.073 0.809 0.509 0.294 2074 154 2 + 6.740 -5.674 26.535 0.309 0.938 -0.157 2083 147 2 + 6.322 -5.388 25.836 0.588 0.747 0.310 2083 147 2 + 6.639 -4.769 27.694 0.309 0.382 -0.871 2085 182 2 + 6.639 -5.162 27.438 0.309 0.644 -0.700 2085 184 2 + 6.221 -5.054 27.246 0.588 0.572 -0.572 2085 182 2 + 6.221 -5.317 26.852 0.588 0.747 -0.310 2085 184 2 + 5.889 -4.960 26.829 0.809 0.509 -0.294 2085 182 2 + 5.889 -5.078 26.388 0.809 0.588 0.000 2085 155 2 + 5.889 -4.960 25.947 0.809 0.509 0.294 2085 155 2 + 4.470 -8.547 28.870 0.309 -0.233 0.922 2101 175 2 + 4.470 -8.117 29.059 0.309 -0.520 0.796 2101 175 2 + 4.052 -8.433 29.132 0.588 -0.310 0.747 2101 172 2 + 4.149 -11.097 25.074 0.309 -0.951 0.000 2108 139 2 + 3.731 -11.310 25.074 0.588 -0.809 0.000 2108 139 2 + 3.731 -11.402 24.610 0.588 -0.747 0.310 2108 139 2 + 1.850 -13.788 24.970 0.951 -0.155 0.268 2114 396 2 + 2.517 -16.958 25.534 0.951 0.155 -0.268 2119 400 2 + 2.995 -17.439 27.684 0.809 -0.509 -0.294 2121 389 2 + 2.995 -17.762 28.007 0.809 -0.294 -0.509 2121 389 2 + 2.782 -17.739 27.243 0.951 -0.309 0.000 2121 389 2 + 2.782 -17.971 27.645 0.951 -0.155 -0.268 2121 389 2 + 4.652 -13.986 21.274 -0.309 -0.520 0.796 2149 142 2 + 4.188 -13.831 21.295 0.000 -0.623 0.782 2149 142 2 + 3.725 -13.986 21.274 0.309 -0.520 0.796 2149 405 2 + 3.725 -13.640 21.592 0.309 -0.751 0.584 2149 406 2 + 3.306 -14.302 21.347 0.588 -0.310 0.747 2149 405 2 + 3.306 -13.908 21.610 0.588 -0.572 0.572 2149 405 2 + 4.217 -15.162 19.654 0.000 -1.000 0.000 2153 144 2 + 4.217 -15.228 19.212 0.000 -0.956 0.295 2153 425 2 + 3.754 -15.235 19.654 0.309 -0.951 0.000 2153 405 2 + 3.754 -15.312 19.191 0.309 -0.900 0.309 2153 425 2 + 2.016 -15.639 18.445 0.000 -1.000 0.000 2155 405 2 + 2.016 -15.705 18.887 0.000 -0.956 -0.295 2155 405 2 + 1.553 -15.789 18.908 0.309 -0.900 -0.309 2155 405 2 + 1.525 -15.800 17.917 0.309 -0.900 0.309 2158 418 2 + 3.503 -16.289 16.399 -0.588 -0.809 0.000 2164 425 2 + 3.085 -16.075 16.399 -0.309 -0.951 0.000 2164 425 2 + 4.069 -16.786 15.039 -0.809 -0.509 -0.294 2166 116 2 + 3.737 -16.428 15.063 -0.588 -0.747 -0.310 2166 115 2 + 3.823 -13.223 13.650 -0.309 -0.520 -0.796 2168 269 2 + 3.823 -13.653 13.839 -0.309 -0.233 -0.922 2168 269 2 + 3.823 -14.121 13.877 -0.309 0.079 -0.948 2168 115 2 + 3.359 -13.455 13.852 0.000 -0.365 -0.931 2168 269 2 + 3.359 -13.891 13.952 0.000 -0.075 -0.997 2168 422 2 + 3.359 -14.337 13.918 0.000 0.223 -0.975 2168 422 2 + 2.861 -12.270 13.181 -0.309 -0.751 -0.584 2170 269 2 + 2.397 -11.963 12.747 0.000 -0.956 -0.295 2170 269 2 + 2.397 -12.157 13.150 0.000 -0.826 -0.563 2170 269 2 + 2.397 -12.461 13.477 0.000 -0.623 -0.782 2170 269 2 + 2.397 -12.848 13.701 0.000 -0.365 -0.931 2170 269 2 + 1.586 -12.017 12.250 0.309 -0.951 0.000 2172 339 2 + 1.586 -12.094 12.713 0.309 -0.900 -0.309 2172 339 2 + 1.586 -12.318 13.126 0.309 -0.751 -0.584 2172 339 2 + 1.586 -12.663 13.444 0.309 -0.520 -0.796 2172 422 2 + 1.586 -13.093 13.633 0.309 -0.233 -0.922 2172 422 2 + 1.586 -13.561 13.672 0.309 0.079 -0.948 2172 422 2 + 1.167 -12.230 12.250 0.588 -0.809 0.000 2172 431 2 + 1.167 -12.322 12.714 0.588 -0.747 -0.310 2172 431 2 + 1.167 -12.585 13.108 0.588 -0.572 -0.572 2172 431 2 + 1.167 -12.979 13.371 0.588 -0.310 -0.747 2172 422 2 + 1.167 -13.443 13.463 0.588 0.000 -0.809 2172 422 2 + 0.836 -12.562 12.250 0.809 -0.588 0.000 2172 431 2 + 0.836 -12.680 12.691 0.809 -0.509 -0.294 2172 431 2 + 0.836 -13.003 13.013 0.809 -0.294 -0.509 2172 431 2 + 0.623 -12.980 12.250 0.951 -0.309 0.000 2172 431 2 + 4.513 -11.427 12.189 0.309 -0.751 -0.584 2181 268 2 + 4.094 -11.432 11.777 0.588 -0.747 -0.310 2181 268 2 + 5.415 -10.699 10.804 0.000 -1.000 0.000 2183 268 2 + 5.415 -11.264 9.631 0.000 -0.623 0.782 2183 284 2 + 5.415 -10.960 9.959 0.000 -0.826 0.563 2183 284 2 + 5.415 -10.766 10.362 0.000 -0.956 0.295 2183 284 2 + 4.951 -10.772 10.804 0.309 -0.951 0.000 2183 268 2 + 4.951 -10.850 11.267 0.309 -0.900 -0.309 2183 268 2 + 4.951 -11.073 9.928 0.309 -0.751 0.584 2183 340 2 + 4.951 -10.850 10.341 0.309 -0.900 0.309 2183 340 2 + 4.533 -10.985 10.804 0.588 -0.809 0.000 2183 340 2 + 4.533 -11.078 10.340 0.588 -0.747 0.310 2183 340 2 + 7.389 -10.060 9.682 0.000 -0.623 0.782 2186 285 2 + 6.925 -10.215 9.660 0.309 -0.520 0.796 2186 284 2 + 6.925 -9.870 9.978 0.309 -0.751 0.584 2186 285 2 + 6.925 -9.646 10.391 0.309 -0.900 0.309 2186 285 2 + 6.507 -9.782 10.854 0.588 -0.809 0.000 2186 268 2 + 6.507 -10.531 9.733 0.588 -0.310 0.747 2186 284 2 + 6.507 -10.138 9.996 0.588 -0.572 0.572 2186 284 2 + 6.507 -9.875 10.390 0.588 -0.747 0.310 2186 284 2 + 6.175 -10.114 10.854 0.809 -0.588 0.000 2186 268 2 + 6.175 -10.232 11.295 0.809 -0.509 -0.294 2186 268 2 + 6.175 -10.232 10.414 0.809 -0.509 0.294 2186 284 2 + 8.383 -11.186 9.126 -0.309 -0.233 0.922 2188 294 2 + 7.920 -10.988 9.112 0.000 -0.365 0.931 2188 285 2 + 7.857 -12.317 8.964 0.000 0.223 0.975 2190 299 2 + 7.857 -11.871 8.931 0.000 -0.075 0.997 2190 294 2 + 8.250 -14.790 6.731 -0.309 -0.751 -0.584 2195 299 2 + 7.583 -14.079 6.024 -0.309 -0.900 -0.309 2199 296 2 + 7.119 -13.929 5.561 0.000 -1.000 0.000 2199 304 2 + 5.955 -11.476 2.802 0.000 -0.075 -0.997 2208 304 2 + 5.492 -11.705 2.727 0.309 0.079 -0.948 2208 304 2 + 5.927 -10.044 1.714 0.000 -0.956 -0.295 2211 308 2 + 5.927 -10.238 2.117 0.000 -0.826 -0.563 2211 308 2 + 5.927 -10.542 2.445 0.000 -0.623 -0.782 2211 302 2 + 5.464 -10.352 2.148 0.309 -0.751 -0.584 2211 308 2 + 5.464 -10.697 2.466 0.309 -0.520 -0.796 2211 302 2 + 5.046 -10.619 2.130 0.588 -0.572 -0.572 2211 323 2 + 5.046 -11.013 2.393 0.588 -0.310 -0.747 2211 323 2 + 7.667 -10.430 1.906 -0.309 -0.751 -0.584 2217 311 2 + 8.996 -9.522 1.173 0.000 -0.365 -0.931 2219 309 2 + 7.288 -6.906 4.197 0.309 0.836 0.453 2229 312 2 + 9.583 -7.786 4.195 0.309 0.644 0.700 2234 309 2 + 9.165 -7.941 4.780 0.588 0.747 0.310 2234 310 2 + 10.011 -8.601 5.006 0.309 0.836 0.453 2236 310 2 + 9.593 -8.205 6.543 0.588 0.572 -0.572 2236 282 2 + 9.593 -8.468 6.149 0.588 0.747 -0.310 2236 282 2 + 9.593 -8.560 5.685 0.588 0.809 0.000 2236 282 2 + 9.593 -8.468 5.220 0.588 0.747 0.310 2236 310 2 + 9.261 -8.110 6.126 0.809 0.509 -0.294 2236 282 2 + 9.261 -8.228 5.685 0.809 0.588 0.000 2236 282 2 + 10.079 -6.669 7.340 0.309 -0.233 -0.922 2238 282 2 + 10.079 -7.137 7.379 0.309 0.079 -0.948 2238 286 2 + 10.079 -7.593 7.263 0.309 0.382 -0.871 2238 286 2 + 9.661 -7.020 7.170 0.588 0.000 -0.809 2238 282 2 + 9.661 -7.484 7.078 0.588 0.310 -0.747 2238 282 2 + 9.177 -4.707 7.541 -0.809 0.000 -0.588 2240 89 2 + 8.845 -4.707 7.873 -0.588 0.000 -0.809 2240 87 2 + 8.845 -5.171 7.781 -0.588 0.310 -0.747 2240 89 2 + 8.845 -5.565 7.517 -0.588 0.572 -0.572 2240 282 2 + 8.427 -5.961 7.338 -0.309 0.836 -0.453 2240 282 2 + 9.525 -2.843 14.511 0.309 0.836 0.453 2256 85 2 + 8.676 -2.927 16.018 0.588 0.747 0.310 2258 92 2 + 9.539 -3.983 18.031 0.309 0.938 -0.157 2264 127 2 + 9.539 -3.983 17.561 0.309 0.938 0.157 2264 105 2 + 9.539 -3.830 17.117 0.309 0.836 0.453 2264 105 2 + 9.121 -3.789 17.796 0.588 0.809 0.000 2264 96 2 + 9.121 -3.697 17.332 0.588 0.747 0.310 2264 96 2 + 11.325 -4.089 18.777 0.309 0.644 -0.700 2267 127 2 + 11.094 -4.254 22.395 -0.588 0.747 0.310 2271 129 2 + 10.676 -4.387 22.180 -0.309 0.836 0.453 2271 127 2 + 10.016 -5.167 22.888 -0.809 0.588 0.000 2273 153 2 + 9.685 -5.407 23.352 -0.588 0.747 -0.310 2273 153 2 + 9.685 -5.499 22.888 -0.588 0.809 0.000 2273 153 2 + 9.685 -5.407 22.423 -0.588 0.747 0.310 2273 127 2 + 9.685 -5.144 22.029 -0.588 0.572 0.572 2273 127 2 + 9.266 -5.693 22.653 -0.309 0.938 0.157 2273 125 2 + 9.266 -5.540 22.209 -0.309 0.836 0.453 2273 127 2 + 9.266 -5.252 21.838 -0.309 0.644 0.700 2273 127 2 + 8.803 -5.769 22.664 0.000 0.989 0.149 2273 125 2 + 8.803 -5.637 22.237 0.000 0.901 0.434 2273 125 2 + 8.803 -5.385 21.867 0.000 0.733 0.680 2273 125 2 + 8.339 -5.540 22.209 0.309 0.836 0.453 2273 125 2 + 8.774 -5.856 23.683 -0.309 0.938 -0.157 2276 149 2 + 8.774 -5.856 23.213 -0.309 0.938 0.157 2276 149 2 + 7.601 -5.848 23.342 0.309 0.938 0.157 2279 154 2 + 7.183 -5.654 23.576 0.588 0.809 0.000 2279 154 2 + 9.080 -5.388 26.267 -0.309 0.938 0.157 2287 150 2 + 7.973 -5.752 26.406 -0.309 0.938 -0.157 2289 150 2 + 7.509 -5.828 26.395 0.000 0.989 -0.149 2289 147 2 + 7.509 -5.828 25.948 0.000 0.989 0.149 2289 147 2 + 7.866 -7.936 26.516 0.000 -0.623 0.782 2297 150 2 + 7.866 -7.632 26.844 0.000 -0.826 0.563 2297 150 2 + 7.365 -7.446 27.697 0.309 -0.951 0.000 2299 184 2 + 7.365 -7.523 27.234 0.309 -0.900 0.309 2299 184 2 + 6.947 -7.659 27.697 0.588 -0.809 0.000 2299 184 2 + 6.947 -8.408 26.576 0.588 -0.310 0.747 2299 146 2 + 6.947 -8.014 26.839 0.588 -0.572 0.572 2299 146 2 + 6.947 -7.751 27.233 0.588 -0.747 0.310 2299 184 2 + 6.615 -8.432 26.934 0.809 -0.294 0.509 2299 175 2 + 6.615 -8.109 27.256 0.809 -0.509 0.294 2299 175 2 + 6.402 -8.641 27.296 0.951 -0.155 0.268 2299 175 2 + 6.626 -7.342 28.759 0.000 -0.826 0.563 2301 184 2 + 6.163 -7.801 28.410 0.309 -0.520 0.796 2301 175 2 + 6.163 -7.456 28.728 0.309 -0.751 0.584 2301 181 2 + 6.163 -7.232 29.141 0.309 -0.900 0.309 2301 181 2 + 5.745 -8.117 28.483 0.588 -0.310 0.747 2301 175 2 + 5.745 -7.724 28.746 0.588 -0.572 0.572 2301 181 2 + 6.364 -9.837 25.346 0.309 -0.900 0.309 2308 146 2 + 4.799 -11.684 23.410 0.000 -0.623 0.782 2315 140 2 + 4.799 -11.380 23.738 0.000 -0.826 0.563 2315 139 2 + 4.336 -11.493 23.707 0.309 -0.751 0.584 2315 139 2 + 3.918 -11.761 23.725 0.588 -0.572 0.572 2315 408 2 + 7.556 -13.920 17.240 0.809 -0.294 0.509 2346 111 2 + 6.555 -16.385 17.159 0.588 -0.310 0.747 2350 116 2 + 6.555 -15.991 17.422 0.588 -0.572 0.572 2350 113 2 + 6.555 -15.728 17.816 0.588 -0.747 0.310 2350 113 2 + 5.416 -16.245 17.643 -0.309 -0.520 0.796 2352 116 2 + 5.416 -15.900 17.961 -0.309 -0.751 0.584 2352 425 2 + 5.416 -15.676 18.375 -0.309 -0.900 0.309 2352 144 2 + 4.952 -16.090 17.665 0.000 -0.623 0.782 2352 425 2 + 4.952 -15.786 17.993 0.000 -0.826 0.563 2352 425 2 + 5.792 -13.650 13.796 0.000 0.223 -0.975 2363 112 2 + 5.792 -14.066 13.633 0.000 0.500 -0.866 2363 115 2 + 5.329 -12.966 13.717 0.309 -0.233 -0.922 2363 269 2 + 5.329 -13.434 13.756 0.309 0.079 -0.948 2363 115 2 + 5.704 -11.718 13.189 0.309 -0.751 -0.584 2366 268 2 + 5.704 -12.064 13.507 0.309 -0.520 -0.796 2366 269 2 + 6.971 -12.361 13.773 0.000 -0.075 -0.997 2369 110 2 + 7.907 -10.250 13.903 0.309 0.079 -0.948 2371 106 2 + 7.489 -10.132 13.694 0.588 0.000 -0.809 2371 106 2 + 7.157 -10.132 13.363 0.809 0.000 -0.588 2371 268 2 + 7.867 -7.756 13.784 0.000 -0.365 -0.931 2375 100 2 + 7.403 -7.524 13.582 0.309 -0.520 -0.796 2375 94 2 + 7.403 -7.954 13.770 0.309 -0.233 -0.922 2375 94 2 + 6.985 -7.840 13.508 0.588 -0.310 -0.747 2375 94 2 + 6.985 -8.304 13.601 0.588 0.000 -0.809 2375 94 2 + 6.653 -8.745 13.151 0.809 0.294 -0.509 2375 268 2 + 6.579 -6.778 11.882 0.588 -0.809 0.000 2377 273 2 + 6.579 -6.870 12.347 0.588 -0.747 -0.310 2377 94 2 + 6.579 -7.133 12.740 0.588 -0.572 -0.572 2377 94 2 + 6.579 -6.870 11.418 0.588 -0.747 0.310 2377 273 2 + 6.247 -7.110 11.882 0.809 -0.588 0.000 2377 273 2 + 6.247 -7.228 12.323 0.809 -0.509 -0.294 2377 94 2 + 6.247 -7.551 12.646 0.809 -0.294 -0.509 2377 94 2 + 6.247 -7.991 12.764 0.809 0.000 -0.588 2377 268 2 + 6.247 -7.228 11.442 0.809 -0.509 0.294 2377 273 2 + 6.034 -7.528 11.882 0.951 -0.309 0.000 2377 273 2 + 6.034 -7.760 12.284 0.951 -0.155 -0.268 2377 268 2 + 6.034 -8.223 12.284 0.951 0.155 -0.268 2377 268 2 + 6.034 -7.760 11.481 0.951 -0.155 0.268 2377 273 2 + 5.961 -7.991 11.882 1.000 0.000 0.000 2377 268 2 + 7.524 -8.686 9.997 0.000 0.223 0.975 2379 285 2 + 7.060 -8.925 10.153 0.309 0.382 0.871 2379 285 2 + 7.060 -8.470 10.038 0.309 0.079 0.948 2379 285 2 + 7.060 -8.002 10.076 0.309 -0.233 0.922 2379 273 2 + 6.642 -9.210 10.601 0.588 0.572 0.572 2379 285 2 + 6.642 -8.816 10.338 0.588 0.310 0.747 2379 285 2 + 6.642 -8.352 10.246 0.588 -0.000 0.809 2379 273 2 + 6.642 -7.887 10.338 0.588 -0.310 0.747 2379 273 2 + 6.310 -9.234 11.459 0.809 0.588 0.000 2379 268 2 + 6.310 -9.115 11.019 0.809 0.509 0.294 2379 268 2 + 6.310 -8.793 10.696 0.809 0.294 0.509 2379 268 2 + 6.310 -8.352 10.578 0.809 -0.000 0.588 2379 273 2 + 6.310 -7.911 10.696 0.809 -0.294 0.509 2379 273 2 + 6.097 -8.815 11.459 0.951 0.309 0.000 2379 268 2 + 6.097 -8.584 11.058 0.951 0.155 0.268 2379 268 2 + 6.097 -8.120 11.058 0.951 -0.155 0.268 2379 273 2 + 8.592 -7.770 10.360 -0.588 -0.310 0.747 2382 290 2 + 8.174 -8.352 10.060 -0.309 0.079 0.948 2382 285 2 + 8.174 -7.884 10.099 -0.309 -0.233 0.922 2382 285 2 + 8.174 -7.454 10.287 -0.309 -0.520 0.796 2382 273 2 + 9.291 -10.492 9.665 -0.309 -0.520 0.796 2386 285 2 + 10.974 -12.683 5.886 0.951 -0.155 -0.268 2399 295 2 + 10.744 -11.220 4.703 0.809 -0.509 -0.294 2401 288 2 + 10.744 -11.543 5.025 0.809 -0.294 -0.509 2401 288 2 + 10.531 -11.520 4.262 0.951 -0.309 0.000 2401 311 2 + 10.531 -11.752 4.663 0.951 -0.155 -0.268 2401 297 2 + 10.531 -12.216 4.663 0.951 0.155 -0.268 2401 297 2 + 9.021 -12.438 3.173 0.000 -0.623 -0.782 2403 301 2 + 9.021 -12.825 3.397 0.000 -0.365 -0.931 2403 297 2 + 8.558 -12.593 3.195 0.309 -0.520 -0.796 2403 301 2 + 11.103 -10.532 4.129 0.809 -0.588 0.000 2410 311 2 + 10.696 -8.887 6.420 0.309 0.836 -0.453 2416 288 2 + 10.696 -9.040 5.976 0.309 0.938 -0.157 2416 288 2 + 10.696 -9.040 5.506 0.309 0.938 0.157 2416 288 2 + 11.168 -7.284 8.222 0.809 0.000 -0.588 2421 289 2 + 11.168 -7.725 8.104 0.809 0.294 -0.509 2421 286 2 + 12.308 -6.681 9.695 0.588 0.000 -0.809 2426 293 2 + 11.976 -6.240 9.245 0.809 -0.294 -0.509 2426 290 2 + 11.976 -6.681 9.363 0.809 0.000 -0.588 2426 290 2 + 11.527 -5.063 11.264 0.309 0.938 0.157 2437 293 2 + 11.527 -4.910 10.820 0.309 0.836 0.453 2437 293 2 + 11.109 -4.869 11.499 0.588 0.809 0.000 2437 293 2 + 11.109 -4.777 11.034 0.588 0.747 0.310 2437 293 2 + 11.109 -4.514 10.641 0.588 0.572 0.572 2437 88 2 + 11.109 -4.120 10.378 0.588 0.310 0.747 2437 88 2 + 11.109 -3.655 10.285 0.588 -0.000 0.809 2437 88 2 + 10.777 -4.537 11.499 0.809 0.588 0.000 2437 85 2 + 10.777 -4.419 11.058 0.809 0.509 0.294 2437 85 2 + 10.777 -4.096 10.735 0.809 0.294 0.509 2437 88 2 + 10.777 -3.655 10.617 0.809 -0.000 0.588 2437 88 2 + 10.564 -4.119 11.499 0.951 0.309 0.000 2437 85 2 + 10.564 -3.887 11.097 0.951 0.155 0.268 2437 85 2 + 10.491 -3.655 11.499 1.000 0.000 0.000 2437 85 2 + 11.715 -5.304 12.900 0.309 0.938 -0.157 2440 293 2 + 11.715 -5.304 12.430 0.309 0.938 0.157 2440 293 2 + 11.297 -4.755 13.523 0.588 0.572 -0.572 2440 104 2 + 11.297 -5.018 13.129 0.588 0.747 -0.310 2440 104 2 + 11.297 -5.110 12.665 0.588 0.809 0.000 2440 293 2 + 10.965 -4.660 13.106 0.809 0.509 -0.294 2440 85 2 + 10.965 -4.778 12.665 0.809 0.588 0.000 2440 85 2 + 10.752 -4.360 12.665 0.951 0.309 0.000 2440 85 2 + 11.641 -4.763 16.680 0.588 0.572 0.572 2445 104 2 + 11.309 -4.668 17.979 0.809 0.509 -0.294 2445 105 2 + 11.309 -4.787 17.538 0.809 0.588 0.000 2445 105 2 + 11.309 -4.668 17.097 0.809 0.509 0.294 2445 105 2 + 12.408 -6.383 22.339 0.588 -0.809 0.000 2455 129 2 + 12.543 -5.421 23.300 0.809 -0.000 0.588 2457 129 2 + 12.330 -5.884 24.182 0.951 0.309 0.000 2457 153 2 + 12.330 -5.653 23.780 0.951 0.155 0.268 2457 153 2 + 8.502 -9.440 23.558 0.309 -0.900 0.309 2471 149 2 + 7.783 -10.276 22.960 0.588 -0.572 0.572 2481 145 2 + 8.176 -11.379 22.019 0.588 -0.310 0.747 2483 140 2 + 9.910 -11.541 20.898 0.000 -0.365 0.931 2486 121 2 + 9.446 -11.739 20.911 0.309 -0.233 0.922 2486 121 2 + 9.446 -11.309 21.100 0.309 -0.520 0.796 2486 120 2 + 9.028 -12.089 21.081 0.588 -0.000 0.809 2486 143 2 + 9.028 -11.625 21.173 0.588 -0.310 0.747 2486 120 2 + 8.415 -12.233 18.291 0.309 -0.951 0.000 2493 118 2 + 8.415 -12.311 18.755 0.309 -0.900 -0.309 2493 118 2 + 7.997 -12.446 18.291 0.588 -0.809 0.000 2493 118 2 + 7.997 -12.539 18.756 0.588 -0.747 -0.310 2493 118 2 + 7.997 -12.802 19.149 0.588 -0.572 -0.572 2493 142 2 + 7.997 -12.539 17.827 0.588 -0.747 0.310 2493 111 2 + 7.665 -12.778 18.291 0.809 -0.588 0.000 2493 111 2 + 7.665 -12.896 18.732 0.809 -0.509 -0.294 2493 142 2 + 7.665 -13.219 19.055 0.809 -0.294 -0.509 2493 142 2 + 7.665 -12.896 17.851 0.809 -0.509 0.294 2493 111 2 + 8.721 -12.455 16.519 0.809 -0.509 0.294 2498 110 2 + 9.411 -10.608 15.912 0.951 -0.155 -0.268 2504 106 2 + 9.296 -9.950 14.413 0.809 -0.509 -0.294 2506 106 2 + 9.921 -8.458 12.804 -0.809 -0.509 -0.294 2512 292 2 + 9.625 -7.955 12.814 -0.809 -0.509 -0.294 2514 100 2 + 9.293 -8.254 13.494 -0.588 -0.310 -0.747 2514 100 2 + 9.282 -7.183 12.185 -0.809 -0.588 0.000 2518 290 2 + 9.282 -7.302 12.626 -0.809 -0.509 -0.294 2518 100 2 + 8.950 -6.944 12.650 -0.588 -0.747 -0.310 2518 100 2 + 8.950 -7.207 13.043 -0.588 -0.572 -0.572 2518 100 2 + 8.532 -6.939 13.061 -0.309 -0.751 -0.584 2518 94 2 + 9.034 -7.377 11.062 -0.809 -0.294 0.509 2521 290 2 + 9.034 -7.055 11.385 -0.809 -0.509 0.294 2521 290 2 + 8.702 -6.605 11.825 -0.588 -0.809 0.000 2521 290 2 + 8.702 -6.960 10.967 -0.588 -0.572 0.572 2521 290 2 + 8.702 -6.697 11.361 -0.588 -0.747 0.310 2521 290 2 + 8.284 -6.392 11.825 -0.309 -0.951 0.000 2521 94 2 + 8.284 -6.469 12.289 -0.309 -0.900 -0.309 2521 94 2 + 8.284 -6.693 10.949 -0.309 -0.751 0.584 2521 273 2 + 8.284 -6.469 11.362 -0.309 -0.900 0.309 2521 273 2 + 7.821 -6.318 11.825 0.000 -1.000 0.000 2521 94 2 + 7.821 -6.385 12.267 0.000 -0.956 -0.295 2521 94 2 + 7.821 -6.579 10.980 0.000 -0.826 0.563 2521 273 2 + 7.821 -6.385 11.383 0.000 -0.956 0.295 2521 273 2 + 7.357 -6.392 11.825 0.309 -0.951 0.000 2521 94 2 + 7.357 -6.469 12.289 0.309 -0.900 -0.309 2521 94 2 + 7.357 -6.693 10.949 0.309 -0.751 0.584 2521 273 2 + 7.357 -6.469 11.362 0.309 -0.900 0.309 2521 273 2 + 12.711 -7.331 13.114 0.809 -0.000 0.588 2539 292 2 + 12.498 -7.099 13.595 0.951 -0.155 0.268 2539 292 2 + 12.264 -7.439 14.508 0.951 -0.309 0.000 2542 103 2 + 11.693 -6.183 17.736 0.951 -0.309 0.000 2544 103 2 + 11.129 -6.821 18.412 0.588 -0.809 0.000 2547 128 2 + 11.129 -6.914 18.876 0.588 -0.747 -0.310 2547 128 2 + 11.129 -7.177 17.554 0.588 -0.572 0.572 2547 103 2 + 11.129 -6.914 17.947 0.588 -0.747 0.310 2547 103 2 + 10.797 -7.153 18.412 0.809 -0.588 0.000 2547 122 2 + 10.797 -7.271 18.853 0.809 -0.509 -0.294 2547 122 2 + 10.797 -7.271 17.971 0.809 -0.509 0.294 2547 103 2 + 10.584 -7.571 18.412 0.951 -0.309 0.000 2547 122 2 + 10.584 -7.803 18.813 0.951 -0.155 -0.268 2547 122 2 + 11.163 -7.635 19.622 0.588 -0.310 -0.747 2549 122 2 + 10.831 -8.099 19.383 0.809 0.000 -0.588 2549 122 2 + 10.831 -8.540 19.265 0.809 0.294 -0.509 2549 122 2 + 11.185 -7.768 20.395 0.588 -0.572 0.572 2551 128 2 + 10.853 -8.626 20.371 0.809 -0.000 0.588 2551 119 2 + 11.162 -6.957 21.933 0.309 -0.951 0.000 2553 128 2 + 11.162 -7.034 22.396 0.309 -0.900 -0.309 2553 152 2 + 11.162 -7.257 22.809 0.309 -0.751 -0.584 2553 152 2 + 11.162 -7.603 23.127 0.309 -0.520 -0.796 2553 152 2 + 11.162 -7.034 21.470 0.309 -0.900 0.309 2553 128 2 + 10.744 -7.170 21.933 0.588 -0.809 0.000 2553 128 2 + 10.744 -7.262 22.397 0.588 -0.747 -0.310 2553 152 2 + 10.744 -7.525 22.791 0.588 -0.572 -0.572 2553 152 2 + 10.744 -7.525 21.075 0.588 -0.572 0.572 2553 128 2 + 10.744 -7.262 21.468 0.588 -0.747 0.310 2553 128 2 + 10.412 -7.501 21.933 0.809 -0.588 0.000 2553 128 2 + 10.412 -7.620 22.374 0.809 -0.509 -0.294 2553 152 2 + 10.412 -7.942 22.696 0.809 -0.294 -0.509 2553 152 2 + 10.412 -7.942 21.169 0.809 -0.294 0.509 2553 119 2 + 10.412 -7.620 21.492 0.809 -0.509 0.294 2553 119 2 + 10.199 -7.920 21.933 0.951 -0.309 0.000 2553 119 2 + 10.199 -8.151 22.334 0.951 -0.155 -0.268 2553 119 2 + 10.199 -8.151 21.531 0.951 -0.155 0.268 2553 119 2 + 10.098 -8.597 23.721 0.309 -0.951 0.000 2559 149 2 + 9.680 -9.165 22.863 0.588 -0.572 0.572 2559 120 2 + 9.680 -8.902 23.257 0.588 -0.747 0.310 2559 149 2 + 10.790 -9.002 18.385 0.809 0.588 0.000 2567 122 2 + 10.790 -8.884 17.944 0.809 0.509 0.294 2567 122 2 + 10.790 -8.562 17.621 0.809 0.294 0.509 2567 122 2 + 10.790 -8.121 17.503 0.809 -0.000 0.588 2567 103 2 + 10.577 -8.584 18.385 0.951 0.309 0.000 2567 122 2 + 10.577 -8.353 17.983 0.951 0.155 0.268 2567 122 2 + 10.686 -9.020 16.795 0.588 -0.747 -0.310 2569 103 2 + 10.686 -9.283 17.188 0.588 -0.572 -0.572 2569 117 2 + 10.686 -9.676 17.451 0.588 -0.310 -0.747 2569 117 2 + 10.686 -10.141 17.544 0.588 0.000 -0.809 2569 117 2 + 9.874 -9.556 16.146 0.809 -0.509 -0.294 2575 106 2 + 9.874 -9.879 16.469 0.809 -0.294 -0.509 2575 117 2 + 10.609 -8.784 14.730 0.309 -0.951 0.000 2578 103 2 + 10.609 -8.862 14.267 0.309 -0.900 0.309 2578 292 2 + 10.191 -8.997 14.730 0.588 -0.809 0.000 2578 106 2 + -3.715 -10.098 -2.058 0.809 0.000 -0.588 2621 468 2 + -5.397 -9.486 -5.132 0.809 0.509 -0.294 2628 477 2 + -5.397 -9.604 -5.573 0.809 0.588 0.000 2628 485 2 + -5.397 -9.486 -6.013 0.809 0.509 0.294 2628 485 2 + -4.728 -10.609 -5.965 0.809 0.588 0.000 2632 483 2 + -8.201 -21.515 13.176 0.309 -0.520 0.796 2649 548 2 + -8.619 -21.831 13.249 0.588 -0.310 0.747 2649 717 2 + -8.951 -21.854 13.607 0.809 -0.294 0.509 2649 717 2 + -8.673 -20.897 14.000 0.588 -0.572 0.572 2651 710 2 + -9.005 -20.992 14.417 0.809 -0.509 0.294 2651 710 2 + -1.170 9.600 29.393 0.000 0.733 0.680 2658 824 2 + -1.170 9.949 29.114 0.000 0.500 0.866 2658 829 2 + -1.170 10.365 28.951 0.000 0.223 0.975 2658 829 2 + -1.634 10.126 29.106 0.309 0.382 0.871 2658 831 2 + -8.771 12.500 17.300 0.588 0.747 -0.310 2686 14 2 + -8.771 12.408 16.836 0.588 0.809 0.000 2686 14 2 + -9.102 12.858 17.277 0.809 0.509 -0.294 2686 8 2 + -9.102 12.739 16.836 0.809 0.588 0.000 2686 8 2 + -9.199 13.066 16.116 0.809 0.509 0.294 2688 5 2 + -10.791 11.719 17.685 -0.809 -0.588 0.000 2703 8 2 + -11.123 12.051 17.685 -0.588 -0.809 0.000 2703 8 2 + -11.123 11.958 17.221 -0.588 -0.747 0.310 2703 8 2 + -8.857 12.547 19.164 0.588 0.809 0.000 2715 16 2 + -9.189 12.997 18.723 0.809 0.509 0.294 2715 8 2 + -9.792 -14.789 7.214 -0.809 0.509 0.294 2735 535 2 + -9.792 -14.466 6.891 -0.809 0.294 0.509 2735 527 2 + -9.792 -14.026 6.773 -0.809 -0.000 0.588 2735 527 2 + -10.124 -14.490 6.534 -0.588 0.310 0.747 2735 527 2 + -10.124 -14.026 6.441 -0.588 -0.000 0.809 2735 527 2 + -10.542 -14.143 6.233 -0.309 0.079 0.948 2735 559 2 + -11.006 -13.914 6.159 0.000 -0.075 0.997 2735 559 2 + -9.291 -14.213 8.017 -0.951 0.155 0.268 2737 527 2 + -9.769 -13.229 6.977 -0.809 -0.294 0.509 2741 527 2 + -10.101 -13.205 6.619 -0.588 -0.310 0.747 2741 527 2 + -10.101 -12.811 6.882 -0.588 -0.572 0.572 2741 527 2 + -10.519 -12.889 6.546 -0.309 -0.520 0.796 2741 559 2 + -10.519 -12.544 6.864 -0.309 -0.751 0.584 2741 580 2 + -10.983 -13.121 6.344 0.000 -0.365 0.931 2741 559 2 + -10.983 -12.734 6.568 0.000 -0.623 0.782 2741 559 2 + -10.983 -12.430 6.896 0.000 -0.826 0.563 2741 580 2 + -18.585 -8.425 15.694 -0.259 -0.066 -0.964 2748 682 2 + -18.585 -7.966 15.725 -0.259 0.197 -0.946 2748 682 3 + -18.585 -7.532 15.879 -0.259 0.444 -0.858 2748 682 3 + -19.007 -8.778 18.821 -0.500 -0.268 0.824 2748 682 3 + -19.007 -8.310 15.864 -0.500 0.000 -0.866 2748 682 3 + -19.007 -7.842 15.939 -0.500 0.268 -0.824 2748 682 3 + -19.007 -7.419 16.154 -0.500 0.509 -0.701 2748 682 3 + -19.369 -8.784 18.523 -0.707 -0.271 0.653 2748 682 3 + -19.369 -8.784 16.237 -0.707 -0.271 -0.653 2748 682 3 + -19.369 -8.310 16.143 -0.707 0.000 -0.707 2748 682 3 + -19.369 -7.836 16.237 -0.707 0.271 -0.653 2748 682 3 + -19.369 -7.435 16.505 -0.707 0.500 -0.500 2748 682 3 + -19.648 -8.435 18.246 -0.866 -0.071 0.495 2748 682 3 + -19.648 -8.883 18.041 -0.866 -0.327 0.378 2748 682 3 + -19.648 -8.883 16.719 -0.866 -0.327 -0.378 2748 682 3 + -19.648 -8.435 16.514 -0.866 -0.071 -0.495 2748 682 3 + -19.648 -7.947 16.584 -0.866 0.208 -0.455 2748 682 3 + -19.648 -7.574 16.907 -0.866 0.421 -0.270 2748 682 3 + -19.822 -7.857 17.380 -0.966 0.259 0.000 2748 682 3 + -19.822 -8.084 17.772 -0.966 0.129 0.224 2748 682 3 + -19.822 -8.536 17.772 -0.966 -0.129 0.224 2748 682 3 + -19.822 -8.763 17.380 -0.966 -0.259 -0.000 2748 682 3 + -19.822 -8.536 16.988 -0.966 -0.129 -0.224 2748 682 3 + -19.822 -8.084 16.988 -0.966 0.129 -0.224 2748 682 3 + -19.882 -8.310 17.380 -1.000 -0.000 -0.000 2748 682 3 + -17.630 -5.689 18.503 0.309 0.900 0.309 2749 683 3 + -17.630 -5.915 18.922 0.309 0.751 0.584 2749 683 3 + -18.100 -5.536 18.034 -0.000 1.000 0.000 2749 683 3 + -18.100 -5.604 18.482 -0.000 0.956 0.295 2749 683 3 + -18.100 -5.800 18.890 -0.000 0.826 0.563 2749 683 3 + -18.100 -6.108 19.222 -0.000 0.623 0.782 2749 683 3 + -18.100 -6.501 19.449 -0.000 0.365 0.931 2749 683 3 + -18.100 -6.942 19.550 -0.000 0.075 0.997 2749 683 3 + -18.100 -6.108 16.846 -0.000 0.623 -0.782 2749 683 3 + -18.100 -5.800 17.178 -0.000 0.826 -0.563 2749 683 3 + -18.100 -5.604 17.586 -0.000 0.956 -0.295 2749 683 3 + -18.570 -5.610 18.034 -0.309 0.951 0.000 2749 683 3 + -18.570 -5.689 18.503 -0.309 0.900 0.309 2749 683 3 + -18.570 -5.915 18.922 -0.309 0.751 0.584 2749 683 3 + -18.570 -6.265 19.244 -0.309 0.520 0.796 2749 683 3 + -18.570 -6.701 19.435 -0.309 0.233 0.922 2749 683 3 + -18.570 -7.175 19.475 -0.309 -0.079 0.948 2749 683 3 + -18.570 -5.915 17.146 -0.309 0.751 -0.584 2749 683 3 + -18.570 -5.689 17.565 -0.309 0.900 -0.309 2749 683 3 + -18.993 -5.826 18.034 -0.588 0.809 0.000 2749 683 3 + -18.993 -5.920 18.505 -0.588 0.747 0.310 2749 683 3 + -18.993 -6.186 18.904 -0.588 0.572 0.572 2749 683 3 + -18.993 -6.585 19.170 -0.588 0.310 0.747 2749 683 3 + -18.993 -7.056 19.264 -0.588 -0.000 0.809 2749 683 3 + -18.993 -6.186 17.164 -0.588 0.572 -0.572 2749 683 3 + -18.993 -5.920 17.563 -0.588 0.747 -0.310 2749 683 3 + -19.330 -6.163 18.034 -0.809 0.588 0.000 2749 683 3 + -19.330 -6.282 18.481 -0.809 0.509 0.294 2749 683 3 + -19.330 -6.609 18.808 -0.809 0.294 0.509 2749 683 3 + -19.330 -7.056 18.927 -0.809 -0.000 0.588 2749 683 3 + -19.330 -6.282 17.587 -0.809 0.509 -0.294 2749 683 3 + -19.546 -6.586 18.034 -0.951 0.309 0.000 2749 683 3 + -19.546 -6.821 18.441 -0.951 0.155 0.268 2749 683 3 + -17.354 -9.252 19.388 -0.259 -0.066 0.964 2750 679 3 + -18.549 -10.866 18.900 -0.309 0.233 0.922 2751 681 3 + -18.549 -12.647 17.737 -0.309 -0.938 0.157 2751 681 3 + -18.972 -11.221 18.729 -0.588 -0.000 0.809 2751 681 3 + -18.972 -11.692 18.635 -0.588 -0.310 0.747 2751 681 3 + -18.972 -12.091 18.369 -0.588 -0.572 0.572 2751 681 3 + -18.972 -12.357 17.970 -0.588 -0.747 0.310 2751 681 3 + -18.972 -12.451 17.499 -0.588 -0.809 -0.000 2751 681 3 + -18.972 -12.357 17.028 -0.588 -0.747 -0.310 2751 681 3 + -19.309 -11.221 18.392 -0.809 -0.000 0.588 2751 681 3 + -19.309 -11.668 18.273 -0.809 -0.294 0.509 2751 681 3 + -19.309 -11.995 17.946 -0.809 -0.509 0.294 2751 681 3 + -19.309 -12.114 17.499 -0.809 -0.588 -0.000 2751 681 3 + -19.309 -11.995 17.052 -0.809 -0.509 -0.294 2751 681 3 + -19.525 -10.986 17.906 -0.951 0.155 0.268 2751 681 3 + -19.525 -11.456 17.906 -0.951 -0.155 0.268 2751 681 3 + -19.525 -11.691 17.499 -0.951 -0.309 -0.000 2751 681 3 + -19.525 -11.456 17.092 -0.951 -0.155 -0.268 2751 681 3 + -19.525 -10.986 17.092 -0.951 0.155 -0.268 2751 681 3 + -19.599 -11.221 17.499 -1.000 -0.000 -0.000 2751 681 3 + -18.676 -10.744 14.118 -0.588 0.809 0.000 2752 689 3 + -18.676 -10.838 13.647 -0.588 0.747 -0.310 2752 689 3 + -19.013 -11.081 14.118 -0.809 0.588 0.000 2752 689 3 + -19.013 -12.748 14.565 -0.809 -0.509 0.294 2752 689 3 + -19.013 -12.867 14.118 -0.809 -0.588 -0.000 2752 689 3 + -19.013 -12.748 13.671 -0.809 -0.509 -0.294 2752 689 3 + -19.013 -12.421 13.344 -0.809 -0.294 -0.509 2752 689 3 + -19.013 -11.200 13.671 -0.809 0.509 -0.294 2752 689 3 + -19.229 -11.504 14.118 -0.951 0.309 0.000 2752 689 3 + -19.229 -11.739 14.525 -0.951 0.155 0.268 2752 689 3 + -19.229 -12.209 14.525 -0.951 -0.155 0.268 2752 689 3 + -19.229 -12.444 14.118 -0.951 -0.309 -0.000 2752 689 3 + -19.229 -12.209 13.711 -0.951 -0.155 -0.268 2752 689 3 + -19.229 -11.739 13.711 -0.951 0.155 -0.268 2752 689 3 + -19.303 -11.974 14.118 -1.000 -0.000 -0.000 2752 689 3 + -15.759 -4.342 14.695 -0.588 0.747 0.310 2754 640 3 + -16.096 -4.585 14.224 -0.809 0.588 0.000 2754 640 3 + -16.096 -4.704 14.671 -0.809 0.509 0.294 2754 640 3 + -16.312 -5.008 14.224 -0.951 0.309 0.000 2754 640 3 + -16.312 -5.243 14.631 -0.951 0.155 0.268 2754 640 3 + -16.312 -5.243 13.817 -0.951 0.155 -0.268 2754 640 3 + -16.386 -5.478 14.224 -1.000 -0.000 -0.000 2754 640 3 + -16.271 -6.536 11.308 -0.707 0.500 -0.500 2755 646 3 + -16.271 -6.268 11.709 -0.707 0.653 -0.271 2755 646 3 + -16.550 -6.536 12.183 -0.866 0.500 0.000 2755 646 3 + -16.550 -6.675 11.710 -0.866 0.421 -0.270 2755 646 3 + -16.724 -6.958 12.183 -0.966 0.259 0.000 2755 646 3 + -16.724 -7.185 12.575 -0.966 0.129 0.224 2755 646 3 + -14.794 -2.533 10.867 -0.500 0.268 -0.824 2757 641 3 + -15.156 -2.527 13.451 -0.707 0.271 0.653 2757 641 3 + -15.156 -3.475 11.165 -0.707 -0.271 -0.653 2757 641 3 + -15.156 -3.001 11.071 -0.707 0.000 -0.707 2757 641 3 + -15.156 -2.527 11.165 -0.707 0.271 -0.653 2757 641 3 + -15.435 -2.265 12.781 -0.866 0.421 0.270 2757 641 3 + -15.435 -2.638 13.104 -0.866 0.208 0.455 2757 641 3 + -15.435 -3.126 11.442 -0.866 -0.071 -0.495 2757 641 3 + -15.435 -2.638 11.512 -0.866 0.208 -0.455 2757 641 3 + -15.435 -2.265 11.835 -0.866 0.421 -0.270 2757 641 3 + -15.609 -2.548 12.308 -0.966 0.259 0.000 2757 641 3 + -15.609 -2.775 12.700 -0.966 0.129 0.224 2757 641 3 + -15.609 -3.227 11.916 -0.966 -0.129 -0.224 2757 641 3 + -15.609 -2.775 11.916 -0.966 0.129 -0.224 2757 641 3 + -15.669 -3.001 12.308 -1.000 -0.000 -0.000 2757 641 3 + -13.979 -1.791 16.970 -0.500 0.866 0.000 2758 673 3 + -13.979 -1.866 17.438 -0.500 0.824 0.268 2758 673 3 + -13.979 -2.081 17.861 -0.500 0.701 0.509 2758 673 3 + -13.979 -2.416 18.196 -0.500 0.509 0.701 2758 673 3 + -13.979 -2.839 18.411 -0.500 0.268 0.824 2758 673 3 + -13.979 -1.866 16.502 -0.500 0.824 -0.268 2758 673 3 + -14.341 -2.070 16.970 -0.707 0.707 0.000 2758 673 3 + -14.341 -2.164 17.444 -0.707 0.653 0.271 2758 673 3 + -14.341 -2.432 17.845 -0.707 0.500 0.500 2758 673 3 + -14.341 -2.833 18.113 -0.707 0.271 0.653 2758 673 3 + -14.341 -2.164 16.496 -0.707 0.653 -0.271 2758 673 3 + -14.620 -2.432 16.970 -0.866 0.500 0.000 2758 673 3 + -14.620 -2.571 17.443 -0.866 0.421 0.270 2758 673 3 + -14.620 -2.944 17.766 -0.866 0.208 0.455 2758 673 3 + -14.620 -2.571 16.497 -0.866 0.421 -0.270 2758 673 3 + -14.794 -2.854 16.970 -0.966 0.259 0.000 2758 673 3 + -14.794 -3.081 17.362 -0.966 0.129 0.224 2758 673 3 + -14.794 -3.081 16.578 -0.966 0.129 -0.224 2758 673 3 + -14.377 -4.839 18.914 -0.259 0.444 0.858 2759 671 3 + -14.799 -4.726 18.639 -0.500 0.509 0.701 2759 671 3 + -15.161 -4.742 18.288 -0.707 0.500 0.500 2759 671 3 + -15.063 -6.533 20.158 -0.000 0.826 0.563 2760 670 3 + -15.063 -6.841 20.490 -0.000 0.623 0.782 2760 670 3 + -15.063 -7.234 20.717 -0.000 0.365 0.931 2760 670 3 + -15.533 -6.648 20.190 -0.309 0.751 0.584 2760 670 3 + -15.533 -6.998 20.512 -0.309 0.520 0.796 2760 670 3 + -15.533 -7.434 20.703 -0.309 0.233 0.922 2760 670 3 + -15.533 -7.908 20.743 -0.309 -0.079 0.948 2760 670 3 + -15.956 -7.318 20.438 -0.588 0.310 0.747 2760 670 3 + -15.956 -7.789 20.532 -0.588 -0.000 0.809 2760 670 3 + -15.956 -8.260 20.438 -0.588 -0.310 0.747 2760 670 3 + -17.358 -13.527 16.328 -0.707 -0.653 0.271 2763 685 3 + -15.496 -15.133 12.933 0.500 -0.701 -0.509 2764 690 3 + -15.496 -14.798 12.598 0.500 -0.509 -0.701 2764 690 3 + -15.918 -15.582 14.054 0.259 -0.957 0.132 2764 690 3 + -15.918 -15.582 13.594 0.259 -0.957 -0.132 2764 690 3 + -15.918 -15.457 13.151 0.259 -0.886 -0.385 2764 690 3 + -15.918 -15.218 12.757 0.259 -0.749 -0.610 2764 690 3 + -16.371 -15.423 14.699 -0.000 -0.866 0.500 2764 690 3 + -16.371 -15.597 14.277 -0.000 -0.966 0.259 2764 690 3 + -16.371 -15.657 13.824 -0.000 -1.000 -0.000 2764 690 3 + -16.371 -15.597 13.371 -0.000 -0.966 -0.259 2764 690 3 + -16.371 -15.423 12.949 -0.000 -0.866 -0.500 2764 690 3 + -16.824 -15.218 14.891 -0.259 -0.749 0.610 2764 690 3 + -16.824 -15.457 14.497 -0.259 -0.886 0.385 2764 690 3 + -16.824 -15.582 14.054 -0.259 -0.957 0.132 2764 690 3 + -16.824 -15.582 13.594 -0.259 -0.957 -0.132 2764 690 3 + -16.824 -15.457 13.151 -0.259 -0.886 -0.385 2764 690 3 + -16.824 -15.218 12.757 -0.259 -0.749 -0.610 2764 690 3 + -17.246 -14.798 15.050 -0.500 -0.509 0.701 2764 690 3 + -17.246 -15.133 14.715 -0.500 -0.701 0.509 2764 690 3 + -17.246 -15.348 14.292 -0.500 -0.824 0.268 2764 690 3 + -17.246 -15.423 13.824 -0.500 -0.866 -0.000 2764 690 3 + -17.246 -15.348 13.356 -0.500 -0.824 -0.268 2764 690 3 + -17.246 -15.133 12.933 -0.500 -0.701 -0.509 2764 690 3 + -17.608 -14.782 14.699 -0.707 -0.500 0.500 2764 690 3 + -17.608 -15.050 14.298 -0.707 -0.653 0.271 2764 690 3 + -17.608 -15.144 13.824 -0.707 -0.707 -0.000 2764 690 3 + -17.608 -15.050 13.350 -0.707 -0.653 -0.271 2764 690 3 + -17.887 -14.480 14.485 -0.866 -0.327 0.378 2764 690 3 + -17.887 -14.747 14.071 -0.866 -0.480 0.141 2764 690 3 + -17.887 -14.747 13.577 -0.866 -0.480 -0.141 2764 690 3 + -17.887 -14.480 13.163 -0.866 -0.327 -0.378 2764 690 3 + -16.854 -14.729 10.463 0.309 -0.938 0.157 2765 656 3 + -17.324 -14.806 10.452 -0.000 -0.989 0.149 2765 656 3 + -17.794 -14.729 10.463 -0.309 -0.938 0.157 2765 656 3 + -17.794 -14.729 9.987 -0.309 -0.938 -0.157 2765 656 3 + -18.217 -14.439 10.696 -0.588 -0.747 0.310 2765 656 3 + -18.217 -14.533 10.225 -0.588 -0.809 -0.000 2765 656 3 + -18.217 -14.439 9.754 -0.588 -0.747 -0.310 2765 656 3 + -18.554 -13.750 10.999 -0.809 -0.294 0.509 2765 656 3 + -18.554 -14.077 10.672 -0.809 -0.509 0.294 2765 656 3 + -18.554 -14.196 10.225 -0.809 -0.588 -0.000 2765 656 3 + -18.554 -14.077 9.778 -0.809 -0.509 -0.294 2765 656 3 + -18.554 -13.750 9.451 -0.809 -0.294 -0.509 2765 656 3 + -18.554 -13.303 9.332 -0.809 0.000 -0.588 2765 656 3 + -18.770 -13.538 10.632 -0.951 -0.155 0.268 2765 656 3 + -18.770 -13.773 10.225 -0.951 -0.309 -0.000 2765 656 3 + -18.770 -13.538 9.818 -0.951 -0.155 -0.268 2765 656 3 + -18.844 -13.303 10.225 -1.000 -0.000 -0.000 2765 656 3 + -18.388 -11.372 8.805 -0.500 -0.268 -0.824 2766 653 3 + -18.388 -10.904 8.730 -0.500 0.000 -0.866 2766 653 3 + -18.388 -10.436 8.805 -0.500 0.268 -0.824 2766 653 3 + -18.750 -11.378 9.103 -0.707 -0.271 -0.653 2766 653 3 + -18.750 -10.904 9.009 -0.707 0.000 -0.707 2766 653 3 + -18.750 -10.430 9.103 -0.707 0.271 -0.653 2766 653 3 + -18.750 -10.029 9.371 -0.707 0.500 -0.500 2766 653 3 + -19.029 -10.029 10.246 -0.866 0.500 0.000 2766 653 3 + -19.029 -10.168 10.719 -0.866 0.421 0.270 2766 653 3 + -19.029 -10.541 11.042 -0.866 0.208 0.455 2766 653 3 + -19.029 -11.029 11.112 -0.866 -0.071 0.495 2766 653 3 + -19.029 -11.477 10.907 -0.866 -0.327 0.378 2766 653 3 + -19.029 -11.477 9.585 -0.866 -0.327 -0.378 2766 653 3 + -19.029 -11.029 9.380 -0.866 -0.071 -0.495 2766 653 3 + -19.029 -10.541 9.450 -0.866 0.208 -0.455 2766 653 3 + -19.029 -10.168 9.773 -0.866 0.421 -0.270 2766 653 3 + -19.203 -10.451 10.246 -0.966 0.259 0.000 2766 653 3 + -19.203 -10.678 10.638 -0.966 0.129 0.224 2766 653 3 + -19.203 -11.130 10.638 -0.966 -0.129 0.224 2766 653 3 + -19.203 -11.357 10.246 -0.966 -0.259 -0.000 2766 653 3 + -19.203 -11.130 9.854 -0.966 -0.129 -0.224 2766 653 3 + -19.203 -10.678 9.854 -0.966 0.129 -0.224 2766 653 3 + -19.263 -10.904 10.246 -1.000 -0.000 -0.000 2766 653 3 + -17.346 -9.281 8.771 -0.259 0.197 -0.946 2767 651 3 + -17.346 -8.847 8.925 -0.259 0.444 -0.858 2767 651 3 + -17.346 -8.471 9.191 -0.259 0.659 -0.706 2767 651 3 + -17.346 -8.181 9.548 -0.259 0.825 -0.502 2767 651 3 + -17.768 -8.109 10.426 -0.500 0.866 0.000 2767 651 3 + -17.768 -9.157 8.985 -0.500 0.268 -0.824 2767 651 3 + -17.768 -8.734 9.200 -0.500 0.509 -0.701 2767 651 3 + -17.768 -8.399 9.535 -0.500 0.701 -0.509 2767 651 3 + -17.768 -8.184 9.958 -0.500 0.824 -0.268 2767 651 3 + -18.130 -8.388 10.426 -0.707 0.707 0.000 2767 651 3 + -18.130 -8.482 10.900 -0.707 0.653 0.271 2767 651 3 + -18.130 -8.750 11.301 -0.707 0.500 0.500 2767 651 3 + -18.130 -9.151 11.569 -0.707 0.271 0.653 2767 651 3 + -18.130 -8.750 9.551 -0.707 0.500 -0.500 2767 651 3 + -18.130 -8.482 9.952 -0.707 0.653 -0.271 2767 651 3 + -18.409 -8.750 10.426 -0.866 0.500 0.000 2767 651 3 + -18.409 -8.889 10.899 -0.866 0.421 0.270 2767 651 3 + -18.409 -8.889 9.953 -0.866 0.421 -0.270 2767 651 3 + -15.716 -7.270 9.632 -0.500 0.509 -0.701 2768 649 3 + -14.645 -5.294 9.342 -0.951 0.309 0.000 2769 616 3 + -14.645 -5.529 8.935 -0.951 0.155 -0.268 2769 616 3 + -13.550 0.833 11.865 -0.000 1.000 0.000 2772 644 3 + -13.550 0.765 12.313 -0.000 0.956 0.295 2772 644 3 + -13.550 0.569 12.721 -0.000 0.826 0.563 2772 644 3 + -14.020 0.759 11.865 -0.309 0.951 0.000 2772 644 3 + -14.020 0.680 12.334 -0.309 0.900 0.309 2772 644 3 + -14.020 0.454 12.753 -0.309 0.751 0.584 2772 644 3 + -14.020 -0.332 10.464 -0.309 0.233 -0.922 2772 644 3 + -14.020 0.104 10.655 -0.309 0.520 -0.796 2772 644 3 + -14.020 0.454 10.977 -0.309 0.751 -0.584 2772 644 3 + -14.020 0.680 11.396 -0.309 0.900 -0.309 2772 644 3 + -14.443 0.543 11.865 -0.588 0.809 0.000 2772 644 3 + -14.443 0.449 12.336 -0.588 0.747 0.310 2772 644 3 + -14.443 0.183 12.735 -0.588 0.572 0.572 2772 644 3 + -14.443 -0.687 10.635 -0.588 0.000 -0.809 2772 644 3 + -14.443 -0.216 10.729 -0.588 0.310 -0.747 2772 644 3 + -14.443 0.183 10.995 -0.588 0.572 -0.572 2772 644 3 + -14.443 0.449 11.394 -0.588 0.747 -0.310 2772 644 3 + -14.780 0.206 11.865 -0.809 0.588 0.000 2772 644 3 + -14.780 0.087 12.312 -0.809 0.509 0.294 2772 644 3 + -14.780 -0.687 10.972 -0.809 0.000 -0.588 2772 644 3 + -14.780 -0.240 11.091 -0.809 0.294 -0.509 2772 644 3 + -14.780 0.087 11.418 -0.809 0.509 -0.294 2772 644 3 + -14.996 -0.217 11.865 -0.951 0.309 0.000 2772 644 3 + -14.996 -0.452 12.272 -0.951 0.155 0.268 2772 644 3 + -14.996 -0.452 11.458 -0.951 0.155 -0.268 2772 644 3 + -14.115 -0.775 13.806 -0.500 0.509 0.701 2773 642 3 + -14.477 -1.192 13.723 -0.707 0.271 0.653 2773 642 3 + -12.381 -0.143 13.943 -0.000 0.956 0.295 2774 643 3 + -12.851 -0.454 14.383 -0.309 0.751 0.584 2774 643 3 + -11.878 -0.508 17.244 -0.500 0.866 0.000 2776 675 3 + -11.878 -0.583 17.712 -0.500 0.824 0.268 2776 675 3 + -12.240 -0.881 17.718 -0.707 0.653 0.271 2776 675 3 + -11.860 -1.428 19.429 -0.588 0.572 0.572 2777 676 3 + -11.860 -1.835 19.701 -0.588 0.310 0.747 2777 676 3 + -11.860 -2.315 19.796 -0.588 -0.000 0.809 2777 676 3 + -12.203 -1.859 19.331 -0.809 0.294 0.509 2777 676 3 + -12.317 -5.130 20.386 -0.588 0.747 0.310 2778 769 3 + -13.248 -9.048 22.075 -0.000 0.866 0.500 2779 759 3 + -13.248 -9.327 22.437 -0.000 0.707 0.707 2779 759 3 + -13.248 -9.689 22.716 -0.000 0.500 0.866 2779 759 3 + -13.248 -10.111 22.890 -0.000 0.259 0.966 2779 759 3 + -13.701 -9.120 22.078 -0.259 0.825 0.502 2779 759 3 + -13.701 -9.410 22.435 -0.259 0.659 0.706 2779 759 3 + -13.701 -9.786 22.701 -0.259 0.444 0.858 2779 759 3 + -14.123 -9.338 22.091 -0.500 0.701 0.509 2779 759 3 + -14.123 -9.673 22.426 -0.500 0.509 0.701 2779 759 3 + -15.534 -10.498 21.629 -0.707 0.653 0.271 2780 760 3 + -13.275 -12.474 23.512 0.707 -0.000 0.707 2781 761 3 + -13.637 -12.006 23.716 0.500 0.268 0.824 2781 761 3 + -13.637 -12.474 23.791 0.500 -0.000 0.866 2781 761 3 + -14.059 -11.696 23.776 0.259 0.444 0.858 2781 761 3 + -14.059 -12.130 23.930 0.259 0.197 0.946 2781 761 3 + -14.059 -12.589 23.961 0.259 -0.066 0.964 2781 761 3 + -14.059 -13.040 23.868 0.259 -0.323 0.910 2781 761 3 + -14.512 -11.237 23.512 -0.000 0.707 0.707 2781 761 3 + -14.512 -11.599 23.791 -0.000 0.500 0.866 2781 761 3 + -14.512 -12.021 23.965 -0.000 0.259 0.966 2781 761 3 + -14.512 -12.474 24.025 -0.000 -0.000 1.000 2781 761 3 + -14.965 -11.320 23.510 -0.259 0.659 0.706 2781 761 3 + -14.965 -11.696 23.776 -0.259 0.444 0.858 2781 761 3 + -14.965 -12.130 23.930 -0.259 0.197 0.946 2781 761 3 + -15.387 -11.248 23.166 -0.500 0.701 0.509 2781 761 3 + -15.387 -11.583 23.501 -0.500 0.509 0.701 2781 761 3 + -15.749 -11.331 22.749 -0.707 0.653 0.271 2781 761 3 + -15.053 -14.064 23.839 0.259 -0.323 0.910 2782 763 3 + -15.506 -13.498 23.996 -0.000 -0.000 1.000 2782 763 3 + -15.506 -13.951 23.936 -0.000 -0.259 0.966 2782 763 3 + -15.506 -14.373 23.762 -0.000 -0.500 0.866 2782 763 3 + -15.959 -13.154 23.901 -0.259 0.197 0.946 2782 763 3 + -15.959 -13.613 23.932 -0.259 -0.066 0.964 2782 763 3 + -15.959 -14.064 23.839 -0.259 -0.323 0.910 2782 763 3 + -15.959 -14.473 23.627 -0.259 -0.557 0.789 2782 763 3 + -16.381 -12.607 23.472 -0.500 0.509 0.701 2782 763 3 + -16.381 -13.030 23.687 -0.500 0.268 0.824 2782 763 3 + -16.381 -13.498 23.762 -0.500 -0.000 0.866 2782 763 3 + -16.381 -13.966 23.687 -0.500 -0.268 0.824 2782 763 3 + -16.381 -14.389 23.472 -0.500 -0.509 0.701 2782 763 3 + -16.381 -14.724 23.137 -0.500 -0.701 0.509 2782 763 3 + -16.743 -12.355 22.720 -0.707 0.653 0.271 2782 763 3 + -16.743 -12.623 23.121 -0.707 0.500 0.500 2782 763 3 + -16.743 -13.024 23.389 -0.707 0.271 0.653 2782 763 3 + -16.743 -13.498 23.483 -0.707 -0.000 0.707 2782 763 3 + -16.743 -13.972 23.389 -0.707 -0.271 0.653 2782 763 3 + -16.743 -14.373 23.121 -0.707 -0.500 0.500 2782 763 3 + -17.022 -13.135 23.042 -0.866 0.208 0.455 2782 763 3 + -17.022 -13.623 23.112 -0.866 -0.071 0.495 2782 763 3 + -17.163 -14.909 21.971 -0.500 -0.701 0.509 2783 765 3 + -17.525 -12.540 21.554 -0.707 0.653 0.271 2783 765 3 + -17.525 -12.808 21.955 -0.707 0.500 0.500 2783 765 3 + -17.525 -14.558 21.955 -0.707 -0.500 0.500 2783 765 3 + -17.525 -14.826 21.554 -0.707 -0.653 0.271 2783 765 3 + -17.804 -12.947 21.553 -0.866 0.421 0.270 2783 765 3 + -17.804 -13.320 21.876 -0.866 0.208 0.455 2783 765 3 + -17.804 -13.808 21.946 -0.866 -0.071 0.495 2783 765 3 + -17.804 -14.256 21.741 -0.866 -0.327 0.378 2783 765 3 + -17.804 -14.523 21.327 -0.866 -0.480 0.141 2783 765 3 + -17.804 -14.523 20.833 -0.866 -0.480 -0.141 2783 765 3 + -17.804 -14.256 20.419 -0.866 -0.327 -0.378 2783 765 3 + -17.978 -13.230 21.080 -0.966 0.259 0.000 2783 765 3 + -17.978 -13.457 21.472 -0.966 0.129 0.224 2783 765 3 + -17.978 -13.909 21.472 -0.966 -0.129 0.224 2783 765 3 + -17.978 -14.136 21.080 -0.966 -0.259 -0.000 2783 765 3 + -17.978 -13.909 20.688 -0.966 -0.129 -0.224 2783 765 3 + -18.038 -13.683 21.080 -1.000 -0.000 -0.000 2783 765 3 + -16.555 -17.570 18.269 -0.309 -0.079 -0.948 2784 745 3 + -16.555 -17.096 18.309 -0.309 0.233 -0.922 2784 745 3 + -16.978 -17.922 18.574 -0.588 -0.310 -0.747 2784 745 3 + -16.978 -17.451 18.480 -0.588 0.000 -0.809 2784 745 3 + -16.978 -16.980 18.574 -0.588 0.310 -0.747 2784 745 3 + -16.978 -16.581 18.840 -0.588 0.572 -0.572 2784 745 3 + -17.315 -17.898 18.936 -0.809 -0.294 -0.509 2784 745 3 + -17.315 -17.451 18.817 -0.809 0.000 -0.588 2784 745 3 + -17.315 -17.004 18.936 -0.809 0.294 -0.509 2784 745 3 + -17.315 -16.677 19.263 -0.809 0.509 -0.294 2784 745 3 + -17.531 -16.981 19.710 -0.951 0.309 0.000 2784 745 3 + -17.531 -17.216 20.117 -0.951 0.155 0.268 2784 745 3 + -17.531 -17.686 20.117 -0.951 -0.155 0.268 2784 745 3 + -17.531 -17.921 19.710 -0.951 -0.309 -0.000 2784 745 3 + -17.531 -17.686 19.303 -0.951 -0.155 -0.268 2784 745 3 + -17.531 -17.216 19.303 -0.951 0.155 -0.268 2784 745 3 + -17.605 -17.451 19.710 -1.000 -0.000 -0.000 2784 745 3 + -14.256 -17.109 16.884 -0.500 -0.701 -0.509 2786 695 3 + -14.256 -16.774 16.549 -0.500 -0.509 -0.701 2786 695 3 + -14.618 -16.758 16.900 -0.707 -0.500 -0.500 2786 695 3 + -12.969 -16.397 14.177 -0.309 -0.836 -0.453 2787 694 3 + -12.969 -16.105 13.801 -0.309 -0.644 -0.700 2787 694 3 + -12.969 -15.707 13.541 -0.309 -0.382 -0.871 2787 694 3 + -13.392 -16.262 14.394 -0.588 -0.747 -0.310 2787 694 3 + -12.777 -14.279 11.684 -0.500 -0.824 -0.268 2788 665 3 + -14.736 -15.326 7.911 0.707 -0.271 0.653 2790 562 3 + -15.098 -15.320 8.209 0.500 -0.268 0.824 2790 562 3 + -15.098 -15.743 7.994 0.500 -0.509 0.701 2790 562 3 + -15.520 -15.827 8.149 0.259 -0.557 0.789 2790 562 3 + -15.973 -15.727 8.284 -0.000 -0.500 0.866 2790 562 3 + -15.973 -16.089 8.005 -0.000 -0.707 0.707 2790 562 3 + -16.426 -15.827 8.149 -0.259 -0.557 0.789 2790 562 3 + -16.426 -16.163 7.835 -0.259 -0.749 0.610 2790 562 3 + -16.848 -16.078 7.659 -0.500 -0.701 0.509 2790 562 3 + -16.848 -16.293 7.236 -0.500 -0.824 0.268 2790 562 3 + -16.848 -15.743 5.542 -0.500 -0.509 -0.701 2790 562 3 + -16.848 -15.320 5.327 -0.500 -0.268 -0.824 2790 562 3 + -17.210 -15.727 7.643 -0.707 -0.500 0.500 2790 562 3 + -17.210 -15.995 7.242 -0.707 -0.653 0.271 2790 562 3 + -17.210 -16.089 6.768 -0.707 -0.707 -0.000 2790 562 3 + -17.210 -15.995 6.294 -0.707 -0.653 -0.271 2790 562 3 + -17.210 -15.727 5.893 -0.707 -0.500 -0.500 2790 562 3 + -17.210 -15.326 5.625 -0.707 -0.271 -0.653 2790 562 3 + -17.210 -14.852 5.531 -0.707 0.000 -0.707 2790 562 3 + -17.489 -15.425 7.429 -0.866 -0.327 0.378 2790 562 3 + -17.489 -15.692 7.015 -0.866 -0.480 0.141 2790 562 3 + -17.489 -15.692 6.521 -0.866 -0.480 -0.141 2790 562 3 + -17.489 -15.425 6.107 -0.866 -0.327 -0.378 2790 562 3 + -17.489 -14.977 5.902 -0.866 -0.071 -0.495 2790 562 3 + -17.663 -14.399 6.768 -0.966 0.259 0.000 2790 562 3 + -17.663 -15.078 7.160 -0.966 -0.129 0.224 2790 562 3 + -17.663 -15.305 6.768 -0.966 -0.259 -0.000 2790 562 3 + -17.663 -15.078 6.376 -0.966 -0.129 -0.224 2790 562 3 + -17.663 -14.626 6.376 -0.966 0.129 -0.224 2790 562 3 + -17.723 -14.852 6.768 -1.000 -0.000 -0.000 2790 562 3 + -16.709 -11.005 5.902 -0.500 0.866 0.000 2791 561 3 + -16.709 -12.989 4.461 -0.500 -0.268 -0.824 2791 561 3 + -16.709 -12.521 4.386 -0.500 0.000 -0.866 2791 561 3 + -16.709 -12.053 4.461 -0.500 0.268 -0.824 2791 561 3 + -16.709 -11.080 5.434 -0.500 0.824 -0.268 2791 561 3 + -17.071 -11.284 5.902 -0.707 0.707 0.000 2791 561 3 + -17.071 -12.995 4.759 -0.707 -0.271 -0.653 2791 561 3 + -17.071 -12.521 4.665 -0.707 0.000 -0.707 2791 561 3 + -17.071 -12.047 4.759 -0.707 0.271 -0.653 2791 561 3 + -17.071 -11.646 5.027 -0.707 0.500 -0.500 2791 561 3 + -17.071 -11.378 5.428 -0.707 0.653 -0.271 2791 561 3 + -17.350 -11.646 5.902 -0.866 0.500 0.000 2791 561 3 + -17.350 -13.094 5.241 -0.866 -0.327 -0.378 2791 561 3 + -17.350 -12.646 5.036 -0.866 -0.071 -0.495 2791 561 3 + -17.350 -12.158 5.106 -0.866 0.208 -0.455 2791 561 3 + -17.350 -11.785 5.429 -0.866 0.421 -0.270 2791 561 3 + -17.524 -12.068 5.902 -0.966 0.259 0.000 2791 561 3 + -17.524 -12.295 6.294 -0.966 0.129 0.224 2791 561 3 + -17.524 -12.747 6.294 -0.966 -0.129 0.224 2791 561 3 + -17.524 -12.747 5.510 -0.966 -0.129 -0.224 2791 561 3 + -17.524 -12.295 5.510 -0.966 0.129 -0.224 2791 561 3 + -17.584 -12.521 5.902 -1.000 -0.000 -0.000 2791 561 3 + -15.740 -9.031 7.068 -0.966 0.129 -0.224 2792 581 3 + -14.777 -7.457 5.666 -0.707 0.500 -0.500 2793 579 3 + -15.056 -7.457 6.541 -0.866 0.500 0.000 2793 579 3 + -15.056 -7.969 5.745 -0.866 0.208 -0.455 2793 579 3 + -15.056 -7.596 6.068 -0.866 0.421 -0.270 2793 579 3 + -14.713 -4.817 6.893 -0.866 -0.480 0.141 2794 617 3 + -13.766 -0.923 6.105 -0.000 1.000 0.000 2795 618 3 + -13.766 -0.983 6.558 -0.000 0.966 0.259 2795 618 3 + -13.766 -1.157 6.980 -0.000 0.866 0.500 2795 618 3 + -14.219 -0.983 6.105 -0.259 0.966 0.000 2795 618 3 + -14.219 -1.045 6.561 -0.259 0.930 0.261 2795 618 3 + -14.219 -1.229 6.983 -0.259 0.825 0.502 2795 618 3 + -14.219 -1.519 7.340 -0.259 0.659 0.706 2795 618 3 + -14.641 -1.157 6.105 -0.500 0.866 0.000 2795 618 3 + -14.641 -1.232 6.573 -0.500 0.824 0.268 2795 618 3 + -14.641 -1.447 6.996 -0.500 0.701 0.509 2795 618 3 + -14.641 -1.782 7.331 -0.500 0.509 0.701 2795 618 3 + -15.003 -1.436 6.105 -0.707 0.707 0.000 2795 618 3 + -15.003 -1.530 6.579 -0.707 0.653 0.271 2795 618 3 + -15.003 -1.798 6.980 -0.707 0.500 0.500 2795 618 3 + -15.003 -2.199 7.248 -0.707 0.271 0.653 2795 618 3 + -15.003 -2.673 7.342 -0.707 -0.000 0.707 2795 618 3 + -15.282 -1.937 6.578 -0.866 0.421 0.270 2795 618 3 + -15.282 -2.310 6.901 -0.866 0.208 0.455 2795 618 3 + -15.282 -2.798 6.971 -0.866 -0.071 0.495 2795 618 3 + -15.282 -3.246 6.766 -0.866 -0.327 0.378 2795 618 3 + -12.061 0.959 9.051 -0.966 0.129 -0.224 2798 610 3 + -9.327 4.901 12.160 -0.000 0.966 -0.259 2800 33 3 + -9.780 4.901 12.613 -0.259 0.966 0.000 2800 33 3 + -9.780 4.839 12.157 -0.259 0.930 -0.261 2800 33 3 + -10.202 4.727 12.613 -0.500 0.866 0.000 2800 33 3 + -10.202 4.652 13.081 -0.500 0.824 0.268 2800 33 3 + -10.202 4.437 13.504 -0.500 0.701 0.509 2800 33 3 + -10.202 4.102 13.839 -0.500 0.509 0.701 2800 33 3 + -10.202 3.679 14.054 -0.500 0.268 0.824 2800 33 3 + -10.202 2.743 14.054 -0.500 -0.268 0.824 2800 33 3 + -10.202 2.320 13.839 -0.500 -0.509 0.701 2800 33 3 + -10.202 4.437 11.722 -0.500 0.701 -0.509 2800 33 3 + -10.202 4.652 12.145 -0.500 0.824 -0.268 2800 33 3 + -10.564 4.448 12.613 -0.707 0.707 0.000 2800 33 3 + -10.564 4.354 13.087 -0.707 0.653 0.271 2800 33 3 + -10.564 4.086 13.488 -0.707 0.500 0.500 2800 33 3 + -10.564 3.685 13.756 -0.707 0.271 0.653 2800 33 3 + -10.564 3.211 13.850 -0.707 -0.000 0.707 2800 33 3 + -10.564 2.737 13.756 -0.707 -0.271 0.653 2800 33 3 + -10.564 4.086 11.738 -0.707 0.500 -0.500 2800 33 3 + -10.564 4.354 12.139 -0.707 0.653 -0.271 2800 33 3 + -10.843 4.086 12.613 -0.866 0.500 0.000 2800 33 3 + -10.843 3.947 13.086 -0.866 0.421 0.270 2800 33 3 + -10.843 3.574 13.409 -0.866 0.208 0.455 2800 33 3 + -10.843 3.086 13.479 -0.866 -0.071 0.495 2800 33 3 + -10.843 2.638 13.274 -0.866 -0.327 0.378 2800 33 3 + -10.843 3.947 12.140 -0.866 0.421 -0.270 2800 33 3 + -11.017 3.664 12.613 -0.966 0.259 0.000 2800 33 3 + -11.017 3.437 13.005 -0.966 0.129 0.224 2800 33 3 + -11.017 2.985 13.005 -0.966 -0.129 0.224 2800 33 3 + -11.017 3.437 12.221 -0.966 0.129 -0.224 2800 33 3 + -11.077 3.211 12.613 -1.000 -0.000 -0.000 2800 33 3 + -10.531 0.201 16.702 -0.309 0.951 0.000 2802 677 3 + -10.531 0.121 16.223 -0.309 0.900 -0.309 2802 677 3 + -9.546 2.420 19.946 -0.000 1.000 0.000 2803 792 3 + -9.546 2.352 20.394 -0.000 0.956 0.295 2803 792 3 + -9.546 2.156 20.802 -0.000 0.826 0.563 2803 792 3 + -9.546 1.848 21.134 -0.000 0.623 0.782 2803 792 3 + -10.016 2.346 19.946 -0.309 0.951 0.000 2803 792 3 + -10.016 2.267 20.415 -0.309 0.900 0.309 2803 792 3 + -10.016 2.041 20.834 -0.309 0.751 0.584 2803 792 3 + -10.016 1.691 21.156 -0.309 0.520 0.796 2803 792 3 + -10.016 1.691 18.736 -0.309 0.520 -0.796 2803 792 3 + -10.016 2.041 19.058 -0.309 0.751 -0.584 2803 792 3 + -10.016 2.267 19.477 -0.309 0.900 -0.309 2803 792 3 + -10.439 2.130 19.946 -0.588 0.809 0.000 2803 792 3 + -10.439 2.036 20.417 -0.588 0.747 0.310 2803 792 3 + -10.439 1.770 20.816 -0.588 0.572 0.572 2803 792 3 + -10.439 1.371 21.082 -0.588 0.310 0.747 2803 792 3 + -10.439 0.900 21.176 -0.588 -0.000 0.809 2803 792 3 + -10.439 1.770 19.076 -0.588 0.572 -0.572 2803 792 3 + -10.439 2.036 19.475 -0.588 0.747 -0.310 2803 792 3 + -10.776 1.793 19.946 -0.809 0.588 0.000 2803 792 3 + -10.776 1.674 20.393 -0.809 0.509 0.294 2803 792 3 + -10.776 1.347 20.720 -0.809 0.294 0.509 2803 792 3 + -10.776 0.900 20.839 -0.809 -0.000 0.588 2803 792 3 + -10.776 0.453 20.720 -0.809 -0.294 0.509 2803 792 3 + -10.776 1.347 19.172 -0.809 0.294 -0.509 2803 792 3 + -10.776 1.674 19.499 -0.809 0.509 -0.294 2803 792 3 + -10.992 1.370 19.946 -0.951 0.309 0.000 2803 792 3 + -10.992 1.135 20.353 -0.951 0.155 0.268 2803 792 3 + -10.992 0.665 20.353 -0.951 -0.155 0.268 2803 792 3 + -10.992 1.135 19.539 -0.951 0.155 -0.268 2803 792 3 + -11.066 0.900 19.946 -1.000 -0.000 -0.000 2803 792 3 + -11.241 -3.591 23.054 -0.500 0.866 0.000 2807 778 3 + -11.603 -3.870 23.054 -0.707 0.707 0.000 2807 778 3 + -11.603 -3.964 22.580 -0.707 0.653 -0.271 2807 778 3 + -11.882 -4.232 23.054 -0.866 0.500 0.000 2807 778 3 + -11.882 -4.371 22.581 -0.866 0.421 -0.270 2807 778 3 + -12.056 -4.654 23.054 -0.966 0.259 0.000 2807 778 3 + -12.056 -4.881 23.446 -0.966 0.129 0.224 2807 778 3 + -12.056 -5.333 23.446 -0.966 -0.129 0.224 2807 778 3 + -12.056 -5.560 23.054 -0.966 -0.259 -0.000 2807 778 3 + -12.056 -4.881 22.662 -0.966 0.129 -0.224 2807 778 3 + -12.116 -5.107 23.054 -1.000 -0.000 -0.000 2807 778 3 + -12.425 -15.014 24.270 -0.309 0.520 0.796 2810 741 3 + -12.425 -15.450 24.461 -0.309 0.233 0.922 2810 741 3 + -12.425 -15.924 24.501 -0.309 -0.079 0.948 2810 741 3 + -12.425 -16.386 24.384 -0.309 -0.382 0.871 2810 741 3 + -12.848 -15.334 24.196 -0.588 0.310 0.747 2810 741 3 + -12.848 -15.805 24.290 -0.588 -0.000 0.809 2810 741 3 + -13.747 -17.987 23.761 0.259 -0.323 0.910 2811 742 3 + -13.747 -18.396 23.549 0.259 -0.557 0.789 2811 742 3 + -14.200 -17.421 23.918 -0.000 -0.000 1.000 2811 742 3 + -14.200 -17.874 23.858 -0.000 -0.259 0.966 2811 742 3 + -14.200 -18.296 23.684 -0.000 -0.500 0.866 2811 742 3 + -14.653 -16.643 23.669 -0.259 0.444 0.858 2811 742 3 + -14.653 -17.077 23.823 -0.259 0.197 0.946 2811 742 3 + -14.653 -17.536 23.854 -0.259 -0.066 0.964 2811 742 3 + -14.653 -17.987 23.761 -0.259 -0.323 0.910 2811 742 3 + -15.075 -16.953 23.609 -0.500 0.268 0.824 2811 742 3 + -15.075 -17.421 23.684 -0.500 -0.000 0.866 2811 742 3 + -15.437 -16.947 23.311 -0.707 0.271 0.653 2811 742 3 + -14.701 -19.497 23.053 0.259 -0.557 0.789 2812 743 3 + -14.701 -19.833 22.739 0.259 -0.749 0.610 2812 743 3 + -14.701 -20.072 22.345 0.259 -0.886 0.385 2812 743 3 + -14.701 -20.197 21.902 0.259 -0.957 0.132 2812 743 3 + -15.154 -19.397 23.188 -0.000 -0.500 0.866 2812 743 3 + -15.154 -19.759 22.909 -0.000 -0.707 0.707 2812 743 3 + -15.154 -20.038 22.547 -0.000 -0.866 0.500 2812 743 3 + -15.154 -20.212 22.125 -0.000 -0.966 0.259 2812 743 3 + -15.607 -18.637 23.358 -0.259 -0.066 0.964 2812 743 3 + -15.607 -19.088 23.265 -0.259 -0.323 0.910 2812 743 3 + -15.607 -19.497 23.053 -0.259 -0.557 0.789 2812 743 3 + -15.607 -19.833 22.739 -0.259 -0.749 0.610 2812 743 3 + -15.607 -20.072 22.345 -0.259 -0.886 0.385 2812 743 3 + -15.607 -20.197 21.902 -0.259 -0.957 0.132 2812 743 3 + -16.029 -18.522 23.188 -0.500 -0.000 0.866 2812 743 3 + -16.029 -18.990 23.113 -0.500 -0.268 0.824 2812 743 3 + -16.029 -19.413 22.898 -0.500 -0.509 0.701 2812 743 3 + -16.029 -19.748 22.563 -0.500 -0.701 0.509 2812 743 3 + -16.029 -19.963 22.140 -0.500 -0.824 0.268 2812 743 3 + -16.029 -20.038 21.672 -0.500 -0.866 -0.000 2812 743 3 + -16.391 -17.647 22.547 -0.707 0.500 0.500 2812 743 3 + -16.391 -18.048 22.815 -0.707 0.271 0.653 2812 743 3 + -16.391 -18.522 22.909 -0.707 -0.000 0.707 2812 743 3 + -16.391 -18.996 22.815 -0.707 -0.271 0.653 2812 743 3 + -16.391 -19.397 22.547 -0.707 -0.500 0.500 2812 743 3 + -16.391 -19.665 22.146 -0.707 -0.653 0.271 2812 743 3 + -16.670 -17.786 22.145 -0.866 0.421 0.270 2812 743 3 + -16.670 -18.159 22.468 -0.866 0.208 0.455 2812 743 3 + -16.670 -18.647 22.538 -0.866 -0.071 0.495 2812 743 3 + -16.670 -19.095 22.333 -0.866 -0.327 0.378 2812 743 3 + -16.670 -19.362 21.919 -0.866 -0.480 0.141 2812 743 3 + -16.844 -18.296 22.064 -0.966 0.129 0.224 2812 743 3 + -16.844 -18.748 22.064 -0.966 -0.129 0.224 2812 743 3 + -16.999 -19.268 20.424 -0.866 -0.480 0.141 2813 744 3 + -16.999 -19.268 19.930 -0.866 -0.480 -0.141 2813 744 3 + -14.605 -20.747 20.125 0.309 -0.836 0.453 2814 746 3 + -15.084 -20.848 20.096 -0.000 -0.901 0.434 2814 746 3 + -15.084 -20.984 19.654 -0.000 -0.989 0.149 2814 746 3 + -15.563 -20.747 20.125 -0.309 -0.836 0.453 2814 746 3 + -15.563 -20.905 19.666 -0.309 -0.938 0.157 2814 746 3 + -15.563 -20.905 19.180 -0.309 -0.938 -0.157 2814 746 3 + -15.563 -20.747 18.721 -0.309 -0.836 -0.453 2814 746 3 + -15.563 -20.449 18.338 -0.309 -0.644 -0.700 2814 746 3 + -15.563 -20.043 18.073 -0.309 -0.382 -0.871 2814 746 3 + -15.563 -19.573 17.954 -0.309 -0.079 -0.948 2814 746 3 + -15.563 -19.089 17.994 -0.309 0.233 -0.922 2814 746 3 + -15.995 -20.610 19.903 -0.588 -0.747 0.310 2814 746 3 + -15.995 -20.705 19.423 -0.588 -0.809 -0.000 2814 746 3 + -15.995 -20.610 18.943 -0.588 -0.747 -0.310 2814 746 3 + -15.995 -20.338 18.536 -0.588 -0.572 -0.572 2814 746 3 + -15.995 -19.931 18.264 -0.588 -0.310 -0.747 2814 746 3 + -15.995 -19.451 18.169 -0.588 0.000 -0.809 2814 746 3 + -16.338 -20.362 19.423 -0.809 -0.588 -0.000 2814 746 3 + -16.338 -20.240 18.967 -0.809 -0.509 -0.294 2814 746 3 + -16.338 -19.907 18.634 -0.809 -0.294 -0.509 2814 746 3 + -12.847 -18.575 15.645 -0.809 0.000 -0.588 2815 707 3 + -13.063 -18.810 16.131 -0.951 -0.155 -0.268 2815 707 3 + -11.537 -17.355 11.310 -0.866 -0.327 0.378 2818 541 3 + -11.711 -16.556 11.041 -0.966 0.129 0.224 2818 541 3 + -11.711 -17.008 11.041 -0.966 -0.129 0.224 2818 541 3 + -11.771 -16.782 10.649 -1.000 -0.000 -0.000 2818 541 3 + -13.795 -14.259 7.359 0.707 -0.271 0.653 2821 560 3 + -14.107 -19.599 7.181 0.259 -0.557 0.789 2823 555 3 + -14.560 -18.171 7.490 -0.000 0.259 0.966 2823 555 3 + -14.560 -18.624 7.550 -0.000 -0.000 1.000 2823 555 3 + -14.560 -19.077 7.490 -0.000 -0.259 0.966 2823 555 3 + -14.560 -19.499 7.316 -0.000 -0.500 0.866 2823 555 3 + -14.560 -19.861 7.037 -0.000 -0.707 0.707 2823 555 3 + -15.013 -18.280 7.455 -0.259 0.197 0.946 2823 555 3 + -15.013 -18.739 7.486 -0.259 -0.066 0.964 2823 555 3 + -15.013 -19.190 7.393 -0.259 -0.323 0.910 2823 555 3 + -15.013 -19.599 7.181 -0.259 -0.557 0.789 2823 555 3 + -15.013 -19.935 6.867 -0.259 -0.749 0.610 2823 555 3 + -15.013 -20.174 6.473 -0.259 -0.886 0.385 2823 555 3 + -15.435 -18.624 7.316 -0.500 -0.000 0.866 2823 555 3 + -15.435 -19.092 7.241 -0.500 -0.268 0.824 2823 555 3 + -15.435 -19.515 7.026 -0.500 -0.509 0.701 2823 555 3 + -15.435 -19.850 6.691 -0.500 -0.701 0.509 2823 555 3 + -15.435 -20.065 6.268 -0.500 -0.824 0.268 2823 555 3 + -15.435 -20.140 5.800 -0.500 -0.866 -0.000 2823 555 3 + -15.797 -18.624 7.037 -0.707 -0.000 0.707 2823 555 3 + -15.797 -19.098 6.943 -0.707 -0.271 0.653 2823 555 3 + -15.797 -19.499 6.675 -0.707 -0.500 0.500 2823 555 3 + -15.797 -19.767 6.274 -0.707 -0.653 0.271 2823 555 3 + -15.797 -19.861 5.800 -0.707 -0.707 -0.000 2823 555 3 + -15.797 -19.767 5.326 -0.707 -0.653 -0.271 2823 555 3 + -15.797 -19.499 4.925 -0.707 -0.500 -0.500 2823 555 3 + -15.797 -19.098 4.657 -0.707 -0.271 -0.653 2823 555 3 + -15.797 -18.624 4.563 -0.707 0.000 -0.707 2823 555 3 + -15.797 -18.150 4.657 -0.707 0.271 -0.653 2823 555 3 + -16.076 -18.749 6.666 -0.866 -0.071 0.495 2823 555 3 + -16.076 -19.197 6.461 -0.866 -0.327 0.378 2823 555 3 + -16.076 -19.464 6.047 -0.866 -0.480 0.141 2823 555 3 + -16.076 -19.464 5.553 -0.866 -0.480 -0.141 2823 555 3 + -16.076 -19.197 5.139 -0.866 -0.327 -0.378 2823 555 3 + -16.076 -18.749 4.934 -0.866 -0.071 -0.495 2823 555 3 + -16.076 -18.261 5.004 -0.866 0.208 -0.455 2823 555 3 + -16.250 -18.398 6.192 -0.966 0.129 0.224 2823 555 3 + -16.250 -18.850 6.192 -0.966 -0.129 0.224 2823 555 3 + -16.250 -19.077 5.800 -0.966 -0.259 -0.000 2823 555 3 + -16.250 -18.850 5.408 -0.966 -0.129 -0.224 2823 555 3 + -16.250 -18.398 5.408 -0.966 0.129 -0.224 2823 555 3 + -16.310 -18.624 5.800 -1.000 -0.000 -0.000 2823 555 3 + -15.528 -15.190 4.063 -0.707 -0.500 -0.500 2824 557 3 + -15.528 -14.789 3.795 -0.707 -0.271 -0.653 2824 557 3 + -15.528 -14.315 3.701 -0.707 0.000 -0.707 2824 557 3 + -14.855 -13.098 2.525 -0.809 -0.294 -0.509 2825 563 3 + -14.791 -9.126 2.053 -0.309 0.520 -0.796 2826 566 3 + -15.214 -8.687 3.263 -0.588 0.809 0.000 2826 566 3 + -15.214 -9.917 2.033 -0.588 0.000 -0.809 2826 566 3 + -15.214 -9.446 2.127 -0.588 0.310 -0.747 2826 566 3 + -15.214 -9.047 2.393 -0.588 0.572 -0.572 2826 566 3 + -15.214 -8.781 2.792 -0.588 0.747 -0.310 2826 566 3 + -15.551 -9.024 3.263 -0.809 0.588 0.000 2826 566 3 + -15.551 -9.143 3.710 -0.809 0.509 0.294 2826 566 3 + -15.551 -9.470 4.037 -0.809 0.294 0.509 2826 566 3 + -15.551 -10.691 2.816 -0.809 -0.509 -0.294 2826 566 3 + -15.551 -10.364 2.489 -0.809 -0.294 -0.509 2826 566 3 + -15.551 -9.917 2.370 -0.809 0.000 -0.588 2826 566 3 + -15.551 -9.470 2.489 -0.809 0.294 -0.509 2826 566 3 + -15.551 -9.143 2.816 -0.809 0.509 -0.294 2826 566 3 + -15.767 -9.447 3.263 -0.951 0.309 0.000 2826 566 3 + -15.767 -9.682 3.670 -0.951 0.155 0.268 2826 566 3 + -15.767 -10.152 2.856 -0.951 -0.155 -0.268 2826 566 3 + -15.767 -9.682 2.856 -0.951 0.155 -0.268 2826 566 3 + -15.841 -9.917 3.263 -1.000 -0.000 -0.000 2826 566 3 + -15.604 -4.428 4.424 -0.309 -0.938 0.157 2828 620 3 + -15.604 -4.428 3.948 -0.309 -0.938 -0.157 2828 620 3 + -15.604 -2.211 2.976 -0.309 0.520 -0.796 2828 620 3 + -15.604 -1.861 3.298 -0.309 0.751 -0.584 2828 620 3 + -15.604 -1.635 3.717 -0.309 0.900 -0.309 2828 620 3 + -16.027 -1.772 4.186 -0.588 0.809 0.000 2828 620 3 + -16.027 -1.866 4.657 -0.588 0.747 0.310 2828 620 3 + -16.027 -3.872 5.056 -0.588 -0.572 0.572 2828 620 3 + -16.027 -4.138 4.657 -0.588 -0.747 0.310 2828 620 3 + -16.027 -4.232 4.186 -0.588 -0.809 -0.000 2828 620 3 + -16.027 -4.138 3.715 -0.588 -0.747 -0.310 2828 620 3 + -16.027 -2.132 3.316 -0.588 0.572 -0.572 2828 620 3 + -16.027 -1.866 3.715 -0.588 0.747 -0.310 2828 620 3 + -16.364 -2.109 4.186 -0.809 0.588 0.000 2828 620 3 + -16.364 -2.228 4.633 -0.809 0.509 0.294 2828 620 3 + -16.364 -2.555 4.960 -0.809 0.294 0.509 2828 620 3 + -16.364 -3.002 5.079 -0.809 -0.000 0.588 2828 620 3 + -16.364 -3.449 4.960 -0.809 -0.294 0.509 2828 620 3 + -16.364 -3.776 4.633 -0.809 -0.509 0.294 2828 620 3 + -16.364 -3.895 4.186 -0.809 -0.588 -0.000 2828 620 3 + -16.364 -3.776 3.739 -0.809 -0.509 -0.294 2828 620 3 + -16.364 -3.449 3.412 -0.809 -0.294 -0.509 2828 620 3 + -16.364 -3.002 3.293 -0.809 0.000 -0.588 2828 620 3 + -16.364 -2.555 3.412 -0.809 0.294 -0.509 2828 620 3 + -16.364 -2.228 3.739 -0.809 0.509 -0.294 2828 620 3 + -16.580 -2.532 4.186 -0.951 0.309 0.000 2828 620 3 + -16.580 -2.767 4.593 -0.951 0.155 0.268 2828 620 3 + -16.580 -3.237 4.593 -0.951 -0.155 0.268 2828 620 3 + -16.580 -3.472 4.186 -0.951 -0.309 -0.000 2828 620 3 + -16.580 -3.237 3.779 -0.951 -0.155 -0.268 2828 620 3 + -16.580 -2.767 3.779 -0.951 0.155 -0.268 2828 620 3 + -16.654 -3.002 4.186 -1.000 -0.000 -0.000 2828 620 3 + -14.000 -0.958 4.606 -0.000 1.000 0.000 2829 619 3 + -14.453 -1.018 4.606 -0.259 0.966 0.000 2829 619 3 + -14.453 -1.080 4.150 -0.259 0.930 -0.261 2829 619 3 + -13.047 -0.918 3.845 -0.000 1.000 0.000 2830 621 3 + -13.047 -1.182 2.989 -0.000 0.826 -0.563 2830 621 3 + -13.047 -0.986 3.397 -0.000 0.956 -0.295 2830 621 3 + -13.517 -1.297 2.957 -0.309 0.751 -0.584 2830 621 3 + -13.517 -1.071 3.376 -0.309 0.900 -0.309 2830 621 3 + -11.278 -0.507 5.136 -0.309 0.951 0.000 2831 596 3 + -8.393 0.193 7.589 0.866 0.250 -0.433 2832 609 3 + -8.393 0.513 7.910 0.866 0.433 -0.250 2832 609 3 + -8.672 0.229 7.204 0.707 0.271 -0.653 2832 609 3 + -8.672 0.630 7.472 0.707 0.500 -0.500 2832 609 3 + -9.034 0.646 7.121 0.500 0.509 -0.701 2832 609 3 + -9.456 0.909 7.112 0.259 0.659 -0.706 2832 609 3 + -10.784 0.646 7.121 -0.500 0.509 -0.701 2832 609 3 + -9.161 2.388 8.441 0.809 0.294 -0.509 2833 611 3 + -9.498 2.412 8.079 0.588 0.310 -0.747 2833 611 3 + -9.498 2.811 8.345 0.588 0.572 -0.572 2833 611 3 + -9.921 2.732 8.005 0.309 0.520 -0.796 2833 611 3 + -9.921 3.082 8.327 0.309 0.751 -0.584 2833 611 3 + -9.921 3.308 8.746 0.309 0.900 -0.309 2833 611 3 + -10.391 2.496 7.800 -0.000 0.365 -0.931 2833 611 3 + -10.391 2.889 8.027 -0.000 0.623 -0.782 2833 611 3 + -10.391 3.197 8.359 -0.000 0.826 -0.563 2833 611 3 + -10.391 3.393 8.767 -0.000 0.956 -0.295 2833 611 3 + -10.861 3.387 9.215 -0.309 0.951 0.000 2833 611 3 + -10.861 2.296 7.814 -0.309 0.233 -0.922 2833 611 3 + -10.861 2.732 8.005 -0.309 0.520 -0.796 2833 611 3 + -10.861 3.082 8.327 -0.309 0.751 -0.584 2833 611 3 + -10.861 3.308 8.746 -0.309 0.900 -0.309 2833 611 3 + -11.284 3.171 9.215 -0.588 0.809 0.000 2833 611 3 + -11.284 3.077 9.686 -0.588 0.747 0.310 2833 611 3 + -11.284 2.412 8.079 -0.588 0.310 -0.747 2833 611 3 + -11.284 2.811 8.345 -0.588 0.572 -0.572 2833 611 3 + -11.284 3.077 8.744 -0.588 0.747 -0.310 2833 611 3 + -11.621 2.834 9.215 -0.809 0.588 0.000 2833 611 3 + -11.621 2.715 9.662 -0.809 0.509 0.294 2833 611 3 + -11.621 2.388 8.441 -0.809 0.294 -0.509 2833 611 3 + -11.621 2.715 8.768 -0.809 0.509 -0.294 2833 611 3 + -11.837 2.411 9.215 -0.951 0.309 0.000 2833 611 3 + -11.837 2.176 8.808 -0.951 0.155 -0.268 2833 611 3 + -8.789 4.039 10.204 -0.000 0.623 -0.782 2834 34 3 + -8.789 4.354 10.543 -0.000 0.826 -0.563 2834 34 3 + -8.789 4.554 10.959 -0.000 0.956 -0.295 2834 34 3 + -9.268 4.236 10.511 -0.309 0.751 -0.584 2834 34 3 + -5.912 2.510 10.794 0.866 -0.250 -0.433 2835 32 3 + -5.912 2.948 10.677 0.866 0.000 -0.500 2835 32 3 + -5.912 3.385 10.794 0.866 0.250 -0.433 2835 32 3 + -6.191 2.948 10.315 0.707 0.000 -0.707 2835 32 3 + -6.191 3.422 10.409 0.707 0.271 -0.653 2835 32 3 + -6.191 3.823 10.677 0.707 0.500 -0.500 2835 32 3 + -6.191 4.091 11.078 0.707 0.653 -0.271 2835 32 3 + -6.553 2.480 10.111 0.500 -0.268 -0.824 2835 32 3 + -6.553 2.948 10.036 0.500 0.000 -0.866 2835 32 3 + -6.553 3.416 10.111 0.500 0.268 -0.824 2835 32 3 + -6.553 3.839 10.326 0.500 0.509 -0.701 2835 32 3 + -6.553 4.174 10.661 0.500 0.701 -0.509 2835 32 3 + -6.553 4.389 11.084 0.500 0.824 -0.268 2835 32 3 + -6.975 2.382 9.959 0.259 -0.323 -0.910 2835 32 3 + -6.975 2.833 9.866 0.259 -0.066 -0.964 2835 32 3 + -6.975 3.292 9.897 0.259 0.197 -0.946 2835 32 3 + -6.975 3.726 10.051 0.259 0.444 -0.858 2835 32 3 + -6.975 4.102 10.317 0.259 0.659 -0.706 2835 32 3 + -6.975 4.392 10.674 0.259 0.825 -0.502 2835 32 3 + -6.975 4.576 11.096 0.259 0.930 -0.261 2835 32 3 + -7.428 3.401 9.862 -0.000 0.259 -0.966 2835 32 3 + -7.428 3.823 10.036 -0.000 0.500 -0.866 2835 32 3 + -7.428 4.185 10.315 -0.000 0.707 -0.707 2835 32 3 + -7.428 4.464 10.677 -0.000 0.866 -0.500 2835 32 3 + -7.428 4.638 11.099 -0.000 0.966 -0.259 2835 32 3 + -7.875 7.562 13.020 -0.000 -0.500 -0.866 2837 12 3 + -7.875 7.984 12.854 -0.000 -0.223 -0.975 2837 12 3 + -7.875 8.436 12.820 -0.000 0.075 -0.997 2837 12 3 + -7.875 8.877 12.921 -0.000 0.365 -0.931 2837 12 3 + -8.345 7.741 13.012 -0.309 -0.382 -0.871 2837 12 3 + -8.345 8.203 12.895 -0.309 -0.079 -0.948 2837 12 3 + -8.768 7.186 14.807 -0.588 -0.747 0.310 2837 12 3 + -8.768 7.851 13.200 -0.588 -0.310 -0.747 2837 12 3 + -9.105 7.429 14.336 -0.809 -0.588 -0.000 2837 12 3 + -9.270 3.179 14.764 -0.588 -0.000 0.809 2838 31 3 + -7.259 4.488 18.408 -0.500 0.701 0.509 2841 41 3 + -7.621 4.405 17.991 -0.707 0.653 0.271 2841 41 3 + -7.900 4.137 17.517 -0.866 0.500 0.000 2841 41 3 + -7.900 3.998 17.990 -0.866 0.421 0.270 2841 41 3 + -7.900 3.998 17.044 -0.866 0.421 -0.270 2841 41 3 + -8.074 3.715 17.517 -0.966 0.259 0.000 2841 41 3 + -8.074 3.488 17.125 -0.966 0.129 -0.224 2841 41 3 + -7.133 3.733 19.713 -0.500 0.701 0.509 2842 40 3 + -6.507 4.072 22.397 -0.809 0.509 -0.294 2843 818 3 + -6.727 3.522 22.438 -0.951 0.155 -0.268 2843 818 3 + -6.803 3.283 22.853 -1.000 -0.000 -0.000 2843 818 3 + -8.519 1.113 22.205 -0.259 0.825 0.502 2844 789 3 + -8.519 0.823 22.562 -0.259 0.659 0.706 2844 789 3 + -8.519 0.447 22.828 -0.259 0.444 0.858 2844 789 3 + -8.941 0.560 22.553 -0.500 0.509 0.701 2844 789 3 + -8.941 0.137 22.768 -0.500 0.268 0.824 2844 789 3 + -9.303 0.143 22.470 -0.707 0.271 0.653 2844 789 3 + -9.303 -0.331 22.564 -0.707 -0.000 0.707 2844 789 3 + -9.582 -0.456 22.193 -0.866 -0.071 0.495 2844 789 3 + -7.922 -1.303 24.629 -0.588 0.572 0.572 2845 788 3 + -7.922 -1.702 24.895 -0.588 0.310 0.747 2845 788 3 + -8.259 -1.726 24.533 -0.809 0.294 0.509 2845 788 3 + -11.528 -7.257 25.363 -0.707 -0.707 -0.000 2847 780 3 + -11.528 -7.163 24.889 -0.707 -0.653 -0.271 2847 780 3 + -11.807 -6.860 25.610 -0.866 -0.480 0.141 2847 780 3 + -11.807 -6.860 25.116 -0.866 -0.480 -0.141 2847 780 3 + -11.981 -6.473 25.363 -0.966 -0.259 -0.000 2847 780 3 + -11.981 -6.246 24.971 -0.966 -0.129 -0.224 2847 780 3 + -9.876 -9.169 26.346 -0.809 -0.000 0.588 2848 218 3 + -9.876 -9.616 26.227 -0.809 -0.294 0.509 2848 218 3 + -9.876 -10.062 25.453 -0.809 -0.588 -0.000 2848 218 3 + -10.092 -9.404 25.860 -0.951 -0.155 0.268 2848 218 3 + -10.092 -9.639 25.453 -0.951 -0.309 -0.000 2848 218 3 + -9.523 -15.443 26.363 -0.500 -0.000 0.866 2853 380 3 + -9.885 -14.300 25.321 -0.707 0.653 0.271 2853 380 3 + -9.885 -14.568 25.722 -0.707 0.500 0.500 2853 380 3 + -9.885 -14.969 25.990 -0.707 0.271 0.653 2853 380 3 + -10.164 -15.080 25.643 -0.866 0.208 0.455 2853 380 3 + -8.791 -16.849 26.649 -0.000 -0.000 1.000 2854 381 3 + -8.791 -17.302 26.589 -0.000 -0.259 0.966 2854 381 3 + -9.244 -16.964 26.585 -0.259 -0.066 0.964 2854 381 3 + -9.244 -17.415 26.492 -0.259 -0.323 0.910 2854 381 3 + -9.244 -17.824 26.280 -0.259 -0.557 0.789 2854 381 3 + -9.666 -16.849 26.415 -0.500 -0.000 0.866 2854 381 3 + -9.666 -17.317 26.340 -0.500 -0.268 0.824 2854 381 3 + -9.666 -17.740 26.125 -0.500 -0.509 0.701 2854 381 3 + -9.666 -18.075 25.790 -0.500 -0.701 0.509 2854 381 3 + -9.666 -18.290 25.367 -0.500 -0.824 0.268 2854 381 3 + -10.028 -16.849 26.136 -0.707 -0.000 0.707 2854 381 3 + -10.028 -17.323 26.042 -0.707 -0.271 0.653 2854 381 3 + -10.028 -17.724 25.774 -0.707 -0.500 0.500 2854 381 3 + -10.028 -17.992 25.373 -0.707 -0.653 0.271 2854 381 3 + -10.307 -16.974 25.765 -0.866 -0.071 0.495 2854 381 3 + -10.307 -17.422 25.560 -0.866 -0.327 0.378 2854 381 3 + -10.307 -17.689 25.146 -0.866 -0.480 0.141 2854 381 3 + -12.067 -18.915 23.156 -0.000 -0.223 0.975 2855 738 3 + -12.067 -19.345 22.987 -0.000 -0.500 0.866 2855 738 3 + -11.448 -20.848 22.455 -0.500 -0.268 0.824 2856 730 3 + -9.985 -24.029 21.584 0.588 -0.572 0.572 2857 724 3 + -10.408 -23.740 22.038 0.309 -0.382 0.871 2857 724 3 + -10.408 -24.138 21.778 0.309 -0.644 0.700 2857 724 3 + -10.408 -24.430 21.402 0.309 -0.836 0.453 2857 724 3 + -10.408 -24.585 20.952 0.309 -0.938 0.157 2857 724 3 + -10.878 -23.497 22.196 -0.000 -0.223 0.975 2857 724 3 + -10.878 -23.919 22.030 -0.000 -0.500 0.866 2857 724 3 + -10.878 -24.273 21.748 -0.000 -0.733 0.680 2857 724 3 + -10.878 -24.528 21.374 -0.000 -0.901 0.434 2857 724 3 + -10.878 -24.662 20.941 -0.000 -0.989 0.149 2857 724 3 + -11.348 -23.278 22.155 -0.309 -0.079 0.948 2857 724 3 + -11.348 -23.740 22.038 -0.309 -0.382 0.871 2857 724 3 + -11.348 -24.138 21.778 -0.309 -0.644 0.700 2857 724 3 + -11.348 -24.430 21.402 -0.309 -0.836 0.453 2857 724 3 + -11.348 -24.585 20.952 -0.309 -0.938 0.157 2857 724 3 + -11.348 -24.585 20.476 -0.309 -0.938 -0.157 2857 724 3 + -11.771 -23.159 21.944 -0.588 -0.000 0.809 2857 724 3 + -11.771 -23.630 21.850 -0.588 -0.310 0.747 2857 724 3 + -11.771 -24.029 21.584 -0.588 -0.572 0.572 2857 724 3 + -11.771 -24.295 21.185 -0.588 -0.747 0.310 2857 724 3 + -11.771 -24.389 20.714 -0.588 -0.809 -0.000 2857 724 3 + -11.771 -24.295 20.243 -0.588 -0.747 -0.310 2857 724 3 + -12.108 -23.159 21.607 -0.809 -0.000 0.588 2857 724 3 + -12.108 -23.606 21.488 -0.809 -0.294 0.509 2857 724 3 + -12.108 -23.933 21.161 -0.809 -0.509 0.294 2857 724 3 + -12.108 -24.052 20.714 -0.809 -0.588 -0.000 2857 724 3 + -12.108 -23.933 20.267 -0.809 -0.509 -0.294 2857 724 3 + -12.324 -22.924 21.121 -0.951 0.155 0.268 2857 724 3 + -12.324 -23.394 21.121 -0.951 -0.155 0.268 2857 724 3 + -12.324 -23.629 20.714 -0.951 -0.309 -0.000 2857 724 3 + -12.398 -23.159 20.714 -1.000 -0.000 -0.000 2857 724 3 + -12.461 -23.792 16.397 -0.000 -0.901 -0.434 2859 713 3 + -12.931 -23.694 17.745 -0.309 -0.836 0.453 2859 713 3 + -12.931 -23.849 17.295 -0.309 -0.938 0.157 2859 713 3 + -12.931 -23.849 16.819 -0.309 -0.938 -0.157 2859 713 3 + -12.931 -23.694 16.369 -0.309 -0.836 -0.453 2859 713 3 + -13.354 -22.894 18.193 -0.588 -0.310 0.747 2859 713 3 + -13.354 -23.293 17.927 -0.588 -0.572 0.572 2859 713 3 + -13.354 -23.559 17.528 -0.588 -0.747 0.310 2859 713 3 + -13.354 -23.653 17.057 -0.588 -0.809 -0.000 2859 713 3 + -13.354 -23.559 16.586 -0.588 -0.747 -0.310 2859 713 3 + -13.354 -23.293 16.187 -0.588 -0.572 -0.572 2859 713 3 + -13.691 -22.870 17.831 -0.809 -0.294 0.509 2859 713 3 + -13.691 -23.197 17.504 -0.809 -0.509 0.294 2859 713 3 + -13.691 -23.316 17.057 -0.809 -0.588 -0.000 2859 713 3 + -13.691 -23.197 16.610 -0.809 -0.509 -0.294 2859 713 3 + -13.691 -22.870 16.283 -0.809 -0.294 -0.509 2859 713 3 + -13.691 -22.423 16.164 -0.809 0.000 -0.588 2859 713 3 + -13.691 -21.976 16.283 -0.809 0.294 -0.509 2859 713 3 + -13.907 -22.658 17.464 -0.951 -0.155 0.268 2859 713 3 + -13.907 -22.893 17.057 -0.951 -0.309 -0.000 2859 713 3 + -13.907 -22.658 16.650 -0.951 -0.155 -0.268 2859 713 3 + -13.907 -22.188 16.650 -0.951 0.155 -0.268 2859 713 3 + -13.981 -22.423 17.057 -1.000 -0.000 -0.000 2859 713 3 + -12.794 -20.384 14.958 -0.866 0.421 -0.270 2860 711 3 + -12.968 -20.667 15.431 -0.966 0.259 0.000 2860 711 3 + -12.968 -20.894 15.039 -0.966 0.129 -0.224 2860 711 3 + -11.767 -19.765 12.890 -0.500 0.866 0.000 2861 715 3 + -12.129 -20.044 12.890 -0.707 0.707 0.000 2861 715 3 + -12.129 -20.406 12.015 -0.707 0.500 -0.500 2861 715 3 + -12.129 -20.138 12.416 -0.707 0.653 -0.271 2861 715 3 + -12.408 -20.406 12.890 -0.866 0.500 0.000 2861 715 3 + -12.408 -20.918 12.094 -0.866 0.208 -0.455 2861 715 3 + -12.408 -20.545 12.417 -0.866 0.421 -0.270 2861 715 3 + -12.582 -20.828 12.890 -0.966 0.259 0.000 2861 715 3 + -12.582 -21.055 12.498 -0.966 0.129 -0.224 2861 715 3 + -12.642 -21.281 12.890 -1.000 -0.000 -0.000 2861 715 3 + -11.716 -18.941 9.341 -0.707 -0.500 0.500 2863 539 3 + -11.716 -19.209 8.940 -0.707 -0.653 0.271 2863 539 3 + -11.995 -18.191 9.332 -0.866 -0.071 0.495 2863 539 3 + -11.995 -18.639 9.127 -0.866 -0.327 0.378 2863 539 3 + -11.315 -20.948 5.369 0.866 -0.433 0.250 2870 554 3 + -11.315 -21.065 4.931 0.866 -0.500 -0.000 2870 554 3 + -11.315 -20.948 4.494 0.866 -0.433 -0.250 2870 554 3 + -11.594 -21.065 5.806 0.707 -0.500 0.500 2870 554 3 + -11.594 -21.333 5.405 0.707 -0.653 0.271 2870 554 3 + -11.594 -21.427 4.931 0.707 -0.707 -0.000 2870 554 3 + -11.594 -21.333 4.457 0.707 -0.653 -0.271 2870 554 3 + -11.594 -21.065 4.056 0.707 -0.500 -0.500 2870 554 3 + -11.594 -20.664 3.788 0.707 -0.271 -0.653 2870 554 3 + -11.956 -21.081 6.157 0.500 -0.509 0.701 2870 554 3 + -11.956 -21.416 5.822 0.500 -0.701 0.509 2870 554 3 + -11.956 -21.631 5.399 0.500 -0.824 0.268 2870 554 3 + -11.956 -21.706 4.931 0.500 -0.866 -0.000 2870 554 3 + -11.956 -21.631 4.463 0.500 -0.824 -0.268 2870 554 3 + -11.956 -21.416 4.040 0.500 -0.701 -0.509 2870 554 3 + -11.956 -21.081 3.705 0.500 -0.509 -0.701 2870 554 3 + -11.956 -20.658 3.490 0.500 -0.268 -0.824 2870 554 3 + -11.956 -20.190 3.415 0.500 0.000 -0.866 2870 554 3 + -12.378 -21.165 6.312 0.259 -0.557 0.789 2870 554 3 + -12.378 -21.501 5.998 0.259 -0.749 0.610 2870 554 3 + -12.378 -21.740 5.604 0.259 -0.886 0.385 2870 554 3 + -12.378 -21.865 5.161 0.259 -0.957 0.132 2870 554 3 + -12.378 -21.865 4.701 0.259 -0.957 -0.132 2870 554 3 + -12.378 -21.740 4.258 0.259 -0.886 -0.385 2870 554 3 + -12.378 -21.501 3.864 0.259 -0.749 -0.610 2870 554 3 + -12.378 -21.165 3.550 0.259 -0.557 -0.789 2870 554 3 + -12.378 -20.756 3.338 0.259 -0.323 -0.910 2870 554 3 + -12.378 -20.305 3.245 0.259 -0.066 -0.964 2870 554 3 + -12.831 -20.643 6.621 -0.000 -0.259 0.966 2870 554 3 + -12.831 -21.065 6.447 -0.000 -0.500 0.866 2870 554 3 + -12.831 -21.427 6.168 -0.000 -0.707 0.707 2870 554 3 + -12.831 -21.706 5.806 -0.000 -0.866 0.500 2870 554 3 + -12.831 -21.880 5.384 -0.000 -0.966 0.259 2870 554 3 + -12.831 -21.940 4.931 -0.000 -1.000 -0.000 2870 554 3 + -12.831 -21.880 4.478 -0.000 -0.966 -0.259 2870 554 3 + -12.831 -21.706 4.056 -0.000 -0.866 -0.500 2870 554 3 + -12.831 -21.427 3.694 -0.000 -0.707 -0.707 2870 554 3 + -12.831 -21.065 3.415 -0.000 -0.500 -0.866 2870 554 3 + -12.831 -20.643 3.241 -0.000 -0.259 -0.966 2870 554 3 + -13.284 -21.165 6.312 -0.259 -0.557 0.789 2870 554 3 + -13.284 -21.501 5.998 -0.259 -0.749 0.610 2870 554 3 + -13.284 -21.740 5.604 -0.259 -0.886 0.385 2870 554 3 + -13.284 -21.865 5.161 -0.259 -0.957 0.132 2870 554 3 + -13.284 -21.865 4.701 -0.259 -0.957 -0.132 2870 554 3 + -13.284 -21.740 4.258 -0.259 -0.886 -0.385 2870 554 3 + -13.284 -21.501 3.864 -0.259 -0.749 -0.610 2870 554 3 + -13.284 -21.165 3.550 -0.259 -0.557 -0.789 2870 554 3 + -13.284 -20.756 3.338 -0.259 -0.323 -0.910 2870 554 3 + -13.706 -21.416 5.822 -0.500 -0.701 0.509 2870 554 3 + -13.706 -21.631 5.399 -0.500 -0.824 0.268 2870 554 3 + -13.706 -21.706 4.931 -0.500 -0.866 -0.000 2870 554 3 + -13.706 -21.631 4.463 -0.500 -0.824 -0.268 2870 554 3 + -13.706 -21.416 4.040 -0.500 -0.701 -0.509 2870 554 3 + -13.706 -21.081 3.705 -0.500 -0.509 -0.701 2870 554 3 + -13.706 -20.658 3.490 -0.500 -0.268 -0.824 2870 554 3 + -14.068 -21.333 5.405 -0.707 -0.653 0.271 2870 554 3 + -14.068 -21.427 4.931 -0.707 -0.707 -0.000 2870 554 3 + -14.068 -21.333 4.457 -0.707 -0.653 -0.271 2870 554 3 + -14.068 -21.065 4.056 -0.707 -0.500 -0.500 2870 554 3 + -14.347 -21.030 4.684 -0.866 -0.480 -0.141 2870 554 3 + -13.506 -19.294 3.034 -0.000 -0.259 -0.966 2871 553 3 + -13.959 -19.407 3.131 -0.259 -0.323 -0.910 2871 553 3 + -13.959 -18.956 3.038 -0.259 -0.066 -0.964 2871 553 3 + -14.381 -19.309 3.283 -0.500 -0.268 -0.824 2871 553 3 + -14.381 -18.841 3.208 -0.500 0.000 -0.866 2871 553 3 + -14.743 -19.716 3.849 -0.707 -0.500 -0.500 2871 553 3 + -14.743 -19.315 3.581 -0.707 -0.271 -0.653 2871 553 3 + -14.743 -18.841 3.487 -0.707 0.000 -0.707 2871 553 3 + -13.046 -17.146 2.017 -0.000 -0.733 -0.680 2873 552 3 + -13.516 -17.011 1.987 -0.309 -0.644 -0.700 2873 552 3 + -13.516 -16.613 1.727 -0.309 -0.382 -0.871 2873 552 3 + -13.939 -16.902 2.181 -0.588 -0.572 -0.572 2873 552 3 + -13.939 -16.503 1.915 -0.588 -0.310 -0.747 2873 552 3 + -14.276 -16.479 2.277 -0.809 -0.294 -0.509 2873 552 3 + -14.276 -16.032 2.158 -0.809 0.000 -0.588 2873 552 3 + -14.492 -16.267 2.644 -0.951 -0.155 -0.268 2873 552 3 + -13.000 -13.290 -1.144 -0.259 -0.066 -0.964 2874 568 3 + -13.000 -12.831 -1.113 -0.259 0.197 -0.946 2874 568 3 + -13.422 -14.401 -0.349 -0.500 -0.701 -0.509 2874 568 3 + -13.422 -14.066 -0.684 -0.500 -0.509 -0.701 2874 568 3 + -13.422 -13.643 -0.899 -0.500 -0.268 -0.824 2874 568 3 + -13.422 -13.175 -0.974 -0.500 0.000 -0.866 2874 568 3 + -13.422 -12.707 -0.899 -0.500 0.268 -0.824 2874 568 3 + -13.784 -14.318 0.068 -0.707 -0.653 -0.271 2874 568 3 + -13.784 -14.050 -0.333 -0.707 -0.500 -0.500 2874 568 3 + -13.784 -13.649 -0.601 -0.707 -0.271 -0.653 2874 568 3 + -13.784 -13.175 -0.695 -0.707 0.000 -0.707 2874 568 3 + -14.063 -14.015 0.295 -0.866 -0.480 -0.141 2874 568 3 + -14.063 -13.748 -0.119 -0.866 -0.327 -0.378 2874 568 3 + -14.063 -13.300 -0.324 -0.866 -0.071 -0.495 2874 568 3 + -14.237 -13.628 0.542 -0.966 -0.259 -0.000 2874 568 3 + -14.237 -13.401 0.150 -0.966 -0.129 -0.224 2874 568 3 + -14.344 -11.912 0.257 -0.866 -0.071 -0.495 2875 567 3 + -14.344 -11.424 0.327 -0.866 0.208 -0.455 2875 567 3 + -14.518 -12.013 0.731 -0.966 -0.129 -0.224 2875 567 3 + -14.518 -11.561 0.731 -0.966 0.129 -0.224 2875 567 3 + -13.992 -9.147 -0.786 -0.866 -0.071 0.495 2876 501 3 + -15.468 -2.990 0.179 -0.309 0.951 0.000 2880 590 3 + -15.468 -5.462 1.264 -0.309 -0.644 0.700 2880 590 3 + -15.468 -5.760 0.881 -0.309 -0.836 0.453 2880 590 3 + -15.468 -5.918 0.422 -0.309 -0.938 0.157 2880 590 3 + -15.468 -5.918 -0.064 -0.309 -0.938 -0.157 2880 590 3 + -15.468 -4.102 -1.250 -0.309 0.233 -0.922 2880 590 3 + -15.468 -3.658 -1.055 -0.309 0.520 -0.796 2880 590 3 + -15.468 -3.301 -0.726 -0.309 0.751 -0.584 2880 590 3 + -15.468 -3.070 -0.300 -0.309 0.900 -0.309 2880 590 3 + -15.900 -3.210 0.179 -0.588 0.809 0.000 2880 590 3 + -15.900 -3.305 0.659 -0.588 0.747 0.310 2880 590 3 + -15.900 -5.351 1.066 -0.588 -0.572 0.572 2880 590 3 + -15.900 -5.623 0.659 -0.588 -0.747 0.310 2880 590 3 + -15.900 -5.718 0.179 -0.588 -0.809 -0.000 2880 590 3 + -15.900 -5.623 -0.301 -0.588 -0.747 -0.310 2880 590 3 + -15.900 -5.351 -0.708 -0.588 -0.572 -0.572 2880 590 3 + -15.900 -4.944 -0.980 -0.588 -0.310 -0.747 2880 590 3 + -15.900 -4.464 -1.075 -0.588 0.000 -0.809 2880 590 3 + -15.900 -3.984 -0.980 -0.588 0.310 -0.747 2880 590 3 + -15.900 -3.577 -0.708 -0.588 0.572 -0.572 2880 590 3 + -15.900 -3.305 -0.301 -0.588 0.747 -0.310 2880 590 3 + -16.243 -3.553 0.179 -0.809 0.588 0.000 2880 590 3 + -16.243 -3.675 0.635 -0.809 0.509 0.294 2880 590 3 + -16.243 -4.920 0.968 -0.809 -0.294 0.509 2880 590 3 + -16.243 -5.253 0.635 -0.809 -0.509 0.294 2880 590 3 + -16.243 -5.375 0.179 -0.809 -0.588 -0.000 2880 590 3 + -16.243 -5.253 -0.277 -0.809 -0.509 -0.294 2880 590 3 + -16.243 -4.920 -0.610 -0.809 -0.294 -0.509 2880 590 3 + -16.243 -4.464 -0.732 -0.809 0.000 -0.588 2880 590 3 + -16.243 -4.008 -0.610 -0.809 0.294 -0.509 2880 590 3 + -16.243 -3.675 -0.277 -0.809 0.509 -0.294 2880 590 3 + -16.463 -3.985 0.179 -0.951 0.309 0.000 2880 590 3 + -16.463 -4.225 0.594 -0.951 0.155 0.268 2880 590 3 + -16.463 -4.703 0.594 -0.951 -0.155 0.268 2880 590 3 + -16.463 -4.943 0.179 -0.951 -0.309 -0.000 2880 590 3 + -16.463 -4.703 -0.236 -0.951 -0.155 -0.268 2880 590 3 + -16.463 -4.225 -0.236 -0.951 0.155 -0.268 2880 590 3 + -16.539 -4.464 0.179 -1.000 -0.000 -0.000 2880 590 3 + -12.243 -2.244 0.765 0.259 0.966 0.000 2881 587 3 + -12.243 -2.780 -0.470 0.259 0.659 -0.706 2881 587 3 + -12.243 -2.490 -0.113 0.259 0.825 -0.502 2881 587 3 + -12.243 -2.306 0.309 0.259 0.930 -0.261 2881 587 3 + -12.696 -2.184 0.765 -0.000 1.000 0.000 2881 587 3 + -12.696 -2.697 -0.472 -0.000 0.707 -0.707 2881 587 3 + -12.696 -2.418 -0.110 -0.000 0.866 -0.500 2881 587 3 + -12.696 -2.244 0.312 -0.000 0.966 -0.259 2881 587 3 + -13.149 -2.244 0.765 -0.259 0.966 0.000 2881 587 3 + -13.149 -2.490 -0.113 -0.259 0.825 -0.502 2881 587 3 + -13.149 -2.306 0.309 -0.259 0.930 -0.261 2881 587 3 + -13.571 -2.418 0.765 -0.500 0.866 0.000 2881 587 3 + -8.240 -1.097 4.190 0.866 0.500 0.000 2883 595 3 + -8.240 -1.214 3.753 0.866 0.433 -0.250 2883 595 3 + -8.519 -0.735 4.190 0.707 0.707 0.000 2883 595 3 + -8.519 -0.829 4.664 0.707 0.653 0.271 2883 595 3 + -8.519 -1.097 3.315 0.707 0.500 -0.500 2883 595 3 + -8.519 -0.829 3.716 0.707 0.653 -0.271 2883 595 3 + -8.881 -0.456 4.190 0.500 0.866 0.000 2883 595 3 + -8.881 -0.531 4.658 0.500 0.824 0.268 2883 595 3 + -8.881 -1.081 2.964 0.500 0.509 -0.701 2883 595 3 + -8.881 -0.746 3.299 0.500 0.701 -0.509 2883 595 3 + -8.881 -0.531 3.722 0.500 0.824 -0.268 2883 595 3 + -9.303 -0.282 4.190 0.259 0.966 0.000 2883 595 3 + -9.303 -0.818 2.955 0.259 0.659 -0.706 2883 595 3 + -9.303 -0.528 3.312 0.259 0.825 -0.502 2883 595 3 + -9.303 -0.344 3.734 0.259 0.930 -0.261 2883 595 3 + -9.756 -0.222 4.190 -0.000 1.000 0.000 2883 595 3 + -9.756 -0.735 2.953 -0.000 0.707 -0.707 2883 595 3 + -9.756 -0.456 3.315 -0.000 0.866 -0.500 2883 595 3 + -9.756 -0.282 3.737 -0.000 0.966 -0.259 2883 595 3 + -10.209 -0.282 4.190 -0.259 0.966 0.000 2883 595 3 + -10.209 -0.818 2.955 -0.259 0.659 -0.706 2883 595 3 + -10.209 -0.528 3.312 -0.259 0.825 -0.502 2883 595 3 + -10.209 -0.344 3.734 -0.259 0.930 -0.261 2883 595 3 + -10.631 -0.746 3.299 -0.500 0.701 -0.509 2883 595 3 + -10.631 -0.531 3.722 -0.500 0.824 -0.268 2883 595 3 + -5.431 -0.158 9.737 0.500 0.509 -0.701 2885 55 3 + -5.431 0.177 10.072 0.500 0.701 -0.509 2885 55 3 + -5.853 -0.271 9.462 0.259 0.444 -0.858 2885 55 3 + -5.853 0.105 9.728 0.259 0.659 -0.706 2885 55 3 + -6.306 -0.174 9.447 -0.000 0.500 -0.866 2885 55 3 + -4.612 3.402 12.464 0.707 0.271 -0.653 2886 29 3 + -4.523 5.288 12.922 0.588 0.000 -0.809 2887 25 3 + -5.167 7.251 12.520 -0.000 -0.259 -0.966 2888 19 3 + -5.167 7.704 12.460 -0.000 0.000 -1.000 2888 19 3 + -5.167 8.157 12.520 -0.000 0.259 -0.966 2888 19 3 + -5.167 8.579 12.694 -0.000 0.500 -0.866 2888 19 3 + -5.620 7.589 12.524 -0.259 -0.066 -0.964 2888 19 3 + -5.620 8.048 12.555 -0.259 0.197 -0.946 2888 19 3 + -5.620 8.482 12.709 -0.259 0.444 -0.858 2888 19 3 + -6.640 9.820 13.459 0.259 0.444 -0.858 2889 11 3 + -10.689 8.718 15.214 -0.309 -0.836 0.453 2891 4 3 + -10.689 8.563 14.764 -0.309 -0.938 0.157 2891 4 3 + -10.689 8.563 14.288 -0.309 -0.938 -0.157 2891 4 3 + -10.689 8.718 13.838 -0.309 -0.836 -0.453 2891 4 3 + -10.689 9.010 13.462 -0.309 -0.644 -0.700 2891 4 3 + -11.112 9.518 15.662 -0.588 -0.310 0.747 2891 4 3 + -11.112 9.119 15.396 -0.588 -0.572 0.572 2891 4 3 + -11.112 8.853 14.997 -0.588 -0.747 0.310 2891 4 3 + -11.112 8.759 14.526 -0.588 -0.809 -0.000 2891 4 3 + -11.112 8.853 14.055 -0.588 -0.747 -0.310 2891 4 3 + -11.112 9.119 13.656 -0.588 -0.572 -0.572 2891 4 3 + -11.449 9.542 15.300 -0.809 -0.294 0.509 2891 4 3 + -11.449 9.215 14.973 -0.809 -0.509 0.294 2891 4 3 + -11.449 9.096 14.526 -0.809 -0.588 -0.000 2891 4 3 + -11.449 9.215 14.079 -0.809 -0.509 -0.294 2891 4 3 + -11.665 9.754 14.933 -0.951 -0.155 0.268 2891 4 3 + -11.665 9.519 14.526 -0.951 -0.309 -0.000 2891 4 3 + -8.820 8.060 17.229 -0.259 -0.957 0.132 2892 13 3 + -9.242 8.219 16.999 -0.500 -0.866 -0.000 2892 13 3 + -9.604 8.498 16.999 -0.707 -0.707 -0.000 2892 13 3 + -5.304 6.744 17.526 0.309 0.233 0.922 2893 21 1 + -5.774 6.944 17.540 -0.000 0.365 0.931 2893 21 1 + -5.774 6.503 17.641 -0.000 0.075 0.997 2893 21 1 + -3.637 4.001 19.742 0.707 0.653 0.271 2896 39 1 + -3.999 4.299 19.736 0.500 0.824 0.268 2896 39 1 + -4.421 4.548 19.268 0.259 0.966 0.000 2896 39 1 + -4.421 4.486 19.724 0.259 0.930 0.261 2896 39 1 + -4.874 4.548 19.721 -0.000 0.966 0.259 2896 39 1 + -5.327 4.486 19.724 -0.259 0.930 0.261 2896 39 1 + -2.753 5.247 22.438 0.500 0.268 -0.824 2897 815 1 + -2.753 5.670 22.653 0.500 0.509 -0.701 2897 815 1 + -2.753 6.005 22.988 0.500 0.701 -0.509 2897 815 1 + -2.753 6.220 23.411 0.500 0.824 -0.268 2897 815 1 + -3.175 5.557 22.378 0.259 0.444 -0.858 2897 815 1 + -3.175 5.933 22.644 0.259 0.659 -0.706 2897 815 1 + -3.175 6.223 23.001 0.259 0.825 -0.502 2897 815 1 + -3.175 6.407 23.423 0.259 0.930 -0.261 2897 815 1 + -3.628 5.654 22.363 -0.000 0.500 -0.866 2897 815 1 + -3.628 6.016 22.642 -0.000 0.707 -0.707 2897 815 1 + -3.628 6.295 23.004 -0.000 0.866 -0.500 2897 815 1 + -3.628 6.469 23.426 -0.000 0.966 -0.259 2897 815 1 + -4.081 6.469 23.879 -0.259 0.966 0.000 2897 815 1 + -4.081 6.407 24.335 -0.259 0.930 0.261 2897 815 1 + -4.081 5.557 22.378 -0.259 0.444 -0.858 2897 815 1 + -4.081 5.933 22.644 -0.259 0.659 -0.706 2897 815 1 + -4.081 6.223 23.001 -0.259 0.825 -0.502 2897 815 1 + -4.081 6.407 23.423 -0.259 0.930 -0.261 2897 815 1 + -4.503 6.295 23.879 -0.500 0.866 0.000 2897 815 1 + -4.503 6.220 24.347 -0.500 0.824 0.268 2897 815 1 + -4.503 6.005 22.988 -0.500 0.701 -0.509 2897 815 1 + -4.503 6.220 23.411 -0.500 0.824 -0.268 2897 815 1 + -5.828 5.256 23.031 -0.500 0.701 -0.509 2898 816 1 + -5.828 5.471 23.454 -0.500 0.824 -0.268 2898 816 1 + -6.173 5.571 24.905 -0.309 0.951 0.000 2899 817 1 + -6.173 5.492 25.374 -0.309 0.900 0.309 2899 817 1 + -6.596 5.355 24.905 -0.588 0.809 0.000 2899 817 1 + -6.596 5.261 25.376 -0.588 0.747 0.310 2899 817 1 + -6.596 4.995 25.775 -0.588 0.572 0.572 2899 817 1 + -6.596 4.596 26.041 -0.588 0.310 0.747 2899 817 1 + -6.596 4.125 26.135 -0.588 -0.000 0.809 2899 817 1 + -6.596 3.654 26.041 -0.588 -0.310 0.747 2899 817 1 + -6.596 5.261 24.434 -0.588 0.747 -0.310 2899 817 1 + -6.933 5.018 24.905 -0.809 0.588 0.000 2899 817 1 + -6.933 4.899 25.352 -0.809 0.509 0.294 2899 817 1 + -6.933 4.572 25.679 -0.809 0.294 0.509 2899 817 1 + -6.933 4.125 25.798 -0.809 -0.000 0.588 2899 817 1 + -6.933 3.678 25.679 -0.809 -0.294 0.509 2899 817 1 + -6.933 3.351 25.352 -0.809 -0.509 0.294 2899 817 1 + -6.933 3.232 24.905 -0.809 -0.588 -0.000 2899 817 1 + -6.933 4.899 24.458 -0.809 0.509 -0.294 2899 817 1 + -7.149 4.595 24.905 -0.951 0.309 0.000 2899 817 1 + -7.149 4.360 25.312 -0.951 0.155 0.268 2899 817 1 + -7.149 3.890 25.312 -0.951 -0.155 0.268 2899 817 1 + -7.149 3.655 24.905 -0.951 -0.309 -0.000 2899 817 1 + -7.149 3.890 24.498 -0.951 -0.155 -0.268 2899 817 1 + -7.149 4.360 24.498 -0.951 0.155 -0.268 2899 817 1 + -7.223 4.125 24.905 -1.000 -0.000 -0.000 2899 817 1 + -6.595 0.785 24.425 -0.951 0.155 0.268 2900 796 1 + -10.951 -2.172 26.691 0.309 0.751 -0.584 2904 784 1 + -10.951 -1.941 27.117 0.309 0.900 -0.309 2904 784 1 + -11.430 -1.785 27.596 -0.000 1.000 0.000 2904 784 1 + -11.430 -1.854 28.053 -0.000 0.956 0.295 2904 784 1 + -11.430 -2.054 28.469 -0.000 0.826 0.563 2904 784 1 + -11.430 -2.369 28.808 -0.000 0.623 0.782 2904 784 1 + -11.430 -2.369 26.384 -0.000 0.623 -0.782 2904 784 1 + -11.430 -2.054 26.723 -0.000 0.826 -0.563 2904 784 1 + -11.430 -1.854 27.139 -0.000 0.956 -0.295 2904 784 1 + -11.909 -1.861 27.596 -0.309 0.951 0.000 2904 784 1 + -11.909 -1.941 28.075 -0.309 0.900 0.309 2904 784 1 + -11.909 -2.172 28.501 -0.309 0.751 0.584 2904 784 1 + -11.909 -2.529 28.830 -0.309 0.520 0.796 2904 784 1 + -11.909 -2.973 29.025 -0.309 0.233 0.922 2904 784 1 + -11.909 -2.529 26.362 -0.309 0.520 -0.796 2904 784 1 + -11.909 -2.172 26.691 -0.309 0.751 -0.584 2904 784 1 + -11.909 -1.941 27.117 -0.309 0.900 -0.309 2904 784 1 + -12.341 -2.081 27.596 -0.588 0.809 0.000 2904 784 1 + -12.341 -2.176 28.076 -0.588 0.747 0.310 2904 784 1 + -12.341 -2.448 28.483 -0.588 0.572 0.572 2904 784 1 + -12.341 -2.855 28.755 -0.588 0.310 0.747 2904 784 1 + -12.341 -3.335 28.850 -0.588 -0.000 0.809 2904 784 1 + -12.341 -2.855 26.437 -0.588 0.310 -0.747 2904 784 1 + -12.341 -2.448 26.709 -0.588 0.572 -0.572 2904 784 1 + -12.341 -2.176 27.116 -0.588 0.747 -0.310 2904 784 1 + -12.684 -2.424 27.596 -0.809 0.588 0.000 2904 784 1 + -12.684 -2.546 28.052 -0.809 0.509 0.294 2904 784 1 + -12.684 -2.879 28.385 -0.809 0.294 0.509 2904 784 1 + -12.684 -3.335 28.507 -0.809 -0.000 0.588 2904 784 1 + -12.684 -2.879 26.807 -0.809 0.294 -0.509 2904 784 1 + -12.684 -2.546 27.140 -0.809 0.509 -0.294 2904 784 1 + -12.904 -2.856 27.596 -0.951 0.309 0.000 2904 784 1 + -12.904 -3.096 28.011 -0.951 0.155 0.268 2904 784 1 + -12.904 -3.574 28.011 -0.951 -0.155 0.268 2904 784 1 + -12.904 -3.096 27.181 -0.951 0.155 -0.268 2904 784 1 + -12.980 -3.335 27.596 -1.000 -0.000 -0.000 2904 784 1 + -12.644 -5.127 26.511 -0.866 -0.327 -0.378 2905 782 1 + -12.644 -4.679 26.306 -0.866 -0.071 -0.495 2905 782 1 + -12.818 -4.780 26.780 -0.966 -0.129 -0.224 2905 782 1 + -11.295 -6.990 28.658 -0.000 -0.901 0.434 2906 783 1 + -11.295 -7.126 28.216 -0.000 -0.989 0.149 2906 783 1 + -11.774 -6.591 29.070 -0.309 -0.644 0.700 2906 783 1 + -11.774 -6.889 28.687 -0.309 -0.836 0.453 2906 783 1 + -11.774 -7.047 28.228 -0.309 -0.938 0.157 2906 783 1 + -11.774 -7.047 27.742 -0.309 -0.938 -0.157 2906 783 1 + -12.206 -5.113 29.144 -0.588 0.310 0.747 2906 783 1 + -12.206 -5.593 29.239 -0.588 -0.000 0.809 2906 783 1 + -12.206 -6.073 29.144 -0.588 -0.310 0.747 2906 783 1 + -12.206 -6.480 28.872 -0.588 -0.572 0.572 2906 783 1 + -12.206 -6.752 28.465 -0.588 -0.747 0.310 2906 783 1 + -12.206 -6.847 27.985 -0.588 -0.809 -0.000 2906 783 1 + -12.206 -6.752 27.505 -0.588 -0.747 -0.310 2906 783 1 + -12.549 -5.593 28.896 -0.809 -0.000 0.588 2906 783 1 + -12.549 -6.049 28.774 -0.809 -0.294 0.509 2906 783 1 + -12.549 -6.382 28.441 -0.809 -0.509 0.294 2906 783 1 + -12.549 -6.504 27.985 -0.809 -0.588 -0.000 2906 783 1 + -12.549 -6.382 27.529 -0.809 -0.509 -0.294 2906 783 1 + -12.769 -5.354 28.400 -0.951 0.155 0.268 2906 783 1 + -12.769 -5.832 28.400 -0.951 -0.155 0.268 2906 783 1 + -12.769 -6.072 27.985 -0.951 -0.309 -0.000 2906 783 1 + -12.845 -5.593 27.985 -1.000 -0.000 -0.000 2906 783 1 + -8.291 -9.402 28.520 -0.809 -0.000 0.588 2908 215 1 + -9.284 -11.316 27.802 -0.866 0.208 0.455 2909 219 1 + -9.458 -11.453 27.398 -0.966 0.129 0.224 2909 219 1 + -9.458 -11.905 27.398 -0.966 -0.129 0.224 2909 219 1 + -9.458 -12.132 27.006 -0.966 -0.259 -0.000 2909 219 1 + -9.458 -11.905 26.614 -0.966 -0.129 -0.224 2909 219 1 + -9.518 -11.679 27.006 -1.000 -0.000 -0.000 2909 219 1 + -6.936 -13.613 30.002 0.588 -0.310 0.747 2911 222 1 + -7.359 -12.787 30.267 0.309 0.233 0.922 2911 222 1 + -7.359 -13.261 30.307 0.309 -0.079 0.948 2911 222 1 + -7.359 -13.723 30.190 0.309 -0.382 0.871 2911 222 1 + -7.359 -14.121 29.930 0.309 -0.644 0.700 2911 222 1 + -7.359 -14.413 29.554 0.309 -0.836 0.453 2911 222 1 + -7.829 -12.194 30.054 -0.000 0.623 0.782 2911 222 1 + -7.829 -12.587 30.281 -0.000 0.365 0.931 2911 222 1 + -7.829 -13.028 30.382 -0.000 0.075 0.997 2911 222 1 + -7.829 -13.480 30.348 -0.000 -0.223 0.975 2911 222 1 + -7.829 -13.902 30.182 -0.000 -0.500 0.866 2911 222 1 + -7.829 -14.256 29.900 -0.000 -0.733 0.680 2911 222 1 + -7.829 -14.511 29.526 -0.000 -0.901 0.434 2911 222 1 + -7.829 -14.645 29.093 -0.000 -0.989 0.149 2911 222 1 + -8.299 -12.001 29.754 -0.309 0.751 0.584 2911 222 1 + -8.299 -12.351 30.076 -0.309 0.520 0.796 2911 222 1 + -8.299 -12.787 30.267 -0.309 0.233 0.922 2911 222 1 + -8.299 -13.261 30.307 -0.309 -0.079 0.948 2911 222 1 + -8.299 -13.723 30.190 -0.309 -0.382 0.871 2911 222 1 + -8.299 -14.121 29.930 -0.309 -0.644 0.700 2911 222 1 + -8.299 -14.413 29.554 -0.309 -0.836 0.453 2911 222 1 + -8.299 -14.568 29.104 -0.309 -0.938 0.157 2911 222 1 + -8.722 -12.272 29.736 -0.588 0.572 0.572 2911 222 1 + -8.722 -12.671 30.002 -0.588 0.310 0.747 2911 222 1 + -8.722 -13.142 30.096 -0.588 -0.000 0.809 2911 222 1 + -8.722 -13.613 30.002 -0.588 -0.310 0.747 2911 222 1 + -8.722 -14.012 29.736 -0.588 -0.572 0.572 2911 222 1 + -8.722 -14.278 29.337 -0.588 -0.747 0.310 2911 222 1 + -8.722 -14.372 28.866 -0.588 -0.809 -0.000 2911 222 1 + -9.059 -12.368 29.313 -0.809 0.509 0.294 2911 222 1 + -9.059 -12.695 29.640 -0.809 0.294 0.509 2911 222 1 + -9.059 -13.142 29.759 -0.809 -0.000 0.588 2911 222 1 + -9.059 -13.589 29.640 -0.809 -0.294 0.509 2911 222 1 + -9.059 -13.916 29.313 -0.809 -0.509 0.294 2911 222 1 + -9.059 -14.035 28.866 -0.809 -0.588 -0.000 2911 222 1 + -9.275 -12.907 29.273 -0.951 0.155 0.268 2911 222 1 + -9.275 -13.377 29.273 -0.951 -0.155 0.268 2911 222 1 + -9.275 -13.612 28.866 -0.951 -0.309 -0.000 2911 222 1 + -9.275 -13.377 28.459 -0.951 -0.155 -0.268 2911 222 1 + -9.349 -13.142 28.866 -1.000 -0.000 -0.000 2911 222 1 + -7.211 -17.796 26.375 0.259 -0.066 0.964 2913 379 1 + -7.211 -18.247 26.282 0.259 -0.323 0.910 2913 379 1 + -7.211 -18.656 26.070 0.259 -0.557 0.789 2913 379 1 + -7.664 -18.134 26.379 -0.000 -0.259 0.966 2913 379 1 + -7.664 -18.556 26.205 -0.000 -0.500 0.866 2913 379 1 + -7.664 -18.918 25.926 -0.000 -0.707 0.707 2913 379 1 + -8.117 -18.656 26.070 -0.259 -0.557 0.789 2913 379 1 + -8.117 -18.992 25.756 -0.259 -0.749 0.610 2913 379 1 + -8.539 -18.907 25.580 -0.500 -0.701 0.509 2913 379 1 + -7.910 -22.737 22.422 0.259 -0.957 0.132 2915 734 1 + -8.363 -22.578 23.067 -0.000 -0.866 0.500 2915 734 1 + -8.363 -22.752 22.645 -0.000 -0.966 0.259 2915 734 1 + -8.816 -22.037 23.573 -0.259 -0.557 0.789 2915 734 1 + -8.816 -22.373 23.259 -0.259 -0.749 0.610 2915 734 1 + -9.238 -21.062 23.708 -0.500 -0.000 0.866 2915 734 1 + -9.238 -21.530 23.633 -0.500 -0.268 0.824 2915 734 1 + -9.238 -21.953 23.418 -0.500 -0.509 0.701 2915 734 1 + -9.600 -21.536 23.335 -0.707 -0.271 0.653 2915 734 1 + -7.145 -23.706 19.437 0.866 -0.000 0.500 2916 725 1 + -7.145 -24.143 19.320 0.866 -0.250 0.433 2916 725 1 + -7.424 -24.180 19.705 0.707 -0.271 0.653 2916 725 1 + -7.424 -24.581 19.437 0.707 -0.500 0.500 2916 725 1 + -7.786 -24.174 20.003 0.500 -0.268 0.824 2916 725 1 + -7.786 -24.597 19.788 0.500 -0.509 0.701 2916 725 1 + -8.208 -24.272 20.155 0.259 -0.323 0.910 2916 725 1 + -8.208 -24.681 19.943 0.259 -0.557 0.789 2916 725 1 + -8.208 -25.017 19.629 0.259 -0.749 0.610 2916 725 1 + -8.661 -24.943 19.799 -0.000 -0.707 0.707 2916 725 1 + -8.661 -25.222 19.437 -0.000 -0.866 0.500 2916 725 1 + -8.056 -26.722 16.987 0.588 -0.809 -0.000 2918 727 1 + -8.056 -26.628 16.516 0.588 -0.747 -0.310 2918 727 1 + -8.479 -26.763 17.675 0.309 -0.836 0.453 2918 727 1 + -8.479 -26.918 17.225 0.309 -0.938 0.157 2918 727 1 + -8.479 -26.918 16.749 0.309 -0.938 -0.157 2918 727 1 + -8.479 -26.763 16.299 0.309 -0.836 -0.453 2918 727 1 + -8.949 -26.606 18.021 -0.000 -0.733 0.680 2918 727 1 + -8.949 -26.861 17.647 -0.000 -0.901 0.434 2918 727 1 + -8.949 -26.995 17.214 -0.000 -0.989 0.149 2918 727 1 + -8.949 -26.995 16.760 -0.000 -0.989 -0.149 2918 727 1 + -8.949 -26.861 16.327 -0.000 -0.901 -0.434 2918 727 1 + -8.949 -26.606 15.953 -0.000 -0.733 -0.680 2918 727 1 + -9.419 -26.471 18.051 -0.309 -0.644 0.700 2918 727 1 + -9.419 -26.763 17.675 -0.309 -0.836 0.453 2918 727 1 + -9.419 -26.918 17.225 -0.309 -0.938 0.157 2918 727 1 + -9.419 -26.918 16.749 -0.309 -0.938 -0.157 2918 727 1 + -9.419 -26.763 16.299 -0.309 -0.836 -0.453 2918 727 1 + -9.419 -26.471 15.923 -0.309 -0.644 -0.700 2918 727 1 + -9.842 -26.362 17.857 -0.588 -0.572 0.572 2918 727 1 + -9.842 -26.628 17.458 -0.588 -0.747 0.310 2918 727 1 + -9.842 -26.722 16.987 -0.588 -0.809 -0.000 2918 727 1 + -9.842 -26.628 16.516 -0.588 -0.747 -0.310 2918 727 1 + -9.842 -26.362 16.117 -0.588 -0.572 -0.572 2918 727 1 + -10.179 -26.266 17.434 -0.809 -0.509 0.294 2918 727 1 + -10.179 -26.385 16.987 -0.809 -0.588 -0.000 2918 727 1 + -10.179 -26.266 16.540 -0.809 -0.509 -0.294 2918 727 1 + -10.179 -25.939 16.213 -0.809 -0.294 -0.509 2918 727 1 + -10.395 -25.962 16.987 -0.951 -0.309 -0.000 2918 727 1 + -10.395 -25.727 16.580 -0.951 -0.155 -0.268 2918 727 1 + -12.207 -23.233 14.224 -0.707 -0.707 -0.000 2920 714 1 + -12.486 -22.836 13.977 -0.866 -0.480 -0.141 2920 714 1 + -12.660 -22.222 13.832 -0.966 -0.129 -0.224 2920 714 1 + -10.683 -22.750 10.084 -0.000 -0.259 -0.966 2921 716 1 + -10.683 -22.297 10.024 -0.000 0.000 -1.000 2921 716 1 + -11.136 -22.863 10.181 -0.259 -0.323 -0.910 2921 716 1 + -11.136 -22.412 10.088 -0.259 -0.066 -0.964 2921 716 1 + -11.136 -21.953 10.119 -0.259 0.197 -0.946 2921 716 1 + -11.558 -22.765 10.333 -0.500 -0.268 -0.824 2921 716 1 + -11.558 -22.297 10.258 -0.500 0.000 -0.866 2921 716 1 + -11.558 -21.829 10.333 -0.500 0.268 -0.824 2921 716 1 + -11.920 -22.771 10.631 -0.707 -0.271 -0.653 2921 716 1 + -11.920 -22.297 10.537 -0.707 0.000 -0.707 2921 716 1 + -11.920 -21.823 10.631 -0.707 0.271 -0.653 2921 716 1 + -11.920 -21.422 10.899 -0.707 0.500 -0.500 2921 716 1 + -12.199 -22.870 11.113 -0.866 -0.327 -0.378 2921 716 1 + -12.199 -22.422 10.908 -0.866 -0.071 -0.495 2921 716 1 + -12.199 -21.934 10.978 -0.866 0.208 -0.455 2921 716 1 + -12.373 -22.750 11.774 -0.966 -0.259 -0.000 2921 716 1 + -12.373 -22.523 11.382 -0.966 -0.129 -0.224 2921 716 1 + -12.373 -22.071 11.382 -0.966 0.129 -0.224 2921 716 1 + -7.432 -20.843 8.945 0.500 -0.509 -0.701 2922 545 1 + -7.432 -20.420 8.730 0.500 -0.268 -0.824 2922 545 1 + -7.854 -21.263 9.104 0.259 -0.749 -0.610 2922 545 1 + -7.854 -20.927 8.790 0.259 -0.557 -0.789 2922 545 1 + -7.854 -20.518 8.578 0.259 -0.323 -0.910 2922 545 1 + -8.307 -21.468 9.296 -0.000 -0.866 -0.500 2922 545 1 + -8.307 -21.189 8.934 -0.000 -0.707 -0.707 2922 545 1 + -8.307 -20.827 8.655 -0.000 -0.500 -0.866 2922 545 1 + -8.760 -21.263 9.104 -0.259 -0.749 -0.610 2922 545 1 + -8.760 -20.927 8.790 -0.259 -0.557 -0.789 2922 545 1 + -8.472 -19.070 4.951 0.809 -0.588 -0.000 2925 538 1 + -8.809 -19.407 4.951 0.588 -0.809 -0.000 2925 538 1 + -8.809 -19.313 4.480 0.588 -0.747 -0.310 2925 538 1 + -9.232 -19.603 5.189 0.309 -0.938 0.157 2925 538 1 + -9.232 -19.603 4.713 0.309 -0.938 -0.157 2925 538 1 + -9.232 -19.448 4.263 0.309 -0.836 -0.453 2925 538 1 + -9.232 -19.156 3.887 0.309 -0.644 -0.700 2925 538 1 + -9.702 -19.291 3.917 -0.000 -0.733 -0.680 2925 538 1 + -9.702 -18.937 3.635 -0.000 -0.500 -0.866 2925 538 1 + -11.980 -18.244 3.096 0.259 -0.323 -0.910 2926 550 1 + -10.390 -16.664 0.374 0.259 -0.957 0.132 2927 570 1 + -10.390 -16.664 -0.086 0.259 -0.957 -0.132 2927 570 1 + -10.843 -16.679 0.597 -0.000 -0.966 0.259 2927 570 1 + -10.843 -16.739 0.144 -0.000 -1.000 -0.000 2927 570 1 + -10.843 -16.679 -0.309 -0.000 -0.966 -0.259 2927 570 1 + -11.296 -16.664 0.374 -0.259 -0.957 0.132 2927 570 1 + -11.296 -16.664 -0.086 -0.259 -0.957 -0.132 2927 570 1 + -11.718 -16.505 0.144 -0.500 -0.866 -0.000 2927 570 1 + -11.718 -16.430 -0.324 -0.500 -0.824 -0.268 2927 570 1 + -12.080 -16.132 -0.330 -0.707 -0.653 -0.271 2927 570 1 + -12.359 -15.829 -0.103 -0.866 -0.480 -0.141 2927 570 1 + -9.663 -16.067 -1.799 0.588 -0.747 -0.310 2928 571 1 + -10.095 -16.362 -1.562 0.309 -0.938 -0.157 2928 571 1 + -10.095 -16.204 -2.021 0.309 -0.836 -0.453 2928 571 1 + -10.095 -15.906 -2.404 0.309 -0.644 -0.700 2928 571 1 + -10.574 -16.441 -1.550 -0.000 -0.989 -0.149 2928 571 1 + -10.574 -16.305 -1.992 -0.000 -0.901 -0.434 2928 571 1 + -10.574 -16.044 -2.373 -0.000 -0.733 -0.680 2928 571 1 + -10.574 -15.683 -2.661 -0.000 -0.500 -0.866 2928 571 1 + -10.574 -15.253 -2.830 -0.000 -0.223 -0.975 2928 571 1 + -11.053 -16.204 -2.021 -0.309 -0.836 -0.453 2928 571 1 + -11.053 -15.906 -2.404 -0.309 -0.644 -0.700 2928 571 1 + -11.053 -15.500 -2.669 -0.309 -0.382 -0.871 2928 571 1 + -11.053 -15.030 -2.788 -0.309 -0.079 -0.948 2928 571 1 + -11.485 -16.067 -1.799 -0.588 -0.747 -0.310 2928 571 1 + -11.485 -15.795 -2.206 -0.588 -0.572 -0.572 2928 571 1 + -11.485 -15.388 -2.478 -0.588 -0.310 -0.747 2928 571 1 + -11.485 -14.908 -2.573 -0.588 0.000 -0.809 2928 571 1 + -11.828 -15.697 -1.775 -0.809 -0.509 -0.294 2928 571 1 + -11.828 -15.364 -2.108 -0.809 -0.294 -0.509 2928 571 1 + -11.828 -14.908 -2.230 -0.809 0.000 -0.588 2928 571 1 + -10.232 -13.093 -3.683 -0.309 -0.382 -0.871 2929 481 1 + -10.655 -12.983 -3.495 -0.588 -0.310 -0.747 2929 481 1 + -10.992 -12.512 -3.252 -0.809 0.000 -0.588 2929 481 1 + -13.289 -10.337 -3.334 -0.000 -0.966 -0.259 2930 502 1 + -13.289 -10.163 -3.756 -0.000 -0.866 -0.500 2930 502 1 + -13.742 -10.322 -3.111 -0.259 -0.957 -0.132 2930 502 1 + -13.742 -10.197 -3.554 -0.259 -0.886 -0.385 2930 502 1 + -13.742 -9.958 -3.948 -0.259 -0.749 -0.610 2930 502 1 + -13.742 -9.622 -4.262 -0.259 -0.557 -0.789 2930 502 1 + -13.742 -9.213 -4.474 -0.259 -0.323 -0.910 2930 502 1 + -13.742 -8.762 -4.567 -0.259 -0.066 -0.964 2930 502 1 + -14.164 -10.163 -2.881 -0.500 -0.866 -0.000 2930 502 1 + -14.164 -10.088 -3.349 -0.500 -0.824 -0.268 2930 502 1 + -14.164 -9.873 -3.772 -0.500 -0.701 -0.509 2930 502 1 + -14.164 -9.538 -4.107 -0.500 -0.509 -0.701 2930 502 1 + -14.164 -9.115 -4.322 -0.500 -0.268 -0.824 2930 502 1 + -14.164 -8.647 -4.397 -0.500 0.000 -0.866 2930 502 1 + -14.526 -9.790 -2.407 -0.707 -0.653 0.271 2930 502 1 + -14.526 -9.884 -2.881 -0.707 -0.707 -0.000 2930 502 1 + -14.526 -9.790 -3.355 -0.707 -0.653 -0.271 2930 502 1 + -14.526 -9.522 -3.756 -0.707 -0.500 -0.500 2930 502 1 + -14.526 -9.121 -4.024 -0.707 -0.271 -0.653 2930 502 1 + -14.526 -8.647 -4.118 -0.707 0.000 -0.707 2930 502 1 + -14.805 -8.284 -2.085 -0.866 0.208 0.455 2930 502 1 + -14.805 -8.772 -2.015 -0.866 -0.071 0.495 2930 502 1 + -14.805 -9.220 -2.220 -0.866 -0.327 0.378 2930 502 1 + -14.805 -9.487 -2.634 -0.866 -0.480 0.141 2930 502 1 + -14.805 -9.487 -3.128 -0.866 -0.480 -0.141 2930 502 1 + -14.805 -9.220 -3.542 -0.866 -0.327 -0.378 2930 502 1 + -14.805 -8.772 -3.747 -0.866 -0.071 -0.495 2930 502 1 + -14.979 -8.194 -2.881 -0.966 0.259 0.000 2930 502 1 + -14.979 -8.421 -2.489 -0.966 0.129 0.224 2930 502 1 + -14.979 -8.873 -2.489 -0.966 -0.129 0.224 2930 502 1 + -14.979 -9.100 -2.881 -0.966 -0.259 -0.000 2930 502 1 + -14.979 -8.873 -3.273 -0.966 -0.129 -0.224 2930 502 1 + -14.979 -8.421 -3.273 -0.966 0.129 -0.224 2930 502 1 + -15.039 -8.647 -2.881 -1.000 -0.000 -0.000 2930 502 1 + -12.105 -4.843 -1.881 0.809 0.294 -0.509 2931 589 1 + -12.442 -4.420 -1.977 0.588 0.572 -0.572 2931 589 1 + -12.865 -4.499 -2.317 0.309 0.520 -0.796 2931 589 1 + -12.865 -4.149 -1.995 0.309 0.751 -0.584 2931 589 1 + -13.335 -4.342 -2.295 -0.000 0.623 -0.782 2931 589 1 + -13.805 -4.499 -2.317 -0.309 0.520 -0.796 2931 589 1 + -13.705 -3.387 -1.374 -0.000 0.707 -0.707 2933 588 1 + -13.705 -3.108 -1.012 -0.000 0.866 -0.500 2933 588 1 + -14.158 -3.470 -1.372 -0.259 0.659 -0.706 2933 588 1 + -8.501 -2.516 1.152 0.809 0.588 0.000 2935 586 1 + -8.501 -2.962 0.378 0.809 0.294 -0.509 2935 586 1 + -8.501 -2.635 0.705 0.809 0.509 -0.294 2935 586 1 + -8.838 -2.938 0.016 0.588 0.310 -0.747 2935 586 1 + -8.838 -2.539 0.282 0.588 0.572 -0.572 2935 586 1 + -8.838 -2.273 0.681 0.588 0.747 -0.310 2935 586 1 + -9.261 -3.528 -0.289 0.309 -0.079 -0.948 2935 586 1 + -9.261 -3.054 -0.249 0.309 0.233 -0.922 2935 586 1 + -9.261 -2.618 -0.058 0.309 0.520 -0.796 2935 586 1 + -9.261 -2.268 0.264 0.309 0.751 -0.584 2935 586 1 + -9.261 -2.042 0.683 0.309 0.900 -0.309 2935 586 1 + -9.731 -3.747 -0.330 -0.000 -0.223 -0.975 2935 586 1 + -9.731 -3.295 -0.364 -0.000 0.075 -0.997 2935 586 1 + -9.731 -2.854 -0.263 -0.000 0.365 -0.931 2935 586 1 + -9.731 -2.461 -0.036 -0.000 0.623 -0.782 2935 586 1 + -9.731 -2.153 0.296 -0.000 0.826 -0.563 2935 586 1 + -9.731 -1.957 0.704 -0.000 0.956 -0.295 2935 586 1 + -10.201 -2.268 0.264 -0.309 0.751 -0.584 2935 586 1 + -10.201 -2.042 0.683 -0.309 0.900 -0.309 2935 586 1 + -5.792 -1.759 7.305 -0.000 1.000 0.000 2938 601 1 + -5.792 -1.993 6.430 -0.000 0.866 -0.500 2938 601 1 + -5.792 -1.819 6.852 -0.000 0.966 -0.259 2938 601 1 + -2.904 -1.759 6.056 0.259 0.825 -0.502 2939 603 1 + -2.904 -1.575 6.478 0.259 0.930 -0.261 2939 603 1 + -3.357 -1.453 6.934 -0.000 1.000 0.000 2939 603 1 + -3.357 -1.966 5.697 -0.000 0.707 -0.707 2939 603 1 + -3.357 -1.687 6.059 -0.000 0.866 -0.500 2939 603 1 + -3.357 -1.513 6.481 -0.000 0.966 -0.259 2939 603 1 + -3.810 -1.513 6.934 -0.259 0.966 0.000 2939 603 1 + -3.810 -1.575 7.390 -0.259 0.930 0.261 2939 603 1 + -3.810 -2.049 5.699 -0.259 0.659 -0.706 2939 603 1 + -3.810 -1.759 6.056 -0.259 0.825 -0.502 2939 603 1 + -3.810 -1.575 6.478 -0.259 0.930 -0.261 2939 603 1 + -1.304 2.631 12.267 -0.000 1.000 0.000 2941 60 1 + -1.757 2.325 11.389 -0.259 0.825 -0.502 2941 60 1 + -1.757 2.509 11.811 -0.259 0.930 -0.261 2941 60 1 + -2.179 2.107 11.376 -0.500 0.701 -0.509 2941 60 1 + -2.179 2.322 11.799 -0.500 0.824 -0.268 2941 60 1 + -2.541 1.355 11.124 -0.707 0.271 -0.653 2941 60 1 + -2.541 1.756 11.392 -0.707 0.500 -0.500 2941 60 1 + -2.196 4.438 15.366 0.809 0.588 0.000 2942 28 1 + -2.196 4.319 15.813 0.809 0.509 0.294 2942 28 1 + -2.196 3.992 16.140 0.809 0.294 0.509 2942 28 1 + -2.196 4.319 14.919 0.809 0.509 -0.294 2942 28 1 + -1.988 7.564 14.254 0.966 -0.259 -0.000 2943 22 1 + -1.988 7.791 13.862 0.966 -0.129 -0.224 2943 22 1 + -1.988 8.243 13.862 0.966 0.129 -0.224 2943 22 1 + -2.162 7.259 14.691 0.866 -0.433 0.250 2943 22 1 + -2.162 7.142 14.254 0.866 -0.500 -0.000 2943 22 1 + -2.162 7.259 13.816 0.866 -0.433 -0.250 2943 22 1 + -2.162 7.580 13.496 0.866 -0.250 -0.433 2943 22 1 + -2.162 8.017 13.379 0.866 0.000 -0.500 2943 22 1 + -2.162 8.455 13.496 0.866 0.250 -0.433 2943 22 1 + -2.441 6.874 13.780 0.707 -0.653 -0.271 2943 22 1 + -2.441 7.142 13.379 0.707 -0.500 -0.500 2943 22 1 + -2.441 7.543 13.111 0.707 -0.271 -0.653 2943 22 1 + -2.441 8.017 13.017 0.707 0.000 -0.707 2943 22 1 + -2.441 8.491 13.111 0.707 0.271 -0.653 2943 22 1 + -2.441 8.892 13.379 0.707 0.500 -0.500 2943 22 1 + -2.803 6.791 13.363 0.500 -0.701 -0.509 2943 22 1 + -2.803 7.126 13.028 0.500 -0.509 -0.701 2943 22 1 + -2.803 7.549 12.813 0.500 -0.268 -0.824 2943 22 1 + -2.803 8.017 12.738 0.500 0.000 -0.866 2943 22 1 + -2.803 8.485 12.813 0.500 0.268 -0.824 2943 22 1 + -2.803 8.908 13.028 0.500 0.509 -0.701 2943 22 1 + -2.803 9.243 13.363 0.500 0.701 -0.509 2943 22 1 + -3.225 7.042 12.873 0.259 -0.557 -0.789 2943 22 1 + -3.225 7.451 12.661 0.259 -0.323 -0.910 2943 22 1 + -3.225 7.902 12.568 0.259 -0.066 -0.964 2943 22 1 + -3.225 8.361 12.599 0.259 0.197 -0.946 2943 22 1 + -3.225 8.795 12.753 0.259 0.444 -0.858 2943 22 1 + -3.225 9.171 13.019 0.259 0.659 -0.706 2943 22 1 + -3.678 7.564 12.564 -0.000 -0.259 -0.966 2943 22 1 + -3.678 8.017 12.504 -0.000 0.000 -1.000 2943 22 1 + -3.678 8.470 12.564 -0.000 0.259 -0.966 2943 22 1 + -3.678 8.892 12.738 -0.000 0.500 -0.866 2943 22 1 + -3.678 9.254 13.017 -0.000 0.707 -0.707 2943 22 1 + -3.819 11.243 15.450 0.500 0.866 0.000 2944 24 1 + -3.819 11.168 15.918 0.500 0.824 0.268 2944 24 1 + -3.819 10.953 16.341 0.500 0.701 0.509 2944 24 1 + -3.819 10.618 14.224 0.500 0.509 -0.701 2944 24 1 + -3.819 10.953 14.559 0.500 0.701 -0.509 2944 24 1 + -3.819 11.168 14.982 0.500 0.824 -0.268 2944 24 1 + -4.241 11.417 15.450 0.259 0.966 0.000 2944 24 1 + -4.241 11.355 15.906 0.259 0.930 0.261 2944 24 1 + -4.241 11.171 16.328 0.259 0.825 0.502 2944 24 1 + -4.241 10.881 16.685 0.259 0.659 0.706 2944 24 1 + -4.241 10.505 16.951 0.259 0.444 0.858 2944 24 1 + -4.241 10.505 13.949 0.259 0.444 -0.858 2944 24 1 + -4.241 10.881 14.215 0.259 0.659 -0.706 2944 24 1 + -4.241 11.171 14.572 0.259 0.825 -0.502 2944 24 1 + -4.241 11.355 14.994 0.259 0.930 -0.261 2944 24 1 + -4.694 11.477 15.450 -0.000 1.000 0.000 2944 24 1 + -4.694 11.417 15.903 -0.000 0.966 0.259 2944 24 1 + -4.694 11.243 16.325 -0.000 0.866 0.500 2944 24 1 + -4.694 10.964 16.687 -0.000 0.707 0.707 2944 24 1 + -4.694 10.602 16.966 -0.000 0.500 0.866 2944 24 1 + -4.694 10.180 17.140 -0.000 0.259 0.966 2944 24 1 + -4.694 9.727 17.200 -0.000 -0.000 1.000 2944 24 1 + -4.694 10.602 13.934 -0.000 0.500 -0.866 2944 24 1 + -4.694 10.964 14.213 -0.000 0.707 -0.707 2944 24 1 + -4.694 11.243 14.575 -0.000 0.866 -0.500 2944 24 1 + -4.694 11.417 14.997 -0.000 0.966 -0.259 2944 24 1 + -7.472 12.494 14.995 0.588 0.809 0.000 2946 9 1 + -7.472 11.720 13.836 0.588 0.310 -0.747 2946 9 1 + -7.472 12.127 14.108 0.588 0.572 -0.572 2946 9 1 + -7.472 12.399 14.515 0.588 0.747 -0.310 2946 9 1 + -8.658 12.679 12.955 0.866 0.250 -0.433 2947 2 1 + -8.937 12.241 12.476 0.707 0.000 -0.707 2947 2 1 + -8.937 12.715 12.570 0.707 0.271 -0.653 2947 2 1 + -8.937 13.116 12.838 0.707 0.500 -0.500 2947 2 1 + -9.299 11.773 12.272 0.500 -0.268 -0.824 2947 2 1 + -9.299 12.241 12.197 0.500 0.000 -0.866 2947 2 1 + -9.299 12.709 12.272 0.500 0.268 -0.824 2947 2 1 + -9.299 13.132 12.487 0.500 0.509 -0.701 2947 2 1 + -9.299 13.467 12.822 0.500 0.701 -0.509 2947 2 1 + -9.721 13.019 12.212 0.259 0.444 -0.858 2947 2 1 + -9.721 13.395 12.478 0.259 0.659 -0.706 2947 2 1 + -10.390 11.383 11.653 0.588 -0.310 -0.747 2948 1 1 + -10.822 10.865 11.727 0.309 -0.644 -0.700 2948 1 1 + -10.822 11.271 11.462 0.309 -0.382 -0.871 2948 1 1 + -10.822 11.741 11.343 0.309 -0.079 -0.948 2948 1 1 + -10.822 12.225 11.383 0.309 0.233 -0.922 2948 1 1 + -10.822 12.669 11.578 0.309 0.520 -0.796 2948 1 1 + -11.301 10.727 11.758 -0.000 -0.733 -0.680 2948 1 1 + -11.301 11.088 11.470 -0.000 -0.500 -0.866 2948 1 1 + -11.301 11.518 11.301 -0.000 -0.223 -0.975 2948 1 1 + -11.301 11.979 11.266 -0.000 0.075 -0.997 2948 1 1 + -11.301 12.429 11.369 -0.000 0.365 -0.931 2948 1 1 + -11.301 12.829 11.600 -0.000 0.623 -0.782 2948 1 1 + -11.301 13.144 11.939 -0.000 0.826 -0.563 2948 1 1 + -11.780 10.567 12.110 -0.309 -0.836 -0.453 2948 1 1 + -11.780 10.865 11.727 -0.309 -0.644 -0.700 2948 1 1 + -11.780 11.271 11.462 -0.309 -0.382 -0.871 2948 1 1 + -11.780 11.741 11.343 -0.309 -0.079 -0.948 2948 1 1 + -11.780 12.225 11.383 -0.309 0.233 -0.922 2948 1 1 + -11.780 12.669 11.578 -0.309 0.520 -0.796 2948 1 1 + -11.780 13.026 11.907 -0.309 0.751 -0.584 2948 1 1 + -12.212 10.704 12.332 -0.588 -0.747 -0.310 2948 1 1 + -12.212 10.976 11.925 -0.588 -0.572 -0.572 2948 1 1 + -12.212 11.383 11.653 -0.588 -0.310 -0.747 2948 1 1 + -12.212 11.863 11.558 -0.588 0.000 -0.809 2948 1 1 + -12.212 12.343 11.653 -0.588 0.310 -0.747 2948 1 1 + -12.212 12.750 11.925 -0.588 0.572 -0.572 2948 1 1 + -12.212 13.022 12.332 -0.588 0.747 -0.310 2948 1 1 + -12.555 11.074 13.268 -0.809 -0.509 0.294 2948 1 1 + -12.555 10.952 12.812 -0.809 -0.588 -0.000 2948 1 1 + -12.555 11.074 12.356 -0.809 -0.509 -0.294 2948 1 1 + -12.555 11.407 12.023 -0.809 -0.294 -0.509 2948 1 1 + -12.555 11.863 11.901 -0.809 0.000 -0.588 2948 1 1 + -12.555 12.319 12.023 -0.809 0.294 -0.509 2948 1 1 + -12.555 12.652 12.356 -0.809 0.509 -0.294 2948 1 1 + -12.775 11.384 12.812 -0.951 -0.309 -0.000 2948 1 1 + -12.775 11.624 12.397 -0.951 -0.155 -0.268 2948 1 1 + -12.775 12.102 12.397 -0.951 0.155 -0.268 2948 1 1 + -12.851 11.863 12.812 -1.000 -0.000 -0.000 2948 1 1 + -12.364 11.839 16.471 -0.259 -0.749 0.610 2949 6 1 + -12.786 11.924 16.295 -0.500 -0.701 0.509 2949 6 1 + -12.786 11.709 15.872 -0.500 -0.824 0.268 2949 6 1 + -12.786 11.634 15.404 -0.500 -0.866 -0.000 2949 6 1 + -12.786 14.041 14.178 -0.500 0.509 -0.701 2949 6 1 + -13.148 12.275 16.279 -0.707 -0.500 0.500 2949 6 1 + -13.148 12.007 15.878 -0.707 -0.653 0.271 2949 6 1 + -13.148 11.913 15.404 -0.707 -0.707 -0.000 2949 6 1 + -13.148 12.007 14.930 -0.707 -0.653 -0.271 2949 6 1 + -13.148 13.624 14.261 -0.707 0.271 -0.653 2949 6 1 + -13.148 14.025 14.529 -0.707 0.500 -0.500 2949 6 1 + -13.427 12.310 15.651 -0.866 -0.480 0.141 2949 6 1 + -13.427 12.310 15.157 -0.866 -0.480 -0.141 2949 6 1 + -13.427 12.577 14.743 -0.866 -0.327 -0.378 2949 6 1 + -13.427 13.025 14.538 -0.866 -0.071 -0.495 2949 6 1 + -13.427 13.513 14.608 -0.866 0.208 -0.455 2949 6 1 + -13.601 12.697 15.404 -0.966 -0.259 -0.000 2949 6 1 + -13.601 12.924 15.012 -0.966 -0.129 -0.224 2949 6 1 + -13.601 13.376 15.012 -0.966 0.129 -0.224 2949 6 1 + -8.024 9.001 19.757 0.707 -0.653 0.271 2950 15 1 + -8.386 8.918 20.174 0.500 -0.701 0.509 2950 15 1 + -8.386 8.703 19.751 0.500 -0.824 0.268 2950 15 1 + -8.808 8.833 20.350 0.259 -0.749 0.610 2950 15 1 + -8.808 8.594 19.956 0.259 -0.886 0.385 2950 15 1 + -8.808 8.469 19.513 0.259 -0.957 0.132 2950 15 1 + -9.261 8.628 20.158 -0.000 -0.866 0.500 2950 15 1 + -9.261 8.454 19.736 -0.000 -0.966 0.259 2950 15 1 + -9.261 8.394 19.283 -0.000 -1.000 -0.000 2950 15 1 + -9.714 8.833 20.350 -0.259 -0.749 0.610 2950 15 1 + -9.714 8.594 19.956 -0.259 -0.886 0.385 2950 15 1 + -9.714 8.469 19.513 -0.259 -0.957 0.132 2950 15 1 + -9.714 8.469 19.053 -0.259 -0.957 -0.132 2950 15 1 + -10.136 8.918 20.174 -0.500 -0.701 0.509 2950 15 1 + -10.136 8.703 19.751 -0.500 -0.824 0.268 2950 15 1 + -10.136 8.628 19.283 -0.500 -0.866 -0.000 2950 15 1 + -10.136 8.703 18.815 -0.500 -0.824 -0.268 2950 15 1 + -10.498 9.269 20.158 -0.707 -0.500 0.500 2950 15 1 + -10.498 9.001 19.757 -0.707 -0.653 0.271 2950 15 1 + -10.498 8.907 19.283 -0.707 -0.707 -0.000 2950 15 1 + -10.498 9.001 18.809 -0.707 -0.653 -0.271 2950 15 1 + -10.777 9.304 19.530 -0.866 -0.480 0.141 2950 15 1 + -10.777 9.304 19.036 -0.866 -0.480 -0.141 2950 15 1 + -10.777 9.571 18.622 -0.866 -0.327 -0.378 2950 15 1 + -10.777 10.019 18.417 -0.866 -0.071 -0.495 2950 15 1 + -10.951 9.691 19.283 -0.966 -0.259 -0.000 2950 15 1 + -10.951 9.918 18.891 -0.966 -0.129 -0.224 2950 15 1 + -10.951 10.370 18.891 -0.966 0.129 -0.224 2950 15 1 + -11.011 10.144 19.283 -1.000 -0.000 -0.000 2950 15 1 + -6.702 10.923 18.554 0.966 0.129 0.224 2951 14 1 + -6.876 11.572 18.162 0.866 0.500 0.000 2951 14 1 + -7.155 11.934 18.162 0.707 0.707 0.000 2951 14 1 + -7.517 12.213 18.162 0.500 0.866 0.000 2951 14 1 + -7.517 12.138 17.694 0.500 0.824 -0.268 2951 14 1 + -1.768 8.821 15.511 1.000 0.000 0.000 2952 23 1 + -1.828 9.274 15.511 0.966 0.259 0.000 2952 23 1 + -1.828 9.047 15.903 0.966 0.129 0.224 2952 23 1 + -1.828 8.595 15.903 0.966 -0.129 0.224 2952 23 1 + -1.828 8.368 15.511 0.966 -0.259 -0.000 2952 23 1 + -1.828 9.047 15.119 0.966 0.129 -0.224 2952 23 1 + -2.002 9.696 15.511 0.866 0.500 0.000 2952 23 1 + -2.002 9.579 15.948 0.866 0.433 0.250 2952 23 1 + -2.002 9.259 16.269 0.866 0.250 0.433 2952 23 1 + -2.002 8.821 16.386 0.866 -0.000 0.500 2952 23 1 + -2.002 8.384 16.269 0.866 -0.250 0.433 2952 23 1 + -2.002 8.063 15.948 0.866 -0.433 0.250 2952 23 1 + -2.002 9.579 15.073 0.866 0.433 -0.250 2952 23 1 + -2.281 10.058 15.511 0.707 0.707 0.000 2952 23 1 + -2.281 9.964 15.985 0.707 0.653 0.271 2952 23 1 + -2.281 9.696 16.386 0.707 0.500 0.500 2952 23 1 + -2.281 9.295 16.654 0.707 0.271 0.653 2952 23 1 + -2.281 8.821 16.748 0.707 -0.000 0.707 2952 23 1 + -2.281 8.347 16.654 0.707 -0.271 0.653 2952 23 1 + -2.281 7.946 16.386 0.707 -0.500 0.500 2952 23 1 + -2.281 7.678 15.985 0.707 -0.653 0.271 2952 23 1 + -2.281 9.696 14.636 0.707 0.500 -0.500 2952 23 1 + -2.281 9.964 15.037 0.707 0.653 -0.271 2952 23 1 + -2.643 10.262 15.979 0.500 0.824 0.268 2952 23 1 + -2.643 10.047 16.402 0.500 0.701 0.509 2952 23 1 + -2.643 9.712 16.737 0.500 0.509 0.701 2952 23 1 + -2.643 9.289 16.952 0.500 0.268 0.824 2952 23 1 + -2.643 8.821 17.027 0.500 -0.000 0.866 2952 23 1 + -2.643 8.353 16.952 0.500 -0.268 0.824 2952 23 1 + -2.643 7.930 16.737 0.500 -0.509 0.701 2952 23 1 + -2.643 7.595 16.402 0.500 -0.701 0.509 2952 23 1 + -2.643 10.047 14.620 0.500 0.701 -0.509 2952 23 1 + -3.065 9.599 17.012 0.259 0.444 0.858 2952 23 1 + -3.065 9.165 17.166 0.259 0.197 0.946 2952 23 1 + -3.065 8.706 17.197 0.259 -0.066 0.964 2952 23 1 + -3.065 8.255 17.104 0.259 -0.323 0.910 2952 23 1 + -3.065 7.846 16.892 0.259 -0.557 0.789 2952 23 1 + -3.518 8.821 17.261 -0.000 -0.000 1.000 2952 23 1 + -3.518 8.368 17.201 -0.000 -0.259 0.966 2952 23 1 + -2.548 3.600 17.976 0.866 0.500 0.000 2954 36 1 + -2.548 3.483 18.413 0.866 0.433 0.250 2954 36 1 + -2.827 3.962 17.976 0.707 0.707 0.000 2954 36 1 + -2.827 3.868 18.450 0.707 0.653 0.271 2954 36 1 + -2.827 3.600 18.851 0.707 0.500 0.500 2954 36 1 + -3.189 4.241 17.976 0.500 0.866 0.000 2954 36 1 + -3.189 4.166 18.444 0.500 0.824 0.268 2954 36 1 + -0.041 1.259 22.434 0.866 0.433 0.250 2955 800 1 + -0.320 1.738 21.997 0.707 0.707 0.000 2955 800 1 + -0.320 1.644 22.471 0.707 0.653 0.271 2955 800 1 + -0.320 1.376 22.872 0.707 0.500 0.500 2955 800 1 + -0.682 1.942 21.529 0.500 0.824 -0.268 2955 800 1 + -1.104 1.945 21.119 0.259 0.825 -0.502 2955 800 1 + -0.660 3.948 24.370 1.000 0.000 0.000 2956 814 1 + -0.720 4.401 24.370 0.966 0.259 0.000 2956 814 1 + -0.720 3.495 24.370 0.966 -0.259 -0.000 2956 814 1 + -0.720 3.722 23.978 0.966 -0.129 -0.224 2956 814 1 + -0.720 4.174 23.978 0.966 0.129 -0.224 2956 814 1 + -0.894 3.948 23.495 0.866 0.000 -0.500 2956 814 1 + -0.894 4.385 23.612 0.866 0.250 -0.433 2956 814 1 + -0.894 4.706 23.933 0.866 0.433 -0.250 2956 814 1 + -1.173 3.948 23.133 0.707 0.000 -0.707 2956 814 1 + -1.173 4.422 23.227 0.707 0.271 -0.653 2956 814 1 + -1.173 4.823 23.495 0.707 0.500 -0.500 2956 814 1 + -1.535 4.416 22.929 0.500 0.268 -0.824 2956 814 1 + -1.535 4.839 23.144 0.500 0.509 -0.701 2956 814 1 + 1.033 7.595 26.156 1.000 0.000 0.000 2957 822 1 + 0.959 7.830 26.563 0.951 0.155 0.268 2957 822 1 + 0.959 7.125 26.156 0.951 -0.309 -0.000 2957 822 1 + 0.959 7.360 25.749 0.951 -0.155 -0.268 2957 822 1 + 0.959 7.830 25.749 0.951 0.155 -0.268 2957 822 1 + 0.743 6.702 26.156 0.809 -0.588 -0.000 2957 822 1 + 0.743 6.821 25.709 0.809 -0.509 -0.294 2957 822 1 + 0.743 7.148 25.382 0.809 -0.294 -0.509 2957 822 1 + 0.743 7.595 25.263 0.809 0.000 -0.588 2957 822 1 + 0.743 8.042 25.382 0.809 0.294 -0.509 2957 822 1 + 0.406 6.725 25.286 0.588 -0.572 -0.572 2957 822 1 + 0.406 7.124 25.020 0.588 -0.310 -0.747 2957 822 1 + 0.406 7.595 24.926 0.588 0.000 -0.809 2957 822 1 + 0.406 8.066 25.020 0.588 0.310 -0.747 2957 822 1 + -0.017 7.014 24.832 0.309 -0.382 -0.871 2957 822 1 + -0.017 7.476 24.715 0.309 -0.079 -0.948 2957 822 1 + -0.017 7.950 24.755 0.309 0.233 -0.922 2957 822 1 + -0.487 7.709 24.640 -0.000 0.075 -0.997 2957 822 1 + -1.452 9.842 24.633 0.259 -0.066 -0.964 2958 827 1 + -1.905 9.504 24.629 -0.000 -0.259 -0.966 2958 827 1 + -1.905 9.957 24.569 -0.000 0.000 -1.000 2958 827 1 + -1.905 10.410 24.629 -0.000 0.259 -0.966 2958 827 1 + -2.358 9.391 24.726 -0.259 -0.323 -0.910 2958 827 1 + -2.358 9.842 24.633 -0.259 -0.066 -0.964 2958 827 1 + -2.358 10.301 24.664 -0.259 0.197 -0.946 2958 827 1 + -2.780 9.489 24.878 -0.500 -0.268 -0.824 2958 827 1 + -3.337 8.969 29.752 -0.000 -0.000 1.000 2960 832 1 + -3.790 8.854 29.688 -0.259 -0.066 0.964 2960 832 1 + -3.790 8.403 29.595 -0.259 -0.323 0.910 2960 832 1 + -3.790 7.994 29.383 -0.259 -0.557 0.789 2960 832 1 + -4.212 8.969 29.518 -0.500 -0.000 0.866 2960 832 1 + -4.212 8.501 29.443 -0.500 -0.268 0.824 2960 832 1 + -4.212 8.078 29.228 -0.500 -0.509 0.701 2960 832 1 + -4.212 8.501 26.561 -0.500 -0.268 -0.824 2960 832 1 + -4.574 8.969 29.239 -0.707 -0.000 0.707 2960 832 1 + -4.574 8.495 29.145 -0.707 -0.271 0.653 2960 832 1 + -4.574 8.094 28.877 -0.707 -0.500 0.500 2960 832 1 + -4.574 8.495 26.859 -0.707 -0.271 -0.653 2960 832 1 + -4.853 8.844 28.868 -0.866 -0.071 0.495 2960 832 1 + -4.853 8.396 28.663 -0.866 -0.327 0.378 2960 832 1 + -4.853 8.129 28.249 -0.866 -0.480 0.141 2960 832 1 + -4.853 8.129 27.755 -0.866 -0.480 -0.141 2960 832 1 + -4.853 8.396 27.341 -0.866 -0.327 -0.378 2960 832 1 + -4.853 8.844 27.136 -0.866 -0.071 -0.495 2960 832 1 + -5.027 8.743 28.394 -0.966 -0.129 0.224 2960 832 1 + -5.027 8.516 28.002 -0.966 -0.259 -0.000 2960 832 1 + -5.027 8.743 27.610 -0.966 -0.129 -0.224 2960 832 1 + -5.087 8.969 28.002 -1.000 -0.000 -0.000 2960 832 1 + -4.242 5.259 28.629 -0.309 0.233 0.922 2961 813 1 + -4.242 4.785 28.669 -0.309 -0.079 0.948 2961 813 1 + -4.242 4.323 28.552 -0.309 -0.382 0.871 2961 813 1 + -4.665 5.375 28.364 -0.588 0.310 0.747 2961 813 1 + -4.665 4.904 28.458 -0.588 -0.000 0.809 2961 813 1 + -4.665 4.433 28.364 -0.588 -0.310 0.747 2961 813 1 + -5.002 5.797 27.228 -0.809 0.588 0.000 2961 813 1 + -5.002 5.678 27.675 -0.809 0.509 0.294 2961 813 1 + -5.002 5.351 28.002 -0.809 0.294 0.509 2961 813 1 + -5.002 4.904 28.121 -0.809 -0.000 0.588 2961 813 1 + -5.002 4.457 28.002 -0.809 -0.294 0.509 2961 813 1 + -5.218 5.139 27.635 -0.951 0.155 0.268 2961 813 1 + -7.829 1.463 29.320 -0.000 1.000 0.000 2963 809 1 + -7.829 1.395 29.768 -0.000 0.956 0.295 2963 809 1 + -7.829 0.891 28.132 -0.000 0.623 -0.782 2963 809 1 + -7.829 1.199 28.464 -0.000 0.826 -0.563 2963 809 1 + -7.829 1.395 28.872 -0.000 0.956 -0.295 2963 809 1 + -8.299 1.389 29.320 -0.309 0.951 0.000 2963 809 1 + -8.299 1.310 29.789 -0.309 0.900 0.309 2963 809 1 + -8.299 1.084 30.208 -0.309 0.751 0.584 2963 809 1 + -8.299 0.734 30.530 -0.309 0.520 0.796 2963 809 1 + -8.299 0.298 27.919 -0.309 0.233 -0.922 2963 809 1 + -8.299 0.734 28.110 -0.309 0.520 -0.796 2963 809 1 + -8.299 1.084 28.432 -0.309 0.751 -0.584 2963 809 1 + -8.299 1.310 28.851 -0.309 0.900 -0.309 2963 809 1 + -8.722 1.173 29.320 -0.588 0.809 0.000 2963 809 1 + -8.722 1.079 29.791 -0.588 0.747 0.310 2963 809 1 + -8.722 0.813 30.190 -0.588 0.572 0.572 2963 809 1 + -8.722 0.414 30.456 -0.588 0.310 0.747 2963 809 1 + -8.722 -0.057 30.550 -0.588 -0.000 0.809 2963 809 1 + -8.722 -0.057 28.090 -0.588 0.000 -0.809 2963 809 1 + -8.722 0.414 28.184 -0.588 0.310 -0.747 2963 809 1 + -8.722 0.813 28.450 -0.588 0.572 -0.572 2963 809 1 + -8.722 1.079 28.849 -0.588 0.747 -0.310 2963 809 1 + -9.059 0.836 29.320 -0.809 0.588 0.000 2963 809 1 + -9.059 0.717 29.767 -0.809 0.509 0.294 2963 809 1 + -9.059 0.390 30.094 -0.809 0.294 0.509 2963 809 1 + -9.059 -0.057 30.213 -0.809 -0.000 0.588 2963 809 1 + -9.059 0.390 28.546 -0.809 0.294 -0.509 2963 809 1 + -9.059 0.717 28.873 -0.809 0.509 -0.294 2963 809 1 + -9.275 0.413 29.320 -0.951 0.309 0.000 2963 809 1 + -9.275 0.178 29.727 -0.951 0.155 0.268 2963 809 1 + -9.275 -0.292 29.727 -0.951 -0.155 0.268 2963 809 1 + -9.275 0.178 28.913 -0.951 0.155 -0.268 2963 809 1 + -9.349 -0.057 29.320 -1.000 -0.000 -0.000 2963 809 1 + -8.629 -2.668 31.768 -0.000 0.623 0.782 2964 214 1 + -9.108 -2.471 31.461 -0.309 0.751 0.584 2964 214 1 + -9.540 -2.475 31.036 -0.588 0.747 0.310 2964 214 1 + -8.756 -3.935 32.555 0.259 0.444 0.858 2965 213 1 + -9.209 -3.838 32.570 -0.000 0.500 0.866 2965 213 1 + -9.209 -4.260 32.744 -0.000 0.259 0.966 2965 213 1 + -9.209 -4.713 32.804 -0.000 -0.000 1.000 2965 213 1 + -9.209 -5.166 32.744 -0.000 -0.259 0.966 2965 213 1 + -9.209 -5.588 32.570 -0.000 -0.500 0.866 2965 213 1 + -9.209 -5.950 32.291 -0.000 -0.707 0.707 2965 213 1 + -9.662 -3.559 32.289 -0.259 0.659 0.706 2965 213 1 + -9.662 -3.935 32.555 -0.259 0.444 0.858 2965 213 1 + -9.662 -4.369 32.709 -0.259 0.197 0.946 2965 213 1 + -9.662 -4.828 32.740 -0.259 -0.066 0.964 2965 213 1 + -9.662 -5.279 32.647 -0.259 -0.323 0.910 2965 213 1 + -9.662 -5.688 32.435 -0.259 -0.557 0.789 2965 213 1 + -9.662 -6.024 32.121 -0.259 -0.749 0.610 2965 213 1 + -10.084 -3.487 31.945 -0.500 0.701 0.509 2965 213 1 + -10.084 -3.822 32.280 -0.500 0.509 0.701 2965 213 1 + -10.084 -4.245 32.495 -0.500 0.268 0.824 2965 213 1 + -10.084 -4.713 32.570 -0.500 -0.000 0.866 2965 213 1 + -10.084 -5.181 32.495 -0.500 -0.268 0.824 2965 213 1 + -10.084 -5.604 32.280 -0.500 -0.509 0.701 2965 213 1 + -10.084 -5.939 31.945 -0.500 -0.701 0.509 2965 213 1 + -10.446 -3.570 31.528 -0.707 0.653 0.271 2965 213 1 + -10.446 -3.838 31.929 -0.707 0.500 0.500 2965 213 1 + -10.446 -4.239 32.197 -0.707 0.271 0.653 2965 213 1 + -10.446 -4.713 32.291 -0.707 -0.000 0.707 2965 213 1 + -10.446 -5.187 32.197 -0.707 -0.271 0.653 2965 213 1 + -10.446 -5.588 31.929 -0.707 -0.500 0.500 2965 213 1 + -10.446 -5.856 31.528 -0.707 -0.653 0.271 2965 213 1 + -10.725 -3.838 31.054 -0.866 0.500 0.000 2965 213 1 + -10.725 -3.977 31.527 -0.866 0.421 0.270 2965 213 1 + -10.725 -4.350 31.850 -0.866 0.208 0.455 2965 213 1 + -10.725 -4.838 31.920 -0.866 -0.071 0.495 2965 213 1 + -10.725 -5.286 31.715 -0.866 -0.327 0.378 2965 213 1 + -10.725 -5.553 31.301 -0.866 -0.480 0.141 2965 213 1 + -10.899 -4.260 31.054 -0.966 0.259 0.000 2965 213 1 + -10.899 -4.487 31.446 -0.966 0.129 0.224 2965 213 1 + -10.899 -4.939 31.446 -0.966 -0.129 0.224 2965 213 1 + -8.925 -6.875 31.324 -0.000 -0.733 0.680 2966 211 1 + -8.925 -7.136 30.943 -0.000 -0.901 0.434 2966 211 1 + -9.404 -7.035 30.972 -0.309 -0.836 0.453 2966 211 1 + -9.404 -7.193 30.513 -0.309 -0.938 0.157 2966 211 1 + -9.404 -7.193 30.027 -0.309 -0.938 -0.157 2966 211 1 + -9.836 -6.898 30.750 -0.588 -0.747 0.310 2966 211 1 + -9.836 -6.993 30.270 -0.588 -0.809 -0.000 2966 211 1 + -4.107 -9.209 31.467 0.588 -0.572 0.572 2968 197 1 + -4.530 -9.318 31.661 0.309 -0.644 0.700 2968 197 1 + -4.530 -9.610 31.285 0.309 -0.836 0.453 2968 197 1 + -5.000 -9.453 31.631 -0.000 -0.733 0.680 2968 197 1 + -5.000 -9.708 31.257 -0.000 -0.901 0.434 2968 197 1 + -5.470 -9.318 31.661 -0.309 -0.644 0.700 2968 197 1 + -5.470 -9.610 31.285 -0.309 -0.836 0.453 2968 197 1 + -5.893 -9.209 31.467 -0.588 -0.572 0.572 2968 197 1 + -5.893 -9.475 31.068 -0.588 -0.747 0.310 2968 197 1 + -6.230 -8.786 31.371 -0.809 -0.294 0.509 2968 197 1 + -6.230 -9.113 31.044 -0.809 -0.509 0.294 2968 197 1 + -5.369 -12.644 29.590 0.309 -0.079 0.948 2970 221 1 + -3.361 -15.245 30.375 -0.000 -0.000 1.000 2971 383 1 + -3.361 -15.698 30.315 -0.000 -0.259 0.966 2971 383 1 + -3.361 -16.120 30.141 -0.000 -0.500 0.866 2971 383 1 + -3.361 -16.482 29.862 -0.000 -0.707 0.707 2971 383 1 + -3.814 -14.467 30.126 -0.259 0.444 0.858 2971 383 1 + -3.814 -14.901 30.280 -0.259 0.197 0.946 2971 383 1 + -3.814 -15.360 30.311 -0.259 -0.066 0.964 2971 383 1 + -3.814 -15.811 30.218 -0.259 -0.323 0.910 2971 383 1 + -3.814 -16.220 30.006 -0.259 -0.557 0.789 2971 383 1 + -3.814 -16.556 29.692 -0.259 -0.749 0.610 2971 383 1 + -3.814 -16.795 29.298 -0.259 -0.886 0.385 2971 383 1 + -3.814 -16.920 28.855 -0.259 -0.957 0.132 2971 383 1 + -3.814 -16.920 28.395 -0.259 -0.957 -0.132 2971 383 1 + -4.236 -14.777 30.066 -0.500 0.268 0.824 2971 383 1 + -4.236 -15.245 30.141 -0.500 -0.000 0.866 2971 383 1 + -4.236 -15.713 30.066 -0.500 -0.268 0.824 2971 383 1 + -4.236 -16.136 29.851 -0.500 -0.509 0.701 2971 383 1 + -4.236 -16.471 29.516 -0.500 -0.701 0.509 2971 383 1 + -4.236 -16.686 29.093 -0.500 -0.824 0.268 2971 383 1 + -4.236 -16.761 28.625 -0.500 -0.866 -0.000 2971 383 1 + -4.598 -15.245 29.862 -0.707 -0.000 0.707 2971 383 1 + -4.598 -15.719 29.768 -0.707 -0.271 0.653 2971 383 1 + -4.598 -16.120 29.500 -0.707 -0.500 0.500 2971 383 1 + -4.598 -16.388 29.099 -0.707 -0.653 0.271 2971 383 1 + -4.598 -16.482 28.625 -0.707 -0.707 -0.000 2971 383 1 + -4.877 -15.818 29.286 -0.866 -0.327 0.378 2971 383 1 + -4.877 -16.085 28.872 -0.866 -0.480 0.141 2971 383 1 + -4.877 -16.085 28.378 -0.866 -0.480 -0.141 2971 383 1 + -5.937 -17.660 26.012 0.259 -0.323 0.910 2975 377 1 + -5.062 -20.617 24.166 0.951 0.155 0.268 2976 737 1 + -5.062 -21.095 24.166 0.951 -0.155 0.268 2976 737 1 + -5.062 -21.335 23.751 0.951 -0.309 -0.000 2976 737 1 + -5.282 -20.400 24.540 0.809 0.294 0.509 2976 737 1 + -5.282 -20.856 24.662 0.809 -0.000 0.588 2976 737 1 + -5.282 -21.312 24.540 0.809 -0.294 0.509 2976 737 1 + -5.282 -21.645 24.207 0.809 -0.509 0.294 2976 737 1 + -5.282 -21.767 23.751 0.809 -0.588 -0.000 2976 737 1 + -5.625 -20.856 25.005 0.588 -0.000 0.809 2976 737 1 + -5.625 -21.336 24.910 0.588 -0.310 0.747 2976 737 1 + -5.625 -21.743 24.638 0.588 -0.572 0.572 2976 737 1 + -5.625 -22.015 24.231 0.588 -0.747 0.310 2976 737 1 + -5.625 -22.110 23.751 0.588 -0.809 -0.000 2976 737 1 + -6.057 -20.494 25.180 0.309 0.233 0.922 2976 737 1 + -6.057 -20.978 25.220 0.309 -0.079 0.948 2976 737 1 + -6.057 -21.448 25.101 0.309 -0.382 0.871 2976 737 1 + -6.057 -21.854 24.836 0.309 -0.644 0.700 2976 737 1 + -6.057 -22.152 24.453 0.309 -0.836 0.453 2976 737 1 + -6.057 -22.310 23.994 0.309 -0.938 0.157 2976 737 1 + -6.057 -22.310 23.508 0.309 -0.938 -0.157 2976 737 1 + -6.536 -20.740 25.297 -0.000 0.075 0.997 2976 737 1 + -6.536 -21.201 25.262 -0.000 -0.223 0.975 2976 737 1 + -6.536 -21.631 25.093 -0.000 -0.500 0.866 2976 737 1 + -6.536 -21.992 24.805 -0.000 -0.733 0.680 2976 737 1 + -6.536 -22.253 24.424 -0.000 -0.901 0.434 2976 737 1 + -6.536 -22.389 23.982 -0.000 -0.989 0.149 2976 737 1 + -7.015 -20.978 25.220 -0.309 -0.079 0.948 2976 737 1 + -7.015 -21.448 25.101 -0.309 -0.382 0.871 2976 737 1 + -7.015 -21.854 24.836 -0.309 -0.644 0.700 2976 737 1 + -7.015 -22.152 24.453 -0.309 -0.836 0.453 2976 737 1 + -7.447 -21.336 24.910 -0.588 -0.310 0.747 2976 737 1 + -7.447 -21.743 24.638 -0.588 -0.572 0.572 2976 737 1 + -6.091 -22.031 22.058 0.500 -0.824 -0.268 2977 735 1 + -6.513 -22.265 22.296 0.259 -0.957 -0.132 2977 735 1 + -5.040 -20.897 21.688 0.809 -0.588 -0.000 2978 736 1 + -5.377 -21.140 21.217 0.588 -0.747 -0.310 2978 736 1 + -5.377 -20.874 20.818 0.588 -0.572 -0.572 2978 736 1 + -5.800 -20.983 20.624 0.309 -0.644 -0.700 2978 736 1 + -6.677 -19.787 17.319 0.951 -0.155 -0.268 2979 709 1 + -6.893 -19.999 16.952 0.809 -0.294 -0.509 2979 709 1 + -5.541 -24.227 16.796 1.000 0.000 0.000 2980 728 1 + -5.617 -23.748 16.796 0.951 0.309 0.000 2980 728 1 + -5.617 -23.988 17.211 0.951 0.155 0.268 2980 728 1 + -5.617 -24.466 17.211 0.951 -0.155 0.268 2980 728 1 + -5.617 -24.706 16.796 0.951 -0.309 -0.000 2980 728 1 + -5.617 -24.466 16.381 0.951 -0.155 -0.268 2980 728 1 + -5.617 -23.988 16.381 0.951 0.155 -0.268 2980 728 1 + -5.837 -23.316 16.796 0.809 0.588 0.000 2980 728 1 + -5.837 -23.438 17.252 0.809 0.509 0.294 2980 728 1 + -5.837 -23.771 17.585 0.809 0.294 0.509 2980 728 1 + -5.837 -24.227 17.707 0.809 -0.000 0.588 2980 728 1 + -5.837 -24.683 17.585 0.809 -0.294 0.509 2980 728 1 + -5.837 -25.016 17.252 0.809 -0.509 0.294 2980 728 1 + -5.837 -25.138 16.796 0.809 -0.588 -0.000 2980 728 1 + -5.837 -25.016 16.340 0.809 -0.509 -0.294 2980 728 1 + -5.837 -24.683 16.007 0.809 -0.294 -0.509 2980 728 1 + -5.837 -24.227 15.885 0.809 0.000 -0.588 2980 728 1 + -5.837 -23.771 16.007 0.809 0.294 -0.509 2980 728 1 + -5.837 -23.438 16.340 0.809 0.509 -0.294 2980 728 1 + -6.180 -22.973 16.796 0.588 0.809 0.000 2980 728 1 + -6.180 -23.068 17.276 0.588 0.747 0.310 2980 728 1 + -6.180 -24.707 17.955 0.588 -0.310 0.747 2980 728 1 + -6.180 -25.114 17.683 0.588 -0.572 0.572 2980 728 1 + -6.180 -25.386 17.276 0.588 -0.747 0.310 2980 728 1 + -6.180 -25.481 16.796 0.588 -0.809 -0.000 2980 728 1 + -6.180 -25.386 16.316 0.588 -0.747 -0.310 2980 728 1 + -6.180 -25.114 15.909 0.588 -0.572 -0.572 2980 728 1 + -6.180 -24.707 15.637 0.588 -0.310 -0.747 2980 728 1 + -6.180 -24.227 15.542 0.588 0.000 -0.809 2980 728 1 + -6.180 -23.747 15.637 0.588 0.310 -0.747 2980 728 1 + -6.180 -23.340 15.909 0.588 0.572 -0.572 2980 728 1 + -6.180 -23.068 16.316 0.588 0.747 -0.310 2980 728 1 + -6.612 -25.523 16.094 0.309 -0.836 -0.453 2980 728 1 + -6.612 -23.421 15.562 0.309 0.520 -0.796 2980 728 1 + -7.371 -25.779 18.269 0.500 -0.701 0.509 2981 726 1 + -7.793 -25.864 18.445 0.259 -0.749 0.610 2981 726 1 + -6.756 -25.051 12.285 1.000 0.000 0.000 2982 720 1 + -6.832 -24.572 12.285 0.951 0.309 0.000 2982 720 1 + -6.832 -24.812 12.700 0.951 0.155 0.268 2982 720 1 + -6.832 -25.290 12.700 0.951 -0.155 0.268 2982 720 1 + -6.832 -25.530 12.285 0.951 -0.309 -0.000 2982 720 1 + -6.832 -25.290 11.870 0.951 -0.155 -0.268 2982 720 1 + -6.832 -24.812 11.870 0.951 0.155 -0.268 2982 720 1 + -7.052 -24.262 12.741 0.809 0.509 0.294 2982 720 1 + -7.052 -25.507 13.074 0.809 -0.294 0.509 2982 720 1 + -7.052 -25.840 12.741 0.809 -0.509 0.294 2982 720 1 + -7.052 -25.962 12.285 0.809 -0.588 -0.000 2982 720 1 + -7.052 -25.840 11.829 0.809 -0.509 -0.294 2982 720 1 + -7.052 -25.507 11.496 0.809 -0.294 -0.509 2982 720 1 + -7.052 -25.051 11.374 0.809 0.000 -0.588 2982 720 1 + -7.052 -24.595 11.496 0.809 0.294 -0.509 2982 720 1 + -7.395 -25.938 13.172 0.588 -0.572 0.572 2982 720 1 + -7.395 -26.210 12.765 0.588 -0.747 0.310 2982 720 1 + -7.395 -26.305 12.285 0.588 -0.809 -0.000 2982 720 1 + -7.395 -26.210 11.805 0.588 -0.747 -0.310 2982 720 1 + -7.395 -25.938 11.398 0.588 -0.572 -0.572 2982 720 1 + -7.395 -25.531 11.126 0.588 -0.310 -0.747 2982 720 1 + -7.395 -25.051 11.031 0.588 0.000 -0.809 2982 720 1 + -7.395 -24.571 11.126 0.588 0.310 -0.747 2982 720 1 + -7.827 -26.347 12.987 0.309 -0.836 0.453 2982 720 1 + -7.827 -26.505 12.528 0.309 -0.938 0.157 2982 720 1 + -7.827 -26.505 12.042 0.309 -0.938 -0.157 2982 720 1 + -7.827 -26.347 11.583 0.309 -0.836 -0.453 2982 720 1 + -7.827 -26.049 11.200 0.309 -0.644 -0.700 2982 720 1 + -7.827 -25.643 10.935 0.309 -0.382 -0.871 2982 720 1 + -8.306 -26.448 12.958 -0.000 -0.901 0.434 2982 720 1 + -8.306 -26.584 12.516 -0.000 -0.989 0.149 2982 720 1 + -8.306 -26.584 12.054 -0.000 -0.989 -0.149 2982 720 1 + -8.306 -26.448 11.612 -0.000 -0.901 -0.434 2982 720 1 + -8.306 -26.187 11.231 -0.000 -0.733 -0.680 2982 720 1 + -8.785 -26.347 12.987 -0.309 -0.836 0.453 2982 720 1 + -10.056 -26.419 11.022 0.309 -0.836 -0.453 2984 719 1 + -10.056 -26.121 10.639 0.309 -0.644 -0.700 2984 719 1 + -10.056 -25.715 10.374 0.309 -0.382 -0.871 2984 719 1 + -10.535 -26.259 12.778 -0.000 -0.733 0.680 2984 719 1 + -10.535 -26.520 12.397 -0.000 -0.901 0.434 2984 719 1 + -10.535 -26.656 11.955 -0.000 -0.989 0.149 2984 719 1 + -10.535 -26.656 11.493 -0.000 -0.989 -0.149 2984 719 1 + -10.535 -26.520 11.051 -0.000 -0.901 -0.434 2984 719 1 + -10.535 -26.259 10.670 -0.000 -0.733 -0.680 2984 719 1 + -10.535 -25.898 10.382 -0.000 -0.500 -0.866 2984 719 1 + -10.535 -25.468 10.213 -0.000 -0.223 -0.975 2984 719 1 + -10.535 -25.007 10.178 -0.000 0.075 -0.997 2984 719 1 + -11.014 -25.715 13.074 -0.309 -0.382 0.871 2984 719 1 + -11.014 -26.121 12.809 -0.309 -0.644 0.700 2984 719 1 + -11.014 -26.419 12.426 -0.309 -0.836 0.453 2984 719 1 + -11.014 -26.577 11.967 -0.309 -0.938 0.157 2984 719 1 + -11.014 -26.577 11.481 -0.309 -0.938 -0.157 2984 719 1 + -11.014 -26.419 11.022 -0.309 -0.836 -0.453 2984 719 1 + -11.014 -26.121 10.639 -0.309 -0.644 -0.700 2984 719 1 + -11.014 -25.715 10.374 -0.309 -0.382 -0.871 2984 719 1 + -11.014 -25.245 10.255 -0.309 -0.079 -0.948 2984 719 1 + -11.014 -24.761 10.295 -0.309 0.233 -0.922 2984 719 1 + -11.446 -25.603 12.883 -0.588 -0.310 0.747 2984 719 1 + -11.446 -26.010 12.611 -0.588 -0.572 0.572 2984 719 1 + -11.446 -26.282 12.204 -0.588 -0.747 0.310 2984 719 1 + -11.446 -26.377 11.724 -0.588 -0.809 -0.000 2984 719 1 + -11.446 -26.282 11.244 -0.588 -0.747 -0.310 2984 719 1 + -11.446 -26.010 10.837 -0.588 -0.572 -0.572 2984 719 1 + -11.446 -25.603 10.565 -0.588 -0.310 -0.747 2984 719 1 + -11.446 -25.123 10.470 -0.588 0.000 -0.809 2984 719 1 + -11.789 -25.123 12.635 -0.809 -0.000 0.588 2984 719 1 + -11.789 -25.579 12.513 -0.809 -0.294 0.509 2984 719 1 + -11.789 -25.912 12.180 -0.809 -0.509 0.294 2984 719 1 + -11.789 -26.034 11.724 -0.809 -0.588 -0.000 2984 719 1 + -11.789 -25.912 11.268 -0.809 -0.509 -0.294 2984 719 1 + -11.789 -25.579 10.935 -0.809 -0.294 -0.509 2984 719 1 + -11.789 -25.123 10.813 -0.809 0.000 -0.588 2984 719 1 + -12.009 -24.884 12.139 -0.951 0.155 0.268 2984 719 1 + -12.009 -25.362 12.139 -0.951 -0.155 0.268 2984 719 1 + -12.009 -25.602 11.724 -0.951 -0.309 -0.000 2984 719 1 + -12.009 -25.362 11.309 -0.951 -0.155 -0.268 2984 719 1 + -12.009 -24.884 11.309 -0.951 0.155 -0.268 2984 719 1 + -12.085 -25.123 11.724 -1.000 -0.000 -0.000 2984 719 1 + -8.557 -24.421 10.455 0.500 0.000 -0.866 2985 718 1 + -8.979 -24.987 10.378 0.259 -0.323 -0.910 2985 718 1 + -8.979 -24.536 10.285 0.259 -0.066 -0.964 2985 718 1 + -8.979 -24.077 10.316 0.259 0.197 -0.946 2985 718 1 + -9.432 -24.421 10.221 -0.000 0.000 -1.000 2985 718 1 + -5.700 -20.756 10.703 0.966 -0.129 -0.224 2987 547 1 + -5.700 -20.304 10.703 0.966 0.129 -0.224 2987 547 1 + -5.874 -21.405 11.095 0.866 -0.500 -0.000 2987 547 1 + -5.874 -21.288 10.658 0.866 -0.433 -0.250 2987 547 1 + -5.874 -20.968 10.337 0.866 -0.250 -0.433 2987 547 1 + -5.874 -20.530 10.220 0.866 0.000 -0.500 2987 547 1 + -5.874 -20.093 10.337 0.866 0.250 -0.433 2987 547 1 + -6.153 -21.767 11.095 0.707 -0.707 -0.000 2987 547 1 + -6.153 -21.673 10.621 0.707 -0.653 -0.271 2987 547 1 + -6.153 -21.405 10.220 0.707 -0.500 -0.500 2987 547 1 + -6.153 -21.004 9.952 0.707 -0.271 -0.653 2987 547 1 + -6.153 -20.530 9.858 0.707 0.000 -0.707 2987 547 1 + -6.515 -21.971 10.627 0.500 -0.824 -0.268 2987 547 1 + -6.515 -21.756 10.204 0.500 -0.701 -0.509 2987 547 1 + -6.515 -21.421 9.869 0.500 -0.509 -0.701 2987 547 1 + -6.937 -21.841 10.028 0.259 -0.749 -0.610 2987 547 1 + -5.445 -17.265 8.232 0.951 -0.155 0.268 2988 530 1 + -5.661 -17.030 8.718 0.809 -0.000 0.588 2988 530 1 + -5.661 -17.477 8.599 0.809 -0.294 0.509 2988 530 1 + -5.661 -17.804 8.272 0.809 -0.509 0.294 2988 530 1 + -5.998 -17.030 9.055 0.588 -0.000 0.809 2988 530 1 + -5.998 -18.260 7.825 0.588 -0.809 -0.000 2988 530 1 + -3.689 -17.501 6.155 0.500 -0.509 0.701 2989 461 1 + -3.689 -17.836 5.820 0.500 -0.701 0.509 2989 461 1 + -3.689 -18.051 5.397 0.500 -0.824 0.268 2989 461 1 + -4.111 -17.585 6.310 0.259 -0.557 0.789 2989 461 1 + -4.111 -17.921 5.996 0.259 -0.749 0.610 2989 461 1 + -4.111 -18.160 5.602 0.259 -0.886 0.385 2989 461 1 + -4.111 -18.285 5.159 0.259 -0.957 0.132 2989 461 1 + -4.111 -18.285 4.699 0.259 -0.957 -0.132 2989 461 1 + -4.111 -18.160 4.256 0.259 -0.886 -0.385 2989 461 1 + -4.564 -18.126 5.804 -0.000 -0.866 0.500 2989 461 1 + -4.564 -18.300 5.382 -0.000 -0.966 0.259 2989 461 1 + -4.564 -18.360 4.929 -0.000 -1.000 -0.000 2989 461 1 + -4.564 -18.300 4.476 -0.000 -0.966 -0.259 2989 461 1 + -4.564 -18.126 4.054 -0.000 -0.866 -0.500 2989 461 1 + -4.564 -17.847 3.692 -0.000 -0.707 -0.707 2989 461 1 + -5.017 -18.285 5.159 -0.259 -0.957 0.132 2989 461 1 + -5.017 -18.285 4.699 -0.259 -0.957 -0.132 2989 461 1 + -5.017 -18.160 4.256 -0.259 -0.886 -0.385 2989 461 1 + -5.439 -18.126 4.929 -0.500 -0.866 -0.000 2989 461 1 + -6.478 -17.935 2.539 0.500 -0.866 -0.000 2990 524 1 + -6.900 -18.094 2.769 0.259 -0.957 0.132 2990 524 1 + -6.900 -18.094 2.309 0.259 -0.957 -0.132 2990 524 1 + -6.900 -17.969 1.866 0.259 -0.886 -0.385 2990 524 1 + -7.353 -18.169 2.539 -0.000 -1.000 -0.000 2990 524 1 + -7.353 -18.109 2.086 -0.000 -0.966 -0.259 2990 524 1 + -7.353 -17.935 1.664 -0.000 -0.866 -0.500 2990 524 1 + -7.806 -18.094 2.309 -0.259 -0.957 -0.132 2990 524 1 + -7.806 -17.969 1.866 -0.259 -0.886 -0.385 2990 524 1 + -7.806 -17.730 1.472 -0.259 -0.749 -0.610 2990 524 1 + -8.228 -17.860 2.071 -0.500 -0.824 -0.268 2990 524 1 + -8.228 -17.645 1.648 -0.500 -0.701 -0.509 2990 524 1 + -5.238 -16.600 0.955 0.866 -0.433 -0.250 2991 526 1 + -5.238 -16.279 0.635 0.866 -0.250 -0.433 2991 526 1 + -5.517 -17.079 1.393 0.707 -0.707 -0.000 2991 526 1 + -5.517 -16.985 0.919 0.707 -0.653 -0.271 2991 526 1 + -5.517 -16.717 0.518 0.707 -0.500 -0.500 2991 526 1 + -5.517 -16.316 0.250 0.707 -0.271 -0.653 2991 526 1 + -5.879 -17.283 0.925 0.500 -0.824 -0.268 2991 526 1 + -5.879 -17.068 0.502 0.500 -0.701 -0.509 2991 526 1 + -5.879 -16.733 0.167 0.500 -0.509 -0.701 2991 526 1 + -5.879 -16.310 -0.048 0.500 -0.268 -0.824 2991 526 1 + -6.301 -17.392 0.720 0.259 -0.886 -0.385 2991 526 1 + -6.301 -17.153 0.326 0.259 -0.749 -0.610 2991 526 1 + -6.301 -16.817 0.012 0.259 -0.557 -0.789 2991 526 1 + -6.301 -16.408 -0.200 0.259 -0.323 -0.910 2991 526 1 + -6.754 -17.358 0.518 -0.000 -0.866 -0.500 2991 526 1 + -6.754 -17.079 0.156 -0.000 -0.707 -0.707 2991 526 1 + -6.754 -16.717 -0.123 -0.000 -0.500 -0.866 2991 526 1 + -7.207 -17.153 0.326 -0.259 -0.749 -0.610 2991 526 1 + -7.207 -16.817 0.012 -0.259 -0.557 -0.789 2991 526 1 + -7.207 -16.408 -0.200 -0.259 -0.323 -0.910 2991 526 1 + -7.629 -17.068 0.502 -0.500 -0.701 -0.509 2991 526 1 + -7.090 -15.018 -2.863 0.259 -0.957 -0.132 2992 478 1 + -7.090 -14.893 -3.306 0.259 -0.886 -0.385 2992 478 1 + -7.543 -15.093 -2.633 -0.000 -1.000 -0.000 2992 478 1 + -7.543 -15.033 -3.086 -0.000 -0.966 -0.259 2992 478 1 + -7.543 -14.859 -3.508 -0.000 -0.866 -0.500 2992 478 1 + -7.996 -14.893 -3.306 -0.259 -0.886 -0.385 2992 478 1 + -7.996 -14.654 -3.700 -0.259 -0.749 -0.610 2992 478 1 + -7.996 -14.318 -4.014 -0.259 -0.557 -0.789 2992 478 1 + -8.418 -14.234 -3.859 -0.500 -0.509 -0.701 2992 478 1 + -9.939 -11.463 -6.378 -0.000 -0.966 -0.259 2994 490 1 + -9.939 -11.289 -6.800 -0.000 -0.866 -0.500 2994 490 1 + -9.939 -11.010 -7.162 -0.000 -0.707 -0.707 2994 490 1 + -9.939 -10.648 -7.441 -0.000 -0.500 -0.866 2994 490 1 + -9.939 -10.226 -7.615 -0.000 -0.259 -0.966 2994 490 1 + -10.392 -11.448 -6.155 -0.259 -0.957 -0.132 2994 490 1 + -10.392 -11.323 -6.598 -0.259 -0.886 -0.385 2994 490 1 + -10.392 -11.084 -6.992 -0.259 -0.749 -0.610 2994 490 1 + -10.392 -10.748 -7.306 -0.259 -0.557 -0.789 2994 490 1 + -10.392 -10.339 -7.518 -0.259 -0.323 -0.910 2994 490 1 + -10.392 -9.888 -7.611 -0.259 -0.066 -0.964 2994 490 1 + -10.392 -9.429 -7.580 -0.259 0.197 -0.946 2994 490 1 + -10.392 -8.995 -7.426 -0.259 0.444 -0.858 2994 490 1 + -10.392 -8.619 -7.160 -0.259 0.659 -0.706 2994 490 1 + -10.814 -11.289 -5.925 -0.500 -0.866 -0.000 2994 490 1 + -10.814 -11.214 -6.393 -0.500 -0.824 -0.268 2994 490 1 + -10.814 -10.999 -6.816 -0.500 -0.701 -0.509 2994 490 1 + -10.814 -10.664 -7.151 -0.500 -0.509 -0.701 2994 490 1 + -10.814 -10.241 -7.366 -0.500 -0.268 -0.824 2994 490 1 + -10.814 -9.773 -7.441 -0.500 0.000 -0.866 2994 490 1 + -10.814 -9.305 -7.366 -0.500 0.268 -0.824 2994 490 1 + -10.814 -8.882 -7.151 -0.500 0.509 -0.701 2994 490 1 + -10.814 -8.547 -6.816 -0.500 0.701 -0.509 2994 490 1 + -10.814 -8.332 -6.393 -0.500 0.824 -0.268 2994 490 1 + -11.176 -10.916 -5.451 -0.707 -0.653 0.271 2994 490 1 + -11.176 -11.010 -5.925 -0.707 -0.707 -0.000 2994 490 1 + -11.176 -10.916 -6.399 -0.707 -0.653 -0.271 2994 490 1 + -11.176 -10.648 -6.800 -0.707 -0.500 -0.500 2994 490 1 + -11.176 -10.247 -7.068 -0.707 -0.271 -0.653 2994 490 1 + -11.176 -9.773 -7.162 -0.707 0.000 -0.707 2994 490 1 + -11.176 -9.299 -7.068 -0.707 0.271 -0.653 2994 490 1 + -11.176 -8.898 -6.800 -0.707 0.500 -0.500 2994 490 1 + -11.176 -8.630 -6.399 -0.707 0.653 -0.271 2994 490 1 + -11.455 -10.613 -5.678 -0.866 -0.480 0.141 2994 490 1 + -11.455 -10.613 -6.172 -0.866 -0.480 -0.141 2994 490 1 + -11.455 -10.346 -6.586 -0.866 -0.327 -0.378 2994 490 1 + -11.455 -9.898 -6.791 -0.866 -0.071 -0.495 2994 490 1 + -11.455 -9.410 -6.721 -0.866 0.208 -0.455 2994 490 1 + -11.455 -9.037 -6.398 -0.866 0.421 -0.270 2994 490 1 + -11.629 -9.999 -6.317 -0.966 -0.129 -0.224 2994 490 1 + -11.629 -9.547 -6.317 -0.966 0.129 -0.224 2994 490 1 + -12.316 -6.029 -3.668 0.588 0.747 -0.310 2995 503 1 + -12.748 -6.826 -4.617 0.309 0.233 -0.922 2995 503 1 + -12.748 -6.382 -4.422 0.309 0.520 -0.796 2995 503 1 + -12.748 -6.025 -4.093 0.309 0.751 -0.584 2995 503 1 + -13.227 -7.072 -4.734 -0.000 0.075 -0.997 2995 503 1 + -13.227 -6.622 -4.631 -0.000 0.365 -0.931 2995 503 1 + -13.227 -6.222 -4.400 -0.000 0.623 -0.782 2995 503 1 + -13.227 -5.907 -4.061 -0.000 0.826 -0.563 2995 503 1 + -13.706 -7.310 -4.657 -0.309 -0.079 -0.948 2995 503 1 + -13.706 -6.826 -4.617 -0.309 0.233 -0.922 2995 503 1 + -13.706 -6.382 -4.422 -0.309 0.520 -0.796 2995 503 1 + -13.706 -6.025 -4.093 -0.309 0.751 -0.584 2995 503 1 + -14.138 -7.188 -4.442 -0.588 0.000 -0.809 2995 503 1 + -14.138 -6.708 -4.347 -0.588 0.310 -0.747 2995 503 1 + -14.138 -6.301 -4.075 -0.588 0.572 -0.572 2995 503 1 + -14.138 -6.029 -3.668 -0.588 0.747 -0.310 2995 503 1 + -14.481 -7.188 -4.099 -0.809 0.000 -0.588 2995 503 1 + -14.481 -6.732 -3.977 -0.809 0.294 -0.509 2995 503 1 + -14.481 -6.399 -3.644 -0.809 0.509 -0.294 2995 503 1 + -14.701 -6.709 -3.188 -0.951 0.309 0.000 2995 503 1 + -14.701 -6.949 -3.603 -0.951 0.155 -0.268 2995 503 1 + -6.840 -5.199 -1.225 -0.000 1.000 0.000 2998 494 1 + -7.310 -5.352 -1.694 -0.309 0.900 -0.309 2998 494 1 + -7.733 -5.583 -1.696 -0.588 0.747 -0.310 2998 494 1 + -5.825 -3.158 2.968 -0.000 0.966 0.259 2999 512 1 + -5.825 -3.973 0.999 -0.000 0.500 -0.866 2999 512 1 + -6.278 -3.220 2.059 -0.259 0.930 -0.261 2999 512 1 + -2.394 -3.548 1.350 0.809 0.294 -0.509 3001 515 1 + -2.394 -3.221 1.677 0.809 0.509 -0.294 3001 515 1 + -2.731 -2.765 2.124 0.588 0.809 0.000 3001 515 1 + -2.731 -3.125 1.254 0.588 0.572 -0.572 3001 515 1 + -2.731 -2.859 1.653 0.588 0.747 -0.310 3001 515 1 + -3.154 -2.549 2.124 0.309 0.951 0.000 3001 515 1 + -3.154 -2.628 2.593 0.309 0.900 0.309 3001 515 1 + -3.154 -3.204 0.914 0.309 0.520 -0.796 3001 515 1 + -3.154 -2.854 1.236 0.309 0.751 -0.584 3001 515 1 + -3.154 -2.628 1.655 0.309 0.900 -0.309 3001 515 1 + -3.624 -2.475 2.124 -0.000 1.000 0.000 3001 515 1 + -3.624 -2.543 2.572 -0.000 0.956 0.295 3001 515 1 + -3.624 -3.047 0.936 -0.000 0.623 -0.782 3001 515 1 + -3.624 -2.739 1.268 -0.000 0.826 -0.563 3001 515 1 + -3.624 -2.543 1.676 -0.000 0.956 -0.295 3001 515 1 + -4.094 -2.549 2.124 -0.309 0.951 0.000 3001 515 1 + -4.094 -2.628 2.593 -0.309 0.900 0.309 3001 515 1 + -4.094 -3.204 0.914 -0.309 0.520 -0.796 3001 515 1 + -4.094 -2.854 1.236 -0.309 0.751 -0.584 3001 515 1 + -4.094 -2.628 1.655 -0.309 0.900 -0.309 3001 515 1 + 1.033 -2.847 3.628 0.500 0.268 -0.824 3002 334 1 + 1.033 -2.424 3.843 0.500 0.509 -0.701 3002 334 1 + 1.033 -2.089 4.178 0.500 0.701 -0.509 3002 334 1 + 0.611 -2.537 3.568 0.259 0.444 -0.858 3002 334 1 + 0.611 -2.161 3.834 0.259 0.659 -0.706 3002 334 1 + 0.611 -1.871 4.191 0.259 0.825 -0.502 3002 334 1 + 0.611 -1.687 4.613 0.259 0.930 -0.261 3002 334 1 + 0.158 -1.565 5.069 -0.000 1.000 0.000 3002 334 1 + 0.158 -2.440 3.553 -0.000 0.500 -0.866 3002 334 1 + 0.158 -2.078 3.832 -0.000 0.707 -0.707 3002 334 1 + 0.158 -1.799 4.194 -0.000 0.866 -0.500 3002 334 1 + 0.158 -1.625 4.616 -0.000 0.966 -0.259 3002 334 1 + -0.295 -1.625 5.069 -0.259 0.966 0.000 3002 334 1 + -0.295 -2.161 3.834 -0.259 0.659 -0.706 3002 334 1 + -0.295 -1.871 4.191 -0.259 0.825 -0.502 3002 334 1 + -0.295 -1.687 4.613 -0.259 0.930 -0.261 3002 334 1 + -0.717 -1.799 5.069 -0.500 0.866 0.000 3002 334 1 + -0.717 -2.089 4.178 -0.500 0.701 -0.509 3002 334 1 + -0.717 -1.874 4.601 -0.500 0.824 -0.268 3002 334 1 + -1.013 -0.066 7.886 -0.500 0.509 -0.701 3003 64 1 + -1.013 0.269 8.221 -0.500 0.701 -0.509 3003 64 1 + -2.129 0.295 9.376 -0.707 0.500 -0.500 3004 62 1 + -1.379 1.736 10.153 -0.500 0.701 -0.509 3005 61 1 + 1.887 2.377 11.163 0.707 0.653 0.271 3006 63 1 + 1.525 2.750 10.689 0.500 0.866 0.000 3006 63 1 + 1.525 2.675 11.157 0.500 0.824 0.268 3006 63 1 + 1.103 2.924 10.689 0.259 0.966 0.000 3006 63 1 + 1.103 2.862 11.145 0.259 0.930 0.261 3006 63 1 + 0.650 2.984 10.689 -0.000 1.000 0.000 3006 63 1 + 0.650 2.924 11.142 -0.000 0.966 0.259 3006 63 1 + 0.650 2.924 10.236 -0.000 0.966 -0.259 3006 63 1 + 0.197 2.924 10.689 -0.259 0.966 0.000 3006 63 1 + 0.197 2.862 11.145 -0.259 0.930 0.261 3006 63 1 + 0.197 2.678 9.811 -0.259 0.825 -0.502 3006 63 1 + 0.197 2.862 10.233 -0.259 0.930 -0.261 3006 63 1 + -0.225 2.460 9.798 -0.500 0.701 -0.509 3006 63 1 + -0.225 2.675 10.221 -0.500 0.824 -0.268 3006 63 1 + 1.875 2.532 14.340 0.809 0.588 0.000 3007 59 1 + 1.538 2.869 14.340 0.588 0.809 0.000 3007 59 1 + 1.538 2.775 14.811 0.588 0.747 0.310 3007 59 1 + 1.538 2.509 15.210 0.588 0.572 0.572 3007 59 1 + 1.538 2.775 13.869 0.588 0.747 -0.310 3007 59 1 + 1.115 3.085 14.340 0.309 0.951 0.000 3007 59 1 + 1.115 3.006 14.809 0.309 0.900 0.309 3007 59 1 + 1.115 2.780 15.228 0.309 0.751 0.584 3007 59 1 + 1.115 2.430 15.550 0.309 0.520 0.796 3007 59 1 + 1.115 3.006 13.871 0.309 0.900 -0.309 3007 59 1 + 0.645 3.159 14.340 -0.000 1.000 0.000 3007 59 1 + 0.645 3.091 14.788 -0.000 0.956 0.295 3007 59 1 + 0.645 2.895 15.196 -0.000 0.826 0.563 3007 59 1 + 0.645 2.587 15.528 -0.000 0.623 0.782 3007 59 1 + 0.645 3.091 13.892 -0.000 0.956 -0.295 3007 59 1 + 0.175 3.006 13.871 -0.309 0.900 -0.309 3007 59 1 + 1.043 1.256 19.621 -0.000 1.000 0.000 3010 77 1 + 1.043 1.196 20.074 -0.000 0.966 0.259 3010 77 1 + 1.043 1.196 19.168 -0.000 0.966 -0.259 3010 77 1 + 2.231 -0.313 23.696 0.500 0.866 0.000 3011 161 1 + 2.231 -0.388 24.164 0.500 0.824 0.268 3011 161 1 + 2.231 -0.603 24.587 0.500 0.701 0.509 3011 161 1 + 2.231 -0.938 24.922 0.500 0.509 0.701 3011 161 1 + 2.231 -1.361 25.137 0.500 0.268 0.824 3011 161 1 + 1.809 -0.139 23.696 0.259 0.966 0.000 3011 161 1 + 1.809 -0.201 24.152 0.259 0.930 0.261 3011 161 1 + 1.809 -0.385 24.574 0.259 0.825 0.502 3011 161 1 + 1.809 -0.675 24.931 0.259 0.659 0.706 3011 161 1 + 1.809 -0.201 23.240 0.259 0.930 -0.261 3011 161 1 + 1.356 -0.139 24.149 -0.000 0.966 0.259 3011 161 1 + 1.356 -0.313 24.571 -0.000 0.866 0.500 3011 161 1 + -0.628 1.401 27.014 0.951 0.309 0.000 3012 804 1 + -0.628 1.166 27.421 0.951 0.155 0.268 3012 804 1 + -0.628 1.166 26.607 0.951 0.155 -0.268 3012 804 1 + -0.844 1.378 27.788 0.809 0.294 0.509 3012 804 1 + -0.844 0.931 27.907 0.809 -0.000 0.588 3012 804 1 + -1.181 0.931 28.244 0.588 -0.000 0.809 3012 804 1 + -1.181 0.460 28.150 0.588 -0.310 0.747 3012 804 1 + -1.604 0.812 28.455 0.309 -0.079 0.948 3012 804 1 + -1.604 0.350 28.338 0.309 -0.382 0.871 3012 804 1 + -0.728 3.019 25.843 0.966 -0.259 -0.000 3013 811 1 + 1.255 5.910 29.067 0.966 -0.259 -0.000 3015 823 1 + 1.255 6.137 28.675 0.966 -0.129 -0.224 3015 823 1 + 1.081 5.605 28.629 0.866 -0.433 -0.250 3015 823 1 + 1.081 5.925 28.309 0.866 -0.250 -0.433 3015 823 1 + 0.802 5.220 28.593 0.707 -0.653 -0.271 3015 823 1 + 0.802 5.488 28.192 0.707 -0.500 -0.500 3015 823 1 + 1.565 7.673 29.754 1.000 0.000 0.000 3016 824 1 + 1.505 8.126 29.754 0.966 0.259 0.000 3016 824 1 + 1.505 7.899 30.146 0.966 0.129 0.224 3016 824 1 + 1.505 7.447 30.146 0.966 -0.129 0.224 3016 824 1 + 1.505 7.220 29.754 0.966 -0.259 -0.000 3016 824 1 + 1.505 7.447 29.362 0.966 -0.129 -0.224 3016 824 1 + 1.505 7.899 29.362 0.966 0.129 -0.224 3016 824 1 + 1.331 8.548 29.754 0.866 0.500 0.000 3016 824 1 + 1.331 8.431 30.191 0.866 0.433 0.250 3016 824 1 + 1.331 8.110 30.512 0.866 0.250 0.433 3016 824 1 + 1.331 7.673 30.629 0.866 -0.000 0.500 3016 824 1 + 1.331 7.235 30.512 0.866 -0.250 0.433 3016 824 1 + 1.331 7.673 28.879 0.866 0.000 -0.500 3016 824 1 + 1.331 8.111 28.996 0.866 0.250 -0.433 3016 824 1 + 1.331 8.431 29.316 0.866 0.433 -0.250 3016 824 1 + 1.052 8.816 30.228 0.707 0.653 0.271 3016 824 1 + 1.052 8.548 30.629 0.707 0.500 0.500 3016 824 1 + 1.052 8.147 30.897 0.707 0.271 0.653 3016 824 1 + 1.052 7.673 30.991 0.707 -0.000 0.707 3016 824 1 + 1.052 7.199 30.897 0.707 -0.271 0.653 3016 824 1 + 0.690 9.114 30.222 0.500 0.824 0.268 3016 824 1 + 0.690 8.899 30.645 0.500 0.701 0.509 3016 824 1 + 0.690 8.564 30.980 0.500 0.509 0.701 3016 824 1 + 0.690 8.141 31.195 0.500 0.268 0.824 3016 824 1 + 0.690 7.673 31.270 0.500 -0.000 0.866 3016 824 1 + 0.690 7.205 31.195 0.500 -0.268 0.824 3016 824 1 + 0.268 9.117 30.632 0.259 0.825 0.502 3016 824 1 + 0.268 8.827 30.989 0.259 0.659 0.706 3016 824 1 + 0.268 8.451 31.255 0.259 0.444 0.858 3016 824 1 + 0.268 8.017 31.409 0.259 0.197 0.946 3016 824 1 + 0.268 7.558 31.440 0.259 -0.066 0.964 3016 824 1 + -0.185 9.189 30.629 -0.000 0.866 0.500 3016 824 1 + -0.185 8.910 30.991 -0.000 0.707 0.707 3016 824 1 + -0.185 8.548 31.270 -0.000 0.500 0.866 3016 824 1 + -0.185 8.126 31.444 -0.000 0.259 0.966 3016 824 1 + -0.185 7.673 31.504 -0.000 -0.000 1.000 3016 824 1 + -0.638 9.117 30.632 -0.259 0.825 0.502 3016 824 1 + -0.638 8.827 30.989 -0.259 0.659 0.706 3016 824 1 + -0.638 8.451 31.255 -0.259 0.444 0.858 3016 824 1 + -0.638 8.017 31.409 -0.259 0.197 0.946 3016 824 1 + -1.060 8.899 30.645 -0.500 0.701 0.509 3016 824 1 + -1.060 8.564 30.980 -0.500 0.509 0.701 3016 824 1 + -1.060 8.141 31.195 -0.500 0.268 0.824 3016 824 1 + -1.422 8.147 30.897 -0.707 0.271 0.653 3016 824 1 + 1.215 10.645 26.489 1.000 0.000 0.000 3017 828 1 + 1.155 10.192 26.489 0.966 -0.259 -0.000 3017 828 1 + 1.155 10.419 26.097 0.966 -0.129 -0.224 3017 828 1 + 1.155 10.871 26.097 0.966 0.129 -0.224 3017 828 1 + 0.981 9.887 26.927 0.866 -0.433 0.250 3017 828 1 + 0.981 10.208 25.731 0.866 -0.250 -0.433 3017 828 1 + 0.981 10.645 25.614 0.866 0.000 -0.500 3017 828 1 + 0.981 11.083 25.731 0.866 0.250 -0.433 3017 828 1 + 0.981 11.403 26.052 0.866 0.433 -0.250 3017 828 1 + 0.702 10.171 25.346 0.707 -0.271 -0.653 3017 828 1 + 0.702 10.645 25.252 0.707 0.000 -0.707 3017 828 1 + 0.702 11.119 25.346 0.707 0.271 -0.653 3017 828 1 + 0.702 11.520 25.614 0.707 0.500 -0.500 3017 828 1 + 0.702 11.788 26.015 0.707 0.653 -0.271 3017 828 1 + 0.340 10.177 25.048 0.500 -0.268 -0.824 3017 828 1 + 0.340 10.645 24.973 0.500 0.000 -0.866 3017 828 1 + 0.340 11.113 25.048 0.500 0.268 -0.824 3017 828 1 + 0.340 11.536 25.263 0.500 0.509 -0.701 3017 828 1 + 0.340 11.871 25.598 0.500 0.701 -0.509 3017 828 1 + 0.340 12.086 26.021 0.500 0.824 -0.268 3017 828 1 + -0.082 10.079 24.896 0.259 -0.323 -0.910 3017 828 1 + -0.082 10.530 24.803 0.259 -0.066 -0.964 3017 828 1 + -0.082 10.989 24.834 0.259 0.197 -0.946 3017 828 1 + -0.082 11.423 24.988 0.259 0.444 -0.858 3017 828 1 + -0.082 11.799 25.254 0.259 0.659 -0.706 3017 828 1 + -0.082 12.089 25.611 0.259 0.825 -0.502 3017 828 1 + -0.535 11.098 24.799 -0.000 0.259 -0.966 3017 828 1 + -0.535 11.520 24.973 -0.000 0.500 -0.866 3017 828 1 + -0.535 11.882 25.252 -0.000 0.707 -0.707 3017 828 1 + -0.535 12.161 25.614 -0.000 0.866 -0.500 3017 828 1 + -0.535 12.335 26.036 -0.000 0.966 -0.259 3017 828 1 + -0.988 11.799 25.254 -0.259 0.659 -0.706 3017 828 1 + -2.625 12.569 26.686 0.259 0.966 0.000 3018 830 1 + -2.625 12.033 25.451 0.259 0.659 -0.706 3018 830 1 + -2.625 12.323 25.808 0.259 0.825 -0.502 3018 830 1 + -2.625 12.507 26.230 0.259 0.930 -0.261 3018 830 1 + -3.078 12.629 26.686 -0.000 1.000 0.000 3018 830 1 + -3.078 12.569 27.139 -0.000 0.966 0.259 3018 830 1 + -3.078 11.332 24.996 -0.000 0.259 -0.966 3018 830 1 + -3.078 11.754 25.170 -0.000 0.500 -0.866 3018 830 1 + -3.078 12.116 25.449 -0.000 0.707 -0.707 3018 830 1 + -3.078 12.395 25.811 -0.000 0.866 -0.500 3018 830 1 + -3.078 12.569 26.233 -0.000 0.966 -0.259 3018 830 1 + -3.531 12.569 26.686 -0.259 0.966 0.000 3018 830 1 + -3.531 12.507 27.142 -0.259 0.930 0.261 3018 830 1 + -3.531 10.764 25.000 -0.259 -0.066 -0.964 3018 830 1 + -3.531 11.223 25.031 -0.259 0.197 -0.946 3018 830 1 + -3.531 11.657 25.185 -0.259 0.444 -0.858 3018 830 1 + -3.531 12.033 25.451 -0.259 0.659 -0.706 3018 830 1 + -3.531 12.323 25.808 -0.259 0.825 -0.502 3018 830 1 + -3.531 12.507 26.230 -0.259 0.930 -0.261 3018 830 1 + -3.953 12.395 26.686 -0.500 0.866 0.000 3018 830 1 + -3.953 9.988 25.460 -0.500 -0.509 -0.701 3018 830 1 + -3.953 10.411 25.245 -0.500 -0.268 -0.824 3018 830 1 + -3.953 10.879 25.170 -0.500 0.000 -0.866 3018 830 1 + -3.953 11.347 25.245 -0.500 0.268 -0.824 3018 830 1 + -3.953 11.770 25.460 -0.500 0.509 -0.701 3018 830 1 + -3.953 12.105 25.795 -0.500 0.701 -0.509 3018 830 1 + -3.953 12.320 26.218 -0.500 0.824 -0.268 3018 830 1 + -4.315 12.116 26.686 -0.707 0.707 0.000 3018 830 1 + -4.315 10.004 25.811 -0.707 -0.500 -0.500 3018 830 1 + -4.315 10.405 25.543 -0.707 -0.271 -0.653 3018 830 1 + -4.315 10.879 25.449 -0.707 0.000 -0.707 3018 830 1 + -4.315 11.353 25.543 -0.707 0.271 -0.653 3018 830 1 + -4.315 11.754 25.811 -0.707 0.500 -0.500 3018 830 1 + -4.315 12.022 26.212 -0.707 0.653 -0.271 3018 830 1 + -4.594 11.754 26.686 -0.866 0.500 0.000 3018 830 1 + -4.594 10.306 26.025 -0.866 -0.327 -0.378 3018 830 1 + -4.594 10.754 25.820 -0.866 -0.071 -0.495 3018 830 1 + -4.594 11.242 25.890 -0.866 0.208 -0.455 3018 830 1 + -4.594 11.615 26.213 -0.866 0.421 -0.270 3018 830 1 + -4.768 10.653 26.294 -0.966 -0.129 -0.224 3018 830 1 + -4.768 11.105 26.294 -0.966 0.129 -0.224 3018 830 1 + -2.563 10.929 29.538 0.500 0.268 0.824 3019 831 1 + -2.985 12.089 28.553 0.259 0.930 0.261 3019 831 1 + -2.985 11.905 28.975 0.259 0.825 0.502 3019 831 1 + -2.985 11.615 29.332 0.259 0.659 0.706 3019 831 1 + -2.985 11.239 29.598 0.259 0.444 0.858 3019 831 1 + -2.985 10.805 29.752 0.259 0.197 0.946 3019 831 1 + -2.985 10.346 29.783 0.259 -0.066 0.964 3019 831 1 + -3.438 12.151 28.550 -0.000 0.966 0.259 3019 831 1 + -3.438 11.977 28.972 -0.000 0.866 0.500 3019 831 1 + -3.438 11.698 29.334 -0.000 0.707 0.707 3019 831 1 + -3.438 11.336 29.613 -0.000 0.500 0.866 3019 831 1 + -3.438 10.914 29.787 -0.000 0.259 0.966 3019 831 1 + -3.438 10.461 29.847 -0.000 -0.000 1.000 3019 831 1 + -3.891 12.089 28.553 -0.259 0.930 0.261 3019 831 1 + -3.891 11.905 28.975 -0.259 0.825 0.502 3019 831 1 + -3.891 11.615 29.332 -0.259 0.659 0.706 3019 831 1 + -3.891 11.239 29.598 -0.259 0.444 0.858 3019 831 1 + -3.891 10.805 29.752 -0.259 0.197 0.946 3019 831 1 + -3.891 10.346 29.783 -0.259 -0.066 0.964 3019 831 1 + -4.313 11.902 28.565 -0.500 0.824 0.268 3019 831 1 + -4.313 11.687 28.988 -0.500 0.701 0.509 3019 831 1 + -4.313 11.352 29.323 -0.500 0.509 0.701 3019 831 1 + -4.313 10.929 29.538 -0.500 0.268 0.824 3019 831 1 + -4.313 10.461 29.613 -0.500 -0.000 0.866 3019 831 1 + -4.675 11.698 28.097 -0.707 0.707 0.000 3019 831 1 + -4.675 11.604 28.571 -0.707 0.653 0.271 3019 831 1 + -4.675 11.336 28.972 -0.707 0.500 0.500 3019 831 1 + -4.675 10.935 29.240 -0.707 0.271 0.653 3019 831 1 + -4.675 10.461 29.334 -0.707 -0.000 0.707 3019 831 1 + -4.954 11.336 28.097 -0.866 0.500 0.000 3019 831 1 + -4.954 11.197 28.570 -0.866 0.421 0.270 3019 831 1 + -4.954 10.824 28.893 -0.866 0.208 0.455 3019 831 1 + -4.954 10.336 28.963 -0.866 -0.071 0.495 3019 831 1 + -5.128 10.914 28.097 -0.966 0.259 0.000 3019 831 1 + -5.128 10.687 28.489 -0.966 0.129 0.224 3019 831 1 + -5.128 10.235 28.489 -0.966 -0.129 0.224 3019 831 1 + -5.128 10.235 27.705 -0.966 -0.129 -0.224 3019 831 1 + -5.128 10.687 27.705 -0.966 0.129 -0.224 3019 831 1 + -5.188 10.461 28.097 -1.000 -0.000 -0.000 3019 831 1 + 0.872 5.094 30.512 0.966 -0.129 0.224 3020 825 1 + 0.872 4.867 30.120 0.966 -0.259 -0.000 3020 825 1 + 0.698 5.320 30.995 0.866 -0.000 0.500 3020 825 1 + 0.698 4.883 30.878 0.866 -0.250 0.433 3020 825 1 + 0.698 4.562 30.558 0.866 -0.433 0.250 3020 825 1 + 0.698 4.445 30.120 0.866 -0.500 -0.000 3020 825 1 + 0.698 4.562 29.683 0.866 -0.433 -0.250 3020 825 1 + 0.419 5.320 31.357 0.707 -0.000 0.707 3020 825 1 + 0.419 4.846 31.263 0.707 -0.271 0.653 3020 825 1 + 0.419 4.445 30.995 0.707 -0.500 0.500 3020 825 1 + 0.419 4.177 30.594 0.707 -0.653 0.271 3020 825 1 + 0.419 4.083 30.120 0.707 -0.707 -0.000 3020 825 1 + 0.419 4.177 29.646 0.707 -0.653 -0.271 3020 825 1 + 0.057 5.320 31.636 0.500 -0.000 0.866 3020 825 1 + 0.057 4.852 31.561 0.500 -0.268 0.824 3020 825 1 + 0.057 4.429 31.346 0.500 -0.509 0.701 3020 825 1 + 0.057 4.094 31.011 0.500 -0.701 0.509 3020 825 1 + 0.057 3.879 30.588 0.500 -0.824 0.268 3020 825 1 + 0.057 3.804 30.120 0.500 -0.866 -0.000 3020 825 1 + 0.057 3.879 29.652 0.500 -0.824 -0.268 3020 825 1 + 0.057 4.094 29.229 0.500 -0.701 -0.509 3020 825 1 + -0.365 5.664 31.775 0.259 0.197 0.946 3020 825 1 + -0.365 5.205 31.806 0.259 -0.066 0.964 3020 825 1 + -0.365 4.754 31.713 0.259 -0.323 0.910 3020 825 1 + -0.365 4.345 31.501 0.259 -0.557 0.789 3020 825 1 + -0.365 4.009 31.187 0.259 -0.749 0.610 3020 825 1 + -0.365 3.770 30.793 0.259 -0.886 0.385 3020 825 1 + -0.365 3.645 30.350 0.259 -0.957 0.132 3020 825 1 + -0.365 3.645 29.890 0.259 -0.957 -0.132 3020 825 1 + -0.818 5.773 31.810 -0.000 0.259 0.966 3020 825 1 + -0.818 5.320 31.870 -0.000 -0.000 1.000 3020 825 1 + -0.818 4.867 31.810 -0.000 -0.259 0.966 3020 825 1 + -0.818 4.445 31.636 -0.000 -0.500 0.866 3020 825 1 + -0.818 4.083 31.357 -0.000 -0.707 0.707 3020 825 1 + -0.818 3.804 30.995 -0.000 -0.866 0.500 3020 825 1 + -0.818 3.630 30.573 -0.000 -0.966 0.259 3020 825 1 + -0.818 3.570 30.120 -0.000 -1.000 -0.000 3020 825 1 + -1.271 6.098 31.621 -0.259 0.444 0.858 3020 825 1 + -1.271 5.664 31.775 -0.259 0.197 0.946 3020 825 1 + -1.271 5.205 31.806 -0.259 -0.066 0.964 3020 825 1 + -1.271 4.754 31.713 -0.259 -0.323 0.910 3020 825 1 + -1.271 4.345 31.501 -0.259 -0.557 0.789 3020 825 1 + -1.271 4.009 31.187 -0.259 -0.749 0.610 3020 825 1 + -1.271 3.770 30.793 -0.259 -0.886 0.385 3020 825 1 + -1.271 3.645 30.350 -0.259 -0.957 0.132 3020 825 1 + -1.693 5.788 31.561 -0.500 0.268 0.824 3020 825 1 + -1.693 5.320 31.636 -0.500 -0.000 0.866 3020 825 1 + -1.693 4.852 31.561 -0.500 -0.268 0.824 3020 825 1 + -1.693 4.429 31.346 -0.500 -0.509 0.701 3020 825 1 + -1.693 4.094 31.011 -0.500 -0.701 0.509 3020 825 1 + -1.693 3.879 30.588 -0.500 -0.824 0.268 3020 825 1 + -1.693 3.804 30.120 -0.500 -0.866 -0.000 3020 825 1 + -2.055 6.195 30.995 -0.707 0.500 0.500 3020 825 1 + -2.055 5.794 31.263 -0.707 0.271 0.653 3020 825 1 + -2.055 5.320 31.357 -0.707 -0.000 0.707 3020 825 1 + -2.055 4.846 31.263 -0.707 -0.271 0.653 3020 825 1 + -2.055 4.445 30.995 -0.707 -0.500 0.500 3020 825 1 + -2.055 4.177 30.594 -0.707 -0.653 0.271 3020 825 1 + -2.055 4.083 30.120 -0.707 -0.707 -0.000 3020 825 1 + -2.334 6.056 30.593 -0.866 0.421 0.270 3020 825 1 + -2.334 5.683 30.916 -0.866 0.208 0.455 3020 825 1 + -2.334 5.195 30.986 -0.866 -0.071 0.495 3020 825 1 + -2.334 4.747 30.781 -0.866 -0.327 0.378 3020 825 1 + -2.334 4.480 30.367 -0.866 -0.480 0.141 3020 825 1 + -2.508 5.546 30.512 -0.966 0.129 0.224 3020 825 1 + -2.508 5.094 30.512 -0.966 -0.129 0.224 3020 825 1 + -3.267 -0.260 29.324 0.707 -0.000 0.707 3024 805 1 + -3.267 -0.734 29.230 0.707 -0.271 0.653 3024 805 1 + -3.267 -1.135 28.962 0.707 -0.500 0.500 3024 805 1 + -3.629 0.631 29.313 0.500 0.509 0.701 3024 805 1 + -3.629 -1.151 29.313 0.500 -0.509 0.701 3024 805 1 + -6.617 1.451 29.503 -0.000 1.000 0.000 3025 807 1 + -6.617 1.391 29.050 -0.000 0.966 -0.259 3025 807 1 + -4.797 0.721 31.028 0.809 0.509 0.294 3026 808 1 + -4.797 0.394 31.355 0.809 0.294 0.509 3026 808 1 + -4.797 -0.053 31.474 0.809 -0.000 0.588 3026 808 1 + -4.797 -0.500 31.355 0.809 -0.294 0.509 3026 808 1 + -4.797 -0.827 31.028 0.809 -0.509 0.294 3026 808 1 + -5.134 1.177 30.581 0.588 0.809 0.000 3026 808 1 + -5.134 1.083 31.052 0.588 0.747 0.310 3026 808 1 + -5.134 0.817 31.451 0.588 0.572 0.572 3026 808 1 + -5.134 0.418 31.717 0.588 0.310 0.747 3026 808 1 + -5.134 -0.053 31.811 0.588 -0.000 0.809 3026 808 1 + -5.134 -0.524 31.717 0.588 -0.310 0.747 3026 808 1 + -5.134 -0.923 31.451 0.588 -0.572 0.572 3026 808 1 + -5.557 1.393 30.581 0.309 0.951 0.000 3026 808 1 + -5.557 1.314 31.050 0.309 0.900 0.309 3026 808 1 + -5.557 1.088 31.469 0.309 0.751 0.584 3026 808 1 + -5.557 0.738 31.791 0.309 0.520 0.796 3026 808 1 + -5.557 0.302 31.982 0.309 0.233 0.922 3026 808 1 + -5.557 -0.172 32.022 0.309 -0.079 0.948 3026 808 1 + -5.557 -0.634 31.905 0.309 -0.382 0.871 3026 808 1 + -5.557 -1.032 31.645 0.309 -0.644 0.700 3026 808 1 + -6.027 1.467 30.581 -0.000 1.000 0.000 3026 808 1 + -6.027 1.399 31.029 -0.000 0.956 0.295 3026 808 1 + -6.027 1.203 31.437 -0.000 0.826 0.563 3026 808 1 + -6.027 0.895 31.769 -0.000 0.623 0.782 3026 808 1 + -6.027 0.502 31.996 -0.000 0.365 0.931 3026 808 1 + -6.027 0.061 32.097 -0.000 0.075 0.997 3026 808 1 + -6.027 -0.391 32.063 -0.000 -0.223 0.975 3026 808 1 + -6.027 -0.813 31.897 -0.000 -0.500 0.866 3026 808 1 + -6.027 -1.167 31.615 -0.000 -0.733 0.680 3026 808 1 + -6.497 1.314 31.050 -0.309 0.900 0.309 3026 808 1 + -6.497 1.088 31.469 -0.309 0.751 0.584 3026 808 1 + -6.497 0.738 31.791 -0.309 0.520 0.796 3026 808 1 + -6.497 0.302 31.982 -0.309 0.233 0.922 3026 808 1 + -6.497 -0.172 32.022 -0.309 -0.079 0.948 3026 808 1 + -6.497 -0.634 31.905 -0.309 -0.382 0.871 3026 808 1 + -6.920 0.817 31.451 -0.588 0.572 0.572 3026 808 1 + -6.920 0.418 31.717 -0.588 0.310 0.747 3026 808 1 + -6.920 -0.053 31.811 -0.588 -0.000 0.809 3026 808 1 + -6.920 -0.524 31.717 -0.588 -0.310 0.747 3026 808 1 + -2.733 -5.075 32.773 0.866 0.250 0.433 3027 198 1 + -3.012 -4.369 32.489 0.707 0.653 0.271 3027 198 1 + -3.012 -4.637 32.890 0.707 0.500 0.500 3027 198 1 + -3.374 -3.996 32.015 0.500 0.866 0.000 3027 198 1 + -3.374 -4.071 32.483 0.500 0.824 0.268 3027 198 1 + -3.374 -4.286 32.906 0.500 0.701 0.509 3027 198 1 + -3.796 -3.822 32.015 0.259 0.966 0.000 3027 198 1 + -3.796 -3.884 32.471 0.259 0.930 0.261 3027 198 1 + -3.796 -3.884 31.559 0.259 0.930 -0.261 3027 198 1 + -4.249 -3.822 32.468 -0.000 0.966 0.259 3027 198 1 + -4.159 -4.480 34.780 0.707 0.653 0.271 3028 200 1 + -4.521 -4.107 34.306 0.500 0.866 0.000 3028 200 1 + -4.521 -4.182 34.774 0.500 0.824 0.268 3028 200 1 + -4.521 -4.397 35.197 0.500 0.701 0.509 3028 200 1 + -4.943 -3.933 34.306 0.259 0.966 0.000 3028 200 1 + -4.943 -3.995 34.762 0.259 0.930 0.261 3028 200 1 + -4.943 -4.179 35.184 0.259 0.825 0.502 3028 200 1 + -4.943 -4.469 35.541 0.259 0.659 0.706 3028 200 1 + -5.396 -3.873 34.306 -0.000 1.000 0.000 3028 200 1 + -5.396 -3.933 34.759 -0.000 0.966 0.259 3028 200 1 + -5.396 -4.107 35.181 -0.000 0.866 0.500 3028 200 1 + -5.396 -4.386 35.543 -0.000 0.707 0.707 3028 200 1 + -5.849 -3.933 34.306 -0.259 0.966 0.000 3028 200 1 + -5.849 -3.995 34.762 -0.259 0.930 0.261 3028 200 1 + -5.849 -4.179 35.184 -0.259 0.825 0.502 3028 200 1 + -5.849 -3.995 33.850 -0.259 0.930 -0.261 3028 200 1 + -6.271 -4.107 34.306 -0.500 0.866 0.000 3028 200 1 + -6.271 -4.182 34.774 -0.500 0.824 0.268 3028 200 1 + -6.271 -4.397 35.197 -0.500 0.701 0.509 3028 200 1 + -6.633 -4.386 34.306 -0.707 0.707 0.000 3028 200 1 + -6.633 -4.480 34.780 -0.707 0.653 0.271 3028 200 1 + -6.912 -4.887 34.779 -0.866 0.421 0.270 3028 200 1 + -4.282 -8.068 33.417 0.259 -0.957 0.132 3029 199 1 + -1.135 -7.990 30.823 0.309 -0.382 0.871 3031 188 1 + -3.013 -10.806 30.062 -0.259 -0.323 0.910 3032 369 1 + -3.013 -11.215 29.850 -0.259 -0.557 0.789 3032 369 1 + -0.981 -13.491 30.069 0.309 0.233 0.922 3033 385 1 + -1.424 -14.649 30.394 0.259 0.197 0.946 3034 384 1 + -1.877 -14.540 30.429 -0.000 0.259 0.966 3034 384 1 + -1.877 -14.993 30.489 -0.000 -0.000 1.000 3034 384 1 + -1.579 -17.526 28.598 -0.309 -0.938 -0.157 3035 386 1 + -3.093 -17.406 26.629 -0.000 -0.901 0.434 3036 374 1 + -2.967 -19.512 21.567 0.588 -0.809 -0.000 3039 417 1 + -3.399 -19.554 22.269 0.309 -0.836 0.453 3039 417 1 + -3.399 -19.712 21.810 0.309 -0.938 0.157 3039 417 1 + -3.399 -19.712 21.324 0.309 -0.938 -0.157 3039 417 1 + -2.656 -19.067 19.977 0.500 -0.824 -0.268 3040 415 1 + -3.078 -19.176 19.772 0.259 -0.886 -0.385 3040 415 1 + -3.784 -18.864 18.759 0.309 -0.836 -0.453 3041 416 1 + -3.784 -18.572 18.383 0.309 -0.644 -0.700 3041 416 1 + -4.254 -18.962 18.787 -0.000 -0.901 -0.434 3041 416 1 + -4.254 -18.707 18.413 -0.000 -0.733 -0.680 3041 416 1 + -4.289 -17.527 14.994 0.707 -0.707 -0.000 3043 437 1 + -4.651 -17.731 15.462 0.500 -0.824 0.268 3043 437 1 + -4.651 -17.806 14.994 0.500 -0.866 -0.000 3043 437 1 + -5.073 -17.840 15.667 0.259 -0.886 0.385 3043 437 1 + -5.073 -17.965 15.224 0.259 -0.957 0.132 3043 437 1 + -5.322 -19.873 12.308 1.000 0.000 0.000 3045 548 1 + -5.382 -19.420 12.308 0.966 0.259 0.000 3045 548 1 + -5.382 -19.647 12.700 0.966 0.129 0.224 3045 548 1 + -5.382 -20.099 12.700 0.966 -0.129 0.224 3045 548 1 + -5.382 -20.326 12.308 0.966 -0.259 -0.000 3045 548 1 + -5.382 -20.099 11.916 0.966 -0.129 -0.224 3045 548 1 + -5.382 -19.647 11.916 0.966 0.129 -0.224 3045 548 1 + -5.556 -19.873 13.183 0.866 -0.000 0.500 3045 548 1 + -5.556 -20.310 13.066 0.866 -0.250 0.433 3045 548 1 + -5.556 -20.631 12.745 0.866 -0.433 0.250 3045 548 1 + -5.556 -20.748 12.308 0.866 -0.500 -0.000 3045 548 1 + -5.556 -19.435 11.550 0.866 0.250 -0.433 3045 548 1 + -5.835 -20.347 13.451 0.707 -0.271 0.653 3045 548 1 + -5.835 -20.748 13.183 0.707 -0.500 0.500 3045 548 1 + -5.835 -21.016 12.782 0.707 -0.653 0.271 3045 548 1 + -5.835 -18.998 11.433 0.707 0.500 -0.500 3045 548 1 + -6.197 -20.341 13.749 0.500 -0.268 0.824 3045 548 1 + -6.197 -20.764 13.534 0.500 -0.509 0.701 3045 548 1 + -6.197 -21.099 13.199 0.500 -0.701 0.509 3045 548 1 + -6.197 -21.314 12.776 0.500 -0.824 0.268 3045 548 1 + 1.203 -15.561 9.241 0.707 -0.271 0.653 3053 443 1 + 1.203 -15.962 8.973 0.707 -0.500 0.500 3053 443 1 + 1.203 -16.230 8.572 0.707 -0.653 0.271 3053 443 1 + 0.841 -15.978 9.324 0.500 -0.509 0.701 3053 443 1 + 0.841 -16.313 8.989 0.500 -0.701 0.509 3053 443 1 + 0.841 -16.528 8.566 0.500 -0.824 0.268 3053 443 1 + 0.841 -16.603 8.098 0.500 -0.866 -0.000 3053 443 1 + 0.419 -16.398 9.165 0.259 -0.749 0.610 3053 443 1 + 0.419 -16.637 8.771 0.259 -0.886 0.385 3053 443 1 + 0.419 -16.762 8.328 0.259 -0.957 0.132 3053 443 1 + 0.419 -16.762 7.868 0.259 -0.957 -0.132 3053 443 1 + -0.034 -16.603 8.973 -0.000 -0.866 0.500 3053 443 1 + -0.034 -16.777 8.551 -0.000 -0.966 0.259 3053 443 1 + -0.034 -16.837 8.098 -0.000 -1.000 -0.000 3053 443 1 + -0.034 -16.777 7.645 -0.000 -0.966 -0.259 3053 443 1 + -0.487 -16.637 8.771 -0.259 -0.886 0.385 3053 443 1 + -0.487 -16.762 8.328 -0.259 -0.957 0.132 3053 443 1 + -0.487 -16.762 7.868 -0.259 -0.957 -0.132 3053 443 1 + -0.909 -16.528 8.566 -0.500 -0.824 0.268 3053 443 1 + -0.909 -16.603 8.098 -0.500 -0.866 -0.000 3053 443 1 + -0.521 -16.351 3.802 0.966 -0.129 -0.224 3054 462 1 + -0.695 -17.000 4.194 0.866 -0.500 -0.000 3054 462 1 + -0.695 -16.883 3.756 0.866 -0.433 -0.250 3054 462 1 + -0.695 -16.562 3.436 0.866 -0.250 -0.433 3054 462 1 + -0.695 -16.125 3.319 0.866 0.000 -0.500 3054 462 1 + -0.695 -15.688 3.436 0.866 0.250 -0.433 3054 462 1 + -0.974 -17.268 4.668 0.707 -0.653 0.271 3054 462 1 + -0.974 -17.362 4.194 0.707 -0.707 -0.000 3054 462 1 + -0.974 -17.268 3.720 0.707 -0.653 -0.271 3054 462 1 + -0.974 -17.000 3.319 0.707 -0.500 -0.500 3054 462 1 + -0.974 -16.599 3.051 0.707 -0.271 -0.653 3054 462 1 + -0.974 -16.125 2.957 0.707 0.000 -0.707 3054 462 1 + -0.974 -15.651 3.051 0.707 0.271 -0.653 3054 462 1 + -0.974 -15.250 3.319 0.707 0.500 -0.500 3054 462 1 + -1.336 -17.351 5.085 0.500 -0.701 0.509 3054 462 1 + -1.336 -17.566 4.662 0.500 -0.824 0.268 3054 462 1 + -1.336 -17.641 4.194 0.500 -0.866 -0.000 3054 462 1 + -1.336 -17.566 3.726 0.500 -0.824 -0.268 3054 462 1 + -1.336 -17.351 3.303 0.500 -0.701 -0.509 3054 462 1 + -1.336 -17.016 2.968 0.500 -0.509 -0.701 3054 462 1 + -1.336 -16.593 2.753 0.500 -0.268 -0.824 3054 462 1 + -1.336 -16.125 2.678 0.500 0.000 -0.866 3054 462 1 + -1.336 -15.657 2.753 0.500 0.268 -0.824 3054 462 1 + -1.758 -17.436 5.261 0.259 -0.749 0.610 3054 462 1 + -1.758 -17.675 4.867 0.259 -0.886 0.385 3054 462 1 + -1.758 -17.800 4.424 0.259 -0.957 0.132 3054 462 1 + -1.758 -17.800 3.964 0.259 -0.957 -0.132 3054 462 1 + -1.758 -17.675 3.521 0.259 -0.886 -0.385 3054 462 1 + -1.758 -17.436 3.127 0.259 -0.749 -0.610 3054 462 1 + -1.758 -17.100 2.813 0.259 -0.557 -0.789 3054 462 1 + -1.758 -16.691 2.601 0.259 -0.323 -0.910 3054 462 1 + -1.758 -16.240 2.508 0.259 -0.066 -0.964 3054 462 1 + -1.758 -15.781 2.539 0.259 0.197 -0.946 3054 462 1 + -2.211 -17.875 4.194 -0.000 -1.000 -0.000 3054 462 1 + -2.211 -17.815 3.741 -0.000 -0.966 -0.259 3054 462 1 + -2.211 -17.641 3.319 -0.000 -0.866 -0.500 3054 462 1 + -2.211 -17.362 2.957 -0.000 -0.707 -0.707 3054 462 1 + -2.211 -17.000 2.678 -0.000 -0.500 -0.866 3054 462 1 + -2.211 -16.578 2.504 -0.000 -0.259 -0.966 3054 462 1 + -2.211 -16.125 2.444 -0.000 0.000 -1.000 3054 462 1 + -2.664 -17.436 3.127 -0.259 -0.749 -0.610 3054 462 1 + -2.664 -17.100 2.813 -0.259 -0.557 -0.789 3054 462 1 + -2.664 -16.691 2.601 -0.259 -0.323 -0.910 3054 462 1 + -2.048 -12.796 -1.356 1.000 0.000 0.000 3056 466 1 + -2.122 -13.031 -0.949 0.951 -0.155 0.268 3056 466 1 + -2.122 -13.266 -1.356 0.951 -0.309 -0.000 3056 466 1 + -2.122 -13.031 -1.763 0.951 -0.155 -0.268 3056 466 1 + -2.122 -12.561 -1.763 0.951 0.155 -0.268 3056 466 1 + -2.338 -13.570 -0.909 0.809 -0.509 0.294 3056 466 1 + -2.338 -13.689 -1.356 0.809 -0.588 -0.000 3056 466 1 + -2.338 -13.570 -1.803 0.809 -0.509 -0.294 3056 466 1 + -2.338 -13.243 -2.130 0.809 -0.294 -0.509 3056 466 1 + -2.338 -12.796 -2.249 0.809 0.000 -0.588 3056 466 1 + -2.338 -12.349 -2.130 0.809 0.294 -0.509 3056 466 1 + -2.675 -13.932 -0.885 0.588 -0.747 0.310 3056 466 1 + -2.675 -14.026 -1.356 0.588 -0.809 -0.000 3056 466 1 + -2.675 -13.932 -1.827 0.588 -0.747 -0.310 3056 466 1 + -2.675 -13.666 -2.226 0.588 -0.572 -0.572 3056 466 1 + -2.675 -13.267 -2.492 0.588 -0.310 -0.747 3056 466 1 + -2.675 -12.796 -2.586 0.588 0.000 -0.809 3056 466 1 + -2.675 -12.325 -2.492 0.588 0.310 -0.747 3056 466 1 + -2.675 -11.926 -2.226 0.588 0.572 -0.572 3056 466 1 + -3.098 -14.067 -0.668 0.309 -0.836 0.453 3056 466 1 + -3.098 -14.222 -1.118 0.309 -0.938 0.157 3056 466 1 + -3.098 -14.222 -1.594 0.309 -0.938 -0.157 3056 466 1 + -3.098 -14.067 -2.044 0.309 -0.836 -0.453 3056 466 1 + -3.098 -13.775 -2.420 0.309 -0.644 -0.700 3056 466 1 + -3.568 -14.299 -1.129 -0.000 -0.989 0.149 3056 466 1 + -3.568 -14.299 -1.583 -0.000 -0.989 -0.149 3056 466 1 + -3.568 -14.165 -2.016 -0.000 -0.901 -0.434 3056 466 1 + -5.192 -14.290 -3.085 0.500 -0.824 -0.268 3057 475 1 + -5.614 -14.524 -2.387 0.259 -0.957 0.132 3057 475 1 + -5.614 -14.524 -2.847 0.259 -0.957 -0.132 3057 475 1 + -4.737 -13.604 -5.052 0.809 -0.588 -0.000 3058 482 1 + -5.080 -13.947 -5.052 0.588 -0.809 -0.000 3058 482 1 + -5.512 -14.147 -5.295 0.309 -0.938 -0.157 3058 482 1 + -5.991 -14.226 -5.283 -0.000 -0.989 -0.149 3058 482 1 + -6.470 -14.147 -5.295 -0.309 -0.938 -0.157 3058 482 1 + -6.902 -13.852 -5.532 -0.588 -0.747 -0.310 3058 482 1 + -7.377 -11.693 -7.884 -0.500 -0.509 -0.701 3060 484 1 + -7.377 -11.270 -8.099 -0.500 -0.268 -0.824 3060 484 1 + -8.458 -8.531 -7.628 -0.000 0.500 -0.866 3061 487 1 + -8.458 -8.169 -7.349 -0.000 0.707 -0.707 3061 487 1 + -8.911 -9.062 -7.767 -0.259 0.197 -0.946 3061 487 1 + -8.911 -8.628 -7.613 -0.259 0.444 -0.858 3061 487 1 + -8.911 -8.252 -7.347 -0.259 0.659 -0.706 3061 487 1 + -7.766 -6.374 -5.916 0.588 0.572 -0.572 3062 489 1 + -7.766 -6.108 -5.517 0.588 0.747 -0.310 3062 489 1 + -8.189 -5.798 -5.046 0.309 0.951 0.000 3062 489 1 + -8.189 -6.453 -6.256 0.309 0.520 -0.796 3062 489 1 + -8.189 -6.103 -5.934 0.309 0.751 -0.584 3062 489 1 + -8.189 -5.877 -5.515 0.309 0.900 -0.309 3062 489 1 + -8.659 -5.724 -5.046 -0.000 1.000 0.000 3062 489 1 + -8.659 -5.792 -4.598 -0.000 0.956 0.295 3062 489 1 + -8.659 -6.689 -6.461 -0.000 0.365 -0.931 3062 489 1 + -8.659 -6.296 -6.234 -0.000 0.623 -0.782 3062 489 1 + -8.659 -5.988 -5.902 -0.000 0.826 -0.563 3062 489 1 + -8.659 -5.792 -5.494 -0.000 0.956 -0.295 3062 489 1 + -9.129 -5.798 -5.046 -0.309 0.951 0.000 3062 489 1 + -9.129 -5.877 -4.577 -0.309 0.900 0.309 3062 489 1 + -9.129 -6.103 -4.158 -0.309 0.751 0.584 3062 489 1 + -9.129 -6.453 -6.256 -0.309 0.520 -0.796 3062 489 1 + -9.129 -6.103 -5.934 -0.309 0.751 -0.584 3062 489 1 + -9.129 -5.877 -5.515 -0.309 0.900 -0.309 3062 489 1 + -9.552 -6.014 -5.046 -0.588 0.809 0.000 3062 489 1 + -9.552 -6.108 -4.575 -0.588 0.747 0.310 3062 489 1 + -9.552 -6.773 -6.182 -0.588 0.310 -0.747 3062 489 1 + -9.552 -6.374 -5.916 -0.588 0.572 -0.572 3062 489 1 + -9.552 -6.108 -5.517 -0.588 0.747 -0.310 3062 489 1 + -9.889 -6.797 -5.820 -0.809 0.294 -0.509 3062 489 1 + -9.889 -6.470 -5.493 -0.809 0.509 -0.294 3062 489 1 + -5.209 -7.658 -4.616 0.707 0.000 -0.707 3064 492 1 + -5.571 -7.190 -4.820 0.500 0.268 -0.824 3064 492 1 + -2.829 -3.771 -2.862 0.588 0.809 0.000 3065 473 1 + -2.829 -4.138 -3.749 0.588 0.572 -0.572 3065 473 1 + -2.829 -3.866 -3.342 0.588 0.747 -0.310 3065 473 1 + -3.261 -3.551 -2.862 0.309 0.951 0.000 3065 473 1 + -3.261 -3.631 -2.383 0.309 0.900 0.309 3065 473 1 + -3.261 -5.147 -4.331 0.309 -0.079 -0.948 3065 473 1 + -3.261 -4.663 -4.291 0.309 0.233 -0.922 3065 473 1 + -3.261 -4.219 -4.096 0.309 0.520 -0.796 3065 473 1 + -3.261 -3.862 -3.767 0.309 0.751 -0.584 3065 473 1 + -3.261 -3.631 -3.341 0.309 0.900 -0.309 3065 473 1 + -3.740 -3.475 -2.862 -0.000 1.000 0.000 3065 473 1 + -3.740 -3.544 -2.405 -0.000 0.956 0.295 3065 473 1 + -3.740 -3.744 -1.989 -0.000 0.826 0.563 3065 473 1 + -3.740 -5.370 -4.373 -0.000 -0.223 -0.975 3065 473 1 + -3.740 -4.909 -4.408 -0.000 0.075 -0.997 3065 473 1 + -3.740 -4.459 -4.305 -0.000 0.365 -0.931 3065 473 1 + -3.740 -4.059 -4.074 -0.000 0.623 -0.782 3065 473 1 + -3.740 -3.744 -3.735 -0.000 0.826 -0.563 3065 473 1 + -3.740 -3.544 -3.319 -0.000 0.956 -0.295 3065 473 1 + -4.219 -3.551 -2.862 -0.309 0.951 0.000 3065 473 1 + -4.219 -3.631 -2.383 -0.309 0.900 0.309 3065 473 1 + -4.219 -3.862 -1.957 -0.309 0.751 0.584 3065 473 1 + -4.219 -5.147 -4.331 -0.309 -0.079 -0.948 3065 473 1 + -4.219 -4.663 -4.291 -0.309 0.233 -0.922 3065 473 1 + -4.219 -4.219 -4.096 -0.309 0.520 -0.796 3065 473 1 + -4.219 -3.862 -3.767 -0.309 0.751 -0.584 3065 473 1 + -4.219 -3.631 -3.341 -0.309 0.900 -0.309 3065 473 1 + -4.651 -3.771 -2.862 -0.588 0.809 0.000 3065 473 1 + -4.651 -3.866 -2.382 -0.588 0.747 0.310 3065 473 1 + -4.651 -4.138 -1.975 -0.588 0.572 0.572 3065 473 1 + -4.651 -4.545 -4.021 -0.588 0.310 -0.747 3065 473 1 + -4.651 -4.138 -3.749 -0.588 0.572 -0.572 3065 473 1 + -4.651 -3.866 -3.342 -0.588 0.747 -0.310 3065 473 1 + -4.994 -4.114 -2.862 -0.809 0.588 0.000 3065 473 1 + -4.994 -4.236 -3.318 -0.809 0.509 -0.294 3065 473 1 + -1.324 -7.561 -0.156 0.966 0.129 0.224 3067 469 1 + -1.324 -8.013 -0.156 0.966 -0.129 0.224 3067 469 1 + -1.324 -8.240 -0.548 0.966 -0.259 -0.000 3067 469 1 + -1.498 -7.350 0.210 0.866 0.250 0.433 3067 469 1 + -1.498 -7.787 0.327 0.866 -0.000 0.500 3067 469 1 + -1.498 -8.225 0.210 0.866 -0.250 0.433 3067 469 1 + -1.498 -8.545 -0.986 0.866 -0.433 -0.250 3067 469 1 + -1.777 -6.912 0.327 0.707 0.500 0.500 3067 469 1 + -1.777 -7.787 0.689 0.707 -0.000 0.707 3067 469 1 + -1.777 -8.662 -1.423 0.707 -0.500 -0.500 3067 469 1 + 0.001 -4.115 2.841 0.259 0.197 -0.946 3069 332 1 + 2.644 -5.101 2.073 -0.000 1.000 0.000 3070 315 1 + 2.644 -6.959 0.591 -0.000 -0.223 -0.975 3070 315 1 + 2.644 -6.507 0.557 -0.000 0.075 -0.997 3070 315 1 + 2.644 -6.066 0.658 -0.000 0.365 -0.931 3070 315 1 + 2.644 -5.673 0.885 -0.000 0.623 -0.782 3070 315 1 + 2.644 -5.365 1.217 -0.000 0.826 -0.563 3070 315 1 + 2.644 -5.169 1.625 -0.000 0.956 -0.295 3070 315 1 + 2.174 -6.740 0.632 -0.309 -0.079 -0.948 3070 315 1 + 2.174 -6.266 0.672 -0.309 0.233 -0.922 3070 315 1 + 2.174 -5.830 0.863 -0.309 0.520 -0.796 3070 315 1 + 2.174 -5.480 1.185 -0.309 0.751 -0.584 3070 315 1 + 2.174 -5.254 1.604 -0.309 0.900 -0.309 3070 315 1 + 1.751 -6.621 0.843 -0.588 0.000 -0.809 3070 315 1 + 1.751 -6.150 0.937 -0.588 0.310 -0.747 3070 315 1 + 1.751 -5.751 1.203 -0.588 0.572 -0.572 3070 315 1 + 1.414 -6.621 1.180 -0.809 0.000 -0.588 3070 315 1 + 1.414 -6.174 1.299 -0.809 0.294 -0.509 3070 315 1 + 1.198 -6.856 1.666 -0.951 -0.155 -0.268 3070 315 1 + 5.561 -2.265 5.447 0.951 -0.155 -0.268 3072 277 1 + 5.561 -1.795 5.447 0.951 0.155 -0.268 3072 277 1 + 5.345 -2.477 5.080 0.809 -0.294 -0.509 3072 277 1 + 5.345 -2.030 4.961 0.809 0.000 -0.588 3072 277 1 + 5.345 -1.583 5.080 0.809 0.294 -0.509 3072 277 1 + 5.008 -2.900 4.984 0.588 -0.572 -0.572 3072 277 1 + 5.008 -2.501 4.718 0.588 -0.310 -0.747 3072 277 1 + 5.008 -2.030 4.624 0.588 0.000 -0.809 3072 277 1 + 5.008 -1.559 4.718 0.588 0.310 -0.747 3072 277 1 + 5.008 -1.160 4.984 0.588 0.572 -0.572 3072 277 1 + 4.585 -2.149 4.413 0.309 -0.079 -0.948 3072 277 1 + 4.585 -1.675 4.453 0.309 0.233 -0.922 3072 277 1 + 4.585 -1.239 4.644 0.309 0.520 -0.796 3072 277 1 + 4.585 -0.889 4.966 0.309 0.751 -0.584 3072 277 1 + 4.115 -2.368 4.372 -0.000 -0.223 -0.975 3072 277 1 + 4.115 -1.916 4.338 -0.000 0.075 -0.997 3072 277 1 + 4.115 -1.475 4.439 -0.000 0.365 -0.931 3072 277 1 + 4.115 -1.082 4.666 -0.000 0.623 -0.782 3072 277 1 + 4.115 -0.774 4.998 -0.000 0.826 -0.563 3072 277 1 + 3.645 -2.149 4.413 -0.309 -0.079 -0.948 3072 277 1 + 3.645 -1.675 4.453 -0.309 0.233 -0.922 3072 277 1 + 3.645 -1.239 4.644 -0.309 0.520 -0.796 3072 277 1 + 3.645 -0.889 4.966 -0.309 0.751 -0.584 3072 277 1 + 3.222 -1.160 4.984 -0.588 0.572 -0.572 3072 277 1 + 3.222 -0.894 5.383 -0.588 0.747 -0.310 3072 277 1 + 1.477 0.554 7.262 0.259 0.444 -0.858 3074 66 1 + 1.024 0.229 7.073 -0.000 0.259 -0.966 3074 66 1 + 1.024 0.651 7.247 -0.000 0.500 -0.866 3074 66 1 + 0.571 0.120 7.108 -0.259 0.197 -0.946 3074 66 1 + 0.571 0.554 7.262 -0.259 0.444 -0.858 3074 66 1 + 0.571 0.930 7.528 -0.259 0.659 -0.706 3074 66 1 + 0.149 0.244 7.322 -0.500 0.268 -0.824 3074 66 1 + 0.149 0.667 7.537 -0.500 0.509 -0.701 3074 66 1 + 2.653 2.111 9.556 0.707 0.707 0.000 3075 65 1 + 2.653 2.017 10.030 0.707 0.653 0.271 3075 65 1 + 2.653 2.017 9.082 0.707 0.653 -0.271 3075 65 1 + 2.291 2.390 9.556 0.500 0.866 0.000 3075 65 1 + 2.291 1.765 8.330 0.500 0.509 -0.701 3075 65 1 + 2.291 2.100 8.665 0.500 0.701 -0.509 3075 65 1 + 2.291 2.315 9.088 0.500 0.824 -0.268 3075 65 1 + 1.869 1.652 8.055 0.259 0.444 -0.858 3075 65 1 + 1.869 2.028 8.321 0.259 0.659 -0.706 3075 65 1 + 1.869 2.318 8.678 0.259 0.825 -0.502 3075 65 1 + 1.869 2.502 9.100 0.259 0.930 -0.261 3075 65 1 + 1.416 2.111 8.319 -0.000 0.707 -0.707 3075 65 1 + 1.416 2.390 8.681 -0.000 0.866 -0.500 3075 65 1 + 1.416 2.564 9.103 -0.000 0.966 -0.259 3075 65 1 + 0.963 2.028 8.321 -0.259 0.659 -0.706 3075 65 1 + 0.963 2.318 8.678 -0.259 0.825 -0.502 3075 65 1 + 0.541 2.100 8.665 -0.500 0.701 -0.509 3075 65 1 + 5.217 0.931 11.293 0.500 0.866 0.000 3076 79 1 + 5.217 0.641 10.402 0.500 0.701 -0.509 3076 79 1 + 5.217 0.856 10.825 0.500 0.824 -0.268 3076 79 1 + 4.795 1.105 11.293 0.259 0.966 0.000 3076 79 1 + 4.795 0.859 10.415 0.259 0.825 -0.502 3076 79 1 + 4.795 1.043 10.837 0.259 0.930 -0.261 3076 79 1 + 4.342 1.165 11.293 -0.000 1.000 0.000 3076 79 1 + 3.734 1.297 13.192 -0.000 0.966 -0.259 3078 69 1 + 3.065 1.100 15.556 0.259 0.825 0.502 3079 68 1 + 3.969 0.201 19.934 0.866 0.433 0.250 3083 76 1 + 3.969 -0.120 20.254 0.866 0.250 0.433 3083 76 1 + 3.690 0.586 19.970 0.707 0.653 0.271 3083 76 1 + 3.690 0.318 20.371 0.707 0.500 0.500 3083 76 1 + 3.690 -0.083 20.639 0.707 0.271 0.653 3083 76 1 + 3.328 0.959 19.496 0.500 0.866 0.000 3083 76 1 + 3.328 0.884 19.964 0.500 0.824 0.268 3083 76 1 + 3.328 0.669 20.387 0.500 0.701 0.509 3083 76 1 + 3.328 0.334 20.722 0.500 0.509 0.701 3083 76 1 + 2.906 1.133 19.496 0.259 0.966 0.000 3083 76 1 + 2.906 1.071 19.952 0.259 0.930 0.261 3083 76 1 + 2.906 0.887 20.374 0.259 0.825 0.502 3083 76 1 + 2.906 0.597 20.731 0.259 0.659 0.706 3083 76 1 + 2.453 1.193 19.496 -0.000 1.000 0.000 3083 76 1 + 2.453 1.133 19.949 -0.000 0.966 0.259 3083 76 1 + 2.453 0.959 20.371 -0.000 0.866 0.500 3083 76 1 + 2.453 1.133 19.043 -0.000 0.966 -0.259 3083 76 1 + 5.332 -2.110 23.205 0.866 0.500 0.000 3084 159 1 + 5.332 -2.227 23.642 0.866 0.433 0.250 3084 159 1 + 5.053 -1.748 23.205 0.707 0.707 0.000 3084 159 1 + 5.053 -1.842 23.679 0.707 0.653 0.271 3084 159 1 + 5.053 -2.110 24.080 0.707 0.500 0.500 3084 159 1 + 5.053 -1.842 22.731 0.707 0.653 -0.271 3084 159 1 + 4.691 -1.469 23.205 0.500 0.866 0.000 3084 159 1 + 4.691 -1.544 23.673 0.500 0.824 0.268 3084 159 1 + 4.691 -1.759 24.096 0.500 0.701 0.509 3084 159 1 + 4.691 -2.094 24.431 0.500 0.509 0.701 3084 159 1 + 4.691 -1.544 22.737 0.500 0.824 -0.268 3084 159 1 + 4.269 -1.295 23.205 0.259 0.966 0.000 3084 159 1 + 4.269 -1.357 23.661 0.259 0.930 0.261 3084 159 1 + 4.269 -1.541 24.083 0.259 0.825 0.502 3084 159 1 + 4.269 -1.831 24.440 0.259 0.659 0.706 3084 159 1 + 4.269 -2.207 24.706 0.259 0.444 0.858 3084 159 1 + 0.896 -1.939 26.915 0.951 0.155 0.268 3086 193 1 + 0.676 -1.389 26.956 0.809 0.509 0.294 3086 193 1 + 0.676 -1.722 27.289 0.809 0.294 0.509 3086 193 1 + 0.333 -1.291 27.387 0.588 0.572 0.572 3086 193 1 + 0.333 -1.698 27.659 0.588 0.310 0.747 3086 193 1 + -0.099 -1.816 27.929 0.309 0.233 0.922 3086 193 1 + -2.372 -4.214 30.413 0.309 0.900 0.309 3088 194 1 + 1.695 -4.629 31.537 0.588 0.310 0.747 3090 179 1 + 1.695 -5.100 31.631 0.588 -0.000 0.809 3090 179 1 + 1.272 -3.654 30.401 0.309 0.951 0.000 3090 179 1 + 1.272 -3.733 30.870 0.309 0.900 0.309 3090 179 1 + 1.272 -3.959 31.289 0.309 0.751 0.584 3090 179 1 + 1.272 -4.309 31.611 0.309 0.520 0.796 3090 179 1 + 1.272 -4.745 31.802 0.309 0.233 0.922 3090 179 1 + 1.272 -5.219 31.842 0.309 -0.079 0.948 3090 179 1 + 1.272 -5.681 31.725 0.309 -0.382 0.871 3090 179 1 + 0.802 -3.580 30.401 -0.000 1.000 0.000 3090 179 1 + 0.802 -3.648 30.849 -0.000 0.956 0.295 3090 179 1 + 0.802 -3.844 31.257 -0.000 0.826 0.563 3090 179 1 + 0.802 -4.152 31.589 -0.000 0.623 0.782 3090 179 1 + 0.802 -4.545 31.816 -0.000 0.365 0.931 3090 179 1 + 0.802 -4.986 31.917 -0.000 0.075 0.997 3090 179 1 + 0.802 -5.438 31.883 -0.000 -0.223 0.975 3090 179 1 + 0.802 -5.860 31.717 -0.000 -0.500 0.866 3090 179 1 + 0.802 -6.214 31.435 -0.000 -0.733 0.680 3090 179 1 + 0.332 -3.654 30.401 -0.309 0.951 0.000 3090 179 1 + 0.332 -3.733 30.870 -0.309 0.900 0.309 3090 179 1 + 0.332 -3.959 31.289 -0.309 0.751 0.584 3090 179 1 + 0.332 -4.309 31.611 -0.309 0.520 0.796 3090 179 1 + 0.332 -4.745 31.802 -0.309 0.233 0.922 3090 179 1 + 0.332 -5.219 31.842 -0.309 -0.079 0.948 3090 179 1 + 0.332 -5.681 31.725 -0.309 -0.382 0.871 3090 179 1 + -0.091 -3.964 30.872 -0.588 0.747 0.310 3090 179 1 + -0.091 -4.230 31.271 -0.588 0.572 0.572 3090 179 1 + -1.999 -7.043 36.041 1.000 0.000 0.000 3091 203 1 + -2.075 -6.564 36.041 0.951 0.309 0.000 3091 203 1 + -2.075 -6.804 36.456 0.951 0.155 0.268 3091 203 1 + -2.075 -7.282 36.456 0.951 -0.155 0.268 3091 203 1 + -2.075 -7.522 36.041 0.951 -0.309 -0.000 3091 203 1 + -2.075 -7.282 35.626 0.951 -0.155 -0.268 3091 203 1 + -2.075 -6.804 35.626 0.951 0.155 -0.268 3091 203 1 + -2.295 -6.132 36.041 0.809 0.588 0.000 3091 203 1 + -2.295 -6.254 36.497 0.809 0.509 0.294 3091 203 1 + -2.295 -6.587 36.830 0.809 0.294 0.509 3091 203 1 + -2.295 -7.043 36.952 0.809 -0.000 0.588 3091 203 1 + -2.295 -7.499 36.830 0.809 -0.294 0.509 3091 203 1 + -2.295 -7.832 36.497 0.809 -0.509 0.294 3091 203 1 + -2.295 -7.954 36.041 0.809 -0.588 -0.000 3091 203 1 + -2.295 -7.832 35.585 0.809 -0.509 -0.294 3091 203 1 + -2.295 -7.499 35.252 0.809 -0.294 -0.509 3091 203 1 + -2.295 -7.043 35.130 0.809 0.000 -0.588 3091 203 1 + -2.295 -6.587 35.252 0.809 0.294 -0.509 3091 203 1 + -2.295 -6.254 35.585 0.809 0.509 -0.294 3091 203 1 + -2.638 -5.789 36.041 0.588 0.809 0.000 3091 203 1 + -2.638 -5.884 36.521 0.588 0.747 0.310 3091 203 1 + -2.638 -6.156 36.928 0.588 0.572 0.572 3091 203 1 + -2.638 -6.563 37.200 0.588 0.310 0.747 3091 203 1 + -2.638 -7.043 37.295 0.588 -0.000 0.809 3091 203 1 + -2.638 -7.523 37.200 0.588 -0.310 0.747 3091 203 1 + -2.638 -7.930 36.928 0.588 -0.572 0.572 3091 203 1 + -2.638 -8.202 36.521 0.588 -0.747 0.310 3091 203 1 + -2.638 -8.297 36.041 0.588 -0.809 -0.000 3091 203 1 + -2.638 -8.202 35.561 0.588 -0.747 -0.310 3091 203 1 + -2.638 -7.930 35.154 0.588 -0.572 -0.572 3091 203 1 + -2.638 -5.884 35.561 0.588 0.747 -0.310 3091 203 1 + -3.070 -5.649 36.520 0.309 0.900 0.309 3091 203 1 + -3.070 -5.880 36.946 0.309 0.751 0.584 3091 203 1 + -3.070 -6.237 37.275 0.309 0.520 0.796 3091 203 1 + -3.070 -6.681 37.470 0.309 0.233 0.922 3091 203 1 + -3.070 -8.497 36.284 0.309 -0.938 0.157 3091 203 1 + -3.070 -8.497 35.798 0.309 -0.938 -0.157 3091 203 1 + -3.070 -8.339 35.339 0.309 -0.836 -0.453 3091 203 1 + -4.404 -5.630 37.155 0.259 0.825 0.502 3092 202 1 + -4.404 -5.920 37.512 0.259 0.659 0.706 3092 202 1 + -4.857 -5.558 37.152 -0.000 0.866 0.500 3092 202 1 + -4.857 -5.837 37.514 -0.000 0.707 0.707 3092 202 1 + -6.207 -5.271 36.394 -0.309 0.751 0.584 3093 201 1 + -6.639 -5.547 36.376 -0.588 0.572 0.572 3093 201 1 + -6.639 -7.593 35.009 -0.588 -0.747 -0.310 3093 201 1 + -6.982 -5.645 35.945 -0.809 0.509 0.294 3093 201 1 + -6.982 -5.978 36.278 -0.809 0.294 0.509 3093 201 1 + -6.982 -7.345 35.489 -0.809 -0.588 -0.000 3093 201 1 + -6.982 -7.223 35.033 -0.809 -0.509 -0.294 3093 201 1 + -7.202 -6.195 35.904 -0.951 0.155 0.268 3093 201 1 + -7.202 -6.673 35.904 -0.951 -0.155 0.268 3093 201 1 + -7.202 -6.913 35.489 -0.951 -0.309 -0.000 3093 201 1 + -7.202 -6.673 35.074 -0.951 -0.155 -0.268 3093 201 1 + -7.278 -6.434 35.489 -1.000 -0.000 -0.000 3093 201 1 + -4.857 -8.590 35.402 -0.000 -0.866 -0.500 3094 202 1 + -5.310 -8.624 35.604 -0.259 -0.886 -0.385 3094 202 1 + -4.391 -7.247 38.501 0.588 0.310 0.747 3095 204 1 + -4.391 -7.727 38.596 0.588 -0.000 0.809 3095 204 1 + -4.391 -8.207 38.501 0.588 -0.310 0.747 3095 204 1 + -4.391 -8.614 38.229 0.588 -0.572 0.572 3095 204 1 + -4.391 -8.886 37.822 0.588 -0.747 0.310 3095 204 1 + -4.391 -8.981 37.342 0.588 -0.809 -0.000 3095 204 1 + -4.823 -6.921 38.576 0.309 0.520 0.796 3095 204 1 + -4.823 -7.365 38.771 0.309 0.233 0.922 3095 204 1 + -4.823 -7.849 38.811 0.309 -0.079 0.948 3095 204 1 + -4.823 -8.319 38.692 0.309 -0.382 0.871 3095 204 1 + -4.823 -8.725 38.427 0.309 -0.644 0.700 3095 204 1 + -4.823 -9.023 38.044 0.309 -0.836 0.453 3095 204 1 + -4.823 -9.181 37.585 0.309 -0.938 0.157 3095 204 1 + -4.823 -9.181 37.099 0.309 -0.938 -0.157 3095 204 1 + -5.302 -6.761 38.554 -0.000 0.623 0.782 3095 204 1 + -5.302 -7.161 38.785 -0.000 0.365 0.931 3095 204 1 + -5.302 -7.611 38.888 -0.000 0.075 0.997 3095 204 1 + -5.302 -8.072 38.853 -0.000 -0.223 0.975 3095 204 1 + -5.302 -8.502 38.684 -0.000 -0.500 0.866 3095 204 1 + -5.302 -8.863 38.396 -0.000 -0.733 0.680 3095 204 1 + -5.302 -9.124 38.015 -0.000 -0.901 0.434 3095 204 1 + -5.302 -9.260 37.573 -0.000 -0.989 0.149 3095 204 1 + -5.302 -9.260 37.111 -0.000 -0.989 -0.149 3095 204 1 + -5.781 -6.564 38.247 -0.309 0.751 0.584 3095 204 1 + -5.781 -6.921 38.576 -0.309 0.520 0.796 3095 204 1 + -5.781 -7.365 38.771 -0.309 0.233 0.922 3095 204 1 + -5.781 -7.849 38.811 -0.309 -0.079 0.948 3095 204 1 + -5.781 -8.319 38.692 -0.309 -0.382 0.871 3095 204 1 + -5.781 -8.725 38.427 -0.309 -0.644 0.700 3095 204 1 + -5.781 -9.023 38.044 -0.309 -0.836 0.453 3095 204 1 + -5.781 -9.181 37.585 -0.309 -0.938 0.157 3095 204 1 + -5.781 -9.181 37.099 -0.309 -0.938 -0.157 3095 204 1 + -5.781 -9.023 36.640 -0.309 -0.836 -0.453 3095 204 1 + -6.213 -6.840 38.229 -0.588 0.572 0.572 3095 204 1 + -6.213 -7.247 38.501 -0.588 0.310 0.747 3095 204 1 + -6.213 -7.727 38.596 -0.588 -0.000 0.809 3095 204 1 + -6.213 -8.207 38.501 -0.588 -0.310 0.747 3095 204 1 + -6.213 -8.614 38.229 -0.588 -0.572 0.572 3095 204 1 + -6.213 -8.886 37.822 -0.588 -0.747 0.310 3095 204 1 + -6.213 -8.981 37.342 -0.588 -0.809 -0.000 3095 204 1 + -6.213 -8.886 36.862 -0.588 -0.747 -0.310 3095 204 1 + -6.556 -6.938 37.798 -0.809 0.509 0.294 3095 204 1 + -6.556 -7.271 38.131 -0.809 0.294 0.509 3095 204 1 + -6.556 -7.727 38.253 -0.809 -0.000 0.588 3095 204 1 + -6.556 -8.183 38.131 -0.809 -0.294 0.509 3095 204 1 + -6.556 -8.516 37.798 -0.809 -0.509 0.294 3095 204 1 + -6.556 -8.638 37.342 -0.809 -0.588 -0.000 3095 204 1 + -6.556 -8.516 36.886 -0.809 -0.509 -0.294 3095 204 1 + -6.776 -7.488 37.757 -0.951 0.155 0.268 3095 204 1 + -6.776 -7.966 37.757 -0.951 -0.155 0.268 3095 204 1 + -6.776 -8.206 37.342 -0.951 -0.309 -0.000 3095 204 1 + -6.852 -7.727 37.342 -1.000 -0.000 -0.000 3095 204 1 + 2.989 -9.099 30.326 0.809 -0.000 0.588 3097 173 1 + 2.989 -9.546 30.207 0.809 -0.294 0.509 3097 173 1 + 2.652 -9.099 30.663 0.588 -0.000 0.809 3097 173 1 + 2.652 -9.570 30.569 0.588 -0.310 0.747 3097 173 1 + 2.652 -9.969 30.303 0.588 -0.572 0.572 3097 173 1 + 2.229 -9.218 30.874 0.309 -0.079 0.948 3097 173 1 + 2.229 -9.680 30.757 0.309 -0.382 0.871 3097 173 1 + 2.229 -10.078 30.497 0.309 -0.644 0.700 3097 173 1 + 2.229 -10.370 30.121 0.309 -0.836 0.453 3097 173 1 + 1.759 -8.985 30.949 -0.000 0.075 0.997 3097 173 1 + 1.759 -9.437 30.915 -0.000 -0.223 0.975 3097 173 1 + 1.759 -9.859 30.749 -0.000 -0.500 0.866 3097 173 1 + 1.759 -10.213 30.467 -0.000 -0.733 0.680 3097 173 1 + 1.759 -10.468 30.093 -0.000 -0.901 0.434 3097 173 1 + 1.289 -8.744 30.834 -0.309 0.233 0.922 3097 173 1 + 1.289 -9.218 30.874 -0.309 -0.079 0.948 3097 173 1 + 1.289 -9.680 30.757 -0.309 -0.382 0.871 3097 173 1 + -0.702 -10.661 30.398 0.309 -0.079 0.948 3098 370 1 + -0.702 -11.131 30.279 0.309 -0.382 0.871 3098 370 1 + -1.181 -10.423 30.475 -0.000 0.075 0.997 3098 370 1 + -1.181 -10.884 30.440 -0.000 -0.223 0.975 3098 370 1 + -1.660 -11.131 30.279 -0.309 -0.382 0.871 3098 370 1 + 0.876 -18.694 30.667 -0.000 -0.866 0.500 3105 390 1 + 0.876 -18.868 30.245 -0.000 -0.966 0.259 3105 390 1 + 0.876 -18.928 29.792 -0.000 -1.000 -0.000 3105 390 1 + 0.876 -18.868 29.339 -0.000 -0.966 -0.259 3105 390 1 + 0.423 -17.744 31.385 -0.259 -0.323 0.910 3105 390 1 + 0.423 -18.153 31.173 -0.259 -0.557 0.789 3105 390 1 + 0.423 -18.489 30.859 -0.259 -0.749 0.610 3105 390 1 + 0.423 -18.728 30.465 -0.259 -0.886 0.385 3105 390 1 + 0.423 -18.853 30.022 -0.259 -0.957 0.132 3105 390 1 + 0.423 -18.853 29.562 -0.259 -0.957 -0.132 3105 390 1 + 0.001 -16.710 31.233 -0.500 0.268 0.824 3105 390 1 + 0.001 -17.178 31.308 -0.500 -0.000 0.866 3105 390 1 + 0.001 -17.646 31.233 -0.500 -0.268 0.824 3105 390 1 + 0.001 -18.069 31.018 -0.500 -0.509 0.701 3105 390 1 + 0.001 -18.404 30.683 -0.500 -0.701 0.509 3105 390 1 + 0.001 -18.619 30.260 -0.500 -0.824 0.268 3105 390 1 + 0.001 -18.694 29.792 -0.500 -0.866 -0.000 3105 390 1 + 0.001 -18.619 29.324 -0.500 -0.824 -0.268 3105 390 1 + -0.361 -17.178 31.029 -0.707 -0.000 0.707 3105 390 1 + -0.361 -17.652 30.935 -0.707 -0.271 0.653 3105 390 1 + -0.361 -18.053 30.667 -0.707 -0.500 0.500 3105 390 1 + -0.361 -18.321 30.266 -0.707 -0.653 0.271 3105 390 1 + -0.361 -18.415 29.792 -0.707 -0.707 -0.000 3105 390 1 + 0.201 -20.481 26.203 0.309 -0.644 0.700 3106 401 1 + 0.201 -20.773 25.827 0.309 -0.836 0.453 3106 401 1 + 0.201 -20.928 25.377 0.309 -0.938 0.157 3106 401 1 + 0.201 -20.928 24.901 0.309 -0.938 -0.157 3106 401 1 + 0.201 -20.773 24.451 0.309 -0.836 -0.453 3106 401 1 + 0.201 -20.481 24.075 0.309 -0.644 -0.700 3106 401 1 + -0.269 -20.262 26.455 -0.000 -0.500 0.866 3106 401 1 + -0.269 -20.616 26.173 -0.000 -0.733 0.680 3106 401 1 + -0.269 -20.871 25.799 -0.000 -0.901 0.434 3106 401 1 + -0.269 -21.005 25.366 -0.000 -0.989 0.149 3106 401 1 + -0.269 -21.005 24.912 -0.000 -0.989 -0.149 3106 401 1 + -0.269 -20.871 24.479 -0.000 -0.901 -0.434 3106 401 1 + -0.269 -20.616 24.105 -0.000 -0.733 -0.680 3106 401 1 + -0.269 -20.262 23.823 -0.000 -0.500 -0.866 3106 401 1 + -0.739 -19.621 26.580 -0.309 -0.079 0.948 3106 401 1 + -0.739 -20.083 26.463 -0.309 -0.382 0.871 3106 401 1 + -0.739 -20.481 26.203 -0.309 -0.644 0.700 3106 401 1 + -0.739 -20.773 25.827 -0.309 -0.836 0.453 3106 401 1 + -0.739 -20.928 25.377 -0.309 -0.938 0.157 3106 401 1 + -0.739 -20.928 24.901 -0.309 -0.938 -0.157 3106 401 1 + -0.739 -20.773 24.451 -0.309 -0.836 -0.453 3106 401 1 + -0.739 -20.481 24.075 -0.309 -0.644 -0.700 3106 401 1 + -0.739 -20.083 23.815 -0.309 -0.382 -0.871 3106 401 1 + -1.162 -19.502 26.369 -0.588 -0.000 0.809 3106 401 1 + -1.162 -19.973 26.275 -0.588 -0.310 0.747 3106 401 1 + -1.162 -20.372 26.009 -0.588 -0.572 0.572 3106 401 1 + -1.162 -20.638 25.610 -0.588 -0.747 0.310 3106 401 1 + -1.162 -20.732 25.139 -0.588 -0.809 -0.000 3106 401 1 + -1.162 -20.638 24.668 -0.588 -0.747 -0.310 3106 401 1 + -1.162 -20.372 24.269 -0.588 -0.572 -0.572 3106 401 1 + -1.499 -19.502 26.032 -0.809 -0.000 0.588 3106 401 1 + -1.499 -19.949 25.913 -0.809 -0.294 0.509 3106 401 1 + -1.499 -20.276 25.586 -0.809 -0.509 0.294 3106 401 1 + -1.499 -20.395 25.139 -0.809 -0.588 -0.000 3106 401 1 + -1.499 -20.276 24.692 -0.809 -0.509 -0.294 3106 401 1 + -1.715 -19.737 25.546 -0.951 -0.155 0.268 3106 401 1 + -1.715 -19.972 25.139 -0.951 -0.309 -0.000 3106 401 1 + -1.789 -19.502 25.139 -1.000 -0.000 -0.000 3106 401 1 + -0.664 -17.816 20.450 0.866 -0.500 -0.000 3107 414 1 + -0.943 -18.178 20.450 0.707 -0.707 -0.000 3107 414 1 + -0.943 -18.084 19.976 0.707 -0.653 -0.271 3107 414 1 + -1.305 -18.382 20.918 0.500 -0.824 0.268 3107 414 1 + -1.305 -18.457 20.450 0.500 -0.866 -0.000 3107 414 1 + -1.305 -18.382 19.982 0.500 -0.824 -0.268 3107 414 1 + -1.305 -18.167 19.559 0.500 -0.701 -0.509 3107 414 1 + -1.538 -17.289 18.220 0.259 -0.749 -0.610 3108 413 1 + 0.613 -17.236 14.511 0.809 -0.588 -0.000 3109 421 1 + 0.613 -17.117 14.064 0.809 -0.509 -0.294 3109 421 1 + 0.276 -17.479 14.982 0.588 -0.747 0.310 3109 421 1 + 0.276 -17.573 14.511 0.588 -0.809 -0.000 3109 421 1 + 0.276 -17.479 14.040 0.588 -0.747 -0.310 3109 421 1 + 0.276 -17.213 13.641 0.588 -0.572 -0.572 3109 421 1 + 0.276 -16.814 13.375 0.588 -0.310 -0.747 3109 421 1 + -0.147 -17.614 15.199 0.309 -0.836 0.453 3109 421 1 + -0.147 -17.769 14.749 0.309 -0.938 0.157 3109 421 1 + -0.147 -17.769 14.273 0.309 -0.938 -0.157 3109 421 1 + -0.147 -17.614 13.823 0.309 -0.836 -0.453 3109 421 1 + -0.147 -17.322 13.447 0.309 -0.644 -0.700 3109 421 1 + -0.147 -16.924 13.187 0.309 -0.382 -0.871 3109 421 1 + -0.617 -17.457 15.545 -0.000 -0.733 0.680 3109 421 1 + -0.617 -17.712 15.171 -0.000 -0.901 0.434 3109 421 1 + -0.617 -17.846 14.738 -0.000 -0.989 0.149 3109 421 1 + -0.617 -17.846 14.284 -0.000 -0.989 -0.149 3109 421 1 + -0.617 -17.712 13.851 -0.000 -0.901 -0.434 3109 421 1 + -0.617 -17.457 13.477 -0.000 -0.733 -0.680 3109 421 1 + -1.087 -17.614 15.199 -0.309 -0.836 0.453 3109 421 1 + -1.087 -17.769 14.749 -0.309 -0.938 0.157 3109 421 1 + -1.087 -17.769 14.273 -0.309 -0.938 -0.157 3109 421 1 + -1.087 -17.614 13.823 -0.309 -0.836 -0.453 3109 421 1 + -1.087 -17.322 13.447 -0.309 -0.644 -0.700 3109 421 1 + -1.510 -17.479 14.982 -0.588 -0.747 0.310 3109 421 1 + -1.510 -17.573 14.511 -0.588 -0.809 -0.000 3109 421 1 + -1.510 -17.479 14.040 -0.588 -0.747 -0.310 3109 421 1 + -3.997 -17.193 13.387 0.500 -0.824 -0.268 3110 435 1 + -3.997 -16.978 12.964 0.500 -0.701 -0.509 3110 435 1 + -4.419 -16.727 12.474 0.259 -0.557 -0.789 3110 435 1 + -4.872 -16.205 12.165 -0.000 -0.259 -0.966 3110 435 1 + -0.319 -15.796 10.693 0.588 -0.747 0.310 3113 439 1 + -1.230 -16.170 10.444 -0.000 -0.989 0.149 3113 439 1 + -1.709 -16.091 9.970 -0.309 -0.938 -0.157 3113 439 1 + -2.141 -15.891 10.213 -0.588 -0.809 -0.000 3113 439 1 + 0.455 -14.388 11.340 0.966 -0.259 -0.000 3114 430 1 + 3.816 -14.086 8.579 0.500 -0.000 0.866 3116 446 1 + 3.816 -14.554 8.504 0.500 -0.268 0.824 3116 446 1 + 3.816 -14.977 8.289 0.500 -0.509 0.701 3116 446 1 + 3.816 -15.312 7.954 0.500 -0.701 0.509 3116 446 1 + 3.394 -14.201 8.749 0.259 -0.066 0.964 3116 446 1 + 3.394 -14.652 8.656 0.259 -0.323 0.910 3116 446 1 + 3.394 -15.061 8.444 0.259 -0.557 0.789 3116 446 1 + 3.394 -15.397 8.130 0.259 -0.749 0.610 3116 446 1 + 2.941 -14.539 8.753 -0.000 -0.259 0.966 3116 446 1 + 4.645 -15.894 5.958 0.809 -0.588 -0.000 3117 447 1 + 4.645 -15.772 5.502 0.809 -0.509 -0.294 3117 447 1 + 4.302 -15.870 6.845 0.588 -0.572 0.572 3117 447 1 + 4.302 -16.142 6.438 0.588 -0.747 0.310 3117 447 1 + 4.302 -16.237 5.958 0.588 -0.809 -0.000 3117 447 1 + 4.302 -16.142 5.478 0.588 -0.747 -0.310 3117 447 1 + 4.302 -15.870 5.071 0.588 -0.572 -0.572 3117 447 1 + 3.870 -16.279 6.660 0.309 -0.836 0.453 3117 447 1 + 3.870 -16.437 6.201 0.309 -0.938 0.157 3117 447 1 + 3.870 -16.437 5.715 0.309 -0.938 -0.157 3117 447 1 + 3.870 -16.279 5.256 0.309 -0.836 -0.453 3117 447 1 + 3.870 -15.981 4.873 0.309 -0.644 -0.700 3117 447 1 + 3.870 -15.575 4.608 0.309 -0.382 -0.871 3117 447 1 + 3.391 -16.380 6.631 -0.000 -0.901 0.434 3117 447 1 + 3.391 -16.516 6.189 -0.000 -0.989 0.149 3117 447 1 + 3.391 -16.516 5.727 -0.000 -0.989 -0.149 3117 447 1 + 3.391 -16.380 5.285 -0.000 -0.901 -0.434 3117 447 1 + 3.391 -16.119 4.904 -0.000 -0.733 -0.680 3117 447 1 + 3.391 -15.758 4.616 -0.000 -0.500 -0.866 3117 447 1 + 3.391 -15.328 4.447 -0.000 -0.223 -0.975 3117 447 1 + 2.912 -16.437 6.201 -0.309 -0.938 0.157 3117 447 1 + 2.912 -16.437 5.715 -0.309 -0.938 -0.157 3117 447 1 + 2.912 -16.279 5.256 -0.309 -0.836 -0.453 3117 447 1 + 2.912 -15.981 4.873 -0.309 -0.644 -0.700 3117 447 1 + 2.912 -15.575 4.608 -0.309 -0.382 -0.871 3117 447 1 + -1.572 -10.184 0.204 1.000 0.000 0.000 3122 467 1 + -1.632 -9.958 0.596 0.966 0.129 0.224 3122 467 1 + -1.632 -10.410 0.596 0.966 -0.129 0.224 3122 467 1 + -1.632 -10.637 0.204 0.966 -0.259 -0.000 3122 467 1 + -1.632 -10.410 -0.188 0.966 -0.129 -0.224 3122 467 1 + -1.806 -9.747 0.962 0.866 0.250 0.433 3122 467 1 + -1.806 -10.184 1.079 0.866 -0.000 0.500 3122 467 1 + -1.806 -10.622 0.962 0.866 -0.250 0.433 3122 467 1 + -1.806 -11.059 0.204 0.866 -0.500 -0.000 3122 467 1 + -1.806 -10.622 -0.554 0.866 -0.250 -0.433 3122 467 1 + -1.806 -10.184 -0.671 0.866 0.000 -0.500 3122 467 1 + -2.085 -9.710 1.347 0.707 0.271 0.653 3122 467 1 + -3.821 -10.461 -3.821 0.951 0.309 0.000 3123 477 1 + -3.821 -11.166 -4.228 0.951 -0.155 -0.268 3123 477 1 + -3.821 -10.696 -4.228 0.951 0.155 -0.268 3123 477 1 + -4.037 -10.484 -4.595 0.809 0.294 -0.509 3123 477 1 + -4.037 -10.157 -4.268 0.809 0.509 -0.294 3123 477 1 + -4.029 -12.302 -4.288 0.966 -0.129 -0.224 3124 476 1 + -3.975 -12.078 -6.351 1.000 0.000 0.000 3125 483 1 + -4.035 -11.625 -6.351 0.966 0.259 0.000 3125 483 1 + -4.035 -12.304 -5.959 0.966 -0.129 0.224 3125 483 1 + -4.035 -12.531 -6.351 0.966 -0.259 -0.000 3125 483 1 + -4.035 -12.304 -6.743 0.966 -0.129 -0.224 3125 483 1 + -4.035 -11.852 -6.743 0.966 0.129 -0.224 3125 483 1 + -4.209 -11.203 -6.351 0.866 0.500 0.000 3125 483 1 + -4.209 -12.953 -6.351 0.866 -0.500 -0.000 3125 483 1 + -4.209 -12.836 -6.788 0.866 -0.433 -0.250 3125 483 1 + -4.209 -12.516 -7.109 0.866 -0.250 -0.433 3125 483 1 + -4.209 -12.078 -7.226 0.866 0.000 -0.500 3125 483 1 + -4.209 -11.641 -7.109 0.866 0.250 -0.433 3125 483 1 + -4.488 -13.315 -6.351 0.707 -0.707 -0.000 3125 483 1 + -4.488 -13.221 -6.825 0.707 -0.653 -0.271 3125 483 1 + -4.488 -12.953 -7.226 0.707 -0.500 -0.500 3125 483 1 + -4.488 -12.552 -7.494 0.707 -0.271 -0.653 3125 483 1 + -4.488 -12.078 -7.588 0.707 0.000 -0.707 3125 483 1 + -4.850 -13.519 -6.819 0.500 -0.824 -0.268 3125 483 1 + -4.850 -13.304 -7.242 0.500 -0.701 -0.509 3125 483 1 + -4.850 -12.969 -7.577 0.500 -0.509 -0.701 3125 483 1 + -4.850 -12.546 -7.792 0.500 -0.268 -0.824 3125 483 1 + -5.272 -13.628 -7.024 0.259 -0.886 -0.385 3125 483 1 + -5.272 -13.389 -7.418 0.259 -0.749 -0.610 3125 483 1 + -5.272 -13.053 -7.732 0.259 -0.557 -0.789 3125 483 1 + -5.272 -12.644 -7.944 0.259 -0.323 -0.910 3125 483 1 + -5.725 -13.768 -6.804 -0.000 -0.966 -0.259 3125 483 1 + -5.725 -13.594 -7.226 -0.000 -0.866 -0.500 3125 483 1 + -5.725 -13.315 -7.588 -0.000 -0.707 -0.707 3125 483 1 + -5.725 -12.953 -7.867 -0.000 -0.500 -0.866 3125 483 1 + -5.725 -12.531 -8.041 -0.000 -0.259 -0.966 3125 483 1 + -6.178 -13.628 -7.024 -0.259 -0.886 -0.385 3125 483 1 + -6.178 -13.389 -7.418 -0.259 -0.749 -0.610 3125 483 1 + -6.178 -13.053 -7.732 -0.259 -0.557 -0.789 3125 483 1 + -6.178 -12.644 -7.944 -0.259 -0.323 -0.910 3125 483 1 + -6.600 -13.519 -6.819 -0.500 -0.824 -0.268 3125 483 1 + -6.600 -13.304 -7.242 -0.500 -0.701 -0.509 3125 483 1 + -6.600 -12.969 -7.577 -0.500 -0.509 -0.701 3125 483 1 + -6.962 -13.221 -6.825 -0.707 -0.653 -0.271 3125 483 1 + -6.962 -12.953 -7.226 -0.707 -0.500 -0.500 3125 483 1 + -4.645 -9.549 -7.522 0.951 0.309 0.000 3126 485 1 + -4.645 -9.784 -7.929 0.951 0.155 -0.268 3126 485 1 + -4.861 -9.126 -7.522 0.809 0.588 0.000 3126 485 1 + -4.861 -9.245 -7.075 0.809 0.509 0.294 3126 485 1 + -4.861 -10.466 -8.296 0.809 -0.294 -0.509 3126 485 1 + -4.861 -10.019 -8.415 0.809 0.000 -0.588 3126 485 1 + -4.861 -9.572 -8.296 0.809 0.294 -0.509 3126 485 1 + -4.861 -9.245 -7.969 0.809 0.509 -0.294 3126 485 1 + -5.198 -8.789 -7.522 0.588 0.809 0.000 3126 485 1 + -5.198 -8.883 -7.051 0.588 0.747 0.310 3126 485 1 + -5.198 -10.490 -8.658 0.588 -0.310 -0.747 3126 485 1 + -5.198 -10.019 -8.752 0.588 0.000 -0.809 3126 485 1 + -5.198 -9.548 -8.658 0.588 0.310 -0.747 3126 485 1 + -5.198 -9.149 -8.392 0.588 0.572 -0.572 3126 485 1 + -5.198 -8.883 -7.993 0.588 0.747 -0.310 3126 485 1 + -5.621 -8.573 -7.522 0.309 0.951 0.000 3126 485 1 + -5.621 -10.600 -8.846 0.309 -0.382 -0.871 3126 485 1 + -5.621 -10.138 -8.963 0.309 -0.079 -0.948 3126 485 1 + -5.621 -9.664 -8.923 0.309 0.233 -0.922 3126 485 1 + -5.621 -9.228 -8.732 0.309 0.520 -0.796 3126 485 1 + -5.621 -8.878 -8.410 0.309 0.751 -0.584 3126 485 1 + -5.621 -8.652 -7.991 0.309 0.900 -0.309 3126 485 1 + -6.091 -10.779 -8.838 -0.000 -0.500 -0.866 3126 485 1 + -6.091 -10.357 -9.004 -0.000 -0.223 -0.975 3126 485 1 + -6.091 -9.905 -9.038 -0.000 0.075 -0.997 3126 485 1 + -6.091 -9.464 -8.937 -0.000 0.365 -0.931 3126 485 1 + -6.091 -9.071 -8.710 -0.000 0.623 -0.782 3126 485 1 + -6.091 -8.763 -8.378 -0.000 0.826 -0.563 3126 485 1 + -6.091 -8.567 -7.970 -0.000 0.956 -0.295 3126 485 1 + -6.561 -10.600 -8.846 -0.309 -0.382 -0.871 3126 485 1 + -6.561 -10.138 -8.963 -0.309 -0.079 -0.948 3126 485 1 + -6.561 -9.664 -8.923 -0.309 0.233 -0.922 3126 485 1 + -6.561 -9.228 -8.732 -0.309 0.520 -0.796 3126 485 1 + -6.561 -8.878 -8.410 -0.309 0.751 -0.584 3126 485 1 + -6.984 -10.019 -8.752 -0.588 0.000 -0.809 3126 485 1 + -6.984 -9.548 -8.658 -0.588 0.310 -0.747 3126 485 1 + -6.799 -7.432 -5.996 0.707 0.500 -0.500 3127 488 1 + -0.219 -6.170 -2.546 1.000 0.000 0.000 3130 472 1 + -0.295 -5.691 -2.546 0.951 0.309 0.000 3130 472 1 + -0.295 -5.931 -2.131 0.951 0.155 0.268 3130 472 1 + -0.295 -6.409 -2.131 0.951 -0.155 0.268 3130 472 1 + -0.295 -6.649 -2.546 0.951 -0.309 -0.000 3130 472 1 + -0.295 -6.409 -2.961 0.951 -0.155 -0.268 3130 472 1 + -0.295 -5.931 -2.961 0.951 0.155 -0.268 3130 472 1 + -0.515 -5.259 -2.546 0.809 0.588 0.000 3130 472 1 + -0.515 -5.381 -2.090 0.809 0.509 0.294 3130 472 1 + -0.515 -5.714 -1.757 0.809 0.294 0.509 3130 472 1 + -0.515 -6.170 -1.635 0.809 -0.000 0.588 3130 472 1 + -0.515 -6.626 -1.757 0.809 -0.294 0.509 3130 472 1 + -0.515 -6.959 -2.090 0.809 -0.509 0.294 3130 472 1 + -0.515 -7.081 -2.546 0.809 -0.588 -0.000 3130 472 1 + -0.515 -6.959 -3.002 0.809 -0.509 -0.294 3130 472 1 + -0.515 -6.626 -3.335 0.809 -0.294 -0.509 3130 472 1 + -0.515 -6.170 -3.457 0.809 0.000 -0.588 3130 472 1 + -0.515 -5.714 -3.335 0.809 0.294 -0.509 3130 472 1 + -0.515 -5.381 -3.002 0.809 0.509 -0.294 3130 472 1 + -0.858 -4.916 -2.546 0.588 0.809 0.000 3130 472 1 + -0.858 -5.011 -2.066 0.588 0.747 0.310 3130 472 1 + -0.858 -5.283 -1.659 0.588 0.572 0.572 3130 472 1 + -0.858 -5.690 -1.387 0.588 0.310 0.747 3130 472 1 + -0.858 -7.424 -2.546 0.588 -0.809 -0.000 3130 472 1 + -0.858 -7.329 -3.026 0.588 -0.747 -0.310 3130 472 1 + -0.858 -7.057 -3.433 0.588 -0.572 -0.572 3130 472 1 + -0.858 -6.650 -3.705 0.588 -0.310 -0.747 3130 472 1 + -0.858 -6.170 -3.800 0.588 0.000 -0.809 3130 472 1 + -0.858 -5.690 -3.705 0.588 0.310 -0.747 3130 472 1 + -0.858 -5.283 -3.433 0.588 0.572 -0.572 3130 472 1 + -0.858 -5.011 -3.026 0.588 0.747 -0.310 3130 472 1 + -1.290 -4.696 -2.546 0.309 0.951 0.000 3130 472 1 + -1.290 -7.466 -3.248 0.309 -0.836 -0.453 3130 472 1 + -1.290 -7.168 -3.631 0.309 -0.644 -0.700 3130 472 1 + -1.290 -6.762 -3.896 0.309 -0.382 -0.871 3130 472 1 + -1.290 -6.292 -4.015 0.309 -0.079 -0.948 3130 472 1 + -1.290 -5.808 -3.975 0.309 0.233 -0.922 3130 472 1 + -1.290 -5.364 -3.780 0.309 0.520 -0.796 3130 472 1 + -1.290 -5.007 -3.451 0.309 0.751 -0.584 3130 472 1 + -1.769 -7.567 -3.219 -0.000 -0.901 -0.434 3130 472 1 + -1.769 -7.306 -3.600 -0.000 -0.733 -0.680 3130 472 1 + -1.769 -6.945 -3.888 -0.000 -0.500 -0.866 3130 472 1 + -1.769 -6.515 -4.057 -0.000 -0.223 -0.975 3130 472 1 + -1.769 -6.054 -4.092 -0.000 0.075 -0.997 3130 472 1 + 3.095 -10.050 0.559 0.588 0.000 -0.809 3135 322 1 + 2.672 -10.631 0.465 0.309 -0.382 -0.871 3135 322 1 + 2.672 -10.169 0.348 0.309 -0.079 -0.948 3135 322 1 + 2.672 -9.695 0.388 0.309 0.233 -0.922 3135 322 1 + 2.202 -10.810 0.473 -0.000 -0.500 -0.866 3135 322 1 + 2.202 -10.388 0.307 -0.000 -0.223 -0.975 3135 322 1 + 2.202 -9.936 0.273 -0.000 0.075 -0.997 3135 322 1 + 2.202 -9.495 0.374 -0.000 0.365 -0.931 3135 322 1 + 1.732 -11.029 0.725 -0.309 -0.644 -0.700 3135 322 1 + 1.732 -10.631 0.465 -0.309 -0.382 -0.871 3135 322 1 + 1.732 -10.169 0.348 -0.309 -0.079 -0.948 3135 322 1 + 1.732 -9.695 0.388 -0.309 0.233 -0.922 3135 322 1 + 1.732 -9.259 0.579 -0.309 0.520 -0.796 3135 322 1 + 1.309 -10.920 0.919 -0.588 -0.572 -0.572 3135 322 1 + 1.309 -10.521 0.653 -0.588 -0.310 -0.747 3135 322 1 + 1.309 -10.050 0.559 -0.588 0.000 -0.809 3135 322 1 + 1.309 -9.579 0.653 -0.588 0.310 -0.747 3135 322 1 + 0.972 -10.824 1.342 -0.809 -0.509 -0.294 3135 322 1 + 0.972 -10.497 1.015 -0.809 -0.294 -0.509 3135 322 1 + 0.972 -10.050 0.896 -0.809 0.000 -0.588 3135 322 1 + 0.972 -9.603 1.015 -0.809 0.294 -0.509 3135 322 1 + 0.972 -9.276 1.342 -0.809 0.509 -0.294 3135 322 1 + 0.756 -9.580 1.789 -0.951 0.309 0.000 3135 322 1 + 0.756 -10.285 1.382 -0.951 -0.155 -0.268 3135 322 1 + 0.756 -9.815 1.382 -0.951 0.155 -0.268 3135 322 1 + 0.682 -10.050 1.789 -1.000 -0.000 -0.000 3135 322 1 + 6.265 -5.626 0.988 0.707 0.500 -0.500 3137 313 1 + 5.903 -4.985 1.863 0.500 0.866 0.000 3137 313 1 + 5.903 -6.033 0.422 0.500 0.268 -0.824 3137 313 1 + 5.903 -5.610 0.637 0.500 0.509 -0.701 3137 313 1 + 5.903 -5.275 0.972 0.500 0.701 -0.509 3137 313 1 + 5.903 -5.060 1.395 0.500 0.824 -0.268 3137 313 1 + 5.481 -4.811 1.863 0.259 0.966 0.000 3137 313 1 + 5.481 -4.873 2.319 0.259 0.930 0.261 3137 313 1 + 5.481 -5.057 2.741 0.259 0.825 0.502 3137 313 1 + 5.481 -6.157 0.208 0.259 0.197 -0.946 3137 313 1 + 5.481 -5.723 0.362 0.259 0.444 -0.858 3137 313 1 + 5.481 -5.347 0.628 0.259 0.659 -0.706 3137 313 1 + 5.481 -5.057 0.985 0.259 0.825 -0.502 3137 313 1 + 5.481 -4.873 1.407 0.259 0.930 -0.261 3137 313 1 + 5.028 -4.751 1.863 -0.000 1.000 0.000 3137 313 1 + 5.028 -4.811 2.316 -0.000 0.966 0.259 3137 313 1 + 5.028 -6.501 0.113 -0.000 0.000 -1.000 3137 313 1 + 5.028 -6.048 0.173 -0.000 0.259 -0.966 3137 313 1 + 5.028 -5.626 0.347 -0.000 0.500 -0.866 3137 313 1 + 5.028 -5.264 0.626 -0.000 0.707 -0.707 3137 313 1 + 5.028 -4.985 0.988 -0.000 0.866 -0.500 3137 313 1 + 5.028 -4.811 1.410 -0.000 0.966 -0.259 3137 313 1 + 4.575 -4.811 1.863 -0.259 0.966 0.000 3137 313 1 + 4.575 -4.873 2.319 -0.259 0.930 0.261 3137 313 1 + 4.575 -7.067 0.270 -0.259 -0.323 -0.910 3137 313 1 + 4.575 -6.616 0.177 -0.259 -0.066 -0.964 3137 313 1 + 4.575 -6.157 0.208 -0.259 0.197 -0.946 3137 313 1 + 4.575 -5.723 0.362 -0.259 0.444 -0.858 3137 313 1 + 4.575 -5.347 0.628 -0.259 0.659 -0.706 3137 313 1 + 4.575 -5.057 0.985 -0.259 0.825 -0.502 3137 313 1 + 4.575 -4.873 1.407 -0.259 0.930 -0.261 3137 313 1 + 6.198 -4.016 6.823 0.707 0.000 -0.707 3140 274 1 + 5.836 -4.484 6.619 0.500 -0.268 -0.824 3140 274 1 + 5.414 -4.582 6.467 0.259 -0.323 -0.910 3140 274 1 + 6.018 -0.232 7.548 0.951 0.309 0.000 3142 278 1 + 6.018 -0.467 7.141 0.951 0.155 -0.268 3142 278 1 + 5.802 0.191 7.548 0.809 0.588 0.000 3142 278 1 + 5.802 0.072 7.995 0.809 0.509 0.294 3142 278 1 + 5.802 -0.255 6.774 0.809 0.294 -0.509 3142 278 1 + 5.802 0.072 7.101 0.809 0.509 -0.294 3142 278 1 + 5.465 0.528 7.548 0.588 0.809 0.000 3142 278 1 + 5.465 0.434 8.019 0.588 0.747 0.310 3142 278 1 + 5.465 0.168 6.678 0.588 0.572 -0.572 3142 278 1 + 5.465 0.434 7.077 0.588 0.747 -0.310 3142 278 1 + 5.042 0.744 7.548 0.309 0.951 0.000 3142 278 1 + 5.042 0.665 8.017 0.309 0.900 0.309 3142 278 1 + 5.042 0.439 6.660 0.309 0.751 -0.584 3142 278 1 + 5.042 0.665 7.079 0.309 0.900 -0.309 3142 278 1 + 4.572 0.818 7.548 -0.000 1.000 0.000 3142 278 1 + 4.572 0.554 6.692 -0.000 0.826 -0.563 3142 278 1 + 4.572 0.750 7.100 -0.000 0.956 -0.295 3142 278 1 + 4.102 0.439 6.660 -0.309 0.751 -0.584 3142 278 1 + 4.102 0.665 7.079 -0.309 0.900 -0.309 3142 278 1 + 7.456 -0.396 11.552 0.588 0.747 0.310 3144 82 1 + 7.024 -0.081 11.072 0.309 0.951 0.000 3144 82 1 + 7.024 -0.161 11.551 0.309 0.900 0.309 3144 82 1 + 7.024 -0.161 10.593 0.309 0.900 -0.309 3144 82 1 + 6.356 0.212 13.998 0.951 0.309 0.000 3145 70 1 + 6.356 -0.023 14.405 0.951 0.155 0.268 3145 70 1 + 6.140 0.635 13.998 0.809 0.588 0.000 3145 70 1 + 6.140 0.516 14.445 0.809 0.509 0.294 3145 70 1 + 6.140 0.189 14.772 0.809 0.294 0.509 3145 70 1 + 6.140 0.516 13.551 0.809 0.509 -0.294 3145 70 1 + 5.803 0.972 13.998 0.588 0.809 0.000 3145 70 1 + 5.803 0.878 14.469 0.588 0.747 0.310 3145 70 1 + 5.803 0.612 14.868 0.588 0.572 0.572 3145 70 1 + 5.803 0.213 15.134 0.588 0.310 0.747 3145 70 1 + 5.803 0.878 13.527 0.588 0.747 -0.310 3145 70 1 + 5.380 1.188 13.998 0.309 0.951 0.000 3145 70 1 + 5.380 1.109 14.467 0.309 0.900 0.309 3145 70 1 + 5.380 0.883 14.886 0.309 0.751 0.584 3145 70 1 + 5.380 0.533 15.208 0.309 0.520 0.796 3145 70 1 + 5.380 1.109 13.529 0.309 0.900 -0.309 3145 70 1 + 4.910 1.194 14.446 -0.000 0.956 0.295 3145 70 1 + 4.910 0.998 14.854 -0.000 0.826 0.563 3145 70 1 + 4.558 0.055 18.232 0.866 0.500 0.000 3146 74 1 + 4.558 -0.062 18.670 0.866 0.433 0.250 3146 74 1 + 4.558 -0.062 17.795 0.866 0.433 -0.250 3146 74 1 + 4.279 0.417 18.232 0.707 0.707 0.000 3146 74 1 + 4.279 0.323 18.706 0.707 0.653 0.271 3146 74 1 + 4.279 0.323 17.758 0.707 0.653 -0.271 3146 74 1 + 3.917 0.696 18.232 0.500 0.866 0.000 3146 74 1 + 3.917 0.621 17.764 0.500 0.824 -0.268 3146 74 1 + 3.495 0.870 18.232 0.259 0.966 0.000 3146 74 1 + 3.495 0.808 17.776 0.259 0.930 -0.261 3146 74 1 + 3.042 0.870 17.779 -0.000 0.966 -0.259 3146 74 1 + 7.266 -2.068 18.897 0.707 0.653 0.271 3147 98 1 + 7.266 -2.336 19.298 0.707 0.500 0.500 3147 98 1 + 6.904 -1.695 18.423 0.500 0.866 0.000 3147 98 1 + 6.904 -1.770 18.891 0.500 0.824 0.268 3147 98 1 + 6.904 -1.985 19.314 0.500 0.701 0.509 3147 98 1 + 6.904 -2.320 19.649 0.500 0.509 0.701 3147 98 1 + 6.904 -2.743 19.864 0.500 0.268 0.824 3147 98 1 + 6.482 -1.521 18.423 0.259 0.966 0.000 3147 98 1 + 6.482 -1.583 18.879 0.259 0.930 0.261 3147 98 1 + 6.482 -1.767 19.301 0.259 0.825 0.502 3147 98 1 + 6.482 -2.057 19.658 0.259 0.659 0.706 3147 98 1 + 6.482 -2.433 19.924 0.259 0.444 0.858 3147 98 1 + 6.029 -1.974 19.660 -0.000 0.707 0.707 3147 98 1 + 6.191 -3.390 23.093 0.866 0.500 0.000 3148 158 1 + 6.191 -3.507 23.531 0.866 0.433 0.250 3148 158 1 + 6.001 -4.286 25.223 0.707 0.500 0.500 3149 155 1 + 5.639 -3.935 25.239 0.500 0.701 0.509 3149 155 1 + 6.464 -2.889 29.425 0.259 0.966 0.000 3150 182 1 + 6.464 -2.951 29.881 0.259 0.930 0.261 3150 182 1 + 6.464 -3.135 30.303 0.259 0.825 0.502 3150 182 1 + 6.464 -3.801 27.924 0.259 0.444 -0.858 3150 182 1 + 6.464 -3.425 28.190 0.259 0.659 -0.706 3150 182 1 + 6.464 -3.135 28.547 0.259 0.825 -0.502 3150 182 1 + 6.464 -2.951 28.969 0.259 0.930 -0.261 3150 182 1 + 6.011 -2.829 29.425 -0.000 1.000 0.000 3150 182 1 + 6.011 -2.889 29.878 -0.000 0.966 0.259 3150 182 1 + 6.011 -3.063 30.300 -0.000 0.866 0.500 3150 182 1 + 6.011 -3.342 30.662 -0.000 0.707 0.707 3150 182 1 + 6.011 -3.704 30.941 -0.000 0.500 0.866 3150 182 1 + 6.011 -3.342 28.188 -0.000 0.707 -0.707 3150 182 1 + 6.011 -3.063 28.550 -0.000 0.866 -0.500 3150 182 1 + 6.011 -2.889 28.972 -0.000 0.966 -0.259 3150 182 1 + 5.558 -2.889 29.425 -0.259 0.966 0.000 3150 182 1 + 5.558 -2.951 29.881 -0.259 0.930 0.261 3150 182 1 + 5.558 -3.135 30.303 -0.259 0.825 0.502 3150 182 1 + 5.558 -3.425 30.660 -0.259 0.659 0.706 3150 182 1 + 5.558 -3.801 30.926 -0.259 0.444 0.858 3150 182 1 + 5.558 -4.235 31.080 -0.259 0.197 0.946 3150 182 1 + 5.558 -3.425 28.190 -0.259 0.659 -0.706 3150 182 1 + 5.558 -3.135 28.547 -0.259 0.825 -0.502 3150 182 1 + 5.558 -2.951 28.969 -0.259 0.930 -0.261 3150 182 1 + 5.136 -3.063 29.425 -0.500 0.866 0.000 3150 182 1 + 5.136 -3.138 29.893 -0.500 0.824 0.268 3150 182 1 + 5.136 -3.353 30.316 -0.500 0.701 0.509 3150 182 1 + 3.613 -4.030 30.446 -0.000 0.707 0.707 3151 180 1 + 3.613 -4.392 30.725 -0.000 0.500 0.866 3151 180 1 + 3.613 -4.814 30.899 -0.000 0.259 0.966 3151 180 1 + 3.613 -3.577 28.756 -0.000 0.966 -0.259 3151 180 1 + 3.160 -3.577 29.209 -0.259 0.966 0.000 3151 180 1 + 3.160 -3.639 29.665 -0.259 0.930 0.261 3151 180 1 + 3.160 -3.639 28.753 -0.259 0.930 -0.261 3151 180 1 + 3.006 -6.478 31.046 0.259 -0.066 0.964 3154 177 1 + 3.006 -6.929 30.953 0.259 -0.323 0.910 3154 177 1 + 2.553 -6.816 31.050 -0.000 -0.259 0.966 3154 177 1 + 5.012 -11.161 28.153 0.707 -0.500 0.500 3156 174 1 + 5.012 -11.429 27.752 0.707 -0.653 0.271 3156 174 1 + 5.012 -11.523 27.278 0.707 -0.707 -0.000 3156 174 1 + 5.012 -11.429 26.804 0.707 -0.653 -0.271 3156 174 1 + 4.650 -10.754 28.719 0.500 -0.268 0.824 3156 174 1 + 4.650 -11.177 28.504 0.500 -0.509 0.701 3156 174 1 + 4.650 -11.512 28.169 0.500 -0.701 0.509 3156 174 1 + 4.650 -11.727 27.746 0.500 -0.824 0.268 3156 174 1 + 4.650 -11.802 27.278 0.500 -0.866 -0.000 3156 174 1 + 4.650 -11.727 26.810 0.500 -0.824 -0.268 3156 174 1 + 4.228 -10.852 28.871 0.259 -0.323 0.910 3156 174 1 + 4.228 -11.261 28.659 0.259 -0.557 0.789 3156 174 1 + 4.228 -11.597 28.345 0.259 -0.749 0.610 3156 174 1 + 4.228 -11.836 27.951 0.259 -0.886 0.385 3156 174 1 + 4.228 -11.961 27.508 0.259 -0.957 0.132 3156 174 1 + 4.228 -11.961 27.048 0.259 -0.957 -0.132 3156 174 1 + 4.228 -11.836 26.605 0.259 -0.886 -0.385 3156 174 1 + 3.775 -11.161 28.794 -0.000 -0.500 0.866 3156 174 1 + 3.775 -11.523 28.515 -0.000 -0.707 0.707 3156 174 1 + 3.775 -11.802 28.153 -0.000 -0.866 0.500 3156 174 1 + 3.322 -11.597 28.345 -0.259 -0.749 0.610 3156 174 1 + 2.900 -11.512 28.169 -0.500 -0.701 0.509 3156 174 1 + 3.790 -15.902 27.508 1.000 0.000 0.000 3160 389 1 + 3.716 -15.432 27.508 0.951 0.309 0.000 3160 389 1 + 3.716 -16.137 27.101 0.951 -0.155 -0.268 3160 389 1 + 3.716 -15.667 27.101 0.951 0.155 -0.268 3160 389 1 + 3.500 -15.009 27.508 0.809 0.588 0.000 3160 389 1 + 3.500 -15.128 27.955 0.809 0.509 0.294 3160 389 1 + 3.500 -16.349 26.734 0.809 -0.294 -0.509 3160 389 1 + 3.500 -15.902 26.615 0.809 0.000 -0.588 3160 389 1 + 3.500 -15.455 26.734 0.809 0.294 -0.509 3160 389 1 + 3.500 -15.128 27.061 0.809 0.509 -0.294 3160 389 1 + 3.163 -15.032 26.638 0.588 0.572 -0.572 3160 389 1 + 3.809 -15.486 31.226 0.951 0.309 0.000 3161 392 1 + 3.809 -15.721 31.633 0.951 0.155 0.268 3161 392 1 + 3.593 -15.063 31.226 0.809 0.588 0.000 3161 392 1 + 3.593 -15.182 31.673 0.809 0.509 0.294 3161 392 1 + 3.593 -15.509 32.000 0.809 0.294 0.509 3161 392 1 + 3.593 -15.956 32.119 0.809 -0.000 0.588 3161 392 1 + 3.593 -15.182 30.779 0.809 0.509 -0.294 3161 392 1 + 3.256 -14.726 31.226 0.588 0.809 0.000 3161 392 1 + 3.256 -14.820 31.697 0.588 0.747 0.310 3161 392 1 + 3.256 -15.086 32.096 0.588 0.572 0.572 3161 392 1 + 3.256 -15.485 32.362 0.588 0.310 0.747 3161 392 1 + 3.256 -15.956 32.456 0.588 -0.000 0.809 3161 392 1 + 3.256 -16.427 32.362 0.588 -0.310 0.747 3161 392 1 + 3.256 -14.820 30.755 0.588 0.747 -0.310 3161 392 1 + 2.833 -14.510 31.226 0.309 0.951 0.000 3161 392 1 + 2.833 -14.589 31.695 0.309 0.900 0.309 3161 392 1 + 2.833 -14.815 32.114 0.309 0.751 0.584 3161 392 1 + 2.833 -15.165 32.436 0.309 0.520 0.796 3161 392 1 + 2.833 -15.601 32.627 0.309 0.233 0.922 3161 392 1 + 2.833 -16.075 32.667 0.309 -0.079 0.948 3161 392 1 + 2.833 -16.537 32.550 0.309 -0.382 0.871 3161 392 1 + 2.833 -14.589 30.757 0.309 0.900 -0.309 3161 392 1 + 2.363 -14.436 31.226 -0.000 1.000 0.000 3161 392 1 + 2.363 -14.504 31.674 -0.000 0.956 0.295 3161 392 1 + 2.363 -14.700 32.082 -0.000 0.826 0.563 3161 392 1 + 2.363 -15.008 32.414 -0.000 0.623 0.782 3161 392 1 + 2.363 -15.401 32.641 -0.000 0.365 0.931 3161 392 1 + 2.363 -15.842 32.742 -0.000 0.075 0.997 3161 392 1 + 2.363 -16.294 32.708 -0.000 -0.223 0.975 3161 392 1 + 2.363 -16.716 32.542 -0.000 -0.500 0.866 3161 392 1 + 2.363 -14.504 30.778 -0.000 0.956 -0.295 3161 392 1 + 1.893 -14.510 31.226 -0.309 0.951 0.000 3161 392 1 + 1.893 -14.589 31.695 -0.309 0.900 0.309 3161 392 1 + 1.893 -14.815 32.114 -0.309 0.751 0.584 3161 392 1 + 1.893 -15.165 32.436 -0.309 0.520 0.796 3161 392 1 + 1.893 -15.601 32.627 -0.309 0.233 0.922 3161 392 1 + 1.893 -16.075 32.667 -0.309 -0.079 0.948 3161 392 1 + 1.893 -16.537 32.550 -0.309 -0.382 0.871 3161 392 1 + 1.470 -14.820 31.697 -0.588 0.747 0.310 3161 392 1 + 1.470 -15.086 32.096 -0.588 0.572 0.572 3161 392 1 + 1.470 -15.485 32.362 -0.588 0.310 0.747 3161 392 1 + 1.470 -15.956 32.456 -0.588 -0.000 0.809 3161 392 1 + 1.470 -16.427 32.362 -0.588 -0.310 0.747 3161 392 1 + 1.133 -15.509 32.000 -0.809 0.294 0.509 3161 392 1 + 2.229 -17.765 31.951 -0.000 -0.500 0.866 3162 391 1 + 1.776 -17.865 31.816 -0.259 -0.557 0.789 3162 391 1 + 4.786 -17.683 30.087 1.000 0.000 0.000 3163 393 1 + 4.710 -17.204 30.087 0.951 0.309 0.000 3163 393 1 + 4.710 -17.444 30.502 0.951 0.155 0.268 3163 393 1 + 4.710 -17.922 30.502 0.951 -0.155 0.268 3163 393 1 + 4.710 -18.162 30.087 0.951 -0.309 -0.000 3163 393 1 + 4.710 -17.922 29.672 0.951 -0.155 -0.268 3163 393 1 + 4.710 -17.444 29.672 0.951 0.155 -0.268 3163 393 1 + 4.490 -16.772 30.087 0.809 0.588 0.000 3163 393 1 + 4.490 -16.894 30.543 0.809 0.509 0.294 3163 393 1 + 4.490 -17.227 30.876 0.809 0.294 0.509 3163 393 1 + 4.490 -17.683 30.998 0.809 -0.000 0.588 3163 393 1 + 4.490 -18.139 30.876 0.809 -0.294 0.509 3163 393 1 + 4.490 -18.472 30.543 0.809 -0.509 0.294 3163 393 1 + 4.490 -18.594 30.087 0.809 -0.588 -0.000 3163 393 1 + 4.490 -18.472 29.631 0.809 -0.509 -0.294 3163 393 1 + 4.490 -18.139 29.298 0.809 -0.294 -0.509 3163 393 1 + 4.490 -17.683 29.176 0.809 0.000 -0.588 3163 393 1 + 4.490 -17.227 29.298 0.809 0.294 -0.509 3163 393 1 + 4.490 -16.894 29.631 0.809 0.509 -0.294 3163 393 1 + 4.147 -17.683 31.341 0.588 -0.000 0.809 3163 393 1 + 4.147 -18.163 31.246 0.588 -0.310 0.747 3163 393 1 + 4.147 -18.570 30.974 0.588 -0.572 0.572 3163 393 1 + 4.147 -18.842 30.567 0.588 -0.747 0.310 3163 393 1 + 4.147 -18.937 30.087 0.588 -0.809 -0.000 3163 393 1 + 4.147 -18.842 29.607 0.588 -0.747 -0.310 3163 393 1 + 4.147 -18.570 29.200 0.588 -0.572 -0.572 3163 393 1 + 4.147 -18.163 28.928 0.588 -0.310 -0.747 3163 393 1 + 3.715 -18.275 31.437 0.309 -0.382 0.871 3163 393 1 + 3.715 -18.681 31.172 0.309 -0.644 0.700 3163 393 1 + 3.715 -18.979 30.789 0.309 -0.836 0.453 3163 393 1 + 3.715 -19.137 30.330 0.309 -0.938 0.157 3163 393 1 + 3.715 -19.137 29.844 0.309 -0.938 -0.157 3163 393 1 + 3.715 -18.979 29.385 0.309 -0.836 -0.453 3163 393 1 + 3.236 -18.819 31.141 -0.000 -0.733 0.680 3163 393 1 + 3.236 -19.080 30.760 -0.000 -0.901 0.434 3163 393 1 + 3.236 -19.216 30.318 -0.000 -0.989 0.149 3163 393 1 + 3.236 -19.216 29.856 -0.000 -0.989 -0.149 3163 393 1 + 3.236 -19.080 29.414 -0.000 -0.901 -0.434 3163 393 1 + 2.757 -18.979 30.789 -0.309 -0.836 0.453 3163 393 1 + 2.757 -19.137 30.330 -0.309 -0.938 0.157 3163 393 1 + 2.757 -19.137 29.844 -0.309 -0.938 -0.157 3163 393 1 + 3.292 -18.782 25.555 1.000 0.000 0.000 3164 400 1 + 3.218 -18.312 25.555 0.951 0.309 0.000 3164 400 1 + 3.218 -18.547 25.962 0.951 0.155 0.268 3164 400 1 + 3.218 -19.017 25.962 0.951 -0.155 0.268 3164 400 1 + 3.218 -19.252 25.555 0.951 -0.309 -0.000 3164 400 1 + 3.218 -19.017 25.148 0.951 -0.155 -0.268 3164 400 1 + 3.218 -18.547 25.148 0.951 0.155 -0.268 3164 400 1 + 3.002 -19.229 26.329 0.809 -0.294 0.509 3164 400 1 + 3.002 -19.556 26.002 0.809 -0.509 0.294 3164 400 1 + 3.002 -19.675 25.555 0.809 -0.588 -0.000 3164 400 1 + 3.002 -19.556 25.108 0.809 -0.509 -0.294 3164 400 1 + 3.002 -19.229 24.781 0.809 -0.294 -0.509 3164 400 1 + 3.002 -18.782 24.662 0.809 0.000 -0.588 3164 400 1 + 3.002 -18.335 24.781 0.809 0.294 -0.509 3164 400 1 + 3.002 -18.008 25.108 0.809 0.509 -0.294 3164 400 1 + 2.665 -19.652 26.425 0.588 -0.572 0.572 3164 400 1 + 2.665 -19.918 26.026 0.588 -0.747 0.310 3164 400 1 + 2.665 -20.012 25.555 0.588 -0.809 -0.000 3164 400 1 + 2.665 -19.918 25.084 0.588 -0.747 -0.310 3164 400 1 + 2.665 -19.652 24.685 0.588 -0.572 -0.572 3164 400 1 + 2.665 -19.253 24.419 0.588 -0.310 -0.747 3164 400 1 + 2.665 -18.782 24.325 0.588 0.000 -0.809 3164 400 1 + 2.242 -19.761 26.619 0.309 -0.644 0.700 3164 400 1 + 2.242 -20.053 26.243 0.309 -0.836 0.453 3164 400 1 + 2.242 -20.208 25.793 0.309 -0.938 0.157 3164 400 1 + 2.242 -20.208 25.317 0.309 -0.938 -0.157 3164 400 1 + 2.242 -20.053 24.867 0.309 -0.836 -0.453 3164 400 1 + 1.772 -19.896 26.589 -0.000 -0.733 0.680 3164 400 1 + 1.499 -19.099 23.639 0.500 -0.268 -0.824 3166 399 1 + 1.077 -19.606 23.699 0.259 -0.557 -0.789 3166 399 1 + 1.077 -19.197 23.487 0.259 -0.323 -0.910 3166 399 1 + 1.517 -17.807 23.243 0.707 -0.271 -0.653 3167 398 1 + 0.733 -17.899 22.793 0.259 -0.323 -0.910 3167 398 1 + 2.778 -16.087 20.994 0.588 -0.747 0.310 3168 405 1 + 2.778 -16.181 20.523 0.588 -0.809 -0.000 3168 405 1 + 2.355 -16.377 20.761 0.309 -0.938 0.157 3168 405 1 + 2.355 -16.377 20.285 0.309 -0.938 -0.157 3168 405 1 + 1.885 -16.454 20.750 -0.000 -0.989 0.149 3168 405 1 + 1.885 -16.454 20.296 -0.000 -0.989 -0.149 3168 405 1 + 0.282 -16.882 19.228 0.500 -0.866 -0.000 3169 410 1 + 0.652 -16.615 17.190 0.309 -0.938 0.157 3170 418 1 + -2.260 -16.169 11.907 -0.259 -0.886 -0.385 3173 429 1 + 3.683 -12.094 10.443 0.588 -0.747 0.310 3175 340 1 + 7.183 -13.580 9.532 -0.309 0.233 0.922 3177 299 1 + 7.183 -14.054 9.572 -0.309 -0.079 0.948 3177 299 1 + 7.183 -14.516 9.455 -0.309 -0.382 0.871 3177 299 1 + 7.183 -14.914 9.195 -0.309 -0.644 0.700 3177 299 1 + 7.183 -15.206 8.819 -0.309 -0.836 0.453 3177 299 1 + 7.183 -15.361 8.369 -0.309 -0.938 0.157 3177 299 1 + 7.183 -15.361 7.893 -0.309 -0.938 -0.157 3177 299 1 + 7.183 -15.206 7.443 -0.309 -0.836 -0.453 3177 299 1 + 6.760 -13.935 9.361 -0.588 -0.000 0.809 3177 299 1 + 6.760 -14.406 9.267 -0.588 -0.310 0.747 3177 299 1 + 6.760 -14.805 9.001 -0.588 -0.572 0.572 3177 299 1 + 6.760 -15.071 8.602 -0.588 -0.747 0.310 3177 299 1 + 6.760 -15.165 8.131 -0.588 -0.809 -0.000 3177 299 1 + 6.476 -14.276 4.163 0.259 -0.957 -0.132 3178 304 1 + 6.476 -14.151 3.720 0.259 -0.886 -0.385 3178 304 1 + 6.476 -13.912 3.326 0.259 -0.749 -0.610 3178 304 1 + 6.476 -13.576 3.012 0.259 -0.557 -0.789 3178 304 1 + 6.476 -13.167 2.800 0.259 -0.323 -0.910 3178 304 1 + 6.023 -14.291 3.940 -0.000 -0.966 -0.259 3178 304 1 + 6.023 -14.117 3.518 -0.000 -0.866 -0.500 3178 304 1 + 6.023 -13.838 3.156 -0.000 -0.707 -0.707 3178 304 1 + 6.023 -13.476 2.877 -0.000 -0.500 -0.866 3178 304 1 + 6.023 -13.054 2.703 -0.000 -0.259 -0.966 3178 304 1 + 5.570 -13.912 3.326 -0.259 -0.749 -0.610 3178 304 1 + 4.118 -12.695 1.705 0.588 -0.572 -0.572 3179 323 1 + 4.118 -12.296 1.439 0.588 -0.310 -0.747 3179 323 1 + 4.118 -11.825 1.345 0.588 0.000 -0.809 3179 323 1 + 3.695 -13.096 1.887 0.309 -0.836 -0.453 3179 323 1 + 3.695 -12.804 1.511 0.309 -0.644 -0.700 3179 323 1 + 3.695 -12.406 1.251 0.309 -0.382 -0.871 3179 323 1 + 3.695 -11.944 1.134 0.309 -0.079 -0.948 3179 323 1 + 3.225 -13.328 2.348 -0.000 -0.989 -0.149 3179 323 1 + 3.225 -13.194 1.915 -0.000 -0.901 -0.434 3179 323 1 + 3.225 -12.939 1.541 -0.000 -0.733 -0.680 3179 323 1 + 3.225 -12.585 1.259 -0.000 -0.500 -0.866 3179 323 1 + 3.225 -12.163 1.093 -0.000 -0.223 -0.975 3179 323 1 + 2.755 -13.251 2.337 -0.309 -0.938 -0.157 3179 323 1 + 2.755 -13.096 1.887 -0.309 -0.836 -0.453 3179 323 1 + 2.755 -12.804 1.511 -0.309 -0.644 -0.700 3179 323 1 + 2.755 -12.406 1.251 -0.309 -0.382 -0.871 3179 323 1 + 2.332 -13.055 2.575 -0.588 -0.809 -0.000 3179 323 1 + 2.332 -12.961 2.104 -0.588 -0.747 -0.310 3179 323 1 + 2.332 -12.695 1.705 -0.588 -0.572 -0.572 3179 323 1 + 1.995 -12.718 2.575 -0.809 -0.588 -0.000 3179 323 1 + 1.995 -12.599 2.128 -0.809 -0.509 -0.294 3179 323 1 + 7.633 -9.443 0.245 0.588 -0.572 -0.572 3185 308 1 + 7.633 -9.044 -0.021 0.588 -0.310 -0.747 3185 308 1 + 7.633 -8.573 -0.115 0.588 0.000 -0.809 3185 308 1 + 7.210 -9.844 0.427 0.309 -0.836 -0.453 3185 308 1 + 7.210 -9.552 0.051 0.309 -0.644 -0.700 3185 308 1 + 7.210 -9.154 -0.209 0.309 -0.382 -0.871 3185 308 1 + 7.210 -8.692 -0.326 0.309 -0.079 -0.948 3185 308 1 + 7.210 -8.218 -0.286 0.309 0.233 -0.922 3185 308 1 + 7.210 -7.782 -0.095 0.309 0.520 -0.796 3185 308 1 + 6.740 -9.942 0.455 -0.000 -0.901 -0.434 3185 308 1 + 6.740 -9.687 0.081 -0.000 -0.733 -0.680 3185 308 1 + 6.740 -9.333 -0.201 -0.000 -0.500 -0.866 3185 308 1 + 6.740 -8.911 -0.367 -0.000 -0.223 -0.975 3185 308 1 + 6.740 -8.459 -0.401 -0.000 0.075 -0.997 3185 308 1 + 6.740 -8.018 -0.300 -0.000 0.365 -0.931 3185 308 1 + 6.270 -9.844 0.427 -0.309 -0.836 -0.453 3185 308 1 + 6.270 -9.552 0.051 -0.309 -0.644 -0.700 3185 308 1 + 6.270 -9.154 -0.209 -0.309 -0.382 -0.871 3185 308 1 + 6.270 -8.692 -0.326 -0.309 -0.079 -0.948 3185 308 1 + 6.270 -8.218 -0.286 -0.309 0.233 -0.922 3185 308 1 + 5.847 -9.443 0.245 -0.588 -0.572 -0.572 3185 308 1 + 5.847 -9.044 -0.021 -0.588 -0.310 -0.747 3185 308 1 + 5.847 -8.573 -0.115 -0.588 0.000 -0.809 3185 308 1 + 7.108 -5.696 2.596 0.588 0.809 0.000 3187 312 1 + 7.108 -5.791 3.076 0.588 0.747 0.310 3187 312 1 + 7.108 -5.791 2.116 0.588 0.747 -0.310 3187 312 1 + 6.676 -5.556 3.075 0.309 0.900 0.309 3187 312 1 + 6.676 -5.787 3.501 0.309 0.751 0.584 3187 312 1 + 6.197 -5.984 3.808 -0.000 0.623 0.782 3187 312 1 + 7.830 -6.435 6.246 -0.000 0.826 -0.563 3188 282 1 + 9.899 -1.183 10.561 0.707 0.653 0.271 3190 86 1 + 9.537 -0.810 10.087 0.500 0.866 0.000 3190 86 1 + 9.537 -0.885 10.555 0.500 0.824 0.268 3190 86 1 + 9.537 -0.885 9.619 0.500 0.824 -0.268 3190 86 1 + 9.115 -0.636 10.087 0.259 0.966 0.000 3190 86 1 + 9.115 -0.698 10.543 0.259 0.930 0.261 3190 86 1 + 9.115 -0.882 10.965 0.259 0.825 0.502 3190 86 1 + 9.115 -0.882 9.209 0.259 0.825 -0.502 3190 86 1 + 9.115 -0.698 9.631 0.259 0.930 -0.261 3190 86 1 + 8.662 -0.576 10.087 -0.000 1.000 0.000 3190 86 1 + 8.662 -1.089 8.850 -0.000 0.707 -0.707 3190 86 1 + 8.662 -0.810 9.212 -0.000 0.866 -0.500 3190 86 1 + 8.662 -0.636 9.634 -0.000 0.966 -0.259 3190 86 1 + 8.209 -0.882 9.209 -0.259 0.825 -0.502 3190 86 1 + 8.508 -1.386 12.920 0.259 0.930 0.261 3191 84 1 + 8.402 -2.225 15.225 0.500 0.824 0.268 3192 92 1 + 8.199 -2.358 17.271 0.707 0.707 0.000 3194 96 1 + 8.199 -2.452 17.745 0.707 0.653 0.271 3194 96 1 + 7.837 -2.079 17.271 0.500 0.866 0.000 3194 96 1 + 7.837 -2.154 17.739 0.500 0.824 0.268 3194 96 1 + 7.415 -1.905 17.271 0.259 0.966 0.000 3194 96 1 + 10.376 -3.323 19.223 -0.000 0.866 -0.500 3195 127 1 + 9.923 -3.149 20.098 -0.259 0.966 0.000 3195 127 1 + 9.923 -3.211 20.554 -0.259 0.930 0.261 3195 127 1 + 9.923 -3.395 20.976 -0.259 0.825 0.502 3195 127 1 + 9.923 -3.685 21.333 -0.259 0.659 0.706 3195 127 1 + 9.501 -3.398 20.566 -0.500 0.824 0.268 3195 127 1 + 9.501 -3.613 20.989 -0.500 0.701 0.509 3195 127 1 + 9.501 -3.948 21.324 -0.500 0.509 0.701 3195 127 1 + 9.436 -5.515 28.697 0.951 0.309 0.000 3200 184 1 + 9.436 -5.755 29.112 0.951 0.155 0.268 3200 184 1 + 9.436 -6.233 29.112 0.951 -0.155 0.268 3200 184 1 + 9.216 -6.450 29.486 0.809 -0.294 0.509 3200 184 1 + 9.216 -6.783 29.153 0.809 -0.509 0.294 3200 184 1 + 8.873 -6.881 29.584 0.588 -0.572 0.572 3200 184 1 + 8.873 -7.153 29.177 0.588 -0.747 0.310 3200 184 1 + 8.441 -7.290 29.399 0.309 -0.836 0.453 3200 184 1 + 8.441 -7.448 28.940 0.309 -0.938 0.157 3200 184 1 + 7.962 -7.391 29.370 -0.000 -0.901 0.434 3200 184 1 + 7.962 -7.527 28.928 -0.000 -0.989 0.149 3200 184 1 + 9.126 -4.585 29.716 0.966 0.259 0.000 3201 183 1 + 9.126 -4.812 30.108 0.966 0.129 0.224 3201 183 1 + 8.952 -4.163 29.716 0.866 0.500 0.000 3201 183 1 + 8.952 -4.280 30.153 0.866 0.433 0.250 3201 183 1 + 8.952 -4.601 30.474 0.866 0.250 0.433 3201 183 1 + 8.952 -5.038 30.591 0.866 -0.000 0.500 3201 183 1 + 8.952 -5.476 30.474 0.866 -0.250 0.433 3201 183 1 + 8.952 -4.280 29.278 0.866 0.433 -0.250 3201 183 1 + 8.673 -3.801 29.716 0.707 0.707 0.000 3201 183 1 + 8.673 -3.895 30.190 0.707 0.653 0.271 3201 183 1 + 8.673 -4.163 30.591 0.707 0.500 0.500 3201 183 1 + 8.673 -4.564 30.859 0.707 0.271 0.653 3201 183 1 + 8.673 -5.038 30.953 0.707 -0.000 0.707 3201 183 1 + 8.673 -5.512 30.859 0.707 -0.271 0.653 3201 183 1 + 8.673 -5.913 30.591 0.707 -0.500 0.500 3201 183 1 + 8.673 -3.895 29.242 0.707 0.653 -0.271 3201 183 1 + 8.311 -3.522 29.716 0.500 0.866 0.000 3201 183 1 + 8.311 -3.597 30.184 0.500 0.824 0.268 3201 183 1 + 8.311 -3.812 30.607 0.500 0.701 0.509 3201 183 1 + 8.311 -4.147 30.942 0.500 0.509 0.701 3201 183 1 + 8.311 -4.570 31.157 0.500 0.268 0.824 3201 183 1 + 8.311 -5.038 31.232 0.500 -0.000 0.866 3201 183 1 + 8.311 -5.506 31.157 0.500 -0.268 0.824 3201 183 1 + 8.311 -5.929 30.942 0.500 -0.509 0.701 3201 183 1 + 8.311 -3.812 28.825 0.500 0.701 -0.509 3201 183 1 + 8.311 -3.597 29.248 0.500 0.824 -0.268 3201 183 1 + 7.889 -3.348 29.716 0.259 0.966 0.000 3201 183 1 + 7.889 -3.410 30.172 0.259 0.930 0.261 3201 183 1 + 7.889 -3.594 30.594 0.259 0.825 0.502 3201 183 1 + 7.889 -3.884 30.951 0.259 0.659 0.706 3201 183 1 + 7.889 -4.260 31.217 0.259 0.444 0.858 3201 183 1 + 7.889 -4.694 31.371 0.259 0.197 0.946 3201 183 1 + 7.889 -5.153 31.402 0.259 -0.066 0.964 3201 183 1 + 7.889 -5.604 31.309 0.259 -0.323 0.910 3201 183 1 + 7.889 -6.013 31.097 0.259 -0.557 0.789 3201 183 1 + 7.889 -6.349 30.783 0.259 -0.749 0.610 3201 183 1 + 7.889 -3.884 28.481 0.259 0.659 -0.706 3201 183 1 + 7.889 -3.594 28.838 0.259 0.825 -0.502 3201 183 1 + 7.889 -3.410 29.260 0.259 0.930 -0.261 3201 183 1 + 7.436 -3.801 30.953 -0.000 0.707 0.707 3201 183 1 + 7.436 -4.163 31.232 -0.000 0.500 0.866 3201 183 1 + 7.436 -4.585 31.406 -0.000 0.259 0.966 3201 183 1 + 7.436 -5.038 31.466 -0.000 -0.000 1.000 3201 183 1 + 7.436 -5.491 31.406 -0.000 -0.259 0.966 3201 183 1 + 7.436 -5.913 31.232 -0.000 -0.500 0.866 3201 183 1 + 7.436 -6.275 30.953 -0.000 -0.707 0.707 3201 183 1 + 7.436 -6.554 30.591 -0.000 -0.866 0.500 3201 183 1 + 6.983 -5.153 31.402 -0.259 -0.066 0.964 3201 183 1 + 6.983 -5.604 31.309 -0.259 -0.323 0.910 3201 183 1 + 5.489 -6.318 31.035 0.259 -0.323 0.910 3202 181 1 + 5.489 -6.727 30.823 0.259 -0.557 0.789 3202 181 1 + 5.489 -7.063 30.509 0.259 -0.749 0.610 3202 181 1 + 5.489 -7.302 30.115 0.259 -0.886 0.385 3202 181 1 + 5.036 -5.752 31.192 -0.000 -0.000 1.000 3202 181 1 + 5.036 -6.205 31.132 -0.000 -0.259 0.966 3202 181 1 + 5.036 -6.627 30.958 -0.000 -0.500 0.866 3202 181 1 + 5.036 -6.989 30.679 -0.000 -0.707 0.707 3202 181 1 + 5.036 -7.268 30.317 -0.000 -0.866 0.500 3202 181 1 + 4.583 -5.867 31.128 -0.259 -0.066 0.964 3202 181 1 + 6.331 -9.632 27.682 0.951 -0.155 0.268 3203 175 1 + 6.115 -9.844 28.049 0.809 -0.294 0.509 3203 175 1 + 6.115 -10.171 27.722 0.809 -0.509 0.294 3203 175 1 + 6.115 -10.290 27.275 0.809 -0.588 -0.000 3203 175 1 + 5.778 -9.397 28.505 0.588 -0.000 0.809 3203 175 1 + 5.778 -9.868 28.411 0.588 -0.310 0.747 3203 175 1 + 5.778 -10.267 28.145 0.588 -0.572 0.572 3203 175 1 + 5.355 -9.516 28.716 0.309 -0.079 0.948 3203 175 1 + 3.080 -12.599 24.448 0.707 -0.500 0.500 3205 408 1 + 2.599 -15.131 23.264 0.951 -0.309 -0.000 3209 402 1 + 6.127 -14.932 21.656 -0.259 -0.749 0.610 3211 142 1 + 5.705 -14.512 21.815 -0.500 -0.509 0.701 3211 142 1 + 5.705 -14.847 21.480 -0.500 -0.701 0.509 3211 142 1 + 7.505 -15.226 19.256 0.809 -0.509 -0.294 3212 144 1 + 7.168 -15.682 19.703 0.588 -0.809 -0.000 3212 144 1 + 7.168 -15.588 19.232 0.588 -0.747 -0.310 3212 144 1 + 6.745 -15.878 19.941 0.309 -0.938 0.157 3212 144 1 + 6.745 -15.878 19.465 0.309 -0.938 -0.157 3212 144 1 + 6.275 -15.821 20.363 -0.000 -0.901 0.434 3212 144 1 + 6.275 -15.955 19.930 -0.000 -0.989 0.149 3212 144 1 + 5.805 -15.723 20.391 -0.309 -0.836 0.453 3212 144 1 + 5.805 -15.878 19.941 -0.309 -0.938 0.157 3212 144 1 + 6.861 -17.640 16.652 0.809 -0.294 0.509 3214 116 1 + 6.861 -17.973 16.319 0.809 -0.509 0.294 3214 116 1 + 6.861 -18.095 15.863 0.809 -0.588 -0.000 3214 116 1 + 6.861 -17.973 15.407 0.809 -0.509 -0.294 3214 116 1 + 6.518 -17.664 17.022 0.588 -0.310 0.747 3214 116 1 + 6.518 -18.071 16.750 0.588 -0.572 0.572 3214 116 1 + 6.518 -18.343 16.343 0.588 -0.747 0.310 3214 116 1 + 6.518 -18.438 15.863 0.588 -0.809 -0.000 3214 116 1 + 6.518 -18.343 15.383 0.588 -0.747 -0.310 3214 116 1 + 6.518 -18.071 14.976 0.588 -0.572 -0.572 3214 116 1 + 6.086 -17.776 17.213 0.309 -0.382 0.871 3214 116 1 + 6.086 -18.182 16.948 0.309 -0.644 0.700 3214 116 1 + 6.086 -18.480 16.565 0.309 -0.836 0.453 3214 116 1 + 6.086 -18.638 16.106 0.309 -0.938 0.157 3214 116 1 + 6.086 -18.638 15.620 0.309 -0.938 -0.157 3214 116 1 + 6.086 -18.480 15.161 0.309 -0.836 -0.453 3214 116 1 + 6.086 -18.182 14.778 0.309 -0.644 -0.700 3214 116 1 + 5.607 -17.529 17.374 -0.000 -0.223 0.975 3214 116 1 + 5.607 -17.959 17.205 -0.000 -0.500 0.866 3214 116 1 + 5.607 -18.320 16.917 -0.000 -0.733 0.680 3214 116 1 + 5.607 -18.581 16.536 -0.000 -0.901 0.434 3214 116 1 + 5.607 -18.717 16.094 -0.000 -0.989 0.149 3214 116 1 + 5.607 -18.717 15.632 -0.000 -0.989 -0.149 3214 116 1 + 5.607 -18.581 15.190 -0.000 -0.901 -0.434 3214 116 1 + 5.607 -18.320 14.809 -0.000 -0.733 -0.680 3214 116 1 + 5.128 -17.776 17.213 -0.309 -0.382 0.871 3214 116 1 + 5.128 -18.182 16.948 -0.309 -0.644 0.700 3214 116 1 + 5.128 -18.480 16.565 -0.309 -0.836 0.453 3214 116 1 + 5.128 -18.638 16.106 -0.309 -0.938 0.157 3214 116 1 + 5.128 -18.638 15.620 -0.309 -0.938 -0.157 3214 116 1 + 5.128 -18.480 15.161 -0.309 -0.836 -0.453 3214 116 1 + 5.128 -18.182 14.778 -0.309 -0.644 -0.700 3214 116 1 + 4.696 -18.071 16.750 -0.588 -0.572 0.572 3214 116 1 + 4.696 -18.343 16.343 -0.588 -0.747 0.310 3214 116 1 + 4.696 -18.438 15.863 -0.588 -0.809 -0.000 3214 116 1 + 4.696 -18.343 15.383 -0.588 -0.747 -0.310 3214 116 1 + 4.696 -18.071 14.976 -0.588 -0.572 -0.572 3214 116 1 + 4.353 -17.973 16.319 -0.809 -0.509 0.294 3214 116 1 + 4.353 -18.095 15.863 -0.809 -0.588 -0.000 3214 116 1 + 4.353 -17.973 15.407 -0.809 -0.509 -0.294 3214 116 1 + 6.151 -16.180 12.996 0.588 -0.310 -0.747 3215 115 1 + 6.151 -15.700 12.901 0.588 0.000 -0.809 3215 115 1 + 5.719 -16.698 13.070 0.309 -0.644 -0.700 3215 115 1 + 5.719 -16.292 12.805 0.309 -0.382 -0.871 3215 115 1 + 5.719 -15.822 12.686 0.309 -0.079 -0.948 3215 115 1 + 5.719 -15.338 12.726 0.309 0.233 -0.922 3215 115 1 + 5.240 -16.836 13.101 -0.000 -0.733 -0.680 3215 115 1 + 5.240 -16.475 12.813 -0.000 -0.500 -0.866 3215 115 1 + 5.240 -16.045 12.644 -0.000 -0.223 -0.975 3215 115 1 + 5.240 -15.584 12.609 -0.000 0.075 -0.997 3215 115 1 + 5.240 -15.134 12.712 -0.000 0.365 -0.931 3215 115 1 + 4.761 -16.996 13.453 -0.309 -0.836 -0.453 3215 115 1 + 4.761 -16.698 13.070 -0.309 -0.644 -0.700 3215 115 1 + 4.761 -16.292 12.805 -0.309 -0.382 -0.871 3215 115 1 + 4.761 -15.822 12.686 -0.309 -0.079 -0.948 3215 115 1 + 4.761 -15.338 12.726 -0.309 0.233 -0.922 3215 115 1 + 4.329 -16.859 13.675 -0.588 -0.747 -0.310 3215 115 1 + 4.329 -16.587 13.268 -0.588 -0.572 -0.572 3215 115 1 + 4.329 -16.180 12.996 -0.588 -0.310 -0.747 3215 115 1 + 4.329 -15.700 12.901 -0.588 0.000 -0.809 3215 115 1 + 4.329 -15.220 12.996 -0.588 0.310 -0.747 3215 115 1 + 5.830 -11.255 12.171 0.309 -0.836 -0.453 3218 268 1 + 10.591 -13.955 8.979 0.866 -0.000 0.500 3221 298 1 + 10.591 -14.392 8.862 0.866 -0.250 0.433 3221 298 1 + 10.591 -14.713 8.542 0.866 -0.433 0.250 3221 298 1 + 10.591 -14.830 8.104 0.866 -0.500 -0.000 3221 298 1 + 10.312 -13.955 9.341 0.707 -0.000 0.707 3221 298 1 + 10.312 -14.429 9.247 0.707 -0.271 0.653 3221 298 1 + 10.312 -14.830 8.979 0.707 -0.500 0.500 3221 298 1 + 10.312 -15.098 8.578 0.707 -0.653 0.271 3221 298 1 + 10.312 -15.192 8.104 0.707 -0.707 -0.000 3221 298 1 + 10.312 -15.098 7.630 0.707 -0.653 -0.271 3221 298 1 + 9.950 -13.487 9.545 0.500 0.268 0.824 3221 298 1 + 9.950 -13.955 9.620 0.500 -0.000 0.866 3221 298 1 + 9.950 -14.423 9.545 0.500 -0.268 0.824 3221 298 1 + 9.950 -14.846 9.330 0.500 -0.509 0.701 3221 298 1 + 9.950 -15.181 8.995 0.500 -0.701 0.509 3221 298 1 + 9.950 -15.396 8.572 0.500 -0.824 0.268 3221 298 1 + 9.950 -15.471 8.104 0.500 -0.866 -0.000 3221 298 1 + 9.950 -15.396 7.636 0.500 -0.824 -0.268 3221 298 1 + 9.528 -13.611 9.759 0.259 0.197 0.946 3221 298 1 + 9.528 -14.070 9.790 0.259 -0.066 0.964 3221 298 1 + 9.528 -14.521 9.697 0.259 -0.323 0.910 3221 298 1 + 9.528 -14.930 9.485 0.259 -0.557 0.789 3221 298 1 + 9.528 -15.266 9.171 0.259 -0.749 0.610 3221 298 1 + 9.528 -15.505 8.777 0.259 -0.886 0.385 3221 298 1 + 9.528 -15.630 8.334 0.259 -0.957 0.132 3221 298 1 + 9.528 -15.630 7.874 0.259 -0.957 -0.132 3221 298 1 + 9.528 -15.505 7.431 0.259 -0.886 -0.385 3221 298 1 + 9.075 -13.502 9.794 -0.000 0.259 0.966 3221 298 1 + 9.075 -13.955 9.854 -0.000 -0.000 1.000 3221 298 1 + 9.075 -14.408 9.794 -0.000 -0.259 0.966 3221 298 1 + 9.075 -14.830 9.620 -0.000 -0.500 0.866 3221 298 1 + 9.075 -15.192 9.341 -0.000 -0.707 0.707 3221 298 1 + 9.075 -15.471 8.979 -0.000 -0.866 0.500 3221 298 1 + 9.075 -15.645 8.557 -0.000 -0.966 0.259 3221 298 1 + 9.075 -15.705 8.104 -0.000 -1.000 -0.000 3221 298 1 + 9.075 -15.645 7.651 -0.000 -0.966 -0.259 3221 298 1 + 9.075 -15.471 7.229 -0.000 -0.866 -0.500 3221 298 1 + 8.622 -15.630 7.874 -0.259 -0.957 -0.132 3221 298 1 + 8.622 -15.505 7.431 -0.259 -0.886 -0.385 3221 298 1 + 11.022 -13.592 4.974 1.000 0.000 0.000 3222 297 1 + 10.948 -14.062 4.974 0.951 -0.309 -0.000 3222 297 1 + 10.948 -13.827 4.567 0.951 -0.155 -0.268 3222 297 1 + 10.948 -13.357 4.567 0.951 0.155 -0.268 3222 297 1 + 10.732 -14.485 4.974 0.809 -0.588 -0.000 3222 297 1 + 10.732 -14.366 4.527 0.809 -0.509 -0.294 3222 297 1 + 10.732 -14.039 4.200 0.809 -0.294 -0.509 3222 297 1 + 10.732 -13.592 4.081 0.809 0.000 -0.588 3222 297 1 + 10.395 -14.822 4.974 0.588 -0.809 -0.000 3222 297 1 + 10.395 -14.728 4.503 0.588 -0.747 -0.310 3222 297 1 + 10.395 -14.462 4.104 0.588 -0.572 -0.572 3222 297 1 + 10.395 -14.063 3.838 0.588 -0.310 -0.747 3222 297 1 + 10.395 -13.592 3.744 0.588 0.000 -0.809 3222 297 1 + 9.972 -15.018 5.212 0.309 -0.938 0.157 3222 297 1 + 9.972 -15.018 4.736 0.309 -0.938 -0.157 3222 297 1 + 9.972 -14.863 4.286 0.309 -0.836 -0.453 3222 297 1 + 9.972 -14.571 3.910 0.309 -0.644 -0.700 3222 297 1 + 9.972 -14.173 3.650 0.309 -0.382 -0.871 3222 297 1 + 9.972 -13.711 3.533 0.309 -0.079 -0.948 3222 297 1 + 9.502 -15.095 5.201 -0.000 -0.989 0.149 3222 297 1 + 9.502 -15.095 4.747 -0.000 -0.989 -0.149 3222 297 1 + 9.502 -14.961 4.314 -0.000 -0.901 -0.434 3222 297 1 + 9.502 -14.706 3.940 -0.000 -0.733 -0.680 3222 297 1 + 9.502 -14.352 3.658 -0.000 -0.500 -0.866 3222 297 1 + 9.502 -13.930 3.492 -0.000 -0.223 -0.975 3222 297 1 + 9.032 -15.018 4.736 -0.309 -0.938 -0.157 3222 297 1 + 9.032 -14.863 4.286 -0.309 -0.836 -0.453 3222 297 1 + 9.032 -14.571 3.910 -0.309 -0.644 -0.700 3222 297 1 + 9.032 -14.173 3.650 -0.309 -0.382 -0.871 3222 297 1 + 8.609 -14.822 4.974 -0.588 -0.809 -0.000 3222 297 1 + 7.828 -12.841 2.982 0.259 -0.557 -0.789 3224 301 1 + 7.375 -12.319 2.673 -0.000 -0.259 -0.966 3224 301 1 + 10.721 -11.452 2.507 0.707 -0.653 -0.271 3226 311 1 + 10.721 -11.184 2.106 0.707 -0.500 -0.500 3226 311 1 + 10.359 -11.535 2.090 0.500 -0.701 -0.509 3226 311 1 + 10.359 -11.200 1.755 0.500 -0.509 -0.701 3226 311 1 + 10.359 -10.777 1.540 0.500 -0.268 -0.824 3226 311 1 + 9.937 -11.620 1.914 0.259 -0.749 -0.610 3226 311 1 + 9.937 -11.284 1.600 0.259 -0.557 -0.789 3226 311 1 + 9.937 -10.875 1.388 0.259 -0.323 -0.910 3226 311 1 + 9.484 -11.825 2.106 -0.000 -0.866 -0.500 3226 311 1 + 9.484 -11.546 1.744 -0.000 -0.707 -0.707 3226 311 1 + 9.484 -11.184 1.465 -0.000 -0.500 -0.866 3226 311 1 + 9.484 -10.762 1.291 -0.000 -0.259 -0.966 3226 311 1 + 9.031 -11.620 1.914 -0.259 -0.749 -0.610 3226 311 1 + 9.031 -11.284 1.600 -0.259 -0.557 -0.789 3226 311 1 + 9.031 -10.875 1.388 -0.259 -0.323 -0.910 3226 311 1 + 8.609 -11.200 1.755 -0.500 -0.509 -0.701 3226 311 1 + 10.705 -6.853 2.310 0.707 0.707 0.000 3227 309 1 + 10.705 -7.616 1.167 0.707 0.271 -0.653 3227 309 1 + 10.705 -7.215 1.435 0.707 0.500 -0.500 3227 309 1 + 10.705 -6.947 1.836 0.707 0.653 -0.271 3227 309 1 + 10.343 -6.574 2.310 0.500 0.866 0.000 3227 309 1 + 10.343 -6.649 2.778 0.500 0.824 0.268 3227 309 1 + 10.343 -6.864 3.201 0.500 0.701 0.509 3227 309 1 + 10.343 -8.090 0.794 0.500 0.000 -0.866 3227 309 1 + 10.343 -7.622 0.869 0.500 0.268 -0.824 3227 309 1 + 10.343 -7.199 1.084 0.500 0.509 -0.701 3227 309 1 + 10.343 -6.864 1.419 0.500 0.701 -0.509 3227 309 1 + 10.343 -6.649 1.842 0.500 0.824 -0.268 3227 309 1 + 9.921 -6.400 2.310 0.259 0.966 0.000 3227 309 1 + 9.921 -6.462 2.766 0.259 0.930 0.261 3227 309 1 + 9.921 -6.646 3.188 0.259 0.825 0.502 3227 309 1 + 9.921 -6.936 3.545 0.259 0.659 0.706 3227 309 1 + 9.921 -8.656 0.717 0.259 -0.323 -0.910 3227 309 1 + 9.921 -8.205 0.624 0.259 -0.066 -0.964 3227 309 1 + 9.921 -7.746 0.655 0.259 0.197 -0.946 3227 309 1 + 9.921 -7.312 0.809 0.259 0.444 -0.858 3227 309 1 + 9.921 -6.936 1.075 0.259 0.659 -0.706 3227 309 1 + 9.921 -6.646 1.432 0.259 0.825 -0.502 3227 309 1 + 9.921 -6.462 1.854 0.259 0.930 -0.261 3227 309 1 + 9.468 -6.340 2.310 -0.000 1.000 0.000 3227 309 1 + 9.468 -6.400 2.763 -0.000 0.966 0.259 3227 309 1 + 9.468 -8.090 0.560 -0.000 0.000 -1.000 3227 309 1 + 9.468 -7.637 0.620 -0.000 0.259 -0.966 3227 309 1 + 9.468 -7.215 0.794 -0.000 0.500 -0.866 3227 309 1 + 9.468 -6.853 1.073 -0.000 0.707 -0.707 3227 309 1 + 9.468 -6.574 1.435 -0.000 0.866 -0.500 3227 309 1 + 9.468 -6.400 1.857 -0.000 0.966 -0.259 3227 309 1 + 12.125 -9.092 2.945 1.000 0.000 0.000 3229 310 1 + 12.065 -8.639 2.945 0.966 0.259 0.000 3229 310 1 + 12.065 -8.866 3.337 0.966 0.129 0.224 3229 310 1 + 12.065 -9.318 3.337 0.966 -0.129 0.224 3229 310 1 + 12.065 -9.545 2.945 0.966 -0.259 -0.000 3229 310 1 + 12.065 -9.318 2.553 0.966 -0.129 -0.224 3229 310 1 + 12.065 -8.866 2.553 0.966 0.129 -0.224 3229 310 1 + 11.891 -8.217 2.945 0.866 0.500 0.000 3229 310 1 + 11.891 -8.334 3.382 0.866 0.433 0.250 3229 310 1 + 11.891 -8.655 3.703 0.866 0.250 0.433 3229 310 1 + 11.891 -9.850 3.382 0.866 -0.433 0.250 3229 310 1 + 11.891 -9.967 2.945 0.866 -0.500 -0.000 3229 310 1 + 11.891 -9.850 2.507 0.866 -0.433 -0.250 3229 310 1 + 11.891 -9.530 2.187 0.866 -0.250 -0.433 3229 310 1 + 11.891 -9.092 2.070 0.866 0.000 -0.500 3229 310 1 + 11.891 -8.655 2.187 0.866 0.250 -0.433 3229 310 1 + 11.891 -8.334 2.508 0.866 0.433 -0.250 3229 310 1 + 11.612 -7.855 2.945 0.707 0.707 0.000 3229 310 1 + 11.612 -7.949 3.419 0.707 0.653 0.271 3229 310 1 + 11.612 -8.217 3.820 0.707 0.500 0.500 3229 310 1 + 11.612 -9.967 2.070 0.707 -0.500 -0.500 3229 310 1 + 11.612 -9.566 1.802 0.707 -0.271 -0.653 3229 310 1 + 11.612 -9.092 1.708 0.707 0.000 -0.707 3229 310 1 + 11.612 -8.618 1.802 0.707 0.271 -0.653 3229 310 1 + 11.250 -7.866 3.836 0.500 0.701 0.509 3229 310 1 + 11.250 -8.201 4.171 0.500 0.509 0.701 3229 310 1 + 11.250 -9.983 1.719 0.500 -0.509 -0.701 3229 310 1 + 11.250 -9.560 1.504 0.500 -0.268 -0.824 3229 310 1 + 11.250 -9.092 1.429 0.500 0.000 -0.866 3229 310 1 + 10.828 -7.938 4.180 0.259 0.659 0.706 3229 310 1 + 10.828 -9.658 1.352 0.259 -0.323 -0.910 3229 310 1 + 10.985 -5.625 6.575 -0.000 -0.707 -0.707 3231 89 1 + 10.532 -4.954 6.219 -0.259 -0.323 -0.910 3231 89 1 + 10.110 -4.856 6.371 -0.500 -0.268 -0.824 3231 89 1 + 10.110 -4.388 6.296 -0.500 0.000 -0.866 3231 89 1 + 10.110 -3.920 6.371 -0.500 0.268 -0.824 3231 89 1 + 9.748 -4.388 6.575 -0.707 0.000 -0.707 3231 89 1 + 9.748 -3.914 6.669 -0.707 0.271 -0.653 3231 89 1 + 12.024 -2.453 9.078 0.866 0.433 0.250 3232 88 1 + 12.024 -2.773 9.399 0.866 0.250 0.433 3232 88 1 + 12.024 -3.211 9.516 0.866 -0.000 0.500 3232 88 1 + 11.745 -1.974 8.641 0.707 0.707 0.000 3232 88 1 + 11.745 -2.068 9.115 0.707 0.653 0.271 3232 88 1 + 11.745 -2.336 9.516 0.707 0.500 0.500 3232 88 1 + 11.745 -2.737 9.784 0.707 0.271 0.653 3232 88 1 + 11.383 -1.695 8.641 0.500 0.866 0.000 3232 88 1 + 11.383 -1.770 9.109 0.500 0.824 0.268 3232 88 1 + 11.383 -1.985 9.532 0.500 0.701 0.509 3232 88 1 + 11.383 -2.320 9.867 0.500 0.509 0.701 3232 88 1 + 11.383 -1.770 8.173 0.500 0.824 -0.268 3232 88 1 + 10.961 -1.521 8.641 0.259 0.966 0.000 3232 88 1 + 10.961 -1.767 7.763 0.259 0.825 -0.502 3232 88 1 + 10.961 -1.583 8.185 0.259 0.930 -0.261 3232 88 1 + 10.508 -1.974 7.404 -0.000 0.707 -0.707 3232 88 1 + 10.508 -1.695 7.766 -0.000 0.866 -0.500 3232 88 1 + 10.508 -1.521 8.188 -0.000 0.966 -0.259 3232 88 1 + 10.055 -2.433 7.140 -0.259 0.444 -0.858 3232 88 1 + 10.055 -2.057 7.406 -0.259 0.659 -0.706 3232 88 1 + 10.055 -1.767 7.763 -0.259 0.825 -0.502 3232 88 1 + 9.633 -2.743 7.200 -0.500 0.268 -0.824 3232 88 1 + 9.633 -2.320 7.415 -0.500 0.509 -0.701 3232 88 1 + 10.786 -3.098 12.676 1.000 0.000 0.000 3233 85 1 + 10.712 -2.628 12.676 0.951 0.309 0.000 3233 85 1 + 10.496 -2.205 12.676 0.809 0.588 0.000 3233 85 1 + 10.496 -2.324 13.123 0.809 0.509 0.294 3233 85 1 + 10.159 -1.868 12.676 0.588 0.809 0.000 3233 85 1 + 10.159 -1.962 13.147 0.588 0.747 0.310 3233 85 1 + 10.159 -2.228 13.546 0.588 0.572 0.572 3233 85 1 + 9.736 -1.652 12.676 0.309 0.951 0.000 3233 85 1 + 9.736 -1.731 13.145 0.309 0.900 0.309 3233 85 1 + 9.736 -1.957 13.564 0.309 0.751 0.584 3233 85 1 + 11.439 -3.584 15.455 0.707 0.707 0.000 3234 105 1 + 11.439 -3.678 15.929 0.707 0.653 0.271 3234 105 1 + 11.077 -3.305 15.455 0.500 0.866 0.000 3234 105 1 + 11.077 -3.380 15.923 0.500 0.824 0.268 3234 105 1 + 11.077 -3.595 16.346 0.500 0.701 0.509 3234 105 1 + 10.655 -3.131 15.455 0.259 0.966 0.000 3234 105 1 + 10.655 -3.193 15.911 0.259 0.930 0.261 3234 105 1 + 10.655 -3.377 16.333 0.259 0.825 0.502 3234 105 1 + 10.202 -3.131 15.908 -0.000 0.966 0.259 3234 105 1 + 14.581 -3.384 20.500 1.000 0.000 0.000 3235 130 1 + 14.505 -2.905 20.500 0.951 0.309 0.000 3235 130 1 + 14.505 -3.145 20.915 0.951 0.155 0.268 3235 130 1 + 14.505 -3.623 20.085 0.951 -0.155 -0.268 3235 130 1 + 14.505 -3.145 20.085 0.951 0.155 -0.268 3235 130 1 + 14.285 -2.473 20.500 0.809 0.588 0.000 3235 130 1 + 14.285 -2.595 20.956 0.809 0.509 0.294 3235 130 1 + 14.285 -2.928 21.289 0.809 0.294 0.509 3235 130 1 + 14.285 -3.840 19.711 0.809 -0.294 -0.509 3235 130 1 + 14.285 -3.384 19.589 0.809 0.000 -0.588 3235 130 1 + 14.285 -2.928 19.711 0.809 0.294 -0.509 3235 130 1 + 14.285 -2.595 20.044 0.809 0.509 -0.294 3235 130 1 + 13.942 -2.130 20.500 0.588 0.809 0.000 3235 130 1 + 13.942 -2.225 20.980 0.588 0.747 0.310 3235 130 1 + 13.942 -2.497 21.387 0.588 0.572 0.572 3235 130 1 + 13.942 -3.864 19.341 0.588 -0.310 -0.747 3235 130 1 + 13.942 -3.384 19.246 0.588 0.000 -0.809 3235 130 1 + 13.942 -2.904 19.341 0.588 0.310 -0.747 3235 130 1 + 13.942 -2.497 19.613 0.588 0.572 -0.572 3235 130 1 + 13.942 -2.225 20.020 0.588 0.747 -0.310 3235 130 1 + 13.510 -1.910 20.500 0.309 0.951 0.000 3235 130 1 + 13.510 -1.990 20.979 0.309 0.900 0.309 3235 130 1 + 13.510 -2.221 21.405 0.309 0.751 0.584 3235 130 1 + 13.510 -2.578 21.734 0.309 0.520 0.796 3235 130 1 + 13.510 -3.506 19.031 0.309 -0.079 -0.948 3235 130 1 + 13.510 -3.022 19.071 0.309 0.233 -0.922 3235 130 1 + 13.510 -2.578 19.266 0.309 0.520 -0.796 3235 130 1 + 13.510 -2.221 19.595 0.309 0.751 -0.584 3235 130 1 + 13.510 -1.990 20.021 0.309 0.900 -0.309 3235 130 1 + 13.031 -1.834 20.500 -0.000 1.000 0.000 3235 130 1 + 13.031 -1.903 20.957 -0.000 0.956 0.295 3235 130 1 + 13.031 -2.103 21.373 -0.000 0.826 0.563 3235 130 1 + 13.031 -2.418 21.712 -0.000 0.623 0.782 3235 130 1 + 13.031 -3.268 18.954 -0.000 0.075 -0.997 3235 130 1 + 13.031 -2.818 19.057 -0.000 0.365 -0.931 3235 130 1 + 13.031 -2.418 19.288 -0.000 0.623 -0.782 3235 130 1 + 13.031 -2.103 19.627 -0.000 0.826 -0.563 3235 130 1 + 13.031 -1.903 20.043 -0.000 0.956 -0.295 3235 130 1 + 12.552 -1.910 20.500 -0.309 0.951 0.000 3235 130 1 + 12.552 -1.990 20.979 -0.309 0.900 0.309 3235 130 1 + 12.552 -2.221 21.405 -0.309 0.751 0.584 3235 130 1 + 12.552 -2.578 19.266 -0.309 0.520 -0.796 3235 130 1 + 12.552 -2.221 19.595 -0.309 0.751 -0.584 3235 130 1 + 12.552 -1.990 20.021 -0.309 0.900 -0.309 3235 130 1 + 12.120 -2.130 20.500 -0.588 0.809 0.000 3235 130 1 + 12.120 -2.225 20.980 -0.588 0.747 0.310 3235 130 1 + 12.120 -2.225 20.020 -0.588 0.747 -0.310 3235 130 1 + 14.307 -4.836 21.640 0.966 -0.129 0.224 3236 129 1 + 14.307 -5.063 21.248 0.966 -0.259 -0.000 3236 129 1 + 14.133 -4.173 22.006 0.866 0.250 0.433 3236 129 1 + 14.133 -4.610 22.123 0.866 -0.000 0.500 3236 129 1 + 14.133 -5.048 22.006 0.866 -0.250 0.433 3236 129 1 + 14.133 -5.368 21.685 0.866 -0.433 0.250 3236 129 1 + 14.133 -5.485 21.248 0.866 -0.500 -0.000 3236 129 1 + 14.133 -5.368 20.810 0.866 -0.433 -0.250 3236 129 1 + 13.854 -4.136 22.391 0.707 0.271 0.653 3236 129 1 + 13.854 -4.610 22.485 0.707 -0.000 0.707 3236 129 1 + 13.854 -5.084 22.391 0.707 -0.271 0.653 3236 129 1 + 13.854 -5.485 22.123 0.707 -0.500 0.500 3236 129 1 + 13.854 -5.753 21.722 0.707 -0.653 0.271 3236 129 1 + 13.854 -5.847 21.248 0.707 -0.707 -0.000 3236 129 1 + 13.492 -3.719 22.474 0.500 0.509 0.701 3236 129 1 + 13.492 -4.142 22.689 0.500 0.268 0.824 3236 129 1 + 13.492 -4.610 22.764 0.500 -0.000 0.866 3236 129 1 + 13.492 -6.051 21.716 0.500 -0.824 0.268 3236 129 1 + 13.070 -3.832 22.749 0.259 0.444 0.858 3236 129 1 + 12.617 -3.373 22.485 -0.000 0.707 0.707 3236 129 1 + 11.742 -3.384 22.139 -0.500 0.701 0.509 3236 129 1 + 12.273 -4.802 24.900 0.951 0.309 0.000 3237 153 1 + 12.273 -5.037 25.307 0.951 0.155 0.268 3237 153 1 + 12.057 -4.379 24.900 0.809 0.588 0.000 3237 153 1 + 12.057 -4.498 25.347 0.809 0.509 0.294 3237 153 1 + 12.057 -4.825 25.674 0.809 0.294 0.509 3237 153 1 + 11.720 -4.042 24.900 0.588 0.809 0.000 3237 153 1 + 11.720 -4.136 25.371 0.588 0.747 0.310 3237 153 1 + 11.720 -4.402 25.770 0.588 0.572 0.572 3237 153 1 + 11.720 -4.801 26.036 0.588 0.310 0.747 3237 153 1 + 11.297 -3.826 24.900 0.309 0.951 0.000 3237 153 1 + 11.297 -3.905 25.369 0.309 0.900 0.309 3237 153 1 + 11.297 -4.131 25.788 0.309 0.751 0.584 3237 153 1 + 11.297 -4.481 26.110 0.309 0.520 0.796 3237 153 1 + 11.297 -4.917 26.301 0.309 0.233 0.922 3237 153 1 + 10.827 -3.752 24.900 -0.000 1.000 0.000 3237 153 1 + 10.827 -3.820 25.348 -0.000 0.956 0.295 3237 153 1 + 10.827 -4.016 25.756 -0.000 0.826 0.563 3237 153 1 + 10.827 -4.324 26.088 -0.000 0.623 0.782 3237 153 1 + 10.827 -3.820 24.452 -0.000 0.956 -0.295 3237 153 1 + 10.357 -3.826 24.900 -0.309 0.951 0.000 3237 153 1 + 10.357 -3.905 25.369 -0.309 0.900 0.309 3237 153 1 + 10.357 -4.131 25.788 -0.309 0.751 0.584 3237 153 1 + 10.357 -3.905 24.431 -0.309 0.900 -0.309 3237 153 1 + 9.934 -4.042 24.900 -0.588 0.809 0.000 3237 153 1 + 9.934 -4.136 25.371 -0.588 0.747 0.310 3237 153 1 + 9.934 -4.136 24.429 -0.588 0.747 -0.310 3237 153 1 + 9.597 -4.379 24.900 -0.809 0.588 0.000 3237 153 1 + 9.597 -4.498 24.453 -0.809 0.509 -0.294 3237 153 1 + 11.509 -6.502 26.525 0.500 -0.000 0.866 3239 151 1 + 11.087 -6.158 26.664 0.259 0.197 0.946 3239 151 1 + 11.087 -6.617 26.695 0.259 -0.066 0.964 3239 151 1 + 9.712 -7.959 26.820 0.259 -0.557 0.789 3240 150 1 + 9.712 -8.295 26.506 0.259 -0.749 0.610 3240 150 1 + 9.712 -8.534 26.112 0.259 -0.886 0.385 3240 150 1 + 9.259 -8.221 26.676 -0.000 -0.707 0.707 3240 150 1 + 9.259 -8.500 26.314 -0.000 -0.866 0.500 3240 150 1 + 7.989 -9.408 25.494 0.500 -0.701 0.509 3241 146 1 + 7.989 -9.623 25.071 0.500 -0.824 0.268 3241 146 1 + 7.567 -9.732 25.276 0.259 -0.886 0.385 3241 146 1 + 6.978 -11.921 23.285 0.500 -0.268 0.824 3243 140 1 + 6.556 -12.019 23.437 0.259 -0.323 0.910 3243 140 1 + 6.103 -12.328 23.360 -0.000 -0.500 0.866 3243 140 1 + 5.650 -12.428 23.225 -0.259 -0.557 0.789 3243 140 1 + 9.032 -13.992 21.732 0.951 -0.155 0.268 3245 143 1 + 9.032 -14.227 21.325 0.951 -0.309 -0.000 3245 143 1 + 8.816 -13.310 22.099 0.809 0.294 0.509 3245 143 1 + 8.816 -13.757 22.218 0.809 -0.000 0.588 3245 143 1 + 8.816 -14.204 22.099 0.809 -0.294 0.509 3245 143 1 + 8.816 -14.531 21.772 0.809 -0.509 0.294 3245 143 1 + 8.816 -14.650 21.325 0.809 -0.588 -0.000 3245 143 1 + 8.816 -14.531 20.878 0.809 -0.509 -0.294 3245 143 1 + 8.816 -14.204 20.551 0.809 -0.294 -0.509 3245 143 1 + 8.479 -13.286 22.461 0.588 0.310 0.747 3245 143 1 + 8.479 -13.757 22.555 0.588 -0.000 0.809 3245 143 1 + 8.479 -14.228 22.461 0.588 -0.310 0.747 3245 143 1 + 8.479 -14.627 22.195 0.588 -0.572 0.572 3245 143 1 + 8.479 -14.893 21.796 0.588 -0.747 0.310 3245 143 1 + 8.479 -14.987 21.325 0.588 -0.809 -0.000 3245 143 1 + 8.479 -14.893 20.854 0.588 -0.747 -0.310 3245 143 1 + 8.056 -13.402 22.726 0.309 0.233 0.922 3245 143 1 + 8.056 -13.876 22.766 0.309 -0.079 0.948 3245 143 1 + 8.056 -14.338 22.649 0.309 -0.382 0.871 3245 143 1 + 8.056 -14.736 22.389 0.309 -0.644 0.700 3245 143 1 + 8.056 -15.028 22.013 0.309 -0.836 0.453 3245 143 1 + 8.056 -15.183 21.563 0.309 -0.938 0.157 3245 143 1 + 7.586 -14.095 22.807 -0.000 -0.223 0.975 3245 143 1 + 7.586 -14.517 22.641 -0.000 -0.500 0.866 3245 143 1 + 7.586 -14.871 22.359 -0.000 -0.733 0.680 3245 143 1 + 7.586 -15.126 21.985 -0.000 -0.901 0.434 3245 143 1 + 7.586 -15.260 21.552 -0.000 -0.989 0.149 3245 143 1 + 7.116 -14.338 22.649 -0.309 -0.382 0.871 3245 143 1 + 7.116 -14.736 22.389 -0.309 -0.644 0.700 3245 143 1 + 9.074 -14.023 15.112 1.000 0.000 0.000 3248 112 1 + 9.014 -14.249 15.504 0.966 -0.129 0.224 3248 112 1 + 9.014 -14.476 15.112 0.966 -0.259 -0.000 3248 112 1 + 9.014 -14.249 14.720 0.966 -0.129 -0.224 3248 112 1 + 9.014 -13.797 14.720 0.966 0.129 -0.224 3248 112 1 + 8.840 -14.023 15.987 0.866 -0.000 0.500 3248 112 1 + 8.840 -14.460 15.870 0.866 -0.250 0.433 3248 112 1 + 8.840 -14.781 15.550 0.866 -0.433 0.250 3248 112 1 + 8.840 -14.898 15.112 0.866 -0.500 -0.000 3248 112 1 + 8.840 -14.781 14.675 0.866 -0.433 -0.250 3248 112 1 + 8.840 -14.460 14.354 0.866 -0.250 -0.433 3248 112 1 + 8.840 -14.023 14.237 0.866 0.000 -0.500 3248 112 1 + 8.561 -15.166 14.638 0.707 -0.653 -0.271 3248 112 1 + 8.561 -14.898 14.237 0.707 -0.500 -0.500 3248 112 1 + 8.561 -14.497 13.969 0.707 -0.271 -0.653 3248 112 1 + 8.561 -14.023 13.875 0.707 0.000 -0.707 3248 112 1 + 8.199 -15.249 14.221 0.500 -0.701 -0.509 3248 112 1 + 8.199 -14.914 13.886 0.500 -0.509 -0.701 3248 112 1 + 8.199 -14.491 13.671 0.500 -0.268 -0.824 3248 112 1 + 8.199 -14.023 13.596 0.500 0.000 -0.866 3248 112 1 + 7.777 -14.589 13.519 0.259 -0.323 -0.910 3248 112 1 + 7.777 -14.138 13.426 0.259 -0.066 -0.964 3248 112 1 + 7.777 -13.679 13.457 0.259 0.197 -0.946 3248 112 1 + 7.324 -14.023 13.362 -0.000 0.000 -1.000 3248 112 1 + 7.324 -13.570 13.422 -0.000 0.259 -0.966 3248 112 1 + 8.121 -15.718 16.528 0.809 -0.294 0.509 3249 113 1 + 8.121 -16.051 16.195 0.809 -0.509 0.294 3249 113 1 + 8.121 -16.173 15.739 0.809 -0.588 -0.000 3249 113 1 + 7.778 -16.149 16.626 0.588 -0.572 0.572 3249 113 1 + 7.131 -16.911 14.387 0.707 -0.500 -0.500 3250 114 1 + 7.131 -16.510 14.119 0.707 -0.271 -0.653 3250 114 1 + 6.769 -16.927 14.036 0.500 -0.509 -0.701 3250 114 1 + 9.364 -12.013 15.316 0.966 -0.259 -0.000 3251 110 1 + 9.364 -11.786 14.924 0.966 -0.129 -0.224 3251 110 1 + 9.190 -11.998 14.558 0.866 -0.250 -0.433 3251 110 1 + 9.190 -11.560 14.441 0.866 0.000 -0.500 3251 110 1 + 8.911 -12.034 14.173 0.707 -0.271 -0.653 3251 110 1 + 8.911 -11.560 14.079 0.707 0.000 -0.707 3251 110 1 + 8.549 -11.560 13.800 0.500 0.000 -0.866 3251 110 1 + 8.127 -11.675 13.630 0.259 -0.066 -0.964 3251 110 1 + 12.475 -9.469 9.579 0.966 -0.259 -0.000 3257 289 1 + 12.475 -9.242 9.187 0.966 -0.129 -0.224 3257 289 1 + 12.475 -8.790 9.187 0.966 0.129 -0.224 3257 289 1 + 12.301 -9.774 10.017 0.866 -0.433 0.250 3257 289 1 + 12.301 -9.891 9.579 0.866 -0.500 -0.000 3257 289 1 + 12.301 -8.578 8.821 0.866 0.250 -0.433 3257 289 1 + 12.022 -10.159 10.053 0.707 -0.653 0.271 3257 289 1 + 12.022 -10.253 9.579 0.707 -0.707 -0.000 3257 289 1 + 11.660 -10.457 10.047 0.500 -0.824 0.268 3257 289 1 + 11.238 -10.566 10.252 0.259 -0.886 0.385 3257 289 1 + 10.785 -10.532 10.454 -0.000 -0.866 0.500 3257 289 1 + 10.332 -10.327 10.646 -0.259 -0.749 0.610 3257 289 1 + 11.365 -13.050 7.644 0.966 -0.129 0.224 3259 295 1 + 11.365 -13.277 7.252 0.966 -0.259 -0.000 3259 295 1 + 11.191 -13.262 8.010 0.866 -0.250 0.433 3259 295 1 + 11.191 -13.699 7.252 0.866 -0.500 -0.000 3259 295 1 + 11.191 -13.582 6.814 0.866 -0.433 -0.250 3259 295 1 + 12.662 -10.479 6.750 1.000 0.000 0.000 3260 288 1 + 12.588 -10.009 6.750 0.951 0.309 0.000 3260 288 1 + 12.588 -10.244 7.157 0.951 0.155 0.268 3260 288 1 + 12.588 -10.714 7.157 0.951 -0.155 0.268 3260 288 1 + 12.588 -10.949 6.750 0.951 -0.309 -0.000 3260 288 1 + 12.588 -10.714 6.343 0.951 -0.155 -0.268 3260 288 1 + 12.588 -10.244 6.343 0.951 0.155 -0.268 3260 288 1 + 12.372 -9.586 6.750 0.809 0.588 0.000 3260 288 1 + 12.372 -10.926 7.524 0.809 -0.294 0.509 3260 288 1 + 12.372 -11.253 7.197 0.809 -0.509 0.294 3260 288 1 + 12.372 -11.372 6.750 0.809 -0.588 -0.000 3260 288 1 + 12.372 -11.253 6.303 0.809 -0.509 -0.294 3260 288 1 + 12.372 -10.926 5.976 0.809 -0.294 -0.509 3260 288 1 + 12.372 -10.479 5.857 0.809 0.000 -0.588 3260 288 1 + 12.372 -10.032 5.976 0.809 0.294 -0.509 3260 288 1 + 12.372 -9.705 6.303 0.809 0.509 -0.294 3260 288 1 + 12.035 -11.349 5.880 0.588 -0.572 -0.572 3260 288 1 + 12.035 -10.950 5.614 0.588 -0.310 -0.747 3260 288 1 + 12.035 -9.343 6.279 0.588 0.747 -0.310 3260 288 1 + 14.027 -6.630 11.423 1.000 0.000 0.000 3262 293 1 + 13.953 -6.160 11.423 0.951 0.309 0.000 3262 293 1 + 13.953 -6.395 11.830 0.951 0.155 0.268 3262 293 1 + 13.953 -6.865 11.830 0.951 -0.155 0.268 3262 293 1 + 13.953 -7.100 11.423 0.951 -0.309 -0.000 3262 293 1 + 13.953 -6.865 11.016 0.951 -0.155 -0.268 3262 293 1 + 13.953 -6.395 11.016 0.951 0.155 -0.268 3262 293 1 + 13.737 -5.737 11.423 0.809 0.588 0.000 3262 293 1 + 13.737 -5.856 11.870 0.809 0.509 0.294 3262 293 1 + 13.737 -6.183 12.197 0.809 0.294 0.509 3262 293 1 + 13.737 -6.630 12.316 0.809 -0.000 0.588 3262 293 1 + 13.737 -7.077 12.197 0.809 -0.294 0.509 3262 293 1 + 13.737 -7.404 11.870 0.809 -0.509 0.294 3262 293 1 + 13.737 -7.404 10.976 0.809 -0.509 -0.294 3262 293 1 + 13.737 -7.077 10.649 0.809 -0.294 -0.509 3262 293 1 + 13.737 -6.630 10.530 0.809 0.000 -0.588 3262 293 1 + 13.737 -6.183 10.649 0.809 0.294 -0.509 3262 293 1 + 13.737 -5.856 10.976 0.809 0.509 -0.294 3262 293 1 + 13.400 -5.400 11.423 0.588 0.809 0.000 3262 293 1 + 13.400 -5.494 11.894 0.588 0.747 0.310 3262 293 1 + 13.400 -7.101 10.287 0.588 -0.310 -0.747 3262 293 1 + 13.400 -6.630 10.193 0.588 0.000 -0.809 3262 293 1 + 13.400 -5.494 10.952 0.588 0.747 -0.310 3262 293 1 + 12.977 -5.184 11.423 0.309 0.951 0.000 3262 293 1 + 12.977 -5.263 11.892 0.309 0.900 0.309 3262 293 1 + 13.779 -4.043 7.053 1.000 0.000 0.000 3263 90 1 + 13.703 -3.564 7.053 0.951 0.309 0.000 3263 90 1 + 13.703 -3.804 7.468 0.951 0.155 0.268 3263 90 1 + 13.703 -4.282 7.468 0.951 -0.155 0.268 3263 90 1 + 13.703 -4.522 7.053 0.951 -0.309 -0.000 3263 90 1 + 13.703 -4.282 6.638 0.951 -0.155 -0.268 3263 90 1 + 13.703 -3.804 6.638 0.951 0.155 -0.268 3263 90 1 + 13.483 -3.132 7.053 0.809 0.588 0.000 3263 90 1 + 13.483 -3.254 7.509 0.809 0.509 0.294 3263 90 1 + 13.483 -3.587 7.842 0.809 0.294 0.509 3263 90 1 + 13.483 -4.043 7.964 0.809 -0.000 0.588 3263 90 1 + 13.483 -4.499 7.842 0.809 -0.294 0.509 3263 90 1 + 13.483 -4.832 7.509 0.809 -0.509 0.294 3263 90 1 + 13.483 -4.954 7.053 0.809 -0.588 -0.000 3263 90 1 + 13.483 -4.832 6.597 0.809 -0.509 -0.294 3263 90 1 + 13.483 -4.499 6.264 0.809 -0.294 -0.509 3263 90 1 + 13.483 -4.043 6.142 0.809 0.000 -0.588 3263 90 1 + 13.483 -3.587 6.264 0.809 0.294 -0.509 3263 90 1 + 13.483 -3.254 6.597 0.809 0.509 -0.294 3263 90 1 + 13.140 -2.789 7.053 0.588 0.809 0.000 3263 90 1 + 13.140 -2.884 7.533 0.588 0.747 0.310 3263 90 1 + 13.140 -3.156 7.940 0.588 0.572 0.572 3263 90 1 + 13.140 -4.043 8.307 0.588 -0.000 0.809 3263 90 1 + 13.140 -5.202 7.533 0.588 -0.747 0.310 3263 90 1 + 13.140 -5.297 7.053 0.588 -0.809 -0.000 3263 90 1 + 13.140 -5.202 6.573 0.588 -0.747 -0.310 3263 90 1 + 13.140 -4.930 6.166 0.588 -0.572 -0.572 3263 90 1 + 13.140 -4.523 5.894 0.588 -0.310 -0.747 3263 90 1 + 13.140 -4.043 5.799 0.588 0.000 -0.809 3263 90 1 + 13.140 -3.563 5.894 0.588 0.310 -0.747 3263 90 1 + 13.140 -3.156 6.166 0.588 0.572 -0.572 3263 90 1 + 13.140 -2.884 6.573 0.588 0.747 -0.310 3263 90 1 + 12.708 -2.569 7.053 0.309 0.951 0.000 3263 90 1 + 12.708 -5.497 6.810 0.309 -0.938 -0.157 3263 90 1 + 12.708 -5.339 6.351 0.309 -0.836 -0.453 3263 90 1 + 12.708 -5.041 5.968 0.309 -0.644 -0.700 3263 90 1 + 12.708 -4.635 5.703 0.309 -0.382 -0.871 3263 90 1 + 12.708 -4.165 5.584 0.309 -0.079 -0.948 3263 90 1 + 12.708 -3.681 5.624 0.309 0.233 -0.922 3263 90 1 + 12.708 -3.237 5.819 0.309 0.520 -0.796 3263 90 1 + 12.708 -2.880 6.148 0.309 0.751 -0.584 3263 90 1 + 12.708 -2.649 6.574 0.309 0.900 -0.309 3263 90 1 + 12.229 -5.179 5.999 -0.000 -0.733 -0.680 3263 90 1 + 12.229 -4.818 5.711 -0.000 -0.500 -0.866 3263 90 1 + 12.229 -4.388 5.542 -0.000 -0.223 -0.975 3263 90 1 + 12.229 -3.927 5.507 -0.000 0.075 -0.997 3263 90 1 + 12.229 -3.477 5.610 -0.000 0.365 -0.931 3263 90 1 + 12.229 -3.077 5.841 -0.000 0.623 -0.782 3263 90 1 + 12.229 -2.762 6.180 -0.000 0.826 -0.563 3263 90 1 + 12.229 -2.562 6.596 -0.000 0.956 -0.295 3263 90 1 + 11.750 -4.635 5.703 -0.309 -0.382 -0.871 3263 90 1 + 11.750 -4.165 5.584 -0.309 -0.079 -0.948 3263 90 1 + 11.750 -3.681 5.624 -0.309 0.233 -0.922 3263 90 1 + 11.750 -3.237 5.819 -0.309 0.520 -0.796 3263 90 1 + 11.750 -2.880 6.148 -0.309 0.751 -0.584 3263 90 1 + 13.071 -5.780 15.171 1.000 0.000 0.000 3265 104 1 + 13.011 -5.327 15.171 0.966 0.259 0.000 3265 104 1 + 13.011 -5.554 15.563 0.966 0.129 0.224 3265 104 1 + 13.011 -6.006 15.563 0.966 -0.129 0.224 3265 104 1 + 13.011 -6.233 15.171 0.966 -0.259 -0.000 3265 104 1 + 13.011 -6.006 14.779 0.966 -0.129 -0.224 3265 104 1 + 13.011 -5.554 14.779 0.966 0.129 -0.224 3265 104 1 + 12.837 -4.905 15.171 0.866 0.500 0.000 3265 104 1 + 12.837 -5.022 15.608 0.866 0.433 0.250 3265 104 1 + 12.837 -5.343 15.929 0.866 0.250 0.433 3265 104 1 + 12.837 -5.780 16.046 0.866 -0.000 0.500 3265 104 1 + 12.837 -6.218 15.929 0.866 -0.250 0.433 3265 104 1 + 12.837 -6.655 15.171 0.866 -0.500 -0.000 3265 104 1 + 12.837 -5.022 14.733 0.866 0.433 -0.250 3265 104 1 + 12.558 -4.543 15.171 0.707 0.707 0.000 3265 104 1 + 12.558 -4.637 15.645 0.707 0.653 0.271 3265 104 1 + 12.558 -4.905 16.046 0.707 0.500 0.500 3265 104 1 + 12.558 -5.306 16.314 0.707 0.271 0.653 3265 104 1 + 12.558 -4.637 14.697 0.707 0.653 -0.271 3265 104 1 + 12.196 -4.554 14.280 0.500 0.701 -0.509 3265 104 1 + 12.937 -6.741 20.427 0.707 -0.707 -0.000 3266 128 1 + 12.937 -6.647 19.953 0.707 -0.653 -0.271 3266 128 1 + 12.937 -6.379 19.552 0.707 -0.500 -0.500 3266 128 1 + 12.937 -5.978 19.284 0.707 -0.271 -0.653 3266 128 1 + 12.575 -6.945 20.895 0.500 -0.824 0.268 3266 128 1 + 12.575 -7.020 20.427 0.500 -0.866 -0.000 3266 128 1 + 12.575 -6.945 19.959 0.500 -0.824 -0.268 3266 128 1 + 12.575 -6.730 19.536 0.500 -0.701 -0.509 3266 128 1 + 13.035 -7.357 24.771 1.000 0.000 0.000 3267 152 1 + 12.961 -6.887 24.771 0.951 0.309 0.000 3267 152 1 + 12.961 -7.122 25.178 0.951 0.155 0.268 3267 152 1 + 12.961 -7.592 25.178 0.951 -0.155 0.268 3267 152 1 + 12.961 -7.827 24.771 0.951 -0.309 -0.000 3267 152 1 + 12.961 -7.592 24.364 0.951 -0.155 -0.268 3267 152 1 + 12.961 -7.122 24.364 0.951 0.155 -0.268 3267 152 1 + 12.745 -6.910 25.545 0.809 0.294 0.509 3267 152 1 + 12.745 -7.357 25.664 0.809 -0.000 0.588 3267 152 1 + 12.745 -7.804 25.545 0.809 -0.294 0.509 3267 152 1 + 12.745 -8.131 25.218 0.809 -0.509 0.294 3267 152 1 + 12.745 -8.250 24.771 0.809 -0.588 -0.000 3267 152 1 + 12.745 -8.131 24.324 0.809 -0.509 -0.294 3267 152 1 + 12.745 -7.804 23.997 0.809 -0.294 -0.509 3267 152 1 + 12.408 -7.357 26.001 0.588 -0.000 0.809 3267 152 1 + 12.408 -7.828 25.907 0.588 -0.310 0.747 3267 152 1 + 12.408 -8.227 25.641 0.588 -0.572 0.572 3267 152 1 + 12.408 -8.493 25.242 0.588 -0.747 0.310 3267 152 1 + 12.408 -8.587 24.771 0.588 -0.809 -0.000 3267 152 1 + 12.408 -8.493 24.300 0.588 -0.747 -0.310 3267 152 1 + 12.408 -8.227 23.901 0.588 -0.572 -0.572 3267 152 1 + 12.408 -7.828 23.635 0.588 -0.310 -0.747 3267 152 1 + 11.985 -7.938 26.095 0.309 -0.382 0.871 3267 152 1 + 11.985 -8.336 25.835 0.309 -0.644 0.700 3267 152 1 + 11.985 -8.628 25.459 0.309 -0.836 0.453 3267 152 1 + 11.985 -8.783 25.009 0.309 -0.938 0.157 3267 152 1 + 11.985 -8.783 24.533 0.309 -0.938 -0.157 3267 152 1 + 11.985 -8.628 24.083 0.309 -0.836 -0.453 3267 152 1 + 11.985 -8.336 23.707 0.309 -0.644 -0.700 3267 152 1 + 11.515 -8.471 25.805 -0.000 -0.733 0.680 3267 152 1 + 11.515 -8.726 25.431 -0.000 -0.901 0.434 3267 152 1 + 11.515 -8.860 24.998 -0.000 -0.989 0.149 3267 152 1 + 11.515 -8.860 24.544 -0.000 -0.989 -0.149 3267 152 1 + 9.717 -10.315 22.190 0.588 -0.572 0.572 3269 120 1 + 9.294 -10.424 22.384 0.309 -0.644 0.700 3269 120 1 + 12.600 -10.990 19.384 1.000 0.000 0.000 3271 121 1 + 12.540 -10.537 19.384 0.966 0.259 0.000 3271 121 1 + 12.540 -10.764 19.776 0.966 0.129 0.224 3271 121 1 + 12.540 -11.216 19.776 0.966 -0.129 0.224 3271 121 1 + 12.540 -11.443 19.384 0.966 -0.259 -0.000 3271 121 1 + 12.540 -11.216 18.992 0.966 -0.129 -0.224 3271 121 1 + 12.540 -10.764 18.992 0.966 0.129 -0.224 3271 121 1 + 12.366 -10.115 19.384 0.866 0.500 0.000 3271 121 1 + 12.366 -10.232 19.822 0.866 0.433 0.250 3271 121 1 + 12.366 -10.552 20.142 0.866 0.250 0.433 3271 121 1 + 12.366 -10.990 20.259 0.866 -0.000 0.500 3271 121 1 + 12.366 -11.427 20.142 0.866 -0.250 0.433 3271 121 1 + 12.366 -11.748 19.822 0.866 -0.433 0.250 3271 121 1 + 12.366 -11.865 19.384 0.866 -0.500 -0.000 3271 121 1 + 12.366 -11.748 18.947 0.866 -0.433 -0.250 3271 121 1 + 12.366 -11.427 18.626 0.866 -0.250 -0.433 3271 121 1 + 12.366 -10.990 18.509 0.866 0.000 -0.500 3271 121 1 + 12.366 -10.552 18.626 0.866 0.250 -0.433 3271 121 1 + 12.366 -10.232 18.947 0.866 0.433 -0.250 3271 121 1 + 12.087 -10.115 20.259 0.707 0.500 0.500 3271 121 1 + 12.087 -10.516 20.527 0.707 0.271 0.653 3271 121 1 + 12.087 -10.990 20.621 0.707 -0.000 0.707 3271 121 1 + 12.087 -11.464 20.527 0.707 -0.271 0.653 3271 121 1 + 12.087 -11.865 20.259 0.707 -0.500 0.500 3271 121 1 + 12.087 -12.133 19.858 0.707 -0.653 0.271 3271 121 1 + 12.087 -12.227 19.384 0.707 -0.707 -0.000 3271 121 1 + 12.087 -12.133 18.910 0.707 -0.653 -0.271 3271 121 1 + 12.087 -11.865 18.509 0.707 -0.500 -0.500 3271 121 1 + 12.087 -11.464 18.241 0.707 -0.271 -0.653 3271 121 1 + 12.087 -10.990 18.147 0.707 0.000 -0.707 3271 121 1 + 12.087 -10.516 18.241 0.707 0.271 -0.653 3271 121 1 + 12.087 -10.115 18.509 0.707 0.500 -0.500 3271 121 1 + 12.087 -9.847 18.910 0.707 0.653 -0.271 3271 121 1 + 11.725 -10.099 20.610 0.500 0.509 0.701 3271 121 1 + 11.725 -10.522 20.825 0.500 0.268 0.824 3271 121 1 + 11.725 -10.990 20.900 0.500 -0.000 0.866 3271 121 1 + 11.725 -11.458 20.825 0.500 -0.268 0.824 3271 121 1 + 11.725 -11.881 20.610 0.500 -0.509 0.701 3271 121 1 + 11.725 -12.216 20.275 0.500 -0.701 0.509 3271 121 1 + 11.725 -12.431 19.852 0.500 -0.824 0.268 3271 121 1 + 11.725 -12.506 19.384 0.500 -0.866 -0.000 3271 121 1 + 11.725 -12.431 18.916 0.500 -0.824 -0.268 3271 121 1 + 11.725 -12.216 18.493 0.500 -0.701 -0.509 3271 121 1 + 11.725 -11.881 18.158 0.500 -0.509 -0.701 3271 121 1 + 11.725 -11.458 17.943 0.500 -0.268 -0.824 3271 121 1 + 11.725 -10.990 17.868 0.500 0.000 -0.866 3271 121 1 + 11.303 -11.105 21.070 0.259 -0.066 0.964 3271 121 1 + 11.303 -11.556 20.977 0.259 -0.323 0.910 3271 121 1 + 11.303 -11.965 20.765 0.259 -0.557 0.789 3271 121 1 + 11.303 -12.301 20.451 0.259 -0.749 0.610 3271 121 1 + 11.303 -12.540 20.057 0.259 -0.886 0.385 3271 121 1 + 11.303 -12.665 19.614 0.259 -0.957 0.132 3271 121 1 + 11.303 -12.665 19.154 0.259 -0.957 -0.132 3271 121 1 + 11.303 -12.540 18.711 0.259 -0.886 -0.385 3271 121 1 + 11.303 -12.301 18.317 0.259 -0.749 -0.610 3271 121 1 + 11.303 -11.965 18.003 0.259 -0.557 -0.789 3271 121 1 + 11.303 -11.556 17.791 0.259 -0.323 -0.910 3271 121 1 + 10.850 -11.865 20.900 -0.000 -0.500 0.866 3271 121 1 + 10.850 -12.740 19.384 -0.000 -1.000 -0.000 3271 121 1 + 10.850 -12.680 18.931 -0.000 -0.966 -0.259 3271 121 1 + 10.850 -12.506 18.509 -0.000 -0.866 -0.500 3271 121 1 + 10.850 -12.227 18.147 -0.000 -0.707 -0.707 3271 121 1 + 10.397 -12.540 18.711 -0.259 -0.886 -0.385 3271 121 1 + 13.060 -8.637 12.780 0.951 -0.155 0.268 3275 292 1 + 13.060 -8.872 12.373 0.951 -0.309 -0.000 3275 292 1 + 12.844 -8.402 13.266 0.809 -0.000 0.588 3275 292 1 + 12.844 -8.849 13.147 0.809 -0.294 0.509 3275 292 1 + 12.844 -9.176 12.820 0.809 -0.509 0.294 3275 292 1 + 12.844 -9.295 12.373 0.809 -0.588 -0.000 3275 292 1 + 12.507 -9.272 13.243 0.588 -0.572 0.572 3275 292 1 + 12.507 -9.538 12.844 0.588 -0.747 0.310 3275 292 1 + 12.507 -9.632 12.373 0.588 -0.809 -0.000 3275 292 1 + 12.084 -9.381 13.437 0.309 -0.644 0.700 3275 292 1 + 12.084 -9.673 13.061 0.309 -0.836 0.453 3275 292 1 + 12.084 -9.828 12.611 0.309 -0.938 0.157 3275 292 1 + 12.084 -9.828 12.135 0.309 -0.938 -0.157 3275 292 1 + 11.614 -9.516 13.407 -0.000 -0.733 0.680 3275 292 1 + 11.614 -9.771 13.033 -0.000 -0.901 0.434 3275 292 1 + 11.614 -9.905 12.600 -0.000 -0.989 0.149 3275 292 1 + 11.144 -9.828 12.611 -0.309 -0.938 0.157 3275 292 1 + 12.247 -7.530 16.335 0.866 -0.250 0.433 3277 103 1 + 12.247 -7.850 16.014 0.866 -0.433 0.250 3277 103 1 + 12.247 -7.967 15.577 0.866 -0.500 -0.000 3277 103 1 + 11.968 -7.566 16.720 0.707 -0.271 0.653 3277 103 1 + 11.968 -7.967 16.452 0.707 -0.500 0.500 3277 103 1 + 11.968 -8.235 16.051 0.707 -0.653 0.271 3277 103 1 + 11.968 -8.329 15.577 0.707 -0.707 -0.000 3277 103 1 + 11.606 -8.608 15.577 0.500 -0.866 -0.000 3277 103 1 + 1.256 11.200 27.576 1.000 0.000 0.000 3281 829 1 + 1.182 11.670 27.576 0.951 0.309 0.000 3281 829 1 + 1.182 11.435 27.983 0.951 0.155 0.268 3281 829 1 + 1.182 10.965 27.983 0.951 -0.155 0.268 3281 829 1 + 0.966 12.093 27.576 0.809 0.588 0.000 3281 829 1 + 0.966 11.974 28.023 0.809 0.509 0.294 3281 829 1 + 0.966 11.647 28.350 0.809 0.294 0.509 3281 829 1 + 0.966 11.200 28.469 0.809 -0.000 0.588 3281 829 1 + 0.966 11.974 27.129 0.809 0.509 -0.294 3281 829 1 + 0.629 12.430 27.576 0.588 0.809 0.000 3281 829 1 + 0.629 12.336 28.047 0.588 0.747 0.310 3281 829 1 + 0.629 12.070 28.446 0.588 0.572 0.572 3281 829 1 + 0.629 11.671 28.712 0.588 0.310 0.747 3281 829 1 + 0.629 11.200 28.806 0.588 -0.000 0.809 3281 829 1 + 0.629 12.336 27.105 0.588 0.747 -0.310 3281 829 1 + 0.206 12.646 27.576 0.309 0.951 0.000 3281 829 1 + 0.206 12.567 28.045 0.309 0.900 0.309 3281 829 1 + 0.206 12.341 28.464 0.309 0.751 0.584 3281 829 1 + 0.206 11.991 28.786 0.309 0.520 0.796 3281 829 1 + 0.206 11.555 28.977 0.309 0.233 0.922 3281 829 1 + 0.206 12.567 27.107 0.309 0.900 -0.309 3281 829 1 + -0.264 12.720 27.576 -0.000 1.000 0.000 3281 829 1 + -0.264 12.652 28.024 -0.000 0.956 0.295 3281 829 1 + -0.264 12.456 28.432 -0.000 0.826 0.563 3281 829 1 + -0.264 12.148 28.764 -0.000 0.623 0.782 3281 829 1 + -0.264 11.755 28.991 -0.000 0.365 0.931 3281 829 1 + -0.264 11.314 29.092 -0.000 0.075 0.997 3281 829 1 + -0.264 12.652 27.128 -0.000 0.956 -0.295 3281 829 1 + -0.734 12.646 27.576 -0.309 0.951 0.000 3281 829 1 + -0.734 12.567 28.045 -0.309 0.900 0.309 3281 829 1 + -0.734 12.341 28.464 -0.309 0.751 0.584 3281 829 1 + -0.734 11.991 28.786 -0.309 0.520 0.796 3281 829 1 + -6.736 11.684 16.223 0.500 0.824 0.268 3282 10 1 + -9.265 14.360 17.875 0.966 0.259 0.000 3283 8 1 + -9.265 14.133 18.267 0.966 0.129 0.224 3283 8 1 + -9.265 14.133 17.483 0.966 0.129 -0.224 3283 8 1 + -9.439 14.782 17.875 0.866 0.500 0.000 3283 8 1 + -9.439 14.665 18.312 0.866 0.433 0.250 3283 8 1 + -9.439 14.344 18.633 0.866 0.250 0.433 3283 8 1 + -9.439 14.665 17.438 0.866 0.433 -0.250 3283 8 1 + -9.718 15.144 17.875 0.707 0.707 0.000 3283 8 1 + -9.718 15.050 18.349 0.707 0.653 0.271 3283 8 1 + -9.718 14.782 18.750 0.707 0.500 0.500 3283 8 1 + -9.718 14.381 19.018 0.707 0.271 0.653 3283 8 1 + -9.718 15.050 17.401 0.707 0.653 -0.271 3283 8 1 + -10.080 15.423 17.875 0.500 0.866 0.000 3283 8 1 + -10.080 15.348 18.343 0.500 0.824 0.268 3283 8 1 + -10.080 15.133 18.766 0.500 0.701 0.509 3283 8 1 + -10.080 14.798 19.101 0.500 0.509 0.701 3283 8 1 + -10.080 15.348 17.407 0.500 0.824 -0.268 3283 8 1 + -10.502 15.597 17.875 0.259 0.966 0.000 3283 8 1 + -10.502 15.535 18.331 0.259 0.930 0.261 3283 8 1 + -10.502 15.351 18.753 0.259 0.825 0.502 3283 8 1 + -10.502 15.061 19.110 0.259 0.659 0.706 3283 8 1 + -10.502 14.685 19.376 0.259 0.444 0.858 3283 8 1 + -10.955 15.597 18.328 -0.000 0.966 0.259 3283 8 1 + -10.955 15.423 18.750 -0.000 0.866 0.500 3283 8 1 + -10.955 15.144 19.112 -0.000 0.707 0.707 3283 8 1 + -10.955 14.782 19.391 -0.000 0.500 0.866 3283 8 1 + -10.955 14.360 19.565 -0.000 0.259 0.966 3283 8 1 + -11.408 15.351 18.753 -0.259 0.825 0.502 3283 8 1 + -11.408 15.061 19.110 -0.259 0.659 0.706 3283 8 1 + -11.408 14.685 19.376 -0.259 0.444 0.858 3283 8 1 + -11.408 14.251 19.530 -0.259 0.197 0.946 3283 8 1 + -11.830 14.798 19.101 -0.500 0.509 0.701 3283 8 1 + -11.830 14.375 19.316 -0.500 0.268 0.824 3283 8 1 + -11.830 13.907 19.391 -0.500 -0.000 0.866 3283 8 1 + -11.830 13.439 19.316 -0.500 -0.268 0.824 3283 8 1 + -12.192 14.381 19.018 -0.707 0.271 0.653 3283 8 1 + -12.192 13.907 19.112 -0.707 -0.000 0.707 3283 8 1 + -12.192 13.433 19.018 -0.707 -0.271 0.653 3283 8 1 + -12.192 13.032 18.750 -0.707 -0.500 0.500 3283 8 1 + -12.192 12.764 18.349 -0.707 -0.653 0.271 3283 8 1 + -9.075 14.242 14.670 0.866 0.500 0.000 3284 5 1 + -9.075 14.125 15.108 0.866 0.433 0.250 3284 5 1 + -9.075 14.125 14.233 0.866 0.433 -0.250 3284 5 1 + -9.354 14.604 14.670 0.707 0.707 0.000 3284 5 1 + -9.354 14.510 15.144 0.707 0.653 0.271 3284 5 1 + -9.354 14.510 14.196 0.707 0.653 -0.271 3284 5 1 + -9.716 14.883 14.670 0.500 0.866 0.000 3284 5 1 + -9.716 14.808 15.138 0.500 0.824 0.268 3284 5 1 + -9.716 14.593 13.779 0.500 0.701 -0.509 3284 5 1 + -9.716 14.808 14.202 0.500 0.824 -0.268 3284 5 1 + -10.138 15.057 14.670 0.259 0.966 0.000 3284 5 1 + -10.138 14.521 13.435 0.259 0.659 -0.706 3284 5 1 + -10.138 14.811 13.792 0.259 0.825 -0.502 3284 5 1 + -10.138 14.995 14.214 0.259 0.930 -0.261 3284 5 1 + -10.591 14.604 13.433 -0.000 0.707 -0.707 3284 5 1 + -10.591 14.883 13.795 -0.000 0.866 -0.500 3284 5 1 + -10.591 15.057 14.217 -0.000 0.966 -0.259 3284 5 1 + -11.044 14.521 13.435 -0.259 0.659 -0.706 3284 5 1 + -11.044 14.811 13.792 -0.259 0.825 -0.502 3284 5 1 + -11.466 14.593 13.779 -0.500 0.701 -0.509 3284 5 1 + -11.273 15.981 16.660 0.500 0.866 0.000 3285 7 1 + -11.273 15.912 16.201 0.500 0.828 -0.255 3285 7 1 + -11.707 16.161 16.660 0.259 0.966 0.000 3285 7 1 + -11.707 16.101 17.110 0.259 0.933 0.250 3285 7 1 + -11.707 15.928 15.791 0.259 0.837 -0.483 3285 7 1 + -11.707 16.101 16.210 0.259 0.933 -0.250 3285 7 1 + -12.173 16.222 16.660 -0.000 1.000 0.000 3285 7 1 + -12.173 16.165 17.108 -0.000 0.969 0.249 3285 7 1 + -12.173 15.999 17.527 -0.000 0.876 0.482 3285 7 1 + -12.173 15.734 15.428 -0.000 0.729 -0.685 3285 7 1 + -12.173 15.999 15.793 -0.000 0.876 -0.482 3285 7 1 + -12.173 16.165 16.212 -0.000 0.969 -0.249 3285 7 1 + -12.639 16.161 16.660 -0.259 0.966 0.000 3285 7 1 + -12.639 16.101 17.110 -0.259 0.933 0.250 3285 7 1 + -12.639 15.928 17.529 -0.259 0.837 0.483 3285 7 1 + -12.639 15.651 17.889 -0.259 0.683 0.683 3285 7 1 + -12.639 15.651 15.431 -0.259 0.683 -0.683 3285 7 1 + -12.639 15.928 15.791 -0.259 0.837 -0.483 3285 7 1 + -12.639 16.101 16.210 -0.259 0.933 -0.250 3285 7 1 + -13.073 15.981 16.660 -0.500 0.866 0.000 3285 7 1 + -13.073 15.912 17.119 -0.500 0.828 0.255 3285 7 1 + -13.073 15.710 17.538 -0.500 0.716 0.488 3285 7 1 + -13.073 15.394 17.879 -0.500 0.540 0.677 3285 7 1 + -13.073 14.992 18.111 -0.500 0.316 0.806 3285 7 1 + -13.073 15.394 15.441 -0.500 0.540 -0.677 3285 7 1 + -13.073 15.710 15.782 -0.500 0.716 -0.488 3285 7 1 + -13.073 15.912 16.201 -0.500 0.828 -0.255 3285 7 1 + -13.446 15.695 16.660 -0.707 0.707 0.000 3285 7 1 + -13.446 15.609 17.120 -0.707 0.659 0.255 3285 7 1 + -13.446 15.363 17.517 -0.707 0.523 0.476 3285 7 1 + -13.446 14.989 17.799 -0.707 0.315 0.633 3285 7 1 + -13.446 14.539 17.927 -0.707 0.065 0.704 3285 7 1 + -13.446 14.074 17.884 -0.707 -0.194 0.680 3285 7 1 + -13.446 13.655 17.676 -0.707 -0.426 0.564 3285 7 1 + -13.446 13.340 17.330 -0.707 -0.601 0.372 3285 7 1 + -13.446 14.989 15.521 -0.707 0.315 -0.633 3285 7 1 + -13.446 15.363 15.803 -0.707 0.523 -0.476 3285 7 1 + -13.446 15.609 16.200 -0.707 0.659 -0.255 3285 7 1 + -13.732 15.322 16.660 -0.866 0.500 0.000 3285 7 1 + -13.732 15.201 17.110 -0.866 0.433 0.250 3285 7 1 + -13.732 14.872 17.439 -0.866 0.250 0.433 3285 7 1 + -13.732 14.422 17.560 -0.866 -0.000 0.500 3285 7 1 + -13.732 13.972 17.439 -0.866 -0.250 0.433 3285 7 1 + -13.732 13.643 17.110 -0.866 -0.433 0.250 3285 7 1 + -13.732 14.872 15.881 -0.866 0.250 -0.433 3285 7 1 + -13.732 15.201 16.210 -0.866 0.433 -0.250 3285 7 1 + -13.912 14.888 16.660 -0.966 0.259 0.000 3285 7 1 + -13.912 14.655 17.063 -0.966 0.129 0.224 3285 7 1 + -13.912 14.189 17.063 -0.966 -0.129 0.224 3285 7 1 + -13.912 13.956 16.660 -0.966 -0.259 -0.000 3285 7 1 + -13.912 14.189 16.257 -0.966 -0.129 -0.224 3285 7 1 + -13.912 14.655 16.257 -0.966 0.129 -0.224 3285 7 1 + -13.973 14.422 16.660 -1.000 -0.000 -0.000 3285 7 1 + -9.291 9.856 21.711 -0.000 -0.707 0.707 3286 16 1 + -9.744 12.537 21.352 -0.259 0.825 0.502 3286 16 1 + -9.744 12.247 21.709 -0.259 0.659 0.706 3286 16 1 + -9.744 11.871 21.975 -0.259 0.444 0.858 3286 16 1 + -9.744 11.437 22.129 -0.259 0.197 0.946 3286 16 1 + -9.744 10.978 22.160 -0.259 -0.066 0.964 3286 16 1 + -9.744 10.527 22.067 -0.259 -0.323 0.910 3286 16 1 + -9.744 10.118 21.855 -0.259 -0.557 0.789 3286 16 1 + -9.744 9.782 21.541 -0.259 -0.749 0.610 3286 16 1 + -10.166 12.319 21.365 -0.500 0.701 0.509 3286 16 1 + -10.166 11.984 21.700 -0.500 0.509 0.701 3286 16 1 + -10.166 11.561 21.915 -0.500 0.268 0.824 3286 16 1 + -10.166 11.093 21.990 -0.500 -0.000 0.866 3286 16 1 + -10.166 10.625 21.915 -0.500 -0.268 0.824 3286 16 1 + -10.166 10.202 21.700 -0.500 -0.509 0.701 3286 16 1 + -10.166 9.867 21.365 -0.500 -0.701 0.509 3286 16 1 + -10.528 11.968 21.349 -0.707 0.500 0.500 3286 16 1 + -10.528 11.567 21.617 -0.707 0.271 0.653 3286 16 1 + -10.528 11.093 21.711 -0.707 -0.000 0.707 3286 16 1 + -10.528 10.619 21.617 -0.707 -0.271 0.653 3286 16 1 + -10.528 10.218 21.349 -0.707 -0.500 0.500 3286 16 1 + -10.807 11.829 20.947 -0.866 0.421 0.270 3286 16 1 + -10.807 11.456 21.270 -0.866 0.208 0.455 3286 16 1 + -10.807 10.968 21.340 -0.866 -0.071 0.495 3286 16 1 + -10.807 10.520 21.135 -0.866 -0.327 0.378 3286 16 1 + -10.981 11.319 20.866 -0.966 0.129 0.224 3286 16 1 + -10.981 10.867 20.866 -0.966 -0.129 0.224 3286 16 1 + -11.041 11.093 20.474 -1.000 -0.000 -0.000 3286 16 1 + -6.391 11.318 21.057 1.000 0.000 0.000 3287 17 1 + -6.467 11.797 21.057 0.951 0.309 0.000 3287 17 1 + -6.467 11.557 21.472 0.951 0.155 0.268 3287 17 1 + -6.467 11.079 21.472 0.951 -0.155 0.268 3287 17 1 + -6.467 10.839 21.057 0.951 -0.309 -0.000 3287 17 1 + -6.467 11.079 20.642 0.951 -0.155 -0.268 3287 17 1 + -6.467 11.557 20.642 0.951 0.155 -0.268 3287 17 1 + -6.687 12.229 21.057 0.809 0.588 0.000 3287 17 1 + -6.687 12.107 21.513 0.809 0.509 0.294 3287 17 1 + -6.687 11.774 21.846 0.809 0.294 0.509 3287 17 1 + -6.687 11.318 21.968 0.809 -0.000 0.588 3287 17 1 + -6.687 10.862 21.846 0.809 -0.294 0.509 3287 17 1 + -6.687 10.529 21.513 0.809 -0.509 0.294 3287 17 1 + -6.687 10.407 21.057 0.809 -0.588 -0.000 3287 17 1 + -6.687 10.529 20.601 0.809 -0.509 -0.294 3287 17 1 + -6.687 12.107 20.601 0.809 0.509 -0.294 3287 17 1 + -7.030 12.572 21.057 0.588 0.809 0.000 3287 17 1 + -7.030 12.477 21.537 0.588 0.747 0.310 3287 17 1 + -7.030 12.205 21.944 0.588 0.572 0.572 3287 17 1 + -7.030 11.798 22.216 0.588 0.310 0.747 3287 17 1 + -7.030 11.318 22.311 0.588 -0.000 0.809 3287 17 1 + -7.030 10.838 22.216 0.588 -0.310 0.747 3287 17 1 + -7.030 10.431 21.944 0.588 -0.572 0.572 3287 17 1 + -7.030 10.159 21.537 0.588 -0.747 0.310 3287 17 1 + -7.030 10.064 21.057 0.588 -0.809 -0.000 3287 17 1 + -7.030 12.477 20.577 0.588 0.747 -0.310 3287 17 1 + -7.462 12.792 21.057 0.309 0.951 0.000 3287 17 1 + -7.462 12.712 21.536 0.309 0.900 0.309 3287 17 1 + -7.462 12.481 21.962 0.309 0.751 0.584 3287 17 1 + -7.462 12.124 22.291 0.309 0.520 0.796 3287 17 1 + -7.462 11.680 22.486 0.309 0.233 0.922 3287 17 1 + -7.462 11.196 22.526 0.309 -0.079 0.948 3287 17 1 + -7.462 10.726 22.407 0.309 -0.382 0.871 3287 17 1 + -7.462 10.320 22.142 0.309 -0.644 0.700 3287 17 1 + -7.462 10.022 21.759 0.309 -0.836 0.453 3287 17 1 + -7.462 9.864 21.300 0.309 -0.938 0.157 3287 17 1 + -7.462 12.712 20.578 0.309 0.900 -0.309 3287 17 1 + -7.941 12.868 21.057 -0.000 1.000 0.000 3287 17 1 + -7.941 12.799 21.514 -0.000 0.956 0.295 3287 17 1 + -7.941 12.599 21.930 -0.000 0.826 0.563 3287 17 1 + -7.941 12.284 22.269 -0.000 0.623 0.782 3287 17 1 + -7.941 11.884 22.500 -0.000 0.365 0.931 3287 17 1 + -7.941 11.434 22.603 -0.000 0.075 0.997 3287 17 1 + -7.941 10.973 22.568 -0.000 -0.223 0.975 3287 17 1 + -7.941 10.543 22.399 -0.000 -0.500 0.866 3287 17 1 + -7.941 10.182 22.111 -0.000 -0.733 0.680 3287 17 1 + -8.420 12.481 21.962 -0.309 0.751 0.584 3287 17 1 + -8.420 12.124 22.291 -0.309 0.520 0.796 3287 17 1 + -8.420 11.680 22.486 -0.309 0.233 0.922 3287 17 1 + -8.420 11.196 22.526 -0.309 -0.079 0.948 3287 17 1 diff --git a/examples/demos/entity_to_density.py b/examples/demos/entity_to_density.py new file mode 100644 index 0000000000000000000000000000000000000000..71a9e9a50386821bfb91169c824e0f58d2e7b883 --- /dev/null +++ b/examples/demos/entity_to_density.py @@ -0,0 +1,35 @@ +from ost.mol import alg +# tabula rasa first +scene.RemoveAll() + +# load the fragment +frag=io.LoadPDB('data/1crn.pdb') + +# now let's calculate the size of the map by taking the bounding box of +# the fragment and adding 5 Angstrom on each side. +frag_bounds=frag.bounds +real_size=frag_bounds.max-frag_bounds.min+geom.Vec3(10,10,10) +# We use 2 pixels per Angstroem, so we have to multiply the size by 2. +map_size=img.Size(int(real_size.x)*2, int(real_size.y)*2, int(real_size.z)*2) +den_map=img.CreateImage(map_size) +# we use 2 pixels per Angstrom +den_map.SetSpatialSampling(2) +den_map.SetAbsoluteOrigin(frag_bounds.min-geom.Vec3(5, 5, 5)) + + +# Calculate a density map from the fragment using a simple real-space method: +# +# This function is based on Dimaio et al.,J. Mol. Biol(2009) +# In essence every atom gives rise to a Gaussian centered at the atom's +# position. Sigma and Magnitude of the Gaussian are calculated from the +# atomic mass. +alg.EntityToDensityRosetta(frag.CreateFullView(), den_map, + alg.HIGH_RESOLUTION, 5.0) + +# Create Graphical Representations and add to the Scene +gfx_frag=gfx.Entity('Fragment', gfx.HSC, frag) +gfx_frag.SetColor(gfx.YELLOW) +gfx_map=gfx.MapIso('Density', den_map, 250.0) +scene.Add(gfx_frag) +scene.Add(gfx_map) +scene.CenterOn(gfx_frag) diff --git a/examples/map/gfx_mapslab.py b/examples/demos/gfx_mapslab.py similarity index 91% rename from examples/map/gfx_mapslab.py rename to examples/demos/gfx_mapslab.py index 54ec25a73c2c965ddb9f90cd6a8e1fca0ff5d38b..de59b2e5d1df8ee8386ae75921543139bddefde6 100644 --- a/examples/map/gfx_mapslab.py +++ b/examples/demos/gfx_mapslab.py @@ -1,5 +1,9 @@ import math,random from ost import img + +# remove all objects from scene, just in case +scene.RemoveAll() + vmax=-10000.0 vmin=+10000.0 mh=img.CreateMap(img.Size(32,32,32)) @@ -45,6 +49,9 @@ go1.SetLineWidth(1.5) scene.Add(go1) scene.SetCenter(go1.GetCenter()) + go2 = gfx.MapSlab("slab",mh,geom.Plane(go1.GetCenter(),geom.Vec3(0.0,0.0,1.0))) scene.Add(go2) go2.ColorBy(gfx.YELLOW,gfx.GREEN,0.2,0.8) + +print 'Demo 4: Projecting the density of a map onto a plane...' diff --git a/examples/entity/load_and_display.py b/examples/demos/load_and_display.py similarity index 71% rename from examples/entity/load_and_display.py rename to examples/demos/load_and_display.py index 8ee89b89fd242279ec9e22a53cd97b1c6fe6fdbd..be2783a00f0a7c6c048580ccd0200f95d4c0d919 100644 --- a/examples/entity/load_and_display.py +++ b/examples/demos/load_and_display.py @@ -1,5 +1,7 @@ +# remove all objects from scene, just in case +scene.RemoveAll() # Load chain A of SDH -ent=io.LoadPDB('sdh.pdb', restrict_chains='A') +ent=io.LoadPDB('data/sdh.pdb', restrict_chains='A') # create graphics object go=gfx.Entity('SDH', ent) @@ -14,4 +16,6 @@ go.SetRenderMode(gfx.SIMPLE, sidechains) scene.Add(go) # center the scene on the geometric center of the SDH -scene.CenterOn(go) \ No newline at end of file +scene.CenterOn(go) + +print 'Demo 1: loading and displaying a pdb file' diff --git a/examples/entity/rendermodes.py b/examples/demos/rendermodes.py similarity index 52% rename from examples/entity/rendermodes.py rename to examples/demos/rendermodes.py index 58087b0a58fa39adbb61a0df2456290a294408cc..a7d08937dbf14f950349f6f68b50222a51c5649e 100644 --- a/examples/entity/rendermodes.py +++ b/examples/demos/rendermodes.py @@ -1,5 +1,12 @@ -# load pdb file -eh=io.LoadEntity("sdh.pdb") +# This script shows how to switch between different render modes +# programmatically and change render options. + + +# remove all objects from scene, just in case +scene.RemoveAll() + +# load pdb structure +eh=io.LoadPDB("data/sdh.pdb") sdh_go=gfx.Entity("SDH2", eh.Select("cname=A")) @@ -9,7 +16,7 @@ scene.CenterOn(sdh_go) def Tube(): sdh_go.SetRenderMode(gfx.TUBE) - sdh_go.GetOptions(gfx.TUBE).SetTubeRadius(0.8) + sdh_go.tube_options.SetTubeRadius(0.8) # apply color gradient for the atomic bfactors sdh_go.ColorBy("abfac",gfx.BLUE,gfx.RED) # and apply radius gradient as well @@ -32,15 +39,15 @@ def Cartoon(): sdh_go.SetColor(gfx.Color(1,0,0),"rtype=E") sdh_go.SetDetailColor(gfx.Color(1.0,0.8,0.2),"rtype=E") # these are the default params for the rendering - #sdh_go.GetOptions(gfx.HSC).SetArcDetail(4) # circular profile detail - #sdh_go.GetOptions(gfx.HSC).SetSphereDetail(4) # sphere detail - #sdh_go.GetOptions(gfx.HSC).SetSplineDetail(8) # segments between backbone atoms - #sdh_go.GetOptions(gfx.HSC).SetTubeRadius(0.4) # coil radius - #sdh_go.GetOptions(gfx.HSC).SetTubeRatio(1.0) # coil axial ratio - #sdh_go.GetOptions(gfx.HSC).SetHelixWidth(1.1) # helical width - #sdh_go.GetOptions(gfx.HSC).SetHelixThickness(0.2) # helical thickness - #sdh_go.GetOptions(gfx.HSC).SetStrandWidth(1.2) # strand width - #sdh_go.GetOptions(gfx.HSC).SetStrandThickness(0.2) # strand thickness + #sdh_go.cartoon_options.SetArcDetail(4) # circular profile detail + #sdh_go.cartoon_options.SetSphereDetail(4) # sphere detail + #sdh_go.cartoon_options.SetSplineDetail(8) # segments between backbone atoms + #sdh_go.cartoon_options.SetTubeRadius(0.4) # coil radius + #sdh_go.cartoon_options.SetTubeRatio(1.0) # coil axial ratio + #sdh_go.cartoon_options.SetHelixWidth(1.1) # helical width + #sdh_go.cartoon_options.SetHelixThickness(0.2) # helical thickness + #sdh_go.cartoon_options.SetStrandWidth(1.2) # strand width + #sdh_go.cartoon_options.SetStrandThickness(0.2) # strand thickness Cartoon() -print 'Type Spheres(), Tube(), Trace(), or Cartoon()\n to switch render modes' + diff --git a/examples/misc/the_hammer.py b/examples/demos/the_hammer.py similarity index 95% rename from examples/misc/the_hammer.py rename to examples/demos/the_hammer.py index 11689000889b8c7289b9bad18e338784ef03f400..f6c77ebca38b663fd03b5e922604ccb3a3ef73e8 100644 --- a/examples/misc/the_hammer.py +++ b/examples/demos/the_hammer.py @@ -1,6 +1,10 @@ from PyQt4 import QtCore import math from ost import qa + +# remove all objects from scene, just in case +scene.RemoveAll() + class Anim(QtCore.QTimer): def __init__(self, a, b): QtCore.QTimer.__init__(self) @@ -82,3 +86,5 @@ grad.SetColorAt(0.0, gfx.Color(0.0, 1.0, 0.0)) grad.SetColorAt(0.5, gfx.Color(1.0, 0.0, 1.0)) grad.SetColorAt(1.0, gfx.Color(1.0, 0.0, 0.0)) b_go.ColorBy('clash', gfx.Color(0,1,0), gfx.Color(1,0,0), 0.0, 10.0, mol.Prop.Level.ATOM) +scene.CenterOn(b_go) +print 'Demo 7: Illustrating a clash score' diff --git a/examples/entity/bbox.py b/examples/entity/bbox.py deleted file mode 100644 index f1a3593cda1da3b5ca32bec085e80423460fec05..0000000000000000000000000000000000000000 --- a/examples/entity/bbox.py +++ /dev/null @@ -1,16 +0,0 @@ -sdh=io.LoadPDB('sdh.pdb') -helix=sdh.Select('rnum=99:128 and cname=A and aname=CA,C,N,O') -go=gfx.Entity('helix', gfx.SIMPLE, helix) -scene.Add(go) - -bbox=mol.BoundingBoxFromEntity(helix) - -def RenderBBox(bbox): - bb=gfx.Cuboid('xxx', bbox) - bb.SetFillColor(gfx.Color(0.5, 0.8, 0.5, 0.2)) - scene.Add(bb) - -print 'C1:',(helix.GetGeometricStart()+helix.GetGeometricEnd())*.5 - -RenderBBox(bbox) -scene.center=go.center \ No newline at end of file diff --git a/examples/img/circle.png b/examples/img/circle.png deleted file mode 100644 index 87e380ffaf4071286584078d1461f6c9414fca1b..0000000000000000000000000000000000000000 Binary files a/examples/img/circle.png and /dev/null differ diff --git a/examples/img/fft_li.py b/examples/img/fft_li.py deleted file mode 100644 index f272d4c22f52cd0746db2bb4d4e4e07d1468c0e3..0000000000000000000000000000000000000000 --- a/examples/img/fft_li.py +++ /dev/null @@ -1,13 +0,0 @@ -import sys -import ost.img.alg - -images=io.LoadImageList(sys.argv[1:]) -viewers=[] -i=1 -for im in images: - im.CenterSpatialOrigin() - im.ApplyIP(img.alg.DFT()) - v=gui.CreateDataViewer(im) - v.SetName(sys.argv[i]) - viewers.append(v) - i+=1 diff --git a/examples/misc/ambient_occlusion.py b/examples/misc/ambient_occlusion.py deleted file mode 100644 index 3ed9da4e8c072a70a20e7d02489064c0f0b511fe..0000000000000000000000000000000000000000 --- a/examples/misc/ambient_occlusion.py +++ /dev/null @@ -1,53 +0,0 @@ -def test1(): - global surf - prot=io.LoadPDB("fragment.pdb") - surf=io.LoadSurface("fragment","msms") - surf.Attach(prot,5.0) - scene.Add(gfx.Surface("surf",surf)) - scene["surf"].SetColor(gfx.RED,"ele=O") - scene["surf"].SetColor(gfx.BLUE,"ele=N") - scene.CenterOn("surf") - scene.SetFog(False) - # turn on full contribution from light - scene.SetLightProp(1,1,1) - - # use a material with 10% global ambient light, - # 90% diffuse light, and full specular with small - # hilights - scene["surf"].SetMat(0.1,0.9,1,128) - - # turn on ambient occlusion - # this may take seconds to calculate - scene["surf"].AmbientOcclusion(True) - - # blend the ambient occlusion 100% into the surface, - # reducing the color intensity - scene["surf"].AmbientOcclusionWeight(1) - # blend the local color 30% percent into the surface - scene["surf"].AmbientLocalWeight(0.3) - - scene.AutoAutoslab(False) - scene.Autoslab() - -def test2(): - global plist - plist=gfx.PrimList("t") - plist.AddPoint(geom.Vec3(-1,-1,0), gfx.RED) - plist.AddPoint(geom.Vec3(1,-1,0), gfx.GREEN) - plist.AddPoint(geom.Vec3(1,1,0), gfx.YELLOW) - plist.AddPoint(geom.Vec3(-1,1,0), gfx.BLUE) - plist.AddPoint(geom.Vec3(0,0,4), gfx.MAGENTA) - plist.SetMat(1,1,1,64) - scene.SetLightProp(0,1,0) - plist.SetRadius(1.5) - plist.SetSphereDetail(4) - plist.SetRenderMode(gfx.CUSTOM) - plist.AmbientOcclusion(True) - scene.Add(plist) - scene.CenterOn(plist) - scene.AutoAutoslab(False) - scene.Autoslab() - plist.AmbientOcclusion(True) - - -test1() diff --git a/examples/trj/test_trj_blur.py b/examples/trj/test_trj_blur.py deleted file mode 100644 index dbbab5f8d1676c3febd75beed47b5b849fe3cf44..0000000000000000000000000000000000000000 --- a/examples/trj/test_trj_blur.py +++ /dev/null @@ -1,34 +0,0 @@ -# trajectory generated by Raimund Dutzler -from PyQt4 import QtCore - -class Anim(QtCore.QTimer): - def __init__(self,cg,go): - QtCore.QTimer.__init__(self) - self.cg_=cg - self.go_=go - self.frame_=0 - QtCore.QObject.connect(self, QtCore.SIGNAL("timeout()"), self.OnTimer) - - def OnTimer(self): - self.step() - - def step(self): - self.frame_=(self.frame_+1)%self.cg_.GetFrameCount() - go.BlurSnapshot() - self.cg_.CopyFrame(self.frame_) - go.UpdatePositions() - -cg = io.LoadCHARMMTraj("sample.pdb","sample.dcd") -eh=cg.GetEntity() -ev=eh.Select("not ele=H") -go=gfx.Entity("mol",gfx.SIMPLE, ev) -go.SetBlur(True) - -scene.Add(go) -scene.SetCenter(go.GetCenter()) -scene.AutoAutoslab(True) - -anim=Anim(cg,go) - -print "enter anim.start(10) to start trajectory animation; use anim.stop() to turn it off again." - diff --git a/graphics/favicon.ico b/graphics/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4c6795c6a77acd5b919daa4f4cb3dc7a0ad54e22 Binary files /dev/null and b/graphics/favicon.ico differ diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index dd418e1c256f3c9dcf0c17d24cd732a693db1c05..20e102235b323e0a3b32e531beef75808129b535 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -3,7 +3,8 @@ file(GLOB ALL_FILES *) foreach(fname ${ALL_FILES}) if(NOT ${fname} MATCHES ".*.svn" AND NOT ${fname} MATCHES ".*CMakeFiles" - AND NOT ${fname} MATCHES ".*main") + AND NOT ${fname} MATCHES ".*main" + AND NOT ${fname} MATCHES "doc") if(IS_DIRECTORY ${fname}) add_subdirectory(${fname}) endif() diff --git a/modules/base/doc/base.rst b/modules/base/doc/base.rst new file mode 100644 index 0000000000000000000000000000000000000000..6e0a6caf5f16b2367498e4284a98a1f067be92dd --- /dev/null +++ b/modules/base/doc/base.rst @@ -0,0 +1,7 @@ +:mod:`ost` - OpenStructure Base Module +================================================================================ + +.. toctree:: + + logging + settings diff --git a/modules/base/doc/generic.rst b/modules/base/doc/generic.rst new file mode 100644 index 0000000000000000000000000000000000000000..919497f390775a68deee2fcc973a22f29beace75 --- /dev/null +++ b/modules/base/doc/generic.rst @@ -0,0 +1,168 @@ +Storing Custom Data +================================================================================ + +Introduction +-------------------------------------------------------------------------------- + +.. currentmodule:: ost + +It is often very convenient to store any arbitrary data inside an Entity. A few +examples are: + + * calculated properties of atoms + * sequence conservation of a residue + * interaction energy of a substructure with its surrounding + * fit of a fragment inside an electron density map + +In OpenStructure this is supported by the use of generic properties. Most +building blocks are derived from :class:`~ost.GenericPropertyContainer`, meaning +that arbitrary key-value pairs can be stored in them. In essence, the following +classes support generic properties: + + * :class:`~ost.mol.EntityHandle` and :class:`~ost.mol.EntityView` + * :class:`~ost.mol.ChainHandle` and :class:`~ost.mol.ChainView` + * :class:`~ost.mol.ResidueHandle` and :class:`~ost.mol.ResidueView` + * :class:`~ost.mol.AtomHandle` and :class:`~ost.mol.AtomView` + * :class:`~ost.mol.BondHandle` + * :class:`~ost.seq.SequenceHandle` and :class:`~ost.seq.AlignmentHandle` + +The view variants will reflect the generic properties of the handle variants. + +A generic property key is always a string, and a value can be one of string, +float, int or bool. For each of these data types, methods to retrieve and store +values are available both in Python and C++. + +Storing and Accessing Data +-------------------------------------------------------------------------------- + +All OpenStructure building blocks that are :class:`~ost.GenericPropContainers`, +have four different methods to store generic data, depending on the data type +(i.e. string, float, int or bool). + +To store a float value with the key 'myfloatprop' in all atoms of an entity: + +.. code-block:: python + + import math + for atom in entity.GetAtomList(): + val=5*math.sin(0.4*atom.GetPos().x) + atom.SetFloatProp("myfloatprop", val) + +If a GenericProp at a given level (i.e. atom, bond, residue, chain or entity) +already exists, it will be overwritten. To check if it exists, use: + +.. code-block:: python + + exists=atom.HasProp("myfloatprop") + print exists + +To access the value of a generic property, we first check if the property exists +and then access it, using the method suitable for the data type of the property. +For the previously set property `myfloatprop` of the data type real, at the atom +level: + +.. code-block:: python + + for atom in entity.GetAtomList(): + if atom.HasProp("myfloatprop"): + print atom.GetFloatProp("myfloatprop") + +When trying to access a property that has not been set, or one that has been +set, but at a different level, an error is thrown. The same is true when trying +to access a property of a different data type, e.g.: + +.. code-block:: python + + # all of the following lines will throw errors + # error because the property does not exist + print atom.GetFloatProp("unknownprop") + + # error because the property was set at another level + print entity.GetFloatProp("myfloatprop") + + # error because the data type of the property is different + print atom.GetStringProp("myfloatprop") + + +Use of Generic Properties in Queries +-------------------------------------------------------------------------------- + +The :doc:`../mol/base/query` can also be used for numeric generic properties +(i.e. bool, int, float), but the syntax is slightly different. To access any +generic properties, it needs to be specified that they are generic and at which +level (chain, residue, atom) they are defined. Therefore, all generic properties +start with a 'g', followed by an 'a', 'r' or 'c' for atom, residue or chain +level respectively. For more details see :doc:`../mol/base/query`. + + +API documentation +-------------------------------------------------------------------------------- + +.. class:: GenericPropertyContainer + + .. method:: HasProp(key) + + checks existence of property. Returns true, if the the class contains a + property with the given name, false if not. + + .. method:: GetPropAsString(key) + + Returns the string representation of a property, or the empty String if + the property addressed by key does not exist. Note that this is not the + same as trying to get a generic float/int/bool property as a string type; + the latter will result in a boost:get exception. Use this method to obtain + a representation suitable for output. + + .. method:: GetStringProp(key) + GetStringProp(key, default_value) + + Get string property. The first signature raises a GenericPropError error if + the property does not exist, the second returns the default value. + + + .. method:: GetFloatProp(key) + GetFloatProp(key, default_value) + + Get float property. The first signature raises a GenericPropError error if + the property does not exist, the second returns the default value. + + + .. method:: GetIntProp(key) + GetIntProp(key, default_value) + + Get int property. The first signature raises a GenericPropError error if + the property does not exist, the second returns the default value. + + .. method:: GetBoolProp(key) + GetBoolProp(key, default_value) + + Get bool property. The first signature raises a GenericPropError error if + the property does not exist, the second returns the default value. + + .. method:: ClearProps() + + Remove all generic properties + + + .. method:: SetStringProp(key, value) + + Set string property, overriding an existing property with the same name + + .. method:: SetFloatProp(key, value) + + Set float property, overriding an existing property with the same name + + .. method:: SetIntProp(key, value) + + Set int property, overriding an existing property with the same name + + .. method:: SetBoolProp(key, value) + + Set bool property, overriding a property with the same name + + .. method:: RemoveProp(key) + + Removes the property with given key, regardless of its type. If the property + does not exist, the method has no effect. + + diff --git a/modules/base/doc/logging.rst b/modules/base/doc/logging.rst new file mode 100644 index 0000000000000000000000000000000000000000..1a81d479490ced8accd47006543a4c9c247b6749 --- /dev/null +++ b/modules/base/doc/logging.rst @@ -0,0 +1,193 @@ +Logging +================================================================================ + +.. currentmodule:: ost + +OpenStructure has a logging system going beyond what print statements can offer. Messages can be logged to the terminal to the graphical user interface or a file. Depending on the needs, groups of messages can be turned and off. + +.. function:: LogError(message) + LogWarning(message) + LogInfo(message) + LogVerbose(message) + + Add a message to the log. For the choice of the appropriate logging level, + see :ref:`picking-logging-level`. + + :param message: The message to be logged + :type message: str + +.. note:: + + In C++, the logging facility is implemented as a set of macros, called + `LOG_ERROR`, `LOG_WARNING`, `LOG_SCRIPT`, `LOG_INFO`, `LOG_VERBOSE`, + `LOG_DEBUG` and `LOG_TRACE`. The last two are only active when compiling with + debugging symbols. When debugging symbols are off, they expand to an empty + macro and thus don't create any overhead. + + +Verbosity Level +-------------------------------------------------------------------------------- + +You can change the verbosity level with the following two methods: + +.. function:: PushVerbosityLevel(verbosity) + + Change the verbosity level to the given integer value. All log events + which have a severity above verbosity will be ignored. By default, the log + level is 2, meaning that errors, warnings and script logging events are + visible. + + :type verbosity: :class:`int` + +.. function:: PopVerbosityLevel() + + Change the log level back to the previous verbosity level. It is an error to + pop the verbosity level without a matching call to + :func:`PushVerbosityLevel`. + +Log sinks +-------------------------------------------------------------------------------- + +When running OpenStructure from the command-line, the log messages are by +default output to stderr. When running DNG, the log messages are additionally +logged to the messages widget. However, it is also possible to log into a file +or theoretically even to a remote computer. All these are instances of so-called +log sinks: classes that derive from LogSink and implement the LogMessage method. + + +.. class:: LogSink + + .. method:: LogMessage(message, severity) + + This method is called whenever something gets logged. This method must be + implemented by all subclasses. + + :param message: The logged message + + :type message: :class:`str` + + :param severity: Marks how severe the logged message is. Errors have + severity 0, warnings 1 etc. + + :type severity: :data:`int` + +For convenience, there are 3 LogSink implementations available in OpenStructure that are sufficient for most use cases. + +.. class:: FileLogSink(filename) + + The FileLogSink logs all messages into the given file. + + :param filename: The filename + :type filename: :class:`str` + +.. class:: StreamLogSink(stream) + + The stream log sink writes all log messages to the stream. stream must have a + write method that accepts a string. To write messages to stderr, use + + .. code-block:: python + + stderr_sink=ost.StreamLogSink(sys.stderr) + ost.PushLogSink(stderr_sink) + ost.LogInfo('Welcome, master') + +.. class:: MultiLogSink + + A LogSink for multiplexing the log messages into multiple sinks at the same + time, e.g. the terminal and the messages widget. + + .. method:: AddSink(sink) + + Add a new sink. The sink's :meth:`LogSink.LogMessage` method will be called + every time something gets logged. + + :type sink: :class:`~ost.LogSink` + :param sink: the log sink to be added + + .. method:: RemoveSink(sink) + + Remove the given sink. If the doesn't exist, this method has no effect. + + :type sink: :class:`~ost.LogSink` + :param sink: the log sink to be removed + + +To change the current log sink you can use the following methods: + +.. method:: PushLogSink(sink) + + Push the new sink onto the log sink stack. All of the messages will now be + logged to the new sink. To switch back to the previous log sink, use + :func:`PopLogSink`. + +.. method:: PopLogSink() + + Change the log sink back to the previous one. It is an error to pop the log + sink when there is only one log sink on the stack. + +.. _picking-logging-level: + +Guidelines for picking logging level +-------------------------------------------------------------------------------- + +Each logging event has an associated level that marks its importance. For example, users should always see errors, but they do not need to see detailed information on the loading process. Here is a list of guidelines that we use in the code. We encourage developers to adhere to these guidelines as closely as possible. + +ERROR: + Cannot be silenced, very important message to the user, some command did not + complete as expected or was aborted. + +WARNING: + Diagnose potential problems that do not abort the execution, but may + point to a misconfiguration/misuse. This level is turned on by default. + +SCRIPT: + Logging level that should be used from scripts, e.g. to report progress. These + logging messages are turned on by default. + +INFO: + Informative and important messages that summarize a complex command, such as + information on a loaded file, or results from an algorithm. These logging + messages are not turned on by default. + +VERBOSE: + Grey-zone between user and developer need, and perhaps the hardest to get + right. This is the lowest logging level users will be able to see when they + use an optimized build. An example for this is the OpenGL setup/info in gfx, + or the path search during startup, or more detailed info on file IO. These + messages are not turned on by default. + +DEBUG: + For developers, but not quite at the trace level. This level is turned off by + default, not available in Python and only enabled when compiling with + debugging symbols. + +TRACE: + Used to debug inner loops. Once turned on, you will probably get more debug + output that you will be able to handle. This level is turned off by default, + not available in python and only enabled when compiling with debugging + symbols. + + +Example +-------------------------------------------------------------------------------- + +The following snippet explains how to create a custom log sink which logs to the +terminal (or the python shell in DNG). The logger also prints the current time. + +.. code-block:: python + + import datetime + class PyLogger(ost.LogSink): + def __init__(self): + ost.LogSink.__init__(self) + + def LogMessage(self, message, severity): + levels=['ERROR', 'WARNING', 'SCRIPT', 'INFO', + 'VERBOSE', 'DEBUG', 'TRACE'] + level=levels[severity] + print '%s[%s]: %s' % (level, str(datetime.datetime.now()), message), + + py_logger=PyLogger() + ost.PushLogSink(py_logger) + + ost.LogInfo("amazing logging system") \ No newline at end of file diff --git a/modules/base/doc/settings.rst b/modules/base/doc/settings.rst new file mode 100644 index 0000000000000000000000000000000000000000..8ba0ffc3786c1be74b85077fde007b696a85f50d --- /dev/null +++ b/modules/base/doc/settings.rst @@ -0,0 +1,6 @@ +:mod:`ost.settings` - Locate Files and Retrieve Preferences +================================================================================ + +.. automodule:: ost.settings + :synopsis: Helper Functions to Locate Files and Retrieve Preferences + :members: diff --git a/modules/base/pymod/CMakeLists.txt b/modules/base/pymod/CMakeLists.txt index 4eb36a9147d7d83b081d05f4abeb3ca0a2868467..22700288ae061f64b45fb741e13b5044b2bf8977 100644 --- a/modules/base/pymod/CMakeLists.txt +++ b/modules/base/pymod/CMakeLists.txt @@ -7,4 +7,4 @@ set(OST_BASE_PYMOD_SOURCES pymod(NAME base OUTPUT_DIR ost CPP ${OST_BASE_PYMOD_SOURCES} - PY __init__.py settings.py) + PY __init__.py settings.py stutil.py) diff --git a/modules/base/pymod/__init__.py b/modules/base/pymod/__init__.py index 3d2137f7e76f6a66a8cf2041319d801742fafedf..c6d7a8ec17b8085fb4412236f0bfbbf5f6cc648f 100644 --- a/modules/base/pymod/__init__.py +++ b/modules/base/pymod/__init__.py @@ -17,6 +17,7 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #------------------------------------------------------------------------------ from _base import * +from stutil import * from ost import geom from ost import io @@ -35,3 +36,10 @@ try: except ImportError: pass + +class StreamLogSink(LogSink): + def __init__(self, stream): + LogSink.__init__(self) + self._stream=stream + def LogMessage(self, message, level): + self._stream.write(message) diff --git a/modules/base/pymod/export_logger.cc b/modules/base/pymod/export_logger.cc index b385742e744fea3f056ec84db24317ac1038d748..4c2b79b20f3b95dcdf8f0576a3bd166c49916a37 100644 --- a/modules/base/pymod/export_logger.cc +++ b/modules/base/pymod/export_logger.cc @@ -20,11 +20,32 @@ using namespace boost::python; #include <ost/log.hh> +#include <ost/log_sink.hh> +#include <ost/dyn_cast.hh> + using namespace ost; namespace { +struct WrappedLogSink : public LogSink { + WrappedLogSink(PyObject* self): self_(self) + { } + virtual void LogMessage(const String& message , int severity) + { + call_method<void>(self_, "LogMessage", message, severity); + } + + void LogMessageDefault(const String& message, int severity) + { + } + PyObject* self_; +}; + + + +typedef boost::shared_ptr<WrappedLogSink> WrappedLogSinkPtr; + void push_verb(int n) { if(n<0){ @@ -39,21 +60,66 @@ void pop_verb() Logger::Instance().PopVerbosityLevel(); } -void log_error(const String& m) {LOGN_MESSAGE(m);} -void log_message(const String& m) {LOGN_MESSAGE(m);} -void log_verbose(const String& m) {LOGN_VERBOSE(m);} -void log_debug(const String& m) {LOGN_DEBUG(m);} +void push_log_sink(LogSinkPtr sink) +{ + Logger::Instance().PushSink(sink); +} +void pop_log_sink() +{ + Logger::Instance().PopSink(); +} + + +void log_error(const String& m) {LOG_ERROR(m);} +void log_warning(const String& m) {LOG_WARNING(m);} +void log_script(const String& m) {LOG_SCRIPT(m);} +void log_info(const String& m) {LOG_INFO(m);} +void log_verbose(const String& m) {LOG_VERBOSE(m);} + + +void reset_sinks() +{ + Logger::Instance().ResetSinks(); +} } void export_Logger() { - + class_<LogSink, WrappedLogSinkPtr, + boost::noncopyable>("LogSink") + .def("LogMessage", &WrappedLogSink::LogMessageDefault) + ; + + class_<MultiLogSink, MultiLogSinkPtr, bases<LogSink>, + boost::noncopyable >("MultiLogSink", init<>()) + .def("AddSink",&MultiLogSink::AddSink) + .def("RemoveSink",&MultiLogSink::RemoveSink) + .def("LogMessage", &MultiLogSink::LogMessage) + ; + + class_<FileLogSink, FileLogSinkPtr, bases<LogSink>, + boost::noncopyable >("FileLogSink", init<const String&>()) + .def("LogMessage", &FileLogSink::LogMessage) + ; + def("PushVerbosityLevel",push_verb); def("PopVerbosityLevel",pop_verb); - + def("PushLogSink",push_log_sink); + def("PopLogSink",pop_log_sink); def("LogError",log_error); - def("LogMessage",log_message); - def("LogVerbose",log_verbose); - def("LogDebug",log_debug); + def("LogWarning",log_warning); + def("LogInfo",log_info); + def("LogScript", log_script); + def("LogVerbose", log_verbose); + + // this relatively ugly construct is required to work around a problem with + // the "ost" command-line interpreter. If we don't remove all the sinks from + // the sink stack, we will get "Fatal Python error: PyEval_SaveThread: + // NULL tstate" upon exiting ost. I don't completely understand why, though. + scope().attr("__dict__")["atexit"]=import("atexit"); + + def("_reset_sinks", &reset_sinks); + object r=scope().attr("_reset_sinks"); + scope().attr("atexit").attr("register")(r); } diff --git a/modules/base/pymod/settings.py b/modules/base/pymod/settings.py index 1740c3287dace8d503aa93f801c763ba9384dfa5..56bf46b4aeedf36cfcd471390cf361860608682e 100644 --- a/modules/base/pymod/settings.py +++ b/modules/base/pymod/settings.py @@ -1,14 +1,15 @@ -import os +import os, platform import __main__ def GetValue(val_key,val_default=None,prefix='OST'): - ''' + """ Returns the value of the variable val_key if defined, otherwise returns the default value provided by the user (if provided). Search order: - 1) environment variable called $prefix_$val_key - 2) variable called val_key in .dngrc file - ''' + + * environment variable called $prefix_$val_key + * variable called val_key in .ostrc file + """ if prefix: env_var_name='%s_%s' % (prefix, val_key) else: @@ -24,6 +25,12 @@ def GetValue(val_key,val_default=None,prefix='OST'): return val_default class FileNotFound(RuntimeError): + """ + Raised when :func:`Locate` is unable to locate a file. The exception contains + detailed information on what was tried to locate the file, i.e. search paths, + environment variables and also provides useful hints on how to let Locate know + where to find the file. + """ def __init__(self, name, reason): self.name=name self.reason=reason @@ -33,22 +40,26 @@ class FileNotFound(RuntimeError): def Locate(file_name, explicit_file_name=None, search_paths=[], env_name=None, search_system_paths=True): """ - Helper function to locate files. To get the full name of - an executable, let's say qmake, use + Helper function to locate files. To get the full name of an executable, let's + say qmake, use + + .. code-block:: python - abs_qmake_path=Locate('qmake', env_name='QMAKE_EXECUTABLE') + abs_qmake_path=Locate('qmake', env_name='QMAKE_EXECUTABLE') - First the function checks if an environment variable with the - name QMAKE_EXECUTABLE is set. If so, the value of this variable - is returned. Next, each directory listed in search_paths is - searched. If the executable could still not be found and - search_system_paths is set to True, the binary search paths are - searched. + First the function checks if an environment variable with the name + QMAKE_EXECUTABLE is set. If so, the value of this variable is returned. Next, + each directory listed in search_paths is searched. If the executable could + still not be found and search_system_paths is set to True, the binary search + paths are searched. - If the file could not be located, a FileNotFound exception will be raised - containing a detail description why Locate failed. The error message is - formatted in such a way that it can directly be presented to the user. + If the file could not be located, a :exc:`~ost.settings.FileNotFound` + exception will be raised containing a detail description why Locate failed. The + error message is formatted in such a way that it can directly be presented to + the user. """ + def _is_executable(filename): + return os.path.exists(filename) and os.access(filename, os.X_OK) if type(file_name) is str: file_names=[file_name] else: @@ -57,14 +68,14 @@ def Locate(file_name, explicit_file_name=None, search_paths=[], epxl_inexistent='explicitly set file "%s" does not exist' set_env_var='set the environment variable %s to the absolute path to %s or ' if explicit_file_name: - if os.path.exists(explicit_file_name): + if _is_executable(explicit_file_name): return explicit_file_name else: raise FileNotFound(file_name, epxl_inexistent % explicit_file_name) if env_name: file_env_name=os.getenv(env_name, None) if file_env_name: - if os.path.exists(file_env_name): + if _is_executable(file_env_name): return file_env_name else: raise FileNotFound(file_name, @@ -73,16 +84,19 @@ def Locate(file_name, explicit_file_name=None, search_paths=[], for search_path in search_paths: for file_name in file_names: full_file_name=os.path.join(search_path, file_name) - if os.path.exists(full_file_name): + if _is_executable(full_file_name): return full_file_name if search_system_paths: paths=os.getenv('PATH') - searched+=paths.split(':') + if platform.system() == "Windows": + searched+=paths.split(';') + else: + searched+=paths.split(':') for path in searched: for file_name in file_names: full_file_name=os.path.join(path, file_name) - if os.path.exists(full_file_name): + if _is_executable(full_file_name): return full_file_name msg='' if len(searched)>0: diff --git a/modules/base/pymod/stutil.py b/modules/base/pymod/stutil.py new file mode 100644 index 0000000000000000000000000000000000000000..75bb922485ac2239d0158b3ba80a33cc05976990 --- /dev/null +++ b/modules/base/pymod/stutil.py @@ -0,0 +1,105 @@ +import math +from ost import mol + +def FloatValueExtract(func): + """ + Decorator to wrap functions that take a list of float values. In addition to + passing in a list of float values directly, it is possible to extract the + values from attributes or generic properties. + """ + def _dec(xs, prop=None, attr=None): + if prop!=None: + if len(xs)==0: + return func([]) + assert attr==None + level=mol.Prop.Level.UNSPECIFIED + if isinstance(xs[0], mol.AtomBase): + level=mol.Prop.Level.ATOM + elif isinstance(xs[0], mol.ResidueBase): + level=mol.Prop.Level.RESIDUE + elif isinstance(xs[0], mol.ChainBase): + level=mol.Prop.Level.CHAIN + epm=mol.EntityPropertyMapper(prop, level) + vals=[] + for x in xs: + try: + vals.append(epm.Get(x)) + except: + pass + return func(vals) + if attr!=None: + vals=[] + for x in xs: + try: + vals.append(getattr(x, attr)) + except: + pass + return func(vals) + return func(xs) + return _dec + +@FloatValueExtract +def Mean(xs): + """ + Calculate mean of dataset + """ + if len(xs)==0: + raise RuntimeError("Can't calculate mean of empty sequence") + return sum(xs)/len(xs) + +@FloatValueExtract +def StdDev(xs): + """ + Calculate standard-deviation of dataset + + | sum[xi-<x>]^2 | + sigma=sqrt|---------------| + | n | + """ + mean=Mean(xs) + return math.sqrt(sum([(x-mean)**2 for x in xs])/len(xs)) + +@FloatValueExtract +def Min(xs): + return min(xs) + +@FloatValueExtract +def Max(xs): + return max(xs) + +def Correl(xs, ys): + """ + Calculates the correlation coefficient between xs and ys as + + sum[(xi-<x>)*(yi-<y>)] + r=---------------------- + (n-1)*sx*sy + + where <x>, <y> are the mean of dataset xs and ys, and, sx and sy are the + standard deviations. + """ + if len(xs)!=len(ys): + raise RuntimeError("Can't calculate correl. Sequence lengths do not match.") + if len(xs)==1: + raise RuntimeError("Can't calculate correl of sequences with length 1.") + mean_x=Mean(xs) + mean_y=Mean(ys) + sigma_x, sigma_y=(0.0, 0.0) + cross_term=0.0 + for x, y in zip(xs, ys): + cross_term+=(x-mean_x)*(y-mean_y) + sigma_x+=(x-mean_x)**2 + sigma_y+=(y-mean_y)**2 + sigma_x=math.sqrt(sigma_x/len(xs)) + sigma_y=math.sqrt(sigma_y/len(ys)) + return cross_term/((len(xs)-1)*sigma_x*sigma_y) + +def Histogram(xs, bounds, num_bins): + bins=[0 for i in range(num_bins)] + d=1.0*num_bins/(bounds[1]-bounds[0]) + for x in xs: + index=int((x-bounds[0])*d) + if index>num_bins-1 or index<0: + continue + bins[index]+=1 + return bins diff --git a/modules/base/pymod/wrap_base.cc b/modules/base/pymod/wrap_base.cc index c3dd609ecfcaca8ba873cf6d83a49f30c27c12cc..20a6668cbedd99e9137d31c51ccf6de0ac2c515e 100644 --- a/modules/base/pymod/wrap_base.cc +++ b/modules/base/pymod/wrap_base.cc @@ -16,12 +16,13 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <vector> - #include <boost/python.hpp> #include <boost/python/suite/indexing/vector_indexing_suite.hpp> +#include <vector> +#include <ost/export_helper/vector.hh> #include <ost/base.hh> #include <ost/platform.hh> +#include <ost/message.hh> using namespace boost::python; @@ -30,16 +31,35 @@ void export_GenericProp(); void export_Range(); void export_Units(); +// exception translator +void translator(const ost::Error& x) { + PyErr_SetString(PyExc_Exception, x.what() ); +} + + BOOST_PYTHON_MODULE(_base) { + register_exception_translator<ost::Error>(&translator); + def("SetPrefixPath", &ost::SetPrefixPath); def("GetPrefixPath", &ost::GetPrefixPath); def("GetSharedDataPath", &ost::GetSharedDataPath); export_Logger(); export_Range(); export_Units(); + typedef std::vector<Real> FloatList; + class_<FloatList>("FloatList", init<>()) + .def(vector_indexing_suite<FloatList>()) + .def(ost::VectorAdditions<FloatList>()) + ; class_<std::vector<String> >("StringList", init<>()) .def(vector_indexing_suite<std::vector<String> >()) + ; + + typedef std::vector<int> IntList; + class_<std::vector<int> >("IntList", init<>()) + .def(vector_indexing_suite<std::vector<int> >()) + .def(ost::VectorAdditions<IntList>()) ; } diff --git a/modules/base/src/CMakeLists.txt b/modules/base/src/CMakeLists.txt index 386e9d920a5f23f59dd187bc0d25e6db7d3faac2..4836b0896db66c48a37069196cd3fab6a8ff0393 100644 --- a/modules/base/src/CMakeLists.txt +++ b/modules/base/src/CMakeLists.txt @@ -1,6 +1,7 @@ set(OST_BASE_SOURCES generic_property.cc log.cc +log_sink.cc profile.cc units.cc string_ref.cc @@ -15,6 +16,7 @@ integrity_error.hh invalid_handle.hh ptr_observer.hh log.hh +log_sink.hh profile.hh dyn_cast.hh stdint.hh @@ -33,6 +35,7 @@ tri_matrix.hh set(OST_EXPORT_HELPERS generic_property_def.hh pair_to_tuple_conv.hh +vector.hh ) module(NAME base SOURCES ${OST_BASE_SOURCES} HEADERS ${OST_EXPORT_HELPERS} IN_DIR export_helper diff --git a/modules/base/src/export_helper/generic_property_def.hh b/modules/base/src/export_helper/generic_property_def.hh index 3203bc19876f70e349032f78581d34843756aaa0..785bcce900b6ab8ee2f5eca3aeb68d5c87923695 100644 --- a/modules/base/src/export_helper/generic_property_def.hh +++ b/modules/base/src/export_helper/generic_property_def.hh @@ -28,105 +28,105 @@ template <typename C> String depr_get_string_a(C& c, const String& k, const String& v) { - LOGN_MESSAGE("GetGenericStringProperty is deprecated. Use GetStringProp"); + WARN_DEPRECATED("GetGenericStringProperty is deprecated. Use GetStringProp"); return c.GetStringProp(k, v); } template <typename C> String depr_get_string_b(C& c, const String& k) { - LOGN_MESSAGE("GetGenericStringProperty is deprecated. Use GetStringProp"); + WARN_DEPRECATED("GetGenericStringProperty is deprecated. Use GetStringProp"); return c.GetStringProp(k); } template <typename C> void depr_set_string(C& c, const String& k, const String& v) { - LOGN_MESSAGE("SetGenericStringProperty is deprecated. Use SetStringProp"); + WARN_DEPRECATED("SetGenericStringProperty is deprecated. Use SetStringProp"); return c.SetStringProp(k, v); } template <typename C> int depr_get_int_a(C& c, const String& k, const int& v) { - LOGN_MESSAGE("GetGenericIntProperty is deprecated. Use GetIntProp"); + WARN_DEPRECATED("GetGenericIntProperty is deprecated. Use GetIntProp"); return c.GetIntProp(k, v); } template <typename C> int depr_get_int_b(C& c, const String& k) { - LOGN_MESSAGE("GetGenericIntProperty is deprecated. Use GetIntProp"); + WARN_DEPRECATED("GetGenericIntProperty is deprecated. Use GetIntProp"); return c.GetIntProp(k); } template <typename C> void depr_set_int(C& c, const String& k, const int& v) { - LOGN_MESSAGE("SetGenericIntProperty is deprecated. Use SetIntProp"); + WARN_DEPRECATED("SetGenericIntProperty is deprecated. Use SetIntProp"); return c.SetIntProp(k, v); } template <typename C> bool depr_get_bool_a(C& c, const String& k, const bool& v) { - LOGN_MESSAGE("GetGenericBoolProperty is deprecated. Use GetBoolProp"); + WARN_DEPRECATED("GetGenericBoolProperty is deprecated. Use GetBoolProp"); return c.GetBoolProp(k, v); } template <typename C> bool depr_get_bool_b(C& c, const String& k) { - LOGN_MESSAGE("GetGenericBoolProperty is deprecated. Use GetBoolProp"); + WARN_DEPRECATED("GetGenericBoolProperty is deprecated. Use GetBoolProp"); return c.GetBoolProp(k); } template <typename C> void depr_set_bool(C& c, const String& k, const bool& v) { - LOGN_MESSAGE("SetGenericBoolProperty is deprecated. Use SetBoolProp"); + WARN_DEPRECATED("SetGenericBoolProperty is deprecated. Use SetBoolProp"); return c.SetBoolProp(k, v); } template <typename C> Real depr_get_float_a(C& c, const String& k, const float& v) { - LOGN_MESSAGE("GetGenericFloatProperty is deprecated. Use GetFloatProp"); + WARN_DEPRECATED("GetGenericFloatProperty is deprecated. Use GetFloatProp"); return c.GetFloatProp(k, v); } template <typename C> Real depr_get_float_b(C& c, const String& k) { - LOGN_MESSAGE("GetGenericFloatProperty is deprecated. Use GetFloatProp"); + WARN_DEPRECATED("GetGenericFloatProperty is deprecated. Use GetFloatProp"); return c.GetFloatProp(k); } template <typename C> void depr_set_float(C& c, const String& k, const Real& v) { - LOGN_MESSAGE("SetGenericFloatProperty is deprecated. Use SetFloatProp"); + WARN_DEPRECATED("SetGenericFloatProperty is deprecated. Use SetFloatProp"); return c.SetFloatProp(k, v); } template <typename C> void depr_clear_props(C& c) { - LOGN_MESSAGE("ClearGenericProperties is deprecated. Use ClearProps"); + WARN_DEPRECATED("ClearGenericProperties is deprecated. Use ClearProps"); c.ClearProps(); } template <typename C> bool depr_has_prop(C& c, const String& k) { - LOGN_MESSAGE("HasGenericProperty is deprecated. Use HasProp"); + WARN_DEPRECATED("HasGenericProperty is deprecated. Use HasProp"); return c.HasProp(k); } template <typename C> String depr_prop_as_string(C& c, const String& k) { - LOGN_MESSAGE("GetGenericPropertyStringRepresentation is deprecated. Use GetPropAsString"); + WARN_DEPRECATED("GetGenericPropertyStringRepresentation is deprecated. Use GetPropAsString"); return c.GetPropAsString(k); } @@ -185,6 +185,7 @@ void generic_prop_def(O& bp_class) .def("SetGenericFloatProperty", &depr_set_float<C>) .def("SetGenericBoolProperty", &depr_set_bool<C>) .def("SetGenericStringProperty", &depr_set_string<C>) + .def("RemoveProp", &C::RemoveProp) ; } diff --git a/modules/base/src/export_helper/vector.hh b/modules/base/src/export_helper/vector.hh new file mode 100644 index 0000000000000000000000000000000000000000..0b262bf5561aac5523112c0ad34cd2c4b4e0e776 --- /dev/null +++ b/modules/base/src/export_helper/vector.hh @@ -0,0 +1,46 @@ +#ifndef OST_EXPORT_HELPER_VECTOR_HH +#define OST_EXPORT_HELPER_VECTOR_HH + +# include <boost/python/def_visitor.hpp> + +/* + Author: Marco Biasini + */ + +namespace ost { + + +template <typename Container> +class VectorAdditions : + public boost::python::def_visitor<VectorAdditions<Container> > { +public: + template <class Class> + void visit(Class& cl) const + { + cl + .def("__str__", &to_string) + ; + } +private: + static std::string to_string(Container& cl) + { + std::stringstream ss; + ss << "["; + bool first=true; + for (typename Container::const_iterator + i=cl.begin(), e=cl.end(); i!=e; ++i) { + if (first) { + first=false; + } else { + ss << ", "; + } + ss << (*i); + } + ss << "]"; + return ss.str(); + } +}; + +} + +#endif diff --git a/modules/base/src/generic_property.hh b/modules/base/src/generic_property.hh index 4ea8d3253cf16236f69e47c84e91d5732f48c987..12e53932e1ad7217bb50d7eefdded0733cc7e5c3 100644 --- a/modules/base/src/generic_property.hh +++ b/modules/base/src/generic_property.hh @@ -34,6 +34,7 @@ #include <boost/variant.hpp> #include <ost/module_config.hh> +#include <ost/invalid_handle.hh> namespace ost { @@ -102,6 +103,12 @@ public: } } + void RemoveProp(const String& key) + { + if (map_) { + map_->erase(key); + } + } void Assign(const GenericPropContainerImpl& impl) { if (impl.map_) { @@ -159,9 +166,11 @@ protected: { return static_cast<const H*>(this)->GpImpl(); } + public: /// \brief checks existence of property bool HasProp(const String& key) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->GetImpl()->HasProp(key); } @@ -174,6 +183,7 @@ public: /// a representation suitable for output. String GetPropAsString(const String& key) const { + CheckHandleValidity(*static_cast<const H*>(this)); if(!HasProp(key)) return ""; std::ostringstream rep(""); rep << this->GetImpl()->GenericProp(key); @@ -182,6 +192,7 @@ public: /// \brief returns String property, raises an exception if it does not exist String GetStringProp(const String& key) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->gp_get<String>(key); } @@ -189,6 +200,7 @@ public: /// not exist Real GetFloatProp(const String& key) const { + CheckHandleValidity(*static_cast<const H*>(this)); if(HasProp(key)) { GenericPropValue value=this->GetImpl()->GenericProp(key); if (value.which()==1) { @@ -210,18 +222,21 @@ public: /// \brief returns integer property, raises an exception if it does not exist int GetIntProp(const String& key) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->gp_get<int>(key); } /// \brief returns boolean property, raises an exception if it does not exist bool GetBoolProp(const String& key) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->gp_get<bool>(key); } /// \brief returns String property, or the given default if it does not exist String GetStringProp(const String& key, const String& def) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->gp_get<String>(key,def); } @@ -229,6 +244,7 @@ public: /// not exist Real GetFloatProp(const String& key, Real def) const { + CheckHandleValidity(*static_cast<const H*>(this)); if(this->HasProp(key)) { GenericPropValue value=GetImpl()->GenericProp(key); if (value.which()==1) { @@ -247,17 +263,20 @@ public: /// \brief returns integer property, or the given default if it does not exist int GetIntProp(const String& key, int def) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->gp_get<int>(key, def); } /// \brief returns boolean property, or the given default if it does not exist bool GetBoolProp(const String& key, bool def) const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->gp_get<bool>(key, def); } std::map<String,GenericPropValue> GetPropMap() const { + CheckHandleValidity(*static_cast<const H*>(this)); return this->GetImpl()->GetPropMap(); } }; @@ -270,32 +289,43 @@ class TEMPLATE_EXPORT GenericPropContainer : public: void ClearProps() { + CheckHandleValidity(*static_cast<const H*>(this)); this->GetImpl()->ClearProps(); } /// \brief sets String property void SetStringProp(const String& key, const String& value) { + CheckHandleValidity(*static_cast<const H*>(this)); this->GetImpl()->GenericProp(key)=value; } /// \brief sets floating point property void SetFloatProp(const String& key, Real value) { + CheckHandleValidity(*static_cast<const H*>(this)); this->GetImpl()->GenericProp(key)=value; } /// \brief sets integer property void SetIntProp(const String& key, int value) { + CheckHandleValidity(*static_cast<const H*>(this)); this->GetImpl()->GenericProp(key)=value; } /// \ brief sets boolean property void SetBoolProp(const String& key, bool value) { + CheckHandleValidity(*static_cast<const H*>(this)); this->GetImpl()->GenericProp(key)=value; } + + void RemoveProp(const String& key) + { + CheckHandleValidity(*static_cast<const H*>(this)); + this->GetImpl()->RemoveProp(key); + } }; diff --git a/modules/base/src/log.cc b/modules/base/src/log.cc index ec77c8525bcdf7d17fa82dd05a8f13acbe722e4c..55d348b75f4f5ade2edd349e3ee780ccffcd7cbc 100644 --- a/modules/base/src/log.cc +++ b/modules/base/src/log.cc @@ -16,26 +16,13 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <iostream> - - +#include <ost/log_sink.hh> #include <ost/log.hh> namespace ost { Logger& Log = Logger::Instance(); -namespace { - - class DevNull: public std::streambuf { - protected: - virtual int_type overflow(int_type c) {return c;} - virtual std::streamsize xsputn(const char* s, std::streamsize num) {return num;} - }; - -} // anon ns - - Logger& Logger::Instance() { static Logger inst; @@ -45,15 +32,18 @@ Logger& Logger::Instance() Logger::Logger(): level_(0), level_stack_(), - null_(new DevNull()) + sink_stack_() { + sink_stack_.push(LogSinkPtr(new StreamLogSink(std::cerr))); } Logger::Logger(const Logger&): level_(0), level_stack_(), - null_(0) -{} + sink_stack_() +{ + sink_stack_.push(LogSinkPtr(new StreamLogSink(std::cerr))); +} Logger& Logger::operator=(const Logger&) { @@ -78,15 +68,30 @@ void Logger::PopVerbosityLevel() } } -std::ostream& Logger::operator()(enum LogLevel l) +void Logger::PushFile(const String& fn) { - if(l<=level_) { - return std::cout; - } - return null_; + sink_stack_.push(LogSinkPtr(new FileLogSink(fn))); } +void Logger::PopFile() +{ + WARN_DEPRECATED("Logger::PopFile is deprecated. Use Logger::PopSink instead"); + this->PopSink(); +} + +void Logger::PushSink(LogSinkPtr& sink) +{ + sink_stack_.push(sink); +} +void Logger::PopSink() +{ + if(sink_stack_.size()>1) { + sink_stack_.pop(); + } else { + LOG_ERROR("Can't pop sink. There is only one sink left on the stack"); + } +} } // ns diff --git a/modules/base/src/log.hh b/modules/base/src/log.hh index ac86280a2159f650f5c36ab326afa4bbd83cc21d..b535346f3caeae6f56c2809d5453a0ca78ef3ff6 100644 --- a/modules/base/src/log.hh +++ b/modules/base/src/log.hh @@ -22,73 +22,76 @@ #include <ostream> #include <stack> +#include <ost/log_sink.hh> #include <ost/module_config.hh> namespace ost { +typedef std::stack<LogSinkPtr> LogSinkStack; + // singleton class DLLEXPORT_OST_BASE Logger { public: enum LogLevel { - QUIET=0, - NORMAL, - VERBOSE, - DEBUG, - DUMP, - TRACE + QUIET =0, + WARNING =1, + SCRIPT =2, + INFO =3, + VERBOSE =4, + DEBUG =5, + TRACE =6 }; - + void PushVerbosityLevel(int level); void PopVerbosityLevel(); - - std::ostream& operator()(enum LogLevel); + void PushSink(LogSinkPtr& sink); + void PushFile(const String& filename); + //! DEPRECATED use PopSink() instead + void PopFile(); + void PopSink(); static Logger& Instance(); - + LogSinkPtr GetCurrentSink() { return sink_stack_.top(); } int GetLogLevel() const {return level_;} + void ResetSinks() { + while (sink_stack_.size()>1) { + sink_stack_.pop(); + } + } protected: Logger(); Logger(const Logger&); Logger& operator=(const Logger&); - + private: int level_; std::stack<int> level_stack_; - std::ostream null_; + LogSinkStack sink_stack_; }; -#define PUSH_VERBOSITY(n) ::ost::Logger::Instance().PushVerbosityLevel(n) -#define POP_VERBOSITY(n) ::ost::Logger::Instance().PopVerbosityLevel() - -#define LOG_ERROR(m) ::ost::Logger::Instance()(::ost::Logger::QUIET) << m; -#define LOGN_ERROR(m) ::ost::Logger::Instance()(::ost::Logger::QUIET) << m << std::endl; -#define LOG_MESSAGE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::NORMAL) {(::ost::Logger::Instance()(::ost::Logger::NORMAL)) << m ;} -#define LOGN_MESSAGE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::NORMAL) {(::ost::Logger::Instance()(::ost::Logger::NORMAL)) << m << std::endl;} +#define OST_DO_LOGGING_(m, l) if (::ost::Logger::Instance().GetLogLevel()>=l) {\ + std::stringstream tmp_s__; \ + tmp_s__ << m << std::endl; \ + ::ost::Logger::Instance().GetCurrentSink()->LogMessage(tmp_s__.str(), l); \ + } -#define LOG_VERBOSE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::VERBOSE) {(::ost::Logger::Instance()(::ost::Logger::VERBOSE)) << m ;} -#define LOGN_VERBOSE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::VERBOSE) {(::ost::Logger::Instance()(::ost::Logger::VERBOSE)) << m << std::endl;} - -#define LOG_DEBUG(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::DEBUG) {(::ost::Logger::Instance()(::ost::Logger::DEBUG)) << m ;} -#define LOGN_DEBUG(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::DEBUG) {(::ost::Logger::Instance()(::ost::Logger::DEBUG)) << m << std::endl;} +#define WARN_DEPRECATED(m) OST_DO_LOGGING_(m, ::ost::Logger::WARNING) +#define PUSH_VERBOSITY(n) ::ost::Logger::Instance().PushVerbosityLevel(n) +#define POP_VERBOSITY(n) ::ost::Logger::Instance().PopVerbosityLevel() +#define LOG_ERROR(m) OST_DO_LOGGING_(m, ::ost::Logger::QUIET) +#define LOG_WARNING(m) OST_DO_LOGGING_(m, ::ost::Logger::WARNING) +#define LOG_SCRIPT(m) OST_DO_LOGGING_(m, ::ost::Logger::SCRIPT) +#define LOG_INFO(m) OST_DO_LOGGING_(m, ::ost::Logger::INFO) +#define LOG_VERBOSE(m) OST_DO_LOGGING_(m, ::ost::Logger::VERBOSE) #ifdef NDEBUG - -# define LOG_DUMP(m) -# define LOGN_DUMP(m) - +# define LOG_DEBUG(m) # define LOG_TRACE(m) -# define LOGN_TRACE(m) - #else - -# define LOG_DUMP(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::DUMP) {(::ost::Logger::Instance()(::ost::Logger::DUMP)) << m ;} -# define LOGN_DUMP(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::DUMP) {(::ost::Logger::Instance()(::ost::Logger::DUMP)) << m << std::endl;} - -# define LOG_TRACE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::TRACE) {(::ost::Logger::Instance()(::ost::Logger::TRACE)) << m ;} -# define LOGN_TRACE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::TRACE) {(::ost::Logger::Instance()(::ost::Logger::TRACE)) << m << std::endl;} - +# define LOG_DEBUG(m) OST_DO_LOGGING_(m, ::ost::Logger::DEBUG) +# define LOG_TRACE(m) OST_DO_LOGGING_(m, ::ost::Logger::TRACE) #endif } diff --git a/modules/gui/src/plot_viewer/plot_function_info.cc b/modules/base/src/log_sink.cc similarity index 56% rename from modules/gui/src/plot_viewer/plot_function_info.cc rename to modules/base/src/log_sink.cc index e991e0c9cdedba2a6cbf06474a5ff04c89465d12..9dad7e5e2361ccec498c18a1ba24a7c37703bfc7 100644 --- a/modules/gui/src/plot_viewer/plot_function_info.cc +++ b/modules/base/src/log_sink.cc @@ -16,35 +16,37 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ +#include <ost/log.hh> +#include <ost/log_sink.hh> +#include <iostream> +namespace ost { -#include "plot_function_info.hh" -#include "plot_viewer_panel.hh" +MultiLogSink::MultiLogSink(){} -namespace ost{namespace gui{ - -PlotFunctionInfo::PlotFunctionInfo(PlotViewerPanel * viewer): - PlotInfoBase(viewer), - start(0.0), - end(1.0), - delta(1.0) -{ - name="Function"; - connect(viewer,SIGNAL(rangeChanged(Real,Real,Real)),this,SLOT(OnRangeChange(Real,Real,Real))); +bool MultiLogSink::AddSink(LogSinkPtr& sink) { + if ((std::find( sinks_.begin(), sinks_.end(), sink))==sinks_.end()) { + sinks_.push_back(sink); + return true; + } + return false; } -PlotFunctionInfo::~PlotFunctionInfo() -{ +bool MultiLogSink::RemoveSink(LogSinkPtr& sink){ + std::vector<LogSinkPtr>::iterator found=std::find(sinks_.begin(), + sinks_.end(), sink); + if (found!=sinks_.end() ){ + sinks_.erase(found); + return true; + } + return false; } -void PlotFunctionInfo::OnRangeChange(Real s,Real e,Real d) -{ - start=s; - end=e; - delta=d; - emit appearanceChanged(); +void MultiLogSink::LogMessage(const String& message, int severity){ + for (std::vector<LogSinkPtr>::const_iterator + i=sinks_.begin(), e=sinks_.end(); i!=e; ++i) { + (*i)->LogMessage(message, severity); + } } -}}//ns +} // ns + diff --git a/modules/base/src/log_sink.hh b/modules/base/src/log_sink.hh new file mode 100644 index 0000000000000000000000000000000000000000..4878d7f4a4e9e721691f6aa6415defe3374f0955 --- /dev/null +++ b/modules/base/src/log_sink.hh @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +#ifndef OST_LOG_SINK_HH +#define OST_LOG_SINK_HH + +#include <ostream> +#include <iostream> +#include <fstream> +#include <stack> +#include <vector> + +#include <boost/shared_ptr.hpp> + +#include <ost/module_config.hh> + +namespace ost { + +class DLLEXPORT LogSink { +public: + LogSink(){}; + virtual ~LogSink() { } + virtual void LogMessage(const String& message, int severity=0)=0; +}; + +typedef boost::shared_ptr<LogSink> LogSinkPtr; + +class DLLEXPORT StreamLogSink : public LogSink { +public: + StreamLogSink(std::ostream& stream):stream_(stream){} + virtual void LogMessage(const String& message, int severity){ + stream_ << message; + } + +private: + std::ostream& stream_; +}; + +class DLLEXPORT FileLogSink : public LogSink { +public: + FileLogSink(const String& file_name):stream_(file_name.c_str(), std::ios::out){} + virtual void LogMessage(const String& message, int severity){ + if (stream_.is_open()){ + stream_ << message; + stream_.flush(); + } + } + + ~FileLogSink(){ + stream_.flush(); + } +private: + std::ofstream stream_; +}; + +typedef boost::shared_ptr<FileLogSink> FileLogSinkPtr; + + +class DLLEXPORT_OST_BASE MultiLogSink : public LogSink { +public: + MultiLogSink(); + bool AddSink(LogSinkPtr& observer); + bool RemoveSink(LogSinkPtr& observer); + void LogMessage(const String& message, int severity); +private: + std::vector<LogSinkPtr> sinks_; +}; + +typedef boost::shared_ptr<MultiLogSink> MultiLogSinkPtr; + +} +#endif diff --git a/modules/base/src/message.cc b/modules/base/src/message.cc index 7a53deb15384cf3648bf203a7815076d01d485ce..401ff1fb8755fb39fa322bf503e2c4f69677c733 100644 --- a/modules/base/src/message.cc +++ b/modules/base/src/message.cc @@ -1,17 +1,43 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// Copyright (C) 2003-2010 by the IPLT authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + messages and logs + + Authors: Ansgar Philippsen, Andteas Schenk +*/ + #include "message.hh" namespace ost { - -Message::Message(const String& mesg,const String& prefix): - _prefix(prefix), _mesg(mesg) {} -Message::~Message() throw() {} +Error::Error(const String& m): + mesg_(m) +{} -const char* Message::what() const throw() { - String msg = _prefix + ": " +_mesg; - return msg.c_str(); +Error::~Error() throw() +{ } -Error::Error(const String& m): Message(m,"Error") {} +const char* Error::what() const throw() +{ + return mesg_.c_str(); +} } \ No newline at end of file diff --git a/modules/base/src/message.hh b/modules/base/src/message.hh index 6b51a9891709800d0ff749ada92239e5c4d2a46b..aca6387f6be79fbc618acdf2454eb5468584d5c0 100644 --- a/modules/base/src/message.hh +++ b/modules/base/src/message.hh @@ -20,7 +20,7 @@ /* messages and logs - Author: Ansgar Philippsen + Authors: Ansgar Philippsen, Andteas Schenk */ #ifndef OST_MESSAGE_HH @@ -31,18 +31,14 @@ namespace ost { -struct DLLEXPORT Message: public std::exception { - Message(const String& mesg,const String& prefix=""); - virtual ~Message() throw(); - // exception interface - virtual const char* what() const throw(); - - String _prefix; - String _mesg; -}; -struct DLLEXPORT Error: public Message { +class DLLEXPORT Error: virtual public std::exception { +public: Error(const String& m); + ~Error() throw(); + virtual const char* what() const throw(); +protected: + String mesg_; }; } // namespace diff --git a/modules/base/src/pod_vector.hh b/modules/base/src/pod_vector.hh index a4da274b7f3d77da393fd803e74242a5986146e5..46b05bef7a01bd9343aed777fe91b8442b606f26 100644 --- a/modules/base/src/pod_vector.hh +++ b/modules/base/src/pod_vector.hh @@ -25,10 +25,11 @@ #include <ost/module_config.hh> +#include <cassert> #include <memory> #include <iterator> #include <string> - +#include <iostream> namespace ost { /// \brief vector container that treats its data as POD - even if it isn't in @@ -37,6 +38,17 @@ template <typename T> class TEMPLATE_DEF_EXPORT PodVector { public: PodVector(): begin_(NULL), end_(NULL), capacity_(NULL) {} + PodVector(const PodVector<T>& rhs) + { + this->do_reserve(rhs.capacity()); + this->raw_set(rhs.data(), rhs.size()); + } + ~PodVector() + { + if (begin_) { + free(begin_); + } + } typedef T value_type; typedef T& reference; typedef const T& const_reference; @@ -75,7 +87,7 @@ public: void push_back(const_reference val) { - if (end_<=capacity_) { + if (end_>=capacity_) { this->do_reserve(this->capacity()*2); } memcpy(end_, &val, sizeof(value_type)); @@ -87,7 +99,11 @@ public: --end_; } - void clear() { return this->do_reserve(0); } + void clear() + { + this->do_reserve(0); + end_=begin_; + } void reserve(size_t n) { @@ -102,6 +118,16 @@ public: { return begin_[index]; } + T* data() { return begin_; } + + const T* data() const { return begin_; } + + void raw_set(T* data, size_t n) + { + this->do_reserve(n); + memcpy(begin_, data, sizeof(T)*n); + end_=begin_+n; + } private: void do_reserve(size_t n); value_type* begin_; diff --git a/modules/base/src/string_ref.cc b/modules/base/src/string_ref.cc index 547c38deefdfed9219c359e0a7544742bd8e9c04..af19d7b8fafe5e2e632f955cc3a46b9625d34703 100644 --- a/modules/base/src/string_ref.cc +++ b/modules/base/src/string_ref.cc @@ -93,4 +93,24 @@ std::ostream& operator<<(std::ostream& stream, const StringRef& strref) return stream; } +std::vector<StringRef> StringRef::split(char p) const +{ + std::vector<StringRef> result; + const char* s=begin_; + const char* l=begin_; + while (s!=end_) { + if (*s==p) { + if (l!=s) { + result.push_back(StringRef(l, s-l)); + } + l=s+1; + } + ++s; + } + if (l!=s) { + result.push_back(StringRef(l, s-l)); + } + return result; +} + } diff --git a/modules/base/src/string_ref.hh b/modules/base/src/string_ref.hh index b1a38dcf0dba2767454084e83c8c03e405ed3486..c6150b9224d65f606c344e50ea1c19be16aa6012 100644 --- a/modules/base/src/string_ref.hh +++ b/modules/base/src/string_ref.hh @@ -27,6 +27,7 @@ #include <iostream> #include <ost/base.hh> #include <string.h> +#include <vector> #include <ost/module_config.hh> @@ -133,6 +134,8 @@ public: bool empty() const { return begin_==end_; } + /// \brief split string into chunks delimited by \p p + std::vector<StringRef> split(char p) const; private: const char* begin_; const char* end_; diff --git a/modules/bindings/pymod/clustalw.py b/modules/bindings/pymod/clustalw.py index fdf024ebc0c2acaeb7825371e53af56ff65ecf74..a1327ee7e3d8611dd86a0adea70026502201dca2 100644 --- a/modules/bindings/pymod/clustalw.py +++ b/modules/bindings/pymod/clustalw.py @@ -1,14 +1,32 @@ from ost.bindings import utils -from ost import settings, io, seq +from ost import settings, io, seq, LogError import os import subprocess -def ClustalW(seq1, seq2, clustalw=None): +def ClustalW(seq1, seq2=None, clustalw=None, keep_files=False): clustalw_path=settings.Locate(('clustalw', 'clustalw2'), explicit_file_name=clustalw) - seq_list=seq.CreateSequenceList() - seq_list.AddSequence(seq1) - seq_list.AddSequence(seq2) + + if seq2!=None: + if isinstance(seq1, seq.SequenceHandle) and isinstance(seq2, seq.SequenceHandle): + seq_list=seq.CreateSequenceList() + seq_list.AddSequence(seq1) + seq_list.AddSequence(seq2) + elif isinstance(seq1, str) and isinstance(seq2, str): + seqh1=CreateSequence("seq1", seq1) + seqh2=CreateSequence("seq2", seq2) + seq_list=seq.CreateSequenceList() + seq_list.AddSequence(seqh1) + seq_list.AddSequence(seqh2) + else: + LogError("WARNING: Specify at least two Sequences") + return + elif isinstance(seq1, seq.SequenceList): + seq_list=seq1 + else: + LogError("WARNING: Specify either two SequenceHandles or one SequenceList") + return + temp_dir=utils.TempDirWithFiles((seq_list,)) out=os.path.join(temp_dir.dirname, 'out.fasta') command='%s -infile="%s" -output=fasta -outfile="%s"' % (clustalw_path, @@ -17,15 +35,17 @@ def ClustalW(seq1, seq2, clustalw=None): ps=subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) ps.stdout.readlines() aln=io.LoadAlignment(out) - aln.SetSequenceOffset(0,seq1.GetSequenceOffset()) - aln.SetSequenceOffset(1,seq2.GetSequenceOffset()) - if seq1.HasAttachedView(): - aln.AttachView(0,seq1.GetAttachedView().Copy()) - if seq2.HasAttachedView(): - aln.AttachView(1,seq2.GetAttachedView().Copy()) + + for sequence in seq_list: + for seq_num,aln_seq in enumerate(aln.sequences): + if aln_seq.GetName()==sequence.GetName(): + break + aln.SetSequenceOffset(seq_num,sequence.GetSequenceOffset()) + if sequence.HasAttachedView(): + aln.AttachView(seq_num,sequence.GetAttachedView().Copy()) - #~ temp_dir.Cleanup() + if not keep_files: + temp_dir.Cleanup() return aln - diff --git a/modules/bindings/pymod/msms.py b/modules/bindings/pymod/msms.py index a7a3dd13eb2be594c69f0fb368c941ce403dfd7a..dc3b8590626aad471534d47ce660220d616800d9 100644 --- a/modules/bindings/pymod/msms.py +++ b/modules/bindings/pymod/msms.py @@ -24,6 +24,20 @@ from ost import mol from ost import settings from ost import geom + + +## \brief custom exception that substitutes CalledProcessError +# +# Python 2.4 does not include the CalledProcessError exception. +# This one substitutes it +class MsmsProcessError(Exception): + def __init__(self, returncode,command): + self.returncode = returncode + self.command = command + def __str__(self): + return repr(self.returncode) + + ## \brief Method to check if MSMS executable is present # # \param msms_exe Explicit path to msms executable @@ -106,7 +120,7 @@ def _RunMSMS(command): #check for successful completion of msms if proc.returncode!=0: print "WARNING: msms error\n", stdout_value - raise subprocess.CalledProcessError(proc.returncode, command) + raise subprocess.MsmsProcessError(proc.returncode, command) return stdout_value @@ -134,7 +148,8 @@ def _RunMSMS(command): # \param attach_esa Attaches per atom SESA to specified FloatProp at atom level # \return Touplet of lists for (SES, SAS) def CalculateSurfaceArea(entity, density=1.0, radius=1.5, all_surf=False, - no_hydrogens=False, selection="", + no_hydrogens=False, no_hetatoms=False, no_waters=False, + selection='', msms_exe=None, msms_env=None, keep_files=False, attach_asa=None, attach_esa=None): import re @@ -144,7 +159,19 @@ def CalculateSurfaceArea(entity, density=1.0, radius=1.5, all_surf=False, # parse selection if no_hydrogens: - selection+=" and ele!=H" + if selection!='': + selection+=" and " + selection+="ele!=H" + + if no_hetatoms: + if selection!='': + selection+=" and " + selection+="ishetatm=False" + + if no_waters: + if selection!='': + selection+=" and " + selection+="rname!=HOH" # setup files for msms (msms_data_dir, msms_data_file)=_SetupFiles(entity, selection) @@ -205,8 +232,10 @@ def CalculateSurfaceArea(entity, density=1.0, radius=1.5, all_surf=False, # \param keep_files Do not delete temporary files # \return list of OST SurfaceHandle objects def CalculateSurface(entity, density=1.0, radius=1.5, all_surf=False, - no_hydrogens=False, selection="", + no_hydrogens=False, no_hetatoms=False, no_waters=False, + selection='', msms_exe=None, msms_env=None, keep_files=False): + import os import re @@ -215,10 +244,21 @@ def CalculateSurface(entity, density=1.0, radius=1.5, all_surf=False, # parse selection if no_hydrogens: - selection+=" and ele!=H" + if selection!='': + selection+=" and " + selection+="ele!=H" + + if no_hetatoms: + if selection!='': + selection+=" and " + selection+="ishetatm=False" + + if no_waters: + if selection!='': + selection+=" and " + selection+="rname!=HOH" # setup files for msms - (msms_data_dir, msms_data_file)=_SetupFiles(entity, selection) # set command line diff --git a/modules/bindings/pymod/naccess.py b/modules/bindings/pymod/naccess.py new file mode 100644 index 0000000000000000000000000000000000000000..f18d8e9a6029ffd824393e8eb00239a7452d1c6f --- /dev/null +++ b/modules/bindings/pymod/naccess.py @@ -0,0 +1,231 @@ +''' +Naccess module + +Author: Florian Kiefer + +This module is for calculating surface areas +from OpenStructure using the external program naccess + +How To Use This Module: + 1. Import it (e.g. as "from ost.bindings import naccess") + 2. Use it (e.g. as "sasa = naccess.CalculateSurfaceArea(entity)") + +Requirement: + - naccess installed +''' + +import tempfile +import subprocess +import os +import re +from ost import io +from ost import mol +from ost import settings +from ost import geom + +## \brief Method to check if naccess executable is present +# +# \param naccess Explicit path to msms executable +# \return Path to the executable +# \exception FileNotFound if executable is not found +def _GetExecutable(naccess_exe): + return settings.Locate('naccess', explicit_file_name=naccess_exe) + +## \brief Setup files for naccess calculation in temporary directory +# +# \param entity EntityHandle or EntityView to calculate surface +# \param selection Calculate surface for subset of entity +# \return array containing temporary directory, input filename for naccess and directory of the input file +# \exception RuntimeError if selection is not valid +def _SetupFiles(entity, selection): + # create temporary directory + tmp_dir_name=tempfile.mkdtemp() + + # select only heavy atoms if no_hydrogens is true + entity_view=entity.Select(selection) + if len(entity_view.atoms) > 50000: + raise RuntimeError, "Too much atoms for NACCESS (> 50 000)" + if not entity_view.IsValid(): + raise RuntimeError, "Could not create view for selection (%s)"%(selection) + + # write entity to tmp file + tmp_file_name=os.path.join(tmp_dir_name,"entity.pdb") + tmp_file_base = os.path.join(tmp_dir_name,"entity") + io.SavePDB(entity_view, tmp_file_name) + return (tmp_dir_name, tmp_file_name, tmp_file_base) + +## \brief Reads Area file (.asa) and attach asa per atom to an entitiy +# +# \param entity EntityHandle or EntityView for attaching sasa on atom level +# \param file Filename of area file +# \param asa_atom Name of the float property for SASA + + +def _ParseAsaFile(entity, file, asa_atom): + + asa_fh = open(file) + asa_lines = asa_fh.readlines() + asa_fh.close() + + for l in asa_lines: + if l.startswith("ATOM"): + # get res_number, chain_id and atom name + atom_name = l[12:16] + chain_id = l[21] + res_number = l[22:27] + asa = l[54:63] + atom_name = atom_name.strip() + chain_id = chain_id.strip() + res_number = res_number.strip() + asa = asa.strip() + #print "res_number:", res_number + m=re.match(r'(?P<num>-?\d+)(?P<ins>\w)?', res_number) + di = m.groupdict() + + if di["ins"] == None: + resNum = mol.ResNum(int(di["num"])) + else: + resNum = mol.ResNum(int(di["num"]), di["ins"]) + #print res_number, resNum.num, resNum.ins + a = entity.FindAtom(chain_id, resNum, atom_name) + a.SetFloatProp(asa_atom, float(asa)) + +## \brief Reads Area file (.rsa) and attach asa (absolute + relative) per residue to an entitiy +# +# \param entity EntityHandle or EntityView for attaching sasa on atom level +# \param file Filename of .rsa file +# \param asa_atom Name of the float property for absolute SASA +# \param asa_atom Name of the float property for relative SASA +# \exception RuntimeError if residue names are not the same + +def _ParseRsaFile(enti,file, asa_abs, asa_rel): + area_fh = open(file) + area_lines = area_fh.readlines() + area_fh.close() + # shift first line + area_lines = area_lines[4:] + + + for l in area_lines: + if l.startswith("RES"): + p = re.compile(r'\s+') + t = p.split(l) + #res_name, chain_id , res_number, abs_all, rel_all = t[1:6] + res_name = l[3:8] + res_name = res_name.strip() + chain_id = l[8:9] + res_number = l[9:14] + res_number= res_number.strip() + #print l[15:30] + abs_all, rel_all =l[15:28].strip().split() + m=re.match(r'(?P<num>-?\d+)(?P<ins>\w)?', res_number) + di = m.groupdict() + if di["ins"] == None: + resNum = mol.ResNum(int(di["num"])) + else: + resNum = mol.ResNum(int(di["num"]), di["ins"]) + + res = enti.handle.FindResidue(chain_id, resNum) + #res = entity.FindResidue(chain_id, mol.ResNum(int(res_number))) + #print res_name, chain_id, res_number + if res_name == res.name: + res.SetFloatProp(asa_rel, float(rel_all) ) + res.SetFloatProp(asa_abs, float(abs_all) ) + else: + raise RuntimeError, "Residue Names are not the same for ResNumb: %s (%s vs %s)" % (res_number, res.name, res_name) + +## \brief Method which recursively deletes a directory +# +# \warning This method removes also non-empty directories without asking, so +# be careful! +def __CleanupFiles(dir_name): + import shutil + shutil.rmtree(dir_name) + +## \brief Method to run the MSMS surface calculation +# +# This method starts the external MSMS executable and returns the stdout of MSMS +# +# \param command Command to execute +# \return stdout of MSMS +# \exception CalledProcessError for non-zero return value +def _RunNACCESS(command, temp_dir): + proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, cwd = temp_dir) + stdout_value, stderr_value = proc.communicate() + + #check for successful completion of msms + if proc.returncode!=0: + print "WARNING: naccess error\n", stdout_value + raise subprocess.CalledProcessError(proc.returncode, command) + + return stdout_value + + +## \brief Calculates analytical the solvent accessible surface +# area by using the external naccess program +# +# This method calculates the molecular surface areas by invoking the external +# program naccess. First, it is checked if the naccess executable is present, then, +# the necessary files are prepared in a temporary directory and naccess is +# executed. The last step is to remove the temporary directory. +# +# +# \param entity OST entity to calculate surface +# \param radius Surface probe radius +# \param include_hydrogens Calculate surface including hydrogens +# \param include_hetatm Calculate surface including hetatms +# \param include_water Calculate surface including water +# \param selection Calculate surface for subset of entity +# \param naccess _exe msms executable (full path to executable) +# \param keep_files Do not delete temporary files +# \param asa_abs Attaches per residue absolute SASA to specified FloatProp on residue level +# \param asa_rel Attaches per residue relative SASA to specified FloatProp on residue level +# \param asa_atom Attaches per atom SASA to specified FloatProp at atom level +# \return absolute SASA calculated using asa_atom +def CalculateSurfaceArea(entity, radius=1.4, + include_hydrogens=False, include_hetatm = False, + include_water = False, selection="", + naccess_exe=None, keep_files=False , asa_abs= "asaAbs", asa_rel="asaRel", asa_atom="asaAtom"): + import re + + # check if msms executable is specified + naccess_executable=_GetExecutable(naccess_exe) + # parse selection + + # setup files for msms + (naccess_data_dir, naccess_data_file,naccess_data_base )=_SetupFiles(entity, selection) + + # set command line + command="%s %s -p %f " % \ + (naccess_executable, naccess_data_file, radius) + if include_hydrogens: + command = "%s -w" % command + if include_water: + command = "%s -y" % command + if include_hetatm: + command = "%s -h" % command + #print command + stdout_value=_RunNACCESS(command, naccess_data_dir) + + new_asa= os.path.join(naccess_data_dir, "%s.asa" % naccess_data_base) + _ParseAsaFile(entity, new_asa, asa_atom) + + new_rsa = os.path.join(naccess_data_dir, "%s.rsa" % naccess_data_base) + _ParseRsaFile(entity, new_rsa, asa_abs, asa_rel) + + # Calculate Asa for all atoms: + sasa = 0.0 + for a in entity.atoms: + sasa += a.GetFloatProp(asa_atom, 0.0) + + + # first read in result_file + + # parse MSMS output + + # clean up + if not keep_files: + __CleanupFiles(naccess_data_dir) + + return sasa + diff --git a/modules/bindings/pymod/tmtools.py b/modules/bindings/pymod/tmtools.py index b8ab2a26104692ce681fccfb80ddfe30c19fd104..9405a31df86e42656ac449db07679968af097928 100644 --- a/modules/bindings/pymod/tmtools.py +++ b/modules/bindings/pymod/tmtools.py @@ -28,8 +28,8 @@ tmalign: Y. Zhang and J. Skolnick, Nucl. Acids Res. 2005 33, 2302-9 Authors: Pascal Benkert, Marco Biasini """ -import subprocess, os, tempfile -from ost import settings, io, geom +import subprocess, os, tempfile, platform +from ost import settings, io, geom, seq def _SetupFiles(models): # create temporary directory @@ -43,11 +43,13 @@ def _CleanupFiles(dir_name): shutil.rmtree(dir_name) class TMAlignResult: - def __init__(self, rmsd, tm_score, aligned_length, transform): + def __init__(self, rmsd, tm_score, aligned_length, transform, ref_sequence, alignment): self.rmsd=rmsd self.tm_score=tm_score self.aligned_length=aligned_length self.transform=transform + self.ref_sequence =ref_sequence + self.alignment=alignment def _ParseTmAlign(lines): info_line=lines[11].split(',') @@ -61,14 +63,24 @@ def _ParseTmAlign(lines): tf2[4], tf3[2], tf3[3], tf3[4]) tf=geom.Mat4(rot) tf.PasteTranslation(geom.Vec3(tf1[1], tf2[1], tf3[1])) - return TMAlignResult(rmsd, aln_length, tm_score, tf) + seq1 = seq.CreateSequence("1",lines[20].strip()) + seq2 = seq.CreateSequence("2",lines[22].strip()) + alignment = seq.CreateAlignment() + alignment.AddSequence(seq2) + alignment.AddSequence(seq1) + return TMAlignResult(rmsd, aln_length, tm_score, tf, seq2, alignment) def _RunTmAlign(tmalign, tmp_dir): - tmalign_path=settings.Locate('tmalign', explicit_file_name=tmalign) model1_filename=os.path.join(tmp_dir, 'model01.pdb') - model2_filename=os.path.join(tmp_dir, 'model02.pdb') - command="%s '%s' '%s'" %(tmalign_path, model1_filename, model2_filename) + model2_filename=os.path.join(tmp_dir, 'model02.pdb') + if platform.system() == "Windows": + tmalign_path=settings.Locate('tmalign.exe', explicit_file_name=tmalign) + command="\"%s\" %s %s" %(os.path.normpath(tmalign_path), model1_filename, model2_filename) + else: + tmalign_path=settings.Locate('tmalign', explicit_file_name=tmalign) + command="\"%s\" \"%s\" \"%s\"" %(tmalign_path, model1_filename, model2_filename) ps=subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) + ps.wait() lines=ps.stdout.readlines() if (len(lines))<22: raise RuntimeError("tmalign superposition failed") @@ -104,11 +116,16 @@ def _ParseTmScore(lines): def _RunTmScore(tmscore, tmp_dir): - tmscore_path=settings.Locate('tmscore', explicit_file_name=tmscore) model1_filename=os.path.join(tmp_dir, 'model01.pdb') model2_filename=os.path.join(tmp_dir, 'model02.pdb') - command="%s '%s' '%s'" %(tmscore_path, model1_filename, model2_filename) + if platform.system() == "Windows": + tmscore_path=settings.Locate('tmscore.exe', explicit_file_name=tmscore) + command="\"%s\" %s %s" %(os.path.normpath(tmscore_path), model1_filename, model2_filename) + else: + tmscore_path=settings.Locate('tmscore', explicit_file_name=tmscore) + command="\"%s\" \"%s\" \"%s\"" %(tmscore_path, model1_filename, model2_filename) ps=subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) + ps.wait() lines=ps.stdout.readlines() if (len(lines))<22: raise RuntimeError("tmscore superposition failed") @@ -131,4 +148,4 @@ def TMScore(model1, model2, tmscore=None): result=_RunTmScore(tmscore, tmp_dir_name) model1.handle.RequestXCSEditor().ApplyTransform(result.transform) _CleanupFiles(tmp_dir_name) - return result \ No newline at end of file + return result diff --git a/modules/bindings/tests/CMakeLists.txt b/modules/bindings/tests/CMakeLists.txt index 0c89630581708b409e4ba1d428ef4630554fe001..5a3f44e3d827f7571b5aaed58fde891abc8543bb 100644 --- a/modules/bindings/tests/CMakeLists.txt +++ b/modules/bindings/tests/CMakeLists.txt @@ -1,5 +1,6 @@ set(OST_BINDINGS_UNIT_TESTS test_msms.py + test_clustalw.py ) ost_unittest(bindings "${OST_BINDINGS_UNIT_TESTS}") diff --git a/modules/bindings/tests/test_clustalw.py b/modules/bindings/tests/test_clustalw.py new file mode 100644 index 0000000000000000000000000000000000000000..fc93a19b6d4c270d46f1c79a3554077e8295f908 --- /dev/null +++ b/modules/bindings/tests/test_clustalw.py @@ -0,0 +1,44 @@ +import unittest +from ost import * +from ost import settings +from ost.bindings import clustalw + +class TestClustalWBindings(unittest.TestCase): + + def setUp(self): + self.protein = io.LoadEntity("testfiles/testprotein.pdb").Select("cname=A") + + self.targetseq = io.LoadSequence("testfiles/test.fasta") + self.targetseq.AttachView(self.protein) + self.templseq = io.LoadSequence("testfiles/similar.fasta") + self.multseq = io.LoadSequenceList("testfiles/multiple.fasta") + self.pw_alignment = io.LoadAlignment("testfiles/pairwise_aln.fasta") + self.mult_alignment = io.LoadAlignment("testfiles/multiple_aln.fasta") + + def testPairwiseClustalW(self): + aln=clustalw.ClustalW(self.targetseq, self.templseq) + assert self.pw_alignment.ToString(80) == aln.ToString(80), \ + "Pairwise alignment differs from precomputed one" + + def testAttachedViewClustalW(self): + aln=clustalw.ClustalW(self.targetseq, self.templseq) + assert aln.FindSequence("testseq").HasAttachedView(), \ + "Aligned sequence doesn't have an attached view" + + def testMultipleClustalW(self): + aln=clustalw.ClustalW(self.multseq) + assert self.mult_alignment.ToString(80) == aln.ToString(80), \ + "Multiple alignment differs from precomputed one" + + +if __name__ == "__main__": + # test if clustalw package is available on system, otherwise ignore tests + try: + clustalw_path=settings.Locate(('clustalw', 'clustalw2')) + except(settings.FileNotFound): + print "Could not find clustalw executable: ignoring unit tests" + exit(0) + try: + unittest.main() + except Exception, e: + print e \ No newline at end of file diff --git a/modules/bindings/tests/test_msms.py b/modules/bindings/tests/test_msms.py index 8cd56ee5a5b8577ba2c82a39e408bc01c60a4617..61810be5576058d45cbe6b929052eb9522ca1531 100755 --- a/modules/bindings/tests/test_msms.py +++ b/modules/bindings/tests/test_msms.py @@ -16,13 +16,13 @@ class TestMSMSBindings(unittest.TestCase): surf=msms.CalculateSurface(self.protein, msms_env='MSMSSERVER')[0] assert self.num_vert==len(surf.GetVertexIDList()) \ and self.num_tri==len(surf.GetTriIDList()), \ - "Number of surface vertices or triangles do not match precalculated values" + "Number of surface vertices (%i) or triangles (%i) do not match precalculated values (%i/%i)"%(len(surf.GetVertexIDList()),len(surf.GetTriIDList()),self.num_vert,self.num_tri) def testCalculateSurfaceAres(self): (msms_ases, msms_asas)=msms.CalculateSurfaceArea(self.protein, \ msms_env='MSMSSERVER') assert self.ases==msms_ases[0] and self.asas==msms_asas[0], \ - "SASA or SESA do not match precalculated values" + "SASA (%f) or SESA (%f) do not match precalculated values (%f/%f)"%(msms_asas[0],msms_ases[0],self.asas,self.ases) if __name__ == "__main__": diff --git a/modules/bindings/tests/testfiles/multiple.fasta b/modules/bindings/tests/testfiles/multiple.fasta new file mode 100644 index 0000000000000000000000000000000000000000..56895f50475694418d7f7c4dab0cb5d0a0dc737f --- /dev/null +++ b/modules/bindings/tests/testfiles/multiple.fasta @@ -0,0 +1,58 @@ +>P50198.1 +MANRLAGKVALITGGASGLGAAQAKRFAEEGAKVVIGDLNEEMAKGVVAEIRAAGGDALFIRLDVTDAASWNNAIAAAVDGFGGLTTLSNTAGIIHPGGFEEESIEGWNKMVAVNQTAIFLGIKAAIPELVKSGNGSIINISSLIGMFPTAGNASYCATKAAVRIMSKAAALEFVDRGVRVNTIVPGGMNTPITANVPPDVLKQQTSQIPMGKLGDPIDIANGALFLASDEAKYITGVDLPIDGGWSVGV +>Q9WYG0.1 +MNFQGKVVLITGAGSGIGKKAAVMFAERGAKVAINDISEEKGKETVELIKSMGGEAAFIFGDVAKDAEQIVKKTVETFGRLDILVNNAGIVPYGNIEETSEEDFDKTMAVNVKGPFLLSKYAVEQMKKQGGGVIVNVSSEAGLIGIPRRCVYSVSKAALLGLTRSLAVDYVDYGIRVNAVCPGTTQSEGLMARVKASPNPEELLKKMTSRIPMKRLGKEEEIAFAILFAACDEAGFMTGSIINIDGGSTAV +>Q8KWT4.1 +MNLTDKTVLITGGASGIGYAAVQAFLNQQANVVVADIDEAQGEAMIRKENNDRLHFVHTDITDEPACQNAIRSAVDKFGGLDVLINNAGIEIVAPIHEMELSNWNKVLNVNLTGMFLMSKHALKYMLKSGKGNIINTCSVGGVVAWPDIPAYNASKGGVLQLTRSMAVDYAKHNIRVNCVCPGIIDTPLNEKSFLENNEGTLEEIKKEKAKVNPLLRLGKPEEIANVMLFLASDLSSYMTGSAITADGGYTAQ +>P39640.2 +MNLTDKTVLITGGASGIGYAAVQAFLGQQANVVVADIDEAQGEAMVRKENNDRLHFVQTDITDEAACQHAVESAVHTFGGLDVLINNAGIEIVAPIHEMELSDWNKVLQVNLTGMFLMSKHALKHMLAAGKGNIINTCSVGGLVAWPDIPAYNASKGGVLQLTKSMAVDYAKHQIRVNCVCPGIIDTPLNEKSFLENNEGTLEEIKKEKAKVNPLLRLGKPEEIANVMLFLASDLSSYMTGSAITADGGYTAQ +>P46331.2 +MGRLENKTAVITGAATGIGQATAEVFANEGARVIIGDINKDQMEETVDAIRKNGGQAESFHLDVSDENSVKAFADQIKDACGTIDILFNNAGVDQEGGKVHEYPVDLFDRIIAVDLRGTFLCSKYLIPLMLENGGSIINTSSMSGRAADLDRSGYNAAKGGITNLTKAMAIDYARNGIRVNSISPGTIETPLIDKLAGTKEQEMGEQFREANKWITPLGRLGQPKEMATVALFLASDDSSYVTGEDITADGGIMAYTWPGKMLIEEKWKEETK +>P50197.1 +MSDLSGKTIIVTGGGSGIGRATVELLVASGANVPVADINDEAGEAVVATSGGKAAYFRCDIAQEEDVKALVAQTLAAFGGLDGSFNNAAIPQAGLPLAEVSLERFRQSMDINVTGTFLCMKYQILAMIERGTKGSIVNTASAAGVVGVPMHGEYVGAKHAVVGLTRVAAADYGKHGIRVNALVPGAVRTPMLQRAMDNDAGLEPYLNSIHPIGRFSEPHEQAQAAVWLLSDAASFVTGSCLAADGGFTAI +>P42317.2 +MRKQVALVTGAAGGIGFEIAREFAREGASVIVSDLRPEACEKAASKLAEEGFDAAAIPYDVTKEAQVADTVNVIQKQYGRLDILVNNAGIQHVAPIEEFPTDTFEQLIKVMLTAPFIAMKHVFPIMKKQQFGRIINIASVNGLVGFAGKSAYNSAKHGVIGLTKVGALEGAPHGITVNALCPGYVDTQLVRNQLSDLSKTRNVPYDSVLEQVIFPLVPQKRLLSVKEIADYAVFLASEKAKGVTGQAVVLDGGYTAQ +>target +MRLDGKTALITGSARGIGRAFAEAYVREGARVAIADINLEAARATAAEIGPAACAIALDVTDQASIDRCVAELLDRWGSIDILVNNAALFDLAPIVEITRESYDRLFAINVSGTLFMMQAVARAMIAGGRGGKIINMASQAGRRGEALVGVYCATKAAVISLTQSAGLNLIRHGINVNAIAPGVVDGEHWDGVDAKFADYENLPRGEKKRQVGAAVPFGRMGRAEDLTGMAIFLATPEADYIVAQTYNVDGGNWMS +>Q59787.1 +MRLDGKTALITGSARGIGRAFAEAYVREGARVAIADINLEAARATAAEIGPAACAIALDVTDQASIDRCVAELLDRWGSIDILVNNAALFDLAPIVEITRESYDRLFAINVSGTLFMMQAVARAMIAGGRGGKIINMASQAGRRGEALVGVYCATKAAVISLTQSAGLNLIRHGINVNAIAPGVVDGEHWDGVDAKFADYENLPRGEKKRQVGAAVPFGRMGRAEDLTGMAIFLATPEADYIVAQTYNVDGGNWMS +>Q48436.2 +MKKVALVTGAGQGIGKAIALRLVKDGFAVAIADYNDATAKAVASEINQAGGRAMAVKVDVSDRDQVFAAVEQARKTLGGFDVIVNNAGVAPSTPIESITPEIVDKVYNINVKGVIWGIQAAVEAFKKEGHGGKIINACSQAGHVGNPELAVYSSSKFAVRGLTQTAARDLAPLGITVNGYCPGIVKTPMWAEIDRQVSEAAGKPLGYGTAEFAKRITLGRLSEPEDVAACVSYLASPDSDYMTGQSLLIDGGMVFN +>Q04520.1 +MQKVALVTGAGQGIGKAIALRLVKDGFAVAIADYNDATATAVAAEINQAGGRAVAIKVDVSRRDQVFAAVEQARKALGGFNVIVNNAGIAPSTPIESITEEIVDRVYNINVKGVIWGMQAAVEAFKKEGHGGKIVNACSQAGHVGNPELAVYSSSKFAVRGLTQTAARDLAPLGITVNGFCPGIVKTPMWAEIDRQCRKRRANRWATARLNLPNASPLAACRSLKTSPPACRSSPARIPTI +>P66776.1 +MTNNKVALVTGGAQGIGFKIAERLVEDGFKVAVVDFNEEGAKAAALKLSSDGTKAIAIKADVSNRDDVFNAVRQTAAQFGDFHVMVNNAGLGPTTPIDTITEEQFKTVYGVNVAGVLWGIQAAHEQFKKFNHGGKIINATSQAGVEGNPGLSLYCSTKFAVRGLTQVAAQDLASEGITVNAFAPGIVQTPMMESIAVATAEEAGKPEAWGWEQFTSQIALGRVSQPEDVSNVVSFLAGKDSDYITGQTIIVDGGMRFR +>Q5HKG6.1 +MSKTAIITGSAGGLGKGIAERLANDGFNIVLQDINEALLLETEKEFKEKGYQAVAFKSDVSKKKEQEELVQFAVTEFGQLDVMVNNAGVDAVTPILEIGEEELSKLFNINVFGTLFGIQAAANQFIKQKSKGKIINACSIAGHESYEVLGTYSATKHSVRSFTQTAAKELADKGITVNAYCPGVAKTEMWDRIDEEMVKLDDSLEIGDAFEAFSSEIKLGRYQEPSDVANLVSFLASNDSDYITGQSILTDGGLVYR +>Q8CQD2.1 +MSKTAIITGAAGGLGKGIAERLANDGFNIVLQDINEALLLETEKEFKEKGYQAVAYKSDVSKKKEQEELVQFAVTEFGQLDVMVNNAGVDAVTPILEIGEEELSKLFNINVFGTLFGIQAAANQFIKQKSKGKIINACSIAGHESYEVLGTYSATKHSVRSFTQTAAKELADKGITVNAYCPGVAKTEMWDRIDEEMVKLDDSLEIGDAFEAFSSEIKLGRYQEPSDVANLVSFLASNDSDYITGQSILTDGGLVYR +>P50199.1 +MSHPDLFSLSGARALVTGASRGIGLTLAKGLARYGAEVVLNGRNAESLDSAQSGFEAEGLKASTAVFDVTDQDAVIDGVAAIERDMGPIDILINNAGIQRRAPLEEFSRKDWDDLMSTNVNAVFFVGQAVARHMIPRGRGKIVNICSVQSELARPGIAPYTATKGAVKNLTKGMATDWGRHGLQINGLAPGYFATEMTERLVADEEFTDWLCKRTPAGRWGQVEELVGAAVFLSSRASSFVNGQVLMVDGGITVSL +>P0A9Q0.1 +MNDLFSLAGKNILITGSAQGIGFLLATGLGKYGAQIIINDITAERAELAVEKLHQEGIQAVAAPFNVTHKHEIDAAVEHIEKDIGPIDVLVNNAGIQRRHPFTEFPEQEWNDVIAVNQTAVFLVSQAVTRHMVERKAGKVINICSMQSELGRDTITPYAASKGAVKMLTRGMCVELARHNIQVNGIAPGYFKTEMTKALVEDEAFTAWLCKRTPAARWGDPQELIGAAVFLSSKASDFVNGHLLFVDGGMLVAV +>Q05528.1 +MILNTFNLQGKVALITGCDTGLGQGMAVGLAEAGCDIVGVNIVEPKETIEKVTAVGRRFLSLTADMSDISGHAALVEKAVAEFGKVDILVNNAGIIRREDAIEFSEKNWDDVMNLNIKSVFFMSQTVARQFIKQGHGGKIINIASMLSFQGGIPVPSYTASKKRVMGITRIVANEWAKHNINVNAIAPGYMATNNTQHVRADQDRSKEILDRIPAGRWGLPQDLQGPAVFLASSASDYVNGYTIAVDGGWLAR +>P37769.2 +MILSAFSLEGKVAVVTGCDTGLGQGMALGLAQAGCDIVGINIVEPTETIEQVTALGRRFLSLTADLRKIDGIPALLDRAVAEFGHIDILVNNAGLIRREDALEFSEKDWDDVMNLNIKSVFFMSQAAAKHFIAQGNGGKIINIASMLSFQGGIRVPSYTASKSGVMGVTRLMANEWAKHNINVNAIAPGYMATNNTQQLRADEQRSAEILDRIPAGRWGLPSDLMGPIVFLASSASDYVNGYTIAVDGGWLAR +>P50842.1 +MGYLHDAFSLKGKTALVTGPGTGIGQGIAKALAGAGADIIGTSHTSSLSETQQLVEQEGRIFTSFTLDMSKPEAIKDSAAELFENRQIDILVNNAGIIHREKAEDFPEENWQHVLNVNLNSLFILTQLAGRHMLKRGHGKIINIASLLSFQGGILVPAYTASKHAVAGLTKSFANEWAASGIQVNAIAPGYISTANTKPIRDDEKRNEDILKRIPAGRWGQADDIGGTAVFLASRASDYVNGHILAVDGGWLSR +>Q1JP75.1 +MDLRLAGRRALVTGAGKGIGRSIVKALHAAGARVVAVSRTQADLDSLVRECPGVETVCVDLADWEATEQALGGVGPVDLLVNNAAVAFLQPFLEVTKEAYDMSFSVNLRAVIQVSQIVARGLIARGAPGVIVNVSSQASQRGLTNHSVYCSTKGALDTLTKVMAVELGPHKIRVNAVNPTVVMTPMGQAAWSDPQKAKAMLDRIPLGRFAEVENVVDTILFLLSDRSSMTTGSTVPVDGGFLAT +>Q91XV4.1 +MDLGLAGRRALVTGAGKGIGRSTVLALQAAGAHVVAVSRTQADLDSLVSECPGVETVCVDLADWEATEQALSSVGPVDLLVNNAAVALLQPFLEVTKEAFDMSFNVNLRAVIQVSQIVARGMIARGAPGAIVNVSSQASQRALANHSVYCSTKGALDMLTKMMALELGPHKIRVNAVNPTVVMTSMGRTNWSDPHKAKVMLDRIPLGKFAEVENVVDAILFLLSHRSNMTTGSTLPVDGGFLVT +>Q7Z4W1.2 +MELFLAGRRVLVTGAGKGIGRGTVQALHATGARVVAVSRTQADLDSLVRECPGIEPVCVDLGDWEATERALGSVGPVDLLVNNAAVALLQPFLEVTKEAFDRSFEVNLRAVIQVSQIVARGLIARGVPGAIVNVSSQCSQRAVTNHSVYCSTKGALDMLTKVMALELGPHKIRVNAVNPTVVMTSMGQATWSDPHKAKTMLNRIPLGKFAEVEHVVNAILFLLSDRSGMTTGSTLPVEGGFWAC +>P40397.2 +MANQKKKTLPPQHQNQQPGFEYLMDPRPVFDKPKKAKKLEGKTAIITGGDSGIGRAVSVLFAKEGANVVIVYLNEHQDAEETKQYVEKEGVKCLLIAGDVGDEAFCNDVVGQASQVFPSIDILVNNAAEQHVQPSIEKITSHQLIRTFQTNIFSMFYLTKAVLPHLKKGSSIINTASITAYKGNKTLIDYSATKGAIVTFTRSLSQSLVQQGIRVNAVAPGPIWTPLIPASFAAKDVEVFGSDVPMERPGQPVEVAPSYLYLASDDSTYVTGQTIHVNGGTIVNG +>O07575.1 +MNPMDRQTEGQEPQHQDRQPGIESKMNPLPLSEDEDYRGSGKLKGKVAIITGGDSGIGRAAAIAFAKEGADISILYLDEHSDAEETRKRIEKENVRCLLIPGDVGDENHCEQAVQQTVDHFGKLDILVNNAAEQHPQDSILNISTEQLEKTFRTNIFSMFHMTKKALPHLQEGCAIINTTSITAYEGDTALIDYSSTKGAIVSFTRSMAKSLADKGIRVNAVAPGPIWTPLIPATFPEEKVKQHGLDTPMGRPGQPVEHAGAYVLLASDESSYMTGQTIHVNGGRFIST +>Q5KTS5.1 +MASGGQFPPQKQESQPGKEHLMDPSPQHASPHYKPANKLQGKVALVTGGDSGIGRSVCYHFALEGATVAFTFVKGHEDKDANETLELLRKAKSSDAKDPIAIAADLGFDDNCKKVVDQVVNAFGSIDVLVNNAAEQYKASTVEDIDEERLERVFRTNIFAYFFMARHALKHMREGSTIINTTSINAYKGNAKLLDYTATKGAIVAFTRGLSLQLISKGIRVNGVAPGPVWTPLIPSSFDEEEVKQFGSEVPMKRAGQPYEIATAYVFLASCDSSYYSGQVLHPNGGAIVNG +>Q49117.2 +MSKLEGKVAVVTGASKGIGAAIAKALAKDGAAVVVNYASSKAGADAVVEAITAAGGKAIAVQADVSQAVQARGLVEAAVQQFGRLDVLVNNSGVYEFAAIEEVTEEHYRRIFDVNVLGVLLATQAASKHLGEGGSIINISSVVTDVLMPTSAVYSGTKGALNAISGVLANELAPRKIRVNVVSPGYVVTEGTHTAGIAGSEMEAGLVAQTPLGRSGQPDDIAGVVAFLASDDARWVTGEVINASGGVR +>Q9KQH7.2 +MNLEGKVALVTGASRGIGKAIAELLAERGAKVIGTATSESGAQAISDYLGDNGKGMALNVTNPESIEAVLKAITDEFGGVDILVNNAGITRDNLLMRMKEEEWSDIMETNLTSIFRLSKAVLRGMMKKRQGRIINVGSVVGTMGNAGQANYAAAKAGVIGFTKSMAREVASRGVTVNTVAPGFIETDMTKALNDEQRTATLAQVPAGRLGDPREIASAVAFLASPEAAYITGETLHVNGGMYMI +>P55336.1 +MNLEGKIALVTGASRGIGRAIAELLVERGATVIGTATSEGGAAAISEYLGENGKGLALNVTDVESIEATLKTINDECGAIDILVNNAGITRDNLLMRMKDDEWNDIINTNLTPIYRMSKAVLRGMMKKRAGRIINVGSVVGTMGNAGQTNYAAAKAGVIGFTKSMAREVASRGVTVNTVAPGFIETDMTKALNDDQRAATLSNVPAGRLGDPREIASAVVFLASPEAAYITGETLHVNGGMYMV +>P0A2C9.1 +MSFEGKIALVTGASRGIGRAIAETLVARGAKVIGTATSENGAKNISDYLGANGKGLMLNVTDPASIESVLENIRAEFGEVDILVNNAGITRDNLLMRMKDDEWNDIIETNLSSVFRLSKAVMRAMMKKRCGRIITIGSVVGTMGNAGQANYAAAKAGLIGFSKSLAREVASRGITVNVVAPGFIETDMTRALSDDQRAGILAQVPAGRLGGAQEIASAVAFLASDEASYITGETLHVNGGMYMV diff --git a/modules/bindings/tests/testfiles/multiple_aln.fasta b/modules/bindings/tests/testfiles/multiple_aln.fasta new file mode 100644 index 0000000000000000000000000000000000000000..45aff7ddb88fb44399b02de678e51844b550c6a4 --- /dev/null +++ b/modules/bindings/tests/testfiles/multiple_aln.fasta @@ -0,0 +1,58 @@ +>P50198.1 +--------------------------------------MANRLAGKVALITGGASGLGAAQAKRFAEEGAKVVIGDLNEEMAKGVVAEIRAAGGD-------ALFIRLDVTDAASWNNAIAAAVDGFG--GLTTLSNTAGIIHPGG-FEEESIEGWNKMVAVNQTAIFLGIKAAIPELVKSGN-GSIINISSLIGMFPTAGNASYCATKAAVRIMSKAAALEFVDRGVRVNTIVPG-----GMNTP--ITAN-----VPPDVLKQQTSQIPMGKLGDPIDIANGALFLASDEAKYITGVDLPIDGGWSVGV---------------- +>Q9WYG0.1 +--------------------------------------MN--FQGKVVLITGAGSGIGKKAAVMFAERGAKVAINDISEEKGKETVELIKSMGGE-------AAFIFGDVAKDA--EQIVKKTVETFG--RLDILVNNAGIVPYGN-IEETSEEDFDKTMAVNVKGPFLLSKYAVEQMKKQGG-GVIVNVSSEAGLIGIPRRCVYSVSKAALLGLTRSLAVDYVDYGIRVNAVCPGTTQSEGLMAR--VKASP----NPEELLKKMTSRIPMKRLGKEEEIAFAILFAACDEAGFMTGSIINIDGG-STAV---------------- +>Q8KWT4.1 +--------------------------------------MN--LTDKTVLITGGASGIGYAAVQAFLNQQANVVVADIDEAQGEAMIR--KENNDR-------LHFVHTDITDEPACQNAIRSAVDKFG--GLDVLINNAGIEIVAP-IHEMELSNWNKVLNVNLTGMFLMSKHALKYMLKSGK-GNIINTCSVGGVVAWPDIPAYNASKGGVLQLTRSMAVDYAKHNIRVNCVCPGIIDTPLNEKSFLENNEG----TLEEIKKEKAKVNPLLRLGKPEEIANVMLFLASDLSSYMTGSAITADGGYTAQ----------------- +>P39640.2 +--------------------------------------MN--LTDKTVLITGGASGIGYAAVQAFLGQQANVVVADIDEAQGEAMVR--KENNDR-------LHFVQTDITDEAACQHAVESAVHTFG--GLDVLINNAGIEIVAP-IHEMELSDWNKVLQVNLTGMFLMSKHALKHMLAAGK-GNIINTCSVGGLVAWPDIPAYNASKGGVLQLTKSMAVDYAKHQIRVNCVCPGIIDTPLNEKSFLENNEG----TLEEIKKEKAKVNPLLRLGKPEEIANVMLFLASDLSSYMTGSAITADGGYTAQ----------------- +>P46331.2 +--------------------------------------MGR-LENKTAVITGAATGIGQATAEVFANEGARVIIGDINKDQMEETVDAIRKNGGQ-------AESFHLDVSDENSVKAFADQIKDACG--TIDILFNNAGVDQEGGKVHEYPVDLFDRIIAVDLRGTFLCSKYLIPLMLENG--GSIINTSSMSGRAADLDRSGYNAAKGGITNLTKAMAIDYARNGIRVNSISPGTIETPLIDKLAGTKEQE----MGEQFREANKWITPLGRLGQPKEMATVALFLASDDSSYVTGEDITADGGIMAYTWPGKMLIEEKWKEETK +>P50197.1 +--------------------------------------MSD-LSGKTIIVTGGGSGIGRATVELLVASGANVPVADINDEAGEAVVA---TSGGK-------AAYFRCDIAQEEDVKALVAQTLAAFG--GLDGSFNNAAIPQAGLPLAEVSLERFRQSMDINVTGTFLCMKYQILAMIERGTKGSIVNTASAAGVVGVPMHGEYVGAKHAVVGLTRVAAADYGKHGIRVNALVPGAVRTPMLQR--AMDNDA----GLEPYLNS---IHPIGRFSEPHEQAQAAVWLLSDAASFVTGSCLAADGGFTAI----------------- +>P50199.1 +----------------------------------MSHPDLFSLSGARALVTGASRGIGLTLAKGLARYGAEVVLNGRNAESLDSAQSGFEAEGLK-------ASTAVFDVTDQDAVIDGVAAIERDMG--PIDILINNAGIQRRAP-LEEFSRKDWDDLMSTNVNAVFFVGQAVARHMIPRGRG-KIVNICSVQSELARPGIAPYTATKGAVKNLTKGMATDWGRHGLQINGLAPGYFATEMTERLVADEEFT----------DWLCKRTPAGRWGQVEELVGAAVFLSSRASSFVNGQVLMVDGGITVSL---------------- +>P0A9Q0.1 +----------------------------------MN--DLFSLAGKNILITGSAQGIGFLLATGLGKYGAQIIINDITAERAELAVEKLHQEGIQ-------AVAAPFNVTHKHEIDAAVEHIEKDIG--PIDVLVNNAGIQRRHP-FTEFPEQEWNDVIAVNQTAVFLVSQAVTRHMVERKAG-KVINICSMQSELGRDTITPYAASKGAVKMLTRGMCVELARHNIQVNGIAPGYFKTEMTKALVEDEAFT----------AWLCKRTPAARWGDPQELIGAAVFLSSKASDFVNGHLLFVDGGMLVAV---------------- +>Q05528.1 +-----------------------------------MILNTFNLQGKVALITGCDTGLGQGMAVGLAEAGCDIVGVN-IVE-PKETIEKVTAVGRR-------FLSLTADMSDISGHAALVEKAVAEFG--KVDILVNNAGIIRRED-AIEFSEKNWDDVMNLNIKSVFFMSQTVARQFIKQGHGGKIINIASMLSFQGGIPVPSYTASKKRVMGITRIVANEWAKHNINVNAIAPGYMATNNTQHVRADQDRS----------KEILDRIPAGRWGLPQDLQGPAVFLASSASDYVNGYTIAVDGGWLAR----------------- +>P37769.2 +-----------------------------------MILSAFSLEGKVAVVTGCDTGLGQGMALGLAQAGCDIVGIN-IVE-PTETIEQVTALGRR-------FLSLTADLRKIDGIPALLDRAVAEFG--HIDILVNNAGLIRRED-ALEFSEKDWDDVMNLNIKSVFFMSQAAAKHFIAQGNGGKIINIASMLSFQGGIRVPSYTASKSGVMGVTRLMANEWAKHNINVNAIAPGYMATNNTQQLRADEQRS----------AEILDRIPAGRWGLPSDLMGPIVFLASSASDYVNGYTIAVDGGWLAR----------------- +>P50842.1 +---------------------------------MGYLHDAFSLKGKTALVTGPGTGIGQGIAKALAGAGADIIGTS-HTSSLSETQQLVEQEGRI-------FTSFTLDMSKPE---AIKDSAAELFENRQIDILVNNAGIIHREK-AEDFPEENWQHVLNVNLNSLFILTQLAGRHMLKRGHG-KIINIASLLSFQGGILVPAYTASKHAVAGLTKSFANEWAASGIQVNAIAPGYISTANTKPIRDDEKRN----------EDILKRIPAGRWGQADDIGGTAVFLASRASDYVNGHILAVDGGWLSR----------------- +>Q9KQH7.2 +----------------------------------------MNLEGKVALVTGASRGIGKAIAELLAERGAKVIGTATSESGAQAISDYLGDNG----------KGMALNVTNPESIEAVLKAITDEFG--GVDILVNNAGITRDNL-LMRMKEEEWSDIMETNLTSIFRLSKAVLRGMMKKRQG-RIINVGSVVGTMGNAGQANYAAAKAGVIGFTKSMAREVASRGVTVNTVAPGFIETDMTKALNDEQR------------TATLAQVPAGRLGDPREIASAVAFLASPEAAYITGETLHVNGGMYMI----------------- +>P55336.1 +----------------------------------------MNLEGKIALVTGASRGIGRAIAELLVERGATVIGTATSEGGAAAISEYLGENG----------KGLALNVTDVESIEATLKTINDECG--AIDILVNNAGITRDNL-LMRMKDDEWNDIINTNLTPIYRMSKAVLRGMMKKRAG-RIINVGSVVGTMGNAGQTNYAAAKAGVIGFTKSMAREVASRGVTVNTVAPGFIETDMTKALNDDQR------------AATLSNVPAGRLGDPREIASAVVFLASPEAAYITGETLHVNGGMYMV----------------- +>P0A2C9.1 +----------------------------------------MSFEGKIALVTGASRGIGRAIAETLVARGAKVIGTATSENGAKNISDYLGANG----------KGLMLNVTDPASIESVLENIRAEFG--EVDILVNNAGITRDNL-LMRMKDDEWNDIIETNLSSVFRLSKAVMRAMMKKRCG-RIITIGSVVGTMGNAGQANYAAAKAGLIGFSKSLAREVASRGITVNVVAPGFIETDMTRALSDDQR------------AGILAQVPAGRLGGAQEIASAVAFLASDEASYITGETLHVNGGMYMV----------------- +>P42317.2 +------------------------------------------MRKQVALVTGAAGGIGFEIAREFAREGASVIVSDLRPEACEKAASKLAEEGFD-------AAAIPYDVTKEAQVADTVNVIQKQYG--RLDILVNNAGIQHVAP-IEEFPTDTFEQLIKVMLTAPFIAMKHVFPIMKKQQFG-RIINIASVNGLVGFAGKSAYNSAKHGVIGLTKVGALEGAPHGITVNALCPGYVDTQLVRNQLSDLSKTRNVPYDSVLEQVIFPLVPQKRLLSVKEIADYAVFLASEKAKGVTGQAVVLDGGYTAQ----------------- +>P40397.2 +MANQKKKT--LPPQHQNQQPGFEYLMDPRPVFDKP--KKAKKLEGKTAIITGGDSGIGRAVSVLFAKEGANVVIVYLN--EHQDAEETKQYVEKE----GVKCLLIAGDVGDEAFCNDVVGQASQVFP--SIDILVNNAAEQHVQPSIEKITSHQLIRTFQTNIFSMFYLTKAVLPHLKKGSS---IINTASITAYKGNKTLIDYSATKGAIVTFTRSLSQSLVQQGIRVNAVAPGPIWTP--LIPASFAAKD---------VEVFGSDVPMERPGQPVEVAPSYLYLASDDSTYVTGQTIHVNGGTIVNG---------------- +>O07575.1 +MNPMDRQTEGQEPQHQDRQPGIESKMNPLPLSEDEDYRGSGKLKGKVAIITGGDSGIGRAAAIAFAKEGADISILYLD--EHSDAEETRKRIEKE----NVRCLLIPGDVGDENHCEQAVQQTVDHFG--KLDILVNNAAEQHPQDSILNISTEQLEKTFRTNIFSMFHMTKKALPHLQEGCA---IINTTSITAYEGDTALIDYSSTKGAIVSFTRSMAKSLADKGIRVNAVAPGPIWTP--LIPATFPEEK---------VKQHGLDTPMGRPGQPVEHAGAYVLLASDESSYMTGQTIHVNGGRFIST---------------- +>Q5KTS5.1 +MASGGQFP----PQKQESQPGKEHLMDPSPQHASPHYKPANKLQGKVALVTGGDSGIGRSVCYHFALEGATVAFTFVKGHEDKDANETLELLRKAKSSDAKDPIAIAADLGFDDNCKKVVDQVVNAFG--SIDVLVNNAAEQYKASTVEDIDEERLERVFRTNIFAYFFMARHALKHMREGST---IINTTSINAYKGNAKLLDYTATKGAIVAFTRGLSLQLISKGIRVNGVAPGPVWTP--LIPSSFDEEE---------VKQFGSEVPMKRAGQPYEIATAYVFLASCDSSYYSGQVLHPNGGAIVNG---------------- +>Q49117.2 +---------------------------------------MSKLEGKVAVVTGASKGIGAAIAKALAKDGAAVVVNYAS--SKAGADAVVEAITAA----GGKAIAVQADVSQAVQARGLVEAAVQQFG--RLDVLVN-NSGVYEFAAIEEVTEEHYRRIFDVNVLGVLLATQAASKHLGEGGS---IINISSVVTDVLMPTSAVYSGTKGALNAISGVLANELAPRKIRVNVVSPGYVVTEGTHTAGIAGSEM---------EAGLVAQTPLGRSGQPDDIAGVVAFLASDDARWVTGEVINASGGVR------------------- +>target +----------------------------------------MRLDGKTALITGSARGIGRAFAEAYVREGARVAIADINLEAARATAAEI---GP-------AACAIALDVTDQASIDRCVAELLDRWG--SIDILVNNAALFDLAP-IVEITRESYDRLFAINVSGTLFMMQAVARAMIAGGRGGKIINMASQAGRRGEALVGVYCATKAAVISLTQSAGLNLIRHGINVNAIAPGVVDGEHWDGVDAKFAD-YENLPRGEKKRQVGAAVPFGRMGRAEDLTGMAIFLATPEADYIVAQTYNVDGGNWMS----------------- +>Q59787.1 +----------------------------------------MRLDGKTALITGSARGIGRAFAEAYVREGARVAIADINLEAARATAAEI---GP-------AACAIALDVTDQASIDRCVAELLDRWG--SIDILVNNAALFDLAP-IVEITRESYDRLFAINVSGTLFMMQAVARAMIAGGRGGKIINMASQAGRRGEALVGVYCATKAAVISLTQSAGLNLIRHGINVNAIAPGVVDGEHWDGVDAKFAD-YENLPRGEKKRQVGAAVPFGRMGRAEDLTGMAIFLATPEADYIVAQTYNVDGGNWMS----------------- +>Q48436.2 +-------------------------------------------MKKVALVTGAGQGIGKAIALRLVKDGFAVAIADYNDATAKAVASEINQAGG-------RAMAVKVDVSDRDQVFAAVEQARKTLG--GFDVIVNNAGVAPSTP-IESITPEIVDKVYNINVKGVIWGIQAAVEAFKKEGHGGKIINACSQAGHVGNPELAVYSSSKFAVRGLTQTAARDLAPLGITVNGYCPGIVKTPMWAEIDRQVSE-AAGKPLGYGTAEFAKRITLGRLSEPEDVAACVSYLASPDSDYMTGQSLLIDGGMVFN----------------- +>Q04520.1 +-------------------------------------------MQKVALVTGAGQGIGKAIALRLVKDGFAVAIADYNDATATAVAAEINQAGG-------RAVAIKVDVSRRDQVFAAVEQARKALG--GFNVIVNNAGIAPSTP-IESITEEIVDRVYNINVKGVIWGMQAAVEAFKKEGHGGKIVNACSQAGHVGNPELAVYSSSKFAVRGLTQTAARDLAPLGITVNGFCPGIVKTPMWAEIDRQCRK-RRAN--RWATARLN-------LPNASPLAACRSLKTSPPACRSSPARIPTI----------------------- +>P66776.1 +-----------------------------------------MTNNKVALVTGGAQGIGFKIAERLVEDGFKVAVVDFNEEGAKAAALKLSSDGT-------KAIAIKADVSNRDDVFNAVRQTAAQFG--DFHVMVNNAGLGPTTP-IDTITEEQFKTVYGVNVAGVLWGIQAAHEQFKKFNHGGKIINATSQAGVEGNPGLSLYCSTKFAVRGLTQVAAQDLASEGITVNAFAPGIVQTPMMESIAVATAE-EAGKPEAWGWEQFTSQIALGRVSQPEDVSNVVSFLAGKDSDYITGQTIIVDGGMRFR----------------- +>Q5HKG6.1 +-------------------------------------------MSKTAIITGSAGGLGKGIAERLANDGFNIVLQDINEALLLETEKEFKEKGY-------QAVAFKSDVSKKKEQEELVQFAVTEFG--QLDVMVNNAGVDAVTP-ILEIGEEELSKLFNINVFGTLFGIQAAANQFIKQKSKGKIINACSIAGHESYEVLGTYSATKHSVRSFTQTAAKELADKGITVNAYCPGVAKTEMWDRIDEEMVKLDDSLEIGDAFEAFSSEIKLGRYQEPSDVANLVSFLASNDSDYITGQSILTDGGLVYR----------------- +>Q8CQD2.1 +-------------------------------------------MSKTAIITGAAGGLGKGIAERLANDGFNIVLQDINEALLLETEKEFKEKGY-------QAVAYKSDVSKKKEQEELVQFAVTEFG--QLDVMVNNAGVDAVTP-ILEIGEEELSKLFNINVFGTLFGIQAAANQFIKQKSKGKIINACSIAGHESYEVLGTYSATKHSVRSFTQTAAKELADKGITVNAYCPGVAKTEMWDRIDEEMVKLDDSLEIGDAFEAFSSEIKLGRYQEPSDVANLVSFLASNDSDYITGQSILTDGGLVYR----------------- +>Q1JP75.1 +--------------------------------------MDLRLAGRRALVTGAGKGIGRSIVKALHAAGARVVAVSRTQADLDSLVRECP-----------GVETVCVDLAD----WEATEQALGGVG--PVDLLVNNAAVAFLQP-FLEVTKEAYDMSFSVNLRAVIQVSQIVARGLIARGAPGVIVNVSSQASQRGLTNHSVYCSTKGALDTLTKVMAVELGPHKIRVNAVNPTVVMTPMGQAAWSDPQK----------AKAMLDRIPLGRFAEVENVVDTILFLLSDRSSMTTGSTVPVDGGFLAT----------------- +>Q91XV4.1 +--------------------------------------MDLGLAGRRALVTGAGKGIGRSTVLALQAAGAHVVAVSRTQADLDSLVSECP-----------GVETVCVDLAD----WEATEQALSSVG--PVDLLVNNAAVALLQP-FLEVTKEAFDMSFNVNLRAVIQVSQIVARGMIARGAPGAIVNVSSQASQRALANHSVYCSTKGALDMLTKMMALELGPHKIRVNAVNPTVVMTSMGRTNWSDPHK----------AKVMLDRIPLGKFAEVENVVDAILFLLSHRSNMTTGSTLPVDGGFLVT----------------- +>Q7Z4W1.2 +--------------------------------------MELFLAGRRVLVTGAGKGIGRGTVQALHATGARVVAVSRTQADLDSLVRECP-----------GIEPVCVDLGD----WEATERALGSVG--PVDLLVNNAAVALLQP-FLEVTKEAFDRSFEVNLRAVIQVSQIVARGLIARGVPGAIVNVSSQCSQRAVTNHSVYCSTKGALDMLTKVMALELGPHKIRVNAVNPTVVMTSMGQATWSDPHK----------AKTMLNRIPLGKFAEVEHVVNAILFLLSDRSGMTTGSTLPVEGGFWAC----------------- diff --git a/modules/bindings/tests/testfiles/pairwise_aln.fasta b/modules/bindings/tests/testfiles/pairwise_aln.fasta new file mode 100644 index 0000000000000000000000000000000000000000..b6fe766c1208cde1071a4f7144f7f4407c76fb63 --- /dev/null +++ b/modules/bindings/tests/testfiles/pairwise_aln.fasta @@ -0,0 +1,4 @@ +>testseq +------MRLDGKTALITGSARGIGRAFAEAYVREGARVAIADIN---LEAARATAAEIGPAACAIALDVTDQASIDRCVAELLDRWGSIDILVNNAALFDLAPIVEITRESYDRLFAINVSGTLFMMQAVARAMIAGGRGGKIINMASQAGRRGEALVGVYCATKAAVISLTQSAGLNLIRHGINVNAIAPGVVDGEHWDGVDAKFADYENLPRGEKKRQVGAAVPFGRMGRAEDLTGMAIFLATPEADYIVAQTYNVDGGNWMS- +>P50199.1 +MSHPDLFSLSGARALVTGASRGIGLTLAKGLARYGAEVVLNGRNAESLDSAQSGFEAEGLKASTAVFDVTDQDAVIDGVAAIERDMGPIDILINNAGIQRRAPLEEFSRKDWDDLMSTNVNAVFFVGQAVARHMIPRGRG-KIVNICSVQSELARPGIAPYTATKGAVKNLTKGMATDWGRHGLQINGLAPGYFATEMTE----RLVADEEFTDWLCKR-----TPAGRWGQVEELVGAAVFLSSRASSFVNGQVLMVDGGITVSL diff --git a/modules/bindings/tests/testfiles/similar.fasta b/modules/bindings/tests/testfiles/similar.fasta new file mode 100644 index 0000000000000000000000000000000000000000..af6487c81676327376422a7c17485c5bf99db926 --- /dev/null +++ b/modules/bindings/tests/testfiles/similar.fasta @@ -0,0 +1,2 @@ +>P50199.1 +MSHPDLFSLSGARALVTGASRGIGLTLAKGLARYGAEVVLNGRNAESLDSAQSGFEAEGLKASTAVFDVTDQDAVIDGVAAIERDMGPIDILINNAGIQRRAPLEEFSRKDWDDLMSTNVNAVFFVGQAVARHMIPRGRGKIVNICSVQSELARPGIAPYTATKGAVKNLTKGMATDWGRHGLQINGLAPGYFATEMTERLVADEEFTDWLCKRTPAGRWGQVEELVGAAVFLSSRASSFVNGQVLMVDGGITVSL diff --git a/modules/bindings/tests/testfiles/test.fasta b/modules/bindings/tests/testfiles/test.fasta new file mode 100644 index 0000000000000000000000000000000000000000..38da1518cab1d2c60452b96b401b8b251454574e --- /dev/null +++ b/modules/bindings/tests/testfiles/test.fasta @@ -0,0 +1,2 @@ +>testseq +MRLDGKTALITGSARGIGRAFAEAYVREGARVAIADINLEAARATAAEIGPAACAIALDVTDQASIDRCVAELLDRWGSIDILVNNAALFDLAPIVEITRESYDRLFAINVSGTLFMMQAVARAMIAGGRGGKIINMASQAGRRGEALVGVYCATKAAVISLTQSAGLNLIRHGINVNAIAPGVVDGEHWDGVDAKFADYENLPRGEKKRQVGAAVPFGRMGRAEDLTGMAIFLATPEADYIVAQTYNVDGGNWMS diff --git a/modules/conop/data/charmm.cif b/modules/conop/data/charmm.cif new file mode 100644 index 0000000000000000000000000000000000000000..ced6449d30ad68b02a4026cf8e752a479637d445 --- /dev/null +++ b/modules/conop/data/charmm.cif @@ -0,0 +1,2247 @@ +data_ALA +_chem_comp.id ALA +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C3 H11 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code A +_chem_comp.three_letter_code ALA +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ALA N N N 0 N N N N ALA 1 +ALA CA CA C 0 N N N CA ALA 2 +ALA C C C 0 N N N C ALA 3 +ALA O O O 0 N Y N O ALA 4 +ALA CB CB C 0 N N N CB ALA 5 +ALA HA HA H 0 N N N HA ALA 6 +ALA HN HN H 0 N N N HN ALA 7 +ALA HB1 HB1 H 0 N N N HB1 ALA 8 +ALA HB2 HB2 H 0 N N N HB2 ALA 9 +ALA HB3 HB3 H 0 N N N HB3 ALA 10 +ALA OT1 OT1 O 0 N Y N OT1 ALA 11 +ALA OT2 OT2 O 0 N Y N OT2 ALA 12 +ALA HT1 HT1 H 0 N N N HT1 ALA 13 +ALA HT2 HT2 H 0 N N N HT2 ALA 14 +ALA HT3 HT3 H 0 N N N HT3 ALA 15 +ALA HT1 HT1 H 0 N N N HT1 ALA 16 +ALA HT2 HT2 H 0 N N N HT2 ALA 17 +ALA HT3 HT3 H 0 N N N HT3 ALA 18 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +ALA CB CA SING N N 1 +ALA N HN SING N N 2 +ALA N CA SING N N 3 +ALA C CA SING N N 4 +ALA CA HA SING N N 5 +ALA CB HB1 SING N N 6 +ALA CB HB2 SING N N 7 +ALA CB HB3 SING N N 8 +ALA O C SING N N 9 +ALA OT1 C SING N N 10 +ALA OT2 C SING N N 11 +ALA HT1 NH SING N N 12 +ALA HT2 NH SING N N 13 +ALA HT3 NH SING N N 14 +data_ARG +_chem_comp.id ARG +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H16 N4 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code R +_chem_comp.three_letter_code ARG +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ARG N N N 0 N N N N ARG 1 +ARG CA CA C 0 N N N CA ARG 2 +ARG C C C 0 N N N C ARG 3 +ARG O O O 0 N Y N O ARG 4 +ARG CB CB C 0 N N N CB ARG 5 +ARG CG CG C 0 N N N CG ARG 6 +ARG CD CD C 0 N N N CD ARG 7 +ARG NE NE N 0 N N N NE ARG 8 +ARG CZ CZ C 0 N N N CZ ARG 9 +ARG NH1 NH1 N 0 N N N NH1 ARG 10 +ARG NH2 NH2 N 0 N N N NH2 ARG 11 +ARG HN HN H 0 N N N HN ARG 12 +ARG HB1 HB1 H 0 N N N HB1 ARG 13 +ARG HB2 HB2 H 0 N N N HB2 ARG 14 +ARG HA HA H 0 N N N HA ARG 15 +ARG HG1 HG1 H 0 N N N HG1 ARG 16 +ARG HG2 HG2 H 0 N N N HG2 ARG 17 +ARG HD1 HD1 H 0 N N N HD1 ARG 18 +ARG HD2 HD2 H 0 N N N HD2 ARG 19 +ARG HH11 HH11 H 0 N N N HH11 ARG 20 +ARG HH12 HH12 H 0 N N N HH12 ARG 21 +ARG HH21 HH21 H 0 N N N HH21 ARG 22 +ARG HH22 HH22 H 0 N N N HH22 ARG 23 +ARG HE HE H 0 N N N HE ARG 24 +ARG OT1 OT1 O 0 N Y N OT1 ARG 25 +ARG OT2 OT2 O 0 N Y N OT2 ARG 26 +ARG HT1 HT1 H 0 N N N HT1 ARG 27 +ARG HT2 HT2 H 0 N N N HT2 ARG 28 +ARG HT3 HT3 H 0 N N N HT3 ARG 29 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +ARG CB CA SING N N 1 +ARG CG CB SING N N 2 +ARG CD CG SING N N 3 +ARG NE CD SING N N 4 +ARG CZ NE SING N N 5 +ARG NH2 CZ SING N N 6 +ARG N HN SING N N 7 +ARG N CA SING N N 8 +ARG C CA SING N N 9 +ARG CA HA SING N N 10 +ARG CB HB1 SING N N 11 +ARG CB HB2 SING N N 12 +ARG CG HG1 SING N N 13 +ARG CG HG2 SING N N 14 +ARG CD HD1 SING N N 15 +ARG CD HD2 SING N N 16 +ARG NE HE SING N N 17 +ARG NH1 HH11 SING N N 18 +ARG NH1 HH12 SING N N 19 +ARG NH2 HH21 SING N N 20 +ARG NH2 HH22 SING N N 21 +ARG O C SING N N 22 +ARG CZ NH1 SING N N 23 +ARG OT1 C SING N N 24 +ARG OT2 C SING N N 25 +ARG HT1 NH SING N N 26 +ARG HT2 NH SING N N 27 +ARG HT3 NH SING N N 28 +data_ASN +_chem_comp.id ASN +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C4 H9 N2 O4" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code N +_chem_comp.three_letter_code ASN +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ASN N N N 0 N N N N ASN 1 +ASN CA CA C 0 N N N CA ASN 2 +ASN C C C 0 N N N C ASN 3 +ASN O O O 0 N Y N O ASN 4 +ASN CB CB C 0 N N N CB ASN 5 +ASN CG CG C 0 N N N CG ASN 6 +ASN OD1 OD1 O 0 N N N OD1 ASN 7 +ASN ND2 ND2 N 0 N N N ND2 ASN 8 +ASN HN HN H 0 N N N HN ASN 9 +ASN HA HA H 0 N N N HA ASN 10 +ASN HB1 HB1 H 0 N N N HB1 ASN 11 +ASN HB2 HB2 H 0 N N N HB2 ASN 12 +ASN HD21 HD21 H 0 N N N HD21 ASN 13 +ASN HD22 HD22 H 0 N N N HD22 ASN 14 +ASN OT1 OT1 O 0 N Y N OT1 ASN 15 +ASN OT2 OT2 O 0 N Y N OT2 ASN 16 +ASN HT1 HT1 H 0 N N N HT1 ASN 17 +ASN HT2 HT2 H 0 N N N HT2 ASN 18 +ASN HT3 HT3 H 0 N N N HT3 ASN 19 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +ASN CB CA SING N N 1 +ASN CG CB SING N N 2 +ASN ND2 CG SING N N 3 +ASN N HN SING N N 4 +ASN N CA SING N N 5 +ASN C CA SING N N 6 +ASN CA HA SING N N 7 +ASN CB HB1 SING N N 8 +ASN CB HB2 SING N N 9 +ASN ND2 HD21 SING N N 10 +ASN ND2 HD22 SING N N 11 +ASN C O SING N N 12 +ASN CG OD1 SING N N 13 +ASN OT1 C SING N N 14 +ASN OT2 C SING N N 15 +ASN HT1 NH SING N N 16 +ASN HT2 NH SING N N 17 +ASN HT3 NH SING N N 18 +data_ASP +_chem_comp.id ASP +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C4 H7 N O5" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code D +_chem_comp.three_letter_code ASP +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ASP N N N 0 N N N N ASP 1 +ASP CA CA C 0 N N N CA ASP 2 +ASP C C C 0 N N N C ASP 3 +ASP O O O 0 N Y N O ASP 4 +ASP CB CB C 0 N N N CB ASP 5 +ASP CG CG C 0 N N N CG ASP 6 +ASP OD1 OD1 O 0 N N N OD1 ASP 7 +ASP OD2 OD2 O 0 N N N OD2 ASP 8 +ASP HA HA H 0 N N N HA ASP 9 +ASP HB1 HB1 H 0 N N N HB1 ASP 10 +ASP HB2 HB2 H 0 N N N HB2 ASP 11 +ASP HN HN H 0 N N N HN ASP 12 +ASP OT1 OT1 O 0 N Y N OT1 ASP 13 +ASP OT2 OT2 O 0 N Y N OT2 ASP 14 +ASP HT1 HT1 H 0 N N N HT1 ASP 15 +ASP HT2 HT2 H 0 N N N HT2 ASP 16 +ASP HT3 HT3 H 0 N N N HT3 ASP 17 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +ASP CB CA SING N N 1 +ASP CG CB SING N N 2 +ASP OD2 CG SING N N 3 +ASP N HN SING N N 4 +ASP N CA SING N N 5 +ASP C CA SING N N 6 +ASP CA HA SING N N 7 +ASP CB HB1 SING N N 8 +ASP CB HB2 SING N N 9 +ASP O C SING N N 10 +ASP CG OD1 SING N N 11 +ASP OT1 C SING N N 12 +ASP OT2 C SING N N 13 +ASP HT1 NH SING N N 14 +ASP HT2 NH SING N N 15 +ASP HT3 NH SING N N 16 +data_ASPP +_chem_comp.id ASPP +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C4 H8 N O5" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code D +_chem_comp.three_letter_code ASPP +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ASPP N N N 0 N N N N ASPP 1 +ASPP CA CA C 0 N N N CA ASPP 2 +ASPP C C C 0 N N N C ASPP 3 +ASPP O O O 0 N Y N O ASPP 4 +ASPP CB CB C 0 N N N CB ASPP 5 +ASPP CG CG C 0 N N N CG ASPP 6 +ASPP OD1 OD1 O 0 N N N OD1 ASPP 7 +ASPP OD2 OD2 O 0 N N N OD2 ASPP 8 +ASPP HN HN H 0 N N N HN ASPP 9 +ASPP HA HA H 0 N N N HA ASPP 10 +ASPP HB1 HB1 H 0 N N N HB1 ASPP 11 +ASPP HB2 HB2 H 0 N N N HB2 ASPP 12 +ASPP HD2 HD2 H 0 N N N HD2 ASPP 13 +ASPP OT1 OT1 O 0 N Y N OT1 ASPP 14 +ASPP OT2 OT2 O 0 N Y N OT2 ASPP 15 +ASPP HT1 HT1 H 0 N N N HT1 ASPP 16 +ASPP HT2 HT2 H 0 N N N HT2 ASPP 17 +ASPP HT3 HT3 H 0 N N N HT3 ASPP 18 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +ASPP CB CA SING N N 1 +ASPP CG CB SING N N 2 +ASPP OD2 CG SING N N 3 +ASPP OD2 HD2 SING N N 4 +ASPP N HN SING N N 5 +ASPP N CA SING N N 6 +ASPP C CA SING N N 7 +ASPP CA HA SING N N 8 +ASPP CB HB1 SING N N 9 +ASPP CB HB2 SING N N 10 +ASPP O C SING N N 11 +ASPP CG OD1 SING N N 12 +ASPP OT1 C SING N N 13 +ASPP OT2 C SING N N 14 +ASPP HT1 NH SING N N 15 +ASPP HT2 NH SING N N 16 +ASPP HT3 NH SING N N 17 +data_CYS +_chem_comp.id CYS +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C3 H8 N O3 S" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code C +_chem_comp.three_letter_code CYS +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +CYS N N N 0 N N N N CYS 1 +CYS CA CA C 0 N N N CA CYS 2 +CYS C C C 0 N N N C CYS 3 +CYS O O O 0 N Y N O CYS 4 +CYS CB CB C 0 N N N CB CYS 5 +CYS SG SG S 0 N N N SG CYS 6 +CYS HA HA H 0 N N N HA CYS 7 +CYS HN HN H 0 N N N HN CYS 8 +CYS HB1 HB1 H 0 N N N HB1 CYS 9 +CYS HB2 HB2 H 0 N N N HB2 CYS 10 +CYS HG1 HG1 H 0 N N N HG1 CYS 11 +CYS OT1 OT1 O 0 N Y N OT1 CYS 12 +CYS OT2 OT2 O 0 N Y N OT2 CYS 13 +CYS HT1 HT1 H 0 N N N HT1 CYS 14 +CYS HT2 HT2 H 0 N N N HT2 CYS 15 +CYS HT3 HT3 H 0 N N N HT3 CYS 16 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +CYS CB CA SING N N 1 +CYS SG CB SING N N 2 +CYS N HN SING N N 3 +CYS N CA SING N N 4 +CYS C CA SING N N 5 +CYS CA HA SING N N 6 +CYS CB HB1 SING N N 7 +CYS CB HB2 SING N N 8 +CYS SG HG1 SING N N 9 +CYS O C SING N N 10 +CYS OT1 C SING N N 11 +CYS OT2 C SING N N 12 +CYS HT1 NH SING N N 13 +CYS HT2 NH SING N N 14 +CYS HT3 NH SING N N 15 +data_CYS2 +_chem_comp.id CYS2 +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C3 H7 N O3 S" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code C +_chem_comp.three_letter_code CYS2 +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +CYS2 N N N 0 N N N N CYS2 1 +CYS2 CA CA C 0 N N N CA CYS2 2 +CYS2 C C C 0 N N N C CYS2 3 +CYS2 O O O 0 N Y N O CYS2 4 +CYS2 CB CB C 0 N N N CB CYS2 5 +CYS2 SG SG S 0 N N N SG CYS2 6 +CYS2 HN HN H 0 N N N HN CYS2 7 +CYS2 HA HA H 0 N N N HA CYS2 8 +CYS2 HB1 HB1 H 0 N N N HB1 CYS2 9 +CYS2 HB2 HB2 H 0 N N N HB2 CYS2 10 +CYS2 OT1 OT1 O 0 N Y N OT1 CYS2 11 +CYS2 OT2 OT2 O 0 N Y N OT2 CYS2 12 +CYS2 HT1 HT1 H 0 N N N HT1 CYS2 13 +CYS2 HT2 HT2 H 0 N N N HT2 CYS2 14 +CYS2 HT3 HT3 H 0 N N N HT3 CYS2 15 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +CYS2 CB CA SING N N 1 +CYS2 SG CB SING N N 2 +CYS2 N HN SING N N 3 +CYS2 N CA SING N N 4 +CYS2 C CA SING N N 5 +CYS2 CA HA SING N N 6 +CYS2 CB HB1 SING N N 7 +CYS2 CB HB2 SING N N 8 +CYS2 O C SING N N 9 +CYS2 OT1 C SING N N 10 +CYS2 OT2 C SING N N 11 +CYS2 HT1 NH SING N N 12 +CYS2 HT2 NH SING N N 13 +CYS2 HT3 NH SING N N 14 +data_GLN +_chem_comp.id GLN +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C5 H11 N2 O4" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code N +_chem_comp.three_letter_code GLN +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +GLN N N N 0 N N N N GLN 1 +GLN CA CA C 0 N N N CA GLN 2 +GLN C C C 0 N N N C GLN 3 +GLN O O O 0 N Y N O GLN 4 +GLN CB CB C 0 N N N CB GLN 5 +GLN CG CG C 0 N N N CG GLN 6 +GLN CD CD C 0 N N N CD GLN 7 +GLN OE1 OE1 O 0 N N N OE1 GLN 8 +GLN NE2 NE2 N 0 N N N NE2 GLN 9 +GLN HN HN H 0 N N N HN GLN 10 +GLN HA HA H 0 N N N HA GLN 11 +GLN HB1 HB1 H 0 N N N HB1 GLN 12 +GLN HB2 HB2 H 0 N N N HB2 GLN 13 +GLN HG1 HG1 H 0 N N N HG1 GLN 14 +GLN HG2 HG2 H 0 N N N HG2 GLN 15 +GLN HE21 HE21 H 0 N N N HE21 GLN 16 +GLN HE22 HE22 H 0 N N N HE22 GLN 17 +GLN OT1 OT1 O 0 N Y N OT1 GLN 18 +GLN OT2 OT2 O 0 N Y N OT2 GLN 19 +GLN HT1 HT1 H 0 N N N HT1 GLN 20 +GLN HT2 HT2 H 0 N N N HT2 GLN 21 +GLN HT3 HT3 H 0 N N N HT3 GLN 22 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +GLN CB CA SING N N 1 +GLN CG CB SING N N 2 +GLN CD CG SING N N 3 +GLN NE2 CD SING N N 4 +GLN N HN SING N N 5 +GLN N CA SING N N 6 +GLN C CA SING N N 7 +GLN CA HA SING N N 8 +GLN CB HB1 SING N N 9 +GLN CB HB2 SING N N 10 +GLN CG HG1 SING N N 11 +GLN CG HG2 SING N N 12 +GLN NE2 HE21 SING N N 13 +GLN NE2 HE22 SING N N 14 +GLN O C SING N N 15 +GLN CD OE1 SING N N 16 +GLN OT1 C SING N N 17 +GLN OT2 C SING N N 18 +GLN HT1 NH SING N N 19 +GLN HT2 NH SING N N 20 +GLN HT3 NH SING N N 21 +data_GLU +_chem_comp.id GLU +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C5 H9 N O5" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code E +_chem_comp.three_letter_code GLU +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +GLU N N N 0 N N N N GLU 1 +GLU CA CA C 0 N N N CA GLU 2 +GLU C C C 0 N N N C GLU 3 +GLU O O O 0 N Y N O GLU 4 +GLU CB CB C 0 N N N CB GLU 5 +GLU CG CG C 0 N N N CG GLU 6 +GLU CD CD C 0 N N N CD GLU 7 +GLU OE1 OE1 O 0 N N N OE1 GLU 8 +GLU OE2 OE2 O 0 N N N OE2 GLU 9 +GLU HN HN H 0 N N N HN GLU 10 +GLU HA HA H 0 N N N HA GLU 11 +GLU HB1 HB1 H 0 N N N HB1 GLU 12 +GLU HB2 HB2 H 0 N N N HB2 GLU 13 +GLU HG1 HG1 H 0 N N N HG1 GLU 14 +GLU HG2 HG2 H 0 N N N HG2 GLU 15 +GLU OT1 OT1 O 0 N Y N OT1 GLU 16 +GLU OT2 OT2 O 0 N Y N OT2 GLU 17 +GLU HT1 HT1 H 0 N N N HT1 GLU 18 +GLU HT2 HT2 H 0 N N N HT2 GLU 19 +GLU HT3 HT3 H 0 N N N HT3 GLU 20 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +GLU CB CA SING N N 1 +GLU CG CB SING N N 2 +GLU CD CG SING N N 3 +GLU OE2 CD SING N N 4 +GLU N HN SING N N 5 +GLU N CA SING N N 6 +GLU C CA SING N N 7 +GLU CA HA SING N N 8 +GLU CB HB1 SING N N 9 +GLU CB HB2 SING N N 10 +GLU CG HG1 SING N N 11 +GLU CG HG2 SING N N 12 +GLU O C SING N N 13 +GLU CD OE1 SING N N 14 +GLU OT1 C SING N N 15 +GLU OT2 C SING N N 16 +GLU HT1 NH SING N N 17 +GLU HT2 NH SING N N 18 +GLU HT3 NH SING N N 19 +data_GLUP +_chem_comp.id GLUP +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C5 H10 N O5" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code E +_chem_comp.three_letter_code GLUP +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +GLUP N N N 0 N N N N GLUP 1 +GLUP CA CA C 0 N N N CA GLUP 2 +GLUP C C C 0 N N N C GLUP 3 +GLUP O O O 0 N Y N O GLUP 4 +GLUP CB CB C 0 N N N CB GLUP 5 +GLUP CG CG C 0 N N N CG GLUP 6 +GLUP CD CD C 0 N N N CD GLUP 7 +GLUP OE1 OE1 O 0 N N N OE1 GLUP 8 +GLUP OE2 OE2 O 0 N N N OE2 GLUP 9 +GLUP HN HN H 0 N N N HN GLUP 10 +GLUP HA HA H 0 N N N HA GLUP 11 +GLUP HB1 HB1 H 0 N N N HB1 GLUP 12 +GLUP HB2 HB2 H 0 N N N HB2 GLUP 13 +GLUP HG1 HG1 H 0 N N N HG1 GLUP 14 +GLUP HG2 HG2 H 0 N N N HG2 GLUP 15 +GLUP HE2 HE2 H 0 N N N HE2 GLUP 16 +GLUP OT1 OT1 O 0 N Y N OT1 GLUP 17 +GLUP OT2 OT2 O 0 N Y N OT2 GLUP 18 +GLUP HT1 HT1 H 0 N N N HT1 GLUP 19 +GLUP HT2 HT2 H 0 N N N HT2 GLUP 20 +GLUP HT3 HT3 H 0 N N N HT3 GLUP 21 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +GLUP CB CA SING N N 1 +GLUP CG CB SING N N 2 +GLUP CD CG SING N N 3 +GLUP OE2 CD SING N N 4 +GLUP OE2 HE2 SING N N 5 +GLUP N HN SING N N 6 +GLUP N CA SING N N 7 +GLUP C CA SING N N 8 +GLUP CA HA SING N N 9 +GLUP CB HB1 SING N N 10 +GLUP CB HB2 SING N N 11 +GLUP CG HG1 SING N N 12 +GLUP CG HG2 SING N N 13 +GLUP O C SING N N 14 +GLUP CD OE1 SING N N 15 +GLUP OT1 C SING N N 16 +GLUP OT2 C SING N N 17 +GLUP HT1 NH SING N N 18 +GLUP HT2 NH SING N N 19 +GLUP HT3 NH SING N N 20 +data_GLY +_chem_comp.id GLY +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C2 H6 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code G +_chem_comp.three_letter_code GLY +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +GLY N N N 0 N N N N GLY 1 +GLY HN HN H 0 N N N HN GLY 2 +GLY CA CA C 0 N N N CA GLY 3 +GLY HA1 HA1 H 0 N N N HA1 GLY 4 +GLY HA2 HA2 H 0 N N N HA2 GLY 5 +GLY C C C 0 N N N C GLY 6 +GLY O O O 0 N Y N O GLY 7 +GLY OT1 OT1 O 0 N Y N OT1 GLY 8 +GLY OT2 OT2 O 0 N Y N OT2 GLY 9 +GLY HT1 HT1 H 0 N N N HT1 GLY 10 +GLY HT2 HT2 H 0 N N N HT2 GLY 11 +GLY HT3 HT3 H 0 N N N HT3 GLY 12 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +GLY N HN SING N N 1 +GLY N CA SING N N 2 +GLY C CA SING N N 3 +GLY CA HA1 SING N N 4 +GLY CA HA2 SING N N 5 +GLY O C SING N N 6 +GLY OT1 C SING N N 7 +GLY OT2 C SING N N 8 +GLY HT1 NH SING N N 9 +GLY HT2 NH SING N N 10 +GLY HT3 NH SING N N 11 +data_HSD +_chem_comp.id HSD +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H10 N3 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code H +_chem_comp.three_letter_code HSD +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +HSD N N N 0 N N N N HSD 1 +HSD CA CA C 0 N N N CA HSD 2 +HSD C C C 0 N N N C HSD 3 +HSD O O O 0 N Y N O HSD 4 +HSD CB CB C 0 N N N CB HSD 5 +HSD ND1 ND1 N 0 N N N ND1 HSD 6 +HSD CG CG C 0 N N N CG HSD 7 +HSD CE1 CE1 C 0 N N N CE1 HSD 8 +HSD NE2 NE2 N 0 N N N NE2 HSD 9 +HSD CD2 CD2 C 0 N N N CD2 HSD 10 +HSD HA HA H 0 N N N HA HSD 11 +HSD HN HN H 0 N N N HN HSD 12 +HSD HB1 HB1 H 0 N N N HB1 HSD 13 +HSD HB2 HB2 H 0 N N N HB2 HSD 14 +HSD HD1 HD1 H 0 N N N HD1 HSD 15 +HSD HE1 HE1 H 0 N N N HE1 HSD 16 +HSD HD2 HD2 H 0 N N N HD2 HSD 17 +HSD OT1 OT1 O 0 N Y N OT1 HSD 18 +HSD OT2 OT2 O 0 N Y N OT2 HSD 19 +HSD HT1 HT1 H 0 N N N HT1 HSD 20 +HSD HT2 HT2 H 0 N N N HT2 HSD 21 +HSD HT3 HT3 H 0 N N N HT3 HSD 22 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +HSD CB CA SING N N 1 +HSD CG CB SING N N 2 +HSD ND1 CG SING N N 3 +HSD CE1 ND1 SING N N 4 +HSD NE2 CD2 SING N N 5 +HSD N HN SING N N 6 +HSD N CA SING N N 7 +HSD C CA SING N N 8 +HSD CA HA SING N N 9 +HSD CB HB1 SING N N 10 +HSD CB HB2 SING N N 11 +HSD ND1 HD1 SING N N 12 +HSD CD2 HD2 SING N N 13 +HSD CE1 HE1 SING N N 14 +HSD O C SING N N 15 +HSD CG CD2 SING N N 16 +HSD CE1 NE2 SING N N 17 +HSD OT1 C SING N N 18 +HSD OT2 C SING N N 19 +HSD HT1 NH SING N N 20 +HSD HT2 NH SING N N 21 +HSD HT3 NH SING N N 22 +data_HSE +_chem_comp.id HSE +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H10 N3 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code H +_chem_comp.three_letter_code HSE +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +HSE N N N 0 N N N N HSE 1 +HSE CA CA C 0 N N N CA HSE 2 +HSE C C C 0 N N N C HSE 3 +HSE O O O 0 N Y N O HSE 4 +HSE HA HA H 0 N N N HA HSE 5 +HSE CB CB C 0 N N N CB HSE 6 +HSE CG CG C 0 N N N CG HSE 7 +HSE ND1 ND1 N 0 N N N ND1 HSE 8 +HSE CE1 CE1 C 0 N N N CE1 HSE 9 +HSE NE2 NE2 N 0 N N N NE2 HSE 10 +HSE CD2 CD2 C 0 N N N CD2 HSE 11 +HSE HB1 HB1 H 0 N N N HB1 HSE 12 +HSE HB2 HB2 H 0 N N N HB2 HSE 13 +HSE HN HN H 0 N N N HN HSE 14 +HSE HE1 HE1 H 0 N N N HE1 HSE 15 +HSE HE2 HE2 H 0 N N N HE2 HSE 16 +HSE HD2 HD2 H 0 N N N HD2 HSE 17 +HSE OT1 OT1 O 0 N Y N OT1 HSE 18 +HSE OT2 OT2 O 0 N Y N OT2 HSE 19 +HSE HT1 HT1 H 0 N N N HT1 HSE 20 +HSE HT2 HT2 H 0 N N N HT2 HSE 21 +HSE HT3 HT3 H 0 N N N HT3 HSE 22 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +HSE CB CA SING N N 1 +HSE CG CB SING N N 2 +HSE ND1 CG SING N N 3 +HSE NE2 CD2 SING N N 4 +HSE N HN SING N N 5 +HSE N CA SING N N 6 +HSE C CA SING N N 7 +HSE NE2 CE1 SING N N 8 +HSE CA HA SING N N 9 +HSE CB HB1 SING N N 10 +HSE CB HB2 SING N N 11 +HSE NE2 HE2 SING N N 12 +HSE CD2 HD2 SING N N 13 +HSE CE1 HE1 SING N N 14 +HSE O C SING N N 15 +HSE CD2 CG SING N N 16 +HSE CE1 ND1 SING N N 17 +HSE OT1 C SING N N 18 +HSE OT2 C SING N N 19 +HSE HT1 NH SING N N 20 +HSE HT2 NH SING N N 21 +HSE HT3 NH SING N N 22 +data_HSP +_chem_comp.id HSP +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H11 N3 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code H +_chem_comp.three_letter_code HSP +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +HSP N N N 0 N N N N HSP 1 +HSP CA CA C 0 N N N CA HSP 2 +HSP C C C 0 N N N C HSP 3 +HSP O O O 0 N Y N O HSP 4 +HSP CB CB C 0 N N N CB HSP 5 +HSP CD2 CD2 C 0 N N N CD2 HSP 6 +HSP CG CG C 0 N N N CG HSP 7 +HSP NE2 NE2 N 0 N N N NE2 HSP 8 +HSP ND1 ND1 N 0 N N N ND1 HSP 9 +HSP CE1 CE1 C 0 N N N CE1 HSP 10 +HSP HB1 HB1 H 0 N N N HB1 HSP 11 +HSP HB2 HB2 H 0 N N N HB2 HSP 12 +HSP HA HA H 0 N N N HA HSP 13 +HSP HD2 HD2 H 0 N N N HD2 HSP 14 +HSP HE2 HE2 H 0 N N N HE2 HSP 15 +HSP HD1 HD1 H 0 N N N HD1 HSP 16 +HSP HE1 HE1 H 0 N N N HE1 HSP 17 +HSP HN HN H 0 N N N HN HSP 18 +HSP OT1 OT1 O 0 N Y N OT1 HSP 19 +HSP OT2 OT2 O 0 N Y N OT2 HSP 20 +HSP HT1 HT1 H 0 N N N HT1 HSP 21 +HSP HT2 HT2 H 0 N N N HT2 HSP 22 +HSP HT3 HT3 H 0 N N N HT3 HSP 23 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +HSP CB CA SING N N 1 +HSP CG CB SING N N 2 +HSP ND1 CG SING N N 3 +HSP CE1 ND1 SING N N 4 +HSP NE2 CD2 SING N N 5 +HSP N HN SING N N 6 +HSP N CA SING N N 7 +HSP C CA SING N N 8 +HSP CA HA SING N N 9 +HSP CB HB1 SING N N 10 +HSP CB HB2 SING N N 11 +HSP ND1 HD1 SING N N 12 +HSP NE2 HE2 SING N N 13 +HSP CD2 HD2 SING N N 14 +HSP CE1 HE1 SING N N 15 +HSP O C SING N N 16 +HSP CD2 CG SING N N 17 +HSP NE2 CE1 SING N N 18 +HSP OT1 C SING N N 19 +HSP OT2 C SING N N 20 +HSP HT1 NH SING N N 21 +HSP HT2 NH SING N N 22 +HSP HT3 NH SING N N 23 +data_ILE +_chem_comp.id ILE +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H14 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code I +_chem_comp.three_letter_code ILE +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ILE N N N 0 N N N N ILE 1 +ILE CA CA C 0 N N N CA ILE 2 +ILE C C C 0 N N N C ILE 3 +ILE O O O 0 N Y N O ILE 4 +ILE CB CB C 0 N N N CB ILE 5 +ILE CG2 CG2 C 0 N N N CG2 ILE 6 +ILE CG1 CG1 C 0 N N N CG1 ILE 7 +ILE CD CD C 0 N N N CD ILE 8 +ILE HA HA H 0 N N N HA ILE 9 +ILE HB HB H 0 N N N HB ILE 10 +ILE HG21 HG21 H 0 N N N HG21 ILE 11 +ILE HG22 HG22 H 0 N N N HG22 ILE 12 +ILE HG23 HG23 H 0 N N N HG23 ILE 13 +ILE HG11 HG11 H 0 N N N HG11 ILE 14 +ILE HG12 HG12 H 0 N N N HG12 ILE 15 +ILE HD1 HD1 H 0 N N N HD1 ILE 16 +ILE HD2 HD2 H 0 N N N HD2 ILE 17 +ILE HD3 HD3 H 0 N N N HD3 ILE 18 +ILE HN HN H 0 N N N HN ILE 19 +ILE OT1 OT1 O 0 N Y N OT1 ILE 20 +ILE OT2 OT2 O 0 N Y N OT2 ILE 21 +ILE HT1 HT1 H 0 N N N HT1 ILE 22 +ILE HT2 HT2 H 0 N N N HT2 ILE 23 +ILE HT3 HT3 H 0 N N N HT3 ILE 24 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +ILE CB CA SING N N 1 +ILE CG1 CB SING N N 2 +ILE CG2 CB SING N N 3 +ILE CD CG1 SING N N 4 +ILE N HN SING N N 5 +ILE N CA SING N N 6 +ILE C CA SING N N 7 +ILE CA HA SING N N 8 +ILE CB HB SING N N 9 +ILE CG1 HG11 SING N N 10 +ILE CG1 HG12 SING N N 11 +ILE CG2 HG21 SING N N 12 +ILE CG2 HG22 SING N N 13 +ILE CG2 HG23 SING N N 14 +ILE CD HD1 SING N N 15 +ILE CD HD2 SING N N 16 +ILE CD HD3 SING N N 17 +ILE O C SING N N 18 +ILE OT1 C SING N N 19 +ILE OT2 C SING N N 20 +ILE HT1 NH SING N N 21 +ILE HT2 NH SING N N 22 +ILE HT3 NH SING N N 23 +data_LEU +_chem_comp.id LEU +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H14 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code L +_chem_comp.three_letter_code LEU +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +LEU N N N 0 N N N N LEU 1 +LEU CA CA C 0 N N N CA LEU 2 +LEU C C C 0 N N N C LEU 3 +LEU O O O 0 N Y N O LEU 4 +LEU CB CB C 0 N N N CB LEU 5 +LEU CG CG C 0 N N N CG LEU 6 +LEU CD1 CD1 C 0 N N N CD1 LEU 7 +LEU CD2 CD2 C 0 N N N CD2 LEU 8 +LEU HB1 HB1 H 0 N N N HB1 LEU 9 +LEU HB2 HB2 H 0 N N N HB2 LEU 10 +LEU HA HA H 0 N N N HA LEU 11 +LEU HG HG H 0 N N N HG LEU 12 +LEU HD11 HD11 H 0 N N N HD11 LEU 13 +LEU HD12 HD12 H 0 N N N HD12 LEU 14 +LEU HD13 HD13 H 0 N N N HD13 LEU 15 +LEU HD21 HD21 H 0 N N N HD21 LEU 16 +LEU HD22 HD22 H 0 N N N HD22 LEU 17 +LEU HD23 HD23 H 0 N N N HD23 LEU 18 +LEU HN HN H 0 N N N HN LEU 19 +LEU OT1 OT1 O 0 N Y N OT1 LEU 20 +LEU OT2 OT2 O 0 N Y N OT2 LEU 21 +LEU HT1 HT1 H 0 N N N HT1 LEU 22 +LEU HT2 HT2 H 0 N N N HT2 LEU 23 +LEU HT3 HT3 H 0 N N N HT3 LEU 24 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +LEU CB CA SING N N 1 +LEU CG CB SING N N 2 +LEU CD1 CG SING N N 3 +LEU CD2 CG SING N N 4 +LEU N HN SING N N 5 +LEU N CA SING N N 6 +LEU C CA SING N N 7 +LEU CA HA SING N N 8 +LEU CB HB1 SING N N 9 +LEU CB HB2 SING N N 10 +LEU CG HG SING N N 11 +LEU CD1 HD11 SING N N 12 +LEU CD1 HD12 SING N N 13 +LEU CD1 HD13 SING N N 14 +LEU CD2 HD21 SING N N 15 +LEU CD2 HD22 SING N N 16 +LEU CD2 HD23 SING N N 17 +LEU O C SING N N 18 +LEU OT1 C SING N N 19 +LEU OT2 C SING N N 20 +LEU HT1 NH SING N N 21 +LEU HT2 NH SING N N 22 +LEU HT3 NH SING N N 23 +data_LYS +_chem_comp.id LYS +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H16 N2 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code K +_chem_comp.three_letter_code LYS +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +LYS N N N 0 N N N N LYS 1 +LYS CA CA C 0 N N N CA LYS 2 +LYS C C C 0 N N N C LYS 3 +LYS O O O 0 N Y N O LYS 4 +LYS CB CB C 0 N N N CB LYS 5 +LYS CG CG C 0 N N N CG LYS 6 +LYS CD CD C 0 N N N CD LYS 7 +LYS CE CE C 0 N N N CE LYS 8 +LYS NZ NZ N 0 N N N NZ LYS 9 +LYS HA HA H 0 N N N HA LYS 10 +LYS HB1 HB1 H 0 N N N HB1 LYS 11 +LYS HB2 HB2 H 0 N N N HB2 LYS 12 +LYS HG1 HG1 H 0 N N N HG1 LYS 13 +LYS HG2 HG2 H 0 N N N HG2 LYS 14 +LYS HD1 HD1 H 0 N N N HD1 LYS 15 +LYS HD2 HD2 H 0 N N N HD2 LYS 16 +LYS HE1 HE1 H 0 N N N HE1 LYS 17 +LYS HE2 HE2 H 0 N N N HE2 LYS 18 +LYS HZ1 HZ1 H 0 N N N HZ1 LYS 19 +LYS HZ2 HZ2 H 0 N N N HZ2 LYS 20 +LYS HZ3 HZ3 H 0 N N N HZ3 LYS 21 +LYS HN HN H 0 N N N HN LYS 22 +LYS OT1 OT1 O 0 N Y N OT1 LYS 23 +LYS OT2 OT2 O 0 N Y N OT2 LYS 24 +LYS HT1 HT1 H 0 N N N HT1 LYS 25 +LYS HT2 HT2 H 0 N N N HT2 LYS 26 +LYS HT3 HT3 H 0 N N N HT3 LYS 27 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +LYS CB CA SING N N 1 +LYS CG CB SING N N 2 +LYS CD CG SING N N 3 +LYS CE CD SING N N 4 +LYS NZ CE SING N N 5 +LYS N HN SING N N 6 +LYS N CA SING N N 7 +LYS C CA SING N N 8 +LYS CA HA SING N N 9 +LYS CB HB1 SING N N 10 +LYS CB HB2 SING N N 11 +LYS CG HG1 SING N N 12 +LYS CG HG2 SING N N 13 +LYS CD HD1 SING N N 14 +LYS CD HD2 SING N N 15 +LYS CE HE1 SING N N 16 +LYS CE HE2 SING N N 17 +LYS O C SING N N 18 +LYS NZ HZ1 SING N N 19 +LYS NZ HZ2 SING N N 20 +LYS NZ HZ3 SING N N 21 +LYS OT1 C SING N N 22 +LYS OT2 C SING N N 23 +LYS HT1 NH SING N N 24 +LYS HT2 NH SING N N 25 +LYS HT3 NH SING N N 26 +data_LSN +_chem_comp.id LSN +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C6 H15 N2 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code L +_chem_comp.three_letter_code LSN +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +LSN N N N 0 N N N N LSN 1 +LSN CA CA C 0 N N N CA LSN 2 +LSN C C C 0 N N N C LSN 3 +LSN O O O 0 N Y N O LSN 4 +LSN CB CB C 0 N N N CB LSN 5 +LSN CG CG C 0 N N N CG LSN 6 +LSN CD CD C 0 N N N CD LSN 7 +LSN CE CE C 0 N N N CE LSN 8 +LSN NZ NZ N 0 N N N NZ LSN 9 +LSN HA HA H 0 N N N HA LSN 10 +LSN HB1 HB1 H 0 N N N HB1 LSN 11 +LSN HB2 HB2 H 0 N N N HB2 LSN 12 +LSN HG1 HG1 H 0 N N N HG1 LSN 13 +LSN HG2 HG2 H 0 N N N HG2 LSN 14 +LSN HD1 HD1 H 0 N N N HD1 LSN 15 +LSN HD2 HD2 H 0 N N N HD2 LSN 16 +LSN HE1 HE1 H 0 N N N HE1 LSN 17 +LSN HE2 HE2 H 0 N N N HE2 LSN 18 +LSN HZ1 HZ1 H 0 N N N HZ1 LSN 19 +LSN HZ2 HZ2 H 0 N N N HZ2 LSN 20 +LSN HN HN H 0 N N N HN LSN 21 +LSN OT1 OT1 O 0 N Y N OT1 LSN 22 +LSN OT2 OT2 O 0 N Y N OT2 LSN 23 +LSN HT1 HT1 H 0 N N N HT1 LSN 24 +LSN HT2 HT2 H 0 N N N HT2 LSN 25 +LSN HT3 HT3 H 0 N N N HT3 LSN 26 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +LSN CB CA SING N N 1 +LSN CG CB SING N N 2 +LSN CD CG SING N N 3 +LSN CE CD SING N N 4 +LSN NZ CE SING N N 5 +LSN N HN SING N N 6 +LSN N CA SING N N 7 +LSN C CA SING N N 8 +LSN CA HA SING N N 9 +LSN CB HB1 SING N N 10 +LSN CB HB2 SING N N 11 +LSN CG HG1 SING N N 12 +LSN CG HG2 SING N N 13 +LSN CD HD1 SING N N 14 +LSN CD HD2 SING N N 15 +LSN CE HE1 SING N N 16 +LSN CE HE2 SING N N 17 +LSN O C SING N N 18 +LSN NZ HZ1 SING N N 19 +LSN NZ HZ2 SING N N 20 +LSN OT1 C SING N N 21 +LSN OT2 C SING N N 22 +LSN HT1 NH SING N N 23 +LSN HT2 NH SING N N 24 +LSN HT3 NH SING N N 25 +data_MET +_chem_comp.id MET +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C5 H12 N O3 S" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code M +_chem_comp.three_letter_code MET +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +MET N N N 0 N N N N MET 1 +MET CA CA C 0 N N N CA MET 2 +MET C C C 0 N N N C MET 3 +MET O O O 0 N Y N O MET 4 +MET CB CB C 0 N N N CB MET 5 +MET CG CG C 0 N N N CG MET 6 +MET SD SD S 0 N N N SD MET 7 +MET CE CE C 0 N N N CE MET 8 +MET HA HA H 0 N N N HA MET 9 +MET HB1 HB1 H 0 N N N HB1 MET 10 +MET HB2 HB2 H 0 N N N HB2 MET 11 +MET HG1 HG1 H 0 N N N HG1 MET 12 +MET HG2 HG2 H 0 N N N HG2 MET 13 +MET HE1 HE1 H 0 N N N HE1 MET 14 +MET HE2 HE2 H 0 N N N HE2 MET 15 +MET HE3 HE3 H 0 N N N HE3 MET 16 +MET HN HN H 0 N N N HN MET 17 +MET OT1 OT1 O 0 N Y N OT1 MET 18 +MET OT2 OT2 O 0 N Y N OT2 MET 19 +MET HT1 HT1 H 0 N N N HT1 MET 20 +MET HT2 HT2 H 0 N N N HT2 MET 21 +MET HT3 HT3 H 0 N N N HT3 MET 22 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +MET CB CA SING N N 1 +MET CG CB SING N N 2 +MET SD CG SING N N 3 +MET CE SD SING N N 4 +MET N HN SING N N 5 +MET N CA SING N N 6 +MET C CA SING N N 7 +MET CA HA SING N N 8 +MET CB HB1 SING N N 9 +MET CB HB2 SING N N 10 +MET CG HG1 SING N N 11 +MET CG HG2 SING N N 12 +MET CE HE1 SING N N 13 +MET CE HE2 SING N N 14 +MET CE HE3 SING N N 15 +MET O C SING N N 16 +MET OT1 C SING N N 17 +MET OT2 C SING N N 18 +MET HT1 NH SING N N 19 +MET HT2 NH SING N N 20 +MET HT3 NH SING N N 21 +data_PHE +_chem_comp.id PHE +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C9 H12 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code F +_chem_comp.three_letter_code PHE +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +PHE N N N 0 N N N N PHE 1 +PHE CA CA C 0 N N N CA PHE 2 +PHE C C C 0 N N N C PHE 3 +PHE O O O 0 N Y N O PHE 4 +PHE CB CB C 0 N N N CB PHE 5 +PHE CG CG C 0 N N N CG PHE 6 +PHE CD1 CD1 C 0 N N N CD1 PHE 7 +PHE CE1 CE1 C 0 N N N CE1 PHE 8 +PHE CZ CZ C 0 N N N CZ PHE 9 +PHE CD2 CD2 C 0 N N N CD2 PHE 10 +PHE CE2 CE2 C 0 N N N CE2 PHE 11 +PHE HA HA H 0 N N N HA PHE 12 +PHE HB1 HB1 H 0 N N N HB1 PHE 13 +PHE HB2 HB2 H 0 N N N HB2 PHE 14 +PHE HD1 HD1 H 0 N N N HD1 PHE 15 +PHE HE1 HE1 H 0 N N N HE1 PHE 16 +PHE HZ HZ H 0 N N N HZ PHE 17 +PHE HD2 HD2 H 0 N N N HD2 PHE 18 +PHE HE2 HE2 H 0 N N N HE2 PHE 19 +PHE HN HN H 0 N N N HN PHE 20 +PHE OT1 OT1 O 0 N Y N OT1 PHE 21 +PHE OT2 OT2 O 0 N Y N OT2 PHE 22 +PHE HT1 HT1 H 0 N N N HT1 PHE 23 +PHE HT2 HT2 H 0 N N N HT2 PHE 24 +PHE HT3 HT3 H 0 N N N HT3 PHE 25 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +PHE CB CA SING N N 1 +PHE CG CB SING N N 2 +PHE CD2 CG SING N N 3 +PHE CE1 CD1 SING N N 4 +PHE CZ CE2 SING N N 5 +PHE N HN SING N N 6 +PHE N CA SING N N 7 +PHE C CA SING N N 8 +PHE CA HA SING N N 9 +PHE CB HB1 SING N N 10 +PHE CB HB2 SING N N 11 +PHE CD1 HD1 SING N N 12 +PHE CD2 HD2 SING N N 13 +PHE CE1 HE1 SING N N 14 +PHE O C SING N N 15 +PHE CD1 CG SING N N 16 +PHE CZ CE1 SING N N 17 +PHE CE2 CD2 SING N N 18 +PHE CE2 HE2 SING N N 19 +PHE CZ HZ SING N N 20 +PHE OT1 C SING N N 21 +PHE OT2 C SING N N 22 +PHE HT1 NH SING N N 23 +PHE HT2 NH SING N N 24 +PHE HT3 NH SING N N 25 +data_PRO +_chem_comp.id PRO +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C5 H10 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code P +_chem_comp.three_letter_code PRO +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +PRO N N N 0 N N N N PRO 1 +PRO CD CD C 0 N N N CD PRO 2 +PRO CA CA C 0 N N N CA PRO 3 +PRO C C C 0 N N N C PRO 4 +PRO O O O 0 N Y N O PRO 5 +PRO CB CB C 0 N N N CB PRO 6 +PRO CG CG C 0 N N N CG PRO 7 +PRO HA HA H 0 N N N HA PRO 8 +PRO HB1 HB1 H 0 N N N HB1 PRO 9 +PRO HB2 HB2 H 0 N N N HB2 PRO 10 +PRO HG1 HG1 H 0 N N N HG1 PRO 11 +PRO HG2 HG2 H 0 N N N HG2 PRO 12 +PRO HD1 HD1 H 0 N N N HD1 PRO 13 +PRO HD2 HD2 H 0 N N N HD2 PRO 14 +PRO OT1 OT1 O 0 N Y N OT1 PRO 15 +PRO OT2 OT2 O 0 N Y N OT2 PRO 16 +PRO HT1 HT1 H 0 N N N HT1 PRO 17 +PRO HT2 HT2 H 0 N N N HT2 PRO 18 +PRO HT3 HT3 H 0 N N N HT3 PRO 19 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +PRO C CA SING N N 1 +PRO N CA SING N N 2 +PRO CA CB SING N N 3 +PRO CB CG SING N N 4 +PRO CG CD SING N N 5 +PRO N CD SING N N 6 +PRO HA CA SING N N 7 +PRO HG1 CG SING N N 8 +PRO HG2 CG SING N N 9 +PRO HD1 CD SING N N 10 +PRO HD2 CD SING N N 11 +PRO HB1 CB SING N N 12 +PRO HB2 CB SING N N 13 +PRO O C SING N N 14 +PRO OT1 C SING N N 15 +PRO OT2 C SING N N 16 +PRO HT1 NH SING N N 17 +PRO HT2 NH SING N N 18 +PRO HT3 NH SING N N 19 +data_SER +_chem_comp.id SER +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C3 H8 N O4" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code S +_chem_comp.three_letter_code SER +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +SER N N N 0 N N N N SER 1 +SER CA CA C 0 N N N CA SER 2 +SER C C C 0 N N N C SER 3 +SER O O O 0 N Y N O SER 4 +SER CB CB C 0 N N N CB SER 5 +SER OG OG O 0 N N N OG SER 6 +SER HA HA H 0 N N N HA SER 7 +SER HB1 HB1 H 0 N N N HB1 SER 8 +SER HB2 HB2 H 0 N N N HB2 SER 9 +SER HG1 HG1 H 0 N N N HG1 SER 10 +SER HN HN H 0 N N N HN SER 11 +SER OT1 OT1 O 0 N Y N OT1 SER 12 +SER OT2 OT2 O 0 N Y N OT2 SER 13 +SER HT1 HT1 H 0 N N N HT1 SER 14 +SER HT2 HT2 H 0 N N N HT2 SER 15 +SER HT3 HT3 H 0 N N N HT3 SER 16 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +SER CB CA SING N N 1 +SER OG CB SING N N 2 +SER N HN SING N N 3 +SER N CA SING N N 4 +SER C CA SING N N 5 +SER CA HA SING N N 6 +SER CB HB1 SING N N 7 +SER CB HB2 SING N N 8 +SER OG HG1 SING N N 9 +SER O C SING N N 10 +SER OT1 C SING N N 11 +SER OT2 C SING N N 12 +SER HT1 NH SING N N 13 +SER HT2 NH SING N N 14 +SER HT3 NH SING N N 15 +data_THR +_chem_comp.id THR +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C4 H10 N O4" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code T +_chem_comp.three_letter_code THR +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +THR N N N 0 N N N N THR 1 +THR CA CA C 0 N N N CA THR 2 +THR C C C 0 N N N C THR 3 +THR O O O 0 N Y N O THR 4 +THR CB CB C 0 N N N CB THR 5 +THR OG1 OG1 O 0 N N N OG1 THR 6 +THR CG2 CG2 C 0 N N N CG2 THR 7 +THR HA HA H 0 N N N HA THR 8 +THR HB HB H 0 N N N HB THR 9 +THR HG1 HG1 H 0 N N N HG1 THR 10 +THR HG21 HG21 H 0 N N N HG21 THR 11 +THR HG22 HG22 H 0 N N N HG22 THR 12 +THR HG23 HG23 H 0 N N N HG23 THR 13 +THR HN HN H 0 N N N HN THR 14 +THR OT1 OT1 O 0 N Y N OT1 THR 15 +THR OT2 OT2 O 0 N Y N OT2 THR 16 +THR HT1 HT1 H 0 N N N HT1 THR 17 +THR HT2 HT2 H 0 N N N HT2 THR 18 +THR HT3 HT3 H 0 N N N HT3 THR 19 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +THR CB CA SING N N 1 +THR OG1 CB SING N N 2 +THR CG2 CB SING N N 3 +THR N HN SING N N 4 +THR N CA SING N N 5 +THR C CA SING N N 6 +THR CA HA SING N N 7 +THR CB HB SING N N 8 +THR OG1 HG1 SING N N 9 +THR CG2 HG21 SING N N 10 +THR CG2 HG22 SING N N 11 +THR CG2 HG23 SING N N 12 +THR O C SING N N 13 +THR OT1 C SING N N 14 +THR OT2 C SING N N 15 +THR HT1 NH SING N N 16 +THR HT2 NH SING N N 17 +THR HT3 NH SING N N 18 +data_TRP +_chem_comp.id TRP +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C11 H13 N2 O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code W +_chem_comp.three_letter_code TRP +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +TRP N N N 0 N N N N TRP 1 +TRP CA CA C 0 N N N CA TRP 2 +TRP C C C 0 N N N C TRP 3 +TRP O O O 0 N Y N O TRP 4 +TRP HA HA H 0 N N N HA TRP 5 +TRP CB CB C 0 N N N CB TRP 6 +TRP CG CG C 0 N N N CG TRP 7 +TRP CD1 CD1 C 0 N N N CD1 TRP 8 +TRP NE1 NE1 N 0 N N N NE1 TRP 9 +TRP CE2 CE2 C 0 N N N CE2 TRP 10 +TRP CD2 CD2 C 0 N N N CD2 TRP 11 +TRP CE3 CE3 C 0 N N N CE3 TRP 12 +TRP CZ3 CZ3 C 0 N N N CZ3 TRP 13 +TRP CZ2 CZ2 C 0 N N N CZ2 TRP 14 +TRP CH2 CH2 C 0 N N N CH2 TRP 15 +TRP HB1 HB1 H 0 N N N HB1 TRP 16 +TRP HB2 HB2 H 0 N N N HB2 TRP 17 +TRP HD1 HD1 H 0 N N N HD1 TRP 18 +TRP HE1 HE1 H 0 N N N HE1 TRP 19 +TRP HE3 HE3 H 0 N N N HE3 TRP 20 +TRP HZ3 HZ3 H 0 N N N HZ3 TRP 21 +TRP HZ2 HZ2 H 0 N N N HZ2 TRP 22 +TRP HH2 HH2 H 0 N N N HH2 TRP 23 +TRP HN HN H 0 N N N HN TRP 24 +TRP OT1 OT1 O 0 N Y N OT1 TRP 25 +TRP OT2 OT2 O 0 N Y N OT2 TRP 26 +TRP HT1 HT1 H 0 N N N HT1 TRP 27 +TRP HT2 HT2 H 0 N N N HT2 TRP 28 +TRP HT3 HT3 H 0 N N N HT3 TRP 29 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +TRP CB CA SING N N 1 +TRP CG CB SING N N 2 +TRP CD2 CG SING N N 3 +TRP NE1 CD1 SING N N 4 +TRP CZ2 CE2 SING N N 5 +TRP N HN SING N N 6 +TRP N CA SING N N 7 +TRP C CA SING N N 8 +TRP CZ3 CH2 SING N N 9 +TRP CD2 CE3 SING N N 10 +TRP NE1 CE2 SING N N 11 +TRP CA HA SING N N 12 +TRP CB HB1 SING N N 13 +TRP CB HB2 SING N N 14 +TRP CD1 HD1 SING N N 15 +TRP NE1 HE1 SING N N 16 +TRP CE3 HE3 SING N N 17 +TRP CZ2 HZ2 SING N N 18 +TRP CZ3 HZ3 SING N N 19 +TRP CH2 HH2 SING N N 20 +TRP O C SING N N 21 +TRP CD1 CG SING N N 22 +TRP CE2 CD2 SING N N 23 +TRP CZ3 CE3 SING N N 24 +TRP CH2 CZ2 SING N N 25 +TRP OT1 C SING N N 26 +TRP OT2 C SING N N 27 +TRP HT1 NH SING N N 28 +TRP HT2 NH SING N N 29 +TRP HT3 NH SING N N 30 +data_TYR +_chem_comp.id TYR +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C9 H12 N O4" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code Y +_chem_comp.three_letter_code TYR +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +TYR N N N 0 N N N N TYR 1 +TYR CA CA C 0 N N N CA TYR 2 +TYR C C C 0 N N N C TYR 3 +TYR O O O 0 N Y N O TYR 4 +TYR HA HA H 0 N N N HA TYR 5 +TYR CB CB C 0 N N N CB TYR 6 +TYR CG CG C 0 N N N CG TYR 7 +TYR CD1 CD1 C 0 N N N CD1 TYR 8 +TYR CE1 CE1 C 0 N N N CE1 TYR 9 +TYR CZ CZ C 0 N N N CZ TYR 10 +TYR OH OH O 0 N N N OH TYR 11 +TYR CD2 CD2 C 0 N N N CD2 TYR 12 +TYR CE2 CE2 C 0 N N N CE2 TYR 13 +TYR HB1 HB1 H 0 N N N HB1 TYR 14 +TYR HB2 HB2 H 0 N N N HB2 TYR 15 +TYR HD1 HD1 H 0 N N N HD1 TYR 16 +TYR HE1 HE1 H 0 N N N HE1 TYR 17 +TYR HH HH H 0 N N N HH TYR 18 +TYR HD2 HD2 H 0 N N N HD2 TYR 19 +TYR HE2 HE2 H 0 N N N HE2 TYR 20 +TYR HN HN H 0 N N N HN TYR 21 +TYR OT1 OT1 O 0 N Y N OT1 TYR 22 +TYR OT2 OT2 O 0 N Y N OT2 TYR 23 +TYR HT1 HT1 H 0 N N N HT1 TYR 24 +TYR HT2 HT2 H 0 N N N HT2 TYR 25 +TYR HT3 HT3 H 0 N N N HT3 TYR 26 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +TYR CB CA SING N N 1 +TYR CG CB SING N N 2 +TYR CD2 CG SING N N 3 +TYR CE1 CD1 SING N N 4 +TYR CZ CE2 SING N N 5 +TYR OH CZ SING N N 6 +TYR N HN SING N N 7 +TYR N CA SING N N 8 +TYR C CA SING N N 9 +TYR CA HA SING N N 10 +TYR CB HB1 SING N N 11 +TYR CB HB2 SING N N 12 +TYR CD1 HD1 SING N N 13 +TYR CD2 HD2 SING N N 14 +TYR CE1 HE1 SING N N 15 +TYR CE2 HE2 SING N N 16 +TYR OH HH SING N N 17 +TYR O C SING N N 18 +TYR CD1 CG SING N N 19 +TYR CE1 CZ SING N N 20 +TYR CE2 CD2 SING N N 21 +TYR OT1 C SING N N 22 +TYR OT2 C SING N N 23 +TYR HT1 NH SING N N 24 +TYR HT2 NH SING N N 25 +TYR HT3 NH SING N N 26 +TYR HT1 NH SING N N 27 +TYR HT2 NH SING N N 28 +TYR HT3 NH SING N N 29 +data_VAL +_chem_comp.id VAL +_chem_comp.type "L-PEPTIDE-LINKING" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "C5 H12 N O3" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code V +_chem_comp.three_letter_code VAL +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +VAL N N N 0 N N N N VAL 1 +VAL CA CA C 0 N N N CA VAL 2 +VAL C C C 0 N N N C VAL 3 +VAL O O O 0 N Y N O VAL 4 +VAL CB CB C 0 N N N CB VAL 5 +VAL CG1 CG1 C 0 N N N CG1 VAL 6 +VAL CG2 CG2 C 0 N N N CG2 VAL 7 +VAL HN HN H 0 N N N HN VAL 8 +VAL HA HA H 0 N N N HA VAL 9 +VAL HB HB H 0 N N N HB VAL 10 +VAL HG11 HG11 H 0 N N N HG11 VAL 11 +VAL HG12 HG12 H 0 N N N HG12 VAL 12 +VAL HG13 HG13 H 0 N N N HG13 VAL 13 +VAL HG21 HG21 H 0 N N N HG21 VAL 14 +VAL HG22 HG22 H 0 N N N HG22 VAL 15 +VAL HG23 HG23 H 0 N N N HG23 VAL 16 +VAL OT1 OT1 O 0 N Y N OT1 VAL 17 +VAL OT2 OT2 O 0 N Y N OT2 VAL 18 +VAL HT1 HT1 H 0 N N N HT1 VAL 19 +VAL HT2 HT2 H 0 N N N HT2 VAL 20 +VAL HT3 HT3 H 0 N N N HT3 VAL 21 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +VAL CB CA SING N N 1 +VAL CG1 CB SING N N 2 +VAL CG2 CB SING N N 3 +VAL N HN SING N N 4 +VAL N CA SING N N 5 +VAL C CA SING N N 6 +VAL CA HA SING N N 7 +VAL CB HB SING N N 8 +VAL CG1 HG11 SING N N 9 +VAL CG1 HG12 SING N N 10 +VAL CG1 HG13 SING N N 11 +VAL CG2 HG21 SING N N 12 +VAL CG2 HG22 SING N N 13 +VAL CG2 HG23 SING N N 14 +VAL O C SING N N 15 +VAL OT1 C SING N N 16 +VAL OT2 C SING N N 17 +VAL HT1 NH SING N N 18 +VAL HT2 NH SING N N 19 +VAL HT3 NH SING N N 20 + + +data_HOH +_chem_comp.id HOH +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "H2 O" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code . +_chem_comp.three_letter_code HOH +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +HOH OW OW O 0 N N N OW HOH 1 +HOH HW1 HW1 H 0 N N N HW1 HOH 2 +HOH HW2 HW2 H 0 N N N HW2 HOH 3 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +HOH OW HW1 SING N N 1 +HOH OW HW2 SING N N 2 +HOH HW1 HW2 SING N N 3 +data_TIP3 +_chem_comp.id TIP3 +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "H2 O" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code . +_chem_comp.three_letter_code TIP3 +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +TIP3 OH2 OH2 O 0 N N N OH2 TIP3 1 +TIP3 H1 H1 H 0 N N N H1 TIP3 2 +TIP3 H2 H2 H 0 N N N H2 TIP3 3 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +TIP3 OH2 H1 SING N N 1 +TIP3 OH2 H2 SING N N 2 +TIP3 H1 H2 SING N N 3 +data_TP3M +_chem_comp.id TP3M +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "H2 O" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code . +_chem_comp.three_letter_code TP3M +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +TP3M OH2 OH2 O 0 N N N OH2 TP3M 1 +TP3M H1 H1 H 0 N N N H1 TP3M 2 +TP3M H2 H2 H 0 N N N H2 TP3M 3 +# +loop_ +_chem_comp_bond.comp_id +_chem_comp_bond.atom_id_1 +_chem_comp_bond.atom_id_2 +_chem_comp_bond.value_order +_chem_comp_bond.pdbx_aromatic_flag +_chem_comp_bond.pdbx_stereo_config +_chem_comp_bond.pdbx_ordinal +TP3M OH2 H1 SING N N 1 +TP3M OH2 H2 SING N N 2 +data_SOD +_chem_comp.id SOD +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "NA" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code ? +_chem_comp.three_letter_code SOD +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +SOD SOD SOD NA 0 N N N SOD SOD 1 +data_MG +_chem_comp.id MG +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "MG" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code ? +_chem_comp.three_letter_code MG +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +MG MG MG MG 0 N N N MG MG 1 +data_POT +_chem_comp.id POT +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "K" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code ? +_chem_comp.three_letter_code POT +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +POT POT POT K 0 N N N POT POT 1 +data_CAL +_chem_comp.id CAL +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "CA" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code ? +_chem_comp.three_letter_code CAL +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +CAL CAL CAL CA 0 N N N CAL CAL 1 +data_CLA +_chem_comp.id CLA +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "CA" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code ? +_chem_comp.three_letter_code CLA +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +CLA CLA CLA CL 0 N N N CLA CLA 1 +data_ZN2 +_chem_comp.id ZN2 +_chem_comp.type "NON-POLYMER" +_chem_comp.pdbx_type ATOMP +_chem_comp.formula "ZN" +_chem_comp.mon_nstd_parent_comp_id ? +_chem_comp.pdbx_initial_date 2010-09-20 +_chem_comp.pdbx_modified_date 2010-09-20 +_chem_comp.pdbx_ambiguous_flag N +_chem_comp.pdbx_release_status REL +_chem_comp.one_letter_code ? +_chem_comp.three_letter_code ZN2 +# +loop_ +_chem_comp_atom.comp_id +_chem_comp_atom.atom_id +_chem_comp_atom.alt_atom_id +_chem_comp_atom.type_symbol +_chem_comp_atom.charge +_chem_comp_atom.pdbx_aromatic_flag +_chem_comp_atom.pdbx_leaving_atom_flag +_chem_comp_atom.pdbx_stereo_config +_chem_comp_atom.pdbx_component_atom_id +_chem_comp_atom.pdbx_component_comp_id +_chem_comp_atom.pdbx_ordinal +ZN2 ZN ZN ZN 0 N N N ZN ZN2 1 diff --git a/modules/conop/doc/conop.rst b/modules/conop/doc/conop.rst index fb65ee1ad4e33a27ecf0ba0b9e50851531b8be72..6e8443558c8345033692c55e3d84c302d200b93d 100644 --- a/modules/conop/doc/conop.rst +++ b/modules/conop/doc/conop.rst @@ -1,7 +1,7 @@ -:mod:`conop` -- Connectivity and Topology of Molecules +:mod:`~ost.conop` -- Connectivity and Topology of Molecules ================================================================================ -.. module:: conop +.. module:: ost.conop :synopsis: The conop modules implement different strategies to derive connectivity information of molecules. @@ -63,7 +63,7 @@ be achieved with conop.Conopology.Instance().RegisterBuilder(rbb,'rbb') conop.Conopology.Instance().SetDefaultBuilder('rbb') -All subsequent calls to :func:`io.LoadEntity` will make use of the +All subsequent calls to :func:`ost.io.LoadEntity` will make use of the RuleBasedBuilder instead of the heuristic builder. See :ref:`here <mmcif-convert>` for more information on how to create the necessary files to use the rule-based builder. @@ -225,18 +225,20 @@ files to use the rule-based builder. Connecting atoms -------------------------------------------------------------------------------- -The high level interface is exposed by the Conopoloy singleton instance: +A single function call to :func:`ConnectAll` is sufficient to assign residue and atoms properties as well as to connect atoms with bonds. + .. code-block:: python - - import conop - - cc=conop.Conopology.Instance() - + + # Suppose that BuildRawModel is a function that returns a protein structure + # with no atom properties assigned and no bonds formed. ent=BuildRawModel(...) - cc.ConnectAll(cc.GetBuilder(), ent) + print ent.bonds # will return an empty list + # Call ConnectAll() to assign properties/connect atoms + conop.ConnectAll(ent) + print ent.bonds # will print a list containing many bonds -For fine grained control, the builder interface may be used directly. +For fine grained control, the :class:`Builder` interface may be used directly. .. _mmcif-convert: diff --git a/modules/conop/pymod/CMakeLists.txt b/modules/conop/pymod/CMakeLists.txt index 9d38418097bcc8df02ffb148e96ffc9659483bb5..57eeb82c986e9b2220fa1e1c188b65d07ca6886b 100644 --- a/modules/conop/pymod/CMakeLists.txt +++ b/modules/conop/pymod/CMakeLists.txt @@ -2,7 +2,6 @@ set(OST_CONOP_PYMOD_SOURCES wrap_conop.cc export_builder.cc export_compound.cc - export_sanitizer.cc export_conop.cc export_ring_finder.cc ) diff --git a/modules/conop/pymod/export_builder.cc b/modules/conop/pymod/export_builder.cc index 1e070a04e88b3abe64fd57caf856ea1496850d45..9e23e05698fa91f3d5568e46e5885fb4879c4f70 100644 --- a/modules/conop/pymod/export_builder.cc +++ b/modules/conop/pymod/export_builder.cc @@ -25,8 +25,19 @@ using namespace boost::python; using namespace ost::conop; void export_Builder() { + + enum_<Dialect>("Dialect") + .value("PDB_DIALECT", PDB_DIALECT) + .value("CHARMM_DIALECT", CHARMM_DIALECT) + .export_values() + ; //TODO Export virtual calls as Default* (see export_visitor.cc) class_<Builder>("Builder", no_init) + .add_property("dialect", &Builder::GetDialect, &Builder::SetDialect) + .add_property("strict_hydrogens", &Builder::GetStrictHydrogenMode, + &Builder::SetStrictHydrogenMode) + .def("GetDialect", &Builder::GetDialect) + .def("SetDialect", &Builder::SetDialect) .def("CompleteAtoms", &Builder::CompleteAtoms) .def("CheckResidueCompleteness", &Builder::CheckResidueCompleteness) .def("IdentifyResidue", &Builder::IdentifyResidue) diff --git a/modules/conop/pymod/export_sanitizer.cc b/modules/conop/pymod/export_sanitizer.cc deleted file mode 100644 index 3ed3810c5176de7a83c4e9b8d11aec79c247a741..0000000000000000000000000000000000000000 --- a/modules/conop/pymod/export_sanitizer.cc +++ /dev/null @@ -1,61 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include <boost/python.hpp> -#include <boost/python/register_ptr_to_python.hpp> -#include <boost/python/suite/indexing/vector_indexing_suite.hpp> -using namespace boost::python; -#include <ost/conop/sanitizer.hh> -using namespace ost; -using namespace ost::conop; - -namespace { -struct WrappedSanitizer : Sanitizer -{ - WrappedSanitizer(PyObject *p) - : Sanitizer(CompoundLibPtr()), self(p) { - } - - WrappedSanitizer(PyObject *p, const Sanitizer& s) - : Sanitizer(s), self(p) {} - - virtual void OnUnknownAtom(const mol::AtomHandle& atom) { - call_method<void, mol::AtomHandle>(self, "OnUnknownAtom", atom); - } - void OnUnknownAtomDefault(const mol::AtomHandle& atom) { - } - virtual void OnMissingAtom(const mol::ResidueHandle& residue, - const String& atom) { - call_method<void, mol::ResidueHandle, String>(self, "OnMissingAtom", - residue, atom); - } - void OnMissingAtomDefault(const mol::ResidueHandle& residue, - const String& atom) { - } - private: - PyObject* self; -}; - -} - -void export_Sanitizer() { - class_<Sanitizer, WrappedSanitizer, bases<mol::EntityVisitor>,boost::noncopyable >("Sanitizer", init<CompoundLibPtr>()) - .def("OnUnknownAtom", &WrappedSanitizer::OnUnknownAtomDefault) - .def("OnMissingAtom", &WrappedSanitizer::OnMissingAtomDefault) - ; -} diff --git a/modules/conop/pymod/wrap_conop.cc b/modules/conop/pymod/wrap_conop.cc index cb7915c94b004355131618118a9b049b77e40817..a7bcd1cb074f543ebfeee81969c3544017003511 100644 --- a/modules/conop/pymod/wrap_conop.cc +++ b/modules/conop/pymod/wrap_conop.cc @@ -29,6 +29,5 @@ BOOST_PYTHON_MODULE(_conop) export_Builder(); export_Conop(); export_Compound(); - export_Sanitizer(); export_RingFinder(); } diff --git a/modules/conop/src/CMakeLists.txt b/modules/conop/src/CMakeLists.txt index fbf0a48be9b3aa69946da25925ad0f702af9f533..4d0840ea34d18bbe4f983c24f17d8ad8603769fd 100644 --- a/modules/conop/src/CMakeLists.txt +++ b/modules/conop/src/CMakeLists.txt @@ -4,7 +4,6 @@ builder_fw.hh conop.hh heuristic_builder.hh compound.hh -sanitizer.hh compound_lib.hh module_config.hh rule_based_builder.hh @@ -16,7 +15,6 @@ builder.cc conop.cc heuristic_builder.cc compound.cc -sanitizer.cc compound_lib.cc rule_based_builder.cc ring_finder.cc diff --git a/modules/conop/src/builder.cc b/modules/conop/src/builder.cc index 14c103e55d29f8a69758663b38cefb99b498c06f..b53a146445c70fae93d0dc98d8b70af3a56b43b2 100644 --- a/modules/conop/src/builder.cc +++ b/modules/conop/src/builder.cc @@ -26,7 +26,7 @@ namespace ost { namespace conop { Builder::~Builder() {} -void Builder::CompleteAtoms(const mol::ResidueHandle& rh) {} +void Builder::CompleteAtoms(mol::ResidueHandle rh) {} void Builder::CheckResidueCompleteness(const mol::ResidueHandle& rh) {} @@ -34,10 +34,10 @@ mol::ResidueKey Builder::IdentifyResidue(const mol::ResidueHandle& rh) { return mol::ResidueKey(); } void Builder::FillResidueProps(mol::ResidueHandle residue){}; -void Builder::ConnectAtomsOfResidue(const mol::ResidueHandle& rh) {} +void Builder::ConnectAtomsOfResidue(mol::ResidueHandle rh) {} -void Builder::ConnectResidueToPrev(const mol::ResidueHandle& rh, - const mol::ResidueHandle& p) { +void Builder::ConnectResidueToPrev(mol::ResidueHandle rh, + mol::ResidueHandle p) { this->ConnectResidueToNext(p, rh); } @@ -46,11 +46,11 @@ bool Builder::IsResidueComplete(const mol::ResidueHandle& rh) return true; } -void Builder::ConnectResidueToNext(const mol::ResidueHandle& rh, - const mol::ResidueHandle& n) {} +void Builder::ConnectResidueToNext(mol::ResidueHandle rh, + mol::ResidueHandle n) {} -void Builder::AssignTorsions(const mol::ChainHandle& ch) {} -void Builder::AssignTorsionsToResidue(const mol::ResidueHandle& rh) {} +void Builder::AssignTorsions(mol::ChainHandle ch) {} +void Builder::AssignTorsionsToResidue(mol::ResidueHandle rh) {} void Builder::FillAtomProps(mol::AtomHandle atom) {} @@ -159,7 +159,7 @@ bool Builder::AreResiduesConsecutive(const mol::ResidueHandle& r1, r2.GetNumber().GetInsCode()==r1.GetNumber().NextInsertionCode().GetInsCode(); } -void Builder::AssignBackBoneTorsionsToResidue(const mol::ResidueHandle& res) +void Builder::AssignBackBoneTorsionsToResidue(mol::ResidueHandle res) { mol::ResidueHandle prev=res.GetPrev(); @@ -202,7 +202,7 @@ void Builder::AssignBackBoneTorsionsToResidue(const mol::ResidueHandle& res) -void Builder::DistanceBasedConnect(const mol::AtomHandle& atom) +void Builder::DistanceBasedConnect(mol::AtomHandle atom) { mol::EntityHandle ent=atom.GetEntity(); mol::XCSEditor editor=ent.RequestXCSEditor(mol::BUFFERED_EDIT); diff --git a/modules/conop/src/builder.hh b/modules/conop/src/builder.hh index b47e432ac1b2b0dafef45f9052d0c81eea753dd4..5312d80e9e455293b16d6568a8d66971934b8718 100644 --- a/modules/conop/src/builder.hh +++ b/modules/conop/src/builder.hh @@ -29,6 +29,10 @@ namespace ost { namespace conop { +typedef enum { + PDB_DIALECT, + CHARMM_DIALECT +} Dialect; /// \brief abstract builder interface /// /// A builder serves several purposes: \li knows how to connect atoms of @@ -49,14 +53,20 @@ namespace ost { namespace conop { /// behaviour. class DLLEXPORT_OST_CONOP Builder { public: -public: + + Builder(): dialect_(PDB_DIALECT), strict_(false) { } virtual ~Builder(); /// \brief add any missing atoms to the residue based on its key, /// with coordinates set to zero - virtual void CompleteAtoms(const mol::ResidueHandle& rh); - + virtual void CompleteAtoms(mol::ResidueHandle rh); + virtual void SetDialect(Dialect dialect) { dialect_=dialect; } + + virtual void SetStrictHydrogenMode(bool strict) { strict_=strict; } + bool GetStrictHydrogenMode() const { return strict_; } + + Dialect GetDialect() const { return dialect_; } /// \brief verify that the given residue has all atoms it /// is supposed to have based on its key virtual void CheckResidueCompleteness(const mol::ResidueHandle& rh); @@ -80,27 +90,27 @@ public: /// Connects atoms of residue based on residue and atom name. This method does /// not establish inter-residue bonds. To connect atoms that belong to /// different residues, use ConnectResidueToPrev(), or ConnectResidueToNext(). - virtual void ConnectAtomsOfResidue(const mol::ResidueHandle& rh); + virtual void ConnectAtomsOfResidue(mol::ResidueHandle rh); /// \brief connect atoms of residue to previous /// /// The order of the parameters is important. In case of a polypeptide chain, /// the residues are thought to be ordered from N- to C- terminus. /// /// \sa ConnectResidueToNext - virtual void ConnectResidueToPrev(const mol::ResidueHandle& rh, - const mol::ResidueHandle& prev); + virtual void ConnectResidueToPrev(mol::ResidueHandle rh, + mol::ResidueHandle prev); /// \sa ConnectResidueToPrev - virtual void ConnectResidueToNext(const mol::ResidueHandle& rh, - const mol::ResidueHandle& next); + virtual void ConnectResidueToNext(mol::ResidueHandle rh, + mol::ResidueHandle next); /// \brief assign named torsions to a complete chain - virtual void AssignTorsions(const mol::ChainHandle& ch); + virtual void AssignTorsions(mol::ChainHandle ch); /// \brief assign named torsions to single residue - virtual void AssignTorsionsToResidue(const mol::ResidueHandle& residue); + virtual void AssignTorsionsToResidue(mol::ResidueHandle residue); /// \brief assign Backbone torsions to single residue - void AssignBackBoneTorsionsToResidue(const mol::ResidueHandle& res); + void AssignBackBoneTorsionsToResidue(mol::ResidueHandle res); /// \brief Check if peptide bond is formed between the two atoms. /// @@ -130,7 +140,10 @@ public: /// |brief Connect \p atom with all atoms for whith IsBondFeasible() and /// AreResiduesConsecutive() returns true - void DistanceBasedConnect(const mol::AtomHandle& atom); + void DistanceBasedConnect(mol::AtomHandle atom); +private: + Dialect dialect_; + bool strict_; }; diff --git a/modules/conop/src/chemdict_tool.cc b/modules/conop/src/chemdict_tool.cc index 865425d8c75a7b3a9437f38d0bd753dc783ee465..65fca93101c8cfe07c3ac999fb32d701bb0e4a60 100644 --- a/modules/conop/src/chemdict_tool.cc +++ b/modules/conop/src/chemdict_tool.cc @@ -28,204 +28,14 @@ #include <boost/iostreams/filtering_stream.hpp> #include <boost/iostreams/filter/gzip.hpp> -#include <ost/mol/mol.hh> -#include <ost/io/mol/star_parser.hh> -#include <ost/conop/compound_lib.hh> -using namespace ost; - - -typedef enum { - ATOM_SPEC, - BOND_SPEC, - DONT_KNOW -} LoopType; - -class ChemDictParser : public io::StarParser { -public: - ChemDictParser(std::istream& stream): - io::StarParser(stream), - compound_(new conop::Compound("UNK")), last_(0), loop_type_(DONT_KNOW) - { - this->InitTypeMap(); - } - - virtual bool OnBeginData(const StringRef& data_name) - { - compound_.reset(new conop::Compound(data_name.str())); - if (last_!=data_name[0]) { - last_=data_name[0]; - std::cout << last_ << std::flush; - } - atom_map_.clear(); - insert_=true; - return true; - } - - virtual bool OnBeginLoop(const io::StarLoopDesc& header) - { - if (header.GetCategory()=="chem_comp_atom") { - loop_type_=ATOM_SPEC; - indices_[ATOM_NAME]=header.GetIndex("atom_id"); - indices_[ALT_ATOM_NAME]=header.GetIndex("alt_atom_id"); - indices_[ELE]=header.GetIndex("type_symbol"); - indices_[IS_LEAVING]=header.GetIndex("pdbx_leaving_atom_flag"); - indices_[IS_AROMATIC]=header.GetIndex("pdbx_aromatic_flag"); - indices_[ORDINAL]=header.GetIndex("pdbx_ordinal"); - return true; - } else if (header.GetCategory()=="chem_comp_bond") { - loop_type_=BOND_SPEC; - indices_[ATOM_ID1]=header.GetIndex("atom_id_1"); - indices_[ATOM_ID2]=header.GetIndex("atom_id_2"); - indices_[BOND_ORDER]=header.GetIndex("value_order"); - return true; - } - loop_type_=DONT_KNOW; - return false; - } - - virtual void OnDataRow(const io::StarLoopDesc& header, - const std::vector<StringRef>& columns) - { - if (loop_type_==ATOM_SPEC) { - // compound_->AddBond() - conop::AtomSpec atom; - atom.is_leaving=columns[indices_[IS_LEAVING]][0]=='Y'; - atom.name=columns[indices_[ATOM_NAME]].str(); - atom.alt_name=columns[indices_[ALT_ATOM_NAME]].str(); - atom.ordinal=columns[indices_[ORDINAL]].to_int().second-1; - atom.element=columns[indices_[ELE]].str(); - atom.is_aromatic=columns[indices_[IS_AROMATIC]][0]=='Y'; - compound_->AddAtom(atom); - atom_map_[atom.name]=atom.ordinal; - } else if (loop_type_==BOND_SPEC) { - conop::BondSpec bond; - String atom_one=columns[indices_[ATOM_ID1]].str(); - String atom_two=columns[indices_[ATOM_ID2]].str(); - bond.atom_one=atom_map_[atom_one]; - bond.atom_two=atom_map_[atom_two]; - char b=columns[indices_[BOND_ORDER]][0]; - bond.order=b=='D' ? 2 : (b=='S' ? 1 : 3); - if (bond.atom_one>bond.atom_two) { - std::swap(bond.atom_one, bond.atom_two); - } - compound_->AddBond(bond); - } - } - - virtual void OnDataItem(const io::StarDataItem& item) - { - if (item.GetCategory()==StringRef("chem_comp", 9)) { - if (item.GetName()==StringRef("type", 4)) { - // convert type to uppercase - String type=item.GetValue().str(); - for (String::iterator i=type.begin(), e=type.end(); i!=e; ++i) { - *i=toupper(*i); - } - std::map<String, mol::ChemClass>::iterator i=tm_.find(type); - if (i!=tm_.end()) { - compound_->SetChemClass(i->second); - } else { - std::cout << "unknown type '" << type << "' for compound " - << compound_->GetID() << std::endl; - } - } else if (item.GetName()==StringRef("formula", 7)) { - compound_->SetFormula(item.GetValue().str()); - } else if (item.GetName()==StringRef("one_letter_code", 15)) { - if (item.GetValue().length()==1) { - compound_->SetOneLetterCode(item.GetValue()[0]); - } - } else if (item.GetName()==StringRef("pdbx_initial_date", 17)) { - compound_->SetCreationDate(conop::Date::FromString(item.GetValue())); - } else if (item.GetName()==StringRef("pdbx_modified_date", 18)) { - compound_->SetModificationDate(conop::Date::FromString(item.GetValue())); - } - } else if (item.GetName()==StringRef("atom_id", 7)) { - atom_.name=item.GetValue().str(); - } else if (item.GetName()==StringRef("alt_atom_id", 11)) { - atom_.alt_name=item.GetValue().str(); - } else if (item.GetName()==StringRef("type_symbol", 11)) { - atom_.element=item.GetValue().str(); - } else if (item.GetName()==StringRef("pdbx_ordinal", 12)) { - atom_.ordinal=item.GetValue().to_int().second-1; - } - } - - virtual void OnEndData() - { - if (insert_) { - if (compound_->GetAtomSpecs().empty()) { - compound_->AddAtom(atom_); - } - lib_->AddCompound(compound_); - } - } - - void SetCompoundLib(const conop::CompoundLibPtr& lib) - { - lib_=lib; - } -private: - void InitTypeMap(); - conop::CompoundLibPtr lib_; - conop::CompoundPtr compound_; - typedef enum { - ATOM_NAME=0, - ALT_ATOM_NAME=1, - IS_AROMATIC=2, - ORDINAL=3, - IS_LEAVING=4, - ELE=5, - STEREO_CONF=6, - ATOM_ID1=0, - ATOM_ID2=1, - BOND_ORDER=2, - } PropIndex; - char last_; - int indices_[10]; - bool insert_; - static std::map<String, mol::ChemClass> tm_; - std::map<String, int> atom_map_; - LoopType loop_type_; - conop::AtomSpec atom_; -}; - -std::map<String, mol::ChemClass> ChemDictParser::tm_=std::map<String, mol::ChemClass>(); +#include <ost/io/mol/chemdict_parser.hh> -void ChemDictParser::InitTypeMap() -{ - if (!tm_.empty()) - return; - tm_["L-PEPTIDE COOH CARBOXY TERMINUS"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); - tm_["L-PEPTIDE NH3 AMINO TERMINUS"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); - tm_["D-PEPTIDE NH3 AMINO TERMINUS"]=mol::ChemClass(mol::ChemClass::DPeptideLinking); - tm_["L-SACCHARIDE 1,4 AND 1,4 LINKING"]=mol::ChemClass(mol::ChemClass::LSaccharide); - tm_["D-SACCHARIDE 1,4 AND 1,4 LINKING"]=mol::ChemClass(mol::ChemClass::DSaccharide); - tm_["L-SACCHARIDE"]=mol::ChemClass(mol::ChemClass::LSaccharide); - tm_["D-SACCHARIDE"]=mol::ChemClass(mol::ChemClass::DSaccharide); - tm_["SACCHARIDE"]=mol::ChemClass(mol::ChemClass::Saccharide); - tm_["D-PEPTIDE LINKING"]=mol::ChemClass(mol::ChemClass::DPeptideLinking); - tm_["L-PEPTIDE LINKING"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); - tm_["L-PEPTIDE-LINKING"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); - tm_["DNA LINKING"]=mol::ChemClass(mol::ChemClass::DNALinking); - tm_["RNA LINKING"]=mol::ChemClass(mol::ChemClass::RNALinking); - tm_["L-DNA LINKING"]=mol::ChemClass(mol::ChemClass::DNALinking); - tm_["L-RNA LINKING"]=mol::ChemClass(mol::ChemClass::RNALinking); - tm_["R-DNA LINKING"]=mol::ChemClass(mol::ChemClass::DNALinking); - tm_["R-RNA LINKING"]=mol::ChemClass(mol::ChemClass::RNALinking); - tm_["DNA OH 3 PRIME TERMINUS"]=mol::ChemClass(mol::ChemClass::DNALinking); - tm_["PEPTIDE-LIKE"]=mol::ChemClass(mol::ChemClass::PeptideLinking); - tm_["PEPTIDE LINKING"]=mol::ChemClass(mol::ChemClass::PeptideLinking); - tm_["PEPTIDE-LINKING"]=mol::ChemClass(mol::ChemClass::PeptideLinking); - tm_["NON-POLYMER"]=mol::ChemClass(mol::ChemClass::NonPolymer); - tm_["RNA OH 3 PRIME TERMINUS"]=mol::ChemClass(mol::ChemClass::RNALinking); - tm_["?"]=mol::ChemClass(mol::ChemClass::Unknown); - -} +using namespace ost; void PrintUsage() { - std::cout << "usage: chemdict_tool action compound-dict db" << std::endl; + std::cout << "usage: chemdict_tool action <compound-dict> <db> (pdb|charmm|amber|opls)" << std::endl; std::cout << "supported actions are:" << std::endl; std::cout << " create - creates a new db " << std::endl; std::cout << " update - update existing db" << std::endl; @@ -233,17 +43,34 @@ void PrintUsage() int main(int argc, char const *argv[]) { - if (argc!=4) { + if (argc!=4 && argc!=5) { PrintUsage(); return 0; } + conop::Compound::Dialect dialect=conop::Compound::PDB; + if (argc==5) { + String format=argv[4]; + + if (format=="charmm") { + dialect=conop::Compound::CHARMM; + } else if (format=="pdb") { + dialect=conop::Compound::PDB; + } else if (format=="opls") { + dialect=conop::Compound::OPLS; + } else if (format=="amber") { + dialect=conop::Compound::AMBER; + } else { + PrintUsage(); + return 0; + } + } boost::iostreams::filtering_stream<boost::iostreams::input> filtered_istream; std::ifstream istream(argv[2]); if (boost::iequals(".gz", boost::filesystem::extension(argv[2]))) { filtered_istream.push(boost::iostreams::gzip_decompressor()); } filtered_istream.push(istream); - ChemDictParser cdp(filtered_istream); + io::ChemdictParser cdp(filtered_istream, dialect); conop::CompoundLibPtr compound_lib; if (!strcmp(argv[1], "create")) { compound_lib=conop::CompoundLib::Create(argv[3]); @@ -261,4 +88,4 @@ int main(int argc, char const *argv[]) cdp.Parse(); in_mem_lib->Copy(argv[3]); return 0; -} +} \ No newline at end of file diff --git a/modules/conop/src/compound.hh b/modules/conop/src/compound.hh index 6df62c8567e14acc00cbd45f0cdb8153ae081ea5..f381649ab30a3a77fe4ff06f6cf6b87a600faaff 100644 --- a/modules/conop/src/compound.hh +++ b/modules/conop/src/compound.hh @@ -112,15 +112,39 @@ typedef boost::shared_ptr<Compound> CompoundPtr; /// \brief Knows about the atoms and bonds of a chemical compounds class DLLEXPORT_OST_CONOP Compound { public: + typedef enum { + PDB ='P', + CHARMM ='C', + OPLS ='O', + AMBER ='A', + } Dialect; + Compound(const String& id) - : olc_('?'), tlc_(id), chem_class_() { + : olc_('?'), tlc_(id), chem_class_(), dialect_(Compound::PDB) { } /// \brief three-letter code that is unique for every compound const String& GetID() const { return tlc_; } - + Dialect GetDialect() const { return dialect_; } + + String GetDialectAsString() const { + switch (dialect_) { + case CHARMM: + return "CHARMM"; + case PDB: + return "PDB"; + case OPLS: + return "OPLS"; + case AMBER: + return "AMBER"; + default: + return ""; + } + } + void SetDialect(Dialect dialect) { dialect_=dialect; } + void SetOneLetterCode(char olc) { olc_=olc; } @@ -192,10 +216,11 @@ private: AtomSpecList atom_specs_; BondSpecList bond_specs_; mol::ChemClass chem_class_; + Dialect dialect_; Date creation_date_; Date mod_date_; }; }} -#endif +#endif \ No newline at end of file diff --git a/modules/conop/src/compound_lib.cc b/modules/conop/src/compound_lib.cc index a5c9ad1a77455341a3e466cf0447a0d8bd1cccac..10e46b16ba0dabe90274699accd01d8c832c548b 100644 --- a/modules/conop/src/compound_lib.cc +++ b/modules/conop/src/compound_lib.cc @@ -37,13 +37,16 @@ namespace { const char* CREATE_CMD[]={ "CREATE TABLE IF NOT EXISTS chem_compounds ( " " id INTEGER PRIMARY KEY AUTOINCREMENT, " -" tlc VARCHAR(3) UNIQUE NOT NULL, " +" tlc VARCHAR(3) NOT NULL, " " olc VARCHAR(1) NOT NULL, " +" dialect VARCHAR(1) NOT NULL, " " chem_class VARCHAR(1), " " formula VARCHAR(64) NOT NULL, " " pdb_initial TIMESTAMP, " " pdb_modified TIMESTAMP " ");", +" CREATE UNIQUE INDEX IF NOT EXISTS commpound_tlc_index ON chem_compounds " +" (tlc, dialect)", "CREATE TABLE IF NOT EXISTS atoms ( " " id INTEGER PRIMARY KEY AUTOINCREMENT, " " compound_id INTEGER REFERENCES chem_compounds (id) ON DELETE CASCADE, " @@ -76,8 +79,8 @@ const char* CREATE_CMD[]={ const char* INSERT_COMPOUND_STATEMENT="INSERT INTO chem_compounds " -" (tlc, olc, chem_class, formula, pdb_initial, pdb_modified) " -" VALUES (?, ?, ?, ?, DATE(?), DATE(?))"; +" (tlc, olc, dialect, chem_class, formula, pdb_initial, pdb_modified) " +" VALUES (?, ?, ?, ?, ?, DATE(?), DATE(?))"; const char* INSERT_ATOM_STATEMENT="INSERT INTO atoms " " (compound_id, name, alt_name, element, is_aromatic, stereo_conf, " @@ -104,8 +107,10 @@ void CompoundLib::AddCompound(const CompoundPtr& compound) char olc=compound->GetOneLetterCode(); sqlite3_bind_text(stmt, 2, &olc, 1, NULL); char chem_type=compound->GetChemClass(); - sqlite3_bind_text(stmt, 3, &chem_type, 1, NULL); - sqlite3_bind_text(stmt, 4, compound->GetFormula().c_str(), + char dialect=compound->GetDialect(); + sqlite3_bind_text(stmt, 3, &dialect, 1, NULL); + sqlite3_bind_text(stmt, 4, &chem_type, 1, NULL); + sqlite3_bind_text(stmt, 5, compound->GetFormula().c_str(), compound->GetFormula().length(), NULL); std::stringstream ss; ss << compound->GetCreationDate().year << "-" @@ -116,20 +121,21 @@ void CompoundLib::AddCompound(const CompoundPtr& compound) ss << compound->GetModificationDate().year << "-" << compound->GetModificationDate().month << "-" << compound->GetModificationDate().day; - sqlite3_bind_text(stmt, 5, date.c_str(), date.length(), NULL); + sqlite3_bind_text(stmt, 6, date.c_str(), date.length(), NULL); date=ss.str(); - sqlite3_bind_text(stmt, 6, date.c_str(), date.length(), NULL); + sqlite3_bind_text(stmt, 7, date.c_str(), date.length(), NULL); } else { - LOGN_ERROR(sqlite3_errmsg(conn_)); + LOG_ERROR(sqlite3_errmsg(conn_)); sqlite3_finalize(stmt); return; } retval=sqlite3_step(stmt); if (SQLITE_DONE!=retval) { if (sqlite3_errcode(conn_)==SQLITE_CONSTRAINT) { - LOGN_ERROR("Compound '" << compound->GetID() << "' already exists."); + LOG_ERROR("Compound '" << compound->GetID() << "' already exists for the " + << compound->GetDialectAsString() << " dialect."); } else { - LOGN_ERROR(sqlite3_errmsg(conn_)); + LOG_ERROR(sqlite3_errmsg(conn_)); } } sqlite3_finalize(stmt); @@ -155,7 +161,7 @@ void CompoundLib::AddCompound(const CompoundPtr& compound) assert(retval==SQLITE_DONE); atom_ids[i-al.begin()]=sqlite3_last_insert_rowid(conn_); } else { - std::cout << sqlite3_errmsg(conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(conn_)); } sqlite3_finalize(stmt); } @@ -173,7 +179,7 @@ void CompoundLib::AddCompound(const CompoundPtr& compound) retval=sqlite3_step(stmt); assert(retval==SQLITE_DONE); } else { - std::cout << sqlite3_errmsg(conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(conn_)); } sqlite3_finalize(stmt); } @@ -193,12 +199,12 @@ CompoundLibPtr CompoundLib::Copy(const String& filename) const } int rc=sqlite3_errcode(clone->conn_); if (rc!=SQLITE_OK) { - std::cout << sqlite3_errmsg(clone->conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(clone->conn_)); return CompoundLibPtr(); } return clone; } - std::cout << sqlite3_errmsg(clone->conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(clone->conn_)); return CompoundLibPtr(); } @@ -218,7 +224,7 @@ CompoundLibPtr CompoundLib::Create(const String& database) sqlite3_finalize(stmt); assert(SQLITE_DONE==retval); } else { - std::cout << sqlite3_errmsg(lib->conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(lib->conn_)); sqlite3_finalize(stmt); return CompoundLibPtr(); } @@ -226,7 +232,7 @@ CompoundLibPtr CompoundLib::Create(const String& database) } return lib; } - std::cout << sqlite3_errmsg(lib->conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(lib->conn_)); return CompoundLibPtr(); } @@ -238,12 +244,14 @@ CompoundLibPtr CompoundLib::Load(const String& database) if (SQLITE_OK==retval) { return lib; } - std::cout << sqlite3_errmsg(lib->conn_) << std::endl; + LOG_ERROR(sqlite3_errmsg(lib->conn_)); return CompoundLibPtr(); } void CompoundLib::LoadAtomsFromDB(CompoundPtr comp, int pk) { - String aq=str(format("SELECT name, alt_name, element, ordinal, is_leaving FROM atoms WHERE compound_id=%d ORDER BY ordinal ASC") % pk); + String aq=str(format("SELECT name, alt_name, element, ordinal, is_leaving " + "FROM atoms WHERE compound_id=%d " + "ORDER BY ordinal ASC") % pk); sqlite3_stmt* stmt; int retval=sqlite3_prepare_v2(conn_, aq.c_str(), static_cast<int>(aq.length()), @@ -259,6 +267,8 @@ void CompoundLib::LoadAtomsFromDB(CompoundPtr comp, int pk) { atom_sp.is_leaving=bool(sqlite3_column_int(stmt, 4)!=0); comp->AddAtom(atom_sp); } + } else { + LOG_ERROR(sqlite3_errmsg(conn_)); } sqlite3_finalize(stmt); } @@ -285,16 +295,20 @@ void CompoundLib::LoadBondsFromDB(CompoundPtr comp, int pk) { bond_sp.order=sqlite3_column_int(stmt, 2); comp->AddBond(bond_sp); } - } + } else { + LOG_ERROR(sqlite3_errmsg(conn_)); + } sqlite3_finalize(stmt); } -CompoundPtr CompoundLib::FindCompound(const String& id) { +CompoundPtr CompoundLib::FindCompound(const String& id, + Compound::Dialect dialect) { CompoundMap::iterator i=compound_cache_.find(id); if (i!=compound_cache_.end()) { return i->second; } - String query="select id, tlc, olc, chem_class from chem_compounds where tlc='"+id+"'"; + String query="SELECT id, tlc, olc, chem_class, dialect FROM chem_compounds" + " WHERE tlc='"+id+"' AND dialect='"+String(1, char(dialect))+"'"; sqlite3_stmt* stmt; int retval=sqlite3_prepare_v2(conn_, query.c_str(), static_cast<int>(query.length()), @@ -311,6 +325,7 @@ CompoundPtr CompoundLib::FindCompound(const String& id) { CompoundPtr compound(new Compound(id)); compound->SetOneLetterCode((sqlite3_column_text(stmt, 2))[0]); compound->SetChemClass(mol::ChemClass(sqlite3_column_text(stmt, 3)[0])); + compound->SetDialect(Compound::Dialect(sqlite3_column_text(stmt, 4)[0])); // Load atoms and bonds this->LoadAtomsFromDB(compound, pk); this->LoadBondsFromDB(compound, pk); @@ -320,7 +335,7 @@ CompoundPtr CompoundLib::FindCompound(const String& id) { } assert(SQLITE_DONE==sqlite3_step(stmt)); } else { - std::cout << "ERROR: " << sqlite3_errmsg(conn_) << std::endl; + LOG_ERROR("ERROR: " << sqlite3_errmsg(conn_)); sqlite3_finalize(stmt); return CompoundPtr(); } diff --git a/modules/conop/src/compound_lib.hh b/modules/conop/src/compound_lib.hh index f8d1b6c2e82163def3472176046903627da3c92e..8948e3479585f61e0fd9fa3d8b4b5c747fa97ccf 100644 --- a/modules/conop/src/compound_lib.hh +++ b/modules/conop/src/compound_lib.hh @@ -41,7 +41,7 @@ public: static CompoundLibPtr Create(const String& database); ~CompoundLib(); - CompoundPtr FindCompound(const String& id); + CompoundPtr FindCompound(const String& id, Compound::Dialect dialect); void AddCompound(const CompoundPtr& compound); CompoundLibPtr Copy(const String& filename) const; void ClearCache(); diff --git a/modules/conop/src/conop.cc b/modules/conop/src/conop.cc index 3267e83e059ecffbeb3490ea18a01994ad5d8599..d7edd9aa8ef5b451128a45b742d1b74ffb45b954 100644 --- a/modules/conop/src/conop.cc +++ b/modules/conop/src/conop.cc @@ -42,7 +42,7 @@ Conopology::Conopology(): ele_rad_map_["H"] = 1.09; - ele_rad_map_["C"] = 1.75; + ele_rad_map_["C"] = 1.70; //was 1.75 ele_rad_map_["N"] = 1.55; ele_rad_map_["O"] = 1.52; ele_rad_map_["F"] = 1.47; @@ -214,10 +214,13 @@ namespace { class PropAssigner: public mol::EntityVisitor { public: PropAssigner(const BuilderP& builder): builder_(builder) {} + virtual bool VisitResidue(const mol::ResidueHandle& res) { String key=builder_->IdentifyResidue(res); - builder_->CheckResidueCompleteness(res); + if (key=="UNK") { + unk_res_[res.GetKey()]+=1; + } builder_->FillResidueProps(res); return true; } @@ -227,8 +230,23 @@ public: builder_->FillAtomProps(atom); return false; } + + virtual void OnExit() + { + for (std::map<String, int>::iterator i=unk_res_.begin(), + e=unk_res_.end(); i!=e; ++i) { + if (i->second>1) { + LOG_WARNING("structure contains unknown residues with name " << i->first + << " ("<< i->second << "x)"); + } else { + LOG_WARNING("structure contains unknown residue with name " << i->first); + } + + } + } private: BuilderP builder_; + std::map<String, int> unk_res_; }; @@ -247,8 +265,8 @@ public: virtual bool VisitResidue(const mol::ResidueHandle& res) { builder_->ConnectAtomsOfResidue(res); - if(prev_) { - builder_->ConnectResidueToPrev(res,prev_); + if (prev_) { + builder_->ConnectResidueToPrev(res,prev_); } prev_=res; return false; @@ -279,15 +297,15 @@ private: void Conopology::ConnectAll(const BuilderP& b, mol::EntityHandle eh, int flag) { Profile profile_connect("ConnectAll"); - LOGN_DEBUG("Conopology: ConnectAll: building internal coordinate system"); + LOG_DEBUG("Conopology: ConnectAll: building internal coordinate system"); mol::XCSEditor xcs_e=eh.RequestXCSEditor(mol::BUFFERED_EDIT); PropAssigner a(b); eh.Apply(a); - LOGN_DUMP("Conopology: ConnectAll: connecting all bonds"); + LOG_DEBUG("Conopology: ConnectAll: connecting all bonds"); Connector connector(b); eh.Apply(connector); - LOGN_DUMP("Conopology: ConnectAll: assigning all torsions"); + LOG_DEBUG("Conopology: ConnectAll: assigning all torsions"); TorsionMaker tmaker(b); eh.Apply(tmaker); } @@ -300,6 +318,15 @@ Real Conopology::GetDefaultAtomRadius(const String& element) const return it==ele_rad_map_.end() ? 1.5 : it->second; } +bool Conopology::IsValidElement(const String& element) const +{ + String upper_ele=element; + std::transform(upper_ele.begin(),upper_ele.end(),upper_ele.begin(),toupper); + + std::map<String,Real>::const_iterator it = ele_mass_map_.find(upper_ele); + return it!=ele_mass_map_.end(); +} + Real Conopology::GetDefaultAtomMass(const String& element) const { String upper_ele=element; diff --git a/modules/conop/src/conop.hh b/modules/conop/src/conop.hh index f8133a0781289326cc66a2d1021a68a9275f44ce..e8ad4bc0b7034942a446a0726c3cb2949ba76d36 100644 --- a/modules/conop/src/conop.hh +++ b/modules/conop/src/conop.hh @@ -53,6 +53,8 @@ public: void RegisterBuilder(const BuilderP& b, const String& name); void SetDefaultBuilder(const String& default_name); + + bool IsValidElement(const String& element) const; private: Conopology(); Conopology(const Conopology&) {} diff --git a/modules/conop/src/heuristic_builder.cc b/modules/conop/src/heuristic_builder.cc index 644771764b9325a8601cf56e54615c711e12cea1..bb4a63a229bfdc5b270b447538115df02a8b9659 100644 --- a/modules/conop/src/heuristic_builder.cc +++ b/modules/conop/src/heuristic_builder.cc @@ -113,13 +113,13 @@ HeuristicBuilder::HeuristicBuilder(): { int def_entry_count = sizeof(heuristic_connect::def_entry_table)/sizeof(heuristic_connect::CONN_DEF_ENTRY); - LOGN_DEBUG("importing internal connectivity tables"); + LOG_DEBUG("importing internal connectivity tables"); for(int ec=0;ec<def_entry_count;++ec) { heuristic_connect::CONN_DEF_ENTRY& def_entry = heuristic_connect::def_entry_table[ec]; detail::ConnResEntry entry(def_entry.abbrev, def_entry.single, def_entry.chem_class); - LOGN_DUMP("creating table entry for " << def_entry.abbrev); - LOGN_DUMP("working on bond entries"); + LOG_DEBUG("creating table entry for " << def_entry.abbrev); + LOG_DEBUG("working on bond entries"); for (int xx=0;xx<def_entry.name_count;++xx) { String name=def_entry.name_list[xx]; if (name!="OXT") @@ -151,14 +151,14 @@ HeuristicBuilder::HeuristicBuilder(): else if(conn_nam[1]==String("-")) { entry.SetPrev(conn_nam[0]);} else if(conn_nam[0]==String("+")) { entry.SetNext(conn_nam[1]);} else if(conn_nam[1]==String("+")) { entry.SetNext(conn_nam[0]);} - LOGN_DUMP(" " << conn_nam[0] << " " << conn_nam[1]); + LOG_DEBUG(" " << conn_nam[0] << " " << conn_nam[1]); } else { - LOGN_DUMP(" " << conn_nam[0] << " " << conn_nam[1]); + LOG_DEBUG(" " << conn_nam[0] << " " << conn_nam[1]); entry.AddConn(conn_nam[0],conn_nam[1]); } } // then the torsion entries - LOGN_DUMP("working on torsion entries"); + LOG_DEBUG("working on torsion entries"); for(int cc=0;cc<def_entry.tor_count;++cc) { int tor_id[] = {def_entry.tor_list[cc].n1, def_entry.tor_list[cc].n2, @@ -183,7 +183,7 @@ HeuristicBuilder::HeuristicBuilder(): emap_[def_entry.abbrev]=entry; } - LOGN_DUMP("done importing internal tables"); + LOG_DEBUG("done importing internal tables"); } HeuristicBuilder::~HeuristicBuilder() @@ -201,18 +201,18 @@ void HeuristicBuilder::ConnectivityFromAtomNames(const mol::ResidueHandle& res, mol::AtomHandleList::iterator it2=it1; ++it2; for (;it2!=atomlist.end();++it2) { - LOG_DUMP("checking for atom pair (" << it1->GetName() << "," + LOG_DEBUG("checking for atom pair (" << it1->GetName() << "," << it2->GetName() << ") in connectivity table of " << res.GetKey() << "... "); int conn=centry.Check(it1->GetName(),it2->GetName()); if (conn==1 && this->IsBondFeasible(*it1, *it2)) { - LOGN_DUMP( "found"); + LOG_DEBUG( "found"); editor.Connect(*it1,*it2); } else if(conn==2 && this->IsBondFeasible(*it2, *it1)) { - LOGN_DUMP( "found (reversed)"); + LOG_DEBUG( "found (reversed)"); editor.Connect(*it2,*it1); } else { - LOGN_DUMP( "not found"); + LOG_DEBUG( "not found"); } } } else { @@ -221,17 +221,20 @@ void HeuristicBuilder::ConnectivityFromAtomNames(const mol::ResidueHandle& res, } } -void HeuristicBuilder::ConnectAtomsOfResidue(const mol::ResidueHandle& res) +void HeuristicBuilder::ConnectAtomsOfResidue(mol::ResidueHandle res) { - LOGN_DUMP("HeuristicBuilder: ConnectAtomsOfResidue on " << res.GetKey() << " " << res.GetNumber()); + LOG_DEBUG("HeuristicBuilder: ConnectAtomsOfResidue on " << res.GetKey() << " " << res.GetNumber()); mol::AtomHandleList atomlist = res.GetAtomList(); mol::AtomHandleList unk_atomlist; - LOGN_DUMP( "using atom list:"); +#if !defined(NDEBUG) + std::stringstream ss; + ss << "using atom list:"; for(mol::AtomHandleList::iterator it=atomlist.begin();it!=atomlist.end();++it) { - LOGN_DUMP( " " << it->GetName() << " @" << it->GetPos()); + ss << " " << it->GetName() << " @" << it->GetPos(); } - + LOG_DEBUG(ss.str()); +#endif std::pair<detail::ConnResEntry,bool> ret = LookupResEntry(res.GetKey()); if(ret.second) { @@ -241,11 +244,11 @@ void HeuristicBuilder::ConnectAtomsOfResidue(const mol::ResidueHandle& res) for(mol::AtomHandleList::iterator it1=unk_atomlist.begin(); it1!=unk_atomlist.end(); ++it1) { - LOGN_DUMP( "atom " << it1->GetName() << " not found, using distance based connect"); + LOG_DEBUG( "atom " << it1->GetName() << " not found, using distance based connect"); Builder::DistanceBasedConnect(*it1); } } else { - LOGN_DUMP("no residue entry found, using distance based connect"); + LOG_DEBUG("no residue entry found, using distance based connect"); for(mol::AtomHandleList::iterator it1=atomlist.begin(); it1!=atomlist.end(); ++it1) { @@ -263,16 +266,16 @@ void ConnectPrevNext(HeuristicBuilder* builder,mol::ResidueHandle res0, static String fname=flag ? "HeuristicBuilder: ConnectNextXCS" : "HeuristicBuilder: ConnectPrevXCS"; if(!res0) return; // return if invalid mol::XCSEditor editor=res0.GetEntity().RequestXCSEditor(mol::BUFFERED_EDIT); - LOGN_DUMP(fname << " on " << res0.GetKey() << " " << res0.GetNumber()); + LOG_DEBUG(fname << " on " << res0.GetKey() << " " << res0.GetNumber()); if(!res1) { // auto-detect prev or next residue in chain // and perform sequence check if(flag) { - LOGN_DUMP(fname << " autodecting next residue"); + LOG_DEBUG(fname << " autodecting next residue"); res1 = res0.GetChain().GetNext(res0); } else { - LOGN_DUMP(fname << " autodecting next residue"); + LOG_DEBUG(fname << " autodecting next residue"); res1 = res0.GetChain().GetPrev(res0); } } else { @@ -285,7 +288,8 @@ void ConnectPrevNext(HeuristicBuilder* builder,mol::ResidueHandle res0, } if(!res1) return; // ignore if prev/next residue is invalid - LOGN_DUMP(fname << " found second residue " << res1.GetKey() << " " << res1.GetNumber()); + LOG_DEBUG(fname << " found second residue " << res1.GetKey() + << " " << res1.GetNumber()); std::pair<detail::ConnResEntry,bool> res0_ret = builder->LookupResEntry(res0.GetKey()); std::pair<detail::ConnResEntry,bool> res1_ret = builder->LookupResEntry(res1.GetKey()); @@ -297,19 +301,26 @@ void ConnectPrevNext(HeuristicBuilder* builder,mol::ResidueHandle res0, String res1_atom_name = res1_centry.GetNext(); if(res0_atom_name.empty() || res1_atom_name.empty()) return; - LOGN_DUMP(fname << ": looking up atom names " << res0_atom_name << " " << res1_atom_name); + LOG_DEBUG(fname << ": looking up atom names " << res0_atom_name << " " << res1_atom_name); // lookup both atoms in their respective residues mol::AtomHandle res0_atom = res0.FindAtom(res0_atom_name); mol::AtomHandle res1_atom = res1.FindAtom(res1_atom_name); if(res0_atom && res1_atom) { - LOGN_DUMP(fname << ": found atoms, connecting"); + LOG_DEBUG(fname << ": found atoms, connecting"); if(flag) { - if (builder->DoesPeptideBondExist(res0_atom, res1_atom)) + if (builder->DoesPeptideBondExist(res0_atom, res1_atom)) { editor.Connect(res0_atom,res1_atom); + res0.SetIsProtein(true); + res1.SetIsProtein(true); + } } else { - if (builder->DoesPeptideBondExist(res1_atom, res0_atom)) + if (builder->DoesPeptideBondExist(res1_atom, res0_atom)) { editor.Connect(res1_atom, res0_atom); + res0.SetIsProtein(true); + res1.SetIsProtein(true); + } + } } } else { @@ -319,7 +330,7 @@ void ConnectPrevNext(HeuristicBuilder* builder,mol::ResidueHandle res0, } -void HeuristicBuilder::AssignTorsionsToResidue(const mol::ResidueHandle& res) +void HeuristicBuilder::AssignTorsionsToResidue(mol::ResidueHandle res) { mol::XCSEditor editor=res.GetEntity().RequestXCSEditor(mol::BUFFERED_EDIT); @@ -374,11 +385,11 @@ void HeuristicBuilder::AssignTorsionsToResidue(const mol::ResidueHandle& res) mol::TorsionHandle th = editor.AddTorsion(tel[ti].name, ah[0], ah[1], ah[2], ah[3]); if(th) { - LOGN_DUMP("added torsion entry for " << tel[ti].a[0] << " " + LOG_DEBUG("added torsion entry for " << tel[ti].a[0] << " " << tel[ti].a[1] << " " << tel[ti].a[2] << " " << tel[ti].a[3]); } else { - LOGN_DUMP("no torsion entry for " << tel[ti].a[0] << " " + LOG_DEBUG("no torsion entry for " << tel[ti].a[0] << " " << tel[ti].a[1] << " " << tel[ti].a[2] << " " << tel[ti].a[3]); } @@ -387,7 +398,7 @@ void HeuristicBuilder::AssignTorsionsToResidue(const mol::ResidueHandle& res) } } -void HeuristicBuilder::AssignTorsions(const mol::ChainHandle& chain) +void HeuristicBuilder::AssignTorsions(mol::ChainHandle chain) { if (chain.GetResidueCount()==0) return; @@ -402,13 +413,13 @@ void HeuristicBuilder::AssignTorsions(const mol::ChainHandle& chain) } } -void HeuristicBuilder::ConnectResidueToPrev(const mol::ResidueHandle& rh, - const mol::ResidueHandle& prev) { +void HeuristicBuilder::ConnectResidueToPrev(mol::ResidueHandle rh, + mol::ResidueHandle prev) { ConnectPrevNext<false>(this, rh, prev); } -void HeuristicBuilder::ConnectResidueToNext(const mol::ResidueHandle& rh, - const mol::ResidueHandle& next) { +void HeuristicBuilder::ConnectResidueToNext(mol::ResidueHandle rh, + mol::ResidueHandle next) { ConnectPrevNext<true>(this, rh, next); } @@ -434,15 +445,14 @@ std::pair<detail::ConnResEntry,bool> HeuristicBuilder::LookupResEntry(const mol: { static detail::ConnResEntry dummy; - LOG_DUMP("Looking for reskey '" << key << "' in connectivity map... "); + detail::ConnResEntryMap::iterator pos = emap_.find(key); if(pos!=emap_.end()) { - LOGN_DUMP("found"); + LOG_DEBUG("reskey '" << key << "' found in connectivity map"); return std::make_pair(pos->second,true); - } else { - LOGN_DUMP("not found"); } + LOG_DEBUG("reskey '" << key << "' not found connectivity map"); return std::make_pair(dummy,false); } diff --git a/modules/conop/src/heuristic_builder.hh b/modules/conop/src/heuristic_builder.hh index d251e53bfd582afe276fea730e513ad5d77eb041..bcfccdbb1e05de6f8aac5b555929e53cd6d640ff 100644 --- a/modules/conop/src/heuristic_builder.hh +++ b/modules/conop/src/heuristic_builder.hh @@ -79,26 +79,28 @@ public: HeuristicBuilder(); virtual ~HeuristicBuilder(); - virtual void AssignTorsions(const mol::ChainHandle& ch); + virtual void AssignTorsions(mol::ChainHandle ch); //! \brief connect by using information in the heuristic connectivity table. // // This does not make any assumption on the correctness of internal or external // coordinates. Only the atom names and residue need to be known. - virtual void ConnectAtomsOfResidue(const mol::ResidueHandle& rh); + virtual void ConnectAtomsOfResidue(mol::ResidueHandle rh); virtual bool IsResidueComplete(const mol::ResidueHandle& rh); // virtual char GetOneLetterCode(const mol::ResidueKey& residue) const; //!\brief connect to previous residue in chain. - virtual void ConnectResidueToPrev(const mol::ResidueHandle& rh, const mol::ResidueHandle& prev); + virtual void ConnectResidueToPrev(mol::ResidueHandle rh, + mol::ResidueHandle prev); //! - virtual void AssignTorsionsToResidue(const mol::ResidueHandle& residue); + virtual void AssignTorsionsToResidue(mol::ResidueHandle residue); virtual void FillResidueProps(mol::ResidueHandle residue); //!\brief connect to next residue in chain. - virtual void ConnectResidueToNext(const mol::ResidueHandle& rh, const mol::ResidueHandle& next); + virtual void ConnectResidueToNext(mol::ResidueHandle rh, + mol::ResidueHandle next); //!\brief get connectivity table for residues // Retrieve connectiviy information based on residue key. The returned diff --git a/modules/conop/src/heuristic_connect.cc b/modules/conop/src/heuristic_connect.cc index aaab318b2829f4a28751dfc4eaf7b1474a72f780..1e20c3e44f6a0fc7652cef7596adcc79bf2043f4 100644 --- a/modules/conop/src/heuristic_connect.cc +++ b/modules/conop/src/heuristic_connect.cc @@ -133,7 +133,7 @@ void fill_map(ConnResEntryMap& em) for(int ec=0;ec<def_entry_count;++ec) { heuristic_connect::CONN_DEF_ENTRY& def_entry = heuristic_connect::def_entry_table[ec]; ConnResEntry entry(def_entry.abbrev); - LOG_DUMP("creating default entry for " << def_entry.abbrev << std::endl); + LOG_DEBUG("creating default entry for " << def_entry.abbrev << std::endl); // first the connectivity entries for(int cc=0;cc<def_entry.conn_count;++cc) { int conn_id[] = {def_entry.conn_list[cc][0],def_entry.conn_list[cc][1]}; @@ -160,9 +160,9 @@ void fill_map(ConnResEntryMap& em) else if(conn_nam[1]==String("-")) { entry.SetPrev(conn_nam[0]);} else if(conn_nam[0]==String("+")) { entry.SetNext(conn_nam[1]);} else if(conn_nam[1]==String("+")) { entry.SetNext(conn_nam[0]);} - LOG_DUMP(" " << conn_nam[0] << " " << conn_nam[1] << std::endl); + LOG_DEBUG(" " << conn_nam[0] << " " << conn_nam[1] << std::endl); } else { - LOG_DUMP(" " << conn_nam[0] << " " << conn_nam[1] << std::endl); + LOG_DEBUG(" " << conn_nam[0] << " " << conn_nam[1] << std::endl); entry.AddConn(conn_nam[0],conn_nam[1]); } } @@ -203,14 +203,14 @@ std::pair<ConnResEntry,bool> LookupResEntry(const ResidueKey& key) initialized=true; } - LOG_DUMP("Looking for reskey '" << key << "' in connectivity map... "); + LOG_DEBUG("Looking for reskey '" << key << "' in connectivity map... "); ConnResEntryMap::iterator pos = emap.find(key); if(pos!=emap.end()) { - LOG_DUMP("found" << std::endl); + LOG_DEBUG("found" << std::endl); return std::make_pair(pos->second,true); } else { - LOG_DUMP("not found" << std::endl); + LOG_DEBUG("not found" << std::endl); } return std::make_pair(dummy,false); } @@ -222,7 +222,7 @@ public: // visitor interface virtual bool VisitChain(const ChainHandle& chain) { - LOG_DUMP("connect: setting current chain to " << chain.GetName() << std::endl); + LOG_DEBUG("connect: setting current chain to " << chain.GetName() << std::endl); curr_chain_=chain; curr_residue_=ResidueHandle(); prev_residue_=ResidueHandle(); @@ -232,13 +232,13 @@ public: } virtual bool VisitResidue(const ResidueHandle& res) { - LOG_DUMP("connect: setting current residue to " << res.GetKey() << " " << res.GetNumber() << std::endl); + LOG_DEBUG("connect: setting current residue to " << res.GetKey() << " " << res.GetNumber() << std::endl); // residue has changed curr_residue_=res; AtomHandleList atomlist = res.GetAtomList(); - LOG_DUMP( "using atom list:" << std::endl); + LOG_DEBUG( "using atom list:" << std::endl); for(AtomHandleList::iterator it=atomlist.begin();it!=atomlist.end();++it) { - LOG_DUMP( " " << it->GetName() << " @" << it->GetPos() << std::endl); + LOG_DEBUG( " " << it->GetName() << " @" << it->GetPos() << std::endl); } std::pair<ConnResEntry,bool> ret = LookupResEntry(res.GetKey()); @@ -251,16 +251,16 @@ public: ++it2; for(;it2!=atomlist.end();++it2) { bool ex1,ex2; - LOG_DUMP( "checking for atom pair (" << it1->GetName() << "," << it2->GetName() << ") in connectivity table of " << res.GetKey() << "... "); + LOG_DEBUG( "checking for atom pair (" << it1->GetName() << "," << it2->GetName() << ") in connectivity table of " << res.GetKey() << "... "); int conn=centry.Check(it1->GetName(),it2->GetName(),ex1,ex2); if (conn==1) { - LOG_DUMP( "found" << std::endl); + LOG_DEBUG( "found" << std::endl); res.GetEntity().Connect(*it1,*it2); } else if(conn==2) { - LOG_DUMP( "found (reversed)" << std::endl); + LOG_DEBUG( "found (reversed)" << std::endl); res.GetEntity().Connect(*it2,*it1); } else { - LOG_DUMP( "not found" << std::endl); + LOG_DEBUG( "not found" << std::endl); // check ex1 and/or ex2 } } @@ -272,7 +272,7 @@ public: - previous residue number is consecutive to this one */ if(centry.GetPrev()==it1->GetName()) { // 'PREV' entry - LOG_DUMP( "found 'prev' atom entry: " << it1->GetName() << std::endl); + LOG_DEBUG( "found 'prev' atom entry: " << it1->GetName() << std::endl); if(prev_residue_) { // previous residue exists if(!next_atom_name_.empty()) { // previous residue 'NEXT' atom set if(InSequence(prev_residue_,res)) { @@ -280,7 +280,7 @@ public: for(AtomHandleList::iterator pit=prev_atomlist.begin(); pit!=prev_atomlist.end();++pit) { if(pit->GetName()==next_atom_name_) { - LOG_DUMP( "connecting previous atom " << pit->GetName() << " to " << it1->GetName() << std::endl); + LOG_DEBUG( "connecting previous atom " << pit->GetName() << " to " << it1->GetName() << std::endl); res.GetEntity().Connect(*pit,*it1); } } @@ -290,7 +290,7 @@ public: } if(centry.GetNext()==it1->GetName()) { - LOG_DUMP( "found 'next' atom entry: " << it1->GetName() << std::endl); + LOG_DEBUG( "found 'next' atom entry: " << it1->GetName() << std::endl); // remember this atom for the next residue next_atom_name_=it1->GetName(); } @@ -386,9 +386,9 @@ public: if(ah[0] && ah[1] && ah[2] && ah[3]) { TorsionHandle th = chain.GetEntity().AddTorsion(tel[ti].name,ah[0],ah[1],ah[2],ah[3]); if(th) { - LOG_DUMP("added torsion entry for " << tel[ti].a[0] << " " << tel[ti].a[1] << " " << tel[ti].a[2] << " " << tel[ti].a[3] << std::endl); + LOG_DEBUG("added torsion entry for " << tel[ti].a[0] << " " << tel[ti].a[1] << " " << tel[ti].a[2] << " " << tel[ti].a[3] << std::endl); } else { - LOG_DUMP("no torsion entry for " << tel[ti].a[0] << " " << tel[ti].a[1] << " " << tel[ti].a[2] << " " << tel[ti].a[3] << std::endl); + LOG_DEBUG("no torsion entry for " << tel[ti].a[0] << " " << tel[ti].a[1] << " " << tel[ti].a[2] << " " << tel[ti].a[3] << std::endl); } } } // ti diff --git a/modules/conop/src/heuristic_connect.hh b/modules/conop/src/heuristic_connect.hh index cea8c6962c16ffc65ed092d681d0aa3643be3641..c3f6336a0575f1c651b7c6863e2c003d25d0c79a 100644 --- a/modules/conop/src/heuristic_connect.hh +++ b/modules/conop/src/heuristic_connect.hh @@ -19,11 +19,7 @@ #ifndef OST_CONOP_HEURISTIC_CONNECT_H #define OST_CONOP_HEURISTIC_CONNECT_H -namespace ost { - -class EntityHandle; - -namespace conop { +namespace ost { namespace conop { void HeuristicConnect(EntityHandle& eh); diff --git a/modules/conop/src/rule_based_builder.cc b/modules/conop/src/rule_based_builder.cc index f2a8fd18f28672d36bf6f1e9a816f6b1c231ac9c..e47c96e358850eb5f89111d575366577e2e9eab7 100644 --- a/modules/conop/src/rule_based_builder.cc +++ b/modules/conop/src/rule_based_builder.cc @@ -31,10 +31,11 @@ namespace ost { namespace conop { -void RuleBasedBuilder::CompleteAtoms(const mol::ResidueHandle& rh) {} +void RuleBasedBuilder::CompleteAtoms(mol::ResidueHandle rh) {} -void RuleBasedBuilder::CheckResidueCompleteness(const mol::ResidueHandle& rh) { - LookupCompound(rh); +void RuleBasedBuilder::CheckResidueCompleteness(const mol::ResidueHandle& rh) +{ + this->LookupCompound(rh); if (!last_compound_) { mol::AtomHandleList atoms=rh.GetAtomList(); for (mol::AtomHandleList::const_iterator i=atoms.begin(), @@ -43,7 +44,7 @@ void RuleBasedBuilder::CheckResidueCompleteness(const mol::ResidueHandle& rh) { } return; } - ReorderAtoms(rh , last_compound_); + this->ReorderAtoms(rh , last_compound_); AtomSpecList::const_iterator j=last_compound_->GetAtomSpecs().begin(); mol::AtomHandleList atoms=rh.GetAtomList(); mol::AtomHandleList::iterator i=atoms.begin(); @@ -53,19 +54,40 @@ void RuleBasedBuilder::CheckResidueCompleteness(const mol::ResidueHandle& rh) { if ((*j).ordinal!=static_cast<int>((*i).Impl()->GetState())) { this->OnMissingAtom(rh, (*j).name); } else { - this->FillAtomProps(*i, *j); ++i; } } } +bool RuleBasedBuilder::HasUnknownAtoms(mol::ResidueHandle res) +{ + this->LookupCompound(res); + if (!last_compound_) { + return true; + } + this->ReorderAtoms(res, last_compound_); + AtomSpecList::const_iterator j=last_compound_->GetAtomSpecs().begin(); + mol::AtomHandleList atoms=res.GetAtomList(); + mol::AtomHandleList::iterator i=atoms.begin(); + for (mol::AtomHandleList::iterator + i=atoms.begin(), e=atoms.end(); i!=e; ++i) { + if ((*i).Impl()->GetState()==std::numeric_limits<unsigned int>::max()) { + if ((*i).GetElement()=="H" && this->GetStrictHydrogenMode()==false) { + continue; + } + return true; + } + } + return false; +} + void RuleBasedBuilder::FillAtomProps(mol::AtomHandle atom, const AtomSpec& spec) { + Conopology& conop_inst=Conopology::Instance(); mol::AtomProp props=atom.GetAtomProps(); - if (props.element=="") { + if (!conop_inst.IsValidElement(props.element)) { props.element=spec.element; } - Conopology& conop_inst=Conopology::Instance(); if (props.radius==0.0) { props.radius=conop_inst.GetDefaultAtomRadius(spec.element); } @@ -75,8 +97,9 @@ void RuleBasedBuilder::FillAtomProps(mol::AtomHandle atom, const AtomSpec& spec) atom.SetAtomProps(props); } -void RuleBasedBuilder::FillResidueProps(mol::ResidueHandle residue) { - LookupCompound(residue); +void RuleBasedBuilder::FillResidueProps(mol::ResidueHandle residue) +{ + this->LookupCompound(residue); if (!last_compound_) return; residue.SetChemClass(last_compound_->GetChemClass()); @@ -91,16 +114,24 @@ struct OrdinalComp { }; -void RuleBasedBuilder::LookupCompound(const mol::ResidueHandle& rh) { - if ((last_compound_) && (rh.GetName()==last_compound_->GetID())) { - return; - } else { - last_compound_= compound_lib_->FindCompound(rh.GetName()); - } +void RuleBasedBuilder::LookupCompound(const mol::ResidueHandle& rh) +{ + Compound::Dialect dialect=this->GetDialect()==PDB_DIALECT ? Compound::PDB : Compound::CHARMM; + if ((last_compound_) && (rh.GetName()==last_compound_->GetID())) { + return; + } + last_compound_=compound_lib_->FindCompound(rh.GetName(), dialect); + if (!last_compound_ && this->GetDialect()!=PDB_DIALECT) { + last_compound_=compound_lib_->FindCompound(rh.GetName(), Compound::PDB); + } } -void RuleBasedBuilder::ReorderAtoms(const mol::ResidueHandle& residue, - CompoundPtr compound) { +void RuleBasedBuilder::ReorderAtoms(mol::ResidueHandle residue, + CompoundPtr compound) +{ + if (last_residue_==residue) { + return; + } mol::impl::ResidueImplPtr impl=residue.Impl(); mol::impl::AtomImplList::iterator i=impl->GetAtomList().begin(); for (; i!=impl->GetAtomList().end(); ++i) { @@ -108,7 +139,7 @@ void RuleBasedBuilder::ReorderAtoms(const mol::ResidueHandle& residue, int index=compound->GetAtomSpecIndex(atom->GetName()); if (index==-1) { if (!this->OnUnknownAtom(mol::AtomHandle(atom))) { - atom->SetState(std::numeric_limits<int>::max()); + atom->SetState(std::numeric_limits<unsigned int>::max()); } continue; } @@ -116,6 +147,14 @@ void RuleBasedBuilder::ReorderAtoms(const mol::ResidueHandle& residue, } std::sort(impl->GetAtomList().begin(), impl->GetAtomList().end(), OrdinalComp()); + last_residue_=residue; + unknown_atoms_=this->HasUnknownAtoms(residue); + if (unknown_atoms_) { + LOG_WARNING("residue " << residue << " doesn't look like a standard " + << residue.GetKey()); + residue.SetChemClass(mol::ChemClass(mol::ChemClass::Unknown)); + residue.SetOneLetterCode('?'); + } } @@ -130,7 +169,9 @@ mol::ResidueKey RuleBasedBuilder::IdentifyResidue(const mol::ResidueHandle& rh) } } -mol::AtomHandle RuleBasedBuilder::LocateAtom(const mol::AtomHandleList& ahl, int ordinal) { +mol::AtomHandle RuleBasedBuilder::LocateAtom(const mol::AtomHandleList& ahl, + int ordinal) +{ if (ahl.empty()) return mol::AtomHandle(); const mol::AtomHandle* r_it=&ahl.back(); @@ -146,14 +187,26 @@ mol::AtomHandle RuleBasedBuilder::LocateAtom(const mol::AtomHandleList& ahl, int return not_found ? mol::AtomHandle() : *r_it; } -void RuleBasedBuilder::ConnectAtomsOfResidue(const mol::ResidueHandle& rh) { + +inline void dist_connect(RuleBasedBuilder* b, mol::AtomHandleList atoms) +{ + for (mol::AtomHandleList::const_iterator i=atoms.begin(), + e=atoms.end(); i!=e; ++i) { + b->DistanceBasedConnect(*i); + } +} +void RuleBasedBuilder::ConnectAtomsOfResidue(mol::ResidueHandle rh) +{ + LookupCompound(rh); + if (!last_compound_) { - mol::AtomHandleList atoms=rh.GetAtomList(); - for (mol::AtomHandleList::const_iterator i=atoms.begin(), - e=atoms.end(); i!=e; ++i) { - this->DistanceBasedConnect(*i); - } + dist_connect(this, rh.GetAtomList()); + return; + } + this->ReorderAtoms(rh, last_compound_); + if (unknown_atoms_) { + dist_connect(this, rh.GetAtomList()); return; } mol::XCSEditor e=rh.GetEntity().RequestXCSEditor(mol::BUFFERED_EDIT); @@ -164,25 +217,30 @@ void RuleBasedBuilder::ConnectAtomsOfResidue(const mol::ResidueHandle& rh) { mol::AtomHandle a1=this->LocateAtom(atoms, bond.atom_one); mol::AtomHandle a2=this->LocateAtom(atoms, bond.atom_two); if (a1.IsValid() && a2.IsValid() && this->IsBondFeasible(a1, a2)) { - e.Connect(a1, a2, bond.order); + if (this->GetStrictHydrogenMode() && + (a1.GetElement()=="H" || a2.GetElement()=="H")) { + continue; + } + e.Connect(a1, a2, bond.order); } } - for (mol::AtomHandleList::const_iterator i=atoms.begin(), - e=atoms.end(); i!=e; ++i) { - if (int((*i).Impl()->GetState())==std::numeric_limits<int>::max()) { - this->DistanceBasedConnect(*i); + for (mol::AtomHandleList::iterator i=atoms.begin(), e=atoms.end(); i!=e; ++i) { + if ((*i).GetElement()=="H" && (*i).GetBondCount()==0) { + this->DistanceBasedConnect(*i); } } } -void RuleBasedBuilder::ConnectResidueToNext(const mol::ResidueHandle& rh, - const mol::ResidueHandle& next) { +void RuleBasedBuilder::ConnectResidueToNext(mol::ResidueHandle rh, + mol::ResidueHandle next) +{ if (!next.IsValid()) { return; } + Compound::Dialect dialect=this->GetDialect()==PDB_DIALECT ? Compound::PDB : Compound::CHARMM; mol::XCSEditor e=rh.GetEntity().RequestXCSEditor(mol::BUFFERED_EDIT); - CompoundPtr mc=compound_lib_->FindCompound(rh.GetName()); - CompoundPtr nc=compound_lib_->FindCompound(next.GetName()); + CompoundPtr mc=compound_lib_->FindCompound(rh.GetName(), dialect); + CompoundPtr nc=compound_lib_->FindCompound(next.GetName(), dialect); if (!(mc && nc)) return; // check if both of the residues are able to form a peptide bond. @@ -200,11 +258,14 @@ void RuleBasedBuilder::ConnectResidueToNext(const mol::ResidueHandle& rh, // the peptide bond. if (c.IsValid() && n.IsValid() && this->DoesPeptideBondExist(c, n)) { e.Connect(c, n, 1); + rh.SetIsProtein(true); + next.SetIsProtein(true); } } -void RuleBasedBuilder::AssignTorsions(const mol::ChainHandle& chain) { +void RuleBasedBuilder::AssignTorsions(mol::ChainHandle chain) +{ if (chain.GetResidueCount()==0) return; std::vector<mol::ResidueHandle> rlist = chain.GetResidueList(); @@ -215,11 +276,13 @@ void RuleBasedBuilder::AssignTorsions(const mol::ChainHandle& chain) { } } -void RuleBasedBuilder::AssignTorsionsToResidue(const mol::ResidueHandle& residue) { +void RuleBasedBuilder::AssignTorsionsToResidue(mol::ResidueHandle residue) +{ /// The only components having named torsions are the standard set of amino /// acids, plus some of compounds derived from them such as selenium /// methionine. Things are simplified a lot by only storing the torsions - /// of the side chains in the database. PHI, PSI and OMEGA torsions are checked without a lookup in the database. + /// of the side chains in the database. PHI, PSI and OMEGA torsions are + /// checked without a lookup in the database. LookupCompound(residue); if (!last_compound_) return; @@ -253,10 +316,12 @@ void RuleBasedBuilder::FillAtomProps(mol::AtomHandle atom) { LookupCompound(atom.GetResidue()); if (!last_compound_) { + this->OnUnknownAtom(atom); return; } int index=last_compound_->GetAtomSpecIndex(atom.GetName()); if (index==-1) { + this->OnUnknownAtom(atom); return; } const AtomSpec& atom_spec=last_compound_->GetAtomSpecs()[index]; @@ -266,10 +331,10 @@ void RuleBasedBuilder::FillAtomProps(mol::AtomHandle atom) bool RuleBasedBuilder::OnUnknownAtom(mol::AtomHandle atom) { mol::AtomProp props=atom.GetAtomProps(); - if (props.element=="") { + Conopology& conop_inst=Conopology::Instance(); + if (!conop_inst.IsValidElement(props.element)) { props.element=Builder::GuessAtomElement(atom.GetName(), props.is_hetatm); } - Conopology& conop_inst=Conopology::Instance(); if (props.radius==0.0) { props.radius=conop_inst.GetDefaultAtomRadius(props.element); } diff --git a/modules/conop/src/rule_based_builder.hh b/modules/conop/src/rule_based_builder.hh index bd1af72f50e8a9973a8e4117593c83b92876e4e5..ff35e0adb1cd47f79b36fcc3ec80fa941a2f39cf 100644 --- a/modules/conop/src/rule_based_builder.hh +++ b/modules/conop/src/rule_based_builder.hh @@ -43,10 +43,18 @@ public: : compound_lib_(compound_lib), last_compound_() { } + virtual void SetDialect(Dialect dialect) { + if (this->GetDialect()!=dialect) { + Builder::SetDialect(dialect); + last_compound_=CompoundPtr(); + compound_lib_->ClearCache(); + } + } + /// \brief fill atom properties such as element and radius virtual void FillAtomProps(mol::AtomHandle atom); - virtual void CompleteAtoms(const mol::ResidueHandle& rh); + virtual void CompleteAtoms(mol::ResidueHandle rh); /// \brief Check residue completeness /// @@ -68,7 +76,7 @@ public: virtual mol::ResidueKey IdentifyResidue(const mol::ResidueHandle& rh); - virtual void ConnectAtomsOfResidue(const mol::ResidueHandle& rh); + virtual void ConnectAtomsOfResidue(mol::ResidueHandle rh); /// \brief Connects the two residues together. /// @@ -79,11 +87,11 @@ public: /// bond. /// \param next /// is the C-terminal partner, donating the nitrogen to the bond. - virtual void ConnectResidueToNext(const mol::ResidueHandle& rh, - const mol::ResidueHandle& next); + virtual void ConnectResidueToNext(mol::ResidueHandle rh, + mol::ResidueHandle next); /// \brief requires chemical types - virtual void AssignTorsions(const mol::ChainHandle& ch); - virtual void AssignTorsionsToResidue(const mol::ResidueHandle& residue); + virtual void AssignTorsions(mol::ChainHandle ch); + virtual void AssignTorsionsToResidue(mol::ResidueHandle residue); /// \brief Invoked whenever an unkknown atom has been encountered during a /// residue completeness check. /// @@ -108,21 +116,23 @@ public: /// \brief Set residue properties such as chemical class virtual void FillResidueProps(mol::ResidueHandle residue); - - + /// \brief whether the residue has unknown atoms + bool HasUnknownAtoms(mol::ResidueHandle res); /// \brief Check whether the residue has all required atoms. This does not /// include hydrogens and leaving atoms such as the terminal OXT. virtual bool IsResidueComplete(const mol::ResidueHandle& residue); private: CompoundLibPtr compound_lib_; CompoundPtr last_compound_; + mol::ResidueHandle last_residue_; + bool unknown_atoms_; void LookupCompound(const mol::ResidueHandle& rh); /// Change internal order of atoms in residue to the order given by compound - void ReorderAtoms(const mol::ResidueHandle& residue, CompoundPtr compound); + void ReorderAtoms(mol::ResidueHandle residue, CompoundPtr compound); mol::AtomHandle LocateAtom(const mol::AtomHandleList& ahl, int ordinal); - void AssignBackBoneTorsionsToResidue(const mol::ResidueHandle& residue); + void AssignBackBoneTorsionsToResidue(mol::ResidueHandle residue); }; diff --git a/modules/conop/src/sanitizer.cc b/modules/conop/src/sanitizer.cc deleted file mode 100644 index d7d8d42783840f49014d92e315dd9ed901360598..0000000000000000000000000000000000000000 --- a/modules/conop/src/sanitizer.cc +++ /dev/null @@ -1,108 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "sanitizer.hh" -#include <ost/mol/impl/atom_impl.hh> -#include <ost/log.hh> -#include <limits> -#include <ost/mol/impl/residue_impl.hh> -namespace ost { namespace conop { - - -Sanitizer::Sanitizer(const CompoundLibPtr& lib) - :compound_lib_(lib) { -} -bool Sanitizer::VisitAtom(const mol::AtomHandle& atom) { - return true; -} - -bool Sanitizer::VisitResidue(const mol::ResidueHandle& residue) { - if (CompoundPtr comp=this->IdentifyResidue(residue)) { - this->ReorderAtoms(residue, comp); - this->VerifyCompleteness(residue, comp); - return true; - } - LOGN_ERROR("Unknown residue with name " << residue.GetName()); - return false; -} - -void Sanitizer::FillAtomProps(mol::AtomHandle atom, const AtomSpec& spec) { - mol::AtomProp props=atom.GetAtomProps(); - if (props.element!=spec.element) { - props.element=spec.element; - LOGN_MESSAGE("Correcting element for " << atom.GetQualifiedName() << - " (now " << spec.element << ", was " << props.element << ")"); - atom.SetAtomProps(props); - } -} - -void Sanitizer::VerifyCompleteness(const mol::ResidueHandle& residue, - CompoundPtr compound) { - AtomSpecList::const_iterator j=compound->GetAtomSpecs().begin(); - mol::AtomHandleList atoms=residue.GetAtomList(); - mol::AtomHandleList::iterator i=atoms.begin(); - for (; j!=compound->GetAtomSpecs().end() && i!=atoms.end(); ++j) { - if ((*j).is_leaving || (*j).element=="H") - continue; - if ((*j).ordinal!=static_cast<int>((*i).Impl()->GetState())) { - this->OnMissingAtom(residue, (*j).name); - } else { - this->FillAtomProps(*i, *j); - ++i; - } - } -} - -struct OrdinalComp { - bool operator()(const mol::impl::AtomImplPtr& a, - const mol::impl::AtomImplPtr& b) const { - return a->GetState()<b->GetState(); - } -}; - -void Sanitizer::ReorderAtoms(const mol::ResidueHandle& residue, - CompoundPtr compound) { - mol::impl::ResidueImplPtr impl=residue.Impl(); - mol::impl::AtomImplList::iterator i=impl->GetAtomList().begin(); - for (; i!=impl->GetAtomList().end(); ++i) { - mol::impl::AtomImplPtr atom=*i; - int index=compound->GetAtomSpecIndex(atom->GetName()); - if (index==-1) { - - this->OnUnknownAtom(mol::AtomHandle(atom)); - atom->SetState(std::numeric_limits<int>::max()); - continue; - } - atom->SetState((compound->GetAtomSpecs())[index].ordinal); - } - std::sort(impl->GetAtomList().begin(), impl->GetAtomList().end(), - OrdinalComp()); -} - -bool Sanitizer::VisitChain(const mol::ChainHandle& chain) { - return true; -} - -CompoundPtr Sanitizer::IdentifyResidue(const mol::ResidueHandle& residue) { - CompoundPtr comp=compound_lib_->FindCompound(residue.GetName()); - if (!comp) { - return this->OnUnknownResidue(residue); - } - return comp; -} -}} diff --git a/modules/conop/src/sanitizer.hh b/modules/conop/src/sanitizer.hh deleted file mode 100644 index 609414c7c420a59963bac2747d57cb7edfd58e95..0000000000000000000000000000000000000000 --- a/modules/conop/src/sanitizer.hh +++ /dev/null @@ -1,65 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_CONOP_SANITIZER_HH -#define OST_CONOP_SANITIZER_HH - -#include <ost/mol/mol.hh> -#include <ost/conop/compound_lib.hh> - -namespace ost { namespace conop { - -/// \brief Structural cleanup -/// -/// \todo Sanitizer acts both as the checker and the instance responsible for -/// cleaning up structural problems. Is this desired? -class DLLEXPORT_OST_CONOP Sanitizer : public mol::EntityVisitor { -public: - Sanitizer(const CompoundLibPtr& compound_lib); - - virtual bool VisitAtom(const mol::AtomHandle& atom); - - virtual bool VisitResidue(const mol::ResidueHandle& residue); - - virtual bool VisitChain(const mol::ChainHandle& chain); - - virtual CompoundPtr OnUnknownResidue(const mol::ResidueHandle& residue) { - return CompoundPtr(); - } - - virtual void OnUnknownAtom(const mol::AtomHandle& atom) { } - virtual void OnMissingAtom(const mol::ResidueHandle& residue, - const String& atom_name) { } -private: - void FillAtomProps(mol::AtomHandle atom, const AtomSpec& spec); - /// Change internal order of atoms in residue to the order given by compound - void ReorderAtoms(const mol::ResidueHandle& residue, CompoundPtr compound); - /// Verify all atoms are present. - /// - /// The check exludes hydrogen atoms as well as "leaving atoms", i.e. - /// carboxy-terminal atoms that leave when the peptide bond is formed. - - void VerifyCompleteness(const mol::ResidueHandle& residue, CompoundPtr compound); - CompoundPtr IdentifyResidue(const mol::ResidueHandle& residue); - - - CompoundLibPtr compound_lib_; -}; - -}} -#endif diff --git a/modules/doc/external.rst b/modules/doc/external.rst new file mode 100644 index 0000000000000000000000000000000000000000..7ea3b22db79befda28b9a262e95a91cd64b26d6d --- /dev/null +++ b/modules/doc/external.rst @@ -0,0 +1,111 @@ +Using External Programs within OpenStructure +================================================================================ + +Introduction +-------------------------------------------------------------------------------- + +It is often very useful to use external programs to do a specific task. In principle, this can be done by writing out files from OpenStructure and manually running an external program, however, for convenience, this can also be done directly from within OpenStructure using Python commands. + +This tutorial will give you some hints how to do this for a new external program. The process basically consists of four steps: + + * locate the executable of the external program + * prepare all necessary files + * execute the external program from python + * read in generated output + + +Locating the Executable +-------------------------------------------------------------------------------- + +There is a helper function available to locate files, and especially executables: :func:`~ost.settings.Locate`. Using this, you can obtain the full path of an executable. + +As an example, we would like to obtain the full path of the msms executable (a program to calculate molecular surfaces): + +.. code-block:: python + + from ost import settings + exe_path=settings.Locate('msms', search_paths=['/opt/app','/home/app'], + env_name='MSMS', search_system_paths=True) + print exe_path + +The :func:`~ost.settings.Locate` command looks for the program with the name +`msms`. If env_name is set, it first looks if an environment variable with the +name `MSMS` is set. If not, all paths in search_paths are searched. If the +executable could still not be found and search_system_paths is set to True, the +binary search paths are searched. If the executable could not be found, a +:exc:`~ost.FileNotFound` exception is raised with a detailed description where +Locate was searching for the executable. + +Prepare All Files +-------------------------------------------------------------------------------- + +The preparation of the necessary files is very dependent on the external program. Often it is useful to generate a temporary directory or file. For this, the python module tempfile is very handy. + +An example how to generate a temporary directory, open a file in this directory and write the position and radius of all atoms into this file is shown here: + +.. code-block:: python + + import tempfile + import os + + # generate a temporary directory + tmp_dir_name=tempfile.mkdtemp() + print 'temporary directory:',tmp_dir_name + + # generate and open a file in the temp directory + tmp_file_name=os.path.join(tmp_dir_name,"entity") + tmp_file_handle=open(tmp_file_name, 'w') + print 'temporary file:',tmp_file_handle + + # write position and radius of all atoms to file + for a in entity.GetAtomList(): + position=a.GetPos() + tmp_file_handle.write('%8.3f %8.3f %8.3f %4.2f\n' % (position[0], + position[1], position[2], a.GetProp().radius)) + + # close the file + tmp_file_handle.close() + +Execute the External Program +-------------------------------------------------------------------------------- + +The external program can be executed from python using the python module subprocess. + +To run the external program msms from the above example, with the temporary file generated before, we can use the following: + +.. code-block:: python + + import subprocess + + # set the command to execute + command="%s -if %s -of %s" % (exe_path, + tmp_file_name, tmp_file_name) + print 'command:',command + + # run the executable with the command + proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) + stdout_value, stderr_value = proc.communicate() + + #check for successful completion of msms + if proc.returncode!=0: + print "WARNING: msms error\n", stdout_value + raise subprocess.CalledProcessError(proc.returncode, command) + + # print everything written to the command line (stdout) + print stdout_value + +Read Generated Output +-------------------------------------------------------------------------------- + +The last step includes reading of generated files (like in the case of msms) and/or processing of the generated command line output. + +Here we first print the command line output and then load the generated msms surface and print the number of vertex points: + +.. code-block:: python + + # print everything written to the command line (stdout) + print stdout_value + + # read msms surface from file + surface=io.LoadSurface(tmp_file_name, "msms") + print 'number of vertices:',len(surface.GetVertexIDList()) diff --git a/modules/doc/install.rst b/modules/doc/install.rst new file mode 100644 index 0000000000000000000000000000000000000000..abd0b2b88fc0b8a8847d45fecad463bda6219b5c --- /dev/null +++ b/modules/doc/install.rst @@ -0,0 +1,180 @@ +Installing OpenStructure From Source +================================================================================ + +.. note:: + + This document describes how to install OpenStructure from source. If you are + mainly insterested in using OpenStructure and are not planning to modify the + code of OpenStructure itself, please use one of the binaries `available for + download <http://www.openstructure.org/download/>`_. + +Brief Overview +-------------------------------------------------------------------------------- + +Compiling OpenStructure consists of several steps that are described below in more detail. In essence, these steps are: + + * Installing the Dependencies + * Checking out the source code from SVN + * Configuring the build with cmake + * Compiling an Linking + + +.. installdeps_ + +Installing the Dependencies +-------------------------------------------------------------------------------- + +OpenStructure uses a bunch of OpenSource libraries. If you haven't already installed them, please install them now! Where appropriate the minimally required version is given in parantheses. + + * `CMake <http://cmake.org>`_ (2.6.4) + * `Eigen2 <http://eigen.tuxfamily.org>`_ (2.0.6) + * `Boost <http://boost.org>`_ (1.37) + * `libpng <http://www.libpng.org>`_ + * `Python <http://python.org>`_ (2.4) + * `Qt <http://qt.nokia.com>`_ (4.5) + +When you enable support for image processing, you will need: + + * `FFTW3 <http://fftw.org>`_. By default, OpenStructure is compiled with single precision and thus also requires FFTW to be compiled with single precision. Most platforms offer this as a second package. If you are compiling manually, use the `--enable-single` option. + + * `libtiff <http://www.libtiff.org>`_ + + + +If you would like to use the graphical user interface, also install: + + * `SIP <http://www.riverbankcomputing.co.uk/software/sip/download>`_. + * `PyQt4 <http://www.riverbankcomputing.co.uk/software/pyqt/download>`_. + +In case you are compiling under Windows you have to install `Visualstudio +2008 <http://www.microsoft.com/express/Downloads>`_. to compile the dependecies +and OpenStructure. We recommend to compile the dependecies manually. Enter the +directories where the dependencies are located in Tools->Options->Projects and +Solutions->VC++ directories. Choose 'bin' directories to enter program paths to +cmake, qmake and python, 'lib' directories to point to the location(s) of your +dependencies. + +Checking out the Source +-------------------------------------------------------------------------------- + +You can checkout the source from SVN. The repository is located at + + https://dng.biozentrum.unibas.ch/svn/openstructure/trunk + +If you are using the commandline client, type in your shell + +.. code-block:: bash + + svn co https://dng.biozentrum.unibas.ch/svn/openstructure/trunk + +On Windows, we recommend to install a graphical frontend for svn, for example `tortoisesvn <http://tortoisesvn.tigris.org>`_. + + +Configuring +-------------------------------------------------------------------------------- + + +OpenStructure uses `CMake <http://cmake.org>`_ for compiling and building the project. The next required step is to configure the build environment using cmake. You can do that by invoking `cmake` in the project directory. + +.. code-block:: bash + + cmake . <options> + +There are two kinds of options: Options that let you control the building behaviour, enabling and disabling the compilation of certain modules and options that let you tell CMake where to find the dependencies. All of them are passed to CMake with via `-D<opt>=<value>`. + +On Windows, use Tools -> VisualStudio commandline prompt from within VisualStudio) + +Flag to choose build generator +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +CMake supports different build generators. On UNIX, that is MacOS X and Linux, the default build generator is Makefiles, but it is also possible to use other programs. For a list of supported build generators on your platform, start cmake without parameters. + +On Windows you have to explicitly set the buil generator to "Visual Studio 9 2008": + +.. code-block:: bash + + cmake -G"Visual Studio 9 2008" + + +Flags to Control the Dependencies +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +By default, `CMake <http://cmake.org>`_ searches the standard directories for dependencies. However, on some systems, this might not be enough. Here is a short description of how CMake figures out what dependencies to take and how you can influence it. + + * Boost is mainly controlled via the `BOOST_ROOT` option. If boost wasn't + found, it should be set to the prefix of the boost installation. + + * `QT_QMAKE_EXECUTABLE` defines the exact Qt installation to take. It should + be set to the full path to `qmake`. + + * `PYTHON_ROOT` is the Python equivalent of BOOST_ROOT. It should be set to + the prefix path containing the python binary, headers and libraries. + + * `SYS_ROOT` controls the general prefix for searching libraries and headers. + By default, it is set to `/`. + +Build Options +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + * `ENABLE_UI` controls whether to build the graphical user interface module. By + default it is set to true. + * `ENABLE_IMG` controls whether to build the image processing module. This will + enable support for density maps, and general image processing in 1, 2 an 3 + dimensions. By default it is set to true. + + * `ENABLE_GFX` controls whether to build the graphics module. By default, this + is set to true. If set to none, this implies `ENABLE_UI=NO`. + + * Shader support is controlled with `USE_SHADER`. By default, no shaders are + used. + + * If `OPTIMIZE` is set to 1, an optimized version of OpenStructure is built. + +Example Configurations +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Ubuntu 10.04 Lucid/Lynx** + +All the dependencies can be installed from the package manager and are thus located in standard locations. cmake will automatically find them without the need to pass any additional parameters. The only exception is -DOPTIMIZE, which will tell cmake to build an optimized (-O3 -DNDEBUG) version of OpenStructure. + +.. code-block:: bash + + cmake . -DOPTIMIZE=1 + +**MacOS X with MacPorts and optimization turned on** + +MacPorts installs all the software under /opt/local. Thus we have to tell cmake where to find Boost, Python and Qt. + +.. code-block:: bash + + cmake . -DBOOST_ROOT=/opt/local -DPYTHON_ROOT=/opt/local \ + -DSYS_ROOT=/opt/local -DQT_QMAKE_EXECUTABLE=/opt/local/bin/qmake \ + -DOPTIMIZE=1 + + +Building the Project +-------------------------------------------------------------------------------- + +Type `make`. If you are using a multi-core machine, you can use the `-j` flag to +run multiple jobs at once. + +On Windows run 'Build OpenStructure' from the build menu. + + + +What's next? +-------------------------------------------------------------------------------- + +On Linux and MacOS X, you can start dng from the command-line. The binaries are all located in stage/bin: + +.. code-block:: bash + + stage/bin/dng + +or, to start the command-line interpreter: + +.. code-block:: bash + + stage/bin/ost + +If you repeatedly use OpenStructure, it is recommended to add /path/to/dng/stage/bin to your path. diff --git a/modules/doc/intro-01.rst b/modules/doc/intro-01.rst new file mode 100644 index 0000000000000000000000000000000000000000..da448f8c3e05e5c03572377bf31e52af81df0c84 --- /dev/null +++ b/modules/doc/intro-01.rst @@ -0,0 +1,226 @@ +Introduction to the :mod:`~ost.mol` Module +================================================================================ + +For the course of this tutorial, we assume that you have :ref:`DNG up and running<start-dng>`. + +Loading and inspecting a protein structure +-------------------------------------------------------------------------------- + +The code to load and save structures is not directly part of the mol module, but rather lives in a module dedicated to input and output of any kind of data: The +:mod:`~ost.io` module. We will be using functions of this module to load +structures. + +One of the most commonly used file formats for macromolecular structures are PDB +(Brookhaven Protein Databank) files. The official name for molecules stored in +a PDB file is an *entity* and we decided to follow this convention in +OpenStructure. You will hear this word all the time, but you can replace the +word entity with molecule (or most of the time even protein) in your head. + + +To load a PDB file, simply type + +.. code-block:: python + + fragment=io.LoadPDB('/path/to/examples/entity/fragment.pdb') + +This will load the fragment from the specified file 'fragment.pdb' and store the +result in fragment. The :func:`~ost.io.LoadPDB` has many option, which, for +simplicity will not be discussed here. If you want to know more about the +function, type: + +.. code-block:: python + + help(io.LoadPDB) + +or read the :func:`online documentation <ost.io.LoadPDB>`. + +The loaded structure is an instance of :class:`~ost.mol.EntityHandle` which offers a comprehensive interface to inspect an manipulate molecular structures. Now let's inspect what we just loaded: + +.. code-block:: python + + print len(fragment.chains), fragment.chains + print len(fragment.residues), fragment.residues + print len(fragment.atoms), fragment.atoms + +As you can see, our fragment consists of one peptide chain of 12 amino acids and +has 81 atoms in total. Now let's examine our fragment in more detail. Enter the +command + +.. code-block:: python + + for residue in fragment.residues: + print residue, 'has', len(residue.atoms), 'atom(s).' + for atom in residue.atoms: + print ' ', atom.name, atom.pos + + +This will group the atoms by residue. And, for completeness, we will first group them by chain, then by residues. + +.. code-block:: python + + for chain in fragments.chains: + print 'chain', chain.name, 'has', len(chain.residues), 'residue(s)' + for residue in chain.residues: + print ' ', residue, 'has', len(residue.atoms), 'atom(s).' + for atom in residue.atoms: + print ' ', atom.name, atom.pos + +A protein fragment would not be complete without bonds: Let's see +what bonds we have in there: + +.. code-block:: python + + for bond in fragment.bonds: + print bond + +From these short code examples we already see how the entity is structured: On +one hand we have a hierarchy of chains, residues and atoms. On the other hand, +we have bonds that form a network overlayed on the hierarchy. This is +illustrated in the picture on the left. An important feature of entities is that +we can always assume that the hierarchy is intact. You will never find an atom +without residues, no residue can exist without a parent chain and chains belong +always to an entity. + +Let There Be Shiny Graphics +-------------------------------------------------------------------------------- + +For visually inspecting the fragment, we now create a graphical representation +of the entity. The graphical representation os completely separate from the :class:`~ost.mol.EntityHandle` class. This is on purpose. When writing processing scripts, usually no graphical representation is required and things would be slowed down without any reason. The following code will take our fragment and initialise a :class:`gfx.Entity<ost.gfx.Entity>`, add it to the scene, and center the camera on it. + +.. code-block:: python + + go=gfx.Entity("Fragment", fragment) + scene.Add(go) + scene.CenterOn(go) + + +Now you will see the fragment in the 3D window. + +Use the mouse to rotate, zoom in an shift the camera. Double clicking on an atom +will center the camera on that atom. If you want to learn more about the +:mod:`~ost.gfx` module, you are encouraged to read :doc:`the gfx +intro<intro-03>` and the :mod:`gfx documentation<ost.gfx`. + +Introduction to Views +-------------------------------------------------------------------------------- + +Often during processing and visualisation of data, only parts of a protein +structure are of interest. This realisation has had a major impact on the design +of OpenStructure and is tied very deeply into the core of the framework. +Subparts of structure are modeled as so-called :class:`EntityViews +<ost.mol.EntityView>`. You can think of them as a selection of chains, residues, +atoms and bonds of an entity. A views has almost the same interface as the +underlying entity, making it very easy to mix entity views with handles in +Python due to the dynamic nature of the language. An algorithm that is written +for entities will almost always (with some care) also work for +:class:`EntityHandles <ost.mol.EntityHandle>`. This is referred to as +`duck-typing <http://en.wikipedia.org/wiki/Duck_typing>`_ (I don' t care if it +is a duck as long as it looks like a duck), a concept used all over the place in Python. + +The view consists of one chain, one residue and two atoms. Again the same rule +applies: No atom can be part of the view without it's residue. In this example, +no bonds are included, since there is at most one atom per bond in the original structure. + +To familiarize yourself with the concept of views, we will use the fragment in +the 3D window. + +We will use several ways to select parts of our fragment: + * By using a dedicated query language + * By manually constructing a view + +The Query Language +-------------------------------------------------------------------------------- + +The first way to select parts of a structure is with a dedicated mini-language, +called :doc:`the query language <mol/base/query>`. In the Python Shell, type + +.. code-block:: python + + go.selection=fragment.Select('') + +The code performs a selection on the fragment and assigns the resulting view to +the selection of the graphical object. A green halo will be displayed around the +selected parts (image in the middle). + +.. image:: sel.png + +As you can see the previous statement created a “full view”, containing all the +chains, residues, atoms and bonds. To select lysine residues, type + +.. code-block:: python + + go.selection=fragment.Select('rname=LYS') + + +As you can see (image on the right), the only lysine residue is now +highlighted in the 3D window, because it was the only one matching the predicate +"residue name must be equal to LYS". Several such predicates can be combined +with boolean operators such as *and* and *or*. To select residues with residue +number 1 to 3, the following statement will do the job: + +.. code-block:: python + + go.selection=fragment.Select('rnum>=1 and rnum<=3') + +but this is very cumbersome. That's why there is a shortcut to this statement. +You can specify a range of values. + +.. code-block:: python + + go.selection=fragment.Select('rnum=1:3') + +For a complete description of what you can do with the query language, have a +look at the :doc:`../mol/base/query`. + + +Constructing Views Manually +-------------------------------------------------------------------------------- + +Sometimes the query language Is Not Enough (TM). For these cases the +construction of manual entities becomes neccessary. This is pretty straight +forward: + +.. code-block:: python + + view=fragment.CreateEmptyView() + ca=fragment.FindAtom('A', mol.ResNum(1), 'CA') + cb=fragment.FindAtom('A', mol.ResNum(1), 'CB') + view.AddAtom(ca) + view.AddAtom(cb) + go.SetSelection(view) + +The last step sets our constructed view as the current selection, displaying it +in the 3D window. As you can see, C-alpha and C-beta of the first residue are +not connected by bonds, even though both atoms are in the view. You have either +to add the bond manually with + +.. code-block:: python + + ca_cb=ca.FindBondToAtom(cb) + view.AddBond(ca_cb) + +Or, as a very convenient shortcut +:meth:`view.AddAllInclusiveBonds()<ost.mol.EntityView.AddAllInclusiveBonds>` to +add all bonds that have both bonding partners in the view. + +Don't forget to update the selection of the graphics object to see what view you +have created. + +Saving an Entity +-------------------------------------------------------------------------------- + +Saving an entity (or a view) is a breeze: + +.. code-block:: python + + io.SavePDB(fragment, 'full.pdb') + +will save the full fragment. To save only the backbone atoms, we can first +select the backbone atoms and then save it: + +.. code-block:: python + + io.SavePDB(fragment.Select('aname=CA,C,N,O'), 'backbone.pdb') + +That's it for the mol module. Continue with :doc:`part two<intro-02>` of the +tutorial. diff --git a/modules/doc/intro-02.rst b/modules/doc/intro-02.rst new file mode 100644 index 0000000000000000000000000000000000000000..95112b0bcc3accc7f5b883cd2e9730c9c1ee47e1 --- /dev/null +++ b/modules/doc/intro-02.rst @@ -0,0 +1,92 @@ +Introduction to the :mod:`~ost.img` Module +================================================================================ + +For the course of this tutorial, we assume that you have :ref:`DNG up and running<start-dng>`. + + +Loading Images and Density Maps +-------------------------------------------------------------------------------- + +Openstructure features a :mod:`~ost.img` module that is dedicated to the +manipulation of images/density maps. The images or density maps can either be +one-, two- or three-dimensional. The most common formats used in X-ray and +electron crystallography and atomic force microscope are supported in addition +to several general purpose image formats. See `supported file formats` for +details. The :mod:`~ost.img` module was originally developed as part of the +Image Processing Library & Toolbox IPLT. More documentation and examples can +also be found on the `IPLT website <http://www.iplt.org>`_. + +To load a density map, type + +.. code-block:: python + + map=io.LoadImage('/path/to/examples/map/1ppt.map') + +This will load the fragment density map from the specified file 'fragment.map' +and store the result in map. + +Now let's inspect what we just loaded: + +.. code-block:: python + + print map.GetPixelSampling(), map.GetSize() + +We can see that the sampling is set to 1.0 Angstroems in all three dimensions. The loaded map is an instance of :class:`~ost.img.ImageHandle`, a class to represent images in 1, 2 and 3 dimensions. + +Manipulating Images and Density Maps +-------------------------------------------------------------------------------- + +The algorithms used for manipulation of an image are found in the +:mod:`img.alg <ost.img.alg>` module. Therefore before using an algorithm we +first have to import the :mod:`img.alg <ost.img.alg>` module. + +.. code-block:: python + + from ost.img import alg + + +The :mod:`img.alg <ost.img.alg>` module provides a wide range of algorithm to +manipulate image data. Here for example we use a LowPassFilter to restrict the +resolution of the density map to frequencies lower than a treshold. + +.. code-block:: python + + map_filtered=map.Apply(alg.LowPassFilter(3.0)) + +The filtered map is stored in a new variable called `fragment_map_filtered`. A complete list of algorithms is available on the :doc:`img/alg/alg` page. + + +Displaying Images and Density Maps +-------------------------------------------------------------------------------- + +Now that we have a filtered map it's time to have a look at it. There are +fundamentally two ways to visualize 3-dimensional density maps. One is by +drawing isocontour surfaces. These are conceptually similar to contour lines +used in cartography: every point on an isosurface has the same density value. +Isosurfaces are easy to create in OpenStructure: + +.. code-block:: python + + go=gfx.MapIso("filtered", map_filtered,0.5) + scene.Add(go) + +The other way to visualize a 3-dimensional map is by showing one 2-dimensional +density slice at a time, allowing the user to move through the slices. In +OpenStructure this is achieved using a DataViewer). +A DataViewer showing the filtered map is created using the following command: + +.. code-block:: python + + gui.CreateDataViewer(map_filtered) + +This command displays a panel showing one slice of the density map lying on a +particular (x,y) plane in the coordinate reference system. +The `z` and `x` keys can be used to move to slices lying at a lower or higher +coordinate along the `z` axis, allowing the examination of +the full 3-dimensional volume. + +A more detailed explanation of the :mod:`~ost.img` module can be found in the +tutorial section for :mod:`~ost.img`. + + +Continue with :doc:`part three <intro-03>` of the tutorial. diff --git a/modules/doc/intro-03.rst b/modules/doc/intro-03.rst new file mode 100644 index 0000000000000000000000000000000000000000..be0d793b049081f220e5dbff14d22e085fe53576 --- /dev/null +++ b/modules/doc/intro-03.rst @@ -0,0 +1,179 @@ +Introduction to the :mod:`~ost.gfx` Module +================================================================================ + +.. currentmodule:: ost.gfx + +For the course of this tutorial, we assume that you have :ref:`DNG up and +running<start-dng>`. + +As already mentioned in the :doc:`intro-01`, the basic representation of +molecular structures, sequences, images are completely independent from the +graphical rendering. Thus, to display it on the screen, we first have to create +a graphical representation of the object. This is illustrated for the entity +below, but follows a similar scheme for density maps, surfaces and other types +of data. + +.. code-block:: python + + pdb=io.LoadPDB('/path/to/molecule.pdb') + go=gfx.Entity('PROTEIN', pdb) + scene.Add(go) + scene.CenterOn(go) + +The last command is not mandatory, but very convenient to center the camera on the object. + + +The Scene +-------------------------------------------------------------------------------- + + +The scene is the central registry for graphical objects and manages rendering +parameters. Among other parameters, it is used to setup the lighting, fog, +background color and the camera. The scene is a singleton, meaning that there is +only one scene available. The instance can be accessed via :func:`gfx.Scene`. +Because the scene is so important and commonly used, the scene is also available +as the `scene` variable in the interactive python shell as well as from scripts. +In fact, this is the preferred way to use functionality of the scene. As an easy example, let's change the background color: + +.. code-block:: python + + scene.SetBackground(gfx.WHITE) + +Now, the color of the screen has changed to white. To set it back to black, simply assign :obj:`gfx.BLACK` to the background property. + +Objects are added to the scene by calling :meth:`Scene.Add`. Once added to the +scene, the objects will be rendered automatically. Since all the graphical +objects have a name that identifies them, they can be retrieved by name and +manipulated: + +.. code-block:: python + + # retrieving the previously added protein + obj=scene['PROTEIN'] + # set color of the protein to red + obj.SetColor(gfx.RED) + + +The last command assigns a uniform red color to all atoms. + + +The Graphical Entity +-------------------------------------------------------------------------------- + +Now let's look at the graphical entity in more detail. The graphical entity is +responsible for the rendering of :class:`~ost.mol.EntityHandle` and +:class:`~ost.mol.EntityView` instances. + +Render Modes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Molecules are rendered in :ref:`different representations <render-mode>`. Some +representations show the structure at atomic detail (connectivity level display +styles), while others simplify the structure significantly (trace-based display +styles). + +To change the display mode of an entity programmatically, use the :meth:`Entity.SetRenderMode` method: + +.. code-block:: python + + # render the molecule with an interpolated line trace + obj.SetRenderMode(gfx.SLINE) + # switch back to simple line rendering + obj.SetRenderMode(gfx.SIMPLE) + # switch to helix-strand-coil cartoon + obj.SetRenderMode(gfx.HSC) + +It is also possible to change the render mode of only a part of the structure. +To display the ligand with balls and sticks and everything else in cartoon mode, +we make use of the query language to select everything that is not part of the +protein. Remember from above, that we stored our molecule in the `pdb` variable. + +.. code-block:: python + + not_protein=pdb.Select('peptide=false') + obj.SetRenderMode(gfx.HSC) + obj.SetRenderMode(gfx.CUSTOM, not_protein) + + +The Basics of Coloring +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The color of each atom can be set individually. The simplest coloring scheme is +to set all atoms to the same color: + +.. code-block:: python + + obj.SetColor(gfx.YELLOW) + +Assigning colors based on selections is also possible. To reproduce the +well-known `CPK coloring <http://en.wikipedia.org/wiki/CPK_coloring>`_, 4 +consecutive coloring operations are sufficient: + +.. code-block:: python + + obj.SetColor(gfx.WHITE, 'ele=C') + obj.SetColor(gfx.BLUE, 'ele=N') + obj.SetColor(gfx.RED, 'ele=O') + obj.SetColor(gfx.YELLOW, 'ele=S') + + +But because this is such a common task, the entity provides a built-in method to color the atoms by element: + +.. code-block:: python + + obj.ColorByElement() + +As already seen above, the coloring operations can be chained to achieve the desired effect. For example, sometimes one wants to apply conventional CPK coloring to the protein and then change the color of C-alpha atoms to pink: + +.. code-block:: python + + obj.ColorByElement() + obj.SetColor(gfx.Color(1, 0, 1), 'aname=CA and ele=C') + + + +Internally, the chain of calls to the coloring methods is stored as a list of +coloring operations that is reapplied sequentially. This makes sure that the +coloring remains when changing render modes or updating the geometry of the +molecule. This storage scheme has one drawback. Consider the following code: + +.. code-block:: python + + for i in range(100): + obj.SetColor(gfx.RED) + +While the code obviously achieves the desired effect, it is far for optimal +because all of the 100 color operations are applied every time the graphical +entity needs an update. When you see a slow down in rendering after playing +around with the coloring operations, consider calling +:meth:`Entity.ClearColorOps` and reapply only the set of coloring operations +that are required to achieve your rendering. + +Coloring the Entity By Property +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The most complex but also most powerful coloring method is +:meth:`Entity.ColorBy`, which allows to color atoms by a numeric property. This +property can either be built-in a property such as atomic b-factor, charge, +residue number or be :doc:`custom properties <../base/generic>` assigned by the +user or an algorithm and be defined at any level (chain, residue, atom). The +naming of the built-in properties is identical to the properties available in +:doc:`query language <../mol/base/query>`. For example, to achieve a heat-map +coloring for b-factors: + +.. code-block:: python + + # will color the atoms by the atomic b-factor, setting atoms with + # a temperature factor of 0 to blue and atoms with a temperature factor of + # 100 and higher to red. Values in between are linearly interpolated. + obj.ColorBy('abfac', gfx.BLUE, gfx.RED, 0, 100) + +Fine-tuning the Coloring +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The :obj:`HSC` render mode uses two colors to color the secondary structure +elements. The main color affects the top and bottom of extended and the outside +of helical elements. The detail color is used for the inner side of helices and +the rim of extended elements. This color is changed with +:meth:`Entity.SetDetailColor`. + \ No newline at end of file diff --git a/modules/doc/intro.rst b/modules/doc/intro.rst new file mode 100644 index 0000000000000000000000000000000000000000..03bb173c67f54ca47ebb267505bc2ff2f5f11c6f --- /dev/null +++ b/modules/doc/intro.rst @@ -0,0 +1,70 @@ +A gentle introduction to OpenStructure +================================================================================ + +In this tutorial you will be learning by example how to use the OpenStructure +framework. + +We assume that you already have a version of OpenStructure installed. If not, +please refer to :doc:`install`. + + +What will be covered in this tutorial? +-------------------------------------------------------------------------------- + +This tutorial is aimed at users that would like to get their hands dirty and +execute commands in Python and write scripts rather clicking their way through a +shiny user interface. The user interface of OpenStructure is in a very early +state anyway that you probably won't go far by clicking your way through... + +The tutorial is divided into several parts. The first part of the tutorial is a +walk-through of the basic functionality you will be using in your everyday work, followed by an introduction to the :mod:`~ost.mol`, :mod:`~ost.img` and :mod:`~ost.seq` modules. + +.. toctree:: + :maxdepth: 1 + + intro-01 + intro-02 + intro-03 + +.. _start-dng: + +Getting ready to rumble +-------------------------------------------------------------------------------- + +The files we will be using in the tutorial are available in the examples folder +that comes with OpenStructure. Depending on your platform, the examples are +located at a different location: + + * on *MacOS X* the files are located inside the application bundle. The file + browser fill automatically point to the examples. + * on *Linux* and *Windows* PREFIX/share/openstructure/examples, where PREFIX is + the path to the directory containing OpenStructure. + +Starting DNG +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The graphical user interface of OpenStructure is called DNG (Dino/DeepView Next +Generation). To start it, + + * on *MacOS X* double click DNG.app + * on *Windows* double click dng.bat inside the PREFIX/bin directory + * on *Linux* fire up a terminal change into the OpenStructure installation + directory and type 'bin/dng'. If you have the binary directory in the PATH, + typing dng is sufficient. + +Interactive Python Shell +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Now we will enter commands in the Python Shell (in the screenshot above, the +python shell is located at the bottom of the main window). If you want to get +more information on any object, function or class, the python help command may +be useful. For example: + + .. code-block:: python + + # get list of methods of EntityView + help(mol.EntityView) + # get help for method Select + help(mol.EntityView.Select) + +Continue with :doc:`part one <intro-01>` diff --git a/modules/doc/newmodule.rst b/modules/doc/newmodule.rst new file mode 100644 index 0000000000000000000000000000000000000000..d821de02c707988b92138eae1426e70407e7bc53 --- /dev/null +++ b/modules/doc/newmodule.rst @@ -0,0 +1,301 @@ +Creating a New Module +================================================================================ + +OpenStructure can be extended by writing additional modules. A module will +usually consist of a set of C++ classes and methods, most of which will also be +exported to Python. It is also possible to write modules completely in Python. + +The build system of OpenStructure is quite simple. The main difference to other +projects is the use of a so-called stage directory. The stage directory +replicates the normal layout of a standard Linux directory structure, with an +'include' directory for the headers, a 'lib' directory containing the shared +library files, a `bin` directory for the executables and a 'share' directory +for the platform-independent data like icons, images and examples. + +OpenStructure uses `CMake <http://www.cmake.org>`_ to build the project. The +rules for the build-system are defined in `CMakeLists.txt` files. When running +`cmake`, the files are compiled and copied into stage. The +real installation, if necessary, happens at a later stage. This is referred to +as staging of the files. + +If a new module is written following the guidelines in this page, it will be +seamlessly included in the build system and will then be available form both +the DNG python console and the OpenStructure command line as any other native +module. + +As a first step, a new directory structure must be created to accommodate the +new module. + +Directory Structure +-------------------------------------------------------------------------------- + +For the purpose of this example, let's assume we are creating a new module +called 'mod' (for 'modeling'). Let's create a directory named `mod` under the +'modules' directory in the OpenStructure development tree, and populate it with +the three subdirectories `src`, `pymod`, and `tests`. Then we add a +`CMakeLists.txt` file in the 'mod' directory, consisting of three lines: + +.. code-block:: bash + + add_subdirectory(src) + add_subdirectory(pymod) + add_subdirectory(tests) + +The Module Code +-------------------------------------------------------------------------------- + +In the `src` subdirectory we put the code that implements the functionality of +the new module, plus a `config.hh` header file. + +Here is a skeleton of one of the files in the directory , `modeling_new_class.hh`: + +.. code-block:: cpp + + #ifndef OST_MOD_NEW_CLASS_H + #define OST_MOD_NEW_CLASS_H + + #include <ost/mod/module_config.hh> + + // All other necessary includes go here + + namespace ost { namespace mod { + + class DLLEXPORT_OST_MOD NewClass { + public: + void NewMethod(); + + // All declarations of NewClass go here + + }; + + }} // namespaces + + #endif + +And here is the skeleton of the corresponding `modeling_new_class.cc` file: + +.. code-block:: cpp + + #include "modeling_new_class.hh" + + using namespace ost::mol; + using namespace ost::mod; + + // All other necessary includes and namespace directives + // go here + + void NewClass::NewMethod(): + { + // Implementation + } + + // Implementation code for NewClass goes here + +Obviously, the `src` directory can contain many files, each implementing classes +and functions that will end up in the module. In order to build and stage +the module shared library, a `CMakeLists.txt` file needs to be written for the +`src` directory: + +.. code-block:: bash + + set(OST_MOD_SOURCES + modeling_new_class.cc + // All other source files + ) + + set(OST_MOD_HEADERS + modeling_new_class.hh + // All other header files + ) + + module(NAME mod SOURCES "${OST_MOD_SOURCES}" + HEADERS ${OST_MOD_HEADERS} + DEPENDS_ON mol mol_alg) + + +The line containing the `DEPENDS_ON` directive lists all the modules on which +the new module depends (in this case :mod:`mol` and :mod:`ost.mol.alg`). The +`module` macro will take care of staging the headers, in this case into +`ost/mod` and compiling, linking and staging of a library with the name +`libost_mod.so` (`libost_gmod.dylib` on MacOS X). + +.. note:: + + Due to a limitation in the built-int install command of CMake, for modules + that have their headers in several directories, it is required to group the + headers by directory, leading to a call of module like: + +.. code-block:: bash + + module(NAME mol SOURCES atom_handle.cc impl/atom_impl.cc + HEADERS atom_impl.hh IN_DIR impl + atom_handle.hh) + +The `module_config.hh` header is required for each module to setup the +environment on Windows: Each public class, method and function needs to marked +with `DLLEXPORT` or `DLLIMPORT` to teach the linker where to look for the +symbol. The correct use of either `DLLIMPORT` and `DLLEXPORT` is depending on +the context: While compiling a header file that is part of the same shared +library, `DLLEXPORT` must be used. When compiling a header that is part of +an external shared library, `DLLIMPORT` must be used. A typical module_config +header looks like this: + +.. code-block:: cpp + + #ifndef OST_MOD_MODULE_CONFIG_HH + #define OST_MOD_MODULE_CONFIG_HH + + #include <ost/base.hh> + + #if defined(OST_MODULE_OST_MOD) + # define DLLEXPORT_OST_MOD DLLEXPORT + #else + # define DLLEXPORT_OST_MOD DLLIMPORT + #endif + #endif + +The Testing Framework +-------------------------------------------------------------------------------- + +The `tests` directory contains code for unit tests. The code is compiled and +executed when one invokes compilation using the 'make check' command. Tests are +run by means of the `Boost Unitests Library +<http://www.boost.org/doc/libs/1_37_0/libs/test/doc/html/index.html>`_, which is +used throughout OpenStructure. Before coding the test routines, the required +skeleton needs to be put in place. + +The main code is put into 'tests.cc', which will become the test executable: + +.. code-block:: cpp + + #include <boost/test/unit_test.hpp> + using boost::unit_test_framework::test_suite; + + #include "test_modeling.hh" + + test_suite* + unit_unit_test_suite( int argc, char * argv[] ) { + std::auto_ptr<test_suite> test(BOOST_TEST_SUITE( "Module Mod Test" )); + + test->add(CreateModelingTest()); + + return test.release(); + } + + +The most relevant line adds the test suite for the new module to the global test +list. The test suite is created by the factory function CreateModelingTest(), +which is declared in the `test_modeling.hh` header file. + +.. code-block:: cpp + + #ifndef OST_MOD_TEST_MODELING_H + #define OST_MOD_TEST_MODELING_H + + #include <boost/test/unit_test.hpp> + using boost::unit_test_framework::test_suite; + + test_suite* CreateModelingTest(); + + #endif + +The definition of the factory function is found in the actual test code, +which we put in `test_modeling.cc`. Here is a skeleton version of that file: + +.. code-block:: cpp + + #include "test_modeling.hh" + + // additional include statements will go here + + namespace test_modeling { + + void test() + { + // test code will go here + } + + } + + test_suite* CreateModelingTest() + { + using namespace test_modeling; + test_suite* ts=BOOST_TEST_SUITE("Modeling Test"); + ts->add(BOOST_TEST_CASE(&test)); + + return ts; + } + +In this file, all the normal Boost Test Library macros and functions can be used. (For example `BOOST_CHECK`, `BOOST_FAIL`, etc.) + +Here is finally the build script skeleton that needs to be put into +`mod/tests/`: + +.. code-block:: bash + + set(OST_MOD_UNIT_TESTS + tests.cc + test_modeling.cc + ) + + ost_unittest(mod "${OST_MOD_UNIT_TESTS}") + target_link_libraries(ost_mol ost_mol_alg ost_mod) + +In the last line the call to the 'target\_link\_libraries' function contains the +names of the modules on which the 'mod' unit test code depends (in this case, +the :mod:`mol` and :mod:`ost.mol.alg` modules), in addition to the `mod` module +itself. + +The Python Wrapper +-------------------------------------------------------------------------------- + +Finally, the module API is exported to Python using the `Boost Python +Library <http://www.boost.org/doc/libs/1_37_0/libs/python/doc/index.html>`_. +In `mod/pymod`, the wrapper code for the classes in the new module is put into a +file named `wrap\_mod.cc`: + +.. code-block:: cpp + + #include <boost/python.hpp> + using namespace boost::python; + + #include <ost/mod/modeling_new_class.hh> + + using namespace ost::mol; + using namespace ost::mod; + + // All other necessary includes and namespace directives + // go here + + BOOST_PYTHON_MODULE(_mod) + { + class_<NewClass>("NewClass", init<>() ) + .def("NewMethod", &NewClass::NewMethod) + ; + + // All other Boost Python code goes here + } + +The `mod/pymod` directory must obviously contain a `CMakeLists.txt` file: + +.. code-block:: bash + + set(OST_MOD_PYMOD_SOURCES + wrap_mod.cc + ) + + pymod(NAME mod OUTPUT_DIR ost/mod + CPP ${OST_MOD_PYMOD_SOURCES} PY __init__.py) + +The directory should also contain an `__init.py__` file with the +following content: + +.. code-block:: python + + from _mod import * + +In case one wants to implement Python-only functionality for the new module, any +number of function definitions can be added to the `__init.py__` file. + +That's it!. The next time the OpenStructure project is compiled, the new module +will be built and made available at both the C++ and the Python level. diff --git a/website/raw/docs/tut/sel.png b/modules/doc/sel.png similarity index 100% rename from website/raw/docs/tut/sel.png rename to modules/doc/sel.png diff --git a/modules/geom/doc/composite.rst b/modules/geom/doc/composite.rst new file mode 100644 index 0000000000000000000000000000000000000000..0271a206bc9d82d42a7661a58a3ab73deac27f2f --- /dev/null +++ b/modules/geom/doc/composite.rst @@ -0,0 +1,529 @@ +Geometric Objects +================================================================================ + +.. currentmodule:: ost.geom + +Geometrical Objects in Two Dimensions +-------------------------------------------------------------------------------- + +.. class:: Line2() + Line2(from, to) + + Parametric line in two dimensions as defined by an origin and a normalized + direction vector. The first constructor creates a line with origin (0,0) and + direction along the x axis. The second signature creates a line originating + from `from` and pointing towards `to`. + + .. method:: At(t) + + Returns the point on the line at (signed) distance t from origin. + + :param t: free parameter + :type t: float + :rtype: :class:`Vec2` + + + .. method:: GetOrigin() + + Returns the origin of the line: Also available as :attr:`origin`. + + :rtype: :class:`Vec2` + + .. method:: GetDirection() + + Returns the normalized direction vector. Also available as + :attr:`direction`. + + :rtype: :class:`Vec2` + + .. attribute:: direction + + .. attribute:: origin + + +.. class:: Rectangle2() + Rectangle2(top_left, bottom_right) + + Axis aligned rectangle. The first signature creates a rectangle with top-left + corner (-1, -1) and bottom-right corner (1, 1), wheras the second method + allows to set the top-left and bottom-right corners directly. + + :type top_left: :class:`Vec2` + :param top_left: The top-left corner + :param bottom_right: The bottom-right corner + :type bottom_right: :class:`Vec2` + + .. method:: GetWidth() + + Returns the width of the rectangle. Also available as :attr:`width`. + + .. method:: GetHeight() + + Returns the height of the rectangle. Also available as :attr:`height`. + + .. attribute:: width + + :type: float + + .. attribute:: height + + :type: float + + .. method:: GetStart() + + Get top-left corner + + :rtype: :class:`Vec2` + + .. method:: GetEnd() + + Get bottom-right corner + + :rtype: :class:`Vec2` + + .. method:: SetStart(top_left) + + Set top-left corner, leaving the bottom-right corner untouched. + + .. method:: SetEnd(bottom_right) + + Set the bottom-right corner, leaving the top-left corner untouched. + +.. class:: Circle2() + Circle2(circle) + Circle2(center, radius) + + The first signature creates a circle centered at (0, 0) and radius 1.0. The + second signature creates a circle with the same paramters as `circle`. The + third signature creates a new circle with given center and radius. + + .. method:: SetCenter(center) + + Set center of circle + + :type center: :class:`Vec2` + :param center: The new center + + .. method:: SetRadius(radius) + + Set radius of circle + + :type radius: float + :param center: The new radius + + .. method:: GetCenter() + + Returns the center of the circle + + .. method:: GetRadius() + + Returns the radius of the circle + + .. method:: GetArea() + + Returns the area of the circle + + .. method:: GetCircumference() + + Returns the circumference of the circle + + +.. class:: Ellipse2() + Ellipse2(center, a, b, gamma) + + An ellipse is defined by a center, two principal axis and gamma that + defines the angle between the first principal axis an the x-axis. + + .. method:: At(t) + + ? + + .. method:: AtAngle(angle) + + ? + + .. method:: GetBoundingBox() + + Returns the bounding rectangle (axis-aligned) of the ellipse + + :rtype: :class:`Rectangle2` + + + .. method:: GetA() + + Returns the first principal-axis + + .. method:: GetB() + + Returns the second principal-axis + + .. method:: GetGamma() + + Returns the angle of the first principal axis to the x-axis + + .. method:: GetArea() + + Returns the area of the ellipse + + .. method:: GetOrigin() + + Returns the center of the ellipse + + .. method:: SetA(a) + + Set the length of the first principal axis + + .. method:: SetB(b) + + Set the length of the second principal axis + + .. method:: SetGamma(gamma) + + Set the angle of the first principal axis to the x-axis + + .. method:: SetOrigin(ori) + + Set the center of the ellipse + +Geometrical Objects in Three Dimensions +------------------------------------------------------------------------------- + +.. class:: Line3() + Line3(from, to) + + Parametric line in three dimensions as defined by an origin and a normalized + direction vector. The first constructor creates a line with origin (0,0) and + direction along the x axis. The second signature creates a line originating + from `from` and pointing towards `to`. + + .. method:: At(t) + + Returns the point on the line at (signed) distance t from origin. + + :param t: free parameter + :type t: float + :rtype: :class:`Vec3` + + + .. method:: GetOrigin() + + Returns the origin of the line: Also available as :attr:`origin`. + + :rtype: :class:`Vec3` + + .. method:: GetDirection() + + Returns the normalized direction vector. Also available as + :attr:`direction`. + + :rtype: :class:`Vec3` + + .. attribute:: direction + + :type: :class:`Vec3` + + .. attribute:: origin + + :type: :class:`Vec3` + +.. class:: Plane() + Plane(p1, p2, p3) + Plane(x, y, z, p) + Plane(line, point) + Plane(point, normal) + + A plane in 3d-space. The plane can be constructed by either passing in 3 + points (p1, p2, p3), a normal and a point, the four parameters that define the + implicit plane equation (`x`, `y`, `z`, `p`) or a line and a point. + + .. method:: GetNormal() + + Returns the normal of the plane. Also available as :attr:`normal` + + :rtype: :class:`Vec3` + + .. method:: GetP() + + Returns the plane offset, i.e. the projection of any point on the plane onto + the normal. Also available as :attr:`p`. + + :rtype: float + + .. method:: GetOrigin() + + Get the origin of the plane. Also available as :attr:`origin`. + + :rtype: :class:`Vec3` + + .. attribute:: origin + + :type: :class:`Vec3` + .. attribute:: normal + + :type: :class:`Vec3` + + .. attribute:: p + + :type: float + + +.. class:: Sphere() + Sphere(center, radius) + + Represents a sphere in 3d space. The first constructor creates a sphere with + radius 1, centered at (0, 0, 0), the second allows you to set the radius and + center directly. + + :param center: The center + :type center: :class:`Vec3` + :param radius: The radius + :type radius: float + + .. attribute:: radius + + The radius of the sphere. Read-write. Also available as :meth:`GetRadius`, + :meth:`SetRadius`. + + :type: float + + .. attribute:: origin + + The center of the sphere. Read-write. Also available as :meth:`GetOrigin`, + :meth:`SetOrigin`. + + :type: :class:`Vec3` + + .. method:: GetOrigin() + + See :attr:`origin` + + .. method:: SetOrigin(origin) + + See :attr:`origin` + + .. method:: GetRadius() + + See :attr:`radius` + + .. method:: SetRadius(radius) + + See :attr:`radius` + +.. class:: AlignedCuboid(min, max) + + Axis aligned cuboid is a cuboid whose axes are aligned to the x-, y-, and z- + axes of the coordinate system. For arbitrarily oriented bounding cuboid + class, see :class:`Cuboid`. + + .. method:: GetMin() + + Get minimum coordinate, i.e. the lower bound of x-, y-, and z for + any point in the cuboid + + :rtype: :class:`Vec3` + + .. method:: GetMax() + + Get maximum coordinate, i.e. the upper bound of x-, y-, and z for + any point in the cuboid. + + :rtype: :class:`Vec3` + +.. class:: CuboidAxis() + CuboidAxis(dir, half_extent) + + A cuboid axis is defined by a half-extent, and a direction vector. This class + is used in together with the :class:`Cuboid` class. + + :param dir: Direction vector, will be normalized + :type dir: :class:`Vec3` + :param half_extent: The half extent + :type half_extent: float + + .. attribute:: vector + + The normalized direction vector of the cuboid axis. Also available as + :meth:`GetVector` + + :type: :class:`Vec3` + + .. attribute:: half_extent + + The half extent of the cuboid axis is the magnitude of the cuboid + axis measured from the center to the corner. Also available as + :meth:`GetHalfExtent` + + :type: float + + .. attribute:: extent + + The extent of the cuboid axis. This value is always twice the + :attr:`half_extent`. Read-only. Also available as + :meth:`GetExtent`. + + :type: float + + .. method:: GetHalfExtent() + + See :attr:`half_extent` + .. method:: GetExtent() + + See :attr:`extent` + + .. method:: GetVector() + + See :attr:`vector` + +.. class:: Cuboid(center, axis_a, axis_b, axis_c) + + An arbitrarily oriented cuboid defined by a center and 3 axis. The 3 cuboid + axis are stored in the order they are passed to the constructor. This means, + that there is no guarantee that the 3 axes form a right-handed coordinate + system. If a right-handed coordinate system is a requirement, you have to + ensure this on your own: + + .. code-block:: python + + center=... + axis_a=geom.CuboidAxis(...) + axis_b=geom.CuboidAxis(...) + axis_c=geom.CuboidAxis(geom.Cross(axis_a.vector, axis_b.vector), ...) + + cuboid=geom.Cuboid(center, axis_a, axis_b, axis_c) + + :param center: The center + :type center: :class:`Vec3` + :param axis_a: The first axis + :type axis_a: :class:`CuboidAxis` + :param axis_b: The second axis + :type axis_b: :class:`CuboidAxis` + :param axis_c: The third axis + :type axis_c: :class:`CuboidAxis` + + .. attribute:: center + + The center of the cuboid. + + :type: :class:`Vec3` + + .. attribute:: axis_a + + The first cuboid axis + + :type: :class:`CuboidAxis` + + .. attribute:: axis_b + + The second cuboid axis + + :type: :class:`CuboidAxis` + + .. attribute:: axis_c + + The third cuboid axis + + :type: :class:`CuboidAxis` + +Operations on Geometrical Objects +-------------------------------------------------------------------------------- + +.. function:: Angle(lhs, rhs) + + Calculate the angle (in radians) between `lhs` and `rhs`. + + :param lhs: First object + :type lhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :param rhs: Second object + :type rhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :rtype: float + +.. function:: IntersectionPoint(lhs, rhs) + + Calculates and returns the intersection point between `lhs` and `rhs` + + :param lhs: First object + :type lhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :param rhs: Second object + :type rhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :raises: :exc:`GeomException` when the two objects do not intersect + :rtype: :class:`Vec3` (:class:`Vec2` in case of :class:`Line2`) + +.. function:: IntersectionLine(plane2, plane2) + + Returns the intersection line between `plane1` and `plane2`. + + :param plane1: The first plane + :type plane1: :class:`Plane` + :param plane2: The second plane + :type plane2: :class:`Plane` + + :raises: :exc:GeomException if the two planes are parallel. + +.. function:: Distance(lhs, rhs) + + Returns the minimal distance between `lhs` and `rhs`. + + :param lhs: First object + :type lhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :param rhs: Second object + :type rhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :rtype: float + +.. function:: IsOnLine(line, point, epsilon=geom.EPSILON) + + Check whether `point` lies on `line` and returns true if point i no further + away than `epsilon`. + + :rtype: bool + +.. function:: IsInPlane(plane, object, epsilon=geom.EPSILON) + + Check whether `object` lies in `plane` and returns true if the difference is + no bigger than `epsilon`. + + :param plane: The plane + :type plane: :class:`Plane` + :param object: The object + :type object: :class:`Vec3` or :class:`Line3` + + :rtype: bool + +.. function:: AreParallel(lhs, rhs, epsilon=geom.EPSILON) + + Check whether `lhs` and `rhs` are parallel and returns true, if the difference + is below the given treshold `epsilon`. + + :param lhs: First object + :type lhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :param rhs: Second object + :type rhs: :class:`Line2`, :class:`Line3`, :class:`Plane` + + :rtype: bool + +.. function:: AreIntersecting(line1, line2, epsilon=geom.EPSILON) + + Check whether `line1` and `line2` are intersecting and returns true, if they + intersect below the given threshold `epsilon`. + + :param lhs: First line + :type lhs: :class:`Line2`, :class:`Line3` + + :param rhs: Second line + :type rhs: :class:`Line2`, :class:`Line3` + + :rtype: bool + + + +.. function:: IsInSphere(sphere, point) + + Check whether the `sphere` contains `point`. + + :rtype: bool \ No newline at end of file diff --git a/modules/geom/doc/geom.rst b/modules/geom/doc/geom.rst index 27accb014bd6291c9c96b861ecc4e4fb232c48da..d0412a1340ae8ebf248e3193f381801f85d0b05b 100644 --- a/modules/geom/doc/geom.rst +++ b/modules/geom/doc/geom.rst @@ -1,15 +1,16 @@ -:mod:`geom` -- vectors, matrices and geometrical objects +:mod:`~ost.geom` -- vectors, matrices and geometrical objects ================================================================================ -.. module:: geom +.. module:: ost.geom :synopsis: Functions and classes for vectors, matrices and geometrical objects in 2, 3 and four dimensions -The geom modules contains functions and classes for vectors, matrices and other geometrical objects in 2, 3 and four dimensions. +The geom modules contains functions and classes for vectors, matrices and other +geometrical objects in 2, 3 and four dimensions. .. toctree:: vec - - \ No newline at end of file + mat + composite \ No newline at end of file diff --git a/modules/geom/doc/mat.rst b/modules/geom/doc/mat.rst new file mode 100644 index 0000000000000000000000000000000000000000..c8736733a7a18533cf18e6fcf40ddecf6b3a52c7 --- /dev/null +++ b/modules/geom/doc/mat.rst @@ -0,0 +1,167 @@ +Matrices +================================================================================ + +.. currentmodule:: ost.geom + +The :mod:`~ost.geom` module defines matrices in two, three and four dimensions. +All matrices store the values in row-major order, meaning that, the matrix ((1, +2), (3,4)) stores the values as (1, 2, 3, 4). This is illustrated in +the following code examples: + +.. code-block:: python + + m=geom.Mat2(1, 2, 3, 4) + print m # will print {{1,2},{3,4}} + print m[(0,0)], m[(0,1)], m[(1,0)], m[(1,1)] # will print 1, 2, 3, 4 + +Matrices support arithmetic via overloaded operators. The following operations are +supported: + + * adding and subtracting two matrices + * negation + * multiplication of matrices + * multiplying and dividing by scalar value + +The Matrix Classes +-------------------------------------------------------------------------------- + +.. class:: Mat2() + Mat2(d00, d01, d10, d11) + + 2x2 real-valued matrix. The first signature creates a new identity matrix. The + second signature initializes the matrix in row-major order. + + .. staticmethod:: Identity() + + Returns the 2x2 identity matrix + + +.. class:: Mat3() + Mat3(d00, d01, d02, d10, d11, d12, d20, d21, d22) + + 3x3 real-valued matrix. The first signature creates a new identity matrix. The + second signature initializes the matrix in row-major order. + + .. staticmethod:: Identity() + + Returns the 3x3 identity matrix + +.. class:: Mat4() + Mat4(d00, d01, d02, d03, d10, d11, d12, d13, d20, d21, d22, d23, d30, d31, d32, d33) + + 4x4 real-valued matrix. The first signature creates a new identity matrix. The + second signature initializes the matrix in row-major order. + + .. method:: ExtractRotation() + + Returns the 3x3 submatrix + + .. method:: PasteRotation(mat) + + Set the 3x3 submatrix of the top-left corner to `mat` + + .. method:: ExtractTranslation() + + Extract translation component from matrix. Only meaningful when matrix + is a combination of rotation and translation matrices, otherwise the result + is undefined. + + .. PasteTranslation(trans) + + Set the translation component of the matrix to `trans` + + :param trans: The translation + :type trans: :class:`Vec3` + + .. staticmethod:: Identity() + + Returns the 4x4 identity matrix + +Functions Operating on Matrices +-------------------------------------------------------------------------------- +.. function:: Equal(lhs, rhs, epsilon=geom.EPSILON) + + Compares the two matrices `lhs` and `rhs` and returns True, if all + of the element-wise differences are smaller than epsilon. `lhs` + and `rhs` must be matrices of the same dimension. + + :param lhs: First matrix + :type lhs: :class:`Mat2`, :class:`Mat3` or :class:`Mat4` + :param rhs: Second matrix + :type rhs: :class:`Mat2`, :class:`Mat3` or :class:`Mat4` + +.. function:: Transpose(mat) + + Returns the transpose of `mat` + + :param mat: The matrix to be transposed + :type lhs: :class:`Mat2`, :class:`Mat3` or :class:`Mat4` + +.. function:: Invert(mat) + + Returns the inverse of `mat` + + :param mat: The matrix to be inverted + :type mat: :class:`Mat2`, :class:`Mat3` or :class:`Mat4` + + What happens when determinant is 0? + +.. function:: CompMultiply(lhs, rhs) + + Returns the component-wise product of `lhs` and `rhs`. `lhs` and + `rhs` must be vectors of the same dimension. + + :param lhs: The lefthand-side vector + :type lhs: :class:`~Vec2`, :class:`~Vec3` or + :class:`~Vec4` + :param rhs: The righthand-side vector + :type rhs: :class:`~Vec2`, :class:`~Vec3` or + :class:`~Vec4` + +.. function:: CompDivide(lhs, rhs) + + Returns the component-wise quotient of `lhs` divided by `rhs`. `lhs` + and `rhs` must be vectors of the same dimension. + + :param lhs: The lefthand-side vector + :type lhs: :class:`~Vec2`, :class:`~Vec3` or + :class:`~Vec4` + :param rhs: The righthand-side vector + :type rhs: :class:`~Vec2`, :class:`~Vec3` or + :class:`~Vec4` + +.. function:: Det(mat) + + Returns the determinant of `mat` + :param mat: A matrix + :type mat: :class:`~Mat2`, :class:`~Mat3` or :class:`~Mat4` + +.. function:: Minor(mat, i, j) + + Returns the determinant of the 2x2 matrix generated from `mat` by + removing the ith row and jth column. + +.. function:: EulerTransformation(phi, theta, xi) + + Returns a rotation matrix for the 3 euler angles `phi`, `theta`, and + `xi`. The 3 angles are given in radians. + + +.. function:: AxisRotation(axis, angle) + + Returns a rotation matrix that represents a rotation of `angle` + around the `axis`. + + :param axis: The rotation axis. Will be normalized + :type axis: :class:`Vec3` + :param angle: Rotation angle (radians) in clockwise direction when + looking down the axis. + +.. function:: OrthogonalVector(vec) + + Get arbitrary vector orthogonal to `vec`. The returned vector is of length + 1, except when `vec` is a zero vector. In that case, the returned vector is + (0, 0, 0). + + :param vec: A vector of arbitrary length + :type vec: :class:`Vec3` \ No newline at end of file diff --git a/modules/geom/doc/vec.rst b/modules/geom/doc/vec.rst index b3da8088bc8748bdede06b340ecb3e0222db4555..bc88b3f2b0e020bdfa0b96480c561414e8f2fa7f 100644 --- a/modules/geom/doc/vec.rst +++ b/modules/geom/doc/vec.rst @@ -1,9 +1,10 @@ Vectors ================================================================================ -.. currentmodule:: geom +.. currentmodule:: ost.geom - -The :class:`Vec2`, :class:`Vec3`, :class:`Vec4` classes implement vectors in 2, 3 and four dimensions. They support basic arithmetic via overloaded operators. Essentially, the following basic operations are available: +The :class:`Vec2`, :class:`Vec3`, :class:`Vec4` classes implement vectors in 2, +3 and four dimensions. They support basic arithmetic via overloaded operators. +Essentially, the following basic operations are available: * adding and subtracting two vectors * negation @@ -19,7 +20,8 @@ This is shown in the following example: print vec_a+vec_b print vec_a*3-vec_b -The standard vector operations are implemented as :ref:`free standing functions <vector-functions>`: +The standard vector operations are implemented as :ref:`free standing functions +<vector-functions>`: .. code-block:: python diff --git a/modules/geom/pymod/export_composite2.cc b/modules/geom/pymod/export_composite2.cc index f9e793ee10d7e05eddc608113e3d28c43146ec8e..96f42ab26ebfb5ed216aa285d2d3499ecb626bb7 100644 --- a/modules/geom/pymod/export_composite2.cc +++ b/modules/geom/pymod/export_composite2.cc @@ -42,6 +42,8 @@ void export_Composite2() .def("At",&Line2::At) .def("GetOrigin",&Line2::GetOrigin) .def("GetDirection",&Line2::GetDirection) + .add_property("direction", &Line2::GetDirection) + .add_property("origin", &Line2::GetOrigin) ; class_<Polygon2>("Polygon2",init<>()) diff --git a/modules/geom/pymod/export_composite3.cc b/modules/geom/pymod/export_composite3.cc index 8468578df28234c4b1d2ad11eafa6b57a4cde915..df7cafa3c1bcd44d30d4200f18f0de90730c8b1c 100644 --- a/modules/geom/pymod/export_composite3.cc +++ b/modules/geom/pymod/export_composite3.cc @@ -18,10 +18,9 @@ //------------------------------------------------------------------------------ #include <boost/python.hpp> #include <boost/python/suite/indexing/vector_indexing_suite.hpp> -using namespace boost::python; - #include <ost/geom/geom.hh> +using namespace boost::python; void export_Composite3() { using namespace geom; @@ -32,6 +31,8 @@ void export_Composite3() .def("At",&Line3::At) .def("GetOrigin",&Line3::GetOrigin) .def("GetDirection",&Line3::GetDirection) + .add_property("origin", &Line3::GetOrigin) + .add_property("direction", &Line3::GetDirection) ; { // scope @@ -49,6 +50,7 @@ scope PlaneScope = .def("GetNormal",&Plane::GetNormal) .add_property("normal", &Plane::GetNormal) .add_property("origin", &Plane::GetOrigin) + .add_property("p", &Plane::GetP) .def("GetP",&Plane::GetP) ; @@ -105,6 +107,8 @@ scope PlaneScope = .def(init<const Vec3&,Real>()) .def("GetOrigin",&Sphere::GetOrigin) .def("GetRadius",&Sphere::GetRadius) + .add_property("origin", &Sphere::GetOrigin, &Sphere::SetOrigin) + .add_property("radius", &Sphere::GetRadius, &Sphere::SetRadius) ; class_<CuboidAxis>("CuboidAxis", init<>()) @@ -113,29 +117,58 @@ scope PlaneScope = .def("GetVector", &CuboidAxis::GetVector, return_value_policy<copy_const_reference>()) .def("GetExtent", &CuboidAxis::GetExtent) + + .add_property("vector", make_function(&CuboidAxis::GetVector, + return_value_policy<copy_const_reference>())) + .add_property("half_extent", &CuboidAxis::GetHalfExtent) + .add_property("extent", &CuboidAxis::GetExtent) ; class_<Cuboid>("Cuboid", init<>()) .def(init<const geom::Vec3&, const CuboidAxis&,const CuboidAxis&, const CuboidAxis&>()) .def("GetCenter",&Cuboid::GetCenter) + .add_property("center", &Cuboid::GetCenter) .def("GetVecA", &Cuboid::GetVecA, return_value_policy<copy_const_reference>()) + .add_property("vec_a", make_function(&Cuboid::GetVecA, + return_value_policy<copy_const_reference>())) .def("GetVecB", &Cuboid::GetVecB, return_value_policy<copy_const_reference>()) + .add_property("vec_b", make_function(&Cuboid::GetVecB, + return_value_policy<copy_const_reference>())) .def("GetVecC", &Cuboid::GetVecC, return_value_policy<copy_const_reference>()) + .add_property("vec_c", make_function(&Cuboid::GetVecC, + return_value_policy<copy_const_reference>())) .def("GetAxisA", &Cuboid::GetAxisA, return_value_policy<copy_const_reference>()) + .add_property("axis_a", make_function(&Cuboid::GetAxisA, + return_value_policy<copy_const_reference>())) .def("GetAxisB", &Cuboid::GetAxisB, return_value_policy<copy_const_reference>()) + .add_property("axis_b", make_function(&Cuboid::GetAxisB, + return_value_policy<copy_const_reference>())) .def("GetAxisC", &Cuboid::GetAxisC, - return_value_policy<copy_const_reference>()) + return_value_policy<copy_const_reference>()) + .add_property("axis_c", make_function(&Cuboid::GetAxisC, + return_value_policy<copy_const_reference>())) .def("GetHalfExtents", &Cuboid::GetHalfExtents) + .add_property("half_extents", &Cuboid::GetHalfExtents) ; class_<AlignedCuboid>("AlignedCuboid", init<geom::Vec3, geom::Vec3>()) - .def("GetMin", &AlignedCuboid::GetMin, return_value_policy<copy_const_reference>()) - .def("GetMax", &AlignedCuboid::GetMax, return_value_policy<copy_const_reference>()) + .def("GetMin", &AlignedCuboid::GetMin, + return_value_policy<copy_const_reference>()) + .def("GetMax", &AlignedCuboid::GetMax, + return_value_policy<copy_const_reference>()) + .def("GetCenter", &AlignedCuboid::GetCenter) + .def("GetSize", &AlignedCuboid::GetSize) + .add_property("max", make_function(&AlignedCuboid::GetMax, + return_value_policy<copy_const_reference>())) + .add_property("min", make_function(&AlignedCuboid::GetMin, + return_value_policy<copy_const_reference>())) + .add_property("center", &AlignedCuboid::GetCenter) + .add_property("size", &AlignedCuboid::GetSize) ; } diff --git a/modules/geom/pymod/export_vec2.cc b/modules/geom/pymod/export_vec2.cc index d32c72ad96b063fc432c7bb976277df966fd67e6..43366e6db85008f940401a3d5e5e5252bbbcb339 100644 --- a/modules/geom/pymod/export_vec2.cc +++ b/modules/geom/pymod/export_vec2.cc @@ -17,10 +17,13 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ #include <boost/python.hpp> -using namespace boost::python; +#include <boost/python/suite/indexing/vector_indexing_suite.hpp> + #include <ost/geom/geom.hh> +using namespace boost::python; + const Real Vec2_getitem(const geom::Vec2& v, int i) {return v[i];} void Vec2_setitem(geom::Vec2& v,const int i,const Real val) {v[i]=val;} @@ -54,6 +57,8 @@ void export_Vec2() .def("GetY", &Vec2::GetY) .add_property("x", &Vec2::GetX, &Vec2::SetX) .add_property("y", &Vec2::GetY, &Vec2::SetY) - ; + class_<Vec2List>("Vec2List", init<>()) + .def(vector_indexing_suite<Vec2List>()) + ; } diff --git a/modules/geom/pymod/export_vec3.cc b/modules/geom/pymod/export_vec3.cc index b9bf4edea774e85e83916826d2f6b77ace2b35d6..d37fc6a535502bd9e3191e768b4e249fde42c179 100644 --- a/modules/geom/pymod/export_vec3.cc +++ b/modules/geom/pymod/export_vec3.cc @@ -17,11 +17,11 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ #include <boost/python.hpp> -using namespace boost::python; +#include <boost/python/suite/indexing/vector_indexing_suite.hpp> #include <ost/geom/geom.hh> - +using namespace boost::python; const Real Vec3_getitem(const geom::Vec3& v, int i) {return v[i];} void Vec3_setitem(geom::Vec3& v,const int i,const Real val) {v[i]=val;} @@ -65,4 +65,8 @@ void export_Vec3() ; def("Normalize", &NormalizeV3); def("Cross", &Cross); + + class_<Vec3List>("Vec3List", init<>()) + .def(vector_indexing_suite<Vec3List>()) + ; } diff --git a/modules/geom/src/CMakeLists.txt b/modules/geom/src/CMakeLists.txt index 7e651b5e33a40e60065cd8cdb407072bb4045d7f..bfb20fce4f63305fab0fe2e15c2013c559f013da 100644 --- a/modules/geom/src/CMakeLists.txt +++ b/modules/geom/src/CMakeLists.txt @@ -32,9 +32,6 @@ set(OST_GEOM_SOURCES mat2.cc mat3.cc mat4.cc -vec2.cc -vec3.cc -vec4.cc vecmat2_op.cc vecmat3_op.cc vecmat4_op.cc diff --git a/modules/geom/src/composite2.cc b/modules/geom/src/composite2.cc index b8300fcfb559afe9244583c7b679b1419ef85ead..f6d7f685743c3962d8b8e5acf1a1280b1688b210 100644 --- a/modules/geom/src/composite2.cc +++ b/modules/geom/src/composite2.cc @@ -88,16 +88,16 @@ Vec2 Ellipse2::calc_(Real t) const Rectangle2 Ellipse2::GetBoundingBox() const { if(gamma_==0.0 || gamma_==M_PI){ - return Rectangle2(Vec2(origin_.GetX()-a_,origin_.GetY()-b_),Vec2(origin_.GetX()+a_/2,origin_.GetY()+b_)); + return Rectangle2(Vec2(origin_.x-a_,origin_.y-b_),Vec2(origin_.x+a_/2,origin_.y+b_)); } if(gamma_==M_PI*0.5 || gamma_==3*M_PI*0.5){ - return Rectangle2(Vec2(origin_.GetX()-b_,origin_.GetY()-a_),Vec2(origin_.GetX()+b_/2,origin_.GetY()+a_)); + return Rectangle2(Vec2(origin_.x-b_,origin_.y-a_),Vec2(origin_.x+b_/2,origin_.y+a_)); } Real t=atan(-b_/a_*tan(gamma_)); Vec2 vx=calc_(t); t=atan(b_/a_/tan(gamma_)); Vec2 vy=calc_(t); - return Rectangle2(Vec2(origin_.GetX()-vx.GetX(),origin_.GetY()-vy.GetY()),Vec2(origin_.GetX()+vx.GetX(),origin_.GetY()+vy.GetY())); + return Rectangle2(Vec2(origin_.x-vx.x,origin_.y-vy.y),Vec2(origin_.x+vx.x,origin_.y+vy.y)); } Rectangle2::Rectangle2(): @@ -112,11 +112,11 @@ bottomright_(bottomright) } Real Rectangle2::GetWidth() const { - return bottomright_.GetX()-topleft_.GetX(); + return bottomright_.x-topleft_.x; } Real Rectangle2::GetHeight() const { - return bottomright_.GetY()-topleft_.GetY(); + return bottomright_.y-topleft_.y; } Real Rectangle2::GetArea() const { @@ -207,7 +207,7 @@ Real Polygon2::GetArea() const unsigned int ip1=(i+1)%nodecount; Vec2 n1=GetNode(i); Vec2 n2=GetNode(ip1); - area+=n1.GetX()*n2.GetY()-n2.GetX()*n1.GetY(); + area+=n1.x*n2.y-n2.x*n1.y; } return area/2.0; } @@ -220,8 +220,8 @@ Vec2 Polygon2::GetCentroid() const unsigned int ip1=(i+1)%nodecount; Vec2 n1=GetNode(i); Vec2 n2=GetNode(ip1); - cx+=(n1.GetX()+n2.GetX())*(n1.GetX()*n2.GetY()-n2.GetX()*n1.GetY()); - cy+=(n1.GetY()+n2.GetY())*(n1.GetX()*n2.GetY()-n2.GetX()*n1.GetY()); + cx+=(n1.x+n2.x)*(n1.x*n2.y-n2.x*n1.y); + cy+=(n1.y+n2.y)*(n1.x*n2.y-n2.x*n1.y); } Real area=GetArea(); return Vec2(cx/(6.0*area),cy/(6.0*area)); @@ -255,17 +255,17 @@ Rectangle2 Polygon2::GetBoundingBox() const { return Rectangle2(Vec2(0.0,0.0),Vec2(0.0,0.0)); } - Real x_min=operator[](0).GetX(); + Real x_min=operator[](0).x; Real x_max=x_min; - Real y_min=operator[](0).GetY(); + Real y_min=operator[](0).y; Real y_max=y_min; unsigned int nodecount=GetNodeCount(); for(unsigned int i=0;i<nodecount;++i){ Vec2 n=operator[](i); - x_min=std::min<Real>(n.GetX(),x_min); - x_max=std::max<Real>(n.GetX(),x_max); - y_min=std::min<Real>(n.GetY(),y_min); - y_max=std::max<Real>(n.GetY(),y_max); + x_min=std::min<Real>(n.x,x_min); + x_max=std::max<Real>(n.x,x_max); + y_min=std::min<Real>(n.y,y_min); + y_max=std::max<Real>(n.y,y_max); } return Rectangle2(Vec2(x_min,y_min),Vec2(x_max,y_max)); } diff --git a/modules/geom/src/composite2_op.cc b/modules/geom/src/composite2_op.cc index cc660f821eb782bcb6e56a0c4f4dc01002747e6d..5044771a8f5ca2223520692f8a2206c470c05421 100644 --- a/modules/geom/src/composite2_op.cc +++ b/modules/geom/src/composite2_op.cc @@ -88,11 +88,11 @@ bool IsInPolygon(const Polygon2& p, const Vec2& v) } bool c = false; Vec2 old=p.GetNode(p.GetNodeCount()-1); - bool oldcomp= v.GetY()<old.GetY(); + bool oldcomp= v.y<old.y; for (Polygon2::const_iterator it=p.begin();it!=p.end(); ++it) { - bool comp= v.GetY() < (*it).GetY(); + bool comp= v.y < (*it).y; if( comp ^ oldcomp ) { - if( (v.GetX() < (old.GetX() - (*it).GetX()) * (v.GetY() - (*it).GetY()) / (old.GetY() - (*it).GetY()) + (*it).GetX()) ){ + if( (v.x < (old.x - (*it).x) * (v.y - (*it).y) / (old.y - (*it).y) + (*it).x) ){ c = !c; } } @@ -123,7 +123,7 @@ DLLEXPORT bool IsInRectangle(const Rectangle2& r, const Vec2& v) { Vec2 start=r.GetStart(); Vec2 end=r.GetEnd(); - return v.GetX()>=start.GetX() && v.GetX()<=end.GetX() && v.GetY()>=start.GetY() && v.GetY()<=end.GetY(); + return v.x>=start.x && v.x<=end.x && v.y>=start.y && v.y<=end.y; } DLLEXPORT bool IsInCircle(const Circle2& c, const Vec2& v) { diff --git a/modules/geom/src/mat2.cc b/modules/geom/src/mat2.cc index ac34069dfe055e2dcce97e0e4a5294209a93b5bd..06e196d8cb987f1e4162345a37e40cdcaa764a9a 100644 --- a/modules/geom/src/mat2.cc +++ b/modules/geom/src/mat2.cc @@ -65,20 +65,6 @@ bool Mat2::operator==(const Mat2& rhs) const data_[1][1] == rhs.data_[1][1]; } - -Real& Mat2::operator()(std::size_t r, std::size_t c) -{ - if(r>1 || c>1) throw OutOfRangeException(); - return data_[r][c]; -} - -const Real& Mat2::operator()(std::size_t r, std::size_t c) const -{ - if(r>1 || c>1) throw OutOfRangeException(); - return data_[r][c]; -} - - Mat2& Mat2::operator+=(const Mat2& rhs) { data_[0][0]+=rhs(0,0); diff --git a/modules/geom/src/mat2.hh b/modules/geom/src/mat2.hh index 9231cb7100e3f35541b59608e11c894751448775..bc53416f2caac2772706d50cacb09a76a39effd3 100644 --- a/modules/geom/src/mat2.hh +++ b/modules/geom/src/mat2.hh @@ -21,6 +21,7 @@ #include <cstddef> // for size_t #include <ostream> +#include <cassert> #include <boost/operators.hpp> @@ -63,9 +64,17 @@ public: bool operator==(const Mat2& rhs) const; //! element access - Real& operator()(std::size_t r, std::size_t c); + Real& operator()(std::size_t r, std::size_t c) + { + assert(r<=1 && c<=1); + return data_[r][c]; + } //! const element access - const Real& operator()(std::size_t r, std::size_t c) const; + const Real& operator()(std::size_t r, std::size_t c) const + { + assert(r<=1 && c<=1); + return data_[r][c]; + } //! addable op Mat2& operator+=(const Mat2& rhs); diff --git a/modules/geom/src/mat3.cc b/modules/geom/src/mat3.cc index f9492d3d4b4ec7d209de1cde92e31f2d727ceeb9..a202f20a3795fca2a9e36148e9d7f0dd34789900 100644 --- a/modules/geom/src/mat3.cc +++ b/modules/geom/src/mat3.cc @@ -24,132 +24,6 @@ namespace geom { -Mat3::Mat3() -{ - this->set(1.0,0.0,0.0, 0.0,1.0,0.0, 0.0,0.0,1.0); -} - -Mat3::Mat3(Real i00, Real i01, Real i02,Real i10, Real i11, Real i12,Real i20, Real i21, Real i22) -{ - this->set(i00,i01,i02,i10,i11,i12,i20,i21,i22); -} - -Mat3::Mat3(const Mat3& m) -{ - this->set(m(0,0),m(0,1),m(0,2),m(1,0),m(1,1),m(1,2),m(2,0),m(2,1),m(2,2)); -} - -Mat3::Mat3(const Mat2& m) -{ - this->set(m(0,0),m(0,1),0.0, m(1,0),m(1,1),0.0, 0.0,0.0,1.0); -} - -Mat3::Mat3(const Real arr[9]) -{ - this->set(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5],arr[6],arr[7],arr[8]); -} - -Mat3& Mat3::operator=(const Mat3& m) -{ - if(&m!=this) { - this->set(m(0,0),m(0,1),m(0,2),m(1,0),m(1,1),m(1,2),m(2,0),m(2,1),m(2,2)); - } - return *this; -} - -Mat3 Mat3::Identity() -{ - static Mat3 i(1.0,0.0,0.0, - 0.0,1.0,0.0, - 0.0,0.0,1.0); - return i; -} - -bool Mat3::operator==(const Mat3& rhs) const -{ - return data_[0][0] == rhs.data_[0][0] && - data_[1][0] == rhs.data_[1][0] && - data_[2][0] == rhs.data_[2][0] && - data_[0][1] == rhs.data_[0][1] && - data_[1][1] == rhs.data_[1][1] && - data_[2][1] == rhs.data_[2][1] && - data_[0][2] == rhs.data_[0][2] && - data_[1][2] == rhs.data_[1][2] && - data_[2][2] == rhs.data_[2][2]; -} - -Real& Mat3::operator()(std::size_t r, std::size_t c) -{ - if(r>2 || c>2) throw OutOfRangeException(); - return data_[r][c]; -} - -const Real& Mat3::operator()(std::size_t r, std::size_t c) const -{ - if(r>2 || c>2) throw OutOfRangeException(); - return data_[r][c]; -} - - -Mat3& Mat3::operator+=(const Mat3& rhs) -{ - data_[0][0]+=rhs(0,0); - data_[0][1]+=rhs(0,1); - data_[0][2]+=rhs(0,2); - data_[1][0]+=rhs(1,0); - data_[1][1]+=rhs(1,1); - data_[1][2]+=rhs(1,2); - data_[2][0]+=rhs(2,0); - data_[2][1]+=rhs(2,1); - data_[2][2]+=rhs(2,2); - return *this; -} -Mat3& Mat3::operator-=(const Mat3& rhs) -{ - data_[0][0]-=rhs(0,0); - data_[0][1]-=rhs(0,1); - data_[0][2]-=rhs(0,2); - data_[1][0]-=rhs(1,0); - data_[1][1]-=rhs(1,1); - data_[1][2]-=rhs(1,2); - data_[2][0]-=rhs(2,0); - data_[2][1]-=rhs(2,1); - data_[2][2]-=rhs(2,2); - return *this; -} -Mat3& Mat3::operator*=(const Real d) -{ - data_[0][0]*=d; - data_[0][1]*=d; - data_[0][2]*=d; - data_[1][0]*=d; - data_[1][1]*=d; - data_[1][2]*=d; - data_[2][0]*=d; - data_[2][1]*=d; - data_[2][2]*=d; - return *this; -} -Mat3& Mat3::operator/=(const Real d) -{ - data_[0][0]/=d; - data_[0][1]/=d; - data_[0][2]/=d; - data_[1][0]/=d; - data_[1][1]/=d; - data_[1][2]/=d; - data_[2][0]/=d; - data_[2][1]/=d; - data_[2][2]/=d; - return *this; -} - -Mat3& Mat3::operator*=(const Mat3& m) -{ - (*this)=operator*(*this,m); - return *this; -} - geom::Vec3 Mat3::GetCol(int index) const { return geom::Vec3(data_[0][index], data_[1][index], data_[2][index]); @@ -163,12 +37,6 @@ geom::Vec3 Mat3::GetRow(int index) const //////////////////////////////////////////// // private member functions -void Mat3::set(Real i00, Real i01, Real i02,Real i10, Real i11, Real i12,Real i20, Real i21, Real i22) -{ - data_[0][0]=i00; data_[0][1]=i01; data_[0][2]=i02; - data_[1][0]=i10; data_[1][1]=i11; data_[1][2]=i12; - data_[2][0]=i20; data_[2][1]=i21; data_[2][2]=i22; -} std::ostream& operator<<(std::ostream& os, const Mat3& m) { diff --git a/modules/geom/src/mat3.hh b/modules/geom/src/mat3.hh index f7d90c3f313dff15a1dffb2bd72b5c80fdc4e7ec..15815863328fe4ca1039ced2b5d48250eef952cd 100644 --- a/modules/geom/src/mat3.hh +++ b/modules/geom/src/mat3.hh @@ -21,10 +21,12 @@ #include <cstddef> // for size_t #include <ostream> +#include <cassert> #include <boost/operators.hpp> #include <ost/geom/module_config.hh> +#include <ost/geom/mat2.hh> namespace geom { @@ -36,12 +38,12 @@ class DLLEXPORT_OST_GEOM Mat3: private boost::additive1<Mat3>, private boost::multiplicative2<Mat3, Real> { -public: - static Mat3 Identity(); - - //! Default initialization, identity matrix - Mat3(); - +public: + //! Default initialization, identity matrix + Mat3() + { + this->set(1.0,0.0,0.0, 0.0,1.0,0.0, 0.0,0.0,1.0); + } //! In with 9 values in row-major order /*! row-major order means that the matrix @@ -52,37 +54,138 @@ public: is initialized with (a,b,c, d,e,f, g,h,i) */ - Mat3(Real i00, Real i01, Real i02,Real i10, Real i11, Real i12,Real i20, Real i21, Real i22); - - //! Copy ctor - Mat3(const Mat3& m); - - // initialization with 2d matrix - explicit Mat3(const Mat2& m); - - //! initialization from array - explicit Mat3(const Real[9]); - - //! assignement op - Mat3& operator=(const Mat3& m); - - //! comparable - bool operator==(const Mat3& rhs) const; + Mat3(Real i00, Real i01, Real i02, + Real i10, Real i11, Real i12, + Real i20, Real i21, Real i22) + { + this->set(i00,i01,i02,i10,i11,i12,i20,i21,i22); + } + + Mat3(const Mat3& m) + { + this->set(m(0,0),m(0,1),m(0,2),m(1,0),m(1,1),m(1,2),m(2,0),m(2,1),m(2,2)); + } + + Mat3(const Mat2& m) + { + this->set(m(0, 0), m(0, 1), Real(0.0), + m(1, 0), m(1, 1), Real(0.0), + Real(0.0), Real(0.0), Real(1.0)); + } + + explicit Mat3(const Real arr[9]) + { + this->set(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5],arr[6],arr[7],arr[8]); + } //! element access - Real& operator()(std::size_t r, std::size_t c); + Real& operator()(std::size_t r, std::size_t c) + { + assert(r<=2 && c<=2); + return data_[r][c]; + } //! const element access - const Real& operator()(std::size_t r, std::size_t c) const; - - //! addable op - Mat3& operator+=(const Mat3& rhs); - //! subtractable op - Mat3& operator-=(const Mat3& rhs); - - Mat3& operator*=(const Real d); - Mat3& operator/=(const Real d); - - Mat3& operator*=(const Mat3& m); + const Real& operator()(std::size_t r, std::size_t c) const + { + assert(r<=2 && c<=2); + return data_[r][c]; + } + + Mat3& operator=(const Mat3& m) + { + if(&m!=this) { + this->set(m(0,0),m(0,1),m(0,2),m(1,0),m(1,1),m(1,2),m(2,0),m(2,1),m(2,2)); + } + return *this; + } + + static Mat3 Identity() + { + static Mat3 i(1.0,0.0,0.0, + 0.0,1.0,0.0, + 0.0,0.0,1.0); + return i; + } + + bool operator==(const Mat3& rhs) const + { + return data_[0][0] == rhs.data_[0][0] && + data_[1][0] == rhs.data_[1][0] && + data_[2][0] == rhs.data_[2][0] && + data_[0][1] == rhs.data_[0][1] && + data_[1][1] == rhs.data_[1][1] && + data_[2][1] == rhs.data_[2][1] && + data_[0][2] == rhs.data_[0][2] && + data_[1][2] == rhs.data_[1][2] && + data_[2][2] == rhs.data_[2][2]; + } + + Mat3& operator+=(const Mat3& rhs) + { + data_[0][0]+=rhs(0,0); + data_[0][1]+=rhs(0,1); + data_[0][2]+=rhs(0,2); + data_[1][0]+=rhs(1,0); + data_[1][1]+=rhs(1,1); + data_[1][2]+=rhs(1,2); + data_[2][0]+=rhs(2,0); + data_[2][1]+=rhs(2,1); + data_[2][2]+=rhs(2,2); + return *this; + } + Mat3& operator-=(const Mat3& rhs) + { + data_[0][0]-=rhs(0,0); + data_[0][1]-=rhs(0,1); + data_[0][2]-=rhs(0,2); + data_[1][0]-=rhs(1,0); + data_[1][1]-=rhs(1,1); + data_[1][2]-=rhs(1,2); + data_[2][0]-=rhs(2,0); + data_[2][1]-=rhs(2,1); + data_[2][2]-=rhs(2,2); + return *this; + } + Mat3& operator*=(const Real d) + { + data_[0][0]*=d; + data_[0][1]*=d; + data_[0][2]*=d; + data_[1][0]*=d; + data_[1][1]*=d; + data_[1][2]*=d; + data_[2][0]*=d; + data_[2][1]*=d; + data_[2][2]*=d; + return *this; + } + Mat3& operator/=(const Real d) + { + data_[0][0]/=d; + data_[0][1]/=d; + data_[0][2]/=d; + data_[1][0]/=d; + data_[1][1]/=d; + data_[1][2]/=d; + data_[2][0]/=d; + data_[2][1]/=d; + data_[2][2]/=d; + return *this; + } + + Mat3& operator*=(const Mat3& m) + { + (*this)=Mat3((*this)(0,0)*m(0,0)+(*this)(0,1)*m(1,0)+(*this)(0,2)*m(2,0), + (*this)(0,0)*m(0,1)+(*this)(0,1)*m(1,1)+(*this)(0,2)*m(2,1), + (*this)(0,0)*m(0,2)+(*this)(0,1)*m(1,2)+(*this)(0,2)*m(2,2), + (*this)(1,0)*m(0,0)+(*this)(1,1)*m(1,0)+(*this)(1,2)*m(2,0), + (*this)(1,0)*m(0,1)+(*this)(1,1)*m(1,1)+(*this)(1,2)*m(2,1), + (*this)(1,0)*m(0,2)+(*this)(1,1)*m(1,2)+(*this)(1,2)*m(2,2), + (*this)(2,0)*m(0,0)+(*this)(2,1)*m(1,0)+(*this)(2,2)*m(2,0), + (*this)(2,0)*m(0,1)+(*this)(2,1)*m(1,1)+(*this)(2,2)*m(2,1), + (*this)(2,0)*m(0,2)+(*this)(2,1)*m(1,2)+(*this)(2,2)*m(2,2)); + return *this; + } Real* Data() {return &data_[0][0];} const Real* Data() const {return &data_[0][0];} @@ -92,9 +195,16 @@ public: private: Real data_[3][3]; - void set(Real i00, Real i01, Real i02,Real i10, Real i11, Real i12,Real i20, Real i21, Real i22); + void set(Real i00, Real i01, Real i02, + Real i10, Real i11, Real i12, + Real i20, Real i21, Real i22) + { + data_[0][0]=i00; data_[0][1]=i01; data_[0][2]=i02; + data_[1][0]=i10; data_[1][1]=i11; data_[1][2]=i12; + data_[2][0]=i20; data_[2][1]=i21; data_[2][2]=i22; + } }; - + DLLEXPORT_OST_GEOM std::ostream& operator<<(std::ostream& o, const Mat3& m); } // ns geom diff --git a/modules/geom/src/quat.cc b/modules/geom/src/quat.cc index abfa6c80f5055f877126aa2424b8d88cd86a6b39..ceb178713e8641862d763a06f09023faa039004b 100644 --- a/modules/geom/src/quat.cc +++ b/modules/geom/src/quat.cc @@ -316,11 +316,20 @@ Quat& Quat::operator*=(Real s) } Quat& Quat::operator*=(const Quat& q) -{ - w = this->w*q.w - this->x*q.x - this->y*q.y - this->z*q.z; - x = this->w*q.x + this->x*q.w + this->y*q.z - this->z*q.y; - y = this->w*q.y + this->y*q.w - this->x*q.z + this->z*q.x; - z = this->w*q.z + this->z*q.w + this->x*q.y - this->y*q.x; +{ + Vec3 v00 (x,y,z); + Vec3 v10 (q.x,q.y,q.z); + + Real w2=w*q.w-Dot(v00,v10); + Vec3 v2=Cross(v00,v10); + Vec3 v3=v10; v3 *= w; + Vec3 v4=v00; v4 *= q.w; + Vec3 v5=v2+v3+v4; + + w=w2; + x=v5[0]; + y=v5[1]; + z=v5[2]; return *this; } @@ -357,54 +366,6 @@ Quat Conjugate(const Quat& q) return Quat(q.w,-q.x,-q.y,-q.z); } -namespace { - - -/* - for a unit quaternion defined as (cos[theta],sin[theta] * [x,y,z]) - the log is given by (0,theta * [x,y,z]) -*/ -Quat log(const Quat& q) -{ - Quat nrvo; - Real sin_theta = std::sqrt(q.x*q.x+q.y*q.y+q.z*q.z); - if(std::fabs(sin_theta)<1e-30) { - /* - for a theta of zero, cos(theta)=1, the log if which is zero, - and hence an all zero quat is the result, but this may lead to - trouble... - */ - nrvo = Quat(0.0,0.0,0.0,0.0); - } else { - - Real theta = std::atan2(sin_theta,q.w); - Real f = theta/sin_theta; - // assume cos(theta) == w, since we are supposed to have a unit quaternion - nrvo = Quat(0.0,q.x*f,q.y*f,q.z*f); - - } - return nrvo; -} - -Quat exp(const Quat& q) -{ - Quat nrvo; - Real theta = std::sqrt(q.x*q.x+q.y*q.y+q.z*q.z); - if(std::fabs(theta)<1e-30) { - /* - see log special case above; this will now - return a 'proper' quaternion - */ - nrvo = Quat(1.0,0.0,0.0,0.0); - } else { - Real f = sin(theta)/theta; - nrvo = Quat(cos(theta),f*q.x,f*q.y,f*q.z); - } - return nrvo; -} - -} - /* qt = q0 ( q0* q1) ^t qt = q0 Exp[t Log[ Conj[q0] q1]] @@ -453,21 +414,21 @@ Vec3 Quat::Rotate(const Vec3& vec) const { Quat Grassmann(const Quat& lhs, const Quat& rhs) { return Quat(lhs.GetAngle()*rhs.GetAngle()- - lhs.GetAxis().GetX()*rhs.GetAxis().GetX()- - lhs.GetAxis().GetY()*rhs.GetAxis().GetY()- - lhs.GetAxis().GetZ()*rhs.GetAxis().GetZ(), - lhs.GetAngle()*rhs.GetAxis().GetX()+ - lhs.GetAxis().GetX()*rhs.GetAngle()+ - lhs.GetAxis().GetY()*rhs.GetAxis().GetZ()- - lhs.GetAxis().GetZ()*rhs.GetAxis().GetY(), - lhs.GetAngle()*rhs.GetAxis().GetY()- - lhs.GetAxis().GetX()*rhs.GetAxis().GetZ()+ - lhs.GetAxis().GetY()*rhs.GetAngle()+ - lhs.GetAxis().GetZ()*rhs.GetAxis().GetX(), - lhs.GetAngle()*rhs.GetAxis().GetZ()+ - lhs.GetAxis().GetX()*rhs.GetAxis().GetY()- - lhs.GetAxis().GetY()*rhs.GetAxis().GetX()+ - lhs.GetAxis().GetZ()*rhs.GetAngle()); + lhs.GetAxis().x*rhs.GetAxis().x- + lhs.GetAxis().y*rhs.GetAxis().y- + lhs.GetAxis().z*rhs.GetAxis().z, + lhs.GetAngle()*rhs.GetAxis().x+ + lhs.GetAxis().x*rhs.GetAngle()+ + lhs.GetAxis().y*rhs.GetAxis().z- + lhs.GetAxis().z*rhs.GetAxis().y, + lhs.GetAngle()*rhs.GetAxis().y- + lhs.GetAxis().x*rhs.GetAxis().z+ + lhs.GetAxis().y*rhs.GetAngle()+ + lhs.GetAxis().z*rhs.GetAxis().x, + lhs.GetAngle()*rhs.GetAxis().z+ + lhs.GetAxis().x*rhs.GetAxis().y- + lhs.GetAxis().y*rhs.GetAxis().x+ + lhs.GetAxis().z*rhs.GetAngle()); } std::ostream& operator<<(std::ostream& str, const Quat& q) diff --git a/modules/geom/src/vec2.cc b/modules/geom/src/vec2.cc deleted file mode 100644 index 129a2745c25a2cfcec1dcd0a497a9016858b1dfb..0000000000000000000000000000000000000000 --- a/modules/geom/src/vec2.cc +++ /dev/null @@ -1,179 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "vec2.hh" -#include "vec3.hh" -#include "vec4.hh" - -#include "exc.hh" - -namespace geom { - -Vec2::Vec2() -{ - this->set(0.0,0.0); -} - -Vec2::Vec2(Real x, Real y) -{ - this->set(x,y); -} - -Vec2::Vec2(const Vec2& v) -{ - this->set(v.data_[0],v.data_[1]); -} - -Vec2::Vec2(const Vec3& v) -{ - this->set(v[0],v[1]); // z is silenly swallowed -} - -Vec2::Vec2(const Vec4& v) -{ - if(v[3]==0.0) { - throw DivideByZeroException("zero w component in Vec4->Vec2 conversion"); - } - this->set(v[0]/v[3],v[1]/v[3]); // z is silently swallowed -} - -Vec2::Vec2(const Real d[2]) -{ - this->set(d[0],d[1]); -} - -/*Vec2::Vec2(const float d[2]) -{ - this->set(d[0],d[1]); -} -*/ -Vec2& Vec2::operator=(const Vec2& v) -{ - if(&v!=this) { - this->set(v[0],v[1]); - } - return *this; -} - -bool Vec2::operator==(const Vec2& v) const -{ - return data_[0]==v.data_[0] && - data_[1]==v.data_[1]; -} - - -Real& Vec2::operator[](std::size_t indx) -{ - if(indx>1) throw OutOfRangeException(); - return data_[indx]; -} - - -const Real& Vec2::operator[](std::size_t indx) const -{ - if(indx>1) throw OutOfRangeException(); - return data_[indx]; -} - - -Vec2 Vec2::operator-() const -{ - Vec2 nrvo(-data_[0],-data_[1]); - return nrvo; -} - -Vec2& Vec2::operator+=(const Vec2& rhs) -{ - data_[0]+=rhs[0]; data_[1]+=rhs[1]; - return *this; -} - -Vec2& Vec2::operator-=(const Vec2& rhs) -{ - data_[0]-=rhs[0]; data_[1]-=rhs[1]; - return *this; -} - -Vec2& Vec2::operator*=(Real d) -{ - data_[0]*=d; data_[1]*=d; - return *this; -} - -Vec2& Vec2::operator+=(Real d) -{ - data_[0]+=d; data_[1]+=d; - return *this; -} - -Vec2& Vec2::operator-=(Real d) -{ - data_[0]-=d; data_[1]-=d; - return *this; -} - -Vec2& Vec2::operator/=(Real d) -{ - data_[0]/=d; data_[1]/=d; - return *this; -} - -//////////////////////////////////////////// -// private member functions - -void Vec2::set(Real x, Real y) -{ - data_[0]=x; data_[1]=y; -} - -//////////////////////////////////////////// -// functions - -Vec2 operator/(Real d, const Vec2& v) -{ - Vec2 nrvo(d/v[0],d/v[1]); - return nrvo; -} - -std::ostream& operator<<(std::ostream& os, const Vec2& v) -{ - os << "(" << v[0] << "," << v[1] << ")"; - return os; -} - -Real Vec2::GetX() const -{ - return data_[0]; -} - -Real Vec2::GetY() const -{ - return data_[1]; -} - -void Vec2::SetX(Real v) -{ - data_[0]=v; -} -void Vec2::SetY(Real v) -{ - data_[1]=v; -} - - -} // ns diff --git a/modules/geom/src/vec2.hh b/modules/geom/src/vec2.hh index de3012f8a39839d945136478bb486789399e8f58..8432856ead98214eccd77c9deeebeb9c064014f8 100644 --- a/modules/geom/src/vec2.hh +++ b/modules/geom/src/vec2.hh @@ -19,13 +19,15 @@ #ifndef GEOM_VEC2_H #define GEOM_VEC2_H +#include <stdexcept> #include <cstddef> // for size_t #include <ostream> - +#include <vector> #include <boost/operators.hpp> -#include <ost/geom/module_config.hh> + #include <ost/config.hh> +#include <ost/geom/module_config.hh> namespace geom { @@ -36,7 +38,7 @@ class Vec4; /* Two dimensional vector class, using Real precision. */ -class DLLEXPORT_OST_GEOM Vec2: +class DLLEXPORT Vec2: private boost::equality_comparable<Vec2>, private boost::additive<Vec2>, private boost::additive<Vec2, Real>, @@ -44,13 +46,13 @@ class DLLEXPORT_OST_GEOM Vec2: { public: //! Default initialization, all components are set to zero - Vec2(); + Vec2(): x(0), y(0) { } //! Initialization with x, y and z component - Vec2(Real x, Real y); + Vec2(Real px, Real py): x(px), y(py) { } //! copy ctor - Vec2(const Vec2& v); + Vec2(const Vec2& v): x(v.x), y(v.y) { } //! explicit initialization with 3D vector explicit Vec2(const Vec3& v); @@ -59,53 +61,127 @@ public: explicit Vec2(const Vec4& v); //! explicit initialization with an array of doubles - explicit Vec2(const Real[2]); + explicit Vec2(const float v[2]): x(v[0]), y(v[1]) { } + -#if OST_DOUBLE_PRECISION //! explicit initialization with an array of floats - explicit Vec2(const float[2]); -#endif - //! assignement op - Vec2& operator=(const Vec2& v); + explicit Vec2(const double v[2]): x(v[0]), y(v[1]) { } - //! element access - Real& operator[](std::size_t indx); - //! const element access - const Real& operator[](std::size_t indx) const; - //! element access - Real GetX() const; - Real GetY() const; - void SetX(Real v); - void SetY(Real v); + + Real GetX() const { return x; } + Real GetY() const { return y; } + + void SetX(Real d) { x=d; } + void SetY(Real d) { y=d; } //! comparable - bool operator==(const Vec2& rhs) const; + bool operator==(const Vec2& rhs) const + { + return x==rhs.x && y==rhs.y; + } + //! element access + Real& operator[](std::size_t indx) + { + if (indx>1) { + throw std::out_of_range("Index must be in the range [0-1]"); + } + return (&x)[indx]; + } + + //! const element access + const Real& operator[](std::size_t indx) const + { + if (indx>1) { + throw std::out_of_range("Index must be in the range [0-1]"); + } + return (&x)[indx]; + } + //! addable op - Vec2& operator+=(const Vec2& rhs); - Vec2& operator+=(Real d); + Vec2& operator+=(const Vec2& rhs) + { + x+=rhs.x; + y+=rhs.y; + return *this; + } + + Vec2& operator+=(Real d) + { + x+=d; + y+=d; + return *this; + } + //! subtractable op - Vec2& operator-=(const Vec2& rhs); - Vec2& operator-=(Real d); + Vec2& operator-=(const Vec2& rhs) + { + x-=rhs.x; + y-=rhs.y; + return *this; + } + + Vec2& operator-=(Real d) + { + x-=d; + y-=d; + return *this; + } //! negateable - Vec2 operator-() const; + Vec2 operator-() const + { + return Vec2(-x, -y); + } + //! multipliable - Vec2& operator*=(Real d); + Vec2& operator*=(Real d) + { + x*=d; + y*=d; + return *this; + } + //! dividable - Vec2& operator/=(Real d); + Vec2& operator/=(Real d) + { + Real one_over_d=Real(1.0)/d; + x*=one_over_d; + y*=one_over_d; + return *this; + } + + Real* Data() {return &x;} + const Real* Data() const { return &x; } + + Real x; + Real y; +}; - Real* Data() {return data_;} - const Real* Data() const {return data_;} +inline Vec2 operator/(Real d, const Vec2& v) +{ + return Vec2(d/v.x, d/v.y); +} -private: - Real data_[2]; +inline std::ostream& operator<<(std::ostream& os, const Vec2& v) +{ + os << "(" << v[0] << "," << v[1] << ")"; + return os; +} - void set(Real x, Real y); -}; +} + +#include <ost/geom/vec3.hh> +#include <ost/geom/vec4.hh> + +namespace geom { + +inline Vec2::Vec2(const Vec3& v): x(v.x), y(v.y) { } + + +inline Vec2::Vec2(const Vec4& v): x(v.x), y(v.y) { } -DLLEXPORT_OST_GEOM Vec2 operator/(Real d, const Vec2& v); -DLLEXPORT_OST_GEOM std::ostream& operator<<(std::ostream&, const Vec2&); +typedef std::vector<Vec2> Vec2List; } // namespace geom diff --git a/modules/geom/src/vec3.cc b/modules/geom/src/vec3.cc deleted file mode 100644 index 1e48f270c9417419adeb1096ca02acbc049d0740..0000000000000000000000000000000000000000 --- a/modules/geom/src/vec3.cc +++ /dev/null @@ -1,196 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "vec2.hh" -#include "vec3.hh" -#include "vec4.hh" - -#include "exc.hh" -#include <ost/config.hh> -namespace geom { - -Vec3::Vec3() -{ - this->set(0.0,0.0,0.0); -} - -Vec3::Vec3(Real x, Real y, Real z) -{ - this->set(x,y,z); -} - -//#if OST_DOUBLE_PRECISION -//Vec3::Vec3(float x, float y, float z) -//{ -// this->set(x,y,z); -//} -//#endif - -Vec3::Vec3(const Vec3& v) -{ - this->set(v.data_[0],v.data_[1],v.data_[2]); -} - -Vec3::Vec3(const Vec2& v) -{ - this->set(v[0],v[1],0.0); -} - -Vec3::Vec3(const Vec4& v) -{ - if(v[3]==0.0) { - throw DivideByZeroException("zero w component in Vec4->Vec3 conversion"); - } - this->set(v[0]/v[3],v[1]/v[3],v[2]/v[3]); -} - - -Vec3::Vec3(const Real d[3]) -{ - this->set(d[0],d[1],d[2]); -} -#if OST_DOUBLE_PRECISION -Vec3::Vec3(const float d[3]) -{ - this->set(d[0],d[1],d[2]); -} -#endif - -Vec3& Vec3::operator=(const Vec3& v) -{ - if(&v!=this) { - this->set(v[0],v[1],v[2]); - } - return *this; -} - -bool Vec3::operator==(const Vec3& v) const -{ - return data_[0]==v.data_[0] && - data_[1]==v.data_[1] && - data_[2]==v.data_[2]; -} - -Real& Vec3::operator[](std::size_t indx) -{ - if(indx>2) throw OutOfRangeException(); - return data_[indx]; -} - - -const Real& Vec3::operator[](std::size_t indx) const -{ - if(indx>2) throw OutOfRangeException(); - return data_[indx]; -} - -Real Vec3::GetX() const -{ - return data_[0]; -} - -Real Vec3::GetY() const -{ - return data_[1]; -} - -Real Vec3::GetZ() const -{ - return data_[2]; -} - -void Vec3::SetX(Real v) -{ - data_[0]=v; -} -void Vec3::SetY(Real v) -{ - data_[1]=v; -} -void Vec3::SetZ(Real v) -{ - data_[2]=v; -} - -Vec3 Vec3::operator-() const -{ - Vec3 nrvo(-data_[0],-data_[1],-data_[2]); - return nrvo; -} - -Vec3& Vec3::operator+=(const Vec3& rhs) -{ - data_[0]+=rhs[0]; data_[1]+=rhs[1]; data_[2]+=rhs[2]; - return *this; -} - -Vec3& Vec3::operator-=(const Vec3& rhs) -{ - data_[0]-=rhs[0]; data_[1]-=rhs[1]; data_[2]-=rhs[2]; - return *this; -} - -Vec3& Vec3::operator*=(Real d) -{ - data_[0]*=d; data_[1]*=d; data_[2]*=d; - return *this; -} - -Vec3& Vec3::operator+=(Real d) -{ - data_[0]+=d; data_[1]+=d; data_[2]+=d; - return *this; -} - -Vec3& Vec3::operator-=(Real d) -{ - data_[0]-=d; data_[1]-=d; data_[2]-=d; - return *this; -} - -Vec3& Vec3::operator/=(Real d) -{ - data_[0]/=d; data_[1]/=d; data_[2]/=d; - return *this; -} - -//////////////////////////////////////////// -// private member functions - -void Vec3::set(Real x, Real y, Real z) -{ - data_[0]=x; data_[1]=y; data_[2]=z; -} - -//////////////////////////////////////////// -// functions - -Vec3 operator/(Real d, const Vec3& v) -{ - Vec3 nrvo(d/v[0],d/v[1],d/v[2]); - return nrvo; -} - -std::ostream& operator<<(std::ostream& os, const Vec3& v) -{ - os << "(" << v[0] << "," << v[1] << "," << v[2] << ")"; - return os; -} - -} // ns geom - diff --git a/modules/geom/src/vec3.hh b/modules/geom/src/vec3.hh index fecac337051c6b0f8fbe05eab6212ba6eef8fac8..7c0d92046f93f727631a55ca95a4d1e4cfb42f8b 100644 --- a/modules/geom/src/vec3.hh +++ b/modules/geom/src/vec3.hh @@ -19,13 +19,15 @@ #ifndef GEOM_VEC3_H #define GEOM_VEC3_H +#include <stdexcept> #include <cstddef> // for size_t #include <ostream> - +#include <vector> #include <boost/operators.hpp> -#include <ost/geom/module_config.hh> + #include <ost/config.hh> +#include <ost/geom/module_config.hh> namespace geom { @@ -43,13 +45,13 @@ class DLLEXPORT_OST_GEOM Vec3: { public: //! Default initialization, all components are set to zero - Vec3(); + Vec3(): x(0), y(0), z(0) {} //! Initialization with x, y and z component - Vec3(Real x, Real y, Real z); + Vec3(Real px, Real py, Real pz): x(px), y(py), z(pz) {} //! copy ctor - Vec3(const Vec3& v); + Vec3(const Vec3& v): x(v.x), y(v.y), z(v.z) { } //! (implicit) initialization with 2D vector Vec3(const Vec2& v); @@ -60,58 +62,144 @@ public: to a 3D vector, resulting in (x/w,y/w,z/w) */ explicit Vec3(const Vec4& v); - + + explicit Vec3(Real v): x(v), y(v), z(v) { } + //! explicit initialization with an array of doubles - explicit Vec3(const Real[3]); + explicit Vec3(const double v[3]): x(v[0]), y(v[1]), z(v[2]) { } -#if OST_DOUBLE_PRECISION //! explicit initialization with an array of floats - explicit Vec3(const float[3]); -#endif + explicit Vec3(const float v[3]): x(v[0]), y(v[1]), z(v[2]) { } + //! assignement op - Vec3& operator=(const Vec3& v); + Vec3& operator=(const Vec3& v) + { + x=v.x; + y=v.y; + z=v.z; + return *this; + } //! comparable - bool operator==(const Vec3& rhs) const; + bool operator==(const Vec3& rhs) const + { + return x==rhs.x && y==rhs.y && z==rhs.z; + } //! element access - Real& operator[](std::size_t indx); + Real& operator[](std::size_t indx) + { + if (indx>2) { + throw std::out_of_range("Index must be in the range [0-2]"); + } + return (&x)[indx]; + } + //! const element access - const Real& operator[](std::size_t indx) const; + const Real& operator[](std::size_t indx) const + { + if (indx>2) { + throw std::out_of_range("Index must be in the range [0-2]"); + } + return (&x)[indx]; + } //! element access - Real GetX() const; - Real GetY() const; - Real GetZ() const; - void SetX(Real v); - void SetY(Real v); - void SetZ(Real v); + Real GetX() const { return x; } + Real GetY() const { return y; } + Real GetZ() const { return z; } + void SetX(Real v) { x=v; } + void SetY(Real v) { y=v; } + void SetZ(Real v) { z=v; } //! addable op - Vec3& operator+=(const Vec3& rhs); - Vec3& operator+=(Real d); + Vec3& operator+=(const Vec3& rhs) + { + x+=rhs.x; + y+=rhs.y; + z+=rhs.z; + return *this; + } + + Vec3& operator+=(Real d) + { + x+=d; + y+=d; + z+=d; + return *this; + } + //! subtractable op - Vec3& operator-=(const Vec3& rhs); - Vec3& operator-=(Real d); + Vec3& operator-=(const Vec3& rhs) + { + x-=rhs.x; + y-=rhs.y; + z-=rhs.z; + return *this; + } + + Vec3& operator-=(Real d) + { + x-=d; + y-=d; + z-=d; + return *this; + } //! negateable - Vec3 operator-() const; + Vec3 operator-() const + { + return Vec3(-x, -y, -z); + } + //! multipliable - Vec3& operator*=(Real d); + Vec3& operator*=(Real d) + { + x*=d; + y*=d; + z*=d; + return *this; + } + //! dividable - Vec3& operator/=(Real d); + Vec3& operator/=(Real d) + { + Real one_over_d=Real(1.0)/d; + x*=one_over_d; + y*=one_over_d; + z*=one_over_d; + return *this; + } + + Real* Data() {return &x;} + const Real* Data() const {return &x;} + + Real x; + Real y; + Real z; +}; - Real* Data() {return data_;} - const Real* Data() const {return data_;} +inline Vec3 operator/(Real d, const Vec3& v) +{ + Vec3 nrvo(d/v[0],d/v[1],d/v[2]); + return nrvo; +} -private: - Real data_[3]; +inline std::ostream& operator<<(std::ostream& os, const Vec3& v) +{ + os << "[" << v.x << ", " << v.y << ", " << v.z << "]"; + return os; +} +} - void set(Real x, Real y, Real z); -}; +#include <ost/geom/vec2.hh> +#include <ost/geom/vec4.hh> -DLLEXPORT_OST_GEOM Vec3 operator/(Real, const Vec3& v); +namespace geom { -DLLEXPORT_OST_GEOM std::ostream& operator<<(std::ostream&, const Vec3&); +typedef std::vector<Vec3> Vec3List; +inline Vec3::Vec3(const Vec2& v): x(v.x), y(v.y), z(0.0) { } +inline Vec3::Vec3(const Vec4& v): x(v.x/v.w), y(v.y/v.w), z(v.z/v.w) { } + } // namespace geom diff --git a/modules/geom/src/vec4.cc b/modules/geom/src/vec4.cc deleted file mode 100644 index 8f53869a97983bea6f0ae6adc116327cfe9323bd..0000000000000000000000000000000000000000 --- a/modules/geom/src/vec4.cc +++ /dev/null @@ -1,157 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "vec2.hh" -#include "vec3.hh" -#include "vec4.hh" - -#include "exc.hh" - -namespace geom { - -Vec4::Vec4() -{ - this->set(0.0,0.0,0.0,1.0); -} - -Vec4::Vec4(Real x, Real y, Real z, Real w) -{ - this->set(x,y,z,w); -} - -Vec4::Vec4(const Vec4& v) -{ - this->set(v.data_[0],v.data_[1],v.data_[2],v.data_[3]); -} - -Vec4::Vec4(const Vec2& v) -{ - this->set(v[0],v[1],0.0,1.0); -} - -Vec4::Vec4(const Vec3& v) -{ - this->set(v[0],v[1],v[2],1.0); -} - -Vec4::Vec4(const Real d[4]) -{ - this->set(d[0],d[1],d[2],d[3]); -} - -#if OST_DOUBLE_PRECISION -Vec4::Vec4(const float d[4]) -{ - this->set(d[0],d[1],d[2],d[3]); -} -#endif - -Vec4& Vec4::operator=(const Vec4& v) -{ - if(&v!=this) { - this->set(v[0],v[1],v[2],v[3]); - } - return *this; -} - -bool Vec4::operator==(const Vec4& v) const -{ - return data_[0]==v.data_[0] && - data_[1]==v.data_[1] && - data_[2]==v.data_[2] && - data_[3]==v.data_[3]; -} - -Real& Vec4::operator[](std::size_t indx) -{ - if(indx>3) throw OutOfRangeException(); - return data_[indx]; -} - -const Real& Vec4::operator[](std::size_t indx) const -{ - if(indx>3) throw OutOfRangeException(); - return data_[indx]; -} - -Vec4 Vec4::operator-() const -{ - Vec4 nrvo(-data_[0],-data_[1],-data_[2],-data_[3]); - return nrvo; -} - -Vec4& Vec4::operator+=(const Vec4& rhs) -{ - data_[0]+=rhs[0]; data_[1]+=rhs[1]; data_[2]+=rhs[2]; data_[3]+=rhs[3]; - return *this; -} - -Vec4& Vec4::operator-=(const Vec4& rhs) -{ - data_[0]-=rhs[0]; data_[1]-=rhs[1]; data_[2]-=rhs[2]; data_[3]-=rhs[3]; - return *this; -} - -Vec4& Vec4::operator*=(Real d) -{ - data_[0]*=d; data_[1]*=d; data_[2]*=d; data_[3]*=d; - return *this; -} - -Vec4& Vec4::operator+=(Real d) -{ - data_[0]+=d; data_[1]+=d; data_[2]+=d; data_[3]+=d; - return *this; -} - -Vec4& Vec4::operator-=(Real d) -{ - data_[0]-=d; data_[1]-=d; data_[2]-=d; data_[3]-=d; - return *this; -} - -Vec4& Vec4::operator/=(Real d) -{ - data_[0]/=d; data_[1]/=d; data_[2]/=d; data_[3]/=d; - return *this; -} - -//////////////////////////////////////////// -// private member functions - -void Vec4::set(Real x, Real y, Real z, Real w) -{ - data_[0]=x; data_[1]=y; data_[2]=z; data_[3]=w; -} - -//////////////////////////////////////////// -// functions - -Vec4 operator/(Real d, const Vec4& v) -{ - Vec4 nrvo(d/v[0],d/v[1],d/v[2],d/v[3]); - return nrvo; -} - -std::ostream& operator<<(std::ostream& os, const Vec4& v) -{ - os << "(" << v[0] << "," << v[1] << "," << v[2] << "," << v[3] << ")"; - return os; -} - -} diff --git a/modules/geom/src/vec4.hh b/modules/geom/src/vec4.hh index b114713ddd232a269b892da4edd62044ba202c3a..5442fc2037b6238a8e84858eb814159b9d7f52d3 100644 --- a/modules/geom/src/vec4.hh +++ b/modules/geom/src/vec4.hh @@ -19,6 +19,7 @@ #ifndef GEOM_VEC4_H #define GEOM_VEC4_H +#include <stdexcept> #include <cstddef> // for size_t #include <ostream> @@ -32,12 +33,11 @@ namespace geom { // fw decl class Vec2; class Vec3; -class Mat4; /* Four dimensional, homogeneous vector class, using Real precision. */ -class DLLEXPORT_OST_GEOM Vec4: +class DLLEXPORT Vec4: private boost::equality_comparable<Vec4>, private boost::additive<Vec4>, private boost::additive<Vec4, Real>, @@ -45,13 +45,13 @@ class DLLEXPORT_OST_GEOM Vec4: { public: //! Default initialization, all components are set to zero - Vec4(); + Vec4(): x(0), y(0), z(0), w(0) { } //! Initialization with x, y and z component - Vec4(Real x, Real y, Real z, Real w); + Vec4(Real px, Real py, Real pz, Real pw): x(px), y(py), z(pz), w(pw) { } //! copy ctor - Vec4(const Vec4& v); + Vec4(const Vec4& v): x(v[0]), y(v[1]), z(v[2]), w(v[3]) { } //! (implicit) initialization with 2D vector Vec4(const Vec2& v); @@ -59,50 +59,151 @@ public: //! (implicit) initialization with 3D vector Vec4(const Vec3& v); - //! explicit initialization with an array of doubles - explicit Vec4(const Real[4]); - -#if OST_DOUBLE_PRECISION //! explicit initialization with an array of floats - explicit Vec4(const float[4]); -#endif - + explicit Vec4(const float v[4]): x(v[0]), y(v[1]), z(v[2]), w(v[3]) { } + + //! explicit initialization with an array of doubles + explicit Vec4(const double v[4]): x(v[0]), y(v[1]), z(v[2]), w(v[3]) { } //! assignement op - Vec4& operator=(const Vec4& v); + Vec4& operator=(const Vec4& v) + { + x=v.x; + y=v.y; + z=v.z; + w=v.w; + return *this; + } //! comparable - bool operator==(const Vec4& rhs) const; + bool operator==(const Vec4& rhs) const + { + return x==rhs.x && y==rhs.y && z==rhs.z && w==rhs.w; + } //! element access - Real& operator[](std::size_t indx); + Real& operator[](std::size_t indx) + { + if (indx>3) { + throw std::out_of_range("Index must be in the range [0-3]"); + } + return (&x)[indx]; + } + //! const element access - const Real& operator[](std::size_t indx) const; + const Real& operator[](std::size_t indx) const + { + if (indx>3) { + throw std::out_of_range("Index must be in the range [0-3]"); + } + return (&x)[indx]; + } + //! element access + Real GetX() const { return x; } + Real GetY() const { return y; } + Real GetZ() const { return z; } + Real GetW() const { return w; } + + void SetX(Real v) { x=v; } + void SetY(Real v) { y=v; } + void SetZ(Real v) { z=v; } + void SetW(Real v) { w=v; } //! addable op - Vec4& operator+=(const Vec4& rhs); - Vec4& operator+=(Real d); + Vec4& operator+=(const Vec4& rhs) + { + x+=rhs.x; + y+=rhs.y; + z+=rhs.z; + w+=rhs.w; + return *this; + } + + Vec4& operator+=(Real d) + { + x+=d; + y+=d; + z+=d; + w+=d; + return *this; + } + //! subtractable op - Vec4& operator-=(const Vec4& rhs); - Vec4& operator-=(Real d); + Vec4& operator-=(const Vec4& rhs) + { + x-=rhs.x; + y-=rhs.y; + z-=rhs.z; + w-=rhs.w; + return *this; + } + + Vec4& operator-=(Real d) + { + x-=d; + y-=d; + z-=d; + w-=d; + return *this; + } //! negateable - Vec4 operator-() const; + Vec4 operator-() const + { + return Vec4(-x, -y, -z, -w); + } + //! multipliable - Vec4& operator*=(Real d); + Vec4& operator*=(Real d) + { + x*=d; + y*=d; + z*=d; + w*=d; + return *this; + } + //! dividable - Vec4& operator/=(Real d); + Vec4& operator/=(Real d) + { + Real one_over_d=Real(1.0)/d; + x*=one_over_d; + y*=one_over_d; + z*=one_over_d; + w*=one_over_d; + return *this; + } + + Real* Data() {return &x;} + const Real* Data() const {return &x;} + + Real x; + Real y; + Real z; + Real w; +}; - Real* Data() {return data_;} - const Real* Data() const {return data_;} +inline Vec4 operator/(Real d, const Vec4& v) +{ + Vec4 nrvo(d/v[0],d/v[1],d/v[2],d/v[3]); + return nrvo; +} -private: - Real data_[4]; +inline std::ostream& operator<<(std::ostream& os, const Vec4& v) +{ + os << "(" << v[0] << "," << v[1] << "," << v[2] << "," << v[3] << ")"; + return os; +} +} - void set(Real x, Real y, Real z, Real w); -}; +#include <ost/geom/vec2.hh> +#include <ost/geom/vec3.hh> -DLLEXPORT_OST_GEOM Vec4 operator/(Real, const Vec4& v); +namespace geom { + +//! (implicit) initialization with 2D vector +inline Vec4::Vec4(const Vec2& v): x(v.x), y(v.y), z(0), w(1) { } -DLLEXPORT_OST_GEOM std::ostream& operator<<(std::ostream&, const Vec4&); +//! (implicit) initialization with 3D vector +inline Vec4::Vec4(const Vec3& v): x(v.x), y(v.y), z(v.z), w(1.0) { } } // namespace geom diff --git a/modules/geom/src/vecmat2_op.cc b/modules/geom/src/vecmat2_op.cc index 6bda1a12a5cdbadc6735c8d2f5e665a91bcc1133..c23866293e72f928ed79d7938ad45c22f0b46d19 100644 --- a/modules/geom/src/vecmat2_op.cc +++ b/modules/geom/src/vecmat2_op.cc @@ -26,70 +26,6 @@ #include "mat2.hh" namespace geom { - -Real Length(const Vec2& v) -{ - return std::sqrt(Length2(v)); -} - -Real Length2(const Vec2& v) -{ - return v[0]*v[0]+v[1]*v[1]; -} - -bool Equal(const Vec2& v1, const Vec2& v2, Real ephilon) -{ - return std::fabs(v1[0]-v2[0])<ephilon && - std::fabs(v1[1]-v2[1])<ephilon; -} -bool Equal(const Mat2& m1, const Mat2& m2, Real ephilon) -{ - return std::fabs(m1(0,0)-m2(0,0))<ephilon && - std::fabs(m1(0,1)-m2(0,1))<ephilon && - std::fabs(m1(1,0)-m2(1,0))<ephilon && - std::fabs(m1(1,1)-m2(1,1))<ephilon; -} - -Real Dot(const Vec2& v1, const Vec2& v2) -{ - return v1[0]*v2[0]+v1[1]*v2[1]; -} - -Vec2 Normalize(const Vec2& v) -{ - Real l=Length(v); - if(l==0.0) { - return v; - } - return v/l; -} - - -Vec2 CompMultiply(const Vec2& v1, const Vec2& v2) -{ - Vec2 nrvo(v1[0]*v2[0],v1[1]*v2[1]); - return nrvo; -} - -Vec2 CompDivide(const Vec2& v1, const Vec2& v2) -{ - Vec2 nrvo(v1[0]/v2[0],v1[1]/v2[1]); - return nrvo; -} - -Vec2 operator*(const Vec2& v,const Mat2& m) -{ - Vec2 nrvo(v[0]*m(0,0)+v[1]*m(1,0), - v[0]*m(0,1)+v[1]*m(1,1)); - return nrvo; -} - -Vec2 operator*(const Mat2& m, const Vec2& v) -{ - Vec2 nrvo(v[0]*m(0,0)+v[1]*m(0,1), - v[0]*m(1,0)+v[1]*m(1,1)); - return nrvo; -} // determinant Real Det(const Mat2& m) { @@ -116,14 +52,6 @@ Real Angle(const Vec2& v1, const Vec2& v2) { return std::acos(Dot(v1,v2)/Length(v1)/Length(v2)); } -Mat2 operator*(const Mat2& m1, const Mat2& m2) -{ - Mat2 nrvo(m1(0,0)*m2(0,0)+m1(0,1)*m2(1,0), - m1(0,0)*m2(0,1)+m1(0,1)*m2(1,1), - m1(1,0)*m2(0,0)+m1(1,1)*m2(1,0), - m1(1,0)*m2(0,1)+m1(1,1)*m2(1,1)); - return nrvo; -} Real SignedAngle(const Vec2& v1, const Vec2& v2) { @@ -131,21 +59,7 @@ Real SignedAngle(const Vec2& v1, const Vec2& v2) vc=Cross(Vec3(v1),Vec3(v2)); if(Length(v1)==0.0 || Length(v2)==0.0 || Length(vc)==0.0) return 0.0; - return acos(Dot(v1,v2)/Length(v1)/Length(v2))*vc.GetZ()/std::fabs(vc.GetZ()); -} - -Vec2 Min(const Vec2& v1, const Vec2& v2) -{ - Vec2 nrvo(std::min(v1[0],v2[0]), - std::min(v1[1],v2[1])); - return nrvo; -} - -Vec2 Max(const Vec2& v1, const Vec2& v2) -{ - Vec2 nrvo(std::max(v1[0],v2[0]), - std::max(v1[1],v2[1])); - return nrvo; + return acos(Dot(v1,v2)/Length(v1)/Length(v2))*vc.z/std::fabs(vc.z); } Vec2 Rotate(const Vec2& v,Real ang) diff --git a/modules/geom/src/vecmat2_op.hh b/modules/geom/src/vecmat2_op.hh index cf20513678438ae61f390aea724cd8bcc933c6f2..31ae6430aca27c9ade3a3df4ec3a4786fb0c8cdb 100644 --- a/modules/geom/src/vecmat2_op.hh +++ b/modules/geom/src/vecmat2_op.hh @@ -23,33 +23,71 @@ #include <ost/geom/module_config.hh> +#include <ost/geom/vec2.hh> +#include <ost/geom/mat2.hh> + namespace geom { class Vec2; class Mat2; -//! returns length of vector -Real DLLEXPORT_OST_GEOM Length(const Vec2& v); - //! returns squared length of vector -Real DLLEXPORT_OST_GEOM Length2(const Vec2& v); +inline Real Length2(const Vec2& v) +{ + return v[0]*v[0]+v[1]*v[1]; +} + +//! returns length of vector +inline Real Length(const Vec2& v) +{ + return std::sqrt(Length2(v)); +} //! return true if components differ not more than ephilon -bool DLLEXPORT_OST_GEOM Equal(const Vec2& v1, const Vec2& v2, Real ephilon=EPSILON); +inline bool Equal(const Vec2& v1, const Vec2& v2, Real ephilon=EPSILON) +{ + return std::fabs(v1[0]-v2[0])<ephilon && + std::fabs(v1[1]-v2[1])<ephilon; +} + //! return true if components differ not more than ephilon -bool DLLEXPORT_OST_GEOM Equal(const Mat2& m1, const Mat2& m2, Real ephilon=EPSILON); +inline bool Equal(const Mat2& m1, const Mat2& m2, Real ephilon=EPSILON) +{ + return std::fabs(m1(0,0)-m2(0,0))<ephilon && + std::fabs(m1(0,1)-m2(0,1))<ephilon && + std::fabs(m1(1,0)-m2(1,0))<ephilon && + std::fabs(m1(1,1)-m2(1,1))<ephilon; +} //! vector dot product -Real DLLEXPORT_OST_GEOM Dot(const Vec2& v1, const Vec2& v2); +inline Real Dot(const Vec2& v1, const Vec2& v2) +{ + return v1[0]*v2[0]+v1[1]*v2[1]; +} //! Normalize vector -Vec2 DLLEXPORT_OST_GEOM Normalize(const Vec2& v); +inline Vec2 Normalize(const Vec2& v) +{ + Real l=Length(v); + if(l==0.0) { + return v; + } + return v/l; +} //! multiply each component of v1 with that of v2 -Vec2 DLLEXPORT_OST_GEOM CompMultiply(const Vec2& v1, const Vec2& v2); +inline Vec2 CompMultiply(const Vec2& v1, const Vec2& v2) +{ + Vec2 nrvo(v1[0]*v2[0],v1[1]*v2[1]); + return nrvo; +} //! divide each component of v1 by that of v2 -Vec2 DLLEXPORT_OST_GEOM CompDivide(const Vec2& v1, const Vec2& v2); +inline Vec2 CompDivide(const Vec2& v1, const Vec2& v2) +{ + Vec2 nrvo(v1[0]/v2[0],v1[1]/v2[1]); + return nrvo; +} //! vector matrix multiplication /*! @@ -58,7 +96,12 @@ Vec2 DLLEXPORT_OST_GEOM CompDivide(const Vec2& v1, const Vec2& v2); |a b| (x,y) * |c d| = (ax+cy, bx+dy) */ -Vec2 DLLEXPORT_OST_GEOM operator*(const Vec2& v,const Mat2& m); +inline Vec2 operator*(const Vec2& v,const Mat2& m) +{ + Vec2 nrvo(v[0]*m(0,0)+v[1]*m(1,0), + v[0]*m(0,1)+v[1]*m(1,1)); + return nrvo; +} //! vector matrix multiplication /*! @@ -67,7 +110,12 @@ Vec2 DLLEXPORT_OST_GEOM operator*(const Vec2& v,const Mat2& m); |a b| (x) (ax+by) |c d| * (y) =(cx+dy) */ -Vec2 DLLEXPORT_OST_GEOM operator*(const Mat2& m, const Vec2& v); +inline Vec2 operator*(const Mat2& m, const Vec2& v) +{ + Vec2 nrvo(v[0]*m(0,0)+v[1]*m(0,1), + v[0]*m(1,0)+v[1]*m(1,1)); + return nrvo; +} //! determinant Real DLLEXPORT_OST_GEOM Det(const Mat2& m); @@ -83,13 +131,28 @@ Real DLLEXPORT_OST_GEOM Angle(const Vec2& v1, const Vec2& v2); Real DLLEXPORT_OST_GEOM SignedAngle(const Vec2& v1, const Vec2& v2); //! matrix matrix multiplication -Mat2 DLLEXPORT_OST_GEOM operator*(const Mat2& m1, const Mat2& m2); - -//! returns std::min of each component -Vec2 DLLEXPORT_OST_GEOM Min(const Vec2& v1, const Vec2& v2); - -//! returns std::max of each component -Vec2 DLLEXPORT_OST_GEOM Max(const Vec2& v1, const Vec2& v2); +inline Mat2 operator*(const Mat2& m1, const Mat2& m2) +{ + Mat2 nrvo(m1(0,0)*m2(0,0)+m1(0,1)*m2(1,0), + m1(0,0)*m2(0,1)+m1(0,1)*m2(1,1), + m1(1,0)*m2(0,0)+m1(1,1)*m2(1,0), + m1(1,0)*m2(0,1)+m1(1,1)*m2(1,1)); + return nrvo; +} + +inline Vec2 Min(const Vec2& v1, const Vec2& v2) +{ + Vec2 nrvo(std::min(v1[0],v2[0]), + std::min(v1[1],v2[1])); + return nrvo; +} + +inline Vec2 Max(const Vec2& v1, const Vec2& v2) +{ + Vec2 nrvo(std::max(v1[0],v2[0]), + std::max(v1[1],v2[1])); + return nrvo; +} //! Rotation DLLEXPORT Vec2 Rotate(const Vec2& v,Real ang); diff --git a/modules/geom/src/vecmat3_op.cc b/modules/geom/src/vecmat3_op.cc index 5487c5d57bf406eff9e29232fd8583815b5e14b6..4c6a2732a70ecb9f02b0325300bd534aaa64e7fb 100644 --- a/modules/geom/src/vecmat3_op.cc +++ b/modules/geom/src/vecmat3_op.cc @@ -29,102 +29,6 @@ namespace geom { -Real Length(const Vec3& v) -{ - return std::sqrt(Length2(v)); -} - -Real Length2(const Vec3& v) -{ - return v[0]*v[0]+v[1]*v[1]+v[2]*v[2]; -} - -bool Equal(const Vec3& v1, const Vec3& v2, Real ephilon) -{ - return std::fabs(v1[0]-v2[0])<ephilon && - std::fabs(v1[1]-v2[1])<ephilon && - std::fabs(v1[2]-v2[2])<ephilon; -} - -bool Equal(const Mat3& m1, const Mat3& m2, Real ephilon) -{ - return std::fabs(m1(0,0)-m2(0,0))<ephilon && - std::fabs(m1(0,1)-m2(0,1))<ephilon && - std::fabs(m1(0,2)-m2(0,2))<ephilon && - std::fabs(m1(1,0)-m2(1,0))<ephilon && - std::fabs(m1(1,1)-m2(1,1))<ephilon && - std::fabs(m1(1,2)-m2(1,2))<ephilon && - std::fabs(m1(2,0)-m2(2,0))<ephilon && - std::fabs(m1(2,1)-m2(2,1))<ephilon && - std::fabs(m1(2,2)-m2(2,2))<ephilon; -} - -Real Dot(const Vec3& v1, const Vec3& v2) -{ - return v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]; -} - -Vec3 Cross(const Vec3& v1, const Vec3& v2) -{ - Vec3 nrvo(v1[1]*v2[2]-v2[1]*v1[2], - v1[2]*v2[0]-v2[2]*v1[0], - v1[0]*v2[1]-v2[0]*v1[1]); - return nrvo; -} - -Vec3 Normalize(const Vec3& v) -{ - Real l=Length(v); - if(l==0.0) { - return v; - } - return v/l; -} - -Vec3 CompMultiply(const Vec3& v1, const Vec3& v2) -{ - Vec3 nrvo(v1[0]*v2[0],v1[1]*v2[1],v1[2]*v2[2]); - return nrvo; -} - -Vec3 CompDivide(const Vec3& v1, const Vec3& v2) -{ - Vec3 nrvo(v1[0]/v2[0],v1[1]/v2[1],v1[2]/v2[2]); - return nrvo; -} - -Vec3 operator*(const Vec3& v,const Mat3& m) -{ - Vec3 nrvo(v[0]*m(0,0)+v[1]*m(1,0)+v[2]*m(2,0), - v[0]*m(0,1)+v[1]*m(1,1)+v[2]*m(2,1), - v[0]*m(0,2)+v[1]*m(1,2)+v[2]*m(2,2)); - return nrvo; -} - -Vec3 operator*(const Mat3& m, const Vec3& v) -{ - Vec3 nrvo(v[0]*m(0,0)+v[1]*m(0,1)+v[2]*m(0,2), - v[0]*m(1,0)+v[1]*m(1,1)+v[2]*m(1,2), - v[0]*m(2,0)+v[1]*m(2,1)+v[2]*m(2,2)); - return nrvo; -} - -Mat3 operator*(const Mat3& m1, const Mat3& m2) -{ - Mat3 nrvo(m1(0,0)*m2(0,0)+m1(0,1)*m2(1,0)+m1(0,2)*m2(2,0), - m1(0,0)*m2(0,1)+m1(0,1)*m2(1,1)+m1(0,2)*m2(2,1), - m1(0,0)*m2(0,2)+m1(0,1)*m2(1,2)+m1(0,2)*m2(2,2), - - m1(1,0)*m2(0,0)+m1(1,1)*m2(1,0)+m1(1,2)*m2(2,0), - m1(1,0)*m2(0,1)+m1(1,1)*m2(1,1)+m1(1,2)*m2(2,1), - m1(1,0)*m2(0,2)+m1(1,1)*m2(1,2)+m1(1,2)*m2(2,2), - - m1(2,0)*m2(0,0)+m1(2,1)*m2(1,0)+m1(2,2)*m2(2,0), - m1(2,0)*m2(0,1)+m1(2,1)*m2(1,1)+m1(2,2)*m2(2,1), - m1(2,0)*m2(0,2)+m1(2,1)*m2(1,2)+m1(2,2)*m2(2,2)); - return nrvo; -} - Real Comp(const Mat3& m,unsigned int i_in, unsigned int j_in) { return Minor(m,i_in,j_in)* static_cast<Real>( ((i_in+j_in)&0x1) ? -1 : 1); @@ -191,7 +95,10 @@ Real Det(const Mat3& m) Real Angle(const Vec3& v1, const Vec3& v2) { - return std::acos(Dot(Normalize(v1), Normalize(v2))); + Real dot_product = Dot(Normalize(v1), Normalize(v2)); + dot_product=std::max(static_cast<Real>(-1.0),dot_product); + dot_product=std::min(static_cast<Real>(1.0),dot_product); + return std::acos(dot_product); } Mat3 EulerTransformation(Real theta, Real phi, Real xi) @@ -264,25 +171,4 @@ Mat3 AxisRotation(const Vec3& axis, Real angle) xz-ca*xz-sa*y, yz-ca*yz+sa*x,zz+ca-ca*zz); } -Vec3 Min(const Vec3& v1, const Vec3& v2) -{ - Vec3 nrvo(std::min(v1[0],v2[0]), - std::min(v1[1],v2[1]), - std::min(v1[2],v2[2])); - return nrvo; -} - -Vec3 Max(const Vec3& v1, const Vec3& v2) -{ - Vec3 nrvo(std::max(v1[0],v2[0]), - std::max(v1[1],v2[1]), - std::max(v1[2],v2[2])); - return nrvo; -} - -Real Distance(const Vec3& p1, const Vec3& p2) -{ - return Length(p1-p2); -} - } // ns diff --git a/modules/geom/src/vecmat3_op.hh b/modules/geom/src/vecmat3_op.hh index 43961e798eebaea9a6943e0d59ed4ceb5531b9f6..e4ca5a65b5eb0b2a9d11717fb68fa7a2c2c14a9d 100644 --- a/modules/geom/src/vecmat3_op.hh +++ b/modules/geom/src/vecmat3_op.hh @@ -23,46 +23,121 @@ #include "constants.hh" #include <ost/geom/module_config.hh> +#include <ost/geom/vec3.hh> +#include <ost/geom/mat3.hh> namespace geom { -class Vec3; -class Mat3; - -//! returns length of vector -Real DLLEXPORT_OST_GEOM Length(const Vec3& v); //! returns squared length of vector -Real DLLEXPORT_OST_GEOM Length2(const Vec3& v); +inline Real Length2(const Vec3& v) +{ + return v[0]*v[0]+v[1]*v[1]+v[2]*v[2]; +} -//! return true if components differ not more than ephilon -bool DLLEXPORT_OST_GEOM Equal(const Vec3& v1, const Vec3& v2, Real ephilon=EPSILON); +//! returns length of vector +inline Real Length(const Vec3& v) +{ + return std::sqrt(Length2(v)); +} + +//! return true if components differ not more than epsilon +inline bool Equal(const Vec3& v1, const Vec3& v2, + Real ephilon=EPSILON) +{ + return std::fabs(v1[0]-v2[0])<ephilon && + std::fabs(v1[1]-v2[1])<ephilon && + std::fabs(v1[2]-v2[2])<ephilon; +} //! return true if components differ not more than ephilon -bool DLLEXPORT_OST_GEOM Equal(const Mat3& m1, const Mat3& m2, Real ephilon=EPSILON); +inline bool Equal(const Mat3& m1, const Mat3& m2, + Real ephilon=EPSILON) +{ + return std::fabs(m1(0,0)-m2(0,0))<ephilon && + std::fabs(m1(0,1)-m2(0,1))<ephilon && + std::fabs(m1(0,2)-m2(0,2))<ephilon && + std::fabs(m1(1,0)-m2(1,0))<ephilon && + std::fabs(m1(1,1)-m2(1,1))<ephilon && + std::fabs(m1(1,2)-m2(1,2))<ephilon && + std::fabs(m1(2,0)-m2(2,0))<ephilon && + std::fabs(m1(2,1)-m2(2,1))<ephilon && + std::fabs(m1(2,2)-m2(2,2))<ephilon; +} //! vector dot product -Real DLLEXPORT_OST_GEOM Dot(const Vec3& v1, const Vec3& v2); +inline Real Dot(const Vec3& v1, const Vec3& v2) +{ + return v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]; +} //! Normalize -Vec3 DLLEXPORT_OST_GEOM Normalize(const Vec3& v); +inline Vec3 Normalize(const Vec3& v) +{ + Real l=Length(v); + if(l==0.0) { + return v; + } + return v/l; +} //! vector cross product -Vec3 DLLEXPORT_OST_GEOM Cross(const Vec3& v1, const Vec3& v2); +inline Vec3 Cross(const Vec3& v1, const Vec3& v2) +{ + Vec3 nrvo(v1[1]*v2[2]-v2[1]*v1[2], + v1[2]*v2[0]-v2[2]*v1[0], + v1[0]*v2[1]-v2[0]*v1[1]); + return nrvo; +} //! multiply each component of v1 with that of v2 -Vec3 DLLEXPORT_OST_GEOM CompMultiply(const Vec3& v1, const Vec3& v2); +inline Vec3 CompMultiply(const Vec3& v1, const Vec3& v2) +{ + Vec3 nrvo(v1[0]*v2[0],v1[1]*v2[1],v1[2]*v2[2]); + return nrvo; +} //! divide each component of v1 by that of v2 -Vec3 DLLEXPORT_OST_GEOM CompDivide(const Vec3& v1, const Vec3& v2); +inline Vec3 CompDivide(const Vec3& v1, const Vec3& v2) +{ + Vec3 nrvo(v1[0]/v2[0],v1[1]/v2[1],v1[2]/v2[2]); + return nrvo; +} //! vector matrix multiplication -Vec3 DLLEXPORT_OST_GEOM operator*(const Vec3& v,const Mat3& m); +inline Vec3 operator*(const Vec3& v,const Mat3& m) +{ + Vec3 nrvo(v[0]*m(0,0)+v[1]*m(1,0)+v[2]*m(2,0), + v[0]*m(0,1)+v[1]*m(1,1)+v[2]*m(2,1), + v[0]*m(0,2)+v[1]*m(1,2)+v[2]*m(2,2)); + return nrvo; +} + //! vector matrix multiplication -Vec3 DLLEXPORT_OST_GEOM operator*(const Mat3& m, const Vec3& v); +inline Vec3 operator*(const Mat3& m, const Vec3& v) +{ + Vec3 nrvo(v[0]*m(0,0)+v[1]*m(0,1)+v[2]*m(0,2), + v[0]*m(1,0)+v[1]*m(1,1)+v[2]*m(1,2), + v[0]*m(2,0)+v[1]*m(2,1)+v[2]*m(2,2)); + return nrvo; +} //! matrix matrix multiplication -Mat3 DLLEXPORT_OST_GEOM operator*(const Mat3& m1, const Mat3& m2); +inline Mat3 operator*(const Mat3& m1, const Mat3& m2) +{ + Mat3 nrvo(m1(0,0)*m2(0,0)+m1(0,1)*m2(1,0)+m1(0,2)*m2(2,0), + m1(0,0)*m2(0,1)+m1(0,1)*m2(1,1)+m1(0,2)*m2(2,1), + m1(0,0)*m2(0,2)+m1(0,1)*m2(1,2)+m1(0,2)*m2(2,2), + + m1(1,0)*m2(0,0)+m1(1,1)*m2(1,0)+m1(1,2)*m2(2,0), + m1(1,0)*m2(0,1)+m1(1,1)*m2(1,1)+m1(1,2)*m2(2,1), + m1(1,0)*m2(0,2)+m1(1,1)*m2(1,2)+m1(1,2)*m2(2,2), + + m1(2,0)*m2(0,0)+m1(2,1)*m2(1,0)+m1(2,2)*m2(2,0), + m1(2,0)*m2(0,1)+m1(2,1)*m2(1,1)+m1(2,2)*m2(2,1), + m1(2,0)*m2(0,2)+m1(2,1)*m2(1,2)+m1(2,2)*m2(2,2)); + return nrvo; +} Mat3 DLLEXPORT_OST_GEOM Invert(const Mat3& m); Mat3 DLLEXPORT_OST_GEOM Transpose(const Mat3& m); @@ -89,13 +164,28 @@ Mat3 DLLEXPORT_OST_GEOM AxisRotation(const Vec3& axis, Real angle); Vec3 DLLEXPORT_OST_GEOM OrthogonalVector(const Vec3& axis); //! returns std::min of each component -Vec3 DLLEXPORT_OST_GEOM Min(const Vec3& v1, const Vec3& v2); +inline Vec3 Min(const Vec3& v1, const Vec3& v2) +{ + Vec3 nrvo(std::min(v1[0],v2[0]), + std::min(v1[1],v2[1]), + std::min(v1[2],v2[2])); + return nrvo; +} //! returns std::max of each component -Vec3 DLLEXPORT_OST_GEOM Max(const Vec3& v1, const Vec3& v2); +inline Vec3 Max(const Vec3& v1, const Vec3& v2) +{ + Vec3 nrvo(std::max(v1[0],v2[0]), + std::max(v1[1],v2[1]), + std::max(v1[2],v2[2])); + return nrvo; +} //! returns the distance between two points -Real DLLEXPORT_OST_GEOM Distance(const Vec3& p1, const Vec3& p2); +inline Real Distance(const Vec3& p1, const Vec3& p2) +{ + return Length(p1-p2); +} } // ns diff --git a/modules/geom/src/vecmat4_op.cc b/modules/geom/src/vecmat4_op.cc index a677c788229be3dd48834acd0ebd2e42dcc401bd..4567575413b9950f4e67d185018a6561b0fbaf56 100644 --- a/modules/geom/src/vecmat4_op.cc +++ b/modules/geom/src/vecmat4_op.cc @@ -23,93 +23,9 @@ #include "vecmat3_op.hh" #include "exc.hh" -#include "vec4.hh" -#include "mat4.hh" -#include "mat3.hh" -namespace geom { - -Real Length(const Vec4& v) -{ - return std::sqrt(Length2(v)); -} - -Real Length2(const Vec4& v) -{ - return v[0]*v[0]+v[1]*v[1]+v[2]*v[2]+v[3]*v[3]; -} - -bool Equal(const Vec4& v1, const Vec4& v2, Real epsilon) -{ - return std::fabs(v1[0]-v2[0])<epsilon && - std::fabs(v1[1]-v2[1])<epsilon && - std::fabs(v1[2]-v2[2])<epsilon && - std::fabs(v1[3]-v2[3])<epsilon; -} - -bool Equal(const Mat4& m1, const Mat4& m2, Real epsilon) -{ - return std::fabs(m1(0,0)-m2(0,0))<epsilon && - std::fabs(m1(0,1)-m2(0,1))<epsilon && - std::fabs(m1(0,2)-m2(0,2))<epsilon && - std::fabs(m1(0,3)-m2(0,3))<epsilon && - std::fabs(m1(1,0)-m2(1,0))<epsilon && - std::fabs(m1(1,1)-m2(1,1))<epsilon && - std::fabs(m1(1,2)-m2(1,2))<epsilon && - std::fabs(m1(1,3)-m2(1,3))<epsilon && - std::fabs(m1(2,0)-m2(2,0))<epsilon && - std::fabs(m1(2,1)-m2(2,1))<epsilon && - std::fabs(m1(2,2)-m2(2,2))<epsilon && - std::fabs(m1(2,3)-m2(2,3))<epsilon && - std::fabs(m1(3,0)-m2(3,0))<epsilon && - std::fabs(m1(3,1)-m2(3,1))<epsilon && - std::fabs(m1(3,2)-m2(3,2))<epsilon && - std::fabs(m1(3,3)-m2(3,3))<epsilon; -} - -Real Dot(const Vec4& v1, const Vec4& v2) -{ - return v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]+v1[3]*v2[3]; -} - -Vec4 Normalize(const Vec4& v) -{ - Real l=Length(v); - if(l==0.0) { - return v; - } - return v/l; -} - -Vec4 CompMultiply(const Vec4& v1, const Vec4& v2) -{ - Vec4 nrvo(v1[0]*v2[0],v1[1]*v2[1],v1[2]*v2[2],v1[3]*v2[3]); - return nrvo; -} - -Vec4 CompDivide(const Vec4& v1, const Vec4& v2) -{ - Vec4 nrvo(v1[0]/v2[0],v1[1]/v2[1],v1[2]/v2[2],v1[3]/v2[3]); - return nrvo; -} -Vec4 operator*(const Vec4& v,const Mat4& m) -{ - Vec4 nrvo(v[0]*m(0,0)+v[1]*m(1,0)+v[2]*m(2,0)+v[3]*m(3,0), - v[0]*m(0,1)+v[1]*m(1,1)+v[2]*m(2,1)+v[3]*m(3,1), - v[0]*m(0,2)+v[1]*m(1,2)+v[2]*m(2,2)+v[3]*m(3,2), - v[0]*m(0,3)+v[1]*m(1,3)+v[2]*m(2,3)+v[3]*m(3,3)); - return nrvo; -} - -Vec4 operator*(const Mat4& m, const Vec4& v) -{ - Vec4 nrvo(v[0]*m(0,0)+v[1]*m(0,1)+v[2]*m(0,2)+v[3]*m(0,3), - v[0]*m(1,0)+v[1]*m(1,1)+v[2]*m(1,2)+v[3]*m(1,3), - v[0]*m(2,0)+v[1]*m(2,1)+v[2]*m(2,2)+v[3]*m(2,3), - v[0]*m(3,0)+v[1]*m(3,1)+v[2]*m(3,2)+v[3]*m(3,3)); - return nrvo; -} +namespace geom { Real Comp(const Mat4& m, unsigned int i_in, unsigned int j_in) { @@ -158,7 +74,6 @@ Mat4 Transpose(const Mat4& m) return r; } -#if 1 Mat4 Invert(const Mat4& in) { Mat4 m(in); @@ -221,22 +136,6 @@ Mat4 Invert(const Mat4& in) return m; } -#else - -Mat4 Invert(const Mat4& m) -{ - Mat4 r; - Real d=Det(m); - for (int i=0;i<4;i++){ - for (int j=0;j<4;j++){ - r(j,i)=Comp(m,i,j)/d; - } - } - return r; -} - -#endif - Mat4 operator*(const Mat4& m1, const Mat4& m2) { Mat4 nrvo(m1(0,0)*m2(0,0)+m1(0,1)*m2(1,0)+m1(0,2)*m2(2,0)+m1(0,3)*m2(3,0), @@ -267,22 +166,4 @@ Real Angle(const Vec4& v1, const Vec4& v2) return std::acos(t); } -Vec4 Min(const Vec4& v1, const Vec4& v2) -{ - Vec4 nrvo(std::min(v1[0],v2[0]), - std::min(v1[1],v2[1]), - std::min(v1[2],v2[2]), - std::min(v1[3],v2[3])); - return nrvo; -} - -Vec4 Max(const Vec4& v1, const Vec4& v2) -{ - Vec4 nrvo(std::max(v1[0],v2[0]), - std::max(v1[1],v2[1]), - std::max(v1[2],v2[2]), - std::max(v1[3],v2[3])); - return nrvo; -} - } // ns diff --git a/modules/geom/src/vecmat4_op.hh b/modules/geom/src/vecmat4_op.hh index 501a09ebbe0f2684e383c2c5d8c675504b085629..7f7d6a2a95909da8dae244be343366106b7e5d8d 100644 --- a/modules/geom/src/vecmat4_op.hh +++ b/modules/geom/src/vecmat4_op.hh @@ -22,39 +22,104 @@ #include "constants.hh" #include <ost/geom/module_config.hh> +#include <ost/geom/vec4.hh> +#include <ost/geom/vec3.hh> +#include <ost/geom/mat4.hh> +#include <ost/geom/mat3.hh> namespace geom { -class Vec4; -class Mat4; - -//! returns length of vector -Real DLLEXPORT_OST_GEOM Length(const Vec4& v); //! returns squared length of vector -Real DLLEXPORT_OST_GEOM Length2(const Vec4& v); +inline Real Length2(const Vec4& v) +{ + return v[0]*v[0]+v[1]*v[1]+v[2]*v[2]+v[3]*v[3]; +} + +//! returns length of vector +inline Real Length(const Vec4& v) +{ + return std::sqrt(Length2(v)); +} //! return true if components differ not more than ephilon -bool DLLEXPORT_OST_GEOM Equal(const Vec4& v1, const Vec4& v2, Real ephilon=EPSILON); +inline bool Equal(const Vec4& v1, const Vec4& v2, Real epsilon=EPSILON) +{ + return std::fabs(v1[0]-v2[0])<epsilon && + std::fabs(v1[1]-v2[1])<epsilon && + std::fabs(v1[2]-v2[2])<epsilon && + std::fabs(v1[3]-v2[3])<epsilon; +} //! return true if components differ not more than ephilon -bool DLLEXPORT_OST_GEOM Equal(const Mat4& m1, const Mat4& v2, Real ephilon=EPSILON); +inline bool Equal(const Mat4& m1, const Mat4& m2, Real epsilon=EPSILON) +{ + return std::fabs(m1(0,0)-m2(0,0))<epsilon && + std::fabs(m1(0,1)-m2(0,1))<epsilon && + std::fabs(m1(0,2)-m2(0,2))<epsilon && + std::fabs(m1(0,3)-m2(0,3))<epsilon && + std::fabs(m1(1,0)-m2(1,0))<epsilon && + std::fabs(m1(1,1)-m2(1,1))<epsilon && + std::fabs(m1(1,2)-m2(1,2))<epsilon && + std::fabs(m1(1,3)-m2(1,3))<epsilon && + std::fabs(m1(2,0)-m2(2,0))<epsilon && + std::fabs(m1(2,1)-m2(2,1))<epsilon && + std::fabs(m1(2,2)-m2(2,2))<epsilon && + std::fabs(m1(2,3)-m2(2,3))<epsilon && + std::fabs(m1(3,0)-m2(3,0))<epsilon && + std::fabs(m1(3,1)-m2(3,1))<epsilon && + std::fabs(m1(3,2)-m2(3,2))<epsilon && + std::fabs(m1(3,3)-m2(3,3))<epsilon; +} //! vector dot product -Real DLLEXPORT_OST_GEOM Dot(const Vec4& v1, const Vec4& v2); - -Vec4 DLLEXPORT_OST_GEOM Normalize(const Vec4& v); +inline Real Dot(const Vec4& v1, const Vec4& v2) +{ + return v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]+v1[3]*v2[3]; +} + +inline Vec4 Normalize(const Vec4& v) +{ + Real l=Length(v); + if(l==0.0) { + return v; + } + return v/l; +} //! multiply each component of v1 with that of v2 -Vec4 DLLEXPORT_OST_GEOM CompMultiply(const Vec4& v1, const Vec4& v2); +inline Vec4 CompMultiply(const Vec4& v1, const Vec4& v2) +{ + Vec4 nrvo(v1[0]*v2[0],v1[1]*v2[1],v1[2]*v2[2],v1[3]*v2[3]); + return nrvo; +} //! divide each component of v1 by that of v2 -Vec4 DLLEXPORT_OST_GEOM CompDivide(const Vec4& v1, const Vec4& v2); +inline Vec4 CompDivide(const Vec4& v1, const Vec4& v2) +{ + Vec4 nrvo(v1[0]/v2[0],v1[1]/v2[1],v1[2]/v2[2],v1[3]/v2[3]); + return nrvo; +} //! vector matrix multiplication -Vec4 DLLEXPORT_OST_GEOM operator*(const Vec4& v,const Mat4& m); +inline Vec4 operator*(const Vec4& v,const Mat4& m) +{ + Vec4 nrvo(v[0]*m(0,0)+v[1]*m(1,0)+v[2]*m(2,0)+v[3]*m(3,0), + v[0]*m(0,1)+v[1]*m(1,1)+v[2]*m(2,1)+v[3]*m(3,1), + v[0]*m(0,2)+v[1]*m(1,2)+v[2]*m(2,2)+v[3]*m(3,2), + v[0]*m(0,3)+v[1]*m(1,3)+v[2]*m(2,3)+v[3]*m(3,3)); + return nrvo; +} + //! vector matrix multiplication -Vec4 DLLEXPORT_OST_GEOM operator*(const Mat4& m, const Vec4& v); +inline Vec4 operator*(const Mat4& m, const Vec4& v) +{ + Vec4 nrvo(v[0]*m(0,0)+v[1]*m(0,1)+v[2]*m(0,2)+v[3]*m(0,3), + v[0]*m(1,0)+v[1]*m(1,1)+v[2]*m(1,2)+v[3]*m(1,3), + v[0]*m(2,0)+v[1]*m(2,1)+v[2]*m(2,2)+v[3]*m(2,3), + v[0]*m(3,0)+v[1]*m(3,1)+v[2]*m(3,2)+v[3]*m(3,3)); + return nrvo; +} // algebraic complement Real DLLEXPORT_OST_GEOM Comp(const Mat4& m, unsigned int i, unsigned int j); @@ -69,10 +134,24 @@ Mat4 DLLEXPORT_OST_GEOM operator*(const Mat4& m1, const Mat4& m2); Real DLLEXPORT_OST_GEOM Angle(const Vec4& v1, const Vec4& v2); //! returns std::min of each component -Vec4 DLLEXPORT_OST_GEOM Min(const Vec4& v1, const Vec4& v2); +inline Vec4 Min(const Vec4& v1, const Vec4& v2) +{ + Vec4 nrvo(std::min(v1[0],v2[0]), + std::min(v1[1],v2[1]), + std::min(v1[2],v2[2]), + std::min(v1[3],v2[3])); + return nrvo; +} //! returns std::max of each component -Vec4 DLLEXPORT_OST_GEOM Max(const Vec4& v1, const Vec4& v2); +inline Vec4 Max(const Vec4& v1, const Vec4& v2) +{ + Vec4 nrvo(std::max(v1[0],v2[0]), + std::max(v1[1],v2[1]), + std::max(v1[2],v2[2]), + std::max(v1[3],v2[3])); + return nrvo; +} } // ns diff --git a/modules/gfx/doc/cpk.png b/modules/gfx/doc/cpk.png new file mode 100644 index 0000000000000000000000000000000000000000..38808e16817504447d7b260ff14f208cb8de30fe Binary files /dev/null and b/modules/gfx/doc/cpk.png differ diff --git a/modules/gfx/doc/custom.png b/modules/gfx/doc/custom.png new file mode 100644 index 0000000000000000000000000000000000000000..812c317d520a0e9fb66342050b77b74748c42cd3 Binary files /dev/null and b/modules/gfx/doc/custom.png differ diff --git a/modules/gfx/doc/entity.rst b/modules/gfx/doc/entity.rst new file mode 100644 index 0000000000000000000000000000000000000000..42fa5e38b16fe4c2ba300ed85c0aafcb08787810 --- /dev/null +++ b/modules/gfx/doc/entity.rst @@ -0,0 +1,214 @@ +The Graphical Entity +================================================================================ + +.. currentmodule:: ost.gfx + +.. note:: + + This document describes the API of the :class:`Entity` and related classes. + For an overview of the graphical entity, see :doc:`../intro-03`. + +.. _render-mode: + +Render Modes +-------------------------------------------------------------------------------- + +The entity supports different render modes. They are depicted in the following +images together with the options they support. To change the render mode of the +full entity or part of the entity, use the :meth:`Entity.SetRenderMode` method. + +Render Modes at the Connectivity Level +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. data:: SIMPLE + + .. image:: simple.png + + Renders bonds as lines and single atoms as crosses. + +.. data:: CPK + + .. image:: cpk.png + + + Renders atoms as spheres with radii proportional to their van-der-Waals + radius. + +.. data:: CUSTOM + + .. image:: custom.png + +Render Modes at the Trace Level +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. data:: TUBE + + .. image:: tube.png + + Renders a smooth backbone trace with circular profiles. + +.. data:: SLINE + + .. image:: sline.png + + Renders a smooth backbone trace with lines. + +.. data:: TRACE + + .. image:: trace.png + + Renders the Calpha atoms connected by tubes. + +.. data:: LINE_TRACE + + .. image:: line_trace.png + + Renders the Calpha connected bys lines. + +.. data:: HSC + + .. image:: hsc.png + + Renders a Helix/Strand/Coil Cartoon. + + +.. _render-options: + +Render Options +-------------------------------------------------------------------------------- + + +**line_width** + + The line width. Defaults to 1.0 + + :type: float + +**aa_lines** + + Controls whether antialiased lines are enabled. Only available when + compiled with shaders. Defaults to false. + + :type: bool + +**draw_bond_order** + + Controls whether double/triple bonds are drawn as multiple lines. This + requires that the bond order information has been assigned. As of now, + only the :class:`~ost.conop.RuleBasedBuilder` assigns this information. + + Defaults to off. + + :type: bool + + + + +**bond_order_distance** + + The distance between the lines depicting higher order bonds. + + +Loading and Displaying an Entity +-------------------------------------------------------------------------------- + +This code examples shows how to load a structure and display it on the screen. It also shows how to programmatically combine different render modes in one graphical entity. + +.. literalinclude:: /../../examples/demos/load_and_display.py + + +Entity API Reference +-------------------------------------------------------------------------------- + +.. class:: Entity(name, entity) + Entity(name, render_mode, entity) + + Graphical representation of entitites. + + + .. attribute:: name + + The name of the entity. Read-only. Also available as :meth:`GetName` + + :type: str + + .. attribute:: selection + + The selection of the entity is rendered with a green halo. + + :type: :class:`~ost.mol.EntityView` + + .. attribute:: center + + The geometric center of the graphical entity. Read-only. + + :type: :class:`~ost.geom.Vec3` + + :param name: Name of the entity + :type name: str + :param render_mode: One of the :ref:`render-mode`. + Defaults to :obj:`SIMPLE`. + :param entity: The entity. Only atoms and bonds that part part of the entity + view (or handle) are rendered. + :type entity: :class:`~ost.mol.EntityView`, or :class:`~ost.mol.EntityHandle` + + .. method:: SetRenderMode(render_mode) + SetRenderMode(render_mode, view, keep=False) + + Changes the render mode of the graphical entity. The first signature changes + the render mode of all atoms and bonds, whereas the second only changes the + display of atoms/bonds that are part of the view. If `keep` is set to false, + the atoms and bonds that are part of the view will only be displayed in the + new render mode, if keep is set to true, the atoms and bonds will be + rendered with the new render mode in addition to whatever render mode they + were rendered previously. + + :param render_mode: One of the :ref:`render-mode`. + Defaults to :obj:`SIMPLE`. + :param view: A valid entity view + :type view: :class:`~ost.mol.EntityView` + + .. method:: SetColor(color, selection='') + + Sets the atoms matching the selection predicates to `color`. + + :param color: The new color + :type color: :class:`Color` + :param selection: A valid :doc:`query <../mol/base/query>` + :type selection: str + + .. method:: ColorByElement() + + Apply `CPK coloring <http://en.wikipedia.org/wiki/CPK_coloring>`_ coloring + to atoms. This will color the carbon atoms in white, nitrogen in blue, + oxygen in red, phosphorous in pink and sulfur in yellow. + + + .. method:: ColorBy(prop, color1, color2, min, max, hint='U') + ColorBy(prop, color1, color2, hint='U') + ColorBy(prop, gradient, min, max, hint='U') + ColorBy(prop, gradient, hint='U') + + Colors the entity by mapping a numeric property to a color. This property + can be a built-in a property such as atomic b-factor, charge, residue number + or be a :doc:`custom property <../base/generic>` assigned by the user or an + algorithm and be defined at any level (chain, residue, atom). The naming of + the built-in properties is identical to the properties available in + :doc:`query language <../mol/base/query>`. + + In case a generic property is undefined for a certain element, the property + the value of min is used for that element. + + :param prop: The name of the numeric property + :type prop: str + :param color1: Color corresponding to min value + :type color1: :class:`Color` + :param color2: Color corresponding to max value + :type color2: :class:`Color` + :param gradient: The gradient to be used + :type gradient: :class:`Gradient` + :type min: Value mapped to `color1`, or the color at 0.0 in the gradient + :type max: Value mapped to `color2` or the color at 1.0 in the gradient + :param hint: When `prop` refers to a generic property, hint must be set to + the hierarchy level at which the property is defined. + :type hint: str diff --git a/modules/gfx/doc/gfx.rst b/modules/gfx/doc/gfx.rst new file mode 100644 index 0000000000000000000000000000000000000000..de9cf3ddbcf1170f9cfac59f7377ec284fdf3b5a --- /dev/null +++ b/modules/gfx/doc/gfx.rst @@ -0,0 +1,13 @@ +:mod:`~ost.gfx` - Realtime 3D Rendering +================================================================================ + +For a introduction to the :mod:`~ost.gfx` module, please have a look at the :doc:`../intro-03`. + +.. module:: ost.gfx + :synopsis: Realtime 3D Rendering + +.. toctree:: + :maxdepth: 2 + + scene + entity \ No newline at end of file diff --git a/modules/gfx/doc/hsc.png b/modules/gfx/doc/hsc.png new file mode 100644 index 0000000000000000000000000000000000000000..62ec72c8a392ad715481a64e70f4397e0be24e46 Binary files /dev/null and b/modules/gfx/doc/hsc.png differ diff --git a/modules/gfx/doc/line_trace.png b/modules/gfx/doc/line_trace.png new file mode 100644 index 0000000000000000000000000000000000000000..73e48987c6593ba9b43b9faaa99c09322728924a Binary files /dev/null and b/modules/gfx/doc/line_trace.png differ diff --git a/modules/gfx/doc/scene.rst b/modules/gfx/doc/scene.rst new file mode 100644 index 0000000000000000000000000000000000000000..d1eb368c3a75b5b6fdd45ad80d28e5636582b7bf --- /dev/null +++ b/modules/gfx/doc/scene.rst @@ -0,0 +1,350 @@ +The Scene +================================================================================ + +.. currentmodule:: ost.gfx + +The scene is the central registry for graphical objects and manages rendering +parameters. Among other parameters, it is used to setup the lighting, fog, +background color and the position and viewing direction of the user. The scene +is a singleton, meaning that there is only one scene available. The instance can +be accessed via :func:`gfx.Scene`. Because the scene is so important and +commonly used, the scene is also available as the `scene` variable in the +interactive python shell as well as from scripts. + +Manipulating the Camera +-------------------------------------------------------------------------------- + +The users position and orientation in the scene is specified by the camera. The camera is represented by a center, a rotation and an offset from the center. These 3 attributes can be set independently. Manipulation of the camera is done by assigning a new :class:`~ost.mol.Transform` to the :attr:`Scene.transform` attribute. + +.. _camera-orbit: + +Orbiting around a Point +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following code example will let the camera orbit around the center of the camera. + +.. code-block:: python + + # tweakable parameters: + # - axis of rotation + # - angular step size. Making it bigger speeds up the rotation + # - number of frames + axis=geom.Vec3(0, 1, 0) + step_size=0.01 + num_frames=100 + + angle=0.0 + for i in range(num_frames): + angle+=step_size + if angle>math.pi*2: + angle-=math.pi*2 + camera=scene.transform + rot=geom.AxisRotation(axis, angle) + camera.SetRot(rot) + camera.SetTrans(geom.Vec3(25.0, 0.0, -50)) + scene.transform=camera + scene.Export('frame-%03d.png' % i, 500, 500) + +It is interesting to note that the offset from center (`trans`) is given in rotated coordinates. Transforming along z shifts the camera along the viewing direction. Setting x and y to non-zero causes the center of the camera not to be projected onto the center of the screen any longer. For example, setting the value `trans` to `geom.Vec3(50, 0, 0)` gives a viewing direction perpendicular to the vector from the camera position to the center. + +.. class:: Scene + + .. attribute:: background + + The background color of the scene. By default the background color is + transparent black. + + :type: :class:`Color` + + .. attribute:: center + + The center of the scene. Read-write. Changing the center affects the + orientation of the camera, but not its position. To change the camera + position, use :attr:`transform`. Also available as + :meth:`GetCenter`/:meth:`SetCenter`. + + See also :meth:`CenterOn`. + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: transform + + The camera transformation. Read-write. For an example usage see + :ref:`camera-orbit`. Also available as + :meth:`GetTransform`/:meth:`SetTransform`. + + :type: :class:`~ost.mol.Transform` + + + .. attribute:: fov + + The field of view angle (in degrees) in vertical direction. Read-write. + Also available as :meth:`GetFOV`/:meth:`SetFOV`. + + :type: float. + + .. method:: Add(obj[, replace_existing]) + + Add an object to the root node of the scene. This means that + + * The object will be rendered on the screen. + * The object's bounding box affects the slabbing operations. + + :param obj: The object to be added. + :type obj: :class:`GfxNode` + :param replace_existing: If true, existing objects of the same name are + silently replaced. If false (the default), trying to add an object with + an existing name will raise a RuntimeError. + + :type replace_existing: bool + + + .. method:: AttachObserver(obs) + + Attach a :class:`scene observer <SceneObserver>`. The new scene observer + will get notified when the scene's state changes or objects get updated. + + :param obs: + :type obs: :class:`SceneObserver` + + + .. method:: AutoAutoslab(flag) + + Enable/disable autoslabbing. If autoslabbing is enabled, the near and far + clipping planes will automatically be adjusted to contain all the objects in + the scene. This calculation is done before every redraw. Note that, + autoslabbing is not rotation invariant. See :meth:`AutoslabMax` for a + rotation-invariant version. + + :param flag: + :type flag: bool + + + .. method:: Autoslab(fast[, force]) + + .. note:: + + This method looks stale. Remove it? + + :param fast: + :type fast: bool + :param force: + :type force: bool + + .. method:: AutoslabMax() + + Adjust the near and far clipping planes in such a way that they contain the + bounding sphere of all the objects in the scene. In constrast to AutoSlab() + the near/far clipping planes calculated with :meth:`AutoslabMax` are + invariant to rotation. + + .. method:: CenterOn(obj) + + Center the camera on the center of the obj. This does not update offset and + rotation of the camera. However, since the offset and rotation are applied + after the centering, the position and viewing direction are affected by the + change of center. + + :param obj: Object, or name of the object + :type obj: str, or :class:`GfxNode` + + + .. method:: Export(filename, width, height[, transparent]) + Export(filename[, transparent]) + + Renders (exports) the scene into a PNG image. + + :param filename: The output filename + :type filename: str + :param width: The width of the image. Defaults to the width of the + OpenGL window + :type width: int + :param height: The height of the image. Defaults to the height of the OpenGL + window. + :type height: int + :param transparent: If true, and the background color of the scene is + transparent, will produce a transparent image. If false, the alpha + component will be set to opaque. + :type transparent: bool + + .. method:: ExportPov(filename[, working_dir]) + + Export the scene to POV-Ray format. The export will generate two files, one + containing a general description of the scene, including camera position and + materials and a second containing the geometric description of the objects. + The first file will be named `filename.pov`, the second `filename.inc`. + + The files will be placed in working directory + + .. note:: + + This method is highly experimental and does not work for more complex + objects. Stay tuned for updates. + + + :param filename: The base filename without file extension. `.pov` and `.inc` + will automatically be appended to te filename. + :type filename: str + :param working_dir: The working directory. Defaults to the current + directory. + :type working_dir: str + + + .. method:: GetFOV() + + Get the field of view angle in the y direction (in degrees). + + :rtype: float + + .. method:: GetRTC() + + .. note:: + + Looks stale. Remove it? + + :rtype: :class:`~ost.geom.Mat4` + + .. method:: GetTransform() + + See :attr:`transform` + + .. method:: Remove(obj) + + Remove the given object from the scene. + + :param obj: + :type obj: :class:`GfxNode` + + .. method:: RemoveAll() + + Remove all objects from the scene + + + .. method:: RenderGL() + + Renders the scene. + + .. method:: RequestRedraw() + + Request a redraw of the scene. + + + .. method:: Resize(width, height) + + Resize the OpenGL context. + + :param width: The new width + :type width: int + :param height: The new height + :type height: int + + .. method:: SetBackground(color) + + See :attr:`background` + + :param color: + :type color: :class:`Color` + + .. method:: SetBlur(arg2) + + :param arg2: + :type arg2: int + + .. method:: SetFOV(angle) + + See :attr:`fov`. + + :param angle: + :type angle: float + + .. method:: SetFog(arg2) + + :param arg2: + :type arg2: bool + + .. method:: SetFogColor(arg2) + + :param arg2: + :type arg2: :class:`Color` + + .. method:: SetFogOffsets(arg2, arg3) + + :param arg2: + :type arg2: float + :param arg3: + :type arg3: float + + .. method:: SetLightDir(arg2) + + :param arg2: + :type arg2: :class:`~ost.geom.Vec3` + + .. method:: SetLightProp(arg2, arg3, arg4) + + :param arg2: + :type arg2: :class:`Color` + :param arg3: + :type arg3: :class:`Color` + :param arg4: + :type arg4: :class:`Color` + + .. method:: SetNearFar(near, far) + + Manually sets the near and far clipping planes to the given values. Before + using this method, make sure :meth:`AutoAutoslab` is disabled. + + :param near: + :type near: float + :param far: + :type far: float + + .. method:: UnProject(point[, ignore_vp]) + + Apply the inverse of the current camera and perspective transformation. This + essentially gives the screen (or normalized view coordinates) of a point in + global coordinates. The inverse operations is available as :meth:`Project`. + + :param point: The point in global coordinates. + :type point: :class:`~ost.geom.Vec3` + :param ignore_vp: If set to false (the default), also performs the viewport + transformation. Points inside the viewing frustum will have x and y + coordinates in the range [0, width)x[0, height]. If true, the returned + coordinates will be between [-1,1]x[-1,1]. + :type ignore_vp: bool + :rtype: :class:`~ost.geom.Vec3` + + .. method:: SetRTC(arg2) + + :param arg2: + :type arg2: :class:`~ost.geom.Mat4` + + .. method:: SetShadow(arg2) + + :param arg2: + :type arg2: bool + + .. method:: SetShadowQuality(arg2) + + :param arg2: + :type arg2: int + + .. method:: SetStereoEye(arg2) + + :param arg2: + :type arg2: int + + .. method:: SetStereoInverted(arg2) + + :param arg2: + :type arg2: bool + + .. method:: SetTransform(new_transform) + + See :attr:`transform` + + .. method:: Stereo(mode) + + :param mode: + :type mode: int + + \ No newline at end of file diff --git a/modules/gfx/doc/simple.png b/modules/gfx/doc/simple.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a4d8cd8369fc8cc7c9151b1e0424138d9ba859 Binary files /dev/null and b/modules/gfx/doc/simple.png differ diff --git a/modules/gfx/doc/sline.png b/modules/gfx/doc/sline.png new file mode 100644 index 0000000000000000000000000000000000000000..79ee2f533764fda141b1783c3391b750de0a8f6d Binary files /dev/null and b/modules/gfx/doc/sline.png differ diff --git a/modules/gfx/doc/trace.png b/modules/gfx/doc/trace.png new file mode 100644 index 0000000000000000000000000000000000000000..8f7f5e6754c9d0d19ec3f357886bf2e65d84f6cb Binary files /dev/null and b/modules/gfx/doc/trace.png differ diff --git a/modules/gfx/doc/tube.png b/modules/gfx/doc/tube.png new file mode 100644 index 0000000000000000000000000000000000000000..5256aa3dd62bdfa24068114a442d84fd1b97fa13 Binary files /dev/null and b/modules/gfx/doc/tube.png differ diff --git a/modules/gfx/pymod/CMakeLists.txt b/modules/gfx/pymod/CMakeLists.txt index 9cf5614851a11d7eb449e88f2a5b075352d9a6c5..52eac70f7c440e256ffbb9a604eb7a23195c26c0 100644 --- a/modules/gfx/pymod/CMakeLists.txt +++ b/modules/gfx/pymod/CMakeLists.txt @@ -17,4 +17,12 @@ if (ENABLE_IMG) set(OST_GFX_PYMOD_SOURCES ${OST_GFX_PYMOD_SOURCES} export_map.cc) endif() -pymod(NAME gfx CPP ${OST_GFX_PYMOD_SOURCES} PY __init__.py) \ No newline at end of file +pymod(NAME gfx CPP ${OST_GFX_PYMOD_SOURCES} PY __init__.py) + +set(GRADIENT_FILE + gradients.xml +) +copy_if_different("./" "${STAGE_DIR}/share/openstructure/scene" + "${GRADIENT_FILE}" "PRESET GRADIENTS" _gfx) + +install(FILES ${GRADIENT_FILE} DESTINATION "share/openstructure/scene") \ No newline at end of file diff --git a/modules/gfx/pymod/export_color_ops.cc b/modules/gfx/pymod/export_color_ops.cc index d24a15179a9bbecbc7d10ee32c4454f288fd868d..e0863e3621f78952e288ac47ee085b60e4067290 100644 --- a/modules/gfx/pymod/export_color_ops.cc +++ b/modules/gfx/pymod/export_color_ops.cc @@ -41,10 +41,14 @@ using namespace ost::gfx; void export_ColorOps() { class_<ColorOp>("ColorOp", init<const String& >()) + .def(init<const ColorOp&>()) .def(init<const mol::QueryViewWrapper&, int>()) .def("CanApplyTo",&ColorOp::CanApplyTo) + .def("GetName",&ColorOp::GetName,return_value_policy<copy_const_reference>()) .def("SetSelection",&ColorOp::SetSelection) .def("GetSelection",&ColorOp::GetSelection) + .def("SetSelectionFlags",&ColorOp::SetSelectionFlags) + .def("GetSelectionFlags",&ColorOp::GetSelectionFlags) .def("SetMask",&ColorOp::SetMask) .def("GetMask",&ColorOp::GetMask) .def("ToInfo",&ColorOp::ToInfo) @@ -53,6 +57,7 @@ void export_ColorOps() ; class_<BasicGradientColorOp, bases<ColorOp> >("BasicGradientColorOp", init<const String& , const gfx::Gradient& , mol::Prop::Level>()) + .def(init<const BasicGradientColorOp&>()) .def("SetGradient",&BasicGradientColorOp::SetGradient) .def("GetGradient",&BasicGradientColorOp::GetGradient) .def("SetLevel",&BasicGradientColorOp::SetLevel) @@ -62,6 +67,7 @@ void export_ColorOps() ; class_<ByElementColorOp, bases<ColorOp> >("ByElementColorOp", init<>()) + .def(init<const ByElementColorOp&>()) .def(init<const String&>()) .def(init<const mol::QueryViewWrapper&>()) .def(init<const String&, int>()) @@ -71,15 +77,19 @@ void export_ColorOps() ; class_<ByChainColorOp, bases<ColorOp> >("ByChainColorOp", init<>()) + .def(init<const ByChainColorOp&>()) .def(init<const String&>()) .def(init<const mol::QueryViewWrapper&>()) .def(init<const String&, int>()) .def(init<const mol::QueryViewWrapper&, int>()) + .def("GetChainCount",&ByChainColorOp::GetChainCount) + .def("SetChainCount",&ByChainColorOp::SetChainCount) .def("FromInfo",&ByChainColorOp::FromInfo) .staticmethod("FromInfo") ; class_<UniformColorOp, bases<ColorOp> >("UniformColorOp", init<>()) + .def(init<const UniformColorOp&>()) .def(init<const String&, const gfx::Color&>()) .def(init<const String&, int, const gfx::Color&>()) .def(init<const mol::QueryViewWrapper&, const gfx::Color&>()) @@ -91,6 +101,7 @@ void export_ColorOps() ; class_<GradientColorOp, bases<ColorOp> >("GradientColorOp", init<>()) + .def(init<const GradientColorOp&>()) .def(init<const String&, const String&, const gfx::Gradient&, float, float>()) .def(init<const String&, int, const String&, const gfx::Gradient&, float, float>()) .def(init<const mol::QueryViewWrapper&, const String&, const gfx::Gradient&, float, float>()) @@ -109,6 +120,7 @@ void export_ColorOps() ; class_<GradientLevelColorOp, bases<GradientColorOp> >("GradientLevelColorOp", init<>()) + .def(init<const GradientLevelColorOp&>()) .def(init<const String&, const String&, const gfx::Gradient&, float, float, mol::Prop::Level>()) .def(init<const String&, int, const String&, const gfx::Gradient&, float, float, mol::Prop::Level>()) .def(init<const String&, const String&, const gfx::Gradient&, mol::Prop::Level>()) @@ -125,6 +137,7 @@ void export_ColorOps() class_<EntityViewColorOp, bases<GradientColorOp> >("EntityViewColorOp", init<>()) + .def(init<const EntityViewColorOp&>()) .def(init<const String&, const gfx::Gradient&, float, float, const mol::EntityView&>()) .def(init<int, const String&, const gfx::Gradient&, float, float, const mol::EntityView&>()) .def("SetEntityView",&EntityViewColorOp::SetEntityView) @@ -135,6 +148,7 @@ void export_ColorOps() #if OST_IMG_ENABLED class_<MapHandleColorOp, bases<GradientColorOp> >("MapHandleColorOp", init<>()) + .def(init<const MapHandleColorOp&>()) .def(init<const String&, const String&, const gfx::Gradient&, float, float, const img::MapHandle&>()) .def(init<const String&, int, const String&, const gfx::Gradient&, float, float, const img::MapHandle&>()) .def(init<const mol::QueryViewWrapper&, const String&, const gfx::Gradient&, float, float, const img::MapHandle&>()) diff --git a/modules/gfx/pymod/export_entity.cc b/modules/gfx/pymod/export_entity.cc index 4edf1a012ee42117f0b9167a1cea35498e56bd23..8c4781d0a4019f9c0befe857bb64746a5272ab9e 100644 --- a/modules/gfx/pymod/export_entity.cc +++ b/modules/gfx/pymod/export_entity.cc @@ -198,11 +198,6 @@ RenderOptionsPtr ent_trace_opts(Entity* ent) return ent->GetOptions(RenderMode::TRACE); } -RenderOptionsPtr ent_line_trace_opts(Entity* ent) -{ - return ent->GetOptions(RenderMode::LINE_TRACE); -} - RenderOptionsPtr ent_simple_opts(Entity* ent) { return ent->GetOptions(RenderMode::SIMPLE); @@ -238,6 +233,11 @@ void set_query2(Entity* e, const std::string& q) e->SetQuery(mol::Query(q)); } +RenderOptionsPtr ent_ltrace_opts(Entity* ent) +{ + return ent->GetOptions(RenderMode::LINE_TRACE); +} + } void export_Entity() @@ -301,7 +301,7 @@ void export_Entity() .add_property("cartoon_options", &ent_hsc_opts) .add_property("cpk_options", &ent_cpk_opts) .add_property("trace_options", &ent_trace_opts) - .add_property("line_trace_options", &ent_line_trace_opts) + .add_property("line_trace_options", &ent_ltrace_opts) .def("ApplyOptions", &Entity::ApplyOptions) .def("SetOptions", &Entity::SetOptions) .def("Apply",&ent_apply_11) diff --git a/modules/gfx/pymod/export_gfx_node.cc b/modules/gfx/pymod/export_gfx_node.cc index f11814317d3b6666d1345f068da68b7068e323a1..b7791e8e67e51232d3988876d2b44d6a697fb179 100644 --- a/modules/gfx/pymod/export_gfx_node.cc +++ b/modules/gfx/pymod/export_gfx_node.cc @@ -39,6 +39,7 @@ void export_GfxNode() .def("Add",node_add1) .def("Remove",node_rem1) .def("Add",node_add2) + .add_property("name", &GfxNode::GetName) .def("Remove",node_rem2) .def("Remove",node_rem3) ; diff --git a/modules/gfx/pymod/export_map.cc b/modules/gfx/pymod/export_map.cc index f4957efb4f2847c0d84f2facf2eca9f7c82343ea..7ba389b904f3ede92584241eb1890bce10833387 100644 --- a/modules/gfx/pymod/export_map.cc +++ b/modules/gfx/pymod/export_map.cc @@ -17,6 +17,7 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ #include <boost/python.hpp> +#include <boost/python/suite/indexing/vector_indexing_suite.hpp> using namespace boost::python; #include <ost/gfx/map_iso.hh> @@ -60,7 +61,13 @@ void export_Map() boost::noncopyable>("MapIso", init<const String&, const ::img::MapHandle&, float, optional<uint> >()) .def("SetLevel",&MapIso::SetLevel) .def("GetLevel",&MapIso::GetLevel) + .def("GetMinLevel",&MapIso::GetMinLevel) + .def("GetMaxLevel",&MapIso::GetMaxLevel) .def("GetMean", &MapIso::GetMean) + .def("GetHistogram",&MapIso::GetHistogram) + .def("SetHistogramBinCount",&MapIso::SetHistogramBinCount) + .def("GetHistogramBinCount",&MapIso::GetHistogramBinCount) + .def("GetMap", &MapIso::GetMap,return_value_policy<reference_existing_object>()) .def("GetOriginalMap", &MapIso::GetOriginalMap,return_value_policy<reference_existing_object>()) .def("GetDownsampledMap", &MapIso::GetDownsampledMap,return_value_policy<reference_existing_object>()) diff --git a/modules/gfx/pymod/export_render_options.cc b/modules/gfx/pymod/export_render_options.cc index ab4e9425c79f99408533352056227f6c11288dfe..6cdc169a6633169bde303afc5b1b53c623023011 100644 --- a/modules/gfx/pymod/export_render_options.cc +++ b/modules/gfx/pymod/export_render_options.cc @@ -36,6 +36,9 @@ void export_RenderOptions() { class_<RenderOptions, boost::shared_ptr<RenderOptions>, boost::noncopyable>("RenderOptions", no_init) .def("GetRenderMode",&RenderOptions::GetRenderMode) + .def("NotifyStateChange",&RenderOptions::NotifyStateChange) + .def("AddObserver",&RenderOptions::AddObserver) + .def("RemoveObserver",&RenderOptions::RemoveObserver) ; class_<LineRenderOptions, boost::shared_ptr<LineRenderOptions>, bases<RenderOptions>, boost::noncopyable>("LineRenderOptions", no_init) @@ -43,31 +46,50 @@ void export_RenderOptions() .def("GetLineWidth",&LineRenderOptions::GetLineWidth) .def("SetAALines",&LineRenderOptions::SetAALines) .def("GetAALines",&LineRenderOptions::GetAALines) + .add_property("aa_lines", &LineRenderOptions::GetAALines, + &LineRenderOptions::SetAALines) + .add_property("line_width", &LineRenderOptions::GetLineWidth, + &LineRenderOptions::SetLineWidth) ; class_<SimpleRenderOptions, boost::shared_ptr<SimpleRenderOptions>, bases<LineRenderOptions>, boost::noncopyable>("SimpleRenderOptions") + .def(init<const SimpleRenderOptions&>()) .def("SetBondOrderFlag", &SimpleRenderOptions::SetBondOrderFlag) .def("SetBondOrderDistance", &SimpleRenderOptions::SetBondOrderDistance) .def("GetBondOrderFlag", &SimpleRenderOptions::GetBondOrderFlag) .def("GetBondOrderDistance", &SimpleRenderOptions::GetBondOrderDistance) + .add_property("draw_bond_order", &SimpleRenderOptions::GetBondOrderFlag, + &SimpleRenderOptions::SetBondOrderFlag) + .add_property("bond_order_distance", &SimpleRenderOptions::GetBondOrderDistance, + &SimpleRenderOptions::SetBondOrderDistance) ; class_<LineTraceRenderOptions, boost::shared_ptr<LineTraceRenderOptions>, bases<LineRenderOptions>, boost::noncopyable>("LineTraceRenderOptions") + .def(init<const LineTraceRenderOptions&>()) ; class_<SlineRenderOptions, boost::shared_ptr<SlineRenderOptions>, bases<LineRenderOptions>, boost::noncopyable>("SlineRenderOptions") + .def(init<const SlineRenderOptions&>()) .def("SetSplineDetail", &SlineRenderOptions::SetSplineDetail) .def("GetSplineDetail", &SlineRenderOptions::GetSplineDetail) ; class_<CPKRenderOptions, boost::shared_ptr<CPKRenderOptions>, bases<RenderOptions>, boost::noncopyable>("CPKRenderOptions") + .def(init<const CPKRenderOptions&>()) .def("SetSphereDetail", &CPKRenderOptions::SetSphereDetail) .def("GetSphereDetail", &CPKRenderOptions::GetSphereDetail) .def("SetSphereMode", &CPKRenderOptions::SetSphereMode) .def("GetSphereMode", &CPKRenderOptions::GetSphereMode) + .def("SetCPKMode", &CPKRenderOptions::SetCPKMode) + .def("GetCPKMode", &CPKRenderOptions::GetCPKMode) + .add_property("cpk_mode", &CPKRenderOptions::GetCPKMode, + &CPKRenderOptions::SetCPKMode) + .add_property("sphere_detail", &CPKRenderOptions::GetSphereDetail, + &CPKRenderOptions::SetSphereDetail) ; class_<CustomRenderOptions, boost::shared_ptr<CustomRenderOptions>, bases<RenderOptions>, boost::noncopyable>("CustomRenderOptions") + .def(init<const CustomRenderOptions&>()) .def("SetSphereDetail", &CustomRenderOptions::SetSphereDetail) .def("GetSphereDetail", &CustomRenderOptions::GetSphereDetail) .def("SetArcDetail", &CustomRenderOptions::SetArcDetail) @@ -76,9 +98,15 @@ void export_RenderOptions() .def("GetSphereRad", &CustomRenderOptions::GetSphereRad) .def("SetBondRad", &CustomRenderOptions::SetBondRad) .def("GetBondRad", &CustomRenderOptions::GetBondRad) + .add_property("sphere_detail", &CustomRenderOptions::GetSphereDetail, &CustomRenderOptions::SetSphereDetail) + .add_property("bond_rad", &CustomRenderOptions::GetBondRad, &CustomRenderOptions::SetBondRad) + .add_property("sphere_rad", &CustomRenderOptions::GetSphereRad, &CustomRenderOptions::SetSphereRad) + .add_property("arc_detail", &CustomRenderOptions::GetArcDetail, + &CustomRenderOptions::SetArcDetail) ; class_<CartoonRenderOptions, boost::shared_ptr<CartoonRenderOptions>, bases<RenderOptions>, boost::noncopyable>("CartoonRenderOptions") + .def(init<const CartoonRenderOptions&>()) .def(init<optional<bool> >()) .def("SetSplineDetail", &CartoonRenderOptions::SetSplineDetail) .def("GetSplineDetail", &CartoonRenderOptions::GetSplineDetail) @@ -119,14 +147,20 @@ void export_RenderOptions() ; class_<TraceRenderOptions, boost::shared_ptr<TraceRenderOptions>, bases<RenderOptions>, boost::noncopyable>("TraceRenderOptions") + .def(init<const TraceRenderOptions&>()) .def("SetArcDetail", &TraceRenderOptions::SetArcDetail) .def("GetArcDetail", &TraceRenderOptions::GetArcDetail) .def("SetNormalSmoothFactor", &TraceRenderOptions::SetNormalSmoothFactor) .def("GetNormalSmoothFactor", &TraceRenderOptions::GetNormalSmoothFactor) .def("SetTubeRadius", &TraceRenderOptions::SetTubeRadius) .def("GetTubeRadius", &TraceRenderOptions::GetTubeRadius) - .def("SetRadius", &TraceRenderOptions::SetTubeRadius) - .def("GetRadius", &TraceRenderOptions::GetTubeRadius) + .add_property("tube_radius", &TraceRenderOptions::GetTubeRadius, + &TraceRenderOptions::SetTubeRadius) + .add_property("arc_detail", &TraceRenderOptions::GetArcDetail, + &TraceRenderOptions::SetArcDetail) + .add_property("normal_smooth_factor", + &TraceRenderOptions::GetNormalSmoothFactor, + &TraceRenderOptions::SetNormalSmoothFactor) ; } diff --git a/modules/gfx/pymod/export_scene.cc b/modules/gfx/pymod/export_scene.cc index 1eb5a8fe2c97d56690552cc35be5d7b7c9dd99f3..08b98b41959af2c44ce69d73bb27e6fe8ec3be87 100644 --- a/modules/gfx/pymod/export_scene.cc +++ b/modules/gfx/pymod/export_scene.cc @@ -87,7 +87,13 @@ void export_Scene() .def("InitGL", &Scene::InitGL) .def("RenderGL", &Scene::RenderGL) .def("Resize", &Scene::Resize) + .def("HasNode", &Scene::HasNode) .def("SetBackground", &Scene::SetBackground) + .add_property("transform", &Scene::GetTransform, &Scene::SetTransform) + .add_property("fov", &Scene::GetFOV, &Scene::SetFOV) + .add_property("center", &Scene::GetCenter, &Scene::SetCenter) + .add_property("near", &Scene::GetNear, &Scene::SetNear) + .add_property("far", &Scene::GetFar, &Scene::SetFar) .def("SetNearFar",&Scene::SetNearFar) .def("SetFog",&Scene::SetFog) .def("SetFogColor",&Scene::SetFogColor) @@ -117,6 +123,7 @@ void export_Scene() .def("GetSelectionMode",&Scene::GetSelectionMode) .def("SetBlur",&Scene::SetBlur) .def("BlurSnapshot",&Scene::BlurSnapshot) + .def("RemoveAll", &Scene::RemoveAll) .def("SetShadow",&Scene::SetShadow) .def("SetShadowQuality",&Scene::SetShadowQuality) .def("SetShadowWeight",&Scene::SetShadowWeight) diff --git a/modules/gfx/pymod/gradients.xml b/modules/gfx/pymod/gradients.xml new file mode 100644 index 0000000000000000000000000000000000000000..dc3e03fd2ed56d5d5c7dee6729625d733cfbde52 --- /dev/null +++ b/modules/gfx/pymod/gradients.xml @@ -0,0 +1,66 @@ +<!DOCTYPE EMDataInfo> +<EMDataInfo> + <Gradients> + <Gradient Name="GREENS" >2 +0.0609137 0.333333 1 0 1 +0.954315 0 0.501961 0 1 +</Gradient> + <Gradient Name="BLUES" >2 +0.0615451 0.567727 0.988205 1 1 +0.978541 0.0335241 0.286625 0.501961 1 +</Gradient> + <Gradient Name="REDS" >2 +0.0512002 1 0.532174 0 1 +0.978541 1 0 0 1 +</Gradient> + <Gradient Name="HEAT_MAP" >3 +0.0615451 0.0313726 0.286275 0.501961 1 +0.502146 1 1 1 1 +0.978541 0.890105 0.075639 0.0546578 1 +</Gradient> + <Gradient Name="AUTUMN" >3 +0.0615451 1 0.972015 0.0132753 1 +0.502146 1 0.699229 0.0974136 1 +0.978541 0.890105 0.075639 0.0546578 1 +</Gradient> + <Gradient Name="UGLY" >6 +0.0615451 0.223087 0.501961 0.330602 1 +0.244635 0.318853 0.472465 1 1 +0.420601 0.896193 0.480751 1 1 +0.596566 1 0.670039 0.550607 1 +0.776824 0.890105 0.075639 0.0546578 1 +0.961373 1 0.943923 0.407279 1 +</Gradient> + <Gradient Name="RAINBOW" >12 +0.0555187 0.890105 0.075639 0.0546578 1 +0.139951 1 0.505974 0 1 +0.225206 0.989929 1 0 1 +0.313909 0.676997 1 0 1 +0.397518 0.177951 1 0 1 +0.478502 0 1 0.520333 1 +0.555216 0 1 1 1 +0.637844 0 0.625711 1 1 +0.718006 0 0.135302 1 1 +0.80655 0.570611 0 1 1 +0.889655 1 0 0.741695 1 +0.975862 1 0 0.285039 1 +</Gradient> + <Gradient Name="FIRE" >4 +0.0609137 0.472526 0.472526 0.472526 1 +0.348276 1 0.97792 0.00274662 1 +0.631034 1 0.63331 0 1 +0.954315 1 0 0 1 +</Gradient> + <Gradient Name="RED_TO_BLUE">9 +0.0545827 0.886275 0.0745098 0.0509804 1 +0.171838 1 0.505882 0 1 +0.284924 0.988235 1 0 1 +0.403739 0.67451 1 0 1 +0.521744 0.176471 1 0 1 +0.641707 0 1 0.517647 1 +0.748835 0 1 1 1 +0.857779 0 0.623529 1 1 +0.97541 0 0.133333 1 1 +</Gradient> + </Gradients> +</EMDataInfo> diff --git a/modules/gfx/pymod/wrap_gfx.cc b/modules/gfx/pymod/wrap_gfx.cc index cd308a6a7b7d3e26f51a6636308a0271d3d9be14..7c3655aa3db2136236f7bd9e4096db485391fc0f 100644 --- a/modules/gfx/pymod/wrap_gfx.cc +++ b/modules/gfx/pymod/wrap_gfx.cc @@ -157,12 +157,14 @@ BOOST_PYTHON_MODULE(_gfx) ; class_<Gradient>("Gradient", init<>()) + .def(init<const String&>()) .def("SetColorAt", &Gradient::SetColorAt) .def("GetColorAt", &Gradient::GetColorAt) .def("GetStops", &Gradient::GetStops) .def("GradientToInfo", &Gradient::GradientToInfo) .def("GradientFromInfo", &Gradient::GradientFromInfo).staticmethod("GradientFromInfo") ; + implicitly_convertible<String, Gradient>(); class_<StopList>("StopList", init<>()) .def(vector_indexing_suite<StopList>()) diff --git a/modules/gfx/src/CMakeLists.txt b/modules/gfx/src/CMakeLists.txt index ee2a67f4ee4b5f1c60de7c17630e040d3f531b94..b34e424a10d41b4f97cb7cbdaf32a056d139cf62 100644 --- a/modules/gfx/src/CMakeLists.txt +++ b/modules/gfx/src/CMakeLists.txt @@ -32,6 +32,7 @@ glext_include.hh render_mode.hh material.hh gradient.hh +gradient_manager.hh module_config.hh primitives.hh povray_fw.hh @@ -102,6 +103,7 @@ scene.cc selection.cc surface.cc gradient.cc +gradient_manager.cc vertex_array.cc vertex_array_helper.cc material.cc diff --git a/modules/gfx/src/bitmap_io.cc b/modules/gfx/src/bitmap_io.cc index 3f16451371417244d16e7fb8027e3c7544d1edb2..fedb463afa9debfe85773aa5b4b2e55e9cbda45b 100644 --- a/modules/gfx/src/bitmap_io.cc +++ b/modules/gfx/src/bitmap_io.cc @@ -35,7 +35,7 @@ void export_png(const String& filename, unsigned int width, unsigned int height, FILE *fp; if((fp=fopen(filename.c_str(),"wb"))==NULL) { - LOGN_ERROR("error opening" << filename << " for exporting"); + LOG_ERROR("error opening" << filename << " for exporting"); return; } @@ -44,7 +44,7 @@ void export_png(const String& filename, unsigned int width, unsigned int height, NULL, NULL, NULL); if (png_ptr == NULL) { fclose(fp); - LOGN_ERROR("error creating png write struct"); + LOG_ERROR("error creating png write struct"); return; } @@ -53,14 +53,14 @@ void export_png(const String& filename, unsigned int width, unsigned int height, if (info_ptr == NULL) { fclose(fp); png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL); - LOGN_ERROR("error creating png info struct"); + LOG_ERROR("error creating png info struct"); return; } if (setjmp(png_jmpbuf(png_ptr))) { png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); fclose(fp); - LOGN_ERROR("error in png setjmp"); + LOG_ERROR("error in png setjmp"); return; } @@ -113,7 +113,7 @@ Bitmap import_png(const String& filename) png_uint_32 width,height,bpp; if((fp=fopen(filename.c_str(),"rb"))==NULL) { - LOGN_ERROR("error opening " << filename); + LOG_ERROR("error opening " << filename); return bm; } @@ -121,7 +121,7 @@ Bitmap import_png(const String& filename) NULL,NULL,NULL); if (png_ptr == NULL) { fclose(fp); - LOGN_ERROR("unexpected error #1 in png lib"); + LOG_ERROR("unexpected error #1 in png lib"); return bm; } @@ -129,14 +129,14 @@ Bitmap import_png(const String& filename) if (info_ptr == NULL) { fclose(fp); png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL); - LOGN_ERROR("unexpected error #2 in png lib"); + LOG_ERROR("unexpected error #2 in png lib"); return bm; } if (setjmp(png_jmpbuf(png_ptr))) { png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); fclose(fp); - LOGN_ERROR("unexpected error #3 in png lib"); + LOG_ERROR("unexpected error #3 in png lib"); return bm; } @@ -148,7 +148,7 @@ Bitmap import_png(const String& filename) channels=png_get_channels(png_ptr,info_ptr); if(channels<1 || channels>4) { - LOGN_ERROR("error importing bitmap: " << filename << " has " << channels << " channels, expected 1-4"); + LOG_ERROR("error importing bitmap: " << filename << " has " << channels << " channels, excpected 1-4"); return bm; } @@ -168,7 +168,7 @@ Bitmap import_png(const String& filename) } } - LOGN_DEBUG("loaded " << width << "x" << height << ":" << channels << " bitmap"); + LOG_DEBUG("loaded " << width << "x" << height << ":" << channels << " bitmap"); bm.channels=channels; bm.width=width; diff --git a/modules/gfx/src/color_ops/basic_gradient_color_op.cc b/modules/gfx/src/color_ops/basic_gradient_color_op.cc index 8648a8304e2974f2c75ef956e7093fc0a58ce115..39733eb6b8c06332cc4b7ff86b13d9956ae57ef6 100644 --- a/modules/gfx/src/color_ops/basic_gradient_color_op.cc +++ b/modules/gfx/src/color_ops/basic_gradient_color_op.cc @@ -26,12 +26,17 @@ namespace ost { namespace gfx { BasicGradientColorOp::BasicGradientColorOp() : ColorOp(), gradient_(){ - + this->Init(); } BasicGradientColorOp::BasicGradientColorOp(const String& selection, const gfx::Gradient& gradient, mol::Prop::Level level) : ColorOp(selection), gradient_(gradient), level_(level){ + this->Init(); +} +void BasicGradientColorOp::Init() +{ + this->SetName("Basic gradient"); } bool BasicGradientColorOp::CanApplyTo(const GfxObjP& obj) const{ diff --git a/modules/gfx/src/color_ops/basic_gradient_color_op.hh b/modules/gfx/src/color_ops/basic_gradient_color_op.hh index b00a092e210675cb73d05159e0255c84f09c1317..d8a4d3c4436b79b61e6afc8c54f8b41546df333c 100644 --- a/modules/gfx/src/color_ops/basic_gradient_color_op.hh +++ b/modules/gfx/src/color_ops/basic_gradient_color_op.hh @@ -52,6 +52,7 @@ public: static gfx::BasicGradientColorOp FromInfo(info::InfoGroup& group); private: + void Init(); gfx::Gradient gradient_; mol::Prop::Level level_; }; diff --git a/modules/gfx/src/color_ops/by_chain_color_op.cc b/modules/gfx/src/color_ops/by_chain_color_op.cc index 908fb591ff42e49f66d885dabee617ef33bb193e..e760d0e38aa7c2f677d81bd644b1a31eebea8763 100644 --- a/modules/gfx/src/color_ops/by_chain_color_op.cc +++ b/modules/gfx/src/color_ops/by_chain_color_op.cc @@ -26,19 +26,24 @@ namespace ost { namespace gfx { -ByChainColorOp::ByChainColorOp() : ColorOp(){this->init();} +ByChainColorOp::ByChainColorOp() : ColorOp(),chain_count_(0),color_grad_("RAINBOW") +{ + this->Init(); +} -ByChainColorOp::ByChainColorOp(const String& selection, int mask) : ColorOp(selection,mask){this->init();} +ByChainColorOp::ByChainColorOp(const String& selection, int mask) : ColorOp(selection,mask),chain_count_(0),color_grad_("RAINBOW") +{ + this->Init(); +} -ByChainColorOp::ByChainColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask){this->init();} +ByChainColorOp::ByChainColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask),chain_count_(0),color_grad_("RAINBOW") +{ + this->Init(); +} -void ByChainColorOp::init(){ - color_grad_.SetColorAt(0,Color(1,1,0)); - color_grad_.SetColorAt(0.16666,Color(1,0,0)); - color_grad_.SetColorAt(0.33333,Color(0,1,1)); - color_grad_.SetColorAt(0.5,Color(0,1,0)); - color_grad_.SetColorAt(0.66666,Color(1,0,1)); - color_grad_.SetColorAt(0.83333,Color(0,0,1)); +void ByChainColorOp::Init() +{ + this->SetName("By chain"); } bool ByChainColorOp::CanApplyTo(const GfxObjP& obj) const{ @@ -62,27 +67,32 @@ gfx::Color ByChainColorOp::GetColor(String ident) const{ return colors_[ident]; } +int ByChainColorOp::GetChainCount() const +{ + return chain_count_; +} + +void ByChainColorOp::SetChainCount(int chain_count) +{ + chain_count_ = chain_count; +} + gfx::ByChainColorOp ByChainColorOp::FromInfo(info::InfoGroup& group){ gfx::ColorOp op = ColorOp::FromInfo(group); - String selection = op.GetSelection(); + mol::QueryViewWrapper wrapper(op.GetSelection(),op.GetSelectionFlags()); int mask = op.GetMask(); - return gfx::ByChainColorOp(selection, mask); + return gfx::ByChainColorOp(wrapper, mask); } gfx::Color ByChainColorOp::GenerateColor(String& ident) const{ unsigned int size=colors_.size()-1; - int cnt = size % 6; - int factor = abs(size/6.0)+1; - float start = 1.0/(6.0*factor); - if(factor > 1 && !((factor+1) & 1)){ - float old_start = 1.0 / (6.0 *abs(size/6.0)); - start += old_start; + if(size<=0){ + colors_[ident] = color_grad_.GetColorAt(0.0); } - float value = start + (cnt / 6.0); - if(value >= 1){ - value -=1; + else{ + colors_[ident] = color_grad_.GetColorAt(float(size) / chain_count_); } - return color_grad_.GetColorAt(value); + return colors_[ident]; } }} diff --git a/modules/gfx/src/color_ops/by_chain_color_op.hh b/modules/gfx/src/color_ops/by_chain_color_op.hh index fffc8966864ea7d9770d79ffe59053f5cb2b4964..75193354b4337ad2b0ba97b031d2bfdcaed4d0ad 100644 --- a/modules/gfx/src/color_ops/by_chain_color_op.hh +++ b/modules/gfx/src/color_ops/by_chain_color_op.hh @@ -43,13 +43,17 @@ public: virtual gfx::Color GetColor(String ident) const; + virtual int GetChainCount() const; + virtual void SetChainCount(int chain_count); + //virtual void ToInfo(info::InfoGroup& group) const; static gfx::ByChainColorOp FromInfo(info::InfoGroup& group); private: - void init(); + void Init(); gfx::Color GenerateColor(String& ident) const; + mutable int chain_count_; mutable std::map<String,gfx::Color> colors_; gfx::Gradient color_grad_; diff --git a/modules/gfx/src/color_ops/by_element_color_op.cc b/modules/gfx/src/color_ops/by_element_color_op.cc index e2bac71b0bd02e88c333b8b55a3f4ca858358eb5..c09e542d4995e0e434cb25a6c31bb3e2db38b614 100644 --- a/modules/gfx/src/color_ops/by_element_color_op.cc +++ b/modules/gfx/src/color_ops/by_element_color_op.cc @@ -25,11 +25,25 @@ namespace ost { namespace gfx { -ByElementColorOp::ByElementColorOp() : ColorOp(){} +ByElementColorOp::ByElementColorOp() : ColorOp() +{ + this->Init(); +} -ByElementColorOp::ByElementColorOp(const String& selection, int mask) : ColorOp(selection,mask){} +ByElementColorOp::ByElementColorOp(const String& selection, int mask) : ColorOp(selection,mask) +{ + this->Init(); +} -ByElementColorOp::ByElementColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask){} +ByElementColorOp::ByElementColorOp(const mol::QueryViewWrapper& query_view, int mask) : ColorOp(query_view,mask) +{ + this->Init(); +} + +void ByElementColorOp::Init() +{ + this->SetName("By element"); +} bool ByElementColorOp::CanApplyTo(const GfxObjP& obj) const{ if(dynamic_cast<Entity*>(obj.get())) @@ -46,9 +60,9 @@ void ByElementColorOp::ApplyTo(GfxObjP& objP) const{ gfx::ByElementColorOp ByElementColorOp::FromInfo(info::InfoGroup& group){ gfx::ColorOp op = ColorOp::FromInfo(group); - String selection = op.GetSelection(); + mol::QueryViewWrapper wrapper(op.GetSelection(),op.GetSelectionFlags()); int mask = op.GetMask(); - return gfx::ByElementColorOp(selection, mask); + return gfx::ByElementColorOp(wrapper, mask); } }} diff --git a/modules/gfx/src/color_ops/by_element_color_op.hh b/modules/gfx/src/color_ops/by_element_color_op.hh index 2de442121cc12f0433a702a02a3e09bac79e5b10..defceee742d9990dae8e387719a0a13fb5421348 100644 --- a/modules/gfx/src/color_ops/by_element_color_op.hh +++ b/modules/gfx/src/color_ops/by_element_color_op.hh @@ -44,6 +44,8 @@ public: virtual void ApplyTo(GfxObjP& obj) const; static ost::gfx::ByElementColorOp FromInfo(info::InfoGroup& group); +private: + void Init(); }; }} diff --git a/modules/gfx/src/color_ops/color_op.cc b/modules/gfx/src/color_ops/color_op.cc index bca45b744617f8140fb4cf4c5038c35e2a89c621..5003f90988a10dcfdb3f7fc4ff06cb8e4186e181 100644 --- a/modules/gfx/src/color_ops/color_op.cc +++ b/modules/gfx/src/color_ops/color_op.cc @@ -21,16 +21,16 @@ namespace ost { namespace gfx { -ColorOp::ColorOp(): query_view_(), mask_(DETAIL_COLOR|MAIN_COLOR) +ColorOp::ColorOp(): name_("Abstract coloring"), query_view_(), mask_(DETAIL_COLOR|MAIN_COLOR) { } ColorOp::ColorOp(const String& selection, int mask): - query_view_(mol::Query(selection),mol::EntityView() ), mask_(mask) + name_("Abstract coloring"), query_view_(mol::Query(selection),mol::EntityView() ), mask_(mask) { } ColorOp::ColorOp(const mol::QueryViewWrapper& query_view, int mask): - query_view_(query_view), mask_(mask) + name_("Abstract coloring"), query_view_(query_view), mask_(mask) { } bool ColorOp::CanApplyTo(const GfxObjP& obj) const @@ -43,6 +43,16 @@ void ColorOp::ApplyTo(GfxObjP& obj) const //Do Nothing } +const String& ColorOp::GetName() const +{ + return name_; +} + +void ColorOp::SetName(const String& name) +{ + name_=name; +} + void ColorOp::SetSelection(const String& selection) { query_view_.SetQuery(selection); @@ -53,6 +63,16 @@ String ColorOp::GetSelection() const return query_view_.GetQuery().GetQueryString(); } +void ColorOp::SetSelectionFlags(mol::QueryFlags flags) +{ + query_view_.SetFlags(flags); +} + +mol::QueryFlags ColorOp::GetSelectionFlags() const +{ + return query_view_.GetFlags(); +} + bool ColorOp::IsSelectionOnly() const { return !query_view_.IsDataValid(); @@ -71,7 +91,7 @@ void ColorOp::SetView(const mol::EntityView& view) void ColorOp::ToInfo(info::InfoGroup& group) const { std::ostringstream ss; - ss << (int)mask_ << "\t" << query_view_.GetQuery().GetQueryString(); + ss << (int)mask_ << "\t" << query_view_.GetFlags() << "\t" << query_view_.GetQuery().GetQueryString(); group.SetTextData(ss.str()); } @@ -80,7 +100,8 @@ gfx::ColorOp ColorOp::FromInfo(ost::info::InfoGroup& group) ColorOp op; std::istringstream ss(group.GetTextData()); int mask; - ss >> mask; + mol::QueryFlags flags; + ss >> mask >> flags; op.SetMask(mask); String selection; String part; @@ -91,6 +112,7 @@ gfx::ColorOp ColorOp::FromInfo(ost::info::InfoGroup& group) part.clear(); } op.SetSelection(selection); + op.SetSelectionFlags(flags); return op; } diff --git a/modules/gfx/src/color_ops/color_op.hh b/modules/gfx/src/color_ops/color_op.hh index c2c7c9360e610912922abdc84b96eddaf3079fdb..7d891039dd2574e54d07b59a8dd67d02a41440a2 100644 --- a/modules/gfx/src/color_ops/color_op.hh +++ b/modules/gfx/src/color_ops/color_op.hh @@ -51,6 +51,8 @@ public: virtual bool CanApplyTo(const GfxObjP& obj) const; virtual void ApplyTo(GfxObjP& obj) const; + virtual const String& GetName() const; + ColorMask GetMask() const; void SetMask(ColorMask mask); @@ -58,15 +60,22 @@ public: virtual void SetSelection(const String& selection); virtual String GetSelection() const; + virtual void SetSelectionFlags(mol::QueryFlags flags); + virtual mol::QueryFlags GetSelectionFlags() const; + virtual bool IsSelectionOnly() const; virtual void SetView(const mol::EntityView& view); virtual mol::EntityView GetView() const; virtual void ToInfo(info::InfoGroup& group) const; static gfx::ColorOp FromInfo(info::InfoGroup& group); + +protected: + virtual void SetName(const String& name); + private: + String name_; mol::QueryViewWrapper query_view_; - mol::EntityView view_; ColorMask mask_; }; diff --git a/modules/gfx/src/color_ops/entity_view_color_op.cc b/modules/gfx/src/color_ops/entity_view_color_op.cc index 6cdbd75a127617e4a95979c9f60b5dc42f7aac49..e52a25b71018fba8ea6425d4a31948f55aec247c 100644 --- a/modules/gfx/src/color_ops/entity_view_color_op.cc +++ b/modules/gfx/src/color_ops/entity_view_color_op.cc @@ -27,16 +27,21 @@ namespace ost { namespace gfx { EntityViewColorOp::EntityViewColorOp() : GradientColorOp(), ev_(){ - + this->Init(); } EntityViewColorOp::EntityViewColorOp(int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const mol::EntityView& ev) : GradientColorOp("", mask, property, gradient, minv, maxv), ev_(ev){ - + this->Init(); } EntityViewColorOp::EntityViewColorOp(const String& property, const gfx::Gradient& gradient, float minv, float maxv, const mol::EntityView& ev) : GradientColorOp("", property, gradient, minv, maxv), ev_(ev){ + this->Init(); +} +void EntityViewColorOp::Init() +{ + this->SetName("EntityView gradient"); } bool EntityViewColorOp::CanApplyTo(const GfxObjP& obj) const{ @@ -84,7 +89,6 @@ gfx::EntityViewColorOp EntityViewColorOp::FromInfo(info::InfoGroup& group){ info::InfoGroup super_group = group.GetGroup("GradientColorOp"); gfx::GradientColorOp gop = GradientColorOp::FromInfo(super_group); std::istringstream ss(group.GetTextData()); - String selection = gop.GetSelection(); gfx::Gradient gradient = gop.GetGradient(); int mask = gop.GetMask(); String property = gop.GetProperty(); diff --git a/modules/gfx/src/color_ops/entity_view_color_op.hh b/modules/gfx/src/color_ops/entity_view_color_op.hh index 9f5098faa64169d065284a7fa0cc29afcbb8c743..a0afba972956fc7d0014481f39cc47198f9296ef 100644 --- a/modules/gfx/src/color_ops/entity_view_color_op.hh +++ b/modules/gfx/src/color_ops/entity_view_color_op.hh @@ -52,6 +52,7 @@ public: static gfx::EntityViewColorOp FromInfo(info::InfoGroup& group); private: + void Init(); mol::EntityView ev_; }; diff --git a/modules/gfx/src/color_ops/gradient_color_op.cc b/modules/gfx/src/color_ops/gradient_color_op.cc index 82c06e144871ce127a2080c385d676ba6b2659ad..8b2bc6595c734a564d8aa728c3c0ffdf7d6b28ed 100644 --- a/modules/gfx/src/color_ops/gradient_color_op.cc +++ b/modules/gfx/src/color_ops/gradient_color_op.cc @@ -25,7 +25,7 @@ namespace ost { namespace gfx { GradientColorOp::GradientColorOp() : ColorOp(), property_(), gradient_(){ - + this->Init(); } GradientColorOp::GradientColorOp(const String& selection, const String& property, @@ -33,48 +33,69 @@ GradientColorOp::GradientColorOp(const String& selection, const String& property float minv, float maxv): ColorOp(selection), property_(property), gradient_(gradient), calculate_(false), minv_(minv), maxv_(maxv) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv): ColorOp(selection,mask), property_(property), gradient_(gradient), calculate_(false), minv_(minv), maxv_(maxv) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const String& selection, const String& property, const gfx::Gradient& gradient): ColorOp(selection), property_(property), gradient_(gradient), calculate_(true) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient): ColorOp(selection,mask), property_(property), gradient_(gradient), calculate_(true) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient, float minv, float maxv): ColorOp(query_view), property_(property), gradient_(gradient), calculate_(false), minv_(minv), maxv_(maxv) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv): ColorOp(query_view,mask), property_(property), gradient_(gradient), calculate_(false), minv_(minv), maxv_(maxv) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient): ColorOp(query_view), property_(property), gradient_(gradient), calculate_(true) -{ } +{ + this->Init(); +} GradientColorOp::GradientColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient): ColorOp(query_view,mask), property_(property), gradient_(gradient), calculate_(true) -{ } +{ + this->Init(); +} + +void GradientColorOp::Init() +{ + this->SetName("Gradient"); +} void GradientColorOp::SetProperty(const String& property) { @@ -150,12 +171,12 @@ gfx::GradientColorOp GradientColorOp::FromInfo(info::InfoGroup& group) if(ss.good())property.append(" "); part.clear(); } - String selection = op.GetSelection(); + mol::QueryViewWrapper wrapper(op.GetSelection(),op.GetSelectionFlags()); if(calculate) { - return gfx::GradientColorOp(selection,mask,property,gradient); + return gfx::GradientColorOp(wrapper,mask,property,gradient); } else { - return gfx::GradientColorOp(selection,mask,property,gradient, minv, maxv); + return gfx::GradientColorOp(wrapper,mask,property,gradient, minv, maxv); } } diff --git a/modules/gfx/src/color_ops/gradient_color_op.hh b/modules/gfx/src/color_ops/gradient_color_op.hh index 98a6df76caae580e89936d89e05495198ab3cc52..6823981da5ddc563bf8ec19d5891512a27a0227a 100644 --- a/modules/gfx/src/color_ops/gradient_color_op.hh +++ b/modules/gfx/src/color_ops/gradient_color_op.hh @@ -65,6 +65,7 @@ public: static gfx::GradientColorOp FromInfo(info::InfoGroup& group); private: + void Init(); String property_; gfx::Gradient gradient_; bool calculate_; diff --git a/modules/gfx/src/color_ops/gradient_level_color_op.cc b/modules/gfx/src/color_ops/gradient_level_color_op.cc index e1e0f2940e94227de57752d7667c7d02ab2acf84..564fd763b8e2ed090ed66c88c751c9a775faf4a5 100644 --- a/modules/gfx/src/color_ops/gradient_level_color_op.cc +++ b/modules/gfx/src/color_ops/gradient_level_color_op.cc @@ -25,8 +25,9 @@ namespace ost { namespace gfx { -GradientLevelColorOp::GradientLevelColorOp() : GradientColorOp(), level_(){ - +GradientLevelColorOp::GradientLevelColorOp() : GradientColorOp(), level_() +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const String& selection, @@ -34,8 +35,9 @@ GradientLevelColorOp::GradientLevelColorOp(const String& selection, const gfx::Gradient& gradient, float minv, float maxv, mol::Prop::Level level): - GradientColorOp(selection, property, gradient, minv, maxv), level_(level){ - + GradientColorOp(selection, property, gradient, minv, maxv), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const String& selection, int mask, @@ -43,24 +45,27 @@ GradientLevelColorOp::GradientLevelColorOp(const String& selection, int mask, const gfx::Gradient& gradient, float minv, float maxv, mol::Prop::Level level): - GradientColorOp(selection, mask, property, gradient, minv, maxv), level_(level){ - + GradientColorOp(selection, mask, property, gradient, minv, maxv), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const String& selection, const String& property, const gfx::Gradient& gradient, mol::Prop::Level level): - GradientColorOp(selection, property, gradient), level_(level){ - + GradientColorOp(selection, property, gradient), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient, mol::Prop::Level level): - GradientColorOp(selection, mask, property, gradient), level_(level){ - + GradientColorOp(selection, mask, property, gradient), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view, @@ -68,8 +73,9 @@ GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_vi const gfx::Gradient& gradient, float minv, float maxv, mol::Prop::Level level): - GradientColorOp(query_view, property, gradient, minv, maxv), level_(level){ - + GradientColorOp(query_view, property, gradient, minv, maxv), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view, int mask, @@ -77,24 +83,32 @@ GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_vi const gfx::Gradient& gradient, float minv, float maxv, mol::Prop::Level level): - GradientColorOp(query_view, mask, property, gradient, minv, maxv), level_(level){ - + GradientColorOp(query_view, mask, property, gradient, minv, maxv), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient, mol::Prop::Level level): - GradientColorOp(query_view, property, gradient), level_(level){ - + GradientColorOp(query_view, property, gradient), level_(level) +{ + this->Init(); } GradientLevelColorOp::GradientLevelColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient, mol::Prop::Level level): - GradientColorOp(query_view, mask, property, gradient), level_(level){ + GradientColorOp(query_view, mask, property, gradient), level_(level) +{ + this->Init(); +} +void GradientLevelColorOp::Init() +{ + this->SetName("Gradient level"); } bool GradientLevelColorOp::CanApplyTo(const GfxObjP& obj) const{ @@ -143,17 +157,17 @@ gfx::GradientLevelColorOp GradientLevelColorOp::FromInfo(info::InfoGroup& group) int l; ss >> l; mol::Prop::Level level = mol::Prop::Level(l); - String selection = gop.GetSelection(); + mol::QueryViewWrapper wrapper(gop.GetSelection(),gop.GetSelectionFlags()); String property = gop.GetProperty(); int mask = gop.GetMask(); gfx::Gradient gradient = gop.GetGradient(); float minv = gop.GetMinV(); float maxv = gop.GetMaxV(); if(gop.GetCalculateMinMax()){ - return gfx::GradientLevelColorOp(selection, mask, property, gradient, level); + return gfx::GradientLevelColorOp(wrapper, mask, property, gradient, level); } else{ - return gfx::GradientLevelColorOp(selection, mask, property, gradient, minv, maxv, level); + return gfx::GradientLevelColorOp(wrapper, mask, property, gradient, minv, maxv, level); } } diff --git a/modules/gfx/src/color_ops/gradient_level_color_op.hh b/modules/gfx/src/color_ops/gradient_level_color_op.hh index d0c1cac667f41b28f9b7b8b5e4cf11c656f6d686..5dd6a854b6d9b9c96d7327a65600f10b3f3e12eb 100644 --- a/modules/gfx/src/color_ops/gradient_level_color_op.hh +++ b/modules/gfx/src/color_ops/gradient_level_color_op.hh @@ -76,6 +76,7 @@ public: static gfx::GradientLevelColorOp FromInfo(info::InfoGroup& group); private: + void Init(); mol::Prop::Level level_; }; diff --git a/modules/gfx/src/color_ops/map_handle_color_op.cc b/modules/gfx/src/color_ops/map_handle_color_op.cc index c8cf2ebb7a9895187140f314f50c038a13b5eb6d..0bb2fc598d2607408f043ee9cf7f61ee26225dd8 100644 --- a/modules/gfx/src/color_ops/map_handle_color_op.cc +++ b/modules/gfx/src/color_ops/map_handle_color_op.cc @@ -26,20 +26,33 @@ namespace ost { namespace gfx { MapHandleColorOp::MapHandleColorOp() : GradientColorOp(), mh_(){ - + this->Init(); } MapHandleColorOp::MapHandleColorOp(const String& selection, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) : - GradientColorOp(selection, property, gradient, minv, maxv), mh_(mh){ } + GradientColorOp(selection, property, gradient, minv, maxv), mh_(mh){ + this->Init(); +} MapHandleColorOp::MapHandleColorOp(const String& selection, int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) : - GradientColorOp(selection, mask, property, gradient, minv, maxv), mh_(mh){ } + GradientColorOp(selection, mask, property, gradient, minv, maxv), mh_(mh){ + this->Init(); +} MapHandleColorOp::MapHandleColorOp(const mol::QueryViewWrapper& query_view, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) : - GradientColorOp(query_view, property, gradient, minv, maxv), mh_(mh){ } + GradientColorOp(query_view, property, gradient, minv, maxv), mh_(mh){ + this->Init(); +} MapHandleColorOp::MapHandleColorOp(const mol::QueryViewWrapper& query_view, int mask, const String& property, const gfx::Gradient& gradient, float minv, float maxv, const img::MapHandle& mh) : - GradientColorOp(query_view, mask, property, gradient, minv, maxv), mh_(mh){ } + GradientColorOp(query_view, mask, property, gradient, minv, maxv), mh_(mh){ + this->Init(); +} + +void MapHandleColorOp::Init() +{ + this->SetName("MapHandle gradient"); +} bool MapHandleColorOp::CanApplyTo(const GfxObjP& obj) const{ if(dynamic_cast<Entity*>(obj.get())){ @@ -82,14 +95,14 @@ gfx::MapHandleColorOp MapHandleColorOp::FromInfo(info::InfoGroup& group){ info::InfoGroup super_group = group.GetGroup("GradientColorOp"); gfx::GradientColorOp gop = GradientColorOp::FromInfo(super_group); std::istringstream ss(group.GetTextData()); - String selection = gop.GetSelection(); + mol::QueryViewWrapper wrapper(gop.GetSelection(),gop.GetSelectionFlags()); gfx::Gradient gradient = gop.GetGradient(); int mask = gop.GetMask(); String property = gop.GetProperty(); float minv = gop.GetMinV(); float maxv = gop.GetMaxV(); //TODO load map handle - return gfx::MapHandleColorOp(selection, mask, property, gradient, minv, maxv, img::MapHandle()); + return gfx::MapHandleColorOp(wrapper, mask, property, gradient, minv, maxv, img::MapHandle()); } }} diff --git a/modules/gfx/src/color_ops/map_handle_color_op.hh b/modules/gfx/src/color_ops/map_handle_color_op.hh index 3dd6b302c36f16e6883f0f805ea01d3ff6ed89ac..2340e334318e3c0dca265d46702f75e3d521614d 100644 --- a/modules/gfx/src/color_ops/map_handle_color_op.hh +++ b/modules/gfx/src/color_ops/map_handle_color_op.hh @@ -52,6 +52,7 @@ public: static gfx::MapHandleColorOp FromInfo(info::InfoGroup& group); private: + void Init(); img::MapHandle mh_; }; diff --git a/modules/gfx/src/color_ops/uniform_color_op.cc b/modules/gfx/src/color_ops/uniform_color_op.cc index 8247fb0d2e3bd6a41a246139f7c26472aad26be0..91f0fb2fb118789a725cd1b9a85cbc9cd4081d95 100644 --- a/modules/gfx/src/color_ops/uniform_color_op.cc +++ b/modules/gfx/src/color_ops/uniform_color_op.cc @@ -27,29 +27,36 @@ namespace ost { namespace gfx { UniformColorOp::UniformColorOp() : ColorOp(), color_(){ - + this->Init(); } UniformColorOp::UniformColorOp(const String& selection, const gfx::Color& color): ColorOp(selection), color_(color){ - + this->Init(); } UniformColorOp::UniformColorOp(const String& selection, int mask, const gfx::Color& color): ColorOp(selection,mask), color_(color){ + this->Init(); } UniformColorOp::UniformColorOp(const mol::QueryViewWrapper& query_view, const gfx::Color& color): ColorOp(query_view), color_(color){ - + this->Init(); } UniformColorOp::UniformColorOp(const mol::QueryViewWrapper& query_view, int mask, const gfx::Color& color): ColorOp(query_view,mask), color_(color){ + this->Init(); +} + +void UniformColorOp::Init() +{ + this->SetName("Uniform color"); } bool UniformColorOp::CanApplyTo(const GfxObjP& obj) const @@ -97,9 +104,9 @@ gfx::UniformColorOp UniformColorOp::FromInfo(info::InfoGroup& group) float r, g, b, a; ss >> r >> g >> b >> a; Color c = Color(r,g,b,a); - String selection = op.GetSelection(); + mol::QueryViewWrapper wrapper(op.GetSelection(),op.GetSelectionFlags()); int mask = op.GetMask(); - return gfx::UniformColorOp(selection,mask,c); + return gfx::UniformColorOp(wrapper,mask,c); } }} diff --git a/modules/gfx/src/color_ops/uniform_color_op.hh b/modules/gfx/src/color_ops/uniform_color_op.hh index 03e7ccd7f5f4f878b5cef81e7b8beb48bb5adb04..4ebef48bf70f2b656165e29ac3e41a20718efaa7 100644 --- a/modules/gfx/src/color_ops/uniform_color_op.hh +++ b/modules/gfx/src/color_ops/uniform_color_op.hh @@ -50,6 +50,7 @@ public: virtual void ToInfo(info::InfoGroup& group) const; static gfx::UniformColorOp FromInfo(info::InfoGroup& group); private: + void Init(); gfx::Color color_; }; diff --git a/modules/gfx/src/entity.cc b/modules/gfx/src/entity.cc index 7b816f33c3752fa6a95e6b4287d2d0cbf30030de..475b3b218c9ece756246399c44e9934fbb33a25e 100644 --- a/modules/gfx/src/entity.cc +++ b/modules/gfx/src/entity.cc @@ -439,7 +439,8 @@ bool Entity::OnSelect(const geom::Line3& line, geom::Vec3& result, std::ostringstream os; os << GetName() << ": " << sel.GetQualifiedName() << " " - << sel.GetPos(); + << sel.GetPos() << " (ele=" << sel.GetElement() << ", bfactor=" + << sel.GetBFactor() << ")"; Scene::Instance().StatusMessage(os.str()); if(!pick_flag) { @@ -449,13 +450,13 @@ bool Entity::OnSelect(const geom::Line3& line, geom::Vec3& result, if(smode==1) { AtomView av = sel_.FindAtom(sel.GetHandle()); if(av.IsValid()) { - LOGN_DEBUG("de-selected atom: " << sel); + LOG_DEBUG("de-selected atom: " << sel); sel_.RemoveAtom(av); if(av.GetResidue().GetAtomCount()==0){ av.GetResidue().GetChain().RemoveResidue(av.GetResidue()); } } else { - LOGN_DEBUG("selected atom: " << sel); + LOG_DEBUG("selected atom: " << sel); sel_.AddAtom(sel.GetHandle()); } result = sel.GetPos(); @@ -463,10 +464,10 @@ bool Entity::OnSelect(const geom::Line3& line, geom::Vec3& result, AtomView av=sel_.FindAtom(sel); ResidueView rv=sel_.FindResidue(sel.GetResidue()); if(av.IsValid() && rv.IsValid()) { - LOGN_DEBUG("de-selected residue: " << sel.GetResidue()); + LOG_DEBUG("de-selected residue: " << sel.GetResidue()); sel_.RemoveResidue(rv); } else { - LOGN_DEBUG("selected residue: " << sel.GetResidue()); + LOG_DEBUG("selected residue: " << sel.GetResidue()); sel_.AddResidue(sel.GetResidue(),ViewAddFlag::INCLUDE_ALL); } AtomHandle ca=sel.GetHandle().GetResidue().GetCentralAtom(); @@ -478,10 +479,10 @@ bool Entity::OnSelect(const geom::Line3& line, geom::Vec3& result, ChainHandle chain=sel.GetHandle().GetResidue().GetChain(); ChainView cv = sel_.FindChain(chain); if(cv.IsValid()) { - LOGN_DEBUG("de-selected chain: " << chain); + LOG_DEBUG("de-selected chain: " << chain); sel_.RemoveChain(cv); } else { - LOGN_DEBUG("selected chain: " << chain); + LOG_DEBUG("selected chain: " << chain); sel_.AddChain(chain, ViewAddFlag::INCLUDE_ALL); } result = geom::Vec3(); // todo calculate center of mass @@ -497,7 +498,7 @@ bool Entity::OnSelect(const geom::Line3& line, geom::Vec3& result, } } if(sel) { - LOGN_MESSAGE("picked " << sel.GetResidue().GetChain().GetName() << " " + LOG_INFO("picked " << sel.GetResidue().GetChain().GetName() << " " << sel.GetResidue().GetNumber() << " " << sel.GetName()); return true; } @@ -870,7 +871,7 @@ void Entity::RadiusBy(const String& prop, it->rad=clamp(normalize(epm.Get(it->atom), minv, maxv),0.0,1.0)*(rmax-rmin)+rmin; max_rad_=std::max(max_rad_,it->rad); } catch (std::exception&) { - LOGN_DEBUG("property " << prop << " not found"); + LOG_DEBUG("property " << prop << " not found"); } } } @@ -963,11 +964,13 @@ void Entity::Apply(const gfx::ByElementColorOp& op, bool store) void Entity::Apply(const gfx::ByChainColorOp& op, bool store) { + const_cast<gfx::ByChainColorOp&>(op).SetChainCount(this->GetView().GetChainCount()); if(store){ ByChainColorOp* op_ptr = new ByChainColorOp(op); this->AppendColorOp(op_ptr); } apply_color_op_to_renderer_list(renderer_.begin(), renderer_.end(), op); + const_cast<gfx::ByChainColorOp&>(op).SetChainCount(0); FlagRebuild(); } diff --git a/modules/gfx/src/gfx_node.cc b/modules/gfx/src/gfx_node.cc index 395658e960b3e6226edbdbfe2e346192d0b4ad4f..d4ba1d11740e626e916a35c2e849fedb304749f0 100644 --- a/modules/gfx/src/gfx_node.cc +++ b/modules/gfx/src/gfx_node.cc @@ -16,6 +16,7 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <boost/bind.hpp> #include <ost/dyn_cast.hh> #include "gfx_node.hh" #include "gfx_object.hh" @@ -113,6 +114,17 @@ void GfxNode::Remove(GfxObjP obj) node_vector_.erase(it); } } +using boost::bind; +void GfxNode::RemoveAll() +{ + GfxNodeVector v=node_vector_; + node_vector_.clear(); + for (GfxNodeVector::iterator i=v.begin(), e=v.end(); i!=e; ++i) { + if (GfxObjP o=dyn_cast<GfxObj>(*i)) { + Scene::Instance().NotifyObservers(bind(&SceneObserver::NodeRemoved, _1, o)); + } + } +} void GfxNode::Add(GfxNodeP node) { diff --git a/modules/gfx/src/gfx_node.hh b/modules/gfx/src/gfx_node.hh index eb4fcc2bb85b8243e87ced85c056c260c0fdb900..4f3ceaf1f9614d3b6532659878d32770ecb47679 100644 --- a/modules/gfx/src/gfx_node.hh +++ b/modules/gfx/src/gfx_node.hh @@ -68,6 +68,8 @@ class DLLEXPORT_OST_GFX GfxNode: public boost::enable_shared_from_this<GfxNode> // return name String GetName() const; + // remove all child nodes + void RemoveAll(); // change name void Rename(const String& name); diff --git a/modules/gfx/src/gfx_object.cc b/modules/gfx/src/gfx_object.cc index 8e992a0f7d763da5197e4c1f0395aaa24991836a..0451739c2843b91b0f1af335bc587b48cd264c2c 100644 --- a/modules/gfx/src/gfx_object.cc +++ b/modules/gfx/src/gfx_object.cc @@ -490,7 +490,7 @@ void GfxObj::OnRenderModeChange() void GfxObj::PreRenderGL(bool f) { - LOGN_DUMP("object " << GetName() << ": PreRenderGL()"); + LOG_DEBUG("object " << GetName() << ": PreRenderGL()"); CustomPreRenderGL(f); } diff --git a/modules/gfx/src/gfx_test_object.cc b/modules/gfx/src/gfx_test_object.cc index 83ae9b329d38db8f17d534c4b871e65e008f0e64..71bae115a073d9557ca8a51251c7b6b3a87d66f8 100644 --- a/modules/gfx/src/gfx_test_object.cc +++ b/modules/gfx/src/gfx_test_object.cc @@ -60,11 +60,12 @@ GfxTestObj::GfxTestObj(): String ost_root=GetSharedDataPath(); bf::path ost_root_dir(ost_root); bf::path tex_file(ost_root_dir / "textures/test_texture.png"); + Texture tex(BitmapImport(tex_file.string(),".png")); if(!tex.IsValid()) { LOGN_ERROR("error loading " << tex_file.string()); } else { - LOGN_VERBOSE("importing tex with id " << tex_id); + LOG_DEBUG("importing tex with id " << tex_id); glBindTexture(GL_TEXTURE_2D, tex_id); glPixelStorei(GL_UNPACK_ALIGNMENT,1); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); diff --git a/modules/gfx/src/gradient.cc b/modules/gfx/src/gradient.cc index 7b9566a1bb64d3c18bd13ed8e650e2f645c6cd11..e0b50a92f09e6a92ddf8892c58fbd3de1244e067 100644 --- a/modules/gfx/src/gradient.cc +++ b/modules/gfx/src/gradient.cc @@ -23,6 +23,8 @@ #include <ost/info/info.hh> #include <ost/info/info_fw.hh> +#include <ost/gfx/gradient_manager.hh> + namespace ost { namespace gfx { @@ -30,6 +32,16 @@ Gradient::Gradient() { } +Gradient::Gradient(const String& name) +{ + Gradient gradient = GradientManager::Instance().GetGradient(name); + StopList stops = gradient.GetStops(); + for(unsigned int i = 0; i < stops.size(); i++){ + Stop stop = stops[i]; + this->SetColorAt(stop.t, stop.color); + } +} + void Gradient::SetColorAt(float t, const Color& c) { std::vector<Stop>::iterator i; @@ -44,7 +56,7 @@ void Gradient::SetColorAt(float t, const Color& c) Color Gradient::GetColorAt(float t) const { if (stops_.empty()) - return Color(0.0, 0.0, 0.0, 1.0); + throw Error("Can not calculate color with 0 Stops set!"); uint c=0; while (t>=stops_[c].t && c<stops_.size()) { diff --git a/modules/gfx/src/gradient.hh b/modules/gfx/src/gradient.hh index a27136528fa36cb52bf7a175191151d2fc08fee9..5b28b849b05e81af567bce2232b768f8b619ec62 100644 --- a/modules/gfx/src/gradient.hh +++ b/modules/gfx/src/gradient.hh @@ -71,6 +71,9 @@ class DLLEXPORT_OST_GFX Gradient { public: Gradient(); + + Gradient(const String& name); + /// \brief get color Color GetColorAt(float t) const; /// \brief set color diff --git a/modules/gfx/src/gradient_manager.cc b/modules/gfx/src/gradient_manager.cc new file mode 100644 index 0000000000000000000000000000000000000000..9b6fb63f75e07f7d77e07fbde670251e3e717caa --- /dev/null +++ b/modules/gfx/src/gradient_manager.cc @@ -0,0 +1,91 @@ +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + Author: Stefan Scheuber +*/ +#include "boost/filesystem/operations.hpp" + +#include <ost/platform.hh> + +#include <ost/info/info.hh> + +#include "gradient_manager.hh" + +namespace ost { namespace gfx { + +String STORED_GRADIENT_PATH = "/scene/gradients.xml"; + +GradientManager& GradientManager::Instance() +{ + static GradientManager inst; + return inst; +} + +GradientManager::GradientManager() +{ + String path = GetSharedDataPath()+STORED_GRADIENT_PATH; + if(boost::filesystem::exists(path)){ + info::InfoHandle info_handler = info::LoadInfo(path); + if(info_handler.HasGroup("Gradients")){ + info::InfoGroup gradients = info_handler.GetGroup("Gradients"); + info::InfoGroupList list = gradients.GetGroups("Gradient"); + for(unsigned int i = 0; i< list.size();i++){ + info::InfoGroup info_gradient = list[i]; + String name = info_gradient.GetAttribute("Name"); + Gradient gradient = Gradient::GradientFromInfo(info_gradient); + this->SetGradient(name,gradient); + } + } + } +} + +GradientManager::~GradientManager() +{ + +} + +const std::vector<String> GradientManager::GetGradientNames() const +{ + std::vector<String> keys; + for(std::map<String , Gradient>::const_iterator it = gradients_.begin(); it != gradients_.end(); ++it) { + keys.push_back(it->first); + } + return keys; +} + +const Gradient& GradientManager::GetGradient(String name) const +{ + std::map<String,Gradient>::const_iterator it=gradients_.find(name); + if(gradients_.end() != it){ + return gradients_[name]; + } + return empty_gradient_; +} + +void GradientManager::SetGradient(String name, Gradient gradient) +{ + gradients_[name] = gradient; +} + +void GradientManager::RemoveGradient(String name) +{ + std::map<String,Gradient>::const_iterator it=gradients_.find(name); + if(gradients_.end() != it){ + gradients_.erase(name); + } +} + +}} //ns diff --git a/modules/gui/src/query_dialog.hh b/modules/gfx/src/gradient_manager.hh similarity index 60% rename from modules/gui/src/query_dialog.hh rename to modules/gfx/src/gradient_manager.hh index dc2deb91337e4760770b5e4f17928f37227d2f56..7551570bae93049c36a6d5bf4505ed2eafa07b86 100644 --- a/modules/gui/src/query_dialog.hh +++ b/modules/gfx/src/gradient_manager.hh @@ -16,44 +16,41 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_GUI_QUERY_DIALOG_HH -#define OST_GUI_QUERY_DIALOG_HH +#ifndef OST_GFX_GRADIENT_MANAGER_HH +#define OST_GFX_GRADIENT_MANAGER_HH -/* - Author: Marco Biasini - */ +#include <vector> +#include <map> + +#include <ost/gfx/module_config.hh> +#include <ost/gfx/gradient.hh> -#include <ost/gui/module_config.hh> +/* + Author: Stefan Scheuber +*/ -#include <QLabel> -#include <QDialog> -#include <QTextEdit> +namespace ost { namespace gfx { -namespace ost { namespace gui { +class +//DLLEXPORT_OST_GFX +GradientManager { -/// \brief dialog to enter query statement -class DLLEXPORT_OST_GUI QueryDialog : public QDialog { - Q_OBJECT public: - QueryDialog(QWidget* parent=NULL); - QString GetQueryString() const; + static GradientManager& Instance(); + const std::vector<String> GetGradientNames() const; + const Gradient& GetGradient(String name) const; -public slots: - void OnTextChanged(); + void SetGradient(String name, Gradient gradient); + void RemoveGradient(String name); -protected: - virtual void keyPressEvent(QKeyEvent* event); + virtual ~GradientManager(); private: - - void Colorize(); - QTextEdit* edit_; - QLabel* status_; - QTextCharFormat default_; - QTextCharFormat error_; - bool flag_set_; + GradientManager(); + mutable std::map<String, Gradient> gradients_; + Gradient empty_gradient_; }; - -}} -#endif +}} //ns + +#endif /* OST_GFX_GRADIENT_MANAGER_HH */ diff --git a/modules/gfx/src/impl/cgl_offscreen_buffer.cc b/modules/gfx/src/impl/cgl_offscreen_buffer.cc index 2fc1cd9d1f22d686fe385c97bbeb3c9a86838afd..ea5e3599b0c120240e369ecf5d20f7bfd976d56e 100644 --- a/modules/gfx/src/impl/cgl_offscreen_buffer.cc +++ b/modules/gfx/src/impl/cgl_offscreen_buffer.cc @@ -42,7 +42,7 @@ OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, GLint npix=0; CGLError err=CGLChoosePixelFormat(attributes, &pix_format_, &npix); if(err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLChoosePixFormat failed:" << CGLErrorString(err)); return; } @@ -54,14 +54,14 @@ OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, err=CGLCreateContext(pix_format_, NULL, &context_); } if(err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLCreateContext failed" << CGLErrorString(err)); return; } err=CGLCreatePBuffer(width, height, GL_TEXTURE_RECTANGLE_EXT, GL_RGBA, 0, &pbuffer_); if (err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLCreatePBuffer failed: " << CGLErrorString(err)); return; } @@ -69,7 +69,7 @@ OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, assert(CGLGetVirtualScreen(context_, &screen)==0); err=CGLSetPBuffer(context_, pbuffer_, 0, 0, screen); if (err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLSetPBuffer failed: " << CGLErrorString(err)); return; } @@ -83,7 +83,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) CGLError err=CGLCreatePBuffer(width, height, GL_TEXTURE_RECTANGLE_EXT, GL_RGBA, 0, &new_pbuffer); if (err) { - LOGN_ERROR("error resizing offscreen rendering context: " + LOG_ERROR("error resizing offscreen rendering context: " "CGLCreatePBuffer failed: " << CGLErrorString(err)); return false; } @@ -95,7 +95,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) err=CGLSetPBuffer(context_, new_pbuffer, 0, 0, screen); if (err) { - LOGN_ERROR("error resizing offscreen rendering context. " + LOG_ERROR("error resizing offscreen rendering context. " "CGLSetPBuffer failed: " << CGLErrorString(err)); return false; } @@ -112,7 +112,7 @@ bool OffscreenBuffer::MakeActive() if(active_) return true; if (CGLError err=CGLSetCurrentContext(context_)) { - LOGN_ERROR("error switching to offscreen rendering context. " + LOG_ERROR("error switching to offscreen rendering context. " "CGLSetCurrentContext failed: " << CGLErrorString(err)); return false; } diff --git a/modules/gfx/src/impl/connect_renderer_base.cc b/modules/gfx/src/impl/connect_renderer_base.cc index bc1dab565c98ebee107ca2787c7b841247d763e8..e54763a161b656d1fab6252bd7e9494c6dcb135b 100644 --- a/modules/gfx/src/impl/connect_renderer_base.cc +++ b/modules/gfx/src/impl/connect_renderer_base.cc @@ -137,21 +137,16 @@ inline void apply_color_op(ConnectRendererBase* rend, GfxView* v, T1 get_col, co return; } rend->UpdateViews(); + mol::EntityView view; if(op.IsSelectionOnly()){ - mol::Query q(op.GetSelection()); - for (AtomEntryMap::iterator it=v->atom_map.begin(); - it!=v->atom_map.end();++it) { - if (q.IsAtomSelected(it->second.atom)) { - it->second.color=get_col.ColorOfAtom(it->second.atom); - } - } + view = rend->GetEffectiveView().Select(op.GetSelection(),op.GetSelectionFlags()); } else{ - mol::EntityView view = op.GetView(); - for(AtomEntryMap::iterator it=v->atom_map.begin();it!=v->atom_map.end();++it){ - if(view.FindAtom(it->second.atom)){ - it->second.color=get_col.ColorOfAtom(it->second.atom); - } + view = op.GetView(); + } + for(AtomEntryMap::iterator it=v->atom_map.begin();it!=v->atom_map.end();++it){ + if(view.FindAtom(it->second.atom)){ + it->second.color=get_col.ColorOfAtom(it->second.atom); } } }; diff --git a/modules/gfx/src/impl/entity_renderer.hh b/modules/gfx/src/impl/entity_renderer.hh index c43bd5d3399ae6cf51bf3debe0aad3c623513c64..4b467c011087587a76a2b56343faacd240a527b4 100644 --- a/modules/gfx/src/impl/entity_renderer.hh +++ b/modules/gfx/src/impl/entity_renderer.hh @@ -207,17 +207,17 @@ struct UniformGetCol { }; struct GradientLevelGetCol { - GradientLevelGetCol(const GradientLevelColorOp& op):property_(op.GetProperty()), + GradientLevelGetCol(const GradientLevelColorOp& op): property_(op.GetProperty()), epm_(property_, op.GetLevel()), gradient_(op.GetGradient()), minv_(op.GetMinV()), maxv_(op.GetMaxV()){} Color ColorOfAtom(mol::AtomHandle& atom) const{ try{ - float n=Normalize(epm_.Get(atom), minv_, maxv_); + float n=Normalize(epm_.Get(atom, minv_), minv_, maxv_); return gradient_.GetColorAt(n); }catch(std::exception&){ - LOGN_DEBUG("property " << property_ << " not found"); + LOG_DEBUG("property " << property_ << " not found"); return Color(); } } diff --git a/modules/gfx/src/impl/glx_offscreen_buffer.cc b/modules/gfx/src/impl/glx_offscreen_buffer.cc index 78fc8cc7a603a1afb4bda93a161d2cd3d6b0df86..12489282e2e069777b70946c399c18f2df8fb864 100644 --- a/modules/gfx/src/impl/glx_offscreen_buffer.cc +++ b/modules/gfx/src/impl/glx_offscreen_buffer.cc @@ -30,16 +30,16 @@ namespace ost { namespace gfx { OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, const OffscreenBufferFormat& f, bool shared): width_(width), height_(height), valid_(false), active_(false) { - LOGN_DEBUG("offscreen buffer: checking for DISPLAY"); + LOG_DEBUG("offscreen buffer: checking for DISPLAY"); if(getenv("DISPLAY")==NULL) { - LOGN_ERROR("error creating offscreen rendering context: missing DISPLAY environment variable"); + LOG_ERROR("error creating offscreen rendering context: missing DISPLAY environment variable"); return; } - LOGN_DEBUG("offscreen buffer: XOpenDisplay"); + LOG_DEBUG("offscreen buffer: XOpenDisplay"); dpy_ = XOpenDisplay(getenv("DISPLAY")); if(dpy_==NULL) { - LOGN_ERROR("error creating offscreen rendering context: XOpenDisplay failed"); + LOG_ERROR("error creating offscreen rendering context: XOpenDisplay failed"); return; } @@ -63,10 +63,10 @@ OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, const attrib_list.push_back(0); int nelem=0; - LOGN_DEBUG("offscreen buffer: glXChooseFBConfig"); + LOG_DEBUG("offscreen buffer: glXChooseFBConfig"); fbconfig_ =glXChooseFBConfig(dpy_,0,&attrib_list[0],&nelem); if(fbconfig_==0 || nelem==0) { - LOGN_ERROR("error creating offscreen rendering context: glXChooseFBConfig failed"); + LOG_ERROR("error creating offscreen rendering context: glXChooseFBConfig failed"); return; } @@ -77,26 +77,26 @@ OffscreenBuffer::OffscreenBuffer(unsigned int width, unsigned int height, const attrib_list.push_back(height_); attrib_list.push_back(0); - LOGN_DEBUG("offscreen buffer: glXCreatePBuffer"); + LOG_DEBUG("offscreen buffer: glXCreatePBuffer"); pbuffer_ = glXCreatePbuffer(dpy_, fbconfig_[0], &attrib_list[0]); if(!pbuffer_) { - LOGN_ERROR("error creating offscreen rendering context: glXCreatePBuffer failed"); + LOG_ERROR("error creating offscreen rendering context: glXCreatePBuffer failed"); return; } if(shared) { - LOGN_DEBUG("offscreen buffer: glxCreateNewContext(shared=true)"); + LOG_DEBUG("offscreen buffer: glxCreateNewContext(shared=true)"); context_ = glXCreateNewContext(dpy_, fbconfig_[0], GLX_RGBA_TYPE, glXGetCurrentContext(), True); } else { - LOGN_DEBUG("offscreen buffer: glxCreateNewContext(shared=false)"); + LOG_DEBUG("offscreen buffer: glxCreateNewContext(shared=false)"); context_ = glXCreateNewContext(dpy_, fbconfig_[0], GLX_RGBA_TYPE, NULL, True); } if(!context_) { - LOGN_ERROR("error creating offscreen rendering context: glXCreateNewContext failed"); + LOG_ERROR("error creating offscreen rendering context: glXCreateNewContext failed"); glXDestroyPbuffer(dpy_, pbuffer_); return; } @@ -126,7 +126,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) GLXPbuffer new_pbuffer = glXCreatePbuffer(dpy_, fbconfig_[0], &attrib_list[0]); if(!new_pbuffer) { - LOGN_ERROR("offscreen rendering resize failed to allocate new pbuffer"); + LOG_ERROR("offscreen rendering resize failed to allocate new pbuffer"); return false; } @@ -134,7 +134,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) glXGetCurrentContext(), True); if(!new_context) { - LOGN_ERROR("offscreen rendering resize failed to get new context"); + LOG_ERROR("offscreen rendering resize failed to get new context"); return false; } @@ -155,7 +155,7 @@ bool OffscreenBuffer::MakeActive() if(active_) return true; if(!glXMakeContextCurrent(dpy_, pbuffer_, pbuffer_, context_)) { - LOGN_ERROR("error switching to offscreen rendering context: glXMakeContextCurrent failed"); + LOG_ERROR("error switching to offscreen rendering context: glXMakeContextCurrent failed"); return false; } return true; diff --git a/modules/gfx/src/impl/map_iso_gen.cc b/modules/gfx/src/impl/map_iso_gen.cc index 06e5fd1e633a59b3b3e7b65ca20c97fb59fce03b..d02ec1c4e88f49efc6491cda6817aad5502adf49 100644 --- a/modules/gfx/src/impl/map_iso_gen.cc +++ b/modules/gfx/src/impl/map_iso_gen.cc @@ -189,10 +189,9 @@ void IsosurfaceGenerator::Generate(const img::MapHandle& mh, IndexedVertexArray& if(static_cast<float>(rsis->Value(img::Point(us,vs+1,ws+1)))<level) pattern|=1<<5; if(static_cast<float>(rsis->Value(img::Point(us+1,vs+1,ws+1)))<level) pattern|=1<<6; if(static_cast<float>(rsis->Value(img::Point(us+1,vs,ws+1)))<level) pattern|=1<<7; - String msg; - std::stringstream msgs(msg); - msgs << u << " " << v << " " << w << ": " << pattern << " " << mh.GetReal(img::Point(u,v,w)) << std::endl; - LOG_VERBOSE(msgs); + + LOG_TRACE(u << " " << v << " " << w << ": " << pattern << " " + << mh.GetReal(img::Point(u,v,w))); /* set up already known vertex-ids from book keeping diff --git a/modules/gfx/src/impl/simple_renderer.cc b/modules/gfx/src/impl/simple_renderer.cc index 0d04e47c444ba3c6872a4611f6654f9163fb3185..a6684e5f9fcb7894453fcde0e265c647cbe101d5 100644 --- a/modules/gfx/src/impl/simple_renderer.cc +++ b/modules/gfx/src/impl/simple_renderer.cc @@ -80,7 +80,7 @@ geom::Vec3 SimpleRenderer::GetDoubleBondPlane(mol::BondHandle b) GetBondPartnerNormal(vec, n, bond_vec, partner2, a1, a2); if(n==0) { //set vec into x direction if no partners are present - vec.SetX(1); + vec.x=1; } vec=geom::Normalize(geom::Cross(vec,bond_vec)); return vec; @@ -140,7 +140,7 @@ void SimpleRenderer::PrepareRendering(GfxView& view, IndexedVertexArray& va) if(it->bond.GetBondOrder()==2) { vec=GetDoubleBondPlane(it->bond); } else { - vec.SetX(1); + vec.x=1; } Real dbd=options_->GetBondOrderDistance(); VertexID id00 = va.Add(p0+dbd*vec,geom::Vec3(),it->atom1->color); diff --git a/modules/gfx/src/impl/trace_renderer_base.cc b/modules/gfx/src/impl/trace_renderer_base.cc index 8ccf5e26ee514d6a4dae4d54062b94d765e52598..74317a47386708779b383e034ce1cce523eee845 100644 --- a/modules/gfx/src/impl/trace_renderer_base.cc +++ b/modules/gfx/src/impl/trace_renderer_base.cc @@ -42,6 +42,7 @@ inline void apply_color_op(TraceRendererBase* rend, BackboneTrace& trace_subset, { rend->UpdateViews(); ColorMask mask = op.GetMask(); + mol::EntityView view; if(op.IsSelectionOnly()){ mol::Query q(op.GetSelection()); for (int node_list=0; node_list<trace_subset.GetListCount(); ++node_list) { diff --git a/modules/gfx/src/input.hh b/modules/gfx/src/input.hh index 0ff9915e163f20cc4820122fe18a0e7c5d88cc05..43c311e34e9506ec0d843593b28dcdc14dbfee23 100644 --- a/modules/gfx/src/input.hh +++ b/modules/gfx/src/input.hh @@ -59,7 +59,7 @@ enum TransformTarget { TRANSFORM_RIGID, TRANSFORM_TORSION, TRANSFORM_ANGLE, - TRANSFORM_ROTAMER, + TRANSFORM_ROTAMER }; class DLLEXPORT_OST_GFX InputEvent { diff --git a/modules/gfx/src/map_iso.cc b/modules/gfx/src/map_iso.cc index 2c8c96d1e42edc92d328bd1f8ec99d6f54bff9fb..d8d0999e20f07dd82c45fa8b8f66446a0cbea097 100644 --- a/modules/gfx/src/map_iso.cc +++ b/modules/gfx/src/map_iso.cc @@ -24,8 +24,8 @@ #include <ost/profile.hh> #include <ost/profile.hh> #include <ost/base.hh> -#include <ost/img/alg/stat.hh> #include <ost/img/alg/discrete_shrink.hh> +#include <ost/img/alg/histogram.hh> #include "gl_helper.hh" #include "glext_include.hh" @@ -65,6 +65,9 @@ MapIso::MapIso(const String& name, const img::MapHandle& mh, float level): downsampled_mh_(), mh_(MapIso::DownsampleMap(mh)), octree_(mh_), + stat_calculated_(false), + histogram_calculated_(false), + histogram_bin_count_(100), level_(level), normals_calculated_(false), alg_(0), @@ -95,6 +98,9 @@ MapIso::MapIso(const String& name, const img::MapHandle& mh, downsampled_mh_(), mh_(MapIso::DownsampleMap(mh)), octree_(mh_), + stat_calculated_(false), + histogram_calculated_(false), + histogram_bin_count_(100), level_(level), normals_calculated_(false), alg_(a), @@ -129,8 +135,8 @@ geom::Vec3 MapIso::GetCenter() const geom::Vec3 nrvo = mh_.IndexToCoord(mh_.GetExtent().GetCenter()); return nrvo; } - -void MapIso::OnRenderModeChange() + +void MapIso::UpdateRenderParams() { if(GetRenderMode()==RenderMode::FILL || GetRenderMode()==RenderMode::OUTLINE) { @@ -153,7 +159,13 @@ void MapIso::OnRenderModeChange() va_.SetLineWidth(this->GetLineWidth()); va_.SetMode(0x2); // only lines va_.SetTwoSided(true); - } + } +} + +void MapIso::OnRenderModeChange() +{ + this->UpdateRenderParams(); + this->FlagRebuild(); GfxObj::OnRenderModeChange(); } @@ -161,9 +173,8 @@ void MapIso::CustomPreRenderGL(bool flag) { if(flag) { Rebuild(); - } else { - //RefreshVA(va_); } + RefreshVA(va_); } namespace { @@ -284,7 +295,7 @@ void MapIso::Rebuild() va_.CalcNormals(1.0); va_.DrawNormals(true); #endif - OnRenderModeChange(); + this->UpdateRenderParams(); } void MapIso::SetLevel(float l) @@ -294,6 +305,32 @@ void MapIso::SetLevel(float l) Scene::Instance().RequestRedraw(); } +void MapIso::CalculateStat() const +{ + mh_.ApplyIP(stat_); + stat_calculated_=true; +} + +void MapIso::CalculateHistogram() const +{ + histogram_ = img::alg::HistogramBase(histogram_bin_count_, + this->GetMinLevel(), this->GetMaxLevel()); + mh_.ApplyIP(histogram_); + histogram_calculated_=true; +} + +float MapIso::GetMinLevel() const +{ + if(!stat_calculated_)CalculateStat(); + return stat_.GetMinimum(); +} + +float MapIso::GetMaxLevel() const +{ + if(!stat_calculated_)CalculateStat(); + return stat_.GetMaximum(); +} + float MapIso::GetLevel() const { return level_; @@ -301,9 +338,27 @@ float MapIso::GetLevel() const float MapIso::GetStdDev() const { - img::alg::Stat stat; - mh_.Apply(stat); - return stat.GetStandardDeviation(); + if(!stat_calculated_)CalculateStat(); + return stat_.GetStandardDeviation(); +} + +void MapIso::SetHistogramBinCount(int count) +{ + if (count > 0){ + histogram_bin_count_ = count; + histogram_calculated_ = false; + } +} + +int MapIso::GetHistogramBinCount() const +{ + return histogram_bin_count_; +} + +std::vector<int> MapIso::GetHistogram() const +{ + if(!histogram_calculated_)CalculateHistogram(); + return histogram_.GetBins(); } img::ImageHandle& MapIso::GetMap() @@ -323,9 +378,8 @@ img::ImageHandle& MapIso::GetDownsampledMap() float MapIso::GetMean() const { - img::alg::Stat stat; - mh_.Apply(stat); - return static_cast<float>(stat.GetMean()); + if(!stat_calculated_)CalculateStat(); + return static_cast<float>(stat_.GetMean()); } void MapIso::SetNSF(float nsf) @@ -340,6 +394,8 @@ void MapIso::ShowDownsampledMap() { if (downsampled_mh_.IsValid()) mh_ = downsampled_mh_; MakeOctreeDirty(); + stat_calculated_ = false; + histogram_calculated_ = false; Rebuild(); Scene::Instance().RequestRedraw(); } @@ -349,6 +405,8 @@ void MapIso::ShowOriginalMap() { if (original_mh_.IsValid()) mh_ = original_mh_; MakeOctreeDirty(); + stat_calculated_ = false; + histogram_calculated_ = false; Rebuild(); Scene::Instance().RequestRedraw(); } @@ -384,7 +442,7 @@ img::ImageHandle MapIso::DownsampleMap(const img::ImageHandle& mh) uint downsampling_fact = compute_downsampling_fact(mh); img:: ImageHandle ret_mh = mh; if (downsampling_fact != 1) { - LOG_MESSAGE("Downsampling map for more comfortable visualization") + LOG_INFO("Downsampling map for more comfortable visualization") img::alg::DiscreteShrink shrink_alg(img::Size(downsampling_fact,downsampling_fact,downsampling_fact)); ret_mh = mh.Apply(shrink_alg); } diff --git a/modules/gfx/src/map_iso.hh b/modules/gfx/src/map_iso.hh index 5e45bd82f3881227634b63463c6a8c16253cdfc3..70319e7c7d310790d647d548902f1473da85f521 100644 --- a/modules/gfx/src/map_iso.hh +++ b/modules/gfx/src/map_iso.hh @@ -26,6 +26,9 @@ #include <boost/shared_ptr.hpp> #include <ost/img/map.hh> +#include <ost/img/alg/stat.hh> +#include <ost/img/alg/histogram.hh> + #include <ost/gfx/impl/map_octree.hh> #include "gfx_object.hh" #include "map_iso_prop.hh" @@ -72,6 +75,9 @@ public: /// Will force rebuild of the vertex buffers/indices void SetLevel(float l); + float GetMinLevel() const; + float GetMaxLevel() const; + /// \brief get current isocontouring level float GetLevel() const; @@ -81,6 +87,16 @@ public: /// \brief get std dev of map. float GetStdDev() const; + + /// \brief get histogram + std::vector<int> GetHistogram() const; + + /// \brief set Histogram bin count + void SetHistogramBinCount(int count); + + /// \brief get Histogram bin count + int GetHistogramBinCount() const; + /// \brief get the map handle of the currently displayed map // The following is a hack. For the DataViewer I need to pass a reference to an ImagHandle // that never goes out of scope, so I get a reference from here @@ -130,25 +146,33 @@ public: bool IfOctreeDirty() const; protected: + void UpdateRenderParams(); + void CalculateStat() const; + void CalculateHistogram() const; virtual void CustomPreRenderGL(bool flag); static img::ImageHandle DownsampleMap(const img::ImageHandle& mh); private: - img::MapHandle original_mh_; - img::MapHandle downsampled_mh_; - img::MapHandle mh_; - impl::MapOctree octree_; - float level_; - bool normals_calculated_; - uint alg_; - float smoothf_; - float min_; - float max_; - float std_dev_; - float min_max_; - bool debug_octree_; - Color color_; - bool dirty_octree_; + img::MapHandle original_mh_; + img::MapHandle downsampled_mh_; + img::MapHandle mh_; + impl::MapOctree octree_; + mutable img::alg::Stat stat_; + mutable bool stat_calculated_; + mutable img::alg::Histogram histogram_; + mutable bool histogram_calculated_; + int histogram_bin_count_; + float level_; + bool normals_calculated_; + uint alg_; + float smoothf_; + float min_; + float max_; + float std_dev_; + float min_max_; + bool debug_octree_; + Color color_; + bool dirty_octree_; }; }} diff --git a/modules/gfx/src/offscreen_buffer.cc b/modules/gfx/src/offscreen_buffer.cc index 278c77bb1fe85f7595716ecacd0d926064e8cdb0..b7b18792800465cefe69f3e96e5a1daac38a14fc 100644 --- a/modules/gfx/src/offscreen_buffer.cc +++ b/modules/gfx/src/offscreen_buffer.cc @@ -38,7 +38,7 @@ OffscreenBuffer& OffscreenBuffer::Instance() bool OffscreenBuffer::Begin() { - LOGN_DEBUG("switching to offscreen rendering"); + LOG_DEBUG("switching to offscreen rendering"); if(active_) return true; @@ -52,7 +52,7 @@ bool OffscreenBuffer::Begin() old_dr2_ = glXGetCurrentReadDrawable(); if(!glXMakeContextCurrent(dpy_, pbuffer_, pbuffer_, context_)) { - LOGN_ERROR("error switching to offscreen rendering context: glXMakeContextCurrent failed"); + LOG_ERROR("error switching to offscreen rendering context: glXMakeContextCurrent failed"); return false; } } @@ -62,7 +62,7 @@ bool OffscreenBuffer::Begin() if(context_ != old_context_) { if (CGLError err=CGLSetCurrentContext(context_)) { - LOGN_ERROR("error switching to offscreen rendering context. " + LOG_ERROR("error switching to offscreen rendering context. " "CGLSetCurrentContext failed: " << CGLErrorString(err)); return false; } @@ -73,7 +73,7 @@ bool OffscreenBuffer::Begin() if(context_ != old_context_) { dev_context_=wglGetCurrentDC(); if (BOOL err=wglMakeCurrent(dev_context_, context_)) { - LOGN_ERROR("error switching to offscreen rendering context. " + LOG_ERROR("error switching to offscreen rendering context. " "wglMakeCurrent failed: "); return false; } @@ -86,7 +86,7 @@ bool OffscreenBuffer::Begin() bool OffscreenBuffer::End() { - LOGN_DEBUG("switching back to normal rendering"); + LOG_DEBUG("switching back to normal rendering"); if(!active_) return true; @@ -132,7 +132,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) GLXPbuffer new_pbuffer = glXCreatePbuffer(dpy_, fbconfig_[0], &attrib_list[0]); if(!new_pbuffer) { - LOGN_ERROR("offscreen rendering resize failed"); + LOG_ERROR("offscreen rendering resize failed"); return false; } @@ -140,7 +140,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) glXGetCurrentContext(), True); if(!new_context) { - LOGN_ERROR("offscreen rendering resize failed to get new context"); + LOG_ERROR("offscreen rendering resize failed to get new context"); return false; } @@ -155,7 +155,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) CGLError err=CGLCreatePBuffer(width, height, GL_TEXTURE_RECTANGLE_EXT, GL_RGBA, 0, &new_pbuffer); if (err) { - LOGN_ERROR("error resizing offscreen rendering context: " + LOG_ERROR("error resizing offscreen rendering context: " "CGLCreatePBuffer failed: " << CGLErrorString(err)); return false; } @@ -163,7 +163,7 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) assert(CGLGetVirtualScreen(context_, &screen)==0); err=CGLSetPBuffer(context_, new_pbuffer, 0, 0, screen); if (err) { - LOGN_ERROR("error resizing offscreen rendering context. " + LOG_ERROR("error resizing offscreen rendering context. " "CGLSetPBuffer failed: " << CGLErrorString(err)); return false; } @@ -178,27 +178,27 @@ bool OffscreenBuffer::Resize(unsigned int width, unsigned int height) new_pbuffer = wglCreatePbufferARB(dev_context_, format, width, height, attribList); if (new_pbuffer == NULL) { - LOGN_ERROR("Error resizing offscreen rendering context (wglCreatePbufferARB failed)\n"); + LOG_ERROR("Error resizing offscreen rendering context (wglCreatePbufferARB failed)\n"); return false; } dev_context_ = wglGetPbufferDCARB(new_pbuffer); if (dev_context_ == NULL) { - LOGN_ERROR("Unable to retrieve handle to resized pbuffer device context\n"); + LOG_ERROR("Unable to retrieve handle to resized pbuffer device context\n"); return false; } context_ = wglCreateContext(dev_context_); if (context_ == NULL) { - LOGN_ERROR("Unable to create a rendering context for the resized pbuffer\n"); + LOG_ERROR("Unable to create a rendering context for the resized pbuffer\n"); return false; } // //if (!wglShareLists(old_context_, context_)) //{ - // LOGN_ERROR("Unable to share data between resized rendering contexts\n"); + // LOG_ERROR("Unable to share data between resized rendering contexts\n"); // return; //} */ @@ -228,12 +228,12 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, #if defined(__linux__) if(getenv("DISPLAY")==NULL) { - LOGN_ERROR("error creating offscreen rendering context: missing DISPLAY environment variable"); + LOG_ERROR("error creating offscreen rendering context: missing DISPLAY environment variable"); return; } dpy_ = XOpenDisplay(getenv("DISPLAY")); if(dpy_==NULL) { - LOGN_ERROR("error creating offscreen rendering context: XOpenDisplay failed"); + LOG_ERROR("error creating offscreen rendering context: XOpenDisplay failed"); return; } @@ -259,7 +259,7 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, int nelem=0; fbconfig_ =glXChooseFBConfig(dpy_,0,&attrib_list[0],&nelem); if(fbconfig_==0 || nelem==0) { - LOGN_ERROR("error creating offscreen rendering context: glXChooseFBConfig failed"); + LOG_ERROR("error creating offscreen rendering context: glXChooseFBConfig failed"); return; } @@ -272,14 +272,14 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, pbuffer_ = glXCreatePbuffer(dpy_, fbconfig_[0], &attrib_list[0]); if(!pbuffer_) { - LOGN_ERROR("error creating offscreen rendering context: glXCreatePBuffer failed"); + LOG_ERROR("error creating offscreen rendering context: glXCreatePBuffer failed"); return; } context_ = glXCreateNewContext(dpy_, fbconfig_[0], GLX_RGBA_TYPE, glXGetCurrentContext(), True); if(!context_) { - LOGN_ERROR("error creating offscreen rendering context: glXCreateNewContext failed"); + LOG_ERROR("error creating offscreen rendering context: glXCreateNewContext failed"); return; } @@ -294,7 +294,7 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, GLint npix=0; CGLError err=CGLChoosePixelFormat(attributes, &pix_format_, &npix); if(err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLChoosePixFormat failed:" << CGLErrorString(err)); return; } @@ -302,14 +302,14 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, // lists. err=CGLCreateContext(pix_format_, CGLGetCurrentContext(), &context_); if(err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLCreateContext failed" << CGLErrorString(err)); return; } err=CGLCreatePBuffer(width, height, GL_TEXTURE_RECTANGLE_EXT, GL_RGBA, 0, &pbuffer_); if (err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLCreatePBuffer failed: " << CGLErrorString(err)); return; } @@ -317,7 +317,7 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, assert(CGLGetVirtualScreen(context_, &screen)==0); err=CGLSetPBuffer(context_, pbuffer_, 0, 0, screen); if (err) { - LOGN_ERROR("error creating offscreen rendering context. " + LOG_ERROR("error creating offscreen rendering context. " "CGLSetPBuffer failed: " << CGLErrorString(err)); return; } @@ -346,7 +346,7 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, wglChoosePixelFormatARB(dev_context_, attribList, NULL, 1, &format, &nformats); if (nformats == 0) { - LOGN_ERROR("Unable to find any RGBA32 floating point pixel formats\n"); + LOG_ERROR("Unable to find any RGBA32 floating point pixel formats\n"); return; } @@ -366,27 +366,27 @@ OffscreenBuffer::OffscreenBuffer(int width, int height, int r_bits, pbuffer_ = wglCreatePbufferARB(dev_context_, format, width, height, attribs); if (pbuffer_ == NULL) { - LOGN_ERROR("Unable to create floating point pbuffer (wglCreatePbufferARB failed)\n"); + LOG_ERROR("Unable to create floating point pbuffer (wglCreatePbufferARB failed)\n"); return; } old_dev_context_ = wglGetPbufferDCARB(pbuffer_); if (dev_context_ == NULL) { - LOGN_ERROR("Unable to retrieve handle to pbuffer device context\n"); + LOG_ERROR("Unable to retrieve handle to pbuffer device context\n"); return; } context_ = wglCreateContext(dev_context_); if (context_ == NULL) { - LOGN_ERROR("Unable to create a rendering context for the pbuffer\n"); + LOG_ERROR("Unable to create a rendering context for the pbuffer\n"); return; } if (!wglShareLists(old_context_, context_)) { - LOGN_ERROR("Unable to share data between rendering contexts\n"); + LOG_ERROR("Unable to share data between rendering contexts\n"); return; } */ diff --git a/modules/gfx/src/render_options/custom_render_options.cc b/modules/gfx/src/render_options/custom_render_options.cc index 8d121ca9d5948c6317587247a818094fd349c6da..eb4f62a43957d83045f1155939fb4e0758a2504c 100644 --- a/modules/gfx/src/render_options/custom_render_options.cc +++ b/modules/gfx/src/render_options/custom_render_options.cc @@ -46,6 +46,8 @@ void CustomRenderOptions::ApplyRenderOptions(RenderOptionsPtr render_options){ sphere_detail_=options->GetSphereDetail(); arc_detail_=options->GetArcDetail(); + sphere_rad_=options->GetSphereRad(); + bond_rad_=options->GetBondRad(); this->NotifyStateChange(); } diff --git a/modules/gfx/src/scene.cc b/modules/gfx/src/scene.cc index b2fbd79d54eb53c6dfefdf80fc8f0942fcac5938..8fc5eacfbf0fb4c909ee377200029da796ed2b76 100644 --- a/modules/gfx/src/scene.cc +++ b/modules/gfx/src/scene.cc @@ -643,21 +643,16 @@ void Scene::RenderGL() void Scene::Register(GLWinBase* win) { - LOG_DEBUG("scene: registered win @" << win << std::endl); + LOG_DEBUG("scene: registered win @" << win); win_=win; } void Scene::Unregister(GLWinBase* win) { - LOG_DEBUG("scene: unregistered win @" << win << std::endl); + LOG_DEBUG("scene: unregistered win @" << win); win_=0; } -template <typename ACTION> -void Scene::NotifyObservers(const ACTION& action) { - std::for_each(observers_.begin(), observers_.end(), action); -} - namespace { struct FindNode: public GfxNodeVisitor { FindNode(const String& n): nam(n), node() {} @@ -776,7 +771,7 @@ bool Scene::IsNameAvailable(String name) FindNode fn(name); Apply(fn); if(fn.node) { - LOGN_MESSAGE(name << " already exists as a scene node"); + LOG_INFO(name << " already exists as a scene node"); return false; } return true; @@ -826,6 +821,12 @@ void Scene::Remove(const GfxNodeP& go) this->NotifyObservers(bind(&SceneObserver::NodeRemoved, _1,go)); } +void Scene::RemoveAll() +{ + root_node_->RemoveAll(); + this->RequestRedraw(); +} + void Scene::Remove(const String& name) { FindNode fn(name); @@ -858,19 +859,27 @@ GfxObjP Scene::operator[](const String& name) FindNode fn(name); Apply(fn); if(!fn.node) { - LOGN_ERROR("error: " << name << " not found"); + LOG_ERROR("error: " << name << " not found"); return GfxObjP(); } GfxObjP nrvo = dyn_cast<GfxObj>(fn.node); if(!nrvo) { - LOGN_ERROR("error: " << name << " points to invalid entry"); + LOG_ERROR("error: " << name << " points to invalid entry"); } return nrvo; } +bool Scene::HasNode(const String& name) const +{ + FindNode fn(name); + this->Apply(fn); + return fn.node; +} + void Scene::Apply(const InputEvent& e, bool request_redraw) { - LOG_TRACE("Scene: received input: c=" << e.GetCommand() << " i=" << e.GetIndex() << " t=" << e.GetTarget() << std::endl); + LOG_TRACE("Scene: received input: c=" << e.GetCommand() + << " i=" << e.GetIndex() << " t=" << e.GetTarget()); /* TODO distribute event to transform that @@ -973,7 +982,7 @@ void Scene::Pick(int mx, int my, int mask) Vec3 v1=UnProject(Vec3(mx,my,0.0)); Vec3 v2=UnProject(Vec3(mx,my,1.0)); - LOG_DUMP("Scene pick: " << v1 << " " << v2 << " " << mask << std::endl); + LOG_DEBUG("Scene pick: " << v1 << " " << v2 << " " << mask); Scene::Instance().StatusMessage(""); @@ -1421,12 +1430,12 @@ void Scene::Export(const String& fname, unsigned int width, { int d_index=fname.rfind('.'); if (d_index==-1) { - LOGN_ERROR("no file extension specified"); + LOG_ERROR("no file extension specified"); return; } String ext = fname.substr(d_index); if(!(ext==".png")) { - LOGN_ERROR("unknown file format (" << ext << ")"); + LOG_ERROR("unknown file format (" << ext << ")"); return; } @@ -1476,12 +1485,12 @@ void Scene::Export(const String& fname, bool transparent) } int d_index=fname.rfind('.'); if (d_index==-1) { - LOGN_ERROR("no file extension specified"); + LOG_ERROR("no file extension specified"); return; } String ext = fname.substr(d_index); if(ext!=".png") { - LOGN_ERROR("unknown file format (" << ext << ")"); + LOG_ERROR("unknown file format (" << ext << ")"); return; } GLint vp[4]; @@ -1527,7 +1536,7 @@ void Scene::ExportPov(const std::string& fname, const std::string& wdir) void Scene::ResetProjection() { - LOGN_TRACE("scene: projection matrix " << fov_ << " " << znear_ << " " << zfar_); + LOG_TRACE("scene: projection matrix " << fov_ << " " << znear_ << " " << zfar_); stereo_projection(stereo_eye_); } @@ -1709,7 +1718,7 @@ void Scene::prep_glyphs() Bitmap bm = BitmapImport(tex_file.string(),".png"); if(!bm.data) return; - LOGN_DEBUG("importing glyph tex with id " << glyph_tex_id_); + LOG_DEBUG("importing glyph tex with id " << glyph_tex_id_); glBindTexture(GL_TEXTURE_2D, glyph_tex_id_); glPixelStorei(GL_UNPACK_ALIGNMENT,1); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); @@ -1723,7 +1732,7 @@ void Scene::prep_glyphs() } else if(bm.channels==4) { glTexImage2D(GL_TEXTURE_2D,0,GL_INTENSITY,bm.width,bm.height,0,GL_RGBA,GL_UNSIGNED_BYTE,bm.data.get()); } else { - LOGN_ERROR("unsupported glyph texture channel count of " << bm.channels); + LOG_ERROR("unsupported glyph texture channel count of " << bm.channels); return; } float ir = 1.0/8.0; @@ -1737,7 +1746,7 @@ void Scene::prep_glyphs() } for(int cc=128;cc<256;++cc) glyph_map_[cc]=Vec2(0.0,0.0); - LOGN_DEBUG("done loading glyphs"); + LOG_VERBOSE("done loading glyphs"); } void Scene::prep_blur() diff --git a/modules/gfx/src/scene.hh b/modules/gfx/src/scene.hh index 8f1b3b9c2f90557ed1e5e871e6c937b32ca519ea..ec4c0e13745832a3117d050899bb518da29c6739 100644 --- a/modules/gfx/src/scene.hh +++ b/modules/gfx/src/scene.hh @@ -315,6 +315,10 @@ class DLLEXPORT_OST_GFX Scene { void Remove(const GfxNodeP& go); /// remove graphical object from the scene void Remove(const String& name); + + /// \brief remove all objects from the scene + void RemoveAll(); + /// \brief rename an existing graphical object /// defunct for now bool Rename(const String& old_name, const String& new_name); @@ -322,6 +326,9 @@ class DLLEXPORT_OST_GFX Scene { /// \brief retrieve gfx object by name GfxObjP operator[](const String& name); + /// \brief whether the scene contains a node of the given name + bool HasNode(const String& name) const; + /// \brief actual event handling for scene (internal use) void Apply(const InputEvent& ie, bool request_redraw=true); @@ -394,8 +401,11 @@ protected: void RenderModeChanged(const String& name); private: + template <typename ACTION> - void NotifyObservers(const ACTION& action); + void NotifyObservers(const ACTION& action) { + std::for_each(observers_.begin(), observers_.end(), action); + } Scene(); Scene(const Scene&) {} Scene& operator=(const Scene&) {return *this;} diff --git a/modules/gfx/src/shader.cc b/modules/gfx/src/shader.cc index e95bdf25bc34cf1f53a475b956bd4444e66b8cc2..73a7eb38530636440e3d4a5415f36c2b05f486be 100644 --- a/modules/gfx/src/shader.cc +++ b/modules/gfx/src/shader.cc @@ -61,7 +61,7 @@ void Shader::PreGLInit() #if !defined(__APPLE__) GLenum err = glewInit(); if (GLEW_OK != err) { - LOGN_ERROR("glew failure: " << glewGetErrorString(err)); + LOG_ERROR("glew failure: " << glewGetErrorString(err)); assert(false); } #endif @@ -79,13 +79,13 @@ bool Shader::Compile(std::string shader_name, std::string shader_code, GLint sh_compiled; glGetShaderiv(shader_id, GL_COMPILE_STATUS, &sh_compiled); if(sh_compiled==GL_TRUE) { - LOGN_DEBUG("shader [" << shader_name << "] successfully compiled (" << shader_id << ")"); + LOG_VERBOSE("shader [" << shader_name << "] successfully compiled (" << shader_id << ")"); } else { GLint sh_log_length; glGetShaderiv(shader_id, GL_INFO_LOG_LENGTH, &sh_log_length); std::vector<GLchar> sh_log(sh_log_length+1); glGetShaderInfoLog(shader_id, sh_log_length, NULL, &sh_log[0]); - LOGN_VERBOSE("shader [" << shader_name << "] compilation failed:" << std::endl << String(&sh_log[0])); + LOG_ERROR("shader [" << shader_name << "] compilation failed:" << std::endl << String(&sh_log[0])); return false; } return true; @@ -96,10 +96,10 @@ bool Shader::Link(const std::vector<GLuint>& code_list, std::string pr_name, GLu shader_pr = glCreateProgram(); for(std::vector<GLuint>::const_iterator it=code_list.begin();it!=code_list.end();++it) { if(*it == 0) { - LOGN_DEBUG("skipping shader [" << pr_name << "] due to missing compiled code"); + LOG_WARNING("skipping shader [" << pr_name << "] due to missing compiled code"); return false; } - LOGN_DEBUG("attaching compiled shader id " << *it << " to " << shader_pr); + LOG_VERBOSE("attaching compiled shader id " << *it << " to " << shader_pr); glAttachShader(shader_pr,*it); } @@ -107,13 +107,13 @@ bool Shader::Link(const std::vector<GLuint>& code_list, std::string pr_name, GLu GLint pr_linked; glGetProgramiv(shader_pr,GL_LINK_STATUS,&pr_linked); if(pr_linked==GL_TRUE) { - LOGN_DEBUG("shader [" << pr_name << "] sucessfully linked"); + LOG_VERBOSE("shader [" << pr_name << "] sucessfully linked"); } else { GLint pr_log_length; glGetProgramiv(shader_pr, GL_INFO_LOG_LENGTH, &pr_log_length); std::vector<GLchar> pr_log(pr_log_length+1); glGetProgramInfoLog(shader_pr, pr_log_length, NULL, &pr_log[0]); - LOGN_VERBOSE("shader [" << pr_name << "] linking failed:" << std::endl << String(&pr_log[0])); + LOG_ERROR("shader [" << pr_name << "] linking failed:" << std::endl << String(&pr_log[0])); return false; } return true; @@ -197,7 +197,7 @@ void Shader::Setup() bf::path shader_file(shader_dir / shader_name); if(!bf::exists(shader_file)){ - LOGN_ERROR("not found: [" << shader_file.string() << "], cannot create shaders"); + LOG_ERROR("not found: [" << shader_file.string() << "], cannot create shaders"); continue; } @@ -347,7 +347,7 @@ void Shader::Activate(const String& name) if(!name.empty()) { std::map<String, GLuint>::iterator it = shader_program_map_.find(name); if(it!=shader_program_map_.end()) { - LOGN_DUMP("switching to shader [" << name << "]"); + LOG_VERBOSE("switching to shader [" << name << "]"); glUseProgram(it->second); current_program_=it->second; current_name_=name; @@ -356,11 +356,11 @@ void Shader::Activate(const String& name) return; } else { - LOGN_MESSAGE("shader program [" << name << "] not present"); + LOG_WARNING("shader program [" << name << "] not present"); return; } } - LOGN_DUMP("switching to fixed pipeline"); + LOG_VERBOSE("switching to fixed pipeline"); glUseProgram(0); current_program_=0; current_name_=""; @@ -410,14 +410,14 @@ void Shader::UpdateState() // update all settings GLint result; glGetIntegerv(GL_LIGHTING,&result); - LOGN_TRACE("setting lighting flag to " << result); + LOG_TRACE("setting lighting flag to " << result); glUniform1i(glGetUniformLocation(current_program_,"lighting_flag"),result); GLboolean bresult; glGetBooleanv(GL_LIGHT_MODEL_TWO_SIDE,&bresult); - LOGN_TRACE("setting two_sided flag to " << bresult); + LOG_TRACE("setting two_sided flag to " << bresult); glUniform1i(glGetUniformLocation(current_program_,"two_sided_flag"),bresult); glGetIntegerv(GL_FOG,&result); - LOGN_TRACE("setting fog flag to " << result); + LOG_TRACE("setting fog flag to " << result); glUniform1i(glGetUniformLocation(current_program_,"fog_flag"),result); glDisable(GL_COLOR_MATERIAL); diff --git a/modules/gfx/src/vertex_array.cc b/modules/gfx/src/vertex_array.cc index b47a682a9a8be373d41d61d3a9acf61af5fc12b1..ccd54b63e391c64047d94f270d741f9bd13a94db 100644 --- a/modules/gfx/src/vertex_array.cc +++ b/modules/gfx/src/vertex_array.cc @@ -38,7 +38,7 @@ #define VERTEX_ARRAY_CHECK_GL_ERROR(m) \ if((glerr=glGetError())!=0) { \ - LOGN_VERBOSE("Error during va buffer prep: " << m << " : " << gluErrorString(glerr)); \ + LOG_ERROR("Error during va buffer prep: " << m << " : " << gluErrorString(glerr)); \ return false; \ } @@ -159,7 +159,7 @@ unsigned int IndexedVertexArray::GetVertexCount() const void IndexedVertexArray::DumpVertices() const { for(uint i=0;i<entry_list_.size();++i) { - LOGN_MESSAGE("id=" << i << " v=" << entry_list_[i].v << " n=" << entry_list_[i].n << " c=" << entry_list_[i].c); + LOG_INFO("id=" << i << " v=" << entry_list_[i].v << " n=" << entry_list_[i].n << " c=" << entry_list_[i].c); } } @@ -390,7 +390,7 @@ void IndexedVertexArray::RenderGL() static bool use_buff=false; if(!initialized_) { - LOGN_DUMP("initializing vertex array lists"); + LOG_DEBUG("initializing vertex array lists"); #if OST_SHADER_SUPPORT_ENABLED if(!Scene::Instance().InOffscreenMode()) { glGenBuffers(7,buffer_id_); @@ -404,7 +404,7 @@ void IndexedVertexArray::RenderGL() dirty_=false; #if OST_SHADER_SUPPORT_ENABLED - LOGN_DUMP("checking buffer object availability"); + LOG_DEBUG("checking buffer object availability"); if(mode_&0x2 && aalines_flag_) { use_buff=false; } else { @@ -415,7 +415,7 @@ void IndexedVertexArray::RenderGL() glBindBuffer(GL_ARRAY_BUFFER,0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,0); } else { - LOGN_DUMP("using buffer objects for vertex array"); + LOG_DEBUG("using buffer objects for vertex array"); } #endif } @@ -424,7 +424,7 @@ void IndexedVertexArray::RenderGL() glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT); if(outline_mode_>0) { - LOGN_TRACE("outline rendering"); + LOG_TRACE("outline rendering"); if(outline_mat_update_) { glNewList(outline_mat_dlist_,GL_COMPILE); outline_mat_.RenderGL(); @@ -730,7 +730,7 @@ void IndexedVertexArray::CalcNormals(float smoothf) void IndexedVertexArray::CalcFullNormals() { - LOGN_DUMP("calculating normals for vertex array"); + LOG_DEBUG("calculating normals for vertex array"); // book keeping setup static NormalizerTriEntry nte={0,0,0,0,Vec3(),1.0}; @@ -788,7 +788,7 @@ void IndexedVertexArray::CalcFullNormals() norm+=nte.norm*nte.weight; //norm+=nte.norm*nve.weight; } else { - LOGN_DUMP("faulty vertex lookup in VA Normalize"); + LOG_DEBUG("faulty vertex lookup in VA Normalize"); } } norm=Normalize(norm); @@ -1110,9 +1110,9 @@ bool IndexedVertexArray::prep_buff() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, buffer_id_[VA_LINEINDEX_BUFFER]); VERTEX_ARRAY_CHECK_GL_ERROR("bind lindex buf"); glBufferData(GL_ELEMENT_ARRAY_BUFFER, - sizeof(unsigned int) * line_index_list_.size(), - &line_index_list_[0], - GL_STATIC_DRAW); + sizeof(unsigned int) * line_index_list_.size(), + &line_index_list_[0], + GL_STATIC_DRAW); VERTEX_ARRAY_CHECK_GL_ERROR("set lindex buf"); } @@ -1120,9 +1120,9 @@ bool IndexedVertexArray::prep_buff() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, buffer_id_[VA_TRIINDEX_BUFFER]); VERTEX_ARRAY_CHECK_GL_ERROR("bind tindex buf"); glBufferData(GL_ELEMENT_ARRAY_BUFFER, - sizeof(unsigned int) * tri_index_list_.size(), - &tri_index_list_[0], - GL_STATIC_DRAW); + sizeof(unsigned int) * tri_index_list_.size(), + &tri_index_list_[0], + GL_STATIC_DRAW); VERTEX_ARRAY_CHECK_GL_ERROR("set tindex buf"); } @@ -1130,9 +1130,9 @@ bool IndexedVertexArray::prep_buff() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, buffer_id_[VA_QUADINDEX_BUFFER]); VERTEX_ARRAY_CHECK_GL_ERROR("bind qindex buf"); glBufferData(GL_ELEMENT_ARRAY_BUFFER, - sizeof(unsigned int) * quad_index_list_.size(), - &quad_index_list_[0], - GL_STATIC_DRAW); + sizeof(unsigned int) * quad_index_list_.size(), + &quad_index_list_[0], + GL_STATIC_DRAW); VERTEX_ARRAY_CHECK_GL_ERROR("set qindex buf"); } @@ -1184,19 +1184,19 @@ void IndexedVertexArray::draw_ltq(bool use_buff) #endif } else { - LOGN_TRACE("setting up vertex array"); + LOG_TRACE("setting up vertex array"); glInterleavedArrays(GetFormat(),sizeof(Entry),&entry_list_[0]); if(!tri_index_list_.empty() && (mode_ & 0x4)) { - LOGN_TRACE("rendering vertex arras tris"); + LOG_TRACE("rendering vertex arras tris"); glDrawElements(GL_TRIANGLES,tri_index_list_.size(),GL_UNSIGNED_INT,&tri_index_list_[0]); } if(!quad_index_list_.empty() && (mode_ & 0x4)) { - LOGN_TRACE("rendering vertex arras quads"); + LOG_TRACE("rendering vertex arras quads"); glDrawElements(GL_QUADS,quad_index_list_.size(),GL_UNSIGNED_INT,&quad_index_list_[0]); } if(!line_index_list_.empty() && (mode_ & 0x2)) { - LOGN_TRACE("rendering vertex arras lines"); + LOG_TRACE("rendering vertex arras lines"); glDrawElements(GL_LINES,line_index_list_.size(),GL_UNSIGNED_INT,&line_index_list_[0]); } } @@ -1216,7 +1216,7 @@ void IndexedVertexArray::draw_p(bool use_buff) glDrawArrays(GL_POINTS,0,entry_list_.size()); #endif } else { - LOGN_TRACE("calling vertex array"); + LOG_TRACE("calling vertex array"); glInterleavedArrays(GetFormat(),sizeof(Entry),&entry_list_[0]); glDrawArrays(GL_POINTS,0,entry_list_.size()); } diff --git a/modules/gfx/tests/CMakeLists.txt b/modules/gfx/tests/CMakeLists.txt index fe6a3d670aac004534f5c650421273d47930cc3b..eff4ec11fa761b2dab392c8bd06c8e4952c8f249 100644 --- a/modules/gfx/tests/CMakeLists.txt +++ b/modules/gfx/tests/CMakeLists.txt @@ -1,5 +1,4 @@ set(OST_GFX_UNIT_TESTS - test_ent_pov_export.cc tests.cc ) if (ENABLE_IMG) diff --git a/modules/gui/doc/gui.rst b/modules/gui/doc/gui.rst new file mode 100644 index 0000000000000000000000000000000000000000..675bf6b139294abb9507955d9e4b1978ffb075b7 --- /dev/null +++ b/modules/gui/doc/gui.rst @@ -0,0 +1,22 @@ +:mod:`~ost.gui` -- Graphical User Interface +================================================================================ + +.. module:: ost.gui + +The GUI of OpenStructure is designed to be intuitive, flexible and extensible. + +.. image:: images/100622_gui.png + :width: 600 + +All parts of the GUI are exported to Python and can be expanded with +C++ Qt widgets as well as with PyQt widgets. Learn more about :doc:`python_cpp`. + +.. toctree:: + + layout + python_cpp + scene_win + tools + python_shell + sequence_viewer + diff --git a/website/raw/docs/tut/100208_OpenStructure_UI_Colored.png b/modules/gui/doc/images/100208_OpenStructure_UI_Colored.png similarity index 100% rename from website/raw/docs/tut/100208_OpenStructure_UI_Colored.png rename to modules/gui/doc/images/100208_OpenStructure_UI_Colored.png diff --git a/website/raw/docs/tut/100208_Scene_Win.png b/modules/gui/doc/images/100208_Scene_Win.png similarity index 100% rename from website/raw/docs/tut/100208_Scene_Win.png rename to modules/gui/doc/images/100208_Scene_Win.png diff --git a/website/raw/docs/tut/100208_Tools.png b/modules/gui/doc/images/100208_Tools.png similarity index 100% rename from website/raw/docs/tut/100208_Tools.png rename to modules/gui/doc/images/100208_Tools.png diff --git a/website/raw/docs/tut/100210_auto_completion.png b/modules/gui/doc/images/100210_auto_completion.png similarity index 100% rename from website/raw/docs/tut/100210_auto_completion.png rename to modules/gui/doc/images/100210_auto_completion.png diff --git a/website/raw/docs/tut/100210_multi_line.png b/modules/gui/doc/images/100210_multi_line.png similarity index 100% rename from website/raw/docs/tut/100210_multi_line.png rename to modules/gui/doc/images/100210_multi_line.png diff --git a/website/raw/docs/tut/100210_path_completion.png b/modules/gui/doc/images/100210_path_completion.png similarity index 100% rename from website/raw/docs/tut/100210_path_completion.png rename to modules/gui/doc/images/100210_path_completion.png diff --git a/website/raw/docs/tut/100210_single_line.png b/modules/gui/doc/images/100210_single_line.png similarity index 100% rename from website/raw/docs/tut/100210_single_line.png rename to modules/gui/doc/images/100210_single_line.png diff --git a/modules/gui/doc/images/100614_Inspector_gadget.png b/modules/gui/doc/images/100614_Inspector_gadget.png new file mode 100644 index 0000000000000000000000000000000000000000..a51df19f08231202b5697e2956c7e27c9db35fd2 Binary files /dev/null and b/modules/gui/doc/images/100614_Inspector_gadget.png differ diff --git a/modules/gui/doc/images/100614_context_menu_view.png b/modules/gui/doc/images/100614_context_menu_view.png new file mode 100644 index 0000000000000000000000000000000000000000..39a95e7c646360b13dfc3d8b133b5e60fc8695e1 Binary files /dev/null and b/modules/gui/doc/images/100614_context_menu_view.png differ diff --git a/modules/gui/doc/images/100614_entity_context_menu.png b/modules/gui/doc/images/100614_entity_context_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..edd1884276d890f2733130c7b34098ba37cb2e48 Binary files /dev/null and b/modules/gui/doc/images/100614_entity_context_menu.png differ diff --git a/modules/gui/doc/images/100615_conservation_1.png b/modules/gui/doc/images/100615_conservation_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3425bc9ec9c839ae00c48008ee64f93aad32acbf Binary files /dev/null and b/modules/gui/doc/images/100615_conservation_1.png differ diff --git a/modules/gui/doc/images/100615_conservation_2.png b/modules/gui/doc/images/100615_conservation_2.png new file mode 100644 index 0000000000000000000000000000000000000000..62fa128fbe19f06eb79585c163f649948d6f7982 Binary files /dev/null and b/modules/gui/doc/images/100615_conservation_2.png differ diff --git a/modules/gui/doc/images/100615_property_type.png b/modules/gui/doc/images/100615_property_type.png new file mode 100644 index 0000000000000000000000000000000000000000..e29b26d9be74dbca371044c0ccf1857fdf3a5e6c Binary files /dev/null and b/modules/gui/doc/images/100615_property_type.png differ diff --git a/modules/gui/doc/images/100615_secondary_structure.png b/modules/gui/doc/images/100615_secondary_structure.png new file mode 100644 index 0000000000000000000000000000000000000000..fffe0f08b359023544a5aaf6146c6f4f795b461c Binary files /dev/null and b/modules/gui/doc/images/100615_secondary_structure.png differ diff --git a/modules/gui/doc/images/100615_select_display_style.png b/modules/gui/doc/images/100615_select_display_style.png new file mode 100644 index 0000000000000000000000000000000000000000..8907c662352e76cfe91f5ff38cf18a47c8bb3d2e Binary files /dev/null and b/modules/gui/doc/images/100615_select_display_style.png differ diff --git a/modules/gui/doc/images/100616_copy_paste.png b/modules/gui/doc/images/100616_copy_paste.png new file mode 100644 index 0000000000000000000000000000000000000000..b5508add6dd85540ffdd82f318a23225ca105906 Binary files /dev/null and b/modules/gui/doc/images/100616_copy_paste.png differ diff --git a/modules/gui/doc/images/100616_zoom_in.png b/modules/gui/doc/images/100616_zoom_in.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1e19565036badac39f35ae0b9d4c98b174b9db Binary files /dev/null and b/modules/gui/doc/images/100616_zoom_in.png differ diff --git a/modules/gui/doc/images/100616_zoom_out.png b/modules/gui/doc/images/100616_zoom_out.png new file mode 100644 index 0000000000000000000000000000000000000000..9dbc1474ce678ecc59ff1be92326cba340f38100 Binary files /dev/null and b/modules/gui/doc/images/100616_zoom_out.png differ diff --git a/modules/gui/doc/images/100617_search_bar.png b/modules/gui/doc/images/100617_search_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..315ceadede69ae1d508b304b2fd77c44ba6bad45 Binary files /dev/null and b/modules/gui/doc/images/100617_search_bar.png differ diff --git a/modules/gui/doc/images/100622_gui.png b/modules/gui/doc/images/100622_gui.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec2da2072df7bfc41cf8c655c869bda6e697893 Binary files /dev/null and b/modules/gui/doc/images/100622_gui.png differ diff --git a/modules/gui/doc/images/100622_view_modes.png b/modules/gui/doc/images/100622_view_modes.png new file mode 100644 index 0000000000000000000000000000000000000000..60e27bd3df2e2a85db8d21026fd6414f59d9d361 Binary files /dev/null and b/modules/gui/doc/images/100622_view_modes.png differ diff --git a/modules/gui/doc/layout.rst b/modules/gui/doc/layout.rst new file mode 100644 index 0000000000000000000000000000000000000000..a36e78e59baf429c75f3a1cb2d6b42619fd3875e --- /dev/null +++ b/modules/gui/doc/layout.rst @@ -0,0 +1,328 @@ +Layout +================================================================================ +.. currentmodule:: ost.gui + +Most of the widgets are organized in a big main window which is divided into +four parts: the :class:`MainArea` and three panels (which are organized by the +:class:`PanelManager`) containing one or more smaller widgets: + +.. image:: images/100208_OpenStructure_UI_Colored.png + +The panels primarily contain widgets interacting with the 3D window. + +Drag and Drop support +-------------------------------------------------------------------------------- +The user interface of OpenStructure supports drag and drop events. Every file +format that is supported by Openstructure can be opened by dragging and dropping +it on the main window. When a python script (ending with .py) is being dropped +on the UI, the script will be executed. For any other file type (for example PDB +files, images and density maps), OpenStructure will try to load the file and +display it in the 3D window, in the data viewer for images or in the sequence +viewer. + +Perspective +-------------------------------------------------------------------------------- + +.. class:: Perspective + + The perspective manages the layout of the widgets inside the main window. + It contains important classes which itself manages again a sub part of the whole layout. + You can get the active perspective object from the gosty app: + + .. code-block:: python + + app=gui.GostyApp.Instance() + perspective=app.perspective + + .. method:: GetMainArea() + + Returns the main area which is used in this perspective. + + :rtype: :class:`MainArea` + + .. method:: GetMenu(name) + + Get QMenu that corresponds to the given name. + If it does not exist, it will be created and returned. + + :param name: The name of the menu + :type arg2: :class:`str` + :rtype: :class:`QtCore.QMenu` + + .. method:: GetMenuBar() + + Returns the Menubar of the Application. Can be used to add some menupoints. + + :rtype: :class:`QtCore.QMenuBar` + + .. method:: GetPanels() + + The PanelManager class organizes all the widgets in the side panels. + Returns the PanelManager instance which is used in this perspective. + + :rtype: :class:`PanelManager` + + .. method:: HideAllBars() + + Hides all side bars. Can be used if the MainArea should be expanded to full size. + + .. method:: StatusMessage(message) + + Set a status message. This method can also be called from Qt as slot. + + :param message: The message that will be displayed in the status bar. + :type message: :class:`str` + + + + +Main Area +-------------------------------------------------------------------------------- +Adding an own Widget +^^^^^^^^^^^^^^^^^^^^ +The :class:`MainArea` is a mdi (multi document interface). Therefore it's +possible to display multiple widgets in it. The following example demonstrates +how to add a widget to the MDI area: + + .. code-block:: python + + app=gui.GostyApp.Instance() + main_area=app.perspective.main_area + label=QtGui.QLabel("Hello World") + main_area.AddWidget("The beginning..", label) + +.. class:: MainArea + + It is implemented as a MDI (multi document interface). This allows you to add custom widgets to it. + + .. method:: AddPersistentWidget(title, name, widget [, window_state]) + + add a widget whose geometry is preserved across application relaunches. + For widgets that are volatile, use :meth:`AddWidget` + If tabbed mode is enabled, the widget geometry is ignored. + + :param title: string that is displayed in the gui + :type title: :class:`str` + :param name: is the unique name (within the scope of the main area) for the widget that is used to restore and save the widget geometry. + :type name: :class:`str` + :param widget: is the widget to be added to the main area + :type widget: :class:`QtCore.QWidget` + :param window_state: custom window_state for the widget. See Qt Documentation to learn more about WindowStates. + :type name: :class:`QWindowState` + + .. method:: AddPersistentWidget(title, name, widget, width, height, x, y) + + add a widget whose geometry is preserved across application relaunches + For widgets that are volatile, use #AddWidget() + If tabbed mode is enabled, the widget geometry is ignored. + + :param title: string that is displayed in the gui + :type title: :class:`str` + :param name: is the unique name (within the scope of the main area) for the widget that is used to restore and save the widget geometry. + :type name: :class:`str` + :param widget: is the widget to be added to the main area + :type widget: :class:`QtCore.QWidget` + :param width: width of the widget inside the mdi + :type width: :class:`int` + :param height: height of the widget inside the mdi + :type height: :class:`int` + :param x: x position of the widget inside the mdi + :type x: :class:`int` + :param y: y position of the widget inside the mdi + :type y: :class:`int` + + .. method:: AddWidget(title, widget) + + add volatile widget + + :param title: string that is displayed in the gui + :type title: :class:`str` + :param widget: is the widget to be added to the main area + :type widget: :class:`QtCore.QWidget` + + .. method:: ShowSubWindow(widget) + + display the given widget inside the main area + This method can be used to make a widget visible that has been added to the mdi area. + This method should only be called if you are sure, that the widget has been added to the main area. + Otherwise, there might be an unexpected behavior! + + :param widget: widget which you want to make visible + :type widget: :class:`QtCore.QWidget` + + + .. method:: HideSubWindow(widget) + + brief hides the given widget inside the main area + This method can be used to hide a widget that has been added to this mdi area. + This method should only be called if you are sure, that the widget has been added to the main area. + Otherwise, there might be an unexpected behavior! + + :param widget: widget which you want to hide + :type widget: :class:`QtCore.QWidget` + + .. method:: EnableTabbedMode(tabbed_mode) + + brief switch between free window and tabbed window mode + + :param tabbed_mode: whether you want to enable or disable the tabbed mode. Default is True + :type tabbed_mode: :class:`bool` + +Panels +-------------------------------------------------------------------------------- + +View Modes +^^^^^^^^^^ + +Each side panel can have different view modes. View modes can display the widgets +which are held by the Side Panel in a different style. Every panel has the +`splitter` and the `tabbed` view mode. The view mode can be changed in the Window +menu of the Menubar: + +.. image:: images/100622_view_modes.png + +Drag and Drop +^^^^^^^^^^^^^ + +The widgets which are held by a Side Panel can be moved to an other position in +the panel or even to another side panel. The widget can be moved by simply +clicking on the border of the widget and drag and drop it to the desired position. +The drag and drop feature is currently supported by the splitter as well as the tabbed view mode. + +Adding a custom Widget +^^^^^^^^^^^^^^^^^^^^^^ + +The Left-, Bottom- and Right-Panel are organized by the :class:`PanelManager`. It is only +possible to display a widget which is in the widget pool of the PanelManager class. +Once a widget is in the pool all the methods of the PanelManager class can be used to +display / hide the widget in any position of the panels. OpenStructure remembers +the size and location of a Widget. So, OpenStructure should look the same after +restarting it. + +The following example shows, how to add a PyQt Widget to the widget pool and finally +display it in the right side bar: + + .. code-block:: python + + qwidget = QtGui.QLabel("Test") + widget=gui.WrappedWidget(qwidget) + panels=gui.GostyApp.Instance().perspective.GetPanels() + panels.AddWidgetToPool("Test Label",widget) + panels.AddWidget(gui.PanelPosition.RIGHT_PANEL, widget) + qwidget.show() + +.. class:: PanelManager + + Class which organizes all widgets which are in the side panels + This class handles all side bar widgets. It can be used to display, hide or move a widget to a :class:`PanelBar`. There are three Bars (left, bottom, right) which are organized by this class. + Whenever a widget is being removed or added it checks first if the widget type is known and if there are available instances. + + .. method:: AddWidget(pos, widget[, hidden]) + + Display a Widget in a PanelBar. + With Method you can add a widget to the given PanelBar. The widget which finally will be added to the gui will be created from the WidgetRegistry. + If the WidgetPool does not know the class name of the given widget or if there are no instances left, nothing will happen. + + :param pos: Indicates which PanelBar is affected + :type pos: :data:`PanelPosition` + :param widget: the widget will not directly added to the PanelBar. The class_name will be used to identify the widget in the WidgetRegistry which will return a fresh instance of this class. + :type arg3: :class:`int` + :param hidden: marks if the class should be displayed in the gui. Default the widget will be shown. By default False is set + :type hidden: bool + + .. method:: AddWidgetByName(pos, class_name, hidden) + + Display a Widget in a PanelBar + Same as :meth:`AddWidget` + + :param pos: Indicates which PanelBar is affected + :type pos: :class:`PanelPosition` + :param class_name: the class_name of the widget you would like to add. + :type class_name: :class:`str` + :param hidden: marks if the class should be displayed in the gui. Default the widget will be shown. + :type hidden: bool + + .. method:: AddWidgetToPool(class_name, limit) + + Add a widget to the widget pool. + The widget must already be in the WidgetRegistry. + If you are not sure if the Widget is in the WidgetRegistry, use the other `AddWidgetToPool` Method instead. + + :param class_name: class name of class which should be added to the widget pool. + :type class_name: :class:`str` + :param limit: amount of parallel instances allowed (-1 if infinite) + :type limit: :class:`int` + + .. method:: AddWidgetToPool(name, widget) + + Add a widget to the widget pool. Same as :meth:`AddWidgetToPool` + + :param name: Name which is displayed in the gui. + :type name: :class:`str` + :param widget: Widget which will be added to the WidgetPool of this class and the WidgetRegistry. + :type widget: :class:`WrappedWidget` + + .. method:: GetMenu() + + The GetMenu method returns a QMenu reference, which contains various actions. The action states will be updated automatically. + Returns a reference to a QMenu which can be used for example in a QMenuBar + + :rtype: :class:`QObject` + + .. method:: GetQObject() + + Get the SIP-QObject (QObject), learn more about :doc:`python_cpp`. + + :rtype: PyQt4.QObject + + .. method:: RemoveWidget(widget) + + Remove a Widget out of a PanelBar + The widget will be removed if it is in a PanelBar + + :param arg2: widget which should be removed + :type arg2: :class:`WrappedWidget` + +.. data:: PanelPosition + + This enum indicates the Position of the Panel + + * BOTTOM_PANEL + The bottom panel + * LEFT_PANEL + The left panel + * RIGHT_PANEL + The right panel + +Menubar +-------------------------------------------------------------------------------- +Adding an new Menupoint +^^^^^^^^^^^^^^^^^^^^^^^ +It is really straightforward to add a custom menupoint. Since the menubar is +exported to Python it is even easier to create such e menupoint. The following example +describes how this is done within python and PyQt: + +.. code-block:: python + + menu_bar=gui.GostyApp.Instance().perspective.GetMenuBar() + test_action = QtGui.QAction('Test Menu Point', menu_bar) + test = menu_bar.addMenu('&Test') + test.addAction(test_action) + +The MenuBar class is a normal Qt QMenubar (see the Qt Documentation for more information +about QMenubar). By getting the Menubar from the perspective, it is automatically +converted to a SIP Object which can be used within python. + +The Inspector Gadget +-------------------------------------------------------------------------------- + +.. currentmodule:: ost.gui + +With our Inspector Gadget it is straightforward to modify rendering and coloring +options of scene objects without using the keyboard: + +.. image:: images/100614_Inspector_gadget.png + +The render and coloring options affect only the currently selected objects of +the scene win. The Shortcut `Ctrl+I` toggles the visibility of the inspector. + \ No newline at end of file diff --git a/modules/gui/doc/python_cpp.rst b/modules/gui/doc/python_cpp.rst new file mode 100644 index 0000000000000000000000000000000000000000..9ec7c5f72717881278db000f22bb67e0c5464730 --- /dev/null +++ b/modules/gui/doc/python_cpp.rst @@ -0,0 +1,25 @@ +Mixing PyQt and C++ Widgets +================================================================================ +.. currentmodule:: ost.gui + +PyQt4 is a set of python bindings for Qt4. The exposure from C++ to Python is +done with SIP, which has a different mechanism than boost::python. + +To access a exported boost::python Qt-Object from python we provide a method +which wraps the Object into a Python SIP Object. + +.. code-block:: python + + seq_viewer = gui.SequenceViewer() # Create SequenceViewer Object + qobj = seq_viewer.qobject #Get Python SIP Object + print qobj.size() # Call function on QWidget + +The other way around, each boost::python Qt Object accepts python objects as +input for Qt Objects. It handles the cast to a C++ Qt Object internally. + +.. code-block:: python + + persp=gui.GostyApp.Instance().perspective + test=persp.GetMenu("Test") #Get boost::python qobject + test_action = QtGui.QAction('&Test me', test) #Create Python SIP Object + test.addAction(test_action) #Add Action to boost::python object diff --git a/modules/gui/doc/python_shell.rst b/modules/gui/doc/python_shell.rst new file mode 100644 index 0000000000000000000000000000000000000000..780bd42bfba20e774da06af7e8356ffb0fc46edd --- /dev/null +++ b/modules/gui/doc/python_shell.rst @@ -0,0 +1,40 @@ +The Python Shell +================================================================================ +.. currentmodule:: ost.gui + +.. class:: PythonShell + +OpenStructure has a powerful Python Shell which has some handy features. It is +completely integrated into OpenStructure and allows you enter Python code. + +Multi line detection +-------------------------------------------------------------------------------- +The Python Shell detects automatically if a code block is complete or not. +For example a simple print statement in the command line is a complete code +block. Therefore the code will be executed after pressing enter: + +.. image:: images/100210_single_line.png + +When a multiline codeblock (like a for loop or an if instruction) is being +entered in the command line, the code is not executed until the code block is +complete: + +.. image:: images/100210_multi_line.png + +When a code block is not complete, pressing enter appends an empty line at the +end of the code block. To execute such a code block, you simply have to press +enter twice. + +Auto completion +-------------------------------------------------------------------------------- +After pressing tab in the Python Shell, it returns you possible extensions +to your entered text. This feature can be used for completing variable names +or functions: + +.. image:: images/100210_auto_completion.png + +It is also possible to complete a file system path string. By pressing tab while +editing a string, the shell displays all file or folders of the given +directory: + +.. image:: images/100210_path_completion.png diff --git a/modules/gui/doc/scene_win.rst b/modules/gui/doc/scene_win.rst new file mode 100644 index 0000000000000000000000000000000000000000..fcb6b9a27cfdea498b0cfa8a16004c573d98ab7f --- /dev/null +++ b/modules/gui/doc/scene_win.rst @@ -0,0 +1,124 @@ +Scene Window +================================================================================ +.. currentmodule:: ost.gui + +The scene win holds a list of all graphical objects currently registered to +the :class:`gfx.Scene`. + +.. image:: images/100208_Scene_Win.png + +Every node of the graphical scene tree is shown as a subnode of the scene. It +is possible to select one or more objects in the scenewin (`ctrl + <left mouse>` +). The available actions of the context menu are applied to all currently +selected objects. + +.. class:: SceneWin + + .. method:: GetContextMenu() + + Returns the :class:`ContextMenu`-instance. + + :rtype: ContextMenu + + .. method:: GetQObject() + + Get the SIP-QObject (QWidget), learn more about :doc:`python_cpp`. + + :rtype: PyQt4.QWidget + + .. method:: Hide() + + Hide the Widget + + .. method:: Show() + + Shows the Widget + +Context Menu +-------------------------------------------------------------------------------- + +The Context Menu of the Scene Window is context sensitive. So, dependent on what +is selected in the :class:`SceneWin` the context menu changes. + +Context menu of an entity + .. image:: images/100614_entity_context_menu.png + +Context menu of an entity view + .. image:: images/100614_context_menu_view.png + +It is possible to extend the Context Menu from python, by creating a QAction and +add it to the ContextMenu-Class. If you want to display the action only for +certain objects / states, you can pass flags which marks when the action should +be shown. + + .. code-block:: python + + cm=gui.GostyApp.Instance().scene_win.GetContextMenu() + action = QtGui.QAction("Test single entity", cm.qobject) + cm.AddAction(action, gui.ContextActionType.ENTITY | gui.ContextActionType.SINGLE) + +.. class:: ContextMenu + + The ContextMenu is shown whenever the user presses `<right click>` on the :class:`SceneWin` + + .. method:: AddAction(action, flags) + + Adds the given action to the context menu of the scene window. + + :param action: The Action which should be displayed in the context menu + + :type action: :class:`QtCore.QAction` + + :param flags: Flags that indicates, when the context_menu should be active. The action + will be shown, when all flags are true. + + :type flags: :data:`ContextActionTypes` + + + .. method:: GetQObject() + + Get the SIP-QObject (QObject), learn more about :doc:`python_cpp`. + + :rtype: PyQt4.QObject + + +.. data:: ContextActionType + + It is possible to specify flags for new :class:`ContextMenu` actions of the :class:`SceneWin` + These flags are used, to specify when the action should be shown on the scene window. The + actions can be combined by `oring` them (|). When flags are combined with an `or`, the + resulting object is a :data:`ContextActionTypes`-object. + The following flags are defined by default: + + * NOT_SCENE + All selected objects are not the root node + * GFX_OBJECT + All selected objects are :class:`gfx.GfxObj` + * ENTITY + All selected objects are :class:`gfx.Entity` + * MAP + All selected objects are :class:`gfx.MapIso` + * ENTITY_VIEW + All selected objects are parts of the same Entity (either Queries or Views) + * CUSTOM_VIEW + All selected objects are named views (created by the user) + * NOT_HIDDEN + All selected objects are visible (can not be combined with the ENTITY_VIEW flag) + * NOT_VISIBLE + All selected objects are hidden (can not be combined with the ENTITY_VIEW flag) + * SINGLE + There is only one selected object in the :class:`SceneWin` + * MULTI + There are multiple objects selected object in the :class:`SceneWin` + +.. data:: ContextActionTypes + + When multiple :data:`ContextActionType` objects are being combined with an or (|) you will get an + :data:`ContextActionTypes`-Object. + + .. code-block:: python + + ctx_act_types = gui.ContextActionType.ENTITY | gui.ContextActionType.SINGLE + + + \ No newline at end of file diff --git a/modules/gui/doc/sequence_viewer.rst b/modules/gui/doc/sequence_viewer.rst new file mode 100644 index 0000000000000000000000000000000000000000..8b654a1c7cdd1fe3eb03445f83f63467a8c3b3a4 --- /dev/null +++ b/modules/gui/doc/sequence_viewer.rst @@ -0,0 +1,192 @@ +The Sequence Viewer +================================================================================ +.. currentmodule:: ost.gui + +The sequence viewer of OpenStructure can be used to display sequences or +alignments. + +The following example adds an alignment to a sequence viewer and shows it in a +new sequence viewer instance: + +.. code-block:: python + + aln=io.LoadAlignment('sh2.aln') + v=gui.SequenceViewer() + v.AddAlignment(aln) + v.Show() + +Core Features +-------------------------------------------------------------------------------- + +Display styles +^^^^^^^^^^^^^^ +It is possible to display the data in different ways. To change the display +style, click the tool icon of the menubar and select the +display style from the list. + + .. image:: images/100615_select_display_style.png + +For the moment there are four different display styles: + + + + **1. Highlight propteries** + + .. image:: images/100615_property_type.png + :width: 500pt + + Color groups of amino acids + + ===== ====== ====== ===== === ==== ==== + grey orange yellow green red blue cyan + ===== ====== ====== ===== === ==== ==== + G F C S K D P + A Y M T R E + V W H N + L Q + I + ===== ====== ====== ===== === ==== ==== + + + **2. Secondary structure** + + .. image:: images/100615_secondary_structure.png + :width: 500pt + + Display secondary structure information + + This mode is only available, when a :class:`mol.EntityView` is connected to + the sequence. + + **3. Highlight conservation 1** + + .. image:: images/100615_conservation_1.png + :width: 500pt + + Display conservation + + This display style uses the :meth:`seq.alg.Conservation`-Algorithm which calculates + the Conservation for each column. This Mode is only available for alignments. + + **4. Highlight conservation 2** + + .. image:: images/100615_conservation_2.png + :width: 500pt + + Display conservation + + This implementation of conservation colors the columns grey, if all amino acids are + from the same type. If all amino acids are from the same group, it colors the column with + a light grey. Otherwise the column is colored white. This Mode is also only available for + alignments. + + +Zoom +^^^^ + +With the sequence viewer of Openstructure it is possible to zoom in and out `<ctrl + mousewheel>`. + + .. image:: images/100616_zoom_in.png + + Zoom in, if you lost your glasses at home + + .. image:: images/100616_zoom_out.png + + Zoom out, if you need a better overview of the sequence + +Copy and Paste +^^^^^^^^^^^^^^ + +It is possible to copy sequence text from the sequence viewer by pressing `<ctrl + c>`. If you paste +the text (for example into a text editor), all the gaps will be filled with `-`. + + .. image:: images/100616_copy_paste.png + +Search +^^^^^^ + +With `<ctrl + f>` you can show or hide the search bar which help you finding parts of a sequence. + + .. image:: images/100617_search_bar.png + +.. class:: SequenceViewer + +The SequenceViewer class represents a graphical sequence viewer. To see the sequences of a :class:`gfx.Entity`, you +can use the :meth:`AddEntity` method. If you want to load an alignment, the :meth:`AddAlignment` method can be used. + + .. method:: AddEntity(entity) + + Add :class:`gfx.Entity` to SequenceViewer. + + :param entity: an entity instance + :type entity: :class:`gfx.Entity` + + .. method:: RemoveEntity(entity) + + Remove entity from sequence viewer. + + :param entity: an entity instance + :type entity: :class:`gfx.Entity` + + .. method:: AddAlignment(alignment) + + Add :class:`seq.AlignmentHandle` to SequenceViewer. + + :param alignment: an alignment instance + :type alignment: :class:`seq.AlignmentHandle` + + .. method:: RemoveAlignment(alignment) + + Remove alignment from sequence viewer. + + :param alignment: an alignment instance + :type alignment: :class:`seq.AlignmentHandle` + :rtype: None + + .. method:: ChangeDisplayMode(style [, obj : None]) + + Change the display style of all alignments and sequences to the given style. If the obj parameter is given, it + changes only the display style of the given object. + + If the style is not known, nothing happens + + See also :meth:`GetDisplayModes`, :meth:`GetCurrentDisplayMode` + + :param style: The display style + :type style: :class:`string` + :param obj: The object you would like to change + :type obj: :class:`gfx.Entity`, :class:`seq.AlignmentHandle` + + + .. method:: GetCurrentDisplayMode([obj : None]) + + Returns the current display style. If there are objects with different display styles, " " will be returned + otherwise the string of the display style. + + :rtype: str + :param obj: The object you would like to get the display style + :type obj: :class:`gfx.Entity`, :class:`seq.AlignmentHandle` + + .. method:: GetDisplayModes([obj : None]) + + Returns a list with all available display styles. If you pass an object, you will get only the display styles for + the given object. + + :rtype: StringList + :param obj: The object you would like to get all display styles + :type obj: :class:`gfx.Entity`, :class:`seq.AlignmentHandle` + + .. method:: GetQObject() + + Get the SIP-QObject (QWidget), learn more about :doc:`python_cpp`. + + :rtype: PyQt4.QWidget + + .. method:: Hide() + + Hide the Widget + + .. method:: Show() + + Shows the Widget + diff --git a/modules/gui/doc/tools.rst b/modules/gui/doc/tools.rst new file mode 100644 index 0000000000000000000000000000000000000000..9c0da468bdeea30d310410c5607e223db3aa6877 --- /dev/null +++ b/modules/gui/doc/tools.rst @@ -0,0 +1,77 @@ +Tools +-------------------------------------------------------------------------------- +.. currentmodule:: ost.gui + +OpenStructure has several :class:`Tool` which are all listed in the toolbar +close to the 3D window. A tool is activated upon selecting it in the toolbar. +Input events are sent to the tool as long as the `Ctrl` key (`Cmd` on Mac) is +pressed. For example the rigid body manipulator will rotate and shift the +currently selected nodes in the scene win. Upon releasing `Ctrl`, the events are +sent to the camera, making it possible to rapidly switch between adjusting the +viewing angle of the camera and manipulating the position and orientation of +scene objects. + +.. image:: images/100208_Tools.png + +The example `Write a Tool in Python` demonstrates how to add a simple tool +(written in python) to OpenStructure. + +.. class:: Tool + + Parameters of the tool that are configurable should be implemented using the + ToolOptions facility. This automatically takes care of remembering the + used options over different sessions (in the future) and creates a widget + to modify these options. + + input_events Input Events + + Tools receive input events when the Control key (Command on MacOS X) is + pressed. This includes both keyboard events and mouse events such as mouse + move events, clicks and Real clicks. + + Tools only receive mouse move events when one of the mouse buttons is + pressed. + + .. method:: CanOperateOn(nodes) + + determines if the tool can manipulate a certain :class:`gfx.GfxNode`. + This method is used to enabled/disable certain actions (in the toolbar, for example). + + Return True if the Tool can operate on all GfxNodes which are in the given list. Otherwise False + + :param nodes: List with :class:`gfx.GfxNode` + :type nodes: :class:`NodePtrList` + :rtype: bool + + .. method:: Click(event) + + left mouse click + + :param event: object with the event information + :type arg2: :class:`MouseEvent` + + .. method:: DoubleClick(event) + + double click + + :param event: object with the event information + :type event: :class:`MouseEvent` + + .. method:: GetIconPath() + + Returns the path to an shiny icon. + If no path is given, no icon will be displayed + + :rtype: :class:`str` + + .. method:: GetName() + + Returns the name of the Tool which will be displayed in the gui. + + :rtype: :class:`str` + + .. method:: GetToolOptions() + + + :rtype: :class:`ToolOptions` + diff --git a/modules/gui/pymod/CMakeLists.txt b/modules/gui/pymod/CMakeLists.txt index 200515b96aa0b9986eb890f68f03f957b6a1196e..d4661d360c1ba770af5f67e884a4e9c1072f091a 100644 --- a/modules/gui/pymod/CMakeLists.txt +++ b/modules/gui/pymod/CMakeLists.txt @@ -1,22 +1,22 @@ set(OST_GUI_PYMOD_SOURCES wrap_gui.cc export_alignment_view.cc + export_message_widget.cc export_gl_win.cc - export_plot.cc export_tool.cc export_py_shell.cc export_gosty.cc export_remote_site_loader.cc export_scene_win.cc export_sequence_viewer.cc - export_sequence_viewerV2.cc export_perspective.cc export_sip_handler.cc export_scene_selection.cc export_main_area.cc - export_panel_bar.cc + export_panels.cc export_menu_bar.cc export_file_loader.cc + export_file_viewer.cc export_widget.cc ) set(OST_GUI_SCENE_PYMOD_MODULES @@ -35,6 +35,7 @@ immutable_gradient_info_handler.py immutable_preset_info_handler.py init_inspector.py inspector_widget.py +map_level_widget.py preset.py preset_editor_list_model.py preset_editor_widget.py @@ -45,6 +46,7 @@ render_mode_widget.py render_op.py render_options_widget.py scene_observer_impl.py +scene_selection_helper.py simple_widget.py sline_widget.py toolbar_options_widget.py @@ -58,11 +60,14 @@ loader_list_model.py loader_manager_widget.py immutable_loader_info_handler.py line_trace_widget.py +wireframe_widget.py +query_editor.py ) if (ENABLE_IMG) list(APPEND OST_GUI_PYMOD_SOURCES export_data_viewer.cc export_overlay.cc + export_overlay_manager.cc ) endif() @@ -77,14 +82,20 @@ set(OST_GUI_PYMOD_MODULES init_context_menu.py init_menubar.py init_spacenav.py + init_splash.py +) + +set(OST_GUI_PYMOD_DNG_MODULES + __init__.py + termuse.py ) pymod(NAME gui CPP ${OST_GUI_PYMOD_SOURCES} PY ${OST_GUI_SCENE_PYMOD_MODULES} IN_DIR scene + ${OST_GUI_PYMOD_DNG_MODULES} IN_DIR dng ${OST_GUI_PYMOD_MODULES}) set(PRESET_FILES - scene/gradients.xml scene/presets.xml scene/loaders.xml ) diff --git a/modules/gui/pymod/__init__.py b/modules/gui/pymod/__init__.py index 517c21dae855d66bdf7d2ee987ef4877b11177f8..500c31ece281ed8968dc3b5dc34ffcf6f77e580c 100644 --- a/modules/gui/pymod/__init__.py +++ b/modules/gui/pymod/__init__.py @@ -17,8 +17,46 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #------------------------------------------------------------------------------ from _gui import * +import sip + ## \brief Opens a DataViewer # \sa \ref fft_li.py "View Fourier Transform Example" \sa \ref modulate_image.py "Modulate Image Example" -def CreateDataViewer(ih): - return GostyApp.Instance().CreateDataViewer(ih) \ No newline at end of file +def _close_event_override_(event): + print "close event" +def _set_data_override_(data): + print "set data" + +def CreateDataViewer(ih,flag=False): + viewer=GostyApp.Instance().CreateDataViewer(ih) + if flag: + viewer.image_=ih + sip_viewer=viewer.qobject + sip_viewer.closeEvent=_close_event_override_ + sip_viewer.setData=_set_data_override_ + return viewer + +def ClearMessageWidget(): + gosty=GostyApp.Instance() + gosty.message_widget.Clear() + + +from PyQt4.QtGui import * +from ost import gfx + +def PickColor(default=gfx.WHITE): + """ + Pops up a color chooser that lets' the user pick a color and returns the + selected color. If the user cancels the color chooser, None is returned. + + :rtype: :class:`~ost.gfx.Color` + """ + dialog=QColorDialog() + qt_color=QColor(int(min(255,default.Red()*256)), + int(min(255,default.Green()*256)), + int(min(255,default.Blue()*256))) + qt_color=dialog.getColor(qt_color) + if not qt_color.isValid(): + return None + return gfx.Color(qt_color.red()/256.0, qt_color.green()/256.0, + qt_color.blue()/256.0) \ No newline at end of file diff --git a/modules/gui/pymod/dng/__init__.py b/modules/gui/pymod/dng/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/modules/gui/pymod/dng/termuse.py b/modules/gui/pymod/dng/termuse.py new file mode 100644 index 0000000000000000000000000000000000000000..8f90c4c47f785f571771bc9a5e09c913f87b71e0 --- /dev/null +++ b/modules/gui/pymod/dng/termuse.py @@ -0,0 +1,71 @@ +from PyQt4.QtGui import * +from PyQt4.QtCore import * +from ost.gui import AdminRights +import ost +import os +#from ost.gui import AdminRights + +usage='''The DNG application bundle contains two shell commands ('ost' and 'dng') that lets you use the OpenStructure command-line interpreter and dng from the terminal. If you want to use these commands, it is recommended that a symbolic link is created. +''' +class TerminalUsageDialog(QDialog): + def __init__(self, parent=None): + QDialog.__init__(self, parent) + self.setWindowTitle('Enhanced Terminal Usage') + self.setFixedSize(QSize(480, 300)) + l=QVBoxLayout(self) + title=QLabel('Enhanced Terminal Usage') + font=title.font() + font.setPointSize(20) + title.setFont(font) + l.addWidget(title) + text=QLabel(usage) + l.addWidget(text) + l2=QHBoxLayout() + l2.addWidget(QLabel('If you proceed, the link will be created in: ')) + self.path_combo=QComboBox() + self.path_combo.setFixedWidth(150) + for path in os.getenv('PATH').split(':'): + exp_path=os.path.expanduser(path) + if os.path.exists(exp_path) and exp_path.find('DNG.app')==-1: + self.path_combo.addItem(path) + l2.addWidget(self.path_combo) + l.addLayout(l2) + l3=QHBoxLayout() + ab=QPushButton('Create Link') + ab.setDefault(True) + cb=QPushButton('Don\'t Create') + l3.addStretch(1) + l3.addWidget(cb, 0) + l3.addWidget(ab, 0) + l.addLayout(l3) + text.setWordWrap(True) + QObject.connect(cb, SIGNAL('clicked()'), self.reject) + QObject.connect(ab, SIGNAL('clicked()'), self.accept) + def GetSelectedPath(self): + return str(self.path_combo.currentText()) + +def _CreateLinks(bin_dir, sel_dir): + for bin in ('ost', 'dng',): + if os.path.exists(os.path.join(sel_dir, bin)): + os.unlink(os.path.join(sel_dir, bin)) + os.system('ln -s "%s" "%s"' % (os.path.join(bin_dir, bin), + os.path.join(sel_dir, bin))) +def InstallTerminalPrograms(): + """ + Installs symlinks to the 'ost' and 'dng' command line programs into a + user-specified directory in the path. + """ + term_use=TerminalUsageDialog() + if term_use.exec_(): + prefix=ost.GetPrefixPath() + bin_dir=os.path.join(prefix, 'bin') + sel_path=term_use.GetSelectedPath() + if not os.access(sel_path, os.W_OK): + admin_rights=AdminRights() + if admin_rights.Acquire(): + for bin in ('ost', 'dng'): + admin_rights.CreateLink(os.path.join(bin_dir, bin), + os.path.join(sel_path, bin)) + admin_rights.Release() + else: + _CreateLinks(bin_dir, sel_path) diff --git a/modules/gui/pymod/export_file_loader.cc b/modules/gui/pymod/export_file_loader.cc index 5e006fb2cea35df25a72e46dfe6c2c3850a55216..9853d5bc77184d76f2365469bb3993c8d668f924 100644 --- a/modules/gui/pymod/export_file_loader.cc +++ b/modules/gui/pymod/export_file_loader.cc @@ -68,6 +68,8 @@ void export_FileLoader() .def("GetSiteLoaderIdents", &LoaderManager::GetSiteLoaderIdents) .def("AddRemoteSiteLoader", &add_remote_site_loader) .def("RemoveRemoteSiteLoader", &LoaderManager::RemoveRemoteSiteLoader) + .def("SetDefaultRemoteSiteIdent", &LoaderManager::SetDefaultRemoteSiteIdent) + .def("GetDefaultRemoteSiteIdent", &LoaderManager::GetDefaultRemoteSiteIdent) ; class_<FileLoader, boost::noncopyable>("FileLoader", no_init) diff --git a/modules/gui/pymod/export_sequence_viewerV2.cc b/modules/gui/pymod/export_file_viewer.cc similarity index 76% rename from modules/gui/pymod/export_sequence_viewerV2.cc rename to modules/gui/pymod/export_file_viewer.cc index cd010952fb9b6a32a06b85aafbeac16e08ced672..57dd381126f2d8be778b4d342b2036b7930d8de9 100644 --- a/modules/gui/pymod/export_sequence_viewerV2.cc +++ b/modules/gui/pymod/export_file_viewer.cc @@ -18,7 +18,7 @@ //------------------------------------------------------------------------------ #include <boost/python.hpp> -#include <ost/gui/sequence/sequence_viewer.hh> +#include <ost/gui/file_viewer.hh> #include "sip_handler.hh" @@ -27,13 +27,14 @@ using namespace ost; using namespace ost::gui; -void export_SequenceViewerV2() +void export_FileViewer() { - class_<SequenceViewerV2, boost::noncopyable >("SequenceViewerV2",init<>()) - .def("Show", &SequenceViewerV2::show) - .def("Hide", &SequenceViewerV2::hide) - .def("GetQObject",&get_py_qobject<SequenceViewerV2>) - .add_property("qobject", &get_py_qobject<SequenceViewerV2>) + class_<FileViewer, boost::noncopyable >("FileViewer",init<>()) + .def(init<const QString&, optional<QWidget*> >()) + .def("Show", &FileViewer::show) + .def("Hide", &FileViewer::hide) + .def("GetQObject",&get_py_qobject<FileViewer>) + .add_property("qobject", &get_py_qobject<FileViewer>) ; } diff --git a/modules/gui/pymod/export_gosty.cc b/modules/gui/pymod/export_gosty.cc index ba5d47ea36010ffb498672079e3411d604489e56..152e221104cc55fef419a7d0b881045ef1e4291b 100644 --- a/modules/gui/pymod/export_gosty.cc +++ b/modules/gui/pymod/export_gosty.cc @@ -27,7 +27,6 @@ using namespace boost::python; #include <ost/gui/perspective.hh> #include <ost/gui/python_shell/python_shell.hh> #include <ost/gui/scene_win/scene_win.hh> -#include <ost/gui/sequence_viewer/sequence_viewer.hh> #include <ost/gui/tools/tool_options_win.hh> #include "transfer_ownership.hh" @@ -96,14 +95,14 @@ void export_Gosty() return_value_policy<reference_existing_object>()) .add_property("seq_viewer", make_function(&GostyApp::GetSequenceViewer, return_value_policy<reference_existing_object>())) - .def("GetSequenceViewerV2", &GostyApp::GetSequenceViewerV2, - return_value_policy<reference_existing_object>()) - .add_property("seq_viewer_v2", make_function(&GostyApp::GetSequenceViewerV2, - return_value_policy<reference_existing_object>())) .def("GetToolOptionsWin", &GostyApp::GetToolOptionsWin, return_value_policy<reference_existing_object>()) .add_property("tool_options_win", make_function(&GostyApp::GetToolOptionsWin, return_value_policy<reference_existing_object>())) + .def("GetMessageWidget", &GostyApp::GetMessageWidget, + return_value_policy<reference_existing_object>()) + .add_property("message_widget", make_function(&GostyApp::GetMessageWidget, + return_value_policy<reference_existing_object>())) #if OST_IMG_ENABLED .def("CreateDataViewer", &app_create_data_viewer1,return_value_policy<reference_existing_object>()) .def("CreateDataViewer", &app_create_data_viewer2,return_value_policy<reference_existing_object>()) diff --git a/modules/gui/pymod/export_main_area.cc b/modules/gui/pymod/export_main_area.cc index 5a9dfed583e4a7ef237528b4f593d6b9508a0bf3..4e6b793b5f5655b997da9174807ee87b89cd6048 100644 --- a/modules/gui/pymod/export_main_area.cc +++ b/modules/gui/pymod/export_main_area.cc @@ -142,6 +142,20 @@ void main_area_hide_sub_window(MainArea* m, const SipHandlerBase& sh) } +void main_area_show_sub_window_b(MainArea* m, object py_object) +{ + if(QWidget* widget = get_cpp_qobject<QWidget>(py_object)){ + m->ShowSubWindow(widget); + } +} + +void main_area_hide_sub_window_b(MainArea* m, object py_object) +{ + if(QWidget* widget = get_cpp_qobject<QWidget>(py_object)){ + m->HideSubWindow(widget); + } +} + void export_MainArea() { class_<MainArea, boost::noncopyable>("MainArea", no_init) @@ -161,8 +175,10 @@ void export_MainArea() .def("width", &MainArea::width) .def("height", &MainArea::height) .def("ShowSubWindow", &MainArea::ShowSubWindow) - .def("ShowSubWindow", &main_area_show_sub_window) + .def("ShowSubWindow", &main_area_show_sub_window) + .def("ShowSubWindow", &main_area_show_sub_window_b) .def("HideSubWindow", &MainArea::HideSubWindow) + .def("HideSubWindow", &main_area_hide_sub_window_b) .def("HideSubWindow", &main_area_hide_sub_window) .def("EnableTabbedMode", &MainArea::EnableTabbedMode, arg("flag")=true) .def("GetQObject",&get_py_qobject<MainArea>) diff --git a/modules/gui/pymod/export_message_widget.cc b/modules/gui/pymod/export_message_widget.cc new file mode 100644 index 0000000000000000000000000000000000000000..0a9c2d7dcedcf10d616793f5924ac8a3082824cc --- /dev/null +++ b/modules/gui/pymod/export_message_widget.cc @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +#include <boost/python.hpp> +#include <vector> +#include <boost/python/suite/indexing/vector_indexing_suite.hpp> + +#include <ost/gui/messages/message_widget.hh> + +#include "sip_handler.hh" + +using namespace boost::python; +using namespace ost; +using namespace ost::gui; + +namespace { + +void log_message_a(MessageWidget* message_widget, const QString& message, QMessageBox::Icon icon = QMessageBox::Information) +{ + message_widget->LogMessage(message,icon); +} + +void log_message_b(MessageWidget * message_widget, object py_object) +{ + if(py_object.ptr() != Py_None){ + if(PyObject_IsInstance(py_object.ptr(), (PyObject*)&PyString_Type)){ + String message = extract < std::string > (py_object); + message_widget->LogMessage(QString(message.c_str())); + } + else if(QStandardItem* item = get_cpp_qobject<QStandardItem>(py_object)){ + message_widget->LogMessage(item); + } + } +} + +} + +void export_MessageWidget() +{ + enum_<QMessageBox::Icon>("MessageIcon") + .value("QUESTION", QMessageBox::Question) + .value("INFORMATION", QMessageBox::Information) + .value("WARNING", QMessageBox::Warning) + .value("CRITICAL", QMessageBox::Critical) + .export_values() + ; + + class_<MessageWidget, boost::noncopyable>("MessageWidget", no_init) + .def("Show", &MessageWidget::show) + .def("Hide", &MessageWidget::hide) + .def("Clear", &MessageWidget::Clear) + .def("RemoveSelected", &MessageWidget::RemoveSelected) + .def("LogMessage", &log_message_a) + .def("LogMessage", &log_message_b) + .def("GetQObject",&get_py_qobject<MessageWidget>) + .add_property("qobject", &get_py_qobject<MessageWidget>) + ; +} + diff --git a/modules/gui/pymod/export_overlay.cc b/modules/gui/pymod/export_overlay.cc index d5293ddd01be9df97d9afc52ec3fb0aa4a9c0f45..03131dfcc2880f95584e91ecb9dc72972e931cac 100644 --- a/modules/gui/pymod/export_overlay.cc +++ b/modules/gui/pymod/export_overlay.cc @@ -47,7 +47,7 @@ void plo_add2(PointlistOverlay& plo, const PointList& p) plo.Add(p); } -/*void plo_add3(PointlistOverlay& plo, const Point& p, double scale) +void plo_add3(PointlistOverlay& plo, const Point& p, double scale) { plo.Add(p,scale); } @@ -56,7 +56,7 @@ void plo_add4(PointlistOverlay& plo, const PointList& p, double scale) { plo.Add(p,scale); } -*/ + QColor qcolor_from_pyobj(boost::python::object& obj) { return QColor(boost::python::extract<int>(obj.attr("red")()), @@ -64,7 +64,7 @@ return QColor(boost::python::extract<int>(obj.attr("red")()), boost::python::extract<int>(obj.attr("blue")())); } -/*void set_active_color(PointlistOverlayBase& plo,boost::python::object& obj) +void set_active_color(PointlistOverlayBase& plo,boost::python::object& obj) { QColor color=qcolor_from_pyobj(obj); plo.SetActiveColor(color); @@ -73,7 +73,7 @@ void set_passive_color(PointlistOverlayBase& plo,boost::python::object& obj) { QColor color=qcolor_from_pyobj(obj); plo.SetPassiveColor(color); -}*/ +} }//ns @@ -94,16 +94,16 @@ void export_overlay() .def("GetSymbolShape",&PointlistOverlayBase::GetSymbolShape) .def("SetCrosshair",&PointlistOverlayBase::SetCrosshair) .def("GetCrosshair",&PointlistOverlayBase::GetCrosshair) - // .def("SetActiveColor",set_active_color) - // .def("SetPassiveColor",set_passive_color) + .def("SetActiveColor",set_active_color) + .def("SetPassiveColor",set_passive_color) ; class_<PointlistOverlay,bases<PointlistOverlayBase>,boost::noncopyable>("PointlistOverlay",init<optional<const String&> >()) .def(init<const PointList&,optional<const String&> >()) .def("Add",plo_add1) .def("Add",plo_add2) - // .def("Add",plo_add3) - // .def("Add",plo_add4) + .def("Add",plo_add3) + .def("Add",plo_add4) .def("Remove",&PointlistOverlay::Remove) .def("Clear",&PointlistOverlay::Clear) ; @@ -118,8 +118,8 @@ void export_overlay() .def("ClearMask",&MaskOverlay::ClearMask) .def("GetShift",&MaskOverlay::GetShift) .def("ClearShift",&MaskOverlay::ClearShift) - // .def("SetShift",&MaskOverlay::SetShift) - // .def("ApplyShiftToMask",&MaskOverlay::ApplyShiftToMask) + .def("SetShift",&MaskOverlay::SetShift) + .def("ApplyShiftToMask",&MaskOverlay::ApplyShiftToMask) ; /* class_<Gauss2DOverlay,bases<Overlay>,boost::noncopyable>("Gauss2DOverlay",init<const alg::ParamsGauss2D&>()) diff --git a/modules/gui/pymod/export_overlay_manager.cc b/modules/gui/pymod/export_overlay_manager.cc new file mode 100644 index 0000000000000000000000000000000000000000..bd866122419e2243531bab72cf6546edfb718f3b --- /dev/null +++ b/modules/gui/pymod/export_overlay_manager.cc @@ -0,0 +1,56 @@ +///////////////////////////////////////////////////////// +// IPLT - Image Processing Library & Toolkit +// Copyright (c) 2003-2007 University of Basel +// +// The usage terms and conditions of this software +// are governed by the GNU General Public License, +// as described in the accompanying text file LICENSE. +// Please review this information carefully and contact +// info@iplt.org should questions arise. +///////////////////////////////////////////////////////// + +/* + Author: Ansgar Philippsen +*/ + +#include <boost/python.hpp> + +#include <ost/gui/data_viewer/overlay_manager.hh> +#include <ost/gui/data_viewer/overlay_base.hh> + + +using namespace boost::python; +using namespace ost; +using namespace ost::img; +using namespace ost::img::gui; + +void export_overlay_manager() +{ + void (OverlayManager::*ActivateOverlay1)(const String& name) = &OverlayManager::ActivateOverlay; + void (OverlayManager::*ActivateOverlay2)(int id) = &OverlayManager::ActivateOverlay; + void (OverlayManager::*SetOverlayVisibility1)(const String& name, bool visible) = &OverlayManager::SetOverlayVisibility; + void (OverlayManager::*SetOverlayVisibility2)(int id, bool visible ) = &OverlayManager::SetOverlayVisibility; + OverlayPtr (OverlayManager::*RetrieveOverlay1)(const String& name) = &OverlayManager::RetrieveOverlay; + OverlayPtr (OverlayManager::*RetrieveOverlay2)(int id) = &OverlayManager::RetrieveOverlay; + bool (OverlayManager::*IsVisible1)(const String& name) = &OverlayManager::IsVisible; + bool (OverlayManager::*IsVisible2)(int id) = &OverlayManager::IsVisible; + bool (OverlayManager::*IsActive1)(const String& name) = &OverlayManager::IsActive; + bool (OverlayManager::*IsActive2)(int id) = &OverlayManager::IsActive; + + class_<OverlayManager, OverlayManagerPtr, boost::noncopyable>("OverlayManager", no_init) + .def("AddOverlay",&OverlayManager::AddOverlay) + .def("GetActiveOverlay",&OverlayManager::GetActiveOverlay) + .def("ActivateOverlay",ActivateOverlay1) + .def("ActivateOverlay",ActivateOverlay2) + .def("SetOverlayVisibility",SetOverlayVisibility1) + .def("SetOverlayVisibility",SetOverlayVisibility2) + .def("RetrieveOverlay",RetrieveOverlay1) + .def("RetrieveOverlay",RetrieveOverlay2) + .def("IsVisible",IsVisible1) + .def("IsVisible",IsVisible2) + .def("IsActive",IsActive1) + .def("IsActive",IsActive2) + .def("GetOverlayName",&OverlayManager::GetOverlayName) + .def("GetOverlayId",&OverlayManager::GetOverlayId) + ; +} diff --git a/modules/gui/pymod/export_panel_bar.cc b/modules/gui/pymod/export_panels.cc similarity index 74% rename from modules/gui/pymod/export_panel_bar.cc rename to modules/gui/pymod/export_panels.cc index cfac8c128a7b8ea7c5d0a66abb62edaf1df4f144..580f82c5f3a9aff4602a3908dd78dc095a00fd4e 100644 --- a/modules/gui/pymod/export_panel_bar.cc +++ b/modules/gui/pymod/export_panels.cc @@ -18,8 +18,8 @@ //------------------------------------------------------------------------------ #include <boost/python.hpp> -#include <ost/gui/panel_bar/panels.hh> -#include <ost/gui/panel_bar/panel_bar.hh> +#include <ost/gui/panels/panel_manager.hh> +#include <ost/gui/panels/panel_bar.hh> #include "ost/gui/widget.hh" #include "sip_handler.hh" @@ -31,69 +31,69 @@ using namespace ost; using namespace ost::gui; namespace{ -void panels_add_widget_a(Panels * panels, PanelPosition pos, const SipHandlerBase& sh, bool hidden=false) +void panels_add_widget_a(PanelManager * panels, PanelPosition pos, const SipHandlerBase& sh, bool hidden=false) { if(Widget* widget = reinterpret_cast<Widget*>(sh.GetSipHandle())){ panels->AddWidget(pos,widget,hidden); } } -void panels_add_widget_b(Panels * panels, PanelPosition pos, Widget* widget, bool hidden=false) +void panels_add_widget_b(PanelManager * panels, PanelPosition pos, Widget* widget, bool hidden=false) { panels->AddWidget(pos,widget,hidden); } -void panels_add_widget_c(Panels * panels, PanelPosition pos, object py_object, bool hidden=false) +void panels_add_widget_c(PanelManager * panels, PanelPosition pos, object py_object, bool hidden=false) { if(Widget* widget = get_cpp_qobject<Widget>(py_object)){ panels->AddWidget(pos,widget,hidden); } } -void panels_remove_widget_a(Panels * panels, Widget* w) +void panels_remove_widget_a(PanelManager * panels, Widget* w) { panels->RemoveWidget(w); } -void panels_remove_widget_b(Panels * panels, const SipHandlerBase& sh) +void panels_remove_widget_b(PanelManager * panels, const SipHandlerBase& sh) { if(Widget* widget = reinterpret_cast<Widget*>(sh.GetSipHandle())){ panels->RemoveWidget(widget); } } -void panels_remove_widget_c(Panels * panels, object py_object) +void panels_remove_widget_c(PanelManager * panels, object py_object) { if(Widget* widget = get_cpp_qobject<Widget>(py_object)){ panels->RemoveWidget(widget); } } -void panels_add_widget_to_pool_a(Panels * panels, const QString& full_name, Widget* widget) +void panels_add_widget_to_pool_a(PanelManager * panels, const QString& full_name, Widget* widget) { panels->AddWidgetToPool(full_name,widget); } -void panels_add_widget_to_pool_b(Panels * panels, const QString& full_name, const SipHandlerBase& sh) +void panels_add_widget_to_pool_b(PanelManager * panels, const QString& full_name, const SipHandlerBase& sh) { if(Widget* widget = reinterpret_cast<Widget*>(sh.GetSipHandle())){ panels->AddWidgetToPool(full_name,widget); } } -void panels_add_widget_to_pool_c(Panels * panels, const QString& full_name, object py_object) +void panels_add_widget_to_pool_c(PanelManager * panels, const QString& full_name, object py_object) { if(Widget* widget = get_cpp_qobject<Widget>(py_object)){ panels->AddWidgetToPool(full_name,widget); } } -void panels_add_widget_to_pool_d(Panels * panels, const QString& name, int limit=-1) +void panels_add_widget_to_pool_d(PanelManager * panels, const QString& name, int limit=-1) { panels->AddWidgetToPool(name,limit); } -object panels_get_menu(Panels* panels) +object panels_get_menu(PanelManager* panels) { return get_py_qobject<QMenu>(panels->GetMenu()); } @@ -119,7 +119,7 @@ void panel_bar_add_widget_c(PanelBar * pb, object py_object, bool hidden=false) } -void export_PanelBar() +void export_Panels() { enum_<PanelPosition>("PanelPosition") .value("LEFT_PANEL", LEFT_PANEL) @@ -129,11 +129,11 @@ void export_PanelBar() .export_values() ; - class_<Panels, boost::noncopyable>("Panels", no_init) + class_<PanelManager, boost::noncopyable>("PanelManager", no_init) .def("AddWidget", &panels_add_widget_a, arg("hidden")=false) .def("AddWidget", &panels_add_widget_b, arg("hidden")=false) .def("AddWidget", &panels_add_widget_c, arg("hidden")=false) - .def("AddWidgetByName", &Panels::AddWidgetByName) + .def("AddWidgetByName", &PanelManager::AddWidgetByName) .def("RemoveWidget", &panels_remove_widget_a) .def("RemoveWidget", &panels_remove_widget_b) .def("RemoveWidget", &panels_remove_widget_c) @@ -142,11 +142,11 @@ void export_PanelBar() .def("AddWidgetToPool", &panels_add_widget_to_pool_b) .def("AddWidgetToPool", &panels_add_widget_to_pool_c) .def("AddWidgetToPool", &panels_add_widget_to_pool_d) - .def("Save", &Panels::Save) - .def("Restore", &Panels::Restore) + .def("Save", &PanelManager::Save) + .def("Restore", &PanelManager::Restore) .add_property("menu", &panels_get_menu) - .def("GetQObject",&get_py_qobject<Panels>) - .add_property("qobject", &get_py_qobject<Panels>) + .def("GetQObject",&get_py_qobject<PanelManager>) + .add_property("qobject", &get_py_qobject<PanelManager>) ; class_<PanelBar, boost::noncopyable>("PanelBar", no_init) diff --git a/modules/gui/pymod/export_remote_site_loader.cc b/modules/gui/pymod/export_remote_site_loader.cc index 91b80ca7727c7abc619749f1bf311977906bbfd0..d864b87e4b4e06bae2d47ff081ff9ceb41c0966d 100644 --- a/modules/gui/pymod/export_remote_site_loader.cc +++ b/modules/gui/pymod/export_remote_site_loader.cc @@ -16,20 +16,20 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <string> #include <boost/python.hpp> -#include <boost/python/register_ptr_to_python.hpp> -#include <boost/python/suite/indexing/vector_indexing_suite.hpp> +#include <string> -using namespace boost::python; #include <ost/gui/remote_site_loader.hh> +#include <boost/python/register_ptr_to_python.hpp> +#include <boost/python/suite/indexing/vector_indexing_suite.hpp> #include "sip_handler.hh" using namespace ost; using namespace ost::gui; +using namespace boost::python; struct WrappedRemoteSiteLoader : public RemoteSiteLoader { diff --git a/modules/gui/pymod/export_scene_win.cc b/modules/gui/pymod/export_scene_win.cc index 1d659c420b6de545bd22ece7daea12333dbe546c..6db3578c74e4e5535787d65ee0f04c839aa21833 100644 --- a/modules/gui/pymod/export_scene_win.cc +++ b/modules/gui/pymod/export_scene_win.cc @@ -16,7 +16,6 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QAction> #include <boost/python.hpp> @@ -25,6 +24,7 @@ #include "sip_handler.hh" +#include <QAction> using namespace boost::python; using namespace ost; @@ -53,6 +53,7 @@ void export_SceneWin() .value("NOT_VISIBLE", NOT_VISIBLE) .value("NOT_HIDDEN", NOT_HIDDEN) .value("NOT_SCENE", NOT_SCENE) + .value("VIEWS_SAME_OBJECT", VIEWS_SAME_OBJECT) .value("SINGLE", SINGLE) .value("MULTI", MULTI) #if OST_IMG_ENABLED diff --git a/modules/gui/pymod/export_sequence_viewer.cc b/modules/gui/pymod/export_sequence_viewer.cc index e6127166c5cb2c23903b9d407ad7437959c0addb..268b4dd2b28d3779d9b5d2260c978f21cdb0c293 100644 --- a/modules/gui/pymod/export_sequence_viewer.cc +++ b/modules/gui/pymod/export_sequence_viewer.cc @@ -16,7 +16,10 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ + #include <boost/python.hpp> +#include <vector> +#include <boost/python/suite/indexing/vector_indexing_suite.hpp> #include <ost/gui/sequence_viewer/sequence_viewer.hh> @@ -26,12 +29,90 @@ using namespace boost::python; using namespace ost; using namespace ost::gui; +namespace { + +void change_display_mode_a(SequenceViewer* seq_viewer, const QString& mode) +{ + seq_viewer->ChangeDisplayMode(mode); +} + +void change_display_mode_b(SequenceViewer* seq_viewer, const gfx::EntityP& entity, const QString& mode) +{ + seq_viewer->ChangeDisplayMode(entity, mode); +} + +void change_display_mode_c(SequenceViewer* seq_viewer, const seq::AlignmentHandle& alignment, const QString& mode) +{ + seq_viewer->ChangeDisplayMode(alignment, mode); +} + +String get_current_display_mode_a(SequenceViewer* seq_viewer) +{ + return seq_viewer->GetCurrentDisplayMode().toStdString(); +} + +String get_current_display_mode_b(SequenceViewer* seq_viewer, const gfx::EntityP& entity) +{ + return seq_viewer->GetCurrentDisplayMode(entity).toStdString(); +} + +String get_current_display_mode_c(SequenceViewer* seq_viewer, const seq::AlignmentHandle& alignment) +{ + return seq_viewer->GetCurrentDisplayMode(alignment).toStdString(); +} + +std::vector<String> get_display_modes_a(SequenceViewer* seq_viewer) +{ + std::vector<String> modes; + const QStringList& list = seq_viewer->GetDisplayModes(); + for (int i=0; i<list.size(); i++){ + modes.push_back(list.at(i).toStdString()); + } + return modes; +} + +std::vector<String> get_display_modes_b(SequenceViewer* seq_viewer, const gfx::EntityP& entity) +{ + std::vector<String> modes; + const QStringList& list = seq_viewer->GetDisplayModes(entity); + for (int i=0; i<list.size(); i++){ + modes.push_back(list.at(i).toStdString()); + } + return modes; +} + +std::vector<String> get_display_modes_c(SequenceViewer* seq_viewer, const seq::AlignmentHandle& alignment) +{ + std::vector<String> modes; + const QStringList& list = seq_viewer->GetDisplayModes(alignment); + for (int i=0; i<list.size(); i++){ + modes.push_back(list.at(i).toStdString()); + } + return modes; +} + +} + void export_SequenceViewer() { - class_<SequenceViewer, boost::noncopyable >("SequenceViewer", no_init) + class_<SequenceViewer, boost::noncopyable >("SequenceViewer",init<>()) + .def(init<bool, optional<QWidget*> >()) .def("Show", &SequenceViewer::show) .def("Hide", &SequenceViewer::hide) + .def("AddEntity", &SequenceViewer::AddEntity) + .def("RemoveEntity", &SequenceViewer::RemoveEntity) + .def("AddAlignment", &SequenceViewer::AddAlignment) + .def("RemoveAlignment", &SequenceViewer::RemoveAlignment) + .def("GetDisplayModes", &get_display_modes_a) + .def("GetDisplayModes", &get_display_modes_b) + .def("GetDisplayModes", &get_display_modes_c) + .def("GetCurrentDisplayMode", &get_current_display_mode_a) + .def("GetCurrentDisplayMode", &get_current_display_mode_b) + .def("GetCurrentDisplayMode", &get_current_display_mode_c) + .def("ChangeDisplayMode",&change_display_mode_a) + .def("ChangeDisplayMode",&change_display_mode_b) + .def("ChangeDisplayMode",&change_display_mode_c) .def("GetQObject",&get_py_qobject<SequenceViewer>) .add_property("qobject", &get_py_qobject<SequenceViewer>) ; diff --git a/modules/gui/pymod/export_tool.cc b/modules/gui/pymod/export_tool.cc index 946340659ba6bbf7aa8f26c161dd163adffc8124..1d050038fb3854d45b797b56994c6bbe872d55df 100644 --- a/modules/gui/pymod/export_tool.cc +++ b/modules/gui/pymod/export_tool.cc @@ -17,9 +17,8 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <vector> - #include <boost/python.hpp> +#include <vector> #include <boost/python/register_ptr_to_python.hpp> #include <boost/python/suite/indexing/vector_indexing_suite.hpp> diff --git a/modules/gui/pymod/export_widget.cc b/modules/gui/pymod/export_widget.cc index 0834cec320d4fbe31425328066c3ad6b66d35529..f548e52ff1f6518c1d887440d08e27af11e2eb4c 100644 --- a/modules/gui/pymod/export_widget.cc +++ b/modules/gui/pymod/export_widget.cc @@ -16,21 +16,17 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <string> #include <boost/python.hpp> +#include <string> #include <boost/python/register_ptr_to_python.hpp> -#include <boost/python/suite/indexing/vector_indexing_suite.hpp> -using namespace boost::python; + #include <ost/gui/widget.hh> -#include <ost/gui/widget_registry.hh> -#include <ost/gui/gosty_app.hh> -#include <ost/gui/perspective.hh> -#include <ost/gui/panel_bar/panels.hh> #include "sip_handler.hh" +using namespace boost::python; using namespace ost; using namespace ost::gui; @@ -39,22 +35,22 @@ struct WrappedWidget : public Widget { WrappedWidget(PyObject *p, object py_object): Widget(NULL,NULL){ - if(QWidget* widget = get_cpp_qobject<QWidget>(py_object)){ + if (QWidget* widget=get_cpp_qobject<QWidget>(py_object)) { this->SetInternalWidget(widget); } } - virtual bool Restore(const QString& prefix){return true;} virtual bool Save(const QString& prefix){return true;} virtual ~WrappedWidget(){ } - +private: + QString unique_id_; }; void export_Widget() { - class_<Widget, WrappedWidget, boost::noncopyable>("WrappedWidget",init<object>()) + class_<Widget, WrappedWidget, boost::noncopyable>("Widget", init<object>()) .def("Save", &WrappedWidget::Save) .def("Restore", &WrappedWidget::Restore) .def("SetDestroyOnClose", &WrappedWidget::SetDestroyOnClose) diff --git a/modules/gui/pymod/init_context_menu.py b/modules/gui/pymod/init_context_menu.py index e2d68d1ce3fa7cf7584dafdf688647c31ef2538d..bddcda7fd2533e347ae910e7c5f361f680043cc4 100644 --- a/modules/gui/pymod/init_context_menu.py +++ b/modules/gui/pymod/init_context_menu.py @@ -1,8 +1,17 @@ +import platform + from PyQt4 import QtCore, QtGui -from ost import geom, gfx, gui +import sip + +from ost import geom, gfx, gui, seq from ost import settings +from ost import LogError, mol from ost.bindings import tmtools +from ost.bindings import msms +from ost.seq import alg +import ost +from ost.gui.scene.query_editor import QueryEditorWidget,QueryDialog class SelectRefDialog(QtGui.QDialog): def __init__(self, ent_list, parent=None): @@ -21,6 +30,14 @@ class SelectRefDialog(QtGui.QDialog): self.list.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) vb.addWidget(self.label) vb.addWidget(self.list) + self.show_scores = QtGui.QCheckBox(self) + self.show_scores.setText("Show Scores") + self.show_scores.setChecked(True) + vb.addWidget(self.show_scores) + self.show_alignment = QtGui.QCheckBox(self) + self.show_alignment.setText("Display Alignment") + self.show_alignment.setChecked(False) + vb.addWidget(self.show_alignment) hb = QtGui.QHBoxLayout() hb.setDirection(QtGui.QBoxLayout.LeftToRight) cancel_btn = QtGui.QPushButton("Cancel", self) @@ -56,7 +73,13 @@ class SelectRefDialog(QtGui.QDialog): self.ent_list_.remove(ent) self.ent_list_.insert(0,ent) self.accept() - + + def GetShowScores(self): + return self.show_scores.isChecked() + + def GetDisplayAlignment(self): + return self.show_alignment.isChecked() + def GetEntities(self): return self.ent_list_ @@ -102,15 +125,136 @@ class ShowResultDialog(QtGui.QDialog): self.list.resizeColumnsToContents() +class CalculateSurfaceSettingsDialog(QtGui.QDialog): + def __init__(self, executable, parent=None): + QtGui.QDialog.__init__(self, parent) + vb = QtGui.QGridLayout() + self.setLayout(vb) + self.setWindowTitle("MSMS Surface Settings") + msmsexe_label=QtGui.QLabel("executable") + self.msmsexe_field=QtGui.QLineEdit() + self.msmsexe_field.setText(executable) + msmsexe_browsebutton=QtGui.QPushButton("Browse") + vb.addWidget(msmsexe_label, 0, 0) + vb.addWidget(self.msmsexe_field, 0, 1) + vb.addWidget(msmsexe_browsebutton, 0, 2) + surfname_label=QtGui.QLabel("surface name") + self.surfname_field=QtGui.QLineEdit() + self.surfname_field.setText("surface") + vb.addWidget(surfname_label, 1, 0) + vb.addWidget(self.surfname_field, 1, 1, 1, 2) + density_label=QtGui.QLabel("density") + self.density_spinbox=QtGui.QSpinBox() + self.density_spinbox.setRange(1, 10) + self.density_spinbox.setValue(4) + vb.addWidget(density_label, 2, 0) + vb.addWidget(self.density_spinbox, 2, 1, 1, 2) + probe_label=QtGui.QLabel("probe radius") + self.probe_spinbox=QtGui.QDoubleSpinBox() + self.probe_spinbox.setDecimals(1) + self.probe_spinbox.setSingleStep(0.1) + self.probe_spinbox.setRange(0.3, 5.0) + self.probe_spinbox.setValue(1.4) + vb.addWidget(probe_label, 3, 0) + vb.addWidget(self.probe_spinbox, 3, 1, 1, 2) + selection_label=QtGui.QLabel("selection") + self.selection_field=QtGui.QLineEdit() + self.selection_field.setText("") + vb.addWidget(selection_label, 4, 0) + vb.addWidget(self.selection_field, 4, 1, 1, 2) + self.noh_box=QtGui.QCheckBox("no hydrogens") + vb.addWidget(self.noh_box, 5, 0) + self.nohet_box=QtGui.QCheckBox("no hetatoms") + vb.addWidget(self.nohet_box, 5, 1) + self.nowat_box=QtGui.QCheckBox("no waters") + vb.addWidget(self.nowat_box, 5, 2) + + cancel_btn = QtGui.QPushButton("Cancel", self) + ok_btn = QtGui.QPushButton("OK", self) + vb.addWidget(cancel_btn, 6, 1) + vb.addWidget(ok_btn, 6, 2) + + QtCore.QObject.connect(msmsexe_browsebutton, QtCore.SIGNAL("clicked()"), self.GetPath) + QtCore.QObject.connect(ok_btn, QtCore.SIGNAL("clicked()"), self.accept) + QtCore.QObject.connect(cancel_btn, QtCore.SIGNAL("clicked()"), self.reject) + + def GetPath(self): + path=QtGui.QFileDialog().getOpenFileName(self, "Choose MSMS Executable") + if path!='': + self.msmsexe_field.setText(path) + +class SurfaceContextMenu(QtCore.QObject): + def __init__(self, context_menu): + try: + settings_name="msms" + self.executable=settings.Locate(settings_name) + except settings.FileNotFound: + self.executable="" + QtCore.QObject.__init__(self, context_menu.qobject) + self.action = QtGui.QAction("Calculate Surface", self) + QtCore.QObject.connect(self.action, QtCore.SIGNAL("triggered()"), + self.CalculateSurface) + context_menu.AddAction(self.action, gui.ContextActionType.ENTITY) + + def CalculateSurface(self): + scene_selection = gui.SceneSelection.Instance() + ent_list = list() + for i in range(0,scene_selection.GetActiveNodeCount()): + ent_list.append(scene_selection.GetActiveNode(i)) + cssd = CalculateSurfaceSettingsDialog(self.executable) + if(cssd.exec_()): + self.__CalculateSurface(ent_list, + str(cssd.surfname_field.text()), + str(cssd.msmsexe_field.text()), + cssd.density_spinbox.value(), + cssd.probe_spinbox.value(), + str(cssd.selection_field.text()), + cssd.noh_box.isChecked(), + cssd.nohet_box.isChecked(), + cssd.nowat_box.isChecked()) + + def __CalculateSurface(self,ent_list,name,msms_exe,density, + radius,selection,noh,nohet,nowat): + for entity in ent_list: + if isinstance(entity, gfx.Entity): + try: + s=msms.CalculateSurface(entity.view.handle, + msms_exe=msms_exe, + density=density, + radius=radius, + selection=selection, + no_hydrogens=noh, + no_hetatoms=nohet, + no_waters=nowat)[0] + gfx.Scene().Add(gfx.Surface("%s_%s"%(entity.GetName(),name),s)) + except (RuntimeError, msms.MsmsProcessError): + LogError("WARNING: Surface could not be calculated") + return + except UserWarning: + LogError("WARNING: Entry with the same name already present in scene") + return + class AlignmentContextMenu(QtCore.QObject): + def __init__(self, context_menu): try: - settings.Locate('tmalign') + try: # workaround for interrupted system call bug on OSX + if platform.system() == "Windows": + settings_name="tmalign.exe" + else: + settings_name="tmalign" + except IOError: + # if platform.system() fails with an IOError we are most likely on a buggy mac an therefore + # use "tmalign" + settings_name="tmalign" + + settings.Locate(settings_name) QtCore.QObject.__init__(self, context_menu.qobject) self.action = QtGui.QAction("Align", self) QtCore.QObject.connect(self.action,QtCore.SIGNAL("triggered()"), self.Align) context_menu.AddAction(self.action, gui.ContextActionType.ENTITY | gui.ContextActionType.MULTI) + self.seq_viewer = None except settings.FileNotFound: return @@ -119,14 +263,11 @@ class AlignmentContextMenu(QtCore.QObject): ent_list = list() for i in range(0,scene_selection.GetActiveNodeCount()): ent_list.append(scene_selection.GetActiveNode(i)) - if len(ent_list) == 2: - self.__Align(ent_list) - elif len(ent_list) > 2: - sd = SelectRefDialog(ent_list) - if(sd.exec_()): - self.__Align(sd.GetEntities()) + sd = SelectRefDialog(ent_list) + if(sd.exec_()): + self.__Align(sd.GetEntities(),sd.GetShowScores(), sd.GetDisplayAlignment()) - def __Align(self, ent_list): + def __Align(self, ent_list,show_scores=True, display_alignment=False): node = ent_list[0] res_list = list() if isinstance(node, gfx.Entity): @@ -136,7 +277,10 @@ class AlignmentContextMenu(QtCore.QObject): if isinstance(node, gfx.Entity): res_list.append(tmtools.TMAlign(node.view.handle, ref)) node.UpdatePositions() - self.__ShowScore(ent_list, res_list) + if show_scores: + self.__ShowScore(ent_list, res_list) + if display_alignment: + self.__DisplayAlignment(ent_list, res_list) def __ShowScore(self, ent_list, res_list): if(len(res_list)==1): @@ -146,7 +290,92 @@ class AlignmentContextMenu(QtCore.QObject): elif(len(res_list)>1): ShowResultDialog(ent_list, res_list).exec_() - + def __DisplayAlignment(self, ent_list, res_list): + if(len(res_list)>0): + ref_seq = seq.CreateSequence("%s (ref)"%ent_list[0].GetName(),res_list[0].ref_sequence.GetGaplessString()) + aln_list = seq.AlignmentList() + if(ref_seq.IsValid()): + for i in range(0, len(res_list)): + res_list[i].alignment.SetSequenceName(1,ent_list[i+1].GetName()) + aln_list.append(res_list[i].alignment) + alignment = alg.MergePairwiseAlignments(aln_list, ref_seq) + gosty = gui.GostyApp.Instance() + main_area = gosty.perspective.GetMainArea() + if self.seq_viewer: + self.seq_viewer.qobject.close() + self.seq_viewer = gui.SequenceViewer(True) + self.seq_viewer.AddAlignment(alignment) + self.seq_viewer.ChangeDisplayMode("Highlight conservation 1") + self.seq_viewer.Show() + +class SelectMenuPoints(QtCore.QObject): + def __init__(self, context_menu): + QtCore.QObject.__init__(self, context_menu.qobject) + action=QtGui.QAction("Select...", self) + QtCore.QObject.connect(action, QtCore.SIGNAL('triggered()'), + self._Select) + context_menu.AddAction(action, gui.ENTITY) + action=QtGui.QAction("Copy Selection...", self) + QtCore.QObject.connect(action, QtCore.SIGNAL('triggered()'), + self._CopyViews) + context_menu.AddAction(action, gui.ENTITY) + action=QtGui.QAction('Select...', self) + QtCore.QObject.connect(action, QtCore.SIGNAL('triggered()'), + self._SelectViewsSameEntity) + context_menu.AddAction(action, gui.ENTITY_VIEW|gui.VIEWS_SAME_OBJECT) + def _Select(self): + scene_selection=gui.SceneSelection.Instance() + ent=scene_selection.GetActiveNode(0) + dialog=QueryDialog('Select...') + if dialog.exec_(): + q=mol.Query(dialog.query) + if q.IsValid(): + ent.selection=ent.view.Select(dialog.query, dialog.query_flags) + else: + ost.LogError("invalid query: %s" % q.error) + + def _UniqueName(self, ent): + """ + Returns a name based on ent that is unique within the scene + """ + ent_name=ent.GetName() + num=2 + while True: + candidate_name='%s-%d' % (ent_name, num) + if not gfx.Scene().HasNode(candidate_name): + return candidate_name + num+=1 + + def _SelectViewsSameEntity(self): + + union=gui.SceneSelection.Instance().GetViewUnion() + dialog=QueryDialog('Select...') + if dialog.exec_(): + q=mol.Query(dialog.query) + if q.IsValid(): + ve=gui.SceneSelection.Instance().GetViewEntity() + ve.selection=union.Select(q, dialog.query_flags) + else: + ost.LogError("invalid query: %s" % q.error) + + def _CopyViews(self): + views_to_add=[] + scene_selection=gui.SceneSelection.Instance() + ent=scene_selection.GetActiveNode(0) + dialog=QueryDialog('Select...') + if dialog.exec_(): + q=mol.Query(dialog.query) + if q.IsValid(): + for i in range(scene_selection.GetActiveNodeCount()): + ent=scene_selection.GetActiveNode(i) + selected=ent.view.Select(q, dialog.query_flags) + gfx_ent=gfx.Entity(self._UniqueName(ent),selected) + gfx.Scene().Add(gfx_ent) + else: + ost.LogError("invalid query: %s" % q.error) + def _InitContextMenu(app): cm=app.scene_win.GetContextMenu() - AlignmentContextMenu(cm) \ No newline at end of file + AlignmentContextMenu(cm) + SurfaceContextMenu(cm) + SelectMenuPoints(cm) diff --git a/modules/gui/pymod/init_menubar.py b/modules/gui/pymod/init_menubar.py index 360b02b1b692ead1983d5962ae4aac83328b6dcc..ac5c23e23dd0aebcc57f297ea3bd42fa6d11386a 100644 --- a/modules/gui/pymod/init_menubar.py +++ b/modules/gui/pymod/init_menubar.py @@ -26,9 +26,9 @@ import ost from PyQt4 import QtCore, QtGui from ost.gui import FileLoader from ost.gui.scene.file_loader import GenericLoader - from ost.gui.scene.loader_manager_widget import LoaderManagerWidget - +from ost.gui.init_splash import _InitSplash +from ost.gui.dng import termuse class InitMenuBar(QtCore.QObject): def __init__(self, menu_bar=None): QtCore.QObject.__init__(self, menu_bar) @@ -50,8 +50,30 @@ class InitMenuBar(QtCore.QObject): webpage.setShortcut('Ctrl+D') self.connect(webpage, QtCore.SIGNAL('triggered()'), self.OpenDocs) help.addAction(webpage) + if sys.platform=='darwin': + install_ctl=QtGui.QAction('Install Command Line Tool', self) + self.connect(install_ctl, QtCore.SIGNAL('triggered()'), + termuse.InstallTerminalPrograms) + help.addAction(install_ctl) + about = QtGui.QAction('&About', self) + about.setStatusTip('About') + about.setShortcut('Ctrl+A') + self.connect(about, QtCore.SIGNAL('triggered()'), self.About) + help.addAction(about) + window.addMenu(persp.panels.menu) + gl_win = QtGui.QAction('&GL Window', self) + gl_win.setStatusTip('Display gl windows') + gl_win.setShortcut('Ctrl+G') + self.connect(gl_win, QtCore.SIGNAL('triggered()'), self.ShowGLWin) + window.addAction(gl_win) + + reset = QtGui.QAction('Reset View', self) + reset.setStatusTip('Reset the Panels and Widgets') + self.connect(reset, QtCore.SIGNAL('triggered()'), self.ResetView) + window.addAction(reset) + #Options #Add file loader to menu loader_manager = QtGui.QAction('File &Loader', self) @@ -75,8 +97,35 @@ class InitMenuBar(QtCore.QObject): self.loader_manager.exec_() def OpenDocs(self): - QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://www.openstructure.org/docs/index.html")) + QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://www.openstructure.org/docs/")) + def About(self): + _InitSplash() + + def ShowGLWin(self): + gosty=gui.GostyApp.Instance() + gl_win=gosty.GetGLWin() + if gl_win and gl_win.qobject.isHidden(): + gl_win.Show() + + def ResetView(self): + msg_box = QtGui.QMessageBox() + msg_box.setWindowTitle("Reset the Panels and Widget"); + msg_box.setIcon(QtGui.QMessageBox.Question) + msg_box.setText("Do you really want to reset the Panels and Widgets?"); + msg_box.setStandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel); + msg_box.setDefaultButton(QtGui.QMessageBox.Cancel); + ret = msg_box.exec_(); + if(ret == QtGui.QMessageBox.Yes): + settings = QtCore.QSettings() + settings.setValue("restore_settings",QtCore.QVariant(False)) + info_box = QtGui.QMessageBox() + info_box.setStandardButtons(QtGui.QMessageBox.Ok) + info_box.setIcon(QtGui.QMessageBox.Information) + info_box.setWindowTitle("Restart OpenStructure") + info_box.setText("You must restart OpenStructure for the changes to take effect!"); + info_box.exec_(); + def _InitMenuBar(app): InitMenuBar(app.perspective.menubar) diff --git a/modules/gui/pymod/init_splash.py b/modules/gui/pymod/init_splash.py new file mode 100644 index 0000000000000000000000000000000000000000..33263606301d852f81414bfffcf62d2f8acfa215 --- /dev/null +++ b/modules/gui/pymod/init_splash.py @@ -0,0 +1,27 @@ +from PyQt4 import QtCore, QtGui + +import os +import ost +from ost import gui + +LOGO_PATH = os.path.join(ost.GetSharedDataPath(), "gui", "images", "logo-small.png") + +class SplashDialog(QtGui.QDialog): + def __init__(self, parent=None): + QtGui.QDialog.__init__(self, parent) + layout = QtGui.QHBoxLayout(self) + self.setLayout(layout) + imageLabel = QtGui.QLabel(); + self.pix_map = QtGui.QPixmap(LOGO_PATH); + imageLabel.setPixmap(self.pix_map); + layout.addWidget(imageLabel) + self.label = QtGui.QTextEdit() + self.label.setReadOnly(True) + self.label.setHtml("Welcome to <b>Openstructure</b>!<br /><br />You are running version 1.0.0a<br /><br />If you are new to OpenStructure, we invite you to run the demos from the examples directory. Scripts can be displayed by right clicking on the file and selecting 'Show source'.<br /><br />Feel free visit our website at:<br /> http://www.openstructure.org") + layout.addWidget(self.label) + +def _InitSplash(): + splash = SplashDialog(gui.GostyApp.Instance().perspective.main_area.qobject) + splash.exec_() + + #QtCore.QTimer.singleShot(30000, splash.close); diff --git a/modules/gui/pymod/scene/color_options_widget.py b/modules/gui/pymod/scene/color_options_widget.py index 2683a745dfdf180e4e1ebe1ccbac474342b24d06..4171e8c408eae6645f90fc0b75870ccee17c6659 100644 --- a/modules/gui/pymod/scene/color_options_widget.py +++ b/modules/gui/pymod/scene/color_options_widget.py @@ -22,7 +22,15 @@ import sys from ost import mol from ost import gui from ost import gfx +try: + from ost import img + _img_present=True +except ImportError: + _img_present=False + pass + from PyQt4 import QtCore, QtGui +from scene_selection_helper import SelHelper from gradient_editor_widget import GradientEditor from uniform_color_widget import UniformColorWidget from combo_options_widget import ComboOptionsWidget @@ -35,15 +43,22 @@ class ColorOptionsWidget(ComboOptionsWidget): self.text_ = "Color Options" #Add options to menu - self.AddWidget("Color by Element", ByElementWidget("Color by Element")) - self.AddWidget("Color by Chain", ByChainWidget("Color by Chain")) - self.AddWidget("Color by Property", GradientEditor(self)) - self.AddWidget("Uniform",UniformColorWidget(self)) + self.entity_widgets_ = list() + self.entity_widgets_.append(["Color by Element", ByElementWidget("Color by Element")]) + self.entity_widgets_.append(["Color by Chain", ByChainWidget("Color by Chain")]) + self.entity_widgets_.append(["Color by Entity", ByEntityWidget("Color by Entity")]) + self.entity_widgets_.append(["Color by Property", GradientEditor()]) + self.entity_widgets_.append(["Uniform",UniformColorWidget()]) + self.img_widgets_ = list() + self.img_widgets_.append(["Uniform",UniformColorWidget()]) + self.setMinimumSize(250,200) def DoSomething(self, item): scene_selection = gui.SceneSelection.Instance() + if hasattr(item,"PrepareColoring"): + item.PrepareColoring() for i in range(0,scene_selection.GetActiveNodeCount()): node = scene_selection.GetActiveNode(i) item.ChangeColor(node) @@ -57,26 +72,38 @@ class ColorOptionsWidget(ComboOptionsWidget): def Update(self): + ComboOptionsWidget.setEnabled(self,True) - scene_selection = gui.SceneSelection.Instance() - if scene_selection.GetActiveNodeCount() == 0 and scene_selection.GetActiveViewCount() == 0: + if SelHelper().CheckAllFlags(SelHelper.NO_SELECTION): ComboOptionsWidget.setEnabled(self,False) return - - for i in range(0,scene_selection.GetActiveNodeCount()): - node = scene_selection.GetActiveNode(i) - if not (isinstance(node, gfx.Entity) or isinstance(node, gfx.Surface)): - ComboOptionsWidget.setEnabled(self,False) - return - + + for w in self.entity_widgets_: + self.RemoveWidget(w[0]) + for w in self.img_widgets_: + self.RemoveWidget(w[0]) + + + if SelHelper().CheckFlags(SelHelper.HAS_IMG | SelHelper.IS_ONE_TYPE): + for w in self.img_widgets_: + self.AddWidget(w[0], w[1]) + elif SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_VIEW| SelHelper.HAS_SURFACE) and SelHelper().CheckNotFlags(SelHelper.HAS_IMG): + for w in self.entity_widgets_: + self.AddWidget(w[0], w[1]) + else: + ComboOptionsWidget.setEnabled(self,False) + return + + self.GetCurrentWidget().Update() + def GetText(self): return self.text_ class ByElementWidget(QtGui.QWidget): def __init__(self, text, parent=None): - QtGui.QLabel.__init__(self, parent) + QtGui.QWidget.__init__(self, parent) #Title self.text_ = text @@ -112,7 +139,7 @@ class ByElementWidget(QtGui.QWidget): class ByChainWidget(QtGui.QWidget): def __init__(self, text, parent=None): - QtGui.QLabel.__init__(self, parent) + QtGui.QWidget.__init__(self, parent) #Title self.text_ = text @@ -144,3 +171,49 @@ class ByChainWidget(QtGui.QWidget): def GetText(self): return self.text_ + +class ByEntityWidget(QtGui.QWidget): + def __init__(self, text, parent=None): + QtGui.QWidget.__init__(self, parent) + + #Title + self.text_ = text + + #UI + text_label = QtGui.QLabel(text) + font = text_label.font() + font.setBold(True) + + grid = QtGui.QGridLayout() + grid.addWidget(text_label,0,0,1,1) + grid.addWidget(QtGui.QLabel("No Settings available"), 1, 0, 1, 3) + grid.setRowStretch(2,1) + self.setLayout(grid) + self.setMinimumSize(250,60) + + self.gradient_ = gfx.Gradient("RAINBOW") + + def Update(self): + pass #Do Nothing + + def PrepareColoring(self): + scene_selection = gui.SceneSelection.Instance() + entity_count = scene_selection.GetActiveNodeCount() + for i in range(0,scene_selection.GetActiveNodeCount()): + if i<=0: + color=self.gradient_.GetColorAt(0.0) + else: + color=self.gradient_.GetColorAt(float(i) / entity_count) + node = scene_selection.GetActiveNode(i) + node.SetColor(color) + + def ChangeColor(self, node): + pass + + def ChangeViewColor(self, entity, view): + if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): + bco=gfx.ByChainColorOp(mol.QueryViewWrapper(view)) + entity.Apply(bco) + + def GetText(self): + return self.text_ diff --git a/modules/gui/pymod/scene/color_select_widget.py b/modules/gui/pymod/scene/color_select_widget.py index a02986b7b92d1a6ab4684ff5689a2a8f447169b5..2fdf19bb17fc9a336365e01d754f9ff119e1bc5b 100644 --- a/modules/gui/pymod/scene/color_select_widget.py +++ b/modules/gui/pymod/scene/color_select_widget.py @@ -51,7 +51,7 @@ class ColorSelectWidget(QtGui.QWidget): def ChangeColor(self): color = QtGui.QColorDialog.getColor(self.color_, self) - if(color != self.color_): + if(color != self.color_ and color.isValid()): self.color_ = color self.emit(QtCore.SIGNAL("colorChanged")) self.update() @@ -59,11 +59,19 @@ class ColorSelectWidget(QtGui.QWidget): def GetColor(self): return self.color_ + def GetGfxColor(self): + color = self.GetColor() + return gfx.Color(color.redF(), color.greenF(), color.blueF()) + def SetColor(self, color): if(self.color_ != color): self.color_ = color self.emit(QtCore.SIGNAL("colorChanged")) self.update() + + def SetGfxColor(self, color): + qcolor= QtGui.QColor(color.Red()*255,color.Green()*255,color.Blue()*255,color.Alpha()*255) + self.SetColor(qcolor) def paintEvent(self, event): if self.isEnabled(): diff --git a/modules/gui/pymod/scene/combo_options_widget.py b/modules/gui/pymod/scene/combo_options_widget.py index dea16f03730573a16f4ea2e542e12b44395a12b5..b84630cc1bfd94f42b15d5f09904e73fada359d1 100644 --- a/modules/gui/pymod/scene/combo_options_widget.py +++ b/modules/gui/pymod/scene/combo_options_widget.py @@ -81,7 +81,7 @@ class ComboOptionsWidget(QtGui.QWidget): def RemoveWidget(self,ident): index = self.__GetIndex(ident) if(index >= 0): - self.stacked_widget_.removeWidget(self.combo_box_.itemData().toPyObject()[1]) + self.stacked_widget_.removeWidget(self.combo_box_.itemData(index).toPyObject()[1]) self.combo_box_.removeItem(index) def DoSomething(self, item): @@ -103,7 +103,9 @@ class ComboOptionsWidget(QtGui.QWidget): self.__UpdateView(None) def GetCurrentWidget(self): - return self.__GetCurrentPair()[1] + if(self.combo_box_.currentIndex() >= 0): + return self.__GetCurrentPair()[1] + return None def DoResize(self): item = self.GetCurrentWidget() @@ -127,7 +129,7 @@ class ComboOptionsWidget(QtGui.QWidget): def __GetIndex(self, ident): for i in range(self.combo_box_.count()): pair = self.combo_box_.itemData(i).toPyObject() - if ident == pair[0] and i != self.combo_box_.currentIndex(): + if ident == pair[0]: return i return -1 diff --git a/modules/gui/pymod/scene/cpk_widget.py b/modules/gui/pymod/scene/cpk_widget.py index d57b21591bb56b1ee3f9d71d160502fb66bffd4c..9a15dce91543a23bde329fff8b95411949c6bada 100644 --- a/modules/gui/pymod/scene/cpk_widget.py +++ b/modules/gui/pymod/scene/cpk_widget.py @@ -65,9 +65,11 @@ class CPKWidget(RenderModeWidget): def UpdateSphereDetail(self, value): self.GetOptions().SetSphereDetail(value) + self.ApplyOptions() def UpdateSphereMode(self, value): self.GetOptions().SetSphereMode(value) + self.ApplyOptions() def UpdateGui(self,options): self.sphere_spinbox_.setValue(options.GetSphereDetail()) diff --git a/modules/gui/pymod/scene/custom_widget.py b/modules/gui/pymod/scene/custom_widget.py index 9f8c3ffc0b9c08bd72829d0856b841451fc3724d..a778ed436cd9576816e66ebc57a51abce007d35a 100644 --- a/modules/gui/pymod/scene/custom_widget.py +++ b/modules/gui/pymod/scene/custom_widget.py @@ -128,7 +128,7 @@ class CustomWidget(RenderModeWidget): def UpdateSphereDetail(self, value): self.GetOptions().SetSphereDetail(value) self.ApplyOptions() - + def UpdateArcDetail(self, value): self.GetOptions().SetArcDetail(value) self.ApplyOptions() @@ -137,18 +137,22 @@ class CustomWidget(RenderModeWidget): self.GetOptions().SetBondRad(value) if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()): self.GetOptions().SetSphereRad(value) + self.ApplyOptions() def UpdateSliderBondRadius(self, value): self.GetOptions().SetBondRad(value/100.0) - + self.ApplyOptions() + def UpdateSphereRadius(self, value): self.GetOptions().SetSphereRad(value) if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()): self.GetOptions().SetBondRad(value) + self.ApplyOptions() def UpdateSliderSphereRadius(self, value): self.GetOptions().SetSphereRad(value/100.0) - + self.ApplyOptions() + def UpdateSphereRadiusGui(self,value): if(abs(value*100.0 - self.radius_sphere_slider_.value())>=self.radius_sphere_spinbox_.singleStep()): self.radius_sphere_slider_.setValue(value*100.0) diff --git a/modules/gui/pymod/scene/file_loader.py b/modules/gui/pymod/scene/file_loader.py index 522dd6934deeb8bfa45b17ebd1aea6646ecf3d44..98319a43688019997f62f5fe0716b34513393a33 100644 --- a/modules/gui/pymod/scene/file_loader.py +++ b/modules/gui/pymod/scene/file_loader.py @@ -52,6 +52,9 @@ class BaseRemoteLoader(gui.RemoteSiteLoader): def IsImg(self): return False + def IsDefault(self): + return False + def GetRemoteSiteName(self): pass @@ -83,13 +86,14 @@ class GenericLoader(BaseRemoteLoader): FILE_TYPE_ATTRIBUTE_NAME = "FileType" TMP_URL_ATTRIBUTE_NAME= "TmpUrl" IMG_ATTRIBUTE_NAME= "Img" - - def __init__(self, name, url, up_case, file_type, tmp_url=None, img=False): + DEFAULT_ATTRIBUTE_NAME= "Default" + def __init__(self, name, url, up_case, file_type, tmp_url=None, img=False, default=False): BaseRemoteLoader.__init__(self) self.name_ = QtCore.QString(name) self.url_ = QtCore.QString(url) self.up_case_ = up_case self.img_ = img + self.default_ = default if file_type is not None: self.file_type_ = QtCore.QString(file_type) else: @@ -103,6 +107,9 @@ class GenericLoader(BaseRemoteLoader): def IsImg(self): return self.img_ + def IsDefault(self): + return self.default_ + def GetRemoteSiteName(self): return self.name_ @@ -133,14 +140,14 @@ class GenericLoader(BaseRemoteLoader): file_type = remote_url.right(remote_url.size()-index-1) if file_type is None: file_type = self.file_type_ - - return url+formatted_id +"_"+self.name_+"."+file_type + if len(self.name_)>0: + return url+formatted_id +"_"+self.name_+"."+file_type + else: + return url+formatted_id+"."+file_type def HandleError(self, message): - messageBox =QtGui.QMessageBox(QtGui.QMessageBox.Warning, - "Error while Loading PDB from "+self.name_, "Could not download file ("+message+")!") - messageBox.exec_() - + ost.LogError(str("Could not download file\n"+message+"")) + def ToInfo(self,group): group.SetAttribute(GenericLoader.EXT_NAME_ATTRIBUTE_NAME, str(self.name_)) group.SetAttribute(GenericLoader.URL_ATTRIBUTE_NAME, str(self.url_)) @@ -152,6 +159,8 @@ class GenericLoader(BaseRemoteLoader): group.SetAttribute(GenericLoader.TMP_URL_ATTRIBUTE_NAME, str(self.tmp_url_)) if self.img_ is not None: group.SetAttribute(GenericLoader.IMG_ATTRIBUTE_NAME, str(int(self.img_))) + if self.default_ is not None: + group.SetAttribute(GenericLoader.DEFAULT_ATTRIBUTE_NAME, str(int(self.default_))) @staticmethod def FromInfo(group): @@ -161,6 +170,7 @@ class GenericLoader(BaseRemoteLoader): file_type = None tmp_url = None img = False + default = False if group.HasAttribute(GenericLoader.EXT_NAME_ATTRIBUTE_NAME): name = QtCore.QString(group.GetAttribute(GenericLoader.EXT_NAME_ATTRIBUTE_NAME)) @@ -179,5 +189,8 @@ class GenericLoader(BaseRemoteLoader): if group.HasAttribute(GenericLoader.IMG_ATTRIBUTE_NAME): img = bool(int(group.GetAttribute(GenericLoader.IMG_ATTRIBUTE_NAME))) + + if group.HasAttribute(GenericLoader.DEFAULT_ATTRIBUTE_NAME): + default = bool(int(group.GetAttribute(GenericLoader.DEFAULT_ATTRIBUTE_NAME))) - return GenericLoader(name, url, up_case, file_type, tmp_url, img) + return GenericLoader(name, url, up_case, file_type, tmp_url, img, default) diff --git a/modules/gui/pymod/scene/gradient_preset_widget.py b/modules/gui/pymod/scene/gradient_preset_widget.py index 69aa610df15e9c6caef687e9f6fb035a5a7c4da0..99beffeb97d045656bf47112e79747bf26ecc76e 100644 --- a/modules/gui/pymod/scene/gradient_preset_widget.py +++ b/modules/gui/pymod/scene/gradient_preset_widget.py @@ -107,10 +107,12 @@ class GradientPresetWidget(QtGui.QWidget): self.immucontextMenu_.popup(QtGui.QCursor.pos()) def Add(self): + if(self.list_view_.currentIndex().isValid()): + self.list_view_.closePersistentEditor(self.list_view_.currentIndex()) row = self.list_model_.GetLastRow() if self.list_model_.AddItem(datetime.now().isoformat(' '), self.gradient_edit_.GetGradient(), row, True, True): index = self.list_model_.index(row) - self.self.list_view__.setCurrentIndex(index) + self.list_view_.setCurrentIndex(index) self.Rename() else: QtGui.QMessageBox.information(self, "Gradient not added", "The gradient could not be added!") diff --git a/modules/gui/pymod/scene/gradients.xml b/modules/gui/pymod/scene/gradients.xml deleted file mode 100644 index acbe86c2d3d0d26bd0efb351f3ddf16784c343fb..0000000000000000000000000000000000000000 --- a/modules/gui/pymod/scene/gradients.xml +++ /dev/null @@ -1,9 +0,0 @@ -<!DOCTYPE EMDataInfo> -<EMDataInfo> - <Gradients> - <Gradient Name="Green Godzilla" >2 -0.0609137 0.333333 1 0 1 -0.954315 0 0.501961 0 1 -</Gradient> - </Gradients> -</EMDataInfo> diff --git a/modules/gui/pymod/scene/hsc_widget.py b/modules/gui/pymod/scene/hsc_widget.py index b5f716a0af5449f5cd49ebb8bbb3137556701fbe..8a0464841f48d262cb074fed1594ff47be9a6d5b 100644 --- a/modules/gui/pymod/scene/hsc_widget.py +++ b/modules/gui/pymod/scene/hsc_widget.py @@ -325,70 +325,92 @@ class HSCWidget(RenderModeWidget): def UpdatePolyMode(self, value): self.GetOptions().SetPolyMode(value) + self.ApplyOptions() def UpdateSplineDetail(self, value): self.GetOptions().SetSplineDetail(value) + self.ApplyOptions() def UpdateArcDetail(self, value): self.GetOptions().SetArcDetail(value) + self.ApplyOptions() def UpdateTubeRadius(self, value): self.GetOptions().SetTubeRadius(value) + self.ApplyOptions() def UpdateSliderTubeRadius(self, value): self.GetOptions().SetTubeRadius(value/10.0) - + self.ApplyOptions() + def UpdateTubeRatio(self, value): self.GetOptions().SetTubeRatio(value) - + self.ApplyOptions() + def UpdateSliderTubeRatio(self, value): self.GetOptions().SetTubeRatio(value/10.0) - + self.ApplyOptions() + def UpdateTubeProfileType(self, value): self.GetOptions().SetTubeProfileType(value) + self.ApplyOptions() def UpdateHelixWidth(self, value): self.GetOptions().SetHelixWidth(value) + self.ApplyOptions() def UpdateSliderHelixWidth(self, value): self.GetOptions().SetHelixWidth(value/10.0) + self.ApplyOptions() def UpdateHelixThickness(self, value): self.GetOptions().SetHelixThickness(value) - + self.ApplyOptions() + def UpdateSliderHelixThickness(self, value): self.GetOptions().SetHelixThickness(value/10.0) + self.ApplyOptions() def UpdateHelixEcc(self, value): self.GetOptions().SetHelixEcc(value) + self.ApplyOptions() def UpdateHelixProfileType(self, value): self.GetOptions().SetHelixProfileType(value) - + self.ApplyOptions() + def UpdateSliderHelixEcc(self, value): self.GetOptions().SetHelixEcc(value/10.0) + self.ApplyOptions() def UpdateStrandWidth(self, value): self.GetOptions().SetStrandWidth(value) - + self.ApplyOptions() + def UpdateSliderStrandWidth(self, value): self.GetOptions().SetStrandWidth(value/10.0) + self.ApplyOptions() def UpdateStrandThickness(self, value): self.GetOptions().SetStrandThickness(value) + self.ApplyOptions() def UpdateSliderStrandThickness(self, value): self.GetOptions().SetStrandThickness(value/10.0) + self.ApplyOptions() def UpdateStrandEcc(self, value): self.GetOptions().SetStrandEcc(value) + self.ApplyOptions() def UpdateSliderStrandEcc(self, value): self.GetOptions().SetStrandEcc(value/10.0) - + self.ApplyOptions() + def UpdateStrandProfileType(self, value): self.GetOptions().SetStrandProfileType(value) - + self.ApplyOptions() + def UpdateTubeRadiusGui(self,value): if(abs(value*10.0 - self.width_tube_slider_.value())>=self.width_tube_spinbox_.singleStep()): self.width_tube_slider_.setValue(value*10.0) diff --git a/modules/gui/pymod/scene/immutable_gradient_info_handler.py b/modules/gui/pymod/scene/immutable_gradient_info_handler.py index 6eb2b75450e210c3f92384ce0cee24ba55171c53..e1fbb49c3fc4afd18e8a6426f3ad88fedf0b13a7 100644 --- a/modules/gui/pymod/scene/immutable_gradient_info_handler.py +++ b/modules/gui/pymod/scene/immutable_gradient_info_handler.py @@ -24,7 +24,7 @@ from ost import info from PyQt4 import QtCore, QtGui #Gradient Editor -class ImmutableGradientInfoHandler(): +class ImmutableGradientInfoHandler: def __init__(self, fileName): self.FILE_NAME = fileName @@ -36,10 +36,7 @@ class ImmutableGradientInfoHandler(): self.root_ = self.handle_.Root() - try: - self.gradients_ = self.root_.GetGroup(self.GRADIENTS_GROUP_NAME) - except UserWarning: - self.gradients_ = self.root_.CreateGroup(self.GRADIENTS_GROUP_NAME) + self.gradients_ = self.root_.RetrieveGroup(self.GRADIENTS_GROUP_NAME) def GetGfxGradient(self, name): @@ -82,4 +79,4 @@ class ImmutableGradientInfoHandler(): rel=s[0] color=s[1] gfx_gradient.SetColorAt(s[0], gfx.Color(s[1].redF(), s[1].greenF(), s[1].blueF())); - return gfx_gradient; \ No newline at end of file + return gfx_gradient; diff --git a/modules/gui/pymod/scene/immutable_info_handler.py b/modules/gui/pymod/scene/immutable_info_handler.py index c75c14f5ceca7b64b5683ef555b91a729a28891d..cbebc45867c044facf16bc478eab82d3a3c83f04 100644 --- a/modules/gui/pymod/scene/immutable_info_handler.py +++ b/modules/gui/pymod/scene/immutable_info_handler.py @@ -24,7 +24,7 @@ from ost import info from PyQt4 import QtCore, QtGui #Gradient Editor -class ImmutableInfoHandler(): +class ImmutableInfoHandler: def __init__(self, fileName): self.FILE_NAME = fileName @@ -36,10 +36,7 @@ class ImmutableInfoHandler(): self.root_ = self.handle_.Root() - try: - self.gradients_ = self.root_.GetGroup(self.GRADIENTS_GROUP_NAME) - except UserWarning: - self.gradients_ = self.root_.CreateGroup(self.GRADIENTS_GROUP_NAME) + self.gradients_ = self.root_.RetrieveGroup(self.GRADIENTS_GROUP_NAME) def GetGfxGradient(self, name): diff --git a/modules/gui/pymod/scene/immutable_loader_info_handler.py b/modules/gui/pymod/scene/immutable_loader_info_handler.py index 80e906ea851722100e87b45e7800c48bde3aed01..fc21986074fa1f516918215cf4628707d6d39c7a 100644 --- a/modules/gui/pymod/scene/immutable_loader_info_handler.py +++ b/modules/gui/pymod/scene/immutable_loader_info_handler.py @@ -25,7 +25,7 @@ from PyQt4 import QtCore, QtGui from file_loader import GenericLoader -class ImmutableLoaderInfoHandler(): +class ImmutableLoaderInfoHandler: LOADERS_GROUP_NAME = "GenericLoaders" LOADER_GROUP_NAME = "GenericLoader" NAME_ATTRIBUTE_NAME = "Name" @@ -36,10 +36,7 @@ class ImmutableLoaderInfoHandler(): self.root_ = self.handle_.Root() - try: - self.loaders_ = self.root_.GetGroup(ImmutableLoaderInfoHandler.LOADERS_GROUP_NAME) - except UserWarning: - self.loaders_ = self.root_.CreateGroup(ImmutableLoaderInfoHandler.LOADERS_GROUP_NAME) + self.loaders_ = self.root_.RetrieveGroup(ImmutableLoaderInfoHandler.LOADERS_GROUP_NAME) def GetLoader(self, name): diff --git a/modules/gui/pymod/scene/immutable_preset_info_handler.py b/modules/gui/pymod/scene/immutable_preset_info_handler.py index 8fc24539c200748637ad8abcc4c666b77807b2f2..131b0e1bcbb1ab108918e0e0d4315e89dd675210 100644 --- a/modules/gui/pymod/scene/immutable_preset_info_handler.py +++ b/modules/gui/pymod/scene/immutable_preset_info_handler.py @@ -25,7 +25,7 @@ from PyQt4 import QtCore, QtGui from ost.gui.scene.preset import Preset #Gradient Editor -class ImmutablePresetInfoHandler(): +class ImmutablePresetInfoHandler: PRESETS_GROUP_NAME = "Presets" PRESET_GROUP_NAME = "Preset" NAME_ATTRIBUTE_NAME = "Name" @@ -36,10 +36,7 @@ class ImmutablePresetInfoHandler(): self.root_ = self.handle_.Root() - try: - self.presets_ = self.root_.GetGroup(ImmutablePresetInfoHandler.PRESETS_GROUP_NAME) - except UserWarning: - self.presets_ = self.root_.CreateGroup(ImmutablePresetInfoHandler.PRESETS_GROUP_NAME) + self.presets_ = self.root_.RetrieveGroup(ImmutablePresetInfoHandler.PRESETS_GROUP_NAME) def GetPreset(self, name): diff --git a/modules/gui/pymod/scene/init_inspector.py b/modules/gui/pymod/scene/init_inspector.py index 3009a57ca9031e450b99c1095b92f1b60cc59866..462ef4b3b04121a7d42e11f17c86d0f45262ff11 100644 --- a/modules/gui/pymod/scene/init_inspector.py +++ b/modules/gui/pymod/scene/init_inspector.py @@ -37,10 +37,15 @@ class InitInspectorMenu(QtCore.QObject): self.show_.setCheckable(True) self.show_.setChecked(not self.inspector_.isHidden()) self.connect(self.show_, QtCore.SIGNAL('triggered()'), self.Toggle) - + self.connect(inspectordialog, QtCore.SIGNAL('visible'), self.UpdateCheckbox) def Toggle(self): - self.inspector_.setVisible(self.show_.isChecked()) - + self.inspector_.setVisible(not self.inspector_.isVisible()) + + def UpdateCheckbox(self, visibility): + self.disconnect(self.show_, QtCore.SIGNAL('triggered()'), self.Toggle) + self.show_.setChecked(visibility) + self.connect(self.show_, QtCore.SIGNAL('triggered()'), self.Toggle) + def _InitInspector(app): mywidget = InspectorDialog(app.gl_win.qobject) mywidget.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.Tool) diff --git a/modules/gui/pymod/scene/inspector_widget.py b/modules/gui/pymod/scene/inspector_widget.py index 4e7e7f76155f5c51219aaae95daa91967b3e6f03..d5f29f05a7dd4ddb15e81341a96fc7235e604dc3 100644 --- a/modules/gui/pymod/scene/inspector_widget.py +++ b/modules/gui/pymod/scene/inspector_widget.py @@ -28,7 +28,8 @@ from toolbar_options_widget import ToolBarOptionsWidget from render_options_widget import RenderOptionsWidget from color_options_widget import ColorOptionsWidget from ost.gui.scene.scene_observer_impl import SceneObserverImpl -from preset_widget import PresetWidget +from map_level_widget import AdditionalSettingsWidget +from scene_selection_helper import SelHelper class InspectorWidget(ToolBarOptionsWidget): ICONS_PATH = os.path.join(ost.GetSharedDataPath(), "scene", "icons/") @@ -38,7 +39,7 @@ class InspectorWidget(ToolBarOptionsWidget): options = [ [InspectorWidget.ICONS_PATH+"render_icon.png",RenderOptionsWidget(self),None], [InspectorWidget.ICONS_PATH+"color_icon.png",ColorOptionsWidget(self),None], - [InspectorWidget.ICONS_PATH+"preset_icon.png", PresetWidget(self),None], + [InspectorWidget.ICONS_PATH+"preset_icon.png", AdditionalSettingsWidget(self),"Additional Node Settings"], [InspectorWidget.ICONS_PATH+"tool_icon.png",app.tool_options_win.qobject,"Tool Options"] ] for o in options: @@ -46,8 +47,7 @@ class InspectorWidget(ToolBarOptionsWidget): self.obs = SceneObserverImpl() self.obs.AttachObserver(self) - ost.scene.AttachObserver(self.obs) - self.scene_selection_ = gui.SceneSelection.Instance() + ost.scene.AttachObserver(self.obs) QtCore.QObject.connect(app.scene_win.qobject,QtCore.SIGNAL("ActiveNodesChanged()"), self.ActiveNodesChanged) @@ -58,15 +58,19 @@ class InspectorWidget(ToolBarOptionsWidget): #Observer Methods def NodeRemoved(self, node): + SelHelper().Update() ToolBarOptionsWidget.Update(self) def RenderModeChanged(self, node): + SelHelper().Update() ToolBarOptionsWidget.Update(self) def NodeChanged(self, node): + SelHelper().Update() ToolBarOptionsWidget.Update(self) def ActiveNodesChanged(self): + SelHelper().Update() ToolBarOptionsWidget.Update(self) class InspectorDialog(QtGui.QDialog): @@ -91,3 +95,11 @@ class InspectorDialog(QtGui.QDialog): def ToggleHide(self,checked): self.setHidden(not self.isHidden()) + + def hideEvent(self, event): + self.emit(QtCore.SIGNAL("visible"),False) + QtGui.QDialog.hideEvent(self,event) + + def showEvent(self, event): + self.emit(QtCore.SIGNAL("visible"),True) + QtGui.QDialog.showEvent(self,event) \ No newline at end of file diff --git a/modules/gui/pymod/scene/line_trace_widget.py b/modules/gui/pymod/scene/line_trace_widget.py index 1b06bb96d3e2447f9000a04852b85a32eb61ddbd..fc851034662d0684984c50b901dd8768c4e511d0 100644 --- a/modules/gui/pymod/scene/line_trace_widget.py +++ b/modules/gui/pymod/scene/line_trace_widget.py @@ -72,9 +72,11 @@ class LineTraceWidget(RenderModeWidget): def UpdateAA(self, value): self.GetOptions().SetAALines(value) + self.ApplyOptions() def UpdateLineWidth(self, value): self.GetOptions().SetLineWidth(value) + self.ApplyOptions() def UpdateGui(self,options): self.aa_rendering_cb_.setChecked(options.GetAALines()) diff --git a/modules/gui/pymod/scene/loader_list_model.py b/modules/gui/pymod/scene/loader_list_model.py index 26557a49c9135512eca070ae4fd0b7a7b81b44c5..c033df0388f7f6f36e1290c371318d4b4c91a6a4 100644 --- a/modules/gui/pymod/scene/loader_list_model.py +++ b/modules/gui/pymod/scene/loader_list_model.py @@ -36,6 +36,8 @@ class LoaderListModel(QtCore.QAbstractListModel): self.AddLoaderToInfo(name, loader) self.emit(QtCore.SIGNAL("dataChanged"),model_index, end_index) gui.FileLoader.GetLoaderManager().AddRemoteSiteLoader(name, loader) + if(loader.IsDefault()): + gui.FileLoader.GetLoaderManager().SetDefaultRemoteSiteIdent(name) return True return False diff --git a/modules/gui/pymod/scene/loaders.xml b/modules/gui/pymod/scene/loaders.xml index dd1ad36c32fe3ce0fca9b6754b99375d27f16cff..90021f812619a5d9cfd78745ff439b0fc9db0819 100644 --- a/modules/gui/pymod/scene/loaders.xml +++ b/modules/gui/pymod/scene/loaders.xml @@ -2,7 +2,7 @@ <EMDataInfo> <GenericLoaders> <GenericLoader ExtName="pdbredo" Name="pdbredo" Url="http://www.cmbi.ru.nl/pdb_redo/ak/${ID}/${ID}_besttls.pdb" /> - <GenericLoader ExtName="pdborg" Name="pdb.org" Url="http://www.pdb.org/pdb/files/${ID}.pdb" /> + <GenericLoader ExtName="" Name="pdb.org" Url="http://www.pdb.org/pdb/files/${ID}.pdb" Default="1" /> <GenericLoader ExtName="emdb" Name="emdb" Url="ftp://emdb.rutgers.edu/structures/EMD-${ID}/map/emd_${ID}.map.gz" FileType="map.gz" Img="1"/> </GenericLoaders> </EMDataInfo> diff --git a/modules/gui/pymod/scene/map_level_widget.py b/modules/gui/pymod/scene/map_level_widget.py new file mode 100644 index 0000000000000000000000000000000000000000..8ef01e08c0713691fc4637148525891a90f20821 --- /dev/null +++ b/modules/gui/pymod/scene/map_level_widget.py @@ -0,0 +1,255 @@ +#------------------------------------------------------------------------------ +# This file is part of the OpenStructure project <www.openstructure.org> +# +# Copyright (C) 2008-2010 by the OpenStructure authors +# +# This library is free software; you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 3.0 of the License, or (at your option) +# any later version. +# This library is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +#------------------------------------------------------------------------------ +# -*- coding: utf-8 -*- +import math +from ost import gui +from ost import gfx +try: + from ost import img + _img_present=True +except ImportError: + _img_present=False + pass +from PyQt4 import QtCore, QtGui + +from preset_widget import PresetWidget + +class AdditionalSettingsWidget(QtGui.QStackedWidget): + def __init__(self, parent=None): + QtGui.QStackedWidget.__init__(self, parent) + self.map_widget_ = MapLevelWidget(self) + self.preset_widget_ = PresetWidget(self) + self.addWidget(self.preset_widget_); + self.addWidget(self.map_widget_); + self.setContentsMargins(0,0,0,0) + self.setMinimumSize(self.preset_widget_.minimumSize()) + + def Update(self): + self.setEnabled(True) + scene_selection = gui.SceneSelection.Instance() + all_img = True + all_entity = True + for i in range(0,scene_selection.GetActiveNodeCount()): + node = scene_selection.GetActiveNode(i) + if not (isinstance(node, gfx.Entity) or isinstance(node, gfx.Surface)): + all_entity = False + if (not _img_present) or (not isinstance(node, gfx.MapIso)): + all_img = False + if all_img: + self.map_widget_.Update() + self.setMinimumSize(self.map_widget_.minimumSize()) + self.resize(self.map_widget_.minimumSize()) + self.setMinimumSize(self.map_widget_.minimumSize()) + self.setCurrentWidget(self.map_widget_) + elif all_entity: + self.preset_widget_.Update() + self.setMinimumSize(self.preset_widget_.minimumSize()) + self.resize(self.preset_widget_.minimumSize()) + self.setMinimumSize(self.preset_widget_.minimumSize()) + self.setCurrentWidget(self.preset_widget_) + else: + self.setEnabled(False) + +#Map Level Widget +class MapLevelWidget(QtGui.QWidget): + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + + #Create Ui elements + self.map_level_label_ = QtGui.QLabel("Map Contour Level") + self.font = self.map_level_label_.font() + self.font.setBold(True) + + self.level_preview_ = LevelPreview() + + self.level_spinbox_ = QtGui.QDoubleSpinBox() + self.level_spinbox_.setDecimals(3) + self.level_spinbox_.setSingleStep(0.05) + + grid = QtGui.QGridLayout() + grid.setContentsMargins(0,5,0,0) + grid.addWidget(self.level_preview_, 0, 0, 1, 4) + grid.addWidget(self.map_level_label_, 1, 0, 1, 3) + grid.addWidget(self.level_spinbox_,1,3,1,1) + grid.setRowStretch(3, 1) + self.setLayout(grid) + + QtCore.QObject.connect(self.level_preview_, QtCore.SIGNAL("levelUpdated"), self.UpdateLevel) + QtCore.QObject.connect(self.level_preview_, QtCore.SIGNAL("levelModified"), self.ModifySpinBox) + QtCore.QObject.connect(self.level_spinbox_, QtCore.SIGNAL("valueChanged(double)"), self.UpdateLevel) + + self.setMinimumSize(250,200) + + def Update(self): + scene_selection = gui.SceneSelection.Instance() + if(scene_selection.GetActiveNodeCount()==1): + node = scene_selection.GetActiveNode(0) + if _img_present and isinstance(node, gfx.MapIso): + try: + self.level_preview_.SetBins(node.GetHistogram()) + self.level_preview_.SetMinimum(node.GetMinLevel()) + self.level_spinbox_.setMinimum(node.GetMinLevel()) + self.level_preview_.SetMaximum(node.GetMaxLevel()) + self.level_spinbox_.setMaximum(node.GetMaxLevel()) + self.level_preview_.SetLevel(node.GetLevel()) + self.level_spinbox_.show() + self.font.setBold(True) + self.map_level_label_.setText("Map Contour Level") + self.setEnabled(True) + except UserWarning: + self.font.setBold(False) + self.map_level_label_.setText("Map uniformly filled with level %s"%node.GetLevel()) + self.level_spinbox_.hide() + self.setEnabled(False) + else: + self.setEnabled(False) + else: + self.setEnabled(False) + + def UpdateLevel(self, level): + scene_selection = gui.SceneSelection.Instance() + if(scene_selection.GetActiveNodeCount()==1): + node = scene_selection.GetActiveNode(0) + node.SetLevel(level) + + def ModifySpinBox(self, level): + QtCore.QObject.disconnect(self.level_spinbox_, QtCore.SIGNAL("valueChanged(double)"), self.UpdateLevel) + self.level_spinbox_.setValue(level) + QtCore.QObject.connect(self.level_spinbox_, QtCore.SIGNAL("valueChanged(double)"), self.UpdateLevel) + +#Level Preview +class LevelPreview(QtGui.QWidget): + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + + #Defaults + self.border_offset_ = 3 + self.preview_height_ = 150 + QtGui.QWidget.__init__(self, parent) + + #Ui + self.setMinimumSize(0, self.preview_height_ + 4) + + self.bins_ = None + self.level_ = 0 + self.minimum_ = 0 + self.maximum_ = 0 + + self.paint_mouse_=False + + def SetBins(self, bins): + self.bins_ = bins + self.update() + + def SetMaximum(self, max): + self.maximum_ = max + + def SetMinimum(self, min): + self.minimum_ = min + + def SetLevel(self, level): + self.level_ = level + + def GetLevel(self): + return self.level_ + + def paintEvent(self, event): + if self.isEnabled() and self.bins_ is not None: + painter = QtGui.QPainter() + if painter.begin(self): + self.PaintBackground(painter) + self.PaintBins(painter) + self.PaintLevel(painter) + if(self.paint_mouse_): + self.PaintMouse(painter) + painter.end() + + def PaintBackground(self,painter): + size = self.size() + painter.setBrush(QtCore.Qt.white) + painter.setPen(QtCore.Qt.white) + painter.drawRect(self.border_offset_, + self.border_offset_, + size.width() - 2 * self.border_offset_, + self.preview_height_) + + def PaintBins(self,painter): + size = self.size() + bin_cnt = len(self.bins_) + bin_width = (size.width()-2* self.border_offset_) / float(bin_cnt) + max=0 + for b in self.bins_: + if(b>max): + max = b + max = math.log(max) + if(max > 0): + painter.setBrush(QtCore.Qt.black) + painter.setPen(QtCore.Qt.black) + for i in range(0,bin_cnt): + bin_height = self.bins_[i] + if(bin_height>0): + bin_height = math.floor((math.log(bin_height)/max)*(self.preview_height_-2*(self.border_offset_))) + painter.drawRect(self.border_offset_ + (i*bin_width), + self.preview_height_ - bin_height, + bin_width, + bin_height) + + def PaintLevel(self,painter): + size = self.size() + width = size.width()-(2* self.border_offset_) + tot_len = self.maximum_-self.minimum_ + if(tot_len>0): + cur_len = self.level_-self.minimum_ + painter.setBrush(QtCore.Qt.red) + painter.setPen(QtCore.Qt.red) + painter.drawRect((width / tot_len) * cur_len, + self.border_offset_, + 1, + self.preview_height_) + + def PaintMouse(self,painter): + size = self.size() + width = size.width()-(2* self.border_offset_) + painter.setBrush(QtCore.Qt.gray) + painter.setPen(QtCore.Qt.gray) + pos=self.mapFromGlobal(QtGui.QCursor.pos()) + painter.drawRect(pos.x(), + self.border_offset_, + 1, + self.preview_height_) + + def mouseReleaseEvent(self, event): + self.paint_mouse_=False + size = self.size() + width = size.width()-(2* self.border_offset_) + tot_len = self.maximum_-self.minimum_ + self.level_ = self.minimum_ + float(event.x())/width * tot_len + self.update() + self.emit(QtCore.SIGNAL("levelUpdated"),(self.level_)) + + def mousePressEvent(self,event): + self.paint_mouse_=True + + def mouseMoveEvent(self, event): + size = self.size() + width = size.width()-(2* self.border_offset_) + tot_len = self.maximum_-self.minimum_ + level = self.minimum_ + float(event.x())/width * tot_len + self.emit(QtCore.SIGNAL("levelModified"),(level)) + self.update() \ No newline at end of file diff --git a/modules/gui/pymod/scene/preset.py b/modules/gui/pymod/scene/preset.py index f46c3cd07dbd007b14bd0cff495568fa919bb26c..2b4f41ba0454d85e49a71a52c653b6b485bda2e3 100644 --- a/modules/gui/pymod/scene/preset.py +++ b/modules/gui/pymod/scene/preset.py @@ -25,7 +25,7 @@ from PyQt4 import QtGui from ost.gfx import ColorOp #Rendering Preset -class Preset(): +class Preset: NAME_ATTRIBUTE_NAME = "Name" OP_GROUP_NAME = "Op" CLASS_NAME_ATTRIBUTE_NAME = "ClassName" diff --git a/modules/gui/pymod/scene/preset_editor_list_model.py b/modules/gui/pymod/scene/preset_editor_list_model.py index d796e5352c009075e8c236673ebcad6c0dbcdea0..a30fc13c31f098081f587978d9c0039110fcec42 100644 --- a/modules/gui/pymod/scene/preset_editor_list_model.py +++ b/modules/gui/pymod/scene/preset_editor_list_model.py @@ -42,11 +42,12 @@ class PresetEditorListModel(QtCore.QAbstractListModel): if index.isValid() and index.row()< self.rowCount(): data = self.preset_.GetOp(index.row()) if role == QtCore.Qt.DisplayRole: + name=data.GetName() selection=str(data.GetSelection()) if(len(selection)>0): - return QtCore.QVariant(selection) + return QtCore.QVariant(str("%s (%s)"%(name,selection.replace(os.linesep, " ")))) else: - return QtCore.QVariant("all") + return QtCore.QVariant(str("%s (all)"%name)) return QtCore.QVariant() def setData(self, index, value, role): diff --git a/modules/gui/pymod/scene/preset_editor_widget.py b/modules/gui/pymod/scene/preset_editor_widget.py index 513040bfc2bb08bdcb2998736209ae3231754ba9..457cda457fa8a09f1ffd54cf13bc03dc79ceeb20 100644 --- a/modules/gui/pymod/scene/preset_editor_widget.py +++ b/modules/gui/pymod/scene/preset_editor_widget.py @@ -20,6 +20,7 @@ from ost import gui from ost import gfx +from ost import mol from datetime import datetime from datetime import datetime from PyQt4 import QtCore, QtGui @@ -29,6 +30,7 @@ from gradient_editor_widget import GradientPreview from gradient_editor_widget import GradientEdit from preset_editor_list_model import PresetEditorListModel from immutable_gradient_info_handler import ImmutableGradientInfoHandler +from query_editor import QueryEditorWidget from ost.mol import Prop from ost.gfx import ByElementColorOp from ost.gfx import ByChainColorOp @@ -181,8 +183,7 @@ class PresetEditor(QtGui.QDialog): class UniformColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - selection_label = QtGui.QLabel("Selection") - self.selection_edit_ = QtGui.QLineEdit() + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -203,8 +204,7 @@ class UniformColorOpWidget(QtGui.QDialog): grid = QtGui.QGridLayout() grid.setContentsMargins(0,5,0,0) - grid.addWidget(selection_label, 0, 0, 1, 1) - grid.addWidget(self.selection_edit_, 0, 1, 1, 1) + grid.addWidget(self.query_editor_, 0, 0, 1, 2) grid.addWidget(detail_label, 1, 0, 1, 1) grid.addWidget(self.detail_selection_cb_, 1, 1, 1, 1) grid.addWidget(color_label, 2, 0, 1, 1) @@ -217,18 +217,19 @@ class UniformColorOpWidget(QtGui.QDialog): QtCore.QObject.connect(self.cancel_button_, QtCore.SIGNAL("clicked()"), self.Cancel) def GetOp(self): - ufco = UniformColorOp("",gfx.Color(1,1,1,1)) + qv=mol.QueryViewWrapper(self.query_editor_.GetQuery(),self.query_editor_.GetQueryFlags()) + ufco = UniformColorOp(qv,gfx.Color(1,1,1,1)) detail = self.detail_selection_cb_.itemData(self.detail_selection_cb_.currentIndex()).toPyObject() ufco.SetMask(detail) qcolor = self.color_select_widget_.GetColor() color=gfx.Color(qcolor.red()/255.0,qcolor.green()/255.0,qcolor.blue()/255.0,qcolor.alpha()/255.0) ufco.SetColor(color) - ufco.SetSelection(str(self.selection_edit_.text())) return ufco def SetOp(self, ufco): - self.selection_edit_.setText(ufco.GetSelection()) + self.query_editor_.SetQuery(ufco.GetSelection()) + self.query_editor_.SetQueryFlags(ufco.GetSelectionFlags()) found=False for i in range(0,self.detail_selection_cb_.count()): mask = self.detail_selection_cb_.itemData(i).toPyObject() @@ -253,8 +254,7 @@ class GradientLevelColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - selection_label = QtGui.QLabel("Selection") - self.selection_edit_ = QtGui.QLineEdit() + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -313,8 +313,7 @@ class GradientLevelColorOpWidget(QtGui.QDialog): grid = QtGui.QGridLayout() grid.setContentsMargins(0,5,0,0) - grid.addWidget(selection_label, 0, 0, 1, 1) - grid.addWidget(self.selection_edit_, 0, 1, 1, 1) + grid.addWidget(self.query_editor_, 0, 0, 1, 2) grid.addWidget(detail_label, 1, 0, 1, 1) grid.addWidget(self.detail_selection_cb_, 1, 1, 1, 1) grid.addWidget(property_label, 2, 0, 1, 1) @@ -347,7 +346,7 @@ class GradientLevelColorOpWidget(QtGui.QDialog): gradient = self.gradient_edit_.GetGfxGradient() detail = self.detail_selection_cb_.itemData(self.detail_selection_cb_.currentIndex()).toPyObject() - selection = str(self.selection_edit_.text()) + qv=mol.QueryViewWrapper(self.query_editor_.GetQuery(),self.query_editor_.GetQueryFlags()) prop = str() level = Prop.Level() if(self.property_edit_.isEnabled()): @@ -357,15 +356,16 @@ class GradientLevelColorOpWidget(QtGui.QDialog): prop = str(self.prop_combo_box_.itemData(self.prop_combo_box_.currentIndex()).toPyObject()) if(self.auto_calc_.isChecked()): - return GradientLevelColorOp(selection, detail, prop, gradient, level) + return GradientLevelColorOp(qv, detail, prop, gradient, level) else: minv = self.minv_.value() maxv = self.maxv_.value() - return GradientLevelColorOp(selection, detail, prop, gradient, minv, maxv, level) + return GradientLevelColorOp(qv, detail, prop, gradient, minv, maxv, level) def SetOp(self, glco): - self.selection_edit_.setText(glco.GetSelection()) + self.query_editor_.SetQuery(glco.GetSelection()) + self.query_editor_.SetQueryFlags(glco.GetSelectionFlags()) found=False for i in range(0,self.detail_selection_cb_.count()): mask = self.detail_selection_cb_.itemData(i).toPyObject() @@ -422,8 +422,7 @@ class GradientLevelColorOpWidget(QtGui.QDialog): class ByElementColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - selection_label = QtGui.QLabel("Selection") - self.selection_edit_ = QtGui.QLineEdit() + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -440,8 +439,7 @@ class ByElementColorOpWidget(QtGui.QDialog): grid = QtGui.QGridLayout() grid.setContentsMargins(0,5,0,0) - grid.addWidget(selection_label, 0, 0, 1, 1) - grid.addWidget(self.selection_edit_, 0, 1, 1, 1) + grid.addWidget(self.query_editor_, 0, 0, 1, 2) grid.addWidget(detail_label, 1, 0, 1, 1) grid.addWidget(self.detail_selection_cb_, 1, 1, 1, 1) grid.addLayout(self.hbox_,2,0,1,2) @@ -453,12 +451,13 @@ class ByElementColorOpWidget(QtGui.QDialog): def GetOp(self): detail = self.detail_selection_cb_.itemData(self.detail_selection_cb_.currentIndex()).toPyObject() - selection = str(self.selection_edit_.text()) - beco = ByElementColorOp(selection, detail) + qv=mol.QueryViewWrapper(self.query_editor_.GetQuery(),self.query_editor_.GetQueryFlags()) + beco = ByElementColorOp(qv, detail) return beco def SetOp(self, beco): - self.selection_edit_.setText(beco.GetSelection()) + self.query_editor_.SetQuery(beco.GetSelection()) + self.query_editor_.SetQueryFlags(beco.GetSelectionFlags()) found=False for i in range(0,self.detail_selection_cb_.count()): mask = self.detail_selection_cb_.itemData(i).toPyObject() @@ -479,8 +478,7 @@ class ByElementColorOpWidget(QtGui.QDialog): class ByChainColorOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - selection_label = QtGui.QLabel("Selection") - self.selection_edit_ = QtGui.QLineEdit() + self.query_editor_ = QueryEditorWidget(self) detail_label = QtGui.QLabel("Parts") self.detail_selection_cb_ = QtGui.QComboBox() @@ -497,8 +495,7 @@ class ByChainColorOpWidget(QtGui.QDialog): grid = QtGui.QGridLayout() grid.setContentsMargins(0,5,0,0) - grid.addWidget(selection_label, 0, 0, 1, 1) - grid.addWidget(self.selection_edit_, 0, 1, 1, 1) + grid.addWidget(self.query_editor_, 0, 0, 1, 2) grid.addWidget(detail_label, 1, 0, 1, 1) grid.addWidget(self.detail_selection_cb_, 1, 1, 1, 1) grid.addLayout(self.hbox_,2,0,1,2) @@ -510,12 +507,13 @@ class ByChainColorOpWidget(QtGui.QDialog): def GetOp(self): detail = self.detail_selection_cb_.itemData(self.detail_selection_cb_.currentIndex()).toPyObject() - selection = str(self.selection_edit_.text()) - bcco = ByChainColorOp(selection, detail) + qv=mol.QueryViewWrapper(self.query_editor_.GetQuery(),self.query_editor_.GetQueryFlags()) + bcco = ByChainColorOp(qv, detail) return bcco def SetOp(self, bcco): - self.selection_edit_.setText(bcco.GetSelection()) + self.query_editor_.SetQuery(bcco.GetSelection()) + self.query_editor_.SetQueryFlags(bcco.GetSelectionFlags()) found=False for i in range(0,self.detail_selection_cb_.count()): mask = self.detail_selection_cb_.itemData(i).toPyObject() @@ -536,8 +534,7 @@ class ByChainColorOpWidget(QtGui.QDialog): class RenderOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - selection_label = QtGui.QLabel("Selection") - self.selection_edit_ = QtGui.QLineEdit() + self.query_editor_ = QueryEditorWidget(self) self.keep_ = QtGui.QCheckBox("Keep") self.keep_.setChecked(False) @@ -571,8 +568,7 @@ class RenderOpWidget(QtGui.QDialog): grid = QtGui.QGridLayout() grid.setContentsMargins(0,5,0,0) - grid.addWidget(selection_label, 0, 0, 1, 1) - grid.addWidget(self.selection_edit_, 0, 1, 1, 1) + grid.addWidget(self.query_editor_, 0, 0, 1, 2) grid.addWidget(self.keep_, 1, 1, 1, 1) grid.addWidget(render_label,2,0,1,1) grid.addWidget(self.render_modes_,2,1,1,1) @@ -584,13 +580,15 @@ class RenderOpWidget(QtGui.QDialog): QtCore.QObject.connect(self.cancel_button_, QtCore.SIGNAL("clicked()"), self.Cancel) def GetOp(self): - selection = str(self.selection_edit_.text()) + selection = self.query_editor_.GetQueryText() + flags = self.query_editor_.GetQueryFlags() render_mode = self.render_modes_list_[self.render_modes_.currentIndex()] - ro = RenderOp(render_mode, selection, self.keep_.isChecked()) + ro = RenderOp(render_mode, selection, flags, self.keep_.isChecked()) return ro def SetOp(self, ro): - self.selection_edit_.setText(ro.GetSelection()) + self.query_editor_.SetQuery(ro.GetSelection()) + self.query_editor_.SetQueryFlags(ro.GetSelectionFlags()) found=False for i in range(0,self.render_modes_.count()): render_mode = self.render_modes_list_[i] @@ -611,8 +609,7 @@ class RenderOpWidget(QtGui.QDialog): class VisibilityOpWidget(QtGui.QDialog): def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) - selection_label = QtGui.QLabel("Selection") - self.selection_edit_ = QtGui.QLineEdit() + self.query_editor_ = QueryEditorWidget(self) self.visible_ = QtGui.QCheckBox("Visible") self.visible_.setChecked(True) @@ -626,8 +623,7 @@ class VisibilityOpWidget(QtGui.QDialog): grid = QtGui.QGridLayout() grid.setContentsMargins(0,5,0,0) - grid.addWidget(selection_label, 0, 0, 1, 1) - grid.addWidget(self.selection_edit_, 0, 1, 1, 1) + grid.addWidget(self.query_editor_, 0, 0, 1, 2) grid.addWidget(self.visible_, 1, 1, 1, 1) grid.addLayout(self.hbox_,2,0,1,2) grid.setRowStretch(1, 1) @@ -637,16 +633,18 @@ class VisibilityOpWidget(QtGui.QDialog): QtCore.QObject.connect(self.cancel_button_, QtCore.SIGNAL("clicked()"), self.Cancel) def GetOp(self): - selection = str(self.selection_edit_.text()) - vo = VisibilityOp(selection, self.visible_.isChecked()) + selection = self.query_editor_.GetQueryText() + flags = self.query_editor_.GetQueryFlags() + vo = VisibilityOp(selection, flags, self.visible_.isChecked()) return vo - def SetOp(self, ro): - self.selection_edit_.setText(ro.GetSelection()) - self.visible_.setChecked(ro.IsVisible()) + def SetOp(self, vo): + self.query_editor_.SetQuery(vo.GetSelection()) + self.query_editor_.SetQueryFlags(vo.GetSelectionFlags()) + self.visible_.setChecked(vo.IsVisible()) def Ok(self): self.accept() def Cancel(self): - self.reject() \ No newline at end of file + self.reject() diff --git a/modules/gui/pymod/scene/preset_widget.py b/modules/gui/pymod/scene/preset_widget.py index d581a38ea137c80a16baaf07584f8ed81f25986d..dc97b10f78d5d0be6700b9b435e3702cdf7f9833 100644 --- a/modules/gui/pymod/scene/preset_widget.py +++ b/modules/gui/pymod/scene/preset_widget.py @@ -23,6 +23,7 @@ import ost import os from datetime import datetime from PyQt4 import QtCore, QtGui +from scene_selection_helper import SelHelper from preset_list_model import PresetListModel from preset_editor_widget import PresetEditor from preset import Preset @@ -67,7 +68,7 @@ class PresetWidget(QtGui.QWidget): QtCore.QObject.connect(self.list_view_, QtCore.SIGNAL("doubleClicked(const QModelIndex)"), self.Load) - self.setMinimumSize(250,150) + self.setMinimumSize(250,200) def CreateImmutableContextMenu(self): self.immucontext_menu_ = QtGui.QMenu("Context menu", self) @@ -145,16 +146,13 @@ class PresetWidget(QtGui.QWidget): def Update(self): self.setEnabled(True) - scene_selection = gui.SceneSelection.Instance() - if scene_selection.GetActiveNodeCount() == 0: + if SelHelper().CheckAllFlags(SelHelper.NO_SELECTION): self.setEnabled(False) return - for i in range(0,scene_selection.GetActiveNodeCount()): - entity = scene_selection.GetActiveNode(i) - if not isinstance(scene_selection.GetActiveNode(i), gfx.Entity): - self.setEnabled(False) - return + if SelHelper().CheckNotFlags(SelHelper.HAS_ENTITY | SelHelper.IS_ONE_TYPE): + self.setEnabled(False) + return def Rename(self): if(self.list_view_.currentIndex().isValid()): diff --git a/modules/gui/pymod/scene/presets.xml b/modules/gui/pymod/scene/presets.xml index f73dbd879951224b5d7e1d75b5f03878a68618b4..4659e4e26f3ee17c6555e0edc5e4938f9943161c 100644 --- a/modules/gui/pymod/scene/presets.xml +++ b/modules/gui/pymod/scene/presets.xml @@ -2,28 +2,54 @@ <EMDataInfo> <Presets> <Preset Name="Secondary Structure" > - <Op ClassName="VisibilityOp" Index="0" Visible="1" /> + <Op ClassName="VisibilityOp" Index="0" Visible="1" Flags="0"/> <Op ClassName="UniformColorOp" Index="1"> - <ColorOp>2 rtype=helix</ColorOp>0 1 0 1</Op> + <ColorOp>2 0 rtype=helix</ColorOp>0 1 0 1</Op> <Op ClassName="UniformColorOp" Index="2"> - <ColorOp>2 rtype=ext</ColorOp>1 0 0 1</Op> + <ColorOp>2 0 rtype=ext</ColorOp>1 0 0 1</Op> <Op ClassName="UniformColorOp" Index="3"> - <ColorOp>2 rtype!=ext,helix</ColorOp>0.5 0.5 0.5 1</Op> + <ColorOp>2 0 rtype!=ext,helix</ColorOp>0.5 0.5 0.5 1</Op> <Op ClassName="UniformColorOp" Index="4"> - <ColorOp>1 rtype=helix</ColorOp>0.7 1.0 0.8 1</Op> + <ColorOp>1 0 rtype=helix</ColorOp>0.7 1.0 0.8 1</Op> <Op ClassName="UniformColorOp" Index="5"> - <ColorOp>1 rtype!=ext,helix</ColorOp>1.0 0.8 0.2 1</Op> + <ColorOp>1 0 rtype!=ext,helix</ColorOp>1.0 0.8 0.2 1</Op> </Preset> <Preset Name="Highlight Ligand (Carbon)" > - <Op Keep="0" RenderMode="HSC" ClassName="RenderOp" Index="0" ></Op> - <Op Keep="0" RenderMode="CUSTOM" ClassName="RenderOp" Index="1" >ishetatm=1 and not rname==HOH</Op> - <Op ClassName="ByElementColorOp" Index="2" >3 </Op> + <Op Keep="0" RenderMode="HSC" ClassName="RenderOp" Index="0" Flags="0"></Op> + <Op Keep="0" RenderMode="CUSTOM" ClassName="RenderOp" Index="1" Flags="0">ishetatm=1 and not rname==HOH</Op> + <Op ClassName="ByElementColorOp" Index="2" >3 0</Op> <Op ClassName="UniformColorOp" Index="3"> - <ColorOp>2 ishetatm=1 and ele=C</ColorOp>0 1 0 1</Op> + <ColorOp>2 0 ishetatm=1 and ele=C</ColorOp>0 1 0 1</Op> </Preset> <Preset Name="Hydrophobic" > <Op ClassName="UniformColorOp" Index="0" > - <ColorOp>3 rname=GLY,ALA,VAL,LEU,ILE,PHE,TYR,TRP,LYS,HIS,CYS,THR</ColorOp>0 0.666667 1 1</Op> + <ColorOp>3 0 rname=GLY,ALA,VAL,LEU,ILE,PHE,TYR,TRP,LYS,HIS,CYS,THR</ColorOp>0 0.666667 1 1</Op> + </Preset> + <Preset Name="Chains"> + <Op Keep="0" Flags="0" RenderMode="HSC" ClassName="RenderOp" Index="0"/> + <Op ClassName="ByChainColorOp" Index="1">2 0 </Op> + <Op ClassName="UniformColorOp" Index="2"> + <ColorOp>1 0 </ColorOp>1 1 1 1</Op> + <Op Keep="1" Flags="0" RenderMode="CUSTOM" ClassName="RenderOp" Index="3">ishetatm=1 and rname!=HOH</Op> + <Op ClassName="ByElementColorOp" Index="4">3 0 ishetatm=1 and rname!=HOH</Op> + <Op ClassName="UniformColorOp" Index="5"> + <ColorOp>3 0 ishetatm=1 and ele=C</ColorOp>0 1 0 1</Op> + </Preset> + <Preset Name="Property"> + <Op ClassName="UniformColorOp" Index="0"> + <ColorOp>3 0 rname=GLY,ALA,VAL,LEU,ILE</ColorOp>0.658824 0.658824 0.658824 1</Op> + <Op ClassName="UniformColorOp" Index="1"> + <ColorOp>3 0 rname=PHE,TYR,TRP</ColorOp>1 0.666667 0 1</Op> + <Op ClassName="UniformColorOp" Index="2"> + <ColorOp>3 0 rname=CYS,MET</ColorOp>1 1 0 1</Op> + <Op ClassName="UniformColorOp" Index="3"> + <ColorOp>3 0 rname=SER,THR</ColorOp>0 0.666667 0 1</Op> + <Op ClassName="UniformColorOp" Index="4"> + <ColorOp>3 0 rname=LYS,ARG,HIS</ColorOp>1 0 0 1</Op> + <Op ClassName="UniformColorOp" Index="5"> + <ColorOp>3 0 rname=ASP,GLU,ASN,GLN</ColorOp>0.0980392 0.443137 1 1</Op> + <Op ClassName="UniformColorOp" Index="6"> + <ColorOp>3 0 rname=PRO</ColorOp>0 1 1 1</Op> </Preset> </Presets> </EMDataInfo> diff --git a/modules/gui/pymod/scene/query_editor.py b/modules/gui/pymod/scene/query_editor.py new file mode 100644 index 0000000000000000000000000000000000000000..fcdfc43395dd383503f796c734641e987622c8cc --- /dev/null +++ b/modules/gui/pymod/scene/query_editor.py @@ -0,0 +1,142 @@ +from ost import mol +from PyQt4 import QtCore, QtGui + +class QueryEditorWidget(QtGui.QWidget): + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + self.default_font_=QtGui.QTextCharFormat() + self.default_font_.setForeground(QtGui.QBrush(QtGui.QColor(0,0,0))) + self.error_font_=QtGui.QTextCharFormat() + self.error_font_.setForeground(QtGui.QBrush(QtGui.QColor(255,0,0))) + self.selection_edit_=QtGui.QTextEdit(self) + self.selection_edit_.setFixedHeight(40) + self.selection_edit_.updateGeometry() + self.status_=QtGui.QLabel(" ",self); + self.status_.setWordWrap(True) + self.status_.setMargin(0) + self.status_.setAlignment(QtCore.Qt.AlignRight) + self.status_.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, + QtGui.QSizePolicy.Expanding)) + vl=QtGui.QVBoxLayout() + vl.addWidget(self.selection_edit_) + self.no_bonds_=QtGui.QRadioButton('none') + self.ex_bonds_=QtGui.QRadioButton('exclusive') + self.in_bonds_=QtGui.QRadioButton('inclusive') + self.in_bonds_.setChecked(True) + self.match_res_=QtGui.QCheckBox('match residues') + + vl.setMargin(0) + vl.setSpacing(0) + self.setLayout(vl) + vl.addWidget(self.status_) + hl=QtGui.QHBoxLayout() + l=QtGui.QLabel("bonds:") + + hl.addWidget(l) + hl.addSpacing(5) + hl.addWidget(self.no_bonds_) + hl.addWidget(self.ex_bonds_) + hl.addWidget(self.in_bonds_) + hl.addStretch(1) + vl.addLayout(hl) + vl.addWidget(self.match_res_) + + self.changing_text_=False; + self.connect(self.selection_edit_,QtCore.SIGNAL("textChanged()"), + self._StartTimer) + self.timer_=QtCore.QTimer() + QtCore.QObject.connect(self.timer_, QtCore.SIGNAL('timeout()'), + self._UpdateMessage) + + def GetQueryFlags(self): + flags=0 + if self.no_bonds_.isChecked(): + flags|=mol.NO_BONDS + if self.ex_bonds_.isChecked(): + flags|=mol.EXCLUSIVE_BONDS + if self.match_res_.isChecked(): + flags|=mol.MATCH_RESIDUES + return flags + + def GetQuery(self): + return mol.Query(str(self.selection_edit_.toPlainText())) + + def GetQueryText(self): + return str(self.selection_edit_.toPlainText()) + + def SetQueryFlags(self,flags): + self.no_bonds_.setChecked(flags & mol.NO_BONDS) + self.ex_bonds_.setChecked(flags & mol.EXCLUSIVE_BONDS) + self.in_bonds_.setChecked(not (flags & mol.NO_BONDS|mol.EXCLUSIVE_BONDS)) + self.match_res_.setChecked(flags & mol.MATCH_RESIDUES) + + def SetQuery(self,query): + self.selection_edit_.setText(query) + + def _StartTimer(self): + self.timer_.stop() + self.timer_.start(500) + + def _UpdateMessage(self): + if self.changing_text_: + return + self.changing_text_ = True + query=self.GetQuery() + + cursor=self.selection_edit_.textCursor() + cursor.select(QtGui.QTextCursor.Document) + cursor.setCharFormat(self.default_font_) + + if query.IsValid(): + self.status_.setText("") + else: + d=query.GetErrorDescription() + self.status_.setText("<font color='red'>%s</font>"%d.msg.strip()) + #self.status_.setFixedSize(self.width(),self.status_.height()) + cursor.movePosition(QtGui.QTextCursor.Start) + if d.range.Loc<len(query.string): + + cursor.movePosition(QtGui.QTextCursor.NextCharacter, + QtGui.QTextCursor.MoveAnchor, d.range.Loc) + cursor.movePosition(QtGui.QTextCursor.NextCharacter, + QtGui.QTextCursor.KeepAnchor, d.range.Length) + cursor.setCharFormat(self.error_font_) + self.changing_text_=False + +class QueryDialog(QtGui.QDialog): + def __init__(self, title, parent=None): + QtGui.QDialog.__init__(self, parent) + l=QtGui.QVBoxLayout(self) + self.setWindowTitle(title) + self.editor=QueryEditorWidget(self) + l.addWidget(self.editor) + l.addSpacing(10) + l3=QtGui.QHBoxLayout() + ab=QtGui.QPushButton('OK') + ab.setDefault(True) + cb=QtGui.QPushButton('Cancel') + l3.addStretch(1) + l3.addWidget(cb, 0) + l3.addWidget(ab, 0) + l.addLayout(l3) + QtCore.QObject.connect(cb, QtCore.SIGNAL('clicked()'), self.reject) + QtCore.QObject.connect(ab, QtCore.SIGNAL('clicked()'), self.accept) + self.connect(self.editor.selection_edit_,QtCore.SIGNAL("textChanged()"),self._CheckNewline) + + @property + def query_flags(self): + return self.editor.GetQueryFlags() + @property + def query(self): + return self.editor.GetQueryText() + + def event(self, e): + if e.type() == QtCore.QEvent.KeyPress and (e.key () == QtCore.Qt.Key_Return or e.key () == QtCore.Qt.Key_Enter): + self.accept() + return True + else: + return QtGui.QDialog.event(self, e) + + def _CheckNewline(self): + if self.editor.GetQueryText().endswith("\n"): + self.accept() \ No newline at end of file diff --git a/modules/gui/pymod/scene/render_mode_widget.py b/modules/gui/pymod/scene/render_mode_widget.py index 68150543a8e39cea5203021e4977590c3c8a99fe..17f099223a7bc1f0cc762fc3028998491c53481f 100644 --- a/modules/gui/pymod/scene/render_mode_widget.py +++ b/modules/gui/pymod/scene/render_mode_widget.py @@ -44,7 +44,7 @@ class RenderModeWidget(QtGui.QWidget): scene_selection = gui.SceneSelection.Instance() if scene_selection.GetActiveNodeCount() == 0 and scene_selection.GetActiveViewCount() == 0: - ComboOptionsWidget.setEnabled(self,False) + self.setEnabled(False) return if scene_selection.GetActiveNodeCount() > 0 : @@ -53,24 +53,24 @@ class RenderModeWidget(QtGui.QWidget): if isinstance(entity, gfx.Entity): self.entities_.add(entity) else: - ComboOptionsWidget.setEnabled(self,False) + self.setEnabled(False) return if scene_selection.GetActiveViewCount() > 0 : entity = scene_selection.GetViewEntity() self.entities_.add(entity) - for entity in self.entities_: + if len(self.entities_)>0: + entity = self.entities_.pop() self.options_=entity.GetOptions(self.GetRenderMode()) - self.entities_.remove(entity) - break - self.UpdateGui(self.options_) - - QtGui.QWidget.setEnabled(self,True) + self.UpdateGui(self.options_) + QtGui.QWidget.setEnabled(self,True) + else: + QtGui.QWidget.setEnabled(self,False) def ApplyOptions(self): for entity in self.entities_: - entity.SetOptions(self.GetRenderMode(),self.options_) + entity.ApplyOptions(self.GetRenderMode(), self.GetOptions()) def GetOptions(self): return self.options_ \ No newline at end of file diff --git a/modules/gui/pymod/scene/render_op.py b/modules/gui/pymod/scene/render_op.py index 722bf7bc853cdcc9ddc7c009da2b420ad2d80fea..f161eff2f18937416735f04d0ea622a4ad5765c8 100644 --- a/modules/gui/pymod/scene/render_op.py +++ b/modules/gui/pymod/scene/render_op.py @@ -22,15 +22,20 @@ from ost import info from ost import gfx from PyQt4 import QtGui -class RenderOp(): +class RenderOp: RENDERMODE_ATTRIBUTE_NAME = "RenderMode" KEEP_ATTRIBUTE_NAME = "Keep" + FLAGS_ATTRIBUTE_NAME = "Flags" - def __init__(self, render_mode, selection, keep=False): + def __init__(self, render_mode, selection, flags, keep=False): self.render_mode_ = render_mode self.selection_ = selection self.keep_ = keep - + self.flags_ = flags + + def GetName(self): + return "Render mode: %s"%str(self.GetRenderMode()) + def SetRenderMode(self, render_mode): self.render_mode_ = render_mode @@ -43,6 +48,12 @@ class RenderOp(): def GetSelection(self): return self.selection_ + def SetSelectionFlags(self, flags): + self.flags_ = flags + + def GetSelectionFlags(self): + return self.flags_ + def SetKeep(self, keep): self.keep_ = keep @@ -51,11 +62,12 @@ class RenderOp(): def ApplyOn(self, entity): if (entity is not None) and isinstance(entity, gfx.Entity): - entity.SetRenderMode(self.GetRenderMode(),entity.view.Select(self.GetSelection()),self.IsKept()) + entity.SetRenderMode(self.GetRenderMode(),entity.view.Select(self.GetSelection(),self.GetSelectionFlags()),self.IsKept()) def ToInfo(self,group): group.SetAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME, str(self.GetRenderMode().name)) group.SetAttribute(RenderOp.KEEP_ATTRIBUTE_NAME, str(int(self.IsKept()))) + group.SetAttribute(RenderOp.FLAGS_ATTRIBUTE_NAME, str(self.GetSelectionFlags())) group.SetTextData(str(self.GetSelection())) @staticmethod @@ -65,6 +77,9 @@ class RenderOp(): and group.HasAttribute(RenderOp.KEEP_ATTRIBUTE_NAME)): render_mode = getattr(gfx.RenderMode, group.GetAttribute(RenderOp.RENDERMODE_ATTRIBUTE_NAME)) keep = bool(int(group.GetAttribute(RenderOp.KEEP_ATTRIBUTE_NAME))) + flags=0 + if group.HasAttribute(RenderOp.FLAGS_ATTRIBUTE_NAME): + flags = int(group.GetAttribute(RenderOp.FLAGS_ATTRIBUTE_NAME)) selection = group.GetTextData() - render_op = RenderOp(render_mode,selection,keep) + render_op = RenderOp(render_mode,selection,flags,keep) return render_op diff --git a/modules/gui/pymod/scene/render_options_widget.py b/modules/gui/pymod/scene/render_options_widget.py index 4b61a12166713e17f21888350171b1577806a778..cc22f3cc1f28f035b1fc4710872cca5f663cc9cc 100644 --- a/modules/gui/pymod/scene/render_options_widget.py +++ b/modules/gui/pymod/scene/render_options_widget.py @@ -21,7 +21,15 @@ import sys from ost import gui from ost import gfx +try: + from ost import img + from wireframe_widget import WireframeWidget + _img_present=True +except ImportError: + _img_present=False + pass from PyQt4 import QtCore, QtGui +from scene_selection_helper import SelHelper from combo_options_widget import ComboOptionsWidget from custom_widget import CustomWidget from cpk_widget import CPKWidget @@ -50,34 +58,41 @@ class RenderOptionsWidget(ComboOptionsWidget): self.grid_layout_.addWidget(self.stacked_widget_, 1, 0, 1, 2) #Add options to menu - ComboOptionsWidget.AddWidget(self, "", EmptyMode()) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.SIMPLE, SimpleWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.CUSTOM, CustomWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.CPK, CPKWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.LINE_TRACE, LineTraceWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.TRACE, TraceWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.SLINE, SlineWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.TUBE, TubeWidget(self)) - ComboOptionsWidget.AddWidget(self, gfx.RenderMode.HSC, HSCWidget(self)) + self.entity_widgets_ = list() + self.entity_widgets_.append(["", EmptyMode()]) + self.entity_widgets_.append([gfx.RenderMode.SIMPLE, SimpleWidget()]) + self.entity_widgets_.append([gfx.RenderMode.CUSTOM, CustomWidget()]) + self.entity_widgets_.append([gfx.RenderMode.CPK, CPKWidget()]) + self.entity_widgets_.append([gfx.RenderMode.LINE_TRACE, LineTraceWidget()]) + self.entity_widgets_.append([gfx.RenderMode.TRACE, TraceWidget()]) + self.entity_widgets_.append([gfx.RenderMode.SLINE, SlineWidget()]) + self.entity_widgets_.append([gfx.RenderMode.TUBE, TubeWidget()]) + self.entity_widgets_.append([gfx.RenderMode.HSC, HSCWidget()]) + self.img_widgets_ = list() + if _img_present: + self.img_widgets_.append(["", EmptyMode()]) + self.img_widgets_.append([gfx.RenderMode.SIMPLE, WireframeWidget()]) + self.img_widgets_.append([gfx.RenderMode.FILL, EmptyMode("Fill",gfx.RenderMode.FILL)]) + + self._in_view_method = False self.setMinimumSize(250,200) def DoSomething(self, item): scene_selection = gui.SceneSelection.Instance() for i in range(0,scene_selection.GetActiveNodeCount()): node = scene_selection.GetActiveNode(i) - if isinstance(node, gfx.Entity): + if isinstance(node, gfx.Entity) or (_img_present and isinstance(node, gfx.MapIso)): render_mode = item.GetRenderMode() if render_mode is not None: node.SetRenderMode(render_mode) if(scene_selection.GetActiveViewCount() > 0): entity = scene_selection.GetViewEntity() - for i in range(0,scene_selection.GetActiveViewCount()): - view = scene_selection.GetActiveView(i) - render_mode = item.GetRenderMode() - if render_mode is not None: - entity.SetRenderMode(item.GetRenderMode(),view,self.keep_action_.isChecked()) + view = scene_selection.GetViewUnion() + render_mode = item.GetRenderMode() + if render_mode is not None: + entity.SetRenderMode(item.GetRenderMode(),view,self.keep_action_.isChecked()) item.Update() self.DoResize() @@ -85,49 +100,85 @@ class RenderOptionsWidget(ComboOptionsWidget): def Update(self): if hasattr(self, "keep_button_"): self.keep_button_.setEnabled(True) - scene_selection = gui.SceneSelection.Instance() - if scene_selection.GetActiveNodeCount() == 0 and scene_selection.GetActiveViewCount() == 0: + + ComboOptionsWidget.setEnabled(self,True) + + cur_widget = self.GetCurrentWidget() + new_render_mode = None + if cur_widget is not None: + new_render_mode = cur_widget.GetRenderMode() + + if SelHelper().CheckAllFlags(SelHelper.NO_SELECTION): ComboOptionsWidget.setEnabled(self,False) return + if not self._in_view_method: + for w in self.entity_widgets_: + self.RemoveWidget(w[0]) + for w in self.img_widgets_: + self.RemoveWidget(w[0]) + + scene_selection = gui.SceneSelection.Instance() if scene_selection.GetActiveNodeCount() > 0 : if hasattr(self, "keep_button_"): self.keep_button_.setEnabled(False) render_mode_valid = True render_mode = None for i in range(0,scene_selection.GetActiveNodeCount()): - entity = scene_selection.GetActiveNode(i) - if isinstance(scene_selection.GetActiveNode(i), gfx.Entity): + node = scene_selection.GetActiveNode(i) + if isinstance(scene_selection.GetActiveNode(i), gfx.GfxObj): if render_mode is None: - render_mode = entity.GetRenderMode() - elif render_mode != entity.GetRenderMode(): + render_mode = node.GetRenderMode() + elif render_mode != node.GetRenderMode(): render_mode_valid = False - break - else: - ComboOptionsWidget.setEnabled(self,False) - return + + if SelHelper().CheckFlags(SelHelper.HAS_IMG | SelHelper.IS_ONE_TYPE): + for w in self.img_widgets_: + self.AddWidget(w[0], w[1]) + elif SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_VIEW) and SelHelper().CheckNotFlags(SelHelper.HAS_IMG): + if not self._in_view_method: + for w in self.entity_widgets_: + self.AddWidget(w[0], w[1]) + else: + ComboOptionsWidget.setEnabled(self,False) + return + + if SelHelper().CheckMinOneFlag(SelHelper.HAS_ENTITY| SelHelper.HAS_IMG) and SelHelper().CheckNotFlags(SelHelper.HAS_VIEW): if(render_mode_valid): ComboOptionsWidget.ChangeSelectedItem(self,render_mode) else: ComboOptionsWidget.ChangeSelectedItem(self,"") - + else: + if not self._in_view_method: + self._in_view_method = True + ComboOptionsWidget.ChangeSelectedItem(self,new_render_mode) self.GetCurrentWidget().Update() - - ComboOptionsWidget.setEnabled(self,True) - + def GetText(self): return self.text_ class EmptyMode(QtGui.QWidget): - def __init__(self, parent=None): + def __init__(self, text="", render_mode=None, parent=None): QtGui.QLabel.__init__(self, parent) self.setMinimumSize(250,30) - + self.text = text + self.render_mode = render_mode + if(render_mode): + text_label = QtGui.QLabel(text) + font = text_label.font() + font.setBold(True) + grid = QtGui.QGridLayout() + grid.addWidget(text_label,0,0,1,1) + grid.addWidget(QtGui.QLabel("No Settings available"), 1, 0, 1, 3) + grid.setRowStretch(2,1) + self.setLayout(grid) + self.setMinimumSize(250,60) + def Update(self): True #Do Nothing def GetText(self): - return "" + return self.text def GetRenderMode(self): - return None + return self.render_mode diff --git a/modules/gui/pymod/scene/scene_selection_helper.py b/modules/gui/pymod/scene/scene_selection_helper.py new file mode 100644 index 0000000000000000000000000000000000000000..96d9cc9ff3e5802dcffadca7f215c86434c111b0 --- /dev/null +++ b/modules/gui/pymod/scene/scene_selection_helper.py @@ -0,0 +1,106 @@ +#------------------------------------------------------------------------------ +# This file is part of the OpenStructure project <www.openstructure.org> +# +# Copyright (C) 2008-2010 by the OpenStructure authors +# +# This library is free software; you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 3.0 of the License, or (at your option) +# any later version. +# This library is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +#------------------------------------------------------------------------------ + +import sys +from ost import gui +import sip +from ost import gfx +import ost +import os +try: + from ost import img + _img_present=True +except ImportError: + _img_present=False + pass + +class SelHelper: + __shared_state = {} + + NO_SELECTION = 0 + HAS_ENTITY = 1 + HAS_VIEW = 2 + HAS_IMG = 4 + HAS_SURFACE = 8 + IS_ONE_TYPE = 16 + IS_MULTI_TYPE = 32 + SINGLE_SELECTION = 64 + MULTI_SELECTION = 128 + + def __init__(self): + self.__dict__ = self.__shared_state + if not '_ready' in dir(self): + self.scene_sel_ = gui.SceneSelection.Instance() + self.current_flags_ = 0 + self._ready = True + + def Update(self): + self.current_flags_ = 0 + if self.scene_sel_.GetActiveNodeCount() == 0 and self.scene_sel_.GetActiveViewCount() == 0: + return + + for i in range(0,self.scene_sel_.GetActiveNodeCount()): + node = self.scene_sel_.GetActiveNode(i) + if isinstance(node, gfx.Entity): + self.current_flags_ = self.current_flags_ | SelHelper.HAS_ENTITY + if isinstance(node, gfx.Surface): + self.current_flags_ = self.current_flags_ | SelHelper.HAS_SURFACE + if (_img_present) and isinstance(node, gfx.MapIso): + self.current_flags_ = self.current_flags_ | SelHelper.HAS_IMG + + if self.scene_sel_.GetActiveViewCount() > 0: + self.current_flags_ = self.current_flags_ | SelHelper.HAS_VIEW + + cnt = 0 + if self.current_flags_ & SelHelper.HAS_ENTITY: + cnt += 1 + if self.current_flags_ & SelHelper.HAS_SURFACE: + cnt += 1 + if self.current_flags_ & SelHelper.HAS_IMG: + cnt += 1 + if self.current_flags_ & SelHelper.HAS_VIEW: + cnt += 1 + + if cnt == 1: + self.current_flags_ = self.current_flags_ | SelHelper.IS_ONE_TYPE + elif cnt > 1: + self.current_flags_ = self.current_flags_ | SelHelper.IS_MULTI_TYPE + + if self.scene_sel_.GetActiveNodeCount()==1: + self.current_flags_ = self.current_flags_ | SelHelper.SINGLE_SELECTION + elif self.scene_sel_.GetActiveNodeCount()>1: + self.current_flags_ = self.current_flags_ | SelHelper.MULTI_SELECTION + + def CheckAllFlags(self, flags): + if(flags == self.current_flags_ & flags) and (flags == self.current_flags_ | flags): + return True + return False + + def CheckNotFlags(self, flags): + return not self.CheckFlags(flags) + + def CheckFlags(self, flags): + if(flags == self.current_flags_ & flags): + return True + return False + + def CheckMinOneFlag(self, flags): + if((self.current_flags_ - (self.current_flags_ & flags)) < self.current_flags_): + return True + return False diff --git a/modules/gui/pymod/scene/simple_widget.py b/modules/gui/pymod/scene/simple_widget.py index 958d8bdc746817ace26df5f2507e2a009f0cdf19..f757f8877cb015bce07082a816914c0bf56fcb41 100644 --- a/modules/gui/pymod/scene/simple_widget.py +++ b/modules/gui/pymod/scene/simple_widget.py @@ -92,7 +92,7 @@ class SimpleWidget(RenderModeWidget): def UpdateLineWidth(self, value): self.GetOptions().SetLineWidth(value) self.ApplyOptions() - + def UpdateBO(self, value): self.GetOptions().SetBondOrderFlag(value) self.ApplyOptions() diff --git a/modules/gui/pymod/scene/sline_widget.py b/modules/gui/pymod/scene/sline_widget.py index e4bffa439c94536081b653b36d09ede09e7eb554..6b45cb76cf09b1a6f76d12803800e0fb1c907b22 100644 --- a/modules/gui/pymod/scene/sline_widget.py +++ b/modules/gui/pymod/scene/sline_widget.py @@ -79,12 +79,15 @@ class SlineWidget(RenderModeWidget): def UpdateDetail(self, value): self.GetOptions().SetSplineDetail(value) - + self.ApplyOptions() + def UpdateAA(self, value): self.GetOptions().SetAALines(value) + self.ApplyOptions() def UpdateLineWidth(self, value): self.GetOptions().SetLineWidth(value) + self.ApplyOptions() def UpdateGui(self,options): self.detail_spinbox_.setValue(options.GetSplineDetail()) diff --git a/modules/gui/pymod/scene/toolbar_options_widget.py b/modules/gui/pymod/scene/toolbar_options_widget.py index 006c09b160ba710c83d15679706c1ff20aa4cbf2..d331b62b4cd15d5b5ddfc22f83c2b5fbb13951e1 100644 --- a/modules/gui/pymod/scene/toolbar_options_widget.py +++ b/modules/gui/pymod/scene/toolbar_options_widget.py @@ -126,13 +126,13 @@ class ToolBarOptionsWidget(QtGui.QWidget): self.current_action_ = action widget = action.data().toPyObject()[1] self.stackedWidget.setCurrentWidget(widget) - self.DoSomething(widget) if hasattr(widget, "Update"): widget.Update() if(self.current_action_ == action): self.current_action_.setChecked(True) else: self.current_action_=action + self.DoSomething(widget) #Private Methods def __GetCurrentWidget(self): return self.stackedWidget.currentWidget(); diff --git a/modules/gui/pymod/scene/trace_widget.py b/modules/gui/pymod/scene/trace_widget.py index 8fd8a0c16ac09899b8f49ac4fa38e76ba393eeec..a676490714a412de934ae2abf47dda5a3e1105f7 100644 --- a/modules/gui/pymod/scene/trace_widget.py +++ b/modules/gui/pymod/scene/trace_widget.py @@ -92,9 +92,11 @@ class TraceWidget(RenderModeWidget): def UpdatePolyMode(self, value): self.GetOptions().SetPolyMode(value) + self.ApplyOptions() def UpdateArcDetail(self, value): self.GetOptions().SetArcDetail(value) + self.ApplyOptions() def UpdateTubeRadius(self, value): self.GetOptions().SetTubeRadius(value) @@ -102,7 +104,6 @@ class TraceWidget(RenderModeWidget): def UpdateSliderTubeRadius(self, value): self.GetOptions().SetTubeRadius(value/10.0) - def UpdateTubeRadiusGui(self,value): if(abs(value*10.0 - self.width_tube_slider_.value())>=self.width_tube_spinbox_.singleStep()): self.width_tube_slider_.setValue(value*10.0) diff --git a/modules/gui/pymod/scene/tube_widget.py b/modules/gui/pymod/scene/tube_widget.py index 033d09ea76a74ce255740cb5a95d7c96a219b5fe..e2148ac67126abf5aac0ca312c6a60e9f3e3ccc1 100644 --- a/modules/gui/pymod/scene/tube_widget.py +++ b/modules/gui/pymod/scene/tube_widget.py @@ -134,15 +134,19 @@ class TubeWidget(RenderModeWidget): def UpdatePolyMode(self, value): self.GetOptions().SetPolyMode(value) + self.ApplyOptions() def UpdateSplineDetail(self, value): self.GetOptions().SetSplineDetail(value) - + self.ApplyOptions() + def UpdateArcDetail(self, value): self.GetOptions().SetArcDetail(value) - + self.ApplyOptions() + def UpdateRadius(self, value): self.GetOptions().SetTubeRadius(value) + self.ApplyOptions() def UpdateSliderRadius(self, value): self.GetOptions().SetTubeRadius(value/10.0) diff --git a/modules/gui/pymod/scene/uniform_color_widget.py b/modules/gui/pymod/scene/uniform_color_widget.py index ff2cdc2ddfcd52a0a0ea828f812c2d161e176f32..b5c074c9c89d70aaa5ed9b5eaa582a171b3da672 100644 --- a/modules/gui/pymod/scene/uniform_color_widget.py +++ b/modules/gui/pymod/scene/uniform_color_widget.py @@ -21,6 +21,12 @@ from ost import gui from ost import gfx from ost import mol +try: + from ost import img + _img_present=True +except ImportError: + _img_present=False + pass from PyQt4 import QtCore, QtGui from color_select_widget import ColorSelectWidget @@ -52,37 +58,45 @@ class UniformColorWidget(QtGui.QWidget): top_layout.addLayout(grid) self.setLayout(top_layout) - QtCore.QObject.connect(self.color_select_widget_, QtCore.SIGNAL("colorChanged"), self.Update) + QtCore.QObject.connect(self.color_select_widget_, QtCore.SIGNAL("colorChanged"), self.ChangeColors) self.setMinimumSize(250,150) def Update(self): + scene_selection = gui.SceneSelection.Instance() + for i in range(0,scene_selection.GetActiveNodeCount()): + node = scene_selection.GetActiveNode(i) + if _img_present and isinstance(node, gfx.MapIso): + if self.color_select_widget_.GetGfxColor() != node.GetColor(): + self.color_select_widget_.SetGfxColor(node.GetColor()) + else: + self.ChangeColors() + + def ChangeColors(self): scene_selection = gui.SceneSelection.Instance() for i in range(0,scene_selection.GetActiveNodeCount()): node = scene_selection.GetActiveNode(i) self.ChangeColor(node) - + if(scene_selection.GetActiveViewCount() > 0): entity = scene_selection.GetViewEntity() view = scene_selection.GetViewUnion() self.ChangeViewColor(entity,view) - + def ChangeColor(self, node): + gfx_color = self.color_select_widget_.GetGfxColor() if isinstance(node, gfx.Entity) or isinstance(node, gfx.Surface): - gfx_color = self.GetGfxColor() - node.CleanColorOps() - node.SetColor(gfx_color,"") + node.CleanColorOps() + node.SetColor(gfx_color,"") + elif _img_present and isinstance(node, gfx.MapIso): + node.SetColor(gfx_color) def ChangeViewColor(self, entity, view): if isinstance(entity, gfx.Entity) and isinstance(view, mol.EntityView): - gfx_color = self.GetGfxColor() + gfx_color = self.color_select_widget_.GetGfxColor() ufco=gfx.UniformColorOp(mol.QueryViewWrapper(view),gfx_color) entity.Apply(ufco) - - def GetGfxColor(self): - color = self.color_select_widget_.GetColor() - return gfx.Color(color.redF(), color.greenF(), color.blueF()) - + def resizeEvent(self, event): self.color_select_widget_.SetSize(self.width()/2,self.height()/2) diff --git a/modules/gui/pymod/scene/visibility_op.py b/modules/gui/pymod/scene/visibility_op.py index cb6ec07d68c2ff6a00ad47c29841ca2b66941e80..6a377b5fc47ec48199f8050808fd4693142e9536 100644 --- a/modules/gui/pymod/scene/visibility_op.py +++ b/modules/gui/pymod/scene/visibility_op.py @@ -22,13 +22,18 @@ from ost import info from ost import gfx from PyQt4 import QtGui -class VisibilityOp(): +class VisibilityOp: VISIBLE_ATTRIBUTE_NAME = "Visible" + FLAGS_ATTRIBUTE_NAME = "Flags" - def __init__(self, selection, visible=False): + def __init__(self, selection, flags, visible=False): self.selection_ = selection self.visible_ = visible + self.flags_ = flags + def GetName(self): + return "Visible: %s"%str(self.IsVisible()) + def SetSelection(self, selection): self.selection_ = selection @@ -38,15 +43,22 @@ class VisibilityOp(): def SetVisible(self, visible): self.visible_ = visible + def SetSelectionFlags(self, flags): + self.flags_ = flags + + def GetSelectionFlags(self): + return self.flags_ + def IsVisible(self): return self.visible_ def ApplyOn(self, entity): if (entity is not None) and isinstance(entity, gfx.Entity): - entity.SetVisible(entity.view.Select(self.GetSelection()),self.IsVisible()) + entity.SetVisible(entity.view.Select(self.GetSelection(),self.GetSelectionFlags()),self.IsVisible()) def ToInfo(self,group): group.SetAttribute(VisibilityOp.VISIBLE_ATTRIBUTE_NAME, str(int(self.IsVisible()))) + group.SetAttribute(VisibilityOp.FLAGS_ATTRIBUTE_NAME, str(self.GetSelectionFlags())) group.SetTextData(str(self.GetSelection())) @staticmethod @@ -54,6 +66,9 @@ class VisibilityOp(): visible_op = None if group.HasAttribute(VisibilityOp.VISIBLE_ATTRIBUTE_NAME): visible = bool(int(group.GetAttribute(VisibilityOp.VISIBLE_ATTRIBUTE_NAME))) + flags = 0 + if group.HasAttribute(VisibilityOp.FLAGS_ATTRIBUTE_NAME): + flags = int(group.GetAttribute(VisibilityOp.FLAGS_ATTRIBUTE_NAME)) selection = group.GetTextData() - visible_op = VisibilityOp(selection,visible) + visible_op = VisibilityOp(selection,flags,visible) return visible_op diff --git a/modules/gui/pymod/scene/wireframe_widget.py b/modules/gui/pymod/scene/wireframe_widget.py new file mode 100644 index 0000000000000000000000000000000000000000..997003743cc7a6eb564ea542e3c18bf48762713f --- /dev/null +++ b/modules/gui/pymod/scene/wireframe_widget.py @@ -0,0 +1,103 @@ +#------------------------------------------------------------------------------ +# This file is part of the OpenStructure project <www.openstructure.org> +# +# Copyright (C) 2008-2010 by the OpenStructure authors +# +# This library is free software; you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 3.0 of the License, or (at your option) +# any later version. +# This library is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +#------------------------------------------------------------------------------ +# -*- coding: utf-8 -*- + +from ost import gui +from ost import gfx +from PyQt4 import QtCore, QtGui +try: + from ost import img + _img_present=True +except ImportError: + _img_present=False + pass +from scene_selection_helper import SelHelper + +#Wireframe Options +class WireframeWidget(QtGui.QWidget): + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + + #Title + self.text_ = "Wireframe" + + #Defaults + min_line_width = 0.01 + max_line_width = 20 + + #Set Render Mode + self.mode_ = gfx.RenderMode.SIMPLE + + #Create Ui elements + self.aa_rendering_cb_ = QtGui.QCheckBox() + + self.radius_spinbox_ = QtGui.QDoubleSpinBox() + self.radius_spinbox_.setRange(min_line_width, max_line_width) + self.radius_spinbox_.setDecimals(2) + self.radius_spinbox_.setSingleStep(0.1) + + simple_label = QtGui.QLabel("Wireframe Settings") + font = simple_label.font() + font.setBold(True) + + radius_label = QtGui.QLabel("Line Width") + aa_label = QtGui.QLabel("AA-Lines") + + grid = QtGui.QGridLayout() + grid.addWidget(simple_label,0,0,1,3) + grid.addWidget(aa_label, 1, 0, 1, 3) + grid.addWidget(self.aa_rendering_cb_, 1, 2, 1, 1) + grid.addWidget(radius_label,2,0,1,3) + grid.addWidget(self.radius_spinbox_,2,2,1,1) + grid.setRowStretch(5,1) + self.setLayout(grid) + + QtCore.QObject.connect(self.radius_spinbox_, QtCore.SIGNAL("valueChanged(double)"), self.UpdateLineWidth) + QtCore.QObject.connect(self.aa_rendering_cb_, QtCore.SIGNAL("stateChanged(int)"), self.UpdateAA) + + self.setMinimumSize(250,100) + + def UpdateAA(self, value): + scene_selection = gui.SceneSelection.Instance() + for i in range(0,scene_selection.GetActiveNodeCount()): + node = scene_selection.GetActiveNode(i) + node.SetAALines(value) + + def UpdateLineWidth(self, value): + scene_selection = gui.SceneSelection.Instance() + for i in range(0,scene_selection.GetActiveNodeCount()): + node = scene_selection.GetActiveNode(i) + node.SetLineWidth(value) + + def UpdateGui(self): + scene_selection = gui.SceneSelection.Instance() + node = scene_selection.GetActiveNode(0) + self.radius_spinbox_.setValue(node.GetLineWidth()) + + def Update(self): + self.setEnabled(True) + self.UpdateGui() + if SelHelper().CheckNotFlags(SelHelper.HAS_IMG | SelHelper.IS_ONE_TYPE): + self.setEnabled(False) + + def GetText(self): + return self.text_ + + def GetRenderMode(self): + return self.mode_ \ No newline at end of file diff --git a/modules/gui/pymod/wrap_gui.cc b/modules/gui/pymod/wrap_gui.cc index 149c7885f69b5b5fb4df54bb63f18104696aae57..09f24fe82ea3fde760f14da2138af50963d97bac 100644 --- a/modules/gui/pymod/wrap_gui.cc +++ b/modules/gui/pymod/wrap_gui.cc @@ -21,20 +21,18 @@ #include <boost/python.hpp> #include <QString> #include <ost/config.hh> - - +#include <ost/gui/admin.hh> using namespace boost::python; void export_AlignmentView(); void export_Tool(); -void export_Plot(); void export_GLWin(); +void export_MessageWidget(); void export_Gosty(); void export_PyShell(); void export_SceneWin(); void export_SequenceViewer(); -void export_SequenceViewerV2(); -void export_PanelBar(); +void export_Panels(); void export_Perspective(); void export_SipHandler(); void export_SceneSelection(); @@ -42,6 +40,7 @@ void export_MainArea(); void export_MenuBar(); void export_RemoteSiteLoader(); void export_FileLoader(); +void export_FileViewer(); void export_Widget(); #if OST_SPNAV_ENABLED @@ -51,6 +50,7 @@ void export_Input(); #ifdef OST_IMG_ENABLED void export_data_viewer(); void export_overlay(); +void export_overlay_manager(); #endif #include <boost/python/to_python_converter.hpp> @@ -97,6 +97,7 @@ namespace { } +using namespace ost::gui; BOOST_PYTHON_MODULE(_gui) { @@ -107,19 +108,19 @@ BOOST_PYTHON_MODULE(_gui) export_Gosty(); export_AlignmentView(); export_Tool(); - export_Plot(); + export_MessageWidget(); export_GLWin(); export_MainArea(); export_PyShell(); - export_PanelBar(); + export_Panels(); export_MenuBar(); export_Perspective(); export_SceneWin(); export_SceneSelection(); export_SequenceViewer(); - export_SequenceViewerV2(); export_RemoteSiteLoader(); export_FileLoader(); + export_FileViewer(); export_Widget(); #if OST_SPNAV_ENABLED @@ -129,5 +130,12 @@ BOOST_PYTHON_MODULE(_gui) #if OST_IMG_ENABLED export_data_viewer(); export_overlay(); + export_overlay_manager(); #endif + + class_<AdminRights>("AdminRights", init<>()) + .def("Acquire", &AdminRights::Acquire) + .def("Release", &AdminRights::Release) + .def("CreateLink", &AdminRights::CreateLink) + ; } diff --git a/modules/gui/share/CMakeLists.txt b/modules/gui/share/CMakeLists.txt index d755bcd3a784ad2af217bc54b2456627126a16c5..c87f561e8eb50e4a7743063d3b70d090280f24e1 100644 --- a/modules/gui/share/CMakeLists.txt +++ b/modules/gui/share/CMakeLists.txt @@ -2,15 +2,31 @@ set(GUI_ICONS icons/add_icon.png icons/close_icon.png + icons/critical_icon.png + icons/delete_icon.png icons/distance_icon.png + icons/find_icon.png + icons/information_icon.png icons/map_icon.png + icons/menubar_icon.png icons/rigid_body_manipulator_icon.png icons/selection_icon.png icons/show_sidebar_icon.png icons/site_icon.png icons/split_icon.png + icons/warning_icon.png ) + +set(GUI_IMAGES + images/logo-small.png +) + add_custom_target(scene_icons ALL) copy_if_different("./" "${STAGE_DIR}/share/openstructure/gui/icons" "${GUI_ICONS}" "ICONS_FOR_GUI" scene_icons) install(FILES ${GUI_ICONS} DESTINATION "share/openstructure/gui/icons") + +add_custom_target(gui_images ALL) +copy_if_different("./" "${STAGE_DIR}/share/openstructure/gui/images" + "${GUI_IMAGES}" "IMAGES_FOR_GUI" gui_images) +install(FILES ${GUI_IMAGES} DESTINATION "share/openstructure/gui/images") \ No newline at end of file diff --git a/modules/gui/share/icons/add_icon.png b/modules/gui/share/icons/add_icon.png index 92611c58f1413e215b2e8f5f58f986e5d8d4ea53..5f059bcdae8a4b6fe17ca2773f39c161c4abdcbd 100644 Binary files a/modules/gui/share/icons/add_icon.png and b/modules/gui/share/icons/add_icon.png differ diff --git a/modules/gui/share/icons/close_icon.png b/modules/gui/share/icons/close_icon.png index 3df20f23d0c40a3a66f484f6b3397f495103c4a8..376f51609396dca265f9c591af173f8dfe8153a6 100644 Binary files a/modules/gui/share/icons/close_icon.png and b/modules/gui/share/icons/close_icon.png differ diff --git a/modules/gui/share/icons/critical_icon.png b/modules/gui/share/icons/critical_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0e362b6fb3eef525896e6d173c2ceb42c9109f4a Binary files /dev/null and b/modules/gui/share/icons/critical_icon.png differ diff --git a/modules/gui/share/icons/delete_icon.png b/modules/gui/share/icons/delete_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..998b49070fc98a0a67dc79392eebb879a9af7937 Binary files /dev/null and b/modules/gui/share/icons/delete_icon.png differ diff --git a/modules/gui/share/icons/find_icon.png b/modules/gui/share/icons/find_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..39f6331715ea8fce80451c6314e9eac45193dabe Binary files /dev/null and b/modules/gui/share/icons/find_icon.png differ diff --git a/modules/gui/share/icons/information_icon.png b/modules/gui/share/icons/information_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d224adeb079092587a099fe310379a918df6147 Binary files /dev/null and b/modules/gui/share/icons/information_icon.png differ diff --git a/modules/gui/share/icons/menubar_icon.png b/modules/gui/share/icons/menubar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7a87198cfdf7ba396a2858dde79474df773118c1 Binary files /dev/null and b/modules/gui/share/icons/menubar_icon.png differ diff --git a/modules/gui/share/icons/split_icon.png b/modules/gui/share/icons/split_icon.png index c81d1224feb09e0e34c6280af9abec992d25aad2..783e6afe9ba0f398104140472f3e198ae1257681 100644 Binary files a/modules/gui/share/icons/split_icon.png and b/modules/gui/share/icons/split_icon.png differ diff --git a/modules/gui/share/icons/warning_icon.png b/modules/gui/share/icons/warning_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b1a2dc196e0adc0d420ad5304e47d8926bc6637c Binary files /dev/null and b/modules/gui/share/icons/warning_icon.png differ diff --git a/modules/gui/share/images/logo-small.png b/modules/gui/share/images/logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..37bfaf42f21d3e6a5b68c05fb4dfe7186b603d4f Binary files /dev/null and b/modules/gui/share/images/logo-small.png differ diff --git a/modules/gui/src/CMakeLists.txt b/modules/gui/src/CMakeLists.txt index b4ca43ed392d7f8088acc611f71ce05dec3b5ed0..1a5104a0ae28d8670eb8887fa8c3c85f4567c1ae 100644 --- a/modules/gui/src/CMakeLists.txt +++ b/modules/gui/src/CMakeLists.txt @@ -1,8 +1,8 @@ set(OST_GUI_PANEL_BAR_HEADERS button_bar.hh drop_box.hh -panels.hh panel_bar.hh +panel_manager.hh bottom_bar.hh button_box.hh event_button.hh @@ -12,17 +12,12 @@ side_bar.hh splitter_panel_bar.hh tabbed_panel_bar.hh ) -set(OST_GUI_SEQUENCE_VIEWER_HEADERS -sequence_item.hh -sequence_viewer_base.hh -sequence_viewer.hh -sequence_scene.hh -sequence_search_bar.hh -) -set(OST_GUI_SEQUENCE_VIEW_HEADERS +set(OST_GUI_SEQUENCE_VIEWER_HEADERS +align_properties_painter.hh base_row.hh background_painter.hh +conservation_painter.hh painter.hh secstr_row.hh seq_secstr_painter.hh @@ -36,6 +31,7 @@ sequence_table_view.hh sequence_viewer.hh tick_painter.hh title_row.hh +alignment_view_object.hh base_view_object.hh sequence_view_object.hh ) @@ -70,9 +66,13 @@ python_tokenizer.hh python_syntax_highlighter.hh text_logger.hh python_interpreter.hh -python_interpreter_proxy.hh +python_interpreter_worker.hh python_shell_text_document_layout.hh shell_history.hh +state_machine.hh +state.hh +transition.hh +transition_guard.hh ) set(OST_GUI_SCENE_WIN_HEADERS @@ -91,6 +91,11 @@ scene_win.hh scene_win_model.hh ) +set(OST_GUI_MESSAGES_HEADERS +message_widget.hh +message_box_widget.hh +log_reader.hh +) if (ENABLE_SPNAV) set(OST_GUI_INPUT_HEADERS @@ -125,10 +130,6 @@ plot_legend_panel.hh plot_ticker.hh plot_ticker_fw.hh plot_types.hh -plot_viewer.hh -plot_viewer_panel.hh -plot_viewer_proxy.hh -plot_viewer_proxy_fw.hh ) if (ENABLE_IMG) @@ -161,25 +162,23 @@ if (ENABLE_IMG) endif() set(OST_GUI_HEADERS -change_process_name.hh file_browser.hh file_type_dialog.hh +file_viewer.hh remote_loader.hh gl_canvas.hh gl_win.hh scene_menu.hh gosty_app.hh +admin.hh main.hh main_area.hh -mdi_sub_window.hh module_config.hh perspective.hh -query_dialog.hh remote_site_loader.hh scene_selection.hh main_window.hh dock_widget.hh -main_window.hh dock_widget.hh thin_splitter.hh widget.hh @@ -197,59 +196,59 @@ perspective.cc widget_registry.cc file_browser.cc file_type_dialog.cc +file_viewer.cc remote_loader.cc main.cc -mdi_sub_window.cc gl_canvas.cc dock_widget.cc main_window.cc gl_win.cc scene_menu.cc widget.cc +admin.cc widget_pool.cc remote_site_loader.cc -sequence_viewer/sequence_item.cc -sequence_viewer/sequence_viewer_base.cc -sequence_viewer/sequence_viewer.cc -sequence_viewer/sequence_scene.cc +messages/message_widget.cc +messages/message_box_widget.cc +messages/log_reader.cc +sequence_viewer/align_properties_painter.cc +sequence_viewer/base_row.cc +sequence_viewer/background_painter.cc +sequence_viewer/conservation_painter.cc +sequence_viewer/secstr_row.cc +sequence_viewer/seq_secstr_painter.cc +sequence_viewer/seq_selection_painter.cc +sequence_viewer/seq_text_painter.cc +sequence_viewer/sequence_delegate.cc +sequence_viewer/sequence_model.cc +sequence_viewer/sequence_row.cc sequence_viewer/sequence_search_bar.cc -sequence/base_row.cc -sequence/background_painter.cc -sequence/secstr_row.cc -sequence/seq_secstr_painter.cc -sequence/seq_selection_painter.cc -sequence/seq_text_painter.cc -sequence/sequence_delegate.cc -sequence/sequence_model.cc -sequence/sequence_row.cc -sequence/sequence_search_bar.cc -sequence/sequence_table_view.cc -sequence/sequence_viewer.cc -sequence/tick_painter.cc -sequence/title_row.cc -sequence/base_view_object.cc -sequence/sequence_view_object.cc +sequence_viewer/sequence_table_view.cc +sequence_viewer/sequence_viewer.cc +sequence_viewer/tick_painter.cc +sequence_viewer/title_row.cc +sequence_viewer/alignment_view_object.cc +sequence_viewer/base_view_object.cc +sequence_viewer/sequence_view_object.cc gosty_app.cc -change_process_name.cc main_area.cc -query_dialog.cc widget_state_saver.cc scene_selection.cc widget_geom_handler.cc file_loader.cc loader_manager.cc -panel_bar/button_bar.cc -panel_bar/drop_box.cc -panel_bar/panel_bar.cc -panel_bar/bottom_bar.cc -panel_bar/button_box.cc -panel_bar/event_button.cc -panel_bar/panels.cc -panel_bar/panel_widget_container.cc -panel_bar/panel_bar_widget_holder.cc -panel_bar/side_bar.cc -panel_bar/splitter_panel_bar.cc -panel_bar/tabbed_panel_bar.cc +panels/button_bar.cc +panels/drop_box.cc +panels/panel_bar.cc +panels/bottom_bar.cc +panels/button_box.cc +panels/event_button.cc +panels/panel_manager.cc +panels/panel_widget_container.cc +panels/panel_bar_widget_holder.cc +panels/side_bar.cc +panels/splitter_panel_bar.cc +panels/tabbed_panel_bar.cc tools/tool_option_group.cc tools/tool_options.cc tools/tool_option.cc @@ -262,30 +261,6 @@ tools/tool_options_widget.cc tools/tool_bar.cc tools/selection_tool.cc tools/measure_tool.cc -plot_viewer/plot_axis_base.cc -plot_viewer/plot_axis_vertical.cc -plot_viewer/plot_axis_horizontal.cc -plot_viewer/plot_data_graphics_item.cc -plot_viewer/plot_data_graphics_item_base.cc -plot_viewer/plot_graphics_ellipse_item.cc -plot_viewer/plot_graphics_rectangle_item.cc -plot_viewer/plot_graphics_diagonal_cross_item.cc -plot_viewer/plot_graphics_cross_item.cc -plot_viewer/plot_data.cc -plot_viewer/plot_data_base.cc -plot_viewer/plot_data_info.cc -plot_viewer/plot_function.cc -plot_viewer/plot_function_graphics_item.cc -plot_viewer/plot_function_info.cc -plot_viewer/plot_info_base.cc -plot_viewer/plot_group.cc -plot_viewer/plot_group_info.cc -plot_viewer/plot_group_graphics_item.cc -plot_viewer/plot_ticker.cc -plot_viewer/plot_viewer.cc -plot_viewer/plot_viewer_proxy.cc -plot_viewer/plot_viewer_panel.cc -plot_viewer/plot_legend_panel.cc python_shell/gutter.cc python_shell/main_thread_runner.cc python_shell/output_redirector.cc @@ -295,7 +270,7 @@ python_shell/path_completer.cc python_shell/python_context_parser.cc python_shell/python_completer.cc python_shell/python_interpreter.cc -python_shell/python_interpreter_proxy.cc +python_shell/python_interpreter_worker.cc python_shell/python_namespace_tree_model.cc python_shell/python_namespace_tree_item.cc python_shell/python_shell.cc @@ -306,6 +281,10 @@ python_shell/python_syntax_highlighter.cc python_shell/shell_history.cc python_shell/string_literal_positions.cc python_shell/text_logger.cc +python_shell/state_machine.cc +python_shell/state.cc +python_shell/transition.cc +python_shell/transition_guard.cc scene_win/context_menu.cc scene_win/current_selection_node.cc scene_win/custom_part_node.cc @@ -324,6 +303,7 @@ scene_win/scene_win_model.cc set(HEADERS_TO_BE_MOCCED file_browser.hh file_type_dialog.hh +file_viewer.hh remote_loader.hh gl_canvas.hh gl_win.hh @@ -331,65 +311,64 @@ scene_menu.hh gosty_app.hh main.hh main_area.hh -mdi_sub_window.hh perspective.hh -query_dialog.hh dock_widget.hh main_window.hh scene_selection.hh widget.hh widget_geom_handler.hh widget_pool.hh -sequence_viewer/sequence_item.hh -sequence_viewer/sequence_viewer_base.hh -sequence_viewer/sequence_viewer.hh -sequence_viewer/sequence_scene.hh +messages/message_widget.hh +messages/message_box_widget.hh +messages/log_reader.hh +sequence_viewer/align_properties_painter.hh +sequence_viewer/background_painter.hh +sequence_viewer/base_row.hh +sequence_viewer/conservation_painter.hh +sequence_viewer/painter.hh +sequence_viewer/secstr_row.hh +sequence_viewer/seq_secstr_painter.hh +sequence_viewer/seq_selection_painter.hh +sequence_viewer/seq_text_painter.hh +sequence_viewer/sequence_delegate.hh +sequence_viewer/sequence_model.hh +sequence_viewer/sequence_row.hh sequence_viewer/sequence_search_bar.hh -sequence/background_painter.hh -sequence/base_row.hh -sequence/painter.hh -sequence/secstr_row.hh -sequence/seq_secstr_painter.hh -sequence/seq_selection_painter.hh -sequence/seq_text_painter.hh -sequence/sequence_delegate.hh -sequence/sequence_model.hh -sequence/sequence_row.hh -sequence/sequence_search_bar.hh -sequence/sequence_table_view.hh -sequence/sequence_viewer.hh -sequence/tick_painter.hh -sequence/title_row.hh -sequence/base_view_object.hh -sequence/sequence_view_object.hh -plot_viewer/plot_axis_base.hh -plot_viewer/plot_data_graphics_item_base.hh -plot_viewer/plot_function_info.hh -plot_viewer/plot_info_base.hh -plot_viewer/plot_viewer_panel.hh -plot_viewer/plot_legend_panel.hh +sequence_viewer/sequence_table_view.hh +sequence_viewer/sequence_viewer.hh +sequence_viewer/tick_painter.hh +sequence_viewer/title_row.hh +sequence_viewer/alignment_view_object.hh +sequence_viewer/base_view_object.hh +sequence_viewer/sequence_view_object.hh python_shell/main_thread_runner.hh python_shell/completer_base.hh python_shell/gutter.hh +python_shell/output_redirector.hh python_shell/path_completer.hh python_shell/python_completer.hh python_shell/python_interpreter.hh +python_shell/python_interpreter_worker.hh python_shell/python_namespace_tree_model.hh python_shell/python_shell.hh python_shell/python_shell_widget.hh python_shell/text_logger.hh -panel_bar/button_bar.hh -panel_bar/drop_box.hh -panel_bar/panel_bar.hh -panel_bar/panels.hh -panel_bar/bottom_bar.hh -panel_bar/button_box.hh -panel_bar/event_button.hh -panel_bar/panel_widget_container.hh -panel_bar/panel_bar_widget_holder.hh -panel_bar/side_bar.hh -panel_bar/splitter_panel_bar.hh -panel_bar/tabbed_panel_bar.hh +python_shell/state_machine.hh +python_shell/state.hh +python_shell/transition.hh +python_shell/transition_guard.hh +panels/button_bar.hh +panels/drop_box.hh +panels/panel_bar.hh +panels/panel_manager.hh +panels/bottom_bar.hh +panels/button_box.hh +panels/event_button.hh +panels/panel_widget_container.hh +panels/panel_bar_widget_holder.hh +panels/side_bar.hh +panels/splitter_panel_bar.hh +panels/tabbed_panel_bar.hh scene_win/context_menu.hh scene_win/current_selection_node.hh scene_win/custom_part_node.hh @@ -455,24 +434,31 @@ if (ENABLE_SPNAV) input/spnav_input.hh ) endif() - +if (APPLE) + set(ADDITIONAL_LIBRARIES "-framework Security") +endif() set(QT_USE_QTOPENGL 1) set(QT_USE_QTNETWORK 1) include(${QT_USE_FILE}) qt4_wrap_cpp(OST_GUI_MOCS "${HEADERS_TO_BE_MOCCED}") module(NAME gui SOURCES ${OST_GUI_MOCS} ${OST_GUI_SOURCES} HEADERS ${OST_GUI_TOOLS_HEADERS} IN_DIR tools - ${OST_GUI_PLOT_VIEWER_HEADERS} IN_DIR plot_viewer ${OST_GUI_SEQUENCE_VIEWER_HEADERS} IN_DIR sequence_viewer - ${OST_GUI_SEQUENCE_VIEW_HEADERS} IN_DIR sequence ${OST_GUI_PYTHON_SHELL_HEADERS} IN_DIR python_shell - ${OST_GUI_PANEL_BAR_HEADERS} IN_DIR panel_bar + ${OST_GUI_PANEL_BAR_HEADERS} IN_DIR panels ${OST_GUI_SCENE_WIN_HEADERS} IN_DIR scene_win + ${OST_GUI_MESSAGES_HEADERS} IN_DIR messages ${OST_GUI_INPUT_HEADERS} ${OST_GUI_DATA_VIEWER_HEADERS} ${OST_GUI_HEADERS} - DEPENDS_ON gfx io mol_alg - LINK ${QT_LIBRARIES} ${PYTHON_LIBRARIES} ${BOOST_PYTHON_LIBRARIES} ${SPNAV_LIBRARIES}) + DEPENDS_ON gfx io mol_alg seq_alg + LINK ${QT_LIBRARIES} ${PYTHON_LIBRARIES} ${BOOST_PYTHON_LIBRARIES} + ${SPNAV_LIBRARIES}) + +if (ADDITIONAL_LIBRARIES) + target_link_libraries(ost_gui "${ADDITIONAL_LIBRARIES}") +endif() + include_directories(${PYTHON_INCLUDE_PATH}) qt4_add_resources(OST_QT_RESOURCE dngr.qrc) qt4_wrap_cpp(OST_GOSTY_MOC "gosty.hh") @@ -485,7 +471,3 @@ endif() executable(NAME gosty SOURCES gosty.cc ${OST_GOSTY_MOC} ${OST_QT_RESOURCE} DEPENDS_ON gui ${LINK}) -#if (APPLE) -# set_source_files_properties(change_process_name.cc -# PROPERTIES COMPILE_FLAGS "-ObjC++") -#endif() diff --git a/modules/gui/src/admin.cc b/modules/gui/src/admin.cc new file mode 100644 index 0000000000000000000000000000000000000000..4163750a4af3c623babe9d45cfdae76d60a702dd --- /dev/null +++ b/modules/gui/src/admin.cc @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +#include "admin.hh" + +namespace ost { namespace gui { + +#if defined(__APPLE__) + +AdminRights::AdminRights(): auth_(NULL) +{ + +} +AdminRights::~AdminRights() +{ + this->Release(); +} + +bool AdminRights::Acquire() +{ + // Connect to Authorization Services. + if (AuthorizationCreate(NULL, NULL, 0, &auth_)!=noErr) { + return false; + } + + static const AuthorizationFlags kFlags = + kAuthorizationFlagInteractionAllowed + | kAuthorizationFlagExtendRights; + AuthorizationItem kActionRight = { "", 0, 0, 0 }; + AuthorizationRights kRights = { 1, &kActionRight }; + + // Request the application-specific right. + return noErr==AuthorizationCopyRights(auth_, &kRights, NULL, kFlags, NULL); +} + +void AdminRights::Release() +{ + if (auth_) { + AuthorizationFree(auth_, kAuthorizationFlagDestroyRights); + auth_=NULL; + } +} + +void AdminRights::CreateLink(const String& from, const String& to) +{ + static const char* minus_sf="-sf"; + // const_casts are gross, but at least that way we keep gcc happy + char* const args[]={ + const_cast<char*>(minus_sf), + const_cast<char*>(from.c_str()), + const_cast<char*>(to.c_str()), + NULL + }; + AuthorizationExecuteWithPrivileges(auth_, "/bin/ln", + kAuthorizationFlagDefaults, + args, NULL); +} + +#else + +AdminRights::AdminRights() +{ } + +void AdminRights::CreateLink(const String& from, const String& to) +{ + +} +AdminRights::~AdminRights() +{ } + +bool AdminRights::Acquire() +{ return false; } + +void AdminRights::Release() +{ } +#endif + + +}} + diff --git a/modules/gui/src/change_process_name.hh b/modules/gui/src/admin.hh similarity index 75% rename from modules/gui/src/change_process_name.hh rename to modules/gui/src/admin.hh index 69bf57b129e3792715194e6aae827050b37919c5..99e43e86067b459646e2d2a5c0f9230589ad3ac6 100644 --- a/modules/gui/src/change_process_name.hh +++ b/modules/gui/src/admin.hh @@ -16,20 +16,34 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_GUI_CHANGE_PROCESS_NAME_HH -#define OST_GUI_CHANGE_PROCESS_NAME_HH + +#ifndef OST_GUI_ADMIN_HH +#define OST_GUI_ADMIN_HH #include <ost/gui/module_config.hh> -/* - Author: Marco Biasini - */ +#if defined(__APPLE__) +#include <Security/Security.h> +#endif namespace ost { namespace gui { -/// \brief change process name that shows up in ps and top -void DLLEXPORT_OST_GUI ChangeProcessName(const char* proc_name); + +class DLLEXPORT_OST_GUI AdminRights { +public: + AdminRights(); + ~AdminRights(); + bool Acquire(); + + void CreateLink(const String& from, const String& to); + void Release(); +private: +#if defined(__APPLE__) + AuthorizationRef auth_; +#endif +}; + }} #endif diff --git a/modules/gui/src/data_viewer/argand.cc b/modules/gui/src/data_viewer/argand.cc index 7c536a36001b22584a63936f6c790a30d62e36e3..e9d65dee8ab5f0dcdf0a14ae59499688211d5a40 100644 --- a/modules/gui/src/data_viewer/argand.cc +++ b/modules/gui/src/data_viewer/argand.cc @@ -22,13 +22,13 @@ Authors: Ansgar Philippsen, Andreas Schenk */ -#include <QPainter> -#include <QResizeEvent> #include <ost/base.hh> #include "argand.hh" +#include <QPainter> +#include <QResizeEvent> namespace ost { namespace img { namespace gui { Argand::Argand(const Data& data, QWidget* p): diff --git a/modules/gui/src/data_viewer/argand.hh b/modules/gui/src/data_viewer/argand.hh index cc337c661eb88f1283b63c75ba2ee5bb6becdaf0..346cee3b0ac4101d2a7c59bcd0f4921a836f4733 100644 --- a/modules/gui/src/data_viewer/argand.hh +++ b/modules/gui/src/data_viewer/argand.hh @@ -25,8 +25,6 @@ #ifndef OST_GUI_ARGAND_H #define OST_GUI_ARGAND_H -#include <QWidget> -#include <QPixmap> #include <ost/base.hh> #include <ost/img/data.hh> @@ -35,6 +33,8 @@ #include <ost/gui/module_config.hh> +#include <QWidget> +#include <QPixmap> namespace ost { namespace img { namespace gui { class DLLEXPORT_OST_GUI Argand: public QWidget, public DataObserver diff --git a/modules/gui/src/data_viewer/data_viewer.cc b/modules/gui/src/data_viewer/data_viewer.cc index a02a2f86203924d45505ed8a1b7b4ff1b852b706..11edbf9daa95c400b85c99fd2b48a439e2954112 100644 --- a/modules/gui/src/data_viewer/data_viewer.cc +++ b/modules/gui/src/data_viewer/data_viewer.cc @@ -28,14 +28,6 @@ //#include <cstring> //#include <sstream> -#include <QLabel> -#include <QStatusBar> -#include <QMouseEvent> -#include <QVariant> -#include <QMenu> -#include <QMenuBar> -#include <QApplication> -#include <QDesktopWidget> //#include <ost/img/io/io_manager.hh> #include <ost/message.hh> @@ -48,6 +40,14 @@ #include "overlay_base.hh" #include "overlay_manager.hh" +#include <QLabel> +#include <QStatusBar> +#include <QMouseEvent> +#include <QVariant> +#include <QMenu> +#include <QMenuBar> +#include <QApplication> +#include <QDesktopWidget> namespace ost { namespace img { namespace gui { namespace { @@ -72,7 +72,7 @@ DataViewer::DataViewer(QWidget* p, const Data& data, const QString& name): lastmouse_() { connect(ov_manager_gui_,SIGNAL(SettingsChanged()),this,SLOT(UpdateView())); - setWindowTitle("GIPLT Viewer"); + setWindowTitle("OpenStructure Data Viewer"); build(data); } diff --git a/modules/gui/src/data_viewer/data_viewer_panel_base.cc b/modules/gui/src/data_viewer/data_viewer_panel_base.cc index 0fb9c0c5b3c85c4c4ca8086becbc4fc1e88a4e47..7a098921db753ca1e7fbe596281536ee71947f42 100644 --- a/modules/gui/src/data_viewer/data_viewer_panel_base.cc +++ b/modules/gui/src/data_viewer/data_viewer_panel_base.cc @@ -30,6 +30,9 @@ //#include "bitmaps/rotate.xpm" //#include "bitmaps/arrowmove.xpm" +#include "img2qt.hh" +#include "data_viewer_panel_base.hh" + #include <QResizeEvent> #include <QPainter> #include <QColor> @@ -37,8 +40,6 @@ #include <QPixmapCache> #include <ost/message.hh> -#include "img2qt.hh" -#include "data_viewer_panel_base.hh" #define USE_PIXMAP_CACHE @@ -431,7 +432,7 @@ void DataViewerPanelBase::paintEvent(QPaintEvent* event) painter.drawPixmap(QPoint(0,0),*pixmap_); #endif - if(zoom_level_ >= 6 && display_pixel_values_) { + if(zoom_level_ >= 7 && display_pixel_values_) { draw_pixel_values(painter); } @@ -554,9 +555,9 @@ void DataViewerPanelBase::mouseMoveEvent(QMouseEvent* event) Point max_pos=WinToPoint(vsize.width(),vsize.height()); Point min_pos=WinToPoint(0,0); selection_=Extent(Point(std::max(min_pos[0],std::min(drag_start[0],mouse_pos[0])), - std::max(min_pos[1],std::min(drag_start[1],mouse_pos[1]))), + std::max(min_pos[1],std::min(drag_start[1],mouse_pos[1])), slab_), Point(std::max(drag_start[0],std::min(max_pos[0],mouse_pos[0])), - std::max(drag_start[1],std::min(max_pos[1],mouse_pos[1])))); + std::max(drag_start[1],std::min(max_pos[1],mouse_pos[1])), slab_)); if(selection_mode_>0){ Size s=selection_.GetSize(); int minsize=std::min<int>(s[0],s[1]); @@ -1009,20 +1010,37 @@ void DataViewerPanelBase::draw_pixel_values(QPainter& painter) QFont fnt("Courier",(zoom_level_-6)*2+7); painter.setFont(fnt); - - for(int i = 0; i <= (b[0] - a[0]); ++i) { - for(int j = 0; j <= (b[1] - a[1]); ++j) { - Real pixel_value = GetObservedData().GetReal(Point(a[0]+i, - a[1]+j,slab_)); - QString value_string = QString("%1").arg(pixel_value,0,'g',5); - Real rv = GetNormalizer()->Convert(pixel_value); - QPoint p = FracPointToWinCenter(geom::Vec2(static_cast<Real>(a[0]+i), - static_cast<Real>(a[1]+j))); - unsigned char rgb = (rv>130.0) ? 0 : 255; - painter.setPen(QColor(rgb,rgb,rgb)); - int string_h=painter.fontMetrics().height(); - int string_w=painter.fontMetrics().width(value_string); - painter.drawText(p.x() - string_w/2, p.y() + string_h/2, value_string); + if(GetObservedData().GetType()==REAL){ + for(int i = 0; i <= (b[0] - a[0]); ++i) { + for(int j = 0; j <= (b[1] - a[1]); ++j) { + Real pixel_value = GetObservedData().GetReal(Point(a[0]+i, + a[1]+j,slab_)); + QString value_string = QString("%1").arg(pixel_value,0,'g',5); + Real rv = GetNormalizer()->Convert(pixel_value); + QPoint p = FracPointToWinCenter(geom::Vec2(static_cast<Real>(a[0]+i), + static_cast<Real>(a[1]+j))); + unsigned char rgb = (rv>130.0) ? 0 : 255; + painter.setPen(QColor(rgb,rgb,rgb)); + int string_h=painter.fontMetrics().height(); + int string_w=painter.fontMetrics().width(value_string); + painter.drawText(p.x() - string_w/2, p.y() + string_h/2, value_string); + } + } + }else{ + for(int i = 0; i <= (b[0] - a[0]); ++i) { + for(int j = 0; j <= (b[1] - a[1]); ++j) { + Complex pixel_value = GetObservedData().GetComplex(Point(a[0]+i, + a[1]+j,slab_)); + QString value_string = QString("%1+i%2").arg(pixel_value.real(),0,'g',5).arg(pixel_value.imag(),0,'g',5); + Real rv = GetNormalizer()->Convert(abs(pixel_value)); + QPoint p = FracPointToWinCenter(geom::Vec2(static_cast<Real>(a[0]+i), + static_cast<Real>(a[1]+j))); + unsigned char rgb = (rv>130.0) ? 0 : 255; + painter.setPen(QColor(rgb,rgb,rgb)); + int string_h=painter.fontMetrics().height(); + int string_w=painter.fontMetrics().width(value_string); + painter.drawText(p.x() - string_w/2, p.y() + string_h/2, value_string); + } } } } diff --git a/modules/gui/src/data_viewer/data_viewer_panel_base.hh b/modules/gui/src/data_viewer/data_viewer_panel_base.hh index d3a6b01d0c282ff611f59d97cf0661217391d8b1..16339e55f66ae13a120d2b31891d95426fcb1ba1 100644 --- a/modules/gui/src/data_viewer/data_viewer_panel_base.hh +++ b/modules/gui/src/data_viewer/data_viewer_panel_base.hh @@ -28,12 +28,6 @@ #include <map> #include <boost/shared_ptr.hpp> -#include <QWidget> -#include <QCursor> -#include <QMenu> -#include <QPen> -#include <QBrush> -#include <QRubberBand> #include <ost/base.hh> @@ -46,6 +40,12 @@ #include <ost/img/normalizer_impl.hh> +#include <QWidget> +#include <QCursor> +#include <QMenu> +#include <QPen> +#include <QBrush> +#include <QRubberBand> namespace ost { namespace img { namespace gui { diff --git a/modules/gui/src/data_viewer/drawing_functions.hh b/modules/gui/src/data_viewer/drawing_functions.hh index c27e66345bf8287afee3c2ed3330ddbbd85026cf..b3374a12df5cf73aaf5822d8e069de46d5758b7d 100644 --- a/modules/gui/src/data_viewer/drawing_functions.hh +++ b/modules/gui/src/data_viewer/drawing_functions.hh @@ -25,11 +25,11 @@ #ifndef IMG_GUI_DRAWING_FUNCTIONS_HH_ #define IMG_GUI_DRAWING_FUNCTIONS_HH_ +#include <ost/geom/geom.hh> #include <QPainter> #include <QPoint> #include <QSize> -#include <ost/geom/geom.hh> namespace ost { namespace img { namespace gui { diff --git a/modules/gui/src/data_viewer/fft_panel.cc b/modules/gui/src/data_viewer/fft_panel.cc index d764d5f9c110ec6820982725b285e3ad07c14ec4..6b14752a05242e5efe461f7cd01e4d784721d9fd 100644 --- a/modules/gui/src/data_viewer/fft_panel.cc +++ b/modules/gui/src/data_viewer/fft_panel.cc @@ -22,11 +22,11 @@ Author: Andreas Schenk */ -#include <QInputDialog> #include <ost/img/alg/fft.hh> #include "fft_panel.hh" +#include <QInputDialog> namespace ost { namespace img { namespace gui { diff --git a/modules/gui/src/data_viewer/img2qt.cc b/modules/gui/src/data_viewer/img2qt.cc index d89a24c4699893718b6d0c418b2e1c7c5205fa18..9d0defcc4018f37f6b44a913805572bdede1581a 100644 --- a/modules/gui/src/data_viewer/img2qt.cc +++ b/modules/gui/src/data_viewer/img2qt.cc @@ -17,7 +17,6 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QImage> #include <ost/img/data.hh> #include <ost/img/algorithm.hh> @@ -25,6 +24,7 @@ #include <ost/stdint.hh> #include "img2qt.hh" +#include <QImage> using namespace ost::img; diff --git a/modules/gui/src/data_viewer/info_panel.cc b/modules/gui/src/data_viewer/info_panel.cc index 7bdf2a514df7ca43215126c027d81b4eb3f18182..4ebd0b53e7788015b53e0ab20858ecc3045af735 100644 --- a/modules/gui/src/data_viewer/info_panel.cc +++ b/modules/gui/src/data_viewer/info_panel.cc @@ -24,14 +24,14 @@ */ #include <boost/format.hpp> -#include <QHBoxLayout> -#include <QVBoxLayout> -#include <QGroupBox> #include <ost/img/image.hh> #include "info_panel.hh" +#include <QHBoxLayout> +#include <QVBoxLayout> +#include <QGroupBox> namespace ost { namespace img { namespace gui { InfoPanelLabel::InfoPanelLabel(const QString& t, QWidget* parent): diff --git a/modules/gui/src/data_viewer/info_panel.hh b/modules/gui/src/data_viewer/info_panel.hh index 388248dabacfb1f2d2467bec2f6819add3e429cf..d229555065146f9fcf9963d9917eb3dd1fdd2e55 100644 --- a/modules/gui/src/data_viewer/info_panel.hh +++ b/modules/gui/src/data_viewer/info_panel.hh @@ -25,9 +25,6 @@ #ifndef IMG_GUI_DATAVIEWER_INFO_PANEL_H_ #define IMG_GUI_DATAVIEWER_INFO_PANEL_H_ -#include <QWidget> -#include <QLabel> -#include <QMenu> #include <ost/img/data_types.hh> #include <ost/img/extent.hh> @@ -35,6 +32,9 @@ #include <ost/gui/module_config.hh> +#include <QWidget> +#include <QLabel> +#include <QMenu> namespace ost { namespace img { namespace gui { class DLLEXPORT_OST_GUI InfoPanelLabel: public QLabel diff --git a/modules/gui/src/data_viewer/mask_overlay.cc b/modules/gui/src/data_viewer/mask_overlay.cc index a10082a3408b0988c2c38bda0230b6440d7916ff..b53678ad18fdf8f7dcb3adaa9fb45d88d09e0fce 100644 --- a/modules/gui/src/data_viewer/mask_overlay.cc +++ b/modules/gui/src/data_viewer/mask_overlay.cc @@ -73,7 +73,7 @@ void MaskOverlay::OnDraw(QPainter& pnt, DataViewerPanel* dvp, bool is_active) geom::Polygon2 pol=polygons_[i]; QPolygon qpol; for(int j=0;j<static_cast<int>(pol.GetNodeCount());++j){ - qpol << dvp->FracPointToWinCenter(pol.GetNode(j)); + qpol << dvp->FracPointToWinCenter(pol.GetNode(j)+shift_); pnt.drawEllipse(qpol.back(),3,3); } pnt.drawPolygon(qpol); @@ -89,7 +89,7 @@ void MaskOverlay::OnDraw(QPainter& pnt, DataViewerPanel* dvp, bool is_active) } QPolygon qpol; for(int j=0;j<static_cast<int>(new_poly_.GetNodeCount());++j){ - qpol << dvp->FracPointToWinCenter(new_poly_.GetNode(j)); + qpol << dvp->FracPointToWinCenter(new_poly_.GetNode(j)+shift_); pnt.drawEllipse(qpol.back(),3,3); } pnt.drawPolygon(qpol); @@ -103,11 +103,7 @@ bool MaskOverlay::OnMouseEvent(QMouseEvent* e, DataViewerPanel* dvp, geom::Vec2 mousepos=dvp->WinToFracPoint(e->pos()); geom::Vec2 diffpos=mousepos-old_mouse_pos_; - if(e->buttons() & Qt::RightButton){ - for(std::vector<geom::Polygon2>::iterator it=polygons_.begin();it!=polygons_.end();++it){ - (*it)=(*it)+diffpos; - } - new_poly_=new_poly_+diffpos; + if(e->buttons() & Qt::RightButton && e->button()==Qt::NoButton){ shift_+=diffpos; } old_mouse_pos_=mousepos; @@ -214,5 +210,19 @@ void MaskOverlay::ClearMask() add_mode_=false; } +void MaskOverlay::SetShift(geom::Vec2 shift) +{ + shift_=shift; +} + +void MaskOverlay::ApplyShiftToMask() +{ + for(std::vector<geom::Polygon2>::iterator it=polygons_.begin();it!=polygons_.end();++it){ + (*it)=(*it)+shift_; + } + new_poly_=new_poly_+shift_; + shift_=geom::Vec2(0.0,0.0); +} + }}} //ns diff --git a/modules/gui/src/data_viewer/mask_overlay.hh b/modules/gui/src/data_viewer/mask_overlay.hh index e274f315756060af5001d610e550b42f410a1e83..36feb893d9d0d71893568fab4273c96314636ca0 100644 --- a/modules/gui/src/data_viewer/mask_overlay.hh +++ b/modules/gui/src/data_viewer/mask_overlay.hh @@ -56,6 +56,8 @@ public: void ClearMask(); void ClearShift(){shift_=geom::Vec2();} geom::Vec2 GetShift(){return shift_;} + void SetShift(geom::Vec2 shift); + void ApplyShiftToMask(); protected: std::vector<geom::Polygon2> polygons_; diff --git a/modules/gui/src/data_viewer/overlay_base.hh b/modules/gui/src/data_viewer/overlay_base.hh index edef14985af6d488413334b98837c37ab90de75b..05c3d6d08f263f1986c49176e2f434bb26c5259b 100644 --- a/modules/gui/src/data_viewer/overlay_base.hh +++ b/modules/gui/src/data_viewer/overlay_base.hh @@ -25,18 +25,18 @@ #ifndef IMG_GUI_OVERLAY_BASE_H #define IMG_GUI_OVERLAY_BASE_H -#include <QObject> -#include <QEvent> -#include <QPainter> -#include <QMenu> -#include <QMouseEvent> -#include <QKeyEvent> #include <ost/base.hh> #include <ost/gui/module_config.hh> #include "overlay_base_fw.hh" +#include <QObject> +#include <QEvent> +#include <QPainter> +#include <QMenu> +#include <QMouseEvent> +#include <QKeyEvent> namespace ost { namespace img { namespace gui { // fw decl diff --git a/modules/gui/src/data_viewer/overlay_manager.hh b/modules/gui/src/data_viewer/overlay_manager.hh index 033d78663ce99f5fa37a26f87cc022716f8a03cf..cef91ac91201ae46c87ded349b8ed95069debdef 100644 --- a/modules/gui/src/data_viewer/overlay_manager.hh +++ b/modules/gui/src/data_viewer/overlay_manager.hh @@ -28,9 +28,6 @@ #include <vector> #include <list> -#include <QWidget> -#include <QPainter> -#include <QEvent> #include <ost/base.hh> @@ -41,6 +38,9 @@ #include "overlay_manager_fw.hh" #include "overlay_manager_observer.hh" +#include <QWidget> +#include <QPainter> +#include <QEvent> namespace ost { namespace img { namespace gui { class DataViewerPanel; diff --git a/modules/gui/src/data_viewer/overlay_manager_gui.cc b/modules/gui/src/data_viewer/overlay_manager_gui.cc index c947d50cd1454a49bede8558efd6c9e020407c18..1944c42f6b7552be0bc5f215ff2f08d0f2007425 100644 --- a/modules/gui/src/data_viewer/overlay_manager_gui.cc +++ b/modules/gui/src/data_viewer/overlay_manager_gui.cc @@ -22,7 +22,6 @@ Authors: Ansgar Philippsen, Andreas Schenk */ -#include <QScrollArea> #include <ost/message.hh> @@ -30,6 +29,7 @@ #include "overlay_manager.hh" #include "overlay.hh" +#include <QScrollArea> namespace ost { namespace img { namespace gui { //////////////////////////// diff --git a/modules/gui/src/data_viewer/overlay_manager_gui.hh b/modules/gui/src/data_viewer/overlay_manager_gui.hh index b12adca5a74c99a32ccbdd79ccadff8dfbdb1595..a601832e061a30e0d8f03c166a36b2cd88c30c06 100644 --- a/modules/gui/src/data_viewer/overlay_manager_gui.hh +++ b/modules/gui/src/data_viewer/overlay_manager_gui.hh @@ -26,6 +26,11 @@ #ifndef IMG_OV_GUI_OVDIALOG_H #define IMG_OV_GUI_OVDIALOG_H + +#include <vector> +#include <map> +#include "overlay_manager_observer.hh" + #include <QWidget> #include <QRadioButton> #include <QCheckBox> @@ -34,11 +39,6 @@ #include <QLabel> #include <QPushButton> #include <QButtonGroup> - -#include <vector> -#include <map> -#include "overlay_manager_observer.hh" - namespace ost { namespace img { namespace gui { class OverlayCustomActCheckBox: public QRadioButton diff --git a/modules/gui/src/data_viewer/pointlist_overlay.cc b/modules/gui/src/data_viewer/pointlist_overlay.cc index c031b8eef986581d3ea6043a7f2a7ad4817d3eac..899372608a3bf9607a26a1b64639496ac8e60a7a 100644 --- a/modules/gui/src/data_viewer/pointlist_overlay.cc +++ b/modules/gui/src/data_viewer/pointlist_overlay.cc @@ -31,15 +31,17 @@ namespace ost { namespace img { namespace gui { PointlistOverlay::PointlistOverlay(const String& name): - PointlistOverlayBase(name) + PointlistOverlayBase(name), + pointlist_() { - build(); + build_(); } PointlistOverlay::PointlistOverlay(const PointList& pl, const String& name): - PointlistOverlayBase(name) + PointlistOverlayBase(name), + pointlist_() { - build(); + build_(); Add(pl); } @@ -52,22 +54,22 @@ void PointlistOverlay::OnMenuEvent(QAction* e) } } -void PointlistOverlay::Add(const Point& pnt) +void PointlistOverlay::Add(const Point& pnt, double scale) { - pointlist_.push_back(pnt); + pointlist_.push_back(std::pair<Point,double>(pnt,scale)); } -void PointlistOverlay::Add(const PointList& pl) +void PointlistOverlay::Add(const PointList& pl, double scale) { for(PointList::const_iterator it=pl.begin();it!=pl.end();++it) { - Add(*it); + Add(*it,scale); } } void PointlistOverlay::Remove(const Point& pnt) { - for(PointList::iterator it=pointlist_.begin();it!=pointlist_.end();++it){ - if (*it==pnt) { + for(std::vector<std::pair<Point,double> >::iterator it=pointlist_.begin();it!=pointlist_.end();++it){ + if (it->first==pnt) { pointlist_.erase(it); } } @@ -80,13 +82,14 @@ void PointlistOverlay::Clear() void PointlistOverlay::OnDraw(QPainter& pnt, DataViewerPanel* dvp, bool is_active) { - std::vector<QPoint> qpointlist; - for(PointList::iterator it=pointlist_.begin();it!=pointlist_.end();++it){ - qpointlist.push_back(dvp->FracPointToWinCenter((*it).ToVec2())); + std::vector<std::pair<QPoint,double> > qpointlist; + for(std::vector<std::pair<Point,double> >::iterator it=pointlist_.begin();it!=pointlist_.end();++it){ + qpointlist.push_back(std::pair<QPoint,double> (dvp->FracPointToWinCenter((it->first).ToVec2()),it->second)); } - DrawPointList(pnt,dvp, is_active? active_color_ : passive_color_, - qpointlist); + DrawVariableSizePointList(pnt,dvp, + is_active? active_color_ : passive_color_, + qpointlist); } bool PointlistOverlay::OnMouseEvent(QMouseEvent* e, @@ -96,19 +99,20 @@ bool PointlistOverlay::OnMouseEvent(QMouseEvent* e, if(e->buttons()==Qt::LeftButton && e->modifiers()&Qt::ShiftModifier) { // toggle point at mouse position Point mpoint = dvp->WinToPoint(e->x(),e->y()); - PointList::iterator pos=find(pointlist_.begin(), - pointlist_.end(),mpoint); - if(pos!=pointlist_.end()) { - pointlist_.erase(pos); - } else { - pointlist_.push_back(mpoint); + for(std::vector<std::pair<Point,double> >::iterator it=pointlist_.begin();it!=pointlist_.end();++it){ + if (it->first==mpoint) { + pointlist_.erase(it); + return true; + } } + pointlist_.push_back(std::pair<Point,double>(mpoint,1.0)); return true; } return false; } -void PointlistOverlay::build() + +void PointlistOverlay::build_() { menu_->addSeparator(); a_clr_ = menu_->addAction("Clear"); diff --git a/modules/gui/src/data_viewer/pointlist_overlay.hh b/modules/gui/src/data_viewer/pointlist_overlay.hh index 1095f2191f448dc4d9ac5fa318d59719a817b292..bbec437c4e5665c054390e8feb648dd2e6fc70df 100644 --- a/modules/gui/src/data_viewer/pointlist_overlay.hh +++ b/modules/gui/src/data_viewer/pointlist_overlay.hh @@ -45,8 +45,8 @@ public: virtual bool OnMouseEvent(QMouseEvent* e, DataViewerPanel* dvp, const QPoint& lastmouse); - void Add(const Point& pnt); - void Add(const PointList& pl); + void Add(const Point& pnt, double scale=1.0); + void Add(const PointList& pl, double scale=1.0); //! remove all points on the given point void Remove(const Point& pnt); @@ -55,11 +55,11 @@ public: void Clear(); private: - PointList pointlist_; + std::vector<std::pair<Point,double> > pointlist_; QAction* a_clr_; - void build(); + void build_(); }; }}} //ns diff --git a/modules/gui/src/data_viewer/pointlist_overlay_base.cc b/modules/gui/src/data_viewer/pointlist_overlay_base.cc index fe76e291ef0614e15764766646ec78a67ff353f7..13392d28df7ab4d967f244e9b00a82f05146a925 100644 --- a/modules/gui/src/data_viewer/pointlist_overlay_base.cc +++ b/modules/gui/src/data_viewer/pointlist_overlay_base.cc @@ -21,6 +21,9 @@ /* Authors: Ansgar Philippsen, Andreas Schenk */ +#include "data_viewer_panel.hh" +#include "pointlist_overlay_base.hh" +#include "strategies.hh" #include <QActionGroup> #include <QGridLayout> @@ -33,9 +36,6 @@ #include <QIcon> #include <QColorDialog> -#include "data_viewer_panel.hh" -#include "pointlist_overlay_base.hh" -#include "strategies.hh" namespace ost { namespace img { namespace gui { @@ -197,30 +197,39 @@ void PointlistOverlayBase::DrawPointList(QPainter& pnt, DataViewerPanel* dvp, } strategy_->SetSymbolSize(static_cast<int>((GetSymbolSize()-0.5) * dvp->GetZoomScale())); } +void PointlistOverlayBase::DrawVariableSizePointList(QPainter& pnt, DataViewerPanel* dvp, + const QColor& color, + const std::vector<std::pair<QPoint,double> >& pointlist) +{ + strategy_->SetPenColor(color); + strategy_->SetSymbolStrength(symbolstrength_); + for(unsigned int i = 0; i < pointlist.size(); i++) { + strategy_->SetSymbolSize(static_cast<int>((GetSymbolSize()-0.5) * dvp->GetZoomScale()*pointlist[i].second)); + strategy_->Draw(pnt,pointlist[i].first); + } + strategy_->SetSymbolSize(static_cast<int>((GetSymbolSize()-0.5) * dvp->GetZoomScale())); +} bool PointlistOverlayBase::GetCrosshair() const { - //return menu_->IsChecked(ID_Crosshair); - return false; + return a_cr_->isChecked(); } void PointlistOverlayBase::SetCrosshair(bool flag) { - /* - if(menu_->IsChecked(ID_Crosshair)) { - if(menu_->IsChecked(ID_Square)){ + if(a_cr_->isChecked()) { + if(a_sq_->isChecked()){ ReplaceStrategy<CrosshairSquareDrawingStrategy>(); }else{ ReplaceStrategy<CrosshairCircleDrawingStrategy>(); } } else { - if(menu_->IsChecked(ID_Square)){ + if(a_sq_->isChecked()){ ReplaceStrategy<SquareDrawingStrategy>(); }else{ ReplaceStrategy<CircleDrawingStrategy>(); } } - */ } unsigned int PointlistOverlayBase::GetSymbolSize() const @@ -235,30 +244,28 @@ void PointlistOverlayBase::SetSymbolSize(unsigned int symbolsize) unsigned int PointlistOverlayBase::GetSymbolShape() const { - //return menu_->IsChecked(ID_Circle) ? 0 : 1; - return 0; + return a_sq_->isChecked() ? 1 : 0; } void PointlistOverlayBase::SetSymbolShape(unsigned int symbolshape) { - /* switch(symbolshape){ case 1: - if(menu_->IsChecked(ID_Crosshair)){ + if(a_cr_->isChecked()){ ReplaceStrategy<CrosshairSquareDrawingStrategy>(); }else{ ReplaceStrategy<SquareDrawingStrategy>(); } break; case 0: - if(menu_->IsChecked(ID_Crosshair)){ + if(a_cr_->isChecked()){ ReplaceStrategy<CrosshairCircleDrawingStrategy>(); }else{ ReplaceStrategy<CircleDrawingStrategy>(); } break; } - */ + } template <class StrategyClass> @@ -276,4 +283,14 @@ void PointlistOverlayBase::SetProps(PointlistOverlayBaseSettings* props) symbolstrength_=props->symbol_strength; } +void PointlistOverlayBase::SetActiveColor(const QColor& col) +{ + active_color_=col; +} + +void PointlistOverlayBase::SetPassiveColor(const QColor& col) +{ + passive_color_=col; +} + }}} //ns diff --git a/modules/gui/src/data_viewer/pointlist_overlay_base.hh b/modules/gui/src/data_viewer/pointlist_overlay_base.hh index 606c859a1dcc32b2ff17eb1d2836cd17ab621e53..3c0f709d837e068c08e9223a2b4b0a54215beb5c 100644 --- a/modules/gui/src/data_viewer/pointlist_overlay_base.hh +++ b/modules/gui/src/data_viewer/pointlist_overlay_base.hh @@ -26,13 +26,6 @@ #ifndef IMG_POINTLIST_OVERLAY_BASE_HH #define IMG_POINTLIST_OVERLAY_BASE_HH -#include <QColor> -#include <QAction> -#include <QDialog> -#include <QLineEdit> -#include <QColorDialog> -#include <QPushButton> -#include <QVBoxLayout> #include <ost/img/point.hh> @@ -43,6 +36,13 @@ #include "strategies_fw.hh" +#include <QColor> +#include <QAction> +#include <QDialog> +#include <QLineEdit> +#include <QColorDialog> +#include <QPushButton> +#include <QVBoxLayout> namespace ost { namespace img { namespace gui { @@ -85,6 +85,7 @@ public: // own virtual interface virtual void DrawPointList(QPainter& pnt, DataViewerPanel* dvp, const QColor& col ,const std::vector<QPoint>& pointlist); + virtual void DrawVariableSizePointList(QPainter& pnt, DataViewerPanel* dvp, const QColor& col ,const std::vector<std::pair<QPoint,double> >& pointlist); // unsigned int GetSymbolSize() const; @@ -93,6 +94,8 @@ public: void SetSymbolShape(unsigned int symbolshape); bool GetCrosshair() const; void SetCrosshair(bool flag); + void SetActiveColor(const QColor& col); + void SetPassiveColor(const QColor& col); private: template <class StrategyClass> diff --git a/modules/gui/src/data_viewer/strategies.hh b/modules/gui/src/data_viewer/strategies.hh index a6abb3d3866c843b53e0dfe5f658e8fe633d0f63..0989492c877aebc916016c919b43db3b540de640 100644 --- a/modules/gui/src/data_viewer/strategies.hh +++ b/modules/gui/src/data_viewer/strategies.hh @@ -25,16 +25,16 @@ #ifndef IMG_GUI_STRATEGIES_HH_ #define IMG_GUI_STRATEGIES_HH_ -#include <QPainter> -#include <QPoint> -#include <QColor> -#include <QPen> -#include <QBrush> #include <ost/geom/geom.hh> #include "strategies_fw.hh" +#include <QPainter> +#include <QPoint> +#include <QColor> +#include <QPen> +#include <QBrush> namespace ost { namespace img { namespace gui { diff --git a/modules/gui/src/dock_widget.hh b/modules/gui/src/dock_widget.hh index eefecd21db62df3116ca96d76141fad5a78ce051..6668b50aae12ddfc2b686e0bd6322c4c0fb3e218 100644 --- a/modules/gui/src/dock_widget.hh +++ b/modules/gui/src/dock_widget.hh @@ -25,10 +25,10 @@ #ifndef OST_GUI_DOCK_WIDGET_HH #define OST_GUI_DOCK_WIDGET_HH -#include <QDockWidget> #include <ost/gui/module_config.hh> +#include <QDockWidget> namespace ost { namespace gui { class DLLEXPORT_OST_GUI DockWidget: public QDockWidget diff --git a/modules/gui/src/entity_explorer/entity_explorer_model.hh b/modules/gui/src/entity_explorer/entity_explorer_model.hh index 51545794268157494efa0fa8154bb7881c32ef38..8071a7c8748887b2562aa333a80ab341cf806d60 100644 --- a/modules/gui/src/entity_explorer/entity_explorer_model.hh +++ b/modules/gui/src/entity_explorer/entity_explorer_model.hh @@ -24,11 +24,11 @@ #include <ost/gfx/scene_observer.hh> #include <ost/gfx/gfx_object.hh> +#include <ost/gui/module_config.hh> // Qt includes must come last #include <QAbstractItemModel> -#include <ost/gui/module_config.hh> namespace ost { namespace gui { diff --git a/modules/gui/src/file_browser.cc b/modules/gui/src/file_browser.cc index c854be414df655e39e187ae2fa8efd21988dc963..ca7092684382517d25fdc7128b215e05f147ee4f 100644 --- a/modules/gui/src/file_browser.cc +++ b/modules/gui/src/file_browser.cc @@ -16,13 +16,8 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QVBoxLayout> -#include <QDir> -#include <QHeaderView> -#include <QFileInfo> -#include <QMessageBox> -#include <QApplication> +#include <ost/gui/gosty_app.hh> #include <ost/platform.hh> #include <ost/config.hh> #include <ost/mol/mol.hh> @@ -34,10 +29,10 @@ #include <ost/gfx/entity.hh> #include <ost/gfx/scene.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/perspective.hh> -#include <ost/gui/panel_bar/panels.hh> +#include <ost/gui/panels/panel_manager.hh> #include <ost/gui/file_loader.hh> +#include <ost/gui/file_viewer.hh> #include <ost/gui/python_shell/python_interpreter.hh> @@ -50,48 +45,74 @@ #include "widget_registry.hh" #include "file_browser.hh" +#include <QCoreApplication> +#include <QCursor> +#include <QVBoxLayout> +#include <QDesktopServices> +#include <QDir> +#include <QFileInfo> +#include <QUrl> + namespace ost { namespace gui { FileBrowser::FileBrowser(QWidget* parent): - Widget(NULL, parent) + Widget(NULL, parent), + menu_(new QComboBox(this)), + model_(new QDirModel), + view_(new QListView(this)), + action_list_() { QString path=QDir::currentPath(); + QDir dir(QCoreApplication::applicationDirPath()); # if defined(_MSC_VER) - QDir dir(QCoreApplication::applicationDirPath()); dir.cdUp(); dir.cdUp(); path=dir.path(); - QString example_path=path+"/share/openstructure/examples/entity"; + QString example_path=path+"/share/openstructure/examples/"; if (QDir(example_path).exists()) { path=example_path; } # elif defined(__APPLE__) if (path.contains("DNG.app") || path=="/") { - QString example_path="/Applications/OpenStructure/Examples/entity"; + QString example_path="/Applications/OpenStructure/Examples/"; if (QDir(example_path).exists()) { path=example_path; - } + } else{ + dir.cdUp(); + example_path=dir.path()+"/examples"; + if (QDir(example_path).exists()) { + path=example_path; + } + } + } +# else + QString example_path=path+"/share/openstructure/examples/"; + if (QDir(example_path).exists()) { + path=example_path; } #endif this->Init(path); } FileBrowser::FileBrowser(const QString& path, QWidget* parent): - Widget(NULL, parent) + Widget(NULL, parent), + menu_(new QComboBox(this)), + model_(new QDirModel), + view_(new QListView(this)), + action_list_() { this->Init(path); } void FileBrowser::Init(const QString& path) { - model_=new QDirModel; model_->setSorting(QDir::Name|QDir::DirsFirst|QDir::IgnoreCase); - view_=new QListView(this); view_->setModel(model_); view_->setRootIndex(model_->index(path)); view_->setAttribute(Qt::WA_MacShowFocusRect, false); - menu_= new QComboBox(this); + view_->setContextMenuPolicy(Qt::CustomContextMenu); + connect(view_,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(ShowContextMenu(const QPoint&))); UpdateMenu(path); QVBoxLayout* l=new QVBoxLayout(this); @@ -137,13 +158,7 @@ bool FileBrowser::Restore(const QString& prefix) void FileBrowser::DoubleClicked(const QModelIndex& index) { - if(model_->isDir(index)){ - view_->setRootIndex(index); - UpdateMenu(model_->filePath(index)); - } - else{ - LoadObject(index); - } + LoadObject(index); } void FileBrowser::ChangeToParentDirectory(int index){ @@ -176,7 +191,7 @@ void FileBrowser::UpdateMenu(const QString& path){ } void FileBrowser::Split(){ - Panels* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); + PanelManager* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); QString current_path = model_->filePath(view_->rootIndex()); Widget* new_file_browser = new FileBrowser(current_path); panels->MoveNextTo(qobject_cast<Widget*>(this), new_file_browser); @@ -193,10 +208,15 @@ void FileBrowser::AddItem(const QDir& directory, const QString& mypath){ } void FileBrowser::LoadObject(const QModelIndex& index){ - gfx::GfxObjP obj; if (index.isValid()) { - QString file_name=model_->filePath(index); - FileLoader::LoadObject(file_name); + if(model_->isDir(index)){ + view_->setRootIndex(index); + UpdateMenu(model_->filePath(index)); + } + else{ + QString file_name=model_->filePath(index); + FileLoader::LoadObject(file_name); + } } } @@ -206,6 +226,55 @@ void FileBrowser::keyPressEvent(QKeyEvent* event){ } } +void FileBrowser::ShowContextMenu(const QPoint& pos){ + + QModelIndex index = view_->selectionModel()->currentIndex(); + QMenu* menu = new QMenu(this); + if(model_->isDir(index)){ + QAction* open_action = new QAction(menu); + open_action->setText("Open"); + connect(open_action,SIGNAL(triggered(bool)),this,SLOT(LoadCurrentObject())); + menu->addAction(open_action); + } + if(!model_->isDir(index)){ + QAction* load_action = new QAction(menu); + load_action->setText("Load"); + connect(load_action,SIGNAL(triggered(bool)),this,SLOT(LoadCurrentObject())); + menu->addAction(load_action); + QAction* system_open_action = new QAction(menu); + if(model_->filePath(index).endsWith(".py")){ + system_open_action->setText("Show source"); + connect(system_open_action,SIGNAL(triggered(bool)),this,SLOT(LoadWithSourceViewer())); + } + else{ + system_open_action->setText("Open with system default"); + connect(system_open_action,SIGNAL(triggered(bool)),this,SLOT(LoadWithSystemEditor())); + } + menu->addAction(system_open_action); + } + if(menu->actions().size()>0){ + menu->exec(QCursor::pos()); + } +} + +void FileBrowser::LoadCurrentObject(){ + QModelIndex index = view_->selectionModel()->currentIndex(); + this->LoadObject(index); +} + +void FileBrowser::LoadWithSystemEditor(){ + QModelIndex index = view_->selectionModel()->currentIndex(); + QString file_name=model_->filePath(index); + QDesktopServices::openUrl(QUrl::fromLocalFile(file_name)); +} + +void FileBrowser::LoadWithSourceViewer(){ + QModelIndex index = view_->selectionModel()->currentIndex(); + QString file_name=model_->filePath(index); + FileViewer* file_viewer = new FileViewer(file_name); + file_viewer->show(); +} + OST_REGISTER_WIDGET_WITH_DEFAULT_FACTORY(ost::gui, FileBrowser, "File Browser"); diff --git a/modules/gui/src/file_browser.hh b/modules/gui/src/file_browser.hh index 78ad1acf73a5453febeb092cc01c2a747ed1474c..902291746cb23d08703ec670b33eedd8a10f78aa 100644 --- a/modules/gui/src/file_browser.hh +++ b/modules/gui/src/file_browser.hh @@ -19,14 +19,14 @@ #ifndef OST_GUI_FILE_BROWSER_HH #define OST_GUI_FILE_BROWSER_HH -#include <QDirModel> -#include <QListView> -#include <QComboBox> #include <ost/gfx/gfx_object.hh> #include <ost/gui/module_config.hh> #include <ost/gui/widget.hh> +#include <QDirModel> +#include <QListView> +#include <QComboBox> namespace ost { namespace gui { @@ -51,6 +51,11 @@ private slots: void DoubleClicked(const QModelIndex& index); void ChangeToParentDirectory(int index); void Split(); + void ShowContextMenu(const QPoint& pos); + void LoadCurrentObject(); + void LoadWithSystemEditor(); + void LoadWithSourceViewer(); + private: void LoadObject(const QModelIndex& index); void UpdateMenu(const QString& path); diff --git a/modules/gui/src/file_loader.cc b/modules/gui/src/file_loader.cc index 258d0ac024421a439cbec541aadd42ac54cd0faf..a874742bce365399da8a5c89328fd2d19436a1e3 100644 --- a/modules/gui/src/file_loader.cc +++ b/modules/gui/src/file_loader.cc @@ -16,16 +16,9 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include "file_loader.hh" -#include <QDir> -#include <QAction> -#include <QMenu> -#include <QFileInfo> -#include <QMessageBox> -#include <QMenuBar> - - #include <ost/config.hh> #include <ost/mol/mol.hh> #include <ost/mol/surface.hh> @@ -38,15 +31,18 @@ #include <ost/conop/conop.hh> +#include <ost/seq/sequence_list.hh> +#include <ost/seq/alignment_handle.hh> +#include <ost/seq/invalid_sequence.hh> #include <ost/gfx/entity.hh> #include <ost/gfx/surface.hh> #include <ost/gfx/scene.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/perspective.hh> #include <ost/gui/python_shell/python_interpreter.hh> #include <ost/gui/main_area.hh> #include <ost/gui/file_type_dialog.hh> +#include <ost/gui/sequence_viewer/sequence_viewer.hh> #if OST_IMG_ENABLED #include <ost/io/img/load_map.hh> @@ -54,6 +50,12 @@ #include <ost/img/extent.hh> #endif +#include <QDir> +#include <QAction> +#include <QMenu> +#include <QFileInfo> +#include <QMessageBox> +#include <QMenuBar> namespace ost { namespace gui { LoaderManagerPtr FileLoader::loader_manager_ = LoaderManagerPtr(); @@ -88,11 +90,22 @@ void FileLoader::LoadObject(const QString& filename, const QString& selection) } } #endif + if (!obj) { + try{ + obj=FileLoader::TryLoadAlignment(filename); + } catch (io::IOFileAlreadyLoadedException&) { + return; + } + } if (!obj) { obj=FileLoader::TryLoadSurface(filename); } if (!obj) { - obj=FileLoader::NoHandlerFound(filename); + try{ + obj=FileLoader::NoHandlerFound(filename); + } catch (io::IOFileAlreadyLoadedException&) { + return; + } } if (!obj){ return; @@ -112,7 +125,7 @@ void FileLoader::AddToScene(const QString& filename, gfx::GfxObjP obj) gfx::Scene::Instance().SetCenter(obj->GetCenter()); } } - catch (Message m) { + catch (Error m) { FileLoader::HandleError(m, GFX_ADD, filename, obj); } } @@ -120,18 +133,26 @@ void FileLoader::AddToScene(const QString& filename, gfx::GfxObjP obj) gfx::GfxObjP FileLoader::NoHandlerFound(const QString& filename) { FileTypeDialog dialog(filename); - if(dialog.exec()){ - if(dialog.GetEntityHandler()){ - return TryLoadEntity(filename, dialog.GetEntityHandler()); - } - if(dialog.GetSurfaceHandler()){ - return TryLoadSurface(filename,dialog.GetSurfaceHandler()); - } -#if OST_IMG_ENABLED - if(dialog.GetMapHandler()){ - return TryLoadMap(filename,dialog.GetMapHandler()); + try{ + if(dialog.exec()){ + if(dialog.GetEntityHandler()){ + return TryLoadEntity(filename, dialog.GetEntityHandler()); + } + if(dialog.GetSequenceHandler()){ + return TryLoadAlignment(filename, dialog.GetSequenceHandler()); + } + if(dialog.GetSurfaceHandler()){ + return TryLoadSurface(filename,dialog.GetSurfaceHandler()); + } + #if OST_IMG_ENABLED + if(dialog.GetMapHandler()){ + return TryLoadMap(filename,dialog.GetMapHandler()); + } + #endif } -#endif + } + catch (io::IOException& e) { + FileLoader::HandleError(e,IO_LOADING,filename); } return gfx::GfxObjP(); } @@ -166,11 +187,11 @@ std::vector<String> FileLoader::GetSiteLoaderIdents() return loader_manager_->GetSiteLoaderIdents(); } -void FileLoader::HandleError(Message m, ErrorType type, const QString& filename, gfx::GfxObjP obj) +void FileLoader::HandleError(const Error& e, ErrorType type, const QString& filename, gfx::GfxObjP obj) { if(type==GFX_ADD || type==GFX_MULTIPLE_ADD){ QMessageBox message_box(QMessageBox::Warning, - "Error while adding Node to Scene", m._mesg.c_str()); + "Error while adding Node to Scene", e.what()); if(type==GFX_ADD){ message_box.setStandardButtons( QMessageBox::Yes | QMessageBox::Cancel); message_box.setButtonText(QMessageBox::Yes, "Reload"); @@ -189,7 +210,7 @@ void FileLoader::HandleError(Message m, ErrorType type, const QString& filename, } else if(type==IO_LOADING){ QMessageBox message_box(QMessageBox::Warning, - "Error while loading file", m._mesg.c_str()); + "Error while loading file", e.what()); message_box.setStandardButtons( QMessageBox::Yes | QMessageBox::Cancel); message_box.setButtonText(QMessageBox::Yes, "Chose format"); int value = message_box.exec(); @@ -199,6 +220,12 @@ void FileLoader::HandleError(Message m, ErrorType type, const QString& filename, break; } } + else if(type==INFO){ + QMessageBox message_box(QMessageBox::Information, + "Information", e.what()); + message_box.setStandardButtons( QMessageBox::Ok); + message_box.exec(); + } } gfx::GfxObjP FileLoader::TryLoadEntity(const QString& filename, io::EntityIOHandlerP handler, const QString& selection) @@ -296,16 +323,55 @@ gfx::GfxObjP FileLoader::TryLoadSurface(const QString& filename, io::SurfaceIOHa return gfx::GfxObjP(); } +gfx::GfxObjP FileLoader::TryLoadAlignment(const QString& filename, + io::SequenceIOHandlerPtr handler) +{ + if(!handler){ + try{ + handler = io::IOManager::Instance().FindAlignmentImportHandler(filename.toStdString(),"auto"); + } + catch(io::IOUnknownFormatException e){ + handler = io::SequenceIOHandlerPtr(); + } + } + if(handler){ + seq::SequenceList seq_list = seq::CreateSequenceList(); + try { + handler->Import(seq_list,filename.toStdString()); + } catch(io::IOException& e) { + LOG_ERROR(e.what()); + return gfx::GfxObjP(); + } + catch(seq::InvalidSequence& e) { + LOG_ERROR(e.what()); + return gfx::GfxObjP(); + } + seq::AlignmentHandle alignment = seq::AlignmentFromSequenceList(seq_list); + gui::MainArea* main_area = gui::GostyApp::Instance()->GetPerspective()->GetMainArea(); + SequenceViewer* viewer = new SequenceViewer(true,main_area); + viewer->AddAlignment(alignment); + main_area->AddWidget(filename,viewer); + throw io::IOFileAlreadyLoadedException("Loaded in DataViewer"); + } + return gfx::GfxObjP(); +} + void FileLoader::RunScript(const QString& filename) { PythonInterpreter& pi = PythonInterpreter::Instance(); //HackerMode On //The following code lines are just temporary //TODO create class or function which can load any kind of files and execute scripts + pi.RunCommand("_sys_argv_backup=sys.argv"); + pi.RunCommand("sys.argv=list()"); + pi.RunCommand("sys.argv.append('"+QFileInfo(filename).fileName()+"')"); pi.RunCommand("_dir=os.getcwd()"); pi.RunCommand("os.chdir('"+QFileInfo(filename).absolutePath()+"')"); pi.RunCommand("execfile('"+QFileInfo(filename).fileName()+"')"); pi.RunCommand("os.chdir(_dir)"); + pi.RunCommand("del(_dir)"); + pi.RunCommand("sys.argv=_sys_argv_backup"); + pi.RunCommand("del(_sys_argv_backup)"); //HackerMode Off } @@ -316,33 +382,38 @@ void FileLoader::LoadPDB(const QString& filename, const QString& selection) conop::BuilderP builder=conop::Conopology::Instance().GetBuilder("DEFAULT"); while (reader.HasNext()){ mol::EntityHandle ent=mol::CreateEntity(); - reader.Import(ent); + try { + reader.Import(ent); + } catch (io::IOException &e) { + LOG_ERROR(e.what()); + continue; + } conop::Conopology::Instance().ConnectAll(builder,ent,0); entities.append(ent); } - QFileInfo file_info(filename); - if(entities.size()==1){ + if(entities.empty()){ + FileLoader::HandleError(Error(QString("No entities found in file: "+ filename).toStdString()),INFO,filename); + }else if (entities.size()==1){ gfx::EntityP gfx_ent(new gfx::Entity(file_info.baseName().toStdString(),entities.first(),mol::Query(selection.toStdString()))); try{ gfx::Scene::Instance().Add(gfx_ent); } - catch (Message m) { - HandleError(m, GFX_ADD, filename, gfx_ent); + catch (Error e) { + HandleError(e, GFX_ADD, filename, gfx_ent); } if (gfx::Scene::Instance().GetRootNode()->GetChildCount()==1) { gfx::Scene::Instance().SetCenter(gfx_ent->GetCenter()); } - } - else{ - try{ + } else { + try { for(int i = 0 ; i<entities.size(); i++){ gfx::EntityP gfx_ent(new gfx::Entity(QString(file_info.baseName()+" ("+QString::number(i)+")").toStdString(),entities[i],mol::Query(selection.toStdString()))); gfx::Scene::Instance().Add(gfx_ent); } } - catch (Message m) { - FileLoader::HandleError(m,GFX_MULTIPLE_ADD,filename); + catch (Error e) { + FileLoader::HandleError(e,GFX_MULTIPLE_ADD,filename); } } } diff --git a/modules/gui/src/file_loader.hh b/modules/gui/src/file_loader.hh index 7dc110ab1a33ff8c49f65341471570fb5965be8b..c9f7fbc533b8493068d5168250443526fe03f565 100644 --- a/modules/gui/src/file_loader.hh +++ b/modules/gui/src/file_loader.hh @@ -20,9 +20,6 @@ #define OST_GUI_FILE_LOADER_HH #include <vector> -#include <QString> -#include <QList> -#include <QMap> #include <ost/gfx/gfx_object.hh> @@ -32,11 +29,15 @@ #include <ost/io/io_exception.hh> #include <ost/io/entity_io_handler.hh> +#include <ost/io/sequence_io_handler.hh> #include <ost/io/surface_io_handler.hh> #if OST_IMG_ENABLED #include <ost/io/map_io_handler.hh> #endif +#include <QString> +#include <QList> +#include <QMap> namespace ost { namespace gui { class DLLEXPORT_OST_GUI FileLoader { @@ -45,19 +46,21 @@ private: enum ErrorType { DEFAULT = 0, IO_LOADING, GFX_ADD, - GFX_MULTIPLE_ADD + GFX_MULTIPLE_ADD, + INFO }; FileLoader(); static gfx::GfxObjP TryLoadEntity(const QString& filename, io::EntityIOHandlerP handler=io::EntityIOHandlerP(), const QString& selection=QString()); static gfx::GfxObjP TryLoadSurface(const QString& filename, io::SurfaceIOHandlerPtr handler=io::SurfaceIOHandlerPtr()); + static gfx::GfxObjP TryLoadAlignment(const QString& filename, io::SequenceIOHandlerPtr handler=io::SequenceIOHandlerPtr()); #if OST_IMG_ENABLED static gfx::GfxObjP TryLoadMap(const QString& filename, io::MapIOHandlerPtr handler=io::MapIOHandlerPtr()); #endif static void RunScript(const QString& filename); static void LoadPDB(const QString& filename, const QString& selection=QString()); static void AddToScene(const QString& filename, gfx::GfxObjP obj); - static void HandleError(Message m, ErrorType type, const QString& filename, gfx::GfxObjP obj=gfx::GfxObjP()); + static void HandleError(const Error& e, ErrorType type, const QString& filename, gfx::GfxObjP obj=gfx::GfxObjP()); static gfx::GfxObjP NoHandlerFound(const QString& filename); virtual ~FileLoader(); diff --git a/modules/gui/src/file_type_dialog.cc b/modules/gui/src/file_type_dialog.cc index cba2cba951411a1347fc962bda008fae828dbccf..caf11bc83b38de6232557828feb57da9cd1e93cb 100644 --- a/modules/gui/src/file_type_dialog.cc +++ b/modules/gui/src/file_type_dialog.cc @@ -18,29 +18,34 @@ //------------------------------------------------------------------------------ #include "file_type_dialog.hh" + +#include <ost/io/io_manager.hh> +#include <ost/io/io_exception.hh> + #include <QPushButton> #include <QVBoxLayout> #include <QHBoxLayout> #include <QTableWidgetItem> #include <QHeaderView> - -#include <ost/io/io_manager.hh> -#include <ost/io/io_exception.hh> - namespace ost { namespace gui { FileTypeDialog::FileTypeDialog(const QString& file_name, QWidget* parent): - QDialog(parent),entity_handler_(), surf_handler_() + QDialog(parent),entity_handler_(),seq_handler_(), surf_handler_() #if OST_IMG_ENABLED ,map_handler_() #endif { this->setWindowTitle("File format not recognized"); + this->setFixedSize(QSize(400, 300)); QVBoxLayout* vb=new QVBoxLayout(this); - label_ = new QLabel("The file format could not be recognized, please select the type of the file from the list:"); + label_ = new QLabel("The file format could not be recognized, " + "please select the type of the file from the list:"); + label_->setWordWrap(true); list_ = new QTableWidget(this); + list_->setShowGrid(false); list_->horizontalHeader()->setStretchLastSection(true); list_->setColumnCount(2); + list_->setAttribute(Qt::WA_MacSmallSize); list_->verticalHeader()->setVisible(false); list_->horizontalHeader()->setVisible(false); list_->setSelectionBehavior(QAbstractItemView::SelectRows); @@ -66,6 +71,13 @@ FileTypeDialog::FileTypeDialog(const QString& file_name, QWidget* parent): this->AddRow(list_->rowCount(),entity_handler[i]->GetFormatName().c_str(),entity_handler[i]->GetFormatDescription().c_str(),handler); } + io::AlignmentIOFList alignment_handler = io::IOManager::Instance().GetAvailableAlignmentHandler(); + for(unsigned int i = 0 ; i < alignment_handler.size() ; i++){ + QVariant handler = QVariant(); + handler.setValue(alignment_handler[i]); + this->AddRow(list_->rowCount(),alignment_handler[i]->GetFormatName().c_str(),alignment_handler[i]->GetFormatDescription().c_str(),handler); + } + #if OST_IMG_ENABLED io::MapIOFList map_handler = io::IOManager::Instance().GetAvailableMapHandler(); for(unsigned int i = 0 ; i < map_handler.size() ; i++){ @@ -106,6 +118,11 @@ void FileTypeDialog::accept(){ entity_handler_ = ent_handler_fac->Create(); break; } + io::SequenceIOHandlerFactoryBasePtr seq_handler_fac = variant.value<io::SequenceIOHandlerFactoryBasePtr>(); + if(seq_handler_fac){ + seq_handler_ = seq_handler_fac->Create(); + break; + } io::SurfaceIOHandlerFactoryBasePtr surf_handler_fac = variant.value<io::SurfaceIOHandlerFactoryBasePtr>(); if(surf_handler_fac){ surf_handler_ = surf_handler_fac->Create(); @@ -127,6 +144,9 @@ io::EntityIOHandlerP FileTypeDialog::GetEntityHandler(){ return entity_handler_; } +io::SequenceIOHandlerPtr FileTypeDialog::GetSequenceHandler(){ + return seq_handler_; +} io::SurfaceIOHandlerPtr FileTypeDialog::GetSurfaceHandler(){ return surf_handler_; diff --git a/modules/gui/src/file_type_dialog.hh b/modules/gui/src/file_type_dialog.hh index 3efee2c535739d0c2e068600a25cd5a9da49e388..2ce157556ddd2a9623b80417e9d2e48f1fc48d58 100644 --- a/modules/gui/src/file_type_dialog.hh +++ b/modules/gui/src/file_type_dialog.hh @@ -26,16 +26,18 @@ #include <ost/gui/module_config.hh> -#include <QDialog> -#include <QTableWidget> -#include <QLabel> #include <ost/io/entity_io_handler.hh> +#include <ost/io/sequence_io_handler.hh> #include <ost/io/surface_io_handler.hh> #if OST_IMG_ENABLED #include <ost/io/map_io_handler.hh> #endif +#include <QDialog> +#include <QTableWidget> +#include <QLabel> + namespace ost { namespace gui { /// \brief dialog to select a file type @@ -44,6 +46,7 @@ class DLLEXPORT_OST_GUI FileTypeDialog : public QDialog { public: FileTypeDialog(const QString& file_name, QWidget* parent=NULL); io::EntityIOHandlerP GetEntityHandler(); + io::SequenceIOHandlerPtr GetSequenceHandler(); io::SurfaceIOHandlerPtr GetSurfaceHandler(); #if OST_IMG_ENABLED io::MapIOHandlerPtr GetMapHandler(); @@ -59,6 +62,7 @@ private: QTableWidget* list_; QLabel* label_; io::EntityIOHandlerP entity_handler_; + io::SequenceIOHandlerPtr seq_handler_; io::SurfaceIOHandlerPtr surf_handler_; #if OST_IMG_ENABLED io::MapIOHandlerPtr map_handler_; @@ -69,6 +73,7 @@ private: }} Q_DECLARE_METATYPE(ost::io::EntityIOHandlerFactoryBaseP); +Q_DECLARE_METATYPE(ost::io::SequenceIOHandlerFactoryBasePtr); Q_DECLARE_METATYPE(ost::io::SurfaceIOHandlerFactoryBasePtr); #if OST_IMG_ENABLED Q_DECLARE_METATYPE(ost::io::MapIOHandlerFactoryBasePtr); diff --git a/modules/gui/src/change_process_name.cc b/modules/gui/src/file_viewer.cc similarity index 50% rename from modules/gui/src/change_process_name.cc rename to modules/gui/src/file_viewer.cc index 91a7c247a7b5f688d1a0e66e7e7711baa348635c..4d284702ecac7fda249237f7dfb3a5c00cdd6ebe 100644 --- a/modules/gui/src/change_process_name.cc +++ b/modules/gui/src/file_viewer.cc @@ -16,28 +16,41 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include "change_process_name.hh" -#if defined(__APPLE__) && 0 -#include <Foundation/Foundation.h> -#endif +#include <ost/gui/python_shell/python_syntax_highlighter.hh> -/* - Author: Marco Biasini - */ -namespace ost { namespace gui { - +#include "file_viewer.hh" +#include <QtGui> +namespace ost { namespace gui { -void ChangeProcessName(const char* proc_name) +FileViewer::FileViewer(const QString& path, QWidget* parent): + QWidget(parent) { - // commented out due to failure with scons. will be reenabled, when SCons is - // gone -#if defined(__APPLE__) && 0 - NSString* pname=[[NSString alloc] initWithCString:proc_name - encoding:NSASCIIStringEncoding]; - [[NSProcessInfo processInfo] setProcessName:pname]; -#endif + QLayout* layout = new QVBoxLayout(this); + layout->setContentsMargins(0,0,0,0); + text_viewer_ = new QTextEdit(this); + text_viewer_->setReadOnly(true); + + QFile file(path); + QTextDocument* doc = text_viewer_->document(); + highlighter_ = new PythonSyntaxHighlighter(doc); + if (file.open(QFile::ReadOnly | QFile::Text)) + text_viewer_->setText(file.readAll()); + if(doc->blockCount()>1 && path.endsWith(".py")){ + for(int i= 0; i< doc->lineCount();i++){ + QTextBlock block = doc->findBlockByLineNumber(i); + block.setUserState(BLOCKTYPE_CODE); + } + QTextBlock start = doc->findBlockByLineNumber(0); + QTextBlock end = doc->findBlockByLineNumber(doc->lineCount()-1); + doc->markContentsDirty(start.position(),end.position()+end.length()-1); + } + layout->addWidget(text_viewer_); + this->setWindowTitle(path); + this->resize(800, 800); + } }} + diff --git a/modules/gui/src/plot_viewer/plot_data_base.hh b/modules/gui/src/file_viewer.hh similarity index 72% rename from modules/gui/src/plot_viewer/plot_data_base.hh rename to modules/gui/src/file_viewer.hh index 587daf00411a8a946584203664d343080ff3b2c5..48f927a5cd3fb516b3e1fc95cd786a3a53dc87c9 100644 --- a/modules/gui/src/plot_viewer/plot_data_base.hh +++ b/modules/gui/src/file_viewer.hh @@ -16,28 +16,27 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOT_DATA_BASE_HH_ -#define PLOT_DATA_BASE_HH_ +#ifndef OST_GUI_FILE_VIEWER_HH +#define OST_GUI_FILE_VIEWER_HH -/* - Author: Andreas Schenk -*/ -#include <boost/shared_ptr.hpp> #include <ost/gui/module_config.hh> -namespace ost{namespace gui{ +#include <QMainWindow> +#include <QSyntaxHighlighter> +#include <QTextEdit> +namespace ost { namespace gui { -class DLLEXPORT_OST_GUI PlotDataBase -{ +/// \brief a simplistic file viewer +class DLLEXPORT_OST_GUI FileViewer : public QWidget { + Q_OBJECT public: - PlotDataBase(); - virtual ~PlotDataBase(); -protected: + FileViewer(const QString& path=QString(), QWidget* parent=NULL); + + QTextEdit* text_viewer_; + QSyntaxHighlighter* highlighter_; }; -typedef boost::shared_ptr<PlotDataBase> PlotDataBasePtr; +}} -}}//ns - -#endif /*PLOT_DATA_BASE_HH_*/ +#endif diff --git a/modules/gui/src/gl_canvas.cc b/modules/gui/src/gl_canvas.cc index d1bd25128092851ca528daaeb34bde8395ab1cda..eec0192e9506629550b08340c6d44f8de183eaf6 100644 --- a/modules/gui/src/gl_canvas.cc +++ b/modules/gui/src/gl_canvas.cc @@ -20,26 +20,26 @@ #include <sys/time.h> #endif +#include <ost/gui/python_shell/python_interpreter.hh> #include "gl_canvas.hh" #include "gl_win.hh" #include <ost/log.hh> #include <ost/dyn_cast.hh> #include <ost/mol/view_op.hh> -#include <ost/gfx/scene.hh> -#include <ost/gfx/entity.hh> #include <ost/seq/alignment_handle.hh> -#include <ost/gui/python_shell/python_interpreter.hh> -#include "tools/tool_manager.hh" +#include <ost/gfx/scene.hh> +#include <ost/gfx/entity.hh> #include <QTimer> #include <QStatusBar> #include <QApplication> #include <QClipboard> #include <QMenu> +#include "tools/tool_manager.hh" namespace ost { namespace gui { @@ -96,15 +96,15 @@ void GLCanvas::initializeGL() init=true; } - LOG_DEBUG("GLCanvas::initializeGL()"<<std::endl); + LOG_DEBUG("GLCanvas::initializeGL()"); Scene::Instance().InitGL(); - LOG_DEBUG("GLCanvas::registering with scene"<<std::endl); + LOG_DEBUG("GLCanvas::registering with scene"); Scene::Instance().Register(this); } void GLCanvas::resizeGL(int w, int h) { - LOG_DUMP("GLCanvas::resizeGL("<<w<<","<<h<<")"<<std::endl); + LOG_DEBUG("GLCanvas::resizeGL("<<w<<","<<h<<")"); Scene::Instance().Resize(w,h); } @@ -437,7 +437,7 @@ void GLCanvas::timerEvent(QTimerEvent * event) if(count==20) { count=0; gettimeofday(&time1,NULL); - LOGN_ERROR(20.0/delta_time(time0,time1) << " fps"); + LOG_ERROR(20.0/delta_time(time0,time1) << " fps"); gettimeofday(&time0,NULL); } } diff --git a/modules/gui/src/gl_canvas.hh b/modules/gui/src/gl_canvas.hh index e20c3c5ce97bdca8040bbcc9d9fe9496040e0bf3..884588463fe49b9f5bd8346c29a8bcd871409178 100644 --- a/modules/gui/src/gl_canvas.hh +++ b/modules/gui/src/gl_canvas.hh @@ -19,21 +19,21 @@ #ifndef OST_GUI_GL_CANVAS_HH #define OST_GUI_GL_CANVAS_HH -#include <ost/gfx/glwin_base.hh> -#include <ost/gfx/input.hh> // must come before QGLWidget #include <ost/mol/mol.hh> -#include <ost/gfx/gfx_object_fw.hh> -#include <ost/gui/tools/tool.hh> -#include <ost/gui/scene_menu.hh> // Qt includes must come last #include <QGLWidget> #include <QTime> #include <QBasicTimer> #include <QMouseEvent> +#include <ost/gui/tools/tool.hh> +#include <ost/gui/scene_menu.hh> +#include <ost/gfx/glwin_base.hh> +#include <ost/gfx/input.hh> +#include <ost/gfx/gfx_object_fw.hh> class QMenu; diff --git a/modules/gui/src/gl_win.cc b/modules/gui/src/gl_win.cc index d0ea7f00db3261b3311feda4c08a23ab0c08ad7c..56434e4bcf407f0ab6f4241c349b3da90932302f 100644 --- a/modules/gui/src/gl_win.cc +++ b/modules/gui/src/gl_win.cc @@ -16,6 +16,7 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include <ost/log.hh> #include <ost/config.hh> #include <ost/gfx/scene.hh> @@ -25,7 +26,6 @@ #include <ost/gui/tools/selection_tool.hh> #include <ost/gui/tools/manipulator.hh> #include <ost/gui/tools/measure_tool.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/perspective.hh> #if OST_IMG_ENABLED @@ -90,6 +90,7 @@ gl_canvas_(NULL) this->SetInternalWidget(main); gfx::Scene::Instance().AttachObserver(this); QGLFormat format = gl_canvas_->format(); + LOGN_DEBUG("GLCanvas: rbits=" << format.redBufferSize() << " gbits=" << format.greenBufferSize() << " bbits=" << format.blueBufferSize() diff --git a/modules/gui/src/gl_win.hh b/modules/gui/src/gl_win.hh index 08cecfcad2c3c3162d80c4cec561fa485ab6d580..a693ef1d924033737ff52bb119419df22299c1d1 100644 --- a/modules/gui/src/gl_win.hh +++ b/modules/gui/src/gl_win.hh @@ -19,11 +19,6 @@ #ifndef OST_GUI_GL_WIN_HH #define OST_GUI_GL_WIN_HH -#include <QMainWindow> -#include <QAction> - -#include <QActionGroup> -#include <QStatusBar> #include <ost/gfx/scene_observer.hh> @@ -34,6 +29,12 @@ #include <ost/gui/tools/tool.hh> #include <ost/gui/tools/tool_bar.hh> +#include <QMainWindow> +#include <QAction> + +#include <QActionGroup> +#include <QStatusBar> + /* Authors: Ansgar Philippsen, Marco Biasini */ diff --git a/modules/gui/src/gosty.cc b/modules/gui/src/gosty.cc index 6f5ceaa55b0b25dedf58315ad3a5f1c25dd9755d..2f50d596be7b73ae354f8bbf693f68c24599eacd 100644 --- a/modules/gui/src/gosty.cc +++ b/modules/gui/src/gosty.cc @@ -23,21 +23,22 @@ #include <sstream> #include <ctime> -#include <QDir> -#include <QTimer> #include <ost/gui/module_config.hh> #include <ost/log.hh> #include <ost/platform.hh> +#include <ost/gui/python_shell/text_logger.hh> #include <ost/gui/python_shell/python_shell.hh> #include <ost/gui/python_shell/python_interpreter.hh> #include "gl_win.hh" #include "widget_state_saver.hh" #include "gosty.hh" -#include "change_process_name.hh" + // must come last #include <QApplication> #include <QResource> #include <QFileInfo> +#include <QDir> +#include <QTimer> using namespace ost; using namespace ost::gui; @@ -52,7 +53,7 @@ DelayedScriptExecutor::DelayedScriptExecutor() void DelayedScriptExecutor::Exec() { PythonInterpreter& interp=PythonInterpreter::Instance(); - interp.ExecRelease(); + interp.Start(); } }}} @@ -109,7 +110,7 @@ int setup_resources(QApplication& app) { QResource qr(":/images"); if(!qr.isValid()) { - LOGN_ERROR("no valid /image Qt resource found"); + LOG_ERROR("no valid /image Qt resource found"); return -1; } int sizes[]={512,256,128,32,16, 0}; @@ -124,12 +125,23 @@ int setup_resources(QApplication& app) return 0; } + +void read_logger_settings(const QString& group_name, TextLogger* logger) +{ + QSettings settings; + settings.beginGroup("logging"); + settings.beginGroup(group_name); + logger->SetCodeLogging(settings.value("log_code",QVariant(false)).toBool()); + logger->SetOutputLogging(settings.value("log_output",QVariant(true)).toBool()); + logger->SetErrorLogging(settings.value("log_error",QVariant(true)).toBool()); + settings.endGroup(); + settings.endGroup(); +} + int init_python_interpreter() { // the order of these two calls is important! - PythonInterpreter::Instance(true); - // following command would instanciate a multithreaded python interpreter. - // Untested, use at your own risk!! PythonInterpreter::Instance(true,true); + PythonInterpreter::Instance(); reclaim_signals(); // PythonInterpreter& py=PythonInterpreter::Instance(); @@ -138,8 +150,23 @@ int init_python_interpreter() if(root == "") { return -1; } + // setup python shell logging + TextLogger* console_logger=new TextLogger(stdout); + read_logger_settings("console", console_logger); + if (console_logger->GetErrorLogging()) { + QObject::connect(&PythonInterpreter::Instance(), + SIGNAL(ErrorOutput(unsigned int, const QString &)), + console_logger, + SLOT(AppendOutput(unsigned int, const QString &))); + } + if (console_logger->GetOutputLogging()) { + QObject::connect(&PythonInterpreter::Instance(), + SIGNAL(Output(unsigned int, const QString &)), + console_logger, + SLOT(AppendOutput(unsigned int, const QString &))); + } setup_python_search_path(root, py); - py.RunCommand("from ost import *"); + py.RunCommand("from ost import *"); return 0; } @@ -162,6 +189,7 @@ int main(int argc, char** argv) QCoreApplication::setOrganizationName("OpenStructure"); QCoreApplication::setOrganizationDomain("openstructure.org"); QCoreApplication::setApplicationName(argv[0]); + app.setLibraryPaths(QStringList()); if (int rv=setup_resources(app)<0) { return rv; } @@ -169,11 +197,10 @@ int main(int argc, char** argv) return r; } PythonInterpreter& py_int=PythonInterpreter::Instance(); - py_int.ExecWait(); - py_int.RunInitRC(); + // todo remove RunInitRC and replace with general call to run script (with dngrc as argument) + //py_int.RunInitRC(); + prepare_scripts(argc,argv,py_int); // delay all execution of python scripts after app.exec() has been called. ost::gui::detail::DelayedScriptExecutor delayed_executor; - - prepare_scripts(argc,argv,py_int); return app.exec(); } diff --git a/modules/gui/src/gosty.hh b/modules/gui/src/gosty.hh index 6f2b6bd56ee082c353852eb6fe7a191f6d9c488c..fe1d881f9a1cba9c0cd07e87f7b4b144d6c1801b 100644 --- a/modules/gui/src/gosty.hh +++ b/modules/gui/src/gosty.hh @@ -19,10 +19,10 @@ #ifndef OST_GUI_GOSTY_HH #define OST_GUI_GOSTY_HH -#include <QObject> #include <ost/gui/module_config.hh> +#include <QObject> namespace ost { namespace gui { namespace detail { /// \brief helper class for delayed script execution diff --git a/modules/gui/src/gosty_app.cc b/modules/gui/src/gosty_app.cc index 08df5bcba68d4d142f6476c335c793b56535ab15..663c4f4e30b3d6e873e3db92dceca950ea64c4af 100644 --- a/modules/gui/src/gosty_app.cc +++ b/modules/gui/src/gosty_app.cc @@ -16,24 +16,22 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include "gosty_app.hh" #include <iostream> -#include <QApplication> -#include <QMainWindow> -#include <QMenuBar> -#include <QDesktopWidget> - -#include <ost/gui/mdi_sub_window.hh> #include <ost/gui/python_shell/python_shell.hh> #include <ost/gui/gl_win.hh> #include <ost/gui/tools/tool_options_win.hh> -#include <ost/gui/python_shell/text_logger.hh> #include <ost/gui/perspective.hh> #include <ost/gui/main_area.hh> -#include "gosty_app.hh" +#include <QApplication> +#include <QMainWindow> + +#include <QMenuBar> +#include <QDesktopWidget> /* Author: Marco Biasini, Andreas Schenk, Stefan Scheuber */ @@ -45,11 +43,9 @@ GostyApp* GostyApp::app_=NULL; GostyApp::GostyApp(): - py_shell_(NULL), w_py_shell_(NULL), gl_win_(NULL), w_gl_win_(NULL), - scene_win_(NULL), w_scene_win_(NULL), seq_viewer_(NULL), seq_viewer_v2_(NULL), tool_options_win_(NULL), - w_tool_options_(NULL), main_(new GostyMainWindow), - perspective_(NULL), external_widgets_(QMap<QString,WidgetGeomHandler *>()), - try_stereo_(false) + py_shell_(NULL), gl_win_(NULL), scene_win_(NULL), message_widget_(NULL), seq_viewer_(NULL), + tool_options_win_(NULL), main_(new GostyMainWindow), + perspective_(NULL), external_widgets_(QMap<QString,WidgetGeomHandler *>()) { assert(GostyApp::app_==NULL); GostyApp::app_=this; @@ -99,54 +95,24 @@ SceneWin* GostyApp::GetSceneWin() SequenceViewer* GostyApp::GetSequenceViewer() { if (seq_viewer_==NULL) { - seq_viewer_=new SequenceViewer; - seq_viewer_->SetDestroyOnClose(false); + seq_viewer_=new SequenceViewer(false); + seq_viewer_->SetDestroyOnClose(false); } return seq_viewer_; } -SequenceViewerV2* GostyApp::GetSequenceViewerV2() -{ - if (seq_viewer_v2_==NULL) { - seq_viewer_v2_=new SequenceViewerV2; - seq_viewer_v2_->SetDestroyOnClose(false); - } - return seq_viewer_v2_; -} - #if OST_IMG_ENABLED ost::img::gui::DataViewer* GostyApp::CreateDataViewer(const ost::img::Data& d, const QString& name) { return new ost::img::gui::DataViewer(main_,d,name); } #endif - -void GostyApp::ReadLoggerSettings(const QString& group_name, TextLogger* logger) -{ - QSettings settings; - settings.beginGroup("logging"); - settings.beginGroup(group_name); - logger->SetCodeLogging(settings.value("log_code",QVariant(false)).toBool()); - logger->SetOutputLogging(settings.value("log_output",QVariant(true)).toBool()); - logger->SetErrorLogging(settings.value("log_error",QVariant(true)).toBool()); - settings.endGroup(); - settings.endGroup(); -} -void GostyApp::SetupPyShellLogging() -{ - TextLogger* console_logger=new TextLogger(stdout); - this->ReadLoggerSettings("console", console_logger); - py_shell_->AddLogger(console_logger); - // TODO: Setup file logging -} - PythonShell* GostyApp::GetPyShell() { if (py_shell_==NULL) { py_shell_=new PythonShell; - this->SetupPyShellLogging(); - py_shell_->SetDestroyOnClose(false); + py_shell_->SetDestroyOnClose(false); } return py_shell_; } @@ -173,6 +139,14 @@ Perspective* GostyApp::GetPerspective() return perspective_; } +MessageWidget* GostyApp::GetMessageWidget() +{ + if (message_widget_==NULL) { + message_widget_=new MessageWidget; + } + return message_widget_; +} + void GostyApp::AddWidgetToApp(const QString& ident, QWidget* widget) { external_widgets_[ident] = new WidgetGeomHandler(ident,widget); diff --git a/modules/gui/src/gosty_app.hh b/modules/gui/src/gosty_app.hh index 2ed5e693fa53845436ad445064b6c5bacf1eb2eb..45e4080b1bd5acb21c0b86694e6fb10329592c05 100644 --- a/modules/gui/src/gosty_app.hh +++ b/modules/gui/src/gosty_app.hh @@ -23,21 +23,24 @@ Author: Marco Biasini, Andreas Schenk */ -#include <QObject> -#include <QString> -#include <QMap> #include <ost/config.hh> #include <ost/gui/module_config.hh> -#include <ost/gui/scene_win/scene_win.hh> -#include <ost/gui/sequence_viewer/sequence_viewer.hh> -#include <ost/gui/sequence/sequence_viewer.hh> #include <ost/gui/main.hh> #include <ost/gui/widget_geom_handler.hh> +#include <ost/gui/scene_win/scene_win.hh> +#include <ost/gui/sequence_viewer/sequence_viewer.hh> +#include <ost/gui/messages/message_widget.hh> + #if OST_IMG_ENABLED #include <ost/gui/data_viewer/data_viewer.hh> #endif +#include <QObject> +#include <QString> +#include <QMap> + + class QMainWindow; class QMdiArea; class QWidget; @@ -89,7 +92,6 @@ public: /// The sequence viewer is initialized when this method is first called. All /// subsequent calls will return the same SequenceViewer instance. SequenceViewer* GetSequenceViewer(); - SequenceViewerV2* GetSequenceViewerV2(); /// \brief get tool options window /// @@ -97,6 +99,12 @@ public: /// All subsequent calls will return the same SceneWin instance. ToolOptionsWin* GetToolOptionsWin(); + /// \brief get message widget + /// + /// The MessageWidget is initialized when this method is first called. + /// All subsequent calls will return the same MessageWidget instance. + MessageWidget* GetMessageWidget(); + #if OST_IMG_ENABLED /// \brief create new DataViewer /// @@ -143,23 +151,18 @@ public slots: /// \brief This slot must be called when the application is going to be terminated. void OnQuit(); private: - void SetupPyShellLogging(); - void ReadLoggerSettings(const QString& group_name, TextLogger* logger); GostyApp(); PythonShell* py_shell_; - QWidget* w_py_shell_; GLWin* gl_win_; - QWidget* w_gl_win_; SceneWin* scene_win_; - QWidget* w_scene_win_; - SequenceViewer* seq_viewer_; - SequenceViewerV2* seq_viewer_v2_; + MessageWidget* message_widget_; + + SequenceViewer* seq_viewer_; ToolOptionsWin* tool_options_win_; - QWidget* w_tool_options_; GostyMainWindow* main_; Perspective* perspective_; diff --git a/modules/gui/src/input/spnav_input.hh b/modules/gui/src/input/spnav_input.hh index 776fd5de425179ab59bb39c9fa144ae12bee4b81..557934967aba609e1f8f86f76315e770486d9b2c 100644 --- a/modules/gui/src/input/spnav_input.hh +++ b/modules/gui/src/input/spnav_input.hh @@ -23,12 +23,12 @@ #ifndef OST_GUI_SPNAV_INPUT_HH #define OST_GUI_SPNAV_INPUT_HH -#include <QThread> -#include <QMetaType> #include <ost/geom/geom.hh> #include <ost/gui/module_config.hh> +#include <QThread> +#include <QMetaType> Q_DECLARE_METATYPE(geom::Mat4); namespace ost { namespace gui { diff --git a/modules/gui/src/loader_manager.cc b/modules/gui/src/loader_manager.cc index f9e83c7599a53b825a7b13eedfeecaa57fcbeb5a..30a80a7a8940fac7789f1da29f1ab520ac93e58d 100644 --- a/modules/gui/src/loader_manager.cc +++ b/modules/gui/src/loader_manager.cc @@ -16,7 +16,10 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include "loader_manager.hh" + +#include <ost/gui/perspective.hh> #include <QDir> #include <QAction> #include <QMenu> @@ -24,9 +27,6 @@ #include <QMessageBox> #include <QMenuBar> -#include <ost/gui/gosty_app.hh> -#include <ost/gui/perspective.hh> - namespace ost { namespace gui { @@ -99,6 +99,19 @@ QMenu* LoaderManager::GetSiteMenu(){ return site_menu_; } +RemoteSiteLoader* LoaderManager::GetDefaultRemoteSiteLoader() +{ + return GetRemoteSiteLoader(GetDefaultRemoteSiteIdent()); +} + +QString LoaderManager::GetDefaultRemoteSiteIdent(){ + return default_site_; +} + +void LoaderManager::SetDefaultRemoteSiteIdent(const QString& ident){ + default_site_ = ident; +} + LoaderManager::~LoaderManager(){} } } diff --git a/modules/gui/src/loader_manager.hh b/modules/gui/src/loader_manager.hh index a952b586b31ea951073820e849eb06f405850a63..12c5c59f29e3846312fca598749850d663946cf0 100644 --- a/modules/gui/src/loader_manager.hh +++ b/modules/gui/src/loader_manager.hh @@ -34,7 +34,7 @@ class DLLEXPORT_OST_GUI LoaderManager { QMap<QString,RemoteSiteLoader*> site_loaders_; QActionGroup* site_actions_; QMenu* site_menu_; - + QString default_site_; public: LoaderManager(); @@ -44,6 +44,9 @@ public: void RemoveRemoteSiteLoader(const QString& ident); RemoteSiteLoader* GetRemoteSiteLoader(const QString& ident); RemoteSiteLoader* GetCurrentSiteLoader(); + RemoteSiteLoader* GetDefaultRemoteSiteLoader(); + QString GetDefaultRemoteSiteIdent(); + void SetDefaultRemoteSiteIdent(const QString& ident); QMenu* GetSiteMenu(); }; diff --git a/modules/gui/src/main.cc b/modules/gui/src/main.cc index 9836c6e9057805a340c8559ee51183e08232581d..ba2dc6f3cd19a3892e044629149a301d03ab63fe 100644 --- a/modules/gui/src/main.cc +++ b/modules/gui/src/main.cc @@ -16,10 +16,21 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include "main.hh" #include <sstream> + +#include <ost/log.hh> +#include <ost/gui/python_shell/python_shell.hh> +#include <ost/gui/file_loader.hh> + +#include "gl_win.hh" +//#include "entity_explorer/entity_explorer.hh" +#include "tools/tool_options_win.hh" + + #include <QApplication> #include <QDesktopWidget> #include <QAction> @@ -34,21 +45,6 @@ #include <QDragEnterEvent> #include <QList> #include <QUrl> - -#include <ost/log.hh> -#include <ost/gui/python_shell/python_shell.hh> -#include <ost/gui/gosty_app.hh> -#include <ost/gui/file_loader.hh> - -#include "gl_win.hh" -//#include "entity_explorer/entity_explorer.hh" -#include "mdi_sub_window.hh" -#include "sequence_viewer/sequence_viewer.hh" -#include "tools/tool_options_win.hh" -#include "plot_viewer/plot_viewer_proxy.hh" -#include "plot_viewer/plot_viewer.hh" - - //#include "xpm/ost_small.xpm" namespace ost { namespace gui { diff --git a/modules/gui/src/main.hh b/modules/gui/src/main.hh index 8d718cfe43047f4c37fb1d55772fb505b5dc6a00..67f204518eaa7fe2066b821f4569d11e97b7e59b 100644 --- a/modules/gui/src/main.hh +++ b/modules/gui/src/main.hh @@ -27,7 +27,6 @@ #include "widget_state_saver.hh" -#include "plot_viewer/plot_viewer_proxy_fw.hh" // Qt headers must come last #include <QMainWindow> diff --git a/modules/gui/src/main_area.cc b/modules/gui/src/main_area.cc index 38717e46d800cc4b045ad11cae480be64a921f47..82ced876c696b2695f91ea01c5c0f54c0ff0cd3a 100644 --- a/modules/gui/src/main_area.cc +++ b/modules/gui/src/main_area.cc @@ -17,12 +17,12 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ #include <cassert> -#include <QMdiSubWindow> -#include <QSettings> #include <ost/gui/widget_geom_handler.hh> #include "main_area.hh" +#include <QMdiSubWindow> +#include <QSettings> /* Author: Marco Biasini */ diff --git a/modules/gui/src/main_area.hh b/modules/gui/src/main_area.hh index 9616340b065209748c984fd7543d98661e2e5966..535b7465d7336c492d5865ef2bac2d9bdeca9550 100644 --- a/modules/gui/src/main_area.hh +++ b/modules/gui/src/main_area.hh @@ -19,10 +19,10 @@ #ifndef OST_GUI_MAIN_AREA_HH #define OST_GUI_MAIN_AREA_HH -#include <QMdiArea> #include <ost/gui/module_config.hh> +#include <QMdiArea> /* Author: Marco Biasini */ diff --git a/modules/gui/src/main_window.hh b/modules/gui/src/main_window.hh index 3d34956b261168491e2c703ea46dfd610d9e173a..4f0796e29877454cc727573c805f6f9193b125e3 100644 --- a/modules/gui/src/main_window.hh +++ b/modules/gui/src/main_window.hh @@ -27,13 +27,13 @@ #include <map> -#include <QMainWindow> -#include <QMenu> #include <ost/base.hh> #include <ost/gui/module_config.hh> +#include <QMainWindow> +#include <QMenu> namespace ost { namespace gui { diff --git a/modules/gui/src/mdi_sub_window.cc b/modules/gui/src/mdi_sub_window.cc deleted file mode 100644 index d5934ae37f761d3f5fc809206c459b3411ce78a1..0000000000000000000000000000000000000000 --- a/modules/gui/src/mdi_sub_window.cc +++ /dev/null @@ -1,79 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "mdi_sub_window.hh" -/* - Author: Andreas Schenk - */ -namespace ost{namespace gui{ - -OstMdiSubWindow::OstMdiSubWindow(const QString& name,QPoint pos, QSize size, - bool visible, QWidget* parent, - Qt::WindowFlags flags): - OstMdiSubWindowBase(name,pos,size, visible, parent,flags) -{ -} -OstMdiSubWindow::OstMdiSubWindow(const QString& name, QWidget* parent, - Qt::WindowFlags flags): - OstMdiSubWindowBase(name,parent,flags) -{ -} - -OstMdiSubWindow::~OstMdiSubWindow() -{ -} - -void OstMdiSubWindow::closeEvent( QCloseEvent * event ) -{ - hide(); -} -void OstMdiSubWindow::setVisible(bool visible) -{ - OstMdiSubWindowBase::setVisible(visible); - emit OnSetVisible(visible); -} - - - -OstTopWindow::OstTopWindow(const QString& name,QPoint pos, QSize size, bool vis, - QWidget* parent ,Qt::WindowFlags flags): - OstTopWindowBase(name,pos,size,vis,parent,flags) -{ -} -OstTopWindow::OstTopWindow(const QString& name, QWidget* parent, - Qt::WindowFlags flags): - OstTopWindowBase(name,parent,flags) -{ -} - -OstTopWindow::~OstTopWindow() -{ -} - -void OstTopWindow::closeEvent( QCloseEvent * event ) -{ - hide(); -} - -void OstTopWindow::setVisible(bool visible) -{ - OstTopWindowBase::setVisible(visible); - emit OnSetVisible(visible); -} - -}}//ns diff --git a/modules/gui/src/mdi_sub_window.hh b/modules/gui/src/mdi_sub_window.hh deleted file mode 100644 index 82c2ed4c08475b2faec52fdfaae7bfec15468ca7..0000000000000000000000000000000000000000 --- a/modules/gui/src/mdi_sub_window.hh +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_MDI_SUB_WINDOW_HH_ -#define OST_MDI_SUB_WINDOW_HH_ - -/* - Author: Andreas Schenk - */ - -#include <QMdiSubWindow> -#include <QMainWindow> - -#include "widget_state_saver.hh" - -namespace ost{namespace gui{ - -typedef WidgetStateSaver<QMdiSubWindow,Qt::WindowFlags> OstMdiSubWindowBase; - -class OstMdiSubWindow: public OstMdiSubWindowBase -{ - Q_OBJECT; -public: - OstMdiSubWindow(const QString& name,QPoint pos, QSize size, bool visible, - QWidget* parent, Qt::WindowFlags flags); - OstMdiSubWindow(const QString& name, QWidget* parent, Qt::WindowFlags flags); - virtual ~OstMdiSubWindow(); -public slots: - virtual void setVisible(bool visible=true); -signals: - void OnSetVisible(bool visible); -protected: - virtual void closeEvent( QCloseEvent * event ); -}; - -typedef WidgetStateSaver<QMainWindow,Qt::WindowFlags> OstTopWindowBase; - -class OstTopWindow: public OstTopWindowBase -{ - Q_OBJECT; -public: - OstTopWindow(const QString& name,QPoint pos, QSize size, bool visible, - QWidget* parent, Qt::WindowFlags flags); - OstTopWindow(const QString& name, QWidget* parent ,Qt::WindowFlags flags); - virtual ~OstTopWindow(); -public slots: - virtual void setVisible(bool visible=true); -signals: - void OnSetVisible(bool visible); -protected: - virtual void closeEvent( QCloseEvent * event ); -}; - -}}//ns - -#endif /*OST_MDI_SUB_WINDOW_HH_*/ diff --git a/modules/gui/src/messages/log_reader.cc b/modules/gui/src/messages/log_reader.cc new file mode 100644 index 0000000000000000000000000000000000000000..f4089ee557d359d2d66f4f85ec86c1b8745842ca --- /dev/null +++ b/modules/gui/src/messages/log_reader.cc @@ -0,0 +1,79 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + Author: Stefan Scheuber + */ +#include <ost/log.hh> + +#include "message_widget.hh" +#include "log_reader.hh" + +namespace ost { namespace gui { + +LogReader::LogReader(QObject* parent) : + QObject(parent) { + ost::Logger& logger = ost::Logger::Instance(); + LogSinkPtr lsp = LogSinkPtr(this); + logger.PushSink(lsp); +} + +void LogReader::LogMessage(const String& message, int severity){ + if(this->parent()){ + if(MessageWidget* message_widget = qobject_cast<MessageWidget*>(this->parent())){ + QString q_message(message.c_str()); + if(q_message.endsWith("\n")){ + q_message.remove(q_message.size()-1,q_message.size()-1); + if(!log_cache_.contains(severity)){ + message_widget->LogMessage(q_message,GetIconForSeverity(severity)); + } + else{ + message_widget->LogMessage(log_cache_[severity]+q_message,GetIconForSeverity(severity)); + log_cache_.remove(severity); + } + } + else{ + if(!log_cache_.contains(severity)){ + log_cache_[severity] = message.c_str(); + } + else{ + log_cache_[severity].append(message.c_str()); + } + } + } + } +} + +QMessageBox::Icon LogReader::GetIconForSeverity(int severity){ + switch (severity) { + case 1: + return QMessageBox::Warning; + case 0: + return QMessageBox::Critical; + default : + return QMessageBox::Information; + } +} + +LogReader::~LogReader() { + ost::Logger& logger = ost::Logger::Instance(); + logger.PopSink(); +} + +} +} // ns diff --git a/modules/gui/src/plot_viewer/plot_function.hh b/modules/gui/src/messages/log_reader.hh similarity index 67% rename from modules/gui/src/plot_viewer/plot_function.hh rename to modules/gui/src/messages/log_reader.hh index c61e7e13504f95b270345e5683a1058262c5c701..e64565117f5c3758da5531935cef1e42057dc391 100644 --- a/modules/gui/src/plot_viewer/plot_function.hh +++ b/modules/gui/src/messages/log_reader.hh @@ -16,31 +16,37 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOT_FUNCTION_HH_ -#define PLOT_FUNCTION_HH_ +#ifndef OST_GUI_MESSAGES_LOG_READER_HH +#define OST_GUI_MESSAGES_LOG_READER_HH -/* - Author: Andreas Schenk -*/ -#include <boost/shared_ptr.hpp> +#include <ost/log_sink.hh> + #include <ost/gui/module_config.hh> -#include "plot_data_base.hh" -namespace ost{namespace gui{ +#include <QObject> +#include <QMap> +#include <QMessageBox> +/* + Author: Stefan Scheuber +*/ -class DLLEXPORT_OST_GUI PlotFunction: public PlotDataBase +namespace ost { namespace gui { + +class DLLEXPORT_OST_GUI LogReader: public QObject, public LogSink { + Q_OBJECT; public: - PlotFunction(); - virtual ~PlotFunction(); - virtual Real Func(Real val) const=0; -}; + LogReader(QObject* parent=NULL); + ~LogReader(); -typedef boost::shared_ptr<PlotFunction> PlotFunctionPtr; - -}}//ns + void LogMessage(const String& message, int severity); +private: + QMap<int, QString> log_cache_; + QMessageBox::Icon GetIconForSeverity(int severity); +}; +}} // ns -#endif /*PLOT_FUNCTION_HH_*/ +#endif diff --git a/modules/gui/src/messages/message_box_widget.cc b/modules/gui/src/messages/message_box_widget.cc new file mode 100644 index 0000000000000000000000000000000000000000..1be4b817c57fb7353ae094475993eb534721819e --- /dev/null +++ b/modules/gui/src/messages/message_box_widget.cc @@ -0,0 +1,109 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + Author: Stefan Scheuber + */ + +#include <ost/gui/gosty_app.hh> +#include <ost/platform.hh> + +#include <ost/gui/perspective.hh> +#include <ost/gui/widget_registry.hh> + +#include <ost/gui/panels/panel_manager.hh> + +#include "log_reader.hh" +#include "message_box_widget.hh" + +#include <QDir> +#include <QLabel> +#include <QMenu> +#include <QVBoxLayout> +namespace ost {namespace gui { + +MessageLevel::MessageLevel(QPixmap icon, QWidget* parent): QWidget(parent), message_count_(0), count_label_(new QLabel(QString::number(message_count_)+" ",this)){ + QHBoxLayout* layout = new QHBoxLayout(this); + layout->setMargin(0); + layout->setSpacing(0); + QLabel* icon_label = new QLabel(this); + icon_label->setFixedSize(20,20); + icon_label->setPixmap(icon.scaled(15,15, Qt::IgnoreAspectRatio, + Qt::SmoothTransformation)); + layout->addWidget(icon_label); + layout->addWidget(count_label_); +} + +void MessageLevel::SetMessageCount(int message_count){ + message_count_ = message_count; + count_label_->setText(QString::number(message_count_)+" "); +} + +int MessageLevel::GetMessageCount(){ + return message_count_; +} + + + +MessageBoxWidget::MessageBoxWidget(QWidget* parent) : + QWidget(parent) { + QHBoxLayout* layout = new QHBoxLayout(this); + layout->setMargin(0); + layout->setSpacing(0); + MessageWidget* message_widget = GostyApp::Instance()->GetMessageWidget(); + this->connect(message_widget,SIGNAL(MessageCountChanged(QMessageBox::Icon)),this,SLOT(Update(QMessageBox::Icon))); + this->connect(message_widget,SIGNAL(AllCleared()),this,SLOT(UpdateAll())); +} + +void MessageBoxWidget::Update(QMessageBox::Icon icon) { + MessageWidget* message_widget = GostyApp::Instance()->GetMessageWidget(); + int count = message_widget->GetMessagesCount(icon); + if(!level_map_.contains(icon)){ + level_map_[icon] = new MessageLevel(message_widget->GetIcon(icon,this),this); + this->layout()->addWidget(level_map_[icon]); + } + level_map_[icon]->SetMessageCount(count); + if(count > 0){ + level_map_[icon]->show(); + } + else{ + level_map_[icon]->hide(); + } +} + +void MessageBoxWidget::UpdateAll() { + QMapIterator<QMessageBox::Icon,MessageLevel*> i(level_map_); + while (i.hasNext()) { + i.next(); + this->Update(i.key()); + } +} + +void MessageBoxWidget::mouseDoubleClickEvent(QMouseEvent* event){ + MessageWidget* message_widget = GostyApp::Instance()->GetMessageWidget(); + PanelManager* manager = GostyApp::Instance()->GetPerspective()->GetPanels(); + if(message_widget->isHidden()){ + manager->MoveWidget(message_widget,RIGHT_PANEL,0); + } +} + +MessageBoxWidget::~MessageBoxWidget() { +} + +} +} // ns diff --git a/modules/gui/src/sequence/sequence_search_bar.hh b/modules/gui/src/messages/message_box_widget.hh similarity index 57% rename from modules/gui/src/sequence/sequence_search_bar.hh rename to modules/gui/src/messages/message_box_widget.hh index 865a42be22c30a828ba24285319f8f6d5bb592cc..5088397d05349f6b131622e5e6106bb8b3aa8c75 100644 --- a/modules/gui/src/sequence/sequence_search_bar.hh +++ b/modules/gui/src/messages/message_box_widget.hh @@ -16,44 +16,54 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_SEQUENCE_VIEWER_SEQUENCE_SEARCH_BAR_HH -#define OST_SEQUENCE_VIEWER_SEQUENCE_SEARCH_BAR_HH +#ifndef OST_GUI_MESSAGES_BOX_MESSAGE_WIDGET_HH +#define OST_GUI_MESSAGES_BOX_MESSAGE_WIDGET_HH + -/* - Author: Marco Biasini - */ #include <ost/gui/module_config.hh> -#include <ost/seq/alignment_handle.hh> + #include <QWidget> -#include <QComboBox> -#include <QCheckBox> -#include <QSet> +#include <QMap> +#include <QMessageBox> +/* + Author: Stefan Scheuber +*/ namespace ost { namespace gui { -/// \brief search bar to search in multiple sequence alignment -class DLLEXPORT_OST_GUI SeqSearchBar : public QWidget { - Q_OBJECT +class DLLEXPORT_OST_GUI MessageLevel: public QWidget +{ + Q_OBJECT; public: - SeqSearchBar(QWidget* parent=NULL); - - void UpdateItems(const QStringList& sequences); -signals: - void Changed(const QString&, bool, const QString&); + MessageLevel(QPixmap icon, QWidget* parent); + + void SetMessageCount(int message_count); + int GetMessageCount(); +private: + int message_count_; + QLabel* count_label_; +}; + +// a summarized version for the the Log Messages +class DLLEXPORT_OST_GUI MessageBoxWidget: public QWidget +{ + Q_OBJECT; +public: + MessageBoxWidget(QWidget* parent=NULL); + ~MessageBoxWidget(); + public slots: - void OnSubjectChanged(const QString&); - void OnSearchInChanged(int); - void OnSearchAllChanged(int); + void Update(QMessageBox::Icon icon); + void UpdateAll(); + protected: - virtual void paintEvent(QPaintEvent* paint_event); - virtual void keyPressEvent(QKeyEvent* key_event); + void mouseDoubleClickEvent(QMouseEvent* event); + private: - seq::AlignmentHandle ali_; - QLineEdit* subject_; - QCheckBox* search_all_; - QComboBox* search_in_; -}; - -}} + QMap<QMessageBox::Icon,MessageLevel*> level_map_; + +}; + +}} // ns #endif diff --git a/modules/gui/src/messages/message_widget.cc b/modules/gui/src/messages/message_widget.cc new file mode 100644 index 0000000000000000000000000000000000000000..8a87b06c789e9c6f1e9ccf229ab594465e523045 --- /dev/null +++ b/modules/gui/src/messages/message_widget.cc @@ -0,0 +1,229 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + Author: Stefan Scheuber + */ + +#include <ost/gui/gosty_app.hh> +#include <ost/platform.hh> + +#include <ost/gui/widget_registry.hh> + +#include "log_reader.hh" +#include "message_widget.hh" + +#include <QApplication> +#include <QDir> +#include <QMenu> +#include <QVBoxLayout> + +namespace ost {namespace gui { + +class MessageWidgetFactory: public WidgetFactory { +public: + MessageWidgetFactory() : + WidgetFactory("ost::gui::MessageWidget", "Messages") { + } + + virtual Widget* Create(QWidget* parent) { + return GostyApp::Instance()->GetMessageWidget(); + } +}; + +OST_REGISTER_WIDGET(MessageWidget, MessageWidgetFactory); + +MessageWidget::MessageWidget(QWidget* parent) : + Widget(NULL, parent), model_(new QStandardItemModel(this)), view_( + new QListView(this)) { + QVBoxLayout* layout = new QVBoxLayout(this); + layout->setMargin(0); + layout->setSpacing(0); + view_->setAttribute(Qt::WA_MacShowFocusRect, false); + view_->setAttribute(Qt::WA_MacSmallSize, true); + view_->setModel(model_); + view_->setSelectionBehavior(QAbstractItemView::SelectRows); + view_->setDragEnabled(true); + view_->setContextMenuPolicy(Qt::CustomContextMenu); + view_->setFrameShape(QFrame::NoFrame); + layout->addWidget(view_); + + connect(view_, SIGNAL(customContextMenuRequested(const QPoint&)), this, + SLOT(ContextMenuRequested(const QPoint&))); + + QDir icon_path(GetSharedDataPath().c_str()); + icon_path.cd("gui"); + icon_path.cd("icons"); + + QAction* clear_action = new QAction(this); + clear_action->setToolTip("Clear info panel"); + clear_action->setIcon(QIcon(icon_path.absolutePath() + QDir::separator() + + QString("delete_icon.png"))); + connect(clear_action, SIGNAL(triggered(bool)), this, SLOT(Clear())); + this->actions_.append(clear_action); + + new LogReader(this); +} + +void MessageWidget::Update() { + view_->viewport()->update(); +} + +void MessageWidget::LogMessage(const QString& message, QMessageBox::Icon icon) { + QPixmap pix_icon = this->GetIcon(icon, this); + QStandardItem* item = new QStandardItem(); + item->setData(QVariant(icon)); + item->setText(message); + item->setIcon(QIcon(pix_icon)); + item->setEditable(false); + this->model_->appendRow(item); + this->Increase(icon); +} + +void MessageWidget::LogMessage(QStandardItem* item) { + item->setData(QVariant(QMessageBox::NoIcon)); + this->model_->appendRow(item); + this->Increase(QMessageBox::NoIcon); +} + +void MessageWidget::LogMessage(const QString& message, QIcon icon) { + QStandardItem* item = new QStandardItem(); + item->setText(message); + item->setData(QVariant(QMessageBox::NoIcon)); + item->setIcon(icon); + item->setEditable(false); + this->model_->appendRow(item); + this->Increase(QMessageBox::NoIcon); +} + +void MessageWidget::Increase(QMessageBox::Icon icon){ + if(count_map_.contains(icon)){ + count_map_[icon] = count_map_[icon] + 1; + } + else{ + count_map_[icon] = 1; + } + emit MessageCountChanged(icon); +} + +void MessageWidget::Decrease(QMessageBox::Icon icon){ + if(count_map_.contains(icon)){ + if(count_map_[icon]>0){ + count_map_[icon] = count_map_[icon] - 1; + } + else{ + count_map_[icon] = 0; + } + } + emit MessageCountChanged(icon); +} + +QPixmap MessageWidget::GetIcon(QMessageBox::Icon icon, QWidget* widget) { + QDir icon_path(GetSharedDataPath().c_str()); + icon_path.cd("gui"); + icon_path.cd("icons"); + + QStyle *style = widget ? widget->style() : QApplication::style(); + int icon_size = style->pixelMetric(QStyle::PM_MessageBoxIconSize, 0, widget); + QIcon tmp_icon; +#if defined(__APPLE__) + switch (icon) { + case QMessageBox::Information: + tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("information_icon.png")); + break; + case QMessageBox::Warning: + tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("warning_icon.png")); + break; + case QMessageBox::Critical: + tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("critical_icon.png")); + break; + default: + break; + } +#else + switch (icon) { + case QMessageBox::Information: + tmp_icon = style->standardIcon(QStyle::SP_MessageBoxInformation, 0, widget); + break; + case QMessageBox::Warning: + tmp_icon = style->standardIcon(QStyle::SP_MessageBoxWarning, 0, widget); + break; + case QMessageBox::Critical: + tmp_icon = style->standardIcon(QStyle::SP_MessageBoxCritical, 0, widget); + break; + case QMessageBox::Question: + tmp_icon = style->standardIcon(QStyle::SP_MessageBoxQuestion, 0, widget); + default: + break; + } +#endif + if (!tmp_icon.isNull()) + return tmp_icon.pixmap(icon_size, icon_size); + return QPixmap(); +} + +void MessageWidget::Clear() { + this->model_->clear(); + this->count_map_.clear(); + emit AllCleared(); +} + +void MessageWidget::RemoveSelected() { + QItemSelectionModel* selection_model = this->view_->selectionModel(); + const QItemSelection& item_selection = selection_model->selection(); + const QModelIndexList& model_indexes = item_selection.indexes(); + for (int i = 0; i < model_indexes.size(); i++) { + int row = model_indexes[i].row(); + QMessageBox::Icon icon = QMessageBox::Icon(this->model_->item(row)->data().toInt()); + this->model_->removeRow(row); + this->Decrease(icon); + } +} + +ActionList MessageWidget::GetActions() { + return this->actions_; +} + +void MessageWidget::ContextMenuRequested(const QPoint& pos) { + QAction* remove_selected_action = new QAction("Remove", this); + remove_selected_action->setToolTip("Remove this item"); + connect(remove_selected_action, SIGNAL(triggered(bool)), this, + SLOT(RemoveSelected())); + + QMenu* menu = new QMenu(); + menu->addAction(remove_selected_action); + if (menu->actions().size() > 0) { + menu->popup(view_->viewport()->mapToGlobal(pos)); + } +} + +int MessageWidget::GetMessagesCount(QMessageBox::Icon icon) { + if(count_map_.contains(icon)){ + return count_map_[icon]; + } + return 0; +} + +int MessageWidget::GetTotalMessagesCount() { + return model_->rowCount(); +} + +MessageWidget::~MessageWidget() {} + +} +} // ns diff --git a/modules/gui/src/messages/message_widget.hh b/modules/gui/src/messages/message_widget.hh new file mode 100644 index 0000000000000000000000000000000000000000..f126e0929944089b8dc5832d809fd45f88ea446f --- /dev/null +++ b/modules/gui/src/messages/message_widget.hh @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +#ifndef OST_GUI_MESSAGES_MESSAGE_WIDGET_HH +#define OST_GUI_MESSAGES_MESSAGE_WIDGET_HH + + +#include <ost/gui/widget.hh> +#include <ost/gui/module_config.hh> + +#include <QListView> +#include <QMessageBox> +#include <QStandardItemModel> + +/* + Author: Stefan Scheuber +*/ + +namespace ost { namespace gui { + +// the display window for Log Messages +class DLLEXPORT_OST_GUI MessageWidget: public Widget +{ + Q_OBJECT; +public: + MessageWidget(QWidget* parent=NULL); + ~MessageWidget(); + +public: + virtual void LogMessage(const QString& message, QMessageBox::Icon icon=QMessageBox::Information); + virtual void LogMessage(QStandardItem* item); + virtual void LogMessage(const QString& message, QIcon icon); + + virtual int GetMessagesCount(QMessageBox::Icon icon=QMessageBox::NoIcon); + virtual int GetTotalMessagesCount(); + virtual bool Save(const QString& prefix) { return true; } + virtual bool Restore(const QString& prefix) { return true; } + + QPixmap GetIcon(QMessageBox::Icon icon, QWidget* widget); + + ActionList GetActions(); + +signals: + void MessageCountChanged(QMessageBox::Icon); + void AllCleared(); + +public slots: + void Clear(); + void RemoveSelected(); + void Update(); + +private slots: + void ContextMenuRequested(const QPoint& pos); + +private: + void Increase(QMessageBox::Icon icon); + void Decrease(QMessageBox::Icon icon); + + QStandardItemModel* model_; + QListView* view_; + + ActionList actions_; + QMap<int,int> count_map_; +}; + +}} // ns + +#endif diff --git a/modules/gui/src/panel_bar/tabbed_panel_bar.cc b/modules/gui/src/panel_bar/tabbed_panel_bar.cc deleted file mode 100644 index fdac9bccd934355b4d59f618e485c02e376a8480..0000000000000000000000000000000000000000 --- a/modules/gui/src/panel_bar/tabbed_panel_bar.cc +++ /dev/null @@ -1,84 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ - -#include <QSettings> - -#include <ost/gui/widget_registry.hh> - -#include "tabbed_panel_bar.hh" - -namespace ost { namespace gui { - -TabbedPanelBar::TabbedPanelBar(PanelBar* parent): - PanelWidgetContainer(parent) -{ - layout_ = new QHBoxLayout(this); - layout_->setMargin(0); - layout_->setSpacing(0); - tabWidget_ = new QTabWidget(this); - #if QT_VERSION>=0x40503 - tabWidget_->setDocumentMode(true); - #endif - layout_->addWidget(tabWidget_); -} - -bool TabbedPanelBar::Save(const QString& prefix) -{ - return true; -} - -bool TabbedPanelBar::Restore(const QString& prefix) -{ - return true; -} - -void TabbedPanelBar::WidgetMoved(Widget* widget, int index){ - QString class_name = widget->metaObject()->className(); - if(tabWidget_->indexOf(widget)>=0){ - tabWidget_->removeTab(tabWidget_->indexOf(widget)); - } - tabWidget_->insertTab(index,widget,WidgetRegistry::Instance()->GetFullName(class_name)); -} - -void TabbedPanelBar::ShowWidget(Widget* widget, int pos, bool show){ - if(tabWidget_->indexOf(widget)>=0){ - if(!show){ - tabWidget_->removeTab(tabWidget_->indexOf(widget)); - } - } - else{ - if(show){ - WidgetMoved(widget,pos); - } - } -} - -QString TabbedPanelBar::GetName(){ - return "Tabbed Mode"; -} - -TabbedPanelBar::~TabbedPanelBar(){ - //Do not destroy widgets - for(int i=0; i< tabWidget_->count();i++){ - tabWidget_->widget(i)->setParent(NULL); - } -} - -}} - diff --git a/modules/gui/src/panel_bar/bottom_bar.cc b/modules/gui/src/panels/bottom_bar.cc similarity index 100% rename from modules/gui/src/panel_bar/bottom_bar.cc rename to modules/gui/src/panels/bottom_bar.cc index e5bf3a423fc651d479c66fd0c7e4def320c353db..f3b643aec2a1db820220a8927c2183be901ad618 100644 --- a/modules/gui/src/panel_bar/bottom_bar.cc +++ b/modules/gui/src/panels/bottom_bar.cc @@ -17,13 +17,13 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QAction> #include "bottom_bar.hh" #include "splitter_panel_bar.hh" #include "tabbed_panel_bar.hh" +#include <QAction> namespace ost { namespace gui { BottomBar::BottomBar(QWidget* parent): diff --git a/modules/gui/src/panel_bar/bottom_bar.hh b/modules/gui/src/panels/bottom_bar.hh similarity index 100% rename from modules/gui/src/panel_bar/bottom_bar.hh rename to modules/gui/src/panels/bottom_bar.hh diff --git a/modules/gui/src/panel_bar/button_bar.cc b/modules/gui/src/panels/button_bar.cc similarity index 100% rename from modules/gui/src/panel_bar/button_bar.cc rename to modules/gui/src/panels/button_bar.cc diff --git a/modules/gui/src/panel_bar/button_bar.hh b/modules/gui/src/panels/button_bar.hh similarity index 100% rename from modules/gui/src/panel_bar/button_bar.hh rename to modules/gui/src/panels/button_bar.hh index 578769349be20124f66b77b3a7ba2ff2fdb93017..ab36d0570cef9b04d48e2130e1afcd9c338e9be5 100644 --- a/modules/gui/src/panel_bar/button_bar.hh +++ b/modules/gui/src/panels/button_bar.hh @@ -19,10 +19,6 @@ #ifndef OST_GUI_BOTTOM_BAR_BUTTON_BAR #define OST_GUI_BOTTOM_BAR_BUTTON_BAR -#include <QWidget> -#include <QString> -#include <QHBoxLayout> -#include <QList> #include <ost/gui/module_config.hh> #include <ost/gui/widget.hh> @@ -30,6 +26,10 @@ #include "button_box.hh" #include "event_button.hh" +#include <QWidget> +#include <QString> +#include <QHBoxLayout> +#include <QList> namespace ost { namespace gui { /// \brief button box diff --git a/modules/gui/src/panel_bar/button_box.cc b/modules/gui/src/panels/button_box.cc similarity index 100% rename from modules/gui/src/panel_bar/button_box.cc rename to modules/gui/src/panels/button_box.cc diff --git a/modules/gui/src/panel_bar/button_box.hh b/modules/gui/src/panels/button_box.hh similarity index 100% rename from modules/gui/src/panel_bar/button_box.hh rename to modules/gui/src/panels/button_box.hh index a04931aa62662c2ce613a7a53eac088f278f5812..f6525e609b359e97bcc2c462d3fc17f4c969b0ba 100644 --- a/modules/gui/src/panel_bar/button_box.hh +++ b/modules/gui/src/panels/button_box.hh @@ -19,17 +19,17 @@ #ifndef OST_GUI_BOTTOM_BAR_BUTTON_BOX #define OST_GUI_BOTTOM_BAR_BUTTON_BOX -#include <QWidget> -#include <QString> -#include <QGridLayout> -#include <QList> -#include <QLabel> #include <ost/gui/module_config.hh> #include <ost/gui/widget.hh> #include "event_button.hh" +#include <QWidget> +#include <QString> +#include <QGridLayout> +#include <QList> +#include <QLabel> namespace ost { namespace gui { /// \brief button box diff --git a/modules/gui/src/panel_bar/drop_box.cc b/modules/gui/src/panels/drop_box.cc similarity index 100% rename from modules/gui/src/panel_bar/drop_box.cc rename to modules/gui/src/panels/drop_box.cc index a65dfa2c5df5b6f6bb1b7f552b800e9c52ec63d8..149e0a1a4f1f301071c2275b11b465b018c931ea 100644 --- a/modules/gui/src/panel_bar/drop_box.cc +++ b/modules/gui/src/panels/drop_box.cc @@ -17,11 +17,11 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QHBoxLayout> -#include <QLabel> #include "drop_box.hh" +#include <QHBoxLayout> +#include <QLabel> namespace ost { namespace gui { DropBox::DropBox(QWidget* parent): diff --git a/modules/gui/src/panel_bar/drop_box.hh b/modules/gui/src/panels/drop_box.hh similarity index 100% rename from modules/gui/src/panel_bar/drop_box.hh rename to modules/gui/src/panels/drop_box.hh diff --git a/modules/gui/src/panel_bar/event_button.cc b/modules/gui/src/panels/event_button.cc similarity index 100% rename from modules/gui/src/panel_bar/event_button.cc rename to modules/gui/src/panels/event_button.cc diff --git a/modules/gui/src/panel_bar/event_button.hh b/modules/gui/src/panels/event_button.hh similarity index 100% rename from modules/gui/src/panel_bar/event_button.hh rename to modules/gui/src/panels/event_button.hh index f1c6d034f7d0b7cf63daf86dd50c5ce87d01a664..0063e5d116db050d67b541f6ffb5dfbe61ace3f9 100644 --- a/modules/gui/src/panel_bar/event_button.hh +++ b/modules/gui/src/panels/event_button.hh @@ -19,16 +19,16 @@ #ifndef OST_GUI_BOTTOM_BAR_EVENT_BUTTON #define OST_GUI_BOTTOM_BAR_EVENT_BUTTON + +#include <ost/gui/module_config.hh> +#include <ost/gui/widget.hh> + #include <QToolButton> #include <QMouseEvent> #include <QDragEnterEvent> #include <QDropEvent> #include <QWidget> #include <QString> - -#include <ost/gui/module_config.hh> -#include <ost/gui/widget.hh> - namespace ost { namespace gui { /// \brief button box diff --git a/modules/gui/src/panel_bar/panel_bar.cc b/modules/gui/src/panels/panel_bar.cc similarity index 97% rename from modules/gui/src/panel_bar/panel_bar.cc rename to modules/gui/src/panels/panel_bar.cc index db90f50d33ea08f0a312b020a4f66c20c66b64af..291acc925014285f75b985aa7b77bea865262e13 100644 --- a/modules/gui/src/panel_bar/panel_bar.cc +++ b/modules/gui/src/panels/panel_bar.cc @@ -17,20 +17,20 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QSettings> -#include <QVariant> #include <ost/gui/gosty_app.hh> #include <ost/gui/perspective.hh> -#include <ost/gui/panel_bar/panels.hh> -#include <ost/gui/panel_bar/drop_box.hh> #include <ost/gui/widget.hh> #include <ost/gui/widget_registry.hh> +#include "drop_box.hh" #include "panel_bar.hh" -#include "tabbed_panel_bar.hh" +#include "panel_manager.hh" #include "splitter_panel_bar.hh" +#include "tabbed_panel_bar.hh" +#include <QSettings> +#include <QVariant> namespace ost { namespace gui { @@ -69,7 +69,7 @@ void PanelBar::AddWidget(Widget* widget, bool is_hidden) { int index = this->GetIndex(widget); if (index == -1) { - QString class_name = widget->metaObject()->className(); + QString class_name = widget->GetUniqueID(); WidgetState ws = WidgetState(widget, !is_hidden, class_name); widget_states_.append(ws); if(current_view_mode_){ @@ -221,7 +221,7 @@ void PanelBar::InsertWidget(Widget * widget, int index, bool is_hidden) current_view_mode_->WidgetMoved(widget, index); } } else { - QString class_name = widget->metaObject()->className(); + QString class_name = widget->GetUniqueID(); WidgetState ws = WidgetState(widget, !is_hidden, class_name); widget_states_.insert(index, ws); if(current_view_mode_){ diff --git a/modules/gui/src/panel_bar/panel_bar.hh b/modules/gui/src/panels/panel_bar.hh similarity index 95% rename from modules/gui/src/panel_bar/panel_bar.hh rename to modules/gui/src/panels/panel_bar.hh index 474146b5b75cbdd0dcb780b576167fe39edd73c0..ecf930b1c8b3635f19806431294cb211d6ec446a 100644 --- a/modules/gui/src/panel_bar/panel_bar.hh +++ b/modules/gui/src/panels/panel_bar.hh @@ -19,11 +19,6 @@ #ifndef OST_GUI_PANEL_BAR_PANEL_BAR #define OST_GUI_PANEL_BAR_PANEL_BAR -#include <QStackedLayout> -#include <QWidget> -#include <QString> -#include <QAction> -#include <QActionGroup> #include <ost/gui/module_config.hh> #include <ost/gui/widget_pool.hh> @@ -33,6 +28,11 @@ #include "button_box.hh" +#include <QStackedLayout> +#include <QWidget> +#include <QString> +#include <QAction> +#include <QActionGroup> namespace ost { namespace gui { class PanelWidgetContainer; @@ -80,10 +80,10 @@ public: int GetIndex(Widget* widget); /// \brief Begin with dragging widgets - /// This method is called by the \ref Panels class. Read more about this method at \ref Panels::StartDrag() . + /// This method is called by the \ref PanelManager class. Read more about this method at \ref PanelManager::StartDrag() . void DragEnter(); /// \brief Stop dragging widgets - /// This method is called by the \ref Panels class. Read more about this method at \ref Panels::EndDrag() . + /// This method is called by the \ref PanelManager class. Read more about this method at \ref PanelManager::EndDrag() . void EndDrag(); /// \brief Get action which changes the visibility of this widget diff --git a/modules/gui/src/panel_bar/panel_bar_widget_holder.cc b/modules/gui/src/panels/panel_bar_widget_holder.cc similarity index 78% rename from modules/gui/src/panel_bar/panel_bar_widget_holder.cc rename to modules/gui/src/panels/panel_bar_widget_holder.cc index d017071ccdcd72ea9048eba9ece439dd07587d95..02fc9d181d92207caa82364cb2cc8b118c42016f 100644 --- a/modules/gui/src/panel_bar/panel_bar_widget_holder.cc +++ b/modules/gui/src/panels/panel_bar_widget_holder.cc @@ -18,6 +18,18 @@ //------------------------------------------------------------------------------ #include <cassert> + +#include <ost/gui/gosty_app.hh> +#include <ost/platform.hh> + +#include <ost/gui/widget.hh> +#include <ost/gui/widget_registry.hh> +#include <ost/gui/perspective.hh> + +#include "panel_manager.hh" +#include "panel_bar.hh" +#include "panel_bar_widget_holder.hh" + #include <QApplication> #include <QMenu> #include <QHBoxLayout> @@ -30,18 +42,6 @@ #include <QAction> #include <QComboBox> #include <QDebug> - -#include <ost/platform.hh> - -#include <ost/gui/widget.hh> -#include <ost/gui/widget_registry.hh> -#include <ost/gui/gosty_app.hh> -#include <ost/gui/perspective.hh> -#include <ost/gui/panel_bar/panel_bar.hh> -#include <ost/gui/panel_bar/panels.hh> - -#include "panel_bar_widget_holder.hh" - /* Author: Marco Biasini, Stefan Scheuber */ @@ -49,33 +49,31 @@ namespace ost { namespace gui { -PanelBarWidgetHolder::PanelBarWidgetHolder(Widget* widget,Qt::Orientation orientation, - QWidget* parent): +PanelBarWidgetHolder::PanelBarWidgetHolder(Widget* widget, Qt::Orientation orientation, + QWidget* parent): QWidget(parent), toolbar_(new QToolBar(parent)), widget_(widget), label_(NULL) { this->SetupToolBar(); QVBoxLayout* v_layout=new QVBoxLayout(this); this->setLayout(v_layout); + widget->setVisible(true); v_layout->setMargin(0); v_layout->setSpacing(0); - v_layout->addWidget(toolbar_, 1); - v_layout->addWidget(widget, 100); + v_layout->addWidget(toolbar_, 0); + v_layout->addWidget(widget, 1); - this->setSizePolicy(widget->sizePolicy()); + this->setSizePolicy(widget->sizePolicy()); if(orientation == Qt::Horizontal){ if(this->sizePolicy().horizontalPolicy()==QSizePolicy::Fixed){ - this->setMinimumWidth(widget->minimumWidth()); - this->setMinimumWidth(widget->maximumWidth()); - } - else if(this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed){ + this->setFixedWidth(widget->minimumWidth()); + } else if (this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed) { v_layout->addStretch(1); } } if(orientation == Qt::Vertical){ - if(this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed){ - this->setMinimumHeight(toolbar_->height()+widget->minimumHeight()); - this->setMaximumHeight(toolbar_->height()+widget->maximumHeight()); + if(this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed) { + this->setFixedHeight(this->sizeHint().height()); } } @@ -88,12 +86,12 @@ void PanelBarWidgetHolder::SetupToolBar() icon_path.cd("gui"); icon_path.cd("icons"); - QString class_name=widget_->metaObject()->className(); + QString class_name=widget_->GetUniqueID(); WidgetRegistry* wf=WidgetRegistry::Instance(); - + toolbar_->setAttribute(Qt::WA_MacSmallSize); QAction* label_ = toolbar_->addAction(wf->GetFullName(class_name)); connect(label_, SIGNAL(triggered(bool)), this, SLOT(LabelClick(bool))); - toolbar_->addSeparator(); + //toolbar_->addSeparator(); QWidget* spacer = new QWidget(this); QHBoxLayout* hbox = new QHBoxLayout(spacer); spacer->setLayout(hbox); @@ -104,14 +102,13 @@ void PanelBarWidgetHolder::SetupToolBar() toolbar_->setContentsMargins(0, 0, 0, 0); toolbar_->setToolButtonStyle(Qt::ToolButtonIconOnly); toolbar_->setIconSize(QSize(16,16)); - if(!actions.isEmpty()){ - for(int i = 0;i<actions.size();i++){ - toolbar_->addAction(actions[i]); - } - } + for (int i=0; i<actions.size();i++) { + toolbar_->addAction(actions[i]); + } QAction* delete_me=toolbar_->addAction(" x "); delete_me->setToolTip("Close "+ label_->text()); - delete_me->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("close_icon.png"))); + delete_me->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+ + QString("close_icon.png"))); connect(delete_me, SIGNAL(triggered()), this, SLOT(Remove())); } @@ -125,8 +122,8 @@ void PanelBarWidgetHolder::SetWidget(Widget* widget) QBoxLayout* l=dynamic_cast<QBoxLayout*>(layout()); assert(l); l->removeWidget(widget_); - l->addWidget(widget, 100); - QString class_name=widget->metaObject()->className(); + l->addWidget(widget, 1); + QString class_name=widget->GetUniqueID(); WidgetRegistry* wf=WidgetRegistry::Instance(); label_->setText(wf->GetFullName(class_name)); widget_=widget; @@ -134,11 +131,11 @@ void PanelBarWidgetHolder::SetWidget(Widget* widget) void PanelBarWidgetHolder::LabelClick(bool checked) { - Panels* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); + PanelManager* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); QMenu* m = panels->GetAvailableWidgetsMenu(); if (QAction* a=m->exec(toolbar_->mapToGlobal(QPoint(0, 0)))) { QString new_class_name=a->data().toString(); - if (new_class_name!=widget_->metaObject()->className()) { + if (new_class_name!=widget_->GetUniqueID()) { panels->ReplaceWidget(widget_,new_class_name); } } @@ -172,14 +169,14 @@ void PanelBarWidgetHolder::mouseMoveEvent(QMouseEvent *event) drag->setMimeData(mime_data); drag->exec(); - Panels* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); + PanelManager* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); panels->EndDrag(); } void PanelBarWidgetHolder::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("OpenStructure/Widget")){ - Panels* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); + PanelManager* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); panels->StartDrag(); event->acceptProposedAction(); } diff --git a/modules/gui/src/panel_bar/panel_bar_widget_holder.hh b/modules/gui/src/panels/panel_bar_widget_holder.hh similarity index 100% rename from modules/gui/src/panel_bar/panel_bar_widget_holder.hh rename to modules/gui/src/panels/panel_bar_widget_holder.hh index e06d6ccec0e137f52fabe4c4c6b2c24c2fc155c3..0b3aca1e81d074c3584fedba2fe2547230571d61 100644 --- a/modules/gui/src/panel_bar/panel_bar_widget_holder.hh +++ b/modules/gui/src/panels/panel_bar_widget_holder.hh @@ -19,13 +19,13 @@ #ifndef OST_GUI_PANEL_BAR_WIDGET_HOLDER_HH #define OST_GUI_PANEL_BAR_WIDGET_HOLDER_HH -#include <QWidget> -#include <QMouseEvent> #include <ost/gui/module_config.hh> #include "panel_bar.hh" +#include <QWidget> +#include <QMouseEvent> class QToolBar; class QAction; diff --git a/modules/gui/src/panel_bar/panels.cc b/modules/gui/src/panels/panel_manager.cc similarity index 85% rename from modules/gui/src/panel_bar/panels.cc rename to modules/gui/src/panels/panel_manager.cc index 3f6eedae94617bab6e4bd22284ceb4bfa3c354c7..5a5e3cf6c018f4cbc2005477016c32d4559b5cec 100644 --- a/modules/gui/src/panel_bar/panels.cc +++ b/modules/gui/src/panels/panel_manager.cc @@ -17,18 +17,18 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QSettings> -#include <QMenu> -#include <QDebug> #include <ost/gui/widget_registry.hh> #include "bottom_bar.hh" #include "side_bar.hh" -#include "panels.hh" +#include "panel_manager.hh" #include "tabbed_panel_bar.hh" #include "splitter_panel_bar.hh" +#include <QSettings> +#include <QMenu> +#include <QDebug> namespace ost { namespace gui { class ExternalWidgetFactory: public WidgetFactory { @@ -45,7 +45,7 @@ public: }; -Panels::Panels(QWidget* widget): +PanelManager::PanelManager(QWidget* widget): Widget(NULL, widget->parentWidget()), right_panel_splitter_(new ThinSplitter(Qt::Horizontal, this)), left_panel_splitter_(new ThinSplitter(Qt::Horizontal, this)), @@ -97,29 +97,28 @@ Panels::Panels(QWidget* widget): this->acceptDrops(); } -void Panels::AddWidgetToPool(const QString& class_name, int limit){ +void PanelManager::AddWidgetToPool(const QString& class_name, int limit){ pool_->Add(class_name, limit); } -void Panels::AddWidgetToPool(const QString& name, Widget* widget){ - QString id = widget->metaObject()->className(); - widget->setParent(this); - id.replace(".", "::"); - ExternalWidgetFactory* ewf = new ExternalWidgetFactory(id,name,widget); +void PanelManager::AddWidgetToPool(const QString& name, Widget* widget) { + //widget->setParent(this); + widget->SetUniqueID(name); + ExternalWidgetFactory* ewf = new ExternalWidgetFactory(name, name, widget); WidgetRegistry::Instance()->RegisterWidgetFactory(ewf); - pool_->Add(id, 1); + pool_->Add(name, 1); } -void Panels::AddWidget(PanelPosition pos, Widget* widget, bool is_hidden){ +void PanelManager::AddWidget(PanelPosition pos, Widget* widget, bool is_hidden){ if(panels_.contains(pos) && this->GetParentPanel(widget) == NONE){ - if(pool_->IsAvailable(widget->metaObject()->className())){ + if(pool_->IsAvailable(widget->GetUniqueID())){ panels_[pos]->AddWidget(widget,is_hidden); - pool_->Take(widget->metaObject()->className()); + pool_->Take(widget->GetUniqueID()); } } } -void Panels::AddWidgetByName(PanelPosition pos, const QString& class_name, +void PanelManager::AddWidgetByName(PanelPosition pos, const QString& class_name, bool is_hidden) { QString n=class_name; @@ -130,7 +129,7 @@ void Panels::AddWidgetByName(PanelPosition pos, const QString& class_name, } } -bool Panels::Save(const QString& prefix) +bool PanelManager::Save(const QString& prefix) { bool saveok = true; QSettings settings; @@ -172,7 +171,7 @@ bool Panels::Save(const QString& prefix) return saveok; } -bool Panels::Restore(const QString& prefix) +bool PanelManager::Restore(const QString& prefix) { QList<int> sizes = QList<int>(); QSettings settings; @@ -214,13 +213,13 @@ bool Panels::Restore(const QString& prefix) return restoreok; } -void Panels::ToggleViewMode(PanelPosition pos){ +void PanelManager::ToggleViewMode(PanelPosition pos){ if(panels_.contains(pos)){ panels_[pos]->ToggleViewMode(); } } -void Panels::ToggleHide(){ +void PanelManager::ToggleHide(){ QMapIterator<PanelPosition, PanelBar*> i(panels_); while (i.hasNext()) { i.next(); @@ -228,13 +227,13 @@ void Panels::ToggleHide(){ } } -void Panels::ToggleHide(PanelPosition pos){ +void PanelManager::ToggleHide(PanelPosition pos){ if(panels_.contains(pos)){ panels_[pos]->ToggleHide(); } } -void Panels::MoveWidget(Widget * widget, PanelPosition pos, int index){ +void PanelManager::MoveWidget(Widget * widget, PanelPosition pos, int index){ if(panels_.contains(pos)){ PanelPosition current_position = this->GetParentPanel(widget); if(current_position == pos){ @@ -243,44 +242,44 @@ void Panels::MoveWidget(Widget * widget, PanelPosition pos, int index){ else{ if(panels_.contains(current_position)){ panels_[current_position]->RemoveWidget(widget); - pool_->Give(widget->metaObject()->className()); + pool_->Give(widget->GetUniqueID()); } - if(pool_->IsAvailable(widget->metaObject()->className())){ + if(pool_->IsAvailable(widget->GetUniqueID())){ panels_[pos]->InsertWidget(widget,index,false); - pool_->Take(widget->metaObject()->className()); + pool_->Take(widget->GetUniqueID()); } } } } -void Panels::MoveNextTo(Widget* target, Widget* widget){ +void PanelManager::MoveNextTo(Widget* target, Widget* widget){ PanelPosition target_position = this->GetParentPanel(target); if(panels_.contains(target_position)){ this->MoveWidget(widget,target_position,panels_[target_position]->GetIndex(target)); } } -void Panels::ReplaceWidget(Widget* w1, Widget* w2){ - if(pool_->IsAvailable(w2->metaObject()->className())){ +void PanelManager::ReplaceWidget(Widget* w1, Widget* w2){ + if(pool_->IsAvailable(w2->GetUniqueID())){ PanelPosition pos_w1 = this->GetParentPanel(w1); PanelPosition pos_w2 = this->GetParentPanel(w2); if(panels_.contains(pos_w1) && pos_w2 == NONE){ int index = panels_[pos_w1]->GetIndex(w1); panels_[pos_w1]->RemoveWidget(w1); - pool_->Give(w1->metaObject()->className()); + pool_->Give(w1->GetUniqueID()); panels_[pos_w1]->InsertWidget(w2,index,false); - pool_->Take(w2->metaObject()->className()); + pool_->Take(w2->GetUniqueID()); } } } -void Panels::ReplaceWidget(Widget* w1, QString& class_name){ +void PanelManager::ReplaceWidget(Widget* w1, QString& class_name){ if(pool_->IsAvailable(class_name)){ PanelPosition pos = this->GetParentPanel(w1); if(panels_.contains(pos)){ int index = panels_[pos]->GetIndex(w1); panels_[pos]->RemoveWidget(w1); - pool_->Give(w1->metaObject()->className()); + pool_->Give(w1->GetUniqueID()); WidgetRegistry* wf=WidgetRegistry::Instance(); Widget* widget = wf->Create(class_name,this); panels_[pos]->InsertWidget(widget,index,false); @@ -289,21 +288,21 @@ void Panels::ReplaceWidget(Widget* w1, QString& class_name){ } } -void Panels::RemoveWidget(Widget *widget){ +void PanelManager::RemoveWidget(Widget *widget){ PanelPosition pos = this->GetParentPanel(widget); if(panels_.contains(pos)){ panels_[pos]->RemoveWidget(widget); - pool_->Give(widget->metaObject()->className()); + pool_->Give(widget->GetUniqueID()); } } -QList<QString> Panels::GetAvailableWidgets() +QList<QString> PanelManager::GetAvailableWidgets() { return pool_->GetAvailableWidgets(); } -QMenu* Panels::GetAvailableWidgetsMenu() +QMenu* PanelManager::GetAvailableWidgetsMenu() { QMenu* m=new QMenu; @@ -317,7 +316,7 @@ QMenu* Panels::GetAvailableWidgetsMenu() return m; } -PanelPosition Panels::GetParentPanel(Widget* widget){ +PanelPosition PanelManager::GetParentPanel(Widget* widget){ QMapIterator<PanelPosition, PanelBar*> i(panels_); while (i.hasNext()) { i.next(); @@ -329,7 +328,7 @@ PanelPosition Panels::GetParentPanel(Widget* widget){ return NONE; } -void Panels::StartDrag() +void PanelManager::StartDrag() { QMapIterator<PanelPosition, PanelBar*> i(panels_); while (i.hasNext()) { @@ -338,7 +337,7 @@ void Panels::StartDrag() } } -void Panels::EndDrag() +void PanelManager::EndDrag() { QMapIterator<PanelPosition, PanelBar*> i(panels_); while (i.hasNext()) { @@ -347,7 +346,7 @@ void Panels::EndDrag() } } -QMenu* Panels::GetMenu() +QMenu* PanelManager::GetMenu() { QMenu* panel_menu = new QMenu(this); panel_menu->setTitle("Panels"); @@ -378,7 +377,7 @@ QMenu* Panels::GetMenu() return panel_menu; } -void Panels::UpdateAddMenu(){ +void PanelManager::UpdateAddMenu(){ add_menu_->clear(); WidgetRegistry* wf=WidgetRegistry::Instance(); QList<QString> available=this->GetAvailableWidgets(); @@ -389,7 +388,7 @@ void Panels::UpdateAddMenu(){ } } -void Panels::AddWidgetFromMenu(QAction* action){ +void PanelManager::AddWidgetFromMenu(QAction* action){ if(action){ QString new_class_name=action->data().toString(); if(panels_.contains(current_menu_)){ @@ -398,7 +397,7 @@ void Panels::AddWidgetFromMenu(QAction* action){ } } -void Panels::UpdateCurrentMenu(){ +void PanelManager::UpdateCurrentMenu(){ QAction* action = qobject_cast<QAction*>(this->sender()); if(action){ current_menu_ = PanelPosition(action->data().toInt()); diff --git a/modules/gui/src/panel_bar/panels.hh b/modules/gui/src/panels/panel_manager.hh similarity index 93% rename from modules/gui/src/panel_bar/panels.hh rename to modules/gui/src/panels/panel_manager.hh index 1dd71496431162ef92a6968c5e2cfa27b92b9741..d4d505517932134fe957fb53ccd10178ce5504b5 100644 --- a/modules/gui/src/panel_bar/panels.hh +++ b/modules/gui/src/panels/panel_manager.hh @@ -16,14 +16,9 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_GUI_PANEL_BAR_PANELS -#define OST_GUI_PANEL_BAR_PANELS +#ifndef OST_GUI_PANEL_BAR_PANEL_MANAGER +#define OST_GUI_PANEL_BAR_PANEL_MANAGER -#include <QWidget> -#include <QString> -#include <QList> -#include <QMenu> -#include <QDragEnterEvent> #include <ost/gui/widget.hh> #include <ost/gui/widget_pool.hh> @@ -32,6 +27,11 @@ #include "panel_widget_container.hh" #include "button_box.hh" +#include <QWidget> +#include <QString> +#include <QList> +#include <QMenu> +#include <QDragEnterEvent> namespace ost { namespace gui { enum PanelPosition @@ -45,18 +45,18 @@ enum PanelPosition /// \brief Class which organizes all widgets which are in the side panels /// This class handles all side bar widgets. It can be used to display, hide or move a widget to a PaneBar. There are three Bars (left, bottom, right) which are organized by this class. /// Whenever a widget is being removed or added it checks first if the widget type is known and if there are available instances. -class DLLEXPORT_OST_GUI Panels : public Widget { +class DLLEXPORT_OST_GUI PanelManager : public Widget { Q_OBJECT public: - Panels(QWidget* widget); - ~Panels(){ } + PanelManager(QWidget* widget); + ~PanelManager(){ } virtual bool Save(const QString& prefix); virtual bool Restore(const QString& prefix); /// \brief Add a widget to the widget pool /// /// The widget must already be in the WidgetRegistry. - /// If you are not sure if the Widget is in the WidgetRegistry, use the \ref Panels::AddWidgetToPool(const QString& name, Widget* widget) Method instead. + /// If you are not sure if the Widget is in the WidgetRegistry, use the \ref PanelManager::AddWidgetToPool(const QString& name, Widget* widget) Method instead. /// \param class_name class name of class which should be added to WidgetRegistry. /// \param limit amount of parallel instances allowed (-1 if infinite) virtual void AddWidgetToPool(const QString& class_name, int limit=-1); @@ -75,11 +75,11 @@ public: /// \param is_hidden marks if the class should be displayed in the gui. Default the widget will be shown. void AddWidget(PanelPosition pos, Widget* widget, bool is_hidden=false); /// \brief Display a Widget in a PanelBar - /// Same as \ref Panels::AddWidget(PanelPosition pos, Widget* widget, bool is_hidden) + /// Same as \ref PanelManager::AddWidget(PanelPosition pos, Widget* widget, bool is_hidden) /// \param pos Indicates which PanelBar is affected /// \param class_name the class_name of the widget you would like to add. /// \param is_hidden marks if the class should be displayed in the gui. Default the widget will be shown. - void AddWidgetByName(PanelPosition pos, const QString& class_name, bool hidden=false); + void AddWidgetByName(PanelPosition pos, const QString& class_name, bool is_hidden=false); /// \brief Replace a Widget with another Widget /// With this Method you can replace a Widget which is in a PanelBar with another Widget. @@ -87,7 +87,7 @@ public: /// \param w1 The widget which will be replaced /// \param w2 The new Widget which should replace the old one. void ReplaceWidget(Widget* w1, Widget* w2); - /// Same as \ref Panels::ReplaceWidget(Widget* w1, Widget* w2) + /// Same as \ref PanelManager::ReplaceWidget(Widget* w1, Widget* w2) /// \param w1 The widget which will be replaced /// \param class_name The class_name which from which a instance will be created and then replaces the old one. void ReplaceWidget(Widget* w1, QString& class_name); diff --git a/modules/gui/src/panel_bar/panel_widget_container.cc b/modules/gui/src/panels/panel_widget_container.cc similarity index 100% rename from modules/gui/src/panel_bar/panel_widget_container.cc rename to modules/gui/src/panels/panel_widget_container.cc diff --git a/modules/gui/src/panel_bar/panel_widget_container.hh b/modules/gui/src/panels/panel_widget_container.hh similarity index 93% rename from modules/gui/src/panel_bar/panel_widget_container.hh rename to modules/gui/src/panels/panel_widget_container.hh index ea8c3e0679f9781e4232ed6f59bfeb8a287e1b6b..e46ae504421dd6209960175253044542062e29c4 100644 --- a/modules/gui/src/panel_bar/panel_widget_container.hh +++ b/modules/gui/src/panels/panel_widget_container.hh @@ -19,17 +19,17 @@ #ifndef OST_GUI_PANEL_BAR_PANEL_WIDGET_CONTAINER #define OST_GUI_PANEL_BAR_PANEL_WIDGET_CONTAINER -#include <QHBoxLayout> -#include <QWidget> -#include <QString> -#include <QAction> -#include <QMap> #include <ost/gui/module_config.hh> #include <ost/gui/widget.hh> #include "panel_bar.hh" +#include <QHBoxLayout> +#include <QWidget> +#include <QString> +#include <QAction> +#include <QMap> namespace ost { namespace gui { /// \brief A PanelWidgetContainer can display various widgets @@ -54,11 +54,11 @@ public: /// \param show if show if false hide the widget even the position is not correct. virtual void ShowWidget(Widget* widget,int pos,bool show = true) = 0; /// \brief Begin with dragging widgets - /// This method is initially called in the \ref Panels class in the \ref Panels::StartDrag() method. + /// This method is initially called in the \ref PanelManager class in the \ref PanelManager::StartDrag() method. virtual void StartDrag(); /// \brief Stop dragging widgets - /// This method is initially called in the \ref Panels class in the \ref Panels::EndDrag() method. + /// This method is initially called in the \ref PanelManager class in the \ref PanelManager::EndDrag() method. virtual void EndDrag(); /// \brief Get the PanelBar diff --git a/modules/gui/src/panel_bar/side_bar.cc b/modules/gui/src/panels/side_bar.cc similarity index 100% rename from modules/gui/src/panel_bar/side_bar.cc rename to modules/gui/src/panels/side_bar.cc index 425a8bb37a3b19fbf09527c6c11cf02a676e2c46..460e8a5641b5bf1658417b00cb17b65dee36d243 100644 --- a/modules/gui/src/panel_bar/side_bar.cc +++ b/modules/gui/src/panels/side_bar.cc @@ -17,13 +17,13 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QAction> #include "side_bar.hh" #include "splitter_panel_bar.hh" #include "tabbed_panel_bar.hh" +#include <QAction> namespace ost { namespace gui { SideBar::SideBar(QWidget* parent): diff --git a/modules/gui/src/panel_bar/side_bar.hh b/modules/gui/src/panels/side_bar.hh similarity index 100% rename from modules/gui/src/panel_bar/side_bar.hh rename to modules/gui/src/panels/side_bar.hh diff --git a/modules/gui/src/panel_bar/splitter_panel_bar.cc b/modules/gui/src/panels/splitter_panel_bar.cc similarity index 95% rename from modules/gui/src/panel_bar/splitter_panel_bar.cc rename to modules/gui/src/panels/splitter_panel_bar.cc index 7ba19f4fd00b708ddb82e78775d5520e6013c5e5..bfd59c5948d2693717f64cf317ce3daa250ceda4 100644 --- a/modules/gui/src/panel_bar/splitter_panel_bar.cc +++ b/modules/gui/src/panels/splitter_panel_bar.cc @@ -17,17 +17,14 @@ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QSettings> - -#include <QPalette> #include <ost/gui/widget_registry.hh> #include "panel_widget_container.hh" #include "splitter_panel_bar.hh" -#include <iostream> -#include <iostream> +#include <QSettings> +#include <QPalette> namespace ost { namespace gui { SplitterPanelBar::SplitterPanelBar(PanelBar* parent,Qt::Orientation orientation): @@ -83,7 +80,7 @@ void SplitterPanelBar::WidgetMoved(Widget* widget, int index){ wh->setVisible(false); wh->setParent(NULL); } - PanelBarWidgetHolder* side_bar_widget_holder = new PanelBarWidgetHolder(widget,splitter_->orientation(),this->GetPanelBar()); + PanelBarWidgetHolder* side_bar_widget_holder=new PanelBarWidgetHolder(widget,splitter_->orientation(),this->GetPanelBar()); widget_holders_.insert(index,side_bar_widget_holder); splitter_->insertWidget(index, widget_holders_.at(index)); if(pos>=0 && pos<sizes_.size() && index>=0 && index<sizes_.size()){ @@ -95,7 +92,8 @@ void SplitterPanelBar::WidgetMoved(Widget* widget, int index){ } -QString SplitterPanelBar::GetName(){ +QString SplitterPanelBar::GetName() +{ return "Splitter Mode"; } diff --git a/modules/gui/src/panel_bar/splitter_panel_bar.hh b/modules/gui/src/panels/splitter_panel_bar.hh similarity index 97% rename from modules/gui/src/panel_bar/splitter_panel_bar.hh rename to modules/gui/src/panels/splitter_panel_bar.hh index a08a1bf1935490433a523bb0aa5feb29194b2f26..b283c9cbfacb429ea83fcbe98f2d5d9bc9e4da22 100644 --- a/modules/gui/src/panel_bar/splitter_panel_bar.hh +++ b/modules/gui/src/panels/splitter_panel_bar.hh @@ -19,19 +19,19 @@ #ifndef OST_GUI_SPLITTER_PANEL_BAR #define OST_GUI_SPLITTER_PANEL_BAR -#include <QHBoxLayout> -#include <QWidget> -#include <QString> -#include <QAction> #include <ost/gui/module_config.hh> -#include <ost/gui/panel_bar/panel_bar_widget_holder.hh> #include <ost/gui/widget_pool.hh> #include <ost/gui/widget.hh> #include <ost/gui/thin_splitter.hh> #include "panel_widget_container.hh" +#include "panel_bar_widget_holder.hh" +#include <QHBoxLayout> +#include <QWidget> +#include <QString> +#include <QAction> namespace ost { namespace gui { /// \brief bottom Bar diff --git a/modules/gui/src/panels/tabbed_panel_bar.cc b/modules/gui/src/panels/tabbed_panel_bar.cc new file mode 100644 index 0000000000000000000000000000000000000000..36ec6e2bc5f75db9eec0968ffc8a1c81cb968756 --- /dev/null +++ b/modules/gui/src/panels/tabbed_panel_bar.cc @@ -0,0 +1,170 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + + +#include <ost/gui/gosty_app.hh> +#include <ost/gui/perspective.hh> +#include <ost/gui/widget_registry.hh> + +#include "tabbed_panel_bar.hh" + +#include <QApplication> +#include <QSettings> +#include <QDir> +namespace ost { namespace gui { + +TabbedPanelBar::TabbedPanelBar(PanelBar* parent): + PanelWidgetContainer(parent) +{ + layout_ = new QHBoxLayout(this); + layout_->setMargin(0); + layout_->setSpacing(0); + tab_widget_ = new TabbedDragWidget(this); + #if QT_VERSION>=0x40503 + tab_widget_->setDocumentMode(true); + #endif + layout_->addWidget(tab_widget_); + + toolbar_ = new QToolBar(this); + toolbar_->setFloatable(false); + toolbar_->setContentsMargins(0, 0, 0, 0); + toolbar_->setToolButtonStyle(Qt::ToolButtonIconOnly); + toolbar_->setIconSize(QSize(16,16)); + tab_widget_->setCornerWidget(toolbar_, Qt::TopRightCorner); + connect(tab_widget_,SIGNAL(currentChanged(int)),this,SLOT(CurrentChanged(int))); + this->setAcceptDrops(true); +} + +bool TabbedPanelBar::Save(const QString& prefix) +{ + return true; +} + +bool TabbedPanelBar::Restore(const QString& prefix) +{ + return true; +} + +void TabbedPanelBar::WidgetMoved(Widget* widget, int index){ + QString class_name = widget->GetUniqueID(); + if(tab_widget_->indexOf(widget)>=0){ + tab_widget_->removeTab(tab_widget_->indexOf(widget)); + } + tab_widget_->insertTab(index,widget,WidgetRegistry::Instance()->GetFullName(class_name)); +} + +void TabbedPanelBar::ShowWidget(Widget* widget, int pos, bool show){ + if(tab_widget_->indexOf(widget)>=0){ + if(!show){ + tab_widget_->removeTab(tab_widget_->indexOf(widget)); + } + } + else{ + if(show){ + WidgetMoved(widget,pos); + } + } +} + +QString TabbedPanelBar::GetName(){ + return "Tabbed Mode"; +} + +void TabbedPanelBar::CurrentChanged(int index){ + if(Widget* widget = qobject_cast<Widget*>(tab_widget_->currentWidget())){ + ActionList actions = widget->GetActions(); + toolbar_->clear(); + if(!actions.isEmpty()){ + for(int i = 0;i<actions.size();i++){ + toolbar_->addAction(actions[i]); + } + } + } +} + +void TabbedPanelBar::dragEnterEvent(QDragEnterEvent *event) +{ + if (event->mimeData()->hasFormat("OpenStructure/Widget")){ + PanelManager* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); + panels->StartDrag(); + event->acceptProposedAction(); + } +} + +void TabbedPanelBar::dropEvent(QDropEvent *event) +{ + const QMimeData* mime_data = event->mimeData(); + QVariant variant = mime_data->property("OpenStructure/Widget"); + Widget* widget = variant.value<Widget*>(); + Widget* current_widget = qobject_cast<Widget*>(tab_widget_->currentWidget()); + if(widget && current_widget && widget != current_widget){ + GostyApp::Instance()->GetPerspective()->GetPanels()->MoveNextTo(current_widget,widget); + } + event->acceptProposedAction(); +} + +TabbedPanelBar::~TabbedPanelBar(){ + toolbar_->clear(); +} + +//TabbedDragWidget +TabbedDragWidget::TabbedDragWidget(QWidget* parent): + QTabWidget(parent) { + setTabBar(new DragTabBar(this)); +} + +//DragTabBar +DragTabBar::DragTabBar(QTabWidget* parent): + QTabBar(parent),tab_widget_(parent) {} + +void DragTabBar::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton){ + drag_start_pos_ = event->pos(); + } + QTabBar::mousePressEvent(event); +} + +void DragTabBar::mouseMoveEvent(QMouseEvent *event) +{ + if (!(event->buttons() & Qt::LeftButton)) return; + + if ((event->pos() - drag_start_pos_).manhattanLength() + < QApplication::startDragDistance()) return; + + Widget* widget = qobject_cast<Widget*>(tab_widget_->currentWidget()); + if(!widget)return; + + QDrag *drag = new QDrag(this); + QMimeData *mime_data = new QMimeData; + QVariant self; + self.setValue(widget); + mime_data->setData("OpenStructure/Widget",QByteArray()); + mime_data->setProperty("OpenStructure/Widget",self); + + drag->setMimeData(mime_data); + drag->exec(); + PanelManager* panels = GostyApp::Instance()->GetPerspective()->GetPanels(); + panels->EndDrag(); +} + + + +}} + diff --git a/modules/gui/src/panel_bar/tabbed_panel_bar.hh b/modules/gui/src/panels/tabbed_panel_bar.hh similarity index 71% rename from modules/gui/src/panel_bar/tabbed_panel_bar.hh rename to modules/gui/src/panels/tabbed_panel_bar.hh index 0579c4b6e937d87e990504b53eab7e165270256b..78fb2ab40db4d3920beed0ac4dc03f912451a369 100644 --- a/modules/gui/src/panel_bar/tabbed_panel_bar.hh +++ b/modules/gui/src/panels/tabbed_panel_bar.hh @@ -19,11 +19,6 @@ #ifndef OST_GUI_TABBED_PANEL_BAR #define OST_GUI_TABBED_PANEL_BAR -#include <QHBoxLayout> -#include <QWidget> -#include <QString> -#include <QAction> -#include <QTabWidget> #include <ost/gui/module_config.hh> #include <ost/gui/widget_pool.hh> @@ -32,9 +27,39 @@ #include "panel_widget_container.hh" #include "button_box.hh" +#include <QHBoxLayout> +#include <QWidget> +#include <QString> +#include <QAction> +#include <QTabBar> +#include <QTabWidget> +#include <QToolBar> namespace ost { namespace gui { -/// \brief tabbed bottom Bar +/// \brief tabbed drag widget +class DLLEXPORT_OST_GUI DragTabBar : public QTabBar{ + Q_OBJECT +public: + DragTabBar(QTabWidget* parent); + +protected: + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + +private: + QTabWidget* tab_widget_; + QPoint drag_start_pos_; + +}; + +/// \brief tabbed drag widget +class DLLEXPORT_OST_GUI TabbedDragWidget : public QTabWidget{ + Q_OBJECT +public: + TabbedDragWidget(QWidget* parent); +}; + +/// \brief tabbed bar class DLLEXPORT_OST_GUI TabbedPanelBar : public PanelWidgetContainer { Q_OBJECT public: @@ -46,10 +71,20 @@ public: void WidgetMoved(Widget* widget, int position); QString GetName(); + +protected: + void dragEnterEvent(QDragEnterEvent *event); + void dropEvent(QDropEvent *event); + private: virtual void ShowWidget(Widget* widget, int pos, bool show); QHBoxLayout* layout_; - QTabWidget* tabWidget_; + QTabWidget* tab_widget_; + QToolBar* toolbar_; + +private slots: + void CurrentChanged(int index); + }; }} diff --git a/modules/gui/src/perspective.cc b/modules/gui/src/perspective.cc index 6b59bded294f6a68e70b4f2ed2a93bba01ce8da1..6af76c48090d1bc09529b97906290c34d7fd0272 100644 --- a/modules/gui/src/perspective.cc +++ b/modules/gui/src/perspective.cc @@ -16,7 +16,17 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ + +#include <ost/platform.hh> + +#include <ost/gui/widget_registry.hh> +#include <ost/gui/perspective.hh> +#include <ost/gui/file_browser.hh> +#include <ost/gui/main_area.hh> +#include <ost/gui/messages/message_box_widget.hh> + #include <QTextEdit> +#include <QSizeGrip> #include <QMainWindow> #include <QSettings> #include <QDebug> @@ -26,14 +36,7 @@ #include <QSizeGrip> #include <QKeySequence> #include <QStatusBar> - -#include <ost/platform.hh> - -#include <ost/gui/widget_registry.hh> -#include <ost/gui/perspective.hh> -#include <ost/gui/file_browser.hh> -#include <ost/gui/main_area.hh> - +#include <QPushButton> /* Author: Marco Biasini */ @@ -53,8 +56,9 @@ Perspective::Perspective(QMainWindow* parent): parent->setCentralWidget(central_); status_bar_ = new QStatusBar(main_area_); + status_bar_->setSizeGripEnabled (false); - panels_ = new Panels(main_area_); + panels_ = new PanelManager(main_area_); l->addWidget(panels_,1); this->SetupQuickAccessBar(); l->addWidget(quick_access_bar_, 0); @@ -69,27 +73,35 @@ void Perspective::SetupQuickAccessBar() QHBoxLayout* l2=new QHBoxLayout(quick_access_bar_); l2->setMargin(0); l2->setSpacing(0); - - QToolButton* toggle_side_bar=new QToolButton(quick_access_bar_); - toggle_side_bar->setText("A"); + l2->setContentsMargins(0, 0, 0, 0); + QPushButton* toggle_side_bar=new QPushButton(quick_access_bar_); + toggle_side_bar->setAttribute(Qt::WA_MacSmallSize); + toggle_side_bar->setFlat(true); toggle_side_bar->setToolTip("Glory A-Button"); - toggle_side_bar->setIconSize(QSize(20,20)); - toggle_side_bar->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("show_sidebar_icon.png"))); + toggle_side_bar->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+ + QString("show_sidebar_icon.png"))); + toggle_side_bar->setIconSize(QSize(10,10)); toggle_side_bar->setCheckable(true); - toggle_side_bar->setChecked(true); + toggle_side_bar->setFixedSize(QSize(20, 20)); + toggle_side_bar->setChecked(false); connect(toggle_side_bar, SIGNAL(clicked()), panels_, SLOT(ToggleHide())); l2->addWidget(toggle_side_bar, 0); - QToolButton* add_side_bar_widget=new QToolButton(quick_access_bar_); - add_side_bar_widget->setText("+"); + QPushButton* add_side_bar_widget=new QPushButton(quick_access_bar_); + add_side_bar_widget->setAttribute(Qt::WA_MacSmallSize); + add_side_bar_widget->setFlat(true); + add_side_bar_widget->setFixedSize(QSize(20, 20)); add_side_bar_widget->setToolTip("Add widget to left sidebar"); - add_side_bar_widget->setIconSize(QSize(20,20)); - add_side_bar_widget->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("add_icon.png"))); + add_side_bar_widget->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+ + QString("add_icon.png"))); + add_side_bar_widget->setIconSize(QSize(10,10)); connect(add_side_bar_widget, SIGNAL(clicked()), this, SLOT(AddSideBarWidget())); l2->addWidget(add_side_bar_widget, 0); l2->addWidget(status_bar_); + l2->addWidget(new MessageBoxWidget(quick_access_bar_)); + l2->addWidget(new QSizeGrip(quick_access_bar_)); } void Perspective::StatusMessage(const String& m) @@ -115,7 +127,7 @@ QMenu* Perspective::GetMenu(const QString& name) return menu; } -Panels* Perspective::GetPanels() +PanelManager* Perspective::GetPanels() { return panels_; } diff --git a/modules/gui/src/perspective.hh b/modules/gui/src/perspective.hh index 533b3d0f11110c384c2a03792449d51fd5f8678b..b52a7c8f0414fc5b759e82300e8fe5c30228a031 100644 --- a/modules/gui/src/perspective.hh +++ b/modules/gui/src/perspective.hh @@ -19,21 +19,21 @@ #ifndef OST_GUI_PERSPECTIVE_HH #define OST_GUI_PERSPECTIVE_HH -#include <QObject> -#include <QMenuBar> -#include <QMap> -#include <QString> -#include <QMenu> -#include <QStatusBar> class QMainWindow; class QTextEdit; -#include <ost/gui/panel_bar/panels.hh> -#include <ost/gui/panel_bar/button_bar.hh> -#include <ost/gui/panel_bar/panel_bar.hh> +#include <ost/gui/panels/panel_manager.hh> +#include <ost/gui/panels/button_bar.hh> +#include <ost/gui/panels/panel_bar.hh> #include <ost/gui/module_config.hh> +#include <QObject> +#include <QMenuBar> +#include <QMap> +#include <QString> +#include <QMenu> +#include <QStatusBar> /* Author: Marco Biasini, Stefan Scheuber */ @@ -60,9 +60,9 @@ public: /// \return The menu with the given name. If it does not exist, it will be created and returned. QMenu* GetMenu(const QString& name); - /// \brief The Panels class organizes all the widgets in the side panels. - /// \return The Panels instance which is used in this perspective. - Panels* GetPanels(); + /// \brief The PanelManager class organizes all the widgets in the side panels. + /// \return The PanelManager instance which is used in this perspective. + PanelManager* GetPanels(); /// \brief Returns the MainArea /// \return The main area which is used in this perspective. @@ -94,7 +94,7 @@ private: QMenuBar* menu_bar_; QMap<QString,QMenu*> menus_; MainArea* main_area_; - Panels* panels_; + PanelManager* panels_; QWidget* quick_access_bar_; QStatusBar* status_bar_; }; diff --git a/modules/gui/src/plot_viewer/plot_axis_base.cc b/modules/gui/src/plot_viewer/plot_axis_base.cc deleted file mode 100644 index 95a75cdb5bba3d34a258e3d7f8ccc804b77c96f1..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_axis_base.cc +++ /dev/null @@ -1,90 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QWheelEvent> -#include <QMouseEvent> -#include "plot_axis_base.hh" - -namespace ost{namespace gui{ - -PlotAxisBase::PlotAxisBase(QWidget * parent): - QWidget(parent), - ticker_(), - global_mouse_pos_() -{ -} - -PlotAxisBase::~PlotAxisBase() -{ -} - -void PlotAxisBase::wheelEvent ( QWheelEvent * e ) -{ - emit zoom(e->delta(),e->pos()); -} -void PlotAxisBase::SetMinimum(Real min) -{ - ticker_.SetMinimum(min); - update(); -} - -void PlotAxisBase::SetMaximum(Real max) -{ - ticker_.SetMaximum(max); - update(); -} - -void PlotAxisBase::SetSeparation(int separation) -{ - ticker_.SetSeparation(separation); - update(); -} -int PlotAxisBase::GetSeparation() -{ - return ticker_.GetSeparation(); - -} - -void PlotAxisBase::SetStart(int start) -{ - ticker_.SetStart(start); -} - -void PlotAxisBase::SetEnd(int end) -{ - ticker_.SetEnd(end); -} - -TickList PlotAxisBase::GetTicks() -{ - return ticker_.GetTicks(); -} - -void PlotAxisBase::mousePressEvent( QMouseEvent * event ) -{ - if(event->button()== Qt::LeftButton){ - global_mouse_pos_=event->globalPos(); - } -} - - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_axis_horizontal.cc b/modules/gui/src/plot_viewer/plot_axis_horizontal.cc deleted file mode 100644 index 05b13f5519734df82c2681e51134f6921353cdf9..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_axis_horizontal.cc +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ -#include <QPainter> -#include <QMouseEvent> - -#include "plot_axis_horizontal.hh" - -namespace ost{namespace gui{ - -PlotAxisHorizontal::PlotAxisHorizontal(QWidget * parent): - PlotAxisBase(parent) -{ - SetStart(AXISWIDTH); - SetSeparation(40); -} - -PlotAxisHorizontal::~PlotAxisHorizontal() -{ -} - -void PlotAxisHorizontal::paintEvent(QPaintEvent* paint_event) -{ - SetEnd(width()); - TickList ticks=GetTicks(); - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - for(int i=0;i<static_cast<int>(ticks.size());++i){ - if(ticks[i].first<static_cast<int>(AXISWIDTH)){ - continue; - } - painter.drawLine(ticks[i].first,0,ticks[i].first,9); - painter.drawText(QRect(ticks[i].first-GetSeparation()/2,12,GetSeparation(),20),Qt::AlignCenter,QString("%1").arg(ticks[i].second)); - } -} - -void PlotAxisHorizontal::mouseMoveEvent( QMouseEvent * event ) -{ - if(event->buttons() & Qt::LeftButton){ - emit translate(static_cast<Real>(event->globalPos().x()-global_mouse_pos_.x()),0.0); - global_mouse_pos_=event->globalPos(); - } -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_axis_vertical.cc b/modules/gui/src/plot_viewer/plot_axis_vertical.cc deleted file mode 100644 index f6bf01a2c5f772da187f027523f83cb2a6be1418..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_axis_vertical.cc +++ /dev/null @@ -1,65 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QMouseEvent> -#include <QPainter> - -#include "plot_axis_vertical.hh" - -namespace ost{namespace gui{ - -PlotAxisVertical::PlotAxisVertical(QWidget * parent): - PlotAxisBase(parent) -{ - SetStart(AXISWIDTH); - SetSeparation(40); -} - -PlotAxisVertical::~PlotAxisVertical() -{ -} - -void PlotAxisVertical::paintEvent(QPaintEvent* paint_event) -{ - SetEnd(height()); - TickList ticks=GetTicks(); - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - for(int i=0;i<static_cast<int>(ticks.size());++i){ - Real ypos=height()-ticks[i].first; - if(ticks[i].first<static_cast<int>(AXISWIDTH)){ - continue; - } - painter.drawLine(AXISWIDTH-10,ypos,AXISWIDTH-1,ypos); - painter.drawText(QRect(2,ypos-GetSeparation()/2,AXISWIDTH-14,GetSeparation()),Qt::AlignVCenter,QString("%1").arg(ticks[i].second)); - } -} - -void PlotAxisVertical::mouseMoveEvent( QMouseEvent * event ) -{ - if(event->buttons() & Qt::LeftButton){ - emit translate(0.0,static_cast<Real>(event->globalPos().y()-global_mouse_pos_.y())); - global_mouse_pos_=event->globalPos(); - } -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_axis_vertical.hh b/modules/gui/src/plot_viewer/plot_axis_vertical.hh deleted file mode 100644 index e6412b7d0244768cc23395b31179d1c7eb4b43fd..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_axis_vertical.hh +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_AXIS_VERTICAL_HH_ -#define PLOT_AXIS_VERTICAL_HH_ - -/* - Author: Andreas Schenk -*/ - -#include "plot_axis_base.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotAxisVertical: public PlotAxisBase -{ -public: - PlotAxisVertical(QWidget * parent = 0); - virtual ~PlotAxisVertical(); -protected: - virtual void paintEvent(QPaintEvent* paint_event); - virtual void mouseMoveEvent ( QMouseEvent * event ); -}; - -}}//ns - -#endif /*PLOT_AXIS_VERTICAL_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_data.cc b/modules/gui/src/plot_viewer/plot_data.cc deleted file mode 100644 index 2955482a60b310b16d681dc7b46a25852777a2f8..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data.cc +++ /dev/null @@ -1,149 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <limits> -#include <sstream> -#include "plot_data.hh" - -namespace ost{namespace gui{ - -PlotData::PlotData(): - PlotDataBase(), - minx_(std::numeric_limits<Real>().max()), - maxx_(-std::numeric_limits<Real>().max()), - miny_(std::numeric_limits<Real>().max()), - maxy_(-std::numeric_limits<Real>().max()), - pde_vector_() -{ -} - -PlotData::~PlotData() -{ -} - -void PlotData::AddXYQ(Real x, Real y, Real w, const QString& n) -{ - AddXEYEQ(x, 0.0, y, 0.0,w, n); -} -void PlotData::AddXYE(Real x, Real y, Real e, const QString& n) -{ - AddXEYEQ(x, 0.0, y, e,1.0, n); -} -void PlotData::AddXYEQ(Real x, Real y, Real e,Real q, const QString& n) -{ - AddXEYEQ(x, 0.0, y, e,q, n); -} -void PlotData::AddXEYE(Real x, Real ex, Real y, Real ey, const QString& n) -{ - AddXEYEQ(x, ex, y, ey ,1.0, n); -} -void PlotData::AddXY(Real x, Real y, const QString& n) -{ - AddXEYEQ(x, 0, y, 0,1, n); -} - -void PlotData::AddYQ(Real y, Real w, const QString& n) -{ - AddYEQ(y, 0.0,w, n); -} -void PlotData::AddYE(Real y, Real e, const QString& n) -{ - AddYEQ(y, e,1.0, n); -} -void PlotData::AddY(Real y, const QString& n) -{ - AddYEQ(y, 0,1, n); -} - -void PlotData::AddYEQ(Real y, Real ey, Real w, const QString& n) -{ - static int x=0; - AddXEYEQ(x,0,y,ey,w,n); - ++x; -} - -void PlotData::AddXEYEQ(Real x, Real ex, Real y, Real ey, Real q, const QString& n) -{ - pde_vector_.push_back(PlotDataEntry(x, ex, y, ey,q, n)); - minx_=std::min(minx_, x); - maxx_=std::max(maxx_, x); - miny_=std::min(miny_, y); - maxy_=std::max(maxy_, y); -} - -void PlotData::Clear() -{ - pde_vector_.clear(); - minx_=std::numeric_limits<Real>().max(); - maxx_=-std::numeric_limits<Real>().max(); - miny_=std::numeric_limits<Real>().max(); - maxy_=-std::numeric_limits<Real>().max(); -} -Real PlotData::GetMinimumX() -{ - if(minx_>maxx_){ - return 0.0; - }else{ - return minx_; - } -} -Real PlotData::GetMaximumX() -{ - if(minx_>maxx_){ - return 1.0; - }else if(minx_==maxx_){ - return minx_+1.0; - }else{ - return maxx_; - } -} -Real PlotData::GetMinimumY() -{ - if(miny_>maxy_){ - return 0.0; - }else{ - return miny_; - } -} -Real PlotData::GetMaximumY() -{ - if(miny_>maxy_){ - return 1.0; - }else if(miny_==maxy_){ - return miny_+1.0; - }else{ - return maxy_; - } -} - - -PlotDataEntry PlotData::GetPlotDataEntry(unsigned int idx) -{ - return pde_vector_[idx]; -} - -unsigned int PlotData::GetCount() -{ - return pde_vector_.size(); -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_data.hh b/modules/gui/src/plot_viewer/plot_data.hh deleted file mode 100644 index 8790d9b063a8066674004710d4d4c90683e829de..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data.hh +++ /dev/null @@ -1,75 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ - - -#ifndef PLOT_DATA_HH_ -#define PLOT_DATA_HH_ - - -/* - Author: Andreas Schenk -*/ - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <ost/gui/module_config.hh> -#include "plot_data_base.hh" -#include "plot_data_entry.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotData: public PlotDataBase -{ -public: - PlotData(); - virtual ~PlotData(); - - virtual Real GetMinimumX(); - virtual Real GetMaximumX(); - virtual Real GetMinimumY(); - virtual Real GetMaximumY(); - - void AddXY(Real x, Real y, const QString& info = ""); - void AddXYQ(Real x, Real y, Real Q, const QString& info = ""); - void AddXYEQ(Real x, Real y,Real e, Real q, const QString& info = ""); - void AddXYE(Real x, Real y, Real e, const QString& info = ""); - void AddXEYE(Real x, Real ex, Real y, Real ey, const QString& info = ""); - void AddXEYEQ(Real x, Real ex, Real y, Real ey,Real Q, const QString& info = ""); - void AddY(Real y, const QString& info = ""); - void AddYQ(Real y, Real Q, const QString& info = ""); - void AddYE(Real y, Real e, const QString& info = ""); - void AddYEQ(Real y, Real ey,Real Q, const QString& info = ""); - void Clear(); - - PlotDataEntry GetPlotDataEntry(unsigned int idx); - unsigned int GetCount(); - -protected: - Real minx_; - Real maxx_; - Real miny_; - Real maxy_; - std::vector<PlotDataEntry> pde_vector_; -}; - -typedef boost::shared_ptr<PlotData> PlotDataPtr; - -}}//ns - -#endif /*PLOT_DATA_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_data_base.cc b/modules/gui/src/plot_viewer/plot_data_base.cc deleted file mode 100644 index 1c1474087b122d32e98be05cb55ad2c48bd15c07..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_base.cc +++ /dev/null @@ -1,35 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include "plot_data_base.hh" - -namespace ost{namespace gui{ - -PlotDataBase::PlotDataBase() -{ -} - -PlotDataBase::~PlotDataBase() -{ -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_data_entry.hh b/modules/gui/src/plot_viewer/plot_data_entry.hh deleted file mode 100644 index f6d443eaed51d07ebf22ed4671508273bee20d09..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_entry.hh +++ /dev/null @@ -1,49 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_DATA_POINT_HH_ -#define PLOT_DATA_POINT_HH_ - - -/* - Author: Andreas Schenk -*/ - -#include <QString> -#include <ost/gui/module_config.hh> - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotDataEntry { -public: - PlotDataEntry(Real x_=0, Real ex_=0, Real y_=0, Real ey_=0, Real q_=1, - const QString& info_ = ""): - x(x_), y(y_), ex(ex_), ey(ey_), q(q_), info(info_) {} - Real x; - Real y; - Real ex; - Real ey; - Real q; - QString info; -}; - - - -}}//ns - -#endif /*PLOT_DATA_POINT_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_data_graphics_item.cc b/modules/gui/src/plot_viewer/plot_data_graphics_item.cc deleted file mode 100644 index 68f287076de406cc4256840b4eddbbf5858e4962..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_graphics_item.cc +++ /dev/null @@ -1,141 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QtAlgorithms> - -#include <ost/dyn_cast.hh> -#include <ost/gui/python_shell/python_interpreter.hh> -#include "plot_data_info.hh" -#include "plot_graphics_ellipse_item.hh" -#include "plot_graphics_rectangle_item.hh" -#include "plot_graphics_cross_item.hh" -#include "plot_graphics_diagonal_cross_item.hh" -#include "plot_data_graphics_item.hh" - - -namespace ost{namespace gui{ - -PlotDataGraphicsItem::PlotDataGraphicsItem(const PlotDataInfoPtr& info,const PlotDataPtr& dataptr, QGraphicsItem * parent): - PlotDataGraphicsItemBase(info,parent), - dataptr_(dataptr) -{ -} - -PlotDataGraphicsItem::~PlotDataGraphicsItem() -{ -} - - -void PlotDataGraphicsItem::Redraw() -{ - unsigned int zvalue=0; - qDeleteAll(childItems()); - if(dataptr_->GetCount()==0){ - return; - } - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(infoptr_); - switch(infoptr->errormode){ - case PlotDataInfo::NONE: - break; - case PlotDataInfo::LINE: - break; - case PlotDataInfo::BOX: - break; - case PlotDataInfo::VECTOR: - break; - default: - break; - } - switch(infoptr->mode){ - case PlotDataInfo::LINES: - case PlotDataInfo::POINTSANDLINES: - //draw lines - { - PlotDataEntry old=dataptr_->GetPlotDataEntry(0); - for (unsigned int i=1;i<dataptr_->GetCount();++i) { - PlotDataEntry pde=dataptr_->GetPlotDataEntry(i); - QGraphicsLineItem* line=new QGraphicsLineItem(old.x,old.y,pde.x,pde.y,this); - line->setZValue(++zvalue); - line->setPen(infoptr->pen); - old=pde; - } - break; - } - case PlotDataInfo::AREA: - case PlotDataInfo::POINTSANDAREA: - //draw area - break; - default: - break; - } - switch(infoptr->mode){ - case PlotDataInfo::POINTS: - case PlotDataInfo::POINTSANDLINES: - case PlotDataInfo::POINTSANDAREA: - //draw points - switch(infoptr->shape){ - case PlotDataInfo::CIRCLE: - for (unsigned int i=0;i<dataptr_->GetCount();++i) { - PlotDataEntry pde=dataptr_->GetPlotDataEntry(i); - PlotGraphicsEllipseItem* ellipse=new PlotGraphicsEllipseItem(pde,infoptr,this); - ellipse->setZValue(++zvalue); - } - break; - case PlotDataInfo::RECTANGLE: - for (unsigned int i=0;i<dataptr_->GetCount();++i) { - PlotDataEntry pde=dataptr_->GetPlotDataEntry(i); - PlotGraphicsRectangleItem* rect=new PlotGraphicsRectangleItem(pde,infoptr,this); - rect->setZValue(++zvalue); - } - break; - case PlotDataInfo::CROSS: - for (unsigned int i=0;i<dataptr_->GetCount();++i) { - PlotDataEntry pde=dataptr_->GetPlotDataEntry(i); - PlotGraphicsCrossItem* cross=new PlotGraphicsCrossItem(pde,infoptr,this); - cross->setZValue(++zvalue); - } - break; - case PlotDataInfo::DIAGONALCROSS: - for (unsigned int i=0;i<dataptr_->GetCount();++i) { - PlotDataEntry pde=dataptr_->GetPlotDataEntry(i); - PlotGraphicsDiagonalCrossItem* diagcross=new PlotGraphicsDiagonalCrossItem(pde,infoptr,this); - diagcross->setZValue(++zvalue); - } - break; - default: - break; - } - break; - default: - break; - } -} - -void PlotDataGraphicsItem::Callback(const PlotDataEntry& pde) -{ - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(infoptr_); - if(infoptr->callback!=boost::python::object()){ - PythonInterpreter::Instance().CallFunction(infoptr->callback,boost::python::make_tuple(pde.x,pde.y,pde.ex,pde.ey,pde.q,boost::python::str(pde.info.toStdString().c_str()))); - } -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_data_graphics_item.hh b/modules/gui/src/plot_viewer/plot_data_graphics_item.hh deleted file mode 100644 index eda504efe4d547e67865b570b92fd8017968d63d..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_graphics_item.hh +++ /dev/null @@ -1,41 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_DATA_GRAPHICS_ITEM_HH_ -#define PLOT_DATA_GRAPHICS_ITEM_HH_ - -#include "plot_data_graphics_item_base.hh" -#include "plot_data.hh" - -namespace ost{namespace gui{ - -class PlotDataGraphicsItem: public PlotDataGraphicsItemBase -{ -public: - PlotDataGraphicsItem (const PlotDataInfoPtr& info,const PlotDataPtr& dataptr, QGraphicsItem * parent = 0 ); - virtual ~PlotDataGraphicsItem(); - void Callback(const PlotDataEntry& pde); - virtual void Redraw(); - -protected: - PlotDataPtr dataptr_; -}; - -}}//ns - -#endif /*PLOT_DATA_GRAPHICS_ITEM_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_data_graphics_item_base.cc b/modules/gui/src/plot_viewer/plot_data_graphics_item_base.cc deleted file mode 100644 index dff5d4bc88ac9bba5493e9a9df956a9e748eb6fe..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_graphics_item_base.cc +++ /dev/null @@ -1,78 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include "plot_data_info.hh" -#include "plot_data_graphics_item_base.hh" - -namespace ost{namespace gui{ - -PlotDataGraphicsItemBase::PlotDataGraphicsItemBase(const PlotInfoBasePtr& info, QGraphicsItem * parent): - QObject(), - QGraphicsItem(parent), - infoptr_(info), - dirty_(true) -{ - connect(infoptr_.get(),SIGNAL(visibilityChanged()),this,SLOT(OnVisibilityChange())); - connect(infoptr_.get(),SIGNAL(appearanceChanged()),this,SLOT(OnAppearanceChange())); -} - -PlotDataGraphicsItemBase::~PlotDataGraphicsItemBase() -{ -} - - - -void PlotDataGraphicsItemBase::paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) -{ - -} - -QRectF PlotDataGraphicsItemBase::boundingRect() const -{ - return childrenBoundingRect(); -} - -void PlotDataGraphicsItemBase::Redraw() -{ - dirty_=false; -} -void PlotDataGraphicsItemBase::update ( const QRectF & rect) -{ - if(dirty_){ - dirty_=false; - Redraw(); - } -} -void PlotDataGraphicsItemBase::OnAppearanceChange() -{ - dirty_=true; - update(); -} - -void PlotDataGraphicsItemBase::OnVisibilityChange() -{ - setVisible(infoptr_->visible); - update(); -} - - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_data_graphics_item_base.hh b/modules/gui/src/plot_viewer/plot_data_graphics_item_base.hh deleted file mode 100644 index 050bcca2f51f5be23f62077c30ff9cd7ff2d7822..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_graphics_item_base.hh +++ /dev/null @@ -1,56 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_DATA_GRAPHICS_ITEM_BASE_HH_ -#define PLOT_DATA_GRAPHICS_ITEM_BASE_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QGraphicsItem> -#include <QObject> - -#include <ost/gui/module_config.hh> -#include "plot_info_base.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotDataGraphicsItemBase: public QObject, public QGraphicsItem -{ - Q_OBJECT -public: - PlotDataGraphicsItemBase(const PlotInfoBasePtr& info,QGraphicsItem * parent = 0); - virtual ~PlotDataGraphicsItemBase(); - virtual void paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ); - virtual QRectF boundingRect() const; - virtual void Redraw(); - -public slots: - void OnAppearanceChange(); - void OnVisibilityChange(); - void update ( const QRectF & rect = QRectF() ); - -protected: - PlotInfoBasePtr infoptr_; - bool dirty_; -}; - -}}//ns - -#endif /*PLOT_DATA_GRAPHICS_ITEM_BASE_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_data_info.cc b/modules/gui/src/plot_viewer/plot_data_info.cc deleted file mode 100644 index d4199295226e4f4de7418f763f88a588d8c33d5b..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_info.cc +++ /dev/null @@ -1,85 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include "plot_data_info.hh" - -namespace ost{namespace gui{ - -PlotDataInfo::PlotDataInfo(PlotViewerPanel * viewer): - PlotInfoBase(viewer), - shape(CIRCLE), - symbolsize(2), - errormode(NONE), - errorscalex(1), - errorscaley(1), - use_weights(false) -{ - name="Data"; -} - -PlotDataInfo::PlotDataInfo(const PlotDataInfo& pdi): - PlotInfoBase(pdi), - shape(pdi.shape), - symbolsize(pdi.symbolsize), - errormode(pdi.errormode), - errorscalex(pdi.errorscalex), - errorscaley(pdi.errorscaley), - use_weights(pdi.use_weights) -{ -} - -PlotDataInfo& PlotDataInfo::SetSymbol(unsigned int val) -{ - shape=val; - emit appearanceChanged(); - return *this; -} -PlotDataInfo& PlotDataInfo::SetSymbolSize(unsigned int val) -{ - symbolsize=val; - emit appearanceChanged(); - return *this; -} -PlotDataInfo& PlotDataInfo::SetErrorMode(unsigned int val) -{ - errormode=val; - emit appearanceChanged(); - return *this; -} - -PlotDataInfo& PlotDataInfo::SetQuality(bool val) -{ - use_weights=val; - emit appearanceChanged(); - return *this; -} - - - -PlotDataInfo& PlotDataInfo::SetCallback(const boost::python::object& cb) -{ - callback=cb; - return *this; -} - - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_data_info.hh b/modules/gui/src/plot_viewer/plot_data_info.hh deleted file mode 100644 index d1f6a44a6da4faadc6d8cbb5f6540d26a1835bb6..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_info.hh +++ /dev/null @@ -1,60 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_DATA_INFO_HH_ -#define PLOT_DATA_INFO_HH_ - - -/* - Author: Andreas Schenk -*/ - -#include <vector> -#include <boost/python.hpp> - -#include <ost/gui/module_config.hh> -#include <ost/gui/plot_viewer/plot_data_info_fw.hh> - -#include "plot_info_base.hh" - - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotDataInfo : public PlotInfoBase -{ -public: - PlotDataInfo(PlotViewerPanel * viewer=0); - PlotDataInfo(const PlotDataInfo&); - virtual PlotDataInfo& SetSymbol(unsigned int val); - virtual PlotDataInfo& SetSymbolSize(unsigned int val); - virtual PlotDataInfo& SetErrorMode(unsigned int val); - virtual PlotDataInfo& SetQuality(bool val); - virtual PlotDataInfo& SetCallback(const boost::python::object & callback_); - unsigned int shape; - unsigned int symbolsize; - unsigned int errormode; - Real errorscalex; - Real errorscaley; - bool use_weights; - boost::python::object callback; - -}; - -typedef std::vector<PlotDataInfoPtr> PlotDataInfoVector; -}}//ns -#endif /*PLOT_DATA_INFO_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_data_info_fw.hh b/modules/gui/src/plot_viewer/plot_data_info_fw.hh deleted file mode 100644 index 27f32770d60291b5238e5c0ca0b017911a585316..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_data_info_fw.hh +++ /dev/null @@ -1,35 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_DATA_INFO_FW_HH_ -#define PLOT_DATA_INFO_FW_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <boost/shared_ptr.hpp> - -namespace ost{namespace gui{ - -class PlotDataInfo; - -typedef boost::shared_ptr<PlotDataInfo> PlotDataInfoPtr; - -}}//ns -#endif /*PLOT_DATA_INFO_FW_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_function.cc b/modules/gui/src/plot_viewer/plot_function.cc deleted file mode 100644 index 2b10657a9fc9d8869022f9a79c047b3fd3776965..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_function.cc +++ /dev/null @@ -1,37 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include "plot_function.hh" - -namespace ost{namespace gui{ - -PlotFunction::PlotFunction(): - PlotDataBase() -{ -} - -PlotFunction::~PlotFunction() -{ -} - - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_function_graphics_item.cc b/modules/gui/src/plot_viewer/plot_function_graphics_item.cc deleted file mode 100644 index 5c017ea09a995a8c0a6b8351b28c8f57cdb9785f..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_function_graphics_item.cc +++ /dev/null @@ -1,77 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <ost/dyn_cast.hh> - -#include "plot_data_info.hh" -#include "plot_function_graphics_item.hh" - -namespace ost{namespace gui{ - -PlotFunctionGraphicsItem::PlotFunctionGraphicsItem(const PlotFunctionInfoPtr& info,const PlotFunctionPtr& functionptr, QGraphicsItem * parent): - PlotDataGraphicsItemBase(info,parent), - functionptr_(functionptr) -{ -} - -PlotFunctionGraphicsItem::~PlotFunctionGraphicsItem() -{ -} - - - -void PlotFunctionGraphicsItem::Redraw() -{ - unsigned int zvalue=0; - qDeleteAll(childItems()); - PlotFunctionInfoPtr infoptr=dyn_cast<PlotFunctionInfo>(infoptr_); - switch(infoptr->mode){ - case PlotInfoBase::LINES: - case PlotInfoBase::POINTSANDLINES: - case PlotInfoBase::POINTS: - //draw lines - { - Real xold=infoptr->start; - Real yold=functionptr_->Func(xold); - for (Real x=xold+infoptr->delta;x<=infoptr->end;x+=infoptr->delta) { - Real y=functionptr_->Func(x); - QGraphicsLineItem* line=new QGraphicsLineItem(xold,yold,x,y,this); - line->setZValue(++zvalue); - line->setPen(infoptr->pen); - xold=x; - yold=y; - } - break; - } - case PlotInfoBase::AREA: - case PlotInfoBase::POINTSANDAREA: - //draw area - break; - default: - break; - } -} - - - - -}} diff --git a/modules/gui/src/plot_viewer/plot_function_graphics_item.hh b/modules/gui/src/plot_viewer/plot_function_graphics_item.hh deleted file mode 100644 index 2c43be23bf5644dbdcb481249fb208242c7d83cf..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_function_graphics_item.hh +++ /dev/null @@ -1,47 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_FUNCTION_GRAPHICS_ITEM_HH_ -#define PLOT_FUNCTION_GRAPHICS_ITEM_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QGraphicsItem> -#include "plot_data_graphics_item_base.hh" -#include "plot_function.hh" -#include "plot_function_info.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotFunctionGraphicsItem: public PlotDataGraphicsItemBase -{ -public: - PlotFunctionGraphicsItem (const PlotFunctionInfoPtr& info,const PlotFunctionPtr& functionptr, QGraphicsItem * parent = 0 ); - virtual ~PlotFunctionGraphicsItem(); - virtual void Redraw(); - - -protected: - PlotFunctionPtr functionptr_; -}; - -}} - -#endif /*PLOT_FUNCTION_GRAPHICS_ITEM_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_function_info.hh b/modules/gui/src/plot_viewer/plot_function_info.hh deleted file mode 100644 index 27661bc607f32bf0f3328a9c493d943115ba912f..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_function_info.hh +++ /dev/null @@ -1,48 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_FUNCTION_INFO_HH_ -#define PLOT_FUNCTION_INFO_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <boost/shared_ptr.hpp> -#include "plot_info_base.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotFunctionInfo: public PlotInfoBase -{ - Q_OBJECT -public: - PlotFunctionInfo(PlotViewerPanel * viewer=0); - virtual ~PlotFunctionInfo(); - Real start; - Real end; - Real delta; -public slots: - void OnRangeChange(Real start,Real end,Real delta); -}; - -typedef boost::shared_ptr<PlotFunctionInfo> PlotFunctionInfoPtr; - -}}//ns - -#endif /*PLOT_FUNCTION_INFO_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_graphics_cross_item.cc b/modules/gui/src/plot_viewer/plot_graphics_cross_item.cc deleted file mode 100644 index 23ebd6cbcc644a51886933a7bb5f63e5c0d8311d..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_cross_item.cc +++ /dev/null @@ -1,76 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QCursor> -#include <QToolTip> -#include "plot_data_info.hh" -#include "plot_data_graphics_item.hh" -#include "plot_graphics_cross_item.hh" - -namespace ost {namespace gui { - -PlotGraphicsCrossItem::PlotGraphicsCrossItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent): - QGraphicsPathItem(parent), - pde_(entry) -{ - setPos(pde_.x,pde_.y); - setPen(info->pen); - setBrush(info->brush); - setFlags(QGraphicsItem::ItemIgnoresTransformations); - setAcceptHoverEvents(true); - setCursor(Qt::CrossCursor); - QPainterPath path; - path.moveTo(-static_cast<Real>(info->symbolsize)/2.0, 0.0); - path.lineTo(static_cast<Real>(info->symbolsize)/2.0, 0.0); - path.moveTo(0.0,-static_cast<Real>(info->symbolsize)/2.0); - path.lineTo(0.0,static_cast<Real>(info->symbolsize)/2.0); - setPath(path); -} - -PlotGraphicsCrossItem::~PlotGraphicsCrossItem() -{ - // TODO Auto-generated destructor stub -} - -void PlotGraphicsCrossItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString("x: %1\ny: %2\nex: %3\ney: %4\nq: %5\ni: %6") - .arg(pde_.x) - .arg(pde_.y) - .arg(pde_.ex) - .arg(pde_.ey) - .arg(pde_.q) - .arg(pde_.info), - event->widget()); -} - -void PlotGraphicsCrossItem::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString(),event->widget()); -} - -void PlotGraphicsCrossItem::mousePressEvent( QGraphicsSceneMouseEvent * event ) -{ - dynamic_cast<PlotDataGraphicsItem*>(parentItem())->Callback(pde_); -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_graphics_cross_item.hh b/modules/gui/src/plot_viewer/plot_graphics_cross_item.hh deleted file mode 100644 index d423d1339ee0a424a15b576ed0c0516b41127aa5..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_cross_item.hh +++ /dev/null @@ -1,48 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_GRAPHICS_CROSS_ITEM_HH_ -#define PLOT_GRAPHICS_CROSS_ITEM_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QGraphicsItem> -#include <QGraphicsSceneHoverEvent> -#include "plot_data_entry.hh" -#include "plot_data_info_fw.hh" - -namespace ost {namespace gui { - -class DLLEXPORT_OST_GUI PlotGraphicsCrossItem: public QGraphicsPathItem -{ -public: - PlotGraphicsCrossItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent); - virtual ~PlotGraphicsCrossItem(); -protected: - virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event ); - virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event ); - PlotDataEntry pde_; -}; - - -}}//ns - -#endif /* PLOT_GRAPHICS_CROSS_ITEM_HH_ */ diff --git a/modules/gui/src/plot_viewer/plot_graphics_diagonal_cross_item.cc b/modules/gui/src/plot_viewer/plot_graphics_diagonal_cross_item.cc deleted file mode 100644 index 88e92852ec7c867e1e54ce3f4b3887e19019fdc4..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_diagonal_cross_item.cc +++ /dev/null @@ -1,75 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ -#include <QCursor> -#include <QToolTip> -#include "plot_data_info.hh" -#include "plot_data_graphics_item.hh" -#include "plot_graphics_diagonal_cross_item.hh" - -namespace ost {namespace gui { - -PlotGraphicsDiagonalCrossItem::PlotGraphicsDiagonalCrossItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent): - QGraphicsPathItem(parent), - pde_(entry) -{ - setPos(pde_.x,pde_.y); - setPen(info->pen); - setBrush(info->brush); - setFlags(QGraphicsItem::ItemIgnoresTransformations); - setAcceptHoverEvents(true); - setCursor(Qt::CrossCursor); - QPainterPath path; - path.moveTo(-static_cast<Real>(info->symbolsize)/2.0, -static_cast<Real>(info->symbolsize)/2.0); - path.lineTo(static_cast<Real>(info->symbolsize)/2.0, static_cast<Real>(info->symbolsize)/2.0); - path.moveTo(static_cast<Real>(info->symbolsize)/2.0,-static_cast<Real>(info->symbolsize)/2.0); - path.lineTo(-static_cast<Real>(info->symbolsize)/2.0,static_cast<Real>(info->symbolsize)/2.0); - setPath(path); -} - -PlotGraphicsDiagonalCrossItem::~PlotGraphicsDiagonalCrossItem() -{ - // TODO Auto-generated destructor stub -} - -void PlotGraphicsDiagonalCrossItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString("x: %1\ny: %2\nex: %3\ney: %4\nq: %5\ni: %6") - .arg(pde_.x) - .arg(pde_.y) - .arg(pde_.ex) - .arg(pde_.ey) - .arg(pde_.q) - .arg(pde_.info), - event->widget()); -} - -void PlotGraphicsDiagonalCrossItem::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString(),event->widget()); -} - -void PlotGraphicsDiagonalCrossItem::mousePressEvent( QGraphicsSceneMouseEvent * event ) -{ - dynamic_cast<PlotDataGraphicsItem*>(parentItem())->Callback(pde_); -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_graphics_diagonal_cross_item.hh b/modules/gui/src/plot_viewer/plot_graphics_diagonal_cross_item.hh deleted file mode 100644 index 01cf3b5643b5a35e097ca0d0e4640b45f3d36a3d..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_diagonal_cross_item.hh +++ /dev/null @@ -1,48 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_GRAPHICS_DIAGONAL_CROSS_ITEM_HH_ -#define PLOT_GRAPHICS_DIAGONAL_CROSS_ITEM_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QGraphicsItem> -#include <QGraphicsSceneHoverEvent> -#include "plot_data_entry.hh" -#include "plot_data_info_fw.hh" - -namespace ost {namespace gui { - -class DLLEXPORT_OST_GUI PlotGraphicsDiagonalCrossItem: public QGraphicsPathItem -{ -public: - PlotGraphicsDiagonalCrossItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent); - virtual ~PlotGraphicsDiagonalCrossItem(); -protected: - virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event ); - virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event ); - PlotDataEntry pde_; -}; - - -}}//ns - -#endif /* PLOT_GRAPHICS_DIAGONAL_CROSS_ITEM_HH_ */ diff --git a/modules/gui/src/plot_viewer/plot_graphics_ellipse_item.cc b/modules/gui/src/plot_viewer/plot_graphics_ellipse_item.cc deleted file mode 100644 index a176d07ff406667715590c57bd4fb59e058fb5c2..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_ellipse_item.cc +++ /dev/null @@ -1,70 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QCursor> -#include <QToolTip> -#include "plot_data_info.hh" -#include "plot_data_graphics_item.hh" -#include "plot_graphics_ellipse_item.hh" - -namespace ost{namespace gui{ - -PlotGraphicsEllipseItem::PlotGraphicsEllipseItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent): - QGraphicsEllipseItem(-static_cast<Real>(info->symbolsize)/2.0, -static_cast<Real>(info->symbolsize)/2.0, info->symbolsize, info->symbolsize,parent), - pde_(entry) -{ - setPos(pde_.x,pde_.y); - setPen(info->pen); - setBrush(info->brush); - setFlags(QGraphicsItem::ItemIgnoresTransformations); - setAcceptHoverEvents(true); - setCursor(Qt::CrossCursor); -} - -PlotGraphicsEllipseItem::~PlotGraphicsEllipseItem() -{ -} - -void PlotGraphicsEllipseItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString("x: %1\ny: %2\nex: %3\ney: %4\nq: %5\ni: %6") - .arg(pde_.x) - .arg(pde_.y) - .arg(pde_.ex) - .arg(pde_.ey) - .arg(pde_.q) - .arg(pde_.info), - event->widget()); -} - -void PlotGraphicsEllipseItem::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString(),event->widget()); -} - -void PlotGraphicsEllipseItem::mousePressEvent( QGraphicsSceneMouseEvent * event ) -{ - dynamic_cast<PlotDataGraphicsItem*>(parentItem())->Callback(pde_); -} - - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_graphics_ellipse_item.hh b/modules/gui/src/plot_viewer/plot_graphics_ellipse_item.hh deleted file mode 100644 index f9f21c0524ac585635a7e3d3a5fef34ef89456ef..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_ellipse_item.hh +++ /dev/null @@ -1,47 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_GRAPHICS_ELLIPSE_ITEM_HH_ -#define PLOT_GRAPHICS_ELLIPSE_ITEM_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QGraphicsItem> -#include <QGraphicsSceneHoverEvent> -#include "plot_data_entry.hh" -#include "plot_data_info_fw.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotGraphicsEllipseItem: public QGraphicsEllipseItem -{ -public: - PlotGraphicsEllipseItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent); - virtual ~PlotGraphicsEllipseItem(); -protected: - virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event ); - virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event ); - PlotDataEntry pde_; -}; - -}}//ns - -#endif /*PLOT_GRAPHICS_ELLIPSE_ITEM_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_graphics_rectangle_item.cc b/modules/gui/src/plot_viewer/plot_graphics_rectangle_item.cc deleted file mode 100644 index dd61a1b22d0fa897bf31aa1fa9a5a67704e68a5e..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_rectangle_item.cc +++ /dev/null @@ -1,70 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QCursor> -#include <QToolTip> -#include "plot_data_info.hh" -#include "plot_data_graphics_item.hh" -#include "plot_graphics_rectangle_item.hh" - -namespace ost {namespace gui { - -PlotGraphicsRectangleItem::PlotGraphicsRectangleItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent): - QGraphicsRectItem(-static_cast<Real>(info->symbolsize)/2.0, -static_cast<Real>(info->symbolsize)/2.0, info->symbolsize, info->symbolsize,parent), - pde_(entry) -{ - setPos(pde_.x,pde_.y); - setPen(info->pen); - setBrush(info->brush); - setFlags(QGraphicsItem::ItemIgnoresTransformations); - setAcceptHoverEvents(true); - setCursor(Qt::CrossCursor); -} - -PlotGraphicsRectangleItem::~PlotGraphicsRectangleItem() -{ - // TODO Auto-generated destructor stub -} - -void PlotGraphicsRectangleItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString("x: %1\ny: %2\nex: %3\ney: %4\nq: %5\ni: %6") - .arg(pde_.x) - .arg(pde_.y) - .arg(pde_.ex) - .arg(pde_.ey) - .arg(pde_.q) - .arg(pde_.info), - event->widget()); -} - -void PlotGraphicsRectangleItem::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) -{ - QToolTip::showText(event->screenPos(),QString(),event->widget()); -} - -void PlotGraphicsRectangleItem::mousePressEvent( QGraphicsSceneMouseEvent * event ) -{ - dynamic_cast<PlotDataGraphicsItem*>(parentItem())->Callback(pde_); -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_graphics_rectangle_item.hh b/modules/gui/src/plot_viewer/plot_graphics_rectangle_item.hh deleted file mode 100644 index 5d099c6923eaac8115cd68430684481d8d16d19d..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_graphics_rectangle_item.hh +++ /dev/null @@ -1,47 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOTGRAPHICSRECTANGLEITEM_H_ -#define PLOTGRAPHICSRECTANGLEITEM_H_ - -/* - Author: Andreas Schenk -*/ - -#include <QGraphicsRectItem> -#include <QGraphicsSceneHoverEvent> -#include "plot_data_entry.hh" -#include "plot_data_info_fw.hh" - -namespace ost {namespace gui { - -class DLLEXPORT_OST_GUI PlotGraphicsRectangleItem: public QGraphicsRectItem -{ -public: - PlotGraphicsRectangleItem(const PlotDataEntry& entry,const PlotDataInfoPtr& info , QGraphicsItem * parent); - virtual ~PlotGraphicsRectangleItem(); -protected: - virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event ); - virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ); - virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event ); - PlotDataEntry pde_; -}; - -}}//ns - -#endif /* PLOTGRAPHICSRECTANGLEITEM_H_ */ diff --git a/modules/gui/src/plot_viewer/plot_group.cc b/modules/gui/src/plot_viewer/plot_group.cc deleted file mode 100644 index d3bcfc410d6bff698c0ed840b2b89dbb4b77e40a..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_group.cc +++ /dev/null @@ -1,162 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ -#include <limits> - -#include <ost/dyn_cast.hh> - -#include "plot_group.hh" - -namespace ost{namespace gui{ - -PlotGroup::PlotGroup(): - PlotDataBase(), - ptr_list_() -{ -} - -PlotGroup::~PlotGroup() -{ -} - -void PlotGroup::Add(PlotDataPtr dataptr) -{ - ptr_list_.push_back(dataptr); -} -void PlotGroup::Add(PlotFunctionPtr functionptr) -{ - ptr_list_.push_back(functionptr); -} -void PlotGroup::Add(PlotGroupPtr groupptr) -{ - ptr_list_.push_back(groupptr); -} - -unsigned int PlotGroup::GetSize() -{ - return ptr_list_.size(); -} -PlotDataBasePtr PlotGroup::GetChild(unsigned int index) -{ - return ptr_list_[index]; -} -Real PlotGroup::GetMinimumX() -{ - Real minx=std::numeric_limits<Real>::max(); - unsigned int count=0; - for(unsigned int i=0;i<GetSize();++i){ - PlotDataPtr dataptr=dyn_cast<PlotData>(GetChild(i)); - if(dataptr!=PlotDataPtr()){ - ++count; - minx=std::min<Real>(minx,dataptr->GetMinimumX()); - }else{ - PlotGroupPtr groupptr=dyn_cast<PlotGroup>(GetChild(i)); - if(groupptr!=PlotGroupPtr()){ - ++count; - minx=std::min<Real>(minx,groupptr->GetMinimumX()); - }else{ - //ignore - } - } - } - if(count==0){ - return 0.0; - }else{ - return minx; - } -} -Real PlotGroup::GetMaximumX() -{ - Real maxx=-std::numeric_limits<Real>::max(); - unsigned int count=0; - for(unsigned int i=0;i<GetSize();++i){ - PlotDataPtr dataptr=dyn_cast<PlotData>(GetChild(i)); - if(dataptr!=PlotDataPtr()){ - ++count; - maxx=std::max<Real>(maxx,dataptr->GetMaximumX()); - }else{ - PlotGroupPtr groupptr=dyn_cast<PlotGroup>(GetChild(i)); - if(groupptr!=PlotGroupPtr()){ - ++count; - maxx=std::max<Real>(maxx,groupptr->GetMaximumX()); - }else{ - //ignore - } - } - } - if(count==0){ - return 1.0; - }else{ - return maxx; - } -} -Real PlotGroup::GetMinimumY() -{ - Real miny=std::numeric_limits<Real>::max(); - unsigned int count=0; - for(unsigned int i=0;i<GetSize();++i){ - PlotDataPtr dataptr=dyn_cast<PlotData>(GetChild(i)); - if(dataptr!=PlotDataPtr()){ - ++count; - miny=std::min<Real>(miny,dataptr->GetMinimumY()); - }else{ - PlotGroupPtr groupptr=dyn_cast<PlotGroup>(GetChild(i)); - if(groupptr!=PlotGroupPtr()){ - ++count; - miny=std::min<Real>(miny,groupptr->GetMinimumY()); - }else{ - //ignore - } - } - } - if(count==0){ - return 0.0; - }else{ - return miny; - } -} -Real PlotGroup::GetMaximumY() -{ - Real maxy=-std::numeric_limits<Real>::max(); - unsigned int count=0; - for(unsigned int i=0;i<GetSize();++i){ - PlotDataPtr dataptr=dyn_cast<PlotData>(GetChild(i)); - if(dataptr!=PlotDataPtr()){ - ++count; - maxy=std::max<Real>(maxy,dataptr->GetMaximumY()); - }else{ - PlotGroupPtr groupptr=dyn_cast<PlotGroup>(GetChild(i)); - if(groupptr!=PlotGroupPtr()){ - ++count; - maxy=std::max<Real>(maxy,groupptr->GetMaximumY()); - }else{ - //ignore - } - } - } - if(count==0){ - return 1.0; - }else{ - return maxy; - } -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_group_graphics_item.cc b/modules/gui/src/plot_viewer/plot_group_graphics_item.cc deleted file mode 100644 index 9157f1cbd255b8606e106fc2c9ceabeabd1808b8..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_group_graphics_item.cc +++ /dev/null @@ -1,74 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <ost/dyn_cast.hh> -#include "plot_data_info.hh" -#include "plot_function_info.hh" -#include "plot_data_graphics_item.hh" -#include "plot_function_graphics_item.hh" -#include "plot_group_graphics_item.hh" - -namespace ost{namespace gui{ - -PlotGroupGraphicsItem::PlotGroupGraphicsItem(const PlotGroupInfoPtr& info,const PlotGroupPtr& groupptr, QGraphicsItem * parent): - PlotDataGraphicsItemBase(info,parent), - groupptr_(groupptr) -{ - for(unsigned int i=0;i<groupptr->GetSize();++i){ - PlotDataPtr dataptr=dyn_cast<PlotData>(groupptr->GetChild(i)); - if(dataptr!=PlotDataPtr()){ - PlotDataInfoPtr plotdatainfoptr(new PlotDataInfo()); - new PlotDataGraphicsItem(plotdatainfoptr,dataptr,this); - info->Add(plotdatainfoptr); - }else{ - PlotFunctionPtr functionptr=dyn_cast<PlotFunction>(groupptr->GetChild(i)); - if(functionptr!=PlotFunctionPtr()){ - PlotFunctionInfoPtr plotfunctioninfoptr(new PlotFunctionInfo()); - new PlotFunctionGraphicsItem(plotfunctioninfoptr,functionptr,this); - info->Add(plotfunctioninfoptr); - }else{ - PlotGroupPtr cgroupptr=dyn_cast<PlotGroup>(groupptr->GetChild(i)); - if(cgroupptr!=PlotGroupPtr()){ - PlotGroupInfoPtr plotgroupinfoptr(new PlotGroupInfo()); - new PlotGroupGraphicsItem(plotgroupinfoptr,groupptr); - info->Add(plotgroupinfoptr); - }else{ - //should never be reached - } - } - } - } -} - -PlotGroupGraphicsItem::~PlotGroupGraphicsItem() -{ -} - -void PlotGroupGraphicsItem::Redraw() -{ - QList<QGraphicsItem *> children=childItems(); - for(int i=0;i<children.size();++i){ - dynamic_cast<PlotDataGraphicsItemBase*>(children[i])->Redraw(); - } -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_group_graphics_item.hh b/modules/gui/src/plot_viewer/plot_group_graphics_item.hh deleted file mode 100644 index f1f97d615b7e9f948c1c02e2a42ee2989c727bdf..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_group_graphics_item.hh +++ /dev/null @@ -1,44 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_GROUP_GRAPHICS_ITEM_HH_ -#define PLOT_GROUP_GRAPHICS_ITEM_HH_ - -/* - Author: Andreas Schenk -*/ - -#include "plot_group_info.hh" -#include "plot_group.hh" -#include "plot_data_graphics_item_base.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotGroupGraphicsItem: public PlotDataGraphicsItemBase -{ -public: - PlotGroupGraphicsItem(const PlotGroupInfoPtr& info,const PlotGroupPtr& groupptr, QGraphicsItem * parent = 0 ); - virtual ~PlotGroupGraphicsItem(); - virtual void Redraw(); -protected: - PlotGroupPtr groupptr_; -}; - -}} - -#endif /*PLOT_GROUP_GRAPHICS_ITEM_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_group_info.cc b/modules/gui/src/plot_viewer/plot_group_info.cc deleted file mode 100644 index 25f799d331023a121708ef4960469bb53185badf..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_group_info.cc +++ /dev/null @@ -1,166 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include <ost/dyn_cast.hh> - -#include "plot_group_info.hh" -#include "plot_data_info.hh" - -namespace ost{namespace gui{ - -PlotGroupInfo::PlotGroupInfo(PlotViewerPanel * viewer): - PlotInfoBase(viewer), - children_() -{ - name="Group"; -} - -PlotGroupInfo::~PlotGroupInfo() -{ -} - -void PlotGroupInfo::Add(PlotInfoBasePtr info) -{ - children_.push_back(info); -} - -unsigned int PlotGroupInfo:: GetSize() -{ - return children_.size(); -} - -PlotInfoBasePtr PlotGroupInfo::GetChild(unsigned int i) -{ - return children_[i]; -} - -PlotGroupInfo& PlotGroupInfo::SetSymbol(unsigned int val) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(*it); - if(infoptr!=PlotDataInfoPtr()){ - infoptr->SetSymbol(val); - } - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetSymbolSize(unsigned int val) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(*it); - if(infoptr!=PlotDataInfoPtr()){ - infoptr->SetSymbolSize(val); - } - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetErrorMode(unsigned int val) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(*it); - if(infoptr!=PlotDataInfoPtr()){ - infoptr->SetErrorMode(val); - } - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetQuality(bool val) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(*it); - if(infoptr!=PlotDataInfoPtr()){ - infoptr->SetQuality(val); - } - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetCallback(const boost::python::object & callback_) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - PlotDataInfoPtr infoptr=dyn_cast<PlotDataInfo>(*it); - if(infoptr!=PlotDataInfoPtr()){ - infoptr->SetCallback(callback_); - } - } - return *this; -} - - - -PlotGroupInfo& PlotGroupInfo::SetMode(unsigned int val) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetMode(val); - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetColor(const QColor& color) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetColor(color); - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetColor(int r, int g, int b) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetColor(r,g,b); - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetLineColor(int r, int g, int b) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetLineColor(r,g,b); - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetFillColor(int r, int g, int b) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetFillColor(r,g,b); - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetLineColor(const QColor& color) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetLineColor(color); - } - return *this; -} - -PlotGroupInfo& PlotGroupInfo::SetFillColor(const QColor& color) -{ - for(PlotInfoBasePtrVector::iterator it=children_.begin();it!=children_.end();++it){ - (*it)->SetLineColor(color); - } - return *this; -} - - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_group_info.hh b/modules/gui/src/plot_viewer/plot_group_info.hh deleted file mode 100644 index 20f6b4c742cc5e20f03a3b2b96a2a8f7302cd429..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_group_info.hh +++ /dev/null @@ -1,61 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_GROUP_INFO_HH_ -#define PLOT_GROUP_INFO_HH_ - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <boost/python.hpp> -#include "plot_info_base.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotGroupInfo: public PlotInfoBase -{ - typedef std::vector<PlotInfoBasePtr> PlotInfoBasePtrVector; -public: - PlotGroupInfo(PlotViewerPanel * viewer=0); - virtual ~PlotGroupInfo(); - virtual PlotGroupInfo& SetSymbol(unsigned int val); - virtual PlotGroupInfo& SetSymbolSize(unsigned int val); - virtual PlotGroupInfo& SetErrorMode(unsigned int val); - virtual PlotGroupInfo& SetQuality(bool val); - virtual PlotGroupInfo& SetCallback(const boost::python::object & callback_); - - virtual PlotGroupInfo& SetMode(unsigned int val); - virtual PlotGroupInfo& SetColor(const QColor& color); - virtual PlotGroupInfo& SetColor(int r, int g, int b); - virtual PlotGroupInfo& SetLineColor(int r, int g, int b); - virtual PlotGroupInfo& SetFillColor(int r, int g, int b); - virtual PlotGroupInfo& SetLineColor(const QColor& color); - virtual PlotGroupInfo& SetFillColor(const QColor& color); - void Add(PlotInfoBasePtr info); - unsigned int GetSize(); - PlotInfoBasePtr GetChild(unsigned int i); -protected: - PlotInfoBasePtrVector children_; -}; - -typedef boost::shared_ptr<PlotGroupInfo> PlotGroupInfoPtr; - - -}}//ns - - -#endif /*PLOT_GROUP_INFO_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_info_base.cc b/modules/gui/src/plot_viewer/plot_info_base.cc deleted file mode 100644 index aa284a623c524072b8cb448699529e8aa658fd43..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_info_base.cc +++ /dev/null @@ -1,109 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include "plot_info_base.hh" - -namespace ost { namespace gui { - -PlotInfoBase::PlotInfoBase(PlotViewerPanel * viewer): - QObject(), - name(""), - pen(QPen(QColor(0,0,0))), - brush(QBrush(QColor(255,255,255))), - mode(LINE), - visible(true) -{ -} - -PlotInfoBase::PlotInfoBase(const PlotInfoBase& pib): - QObject(), - name(pib.name), - pen(pib.pen), - brush(pib.brush), - mode(pib.mode), - visible(pib.visible) -{ -} - -PlotInfoBase::~PlotInfoBase() -{ -} - - -PlotInfoBase& PlotInfoBase::SetMode(unsigned int val) -{ - mode=val; - emit appearanceChanged(); - return *this; -} - -PlotInfoBase& PlotInfoBase::SetVisible(bool val) -{ - visible=val; - emit visibilityChanged(); - return *this; -} - -PlotInfoBase& PlotInfoBase::SetColor(const QColor& color) -{ - pen.setColor(color); - brush.setColor(color); - emit appearanceChanged(); - return *this; -} - -PlotInfoBase& PlotInfoBase::SetColor(int r, int g, int b) -{ - return SetColor(QColor(r,g,b)); -} - -PlotInfoBase& PlotInfoBase::SetLineColor(int r, int g, int b) -{ - return SetLineColor(QColor(r,g,b)); -} - -PlotInfoBase& PlotInfoBase::SetLineColor(const QColor& color) -{ - pen.setColor(color); - emit appearanceChanged(); - return *this; -} - -PlotInfoBase& PlotInfoBase::SetFillColor(int r, int g, int b) -{ - return SetFillColor(QColor(r,g,b)); -} -PlotInfoBase& PlotInfoBase::SetFillColor(const QColor& color) -{ - brush.setColor(color); - emit appearanceChanged(); - return *this; -} - -PlotInfoBase& PlotInfoBase::SetName(const QString& n) -{ - name=n; - emit nameChanged(); - return *this; -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_info_base.hh b/modules/gui/src/plot_viewer/plot_info_base.hh deleted file mode 100644 index 46b21b085fd6416b860b893edc00f2bc0e118b7f..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_info_base.hh +++ /dev/null @@ -1,90 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_INFO_BASE_HH_ -#define PLOT_INFO_BASE_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <boost/shared_ptr.hpp> -#include <QObject> -#include <QColor> -#include <QPen> -#include <QBrush> - -#include <ost/gui/module_config.hh> - -namespace ost{namespace gui{ - -//fw decl -class PlotViewerPanel; - -class DLLEXPORT_OST_GUI PlotInfoBase: public QObject -{ - Q_OBJECT -public: - enum modes{ - POINTS, - LINES, - POINTSANDLINES, - AREA, - POINTSANDAREA - }; - enum shapes{ - CIRCLE, - RECTANGLE, - CROSS, - DIAGONALCROSS - }; - enum errormodes{ - NONE, - LINE, - BOX, - VECTOR - }; - PlotInfoBase(PlotViewerPanel * viewer=0); - PlotInfoBase(const PlotInfoBase&); - virtual ~PlotInfoBase(); - - virtual PlotInfoBase& SetName(const QString& n); - virtual PlotInfoBase& SetMode(unsigned int val); - virtual PlotInfoBase& SetVisible(bool val); - virtual PlotInfoBase& SetColor(const QColor& color); - virtual PlotInfoBase& SetColor(int r, int g, int b); - virtual PlotInfoBase& SetLineColor(int r, int g, int b); - virtual PlotInfoBase& SetFillColor(int r, int g, int b); - virtual PlotInfoBase& SetLineColor(const QColor& color); - virtual PlotInfoBase& SetFillColor(const QColor& color); - QString name; - QPen pen; - QBrush brush; - unsigned int mode; - bool visible; - -signals: - void appearanceChanged(); - void visibilityChanged(); - void nameChanged(); -}; -typedef boost::shared_ptr<PlotInfoBase> PlotInfoBasePtr; - -}}//ns - -#endif /*PLOT_INFO_BASE_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_legend_panel.cc b/modules/gui/src/plot_viewer/plot_legend_panel.cc deleted file mode 100644 index 44decfbc9abe01e0eee9df7ef2569d4afb01f857..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_legend_panel.cc +++ /dev/null @@ -1,100 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <ost/dyn_cast.hh> -#include <QMetaType> -#include "plot_legend_panel.hh" - -Q_DECLARE_METATYPE(ost::gui::PlotInfoBasePtr) - - -namespace ost{namespace gui{ - - -PlotLegendPanel::PlotLegendPanel(QWidget* parent): - QTreeWidget(parent) -{ - setColumnCount(3); - setHeaderLabels(QStringList() << "Dataset" << "Visible" << "Apprearance"); - connect(this,SIGNAL(itemChanged(QTreeWidgetItem*, int)),this,SLOT(OnItemChanged(QTreeWidgetItem*, int))); -} - -PlotLegendPanel::~PlotLegendPanel() -{ -} - -QTreeWidgetItem* PlotLegendPanel::create_item_(const PlotInfoBasePtr& info) -{ - QTreeWidgetItem* item=new QTreeWidgetItem(QStringList(info->name)); - item->setCheckState(1,Qt::Checked); - item->setData(0,Qt::UserRole,QVariant::fromValue(info)); - return item; -} - -void PlotLegendPanel::AddData(const PlotDataInfoPtr& info) -{ - addTopLevelItem(create_item_(info)); -} - -void PlotLegendPanel::AddFunction(const PlotFunctionInfoPtr& info) -{ - addTopLevelItem(create_item_(info)); -} - -void PlotLegendPanel::AddGroup(const PlotGroupInfoPtr& info) -{ - QTreeWidgetItem* item=create_item_(info); - generate_group_(info,item); - addTopLevelItem(item); -} - -void PlotLegendPanel::generate_group_(const PlotGroupInfoPtr& info, QTreeWidgetItem* parent) -{ - for(unsigned int i=0;i<info->GetSize();++i){ - PlotDataInfoPtr dataptr=dyn_cast<PlotDataInfo>(info->GetChild(i)); - if(dataptr!=PlotDataInfoPtr()){ - parent->addChild(create_item_(dataptr)); - }else{ - PlotFunctionInfoPtr functionptr=dyn_cast<PlotFunctionInfo>(info->GetChild(i)); - if(functionptr!=PlotFunctionInfoPtr()){ - parent->addChild(create_item_(functionptr)); - }else{ - PlotGroupInfoPtr groupptr=dyn_cast<PlotGroupInfo>(info->GetChild(i)); - if(groupptr!=PlotGroupInfoPtr()){ - QTreeWidgetItem* child=create_item_(groupptr); - generate_group_(groupptr,child); - parent->addChild(child); - }else{ - //should never be reached - } - } - } - } -} -void PlotLegendPanel::OnItemChanged(QTreeWidgetItem * item, int column ) -{ - if(column==1){ - item->data(0,Qt::UserRole).value<PlotInfoBasePtr>()->SetVisible(item->checkState(1)); - } -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_legend_panel.hh b/modules/gui/src/plot_viewer/plot_legend_panel.hh deleted file mode 100644 index 29a547d5b19564cd5d3227605e18c27e0509850b..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_legend_panel.hh +++ /dev/null @@ -1,52 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_LEGEND_PANEL_HH_ -#define PLOT_LEGEND_PANEL_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QTreeWidget> -#include <QTreeWidgetItem> -#include "plot_data_info.hh" -#include "plot_group_info.hh" -#include "plot_function_info.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotLegendPanel:public QTreeWidget -{ - Q_OBJECT -public: - PlotLegendPanel(QWidget* parent=0); - virtual ~PlotLegendPanel(); - void AddData(const PlotDataInfoPtr& info); - void AddFunction(const PlotFunctionInfoPtr& info); - void AddGroup(const PlotGroupInfoPtr& info); -public slots: - void OnItemChanged(QTreeWidgetItem * item, int column ); -protected: - void generate_group_(const PlotGroupInfoPtr& info, QTreeWidgetItem* parent); - QTreeWidgetItem* create_item_(const PlotInfoBasePtr& info); -}; - -}}//ns - -#endif /*PLOT_LEGEND_PANEL_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_ticker.cc b/modules/gui/src/plot_viewer/plot_ticker.cc deleted file mode 100644 index 9577e6844d495dc1c06c986b00e3dce3b9d29845..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_ticker.cc +++ /dev/null @@ -1,93 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <ost/gui/module_config.hh> // for round - -#include <cmath> -#include "plot_ticker.hh" - -PlotTickerBase::PlotTickerBase(): - min_(0.0), - max_(1.0), - start_(0), - end_(100), - separation_(20) -{ -} -PlotTickerBase::PlotTickerBase(Real min,Real max,int start,int end,unsigned int separation): - min_(min), - max_(max), - start_(start), - end_(end), - separation_(separation) -{ -} - -PlotTickerBase::~PlotTickerBase() -{ -} - - -PlotTickerLinear::PlotTickerLinear(): - PlotTickerBase() -{ -} - -PlotTickerLinear::PlotTickerLinear(Real min,Real max,int start,int end,unsigned int separation): - PlotTickerBase(min,max,start,end,separation) -{ -} -PlotTickerLinear::~PlotTickerLinear() -{ -} - -TickList PlotTickerLinear::GetTicks() -{ - TickList result; - Real sampling=static_cast<Real>(end_-start_)/(max_-min_); - int exponent=static_cast<int>(floor(log10( 1.0/sampling ))); - Real prefac=1; - while(1){ - //std::cout << sampling << " " << exponent << std::endl; - int prefacs[]={1,2,5}; - for(int i=0;i<3 && prefac*pow(10.0,exponent)*sampling<separation_;++i){ - prefac=prefacs[i]; - } - if(prefac*pow(10.0,exponent)*sampling>=separation_){ - break; - }else { - prefac=1; - ++exponent; - } - } - Real stepsize=prefac*pow(Real(10.0),static_cast<Real>(exponent)); - Real val=rint(min_/stepsize)*stepsize; - while(val<=max_){ - int pos=static_cast<int>(round(sampling*(val-min_)))+start_; - if(pos>=0){ - result.push_back(Tick(pos,val)); - } - val+=stepsize; - } - return result; -} - diff --git a/modules/gui/src/plot_viewer/plot_ticker.hh b/modules/gui/src/plot_viewer/plot_ticker.hh deleted file mode 100644 index da4e379baa520a11876538a56121f9a98f7440a5..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_ticker.hh +++ /dev/null @@ -1,72 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_TICKER_HH_ -#define PLOT_TICKER_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <vector> -#include <utility> - -#include <ost/gui/module_config.hh> - -#include "plot_ticker_fw.hh" - -typedef std::pair<int,Real> Tick; -typedef std::vector<Tick> TickList; - -class DLLEXPORT_OST_GUI PlotTickerBase -{ -public: - PlotTickerBase(); - PlotTickerBase(Real min,Real max=1.0,int start=0,int end=100,unsigned int separation=20); - virtual ~PlotTickerBase(); - Real GetMinimum(){return min_;} - void SetMinimum(Real min=0.0){min_=min;} - Real GetMaximum(){return max_;} - void SetMaximum(Real max=1.0){max_=max;} - void SetMinMax(Real min=0.0,Real max=1.0){min_=min;max_=max;} - int GetStart(){return start_;} - void SetStart(int start=0){start_=start;} - int GetEnd(){return end_;} - void SetEnd(int end=100){end_=end;} - void SetStartEnd(int start=0,int end=100){start_=start;end_=end;} - unsigned int GetSeparation(){return separation_;} - void SetSeparation(unsigned int separation){separation_=separation;} - virtual TickList GetTicks()=0; -protected: - Real min_; - Real max_; - int start_; - int end_; - unsigned int separation_; -}; - -class DLLEXPORT_OST_GUI PlotTickerLinear: public PlotTickerBase -{ -public: - PlotTickerLinear(); - PlotTickerLinear(Real min,Real max=1.0,int start=0,int end=100,unsigned int separation=20); - virtual ~PlotTickerLinear(); - virtual TickList GetTicks(); -}; - -#endif /*PLOT_TICKER_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_types.hh b/modules/gui/src/plot_viewer/plot_types.hh deleted file mode 100644 index ea773534bc2b870160ab2663e8af5b80d04175d1..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_types.hh +++ /dev/null @@ -1,52 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_TYPES_HH_ -#define PLOT_TYPES_HH_ - - -/* - Author: Andreas Schenk -*/ - -#include <QStandardItem> - - -namespace ost{namespace gui{ - -enum PlotTypes{ - PlotTypeDataPoint=QStandardItem::UserType+1, - PlotTypeData, - PlotTypeFunction, - PlotTypeGroup -}; - -enum PlotItemDataRoles{ - PlotTypeRole=Qt::UserRole+1, - PlotPDERole, - PlotFunctionDataRole, - PlotFunctionMinRole, - PlotFunctionMaxRole, - PlotFunctionStepRole, - PlotSymbolSizeRole, - PlotSymbolRole, - PlotModeRole -}; -}}//ns - -#endif /*PLOT_TYPES_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_viewer.cc b/modules/gui/src/plot_viewer/plot_viewer.cc deleted file mode 100644 index 4ee454836de1c277e9968c7a4c0f42b756819559..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_viewer.cc +++ /dev/null @@ -1,126 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <limits> -#include <QHBoxLayout> -#include <QVBoxLayout> - -#include "plot_viewer.hh" -#include "plot_viewer_panel.hh" -#include "plot_legend_panel.hh" -#include "plot_data_info.hh" -#include "plot_data_graphics_item.hh" -#include "plot_function_graphics_item.hh" -#include "plot_group_graphics_item.hh" - -namespace ost { namespace gui { - -PlotViewer::PlotViewer(QWidget* parent,const QString& name): - QWidget(parent), - scene_(), - viewer_(new PlotViewerPanel(&scene_,this)), - legend_(new PlotLegendPanel(this)), - model_(), - ptr_list_() -{ - scene_.setSceneRect(-std::numeric_limits<Real>::max()/2.0,-std::numeric_limits<Real>::max()/2.0,std::numeric_limits<Real>::max(),std::numeric_limits<Real>::max()); - setWindowTitle(name); - QHBoxLayout *hlayout = new QHBoxLayout; - hlayout->addWidget(viewer_,1); - hlayout->addWidget(legend_,0); - setLayout(hlayout); -} - -PlotViewer::~PlotViewer() -{ -} - -PlotDataInfoPtr PlotViewer::Add(PlotDataPtr dataptr, bool fit) -{ - PlotDataInfoPtr infoptr(new PlotDataInfo(viewer_)); - scene_.addItem(new PlotDataGraphicsItem(infoptr,dataptr)); - if(fit){ - viewer_->SetMinMax(dataptr->GetMinimumX(),dataptr->GetMaximumX(),dataptr->GetMinimumY(),dataptr->GetMaximumY()); - } - legend_->AddData(infoptr); - viewer_->update(); - return infoptr; -} - -PlotFunctionInfoPtr PlotViewer::Add(PlotFunctionPtr functionptr) -{ - PlotFunctionInfoPtr infoptr(new PlotFunctionInfo(viewer_)); - scene_.addItem(new PlotFunctionGraphicsItem(infoptr,functionptr)); - legend_->AddFunction(infoptr); - viewer_->update(); - return infoptr; -} -PlotGroupInfoPtr PlotViewer::Add(PlotGroupPtr groupptr,bool fit) -{ - PlotGroupInfoPtr infoptr(new PlotGroupInfo(viewer_)); - scene_.addItem(new PlotGroupGraphicsItem(infoptr,groupptr)); - if(fit){ - viewer_->SetMinMax(groupptr->GetMinimumX(),groupptr->GetMaximumX(),groupptr->GetMinimumY(),groupptr->GetMaximumY()); - } - legend_->AddGroup(infoptr); - viewer_->update(); - return infoptr; -} - -void PlotViewer::SetMinimumX(Real x) -{ - viewer_->SetMinimumX(x); -} -void PlotViewer::SetMaximumX(Real x) -{ - viewer_->SetMaximumX(x); -} -void PlotViewer::SetMinimumY(Real y) -{ - viewer_->SetMinimumY(y); -} -void PlotViewer::SetMaximumY(Real y) -{ - viewer_->SetMaximumY(y); -} -Real PlotViewer::GetMinimumX() const -{ - return viewer_->GetMinimumX(); -} -Real PlotViewer::GetMaximumX() const -{ - return viewer_->GetMaximumX(); -} -Real PlotViewer::GetMinimumY() const -{ - return viewer_->GetMinimumY(); -} -Real PlotViewer::GetMaximumY() const -{ - return viewer_->GetMaximumY(); -} - -void PlotViewer::SetAutofit(bool fit){ - viewer_->SetAutofit(fit); -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_viewer.hh b/modules/gui/src/plot_viewer/plot_viewer.hh deleted file mode 100644 index f5a6a4a58976d81447e623d58064a6ce21e43591..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_viewer.hh +++ /dev/null @@ -1,74 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_VIEWER_HH_ -#define PLOT_VIEWER_HH_ - -/* - Author: Andreas Schenk -*/ - -#include <QStandardItemModel> -#include <QGraphicsScene> -#include <QWidget> -#include <QString> - -#include "plot_data.hh" -#include "plot_function.hh" -#include "plot_group.hh" -#include "plot_function_info.hh" -#include "plot_data_info_fw.hh" -#include "plot_group_info.hh" - -namespace ost{namespace gui{ - - -//fw decl -class PlotViewerPanel; -class PlotLegendPanel; - - -class DLLEXPORT_OST_GUI PlotViewer: public QWidget -{ - typedef boost::shared_ptr<QStandardItem> QStandardItemPtr; -public: - PlotViewer(QWidget* parent,const QString& name=""); - virtual ~PlotViewer(); - PlotDataInfoPtr Add(PlotDataPtr dataptr, bool fit=false); - PlotFunctionInfoPtr Add(PlotFunctionPtr functionptr); - PlotGroupInfoPtr Add(PlotGroupPtr groupptr, bool fit=false); - void SetMinimumX(Real x); - void SetMaximumX(Real x); - void SetMinimumY(Real y); - void SetMaximumY(Real y); - Real GetMinimumX() const; - Real GetMaximumX() const; - Real GetMinimumY() const; - Real GetMaximumY() const; - void SetAutofit(bool fit=true); -private: - QGraphicsScene scene_; - PlotViewerPanel* viewer_; - PlotLegendPanel* legend_; - QStandardItemModel model_; - std::vector<QStandardItemPtr> ptr_list_; -}; - -}}//ns - -#endif /*PLOT_VIEWER_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_viewer_panel.cc b/modules/gui/src/plot_viewer/plot_viewer_panel.cc deleted file mode 100644 index a440c06803b475b0d90dd3ac2ebf1151ecdf4074..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_viewer_panel.cc +++ /dev/null @@ -1,251 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Andreas Schenk -*/ - -#include <QtGui> -#include "plot_viewer_panel.hh" -#include "plot_types.hh" -#include "plot_function.hh" - -namespace ost{namespace gui{ - -PlotViewerPanel::PlotViewerPanel(QGraphicsScene * scene, QWidget* parent): - QGraphicsView(scene,parent), - axis_horizontal_(new PlotAxisHorizontal(this)), - axis_vertical_(new PlotAxisVertical(this)), - global_mouse_pos_(), - autofit_(false) -{ - setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setDragMode(QGraphicsView::NoDrag); - setRenderHint(QPainter::Antialiasing,true); - setViewportMargins (PlotAxisBase::AXISWIDTH,0,0,PlotAxisBase::AXISWIDTH); - setTransformationAnchor(QGraphicsView::NoAnchor); - setResizeAnchor(QGraphicsView::NoAnchor); - scale(1.0,-1.0); - connect(axis_horizontal_,SIGNAL(zoom(int,QPoint)),this, SLOT(OnZoomX(int,QPoint))); - connect(axis_vertical_,SIGNAL(zoom(int,QPoint)),this, SLOT(OnZoomY(int,QPoint))); - connect(axis_horizontal_,SIGNAL(translate(Real,Real)),this, SLOT(OnTranslate(Real ,Real))); - connect(axis_vertical_,SIGNAL(translate(Real,Real)),this, SLOT(OnTranslate(Real,Real))); -} - -PlotViewerPanel::~PlotViewerPanel() -{ -} - -void PlotViewerPanel::SetMinMax(Real minx,Real maxx,Real miny, Real maxy) -{ - QRectF scenerect; - scenerect.setCoords(minx,maxy,maxx,miny); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); -} - -void PlotViewerPanel::SetMinimumX(Real x) -{ - if(x<GetMaximumX()){ - QRectF scenerect; - scenerect.setCoords(x,GetMaximumY(),GetMaximumX(),GetMinimumY()); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); - } -} -void PlotViewerPanel::SetMaximumX(Real x) -{ - if(x>GetMinimumX()){ - QRectF scenerect; - scenerect.setCoords(GetMaximumX(),GetMinimumY(),x,GetMinimumY()); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); - } -} -void PlotViewerPanel::SetMinimumY(Real y) -{ - if(y<GetMaximumY()){ - QRectF scenerect; - scenerect.setCoords(GetMinimumX(),GetMaximumY(),GetMaximumX(),y); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); - } -} -void PlotViewerPanel::SetMaximumY(Real y) -{ - if(y>GetMinimumY()){ - QRectF scenerect; - scenerect.setCoords(GetMinimumX(),y,GetMaximumX(),GetMinimumY()); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); - } -} -Real PlotViewerPanel::GetMinimumX() const -{ - return mapToScene(QPoint(0,0)).x(); -} -Real PlotViewerPanel::GetMaximumX() const -{ - return mapToScene(QPoint(viewport()->width(),0)).x(); -} -Real PlotViewerPanel::GetMinimumY() const -{ - return mapToScene(QPoint(0,viewport()->height())).y(); -} -Real PlotViewerPanel::GetMaximumY() const -{ - return mapToScene(QPoint(0,0)).y(); -} - -Real PlotViewerPanel::GetDelta() const -{ - return mapToScene(QPoint(1,0)).x()-mapToScene(QPoint(0,0)).x(); -} - -void PlotViewerPanel::wheelEvent ( QWheelEvent * e ) -{ - QPointF cursorpos=mapToScene(e->pos()); - Real scalefactor=exp(e->delta()/1000.0); - QRectF scenerect; - scenerect.setCoords(cursorpos.x()-(cursorpos.x()-GetMinimumX())/scalefactor, - cursorpos.y()+(GetMaximumY()-cursorpos.y())/scalefactor, - cursorpos.x()+(GetMaximumX()-cursorpos.x())/scalefactor, - cursorpos.y()-(cursorpos.y()-GetMinimumY())/scalefactor); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); -} -void PlotViewerPanel::OnZoomX(int delta,QPoint pos) -{ - QPointF cursorpos=mapToScene(pos+QPoint(-int(PlotAxisBase::AXISWIDTH),0)); - Real scalefactor=exp(delta/1000.0); - QRectF scenerect; - scenerect.setCoords(cursorpos.x()-(cursorpos.x()-GetMinimumX())/scalefactor, - GetMaximumY(), - cursorpos.x()+(GetMaximumX()-cursorpos.x())/scalefactor, - GetMinimumY()); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); -} - -void PlotViewerPanel::OnZoomY(int delta,QPoint pos) -{ - QPointF cursorpos=mapToScene(pos); - Real scalefactor=exp(delta/1000.0); - QRectF scenerect; - scenerect.setCoords(GetMinimumX(), - cursorpos.y()+(GetMaximumY()-cursorpos.y())/scalefactor, - GetMaximumX(), - cursorpos.y()-(cursorpos.y()-GetMinimumY())/scalefactor); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); - setTransform(GetTransform(scenerect,viewrect)); - UpdateAxes(); -} - -void PlotViewerPanel::resizeEvent ( QResizeEvent * event ) -{ - QGraphicsView::resizeEvent(event); - QRect cr=contentsRect(); - axis_horizontal_->setGeometry(QRect(cr.left(), cr.top()+cr.height()-PlotAxisBase::AXISWIDTH,cr.width(), PlotAxisBase::AXISWIDTH)); - axis_vertical_->setGeometry(QRect(cr.left(), cr.top(),PlotAxisBase::AXISWIDTH, cr.height())); - if(autofit_){ - QRectF scenerect; - scenerect.setCoords(GetMinimumX(), - GetMaximumY(), - mapToScene(QPoint(event->oldSize().width(),0)).x(), - mapToScene(QPoint(0,event->oldSize().height())).y()); - QRect viewrect(0,0,viewport()->width(),viewport()->height()); QGraphicsView::resizeEvent(event); - setTransform(GetTransform(scenerect,viewrect)); - }else{ - setTransform(transform().translate(0.0,(event->size().height()-event->oldSize().height())/transform().m22())); - } - UpdateAxes(); -} -void PlotViewerPanel::UpdateAxes() -{ - axis_horizontal_->SetMinimum(GetMinimumX()); - axis_horizontal_->SetMaximum(GetMaximumX()); - axis_vertical_->SetMinimum(GetMinimumY()); - axis_vertical_->SetMaximum(GetMaximumY()); - emit rangeChanged(GetMinimumX(),GetMaximumX(),GetDelta()); -} - -void PlotViewerPanel::scrollContentsBy ( int dx, int dy ) -{ - QGraphicsView::scrollContentsBy(dx,dy); - UpdateAxes(); -} - -void PlotViewerPanel::update() -{ - QGraphicsView::update(); - UpdateAxes(); -} - -void PlotViewerPanel::OnTranslate(Real dx, Real dy) -{ - translate(dx/transform ().m11(),dy/transform ().m22()); - update(); -} - -void PlotViewerPanel::mousePressEvent( QMouseEvent * event ) -{ - if(event->button()== Qt::LeftButton){ - global_mouse_pos_=event->globalPos(); - return; - } - QGraphicsView::mousePressEvent(event); -} -void PlotViewerPanel::mouseMoveEvent( QMouseEvent * event ) -{ - if(event->buttons() & Qt::LeftButton){ - OnTranslate(static_cast<Real>(event->globalPos().x()-global_mouse_pos_.x()),static_cast<Real>(event->globalPos().y()-global_mouse_pos_.y())); - global_mouse_pos_=event->globalPos(); - return; - } - QGraphicsView::mouseMoveEvent(event); -} - -QTransform PlotViewerPanel::GetTransform(QRectF scenerect, QRect viewrect) -{ - qreal vx1,vx2,vy1,vy2; - qreal x1,x2,y1,y2; - scenerect.getCoords(&x1,&y1,&x2,&y2);; - QRectF(viewrect).getCoords(&vx1,&vy1,&vx2,&vy2); - Real sx=(vx2-vx1)/(x2-x1); - Real sy=(vy2-vy1)/(y2-y1); - Real dx=vx1-sx*x1; - Real dy=vy1-sy*y1; - return QTransform(sx,0.0,0.0, - 0.0,sy,0.0, - dx,dy,1.0); -} - -void PlotViewerPanel::SetAutofit(bool fit) -{ - autofit_=fit; -} - -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_viewer_panel.hh b/modules/gui/src/plot_viewer/plot_viewer_panel.hh deleted file mode 100644 index 535b27534e34e2411aba3c9397b59e11caf8a444..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_viewer_panel.hh +++ /dev/null @@ -1,76 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_VIEWER_PANEL_HH_ -#define PLOT_VIEWER_PANEL_HH_ - - -/* - Author: Andreas Schenk -*/ - -#include <QWidget> -#include <QHash> -#include <QPair> -#include <QGraphicsView> -#include "plot_axis_horizontal.hh" -#include "plot_axis_vertical.hh" - -namespace ost{namespace gui{ - -class DLLEXPORT_OST_GUI PlotViewerPanel:public QGraphicsView -{ - Q_OBJECT -public: - PlotViewerPanel(QGraphicsScene * scene, QWidget* parent=0); - virtual ~PlotViewerPanel(); - void SetMinimumX(Real x); - void SetMaximumX(Real x); - void SetMinimumY(Real x); - void SetMaximumY(Real x); - void SetMinMax(Real xmin,Real maxx,Real miny, Real maxy); - void SetAutofit(bool fit=true); - Real GetMinimumX() const; - Real GetMaximumX() const; - Real GetMinimumY() const; - Real GetMaximumY() const; - Real GetDelta() const; -public slots: - void OnZoomX(int delta,QPoint pos); - void OnZoomY(int delta,QPoint pos); - void OnTranslate(Real dx, Real dy); - void update(); -signals: - void rangeChanged(Real start, Real end, Real delta); -protected: - virtual void wheelEvent ( QWheelEvent * e ); - virtual void resizeEvent ( QResizeEvent * event ); - virtual void scrollContentsBy ( int dx, int dy ); - virtual void mousePressEvent ( QMouseEvent * event ); - virtual void mouseMoveEvent ( QMouseEvent * event ); - void UpdateAxes(); - QTransform GetTransform(QRectF scenerect, QRect viewrect); - PlotAxisHorizontal* axis_horizontal_; - PlotAxisVertical* axis_vertical_; - QPointF global_mouse_pos_; - bool autofit_; -}; - -}}//ns - -#endif /*PLOT_VIEWER_PANEL_HH_*/ diff --git a/modules/gui/src/plot_viewer/plot_viewer_proxy.cc b/modules/gui/src/plot_viewer/plot_viewer_proxy.cc deleted file mode 100644 index 4f926ce7474e87f8766126a72394824caa6adb0f..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_viewer_proxy.cc +++ /dev/null @@ -1,103 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Authors: Andreas Schenk, Johan Hebert, Ansgar Philippsen -*/ - -#include "plot_viewer.hh" -#include "plot_viewer_proxy.hh" -#include "plot_data_info.hh" - -namespace ost{namespace gui{ - -PlotViewerProxy::PlotViewerProxy(): - viewer_(0) -{ -} -PlotViewerProxy::PlotViewerProxy(PlotViewer* v): - viewer_(v) -{ -} - -PlotViewerProxy::~PlotViewerProxy() -{ -} - - - -void PlotViewerProxy::Release(PlotViewer* v) -{ - if(viewer_==v) { - viewer_=0; - } -} -PlotDataInfoPtr PlotViewerProxy::Add(PlotDataPtr dataptr, bool fit) -{ - if(! viewer_) return PlotDataInfoPtr(new PlotDataInfo()); - return viewer_->Add(dataptr,fit); -} -PlotFunctionInfoPtr PlotViewerProxy::Add(PlotFunctionPtr functionptr) -{ - if(! viewer_) return PlotFunctionInfoPtr(new PlotFunctionInfo()); - return viewer_->Add(functionptr); -} -PlotGroupInfoPtr PlotViewerProxy::Add(PlotGroupPtr groupptr, bool fit) -{ - if(! viewer_) return PlotGroupInfoPtr(new PlotGroupInfo()); - return viewer_->Add(groupptr,fit); -} - -void PlotViewerProxy::SetMinimumX(Real x) -{ - viewer_->SetMinimumX(x); -} -void PlotViewerProxy::SetMaximumX(Real x) -{ - viewer_->SetMaximumX(x); -} -void PlotViewerProxy::SetMinimumY(Real y) -{ - viewer_->SetMinimumY(y); -} -void PlotViewerProxy::SetMaximumY(Real y) -{ - viewer_->SetMaximumY(y); -} -Real PlotViewerProxy::GetMinimumX() const -{ - return viewer_->GetMinimumX(); -} -Real PlotViewerProxy::GetMaximumX() const -{ - return viewer_->GetMaximumX(); -} -Real PlotViewerProxy::GetMinimumY() const -{ - return viewer_->GetMinimumY(); -} -Real PlotViewerProxy::GetMaximumY() const -{ - return viewer_->GetMaximumY(); -} - -void PlotViewerProxy::SetAutofit(bool fit) -{ - viewer_->SetAutofit(fit); -} -}}//ns diff --git a/modules/gui/src/plot_viewer/plot_viewer_proxy.hh b/modules/gui/src/plot_viewer/plot_viewer_proxy.hh deleted file mode 100644 index 3da5b22036454355ee7aa0d39791724ae852fe3a..0000000000000000000000000000000000000000 --- a/modules/gui/src/plot_viewer/plot_viewer_proxy.hh +++ /dev/null @@ -1,68 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef PLOT_VEWER_PROXY_HH_ -#define PLOT_VEWER_PROXY_HH_ - -/* - Authors: Andreas Schenk, Johan Hebert, Ansgar Philippsen -*/ - -#include <boost/shared_ptr.hpp> - -#include "plot_viewer_proxy_fw.hh" - -//TODO add forward header to PlotData, etc. and include that -#include "plot_data.hh" -#include "plot_function.hh" -#include "plot_group.hh" -#include "plot_data_info_fw.hh" -#include "plot_function_info.hh" -#include "plot_group_info.hh" - -namespace ost{namespace gui{ - -//fw decl -class PlotViewer; - -class DLLEXPORT_OST_GUI PlotViewerProxy -{ -public: - PlotViewerProxy(); - PlotViewerProxy(PlotViewer* v); - virtual ~PlotViewerProxy(); - void Release(PlotViewer* v); - PlotDataInfoPtr Add(PlotDataPtr dataptr, bool fit=false); - PlotFunctionInfoPtr Add(PlotFunctionPtr functionptr); - PlotGroupInfoPtr Add(PlotGroupPtr groupptr, bool fit=false); - void SetMinimumX(Real x); - void SetMaximumX(Real x); - void SetMinimumY(Real y); - void SetMaximumY(Real y); - Real GetMinimumX() const; - Real GetMaximumX() const; - Real GetMinimumY() const; - Real GetMaximumY() const; - void SetAutofit(bool fit=true); -private: - PlotViewer* viewer_; -}; - -}}//ns - -#endif /*PLOT_VEWER_PROXY_HH_*/ diff --git a/modules/gui/src/python_shell/completer_base.cc b/modules/gui/src/python_shell/completer_base.cc index 1b92a4736ab09b2f5a3c81c7e89d2e4fc4ec2f8d..a63d3b0bac2cddae7edee71b413685f1e803c9c8 100644 --- a/modules/gui/src/python_shell/completer_base.cc +++ b/modules/gui/src/python_shell/completer_base.cc @@ -20,6 +20,7 @@ Authors: Marco Biasini, Andreas Schenk */ +#include "completer_base.hh" #include <QStringList> #include <QScrollBar> @@ -27,7 +28,6 @@ #include <QKeyEvent> #include <QApplication> -#include "completer_base.hh" namespace ost { namespace gui { @@ -61,6 +61,7 @@ void OstCompleterBase::complete(const QRect & rect,bool inline_completion) (popup()->verticalScrollBar()->isVisible() ? popup()->verticalScrollBar()->width():0); popup()->setFixedWidth(popup_width); + popup()->move(widget()->mapToGlobal(rect.topLeft()+QPoint(0,-popup()->height()))); } QString OstCompleterBase::GetCommonMatch() @@ -70,7 +71,7 @@ QString OstCompleterBase::GetCommonMatch() } QStringList matches; for(int i=0;i<completionCount();++i){ - setCurrentRow(i); + setCurrentRow(i); matches.append(currentCompletion().remove(0,completionPrefix().length())); } QString common_match; diff --git a/modules/gui/src/python_shell/dir_model.cc b/modules/gui/src/python_shell/dir_model.cc index 96c57f61a1c308829fd1f8440a0509d86afd751a..e4d2c049bce398096108d46db00bec0da1ac3579 100644 --- a/modules/gui/src/python_shell/dir_model.cc +++ b/modules/gui/src/python_shell/dir_model.cc @@ -20,7 +20,6 @@ Author: Andreas Schenk */ - #include "dir_model.hh" diff --git a/modules/gui/src/python_shell/gutter.cc b/modules/gui/src/python_shell/gutter.cc index fa952218400a5ab350d62a01238f1d4a90944288..e60b4c4d6b8985535c67ab6fa4d8480a601d5ab4 100644 --- a/modules/gui/src/python_shell/gutter.cc +++ b/modules/gui/src/python_shell/gutter.cc @@ -51,17 +51,17 @@ void Gutter::paintEvent(QPaintEvent* paint_event) painter.fillRect(paint_event->rect(), QBrush(Qt::lightGray)); for (GutterBlockList::const_iterator it=blocks.begin(); it!=blocks.end(); ++it) { - if (it->type == BLOCKTYPE_ACTIVE) { + if (it->type & BLOCKTYPE_ACTIVE) { QColor green(Qt::green); painter.setPen(QPen(green.darker(), 3)); - }else if (it->type == BLOCKTYPE_BLOCKEDIT) { + }else if (it->type & BLOCKTYPE_BLOCKEDIT) { painter.setPen(QPen(Qt::yellow, 3)); - }else if (it->type == BLOCKTYPE_CODE) { + }else if (it->type & BLOCKTYPE_CODE) { QColor green(Qt::green); painter.setPen(QPen(green.darker(), 1)); - } else if (it->type == BLOCKTYPE_OUTPUT) { + } else if (it->type & BLOCKTYPE_OUTPUT) { painter.setPen(QPen(Qt::blue, 1)); - } else if (it->type == BLOCKTYPE_ERROR) { + } else if (it->type & BLOCKTYPE_ERROR) { painter.setPen(QPen(Qt::red, 1)); } else { painter.setPen(QPen(Qt::black, 1)); diff --git a/modules/gui/src/python_shell/main_thread_runner.hh b/modules/gui/src/python_shell/main_thread_runner.hh index 056dd6165a1be9a3d0d6e6aeb5ddd1c53e4ee61e..399fd8c0328486bce9014d585093da3129ee9640 100644 --- a/modules/gui/src/python_shell/main_thread_runner.hh +++ b/modules/gui/src/python_shell/main_thread_runner.hh @@ -25,9 +25,9 @@ Author: Andreas Schenk */ -#include <QObject> #include <ost/gui/module_config.hh> +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/python_shell/output_redirector.cc b/modules/gui/src/python_shell/output_redirector.cc index 2702b057a74abe66a3e52c8b0f695d7a8bb44f3a..e86879a82307a80a005b5545806ed53cad4366d5 100644 --- a/modules/gui/src/python_shell/output_redirector.cc +++ b/modules/gui/src/python_shell/output_redirector.cc @@ -23,22 +23,47 @@ */ #include "output_redirector.hh" +#include <QTimer> namespace ost { namespace gui { +OutputRedirector::OutputRedirector(): + QObject(), + buffer_(), + timer_() +{ +} + + void OutputRedirector::Write( String const& str ) { - buffer_.append(str); + if(timer_.isValid()){ + if(timer_.elapsed()>1000){ + QString output = buffer_+QString::fromStdString(str); + buffer_=""; + emit OnOutput(output); + timer_.restart(); + }else{ + buffer_+=QString::fromStdString(str); + } + }else{ + buffer_+=QString::fromStdString(str); + timer_.start(); + QTimer::singleShot(0, this, SLOT(Flush())); + } } -QString OutputRedirector::GetOutput() + +void OutputRedirector::Flush() { - QString ret=QString::fromStdString(buffer_); - ret.chop(1); // chop off additional newline - buffer_.clear(); - return ret; + if(! timer_.isValid()){ + return; + } + timer_=QTime(); + QString output = buffer_; + buffer_=""; + emit OnOutput(output); } -String OutputRedirector::buffer_; diff --git a/modules/gui/src/python_shell/output_redirector.hh b/modules/gui/src/python_shell/output_redirector.hh index 664c696cbdb1bbe87c9e807cbbb0c0223db89572..2d13948a268c80f985b692c7e5acc7478b40abf4 100644 --- a/modules/gui/src/python_shell/output_redirector.hh +++ b/modules/gui/src/python_shell/output_redirector.hh @@ -26,17 +26,26 @@ Author: Andreas Schenk */ -#include <QString> #include <ost/gui/module_config.hh> +#include <QTime> +#include <QString> +#include <QObject> namespace ost { namespace gui { -class DLLEXPORT_OST_GUI OutputRedirector { +class DLLEXPORT_OST_GUI OutputRedirector: public QObject { +Q_OBJECT + public: + OutputRedirector(); void Write(const String& str); - static QString GetOutput(); +public slots: + void Flush(); +signals: + void OnOutput(const QString& output); private: - static String buffer_; + QString buffer_; + QTime timer_; }; }}//ns diff --git a/modules/gui/src/python_shell/python_completer.cc b/modules/gui/src/python_shell/python_completer.cc index 4618fb74500a69845b530aa27a70f363519d1cc8..d0346397201149c88fb9acb5dc72adaa7db7a244 100644 --- a/modules/gui/src/python_shell/python_completer.cc +++ b/modules/gui/src/python_shell/python_completer.cc @@ -22,9 +22,9 @@ #include <iostream> -#include <QStringList> #include "python_completer.hh" #include "python_namespace_tree_model.hh" +#include <QStringList> namespace ost { namespace gui { diff --git a/modules/gui/src/python_shell/python_interpreter.cc b/modules/gui/src/python_shell/python_interpreter.cc index 2ac697de50880e3081905be5b4eae14bd0d65520..3dea745a5cdc9265fed41ffe9abbdb8aed624856 100644 --- a/modules/gui/src/python_shell/python_interpreter.cc +++ b/modules/gui/src/python_shell/python_interpreter.cc @@ -30,13 +30,12 @@ #include <fstream> #include <boost/filesystem/convenience.hpp> +#include <ost/log.hh> #include <QFile> #include <QDebug> -#include <QApplication> -#include <QThread> +#include <QFile> #include <QStringList> -#include <ost/log.hh> namespace ost { namespace gui { @@ -44,246 +43,78 @@ PythonInterpreter::PythonInterpreter(): QObject(), main_module_(), main_namespace_(), -#ifndef _MSC_VER - sig_act_(), -#endif - output_redirector_(), - main_thread_runner_(), running_(false), - mutex_(), - gstate_(), - main_thread_state_(NULL), - proxy_(this), compile_command_(), - exec_wait_(false), - exec_queue_(), - parse_expr_cmd_() -{ -} - -PythonInterpreter::~PythonInterpreter() -{ - PyGILState_Release(gstate_); - PyEval_RestoreThread(main_thread_state_); -} - -PythonInterpreter& PythonInterpreter::Instance(bool register_sighandler, - bool multithreaded) -{ - //todo handle register_sighandler; - static bool initialized=false; - static PythonInterpreter instance; - static QThread thread; - if(!initialized){ - initialized=true; - if(multithreaded){ - instance.moveToThread(&thread); - thread.start(); - instance.Init(true); - }else{ - instance.Init(false); - } - } - return instance; -} - -void PythonInterpreter::Init(bool multithreaded) + worker_() { - if(multithreaded){ - //initialize over a blocking queued connection to get the correct thread context - /* connect(this, SIGNAL(InitSignal(bool)),this, SLOT(InitSlot(bool)),Qt::BlockingQueuedConnection); - emit InitSignal(true);*/ - }else{ - // direct initalization - InitSlot(false); - } -} - -void PythonInterpreter::RedirectOutput() -{ - main_namespace_["sys"].attr("stderr") = output_redirector_; - main_namespace_["sys"].attr("stdout") = output_redirector_; -} - -void PythonInterpreter::InitSlot(bool multithreaded) -{ - if(multithreaded){ - //main_thread_runner_.moveToThread(QApplication::instance()->thread()); - //connect(this,SIGNAL(RunInMainThreadSignal(const QString&)),&main_thread_runner_,SLOT(Run(const QString&)),Qt::BlockingQueuedConnection); - }else{ - connect(this,SIGNAL(RunInMainThreadSignal(const QString&)),&main_thread_runner_,SLOT(Run(const QString&)),Qt::DirectConnection); - } - Py_InitializeEx(1); - PyEval_InitThreads(); - main_thread_state_ = PyEval_SaveThread(); - gstate_ = PyGILState_Ensure(); - //store signal handler - #ifndef _MSC_VER - sigaction(SIGINT,0,&sig_act_); - #endif + connect(this,SIGNAL(WakeWorker()),&worker_,SLOT(Wake()),Qt::QueuedConnection); + connect(&worker_,SIGNAL(Output(unsigned int,const QString&)),this,SIGNAL(Output(unsigned int,const QString&))); + connect(&worker_,SIGNAL(ErrorOutput(unsigned int,const QString&)),this,SIGNAL(ErrorOutput(unsigned int,const QString&))); + connect(&worker_,SIGNAL(Finished(unsigned int, bool)),this,SIGNAL(Finished(unsigned int, bool))); main_module_ = bp::import("__main__"); - main_module_.attr("in_gui_mode")=true; main_namespace_ = bp::extract<bp::dict>(main_module_.attr("__dict__")); - parse_expr_cmd_=bp::import("parser").attr("expr"); - main_namespace_["OutputRedirector"] = bp::class_<OutputRedirector>("OutputRedirector", bp::init<>()) - .def("write", &OutputRedirector::Write); - main_namespace_["PythonInterpreterProxy"] = bp::class_<PythonInterpreterProxy>("PythonInterpreterProxy", bp::init<PythonInterpreter*>()) - .def("Run", &PythonInterpreterProxy::Run); - main_namespace_["os"]=bp::import("os"); main_namespace_["__builtin__"]=bp::import("__builtin__"); main_namespace_["keyword"]=bp::import("keyword"); - - parse_expr_cmd_=bp::import("parser").attr("expr"); - - main_namespace_["sys"]=bp::import("sys"); - - main_module_.attr("Proxy")=proxy_; bp::object code=bp::import("code"); compile_command_=code.attr("compile_command"); - } -namespace { -#ifndef _MSC_VER - class SigIntHandler { - public: - SigIntHandler(const struct sigaction& act) { - sigaction(SIGINT,&act,&old_); - } - ~SigIntHandler() { - sigaction(SIGINT,&old_,0); - } - private: - struct sigaction old_; - }; -#endif -} -void PythonInterpreter::RunInitRC() +PythonInterpreter::~PythonInterpreter() { - if(!getenv("HOME")) return; - String fname=String(getenv("HOME"))+"/.dngrc"; - try { - if (boost::filesystem::exists(fname)) { - try { - bp::exec_file(bp::str(fname), main_module_.attr("__dict__"), - main_module_.attr("__dict__")); - } catch(bp::error_already_set&) { - PyErr_Print(); - } - } - } catch(std::exception&) { - // silently ignore. needed for boost 1.33.1 - } } -void PythonInterpreter::ExecWait() +PythonInterpreter& PythonInterpreter::Instance() { - ++exec_wait_; + static PythonInterpreter instance; + return instance; } -void PythonInterpreter::ExecRelease() + + +void PythonInterpreter::Stop() { - --exec_wait_; - assert(exec_wait_>=0); - if(exec_wait_==0) { - for(std::vector<QString>::const_iterator it=exec_queue_.begin(); - it!=exec_queue_.end();++it) { - if(!RunCommand(*it)) break; - } - exec_queue_.clear(); - } + running_=false; } -void PythonInterpreter::RunScript(const String& fname) +void PythonInterpreter::Start() { - QFile file(QString::fromStdString(fname)); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){ - LOGN_ERROR("could not open " << fname); - return; - } - QTextStream in(&file); - RunCommand(in.readAll()); + running_=true; + emit WakeWorker(); } -bool PythonInterpreter::IsSimpleExpression(const QString& expr) + + +unsigned int PythonInterpreter::RunScript(const QString& fname) { - try { - parse_expr_cmd_(bp::str(expr.toStdString())); - return true; - } catch(bp::error_already_set&) { - PyErr_Clear(); - return false; + QFile script(fname); + if (!script.open(QIODevice::ReadOnly | QIODevice::Text)){ + LOG_ERROR("could not open " << fname.toStdString()); + return RunCommand(""); } + QString command=script.readAll(); + command.append('\n'); + command.append('\n'); + return RunCommand(command); } -bool PythonInterpreter::RunCommand(const QString& command) +unsigned int PythonInterpreter::RunCommand(const QString& command) { - bool flag=true; - if(exec_wait_!=0) { - exec_queue_.push_back(command); - return flag; + unsigned int id=worker_.AddCommand(command); + if(running_){ + emit WakeWorker(); } - - // becore doing anything give Qt the chance to handle events for 100ms - QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents,100); - mutex_.lock(); - running_=true; - mutex_.unlock(); -#ifndef _MSC_VER - SigIntHandler sh(sig_act_); -#endif - try{ - if(command.indexOf(QString("\n"))==-1){ - if(command=="exit" || command=="quit"){ - emit Exit(); - } - if (this->IsSimpleExpression(command)) { - bp::object repr=main_module_.attr("__builtins__").attr("repr"); - bp::object result=bp::eval(bp::str(command.toStdString()), - main_namespace_, main_namespace_); - String rstring=bp::extract<String>(repr(result)); - if(rstring!="None"){ - output_redirector_.Write(rstring); - output_redirector_.Write("\n"); - } - emit Done(STATUS_OK,output_redirector_.GetOutput()); - flag=true; - } else { - bp::exec(bp::str(command.toStdString()),main_namespace_,main_namespace_); - flag=true; - } - }else{ - bp::exec(bp::str(command.toStdString()),main_namespace_,main_namespace_); - } - emit Done(STATUS_OK,output_redirector_.GetOutput()); - }catch(bp::error_already_set){ - if(PyErr_ExceptionMatches(PyExc_SystemExit)){ - PyErr_Clear(); - emit Exit(); - } else{ - PyErr_Print(); - QString output=output_redirector_.GetOutput(); - std::cout << output.toStdString() << std::endl; - emit Done(STATUS_ERROR,output); - flag=false; - } - } - mutex_.lock(); - running_=false; - mutex_.unlock(); - return flag; + return id; } CodeBlockStatus PythonInterpreter::GetCodeBlockStatus(const QString& command) { + // move to pure c++ to avoid clash with running worker + // move to worker class CodeBlockStatus status=CODE_BLOCK_COMPLETE; - mutex_.lock(); - running_=true; - mutex_.unlock(); -#ifndef _MSC_VER +/*#ifndef _MSC_VER SigIntHandler sh(sig_act_); -#endif +#endif*/ QStringList lines=command.split("\n"); String cmd; for (int i=0; i<lines.size(); ++i) { @@ -317,70 +148,9 @@ CodeBlockStatus PythonInterpreter::GetCodeBlockStatus(const QString& command) } } } - mutex_.lock(); - running_=false; - mutex_.unlock(); - return status; -} - -enum returncodes{ - RC_OK=0, - RC_ERROR=2>>1, - RC_LOOP=2, - RC_EXIT=2<<1, -}; - -void PythonInterpreter::CallFunction(const bp::object& func, - const bp::object& args) -{ - unsigned int retcode=RC_OK; - bool result; - try{ -#ifndef _MSC_VER - SigIntHandler sh(sig_act_); -#endif - if (len(args)>0) { - result=bp::extract<bool>(func(args)); - } else { - result=bp::extract<bool>(func()); - } - if (!result) { - retcode|=RC_ERROR; - PyErr_Print(); - } - } catch(bp::error_already_set) { - if (PyErr_ExceptionMatches(PyExc_KeyboardInterrupt)){ - retcode|=RC_EXIT; - } else { - PyErr_Print(); - retcode|=RC_ERROR; - } - } + return status; } -bool PythonInterpreter::IsRunning() -{ - mutex_.lock(); - bool state=running_; - mutex_.unlock(); - return state; -} - -void PythonInterpreter::Abort() -{ - if(IsRunning()){ - raise(SIGINT); - } -} - -bp::object PythonInterpreter::RunInMainThread(const QString& widget) -{ - PyGILState_Release(gstate_); - emit RunInMainThreadSignal(widget); - gstate_ = PyGILState_Ensure(); - return main_module_.attr("Proxy").attr("_widget_"); - -} void PythonInterpreter::AppendModulePath(const QString& entry) { @@ -401,18 +171,6 @@ void PythonInterpreter::AppendCommandlineArgument(const QString& arg) RunCommand(init_code); } -void PythonInterpreter::SetCommandLineArguments(const QList<QString>& args) -{ - QString init_code(""); - init_code += "\nsys.argv=[]"; - for (QList<QString>::const_iterator i=args.begin(), e=args.end(); i!=e; ++i) { - init_code += "\nsys.argv.append('" ; - init_code += *i; - init_code += "')\n"; - } - - RunCommand(init_code); -} bp::object PythonInterpreter::GetMainModule() const { return main_module_; diff --git a/modules/gui/src/python_shell/python_interpreter.hh b/modules/gui/src/python_shell/python_interpreter.hh index bb69f5fe9877054b114426d2ecc78c57edf1860c..ec6639bbb8d10342b657afc43eda2096dea9c67a 100644 --- a/modules/gui/src/python_shell/python_interpreter.hh +++ b/modules/gui/src/python_shell/python_interpreter.hh @@ -27,21 +27,18 @@ #ifndef PYTHON_INTERPRETER_HH #define PYTHON_INTERPRETER_HH -#include <csignal> #include <vector> -#include <QMutex> -#include <QMetaType> - -#include <boost/python.hpp> - #include <ost/gui/module_config.hh> #include <ost/gui/module_config.hh> -#include "python_interpreter_proxy.hh" +#include "python_interpreter_worker.hh" #include "output_redirector.hh" #include "main_thread_runner.hh" +#include <QQueue> +#include <QMetaType> + namespace ost { namespace gui { namespace bp = boost::python; @@ -52,34 +49,22 @@ enum InterpreterStatus{ typedef enum { - CODE_BLOCK_COMPLETE, - CODE_BLOCK_ERROR, - CODE_BLOCK_INCOMPLETE + CODE_BLOCK_COMPLETE=1, + CODE_BLOCK_ERROR=2, + CODE_BLOCK_INCOMPLETE=4 } CodeBlockStatus; class DLLEXPORT_OST_GUI PythonInterpreter: public QObject { Q_OBJECT public: - static PythonInterpreter& Instance(bool set_sigint_handler=true, - bool multitreaded=false); + static PythonInterpreter& Instance(); ~PythonInterpreter(); bool IsRunning(); - bp::object RunInMainThread(const QString& widget); void AppendModulePath(const QString& entry); void AppendCommandlineArgument(const QString& arg); - /// \brief set command line arguments - /// - /// Sets sys.argv to the given list of arguments - /// - /// The method internally uses RunCommand and is thus appended to the command - /// list when execution is delayed due to an open ExecWait() ExecRelease() - /// block - /// - /// \todo escape arguments - void SetCommandLineArguments(const QList<QString>& args); bp::dict GetMainNamespace() const; bp::object GetMainModule() const; @@ -88,62 +73,34 @@ public: /// Determines whether the command contains errors, is incomplete or ready /// to be run. CodeBlockStatus GetCodeBlockStatus(const QString& command); - void RunInitRC(); - void RunScript(const String& script); - /// \brief delay execution of Python commands - /// - /// The execution of Python commands with RunCommand and methods that - /// make use of RunCommand is delayed until ExecRelease() is called. - /// ExecWait(), ExecRelease() calls can be nested. + /// \brief stop execution of Python commands + /// \sa Start + void Stop(); + /// \brief start/continue execution of Python commands /// - /// \sa ExecRelease - void ExecWait(); - /// \brief execute pending Python commands - /// - /// \sa ExecWait - void ExecRelease(); + /// \sa Stop + void Start(); - /// \brief turn on output redirection - void RedirectOutput(); - /// \brief whether the string can be interpreted as a simple expression - /// - /// import and any kind of control structures don't count as simple - /// expressions and will return false. - bool IsSimpleExpression(const QString& expr); public slots: /// \brief execute python command - bool RunCommand(const QString& command); - void CallFunction(const bp::object& func,const bp::object& args); - void Abort(); -protected slots: - void InitSlot(bool multitreaded); + unsigned int RunScript(const QString& script); + unsigned int RunCommand(const QString& command); signals: - void Done(int status,const QString& output); + void Output(unsigned int id,const QString& output); + void ErrorOutput(unsigned int id,const QString& output); + void Finished(unsigned int id, bool error_state); void Exit(); - void InitSignal(bool multitreaded); - void RunInMainThreadSignal(const QString& widget); + void WakeWorker(); protected: - void Init(bool multitreaded); PythonInterpreter(); bp::object main_module_; bp::dict main_namespace_; -#ifndef _MSC_VER - struct sigaction sig_act_; -#endif - OutputRedirector output_redirector_; - MainThreadRunner main_thread_runner_; bool running_; - QMutex mutex_; - PyGILState_STATE gstate_; - PyThreadState* main_thread_state_; - PythonInterpreterProxy proxy_; bp::object compile_command_; - int exec_wait_; - std::vector<QString> exec_queue_; - bp::object parse_expr_cmd_; + PythonInterpreterWorker worker_; }; }} // ns diff --git a/modules/gui/src/python_shell/python_interpreter_proxy.hh b/modules/gui/src/python_shell/python_interpreter_proxy.hh index 1cb54fa0b0113ab35d8dbbbed0712d62064dff30..30ba00be194fcc2bf97bc75a5f843fc30ea90ba6 100644 --- a/modules/gui/src/python_shell/python_interpreter_proxy.hh +++ b/modules/gui/src/python_shell/python_interpreter_proxy.hh @@ -25,6 +25,7 @@ Author: Andreas Schenk */ +#include <boost/python.hpp> #include <ost/gui/module_config.hh> namespace ost { namespace gui { diff --git a/modules/gui/src/python_shell/python_interpreter_worker.cc b/modules/gui/src/python_shell/python_interpreter_worker.cc new file mode 100644 index 0000000000000000000000000000000000000000..494df6c0bca61cd5b4a67791d55128c7d27a5ab9 --- /dev/null +++ b/modules/gui/src/python_shell/python_interpreter_worker.cc @@ -0,0 +1,136 @@ +#include "python_interpreter_worker.hh" +#include "python_interpreter.hh" + +namespace ost { namespace gui { + + namespace { +#ifndef _MSC_VER + class SigIntHandler { + public: + SigIntHandler(const struct sigaction& act) { + sigaction(SIGINT,&act,&old_); + } + ~SigIntHandler() { + sigaction(SIGINT,&old_,0); + } + private: + struct sigaction old_; + }; +#endif +} + + + +PythonInterpreterWorker::PythonInterpreterWorker(): + exec_queue_(), + command_id_(0), + output_redirector_(new OutputRedirector), + error_redirector_(new OutputRedirector), + #ifndef _MSC_VER + sig_act_(), + #endif + parse_expr_cmd_(), + repr_(), + main_namespace_(), + current_id_() +{ + Py_InitializeEx(1); + parse_expr_cmd_=bp::import("parser").attr("expr"); + main_namespace_ = bp::extract<bp::dict>(bp::import("__main__").attr("__dict__")); + repr_=bp::import("__main__").attr("__builtins__").attr("repr"); + #ifndef _MSC_VER + sigaction(SIGINT,0,&sig_act_); + #endif + main_namespace_["OutputRedirector"] = bp::class_<OutputRedirector,boost::shared_ptr<OutputRedirector>, boost::noncopyable >("OutputRedirector", bp::init<>()) + .def("write", &OutputRedirector::Write); + connect(output_redirector_.get(),SIGNAL(OnOutput(const QString&)),this,SLOT(handle_redirector_output(const QString&))); + connect(error_redirector_.get(),SIGNAL(OnOutput(const QString&)),this,SLOT(handle_redirector_error(const QString&))); + main_namespace_["sys"]=bp::import("sys"); + main_namespace_["sys"].attr("stderr") = error_redirector_; + main_namespace_["sys"].attr("stdout") = output_redirector_; +} + +void PythonInterpreterWorker::Wake() +{ + while (!exec_queue_.isEmpty()){ + std::pair<unsigned int, QString> pair=exec_queue_.dequeue(); + run_command_(pair); + } +} + +unsigned int PythonInterpreterWorker::AddCommand(const QString& command) +{ + exec_queue_.enqueue(std::pair<unsigned int, QString>(++command_id_,command)); //wrap around in command_id_ intended + return command_id_; +} + +bool PythonInterpreterWorker::is_simple_expression_(const QString& expr) +{ + try { + parse_expr_cmd_(bp::str(expr.toStdString())); + return true; + } catch(bp::error_already_set&) { + PyErr_Clear(); + return false; + } +} +void PythonInterpreterWorker::run_command_(std::pair<unsigned int,QString> pair) +{ + #ifndef _MSC_VER + SigIntHandler sh(sig_act_); + #endif + try{ + // todo handle quit and exit without parantheses + current_id_=pair.first; + QString command=pair.second; + if(is_simple_expression(command)){ + bp::object result=bp::eval(bp::str(command.toStdString()), + main_namespace_, main_namespace_); + String rstring=bp::extract<String>(repr_(result)); + if(rstring!="None"){ + handle_redirector_output(QString::fromStdString(rstring)+"\n"); + } + } else { + bp::exec(bp::str(command.toStdString()),main_namespace_,main_namespace_); + } + output_redirector_->Flush(); + error_redirector_->Flush(); + emit Finished(pair.first,true); + return; + }catch(bp::error_already_set){ + if(PyErr_ExceptionMatches(PyExc_SystemExit)){ + PyErr_Clear(); + //emit Exit(); + } else{ + PyErr_Print(); + } + } + output_redirector_->Flush(); + error_redirector_->Flush(); + emit Finished(pair.first,false); + return; +} + +bool PythonInterpreterWorker::is_simple_expression(const QString& expr) +{ + try { + parse_expr_cmd_(bp::str(expr.toStdString())); + return true; + } catch(bp::error_already_set&) { + PyErr_Clear(); + return false; + } +} + +void PythonInterpreterWorker::handle_redirector_output(const QString& output) +{ + emit Output(current_id_,output); +} + +void PythonInterpreterWorker::handle_redirector_error(const QString& output) +{ + emit ErrorOutput(current_id_,output); +} + +}} //ns + diff --git a/modules/gui/src/python_shell/python_interpreter_worker.hh b/modules/gui/src/python_shell/python_interpreter_worker.hh new file mode 100644 index 0000000000000000000000000000000000000000..77295ca8612f5877555408774a41f1a945f56de9 --- /dev/null +++ b/modules/gui/src/python_shell/python_interpreter_worker.hh @@ -0,0 +1,53 @@ +#ifndef PYTHON_INTERPRETER_WORKER_HH +#define PYTHON_INTERPRETER_WORKER_HH + +#include <csignal> +#include <utility> +#include <boost/python.hpp> +#include <boost/shared_ptr.hpp> +#include "output_redirector.hh" +#include <QObject> +#include <QQueue> + +namespace ost { namespace gui { +namespace bp = boost::python; + +class PythonInterpreterWorker: public QObject +{ +Q_OBJECT +public: + PythonInterpreterWorker(); + unsigned int AddCommand(const QString& command); + +signals: + void Finished(unsigned int id, bool error_state); + void Output(unsigned int id,const QString& output); + void ErrorOutput(unsigned int id,const QString& output); + +public slots: + void Wake(); + +protected slots: + void handle_redirector_output(const QString& output); + void handle_redirector_error(const QString& output); + +protected: + bool is_simple_expression(const QString& expr); + void run_command_(std::pair<unsigned int,QString> pair); + bool is_simple_expression_(const QString& expr); + QQueue<std::pair<unsigned int,QString> > exec_queue_; + unsigned int command_id_; + boost::shared_ptr<OutputRedirector> output_redirector_; + boost::shared_ptr<OutputRedirector> error_redirector_; +#ifndef _MSC_VER + struct sigaction sig_act_; +#endif + bp::object parse_expr_cmd_; + bp::object repr_; + bp::dict main_namespace_; + unsigned int current_id_; +}; + +}} //ns + +#endif // PYTHON_INTERPRETER_WORKER_HH diff --git a/modules/gui/src/python_shell/python_namespace_tree_item.cc b/modules/gui/src/python_shell/python_namespace_tree_item.cc index c4af0f2072b88e1574ee746e0083fdb85dfc06f8..065eeab4197ca201c9c1133fcc8e436e9fe748d0 100644 --- a/modules/gui/src/python_shell/python_namespace_tree_item.cc +++ b/modules/gui/src/python_shell/python_namespace_tree_item.cc @@ -89,6 +89,8 @@ bool PythonNamespaceTreeItem::CanFetchMore() const void PythonNamespaceTreeItem::FetchMore() { + // todo should imediately return if worker thread is working + // todo fix completion for builtins initialized_=true; bp::object dir=bp::import("__main__").attr("__builtins__").attr("dir"); bp::list keys=bp::extract<bp::list>(dir(namespace_)); diff --git a/modules/gui/src/python_shell/python_namespace_tree_model.cc b/modules/gui/src/python_shell/python_namespace_tree_model.cc index c5b66e03d70a5243d8104199c67ea688494964da..1427a425d2a67d6a17519a92646167336700d8a0 100644 --- a/modules/gui/src/python_shell/python_namespace_tree_model.cc +++ b/modules/gui/src/python_shell/python_namespace_tree_model.cc @@ -26,7 +26,7 @@ PythonNamespaceTreeModel::PythonNamespaceTreeModel(): QAbstractItemModel(), root_item_(new PythonNamespaceTreeItem(PythonInterpreter::Instance().GetMainModule(),"main")) { - connect(&PythonInterpreter::Instance(), SIGNAL(Done(int,const QString&)), + connect(&PythonInterpreter::Instance(), SIGNAL(Finished(unsigned int,bool)), this, SLOT(NamespaceChanged(void))); } @@ -37,6 +37,7 @@ PythonNamespaceTreeModel::~PythonNamespaceTreeModel() void PythonNamespaceTreeModel::NamespaceChanged() { + // todo should only be called after all commands are executed delete root_item_; root_item_=new PythonNamespaceTreeItem(PythonInterpreter::Instance().GetMainModule(),"main"); dataChanged(QModelIndex(),QModelIndex()); diff --git a/modules/gui/src/python_shell/python_shell.cc b/modules/gui/src/python_shell/python_shell.cc index ae3030b8a4fa871fc75221eba5826b1069c029a8..6cfdc94aaa49a4ee648b814326857b73b52f2772 100644 --- a/modules/gui/src/python_shell/python_shell.cc +++ b/modules/gui/src/python_shell/python_shell.cc @@ -20,14 +20,14 @@ /* Author: Marco Biasini */ -#include <QVBoxLayout> -#include <ost/gui/widget_registry.hh> #include <ost/gui/gosty_app.hh> +#include <ost/gui/widget_registry.hh> #include "python_shell.hh" #include "python_shell_widget.hh" +#include <QVBoxLayout> namespace ost { namespace gui { class PythonShellFactory: public WidgetFactory { @@ -63,10 +63,6 @@ bool PythonShell::Save(const QString& prefix) return true; } -void PythonShell::AddLogger(TextLogger* logger) -{ - this->PyShell()->AddLogger(logger); -} PythonShellWidget* PythonShell::PyShell() { diff --git a/modules/gui/src/python_shell/python_shell.hh b/modules/gui/src/python_shell/python_shell.hh index c9246f076de3f2f00a716c9384befecaec37ac0b..84f8929ce04c93d0a15c89f2c9766fa1d952dc8c 100644 --- a/modules/gui/src/python_shell/python_shell.hh +++ b/modules/gui/src/python_shell/python_shell.hh @@ -40,7 +40,6 @@ public: virtual bool Save(const QString& prefix); public: - void AddLogger(TextLogger* logger); PythonShellWidget* PyShell(); }; diff --git a/modules/gui/src/python_shell/python_shell_fw.hh b/modules/gui/src/python_shell/python_shell_fw.hh index e86b3804f89f866b451e4cbfde4a21b392f6d877..0d3f1e641d58a946c46f9ed882aada2efd79f928 100644 --- a/modules/gui/src/python_shell/python_shell_fw.hh +++ b/modules/gui/src/python_shell/python_shell_fw.hh @@ -35,11 +35,13 @@ enum BlockEditMode { EDITMODE_MULTILINE_INACTIVE }; enum BlockType { - BLOCKTYPE_OUTPUT, - BLOCKTYPE_ERROR, - BLOCKTYPE_CODE, - BLOCKTYPE_ACTIVE, - BLOCKTYPE_BLOCKEDIT + BLOCKTYPE_OUTPUT=1, + BLOCKTYPE_ERROR=2, + BLOCKTYPE_CODE=4, + BLOCKTYPE_ACTIVE=8, + BLOCKTYPE_BLOCKEDIT=16, + BLOCKTYPE_MULTILINE_SQ=32, + BLOCKTYPE_MULTILINE_DQ=64 }; struct GutterBlock{ diff --git a/modules/gui/src/python_shell/python_shell_widget.cc b/modules/gui/src/python_shell/python_shell_widget.cc index 6d8183bf9a59b0f3e41df1ad3826434e1c9e449e..16d1d4ac2d441c831d345bac845b6ece25955e9d 100644 --- a/modules/gui/src/python_shell/python_shell_widget.cc +++ b/modules/gui/src/python_shell/python_shell_widget.cc @@ -16,17 +16,13 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +/* + Authors: Marco Biasini, Andreas Schenk + */ + #include <iostream> -#include <QDebug> -#include <QFontMetrics> -#include <QClipboard> -#include <QPainter> -#include <QScrollBar> -#include <QDirModel> -#include <QStringList> -#include <ost/gui/python_shell/text_logger.hh> #include "python_shell_widget.hh" #include "gutter.hh" @@ -37,7 +33,15 @@ #include "python_completer.hh" #include "path_completer.hh" +#include "transition.hh" +#include <QApplication> +#include <QFontMetrics> +#include <QClipboard> +#include <QPainter> +#include <QScrollBar> +#include <QDirModel> +#include <QStringList> /* @@ -58,9 +62,15 @@ PythonShellWidget::PythonShellWidget(QWidget* parent): output_visible_(true), completion_start_(0), completion_end_(0), - mode_(SHELL_INTERACTION_BASH) + block_edit_start_(document()->begin()), + output_blocks_(), + machine_(new StateMachine(this)), + readonly_machine_(new StateMachine(this)), + readwrite_state_(new State), + multiline_active_state_(new State) { - this->setLineWrapMode(QPlainTextEdit::NoWrap); + setLineWrapMode(QPlainTextEdit::WidgetWidth); + this->setFrameShape(QFrame::NoFrame); document()->setDocumentLayout(new PythonShellTextDocumentLayout(document())); setViewportMargins(Gutter::GUTTER_WIDTH, 0, 0, 0); setUndoRedoEnabled(false); @@ -68,14 +78,17 @@ PythonShellWidget::PythonShellWidget(QWidget* parent): QFontMetrics metrics(font()); setTabStopWidth(2*metrics.width(" ")); setMaximumBlockCount(1000000); - connect(this, SIGNAL(updateRequest(QRect, int)) ,gutter_, - SLOT(Update(QRect, int))); - connect(this, SIGNAL(Execute(QString)),&PythonInterpreter::Instance(), - SLOT(RunCommand(QString)),Qt::QueuedConnection); - connect(&PythonInterpreter::Instance(), SIGNAL(Done(int,const QString&)),this, - SLOT(AppendOutput(int,const QString&)),Qt::QueuedConnection); + textCursor().block().setUserState(BLOCKTYPE_ACTIVE); completer_->setWidget(viewport()); + connect(&PythonInterpreter::Instance(), SIGNAL(Output(unsigned int, const QString &)), + this,SLOT(AppendOutput(unsigned int, const QString &))); + connect(&PythonInterpreter::Instance(), SIGNAL(Finished(unsigned int, bool)), + this,SLOT(OutputFinished(unsigned int,bool))); + connect(&PythonInterpreter::Instance(), SIGNAL(ErrorOutput(unsigned int, const QString &)), + this,SLOT(AppendError(unsigned int, const QString &))); + connect(this, SIGNAL(updateRequest(QRect, int)) , + gutter_,SLOT(Update(QRect, int))); connect(completer_,SIGNAL(activated(const QString&)),this, SLOT(InsertCompletion(const QString&))); connect(completer_,SIGNAL(recomplete(const QString&)),this, @@ -86,21 +99,393 @@ PythonShellWidget::PythonShellWidget(QWidget* parent): SLOT(SetCompletionPrefix(const QString&))); path_completer_->setWidget(viewport()); connect(path_completer_,SIGNAL(activated(const QString&)),this, - SLOT(InsertCompletion(const QString&))); + SLOT(InsertPathCompletion(const QString&))); connect(path_completer_,SIGNAL(recomplete(const QString&)),this, SLOT(Recomplete(const QString&))); connect(this,SIGNAL(RequestPathCompletion(const QRect&,bool)),path_completer_, SLOT(complete(const QRect&,bool))); connect(this,SIGNAL(SetPathCompletionPrefix(const QString&)),path_completer_, SLOT(setCompletionPrefix(const QString&))); - if (mode_==SHELL_INTERACTION_BASH) { - SetBlockEditMode(EDITMODE_SINGLELINE); - } else { - SetBlockEditMode(EDITMODE_MULTILINE_INACTIVE); + set_block_edit_mode_(EDITMODE_SINGLELINE); + setup_readonly_state_machine_(); + setup_state_machine_(); +} + +void PythonShellWidget::setup_readonly_state_machine_() +{ + State* readonly=new State; + State* mixed=new State; + readonly_machine_->addState(mixed); + readonly_machine_->addState(readonly); + readonly_machine_->addState(readwrite_state_); + readonly->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + readwrite_state_, + new EditPositionGuard(this,EditPositionGuard::EQUAL |EditPositionGuard::BIGGER, + EditPositionGuard::ANCHOREQUAL |EditPositionGuard::ANCHORBIGGER))); + readonly->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + mixed, + new EditPositionGuard(this,EditPositionGuard::EQUAL |EditPositionGuard::BIGGER, + EditPositionGuard::ANCHORSMALLER))); + readonly->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + mixed, + new EditPositionGuard(this,EditPositionGuard::ANCHOREQUAL |EditPositionGuard::ANCHORBIGGER, + EditPositionGuard::SMALLER))); + + readonly->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Backspace, + Qt::NoModifier, + readwrite_state_, + true)); + + readonly->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Any, + Qt::NoModifier, + readwrite_state_, + false)); + + readwrite_state_->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + readonly, + new EditPositionGuard(this,EditPositionGuard::SMALLER | EditPositionGuard::EQUAL, + EditPositionGuard::ANCHORSMALLER))); + readwrite_state_->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + readonly, + new EditPositionGuard(this,EditPositionGuard::ANCHORSMALLER | EditPositionGuard::ANCHOREQUAL, + EditPositionGuard::SMALLER))); + + readwrite_state_->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + mixed, + new EditPositionGuard(this,EditPositionGuard::EQUAL |EditPositionGuard::BIGGER, + EditPositionGuard::ANCHORSMALLER))); + readwrite_state_->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + mixed, + new EditPositionGuard(this,EditPositionGuard::ANCHOREQUAL |EditPositionGuard::ANCHORBIGGER, + EditPositionGuard::SMALLER))); + + readwrite_state_->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Backspace, + Qt::NoModifier, + readwrite_state_, + true, + new EditPositionGuard(this,EditPositionGuard::EQUAL, + EditPositionGuard::ANCHOREQUAL))); + + mixed->addTransition(new SignalTransition(this, + SIGNAL(cursorPositionChanged()), + readwrite_state_, + new EditPositionGuard(this,EditPositionGuard::EQUAL |EditPositionGuard::BIGGER, + EditPositionGuard::ANCHOREQUAL |EditPositionGuard::ANCHORBIGGER))); + + KeyEventTransition* kt1=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Backspace, + Qt::NoModifier, + readwrite_state_, + true); + mixed->addTransition(kt1); + connect(kt1,SIGNAL(triggered()),this,SLOT(OnMixedToReadwrite())); + + KeyEventTransition* kt2=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Any, + Qt::NoModifier, + readwrite_state_, + false); + mixed->addTransition(kt2); + connect(kt2,SIGNAL(triggered()),this,SLOT(OnMixedToReadwrite())); + + connect(readonly,SIGNAL(entered()),this,SLOT(OnReadonlyEntered())); + connect(readwrite_state_,SIGNAL(entered()),this,SLOT(OnReadwriteEntered())); + readonly_machine_->setInitialState(readwrite_state_); + readonly_machine_->start(); +} + +void PythonShellWidget::setup_state_machine_() +{ + #ifdef __APPLE__ + QFlags<Qt::KeyboardModifier> DNG_ARROW_MODIFIERS = Qt::KeypadModifier; + QFlags<Qt::KeyboardModifier> DNG_ENTER_MODIFIERS = Qt::NoModifier; + #else + QFlags<Qt::KeyboardModifier> DNG_ARROW_MODIFIERS = Qt::NoModifier; + QFlags<Qt::KeyboardModifier> DNG_ENTER_MODIFIERS = Qt::KeypadModifier; + #endif + State* single_line=new State; + State* multi_line_inactive=new State; + State* completing=new State; + State* executing=new State; + State* history_up=new State; + State* history_down=new State; + machine_->addState(single_line); + machine_->addState(multiline_active_state_); + machine_->addState(multi_line_inactive); + machine_->addState(completing); + machine_->addState(executing); + machine_->addState(history_up); + machine_->addState(history_down); + + connect(single_line,SIGNAL(entered()),this,SLOT(OnSingleLineStateEntered())); + connect(multiline_active_state_,SIGNAL(entered()),this,SLOT(OnMultiLineActiveStateEntered())); + connect(multi_line_inactive,SIGNAL(entered()),this,SLOT(OnMultiLineInactiveStateEntered())); + connect(history_up,SIGNAL(entered()),this,SLOT(OnHistoryUpStateEntered())); + connect(history_down,SIGNAL(entered()),this,SLOT(OnHistoryDownStateEntered())); + connect(executing,SIGNAL(entered()),this,SLOT(OnExecuteStateEntered())); + + KeyEventTransition* tr1=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::NoModifier, + executing, + true, + new BlockStatusGuard(this,CODE_BLOCK_COMPLETE | CODE_BLOCK_ERROR)); + single_line->addTransition(tr1); + KeyEventTransition* tr3=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::NoModifier, + multiline_active_state_, + true, + new BlockStatusGuard(this,CODE_BLOCK_INCOMPLETE)); + single_line->addTransition(tr3); + KeyEventTransition* keypad_enter1=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS| Qt::NoModifier, + multiline_active_state_, + true); + single_line->addTransition(keypad_enter1); + connect(keypad_enter1,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + KeyEventTransition* keypad_enter2=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS| Qt::ShiftModifier, + multiline_active_state_, + true); + single_line->addTransition(keypad_enter2); + connect(keypad_enter2,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + KeyEventTransition* keypad_enter3=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS| Qt::MetaModifier, + multiline_active_state_, + true); + single_line->addTransition(keypad_enter3); + connect(keypad_enter3,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + + single_line->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::ControlModifier, + multiline_active_state_, + false)); + // just to make OSX happy we also add the transitions with Meta (-> Ctrl o OSX) + single_line->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::MetaModifier, + multiline_active_state_, + false)); + + connect(tr3,SIGNAL(triggered()),this,SLOT(OnEnterTransition())); + single_line->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Up,DNG_ARROW_MODIFIERS,history_up)); + single_line->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Down,DNG_ARROW_MODIFIERS,history_down)); + + KeyEventTransition* tr4=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::NoModifier, + executing, + true, + new BlockStatusGuard(this,CODE_BLOCK_COMPLETE | CODE_BLOCK_ERROR)); + multi_line_inactive->addTransition(tr4); + KeyEventTransition* tr6=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::NoModifier, + multiline_active_state_, + true, + new BlockStatusGuard(this,CODE_BLOCK_INCOMPLETE)); + multi_line_inactive->addTransition(tr6); + connect(tr6,SIGNAL(triggered()),this,SLOT(OnEnterTransition())); + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Left,DNG_ARROW_MODIFIERS,multiline_active_state_)); + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Right,DNG_ARROW_MODIFIERS,multiline_active_state_)); + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Return,Qt::ControlModifier,multiline_active_state_)); + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Up,DNG_ARROW_MODIFIERS,history_up)); + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Down,DNG_ARROW_MODIFIERS,history_down)); + KeyEventTransition* keypad_enter4=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS| Qt::NoModifier, + multiline_active_state_, + true); + multi_line_inactive->addTransition(keypad_enter4); + connect(keypad_enter4,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + KeyEventTransition* keypad_enter5=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS| Qt::ShiftModifier, + multiline_active_state_, + true); + multi_line_inactive->addTransition(keypad_enter5); + connect(keypad_enter5,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + KeyEventTransition* keypad_enter6=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS | Qt::MetaModifier, + multiline_active_state_, + true); + multi_line_inactive->addTransition(keypad_enter6); + connect(keypad_enter6,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::ControlModifier, + multiline_active_state_, + false)); + // just to make OSX happy we also add the transitions with Meta (-> Ctrl o OSX) + multi_line_inactive->addTransition(new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::MetaModifier, + multiline_active_state_, + false)); + + KeyEventTransition* tr7=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::NoModifier, + executing, + true, + new BlockStatusGuard(this,CODE_BLOCK_COMPLETE | CODE_BLOCK_ERROR)); + multiline_active_state_->addTransition(tr7); + KeyEventTransition* tr8=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Return, + Qt::NoModifier, + multiline_active_state_, + true, + new BlockStatusGuard(this,CODE_BLOCK_INCOMPLETE)); + multiline_active_state_->addTransition(tr8); + connect(tr8,SIGNAL(triggered()),this,SLOT(OnEnterTransition())); + + multiline_active_state_->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Escape,Qt::NoModifier,multi_line_inactive)); + multiline_active_state_->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Up,Qt::ControlModifier | DNG_ARROW_MODIFIERS,history_up)); + multiline_active_state_->addTransition(new KeyEventTransition(QEvent::KeyPress,Qt::Key_Down,Qt::ControlModifier | DNG_ARROW_MODIFIERS,history_down)); + KeyEventTransition* keypad_enter7=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS | Qt::NoModifier, + multiline_active_state_, + true); + multiline_active_state_->addTransition(keypad_enter7); + connect(keypad_enter7,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + KeyEventTransition* keypad_enter8=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS | Qt::ShiftModifier, + multiline_active_state_, + true); + multiline_active_state_->addTransition(keypad_enter8); + connect(keypad_enter8,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + KeyEventTransition* keypad_enter9=new KeyEventTransition(QEvent::KeyPress, + Qt::Key_Enter, + DNG_ENTER_MODIFIERS | Qt::MetaModifier, + multiline_active_state_, + true); + multiline_active_state_->addTransition(keypad_enter9); + connect(keypad_enter9,SIGNAL(triggered()),this,SLOT(OnKeypadEnterTransition())); + + history_up->addTransition(new AutomaticTransition(multi_line_inactive,new HistoryGuard(&history_,EDITMODE_MULTILINE_INACTIVE))); + history_up->addTransition(new AutomaticTransition(single_line,new HistoryGuard(&history_,EDITMODE_SINGLELINE))); + history_down->addTransition(new AutomaticTransition(multi_line_inactive,new HistoryGuard(&history_,EDITMODE_MULTILINE_INACTIVE))); + history_down->addTransition(new AutomaticTransition(single_line,new HistoryGuard(&history_,EDITMODE_SINGLELINE))); + + executing->addTransition(new AutomaticTransition(single_line)); + + machine_->setInitialState(single_line); + machine_->start(); +} + +void PythonShellWidget::OnReadonlyEntered() +{ + setReadOnly(true); + setTextInteractionFlags(textInteractionFlags() | Qt::TextSelectableByKeyboard); +} + +void PythonShellWidget::OnReadwriteEntered() +{ + if(textCursor().position()< GetEditStartBlock().position()){ + moveCursor(QTextCursor::End); + } + setReadOnly(false); +} +void PythonShellWidget::OnMixedToReadwrite() +{ + QTextCursor tc=textCursor(); + if(tc.position()< GetEditStartBlock().position()){ + tc.setPosition(GetEditStartBlock().position(),QTextCursor::KeepAnchor); + setTextCursor(tc); + }else{ + tc.setPosition(GetEditStartBlock().position(),QTextCursor::MoveAnchor); + tc.setPosition(textCursor().position(),QTextCursor::KeepAnchor); + setTextCursor(tc); } - PythonInterpreter::Instance().RedirectOutput(); + } +void PythonShellWidget::OnKeypadEnterTransition() +{ + insertPlainText(QString(QChar::LineSeparator)); +} +void PythonShellWidget::OnEnterTransition() +{ + QTextCursor cursor=textCursor(); + cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::MoveAnchor); + setTextCursor(cursor); + cursor.movePosition(QTextCursor::Left, QTextCursor::KeepAnchor); + bool new_indent=cursor.selectedText()==":"; + cursor.movePosition(QTextCursor::StartOfLine); + cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor); + insertPlainText(QString(QChar::ParagraphSeparator)); + if(cursor.selectedText()[0].isSpace() && ! cursor.atBlockEnd()){ + insertPlainText(QString(cursor.selectedText())); + } + if (new_indent){ + insertPlainText(QString("\t")); + } +} +void PythonShellWidget::OnSingleLineStateEntered() +{ + set_block_edit_mode_(EDITMODE_SINGLELINE); +} +void PythonShellWidget::OnMultiLineActiveStateEntered() +{ + set_block_edit_mode_(EDITMODE_MULTILINE_ACTIVE); +} +void PythonShellWidget::OnMultiLineInactiveStateEntered() +{ + set_block_edit_mode_(EDITMODE_MULTILINE_INACTIVE); +} +void PythonShellWidget::OnHistoryUpStateEntered() +{ + if(history_.AtEnd()){ + history_.SetCurrentCommand(GetCommand(),get_block_edit_mode_()); + } + history_.MoveToPreviousMatch(); + set_command_(history_.GetCommand()); + set_block_edit_mode_(history_.GetCommandMode()); +} +void PythonShellWidget::OnHistoryDownStateEntered() +{ + history_.MoveToNextMatch(); + set_command_(history_.GetCommand()); + set_block_edit_mode_(history_.GetCommandMode()); +} +void PythonShellWidget::OnExecuteStateEntered() +{ + QTextCursor cursor=textCursor(); + cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::MoveAnchor); + setTextCursor(cursor); + set_block_type_(block_edit_start_,textCursor().block(),BLOCKTYPE_CODE); + insertPlainText(QString(QChar::ParagraphSeparator)); + QString command=GetCommand(); + QString command_trimmed=command.trimmed(); + if (command_trimmed.size()>0) { + unsigned int id=PythonInterpreter::Instance().RunCommand(command); + output_blocks_.insert(id,textCursor().block()); + history_.AppendCommand(command_trimmed,get_block_edit_mode_()); + insertPlainText(QString(QChar::ParagraphSeparator)); + } + block_edit_start_=textCursor().block(); + +} + + void PythonShellWidget::SetTabWidth(int width) { tab_width_=width; QFontMetrics metrics(font()); @@ -115,14 +500,14 @@ int PythonShellWidget::GetTabWidth() const { -void PythonShellWidget::WrapIntoFunction(const QString& command) +void PythonShellWidget::wrap_into_function_(const QString& command) { QString tmp_command=command; tmp_command.replace(QString(QChar::LineSeparator), QString(QChar::LineSeparator)+QString("\t")); QString tmp="def func():"+QString(QChar::LineSeparator)+"\t"; tmp+=tmp_command; - SetCommand(tmp); + set_command_(tmp); QTextCursor tc=textCursor(); tc.setPosition(document()->lastBlock().position()+QString("def ").length()); tc.setPosition(document()->lastBlock().position()+ @@ -144,53 +529,92 @@ void PythonShellWidget::InsertCompletion(const QString& completion) tc.insertText(completion); setTextCursor(tc); } +void PythonShellWidget::InsertPathCompletion(const QString& completion) +{ + QString path=QDir::fromNativeSeparators(completion); + // append dir separator for directories if none present (Windows adds it already for the inline completion) + if(QFileInfo(path).isDir() && ! completion.endsWith("/")){ + path+="/"; + } + InsertCompletion(path); +} -void PythonShellWidget::AppendOutput(int status,const QString& output) +void PythonShellWidget::AppendOutput(unsigned int id,const QString& output) { - QStringList output_list=output.split("\n"); - if (output_list.size()>=maximumBlockCount ()){ - QTextCursor cursor=textCursor(); - cursor.movePosition(QTextCursor::Start); - cursor.movePosition(QTextCursor::End,QTextCursor::KeepAnchor); - cursor.removeSelectedText(); - output_list.erase(output_list.begin(),output_list.begin()+ - output_list.size()+1-maximumBlockCount()); - } else if (output_list.size()+blockCount()>maximumBlockCount()){ - QTextCursor cursor=textCursor(); - cursor.movePosition(QTextCursor::Start); - cursor.movePosition(QTextCursor::NextBlock,QTextCursor::KeepAnchor, - output_list.size()+1+blockCount()-maximumBlockCount()); - cursor.removeSelectedText(); + OutputBlockList::iterator it=output_blocks_.find(id); + if(it==output_blocks_.end()){ + return; } - moveCursor(QTextCursor::End); - QTextCursor cursor=textCursor(); - cursor.beginEditBlock(); - if (output!="" && output_list.size()>0) { - for(int i=0;i<output_list.size();++i){ - document()->lastBlock().setUserState(status); - insertPlainText(output_list[i]); - insertPlainText(QString(QChar::ParagraphSeparator)); - } + if(! it->isValid()){ + return; } - document()->lastBlock().setUserState(BLOCKTYPE_ACTIVE); - cursor.endEditBlock(); + QTextCursor cursor(*it); + cursor.movePosition(QTextCursor::EndOfBlock); + cursor.insertText(output); + set_block_type_(output_blocks_[id],cursor.block(),BLOCKTYPE_OUTPUT); + output_blocks_[id]=cursor.block(); verticalScrollBar()->triggerAction(QAbstractSlider::SliderToMaximum); - this->ensureCursorVisible(); + ensureCursorVisible(); + repaint(); + QApplication::processEvents(); } +void PythonShellWidget::AppendError(unsigned int id,const QString& output) +{ + OutputBlockList::iterator it=output_blocks_.find(id); + if(it==output_blocks_.end()){ + return; + } + if(! it->isValid()){ + return; + } + QTextCursor cursor(*it); + cursor.movePosition(QTextCursor::EndOfBlock); + cursor.insertText(output); + set_block_type_(output_blocks_[id],cursor.block(),BLOCKTYPE_ERROR); + output_blocks_[id]=cursor.block(); + verticalScrollBar()->triggerAction(QAbstractSlider::SliderToMaximum); + ensureCursorVisible(); + repaint(); + QApplication::processEvents(); +} +void PythonShellWidget::set_block_type_(const QTextBlock& start, const QTextBlock& end, BlockType type) +{ + QTextBlock block=start; + while(block!=end){ + block.setUserState(type); + block=block.next(); + } + block.setUserState(type); + document()->markContentsDirty(start.position(),end.position()+end.length()-start.position()); +} -void PythonShellWidget::SetCommand(const QString& command) +void PythonShellWidget::OutputFinished(unsigned int id, bool error) { - QTextCursor cursor=textCursor(); - cursor.setPosition(document()->lastBlock().position()); + OutputBlockList::iterator it=output_blocks_.find(id); + if(it==output_blocks_.end()){ + return; + } + if(it->isValid()){ + QTextCursor cursor(*it); + cursor.movePosition(QTextCursor::Left,QTextCursor::KeepAnchor); + cursor.removeSelectedText(); + } + output_blocks_.erase(it); +} + +void PythonShellWidget::set_command_(const QString& command) +{ + QTextCursor cursor(block_edit_start_); cursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); - cursor.beginEditBlock(); cursor.removeSelectedText(); + if(block_edit_start_.isValid()){ + block_edit_start_=document()->lastBlock(); + } cursor.insertText(command); - cursor.endEditBlock(); - QAbstractTextDocumentLayout* layout=document()->documentLayout(); + QAbstractTextDocumentLayout* layout=document()->documentLayout(); dynamic_cast<PythonShellTextDocumentLayout*>(layout)->EmitSizeChange(); verticalScrollBar()->triggerAction(QAbstractSlider::SliderToMaximum); ensureCursorVisible(); @@ -216,7 +640,7 @@ void PythonShellWidget::Complete(bool inline_completion) completion_end_=positions->GetEnd(literal_index); QTextCursor cp=textCursor(); QString text=cursor.selectedText(); - int sep=text.lastIndexOf(QDir::separator()); + int sep=text.lastIndexOf("/"); cp.setPosition(positions->GetStart(literal_index)); if (sep!=-1) { cp.movePosition(QTextCursor::NextCharacter, @@ -225,7 +649,7 @@ void PythonShellWidget::Complete(bool inline_completion) if (QDir(text).isAbsolute()) { emit SetPathCompletionPrefix(text); } else { - emit SetPathCompletionPrefix(QDir::currentPath()+QDir::separator()+text); + emit SetPathCompletionPrefix(QDir::currentPath()+"/"+text); } emit RequestPathCompletion(cursorRect(cp), inline_completion); @@ -253,69 +677,34 @@ void PythonShellWidget::Complete(bool inline_completion) } } -bool PythonShellWidget::HandleNav(QKeyEvent* event) -{ - if(event->key() == Qt::Key_Up){ - if (GetBlockEditMode()!=EDITMODE_MULTILINE_ACTIVE) { - SanitizeCursorPosition(); - if(history_.AtEnd()){ - history_.SetCurrentCommand(textCursor().block().text(), - GetBlockEditMode()); - } - --history_; - SetCommand(history_.GetCommand()); - this->SetBlockEditMode(history_.GetCommandMode()); - return true; - }else{ - QTextCursor temporary_cursor=textCursor(); - int temp_position_before=temporary_cursor.position(); - temporary_cursor.movePosition(QTextCursor::Up); - if (temporary_cursor.position()<document()->lastBlock().position() && - temp_position_before>=document()->lastBlock().position() && - !(event->modifiers() & Qt::ShiftModifier)) { - return true; - } - } - } - if (event->key() == Qt::Key_Down && - GetBlockEditMode()!=EDITMODE_MULTILINE_ACTIVE) { - SanitizeCursorPosition(); - ++history_; - SetCommand(history_.GetCommand()); - this->SetBlockEditMode(history_.GetCommandMode()); - return true; - } - return false; -} -bool PythonShellWidget::HandleCustomCommands(QKeyEvent* event) + +bool PythonShellWidget::handle_custom_commands_(QKeyEvent* event) { - // see ticket #38 - #if 0 if ((event->modifiers() == (Qt::ControlModifier | Qt::ShiftModifier)) && event->key() == Qt::Key_H) { - SetOutputVisible(!output_visible_); + set_output_visible_(!output_visible_); return true; } - #endif + if ((event->modifiers() == (Qt::ControlModifier | Qt::ShiftModifier)) && event->key() == Qt::Key_W) { - WrapIntoFunction(textCursor().selectedText()); + wrap_into_function_(textCursor().selectedText()); return true; } // custom handling of CTRL+A to select only text in edit or output section if (event->modifiers() == Qt::ControlModifier && event->key() == Qt::Key_A) { QTextCursor cursor=textCursor(); - if(cursor.position()<document()->lastBlock().position()){ + if(cursor.position()<GetEditStartBlock().position()){ // select all output cursor.setPosition(0); - cursor.setPosition(document()->lastBlock().position(),QTextCursor::KeepAnchor); + cursor.setPosition(GetEditStartBlock().position(),QTextCursor::KeepAnchor); setTextCursor(cursor); }else{ //select whole edit section - cursor.movePosition(QTextCursor::StartOfBlock); - cursor.movePosition(QTextCursor::EndOfBlock,QTextCursor::KeepAnchor); + cursor.setPosition(GetEditStartBlock().position()); + cursor.movePosition(QTextCursor::End,QTextCursor::KeepAnchor); setTextCursor(cursor); } return true; @@ -323,81 +712,8 @@ bool PythonShellWidget::HandleCustomCommands(QKeyEvent* event) return false; } -bool PythonShellWidget::HandleReturnKey(QKeyEvent* event) -{ - if(event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) { - QString command=textCursor().block().text(); - SanitizeCursorPosition(); - command.replace(QString(QChar::LineSeparator),QString("\n")); - bool execute_cmd=false; - bool insert_new_line=false; - bool move_to_end=false; - if (mode_==SHELL_INTERACTION_MATHEMATICA) { - if (event->modifiers() & Qt::ControlModifier || - (command.endsWith("\n") && textCursor().atEnd())) { - execute_cmd=true; - move_to_end=(event->modifiers() & Qt::ControlModifier)==false; - } else { - if (textCursor().block().text().trimmed().length()==0) { - return true; - } - insert_new_line=true; - move_to_end=true; - } - } else { - if (event->modifiers() & Qt::ControlModifier) { - insert_new_line=true; - move_to_end=false; - } else { - PythonInterpreter& pi=PythonInterpreter::Instance(); - CodeBlockStatus status=pi.GetCodeBlockStatus(command); - if (status!=CODE_BLOCK_INCOMPLETE) { - execute_cmd=true; - move_to_end=true; - } else { - insert_new_line=true; - move_to_end=true; - } - } - } - QTextCursor cursor=this->textCursor(); - if (move_to_end) { - cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::MoveAnchor); - this->setTextCursor(cursor); - } - if (insert_new_line) { - cursor.movePosition(QTextCursor::Left, QTextCursor::KeepAnchor); - bool new_indent=cursor.selectedText()==":"; - cursor.movePosition(QTextCursor::StartOfLine); - cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor); - insertPlainText(QString(QChar::LineSeparator)); - if(cursor.selectedText()[0].isSpace()){ - insertPlainText(QString(cursor.selectedText())); - } - if (new_indent){ - insertPlainText(QString("\t")); - } - QAbstractTextDocumentLayout* layout=document()->documentLayout(); - dynamic_cast<PythonShellTextDocumentLayout*>(layout)->EmitSizeChange(); - verticalScrollBar()->triggerAction(QAbstractSlider::SliderToMaximum); - SetBlockEditMode(EDITMODE_MULTILINE_ACTIVE); - return true; - } - if (execute_cmd) { - QKeyEvent new_event(event->type(),event->key(), - Qt::NoModifier, - event->text(),event->isAutoRepeat(), - event->count()); - QPlainTextEdit::keyPressEvent(&new_event); - ExecuteCommand(); - return true; - } - } - return false; -} - -bool PythonShellWidget::HandleCompletion(QKeyEvent* event) +bool PythonShellWidget::handle_completion_(QKeyEvent* event) { if(event->key() == Qt::Key_Tab){ QRegExp rx("^\\s*$"); // only white spaces from beginning of line @@ -413,79 +729,32 @@ bool PythonShellWidget::HandleCompletion(QKeyEvent* event) return false; } +QTextBlock PythonShellWidget::GetEditStartBlock() +{ + return block_edit_start_; +} + void PythonShellWidget::keyPressEvent(QKeyEvent* event) { - if (this->HandleCustomCommands(event)) - return; - - if (this->HandleCompletion(event)) - return; - if (this->HandleNav(event)) - return; - - if (this->HandleReturnKey(event)) - return; - if ((event->text()!="" && !(event->modifiers() & Qt::ControlModifier)) || - event->matches(QKeySequence::Cut) || event->key()== Qt::Key_Delete){ - SanitizeCursorPosition(); - if(GetBlockEditMode()==EDITMODE_MULTILINE_INACTIVE){ - SetBlockEditMode(EDITMODE_MULTILINE_ACTIVE); - } - } - if (GetBlockEditMode()==EDITMODE_MULTILINE_ACTIVE && event->key()==Qt::Key_Escape){ - SetBlockEditMode(EDITMODE_MULTILINE_INACTIVE); - } - - if (GetBlockEditMode()==EDITMODE_MULTILINE_INACTIVE && (event->key()==Qt::Key_Right || - event->key() == Qt::Key_Left)) { - SetBlockEditMode(EDITMODE_MULTILINE_ACTIVE); - } - - if (event->key()== Qt::Key_Backspace && - textCursor().position()<=document()->lastBlock().position() - && !textCursor().hasSelection()){ + if (this->handle_custom_commands_(event)){ return; } - - - if (event->key()== Qt::Key_Left && - textCursor().position()==document()->lastBlock().position() && - !(event->modifiers() & Qt::ShiftModifier)) { + if (this->handle_completion_(event)){ return; } QPlainTextEdit::keyPressEvent(event); } -void PythonShellWidget::ExecuteCommand() -{ - QString command=textCursor().block().previous().text(); - textCursor().block().previous().setUserState(BLOCKTYPE_CODE); - document()->markContentsDirty(textCursor().block().previous().position(), - textCursor().block().previous().length()); - QString cmd=command; - cmd.replace(QString(QChar::LineSeparator),QString("\n")); - emit Execute(cmd); - - command=command.trimmed(); - if (command.size()>0) { - history_.AppendCommand(command,GetBlockEditMode()); - } - if (mode_==SHELL_INTERACTION_MATHEMATICA) { - SetBlockEditMode(EDITMODE_MULTILINE_INACTIVE); - } else { - SetBlockEditMode(EDITMODE_SINGLELINE); - } -} void PythonShellWidget::mouseReleaseEvent(QMouseEvent * event) { QTextCursor mouse_cursor=cursorForPosition(event->pos()); - if (GetBlockEditMode()==EDITMODE_MULTILINE_INACTIVE && + if (get_block_edit_mode_()==EDITMODE_MULTILINE_INACTIVE && event->button() == Qt::LeftButton && mouse_cursor.position()>=document()->lastBlock().position()) { // switch to active edit mode upon mouse click in edit section - SetBlockEditMode(EDITMODE_MULTILINE_ACTIVE); + set_block_edit_mode_(EDITMODE_MULTILINE_ACTIVE); } if (event->button() == Qt::MidButton && mouse_cursor.position()<document()->lastBlock().position()) { @@ -496,51 +765,35 @@ void PythonShellWidget::mouseReleaseEvent(QMouseEvent * event) QPlainTextEdit::mouseReleaseEvent(event); } -void PythonShellWidget::SanitizeCursorPosition() -{ - if(textCursor().position()<document()->lastBlock().position()){ - if(textCursor().anchor()<document()->lastBlock().position()){ - moveCursor(QTextCursor::End); - }else{ - QTextCursor cursor=textCursor(); - cursor.setPosition(document()->lastBlock().position(), - QTextCursor::KeepAnchor); - setTextCursor(cursor); - } - }else{ - if(textCursor().anchor()<document()->lastBlock().position()){ - int current_position=textCursor().position(); - QTextCursor cursor=textCursor(); - cursor.setPosition(document()->lastBlock().position()); - cursor.setPosition(current_position,QTextCursor::KeepAnchor); - setTextCursor(cursor); - } - } -} -void PythonShellWidget::SetBlockEditMode(BlockEditMode flag) + +void PythonShellWidget::set_block_edit_mode_(BlockEditMode flag) { block_edit_mode_=flag; if(flag==EDITMODE_MULTILINE_ACTIVE){ - document()->lastBlock().setUserState(BLOCKTYPE_BLOCKEDIT); + set_block_type_(block_edit_start_,document()->lastBlock(),BLOCKTYPE_BLOCKEDIT); }else if(flag==EDITMODE_MULTILINE_INACTIVE){ - document()->lastBlock().setUserState(BLOCKTYPE_ACTIVE); + set_block_type_(block_edit_start_,document()->lastBlock(),BLOCKTYPE_ACTIVE); }else { - document()->lastBlock().setUserState(BLOCKTYPE_ACTIVE); + set_block_type_(block_edit_start_,document()->lastBlock(),BLOCKTYPE_ACTIVE); } gutter_->update(); - document()->markContentsDirty(document()->lastBlock().position(), - document()->lastBlock().length()); } -BlockEditMode PythonShellWidget::GetBlockEditMode() +BlockEditMode PythonShellWidget::get_block_edit_mode_() { return block_edit_mode_; } QString PythonShellWidget::GetCommand() { - return document()->lastBlock().text(); + + QTextCursor cursor(block_edit_start_); + cursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); + QString text= cursor.selectedText(); + text.replace(QChar::LineSeparator,"\n"); + text.replace(QChar::ParagraphSeparator,"\n"); + return text; } void PythonShellWidget::insertFromMimeData(const QMimeData * source) @@ -549,7 +802,7 @@ void PythonShellWidget::insertFromMimeData(const QMimeData * source) return; } QString text=source->text(); - SanitizeCursorPosition(); + readonly_machine_->setActive(readwrite_state_); text=text.replace("\r\n", QString(1, QChar::LineSeparator)) .replace('\n', QChar::LineSeparator) .replace('\r', QChar::LineSeparator); @@ -568,19 +821,12 @@ void PythonShellWidget::insertFromMimeData(const QMimeData * source) lines[i]=QString(num_spaces, '\t')+right; } text=lines.join(QString(1, QChar::LineSeparator)); - int line_sep=text.count(QChar::LineSeparator); - if(line_sep>0){ - QString command=GetCommand(); - int last_block_start=document()->lastBlock().position(); - int last_block_end=last_block_start+document()->lastBlock().length(); - int shifted_start=textCursor().selectionStart()-last_block_start; - int shifted_end=last_block_end-textCursor().selectionEnd(); - QString rpl_text=command.left(shifted_start)+text+ - command.right(shifted_end-1); - this->SetCommand(rpl_text); - SetBlockEditMode(EDITMODE_MULTILINE_ACTIVE); - }else{ - QPlainTextEdit::insertFromMimeData(source); + if(lines.size()>0){ + machine_->setActive(multiline_active_state_); + } + QPlainTextEdit::insertFromMimeData(source); + if(lines.size()>0){ + set_block_type_(block_edit_start_,document()->lastBlock(),BLOCKTYPE_BLOCKEDIT); } } @@ -602,17 +848,22 @@ GutterBlockList PythonShellWidget::GetGutterBlocks(const QRect& rect) return result; } -void PythonShellWidget::SetOutputVisible(bool flag) +void PythonShellWidget::set_output_visible_(bool flag) { output_visible_=flag; for (QTextBlock i=document()->begin(); i!=document()->end(); i=i.next()) { if(i.userState()==BLOCKTYPE_ERROR || i.userState()==BLOCKTYPE_OUTPUT){ i.setVisible(flag); + i.setLineCount(flag ? qMax(1, i.layout()->lineCount()) : 0); } } + dynamic_cast<PythonShellTextDocumentLayout*>(document()->documentLayout())->requestUpdate(); + dynamic_cast<PythonShellTextDocumentLayout*>(document()->documentLayout())->EmitSizeChange(); + ensureCursorVisible(); + repaint(); gutter_->update(); - viewport()->update(); - this->update(); + viewport()->update(); + this->update(); } void PythonShellWidget::resizeEvent(QResizeEvent* event) @@ -631,19 +882,5 @@ void PythonShellWidget::showEvent(QShowEvent* event) } } -void PythonShellWidget::AquireFocus() -{ - setFocus(Qt::OtherFocusReason); -} - -void PythonShellWidget::AddLogger(TextLogger* logger) -{ - loggers_.push_back(logger); - logger->setParent(this); - connect(this,SIGNAL(Execute(const QString&)), - logger,SLOT(AppendCode(const QString&))); - connect(&PythonInterpreter::Instance(),SIGNAL(Done(int,const QString&)), - logger,SLOT(AppendOutput(int,const QString&))); -} }} diff --git a/modules/gui/src/python_shell/python_shell_widget.hh b/modules/gui/src/python_shell/python_shell_widget.hh index b4c34ce45475b7f4e2f68b5869989866ea6cb399..9ab34b259e1386f6f240f35b918d61112cce586f 100644 --- a/modules/gui/src/python_shell/python_shell_widget.hh +++ b/modules/gui/src/python_shell/python_shell_widget.hh @@ -16,55 +16,48 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_GUI_PYTHON_SHELL_WIDGET_HH -#define OST_GUI_PYTHON_SHELL_WIDGET_HH - /* Authors: Marco Biasini, Andreas Schenk */ -#include <ost/gui/module_config.hh> + +#ifndef OST_GUI_PYTHON_SHELL_WIDGET_HH +#define OST_GUI_PYTHON_SHELL_WIDGET_HH +#include <ost/gui/module_config.hh> #include "python_interpreter.hh" #include "shell_history.hh" #include "python_shell_fw.hh" - #include "python_syntax_highlighter.hh" +#include "state_machine.hh" +#include "state.hh" #include <QPlainTextEdit> - +#include <QHash> namespace ost { namespace gui { // fw decl class Gutter; class PythonCompleter; class PathCompleter; -class TextLogger; -typedef enum { - // to execute a command, the command must end with an empty line, or - // Cmd+Return must be pressed - SHELL_INTERACTION_MATHEMATICA=0, - // to execute a command, a single return key press is sufficient. Cmd+Return - // starts newline. This mode is the default - SHELL_INTERACTION_BASH=1 -} ShellInteractionMode; class DLLEXPORT_OST_GUI PythonShellWidget : public QPlainTextEdit { + + typedef QHash<unsigned int,QTextBlock> OutputBlockList; Q_OBJECT + public: PythonShellWidget(QWidget* parent=NULL); GutterBlockList GetGutterBlocks(const QRect& rect); - void SetOutputVisible(bool flag=true); - - void AddLogger(TextLogger* logger); - - void SetInteractionMode(ShellInteractionMode mode); - void SetTabWidth(int width); int GetTabWidth() const; + QString GetCommand(); + QTextBlock GetEditStartBlock(); + int tab_width_; + signals: void Execute(const QString& command); void RequestCompletion(const QRect& rect,bool inline_completion); @@ -74,30 +67,41 @@ signals: public slots: void InsertCompletion(const QString& completion); - void AppendOutput(int status,const QString& output); - void AquireFocus(); + void InsertPathCompletion(const QString& completion); + void AppendOutput(unsigned int id,const QString& output); + void AppendError(unsigned int id,const QString& output); + void OutputFinished(unsigned int id, bool error); void Complete(bool inline_completion=true); void Recomplete(const QString& completion); + // slots for state machine + void OnSingleLineStateEntered(); + void OnMultiLineActiveStateEntered(); + void OnMultiLineInactiveStateEntered(); + void OnHistoryUpStateEntered(); + void OnHistoryDownStateEntered(); + void OnExecuteStateEntered(); + void OnEnterTransition(); + void OnKeypadEnterTransition(); + void OnReadonlyEntered(); + void OnReadwriteEntered(); + void OnMixedToReadwrite(); protected: virtual void mouseReleaseEvent (QMouseEvent* event ); virtual void keyPressEvent (QKeyEvent* event ); virtual void resizeEvent(QResizeEvent* event); virtual void showEvent(QShowEvent* event); - - void WrapIntoFunction(const QString& command); - void SetCommand(const QString& command); - QString GetCommand(); - void insertFromMimeData( const QMimeData * source ); - void SanitizeCursorPosition(); - void SetBlockEditMode(BlockEditMode flag); - - bool HandleNav(QKeyEvent* event); - bool HandleCompletion(QKeyEvent* event); - bool HandleCustomCommands(QKeyEvent* event); - bool HandleReturnKey(QKeyEvent* event); - BlockEditMode GetBlockEditMode(); - void ExecuteCommand(); + virtual void insertFromMimeData( const QMimeData * source ); + void set_output_visible_(bool flag=true); + void setup_readonly_state_machine_(); + void setup_state_machine_(); + void wrap_into_function_(const QString& command); + void set_command_(const QString& command); + void set_block_edit_mode_(BlockEditMode flag); + bool handle_completion_(QKeyEvent* event); + bool handle_custom_commands_(QKeyEvent* event); + BlockEditMode get_block_edit_mode_(); + void set_block_type_(const QTextBlock& start,const QTextBlock& end, BlockType type); PythonSyntaxHighlighter highlighter_; PythonCompleter* completer_; @@ -108,8 +112,12 @@ protected: bool output_visible_; int completion_start_; int completion_end_; - std::vector<TextLogger*> loggers_; - ShellInteractionMode mode_; + QTextBlock block_edit_start_; + OutputBlockList output_blocks_; + StateMachine* machine_; + StateMachine* readonly_machine_; + State* readwrite_state_; + State* multiline_active_state_; }; }}//ns diff --git a/modules/gui/src/python_shell/python_syntax_highlighter.cc b/modules/gui/src/python_shell/python_syntax_highlighter.cc index c6f16ba6ae99dff924284267fb64b4720a949151..f37eb4d61f866bd097ad8ddfbbce68fa565b23aa 100644 --- a/modules/gui/src/python_shell/python_syntax_highlighter.cc +++ b/modules/gui/src/python_shell/python_syntax_highlighter.cc @@ -22,8 +22,6 @@ #include <iostream> -#include <QTextCursor> - #include "python_shell.hh" #include "string_literal_positions.hh" @@ -31,6 +29,8 @@ #include "python_context_parser.hh" +#include <QDebug> +#include <QTextCursor> namespace ost { namespace gui { @@ -44,6 +44,8 @@ PythonSyntaxHighlighter::PythonSyntaxHighlighter(QTextDocument* parent): formats_[PythonToken::END]=format; format.setForeground(QBrush(QColor(150,0,0))); formats_[PythonToken::OPERATOR]=format; + format.setForeground(QBrush(QColor(100,100,100))); + formats_[PythonToken::COMMENT]=format; format.setForeground(QBrush(QColor(0,0,150))); formats_[PythonToken::GROUPING]=format; format.setForeground(QBrush(QColor(35,107,142))); @@ -72,11 +74,32 @@ PythonSyntaxHighlighter::PythonSyntaxHighlighter(QTextDocument* parent): void PythonSyntaxHighlighter::highlightBlock(const QString& text_block) { QTextCursor cursor(currentBlock()); - cursor.setBlockFormat(block_formats_[static_cast<BlockType>(currentBlockState())]); - if (currentBlockState() == BLOCKTYPE_BLOCKEDIT || currentBlockState() == BLOCKTYPE_ACTIVE || currentBlockState() == BLOCKTYPE_CODE){ + int base_state=-1; + if (currentBlockState() & BLOCKTYPE_OUTPUT) { + base_state=BLOCKTYPE_OUTPUT; + } else if (currentBlockState() & BLOCKTYPE_ERROR) { + base_state=BLOCKTYPE_ERROR; + } else if (currentBlockState() & BLOCKTYPE_ACTIVE) { + base_state=BLOCKTYPE_ACTIVE; + } else if (currentBlockState() & BLOCKTYPE_BLOCKEDIT) { + base_state=BLOCKTYPE_BLOCKEDIT; + } else if (currentBlockState() & BLOCKTYPE_CODE) { + base_state=BLOCKTYPE_CODE; + } + cursor.setBlockFormat(block_formats_[static_cast<BlockType>(base_state)]); + if (currentBlockState() & BLOCKTYPE_BLOCKEDIT || + currentBlockState() & BLOCKTYPE_ACTIVE || + currentBlockState() & BLOCKTYPE_CODE) { StringLiteralPositions* positions=new StringLiteralPositions(); int blockposition=currentBlock().position(); - PythonTokenizer pt(text_block,0); + int string_state=0; + int bs=previousBlockState()==-1 ? 0 : previousBlockState(); + if (bs & BLOCKTYPE_MULTILINE_SQ) { + string_state=2; + } else if (bs & BLOCKTYPE_MULTILINE_DQ) { + string_state=1; + } + PythonTokenizer pt(text_block,string_state); PythonToken t; PythonToken last; int type_before_last=PythonToken::END; @@ -84,14 +107,28 @@ void PythonSyntaxHighlighter::highlightBlock(const QString& text_block) { while((t = pt.NextToken()).GetType() != PythonToken::END) { setFormat(t.GetRange().location,t.GetRange().length,formats_[t.GetType()]); if(t.GetType()==PythonToken::STRING_LITERAL){ - positions->Append(blockposition+t.GetRange().location,blockposition+t.GetRange().location+t.GetRange().length); + positions->Append(blockposition+t.GetRange().location, + blockposition+t.GetRange().location+ + t.GetRange().length); } type_before_last=last.GetType(); last=t; } - if(last.GetType()==PythonToken::STRING_DELIM && type_before_last!=PythonToken::STRING_LITERAL && type_before_last!=PythonToken::STRING_DELIM){ - positions->Append(blockposition+last.GetRange().location+1,blockposition+last.GetRange().location+1); + if(last.GetType()==PythonToken::STRING_DELIM && + type_before_last!=PythonToken::STRING_LITERAL && + type_before_last!=PythonToken::STRING_DELIM){ + positions->Append(blockposition+last.GetRange().location+1, + blockposition+last.GetRange().location+1); + } + int new_state=base_state; + if (pt.InString()) { + if (pt.GetDelim()=="'''") { + new_state|=BLOCKTYPE_MULTILINE_SQ; + } else if (pt.GetDelim()=="\"\"\""){ + new_state|=BLOCKTYPE_MULTILINE_DQ; + } } + setCurrentBlockState(new_state); currentBlock().setUserData(positions); } } diff --git a/modules/gui/src/python_shell/python_syntax_highlighter.hh b/modules/gui/src/python_shell/python_syntax_highlighter.hh index dea21746b34d5c6ce76c57070fe7fc62a5d8edbe..e31413678dfaee18e8c17a309fe437e39573e03a 100644 --- a/modules/gui/src/python_shell/python_syntax_highlighter.hh +++ b/modules/gui/src/python_shell/python_syntax_highlighter.hh @@ -22,12 +22,12 @@ Authors: Marco Biasini, Andreas Schenk */ -#include <QSyntaxHighlighter> -#include <QTextDocument> #include "python_shell_fw.hh" #include "python_tokenizer.hh" +#include <QSyntaxHighlighter> +#include <QTextDocument> namespace ost { namespace gui { /** diff --git a/modules/gui/src/python_shell/python_tokenizer.cc b/modules/gui/src/python_shell/python_tokenizer.cc index 1049b3b803d4a40810c7ee75cd2b86b598cd0b36..1cbbc235bea98d9a6879701fd1a77e561b6e556d 100644 --- a/modules/gui/src/python_shell/python_tokenizer.cc +++ b/modules/gui/src/python_shell/python_tokenizer.cc @@ -64,6 +64,8 @@ QString PythonToken::GetTypeAsString() const return "EOF"; case GROUPING: return "grouping character"; + case COMMENT: + return "comment"; } return "unknown"; } @@ -137,11 +139,13 @@ PythonToken PythonTokenizer::GetOperatorToken() { static QString operators[] = { QString("+="), QString("-="), QString("*="), + QString("**"), QString("&="), QString("|="), QString("/="), QString("+"), QString("-"), QString("/"), QString("*"), QString("."), QString("%"), QString("="), QString("!="), QString("!"), QString("<="), QString(">="), - QString("<"), QString(":"), QString("?"), + QString("<"), QString(":"), QString("?"), + QString("|"), QString("&"), QString("^"), QString("") }; size_t index = -1; @@ -205,7 +209,7 @@ PythonToken PythonTokenizer::GetStringDelim() { Range range(current_pos_,0); // Find out which type of delimiters are used for the String. i.e. <">, - // <"""> or <'> + // <""">, <'''> or <'> QString delimiter = "\""; if (command_[current_pos_] == '\'') delimiter = "'"; @@ -275,6 +279,15 @@ PythonToken PythonTokenizer::NextToken() this->EatWhities(); if (current_pos_ < command_.size()) { QChar current_char = command_[current_pos_]; + if (current_char=='#') { + current_token_=PythonToken(PythonToken::COMMENT, + Range(current_pos_, + command_.size()-current_pos_), + command_.mid(current_pos_, + command_.size()-current_pos_)); + current_pos_=command_.size(); + return current_token_; + } if (current_char.isDigit()) { current_token_ = GetNumberToken(); return current_token_; diff --git a/modules/gui/src/python_shell/python_tokenizer.hh b/modules/gui/src/python_shell/python_tokenizer.hh index 2c398dfbdf673d002c0bf7c484c94c199e2298e3..3e85c89fe899caba8ea57832836534261faccae4 100644 --- a/modules/gui/src/python_shell/python_tokenizer.hh +++ b/modules/gui/src/python_shell/python_tokenizer.hh @@ -62,6 +62,7 @@ public: NUMBER, OPERATOR, GROUPING, + COMMENT, END }; PythonToken(); @@ -86,7 +87,8 @@ public: PythonToken NextToken(); const PythonToken& CurrentToken() const; void SetInString(bool in_string); - + bool InString() const { return in_string_; } + const QString& GetDelim() const { return string_delim_; } private: void EatWhities(); QString GetSubString(const Range& range); diff --git a/modules/gui/src/python_shell/shell_history.cc b/modules/gui/src/python_shell/shell_history.cc index a761cd86f787dd3e9ade0fa997b2abbd492c1a12..01d7e16c329f38b5db15155478f7304e0f9eafa9 100644 --- a/modules/gui/src/python_shell/shell_history.cc +++ b/modules/gui/src/python_shell/shell_history.cc @@ -19,7 +19,6 @@ /* Author: Andreas Schenk */ - #include "shell_history.hh" namespace ost { namespace gui { @@ -77,29 +76,33 @@ bool ShellHistory::AtEnd() return index_>=history_list_.size(); } -void ShellHistory::operator--() +void ShellHistory::MoveToPreviousMatch() { - if(index_>0){ - --index_; + int newindex=index_-1; + while(newindex>=0){ + if(history_list_[newindex].first.indexOf(current_)==0 || current_.size()==0){ + index_=newindex; + break; + } + --newindex; } } -void ShellHistory::operator--(int) -{ - operator--(); -} - -void ShellHistory::operator++() +void ShellHistory::MoveToNextMatch() { - if(index_<history_list_.size()){ - ++index_; + int newindex=index_+1; + while(static_cast<unsigned int>(newindex)<history_list_.size()){ + if(history_list_[newindex].first.indexOf(current_)==0 || current_.size()==0){ + index_=newindex; + break; + } + ++newindex; + } + if(static_cast<unsigned int>(newindex)!=index_){ + index_=history_list_.size(); } } -void ShellHistory::operator++(int) -{ - operator++(); -} }}//ns diff --git a/modules/gui/src/python_shell/shell_history.hh b/modules/gui/src/python_shell/shell_history.hh index 653650fb2181c4935669e1dabce41a72434cf861..a39d7412901a5dceeef9952353cdd22b9fd9cce2 100644 --- a/modules/gui/src/python_shell/shell_history.hh +++ b/modules/gui/src/python_shell/shell_history.hh @@ -23,8 +23,8 @@ */ #include <vector> -#include <QString> #include "python_shell_fw.hh" +#include <QString> namespace ost { namespace gui { @@ -38,10 +38,8 @@ public: QString GetCommand(); BlockEditMode GetCommandMode(); bool AtEnd(); - void operator--(); - void operator--(int); - void operator++(); - void operator++(int); + void MoveToPreviousMatch(); + void MoveToNextMatch(); protected: std::vector<std::pair<QString,BlockEditMode> > history_list_; QString current_; diff --git a/modules/gui/src/python_shell/state.cc b/modules/gui/src/python_shell/state.cc new file mode 100644 index 0000000000000000000000000000000000000000..381fffff4d120cf891fa2b5e552258cdfafc5274 --- /dev/null +++ b/modules/gui/src/python_shell/state.cc @@ -0,0 +1,84 @@ +#include <cassert> +#include "transition.hh" +#include "state.hh" +#include "state_machine.hh" + +namespace ost { namespace gui { + +State::State(): + QObject(), + mouse_event_transitions_(), + key_event_transitions_(), + automatic_transitions_() +{ +} +void State::addTransition(SignalTransition* transition) +{ + transition->setParent(this); +} +void State::addTransition(MouseEventTransition* transition) +{ + transition->setParent(this); + mouse_event_transitions_.append(transition); +} +void State::addTransition(KeyEventTransition* transition) +{ + transition->setParent(this); + key_event_transitions_.append(transition); +} +void State::addTransition(AutomaticTransition* transition) +{ + transition->setParent(this); + automatic_transitions_.append(transition); +} +bool State::isActive() +{ + return parent() && dynamic_cast<StateMachine*>(parent())->isActive(this); +} +void State::setActive() +{ + assert(parent()); + dynamic_cast<StateMachine*>(parent())->setActive(this); +} + +bool State::checkEvent(QKeyEvent* event) +{ + for(QList<KeyEventTransition*>::iterator it=key_event_transitions_.begin();it!=key_event_transitions_.end();++it){ + std::pair<bool,bool> pair=(*it)->checkEvent(event); + if(pair.first){ + return pair.second; + } + } + return false; +} + +bool State::checkAutomaticTransitions() +{ + for(QList<AutomaticTransition*>::iterator it=automatic_transitions_.begin();it!=automatic_transitions_.end();++it){ + if((*it)->checkTransition()){ + return true; + } + } + return false; +} + +bool State::checkEvent(QMouseEvent* event) +{ + for(QList<MouseEventTransition*>::iterator it=mouse_event_transitions_.begin();it!=mouse_event_transitions_.end();++it){ + std::pair<bool,bool> pair=(*it)->checkEvent(event); + if(pair.first){ + return pair.second; + } + } + return false; +} +void State::onEntry() +{ + emit entered(); +} +void State::onExit() +{ + emit exited(); +} + +}}//ns diff --git a/modules/gui/src/python_shell/state.hh b/modules/gui/src/python_shell/state.hh new file mode 100644 index 0000000000000000000000000000000000000000..a6c05c36b3b6fc94db8498caf41a0fa71f90323f --- /dev/null +++ b/modules/gui/src/python_shell/state.hh @@ -0,0 +1,45 @@ +#ifndef PYTHON_SHELL_STATE_HH +#define PYTHON_SHELL_STATE_HH + +#include <QObject> +#include <QList> + +//fw decl +class QKeyEvent; +class QMouseEvent; + +namespace ost { namespace gui { + +//fw decl +class SignalTransition; +class MouseEventTransition; +class KeyEventTransition; +class AutomaticTransition; + +class State: public QObject{ +Q_OBJECT +public: + State(); + void addTransition(SignalTransition * transition); + void addTransition(MouseEventTransition * transition); + void addTransition(KeyEventTransition* transition); + void addTransition(AutomaticTransition* transition); + bool isActive(); + void setActive(); + bool checkEvent(QKeyEvent* event); + bool checkEvent(QMouseEvent* event); + bool checkAutomaticTransitions(); + virtual void onEntry(); + virtual void onExit(); +signals: + void entered(); + void exited(); +protected: + QList<MouseEventTransition*> mouse_event_transitions_; + QList<KeyEventTransition*> key_event_transitions_; + QList<AutomaticTransition*> automatic_transitions_; +}; + + +}}//ns +#endif // PYTHON_SHELL_STATE_HH diff --git a/modules/gui/src/python_shell/state_machine.cc b/modules/gui/src/python_shell/state_machine.cc new file mode 100644 index 0000000000000000000000000000000000000000..9ce3f37bc85946686bcb1d34f3593b37789336ce --- /dev/null +++ b/modules/gui/src/python_shell/state_machine.cc @@ -0,0 +1,55 @@ +#include <QEvent> +#include <QKeyEvent> +#include <QMouseEvent> +#include "state.hh" +#include "state_machine.hh" + +namespace ost { namespace gui { + +StateMachine::StateMachine(QObject* parent): + QObject(parent) +{ + parent->installEventFilter(this); +} + +bool StateMachine::eventFilter (QObject * watched, QEvent * event) +{ + if (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) { + QKeyEvent* key_event = dynamic_cast<QKeyEvent*>(event); + return active_state_->checkEvent(key_event); + } else if(event->type() == QEvent::MouseButtonDblClick || + event->type() == QEvent::MouseButtonPress || + event->type() == QEvent::MouseButtonRelease || + event->type() == QEvent::MouseMove){ + QMouseEvent *mouse_event = dynamic_cast<QMouseEvent*>(event); + return active_state_->checkEvent(mouse_event); + } else { + return false; + } +} + +void StateMachine::addState(State* state) +{ + state->setParent(this); +} +void StateMachine::setInitialState(State* state) +{ + active_state_=state; +} +void StateMachine::start() +{ + active_state_->onEntry(); +} +bool StateMachine::isActive(State* state) +{ + return state==active_state_; +} +void StateMachine::setActive(State* state) +{ + active_state_->onExit(); + active_state_=state; + active_state_->onEntry(); + active_state_->checkAutomaticTransitions(); +} + +}}//ns diff --git a/modules/gui/src/python_shell/state_machine.hh b/modules/gui/src/python_shell/state_machine.hh new file mode 100644 index 0000000000000000000000000000000000000000..ac265dfd91e898d3af9ef483de11076a846cafdb --- /dev/null +++ b/modules/gui/src/python_shell/state_machine.hh @@ -0,0 +1,30 @@ +#ifndef PYTHON_SHELL_STATE_MACHINE_HH +#define PYTHON_SHELL_STATE_MACHINE_HH + +#include <QObject> + +//fw decl +class QEvent; + +namespace ost { namespace gui { + +//fw decl +class State; + +class StateMachine: public QObject{ +Q_OBJECT +public: + StateMachine(QObject* parent); + void addState(State* state); + void setInitialState(State* state); + void start(); + bool isActive(State* state); + void setActive(State* state); + bool eventFilter (QObject * watched, QEvent * event); +protected: + State* active_state_; +}; + +}}//ns + +#endif // PYTHON_SHELL_STATE_MACHINE_HH diff --git a/modules/gui/src/python_shell/text_logger.cc b/modules/gui/src/python_shell/text_logger.cc index ef0dee5780eb97e82b61245ba77cc35b21f053bb..04123b9a7c85cee05510df0c93a943f24ec158a5 100644 --- a/modules/gui/src/python_shell/text_logger.cc +++ b/modules/gui/src/python_shell/text_logger.cc @@ -70,18 +70,9 @@ void TextLogger::AppendCode(const QString& text) operator<<('\n'); flush(); } -void TextLogger::AppendOutput(int status,const QString& text) +void TextLogger::AppendOutput(unsigned int id,const QString& text) { - if (text=="\n") { - return; - } - if(!((log_output_ && status==STATUS_OK) || (log_error_ && status==STATUS_ERROR)) - || text.size()==0){ - return; - } - operator<<(text); - operator<<('\n'); flush(); } void TextLogger::SetCodeLogging(bool flag) diff --git a/modules/gui/src/python_shell/text_logger.hh b/modules/gui/src/python_shell/text_logger.hh index 1be25f652f9f4212e1a9992f33ee00f0001c9d18..9e46fc7401dc73fdbc4f6e2474500c3ef602c8be 100644 --- a/modules/gui/src/python_shell/text_logger.hh +++ b/modules/gui/src/python_shell/text_logger.hh @@ -49,7 +49,7 @@ public: public slots: void AppendCode(const QString& text); - void AppendOutput(int status,const QString& text); + void AppendOutput(unsigned int id,const QString& text); protected: bool log_code_; diff --git a/modules/gui/src/python_shell/transition.cc b/modules/gui/src/python_shell/transition.cc new file mode 100644 index 0000000000000000000000000000000000000000..35501292ce99ed4f82cbabe3d3c714748d3d0067 --- /dev/null +++ b/modules/gui/src/python_shell/transition.cc @@ -0,0 +1,92 @@ +#include <cassert> +#include "python_shell_widget.hh" +#include "transition.hh" +#include "state.hh" +#include <QKeyEvent> +#include <QMouseEvent> + +namespace ost { namespace gui { + +TransitionBase::TransitionBase(State* target, TransitionGuard* guard): + QObject(), + target_(target), + guard_(guard) +{ + guard_->setParent(this); +} +void TransitionBase::trigger_() +{ + emit triggered(); + target_->setActive(); +} +bool TransitionBase::is_active_() +{ + return parent() && dynamic_cast<State*>(parent())->isActive(); +} + +AutomaticTransition::AutomaticTransition(State* target, TransitionGuard* guard): + TransitionBase(target,guard) +{ +} + +bool AutomaticTransition::checkTransition() +{ + if(guard_->check()){ + trigger_(); + return true; + } + return false; +} + +SignalTransition::SignalTransition(QObject * sender,const char * signal, State* target, TransitionGuard* guard): + TransitionBase(target,guard) +{ + connect(sender,signal,this,SLOT(onSignal())); +} +void SignalTransition::onSignal() +{ + if(is_active_() && guard_->check()){ + trigger_(); + } +} + +KeyEventTransition::KeyEventTransition(QEvent::Type type,int key,Qt::KeyboardModifiers modifiers, State* target, bool swallow_event, TransitionGuard* guard): + TransitionBase(target,guard), + type_(type), + key_(key), + modifiers_(modifiers), + swallow_(swallow_event) +{ +} +std::pair<bool,bool> KeyEventTransition::checkEvent(QKeyEvent* event) +{ + assert(is_active_()); + if(event->type()==type_ && (event->key()==key_ || + key_==Qt::Key_Any) && event->modifiers() == modifiers_ && guard_->check()){ + trigger_(); + return std::pair<bool,bool>(true,swallow_); + } + return std::pair<bool,bool>(false,false); +} + +MouseEventTransition::MouseEventTransition(QEvent::Type type,Qt::MouseButton button,Qt::KeyboardModifiers modifiers, State* target, bool swallow_event, TransitionGuard* guard): + TransitionBase(target,guard), + type_(type), + button_(button), + modifiers_(modifiers), + swallow_(swallow_event) +{ +} +std::pair<bool,bool> MouseEventTransition::checkEvent(QMouseEvent* event) +{ +// only gets called if active + assert(is_active_()); + if(event->type()==type_ && event->button()==button_ && event->modifiers() == modifiers_ && guard_->check()){ + trigger_(); + return std::pair<bool,bool>(true,swallow_); + } + return std::pair<bool,bool>(false,false); +} + + +}}//ns diff --git a/modules/gui/src/python_shell/transition.hh b/modules/gui/src/python_shell/transition.hh new file mode 100644 index 0000000000000000000000000000000000000000..5c8514cbf95cf00e718ea21c08cdfbabdc029812 --- /dev/null +++ b/modules/gui/src/python_shell/transition.hh @@ -0,0 +1,77 @@ +#ifndef PYTHON_SHELL_TRANSITION_HH +#define PYTHON_SHELL_TRANSITION_HH + +#include <utility> +#include <ost/gui/python_shell/python_interpreter.hh> + +#include <QObject> +#include <QEvent> +#include "transition_guard.hh" +//fw decl +class QKeyEvent; +class QMouseEvent; + +namespace ost { namespace gui { + +//fw decl +class State; +class PythonShellWidget; +class ShellHistory; + +class TransitionBase: public QObject{ +Q_OBJECT +public: + TransitionBase(State* target, TransitionGuard* guard=new TransitionGuard()); +signals: + void triggered(); +protected: + void trigger_(); + bool is_active_(); + State* target_; + TransitionGuard* guard_; +}; + +class AutomaticTransition: public TransitionBase{ +Q_OBJECT +public: + AutomaticTransition(State* target, TransitionGuard* guard=new TransitionGuard()); + bool checkTransition(); +}; + +class SignalTransition: public TransitionBase{ +Q_OBJECT +public: + SignalTransition(QObject * sender,const char * signal, State* target, TransitionGuard* guard=new TransitionGuard()); +protected slots: + void onSignal(); +}; + +class KeyEventTransition: public TransitionBase{ +Q_OBJECT +public: + KeyEventTransition(QEvent::Type type,int key,Qt::KeyboardModifiers modifiers, State* target, bool swallow_event=true, TransitionGuard* guard=new TransitionGuard()); + virtual std::pair<bool,bool> checkEvent(QKeyEvent* event); +protected: + QEvent::Type type_; + int key_; + Qt::KeyboardModifiers modifiers_; + bool swallow_; +}; + +class MouseEventTransition: public TransitionBase{ +Q_OBJECT +public: + MouseEventTransition(QEvent::Type type,Qt::MouseButton button,Qt::KeyboardModifiers modifiers, State* target, bool swallow_event=true, TransitionGuard* guard=new TransitionGuard()); + virtual std::pair<bool,bool> checkEvent(QMouseEvent* event); +protected: + QEvent::Type type_; + Qt::MouseButton button_; + Qt::KeyboardModifiers modifiers_; + bool swallow_; +}; + + + + +}}//ns +#endif // PYTHON_SHELL_TRANSITION_HH diff --git a/modules/gui/src/python_shell/transition_guard.cc b/modules/gui/src/python_shell/transition_guard.cc new file mode 100644 index 0000000000000000000000000000000000000000..c32898964cf3a17c7375b5824b9fa0343cd538e1 --- /dev/null +++ b/modules/gui/src/python_shell/transition_guard.cc @@ -0,0 +1,86 @@ +#include <iostream> +#include "transition_guard.hh" +#include "python_shell_widget.hh" +#include "shell_history.hh" + +namespace ost { namespace gui { + +TransitionGuard::TransitionGuard(): + QObject() +{ +} + +bool TransitionGuard::check() +{ + return true; +} + +HistoryGuard::HistoryGuard(ShellHistory* history, BlockEditMode mode): + TransitionGuard(), + history_(history), + mode_(mode) +{ +} + +bool HistoryGuard::check() +{ + return history_->GetCommandMode()==mode_; +} + +EditPositionGuard::EditPositionGuard(PythonShellWidget* shell, int flags1, int flags2): + TransitionGuard(), + shell_(shell), + flags1_(flags1), + flags2_(flags2) +{ +} + +bool EditPositionGuard::check() +{ + return check_flag(flags1_) && check_flag(flags2_); +} + +bool EditPositionGuard::check_flag(int flags) +{ + if(flags==0){ + return true; + } + bool returnflag=false; + QTextCursor tc=shell_->textCursor(); + if(flags & SMALLER){ + returnflag|=tc.position()<shell_->GetEditStartBlock().position(); + } + if(flags & EQUAL){ + returnflag|=tc.position()==shell_->GetEditStartBlock().position(); + } + if(flags & BIGGER){ + returnflag |= tc.position()> shell_->GetEditStartBlock().position(); + } + if(flags & ANCHORSMALLER){ + returnflag|=tc.anchor()<shell_->GetEditStartBlock().position(); + } + if(flags & ANCHOREQUAL){ + returnflag|=tc.anchor()==shell_->GetEditStartBlock().position(); + } + if(flags & ANCHORBIGGER){ + returnflag |= tc.anchor()> shell_->GetEditStartBlock().position(); + } + return returnflag; +} + +BlockStatusGuard::BlockStatusGuard(PythonShellWidget* shell, int status): + TransitionGuard(), + shell_(shell), + status_(status) +{ +} + +bool BlockStatusGuard::check() +{ + QString command=shell_->GetCommand(); + return PythonInterpreter::Instance().GetCodeBlockStatus(command) & status_; +} + + + +}} //ns diff --git a/modules/gui/src/python_shell/transition_guard.hh b/modules/gui/src/python_shell/transition_guard.hh new file mode 100644 index 0000000000000000000000000000000000000000..5a2906481c36da41fc7ef1d5aefecfc853d76ad9 --- /dev/null +++ b/modules/gui/src/python_shell/transition_guard.hh @@ -0,0 +1,73 @@ +#ifndef TRANSITION_GUARD_HH +#define TRANSITION_GUARD_HH + +#include "python_shell_fw.hh" +#include "python_interpreter.hh" +#include <QObject> + +namespace ost { namespace gui { + + +//fw decl + class ShellHistory; + class PythonShellWidget; + + +class TransitionGuard: public QObject +{ +Q_OBJECT + +public: + TransitionGuard(); + virtual bool check(); +}; + + + +class HistoryGuard : public TransitionGuard +{ +public: + HistoryGuard(ShellHistory* history, BlockEditMode mode); + virtual bool check(); +protected: + ShellHistory* history_; + BlockEditMode mode_; +}; + +class EditPositionGuard : public TransitionGuard +{ +public: + enum FLAGS{ + ALWAYSTRUE=0, + SMALLER=1, + EQUAL=2, + BIGGER=4, + ANCHORSMALLER=8, + ANCHOREQUAL=16, + ANCHORBIGGER=32 + }; + EditPositionGuard(PythonShellWidget* shell,int flags1, int flags2=ALWAYSTRUE); + virtual bool check(); +protected: + virtual bool check_flag(int flag); + PythonShellWidget* shell_; + int flags1_; + int flags2_; +}; + +class BlockStatusGuard : public TransitionGuard +{ +public: + BlockStatusGuard(PythonShellWidget* shell, int status); + virtual bool check(); +protected: + PythonShellWidget* shell_; + int status_; +}; + + + +}} //ns + + +#endif // TRANSITION_GUARD_HH diff --git a/modules/gui/src/query_dialog.cc b/modules/gui/src/query_dialog.cc deleted file mode 100644 index fcaac5755d038a31d5e2d73f89df738b2c1dbab1..0000000000000000000000000000000000000000 --- a/modules/gui/src/query_dialog.cc +++ /dev/null @@ -1,105 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "query_dialog.hh" - -#include <QPushButton> -#include <QVBoxLayout> -#include <QHBoxLayout> -#include <QKeyEvent> - -#include <iostream> - -#include <ost/mol/query.hh> - -namespace ost { namespace gui { - -QueryDialog::QueryDialog(QWidget* parent): - QDialog(parent), flag_set_(false) -{ - error_.setForeground(QBrush(QColor(150,0,0))); - default_.setForeground(QBrush(QColor(0,0,0))); - delete layout(); - QVBoxLayout* vb=new QVBoxLayout(this); - edit_=new QTextEdit(this); - edit_->setAcceptRichText(false); - edit_->setTabChangesFocus(true); - status_=new QLabel(QString(""), this); - status_->setWordWrap(true); - status_->setMargin(0); - QHBoxLayout* hb=new QHBoxLayout(); - vb->addWidget(status_); - vb->addWidget(edit_); - hb->setDirection(QBoxLayout::LeftToRight); - QPushButton* select_btn = new QPushButton(tr("Select"), this); - QPushButton* cancel_btn = new QPushButton(tr("Cancel"), this); - hb->addWidget(cancel_btn); - hb->addWidget(select_btn); - vb->addLayout(hb); - select_btn->setDefault(true); - connect(select_btn, SIGNAL(clicked()), this, SLOT(accept())); - connect(cancel_btn, SIGNAL(clicked()), this, SLOT(reject())); - connect(edit_, SIGNAL(textChanged()), this, - SLOT(OnTextChanged())); -} - -void QueryDialog::OnTextChanged() -{ - if (flag_set_) - return; - int l=edit_->document()->size().height()/edit_->fontMetrics().lineSpacing(); - if (l>1) { - edit_->document()->undo(); - } - flag_set_=true; - this->Colorize(); - flag_set_=false; -} - -void QueryDialog::Colorize() -{ - mol::Query q(edit_->toPlainText().toStdString()); - QTextCursor c=edit_->textCursor(); - c.select(QTextCursor::Document); - c.setCharFormat(default_); - if (!q.IsValid()) { - mol::QueryErrorDesc d=q.GetErrorDescription(); - c.movePosition(QTextCursor::Start); - c.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, - d.range.Loc); - c.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor, - d.range.Length); - c.setCharFormat(error_); - status_->setText(QString(d.msg.c_str())); - } else { - status_->setText(QString("")); - } -} - -QString QueryDialog::GetQueryString() const -{ - return edit_->toPlainText(); -} - -void QueryDialog::keyPressEvent(QKeyEvent* event){ - if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) { - this->accept(); - } -} - -}} diff --git a/modules/gui/src/remote_loader.cc b/modules/gui/src/remote_loader.cc index 559a1c670c8267d48b3d18a001b7ccb26e2209ae..2e07f9ab58490fcb8c02112bfafccf29464e959c 100644 --- a/modules/gui/src/remote_loader.cc +++ b/modules/gui/src/remote_loader.cc @@ -18,12 +18,6 @@ //------------------------------------------------------------------------------ #include <vector> -#include <QString> -#include <QSettings> -#include <QNetworkReply> -#include <QHBoxLayout> -#include <QDir> - #include <ost/platform.hh> #include <ost/gui/file_loader.hh> @@ -32,6 +26,11 @@ #include "widget_registry.hh" #include "remote_loader.hh" +#include <QString> +#include <QSettings> +#include <QNetworkReply> +#include <QHBoxLayout> +#include <QDir> namespace ost { namespace gui { RemoteLoader::RemoteLoader(QWidget* parent): @@ -39,8 +38,10 @@ RemoteLoader::RemoteLoader(QWidget* parent): { img_support_=OST_IMG_ENABLED; line_edit_ = new QLineEdit(this); - button_ = new QPushButton("Load",this); + button_ = new QToolButton(this); + button_->setAttribute(Qt::WA_MacSmallSize); progress_bar_ = new QProgressBar(this); + progress_bar_->setAttribute(Qt::WA_MacSmallSize); progress_bar_->setVisible(false); progress_bar_->setRange(0,0); @@ -48,12 +49,9 @@ RemoteLoader::RemoteLoader(QWidget* parent): l->addWidget(line_edit_); l->addWidget(button_); l->addWidget(progress_bar_); - l->setMargin(0); - l->setSpacing(0); + l->setMargin(3); + l->setSpacing(2); - this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); - this->setMinimumHeight(progress_bar_->height()); - this->setMaximumHeight(progress_bar_->height()); connect(button_, SIGNAL(clicked()), this, SLOT(Clicked())); @@ -69,10 +67,14 @@ RemoteLoader::RemoteLoader(QWidget* parent): QAction* select_url_action = new QAction(this); select_url_action->setText("URL"); select_url_action->setToolTip("Select remote URL"); - select_url_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("site_icon.png"))); + select_url_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+ + QString("site_icon.png"))); action_list_.append(select_url_action); - connect(select_url_action, SIGNAL(triggered(bool)), this, SLOT(UrlClick())); + this->BuildMenu(); + this->RenameButton(); + this->setFixedHeight(button_->height()); + this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); } void RemoteLoader::UrlClick() @@ -83,7 +85,7 @@ void RemoteLoader::UrlClick() void RemoteLoader::BuildMenu(String active_loader) { - if(active_loader.size()>0){ + if(!active_loader.empty()){ selected_site_loader_ = active_loader; } else if(site_actions_->checkedAction()!=NULL){ @@ -100,9 +102,10 @@ void RemoteLoader::BuildMenu(String active_loader) RemoteSiteLoader* loader = FileLoader::GetLoaderManager()->GetRemoteSiteLoader(loader_ident); if(loader && ((loader->IsImg() && img_support_) || !loader->IsImg())){ QAction* action = new QAction(loader_ident,site_loader_menu_); + connect(action, SIGNAL(triggered()), this, SLOT(RenameButton())); action->setCheckable(true); site_actions_->addAction(action); - if(site_actions_->checkedAction()==NULL ||selected_site_loader_==loader_ident.toStdString() ){ + if((site_actions_->checkedAction()==NULL && loader_ident == FileLoader::GetLoaderManager()->GetDefaultRemoteSiteIdent()) ||selected_site_loader_==loader_ident.toStdString() ){ action->setChecked(true); } site_loader_menu_->addAction(action); @@ -132,6 +135,10 @@ bool RemoteLoader::Restore(const QString& prefix) if (settings.contains("loader")) { this->BuildMenu(settings.value("loader").toString().toStdString()); } + else{ + this->BuildMenu(); + } + this->RenameButton(); return true; } @@ -141,7 +148,7 @@ void RemoteLoader::Clicked() if(!line_edit_->text().isEmpty() && site_actions_->checkedAction()){ RemoteSiteLoader* loader = FileLoader::GetLoaderManager()->GetRemoteSiteLoader(site_actions_->checkedAction()->text()); - QString text = line_edit_->text(); + QString text = line_edit_->text().simplified(); QString id = text; QString selection = ""; int pos = text.indexOf('['); @@ -187,6 +194,14 @@ void RemoteLoader::DownloadFinished(){ this->ShowProgressBar(false); } + +void RemoteLoader::RenameButton(){ + if(site_actions_->checkedAction()){ + QString text = "Load (" + site_actions_->checkedAction()->text() + ")"; + button_->setText(text); + } +} + OST_REGISTER_WIDGET_WITH_DEFAULT_FACTORY(ost::gui, RemoteLoader, "Remote Loader"); }} diff --git a/modules/gui/src/remote_loader.hh b/modules/gui/src/remote_loader.hh index 441309eee1f70c8db7d6583a77eae552ae8acd25..92c5aa9f8c9d6767cea4d0ea7dc9a1e747010d7f 100644 --- a/modules/gui/src/remote_loader.hh +++ b/modules/gui/src/remote_loader.hh @@ -19,16 +19,16 @@ #ifndef OST_GUI_REMOTE_LOADER_HH #define OST_GUI_REMOTE_LOADER_HH -#include <QPushButton> -#include <QLineEdit> -#include <QKeyEvent> -#include <QProgressBar> -#include <QActionGroup> #include <ost/gfx/gfx_object.hh> #include <ost/gui/module_config.hh> #include <ost/gui/widget.hh> +#include <QToolButton> +#include <QLineEdit> +#include <QKeyEvent> +#include <QProgressBar> +#include <QActionGroup> namespace ost { namespace gui { @@ -53,10 +53,11 @@ private slots: void UrlClick(); void DownloadFinished(); void UpdateProgress(qint64 read, qint64 total); + void RenameButton(); private: QLineEdit* line_edit_; - QPushButton* button_; + QToolButton* button_; QProgressBar* progress_bar_; ActionList action_list_; QMenu* site_loader_menu_; diff --git a/modules/gui/src/remote_site_loader.hh b/modules/gui/src/remote_site_loader.hh index 648850fd5df57578311947545b487e2719ed389c..b00823af7500ea22a295f6d1d858c817744f33f7 100644 --- a/modules/gui/src/remote_site_loader.hh +++ b/modules/gui/src/remote_site_loader.hh @@ -24,11 +24,11 @@ #ifndef OST_GUI_REMOTE_SITE_LOADER_HH #define OST_GUI_REMOTE_SITE_LOADER_HH +#include <ost/gui/module_config.hh> + #include <QObject> #include <QMenu> #include <QNetworkReply> -#include <ost/gui/module_config.hh> - namespace ost { namespace gui { class DLLEXPORT_OST_GUI RemoteSiteLoader{ diff --git a/modules/gui/src/scene_menu.cc b/modules/gui/src/scene_menu.cc index ceba5546acd05db0131eacfb4dc359d14216af6d..7952b8c47ff7eb92cbb1e2d856bf50c5601a0c7a 100644 --- a/modules/gui/src/scene_menu.cc +++ b/modules/gui/src/scene_menu.cc @@ -29,8 +29,14 @@ namespace ost { namespace gui { SceneMenu::SceneMenu() { context_menu_=new QMenu(); select_menu_=context_menu_->addMenu("Select"); - QAction* a=select_menu_->addAction("Around Atom"); + QAction* a=select_menu_->addAction("Atom"); + connect(a, SIGNAL(triggered()), this, SLOT(SelectAtom())); + a=select_menu_->addAction("Residue"); + connect(a, SIGNAL(triggered()), this, SLOT(SelectResidue())); + a=select_menu_->addAction("Around Atom"); connect(a, SIGNAL(triggered()), this, SLOT(SelectAroundAtom())); + a=select_menu_->addAction("Around Residue"); + connect(a, SIGNAL(triggered()), this, SLOT(SelectAroundResidue())); a=select_menu_->addAction("Backbone"); connect(a, SIGNAL(triggered()), this, SLOT(SelectBackbone())); a=select_menu_->addAction("Sidechains"); @@ -76,6 +82,32 @@ void SceneMenu::SelectAroundAtom() e->SetSelection(v); } +void SceneMenu::SelectAroundResidue() +{ + gfx::EntityP e=dyn_cast<gfx::Entity>(picked_.first); + mol::EntityView v=e->GetView().CreateEmptyView(); + v.AddAtom(picked_.second); + v=v.ExtendViewToResidues(); + v=v.ExtendViewToSurrounding(0.5); + e->SetSelection(v.ExtendViewToResidues()); +} + +void SceneMenu::SelectAtom() +{ + gfx::EntityP e=dyn_cast<gfx::Entity>(picked_.first); + mol::EntityView v=e->GetView().CreateEmptyView(); + v.AddAtom(picked_.second); + e->SetSelection(v); +} + +void SceneMenu::SelectResidue() +{ + gfx::EntityP e=dyn_cast<gfx::Entity>(picked_.first); + mol::EntityView v=e->GetView().CreateEmptyView(); + v.AddAtom(picked_.second); + e->SetSelection(v.ExtendViewToResidues()); +} + void SceneMenu::Select(const String& str) { gfx::EntityP e=dyn_cast<gfx::Entity>(picked_.first); @@ -102,20 +134,20 @@ void SceneMenu::CenterOnResidue() void SceneMenu::CenterOnChain() { mol::ChainHandle chain=picked_.second.GetResidue().GetChain(); - gfx::Scene::Instance().SetCenter(chain.GetGeometricCenter()); + gfx::Scene::Instance().SetCenter(chain.GetBounds().GetCenter()); } void SceneMenu::CenterOnView() { mol::ResidueHandle res=picked_.second.GetResidue(); - gfx::Scene::Instance().SetCenter(res.GetGeometricCenter()); + gfx::Scene::Instance().SetCenter(res.GetBounds().GetCenter()); } void SceneMenu::CenterOnSelection() { gfx::EntityP e=dyn_cast<gfx::Entity>(picked_.first); if (e->GetSelection() && e->GetSelection().GetAtomCount()>0) { - geom::Vec3 center=e->GetSelection().GetGeometricCenter(); + geom::Vec3 center=e->GetSelection().GetBounds().GetCenter(); gfx::Scene::Instance().SetCenter(center); } } diff --git a/modules/gui/src/scene_menu.hh b/modules/gui/src/scene_menu.hh index 0b212bad940db904428bcf12ade5357ea2ed8088..9472a6245f46a49bbad0c8bf38d1828b5286bfcc 100644 --- a/modules/gui/src/scene_menu.hh +++ b/modules/gui/src/scene_menu.hh @@ -19,15 +19,14 @@ #ifndef OST_GUI_SCENE_MENU_HH #define OST_GUI_SCENE_MENU_HH -#include <QObject> -#include <QPoint> -#include <QMenu> -#include <QString> #include <ost/mol/mol.hh> #include <ost/gfx/gfx_object_fw.hh> -#include <ost/gui/scene_menu.hh> +#include <QObject> +#include <QPoint> +#include <QMenu> +#include <QString> namespace ost { namespace gui { class SceneMenu : public QObject{ @@ -43,6 +42,9 @@ public slots: void SelectSidechains(); void SelectLigands(); void SelectAroundAtom(); + void SelectAroundResidue(); + void SelectAtom(); + void SelectResidue(); void Select(const String& str); void UnSelect(); void CenterOnAtom(); diff --git a/modules/gui/src/scene_selection.cc b/modules/gui/src/scene_selection.cc index 7beeadc58d7777ca7362424ca03692902d628657..1ef2ee7ce38eab22a77ef5e9501b349c62150b73 100644 --- a/modules/gui/src/scene_selection.cc +++ b/modules/gui/src/scene_selection.cc @@ -16,6 +16,7 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include <ost/dyn_cast.hh> #include <ost/geom/vec3.hh> @@ -35,9 +36,7 @@ #endif -#include <ost/gui/gosty_app.hh> #include <ost/gui/scene_win/scene_win.hh> -#include <ost/gui/query_dialog.hh> #include "scene_selection.hh" @@ -110,25 +109,20 @@ void SceneSelection::CenterOnObjects() { } } if(changed){ - gfx::Scene::Instance().SetCenter(geom::Vec3(((max.GetX()+min.GetX())/2), - ((max.GetY()+min.GetY())/2), - ((max.GetZ()+min.GetZ())/2))); + gfx::Scene::Instance().SetCenter(geom::Vec3(((max.x+min.x)/2), + ((max.y+min.y)/2), + ((max.z+min.z)/2))); } } void SceneSelection::Delete() { - QList<gfx::GfxObjP> selected_objects; + QList<gfx::GfxNodeP> selected_objects; for(unsigned int i = 0; i < nodes_.size(); i++){ gfx::GfxNodeP node = nodes_[i]; - if (node) { - gfx::GfxObjP obj = dyn_cast<gfx::GfxObj> (node); - if (obj) { - selected_objects.append(obj); - } - } + selected_objects.append(node); } for(int i=0; i < selected_objects.size(); i++){ - gfx::Scene::Instance().Remove(selected_objects[i]); + gfx::Scene::Instance().Remove(selected_objects[i]); } } @@ -171,26 +165,6 @@ void SceneSelection::ShowOriginalMap() #endif // OST_IMG_ENABLED -void SceneSelection::Select() { - QueryDialog d; - if (d.exec() == QDialog::Accepted) { - QString query = d.GetQueryString(); - for(unsigned int i = 0; i < nodes_.size(); i++){ - gfx::GfxNodeP node = nodes_[i]; - if (node) { - gfx::Entity* obj = dynamic_cast<gfx::Entity*> (node.get()); - if (obj) { - mol::Query q(query.toStdString()); - if (q.IsValid()) { - mol::EntityView ent = obj->GetView().Select(q); - obj->SetSelection(ent); - } - } - } - } - } -} - void SceneSelection::Deselect(){ for(unsigned int i = 0; i < nodes_.size(); i++){ gfx::GfxNodeP node = nodes_[i]; @@ -203,32 +177,6 @@ void SceneSelection::Deselect(){ } } -void SceneSelection::CopyViews() { - QueryDialog d; - QList<gfx::GfxObjP> objects_to_add; - if (d.exec() == QDialog::Accepted) { - QString query = d.GetQueryString(); - for(unsigned int i = 0; i < nodes_.size(); i++){ - gfx::GfxNodeP node = nodes_[i]; - if (node) { - gfx::Entity* obj = dynamic_cast<gfx::Entity*> (node.get()); - if (obj) { - mol::Query q(query.toStdString()); - if (q.IsValid()) { - mol::EntityView ent = obj->GetView().Select(q); - gfx::EntityP new_obj(new gfx::Entity(obj->GetName() - + " *", ent)); - objects_to_add.append(new_obj); - } - } - } - } - for(int i=0; i < objects_to_add.size(); i++){ - gfx::Scene::Instance().Add(objects_to_add[i]); - } - } -} - void SceneSelection::Show() { gfx::Scene::Instance().GetRootNode()->Show(); for(unsigned int i = 0; i < nodes_.size(); i++){ @@ -298,17 +246,6 @@ void SceneSelection::DeselectAllViews(){ } } -void SceneSelection::SelectViews(){ - QueryDialog d; - if (d.exec() == QDialog::Accepted) { - QString query = d.GetQueryString(); - mol::Query q(query.toStdString()); - mol::EntityView union_view = this->GetViewUnion(); - if(union_view.IsValid() && q.IsValid()){ - view_entity_->SetSelection(union_view.Select(q)); - } - } -} gfx::EntityP SceneSelection::GetViewEntity() const{ diff --git a/modules/gui/src/scene_selection.hh b/modules/gui/src/scene_selection.hh index 7bbcb2e38416152138f1cd48b2f817ff98174855..ebc2bbfdbca1f44dcc75052e3ef9d766f9f9c6af 100644 --- a/modules/gui/src/scene_selection.hh +++ b/modules/gui/src/scene_selection.hh @@ -19,9 +19,6 @@ #ifndef OST_GUI_SCENE_SELECTION_HH #define OST_GUI_SCENE_SELECTION_HH -#include <QObject> -#include <QMenu> -#include <QPoint> #include <ost/mol/query_view_wrapper.hh> @@ -29,6 +26,9 @@ #include <ost/gfx/gfx_node_fw.hh> #include <ost/gui/module_config.hh> +#include <QObject> +#include <QMenu> +#include <QPoint> namespace ost { namespace gui { class DLLEXPORT_OST_GUI SceneSelection : public QObject { @@ -49,14 +49,11 @@ public slots: void ShowDownsampledMap(); void ShowOriginalMap(); #endif // OST_IMG_ENABLED - void CopyViews(); - void Select(); void Deselect(); void Show(); void Hide(); void SelectAllViews(); void DeselectAllViews(); - void SelectViews(); void MakeVisible(); void MakeHidden(); void ShowExclusive(); diff --git a/modules/gui/src/scene_win/context_menu.cc b/modules/gui/src/scene_win/context_menu.cc index afce21203c2508af289a1034a0e6685e4db1c6cc..52b71d38b32f78d3aee6fb0675253aa5b604c766 100644 --- a/modules/gui/src/scene_win/context_menu.cc +++ b/modules/gui/src/scene_win/context_menu.cc @@ -21,15 +21,12 @@ */ #include <boost/pointer_cast.hpp> -#include <QAction> -#include <QMenu> -#include <QItemSelection> -#include <QItemSelectionModel> #include <ost/dyn_cast.hh> +#include <ost/gfx/scene.hh> + #include <ost/gui/scene_selection.hh> -#include <ost/gui/query_dialog.hh> #if OST_IMG_ENABLED #include <ost/gfx/map_iso.hh> @@ -42,6 +39,10 @@ #include "context_menu.hh" +#include <QAction> +#include <QMenu> +#include <QItemSelection> +#include <QItemSelectionModel> namespace ost { namespace gui { ContextMenu::ContextMenu(QTreeView* view, SceneWinModel* model): @@ -51,51 +52,39 @@ ContextMenu::ContextMenu(QTreeView* view, SceneWinModel* model): connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(CenterOnObjects())); this->AddAction(action, GFX_OBJECT); - action = new QAction("Copy",this); - connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(CopyViews())); - this->AddAction(action, ENTITY); - action = new QAction("Create Custom View",this); - connect(action, SIGNAL(triggered()), this, SLOT(AddViewFromEntity())); - this->AddAction(action, ENTITY); - action = new QAction("Select..", this); - connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(Select())); - this->AddAction(action, ENTITY); action = new QAction("Deselect",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(Deselect())); this->AddAction(action, ENTITY); action = new QAction("Delete",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(Delete())); - this->AddAction(action, GFX_OBJECT|NOT_SCENE); + this->AddAction(action, GFX_NODE|NOT_SCENE); action = new QAction("Show",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(Show())); - this->AddAction(action, GFX_OBJECT|NOT_VISIBLE); + this->AddAction(action, GFX_NODE|NOT_VISIBLE); action = new QAction("Hide",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(Hide())); - this->AddAction(action, GFX_OBJECT|NOT_HIDDEN); + this->AddAction(action, GFX_NODE|NOT_HIDDEN); action = new QAction("Show",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(MakeVisible())); - this->AddAction(action, ENTITY_VIEW); + this->AddAction(action, ENTITY_VIEW | VIEWS_SAME_OBJECT); action = new QAction("Hide",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(MakeHidden())); - this->AddAction(action, ENTITY_VIEW); + this->AddAction(action, ENTITY_VIEW | VIEWS_SAME_OBJECT); action = new QAction("Show Exclusive",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(ShowExclusive())); - this->AddAction(action, ENTITY_VIEW); + this->AddAction(action, ENTITY_VIEW | VIEWS_SAME_OBJECT); action = new QAction("Hide Exclusive",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(HideExclusive())); - this->AddAction(action, ENTITY_VIEW); + this->AddAction(action, ENTITY_VIEW | VIEWS_SAME_OBJECT); action = new QAction("Select All",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(SelectAllViews())); - this->AddAction(action, ENTITY_VIEW); + this->AddAction(action, ENTITY_VIEW | VIEWS_SAME_OBJECT); action = new QAction("Deselect All",this); connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(DeselectAllViews())); - this->AddAction(action, ENTITY_VIEW); - action = new QAction("Select..",this); - connect(action, SIGNAL(triggered()), SceneSelection::Instance(), SLOT(SelectViews())); - this->AddAction(action, ENTITY_VIEW); + this->AddAction(action, ENTITY_VIEW | VIEWS_SAME_OBJECT); action = new QAction("Create Custom View",this); connect(action, SIGNAL(triggered()), this, SLOT(AddView())); this->AddAction(action, ENTITY_VIEW); @@ -134,6 +123,7 @@ void ContextMenu::ShowMenu(const QPoint& pos) ContextActionTypes flags; flags = ~flags; + gfx::EntityP view_entity = gfx::EntityP(); int cnt = 0; if(indexes.size()>0){ for(int i = 0; i < indexes.size(); i++){ @@ -148,7 +138,7 @@ void ContextMenu::ShowMenu(const QPoint& pos) else{ flags &= ~NOT_VISIBLE; } - if(gfx_node->GetType()==0){flags &= ~NOT_SCENE;} + if(gfx::Scene::Instance().GetRootNode() == gfx_node){flags &= ~NOT_SCENE;} if(!dyn_cast<gfx::GfxObj> (gfx_node)){flags &= ~GFX_OBJECT;} if(!dyn_cast<gfx::Entity> (gfx_node)){flags &= ~ENTITY;} #if OST_IMG_ENABLED @@ -174,7 +164,7 @@ void ContextMenu::ShowMenu(const QPoint& pos) #endif // OST_IMG_ENABLED } else{ - flags &= ~(GFX_OBJECT | ENTITY + flags &= ~(GFX_NODE | GFX_OBJECT | ENTITY #if OST_IMG_ENABLED | MAP #endif @@ -186,6 +176,14 @@ void ContextMenu::ShowMenu(const QPoint& pos) flags &= ~(ENTITY_VIEW | CUSTOM_VIEW); } else{ + if(view_entity){ + if(!(entity_part_node->GetEntity() == view_entity)){ + flags &= ~VIEWS_SAME_OBJECT; + } + } + else{ + view_entity = entity_part_node->GetEntity(); + } CustomPartNode* custom_part_node = qobject_cast<CustomPartNode*>(entity_part_node); if(!custom_part_node){ flags &= ~CUSTOM_VIEW; @@ -221,30 +219,6 @@ void ContextMenu::AddAction(QAction* action,ContextActionTypes type){ actions_[action] = type; } -void ContextMenu::AddViewFromEntity() { - QueryDialog d; - if (d.exec() == QDialog::Accepted) { - QString query = d.GetQueryString(); - int node_count = SceneSelection::Instance()->GetActiveNodeCount(); - for(int i = 0; i < node_count; i++){ - gfx::GfxNodeP node = SceneSelection::Instance()->GetActiveNode(i); - if (node) { - EntityNode* ent_node = qobject_cast<EntityNode*>(model_->FindGfxNode(node)); - if (ent_node) { - mol::Query q(query.toStdString()); - if (q.IsValid()) { - gfx::EntityP entity = boost::dynamic_pointer_cast<gfx::Entity>(ent_node->GetGfxNode()); - if(entity){ - CustomPartNode* child_node = new CustomPartNode("New View", entity, mol::QueryViewWrapper(q,entity->GetView()),ent_node->GetCustomViewNode()); - model_->AddNode(ent_node->GetCustomViewNode(),child_node); - } - } - } - } - } - } -} - void ContextMenu::AddView(){ gfx::EntityP entity = SceneSelection::Instance()->GetViewEntity(); diff --git a/modules/gui/src/scene_win/context_menu.hh b/modules/gui/src/scene_win/context_menu.hh index 1a2501da86e6f7fea9cc09b56b0cd00b67a4f893..03007fc6fcbd4641f881ab29c1bee48eb532cc86 100644 --- a/modules/gui/src/scene_win/context_menu.hh +++ b/modules/gui/src/scene_win/context_menu.hh @@ -23,32 +23,34 @@ Author: Stefan Scheuber */ -#include <QFlags> -#include <QMap> -#include <QAbstractItemModel> -#include <QTreeView> #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/scene_win_model.hh> +#include <QFlags> +#include <QMap> +#include <QAbstractItemModel> +#include <QTreeView> namespace ost { namespace gui { enum ContextActionType { - GFX_OBJECT=0x1, - ENTITY=0x2, - ENTITY_VIEW=0x4, - CUSTOM_VIEW=0x8, - NOT_VISIBLE=0x10, - NOT_HIDDEN=0x20, - NOT_SCENE=0x40, - SINGLE=0x80, - MULTI=0x100 + GFX_NODE=0x1, + GFX_OBJECT=0x2, + ENTITY=0x4, + ENTITY_VIEW=0x8, + CUSTOM_VIEW=0x10, + NOT_VISIBLE=0x20, + NOT_HIDDEN=0x40, + NOT_SCENE=0x80, + SINGLE=0x100, + MULTI=0x200, + VIEWS_SAME_OBJECT=0x400 #if OST_IMG_ENABLED - ,MAP=0x200, - MAP_ORIGINAL=0x400, - MAP_DOWNSAMPLED=0x800, - MAP_DSAMPLED_AVAIL=0x1000 + ,MAP=0x800, + MAP_ORIGINAL=0x1000, + MAP_DOWNSAMPLED=0x2000, + MAP_DSAMPLED_AVAIL=0x4000 #endif }; Q_DECLARE_FLAGS(ContextActionTypes, ContextActionType) @@ -66,7 +68,6 @@ public: void AddAction(QAction* action,ContextActionTypes type); private slots: - void AddViewFromEntity(); void AddView(); void Rename(); void DeleteView(); diff --git a/modules/gui/src/scene_win/current_selection_node.cc b/modules/gui/src/scene_win/current_selection_node.cc index c8b0eb03cff2c81aad85d48a8d94479f533d8ad6..9de4397a43989be2af8d4732e08f0adec8974f02 100644 --- a/modules/gui/src/scene_win/current_selection_node.cc +++ b/modules/gui/src/scene_win/current_selection_node.cc @@ -16,18 +16,18 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> +#include <ost/gui/gosty_app.hh> #include <ost/mol/query_view_wrapper.hh> #include <ost/gfx/scene.hh> #include <ost/gfx/gfx_node.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/scene_win/scene_win.hh> #include "current_selection_node.hh" +#include <QFont> namespace ost { namespace gui { CurrentSelectionNode::CurrentSelectionNode(gfx::EntityP entity, SceneNode* parent):EntityPartNode("Current Selection",entity,mol::QueryViewWrapper(entity->GetSelection()),parent),wrapper_(mol::QueryViewWrapper(entity->GetSelection())){ diff --git a/modules/gui/src/scene_win/current_selection_node.hh b/modules/gui/src/scene_win/current_selection_node.hh index baedc36040b1f34f54cd87a31b339e8a7db10bca..9a63219d9e63d8a0630e25592aed164fbc43266b 100644 --- a/modules/gui/src/scene_win/current_selection_node.hh +++ b/modules/gui/src/scene_win/current_selection_node.hh @@ -19,9 +19,6 @@ #ifndef OST_GUI_SCENE_WIN_CURRENT_SELECTION_NODE_HH #define OST_GUI_SCENE_WIN_CURRENT_SELECTION_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/mol/entity_view.hh> #include <ost/mol/query_view_wrapper.hh> @@ -32,6 +29,9 @@ #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/entity_part_node.hh> +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/custom_part_node.cc b/modules/gui/src/scene_win/custom_part_node.cc index f8e5f79db5d70d3ff6d963e0368037301e46dd02..18c9d9972f9646ef64d93b498a7316622eddcc55 100644 --- a/modules/gui/src/scene_win/custom_part_node.cc +++ b/modules/gui/src/scene_win/custom_part_node.cc @@ -16,7 +16,6 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> #include "custom_part_node.hh" @@ -25,6 +24,7 @@ #include <ost/gfx/entity.hh> #include <ost/gfx/gfx_node.hh> +#include <QFont> namespace ost { namespace gui { CustomPartNode::CustomPartNode(QString name, gfx::EntityP entity, mol::QueryViewWrapper part, SceneNode* parent):EntityPartNode(name,entity,part,parent){ diff --git a/modules/gui/src/scene_win/custom_part_node.hh b/modules/gui/src/scene_win/custom_part_node.hh index b585af4e0ee03dc06445763d6687007dd4fab761..9c9eba9f4bc609178e0e3577a0144657088b3de9 100644 --- a/modules/gui/src/scene_win/custom_part_node.hh +++ b/modules/gui/src/scene_win/custom_part_node.hh @@ -19,9 +19,6 @@ #ifndef OST_GUI_SCENE_WIN_CUSTOM_PART_NODE_HH #define OST_GUI_SCENE_WIN_CUSTOM_PART_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/mol/query_view_wrapper.hh> @@ -31,6 +28,9 @@ #include <ost/gui/scene_win/scene_node.hh> #include "entity_part_node.hh" +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/entity_node.cc b/modules/gui/src/scene_win/entity_node.cc index 62c646ed85a13146749f3fa7143a6c7a26e4c9a8..3aa51c81ce37a0f9acdeebd6033d4573b008ee73 100644 --- a/modules/gui/src/scene_win/entity_node.cc +++ b/modules/gui/src/scene_win/entity_node.cc @@ -16,16 +16,14 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include <boost/pointer_cast.hpp> -#include <QFont> -#include <QString> #include <ost/mol/query.hh> #include <ost/mol/query_view_wrapper.hh> #include <ost/mol/view_type_fw.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/scene_win/scene_win.hh> #include "current_selection_node.hh" @@ -35,6 +33,8 @@ #include "entity_node.hh" +#include <QFont> +#include <QString> namespace ost { namespace gui { @@ -60,13 +60,13 @@ EntityNode::EntityNode(gfx::EntityP& entity, SceneNode* parent): SceneNode* quick_selection = new LabelNode("Quick Selection",this); model->AddNode(this, quick_selection); - SceneNode* node = new EntityPartNode("Backbone", entity, mol::QueryViewWrapper(entity->GetView().Select("aname=CA,C,N,O and peptide=true")), quick_selection); + SceneNode* node = new EntityPartNode("Backbone", entity, mol::QueryViewWrapper(mol::Query("aname=CA,C,N,O and peptide=true"),entity->GetView()), quick_selection); model->AddNode(quick_selection, node); - node = new EntityPartNode("Sidechains", entity, mol::QueryViewWrapper(entity->GetView().Select("aname!=CA,C,N,O and peptide=true",mol::QueryFlag::EXCLUSIVE_BONDS)), quick_selection); + node = new EntityPartNode("Sidechains", entity, mol::QueryViewWrapper(mol::Query("aname!=CA,C,N,O and peptide=true"),mol::QueryFlag::EXCLUSIVE_BONDS,entity->GetView()), quick_selection); model->AddNode(quick_selection, node); - node = new EntityPartNode("Ligands", entity, mol::QueryViewWrapper(entity->GetView().Select("ishetatm=1 and rname!=HOH,WAT")), quick_selection); + node = new EntityPartNode("Ligands", entity, mol::QueryViewWrapper(mol::Query("ishetatm=1 and rname!=HOH,WAT"),entity->GetView()), quick_selection); model->AddNode(quick_selection, node); - node = new EntityPartNode("Water", entity, mol::QueryViewWrapper(entity->GetView().Select("rname=HOH,WAT")), quick_selection); + node = new EntityPartNode("Water", entity, mol::QueryViewWrapper(mol::Query("rname=HOH,WAT"),entity->GetView()), quick_selection); model->AddNode(quick_selection, node); diff --git a/modules/gui/src/scene_win/entity_part_node.cc b/modules/gui/src/scene_win/entity_part_node.cc index dd56f2484a9a355bed0745c3e9f4524ab652fe10..da8867d8bb6e8c5c03f93d7318de63ee6ef81762 100644 --- a/modules/gui/src/scene_win/entity_part_node.cc +++ b/modules/gui/src/scene_win/entity_part_node.cc @@ -16,13 +16,13 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> #include "entity_part_node.hh" #include <ost/gfx/entity.hh> #include <ost/gfx/gfx_node.hh> +#include <QFont> namespace ost { namespace gui { EntityPartNode::EntityPartNode(QString name, gfx::EntityP entity, mol::QueryViewWrapper part, SceneNode* parent):SceneNode(parent),name_(name),entity_(entity),query_view_(part),visible_(true){ diff --git a/modules/gui/src/scene_win/entity_part_node.hh b/modules/gui/src/scene_win/entity_part_node.hh index 7f7d3629784aa26e6362011f5f428b03d166ebd7..2eb308cbedae85349e627cc31e9d05abe9b68413 100644 --- a/modules/gui/src/scene_win/entity_part_node.hh +++ b/modules/gui/src/scene_win/entity_part_node.hh @@ -19,9 +19,6 @@ #ifndef OST_GUI_SCENE_WIN_ENTITY_PART_NODE_HH #define OST_GUI_SCENE_WIN_ENTITY_PART_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/mol/query_view_wrapper.hh> @@ -30,6 +27,9 @@ #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/scene_node.hh> +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/gfx_scene_node.cc b/modules/gui/src/scene_win/gfx_scene_node.cc index 9b8828779f3a85f3e20c726276fe608e64bffdf1..191007aee833f93a9f4e36b2c2e91a39df4eb4b4 100644 --- a/modules/gui/src/scene_win/gfx_scene_node.cc +++ b/modules/gui/src/scene_win/gfx_scene_node.cc @@ -16,13 +16,13 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> #include "gfx_scene_node.hh" #include <ost/gfx/scene.hh> #include <ost/gfx/gfx_node.hh> +#include <QFont> namespace ost { namespace gui { GfxSceneNode::GfxSceneNode(gfx::GfxNodeP gfx_node, SceneNode* parent):SceneNode(parent),gfx_node_(gfx_node){} @@ -71,10 +71,10 @@ bool GfxSceneNode::SetData(int column, const QVariant& value, int role){ Qt::ItemFlags GfxSceneNode::Flags(int column) const{ if(column==0){ - return Qt::ItemIsSelectable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled; + return Qt::ItemIsSelectable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsDragEnabled; } else if(column==1){ - return Qt::ItemIsSelectable|Qt::ItemIsEnabled|Qt::ItemIsEditable; + return Qt::ItemIsSelectable|Qt::ItemIsEnabled|Qt::ItemIsEditable|Qt::ItemIsDragEnabled; } return Qt::NoItemFlags; } diff --git a/modules/gui/src/scene_win/gfx_scene_node.hh b/modules/gui/src/scene_win/gfx_scene_node.hh index fb954081514a1ffd585428362d8d79181ebd026b..03100392fa20f685e0b98c81dd22325f62a64048 100644 --- a/modules/gui/src/scene_win/gfx_scene_node.hh +++ b/modules/gui/src/scene_win/gfx_scene_node.hh @@ -19,15 +19,15 @@ #ifndef OST_GUI_SCENE_WIN_GFX_SCENE_NODE_HH #define OST_GUI_SCENE_WIN_GFX_SCENE_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/gfx/gfx_node_fw.hh> #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/scene_node.hh> +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/label_node.cc b/modules/gui/src/scene_win/label_node.cc index 5cf9b2d95599e76da350026866d4150ad59a606f..8a01e6aec1a27ae35b59a1b3cf0c2f98e3d2fcf1 100644 --- a/modules/gui/src/scene_win/label_node.cc +++ b/modules/gui/src/scene_win/label_node.cc @@ -16,13 +16,13 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> #include "label_node.hh" #include <ost/gfx/entity.hh> #include <ost/gfx/gfx_node.hh> +#include <QFont> namespace ost { namespace gui { LabelNode::LabelNode(QString name, SceneNode* parent):SceneNode(parent),name_(name){ diff --git a/modules/gui/src/scene_win/label_node.hh b/modules/gui/src/scene_win/label_node.hh index 50d471be0991240d5f99a5becac4be368cc71871..4a9722f7f01ccf09b5afa3609f91f53566f0c5e3 100644 --- a/modules/gui/src/scene_win/label_node.hh +++ b/modules/gui/src/scene_win/label_node.hh @@ -19,13 +19,13 @@ #ifndef OST_GUI_SCENE_WIN_LABEL_NODE_HH #define OST_GUI_SCENE_WIN_LABEL_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/scene_node.hh> +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/render_mode_node.cc b/modules/gui/src/scene_win/render_mode_node.cc index 63789cd3748647cf9b595cc57c2a2826e48defe1..88e67dea8d5990dae5ffe25a885805df462a8ca2 100644 --- a/modules/gui/src/scene_win/render_mode_node.cc +++ b/modules/gui/src/scene_win/render_mode_node.cc @@ -16,12 +16,12 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> #include <ost/mol/query_view_wrapper.hh> #include "render_mode_node.hh" +#include <QFont> namespace ost { namespace gui { RenderModeNode::RenderModeNode(gfx::EntityP entity, gfx::RenderMode::Type render_mode, SceneNode* parent):EntityPartNode(entity->GetRenderModeName(render_mode).c_str(),entity,mol::QueryViewWrapper(entity->GetRenderView(render_mode)),parent), @@ -77,9 +77,9 @@ gfx::RenderMode::Type RenderModeNode::GetRenderMode() const { return render_mode_; } -void RenderModeNode::SetQueryView(mol::QueryViewWrapper part) +void RenderModeNode::Update() { - //Do Nothing + this->SetQueryView(mol::QueryViewWrapper(entity_->GetRenderView(this->GetRenderMode()))); } }} diff --git a/modules/gui/src/scene_win/render_mode_node.hh b/modules/gui/src/scene_win/render_mode_node.hh index 68bf5300ee720a5becd74a2e0b07e890d4801d68..fb7304379c7cc18dc97229fa4a80aab0cad44e3b 100644 --- a/modules/gui/src/scene_win/render_mode_node.hh +++ b/modules/gui/src/scene_win/render_mode_node.hh @@ -19,9 +19,6 @@ #ifndef OST_GUI_SCENE_WIN_RENDER_MODE_NODE_HH #define OST_GUI_SCENE_WIN_RENDER_MODE_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/mol/entity_view.hh> #include <ost/mol/query_view_wrapper.hh> @@ -36,6 +33,9 @@ #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/entity_part_node.hh> +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber */ @@ -54,8 +54,7 @@ public: gfx::RenderMode::Type GetRenderMode() const; - virtual void SetQueryView(mol::QueryViewWrapper part); - + virtual void Update(); private: gfx::EntityP entity_; gfx::RenderMode::Type render_mode_; diff --git a/modules/gui/src/scene_win/render_modes_node.cc b/modules/gui/src/scene_win/render_modes_node.cc index 0e46a1a03ea6ef71b9d8a1f2d352cf0542547071..a343490b894a21123cd97e353433db66dee27562 100644 --- a/modules/gui/src/scene_win/render_modes_node.cc +++ b/modules/gui/src/scene_win/render_modes_node.cc @@ -16,18 +16,18 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/gui/gosty_app.hh> #include <boost/pointer_cast.hpp> -#include <QFont> #include <ost/gfx/scene.hh> #include <ost/gfx/gfx_node.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/scene_win/scene_win.hh> #include "render_modes_node.hh" #include "render_mode_node.hh" +#include <QFont> namespace ost { namespace gui { @@ -54,6 +54,9 @@ void RenderModesNode::Update(){ model->AddNode(this, node); render_types_.insert(render_modes[i],node); } + else{ + render_types_[render_modes[i]]->Update(); + } } QSet<gfx::RenderMode::Type> types_to_delete; QMap<gfx::RenderMode::Type,RenderModeNode*>::iterator type; diff --git a/modules/gui/src/scene_win/render_modes_node.hh b/modules/gui/src/scene_win/render_modes_node.hh index 231bf41bf62a81fad869aebdfde1063a8fd42740..dbb5c1c2bce9d5a4f2eba02c4d2505cd1f6ef751 100644 --- a/modules/gui/src/scene_win/render_modes_node.hh +++ b/modules/gui/src/scene_win/render_modes_node.hh @@ -19,9 +19,6 @@ #ifndef OST_GUI_SCENE_WIN_RENDER_MODES_NODE_HH #define OST_GUI_SCENE_WIN_RENDER_MODES_NODE_HH -#include <QObject> -#include <QVariant> -#include <QSet> #include <ost/gfx/entity.hh> #include <ost/gfx/entity_fw.hh> @@ -36,6 +33,9 @@ #include "render_mode_node.hh" +#include <QObject> +#include <QVariant> +#include <QSet> /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/root_node.cc b/modules/gui/src/scene_win/root_node.cc index e883f4b69f46b7e554acb8970fc91ed31ac2f185..98fc34dc9dc0da63138b6529309cd91478310ad9 100644 --- a/modules/gui/src/scene_win/root_node.cc +++ b/modules/gui/src/scene_win/root_node.cc @@ -16,12 +16,12 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QFont> #include "root_node.hh" #include <ost/gfx/scene.hh> #include <ost/gfx/gfx_node.hh> +#include <QFont> namespace ost { namespace gui { diff --git a/modules/gui/src/scene_win/root_node.hh b/modules/gui/src/scene_win/root_node.hh index 2738a90f50c856bddb26858f426e3eb6099697a2..4775e6246e269c86d414a5ec705599673bf8b227 100644 --- a/modules/gui/src/scene_win/root_node.hh +++ b/modules/gui/src/scene_win/root_node.hh @@ -19,12 +19,12 @@ #ifndef OST_GUI_SCENE_WIN_ROOT_NODE_HH #define OST_GUI_SCENE_WIN_ROOT_NODE_HH -#include <QObject> -#include <QVariant> -#include <QModelIndex> #include <ost/gui/module_config.hh> #include <ost/gui/scene_win/scene_node.hh> +#include <QObject> +#include <QVariant> +#include <QModelIndex> /* Author: Stefan Scheuber diff --git a/modules/gui/src/scene_win/scene_node.hh b/modules/gui/src/scene_win/scene_node.hh index 926c16f75440e241c1610207cb2033913c0cc64b..9fbdd7cda10e8e8539160d1ddbe816877d3ec846 100644 --- a/modules/gui/src/scene_win/scene_node.hh +++ b/modules/gui/src/scene_win/scene_node.hh @@ -19,12 +19,12 @@ #ifndef OST_GUI_SCENE_WIN_SCENE_NODE_HH #define OST_GUI_SCENE_WIN_SCENE_NODE_HH +#include <ost/gui/module_config.hh> + #include <QObject> #include <QVariant> #include <QModelIndex> -#include <ost/gui/module_config.hh> - /* Author: Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/scene_win.cc b/modules/gui/src/scene_win/scene_win.cc index 213582ff632aa1e697fbd193e528a1caccfbf7b3..ba685c3f62a4d58a6babb74dd65c3c8942428806 100644 --- a/modules/gui/src/scene_win/scene_win.cc +++ b/modules/gui/src/scene_win/scene_win.cc @@ -19,15 +19,15 @@ /* Authors: Marco Biasini, Ansgar Philippsen, Stefan Scheuber */ -#include <QVBoxLayout> -#include <QHeaderView> -#include <ost/gui/widget_registry.hh> #include <ost/gui/gosty_app.hh> +#include <ost/gui/widget_registry.hh> #include <ost/gui/scene_selection.hh> #include "scene_win.hh" +#include <QVBoxLayout> +#include <QHeaderView> namespace ost { namespace gui { class SceneWinFactory: public WidgetFactory { @@ -52,12 +52,15 @@ SceneWin::SceneWin(QWidget* parent) : view_ = new QTreeView(this); context_menu_ = new ContextMenu(view_,model_); view_->setAttribute(Qt::WA_MacShowFocusRect, false); + view_->setAttribute(Qt::WA_MacSmallSize, true); + view_->setFrameShape(QFrame::NoFrame); view_->header()->hide(); view_->setContextMenuPolicy(Qt::CustomContextMenu); view_->setModel(model_); view_->setSelectionBehavior(QAbstractItemView::SelectRows); view_->setSelectionMode(QAbstractItemView::ExtendedSelection); view_->setEditTriggers(QAbstractItemView::EditKeyPressed); + view_->setDragEnabled(true); view_->expandAll(); layout->addWidget(view_); diff --git a/modules/gui/src/scene_win/scene_win.hh b/modules/gui/src/scene_win/scene_win.hh index 9761bb1f1924d01adafc8862c7b1fb0c7566bf2e..612198db622f03e3e82bb138eb3ce9d2b85dc164 100644 --- a/modules/gui/src/scene_win/scene_win.hh +++ b/modules/gui/src/scene_win/scene_win.hh @@ -19,8 +19,6 @@ #ifndef OST_GUI_SCENE_WIN_SCENE_WIN_HH #define OST_GUI_SCENE_WIN_SCENE_WIN_HH -#include <QTreeView> -#include <QItemSelection> #include <ost/mol/query_view_wrapper.hh> @@ -31,6 +29,8 @@ #include <ost/gui/scene_win/scene_win_model.hh> #include <ost/gui/scene_win/context_menu.hh> +#include <QTreeView> +#include <QItemSelection> /* Authors: Marco Biasini, Ansgar Philippsen, Stefan Scheuber */ diff --git a/modules/gui/src/scene_win/scene_win_model.cc b/modules/gui/src/scene_win/scene_win_model.cc index 12df1534d79e3ac9ed4d2dc609773a1cb88ad8e8..9e7542b0815c2a73267820ad1fa1b1991cf8cce9 100644 --- a/modules/gui/src/scene_win/scene_win_model.cc +++ b/modules/gui/src/scene_win/scene_win_model.cc @@ -198,6 +198,36 @@ bool SceneWinModel::setData(const QModelIndex& index, return false; } +QStringList SceneWinModel::mimeTypes() const +{ + QStringList types; + types << "text/plain"; + return types; +} + +Qt::DropActions SceneWinModel::supportedDragActions() const +{ + return Qt::MoveAction; +} + +QMimeData* SceneWinModel::mimeData(const QModelIndexList &indexes) const +{ + QMimeData *mimeData = new QMimeData(); + QByteArray encoded_data; + + QDataStream stream(&encoded_data, QIODevice::WriteOnly); + + + foreach (QModelIndex index, indexes) { + if (index.isValid() && index.column()==1) { + QString text = "scene['"+data(index, Qt::DisplayRole).toString()+"']"; + encoded_data.append(text); + } + } + mimeData->setData("text/plain", encoded_data); + return mimeData; +} + void SceneWinModel::NodeAdded(const gfx::GfxNodeP& node) { gfx::EntityP e=boost::dynamic_pointer_cast<gfx::Entity>(node); diff --git a/modules/gui/src/scene_win/scene_win_model.hh b/modules/gui/src/scene_win/scene_win_model.hh index 996f7b640de20d1e9fea7303a7f162649757524c..060b148816aaadb7b9734b8a3333589f97788d17 100644 --- a/modules/gui/src/scene_win/scene_win_model.hh +++ b/modules/gui/src/scene_win/scene_win_model.hh @@ -23,8 +23,6 @@ Author: Stefan Scheuber, Marco Biasini, Ansgar Philippsen */ -#include <QMap> -#include <QAbstractItemModel> #include <ost/mol/view_type_fw.hh> #include <ost/mol/query_view_wrapper.hh> @@ -36,6 +34,10 @@ #include <ost/gui/scene_win/scene_node.hh> #include <ost/gui/scene_win/render_modes_node.hh> +#include <QStringList> +#include <QMimeData> +#include <QMap> +#include <QAbstractItemModel> namespace ost { namespace gui { @@ -88,6 +90,10 @@ public: const QVariant& value=QVariant(), int role=Qt::DisplayRole); + virtual QStringList mimeTypes() const; + Qt::DropActions supportedDragActions() const; + virtual QMimeData* mimeData(const QModelIndexList& indexes) const; + // scene observer interface virtual void NodeAdded(const gfx::GfxNodeP& node); virtual void NodeRemoved(const gfx::GfxNodeP& node); diff --git a/modules/gui/src/sequence/sequence_search_bar.cc b/modules/gui/src/sequence/sequence_search_bar.cc deleted file mode 100644 index 9ae88675e2468dbe5083cbb642df653fd563c67a..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence/sequence_search_bar.cc +++ /dev/null @@ -1,125 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Marco Biasini - */ - -#include "sequence_search_bar.hh" - -#include <QHBoxLayout> -#include <QLineEdit> -#include <QPainter> -#include <QPaintEvent> -#include <QLabel> -#include <QKeyEvent> - -namespace ost { namespace gui { - -SeqSearchBar::SeqSearchBar(QWidget* parent): - QWidget(parent) -{ - subject_=new QLineEdit(this); - search_all_=new QCheckBox("search in all sequences", this); - search_in_=new QComboBox(this); - QHBoxLayout* l= new QHBoxLayout(this); - l->addSpacing(2); - l->addWidget(subject_, 0); - l->setStretch(0,1); - l->addWidget(search_all_, 0); - QLabel* label=new QLabel("search in:", this); - l->addSpacing(10); - l->addWidget(label, 0); - l->addWidget(search_in_, 0); - //subject_->setMaximumWidth(200); - setLayout(l); - l->setSizeConstraint(QLayout::SetMaximumSize); - l->setMargin(1); - search_all_->setCheckState(Qt::Checked); - search_in_->setEnabled(false); -#if defined(__APPLE__) - subject_->setAttribute(Qt::WA_MacSmallSize, true); - search_all_->setAttribute(Qt::WA_MacSmallSize, true); - search_in_->setAttribute(Qt::WA_MacSmallSize, true); - label->setAttribute(Qt::WA_MacSmallSize, true); -#endif - connect(subject_, SIGNAL(textChanged(const QString&)), this, - SLOT(OnSubjectChanged(const QString&))); - connect(search_all_, SIGNAL(stateChanged(int)), this, - SLOT(OnSearchAllChanged(int))); - connect(search_in_, SIGNAL(currentIndexChanged(int)), this, - SLOT(OnSearchInChanged(int))); -} - -void SeqSearchBar::UpdateItems(const QStringList& sequences) -{ - search_in_->clear(); - - for(int i=0;i< sequences.size(); i++){ - search_in_->addItem(sequences[i]); - } - - if (sequences.empty()) { - search_all_->setCheckState(Qt::Checked); - search_in_->setEnabled(false); - } - subject_->setFocus(Qt::ActiveWindowFocusReason); - subject_->selectAll(); -} -void SeqSearchBar::OnSearchAllChanged(int state) -{ - if (state==Qt::Unchecked) { - search_in_->setEnabled(true); - } else { - search_in_->setEnabled(false); - } - emit Changed(subject_->text(), search_all_->checkState()==Qt::Checked, - search_in_->currentText()); -} - -void SeqSearchBar::OnSearchInChanged(int index) -{ - emit Changed(subject_->text(), search_all_->checkState()==Qt::Checked, - search_in_->currentText()); -} - -void SeqSearchBar::OnSubjectChanged(const QString& str) -{ - emit Changed(str, search_all_->checkState()==Qt::Checked, - search_in_->currentText()); -} - -void SeqSearchBar::paintEvent(QPaintEvent* paint_event) -{ - QPainter p(this); - p.setBrush(QBrush(QColor(Qt::blue).lighter(300))); - p.setPen(QPen(QColor(Qt::blue).lighter(200))); - p.drawRect(rect()); - paint_event->accept(); -} - -void SeqSearchBar::keyPressEvent(QKeyEvent* key_event) -{ - if (key_event->key()==Qt::Key_Escape) { - this->hide(); - key_event->accept(); - } - QWidget::keyPressEvent(key_event); -} - -}} diff --git a/modules/gui/src/sequence/sequence_viewer.cc b/modules/gui/src/sequence/sequence_viewer.cc deleted file mode 100644 index d00a1b07bbd756a59067afe1c0467605e425f0ee..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence/sequence_viewer.cc +++ /dev/null @@ -1,273 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ - -/* - Author: Stefan Scheuber - */ -#include <boost/pointer_cast.hpp> - -#include <QAbstractItemView> -#include <QApplication> -#include <QClipboard> -#include <QHeaderView> -#include <QPushButton> -#include <QShortcut> -#include <QVBoxLayout> -#include <QVarLengthArray> - -#include <ost/mol/chain_view.hh> -#include <ost/mol/entity_view.hh> - -#include <ost/seq/sequence_handle.hh> - -#include <ost/gfx/entity.hh> -#include <ost/gfx/scene.hh> -#include <ost/gfx/gfx_node_visitor.hh> - -#include <ost/gui/widget_registry.hh> -#include <ost/gui/gosty_app.hh> - -#include "sequence_model.hh" -#include "sequence_viewer.hh" - -namespace ost { namespace gui { - -class SequenceViewerV2Factory: public WidgetFactory { -public: - SequenceViewerV2Factory() : - WidgetFactory("ost::gui::SequenceViewerV2", "Sequence Viewer V2") { - } - - virtual Widget* Create(QWidget* parent) { - return GostyApp::Instance()->GetSequenceViewerV2(); - } -}; - -OST_REGISTER_WIDGET(SequenceViewerV2, SequenceViewerV2Factory); - -struct GetNodesVisitor: public gfx::GfxNodeVisitor { - GetNodesVisitor(): nodes_() {} - virtual void VisitObject(gfx::GfxObj* o, const Stack& st) { - nodes_.push_back(o->shared_from_this()); - } - gfx::NodePtrList nodes_; - gfx::NodePtrList GetNodes(){return nodes_;} -}; - -SequenceViewerV2::SequenceViewerV2(QWidget* parent): Widget(NULL,parent) -{ - gfx::Scene::Instance().AttachObserver(this); - model_ = new SequenceModel(this); - - QVBoxLayout* layout = new QVBoxLayout(this); - layout->setMargin(0); - layout->setSpacing(0); - - seq_search_bar_ = new SeqSearchBar(this); - seq_search_bar_->hide(); - layout->addWidget(seq_search_bar_); - QShortcut* shortcut=new QShortcut(QKeySequence(tr("Ctrl+F")), this); - connect(shortcut, SIGNAL(activated()), this, SLOT(FindInSequence())); - connect(seq_search_bar_, SIGNAL(Changed(const QString&, bool, const QString&)), this, SLOT(OnSearchBarUpdate(const QString&, bool, const QString&))); - - seq_table_view_ = new SequenceTableView(model_); - layout->addWidget(seq_table_view_); - this->setLayout(layout); - connect(model_,SIGNAL(columnsInserted(const QModelIndex&, int, int)),seq_table_view_,SLOT(columnCountChanged(const QModelIndex&, int, int))); - connect(model_,SIGNAL(rowsInserted(const QModelIndex&, int, int)),seq_table_view_,SLOT(rowCountChanged(const QModelIndex&, int, int))); - - seq_table_view_->horizontalHeader()->setMinimumSectionSize(2); - seq_table_view_->verticalHeader()->setMinimumSectionSize(2); - seq_table_view_->setSelectionMode(QAbstractItemView::ExtendedSelection); - connect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); - connect(seq_table_view_,SIGNAL(doubleClicked(const QModelIndex&)),model_,SLOT(DoubleClicked(const QModelIndex&))); - connect(seq_table_view_->GetStaticColumn(),SIGNAL(doubleClicked(const QModelIndex&)),this,SLOT(DoubleClicked(const QModelIndex&))); - connect(seq_table_view_->GetStaticRow(),SIGNAL(doubleClicked(const QModelIndex&)),this,SLOT(DoubleClicked(const QModelIndex&))); - connect(seq_table_view_,SIGNAL(CopyEvent(QKeyEvent*)),this,SLOT(CopyEvent(QKeyEvent*))); - connect(seq_table_view_,SIGNAL(MouseWheelEvent(QWheelEvent*)),this,SLOT(MouseWheelEvent(QWheelEvent*))); - - gfx::GfxNodeP root_node = gfx::Scene::Instance().GetRootNode(); - GetNodesVisitor gnv; - gfx::Scene::Instance().Apply(gnv); - gfx::NodePtrList list = gnv.GetNodes(); - for(unsigned int i=0; i<list.size();i++){ - this->NodeAdded(list[i]); - } -} - -void SequenceViewerV2::NodeAdded(const gfx::GfxNodeP& n) -{ - if (gfx::EntityP o=boost::dynamic_pointer_cast<gfx::Entity>(n)) { - model_->InsertGfxEntity(o); - seq_table_view_->resizeColumnsToContents(); - seq_table_view_->resizeRowsToContents(); - } - this->UpdateSearchBar(); -} - -void SequenceViewerV2::NodeRemoved(const gfx::GfxNodeP& node) -{ - if (gfx::EntityP o=boost::dynamic_pointer_cast<gfx::Entity>(node)) { - model_->RemoveGfxEntity(o); - } -} - -void SequenceViewerV2::UpdateSearchBar() -{ - QStringList sequence_names_; - for(int i = 1; i< model_->rowCount(); i++){ - QString name = model_->data(model_->index(i,0),Qt::DisplayRole).toString(); - sequence_names_.append(name); - } - seq_search_bar_->UpdateItems(sequence_names_); -} - -void SequenceViewerV2::SelectionModelChanged(const QItemSelection& sel, const QItemSelection& desel) -{ - gfx::Scene::Instance().DetachObserver(this); - model_->SelectionChanged(sel, desel); - gfx::Scene::Instance().AttachObserver(this); -} - -void SequenceViewerV2::SelectionChanged(const gfx::GfxObjP& o, - const mol::EntityView& view) -{ - disconnect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); - gfx::EntityP entity=boost::dynamic_pointer_cast<gfx::Entity>(o); - if(entity){ - const QModelIndexList& list = model_->GetModelIndexes(entity, view); - this->SelectList(list); - } - connect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); -} - -void SequenceViewerV2::DoubleClicked(const QModelIndex& index) -{ - disconnect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); - model_->DoubleClicked(index); - connect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); -} - -void SequenceViewerV2::MouseWheelEvent(QWheelEvent* event) -{ - int delta = event->delta(); - if (event->orientation() == Qt::Vertical) { - if(delta>0){ - model_->ZoomIn(); - seq_table_view_->viewport()->update(); - seq_table_view_->resizeColumnsToContents(); - seq_table_view_->resizeRowsToContents(); - } - else if(delta<0){ - model_->ZoomOut(); - seq_table_view_->viewport()->update(); - seq_table_view_->resizeColumnsToContents(); - seq_table_view_->resizeRowsToContents(); - } - } - event->accept(); -} - -void SequenceViewerV2::CopyEvent(QKeyEvent* event) -{ - QItemSelectionModel* model = seq_table_view_->selectionModel(); - const QModelIndexList& list = model->selectedIndexes(); - if(list.size()>0){ - QString clipboard_string; - QSet<int> rows; - int min_col=model_->columnCount(); - int max_col=0; - for(int i = 0; i < list.size(); i++){ - if(list[i].column()>max_col){ - max_col = list[i].column(); - } - if(list[i].column()<min_col){ - min_col = list[i].column(); - } - rows.insert(list[i].row()); - } - - bool first_row = true; - for(int i = 1; i < model_->rowCount(); i++){ - if(rows.contains(i)){ - if(!first_row){ - clipboard_string.append("\n"); - } - for(int j=min_col; j<=max_col; j++){ - const QModelIndex& index = model_->index(i,j); - if(model->isSelected(index)){ - clipboard_string.append(model_->data(index,Qt::DisplayRole).toString()); - } - else{ - clipboard_string.append('-'); - } - } - first_row = false; - } - } - QApplication::clipboard()->setText(clipboard_string); - } - event->accept(); -} - -void SequenceViewerV2::FindInSequence() -{ - if(seq_search_bar_->isHidden()){ - seq_search_bar_->show(); - } - else{ - seq_search_bar_->hide(); - } -} - -void SequenceViewerV2::OnSearchBarUpdate(const QString& subject, - bool search_in_all, const QString& name) -{ - seq_table_view_->selectionModel()->clear(); - if(search_in_all){ - const QModelIndexList& list = model_->GetModelIndexes(subject); - this->SelectList(list); - } - else{ - const QModelIndexList& list = model_->GetModelIndexes(subject,name); - this->SelectList(list); - } -} - -void SequenceViewerV2::SelectList(const QModelIndexList& list) -{ - QItemSelectionModel* model = seq_table_view_->selectionModel(); - QSet<int> rows_visited; - for(int i = 0; i<list.size(); i++){ - int row =list[i].row(); - if(!rows_visited.contains(row)){ - model->select(list[i],QItemSelectionModel::Rows|QItemSelectionModel::Deselect); - rows_visited.insert(row); - } - } - for(int i = 0; i<list.size(); i++){ - model->select(list[i],QItemSelectionModel::Select); - } -} - -SequenceViewerV2::~SequenceViewerV2(){ - gfx::Scene::Instance().DetachObserver(this); -} - -}} diff --git a/modules/gui/src/sequence/sequence_viewer.hh b/modules/gui/src/sequence/sequence_viewer.hh deleted file mode 100644 index b04d242dc3c1d3befd3ffda6698e417b3322e2a2..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence/sequence_viewer.hh +++ /dev/null @@ -1,77 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_SEQUENCE_VIEWER_SEQUENCE_VIEWER -#define OST_SEQUENCE_VIEWER_SEQUENCE_VIEWER - -/* - Author: Stefan Scheuber - */ - -#include <QWidget> - -#include <ost/gfx/scene.hh> -#include <ost/gfx/gfx_object.hh> - -#include <ost/gui/widget.hh> - -#include <ost/gui/module_config.hh> - -#include "sequence_search_bar.hh" -#include "sequence_model.hh" -#include "sequence_table_view.hh" - -namespace ost { namespace gui { - -/// \brief QTableView with first column not moving -class DLLEXPORT_OST_GUI SequenceViewerV2 : public Widget, public gfx::SceneObserver { - Q_OBJECT -public: - SequenceViewerV2(QWidget* parent=NULL); - ~SequenceViewerV2(); - - virtual void NodeAdded(const gfx::GfxNodeP& node); - virtual void NodeRemoved(const gfx::GfxNodeP& node); - virtual void SelectionChanged(const gfx::GfxObjP& o, const mol::EntityView& view); - - virtual bool Restore(const QString&){return true;}; - virtual bool Save(const QString&){return true;}; - -public slots: -/// \internal -void OnSearchBarUpdate(const QString&, bool, const QString&); - -private: - void UpdateSearchBar(); - void SelectList(const QModelIndexList& list); - SeqSearchBar* seq_search_bar_; - SequenceModel* model_; - SequenceTableView* seq_table_view_; - -private slots: - /// \brief show sequence search bar - void FindInSequence(); - void SelectionModelChanged(const QItemSelection&, const QItemSelection&); - void DoubleClicked(const QModelIndex& index); - void MouseWheelEvent(QWheelEvent* event); - void CopyEvent(QKeyEvent* event); -}; - -}} - -#endif diff --git a/modules/gui/src/sequence_viewer/align_properties_painter.cc b/modules/gui/src/sequence_viewer/align_properties_painter.cc new file mode 100644 index 0000000000000000000000000000000000000000..0dd51f36d33b62bd1e4ca6759fb5008509b6d81f --- /dev/null +++ b/modules/gui/src/sequence_viewer/align_properties_painter.cc @@ -0,0 +1,78 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +/* + Author: Stefan Scheuber + */ + + + +#include "align_properties_painter.hh" + +#include <QtGui> +namespace ost { namespace gui { + +namespace { + +QMap<QString,QColor> GetColorMap(){ + QMap<QString,QColor> map; + map["G"]=QColor(175,175,175,100); + map["A"]=QColor(175,175,175,100); + map["V"]=QColor(175,175,175,100); + map["L"]=QColor(175,175,175,100); + map["I"]=QColor(175,175,175,100); + map["F"]=QColor(255,165,100); + map["Y"]=QColor(255,165,100); + map["W"]=QColor(255,165,100); + map["C"]=QColor(255,255,0,100); + map["M"]=QColor(255,255,0,100); + map["S"]=QColor(0,255,0,100); + map["T"]=QColor(0,255,0,100); + map["K"]=QColor(255,0,0,100); + map["R"]=QColor(255,0,0,100); + map["H"]=QColor(255,0,0,100); + map["D"]=QColor(0,0,255,100); + map["E"]=QColor(0,0,255,100); + map["N"]=QColor(0,0,255,100); + map["Q"]=QColor(0,0,255,100); + map["P"]=QColor(0,255,255,100); + return map; +} + +} + +QMap<QString,QColor> AlignPropertiesPainter::color_map_ = GetColorMap(); + + +AlignPropertiesPainter::AlignPropertiesPainter(QObject* parent) + : Painter(parent) +{} + +void AlignPropertiesPainter::Paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index){ + painter->save(); + if (index.column()>0){ + QString text = index.data(Qt::DisplayRole).toString(); + if(color_map_.contains(text)){ + painter->fillRect(option.rect, color_map_[text]); + } + } + painter->restore(); +} + +}} diff --git a/modules/gui/src/plot_viewer/plot_axis_horizontal.hh b/modules/gui/src/sequence_viewer/align_properties_painter.hh similarity index 71% rename from modules/gui/src/plot_viewer/plot_axis_horizontal.hh rename to modules/gui/src/sequence_viewer/align_properties_painter.hh index 7522695e0bd1a98b58183eaf7a97825c9673b6f1..13bda8babfa5d599f836cd2d8da00ac2cbfe9844 100644 --- a/modules/gui/src/plot_viewer/plot_axis_horizontal.hh +++ b/modules/gui/src/sequence_viewer/align_properties_painter.hh @@ -16,29 +16,31 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOT_AXIS_HORIZONTAL_HH_ -#define PLOT_AXIS_HORIZONTAL_HH_ +#ifndef OST_SEQUENCE_VIEWER_ALIGN_PROPERTIES_PAINTER +#define OST_SEQUENCE_VIEWER_ALIGN_PROPERTIES_PAINTER /* - Author: Andreas Schenk -*/ + Author: Stefan Scheuber + */ -#include "plot_axis_base.hh" + +#include "painter.hh" +#include <QObject> namespace ost { namespace gui { -class DLLEXPORT_OST_GUI PlotAxisHorizontal: public PlotAxisBase + + +class AlignPropertiesPainter : public Painter { + Q_OBJECT public: - PlotAxisHorizontal(QWidget * parent = 0); - virtual ~PlotAxisHorizontal(); -protected: - virtual void paintEvent(QPaintEvent* paint_event); - virtual void mouseMoveEvent ( QMouseEvent * event ); + AlignPropertiesPainter(QObject* parent = 0); + void Paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index); +private: + static QMap<QString,QColor> color_map_; }; -} - -} +}} -#endif /*PLOT_AXIS_HORIZONTAL_HH_*/ +#endif diff --git a/modules/gui/src/sequence_viewer/alignment_view_object.cc b/modules/gui/src/sequence_viewer/alignment_view_object.cc new file mode 100644 index 0000000000000000000000000000000000000000..f5a08689be49aed7959370840aa7f2ce89dc79c2 --- /dev/null +++ b/modules/gui/src/sequence_viewer/alignment_view_object.cc @@ -0,0 +1,212 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +/* + Author: Stefan Scheuber + */ + + + +#include <ost/mol/mol.hh> +#include <ost/mol/view_op.hh> + +#include <ost/seq/aligned_region.hh> +#include <ost/seq/alg/conservation.hh> + +#include "sequence_row.hh" +#include "secstr_row.hh" + +#include "painter.hh" +#include "background_painter.hh" +#include "seq_secstr_painter.hh" +#include "seq_selection_painter.hh" +#include "seq_text_painter.hh" + +#include "alignment_view_object.hh" + +#include <QtGui> +namespace ost { namespace gui { + +namespace { +QMap<QString,int> GetGroupMap(){ + QMap<QString,int> map; + map["G"]=1; + map["A"]=1; + map["V"]=1; + map["L"]=1; + map["I"]=1; + map["F"]=2; + map["Y"]=2; + map["W"]=2; + map["C"]=3; + map["M"]=3; + map["S"]=4; + map["T"]=4; + map["K"]=5; + map["R"]=5; + map["H"]=5; + map["D"]=6; + map["E"]=6; + map["N"]=6; + map["Q"]=6; + map["P"]=7; + return map; +} + +QColor GetColor(int cons){ + int color = 255 - int((float(cons) / 100) * 200); + return QColor(color,color,color); +} + +QColor GetForeGroundColor(QColor background){ + if(background == Qt::transparent){ + return Qt::black; + } + int gray = 255 - background.red(); + return QColor(gray,gray,gray); +} + +} + +QMap<QString,int> AlignmentViewObject::group_map_ = GetGroupMap(); + + +const QString AlignmentViewObject::conservation_mode_1 = "Highlight conservation 1"; +const QString AlignmentViewObject::conservation_mode_2 = "Highlight conservation 2"; + +AlignmentViewObject::AlignmentViewObject(const seq::AlignmentHandle& alignment, QObject* parent): SequenceViewObject(parent), alignment_(alignment) +{ + for(int i=0; i<alignment.GetCount(); i++){ + seq::SequenceHandle seq_handle = alignment.GetSequence(i).Copy(); + this->AddSequence(seq_handle, seq_handle.GetName().c_str()); + } + + std::vector<Real> values = seq::alg::Conservation(alignment,false); + + gradient_.SetColorAt(0,gfx::Color(0,0,1)); + gradient_.SetColorAt(0.5,gfx::Color(1,1,1)); + gradient_.SetColorAt(1,gfx::Color(1,0,0)); + //Calculate Conservation Mode 1 + for(unsigned int i=0; i<values.size(); i++){ + gfx::Color color = gradient_.GetColorAt(values[i]); + conservation_1_[i] = QColor(color.Red()*255,color.Green()*255,color.Blue()*255,100); + } + + //Calculate Conservation Mode 2 + for(int j=0; j<alignment.GetLength(); j++){ + int group = 0; + QString element = ""; + for(int i=0; i<alignment.GetCount();i++){ + QString code = QString(alignment.GetOneLetterCode(i,j)); + if(element.size()==0){ + element = code; + } + else if (element != code){ + element = " "; + } + if(group_map_.contains(code) && group>=0){ + if(group == 0) { + group = group_map_[code]; + } + else if(group_map_[code] != group){ + group = -1; + } + } + else{ + group = -1; + } + + } + if(element.size()==1){ + conservation_2_[j] = QColor(175,175,175); + } + else if(group > 0){ + conservation_2_[j] = QColor(200,200,200); + } + else{ + conservation_2_[j] = Qt::transparent; + } + } + this->AddDisplayMode(conservation_mode_1); + this->AddDisplayMode(conservation_mode_2); +} + + +QVariant AlignmentViewObject::GetData(int row, int column, int role) +{ + if(column > 0){ + if(this->GetCurrentDisplayMode() == conservation_mode_1){ + if(role == Qt::UserRole+3 ){ + if(column -1 < conservation_1_.size()){ + return QVariant(conservation_1_[column-1]); + } + return QVariant(Qt::transparent); + } + + if(role == Qt::ForegroundRole){ + if(column -1 < conservation_1_.size()){ + if(conservation_1_[column-1].red()>128){ + return QVariant(Qt::black); + } + else{ + return QVariant(Qt::white); + } + } + return QVariant(Qt::transparent); + } + } + else if(this->GetCurrentDisplayMode() == conservation_mode_2){ + if(role == Qt::UserRole+3 ){ + if(column -1 < conservation_2_.size()){ + return QVariant(conservation_2_[column-1]); + } + return QVariant(Qt::transparent); + } + if(role == Qt::ForegroundRole){ + if(column -1 < conservation_2_.size()){ + return QVariant(Qt::black); + } + return QVariant(Qt::transparent); + } + } + } + return BaseViewObject::GetData(row,column,role); +} + +void AlignmentViewObject::SetDisplayMode(const QString& mode) +{ + if(this->display_modes_.contains(mode) && mode != this->GetCurrentDisplayMode()){ + if(mode == conservation_mode_1 || mode == conservation_mode_2){ + for(int i=0 ; i<this->GetRowCount(); i++){ + BaseRow* row = this->GetRow(i); + row->RemovePainter(seq_secondary_structure_painter); + row->RemovePainter(align_properties_painter); + row->InsertPainter(conservation_painter,1); + } + } + } + SequenceViewObject::SetDisplayMode(mode); +} + +const seq::AlignmentHandle& AlignmentViewObject::GetAlignment() +{ + return alignment_; +} + +}} diff --git a/modules/gui/src/plot_viewer/plot_axis_base.hh b/modules/gui/src/sequence_viewer/alignment_view_object.hh similarity index 57% rename from modules/gui/src/plot_viewer/plot_axis_base.hh rename to modules/gui/src/sequence_viewer/alignment_view_object.hh index f16b703d1174710e6bacbd060263260954376138..b8fee2800d9e766211590b6b263c3cd02562456e 100644 --- a/modules/gui/src/plot_viewer/plot_axis_base.hh +++ b/modules/gui/src/sequence_viewer/alignment_view_object.hh @@ -16,44 +16,46 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOTAXIS_BASE_HH_ -#define PLOTAXIS_BASE_HH_ +#ifndef OST_SEQUENCE_VIEWER_ALIGNMENT_VIEW_OBJECT +#define OST_SEQUENCE_VIEWER_ALIGNMENT_VIEW_OBJECT /* - Author: Andreas Schenk -*/ + Author: Stefan Scheuber + */ -#include <QWidget> +#include <ost/seq/alignment_handle.hh> -#include "plot_ticker.hh" +#include <ost/gfx/gradient.hh> + +#include "sequence_view_object.hh" namespace ost { namespace gui { -class DLLEXPORT_OST_GUI PlotAxisBase: public QWidget +class AlignmentViewObject : public SequenceViewObject { Q_OBJECT + public: - PlotAxisBase(QWidget * parent = 0); - virtual ~PlotAxisBase(); - const static unsigned int AXISWIDTH=60; - void SetMinimum(Real min); - void SetMaximum(Real max); -signals: - void zoom(int delta,QPoint pos); - void translate(Real deltax,Real deltay); -protected: - int GetSeparation(); - void SetSeparation(int separation); - void SetStart(int start); - void SetEnd(int end); - virtual void wheelEvent ( QWheelEvent * e ); - virtual void mousePressEvent ( QMouseEvent * event ); - TickList GetTicks(); - PlotTickerLinear ticker_; - QPoint global_mouse_pos_; + AlignmentViewObject(const seq::AlignmentHandle& alignment, QObject* parent = 0); + + QVariant GetData(int row, int column, int role); + const seq::AlignmentHandle& GetAlignment(); + + void SetDisplayMode(const QString& mode); + +private: + gfx::Gradient gradient_; + seq::AlignmentHandle alignment_; + QMap<int, QColor> conservation_1_; + QMap<int, QColor> conservation_2_; + + static QMap<QString,int> group_map_; + + static const QString conservation_mode_1; + static const QString conservation_mode_2; }; -}}//ns +}} -#endif /*PLOTAXIS_BASE_HH_*/ +#endif diff --git a/modules/gui/src/sequence/background_painter.cc b/modules/gui/src/sequence_viewer/background_painter.cc similarity index 100% rename from modules/gui/src/sequence/background_painter.cc rename to modules/gui/src/sequence_viewer/background_painter.cc index 25cf4c65022a3eb0783d7e678d93ca1cabe8e1ff..7e45f62bddcde93345f12bb7925b978f4734002f 100644 --- a/modules/gui/src/sequence/background_painter.cc +++ b/modules/gui/src/sequence_viewer/background_painter.cc @@ -22,10 +22,10 @@ */ -#include <QtGui> #include "background_painter.hh" +#include <QtGui> namespace ost { namespace gui { BackgroundPainter::BackgroundPainter(QObject* parent) diff --git a/modules/gui/src/sequence/background_painter.hh b/modules/gui/src/sequence_viewer/background_painter.hh similarity index 100% rename from modules/gui/src/sequence/background_painter.hh rename to modules/gui/src/sequence_viewer/background_painter.hh index 942e1dde5bd9b67326862eaf605de1436c962ab7..dc97901d43c69477b6c7a9c63dca51281ae57254 100644 --- a/modules/gui/src/sequence/background_painter.hh +++ b/modules/gui/src/sequence_viewer/background_painter.hh @@ -23,9 +23,9 @@ Author: Stefan Scheuber */ -#include <QObject> #include "painter.hh" +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/base_row.cc b/modules/gui/src/sequence_viewer/base_row.cc similarity index 100% rename from modules/gui/src/sequence/base_row.cc rename to modules/gui/src/sequence_viewer/base_row.cc index 16dfb0af3831eda02d11e32f964374b5298c5247..2491b765d03adf4982ca5378e7d49bd597b35dbc 100644 --- a/modules/gui/src/sequence/base_row.cc +++ b/modules/gui/src/sequence_viewer/base_row.cc @@ -22,10 +22,10 @@ */ -#include <QtGui> #include "base_row.hh" +#include <QtGui> namespace ost { namespace gui { BaseRow::BaseRow(QObject *parent) : QObject(parent) diff --git a/modules/gui/src/sequence/base_row.hh b/modules/gui/src/sequence_viewer/base_row.hh similarity index 100% rename from modules/gui/src/sequence/base_row.hh rename to modules/gui/src/sequence_viewer/base_row.hh index 6f20d872b7ff431bb4ba3799e7f5af66c6f52d20..12b86caeb3586d8d56a5ca287a2f2a6f4164ad2d 100644 --- a/modules/gui/src/sequence/base_row.hh +++ b/modules/gui/src/sequence_viewer/base_row.hh @@ -23,12 +23,12 @@ Author: Stefan Scheuber */ -#include <QObject> -#include <QModelIndex> -#include <QList> #include "painter.hh" +#include <QObject> +#include <QModelIndex> +#include <QList> namespace ost { namespace gui { class BaseRow : public QObject diff --git a/modules/gui/src/sequence/base_view_object.cc b/modules/gui/src/sequence_viewer/base_view_object.cc similarity index 86% rename from modules/gui/src/sequence/base_view_object.cc rename to modules/gui/src/sequence_viewer/base_view_object.cc index f6292d97bd3a54ff7344666c5d271e7133b98f1b..716cdb8d8ee2d016026bfa9320e1d625d0634784 100644 --- a/modules/gui/src/sequence/base_view_object.cc +++ b/modules/gui/src/sequence_viewer/base_view_object.cc @@ -22,10 +22,10 @@ */ -#include <QtGui> #include "base_view_object.hh" +#include <QtGui> namespace ost { namespace gui { BaseViewObject::BaseViewObject(QObject* parent): QObject(parent) @@ -89,6 +89,30 @@ bool BaseViewObject::SetData(int row, int column, const QVariant& value, int rol return rows_[row]->SetData(column, value, role); } +const QStringList& BaseViewObject::GetDisplayModes() +{ + return display_modes_; +} + +const QString& BaseViewObject::GetCurrentDisplayMode() +{ + return current_display_mode_; +} + +void BaseViewObject::SetDisplayMode(const QString& mode) +{ + if(display_modes_.contains(mode)){ + this->current_display_mode_ = mode; + } +} + +void BaseViewObject::AddDisplayMode(const QString& mode) +{ + if(!display_modes_.contains(mode)){ + this->display_modes_.append(mode); + } +} + void BaseViewObject::DoubleClicked(int row, int column) { if(row>=0 || row < rows_.size()){ diff --git a/modules/gui/src/sequence/base_view_object.hh b/modules/gui/src/sequence_viewer/base_view_object.hh similarity index 74% rename from modules/gui/src/sequence/base_view_object.hh rename to modules/gui/src/sequence_viewer/base_view_object.hh index b751244627216fcddb683cfd1635e44bdbc9e0fa..fc843813d988daefbc0f99a41fb8cd25e29ccb92 100644 --- a/modules/gui/src/sequence/base_view_object.hh +++ b/modules/gui/src/sequence_viewer/base_view_object.hh @@ -23,11 +23,11 @@ Author: Stefan Scheuber */ -#include <QObject> -#include <QList> #include "base_row.hh" +#include <QObject> +#include <QList> namespace ost { namespace gui { @@ -45,18 +45,26 @@ public: int GetRowCount(); int GetMaxColumnCount() const; - void SetSelection(int row, const QSet<int>& added, const QSet<int>& removed); + virtual void SetSelection(int row, const QSet<int>& added, const QSet<int>& removed); + + virtual QVariant GetData(int row, int column, int role); + virtual bool SetData(int row, int column, const QVariant& value, int role); + virtual Qt::ItemFlags Flags(int row, int column) const; - QVariant GetData(int row, int column, int role); - bool SetData(int row, int column, const QVariant& value, int role); - Qt::ItemFlags Flags(int row, int column) const; + virtual const QStringList& GetDisplayModes(); + virtual const QString& GetCurrentDisplayMode(); + virtual void SetDisplayMode(const QString& mode); void DoubleClicked(int row, int column); void ZoomIn(); void ZoomOut(); protected: + virtual void AddDisplayMode(const QString& mode); + QList<BaseRow*> rows_; + QString current_display_mode_; + QStringList display_modes_; }; diff --git a/modules/gui/pymod/sequence_viewer_proxyV2.hh b/modules/gui/src/sequence_viewer/conservation_painter.cc similarity index 69% rename from modules/gui/pymod/sequence_viewer_proxyV2.hh rename to modules/gui/src/sequence_viewer/conservation_painter.cc index 7d7e1f269acd559d1cfc6505056ee7aa9c7ca8c7..b5e7085485da45d80c6b6c818e853eda135fa2ce 100644 --- a/modules/gui/pymod/sequence_viewer_proxyV2.hh +++ b/modules/gui/src/sequence_viewer/conservation_painter.cc @@ -16,32 +16,30 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_GUI_SEQUENCE_VIEWER_PROXY_V2_HH -#define OST_GUI_SEQUENCE_VIEWER_PROXY_V2_HH -#include <ost/gui/sequence/sequence_viewer.hh> +/* + Author: Stefan Scheuber + */ -#include "sip_handler.hh" + +#include "conservation_painter.hh" + +#include <QtGui> namespace ost { namespace gui { -class SequenceViewerProxyV2 : public SipHandler<SequenceViewerV2> { -public: - SequenceViewerProxyV2(SequenceViewerV2* seq_viewer=new SequenceViewerV2()): - SipHandler<SequenceViewerV2>(seq_viewer) - { } - - void Show() - { - return Me()->show(); - } - void Hide() - { - return Me()->hide(); +ConservationPainter::ConservationPainter(QObject* parent) + : Painter(parent) +{} + +void ConservationPainter::Paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index){ + painter->save(); + if (index.column()>0){ + QColor cons = index.data(Qt::UserRole+3).value<QColor>(); + painter->fillRect(option.rect, cons); } -}; + painter->restore(); +} }} - -#endif diff --git a/modules/gui/src/plot_viewer/plot_viewer_proxy_fw.hh b/modules/gui/src/sequence_viewer/conservation_painter.hh similarity index 74% rename from modules/gui/src/plot_viewer/plot_viewer_proxy_fw.hh rename to modules/gui/src/sequence_viewer/conservation_painter.hh index e4ac6c8812b8fe6c3b514fc662e57c7a77842b3a..f6cea31597773deb3700cfad553e64f6bcbaeb1c 100644 --- a/modules/gui/src/plot_viewer/plot_viewer_proxy_fw.hh +++ b/modules/gui/src/sequence_viewer/conservation_painter.hh @@ -16,21 +16,28 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOT_VEWER_PROXY_FW_HH_ -#define PLOT_VEWER_PROXY_FW_HH_ +#ifndef OST_SEQUENCE_VIEWER_CONSERVATION_PAINTER +#define OST_SEQUENCE_VIEWER_CONSERVATION_PAINTER /* - Author: Ansgar Philippsen -*/ + Author: Stefan Scheuber + */ -#include <boost/shared_ptr.hpp> +#include "painter.hh" + +#include <QObject> namespace ost { namespace gui { -class PlotViewerProxy; -class PlotViewer; -typedef boost::shared_ptr<PlotViewerProxy> PlotViewerProxyPtr; + +class ConservationPainter : public Painter +{ + Q_OBJECT +public: + ConservationPainter(QObject* parent = 0); + void Paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index); +}; }} diff --git a/modules/gui/src/sequence/painter.hh b/modules/gui/src/sequence_viewer/painter.hh similarity index 100% rename from modules/gui/src/sequence/painter.hh rename to modules/gui/src/sequence_viewer/painter.hh index 75e601cdabe9adb5e83554eda7d57e5d914a11e8..971c0b1f84f46f4600ec5b954b73cf40aa5d1a84 100644 --- a/modules/gui/src/sequence/painter.hh +++ b/modules/gui/src/sequence_viewer/painter.hh @@ -23,15 +23,15 @@ Author: Stefan Scheuber */ + +#include <ost/mol/alg/sec_structure_segments.hh> + #include <QObject> #include <QPainter> #include <QStyleOptionViewItem> #include <QModelIndex> #include <QVarLengthArray> #include <QList> - -#include <ost/mol/alg/sec_structure_segments.hh> - namespace ost { namespace gui { class Painter : public QObject diff --git a/modules/gui/src/sequence/secstr_row.cc b/modules/gui/src/sequence_viewer/secstr_row.cc similarity index 100% rename from modules/gui/src/sequence/secstr_row.cc rename to modules/gui/src/sequence_viewer/secstr_row.cc index 180a47469bc97f931ce713e74574ee20be3083a7..2610fc1a20493f14a50665270736addfb1718f35 100644 --- a/modules/gui/src/sequence/secstr_row.cc +++ b/modules/gui/src/sequence_viewer/secstr_row.cc @@ -22,7 +22,6 @@ */ -#include <QtGui> #include <ost/mol/mol.hh> #include <ost/mol/view_op.hh> @@ -31,6 +30,7 @@ #include "secstr_row.hh" +#include <QtGui> namespace ost { namespace gui { SecStrRow::SecStrRow(const QString& name, mol::ChainView& chain, SequenceViewObject* parent) : SequenceRow(name,parent) diff --git a/modules/gui/src/sequence/secstr_row.hh b/modules/gui/src/sequence_viewer/secstr_row.hh similarity index 100% rename from modules/gui/src/sequence/secstr_row.hh rename to modules/gui/src/sequence_viewer/secstr_row.hh index 4b6bd2762457b2545807b344f1953362543f0347..7a9d7991dc3e4dbf30f3d646eb4ba0d994591862 100644 --- a/modules/gui/src/sequence/secstr_row.hh +++ b/modules/gui/src/sequence_viewer/secstr_row.hh @@ -23,14 +23,14 @@ Author: Stefan Scheuber */ -#include <QObject> -#include <QVarLengthArray> #include <ost/mol/chain_view.hh> #include <ost/mol/alg/sec_structure_segments.hh> #include "sequence_row.hh" +#include <QObject> +#include <QVarLengthArray> namespace ost { namespace gui { class SecStrRow : public SequenceRow diff --git a/modules/gui/src/sequence/seq_secstr_painter.cc b/modules/gui/src/sequence_viewer/seq_secstr_painter.cc similarity index 100% rename from modules/gui/src/sequence/seq_secstr_painter.cc rename to modules/gui/src/sequence_viewer/seq_secstr_painter.cc index 0929a9527653e2e778316b3dc202962e5797888b..df3a284d8d9c5b281fb7e56e39a1c2dc4fe1a43e 100644 --- a/modules/gui/src/sequence/seq_secstr_painter.cc +++ b/modules/gui/src/sequence_viewer/seq_secstr_painter.cc @@ -22,10 +22,10 @@ */ -#include <QtGui> #include "seq_secstr_painter.hh" +#include <QtGui> namespace ost { namespace gui { SeqSecStrPainter::SeqSecStrPainter(QObject* parent) diff --git a/modules/gui/src/sequence/seq_secstr_painter.hh b/modules/gui/src/sequence_viewer/seq_secstr_painter.hh similarity index 100% rename from modules/gui/src/sequence/seq_secstr_painter.hh rename to modules/gui/src/sequence_viewer/seq_secstr_painter.hh index a00ebdfd3e0eb83a213f4fce669a19b19e2bfbe4..3dc5fdcb4c112789db41d43cd5528f76b85888a2 100644 --- a/modules/gui/src/sequence/seq_secstr_painter.hh +++ b/modules/gui/src/sequence_viewer/seq_secstr_painter.hh @@ -23,10 +23,10 @@ Author: Stefan Scheuber */ -#include <QObject> -#include <QVarLengthArray> #include "painter.hh" +#include <QObject> +#include <QVarLengthArray> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/seq_selection_painter.cc b/modules/gui/src/sequence_viewer/seq_selection_painter.cc similarity index 100% rename from modules/gui/src/sequence/seq_selection_painter.cc rename to modules/gui/src/sequence_viewer/seq_selection_painter.cc index 8473171967a9f398e8e9a9883197ab54ff605146..4cff32d95000b7263c3e45b2c7736bed6ca9b054 100644 --- a/modules/gui/src/sequence/seq_selection_painter.cc +++ b/modules/gui/src/sequence_viewer/seq_selection_painter.cc @@ -22,9 +22,9 @@ */ -#include <QtGui> #include "seq_selection_painter.hh" +#include <QtGui> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/seq_selection_painter.hh b/modules/gui/src/sequence_viewer/seq_selection_painter.hh similarity index 100% rename from modules/gui/src/sequence/seq_selection_painter.hh rename to modules/gui/src/sequence_viewer/seq_selection_painter.hh index a98d5afb6bf0cab9e33e7283ec5e6b80af423aa3..68174501a2edcabbef106bf9556645d7f61a48f3 100644 --- a/modules/gui/src/sequence/seq_selection_painter.hh +++ b/modules/gui/src/sequence_viewer/seq_selection_painter.hh @@ -23,9 +23,9 @@ Author: Stefan Scheuber */ -#include <QObject> #include "painter.hh" +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/seq_text_painter.cc b/modules/gui/src/sequence_viewer/seq_text_painter.cc similarity index 96% rename from modules/gui/src/sequence/seq_text_painter.cc rename to modules/gui/src/sequence_viewer/seq_text_painter.cc index 30c1e162321fc727a516bb14f582f7f8d4797a29..ea1599e9e5a5e9028e377757ae84bc937424fc1d 100644 --- a/modules/gui/src/sequence/seq_text_painter.cc +++ b/modules/gui/src/sequence_viewer/seq_text_painter.cc @@ -22,10 +22,10 @@ */ -#include <QtGui> #include "seq_text_painter.hh" +#include <QtGui> namespace ost { namespace gui { SeqTextPainter::SeqTextPainter(QObject* parent) @@ -34,7 +34,7 @@ SeqTextPainter::SeqTextPainter(QObject* parent) void SeqTextPainter::Paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index){ painter->save(); - painter->setPen(QPen(Qt::black)); + painter->setPen(index.data(Qt::ForegroundRole).value<QColor>()); QVariant value = index.data(Qt::DisplayRole); if (value.isValid()){ QString text = value.toString(); diff --git a/modules/gui/src/sequence/seq_text_painter.hh b/modules/gui/src/sequence_viewer/seq_text_painter.hh similarity index 100% rename from modules/gui/src/sequence/seq_text_painter.hh rename to modules/gui/src/sequence_viewer/seq_text_painter.hh index 429394cb4bca349b3bc67a9269fbda2048954223..89d3190809d49696bc6b6f74d58343f125b8e244 100644 --- a/modules/gui/src/sequence/seq_text_painter.hh +++ b/modules/gui/src/sequence_viewer/seq_text_painter.hh @@ -23,9 +23,9 @@ Author: Stefan Scheuber */ -#include <QObject> #include "painter.hh" +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/sequence_delegate.cc b/modules/gui/src/sequence_viewer/sequence_delegate.cc similarity index 100% rename from modules/gui/src/sequence/sequence_delegate.cc rename to modules/gui/src/sequence_viewer/sequence_delegate.cc index 6bb36cac4c7ba1dae8af0df6dc2f6e66748feac3..ba2598b85f80556948dbce64d17b15948a3deab4 100644 --- a/modules/gui/src/sequence/sequence_delegate.cc +++ b/modules/gui/src/sequence_viewer/sequence_delegate.cc @@ -22,8 +22,8 @@ */ -#include <QtGui> #include "sequence_delegate.hh" +#include <QtGui> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/sequence_delegate.hh b/modules/gui/src/sequence_viewer/sequence_delegate.hh similarity index 100% rename from modules/gui/src/sequence/sequence_delegate.hh rename to modules/gui/src/sequence_viewer/sequence_delegate.hh index 3c74fcf54abd4f7604c10b41dde9427fa0e7d54f..4396faafa2d2125e0147d4d03996a31ed5aedbe6 100644 --- a/modules/gui/src/sequence/sequence_delegate.hh +++ b/modules/gui/src/sequence_viewer/sequence_delegate.hh @@ -23,10 +23,10 @@ Author: Stefan Scheuber */ -#include <QItemDelegate> -#include <QModelIndex> #include "sequence_model.hh" +#include <QItemDelegate> +#include <QModelIndex> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence_viewer/sequence_item.cc b/modules/gui/src/sequence_viewer/sequence_item.cc deleted file mode 100644 index 6200f6c15f6ea86c4ee5f970255cb10be60b1f96..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence_viewer/sequence_item.cc +++ /dev/null @@ -1,494 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Marco Biasini - */ - -#include <ost/mol/mol.hh> -#include <boost/bind.hpp> - -#include "sequence_item.hh" -#include "sequence_scene.hh" - -#include <QPainter> -#include <QGraphicsSceneMouseEvent> -#include <QGraphicsSceneContextMenuEvent> -#include <QGraphicsItem> -#include <QDebug> - -namespace ost { namespace gui { - -using boost::bind; - -Knob::Knob(const QString& text, const QColor& color, - SequenceItem* parent): - QGraphicsItem(parent) -{ - -} - -void Knob::paint(QPainter* painter, const QStyleOptionGraphicsItem*, - QWidget* widget) -{ - painter->setBrush(QBrush(color_)); - painter->setPen(QPen(color_.darker())); - painter->drawEllipse(this->boundingRect()); - if (this->isUnderMouse()) { - painter->setPen(QPen(color_.darker())); - } else { - painter->setPen(QPen(Qt::white)); - } - painter->drawText(this->boundingRect(), Qt::AlignCenter, text_); -} - -QRectF Knob::boundingRect() const -{ - return QRectF(0.0, 0.0, 15.0, 15.0); -} - - -SequenceHeader::SequenceHeader(SequenceItem* parent): - QGraphicsItem(parent) -{ - font_=QFont("Courier", 12); - font_.setKerning(false); - font_.setFixedPitch(true); -} - - -void SequenceHeader::paint(QPainter* painter, const QStyleOptionGraphicsItem*, - QWidget* widget) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - painter->setFont(font_); - QFontMetrics m(font_); - QString name(si->GetSequence().GetName().c_str()); - QRectF br=this->boundingRect(); - name=m.elidedText(name, Qt::ElideMiddle, br.width()); - painter->drawText(br, Qt::AlignTop, name); -} - -QRectF SequenceHeader::boundingRect() const -{ - QFontMetrics metrics(font_); - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - QString name(si->GetSequence().GetName().c_str()); - QRectF rect(0, -2,name.size()*si->GetCharWidth()*1.1, - si->GetCharHeight()+2); - SequenceScene* s=dynamic_cast<SequenceScene*>(this->scene()); - rect.setWidth(std::min(qreal(s->GetHeaderWidth()), rect.width())); - return rect; -} - -SequenceBody::SequenceBody(SequenceItem* parent): - QGraphicsItem(parent) -{ - -} - - -void SequenceBody::paint(QPainter* painter, const QStyleOptionGraphicsItem*, - QWidget* widget) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - seq::SequenceHandle seq=si->GetSequence(); - if (!seq.IsValid()) { - return; - } - QString qstr(seq.GetString().c_str()); - QColor sel_color(Qt::yellow); - if (si->IsSecStructureVisible()) { - sel_color.setAlpha(50); - painter->setBrush(QBrush(sel_color)); - painter->setPen(QPen(QColor(Qt::yellow).darker())); - painter->drawPath(si->GetSecStructPaths()); - } - painter->setFont(si->GetFont()); - painter->setPen(QPen(Qt::black)); - QString tt("X"); - QRectF br=this->boundingRect(); - for (int i=0; i<qstr.size(); ++i) { - tt[0]=qstr[i]; - QRectF rect(br.left()+i*si->GetCharWidth(), br.top(), - br.width(), br.height()); - painter->drawText(rect, Qt::AlignLeft|Qt::AlignVCenter, tt); - } - - sel_color=QColor(Qt::green).lighter(); - painter->setPen(QPen(Qt::green)); - sel_color.setAlpha(100); - painter->setBrush(QBrush(sel_color)); - QRectF text_bounds=painter->boundingRect(boundingRect(), - Qt::AlignLeft|Qt::AlignVCenter, - qstr); - const SequenceItem::Selection& sel=si->GetSelection(); - for (size_t i=0; i<sel.size(); ++i) { - painter->drawRect(QRectF(sel[i].Loc*si->GetCharWidth(), 0, - sel[i].Length*si->GetCharWidth(), - si->GetCharHeight())); - } -} - -QRectF SequenceBody::boundingRect() const -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - seq::SequenceHandle seq=si->GetSequence(); - if (!seq.IsValid()) { - return QRectF(); - } - return QRectF(0, -2, seq.GetLength()*si->GetCharWidth(), - si->GetCharHeight()+2); -} - - -SequenceItem::SequenceItem(const seq::SequenceHandle& seq, - QGraphicsItem* parent): - QGraphicsItem(parent), seq_(seq), show_sec_struct_(true) -{ - header_=new SequenceHeader(this); - body_=new SequenceBody(this); - body_->translate(120.0, 0.0); - font_=QFont("Courier", 12); - font_.setKerning(false); - font_.setFixedPitch(true); - QFontMetrics metrics(font_); - advance_=metrics.boundingRect('W').width(); - height_=metrics.boundingRect('|').height(); - ascent_=metrics.ascent(); - this->setAcceptedMouseButtons(Qt::LeftButton); - this->ExtractSecStructSegments(); - selection_change_=false; -} - -SequenceHeader* SequenceItem::GetHeader() -{ - return header_; -} - -SequenceBody* SequenceItem::GetBody() -{ - return body_; -} - -const seq::SequenceHandle& SequenceItem::GetSequence() const -{ - return seq_; -} - -QRectF SequenceItem::GetCharBounds(int pos) const -{ - QPointF a(pos*advance_, 0); - return QRectF(this->mapToScene(a), QSizeF(advance_, height_)); -} - -float SequenceItem::GetCharWidth() const -{ - return advance_; -} - -float SequenceItem::GetCharHeight() const -{ - return height_; -} - -void SequenceItem::paint(QPainter* painter, const QStyleOptionGraphicsItem*, - QWidget* widget) -{ -} - -QRectF SequenceItem::boundingRect() const -{ - QRectF child_r(this->childrenBoundingRect()); - if (show_sec_struct_) { - return QRectF(child_r.topLeft(), - QSize(child_r.width(), child_r.height()*2.5)); - } else { - return QRectF(child_r.topLeft(), - QSize(child_r.width(), child_r.height())); - } -} - -void SequenceItem::ExtractSecStructSegments() -{ - if (!seq_.HasAttachedView()) { - return; - } - mol::ChainView chain=seq_.GetAttachedView().GetChainList()[0]; - sec_=mol::alg::ExtractSecStructureSegments(chain); - this->SecStructSegmentsToPaths(); -} - -void SequenceHeader::contextMenuEvent(QGraphicsSceneContextMenuEvent* event) -{ - //... -} -void SequenceBody::mousePressEvent(QGraphicsSceneMouseEvent* event) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - event->accept(); - last_index_=-1; - good_ole_click_=true; - merge_select_=event->modifiers() & Qt::ShiftModifier; - si->BeginSelectionChange(); -} - -void SequenceBody::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - int index=std::max(0, int(event->pos().x()/si->GetCharWidth())); - // find the secondary structure element -- if any that we are in - mol::alg::SecStructureSegments::iterator i=si->GetSecStructSegments().begin(), - e=si->GetSecStructSegments().end(); - for (;i!=e; ++i) { - if (i->first<=index && i->last>=index) { - si->Select(i->first, i->last+1, !merge_select_); - break; - } - } - good_ole_click_=false; -} -void SequenceHeader::mousePressEvent(QGraphicsSceneMouseEvent* event) -{ - event->accept(); -} - -void SequenceHeader::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - if (si->IsEverythingSelected()) { - si->ClearSelection(); - } else { - si->SelectAll(); - } - -} - -void SequenceBody::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - if (good_ole_click_) { - int index=std::max(0, int(event->pos().x()/si->GetCharWidth())); - si->Select(index, index+1, !merge_select_); - } - si->EndSelectionChange(); -} - -void SequenceBody::mouseMoveEvent(QGraphicsSceneMouseEvent* event) -{ - SequenceItem* si=dynamic_cast<SequenceItem*>(this->parentItem()); - good_ole_click_=false; - if (!si->GetSequence().IsValid()) { - return; - } - float x=event->pos().x(); - int index=std::max(0, int(x/si->GetCharWidth())); - if (last_index_!=-1 && last_index_!=index) { - si->Select(last_index_, index, !merge_select_); - } else { - last_index_=index; - } -} - -void SequenceItem::StackToPath(std::vector<QPointF>& stack) -{ - if (!stack.empty()) { - sec_paths_.moveTo(QPointF(stack.front().x(), stack.front().y()+.5*ascent_)); - for (std::vector<QPointF>::iterator j=stack.begin()+1, - e2=stack.end(); j!=e2; ++j) { - sec_paths_.lineTo(QPointF(j->x(), j->y()+0.5*ascent_)); - } - for (std::vector<QPointF>::reverse_iterator j=stack.rbegin(), - e2=stack.rend(); j!=e2; ++j) { - sec_paths_.lineTo(QPointF(j->x(), -j->y()+.5*ascent_)); - } - sec_paths_.closeSubpath(); - stack.clear(); - } -} - -void SequenceItem::SecStructSegmentsToPaths() -{ - sec_paths_=QPainterPath(); - - sec_paths_.setFillRule(Qt::WindingFill); - std::vector<QPointF> stack; - int last_end=-2; - for (mol::alg::SecStructureSegments::iterator i=sec_.begin(), - e=sec_.end(); i!=e; ++i) { - mol::alg::SecStructureSegment s=*i; - if (last_end!=s.first-1) { - this->StackToPath(stack); - } - if (s.ss_type.IsCoil()) { - stack.push_back(QPointF(s.first*advance_, -.6*height_)); - stack.push_back(QPointF((s.last+1)*advance_, -.6*height_)); - } else if (s.ss_type.IsHelical()) { - stack.push_back(QPointF(s.first*advance_, -.6*height_)); - stack.push_back(QPointF(s.first*advance_, -.9*height_)); - stack.push_back(QPointF((s.last+1)*advance_, -.9*height_)); - stack.push_back(QPointF((s.last+1)*advance_, -.6*height_)); - } else if (s.ss_type.IsExtended()) { - stack.push_back(QPointF(s.first*advance_, -.6*height_)); - stack.push_back(QPointF(s.first*advance_, -.9*height_)); - stack.push_back(QPointF((s.last-0.5)*advance_, -.9*height_)); - stack.push_back(QPointF((s.last-0.5)*advance_, -1.3*height_)); - stack.push_back(QPointF((s.last+1)*advance_, -.6*height_)); - - } - last_end=s.last; - } - this->StackToPath(stack); -} - -void SequenceItem::Select(int i1, int i2, bool clear) -{ - if (selection_change_>0) { - selection_=ref_sel_; - } - int a1=std::min(i1, i2); - int len=std::abs(i1-i2); - Range sel_start(a1, len); - Range* sel=&sel_start; - bool modified=false; - if (clear) { - selection_.clear(); - selection_.push_back(*sel); - } else { - for (size_t i=0; i<selection_.size(); ++i) { - if (sel->Loc>=selection_[i].Loc && sel->Loc<selection_[i].End()) { - int old_end=selection_[i].End(); - if (sel->End()<=selection_[i].End()) { - selection_[i].Length=int(sel->Loc-selection_[i].Loc); - if (old_end-sel->End()>0) { - selection_.push_back(Range(sel->End(), old_end-sel->End())); - } - } else { - selection_[i].Length=int(sel->Loc-selection_[i].Loc); - if (sel->End()-old_end>0) { - selection_.push_back(Range(old_end, sel->End()-old_end)); - } - } - modified=true; - break; - } else if (sel->End()>selection_[i].Loc && - sel->End()<=selection_[i].End()) { - int nn=selection_[i].Loc; - selection_[i].Length-=sel->End()-selection_[i].Loc; - selection_[i].Loc=sel->End(); - modified=true; - selection_.push_back(Range(sel->Loc, nn-sel->Loc)); - break; - } else if (sel->Loc<selection_[i].Loc && - sel->End()>selection_[i].End()) { - selection_[i].Length=0; - } else if (sel->Loc==selection_[i].End()) { - selection_[i].Length+=sel->Length; - sel->Length=0; - sel=&selection_[i]; - modified=true; - } else if (sel->End()==selection_[i].Loc) { - selection_[i].Loc-=sel->Length; - selection_[i].Length+=sel->Length; - sel->Length=0; - sel=&selection_[i]; - modified=true; - } - } - if (!modified) { - selection_.push_back(Range(a1, len)); - } - } - Selection::iterator i=std::remove_if(selection_.begin(), selection_.end(), - bind(&Range::Length, _1)==size_t(0)); - selection_.erase(i, selection_.end()); - if (!selection_change_) { - emit this->SelectionChanged(this); - } else { - selection_change_=2; - } - update(); -} - -void SequenceItem::ClearSelection() -{ - selection_.clear(); - if (selection_change_>0) { - selection_change_=2; - } else { - emit this->SelectionChanged(this); - update(); - } -} - -void SequenceItem::SelectAll() -{ - if (!seq_.IsValid()) { - return; - } - selection_.clear(); - selection_.push_back(Range(0, seq_.GetLength())); - if (selection_change_>0) { - selection_change_=1; - } else { - emit this->SelectionChanged(this); - update(); - } -} - -void SequenceItem::BeginSelectionChange() -{ - selection_change_=1; - ref_sel_=selection_; -} - -void SequenceItem::EndSelectionChange() -{ - if (selection_change_==2) { - emit this->SelectionChanged(this); - } - selection_change_=0; -} - -bool SequenceItem::IsEverythingSelected() const -{ - return selection_.size()==1 && selection_.front().Loc==0 && - selection_.front().End()>=static_cast<size_t>(seq_.GetLength()); -} - -const SequenceItem::Selection& SequenceItem::GetSelection() const -{ - return selection_; -} - -mol::alg::SecStructureSegments& SequenceItem::GetSecStructSegments() -{ - return sec_; -} - -void SequenceItem::SetShowSecStructure(bool show) -{ - show_sec_struct_=show; -} - -bool SequenceItem::IsSecStructureVisible() const -{ - return show_sec_struct_; -} - -}} diff --git a/modules/gui/src/sequence_viewer/sequence_item.hh b/modules/gui/src/sequence_viewer/sequence_item.hh deleted file mode 100644 index aeaa63d1a9af36e29a925aa5af3b5fc214b2c8be..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence_viewer/sequence_item.hh +++ /dev/null @@ -1,153 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_GUI_SEQUENCE_ITEM_HH -#define OST_GUI_SEQUENCE_ITEM_HH - -#include <ost/gui/module_config.hh> -#include <ost/mol/sec_structure.hh> -#include <ost/mol/alg/sec_structure_segments.hh> - -#include <ost/seq/sequence_handle.hh> - -#include <QGraphicsItem> -#include <QFont> - -namespace ost { namespace gui { - -class SequenceItem; -class SequenceHeader; - -class DLLEXPORT_OST_GUI Knob : public QGraphicsItem { -public: - Knob(const QString& text, const QColor& color, - SequenceItem* parent=NULL); - - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* opts, - QWidget* widget=NULL); - virtual QRectF boundingRect() const; -private: - QString text_; - QColor color_; -}; - -class DLLEXPORT_OST_GUI SequenceHeader : public QGraphicsItem { -public: - SequenceHeader(SequenceItem* parent=NULL); - - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* opts, - QWidget* widget=NULL); - virtual QRectF boundingRect() const; -protected: - virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); - virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* event); -private: - QFont font_; -}; - -class DLLEXPORT_OST_GUI SequenceBody : public QGraphicsItem { -public: - SequenceBody(SequenceItem* parent=NULL); - - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* opts, - QWidget* widget=NULL); - virtual QRectF boundingRect() const; -protected: - virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); - virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - - virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event); -private: - QFont font_; - bool merge_select_; - bool good_ole_click_; - int last_index_; -}; - - -class DLLEXPORT_OST_GUI SequenceItem : public QObject, // required for signals - public QGraphicsItem { - Q_OBJECT -public: - typedef std::vector<Range> Selection; - - SequenceItem(const seq::SequenceHandle& seq, QGraphicsItem* parent=NULL); - - /// \brief get sequence - const seq::SequenceHandle& GetSequence() const; - - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* opts, - QWidget* widget=NULL); - virtual QRectF boundingRect() const; - - QRectF GetCharBounds(int pos) const; - - float GetCharWidth() const; - float GetCharHeight() const; - - SequenceBody* GetBody(); - SequenceHeader* GetHeader(); - QPainterPath& GetSecStructPaths() { return sec_paths_; } - QFont GetFont() { return font_; } - - const Selection& GetSelection() const; - void Select(int i1, int i2, bool clear=true); - - void BeginSelectionChange(); - void EndSelectionChange(); - - bool IsEverythingSelected() const; - void ClearSelection(); - void SelectAll(); - void SetShowSecStructure(bool show=true); - bool IsSecStructureVisible() const; - - mol::alg::SecStructureSegments& GetSecStructSegments(); -signals: - - /// \brief emitted whenever the selection changes - /// - /// When using BeginSelectionChange(), no signal is emitted until - /// EndSelectionChange() is called. - void SelectionChanged(SequenceItem* item); -private: - void ExtractSecStructSegments(); - void SecStructSegmentsToPaths(); - void StackToPath(std::vector<QPointF>& stack); - - QPainterPath sec_paths_; - mol::alg::SecStructureSegments sec_; - SequenceHeader* header_; - SequenceBody* body_; - seq::SequenceHandle seq_; - QFont font_; - Selection selection_; - Selection ref_sel_; - float advance_; - float height_; - float ascent_; - int selection_change_; - bool show_sec_struct_; -}; - -typedef std::vector<SequenceItem*> SequenceItemList; -}} - -#endif diff --git a/modules/gui/src/sequence/sequence_model.cc b/modules/gui/src/sequence_viewer/sequence_model.cc similarity index 67% rename from modules/gui/src/sequence/sequence_model.cc rename to modules/gui/src/sequence_viewer/sequence_model.cc index dc26ce348841621fa3d330fce38e83d1f9c7a062..342a04e1f258cfe8b87cd0488bb616d46b94ab2c 100644 --- a/modules/gui/src/sequence/sequence_model.cc +++ b/modules/gui/src/sequence_viewer/sequence_model.cc @@ -21,12 +21,6 @@ Author: Stefan Scheuber */ -#include <QMap> -#include <QMapIterator> - -#include <QtGui> - -#include "sequence_view_object.hh" #include "title_row.hh" @@ -35,6 +29,10 @@ #include "sequence_model.hh" +#include <QMap> +#include <QMapIterator> + +#include <QtGui> namespace ost { namespace gui { SequenceModel::SequenceModel(QObject *parent) @@ -42,10 +40,10 @@ SequenceModel::SequenceModel(QObject *parent) { this->beginInsertRows(QModelIndex(),this->rowCount(),this->rowCount()); BaseViewObject* title = new BaseViewObject(this); - TitleRow* title_row = new TitleRow(this); - Painter* p = new BackgroundPainter(this); + TitleRow* title_row = new TitleRow(title); + Painter* p = new BackgroundPainter(title_row); title_row->InsertPainter(p); - p = new TickPainter(this); + p = new TickPainter(title_row); title_row->InsertPainter(p); title->InsertRow(0,title_row); objects_.append(title); @@ -78,13 +76,26 @@ void SequenceModel::InsertChain(QString& name, mol::ChainView& view){ this->endInsertRows(); } +void SequenceModel::InsertAlignment(const seq::AlignmentHandle& alignment){ + int cols = this->columnCount(); + int new_cols = alignment.GetLength(); + this->beginInsertRows(QModelIndex(),this->rowCount(),this->rowCount()+alignment.GetCount()-1); + objects_.append(new AlignmentViewObject(alignment, this)); + if(new_cols > cols){ + this->max_columns = new_cols; + this->beginInsertColumns(QModelIndex(), cols, new_cols); + this->endInsertColumns(); + } + this->endInsertRows(); +} + void SequenceModel::InsertSequences(const QList<QString>& names, seq::SequenceList& list){ this->beginInsertRows(this->index(this->rowCount(),0),this->rowCount(),this->rowCount()+list.GetCount()); objects_.append(new SequenceViewObject(list, names, this)); this->endInsertRows(); } -void SequenceModel::InsertGfxEntity(gfx::EntityP& ent){ +void SequenceModel::InsertGfxEntity(const gfx::EntityP& ent){ mol::EntityView view=ent->GetView(); int size = view.GetChainList().size(); int cols = this->columnCount(); @@ -100,7 +111,7 @@ void SequenceModel::InsertGfxEntity(gfx::EntityP& ent){ this->endInsertRows(); } -void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){ +void SequenceModel::RemoveGfxEntity(const gfx::EntityP& entity){ if(SequenceViewObject* obj = this->GetItem(entity)){ int index = this->GetGlobalRow(obj,0); this->beginRemoveRows(QModelIndex(),index,index+obj->GetRowCount()-1); @@ -116,6 +127,22 @@ void SequenceModel::RemoveGfxEntity(gfx::EntityP& entity){ } } +void SequenceModel::RemoveAlignment(const seq::AlignmentHandle& alignment){ + if(AlignmentViewObject* obj = this->GetItem(alignment)){ + int index = this->GetGlobalRow(obj,0); + this->beginRemoveRows(QModelIndex(),index,index+obj->GetRowCount()-1); + int cols_before = this->columnCount(); + objects_.removeOne(obj); + this->endRemoveRows(); + int cols = this->GetColumnCount(); + if(cols_before>cols){ + this->max_columns = cols; + this->beginRemoveColumns(QModelIndex(), cols, cols_before); + this->endRemoveColumns(); + } + } +} + int SequenceModel::GetColumnCount() const{ int cols = 0; for(int i = 0; i<objects_.size();i++){ @@ -127,7 +154,7 @@ int SequenceModel::GetColumnCount() const{ return cols; } -SequenceViewObject* SequenceModel::GetItem(gfx::EntityP& entity){ +SequenceViewObject* SequenceModel::GetItem(const gfx::EntityP& entity){ if(entity != NULL){ for (int i = 0 ; i< objects_.size(); i++){ if(SequenceViewObject* seq_view_object = qobject_cast<SequenceViewObject*>(objects_[i])){ @@ -140,12 +167,23 @@ SequenceViewObject* SequenceModel::GetItem(gfx::EntityP& entity){ return NULL; } +AlignmentViewObject* SequenceModel::GetItem(const seq::AlignmentHandle& alignment){ + for (int i = 0 ; i< objects_.size(); i++){ + if(AlignmentViewObject* alignment_object = qobject_cast<AlignmentViewObject*>(objects_[i])){ + if(alignment == alignment_object->GetAlignment()){ + return alignment_object; + } + } + } + return NULL; +} + const PainterList& SequenceModel::GetPainters(const QModelIndex& index) const{ QPair<int, BaseViewObject*> pair = this->GetRowWithItem(index); if(pair.second){ return pair.second->GetRow(pair.first)->GetPainters(); } - return empty_list_; + return empty_painter_list_; } QPair<int, BaseViewObject*> SequenceModel::GetRowWithItem(int row) const{ @@ -256,6 +294,121 @@ void SequenceModel::DoubleClicked(const QModelIndex& index) } } +const QStringList& SequenceModel::GetDisplayModes() +{ + display_modes_.clear(); + QMap<QString,int> string_map; + for (int i = 0; i<objects_.size(); i++){ + const QStringList& list = objects_[i]->GetDisplayModes(); + for(int j=0; j<list.size(); j++){ + if(!string_map.contains(list.at(j))){ + string_map.insert(list.at(j),1); + } + else { + string_map[list.at(j)] = string_map[list.at(j)] + 1; + } + } + } + bool removed = false; + QMapIterator<QString, int> i(string_map); + while (i.hasNext()) { + i.next(); + if(objects_.size()-1 <= i.value()){ + display_modes_.append(i.key()); + } + else{ + removed = true; + } + } + if(removed){ + display_modes_.insert(0," "); + } + return display_modes_; +} + +const QStringList& SequenceModel::GetDisplayModes(const gfx::EntityP& entity) +{ + BaseViewObject* item = this->GetItem(entity); + if(item){ + return item->GetDisplayModes(); + } + else{ + return empty_string_list_; + } +} + +const QStringList& SequenceModel::GetDisplayModes(const seq::AlignmentHandle& alignment) +{ + BaseViewObject* item = this->GetItem(alignment); + if(item){ + return item->GetDisplayModes(); + } + else{ + return empty_string_list_; + } +} + +const QString& SequenceModel::GetCurrentDisplayMode() +{ + current_display_mode_.clear(); + for (int i = 0; i<objects_.size(); i++){ + const QString& mode = objects_[i]->GetCurrentDisplayMode(); + if(current_display_mode_.isEmpty()){ + current_display_mode_ = mode; + } + else if(current_display_mode_ != mode){ + current_display_mode_ = " "; + break; + } + } + return current_display_mode_; +} + +const QString& SequenceModel::GetCurrentDisplayMode(const gfx::EntityP& entity) +{ + BaseViewObject* item = this->GetItem(entity); + if(item){ + return item->GetCurrentDisplayMode(); + } + else{ + return empty_string_; + } +} + +const QString& SequenceModel::GetCurrentDisplayMode(const seq::AlignmentHandle& alignment) +{ + BaseViewObject* item = this->GetItem(alignment); + if(item){ + return item->GetCurrentDisplayMode(); + } + else{ + return empty_string_; + } +} + +void SequenceModel::SetDisplayMode(const QString& mode) +{ + for (int i = 0; i<objects_.size(); i++){ + objects_[i]->SetDisplayMode(mode); + } +} + +void SequenceModel::SetDisplayMode(const gfx::EntityP& entity, const QString& mode) +{ + BaseViewObject* item = this->GetItem(entity); + if(item){ + return item->SetDisplayMode(mode); + } +} + +void SequenceModel::SetDisplayMode(const seq::AlignmentHandle& alignment, const QString& mode) +{ + BaseViewObject* item = this->GetItem(alignment); + if(item){ + return item->SetDisplayMode(mode); + } +} + int SequenceModel::rowCount(const QModelIndex& parent) const { int rows = 0; diff --git a/modules/gui/src/sequence/sequence_model.hh b/modules/gui/src/sequence_viewer/sequence_model.hh similarity index 71% rename from modules/gui/src/sequence/sequence_model.hh rename to modules/gui/src/sequence_viewer/sequence_model.hh index 98cbe3aa4d47476f133e7cdcae9592a92246b016..5a105c66fd1b8aa6b95d9dc5883e998191192cba 100644 --- a/modules/gui/src/sequence/sequence_model.hh +++ b/modules/gui/src/sequence_viewer/sequence_model.hh @@ -23,18 +23,20 @@ Author: Stefan Scheuber */ -#include <QAbstractTableModel> -#include <QItemSelection> #include <ost/mol/chain_view.hh> #include <ost/seq/sequence_list.hh> +#include <ost/seq/alignment_handle.hh> #include <ost/gfx/entity.hh> #include "base_view_object.hh" +#include "alignment_view_object.hh" #include "sequence_view_object.hh" +#include <QAbstractTableModel> +#include <QItemSelection> namespace ost { namespace gui { class SequenceModel : public QAbstractTableModel @@ -44,12 +46,14 @@ class SequenceModel : public QAbstractTableModel public: SequenceModel(QObject *parent = 0); - void InsertGfxEntity(gfx::EntityP& entity); + void InsertAlignment(const seq::AlignmentHandle& alignment); + void InsertGfxEntity(const gfx::EntityP& entity); void InsertChain(QString& name, mol::ChainView& view); void InsertSequence(QString& name, seq::SequenceHandle& seq); void InsertSequences(const QList<QString>& names, seq::SequenceList& list); - void RemoveGfxEntity(gfx::EntityP& entity); + void RemoveAlignment(const seq::AlignmentHandle& alignment); + void RemoveGfxEntity(const gfx::EntityP& entity); QModelIndexList GetModelIndexes(gfx::EntityP& entity, const mol::EntityView& view); QModelIndexList GetModelIndexes(const QString& subject, const QString& sequence_name=QString()); @@ -57,6 +61,16 @@ public: int GetGlobalRow(BaseViewObject* obj, int row) const; + const QStringList& GetDisplayModes(); + const QStringList& GetDisplayModes(const gfx::EntityP& entity); + const QStringList& GetDisplayModes(const seq::AlignmentHandle& alignment); + const QString& GetCurrentDisplayMode(); + const QString& GetCurrentDisplayMode(const gfx::EntityP& entity); + const QString& GetCurrentDisplayMode(const seq::AlignmentHandle& alignment); + void SetDisplayMode(const QString& mode); + void SetDisplayMode(const gfx::EntityP& entity, const QString& mode); + void SetDisplayMode(const seq::AlignmentHandle& alignment, const QString& mode); + const PainterList& GetPainters(const QModelIndex& index) const; // abstract item model interface @@ -76,17 +90,21 @@ public slots: void ZoomOut(); void DoubleClicked(const QModelIndex& index); void SelectionChanged(const QItemSelection& sel, const QItemSelection& desel); - private: int GetColumnCount() const; - SequenceViewObject* GetItem(gfx::EntityP& entity); + SequenceViewObject* GetItem(const gfx::EntityP& entity); + AlignmentViewObject* GetItem(const seq::AlignmentHandle& alignment); BaseViewObject* GetItem(const QModelIndex& index) const; QPair<int, BaseViewObject*> GetRowWithItem(int row) const; QPair<int, BaseViewObject*> GetRowWithItem(const QModelIndex& index) const; QList<BaseViewObject*> objects_; int max_columns; - PainterList empty_list_; + PainterList empty_painter_list_; + QString empty_string_; + QStringList empty_string_list_; + QStringList display_modes_; + QString current_display_mode_; }; diff --git a/modules/gui/src/sequence/sequence_row.cc b/modules/gui/src/sequence_viewer/sequence_row.cc similarity index 98% rename from modules/gui/src/sequence/sequence_row.cc rename to modules/gui/src/sequence_viewer/sequence_row.cc index 517a86eeeb779d7d5cafced51ead05232c61afaf..5537b9f82e51b1c121163147cf9f0edc950bd81b 100644 --- a/modules/gui/src/sequence/sequence_row.cc +++ b/modules/gui/src/sequence_viewer/sequence_row.cc @@ -22,7 +22,6 @@ */ -#include <QtGui> #include <ost/mol/mol.hh> #include <ost/mol/view_op.hh> @@ -32,6 +31,7 @@ #include "sequence_view_object.hh" #include "sequence_row.hh" +#include <QtGui> namespace ost { namespace gui { SequenceRow::SequenceRow(const QString& name, seq::SequenceHandle& sequence, SequenceViewObject* parent) : BaseRow(QFont("Courier",11),parent), name_(name), name_font_(QFont("Courier",11)), sequence_(sequence) @@ -112,7 +112,7 @@ QVariant SequenceRow::GetData(int column, int role) const Qt::ItemFlags SequenceRow::Flags(int column) const { - if(column<0 || column > this->GetColumnCount())return Qt::NoItemFlags; + if(column<0 || column >= this->GetColumnCount())return Qt::NoItemFlags; if(column==0){ return Qt::ItemIsSelectable|Qt::ItemIsEnabled; diff --git a/modules/gui/src/sequence/sequence_row.hh b/modules/gui/src/sequence_viewer/sequence_row.hh similarity index 100% rename from modules/gui/src/sequence/sequence_row.hh rename to modules/gui/src/sequence_viewer/sequence_row.hh index 51979f330de1a0c2249816c6eda26784d3f29564..1665366ba447e0121b94a5c9a41fa5919616d291 100644 --- a/modules/gui/src/sequence/sequence_row.hh +++ b/modules/gui/src/sequence_viewer/sequence_row.hh @@ -23,11 +23,11 @@ Author: Stefan Scheuber */ -#include <QObject> #include <ost/seq/sequence_handle.hh> #include "base_row.hh" +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence_viewer/sequence_scene.cc b/modules/gui/src/sequence_viewer/sequence_scene.cc deleted file mode 100644 index 4b77a71e3e61d610ecfa973a87ae242be634d3d2..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence_viewer/sequence_scene.cc +++ /dev/null @@ -1,134 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "sequence_scene.hh" -#include <boost/bind.hpp> -#include <QPainter> - -namespace ost { namespace gui { - -using boost::bind; - -void SequenceScene::drawBackground(QPainter* painter, const QRectF& rect) -{ - if (sequences_.empty()) { - return; - } - QBrush stripe_brushes[]={ - QBrush(QColor(Qt::white)), - QBrush(QColor(245, 245, 245)) - }; - float width=sequences_[0]->GetCharWidth()*5; - QRectF stripe(QPointF(((int(rect.left()/width)-1)-1)*width+header_width_, - rect.top()), - QSizeF(width, rect.height())); - int n=round(rect.width()/width)+2; - int start=std::max(0, int(floor(rect.left()/width)))-1; - for (int i=0; i<n; ++i, stripe.translate(width, 0.0)) { - painter->fillRect(stripe, stripe_brushes[(i+start+2) % 2]); - } - painter->setPen(QPen(Qt::gray)); - const static int STEP_SIZE=10; - float s=sequences_[0]->GetCharWidth()*STEP_SIZE; - int n_rulers=round(rect.width()/s); - int first=std::max(0, int(floor(rect.left()/s))); - painter->fillRect(QRectF(QPointF(0.0, rect.top()), - QSizeF(header_width_, rect.height())), - QBrush(Qt::white)); - for (int i=first;i<first+n_rulers+2; ++i) { - painter->drawText(QRectF(QPointF(i*s-50+header_width_, - rect.top()), QSizeF(100, 30)), - Qt::AlignCenter, QString::number(i*STEP_SIZE)); - painter->drawLine(QPointF(i*s+header_width_, rect.top()+30), - QPointF(i*s+header_width_, rect.top()+30+rect.height())); - } - -} - -void SequenceScene::SetContextMenu(QMenu* menu) -{ - context_menu_=menu; -} - -QMenu* SequenceScene::GetContextMenu() -{ - return context_menu_; -} - -SequenceScene::SequenceScene(QObject* parent): - QGraphicsScene(parent), header_width_(120.0) -{ - connect(this, SIGNAL(sceneRectChanged(const QRectF&)), this, - SLOT(OnSceneRectChange(const QRectF&))); - context_menu_=NULL; -} - -void SequenceScene::RepackSequences() -{ - if (sequences_.empty()) { - return; - } - sequences_.front()->setPos(0.0, 50.0); - for (std::vector<SequenceItem*>::iterator i=sequences_.begin()+1, - e=sequences_.end(); i!=e; ++i) { - (*i)->setPos(0.0, (*(i-1))->pos().y()+ - (*(i-1))->boundingRect().height()); - } -} - -void SequenceScene::AddSequence(SequenceItem* seq) -{ - this->addItem(seq); - if (!sequences_.empty()) { - seq->setPos(0.0, sequences_.back()->pos().y()+ - sequences_.back()->boundingRect().height()); - } else { - seq->setPos(0.0, 50.0); - } - sequences_.push_back(seq); - update(); -} - -void SequenceScene::RemoveSequence(SequenceItem* seq) -{ - this->removeItem(seq); - std::vector<SequenceItem*>::iterator f=std::find(sequences_.begin(), - sequences_.end(), seq); - if(f != sequences_.end()) - { - sequences_.erase(f); - } - RepackSequences(); -} - -void SequenceScene::SetHeaderWidth(float width) -{ - header_width_=width; - update(); -} - -float SequenceScene:: GetHeaderWidth() const -{ - return header_width_; -} - -void SequenceScene::OnSceneRectChange(const QRectF& rect) -{ -} - -}} diff --git a/modules/gui/src/sequence_viewer/sequence_scene.hh b/modules/gui/src/sequence_viewer/sequence_scene.hh deleted file mode 100644 index 2547d9fbdf27527b2870617058affc08c9e76b2e..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence_viewer/sequence_scene.hh +++ /dev/null @@ -1,67 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_GUI_SEQUENCE_SCENE_HH -#define OST_GUI_SEQUENCE_SCENE_HH - -#include <ost/gui/module_config.hh> -#include <ost/gui/sequence_viewer/sequence_item.hh> - -#include <QGraphicsScene> - -namespace ost { namespace gui { - - -class SequenceScene : public QGraphicsScene { - Q_OBJECT -public: - typedef std::vector<Range> Selection; - - SequenceScene(QObject* parent=NULL); - - void SetContextMenu(QMenu* menu); - - QMenu* GetContextMenu(); - std::vector<SequenceItem*>& GetSequences() { return sequences_; } - const Selection& GetSelection() const; - - /// \brief get length of longest sequence (including gaps) in the alignment - void GetMaxSequenceLength(); - - - void SetHeaderWidth(float width); - float GetHeaderWidth() const; - void AddSequence(SequenceItem* seq); - void RemoveSequence(SequenceItem* seq); - void RepackSequences(); -public slots: - void OnSceneRectChange(const QRectF& rect); -protected: - virtual void drawBackground(QPainter* painter, const QRectF& rect); -private: - void UpdateAlignment(); - Selection selection_; - Selection ref_sel_; - std::vector<SequenceItem*> sequences_; - QMenu* context_menu_; - float header_width_; -}; - -}} - -#endif diff --git a/modules/gui/src/sequence_viewer/sequence_search_bar.cc b/modules/gui/src/sequence_viewer/sequence_search_bar.cc index 808d45904e21293e5360e7bd5e3e8e25de82c132..9ae88675e2468dbe5083cbb642df653fd563c67a 100644 --- a/modules/gui/src/sequence_viewer/sequence_search_bar.cc +++ b/modules/gui/src/sequence_viewer/sequence_search_bar.cc @@ -21,7 +21,6 @@ */ #include "sequence_search_bar.hh" -#include "sequence_item.hh" #include <QHBoxLayout> #include <QLineEdit> @@ -32,7 +31,7 @@ namespace ost { namespace gui { -SequenceSearchBar::SequenceSearchBar(QWidget* parent): +SeqSearchBar::SeqSearchBar(QWidget* parent): QWidget(parent) { subject_=new QLineEdit(this); @@ -41,13 +40,13 @@ SequenceSearchBar::SequenceSearchBar(QWidget* parent): QHBoxLayout* l= new QHBoxLayout(this); l->addSpacing(2); l->addWidget(subject_, 0); + l->setStretch(0,1); l->addWidget(search_all_, 0); QLabel* label=new QLabel("search in:", this); l->addSpacing(10); l->addWidget(label, 0); l->addWidget(search_in_, 0); - l->addStretch(1); - subject_->setMaximumWidth(200); + //subject_->setMaximumWidth(200); setLayout(l); l->setSizeConstraint(QLayout::SetMaximumSize); l->setMargin(1); @@ -67,23 +66,22 @@ SequenceSearchBar::SequenceSearchBar(QWidget* parent): SLOT(OnSearchInChanged(int))); } -void SequenceSearchBar::Show(const std::vector<SequenceItem*>& sequences) +void SeqSearchBar::UpdateItems(const QStringList& sequences) { search_in_->clear(); - - for (size_t i=0;i<sequences.size(); ++i) { - QString name(sequences[i]->GetSequence().GetName().c_str()); - search_in_->addItem(name); + + for(int i=0;i< sequences.size(); i++){ + search_in_->addItem(sequences[i]); } + if (sequences.empty()) { search_all_->setCheckState(Qt::Checked); search_in_->setEnabled(false); } - this->show(); subject_->setFocus(Qt::ActiveWindowFocusReason); subject_->selectAll(); } -void SequenceSearchBar::OnSearchAllChanged(int state) +void SeqSearchBar::OnSearchAllChanged(int state) { if (state==Qt::Unchecked) { search_in_->setEnabled(true); @@ -91,22 +89,22 @@ void SequenceSearchBar::OnSearchAllChanged(int state) search_in_->setEnabled(false); } emit Changed(subject_->text(), search_all_->checkState()==Qt::Checked, - search_in_->currentIndex()); + search_in_->currentText()); } -void SequenceSearchBar::OnSearchInChanged(int index) +void SeqSearchBar::OnSearchInChanged(int index) { emit Changed(subject_->text(), search_all_->checkState()==Qt::Checked, - search_in_->currentIndex()); + search_in_->currentText()); } -void SequenceSearchBar::OnSubjectChanged(const QString& str) +void SeqSearchBar::OnSubjectChanged(const QString& str) { emit Changed(str, search_all_->checkState()==Qt::Checked, - search_in_->currentIndex()); + search_in_->currentText()); } -void SequenceSearchBar::paintEvent(QPaintEvent* paint_event) +void SeqSearchBar::paintEvent(QPaintEvent* paint_event) { QPainter p(this); p.setBrush(QBrush(QColor(Qt::blue).lighter(300))); @@ -115,7 +113,7 @@ void SequenceSearchBar::paintEvent(QPaintEvent* paint_event) paint_event->accept(); } -void SequenceSearchBar::keyPressEvent(QKeyEvent* key_event) +void SeqSearchBar::keyPressEvent(QKeyEvent* key_event) { if (key_event->key()==Qt::Key_Escape) { this->hide(); diff --git a/modules/gui/src/sequence_viewer/sequence_search_bar.hh b/modules/gui/src/sequence_viewer/sequence_search_bar.hh index fae7280dc6d119f47063e29645a5baaa882c95fe..865a42be22c30a828ba24285319f8f6d5bb592cc 100644 --- a/modules/gui/src/sequence_viewer/sequence_search_bar.hh +++ b/modules/gui/src/sequence_viewer/sequence_search_bar.hh @@ -16,8 +16,8 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_SEQUENCE_SEARCH_BAR_HH -#define OST_SEQUENCE_SEARCH_BAR_HH +#ifndef OST_SEQUENCE_VIEWER_SEQUENCE_SEARCH_BAR_HH +#define OST_SEQUENCE_VIEWER_SEQUENCE_SEARCH_BAR_HH /* Author: Marco Biasini @@ -27,20 +27,19 @@ #include <QWidget> #include <QComboBox> #include <QCheckBox> +#include <QSet> namespace ost { namespace gui { -class SequenceItem; - /// \brief search bar to search in multiple sequence alignment -class DLLEXPORT_OST_GUI SequenceSearchBar : public QWidget { +class DLLEXPORT_OST_GUI SeqSearchBar : public QWidget { Q_OBJECT public: - SequenceSearchBar(QWidget* parent=NULL); + SeqSearchBar(QWidget* parent=NULL); - void Show(const std::vector<SequenceItem*>& sequences); + void UpdateItems(const QStringList& sequences); signals: - void Changed(const QString&, bool, int); + void Changed(const QString&, bool, const QString&); public slots: void OnSubjectChanged(const QString&); void OnSearchInChanged(int); diff --git a/modules/gui/src/sequence/sequence_table_view.cc b/modules/gui/src/sequence_viewer/sequence_table_view.cc similarity index 93% rename from modules/gui/src/sequence/sequence_table_view.cc rename to modules/gui/src/sequence_viewer/sequence_table_view.cc index f97bbb3e96636b8d273920f6782f5628c9959f25..a4998dcf3419bd50c4a4b1153b1f78f5fbb8aff9 100644 --- a/modules/gui/src/sequence/sequence_table_view.cc +++ b/modules/gui/src/sequence_viewer/sequence_table_view.cc @@ -21,15 +21,14 @@ Author: Stefan Scheuber */ + +#include "sequence_table_view.hh" +#include "sequence_model.hh" #include <QHeaderView> #include <QScrollBar> #include <QTableWidgetItem> #include <QMouseEvent> -#include <iostream> -#include "sequence_table_view.hh" -#include "sequence_model.hh" - namespace ost { namespace gui { @@ -66,12 +65,14 @@ SequenceTableView::SequenceTableView(QAbstractItemModel * model) delegate_ = new SequenceDelegate(qobject_cast<SequenceModel*>(this->model()),this); +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) this->InitStaticRow(); this->InitStaticColumn(); this->InitStaticField(); this->viewport()->stackUnder(static_field_); this->viewport()->stackUnder(static_column_); this->viewport()->stackUnder(static_row_); +#endif } void SequenceTableView::InitStaticColumn() @@ -187,33 +188,39 @@ void SequenceTableView::InitStaticField(){ this->updateStaticField(); } void SequenceTableView::ResizeWidth(int index, int, int size) -{ +{ +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) if(index == 0){ static_column_->setColumnWidth(0,size); + static_row_->setColumnWidth(0,size); static_field_->setColumnWidth(0,size); this->updateStaticColumn(); this->updateStaticField(); } - static_row_->setRowHeight(index,size); +#endif } void SequenceTableView::ResizeHeight(int index, int, int size) { - static_column_->setRowHeight(index, size); +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) if(index == 0){ + static_column_->setRowHeight(0,size); static_row_->setRowHeight(0,size); static_field_->setRowHeight(0,size); this->updateStaticRow(); this->updateStaticField(); } +#endif } void SequenceTableView::resizeEvent(QResizeEvent * event) { QTableView::resizeEvent(event); +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) this->updateStaticColumn(); this->updateStaticRow(); this->updateStaticField(); +#endif } QModelIndex SequenceTableView::moveCursor(CursorAction action, Qt::KeyboardModifiers modifiers) @@ -237,9 +244,13 @@ QModelIndex SequenceTableView::moveCursor(CursorAction action, Qt::KeyboardModif } void SequenceTableView::scrollTo(const QModelIndex & index, ScrollHint hint){ +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) if(index.column()>0 && index.row()>0){ QTableView::scrollTo(index, hint); } +#else + QTableView::scrollTo(index, hint); +#endif } void SequenceTableView::updateStaticColumn() @@ -268,18 +279,23 @@ void SequenceTableView::updateStaticField(){ } void SequenceTableView::columnCountChanged(const QModelIndex& index, int old_count, int new_count){ - if(old_count >= 0 && old_count <= new_count){ + if(old_count >= 0 && old_count <= new_count) { + if(old_count == 0)old_count = 1; for(int col=old_count; col<=new_count; col++){ +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) static_column_->setColumnHidden(col, true); static_field_->setColumnHidden(col,true); +#endif this->setItemDelegateForColumn(col, delegate_); } + } } void SequenceTableView::rowCountChanged(const QModelIndex& index, int old_count, int new_count){ if(old_count >= 0 && old_count <= new_count){ +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) if(old_count == 0){ old_count = 1; } @@ -287,23 +303,28 @@ void SequenceTableView::rowCountChanged(const QModelIndex& index, int old_count, static_row_->setRowHidden(row, true); static_field_->setRowHidden(row,true); } +#endif } } void SequenceTableView::resizeColumnsToContents(){ QTableView::resizeColumnsToContents(); +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) static_column_->setColumnWidth(0,this->columnWidth(0)); static_field_->setColumnWidth(0,this->columnWidth(0)); for(int i = 0; i < this->model()->columnCount(); i++){ static_row_->setColumnWidth(i,this->columnWidth(i)); } + this->updateStaticColumn(); this->updateStaticField(); +#endif } void SequenceTableView::resizeRowsToContents(){ QTableView::resizeRowsToContents(); +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) static_row_->setRowHeight(0,this->rowHeight(0)); static_field_->setRowHeight(0,this->rowHeight(0)); for(int i = 0; i < this->model()->columnCount(); i++){ @@ -311,17 +332,21 @@ void SequenceTableView::resizeRowsToContents(){ } this->updateStaticRow(); this->updateStaticField(); +#endif } -QTableView* SequenceTableView::GetStaticRow(){ +QTableView* SequenceTableView::GetStaticRow() +{ return static_row_; } -QTableView* SequenceTableView::GetStaticColumn(){ +QTableView* SequenceTableView::GetStaticColumn() +{ return static_column_; } -QTableView* SequenceTableView::GetStaticField(){ +QTableView* SequenceTableView::GetStaticField() +{ return static_field_; } diff --git a/modules/gui/src/sequence/sequence_table_view.hh b/modules/gui/src/sequence_viewer/sequence_table_view.hh similarity index 100% rename from modules/gui/src/sequence/sequence_table_view.hh rename to modules/gui/src/sequence_viewer/sequence_table_view.hh index e138d07eadc8dc63a4c110b4fbcb2900f82bac44..3114a8f6e8c334cd40f46529f9f05707aa62dcac 100644 --- a/modules/gui/src/sequence/sequence_table_view.hh +++ b/modules/gui/src/sequence_viewer/sequence_table_view.hh @@ -23,13 +23,13 @@ Author: Stefan Scheuber */ -#include <QTableView> -#include <QWheelEvent> #include <ost/gui/module_config.hh> #include "sequence_delegate.hh" +#include <QTableView> +#include <QWheelEvent> namespace ost { namespace gui { /// \brief QTableView with first column not moving diff --git a/modules/gui/src/sequence/sequence_view_object.cc b/modules/gui/src/sequence_viewer/sequence_view_object.cc similarity index 65% rename from modules/gui/src/sequence/sequence_view_object.cc rename to modules/gui/src/sequence_viewer/sequence_view_object.cc index d3e53093a6e06357b9c2d019e570e0c9c0518b5a..40a46a519d85158584d37338558bd70128fd7f6b 100644 --- a/modules/gui/src/sequence/sequence_view_object.cc +++ b/modules/gui/src/sequence_viewer/sequence_view_object.cc @@ -22,7 +22,6 @@ */ -#include <QtGui> #include <ost/mol/mol.hh> #include <ost/mol/view_op.hh> @@ -30,38 +29,50 @@ #include "sequence_row.hh" #include "secstr_row.hh" -#include "painter.hh" -#include "background_painter.hh" -#include "seq_secstr_painter.hh" -#include "seq_selection_painter.hh" -#include "seq_text_painter.hh" - #include "sequence_view_object.hh" +#include <QtGui> namespace ost { namespace gui { +const QString SequenceViewObject::properties_mode = "Highlight properties"; +const QString SequenceViewObject::secondary_structure_mode = "Secondary structure"; + +AlignPropertiesPainter* SequenceViewObject::align_properties_painter = new AlignPropertiesPainter(); +ConservationPainter* SequenceViewObject::conservation_painter = new ConservationPainter(); +BackgroundPainter* SequenceViewObject::background_painter = new BackgroundPainter(); +SeqSecStrPainter* SequenceViewObject::seq_secondary_structure_painter = new SeqSecStrPainter(); +SeqSelectionPainter* SequenceViewObject::seq_selection_painter = new SeqSelectionPainter(); +SeqTextPainter* SequenceViewObject::seq_text_painter = new SeqTextPainter(); + SequenceViewObject::SequenceViewObject(seq::SequenceList& sequences, const QList<QString>& names, QObject *parent): BaseViewObject(parent), entity_(gfx::EntityP()) { + this->Init(); if(names.size() == sequences.GetCount()){ for(int i=0; i<sequences.GetCount(); i++){ seq::SequenceHandle seq = sequences[i]; this->AddSequence(seq, names[i]); } } + this->SetDisplayMode(properties_mode); } SequenceViewObject::SequenceViewObject(seq::SequenceHandle& sequence, const QString& name, QObject *parent): BaseViewObject(parent), entity_(gfx::EntityP()) { + this->Init(); this->AddSequence(sequence, name); + this->SetDisplayMode(properties_mode); } SequenceViewObject::SequenceViewObject(mol::ChainView& chain, const QString& name, QObject *parent): BaseViewObject(parent), entity_(gfx::EntityP()) { + this->Init(); this->AddChain(chain, name); + this->SetDisplayMode(properties_mode); } -SequenceViewObject::SequenceViewObject(gfx::EntityP& entity, QObject* parent): BaseViewObject(parent), entity_(entity) +SequenceViewObject::SequenceViewObject(const gfx::EntityP& entity, QObject* parent): BaseViewObject(parent), entity_(entity) { + this->Init(); mol::EntityView view =entity->GetView(); for (mol::ChainViewList::const_iterator c=view.GetChainList().begin(), e1=view.GetChainList().end(); c!=e1; ++c) { @@ -72,31 +83,40 @@ SequenceViewObject::SequenceViewObject(gfx::EntityP& entity, QObject* parent): B } this->AddChain(chain, name); } + this->SetDisplayMode(secondary_structure_mode); +} + +SequenceViewObject::SequenceViewObject(QObject* parent): BaseViewObject(parent), entity_(gfx::EntityP()) +{ + this->Init(); + this->SetDisplayMode(properties_mode); +} + +void SequenceViewObject::Init() +{ + this->AddDisplayMode(properties_mode); + if(entity_){ + this->AddDisplayMode(secondary_structure_mode); + } } void SequenceViewObject::AddSequence(seq::SequenceHandle& sequence, const QString& name) { SequenceRow* new_row = new SequenceRow(name, sequence, this); - Painter* p = new BackgroundPainter(this); - new_row->InsertPainter(p); - p = new SeqSelectionPainter(this); - new_row->InsertPainter(p); - p = new SeqTextPainter(this); - new_row->InsertPainter(p); + new_row->InsertPainter(background_painter); + new_row->InsertPainter(align_properties_painter); + new_row->InsertPainter(seq_text_painter); + new_row->InsertPainter(seq_selection_painter); rows_.append(new_row); } void SequenceViewObject::AddChain(mol::ChainView& chain, const QString& name) { SecStrRow* new_row = new SecStrRow(name, chain, this); - Painter* p = new BackgroundPainter(this); - new_row->InsertPainter(p); - p = new SeqSecStrPainter(this); - new_row->InsertPainter(p); - p = new SeqTextPainter(this); - new_row->InsertPainter(p); - p = new SeqSelectionPainter(this); - new_row->InsertPainter(p); + new_row->InsertPainter(background_painter); + new_row->InsertPainter(seq_secondary_structure_painter); + new_row->InsertPainter(seq_text_painter); + new_row->InsertPainter(seq_selection_painter); rows_.append(new_row); } @@ -110,6 +130,29 @@ gfx::EntityP& SequenceViewObject::GetGfxObject() return entity_; } +void SequenceViewObject::SetDisplayMode(const QString& mode) +{ + if(this->display_modes_.contains(mode) && mode != this->GetCurrentDisplayMode()){ + if(mode == properties_mode){ + for(int i=0 ; i<this->GetRowCount(); i++){ + BaseRow* row = this->GetRow(i); + row->RemovePainter(seq_secondary_structure_painter); + row->RemovePainter(conservation_painter); + row->InsertPainter(align_properties_painter,1); + } + } + else if(mode == secondary_structure_mode){ + for(int i=0 ; i<this->GetRowCount(); i++){ + BaseRow* row = this->GetRow(i); + row->RemovePainter(align_properties_painter); + row->RemovePainter(conservation_painter); + row->InsertPainter(seq_secondary_structure_painter,1); + } + } + } + BaseViewObject::SetDisplayMode(mode); +} + QMap<int, QList<int> > SequenceViewObject::GetIndexesForView(const mol::EntityView& view) { if(view.GetChainCount()==0){ diff --git a/modules/gui/src/sequence/sequence_view_object.hh b/modules/gui/src/sequence_viewer/sequence_view_object.hh similarity index 72% rename from modules/gui/src/sequence/sequence_view_object.hh rename to modules/gui/src/sequence_viewer/sequence_view_object.hh index 9d85f85b839908c2ae469087e4f06cce2bd47aca..ba862c724efba112968fdc735f0f1cc1271a4492 100644 --- a/modules/gui/src/sequence/sequence_view_object.hh +++ b/modules/gui/src/sequence_viewer/sequence_view_object.hh @@ -30,8 +30,16 @@ #include <ost/seq/sequence_list.hh> +#include "align_properties_painter.hh" +#include "conservation_painter.hh" +#include "background_painter.hh" +#include "seq_secstr_painter.hh" +#include "seq_selection_painter.hh" +#include "seq_text_painter.hh" + #include "base_view_object.hh" + namespace ost { namespace gui { class SequenceViewObject : public BaseViewObject @@ -42,7 +50,10 @@ public: SequenceViewObject(seq::SequenceList& sequences, const QList<QString>& names, QObject* parent = 0); SequenceViewObject(seq::SequenceHandle& sequence, const QString& name, QObject* parent = 0); SequenceViewObject(mol::ChainView& chain, const QString& name, QObject* parent = 0); - SequenceViewObject(gfx::EntityP& entity, QObject* parent = 0); + SequenceViewObject(const gfx::EntityP& entity, QObject* parent = 0); + SequenceViewObject(QObject* parent = 0); + + void Init(); void AddSequence(seq::SequenceHandle& sequence, const QString& name=QString()); void AddChain(mol::ChainView& chain, const QString& name=QString()); @@ -50,11 +61,26 @@ public: void AttachGfxObject(gfx::EntityP& ent); gfx::EntityP& GetGfxObject(); + virtual void SetDisplayMode(const QString& mode); + QMap<int, QList<int> > GetIndexesForView(const mol::EntityView& view); QMap<int, QList<int> > GetIndexesForSubject(const QString& subject, const QString& sequence_name=QString()); +protected: + static const QString properties_mode; + static const QString secondary_structure_mode; + + static AlignPropertiesPainter* align_properties_painter; + static ConservationPainter* conservation_painter; + static BackgroundPainter* background_painter; + static SeqSecStrPainter* seq_secondary_structure_painter; + static SeqSelectionPainter* seq_selection_painter; + static SeqTextPainter* seq_text_painter; + private: gfx::EntityP entity_; + + }; diff --git a/modules/gui/src/sequence_viewer/sequence_viewer.cc b/modules/gui/src/sequence_viewer/sequence_viewer.cc index 05d5d03cf1c64f68a374105eee97fe1bafb3b979..79c13057f9e85b248bfc9590d3f5bc1af19929ad 100644 --- a/modules/gui/src/sequence_viewer/sequence_viewer.cc +++ b/modules/gui/src/sequence_viewer/sequence_viewer.cc @@ -16,25 +16,54 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QMenu> -#include <ost/dyn_cast.hh> -#include <ost/mol/view_op.hh> +/* + Author: Stefan Scheuber + */ +#include <ost/gui/gosty_app.hh> +#include <boost/pointer_cast.hpp> + + +#include <ost/platform.hh> +#include <ost/mol/chain_view.hh> +#include <ost/mol/entity_view.hh> + +#include <ost/seq/sequence_handle.hh> #include <ost/gfx/entity.hh> #include <ost/gfx/scene.hh> #include <ost/gfx/gfx_node_visitor.hh> -#include <ost/gfx/gfx_node.hh> -#include <ost/gfx/gfx_object.hh> #include <ost/gui/widget_registry.hh> -#include <ost/gui/gosty_app.hh> +#include "sequence_model.hh" #include "sequence_viewer.hh" - +#include <QAbstractItemView> +#include <QApplication> +#include <QClipboard> +#include <QDir> +#include <QHeaderView> +#include <QMenu> +#include <QPushButton> +#include <QShortcut> +#include <QVBoxLayout> +#include <QVarLengthArray> namespace ost { namespace gui { +class SequenceViewerFactory: public WidgetFactory { +public: + SequenceViewerFactory() : + WidgetFactory("ost::gui::SequenceViewer", "Sequence Viewer") { + } + + virtual Widget* Create(QWidget* parent) { + return GostyApp::Instance()->GetSequenceViewer(); + } +}; + +OST_REGISTER_WIDGET(SequenceViewer, SequenceViewerFactory); + struct GetNodesVisitor: public gfx::GfxNodeVisitor { GetNodesVisitor(): nodes_() {} virtual void VisitObject(gfx::GfxObj* o, const Stack& st) { @@ -44,199 +73,364 @@ struct GetNodesVisitor: public gfx::GfxNodeVisitor { gfx::NodePtrList GetNodes(){return nodes_;} }; -class SequenceViewerFactory: public WidgetFactory { -public: - SequenceViewerFactory() : - WidgetFactory("ost::gui::SequenceViewer", "Sequence Viewer") { +SequenceViewer::SequenceViewer(bool stand_alone, QWidget* parent): Widget(NULL,parent) +{ + model_ = new SequenceModel(this); + + QVBoxLayout* layout = new QVBoxLayout(this); + layout->setMargin(0); + layout->setSpacing(0); + this->setLayout(layout); + + this->InitActions(); + + + if(stand_alone){ + this->InitMenuBar(); } + this->InitSearchBar(); + this->InitView(); - virtual Widget* Create(QWidget* parent) { - return GostyApp::Instance()->GetSequenceViewer(); + if(!stand_alone){ + gfx::Scene::Instance().AttachObserver(this); + gfx::GfxNodeP root_node = gfx::Scene::Instance().GetRootNode(); + GetNodesVisitor gnv; + gfx::Scene::Instance().Apply(gnv); + gfx::NodePtrList list = gnv.GetNodes(); + for(unsigned int i=0; i<list.size();i++){ + this->NodeAdded(list[i]); + } } -}; +} -OST_REGISTER_WIDGET(SequenceViewer, SequenceViewerFactory); +void SequenceViewer::InitMenuBar() +{ + toolbar_ = new QToolBar(this); + toolbar_->setToolButtonStyle(Qt::ToolButtonIconOnly); + toolbar_->setIconSize(QSize(16,16)); + toolbar_->addActions(action_list_); + layout()->addWidget(toolbar_); +} -SequenceViewer::SequenceViewer(QWidget* parent): - SequenceViewerBase(parent), we_are_changing_the_selection_(false) +void SequenceViewer::InitSearchBar() { - gfx::Scene::Instance().AttachObserver(this); - this->SetDisplayStyle(SequenceViewer::LOOSE); + seq_search_bar_ = new SeqSearchBar(this); + seq_search_bar_->hide(); + layout()->addWidget(seq_search_bar_); + connect(seq_search_bar_, SIGNAL(Changed(const QString&, bool, const QString&)), this, SLOT(OnSearchBarUpdate(const QString&, bool, const QString&))); +} - gfx::GfxNodeP root_node = gfx::Scene::Instance().GetRootNode(); - GetNodesVisitor gnv; - gfx::Scene::Instance().Apply(gnv); - gfx::NodePtrList list = gnv.GetNodes(); - for(unsigned int i=0; i<list.size();i++){ - this->NodeAdded(list[i]); - } +void SequenceViewer::InitView() +{ + seq_table_view_ = new SequenceTableView(model_); + seq_table_view_->setFrameShape(QFrame::NoFrame); + seq_table_view_->setTextElideMode(Qt::ElideRight); + layout()->addWidget(seq_table_view_); + + connect(model_,SIGNAL(columnsInserted(const QModelIndex&, int, int)),seq_table_view_,SLOT(columnCountChanged(const QModelIndex&, int, int))); + connect(model_,SIGNAL(rowsInserted(const QModelIndex&, int, int)),seq_table_view_,SLOT(rowCountChanged(const QModelIndex&, int, int))); + + seq_table_view_->horizontalHeader()->setMinimumSectionSize(2); + seq_table_view_->verticalHeader()->setMinimumSectionSize(2); + seq_table_view_->setSelectionMode(QAbstractItemView::ExtendedSelection); + connect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); + connect(seq_table_view_,SIGNAL(doubleClicked(const QModelIndex&)),model_,SLOT(DoubleClicked(const QModelIndex&))); +#if !(defined(__APPLE__) && (QT_VERSION>=0x040600)) + connect(seq_table_view_->GetStaticColumn(),SIGNAL(doubleClicked(const QModelIndex&)),this,SLOT(DoubleClicked(const QModelIndex&))); + connect(seq_table_view_->GetStaticRow(),SIGNAL(doubleClicked(const QModelIndex&)),this,SLOT(DoubleClicked(const QModelIndex&))); +#endif + connect(seq_table_view_,SIGNAL(CopyEvent(QKeyEvent*)),this,SLOT(CopyEvent(QKeyEvent*))); + connect(seq_table_view_,SIGNAL(MouseWheelEvent(QWheelEvent*)),this,SLOT(MouseWheelEvent(QWheelEvent*))); } -SequenceViewer::~SequenceViewer() +void SequenceViewer::InitActions() { - gfx::Scene::Instance().DetachObserver(this); + QDir icon_path(GetSharedDataPath().c_str()); + icon_path.cd("gui"); + icon_path.cd("icons"); + + QAction* find_action = new QAction(this); + find_action->setText("Find Dialog"); + find_action->setShortcut(QKeySequence(tr("Ctrl+F"))); + find_action->setCheckable(true); + find_action->setToolTip("Display Find-Dialog (Ctrl+F)"); + find_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("find_icon.png"))); + action_list_.append(find_action); + connect(find_action, SIGNAL(triggered(bool)), this, SLOT(FindInSequence())); + + display_mode_actions_ = new QActionGroup(this); + QAction* menu_action = new QAction(this); + menu_action->setText("Menubar"); + menu_action->setShortcut(QKeySequence(tr("Ctrl+M"))); + menu_action->setToolTip("Display Options (Ctrl+M)"); + menu_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("menubar_icon.png"))); + action_list_.append(menu_action); + connect(menu_action, SIGNAL(triggered(bool)), this, SLOT(DisplayMenu())); +} + +void SequenceViewer::AddEntity(const gfx::EntityP& entity) +{ + model_->InsertGfxEntity(entity); + this->FitToContents(); + this->UpdateSearchBar(); +} + +void SequenceViewer::RemoveEntity(const gfx::EntityP& entity) +{ + model_->RemoveGfxEntity(entity); } void SequenceViewer::NodeAdded(const gfx::GfxNodeP& n) { - if (gfx::EntityP o=dyn_cast<gfx::Entity>(n)) { - // extract all chains - mol::EntityView v=o->GetView(); - for (mol::ChainViewList::const_iterator c=v.GetChainList().begin(), - e1=v.GetChainList().end(); c!=e1; ++c) { - mol::ChainView chain=*c; - String seq_str; - seq_str.reserve(chain.GetResidueCount()); - for (mol::ResidueViewList::const_iterator r=chain.GetResidueList().begin(), - e2=chain.GetResidueList().end(); r!=e2; ++r) { - mol::ResidueView res=*r; - seq_str.append(1, res.GetOneLetterCode()); - } - if (seq_str.empty()) { - continue; - } - String name=o->GetName(); - if (chain.GetName()!="" && chain.GetName()!=" ") { - name+=" ("+chain.GetName()+")"; - } - seq::SequenceHandle seq=seq::CreateSequence(name, seq_str); - mol::EntityView v_one_chain=v.GetHandle().CreateEmptyView(); - v_one_chain.AddChain(chain, mol::ViewAddFlag::INCLUDE_ALL); - seq.AttachView(v_one_chain); - SequenceItem* item=new SequenceItem(seq); - connect(item, SIGNAL(SelectionChanged(SequenceItem*)), - this, SLOT(ItemSelectionChanged(SequenceItem*))); - this->AddSequence(item); - obj_map_.insert(std::make_pair(item, o)); - } + if (gfx::EntityP o=boost::dynamic_pointer_cast<gfx::Entity>(n)) { + this->AddEntity(o); } } -void SequenceViewer::ItemSelectionChanged(SequenceItem* item) +void SequenceViewer::NodeRemoved(const gfx::GfxNodeP& node) { - if (we_are_changing_the_selection_==true) { - return; + if (gfx::EntityP o=boost::dynamic_pointer_cast<gfx::Entity>(node)) { + this->RemoveEntity(o); } - we_are_changing_the_selection_=true; - // map sequence item back to graphical object - if (gfx::GfxObjP p=this->GfxObjForSeqItem(item)) { - gfx::EntityP ec=dyn_cast<gfx::Entity>(p); - seq::SequenceHandle seq=item->GetSequence(); - mol::EntityView att_v=seq.GetAttachedView(); - if (!att_v) { - we_are_changing_the_selection_=false; - return; +} + +void SequenceViewer::AddAlignment(const seq::AlignmentHandle& alignment) +{ + if(alignment.GetCount()>0 && alignment.GetLength()>0){ + model_->InsertAlignment(alignment); + this->FitToContents(); + } +} + +void SequenceViewer::RemoveAlignment(const seq::AlignmentHandle& alignment) +{ + model_->RemoveAlignment(alignment); +} + +void SequenceViewer::UpdateSearchBar() +{ + QStringList sequence_names_; + for(int i = 1; i< model_->rowCount(); i++){ + QString name = model_->data(model_->index(i,0),Qt::DisplayRole).toString(); + sequence_names_.append(name); + } + seq_search_bar_->UpdateItems(sequence_names_); +} + +void SequenceViewer::SelectionModelChanged(const QItemSelection& sel, const QItemSelection& desel) +{ + gfx::Scene::Instance().DetachObserver(this); + model_->SelectionChanged(sel, desel); + gfx::Scene::Instance().AttachObserver(this); +} + +void SequenceViewer::SelectionChanged(const gfx::GfxObjP& o, + const mol::EntityView& view) +{ + disconnect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); + gfx::EntityP entity=boost::dynamic_pointer_cast<gfx::Entity>(o); + if(entity){ + const QModelIndexList& list = model_->GetModelIndexes(entity, view); + this->SelectList(list); + } + connect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); +} + +void SequenceViewer::DoubleClicked(const QModelIndex& index) +{ + disconnect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); + model_->DoubleClicked(index); + connect(seq_table_view_->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(SelectionModelChanged(const QItemSelection&, const QItemSelection&))); +} + +void SequenceViewer::FitToContents() +{ + seq_table_view_->resizeColumnsToContents(); + seq_table_view_->resizeRowsToContents(); + seq_table_view_->setColumnWidth(0, 150); +} + +void SequenceViewer::MouseWheelEvent(QWheelEvent* event) +{ + int delta = event->delta(); + if (event->orientation() == Qt::Vertical) { + if(delta>0){ + model_->ZoomIn(); + this->FitToContents(); + seq_table_view_->viewport()->update(); } - const SequenceItem::Selection& sel=item->GetSelection(); - // reset selection of "our" chain - mol::EntityView sel_v=ec->GetSelection(); - if (mol::ChainView c=sel_v.FindChain(att_v.GetChainList().front().GetHandle())) { - sel_v.RemoveChain(c); + else if(delta<0){ + model_->ZoomOut(); + this->FitToContents(); + seq_table_view_->viewport()->update(); } - if (sel.empty()) { - try { - ec->SetSelection(sel_v); - } catch(...) { + } + event->accept(); +} + +void SequenceViewer::CopyEvent(QKeyEvent* event) +{ + QItemSelectionModel* model = seq_table_view_->selectionModel(); + const QModelIndexList& list = model->selectedIndexes(); + if(list.size()>0){ + QString clipboard_string; + QSet<int> rows; + int min_col=model_->columnCount(); + int max_col=0; + for(int i = 0; i < list.size(); i++){ + if(list[i].column()>max_col){ + max_col = list[i].column(); + } + if(list[i].column()<min_col){ + min_col = list[i].column(); } - we_are_changing_the_selection_=false; - return; - } - for (SequenceItem::Selection::const_iterator j=sel.begin(), - e=sel.end(); j!=e; ++j) { - for (size_t k=j->Loc; k<j->End(); ++k) { - if (int(k)>seq.GetLength() || seq.GetOneLetterCode(k)=='-') { - continue; + rows.insert(list[i].row()); + } + + bool first_row = true; + for(int i = 1; i < model_->rowCount(); i++){ + if(rows.contains(i)){ + if(!first_row){ + clipboard_string.append("\n"); } - if (mol::ResidueView rv=seq.GetResidue(k)) { - sel_v.AddResidue(rv, mol::ViewAddFlag::INCLUDE_ATOMS); + for(int j=min_col; j<=max_col; j++){ + const QModelIndex& index = model_->index(i,j); + if(model->isSelected(index)){ + clipboard_string.append(model_->data(index,Qt::DisplayRole).toString()); + } + else{ + clipboard_string.append('-'); + } } + first_row = false; } } - sel_v.AddAllInclusiveBonds(); - try { - ec->SetSelection(sel_v); - } catch(...) { - } + QApplication::clipboard()->setText(clipboard_string); + } + event->accept(); +} +void SequenceViewer::FindInSequence() +{ + if(seq_search_bar_->isHidden()){ + seq_search_bar_->show(); + } + else{ + seq_search_bar_->hide(); } - we_are_changing_the_selection_=false; } -void SequenceViewer::NodeRemoved(const gfx::GfxNodeP& node) +void SequenceViewer::OnSearchBarUpdate(const QString& subject, + bool search_in_all, const QString& name) { - if (gfx::EntityP o=dyn_cast<gfx::Entity>(node)) { - SequenceItemList seq_items=this->SeqItemsForGfxObj(o); - for (SequenceItemList::iterator i=seq_items.begin(), - e=seq_items.end(); i!=e; ++i) { - SequenceItem* seq_item=*i; - this->RemoveSequence(seq_item); - delete seq_item; - } + seq_table_view_->selectionModel()->clear(); + if(search_in_all){ + const QModelIndexList& list = model_->GetModelIndexes(subject); + this->SelectList(list); + } + else{ + const QModelIndexList& list = model_->GetModelIndexes(subject,name); + this->SelectList(list); } } -void SequenceViewer::SelectionChanged(const gfx::GfxObjP& o, - const mol::EntityView& view) +void SequenceViewer::SelectList(const QModelIndexList& list) { - if (we_are_changing_the_selection_) { - return; + QItemSelectionModel* model = seq_table_view_->selectionModel(); + QSet<int> rows_visited; + for(int i = 0; i<list.size(); i++){ + int row =list[i].row(); + if(!rows_visited.contains(row)){ + model->select(list[i],QItemSelectionModel::Rows|QItemSelectionModel::Deselect); + rows_visited.insert(row); + } } - we_are_changing_the_selection_=true; - gfx::EntityP ec=dyn_cast<gfx::Entity>(o); - + for(int i = 0; i<list.size(); i++){ + model->select(list[i],QItemSelectionModel::Select); + } +} - std::vector<bool> selected_cols; - selected_cols.resize(this->GetLongestSequenceLength(), false); +const QStringList& SequenceViewer::GetDisplayModes() +{ + return model_->GetDisplayModes(); +} +const QStringList& SequenceViewer::GetDisplayModes(const seq::AlignmentHandle& alignment) +{ + return model_->GetDisplayModes(alignment); +} +const QStringList& SequenceViewer::GetDisplayModes(const gfx::EntityP& entity) +{ + return model_->GetDisplayModes(entity); +} - // get affected sequence items - SequenceItemList seq_items=this->SeqItemsForGfxObj(o); +const QString& SequenceViewer::GetCurrentDisplayMode() +{ + return model_->GetCurrentDisplayMode(); +} +const QString& SequenceViewer::GetCurrentDisplayMode(const seq::AlignmentHandle& alignment) +{ + return model_->GetCurrentDisplayMode(alignment); +} +const QString& SequenceViewer::GetCurrentDisplayMode(const gfx::EntityP& entity) +{ + return model_->GetCurrentDisplayMode(entity); +} - for (SequenceItemList::iterator i=seq_items.begin(), - e=seq_items.end(); i!=e; ++i) { - SequenceItem* seq_item=*i; +void SequenceViewer::ChangeDisplayMode(const QString& string) +{ + model_->SetDisplayMode(string); + seq_table_view_->viewport()->update(); +} - if(view.GetChainCount()==0){ - this->SelectColumns(seq_item, selected_cols); - } - else - { - seq::SequenceHandle seq=seq_item->GetSequence(); - mol::ChainView dst_chain=(seq.GetAttachedView().GetChainList())[0]; - if (mol::ChainView src_chain=view.FindChain(dst_chain.GetName())) { - // for each residue in the selection deduce index in sequence - for (mol::ResidueViewList::const_iterator j=src_chain.GetResidueList().begin(), - e2=src_chain.GetResidueList().end(); j!=e2; ++j) { - mol::ResidueView dst_res=dst_chain.FindResidue(j->GetHandle()); - assert(dst_res.IsValid()); - int p=seq.GetPos(dst_res.GetIndex()); - assert(p>=0 && p<=seq.GetLength()); - selected_cols[p]=true; - } - this->SelectColumns(seq_item, selected_cols); - std::fill(selected_cols.begin(), selected_cols.end(), false); - } - } - } - we_are_changing_the_selection_=false; +void SequenceViewer::ChangeDisplayMode(const seq::AlignmentHandle& alignment, const QString& string) +{ + model_->SetDisplayMode(alignment, string); + seq_table_view_->viewport()->update(); +} + +void SequenceViewer::ChangeDisplayMode(const gfx::EntityP& entity, const QString& string) +{ + model_->SetDisplayMode(entity, string); + seq_table_view_->viewport()->update(); } -SequenceItemList SequenceViewer::SeqItemsForGfxObj(const gfx::GfxObjP& obj) +ActionList SequenceViewer::GetActions() { - SequenceItemList seq_items; - gfx::EntityP ec=dyn_cast<gfx::Entity>(obj); - std::map<SequenceItem*, gfx::EntityP>::iterator i,e; - for (i=obj_map_.begin(), e=obj_map_.end(); i!=e; ++i) { - if (i->second==ec) { - seq_items.push_back(i->first); + return action_list_; +} + +void SequenceViewer::DisplayMenu() +{ + QMenu* menu = new QMenu(); + QList<QAction*> actions = display_mode_actions_->actions(); + for(int i=0;i<actions.size();i++){ + display_mode_actions_->removeAction(actions[i]); + } + const QStringList& display_modes = this->GetDisplayModes(); + for(int i=0; i<display_modes.size(); i++){ + QString ident(display_modes[i]); + QAction* action = new QAction(ident,menu); + action->setCheckable(true); + connect(action,SIGNAL(triggered(bool)),this,SLOT(ChangeDisplayMode())); + display_mode_actions_->addAction(action); + if(display_modes[i] == this->GetCurrentDisplayMode() ){ + action->setChecked(true); } + menu->addAction(action); } - return seq_items; + menu->exec(QCursor::pos()); } -gfx::GfxObjP SequenceViewer::GfxObjForSeqItem(SequenceItem* item) +void SequenceViewer::ChangeDisplayMode() { - std::map<SequenceItem*, gfx::EntityP>::iterator i=obj_map_.find(item); - return (i!=obj_map_.end()) ? i->second : gfx::EntityP(); + QAction* action = display_mode_actions_->checkedAction(); + if(action){ + this->ChangeDisplayMode(action->text()); + } +} + +SequenceViewer::~SequenceViewer(){ + gfx::Scene::Instance().DetachObserver(this); } }} diff --git a/modules/gui/src/sequence_viewer/sequence_viewer.hh b/modules/gui/src/sequence_viewer/sequence_viewer.hh index 0b5811dc1fb17fd7905501845b01a77d592d75c8..6a3c49efcabf852bf39a1bf47d6f503f75c2c5ea 100644 --- a/modules/gui/src/sequence_viewer/sequence_viewer.hh +++ b/modules/gui/src/sequence_viewer/sequence_viewer.hh @@ -16,45 +16,97 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_SEQUENCE_VIEWER_HH -#define OST_SEQUENCE_VIEWER_HH +#ifndef OST_SEQUENCE_VIEWER_SEQUENCE_VIEWER +#define OST_SEQUENCE_VIEWER_SEQUENCE_VIEWER /* - Author: Marco Biasini + Author: Stefan Scheuber */ -#include <map> -#include <ost/gfx/scene_observer.hh> -#include <ost/gui/sequence_viewer/sequence_viewer_base.hh> -#include <ost/gfx/entity.hh> +#include <ost/seq/alignment_handle.hh> -namespace ost { namespace gui { +#include <ost/gfx/scene.hh> +#include <ost/gfx/gfx_object.hh> + +#include <ost/gui/widget.hh> + +#include <ost/gui/module_config.hh> -class SequenceItem; +#include "sequence_search_bar.hh" +#include "sequence_model.hh" +#include "sequence_table_view.hh" -/// \brief sequence view -class DLLEXPORT_OST_GUI SequenceViewer : public SequenceViewerBase, - public gfx::SceneObserver { +#include <QWidget> +#include <QActionGroup> +#include <QToolBar> +namespace ost { namespace gui { + +/// \brief QTableView with first column not moving +class DLLEXPORT_OST_GUI SequenceViewer : public Widget, public gfx::SceneObserver { Q_OBJECT public: - SequenceViewer(QWidget* parent=NULL); + SequenceViewer(bool stand_alone=true, QWidget* parent=NULL); ~SequenceViewer(); - - virtual void NodeAdded(const gfx::GfxNodeP& node); - - virtual void NodeRemoved(const gfx::GfxNodeP& node); - - virtual void SelectionChanged(const gfx::GfxObjP& obj, const mol::EntityView& sel); + + virtual void SelectionChanged(const gfx::GfxObjP& o, const mol::EntityView& view); + + virtual void AddEntity(const gfx::EntityP& entity); + virtual void RemoveEntity(const gfx::EntityP& entity); + + virtual void AddAlignment(const seq::AlignmentHandle& alignment); + virtual void RemoveAlignment(const seq::AlignmentHandle& alignment); + + virtual bool Restore(const QString&){return true;}; + virtual bool Save(const QString&){return true;}; + + virtual const QStringList& GetDisplayModes(); + virtual const QStringList& GetDisplayModes(const seq::AlignmentHandle& alignment); + virtual const QStringList& GetDisplayModes(const gfx::EntityP& entity); + + virtual const QString& GetCurrentDisplayMode(); + virtual const QString& GetCurrentDisplayMode(const seq::AlignmentHandle& alignment); + virtual const QString& GetCurrentDisplayMode(const gfx::EntityP& entity); + + virtual ActionList GetActions(); + public slots: - void ItemSelectionChanged(SequenceItem* item); + void ChangeDisplayMode(const QString&); + void ChangeDisplayMode(const seq::AlignmentHandle&, const QString&); + void ChangeDisplayMode(const gfx::EntityP&, const QString&); + void DisplayMenu(); + //internal + void OnSearchBarUpdate(const QString&, bool, const QString&); + private: - SequenceItemList SeqItemsForGfxObj(const gfx::GfxObjP& obj); - gfx::GfxObjP GfxObjForSeqItem(SequenceItem* seq_item); - std::map<SequenceItem*, gfx::EntityP> obj_map_; - bool we_are_changing_the_selection_; + virtual void NodeAdded(const gfx::GfxNodeP& node); + virtual void NodeRemoved(const gfx::GfxNodeP& node); + void FitToContents(); + void InitActions(); + void InitView(); + void InitSearchBar(); + void InitMenuBar(); + void UpdateSearchBar(); + void SelectList(const QModelIndexList& list); + QToolBar* toolbar_; + SeqSearchBar* seq_search_bar_; + SequenceModel* model_; + SequenceTableView* seq_table_view_; + + ActionList action_list_; + + QActionGroup* display_mode_actions_; + +private slots: + void ChangeDisplayMode(); + void FindInSequence(); + void SelectionModelChanged(const QItemSelection&, const QItemSelection&); + void DoubleClicked(const QModelIndex& index); + void MouseWheelEvent(QWheelEvent* event); + void CopyEvent(QKeyEvent* event); + }; - + }} #endif diff --git a/modules/gui/src/sequence_viewer/sequence_viewer_base.cc b/modules/gui/src/sequence_viewer/sequence_viewer_base.cc deleted file mode 100644 index 61cae9aac9015f3c3db6a27741a12c7f84da109a..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence_viewer/sequence_viewer_base.cc +++ /dev/null @@ -1,237 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "sequence_viewer_base.hh" -#include "sequence_search_bar.hh" -#include <QShortcut> -#include <QVBoxLayout> -#include <QPainter> - -namespace ost { namespace gui { - -SequenceViewerBase::SequenceViewerBase(QWidget* parent): - Widget(NULL, parent), style_(DENSE), sel_mode_(ROW), - scene_(new SequenceScene(this)), search_bar_(new SequenceSearchBar(this)), - view_(new QGraphicsView(NULL, this)) -{ - QVBoxLayout* l=new QVBoxLayout; - this->setLayout(l); - l->setMargin(0); - l->setSpacing(0); - view_->setScene(scene_); - l->addWidget(search_bar_, 0); - l->addWidget(view_, 1); - view_->setScene(scene_); - view_->setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing); - view_->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); - QShortcut* shortcut=new QShortcut(QKeySequence(tr("Ctrl+F")), this); - connect(shortcut, SIGNAL(activated()), this, SLOT(FindInSequence())); - connect(search_bar_, SIGNAL(Changed(const QString&, bool, int)), this, - SLOT(OnSearchBarUpdate(const QString&, bool, int))); - search_bar_->hide(); - view_->setAlignment(Qt::AlignLeft|Qt::AlignTop); -} - -namespace { - -size_t update_select_state(seq::SequenceHandle seq, const String& subject, - std::vector<bool>& sel_state) -{ - size_t pos=0; - size_t first=String::npos; - String seq_str=seq.GetString(); - while ((pos=seq_str.find(subject, pos))!=String::npos) { - if (first==String::npos) { - first=pos; - } - std::fill_n(sel_state.begin()+pos, subject.length(), true); - pos+=subject.length(); - } - return first; -} - - -void set_sel(std::vector<bool>& selected, SequenceItem* item) -{ - std::vector<bool>::iterator c=selected.begin(); - item->ClearSelection(); - while (c!=selected.end()) { - std::vector<bool>::iterator e=c; - while ((*(++e))==*c && e!=selected.end()) {} - if (*c) { - // this is really ugly! - item->BeginSelectionChange(); - item->Select(c-selected.begin(), e-selected.begin(), false); - } - c=e; - } - item->EndSelectionChange(); -} - -} - -void SequenceViewerBase::FindInSequence() -{ - if (scene_->GetSequences().empty()) { - return; - } - search_bar_->Show(scene_->GetSequences()); -} - -int SequenceViewerBase::GetLongestSequenceLength() const -{ - std::vector<SequenceItem*>::iterator i=scene_->GetSequences().begin(), - e=scene_->GetSequences().end(); - int longest=0; - for (; i!=e; ++i) { - longest=std::max(longest, (*i)->GetSequence().GetLength()); - } - return longest; -} - -void SequenceViewerBase::SelectColumns(std::vector<bool>& selected_cols) -{ - std::vector<SequenceItem*>::iterator i=scene_->GetSequences().begin(), - e=scene_->GetSequences().end(); - for (; i!=e; ++i) { - set_sel(selected_cols, *i); - } -} - -void SequenceViewerBase::SelectColumns(SequenceItem* seq_item, - std::vector<bool>& selected_cols) -{ - set_sel(selected_cols, seq_item); -} - -void SequenceViewerBase::ClearSelection() -{ - std::vector<SequenceItem*>::iterator i=scene_->GetSequences().begin(), - e=scene_->GetSequences().end(); - for (; i!=e; ++i) { - (*i)->ClearSelection(); - } -} - -void SequenceViewerBase::OnSearchBarUpdate(const QString& subject, - bool search_in_all, int seq_id) -{ - String std_subj=subject.toStdString(); - this->ClearSelection(); - if (scene_->GetSequences().empty() || (seq_id==-1 && !search_in_all)) { - return; - } - if (subject.size()==0) { - return; - } - - std::vector<bool> selected; - selected.resize(GetLongestSequenceLength(), false); - /// \todo implement selection for SelMode==COLUMN - std::pair<int, size_t> first(0, String::npos); - if (search_in_all) { - for (size_t i=0; i<scene_->GetSequences().size(); ++i) { - (scene_->GetSequences())[i]->ClearSelection(); - seq::SequenceHandle s=(scene_->GetSequences())[i]->GetSequence(); - size_t pos=update_select_state(s, std_subj, selected); - if (pos!=String::npos && first.second==String::npos) { - first.second=pos; - first.first=i; - } - if (sel_mode_==ROW) { - set_sel(selected, (scene_->GetSequences())[i]); - std::fill_n(selected.begin(), selected.size(), false); - } - } - } else { - first.first=seq_id; - SequenceItem* s=(scene_->GetSequences())[seq_id]; - size_t pos=update_select_state(s->GetSequence(), std_subj, selected); - if (pos!=String::npos) { - first.second=pos; - } - if (sel_mode_==ROW) { - set_sel(selected, s); - } - } - if (sel_mode_==COLUMN) { - this->SelectColumns(selected); - } - if (first.second!=String::npos) { - QRectF r=(scene_->GetSequences()[first.first]->GetCharBounds(first.second)); - - view_->ensureVisible(r); - } - scene_->update(); -} - -void SequenceViewerBase::SetDisplayStyle(Style style) -{ - style_=style; - for (std::vector<SequenceItem*>::iterator i=scene_->GetSequences().begin(), - e=scene_->GetSequences().end(); i!=e; ++i) { - (*i)->SetShowSecStructure(style_==LOOSE); - } - scene_->RepackSequences(); -} - -void SequenceViewerBase::SetSelMode(SelMode mode) -{ - sel_mode_=mode; -} - -SequenceViewerBase::SelMode SequenceViewerBase::GetSelMode() const -{ - return sel_mode_; -} - -SequenceViewerBase::Style SequenceViewerBase::GetDisplayStyle() const -{ - return style_; -} - -void SequenceViewerBase::AddSequence(SequenceItem* seq) -{ - seq->SetShowSecStructure(style_==LOOSE); - scene_->AddSequence(seq); - QRectF rect=scene_->itemsBoundingRect(); - view_->setSceneRect(QRectF(0, 0, +rect.left()+rect.width(), - rect.height()+rect.top())); -} - -void SequenceViewerBase::RemoveSequence(SequenceItem* seq) -{ - scene_->RemoveSequence(seq); -} - -void SequenceViewerBase::Clear() -{ - -} - -bool SequenceViewerBase::Restore(const QString& prefix) -{ - return true; -} - -bool SequenceViewerBase::Save(const QString& prefix) -{ - return true; -} - -}} diff --git a/modules/gui/src/sequence_viewer/sequence_viewer_base.hh b/modules/gui/src/sequence_viewer/sequence_viewer_base.hh deleted file mode 100644 index 6bc183765c54a9f3b3b4f20f33eb0a0cd20a6e73..0000000000000000000000000000000000000000 --- a/modules/gui/src/sequence_viewer/sequence_viewer_base.hh +++ /dev/null @@ -1,99 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_GUI_SEQUENCE_VIEWER_BASE_HH -#define OST_GUI_SEQUENCE_VIEWER_BASE_HH -/* - Author: Marco Biasini - */ - -#include <ost/gui/sequence_viewer/sequence_item.hh> -#include <ost/gui/sequence_viewer/sequence_scene.hh> - -#include <ost/gui/widget.hh> - -#include <QGraphicsView> - -namespace ost { namespace gui { - -class SequenceSearchBar; - -/// \brief base class for sequence viewers -/// -/// subclassed by AlignmentViewer and SequenceViewer -class DLLEXPORT_OST_GUI SequenceViewerBase : public Widget { - Q_OBJECT -public: - typedef enum { - DENSE, - LOOSE, - } Style; - - typedef enum { - COLUMN, - ROW - } SelMode; -public: - SequenceViewerBase(QWidget* parent=NULL); - void SetDisplayStyle(Style style); - - void SetSelMode(SelMode mode); - - SelMode GetSelMode() const; - Style GetDisplayStyle() const; - - /// \brief add sequence - /// - /// issue: should we copy the sequence object to avoid weird side-effects? - void AddSequence(SequenceItem* seq); - - /// \brief remove sequence - void RemoveSequence(SequenceItem* seq); - - /// \brief select columns in all sequences - void SelectColumns(std::vector<bool>& selected_cols); - - /// \brief select columns in sequence - void SelectColumns(SequenceItem* seq, std::vector<bool>& selected_cols); - /// \brief get length of longest sequence including gaps - int GetLongestSequenceLength() const; - /// \brief remove all sequences - void Clear(); - - virtual bool Restore(const QString& prefix); - virtual bool Save(const QString& prefix); -public slots: - /// \brief clear selection - void ClearSelection(); - - /// \internal - void OnSearchBarUpdate(const QString&, bool, int); - - /// \brief show sequence search bar - void FindInSequence(); - -private: - Style style_; - SelMode sel_mode_; - SequenceScene* scene_; - SequenceSearchBar* search_bar_; - QGraphicsView* view_; -}; - -}} -#endif diff --git a/modules/gui/src/sequence/tick_painter.cc b/modules/gui/src/sequence_viewer/tick_painter.cc similarity index 100% rename from modules/gui/src/sequence/tick_painter.cc rename to modules/gui/src/sequence_viewer/tick_painter.cc diff --git a/modules/gui/src/sequence/tick_painter.hh b/modules/gui/src/sequence_viewer/tick_painter.hh similarity index 100% rename from modules/gui/src/sequence/tick_painter.hh rename to modules/gui/src/sequence_viewer/tick_painter.hh index d5c6c4fff05c68214c3f012b26b046f29bbfeedd..11ff679bb183e91fa8cb92ffa08176c8ca2f418d 100644 --- a/modules/gui/src/sequence/tick_painter.hh +++ b/modules/gui/src/sequence_viewer/tick_painter.hh @@ -23,9 +23,9 @@ Author: Stefan Scheuber */ -#include <QObject> #include "painter.hh" +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/sequence/title_row.cc b/modules/gui/src/sequence_viewer/title_row.cc similarity index 89% rename from modules/gui/src/sequence/title_row.cc rename to modules/gui/src/sequence_viewer/title_row.cc index 39013b3d7fda9a5df35d377ed3411220c24e2800..b8b05fbcaaa9089b7b73727ffe4dfc59b68bbda0 100644 --- a/modules/gui/src/sequence/title_row.cc +++ b/modules/gui/src/sequence_viewer/title_row.cc @@ -22,11 +22,11 @@ */ -#include <QtGui> #include "sequence_model.hh" #include "title_row.hh" +#include <QtGui> namespace ost { namespace gui { TitleRow::TitleRow(QObject* parent) : BaseRow(QFont("Courier",10),parent), font_("Verdana",9), small_font_("Verdana",7) @@ -77,10 +77,11 @@ Qt::ItemFlags TitleRow::Flags(int column) const void TitleRow::DoubleClicked(int column) { if(this->parent()){ - SequenceModel* model = qobject_cast<SequenceModel*>(this->parent()->parent()); - int rows = model->rowCount()-1; - QItemSelection add = QItemSelection(model->index(1,column),model->index(rows,column)); - model->SelectionChanged(add,QItemSelection()); + if(SequenceModel* model = qobject_cast<SequenceModel*>(this->parent()->parent())){ + int rows = model->rowCount()-1; + QItemSelection add = QItemSelection(model->index(1,column),model->index(rows,column)); + model->SelectionChanged(add,QItemSelection()); + } } } diff --git a/modules/gui/src/sequence/title_row.hh b/modules/gui/src/sequence_viewer/title_row.hh similarity index 100% rename from modules/gui/src/sequence/title_row.hh rename to modules/gui/src/sequence_viewer/title_row.hh index 6274d3c13dd322ef63a1c7ce87253d2bb4776b5e..409d62e5033fd46bcb313061541e3fa191dd0957 100644 --- a/modules/gui/src/sequence/title_row.hh +++ b/modules/gui/src/sequence_viewer/title_row.hh @@ -23,9 +23,9 @@ Author: Stefan Scheuber */ -#include <QObject> #include "base_row.hh" +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/test_code.cc b/modules/gui/src/test_code.cc deleted file mode 100644 index ac01ef1a1542b3a17c4a321941807cd15c95cb01..0000000000000000000000000000000000000000 --- a/modules/gui/src/test_code.cc +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include <cstdlib> - -#include "test_code.hh" - -#include <ost/log.hh> -#include <ost/entity.hh> -#include <ost/gfx/scene.hh> -#include <ost/gfx/entity_connect.hh> - -using namespace ost; -using namespace ost::gfx; - -namespace { - -mol::EntityHandle build_entity() -{ - mol::EntityHandle e = CreateEntity(); - - mol::ChainHandle chain = e.InsertChain(""); - - mol::ResidueHandle res = chain.AppendResidue(""); - - mol::AtomHandle a0 = res.InsertAtom("X",geom::Vec3(0.0,0.0,0.0)); - mol::AtomHandle a1 = res.InsertAtom("X",geom::Vec3(0.0,0.0,10.0)); - mol::AtomHandle a2 = res.InsertAtom("X",geom::Vec3(10.0,0.0,10.0)); - mol::AtomHandle a3 = res.InsertAtom("X",geom::Vec3(10.0,-10.0,10.0)); - mol::AtomHandle a4 = res.InsertAtom("X",geom::Vec3(10.0,0.0,10.0)); - mol::AtomHandle a5 = res.InsertAtom("X",geom::Vec3(10.0,0.0,20.0)); - //mol::AtomHandle a6 = res.InsertAtom(geom::Vec3(10.0,-10.0,20.0)); - //mol::AtomHandle a7 = res.InsertAtom(geom::Vec3(20.0,0.0,20.0)); - e.Connect(a0,a1); - e.Connect(a1,a2); - e.Connect(a2,a3); - e.Connect(a1,a4); - e.Connect(a2,a5); - //e.Connect(a5,a6); - //e.Connect(a5,a7); - - e.RebuildICS(); - - return e; -} - -} // anon ns - -void test_code() -{ - mol::EntityHandle eh = build_entity(); - - GfxObjP go (new EntityConnect("test",eh)); - Scene::Instance().Add(go); - Scene::Instance().SetCenter(go->GetCenter()); -} diff --git a/modules/gui/src/test_code.hh b/modules/gui/src/test_code.hh deleted file mode 100644 index 0cd9a36b0b2c740e7488f013c92ba8ab01aad9a3..0000000000000000000000000000000000000000 --- a/modules/gui/src/test_code.hh +++ /dev/null @@ -1,24 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_TEST_CODE_HH -#define OST_TEST_CODE_HH - -void test_code(); - -#endif diff --git a/modules/gui/src/thin_splitter.cc b/modules/gui/src/thin_splitter.cc index 78051b1f99421758c058de5dfaf757774044ef62..aed72b937e8b11a0dde1b48ad31d0ded48a252ea 100644 --- a/modules/gui/src/thin_splitter.cc +++ b/modules/gui/src/thin_splitter.cc @@ -16,6 +16,9 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ + +#include "thin_splitter.hh" + #include <QRegion> #include <QPainter> #include <QResizeEvent> @@ -23,9 +26,6 @@ #include <QSplitterHandle> #include <QApplication> #include <QPalette> - -#include "thin_splitter.hh" - /* Author: Marco Biasini */ @@ -47,9 +47,17 @@ public: virtual void resizeEvent(QResizeEvent *event) { if (this->orientation()==Qt::Horizontal) { +#if defined(__APPLE__) + this->setContentsMargins(1, 0, 0, 0); +#else this->setContentsMargins(1, 0, 1, 0); +#endif } else { +#if defined(__APPLE__) + this->setContentsMargins(0, 1, 0, 0); +#else this->setContentsMargins(0, 1, 0, 1); +#endif } this->setMask(QRegion()); } @@ -58,8 +66,8 @@ public: { QPainter p(this); QPalette palette=qApp->palette(); - p.setBrush(QBrush(palette.color(QPalette::Active, QPalette::Shadow))); - p.setPen(Qt::black); + p.setBrush(QBrush(QColor(120,120,120))); + p.setPen(QColor(120,120,120)); p.drawRect(this->contentsRect()); } }; diff --git a/modules/gui/src/tools/manipulator.cc b/modules/gui/src/tools/manipulator.cc index ac50e4dd20db637ae8d5851e615291244e7514be..29fe8b703e6710f025f0ae6cfe83b3c389686819 100644 --- a/modules/gui/src/tools/manipulator.cc +++ b/modules/gui/src/tools/manipulator.cc @@ -16,7 +16,7 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QDir> +#include <ost/gui/gosty_app.hh> #include <ost/platform.hh> @@ -24,11 +24,11 @@ #include <ost/gfx/gfx_object.hh> #include <ost/gfx/gfx_node.hh> -#include <ost/gui/gosty_app.hh> #include <ost/gui/scene_selection.hh> #include "manipulator.hh" +#include <QDir> namespace ost { namespace gui { Manipulator::Manipulator(): diff --git a/modules/gui/src/tools/manipulator.hh b/modules/gui/src/tools/manipulator.hh index 2fb4cbbe4c209f29a3a6c25605d890f68ef3811e..2affc6628e104c971f8b9b749edf894ef510973c 100644 --- a/modules/gui/src/tools/manipulator.hh +++ b/modules/gui/src/tools/manipulator.hh @@ -22,13 +22,14 @@ /* Author: Marco Biasini */ -#include <QList> #include <ost/gui/module_config.hh> #include <ost/gfx/input.hh> #include <ost/gui/tools/tool.hh> +#include <QList> + namespace ost { namespace gui { class Manipulator; diff --git a/modules/gui/src/tools/map_tool.cc b/modules/gui/src/tools/map_tool.cc index 58b67d3e77ccb474fa129663ac7515ce29272bc7..ef2a784412153df6b475a8a74404ae0f99ee4aff 100644 --- a/modules/gui/src/tools/map_tool.cc +++ b/modules/gui/src/tools/map_tool.cc @@ -16,17 +16,17 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QDir> +#include <ost/gui/gosty_app.hh> #include <ost/platform.hh> #include <ost/gfx/map_iso.hh> #include <ost/gfx/map_slab.hh> #include <ost/gfx/scene.hh> #include <ost/gui/scene_selection.hh> -#include <ost/gui/gosty_app.hh> #include "map_tool.hh" +#include <QDir> namespace ost { namespace gui { MapTool::MapTool(): diff --git a/modules/gui/src/tools/map_tool.hh b/modules/gui/src/tools/map_tool.hh index 2d1257cb81dd029518207cd137aa7f0be25d2ed5..35547b51525f85ec4d89532c480979b09b413f20 100644 --- a/modules/gui/src/tools/map_tool.hh +++ b/modules/gui/src/tools/map_tool.hh @@ -22,10 +22,10 @@ /* Author: Ansgar Philippsen */ -#include <QList> #include <ost/gui/tools/tool.hh> +#include <QList> namespace ost { namespace gui { class DLLEXPORT_OST_GUI MapTool : public Tool { diff --git a/modules/gui/src/tools/measure_tool.cc b/modules/gui/src/tools/measure_tool.cc index ac8c2951478fa3c4ad59002cfac65066d8c4c8bf..4247e2f830d7f859a03666693c522e530cfc88ae 100644 --- a/modules/gui/src/tools/measure_tool.cc +++ b/modules/gui/src/tools/measure_tool.cc @@ -27,7 +27,6 @@ #include <iostream> #include <sstream> -#include <QDir> #include <ost/platform.hh> #include <ost/gfx/scene.hh> @@ -36,6 +35,7 @@ #include <ost/geom/vec3.hh> +#include <QDir> namespace ost { namespace gui { MeasureTool::MeasureTool() diff --git a/modules/gui/src/tools/measure_tool.hh b/modules/gui/src/tools/measure_tool.hh index 77b5f627f117ec072404837e49b6267a4c5fb5a8..d1eedcef7c44652865c6de1c10c42771b4eaa79c 100644 --- a/modules/gui/src/tools/measure_tool.hh +++ b/modules/gui/src/tools/measure_tool.hh @@ -22,12 +22,12 @@ /* Author: Tobias Schmidt */ -#include <QList> #include <ost/gui/tools/tool.hh> #include <ost/mol/atom_handle.hh> #include <ost/gfx/color.hh> +#include <QList> namespace ost { namespace gui { class DLLEXPORT_OST_GUI Measurement { diff --git a/modules/gui/src/tools/mouse_event.hh b/modules/gui/src/tools/mouse_event.hh index 28f1e04450215344ea7abcd1326d8b3785360e87..234ee6d4ce63b333b17ac940f5f38108716404db 100644 --- a/modules/gui/src/tools/mouse_event.hh +++ b/modules/gui/src/tools/mouse_event.hh @@ -34,7 +34,7 @@ public: typedef enum { LeftButton=Qt::LeftButton, RightButton=Qt::RightButton, - MiddleButton=Qt::MidButton, + MiddleButton=Qt::MidButton } Button; typedef int Buttons; public: diff --git a/modules/gui/src/tools/selection_tool.cc b/modules/gui/src/tools/selection_tool.cc index 047577a62fa5adb03df4e795877aa6071f215097..dfc45ca8f0aa55cc979336f8a54c0d9cbaf42730 100644 --- a/modules/gui/src/tools/selection_tool.cc +++ b/modules/gui/src/tools/selection_tool.cc @@ -21,13 +21,13 @@ */ #include "selection_tool.hh" -#include <QDir> #include <ost/platform.hh> #include <ost/gfx/scene.hh> #include <ost/gui/gl_canvas.hh> +#include <QDir> namespace ost { namespace gui { SelectionTool::SelectionTool() diff --git a/modules/gui/src/tools/selection_tool.hh b/modules/gui/src/tools/selection_tool.hh index d805ced221a8b663f8c16ef7e6371e774d68aea2..a02102fdb55924d6f40a64e784a6a2a121378657 100644 --- a/modules/gui/src/tools/selection_tool.hh +++ b/modules/gui/src/tools/selection_tool.hh @@ -22,10 +22,10 @@ /* Author: Marco Biasini */ -#include <QList> #include <ost/gui/tools/tool.hh> +#include <QList> namespace ost { namespace gui { diff --git a/modules/gui/src/tools/tool.hh b/modules/gui/src/tools/tool.hh index 24f4536901c87d6c08e2738c85c2d46e5b520f66..0be85bc7daaa514f2d0965095c13919ac1fc0a82 100644 --- a/modules/gui/src/tools/tool.hh +++ b/modules/gui/src/tools/tool.hh @@ -24,13 +24,14 @@ */ #include <vector> -#include <QIcon> #include <ost/gui/module_config.hh> #include <ost/gfx/gfx_node.hh> #include <ost/gui/tools/mouse_event.hh> #include <ost/gui/tools/tool_options.hh> +#include <QIcon> + namespace ost { namespace gui { class ToolOptions; diff --git a/modules/gui/src/tools/tool_bar.cc b/modules/gui/src/tools/tool_bar.cc index 11621af0f4f07980bf0be1755bbbd54cb7009dd5..e4babc0ed2b85be84a2113f3f30a127a74e35bc8 100644 --- a/modules/gui/src/tools/tool_bar.cc +++ b/modules/gui/src/tools/tool_bar.cc @@ -16,15 +16,15 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QAction> -#include <QDebug> -#include <QActionGroup> +#include <ost/gui/gosty_app.hh> #include <ost/mol/query_view_wrapper.hh> #include <ost/gui/tools/tool_manager.hh> -#include <ost/gui/gosty_app.hh> #include "tool_bar.hh" +#include <QAction> +#include <QDebug> +#include <QActionGroup> namespace ost { namespace gui { ToolBar::ToolBar(QWidget* parent): diff --git a/modules/gui/src/tools/tool_bar.hh b/modules/gui/src/tools/tool_bar.hh index 1e95d5bbf4f27c0c6fa808bf862a6c36a05aaded..f58594cc5b899436ed92e811d6cc161b8274025b 100644 --- a/modules/gui/src/tools/tool_bar.hh +++ b/modules/gui/src/tools/tool_bar.hh @@ -23,13 +23,13 @@ Author: Marco Biasini */ -#include <QToolBar> -#include <QList> #include <ost/gfx/gfx_node.hh> #include <ost/gui/module_config.hh> #include <ost/gui/tools/tool.hh> +#include <QToolBar> +#include <QList> class QActionGroup; diff --git a/modules/gui/src/tools/tool_manager.hh b/modules/gui/src/tools/tool_manager.hh index 5fa48b05e0a619f7e6a4d4fd56486b46a146546d..d571f00151995a7e10ed5f86cb51ee5e8170803e 100644 --- a/modules/gui/src/tools/tool_manager.hh +++ b/modules/gui/src/tools/tool_manager.hh @@ -20,10 +20,10 @@ #define OST_GUI_TOOL_MANAGER_HH #include <ost/gui/module_config.hh> -#include <QObject> #include <ost/gui/tools/tool.hh> +#include <QObject> /* Author: Marco Biasini */ diff --git a/modules/gui/src/tools/tool_option.cc b/modules/gui/src/tools/tool_option.cc index d29197f26c27101f89e6a6022c0d5453e249dbb0..699a4e60d6f5f939dc1862c70b65a26b60e49f86 100644 --- a/modules/gui/src/tools/tool_option.cc +++ b/modules/gui/src/tools/tool_option.cc @@ -20,8 +20,8 @@ namespace ost { namespace gui { -template class DLLEXPORT_OST_GUI ToolOptionNum<int,ToolOption::INT>; -template class DLLEXPORT_OST_GUI ToolOptionNum<float,ToolOption::FLOAT>; +template class TEMPLATE_DEF_EXPORT ToolOptionNum<int,ToolOption::INT>; +template class TEMPLATE_DEF_EXPORT ToolOptionNum<float,ToolOption::FLOAT>; ToolOption::ToolOption(const String& key, const String& verbose_name, Type type): diff --git a/modules/gui/src/tools/tool_option.hh b/modules/gui/src/tools/tool_option.hh index ac75253517cf1ac3381f76ab817086e282bca03e..ff08fad0df6dd5dcfe84e4ea39135d3de1927531 100644 --- a/modules/gui/src/tools/tool_option.hh +++ b/modules/gui/src/tools/tool_option.hh @@ -26,9 +26,10 @@ #include <limits> #include <vector> -#include <QObject> #include <ost/gui/module_config.hh> +#include <QObject> + namespace ost { namespace gui { @@ -54,7 +55,7 @@ private: template <typename T, ToolOption::Type C> -class DLLEXPORT_OST_GUI ToolOptionNum : public ToolOption { +class DLLEXPORT ToolOptionNum : public ToolOption { public: ToolOptionNum(const String& key, const String& verbose_name, T default_v, T min_value=std::numeric_limits<T>::min(), @@ -87,11 +88,14 @@ private: typedef ToolOptionNum<int, ToolOption::INT> ToolOptionInt; typedef ToolOptionNum<float, ToolOption::FLOAT> ToolOptionFloat; -#ifndef _MSC_VER -extern template class ToolOptionNum<int,ToolOption::INT>; -extern template class ToolOptionNum<float,ToolOption::FLOAT>; + +#if !defined(_MSC_VER) + extern template class ToolOptionNum<int,ToolOption::INT>; + extern template class ToolOptionNum<float,ToolOption::FLOAT>; #endif + + class DLLEXPORT_OST_GUI ToolOptionEnum : public ToolOption { public: struct Tuple { diff --git a/modules/gui/src/tools/tool_option_group.hh b/modules/gui/src/tools/tool_option_group.hh index 6b47d0ed6ea46f20e368d328a0c52dfdd3292984..ead9a57e3bdde25cb17ed698f5f996fba3931afe 100644 --- a/modules/gui/src/tools/tool_option_group.hh +++ b/modules/gui/src/tools/tool_option_group.hh @@ -23,11 +23,11 @@ Author: Marco Biasini */ -#include <QObject> #include <ost/gui/module_config.hh> #include <ost/gui/tools/tool_option.hh> +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/tools/tool_options.hh b/modules/gui/src/tools/tool_options.hh index fd7d20d2c7841cf78e31df57b481be0cde760ae8..f4c9adeda925bbd66ab6b01a907ef0232f852689 100644 --- a/modules/gui/src/tools/tool_options.hh +++ b/modules/gui/src/tools/tool_options.hh @@ -23,11 +23,11 @@ Author: Marco Biasini */ -#include <QObject> #include <ost/gui/module_config.hh> #include <ost/gui/tools/tool_option_group.hh> +#include <QObject> namespace ost { namespace gui { diff --git a/modules/gui/src/tools/tool_options_win.cc b/modules/gui/src/tools/tool_options_win.cc index ecc1c1e4087154e71ab8e1d307faa5ac2b5607f6..56b2f551df416f841882869a75c8ba0edec790ed 100644 --- a/modules/gui/src/tools/tool_options_win.cc +++ b/modules/gui/src/tools/tool_options_win.cc @@ -16,14 +16,14 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QVBoxLayout> +#include <ost/gui/gosty_app.hh> #include <ost/gui/tools/tool_options_win.hh> #include <ost/gui/widget_registry.hh> #include <ost/gui/tools/tool_options_widget.hh> #include <ost/gui/tools/tool_manager.hh> -#include <ost/gui/gosty_app.hh> +#include <QVBoxLayout> namespace ost { namespace gui { diff --git a/modules/gui/src/tools/tool_options_win.hh b/modules/gui/src/tools/tool_options_win.hh index 08347ac994cfef1ff0cf0fc348cfe37e2c967e4e..9c1d7900c89d5d37fc435d2b88fceb0cb8e18f72 100644 --- a/modules/gui/src/tools/tool_options_win.hh +++ b/modules/gui/src/tools/tool_options_win.hh @@ -21,13 +21,13 @@ #include <map> -#include <QStackedWidget> #include <ost/gui/module_config.hh> #include <ost/gui/tools/tool.hh> #include <ost/gui/widget.hh> +#include <QStackedWidget> /* Author: Marco Biasini diff --git a/modules/gui/src/widget.hh b/modules/gui/src/widget.hh index f8bdbd7767e90a01cf6f0100a5bf7d626b0581e7..45252b0475925e5e038a4d1a1d4f143adfc0c0fb 100644 --- a/modules/gui/src/widget.hh +++ b/modules/gui/src/widget.hh @@ -19,11 +19,11 @@ #ifndef OST_GUI_WIDGET_HH #define OST_GUI_WIDGET_HH -#include <QWidget> -#include <QMetaType> #include <ost/gui/module_config.hh> +#include <QWidget> +#include <QMetaType> /* Author: Marco Biasini */ @@ -56,11 +56,26 @@ public: QWidget* GetInternalWidget(); void SetInternalWidget(QWidget* widget); + + const QString& GetUniqueID() const + { + if (unique_id_.size()==0) { + unique_id_=this->metaObject()->className(); + } + return unique_id_; + } + + void SetUniqueID(const QString& id) + { + unique_id_=id; + } + virtual bool Restore(const QString& prefix)=0; virtual bool Save(const QString& prefix)=0; private: + mutable QString unique_id_; QWidget* internal_; bool destroy_on_close_; }; diff --git a/modules/gui/src/widget_geom_handler.cc b/modules/gui/src/widget_geom_handler.cc index 6b9914157b5317033815f605b8aeed12fbe9973b..aa2acd8d9e9a371cba22b83d5cdf0d5f8f8783ca 100644 --- a/modules/gui/src/widget_geom_handler.cc +++ b/modules/gui/src/widget_geom_handler.cc @@ -16,10 +16,10 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QSettings> #include <iostream> #include "widget_geom_handler.hh" +#include <QSettings> namespace ost { namespace gui { WidgetGeomHandler::WidgetGeomHandler(const QString& name, QWidget* widget, QWidget* parent) diff --git a/modules/gui/src/widget_geom_handler.hh b/modules/gui/src/widget_geom_handler.hh index 070a7ae7fa57c651380f0196895dc22fbadb2d41..164719ba4ae35222ceb4b60992a8465d7deed7bc 100644 --- a/modules/gui/src/widget_geom_handler.hh +++ b/modules/gui/src/widget_geom_handler.hh @@ -19,10 +19,10 @@ #ifndef OST_GUI_WIDGET_GEOM_HANDLER_HH #define OST_GUI_WIDGET_GEOM_HANDLER_HH -#include <QWidget> #include <ost/gui/module_config.hh> +#include <QWidget> namespace ost { namespace gui { class DLLEXPORT_OST_GUI WidgetGeomHandler: public QObject{ diff --git a/modules/gui/src/widget_pool.hh b/modules/gui/src/widget_pool.hh index 7555a2116318202d38001f8e385d6baed3312061..8a938c63506a94db3200a753ce39a3d01ead03a0 100644 --- a/modules/gui/src/widget_pool.hh +++ b/modules/gui/src/widget_pool.hh @@ -19,8 +19,8 @@ #ifndef OST_GUI_WIDGET_POOL_HH #define OST_GUI_WIDGET_POOL_HH -#include <QSettings> #include <ost/gui/widget.hh> +#include <QSettings> /* Author: Marco Biasini, Stefan Scheuber */ diff --git a/modules/gui/src/widget_registry.cc b/modules/gui/src/widget_registry.cc index d528f701d694a41cf5c3a6a6f79cab6b5177de89..965545f127358b4c88dce4ddcf044f5eb433b9e0 100644 --- a/modules/gui/src/widget_registry.cc +++ b/modules/gui/src/widget_registry.cc @@ -16,10 +16,10 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#include <QDebug> #include "widget_registry.hh" +#include <QDebug> namespace ost { namespace gui { diff --git a/modules/gui/src/xpm/angle_transform.svg b/modules/gui/src/xpm/angle_transform.svg deleted file mode 100644 index b6298dec768698e96ce75e1a53e6d1673ef18e63..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/angle_transform.svg +++ /dev/null @@ -1,167 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="192.00000px" - height="192.00000px" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.42.2" - sodipodi:docbase="/home/ansgar/projects/dng/modules/gui/src/xpm" - sodipodi:docname="angle_transform.svg" - inkscape:export-filename="/home/ansgar/projects/dng/modules/gui/src/xpm/angle_transform.png" - inkscape:export-xdpi="150.00000" - inkscape:export-ydpi="150.00000"> - <defs - id="defs4"> - <linearGradient - id="linearGradient2201"> - <stop - style="stop-color:#00addd;stop-opacity:1.0000000;" - offset="0.0000000" - id="stop2203" /> - <stop - style="stop-color:#5b009e;stop-opacity:1.0000000;" - offset="1.0000000" - id="stop2205" /> - </linearGradient> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Send" - style="overflow:visible;"> - <path - sodipodi:nodetypes="cccc" - id="path2167" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.3) rotate(180) translate(-5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Sstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Sstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path983" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.2)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Lstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path2181" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.8)" /> - </marker> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2201" - id="radialGradient2209" - cx="100.00000" - cy="92.000000" - fx="100.00000" - fy="92.000000" - r="70.000000" - gradientTransform="matrix(1.000000,0.000000,0.000000,0.885714,0.000000,10.51429)" - gradientUnits="userSpaceOnUse" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.3330956" - inkscape:cx="102.63800" - inkscape:cy="98.912863" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - gridspacingy="8.0000000px" - gridspacingx="8.0000000px" - gridoriginy="0.0000000px" - gridoriginx="0.0000000px" - inkscape:window-width="1104" - inkscape:window-height="1058" - inkscape:window-x="448" - inkscape:window-y="34" - inkscape:grid-points="true" - gridtolerance="5.0000000px" - gridempspacing="8" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - style="opacity:1.0000000;fill:#ffffd2;fill-opacity:1.0000000;stroke:none;stroke-width:6.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="rect3703" - width="192.00000" - height="192.00000" - x="0.0000000" - y="0.0000000" /> - <path - style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#radialGradient2209);stroke-width:20.000000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none" - d="M 40.000000,176.00000 L 96.000000,152.00000 L 96.000000,88.000000 L 40.000000,40.000000 L 96.000000,88.000000 L 136.00000,24.000000" - id="path1330" - sodipodi:nodetypes="cccccc" /> - <path - sodipodi:type="arc" - style="opacity:0.87640446;fill:none;fill-opacity:1.0000000;stroke:#000000;stroke-width:15.000366;stroke-linecap:round;stroke-linejoin:round;marker-start:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="path1332" - sodipodi:cx="-48.000000" - sodipodi:cy="-40.000000" - sodipodi:rx="56.000000" - sodipodi:ry="56.000000" - d="M -17.181239,6.7568600 A 56.000000,56.000000 0 1 1 -17.222051,-86.783735" - sodipodi:start="0.98803089" - sodipodi:end="5.2942818" - sodipodi:open="true" - transform="matrix(0.000000,-0.339866,-1.060131,0.000000,57.46286,59.68643)" /> - <path - sodipodi:type="arc" - style="opacity:0.87640446;fill:none;fill-opacity:1.0000000;stroke:#000000;stroke-width:12.164391;stroke-linecap:round;stroke-linejoin:round;marker-start:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="path2211" - sodipodi:cx="-48.000000" - sodipodi:cy="-40.000000" - sodipodi:rx="56.000000" - sodipodi:ry="56.000000" - d="M -83.651328,3.1854465 A 56.000000,56.000000 0 0 1 -98.498247,-64.205930" - sodipodi:start="2.2609178" - sodipodi:end="3.5885777" - transform="matrix(0.000000,0.846977,-0.577903,0.000000,62.70787,108.1404)" - sodipodi:open="true" /> - </g> -</svg> diff --git a/modules/gui/src/xpm/angle_transform.xpm b/modules/gui/src/xpm/angle_transform.xpm deleted file mode 100644 index 4acf8c79989c8cbaafa0cd3e629f2af0d802257b..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/angle_transform.xpm +++ /dev/null @@ -1,289 +0,0 @@ -/* XPM */ -static const char * angle_transform_xpm[] = { -"32 32 254 2", -" c None", -". c #FFFFD2", -"+ c #E5E5BD", -"@ c #F3F3C8", -"# c #BBBB9A", -"$ c #ADAD8E", -"% c #D3D3AE", -"& c #4C4C3E", -"* c #FCFCD0", -"= c #E0CFC8", -"- c #9A63B2", -"; c #C19FBE", -"> c #A4A487", -", c #2C2C23", -"' c #1F1F19", -") c #1B1B16", -"! c #000000", -"~ c #8C8C73", -"{ c #F3EDCE", -"] c #6816A2", -"^ c #5A009E", -"/ c #DDCBC7", -"( c #939379", -"_ c #72725E", -": c #DCDCB5", -"< c #F2F2C7", -"[ c #48483B", -"} c #090907", -"| c #D9D9B2", -"1 c #DCCAC7", -"2 c #B78FBB", -"3 c #640FA1", -"4 c #8847AC", -"5 c #F1E9CD", -"6 c #CBCBA7", -"7 c #21211A", -"8 c #888870", -"9 c #FCFCCF", -"0 c #C2C29F", -"a c #9E9E82", -"b c #7B7B65", -"c c #919177", -"d c #D7C3C6", -"e c #5A029E", -"f c #8C4DAE", -"g c #630EA1", -"h c #6F21A5", -"i c #8D7E82", -"j c #5F5F4E", -"k c #FBFAD1", -"l c #6D39AC", -"m c #530DA3", -"n c #5608A1", -"o c #610EA1", -"p c #ECE1CC", -"q c #8949AD", -"r c #6313A2", -"s c #D2BFC5", -"t c #A596BF", -"u c #4822AA", -"v c #4B1DA8", -"w c #4E17A6", -"x c #B294BD", -"y c #F7F2CF", -"z c #8A4BAD", -"A c #5805A0", -"B c #520FA3", -"C c #511DA8", -"D c #B8AAC3", -"E c #E3E3CE", -"F c #443DB3", -"G c #4032B0", -"H c #432CAE", -"I c #6A4FB3", -"J c #FCFCD1", -"K c #FDFCD1", -"L c #9F6FB5", -"M c #5210A3", -"N c #4C1BA8", -"O c #4725AB", -"P c #422FAF", -"Q c #9896C1", -"R c #FEFED2", -"S c #6A7ABF", -"T c #3546B7", -"U c #3842B6", -"V c #3D3DB4", -"W c #D0CDC5", -"X c #97977C", -"Y c #FBFBCF", -"Z c #FEFED1", -"` c #9D9D81", -" . c #2C1E3E", -".. c #4425A6", -"+. c #4031B0", -"@. c #3B3CB3", -"#. c #3645B7", -"$. c #7589C2", -"%. c #F8F9D1", -"&. c #B2C5CB", -"*. c #2B5ABE", -"=. c #2D56BD", -"-. c #3051BB", -";. c #8B98C3", -">. c #95957A", -",. c #0C0C0A", -"'. c #454539", -"). c #81816A", -"!. c #BEBE9C", -"~. c #F5F5CA", -"{. c #82826B", -"]. c #626250", -"^. c #C1BCC3", -"/. c #4445B5", -"(. c #3547B8", -"_. c #2F52BC", -":. c #2A5CBF", -"<. c #5586C6", -"[. c #DCE8D0", -"}. c #3578C6", -"|. c #226AC4", -"1. c #2466C3", -"2. c #3F71C2", -"3. c #F4F6D1", -"4. c #505042", -"5. c #1A1A15", -"6. c #13130F", -"7. c #1E1E18", -"8. c #BDBD9C", -"9. c #D7D7B1", -"0. c #FDFDD1", -"a. c #282820", -"b. c #6C6C59", -"c. c #D8DBCD", -"d. c #4563BE", -"e. c #295DC0", -"f. c #2368C4", -"g. c #1E72C7", -"h. c #1F7BCA", -"i. c #197CCB", -"j. c #1A7BCA", -"k. c #1D75C8", -"l. c #B8D1CE", -"m. c #F1F1C6", -"n. c #F8F8CC", -"o. c #B1B192", -"p. c #545445", -"q. c #A8A88A", -"r. c #F9F9CD", -"s. c #E8EDD0", -"t. c #4D83C6", -"u. c #1E73C8", -"v. c #187FCC", -"w. c #1388CF", -"x. c #108DD1", -"y. c #118BD0", -"z. c #5DA9CF", -"A. c #C7C7A4", -"B. c #464639", -"C. c #E4E4BC", -"D. c #E8E8BF", -"E. c #535344", -"F. c #2F2F27", -"G. c #6F6F5B", -"H. c #A5A588", -"I. c #C1C5A7", -"J. c #4B8FBC", -"K. c #1287CD", -"L. c #0C95D4", -"M. c #089DD7", -"N. c #159ED5", -"O. c #E3F2D2", -"P. c #F0F0C6", -"Q. c #414135", -"R. c #37372C", -"S. c #C3C3A1", -"T. c #71715C", -"U. c #34342B", -"V. c #09161B", -"W. c #011A24", -"X. c #001F29", -"Y. c #0E2126", -"Z. c #25251E", -"`. c #5D5D4C", -" + c #AAAA8C", -".+ c #F6F6CB", -"++ c #E3E3BA", -"@+ c #A2A285", -"#+ c #386273", -"$+ c #07496B", -"%+ c #054968", -"&+ c #305D6B", -"*+ c #8A8A71", -"=+ c #9C9C80", -"-+ c #B4B494", -";+ c #D8D8B2", -">+ c #FAFACE", -",+ c #65A9CE", -"'+ c #1585CE", -")+ c #1289CF", -"!+ c #62B0D0", -"~+ c #6AA0CA", -"{+ c #1B78C9", -"]+ c #67A5CC", -"^+ c #6F96C7", -"/+ c #2565C3", -"(+ c #2467C3", -"_+ c #6D9AC8", -":+ c #758BC3", -"<+ c #2E55BD", -"[+ c #2D57BD", -"}+ c #738FC4", -"|+ c #7A81BF", -"1+ c #3644B7", -"2+ c #7984C0", -"3+ c #8076BB", -"4+ c #3F34B1", -"5+ c #3E35B1", -"6+ c #7F78BC", -"7+ c #866BB7", -"8+ c #4823AB", -"9+ c #4724AB", -"0+ c #856DB8", -"a+ c #F7F4D0", -"b+ c #B99ABE", -"c+ c #6328A8", -"d+ c #5013A4", -"e+ c #5014A5", -"f+ c #8A62B4", -"g+ c #E9DDCB", -"h+ c #A472B5", -"i+ c #6410A1", -"j+ c #5A019E", -"k+ c #59029F", -"l+ c #58039F", -"m+ c #58049F", -"n+ c #9763B2", -"o+ c #D3BBC4", -"p+ c #5C029E", -"q+ c #6C1CA4", -"r+ c #FBF8D1", -"s+ c #BB96BD", -"t+ c #752AA6", -"u+ c #7D36A9", -"v+ c #C3A3BF", -"w+ c #FBF9D1", -"x+ c #8A4AAD", -"y+ c #5E069F", -"z+ c #945AB0", -"A+ c #DBC7C7", -"B+ c #6918A3", -"C+ c #AC7FB8", -"D+ c #EFE6CD", -"E+ c #7E38A9", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . @ # $ % & * . . . = - ; . . . . . . . . ", -". . . . . . . . . . . > , ' ' ) ! ~ . . { ] ^ ^ / . . . . . . . ", -". . . . . . . . . . ( ' _ : < [ ! } | . - ^ ^ ^ 1 . . . . . . . ", -". . . . . 2 3 4 5 6 7 8 . . 9 0 a b c d e ^ ^ f . . . . . . . . ", -". . . . . g ^ ^ h i j 9 . . . . . . k l m n o p . . . . . . . . ", -". . . . . q ^ ^ ^ r s . . . . . . . t u v w x . . . . . . . . . ", -". . . . . y z ^ A B C D . . . . . E F G H I J . . . . . . . . . ", -". . . . . . K L M N O P Q R . . . S T U V W X 6 Y . . . . . . . ", -". . . . . . Z ` ...+.@.#.$.%.. &.*.=.-.;.. >.! ,.'.).!.~.. . . ", -". . . . . . {.' ].^./.(._.:.<.[.}.|.1.2.3.. . 4.5.6.7.8.9.0.. . ", -". . . . . . a.b.. . c.d.e.f.g.h.i.j.k.l.. . . m.n.o.' !.. . . . ", -". . . . . . p., q.r.. s.t.u.v.w.x.y.z.. . . . . A.B.a.C.. . . . ", -". . . . . . D.E.' F.G.H.I.J.K.L.M.N.O.P.9.o.).Q.' R.S.. . . . . ", -". . . . . . . Z S.T.U.' ' ' V.W.X.Y.Z.' ' ' a.`. +.+. . . . . . ", -". . . . . . . . . . Z ++8.@+#+$+%+&+*+=+-+;+>+. . . . . . . . . ", -". . . . . . . . . . . . . . ,+'+)+!+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . ~+k.{+]+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . ^+/+(+_+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . :+<+[+}+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . |+1+T 2+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . 3+4+5+6+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . 7+8+9+0+. . . . . . . . . . . . . . ", -". . . . . . . . . . . . a+b+c+d+e+f+. . . . . . . . . . . . . . ", -". . . . . . . . . . g+h+i+j+k+l+m+n+. . . . . . . . . . . . . . ", -". . . . . . . R o+f p+^ ^ ^ ^ ^ q+= . . . . . . . . . . . . . . ", -". . . . . r+s+t+^ ^ ^ ^ ^ ^ u+v+w+. . . . . . . . . . . . . . . ", -". . . . . x+^ ^ ^ ^ ^ y+z+A+. . . . . . . . . . . . . . . . . . ", -". . . . . g ^ ^ ^ B+C+D+. . . . . . . . . . . . . . . . . . . . ", -". . . . . 2 g E+v+w+. . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/modules/gui/src/xpm/ost_small.xpm b/modules/gui/src/xpm/ost_small.xpm deleted file mode 100644 index 3a9e8ea213534c7d96046533d68442431199db51..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/ost_small.xpm +++ /dev/null @@ -1,370 +0,0 @@ -/* XPM */ -static const char * ost_small_xpm[] = { -"100 34 333 2", -" c #FFFFFF", -". c #FDFEFE", -"+ c #F0F5F5", -"@ c #F2F6F6", -"# c #FEFEFE", -"$ c #FAFCFC", -"% c #F4F8F8", -"& c #F6F9F9", -"* c #EEF4F4", -"= c #F9FBFB", -"- c #F5F8F8", -"; c #E8F0F0", -"> c #8FB3B4", -", c #5C9092", -"' c #538A8C", -") c #619395", -"! c #9BBBBC", -"~ c #F2F6F7", -"{ c #77A2A4", -"] c #DDE8E8", -"^ c #8BB0B1", -"/ c #568C8E", -"( c #6E9C9E", -"_ c #D5E2E3", -": c #FCFDFD", -"< c #B1CACB", -"[ c #6C9B9D", -"} c #548A8C", -"| c #7EA7A8", -"1 c #D8E5E5", -"2 c #DEE8E8", -"3 c #7EA8A9", -"4 c #E6EEEE", -"5 c #86ACAE", -"6 c #73A0A1", -"7 c #E0E9EA", -"8 c #E3ECEC", -"9 c #5F9294", -"0 c #EFF4F4", -"a c #5B8F91", -"b c #EAF0F1", -"c c #5A8E90", -"d c #588E90", -"e c #DAE6E6", -"f c #D4E2E2", -"g c #6A9A9B", -"h c #BBBEDF", -"i c #8C92C9", -"j c #A2A6D4", -"k c #EFF0F8", -"l c #A5C2C3", -"m c #79A4A6", -"n c #D6E3E4", -"o c #CFDEDF", -"p c #96B8B9", -"q c #7FA8A9", -"r c #B3CCCC", -"s c #A0BEBF", -"t c #B5CCCE", -"u c #88AEB0", -"v c #A2C0C1", -"w c #81A9AB", -"x c #98B9BA", -"y c #76A2A4", -"z c #D9E5E5", -"A c #7C83C2", -"B c #3640A1", -"C c #4B54AB", -"D c #E7E8F4", -"E c #F6F6FB", -"F c #8086C3", -"G c #424BA6", -"H c #5C64B3", -"I c #D2D5EA", -"J c #FAF8FC", -"K c #CFB6E1", -"L c #DCCAE9", -"M c #F3F7F7", -"N c #C8DADA", -"O c #BBD1D2", -"P c #F0F4F4", -"Q c #D83BA2", -"R c #E786C5", -"S c #C6D8D9", -"T c #5A8F91", -"U c #FBFCFC", -"V c #9ABABC", -"W c #72A0A1", -"X c #709EA0", -"Y c #DEE8E9", -"Z c #EDF2F3", -"` c #578C8E", -" . c #5B9092", -".. c #F8FAFA", -"+. c #C5D7D8", -"@. c #CFD1E8", -"#. c #868CC6", -"$. c #9096CB", -"%. c #4851AA", -"&. c #F9FAFC", -"*. c #9D6AC1", -"=. c #7730A9", -"-. c #C8ACDC", -";. c #FDF8FC", -">. c #D976CC", -",. c #DD85D1", -"'. c #FFFEFE", -"). c #FFFEFF", -"!. c #F3C5E3", -"~. c #FEFAFD", -"{. c #F0B6DD", -"]. c #EEAAD6", -"^. c #EB9ACF", -"/. c #E062B4", -"(. c #F3C1E2", -"_. c #ECF2F2", -":. c #E4ECEC", -"<. c #C2D5D6", -"[. c #5E9293", -"}. c #548B8D", -"|. c #EDF3F3", -"1. c #69999B", -"2. c #C3D6D6", -"3. c #ACB0D8", -"4. c #636AB6", -"5. c #636BB6", -"6. c #DEE0F0", -"7. c #FDFCFE", -"8. c #7933AA", -"9. c #A272C4", -"0. c #EEC0E8", -"a. c #BF1AA9", -"b. c #F6DEF2", -"c. c #F4C8E5", -"d. c #CC0086", -"e. c #E476BE", -"f. c #EEACD8", -"g. c #CD0388", -"h. c #D11892", -"i. c #FCF2F9", -"j. c #EDA4D4", -"k. c #DCE7E8", -"l. c #C8D9DA", -"m. c #F1F6F6", -"n. c #5E9193", -"o. c #ECF2F3", -"p. c #CCCEE7", -"q. c #8389C5", -"r. c #454EA8", -"s. c #F8F8FC", -"t. c #A475C6", -"u. c #7831AA", -"v. c #CFB6E0", -"w. c #FCF6FC", -"x. c #D66BC8", -"y. c #DA7ACD", -"z. c #FEFDFE", -"A. c #FEFBFD", -"B. c #EEA8D6", -"C. c #FDF3FA", -"D. c #EB9CD0", -"E. c #EEA9D6", -"F. c #D01791", -"G. c #E88BC8", -"H. c #EAF1F1", -"I. c #B3CBCC", -"J. c #6C9B9C", -"K. c #FCFCFC", -"L. c #FEFEFF", -"M. c #757CBE", -"N. c #4650A9", -"O. c #E4E5F2", -"P. c #F4F4FA", -"Q. c #767DBE", -"R. c #3A44A3", -"S. c #525BAE", -"T. c #DAC6E8", -"U. c #E6D8EF", -"V. c #E4EDED", -"W. c #EC9ED1", -"X. c #F6D4EB", -"Y. c #AFC9CA", -"Z. c #67989A", -"`. c #F7FAFA", -" + c #96B7B8", -".+ c #8CB1B2", -"++ c #9CBCBD", -"@+ c #FCFCFE", -"#+ c #B1B5DB", -"$+ c #989DCF", -"%+ c #EAEBF5", -"&+ c #FDFDFE", -"*+ c #7BA5A7", -"=+ c #5D9193", -"-+ c #9DBCBD", -";+ c #B4CCCD", -">+ c #89AFB0", -",+ c #649698", -"'+ c #E0EAEA", -")+ c #D2E0E1", -"!+ c #98B8BA", -"~+ c #9EBDBE", -"{+ c #82AAAC", -"]+ c #609294", -"^+ c #83AAAC", -"/+ c #558C8E", -"(+ c #BBD0D1", -"_+ c #C0D4D4", -":+ c #5B9091", -"<+ c #629496", -"[+ c #92B5B6", -"}+ c #7CA6A8", -"|+ c #D2E1E1", -"1+ c #D0DFE0", -"2+ c #8DB1B2", -"3+ c #9DBCBE", -"4+ c #B6CDCE", -"5+ c #92B4B6", -"6+ c #83ABAC", -"7+ c #F1F5F6", -"8+ c #EBF2F2", -"9+ c #BCD2D2", -"0+ c #7BA5A6", -"a+ c #C6D8D8", -"b+ c #E9F0F0", -"c+ c #FEFFFF", -"d+ c #B8CFD0", -"e+ c #6F9D9E", -"f+ c #619495", -"g+ c #93B5B6", -"h+ c #729FA1", -"i+ c #B6CECE", -"j+ c #B0CACA", -"k+ c #97B8BA", -"l+ c #90B4B5", -"m+ c #C1D5D6", -"n+ c #7AA5A6", -"o+ c #609395", -"p+ c #95B7B8", -"q+ c #6B9A9C", -"r+ c #E6EEEF", -"s+ c #A7C3C4", -"t+ c #AAC6C7", -"u+ c #E2EBEB", -"v+ c #719EA0", -"w+ c #AEC8C8", -"x+ c #A4C1C2", -"y+ c #93B6B7", -"z+ c #6A9A9C", -"A+ c #7DA6A8", -"B+ c #9EBCBE", -"C+ c #588D8F", -"D+ c #A8C4C5", -"E+ c #E2EBEC", -"F+ c #7CA6A7", -"G+ c #A5C2C2", -"H+ c #E2ECEC", -"I+ c #5E9294", -"J+ c #E5EDEE", -"K+ c #BED2D3", -"L+ c #F4F7F7", -"M+ c #BFD4D4", -"N+ c #6D9C9D", -"O+ c #BED2D4", -"P+ c #DEE9E9", -"Q+ c #D6E3E3", -"R+ c #DCE8E8", -"S+ c #A6C2C3", -"T+ c #9CBCBC", -"U+ c #78A4A5", -"V+ c #75A1A3", -"W+ c #669798", -"X+ c #679899", -"Y+ c #99BABB", -"Z+ c #FCFEFE", -"`+ c #ADC7C8", -" @ c #CBDCDC", -".@ c #619496", -"+@ c #EEF3F3", -"@@ c #669799", -"#@ c #F4F7F8", -"$@ c #6D9C9E", -"%@ c #B2CBCC", -"&@ c #7AA4A6", -"*@ c #A1BFC0", -"=@ c #DBE6E7", -"-@ c #A9C4C5", -";@ c #74A1A2", -">@ c #AAC6C6", -",@ c #E8EFEF", -"'@ c #68989A", -")@ c #EAF0F0", -"!@ c #A0BEC0", -"~@ c #E0EAEB", -"{@ c #DAE6E7", -"]@ c #69999A", -"^@ c #FAFBFB", -"/@ c #6C9C9D", -"(@ c #91B4B6", -"_@ c #8EB2B3", -":@ c #558B8D", -"<@ c #DBE7E7", -"[@ c #578D8F", -"}@ c #8AAFB0", -"|@ c #5D9192", -"1@ c #8EB2B4", -"2@ c #94B6B8", -"3@ c #C4D7D8", -"4@ c #94B6B7", -"5@ c #74A0A2", -"6@ c #D8E4E5", -"7@ c #E1EBEB", -"8@ c #ADC8C8", -"9@ c #729FA0", -"0@ c #B8CECF", -"a@ c #B2CACB", -"b@ c #8AAFB1", -"c@ c #B0C9CA", -"d@ c #AFC8C9", -"e@ c #A4C2C3", -"f@ c #B8CED0", -"g@ c #B9CFD0", -"h@ c #C3D6D7", -"i@ c #8BB0B2", -"j@ c #C9DADB", -"k@ c #8CB0B2", -"l@ c #AEC8C9", -"m@ c #88AEAF", -"n@ c #B9D0D0", -"o@ c #D7E4E4", -"p@ c #8AB0B1", -"q@ c #8DB2B3", -"r@ c #CADBDC", -" ", -" ", -" ", -" ", -" . + @ # $ % & * $ = - ", -" ; > , ' ' ) ! @ ~ { { { ] ^ / ' ( _ : < [ } ' / | 1 2 { { 3 4 5 / ' 6 7 ", -" 8 9 ' ' ' ' ' ' [ @ 0 ' ' ' a ' ' ' ' , b : 5 ' ' / c ' ' d e f ' ' / , ' ' ' ' g : ", -" # h i j k l ' ' m n o g ' ' p 0 ' ' ' q r s / ' ' s t ' ' u & . v ' ' w f ' ' ' [ x y ' ' ' z ", -" A B B B C D E F G H I J K L M N O P Q R S ' ' T U 0 ' ' ' * V ' ' W X ' ' Y . . Z ' ' ` $ f ' ' .: ..d ' ' +. ", -" @.B B B B B #. $.B B B %.&. *.=.=.-. ;.>.,.'. ).!.~. {.].^./.(._.' ' ' :.0 ' ' ' * <.' ' [.= }.' ' / / / / ' ' ' |.f ' ' , 1.' ' 2. ", -" 3.B B B B B 4. 5.B B B B 6. 7.8.=.=.9. 0.a.a.b. c.d.e.f.g.h.i.j. M ' ' ' k.0 ' ' ' * l.' ' .m.' ' ' , n.n.n.n.n.n.o.f ' ' , ( ' ' 2. ", -" p.B B B B B q. i B B B r.s. t.=.u.v. w.x.y.z. A.B.C. D.E.f.F.G.4 ' ' ' H.0 ' ' ' * I.' ' J.K.` ' ' 2 f ' ' , ( ' ' 2. ", -" L.M.B B B N.O. P.Q.R.S.p. 7.T.U. # V._.W.X.Y.' ' Z.# 0 ' ' ' * `.X ' ' + | ' ' .+: H.++ f ' ' , ( ' ' 2. ", -" @+#+q.$+%+ &+ = *+' =+-+ +` ' ' ;+ 0 ' ' ' m >+,+' ' / '+ )+}.' ' J.!+~+{+/ ]+ f ' ' , ( ' ' 2. ", -" $ ^+' ' ' ' ' ' p # 0 ' ' ' ' ' ' ' /+(+ _+:+' ' ' ' ' ' <+ f ' ' , ( ' ' 2. ", -" # l.[+}+| x |+ 0 ' ' ' 1+v 2+3+2 + 4+5+{+6+ +O 7+ 8+Y.Y.;+ 9+Y.Y.8 ", -" ! 0+0+a+ 0 ' ' ' _. ", -" }+' ' ;+ 0 ' ' ' _. ", -" - b+7+c+ }+' ' ;+ = H.0 # 0 ' ' ' _. # _.4 & ", -" # d+e+' ' ' f+g+= h+c ' ' <+( ( i+8 ( ( X = j+6 k+4 ( ( ( : l+( ( m+ N n+/ ' ' o+p++.[ ' ' ' q+( ( r+s+( ( t+ u+( ( v+# w+( ( x+; y+z+1+ % ~+9 ' ' }.A+] ", -" B+' ' ' ' ' ' ' @ C+' ' ' ' ' ' D+Y ' ' }.m ' ' u E+' ' ' U F+' ' 4+ l ' ' ' ' ' ' ' G+' ' ' ' ' ' ' H+p ' ' V k.' ' / # ~+' ' X =+' ' N % v+' ' n.I+' ' , J+ ", -" * }.' ' K++ J+< <+L+M+N+' ' > O+O+P+Y ' ' ' ' ' ' u E+' ' ' U F+' ' 4+ Q+} ' ' y+k.R+S+d S ;+' ' ' I.O+O+% p ' ' V k.' ' / # ~+' ' ' ' ' ' N T+' ' s . . p ' ' [+ ", -" P+' ' ' j+* % . }+' ' ;+ Y ' ' }._+o.& 0 E+' ' ' U F+' ' 4+ l+' ' U+# 2 0 0 ' ' ' * p ' ' V k.' ' / # ~+' ' V+f % m.@ , ' } * ...._ ' ' W+ ", -" ..n.' ' ' ' X+Y+H. }+' ' ;+ Y ' ' / Z+ E+' ' ' U F+' ' 4+ v+' ' `+ 0 ' ' ' * p ' ' V k.' ' / # ~+' ' y+ V.' ' ' ' ' ' ' ' ' ` # ", -" @n.' ' ' ' ' .@+@ }+' ' ;+ Y ' ' / Z+ E+' ' ' U F+' ' 4+ z+' ' d+ 0 ' ' ' * p ' ' V k.' ' / # ~+' ' y+ R+' ' ' @@@@@@@@@@@@1.. ", -" #@M+x $@' ' ' %@ }+' ' ;+ Y ' ' / Z+ E+' ' ' M F+' ' 4+ &@' ' *@ 0 ' ' ' * p ' ' y+ k.' ' / # ~+' ' y+ _.' ' ' + ", -" =@-@.. # ;@' ' >@ q ' ' *@ Y ' ' / Z+ ,@' ' ' 9+# '+'@' ' 4+ s+' ' .@)@ U !@~@m.' ' ' {@ ++' ' ]@@ ^@Y.' ' / # ~+' ' y+ /@' ' x . e -+ ", -" f ' ]+(@G+_@:@' }.<@ !+' ' [@_@}@%@Y ' ' / Z+ : [.' ' ' d ' ' ' ' 4+ + <+' ' |@1@[+@@' =@# ]+' ' @@2@n+V.O ' ' ' /+/ ' ' ' / # ~+' ' y+ 3@' ' ' q+(@4@5@' 5@ ", -" 6@' ' ' ' ' ' C+i+ 7@, ' ' ' ' D+Y ' ' / Z+ 8@' ' ' ' 9@[ ' ' 4+ 2 z+' ' ' ' ' ' Y < ' ' ' ' ' H+& z+' ' ' }.>+' ' / # ~+' ' y+ 0@T ' ' ' ' ' ' 0+ ", -" 8 a@2@b@[+c@H. 8+d@k+p e@] @ f@f@g@# h@1@i@4+$ j@f@f@~@ $ S 3+k@_@-@P+ _ x+p+Y+l@- P x+m@k+e + f@f@n@c+ o@f@f@)+ + d+x p@q@v r@^@ ", -" ", -" ", -" ", -" "}; diff --git a/modules/gui/src/xpm/rigid_transform.svg b/modules/gui/src/xpm/rigid_transform.svg deleted file mode 100644 index 02c5611897df0a135fc91dd3cf3d04dd7b4f1f82..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/rigid_transform.svg +++ /dev/null @@ -1,222 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="192.00000px" - height="192.00000px" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.42.2" - sodipodi:docbase="/home/ansgar/projects/dng/modules/gui/src/xpm" - sodipodi:docname="rigid_transform.svg" - inkscape:export-filename="/home/ansgar/projects/dng/modules/gui/src/xpm/rigid_transform.png" - inkscape:export-xdpi="150.00000" - inkscape:export-ydpi="150.00000"> - <defs - id="defs4"> - <linearGradient - id="linearGradient2201"> - <stop - style="stop-color:#00addd;stop-opacity:1.0000000;" - offset="0.0000000" - id="stop2203" /> - <stop - style="stop-color:#5b009e;stop-opacity:1.0000000;" - offset="1.0000000" - id="stop2205" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2201" - id="radialGradient2209" - cx="127.96352" - cy="47.797268" - fx="127.96352" - fy="47.797268" - r="70.000000" - gradientTransform="matrix(0.969750,-0.533427,0.506414,0.915355,-50.73586,119.7694)" - gradientUnits="userSpaceOnUse" /> - <marker - inkscape:stockid="Arrow2Sstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Sstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="cccc" - id="arrowMarkerPath2" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.3) translate(-5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Mstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Mstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="cccc" - id="path2167" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.6) translate(-5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Mstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Mstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path2184" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.4)" /> - </marker> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Send" - style="overflow:visible;"> - <path - sodipodi:nodetypes="cccc" - id="path2173" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.3) rotate(180) translate(-5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Mend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Mend" - style="overflow:visible;"> - <path - sodipodi:nodetypes="cccc" - id="path2176" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.6) rotate(180) translate(-5,0)" /> - </marker> - <linearGradient - id="linearGradient2947"> - <stop - style="stop-color:#0400d8;stop-opacity:1.0000000;" - offset="0.0000000" - id="stop2949" /> - <stop - style="stop-color:#ae0081;stop-opacity:1.0000000;" - offset="1.0000000" - id="stop2951" /> - </linearGradient> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Lend" - style="overflow:visible;"> - <path - sodipodi:nodetypes="cccc" - id="path2179" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(1.1) rotate(180) translate(-5,0)" /> - </marker> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.3330956" - inkscape:cx="95.683905" - inkscape:cy="98.912863" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - gridspacingy="8.0000000px" - gridspacingx="8.0000000px" - gridoriginy="0.0000000px" - gridoriginx="0.0000000px" - inkscape:window-width="1104" - inkscape:window-height="1058" - inkscape:window-x="448" - inkscape:window-y="34" - inkscape:grid-points="true" - gridtolerance="5.0000000px" - gridempspacing="8" - showguides="true" - inkscape:guide-bbox="true" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - style="opacity:1.0000000;fill:#ffffd2;fill-opacity:1.0000000;stroke:none;stroke-width:6.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="rect3703" - width="192.00000" - height="192.00000" - x="0.0000000" - y="0.0000000" /> - <path - style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#radialGradient2209);stroke-width:14.488930;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" - d="M 125.93201,124.59575 L 91.108466,124.59575 L 67.892780,153.53192 L 91.108466,124.59575 L 67.892780,89.872340 L 27.265327,101.44681 L 67.892780,89.872340 L 67.892780,55.148936 L 114.32416,60.936170 L 120.12808,32.000000 L 114.32416,60.936170 L 131.73593,89.872340 L 102.71632,95.659577 L 131.73593,89.872340 L 160.75554,78.297872" - id="path1330" - sodipodi:nodetypes="ccccccccccccccc" /> - <path - sodipodi:type="arc" - style="opacity:0.84269663;fill:none;fill-opacity:1.0000000;stroke:#000000;stroke-width:8.3497701;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#Arrow2Sstart);marker-mid:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="path1338" - sodipodi:cx="96.000000" - sodipodi:cy="96.000000" - sodipodi:rx="80.000000" - sodipodi:ry="80.000000" - d="M 163.10921,139.54715 A 80.000000,80.000000 0 0 1 28.377203,138.74526" - sodipodi:start="0.57560141" - sodipodi:end="2.5778946" - transform="matrix(1.079355,0.000000,0.000000,1.076395,-7.602993,-7.333912)" - sodipodi:open="true" /> - <path - transform="matrix(1.079355,0.000000,0.000000,-1.076395,-7.602993,200.3185)" - sodipodi:end="2.5277195" - sodipodi:start="0.60580900" - d="M 161.76334,141.55418 A 80.000000,80.000000 0 0 1 30.606154,142.08302" - sodipodi:ry="80.000000" - sodipodi:rx="80.000000" - sodipodi:cy="96.000000" - sodipodi:cx="96.000000" - id="path5219" - style="opacity:0.84269663;fill:none;fill-opacity:1.0000000;stroke:#000000;stroke-width:8.3497701;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#Arrow2Sstart);marker-mid:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - sodipodi:type="arc" - sodipodi:open="true" /> - </g> -</svg> diff --git a/modules/gui/src/xpm/rigid_transform.xpm b/modules/gui/src/xpm/rigid_transform.xpm deleted file mode 100644 index 4e91390c5834c446c0741a42868f1112838fd5ea..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/rigid_transform.xpm +++ /dev/null @@ -1,367 +0,0 @@ -/* XPM */ -static const char * rigid_transform_xpm[] = { -"32 32 332 2", -" c None", -". c #FFFFD2", -"+ c #FDFDD1", -"@ c #CACAA6", -"# c #909076", -"$ c #656553", -"% c #48483A", -"& c #3A3A2F", -"* c #3B3B30", -"= c #49493B", -"- c #919177", -"; c #CBCBA7", -"> c #FDFDD0", -", c #F5F5CA", -"' c #9D9D81", -") c #414135", -"! c #282820", -"~ c #2C2C23", -"{ c #525243", -"] c #72725D", -"^ c #81816A", -"/ c #808069", -"( c #71715D", -"_ c #404034", -": c #9C9C80", -"< c #F6F6CA", -"[ c #BBBB9A", -"} c #3F3F33", -"| c #626250", -"1 c #B6B696", -"2 c #F4F4C9", -"3 c #F5F5C9", -"4 c #61614F", -"5 c #3E3E32", -"6 c #BABA99", -"7 c #FCFCCF", -"8 c #82826A", -"9 c #525242", -"0 c #CFCFAA", -"a c #FBFAD1", -"b c #8C59B1", -"c c #8951AF", -"d c #FAF8D1", -"e c #535344", -"f c #82826B", -"g c #E7E7BE", -"h c #FBFBCF", -"i c #6A6A57", -"j c #8B8B72", -"k c #D4C7C8", -"l c #4F16A6", -"m c #5112A4", -"n c #E0D3C9", -"o c #6C6C58", -"p c #F0F0C6", -"q c #72725E", -"r c #4C4C3E", -"s c #292921", -"t c #A6A688", -"u c #AD9FC1", -"v c #4823AB", -"w c #4D23AA", -"x c #F9F7D0", -"y c #A4A487", -"z c #5F5F4E", -"A c #6E6E5B", -"B c #2E2E25", -"C c #000000", -"D c #272720", -"E c #D3D3AD", -"F c #837CBC", -"G c #4131AF", -"H c #6552B4", -"I c #DBDBB4", -"J c #36362C", -"K c #020201", -"L c #25251E", -"M c #010101", -"N c #0E0E0C", -"O c #9F9F83", -"P c #9485BD", -"Q c #4634B0", -"R c #554FB6", -"S c #6B6DBB", -"T c #8289C0", -"U c #9AA2C5", -"V c #B2BAC8", -"W c #CCD1CB", -"X c #545CBA", -"Y c #3A3EB4", -"Z c #8785BE", -"` c #FEFED1", -" . c #090907", -".. c #E1E1BA", -"+. c #404035", -"@. c #E0E0B8", -"#. c #5549B4", -"$. c #3B3BB3", -"%. c #3743B6", -"&. c #3449B8", -"*. c #314EBA", -"=. c #3051BB", -"-. c #2F52BC", -";. c #2F52BB", -">. c #314FBA", -",. c #334AB9", -"'. c #ABB2C7", -"). c #D4D4AF", -"!. c #303028", -"~. c #D5D5AF", -"{. c #5052B7", -"]. c #3546B7", -"^. c #5A70BE", -"/. c #718AC3", -"(. c #547AC2", -"_. c #376AC1", -":. c #2860C1", -"<. c #285FC0", -"[. c #2A5CBF", -"}. c #2D57BD", -"|. c #748BC3", -"1. c #F9F9CD", -"2. c #C5C5A2", -"3. c #4B5ABA", -"4. c #3050BB", -"5. c #91A8C7", -"6. c #F3F7D1", -"7. c #D8E4CF", -"8. c #7AA2C9", -"9. c #2662C2", -"0. c #2B5ABF", -"a. c #C6D1CC", -"b. c #F0EBCE", -"c. c #FBF9D1", -"d. c #4762BD", -"e. c #2B5ABE", -"f. c #8EADC9", -"g. c #F4F8D1", -"h. c #397CC7", -"i. c #2664C2", -"j. c #4B73C1", -"k. c #FAFBD1", -"l. c #BEBBC7", -"m. c #7662B6", -"n. c #4C1DA8", -"o. c #7744AE", -"p. c #4468BF", -"q. c #2761C1", -"r. c #8CB1CB", -"s. c #B2CFCE", -"t. c #226CC5", -"u. c #6682C2", -"v. c #4756BA", -"w. c #3C3AB3", -"x. c #432DAE", -"y. c #4A20A9", -"z. c #6C39AC", -"A. c #FEFED2", -"B. c #DBD9CC", -"C. c #A1A5C4", -"D. c #6379C0", -"E. c #2D5CBF", -"F. c #2467C3", -"G. c #7EAECC", -"H. c #E8F6D2", -"I. c #A6D9D3", -"J. c #79BDD1", -"K. c #4F9CCD", -"L. c #1F71C7", -"M. c #2C57BD", -"N. c #3A3CB4", -"O. c #5C4CB4", -"P. c #AA98BF", -"Q. c #F2EECF", -"R. c #FCFBD1", -"S. c #C7AFC2", -"T. c #9071B7", -"U. c #583DB0", -"V. c #3F34B1", -"W. c #3842B6", -"X. c #295DC0", -"Y. c #226BC4", -"Z. c #237DCA", -"`. c #DBECD1", -" + c #FAFDD2", -".+ c #19ADD9", -"++ c #099BD6", -"@+ c #0F8ED1", -"#+ c #1681CD", -"$+ c #1D74C8", -"%+ c #2566C3", -"&+ c #315DBE", -"*+ c #7788C2", -"=+ c #CBCCCA", -"-+ c #A87BB7", -";+ c #540CA2", -">+ c #4D1AA7", -",+ c #4627AC", -"'+ c #3E35B1", -")+ c #3B46B6", -"!+ c #647BC1", -"~+ c #93AEC9", -"{+ c #2970C5", -"]+ c #1B78C9", -"^+ c #49A0CF", -"/+ c #FCFED2", -"(+ c #28B1D8", -"_+ c #099AD6", -":+ c #2899D1", -"<+ c #5CA7CE", -"[+ c #8EB9CD", -"}+ c #BDD1CE", -"|+ c #EFF3D1", -"1+ c #B994BC", -"2+ c #6132AC", -"3+ c #8F7CBB", -"4+ c #C1BEC7", -"5+ c #F4F4D0", -"6+ c #9BBCCC", -"7+ c #1D75C8", -"8+ c #93C9D1", -"9+ c #F8FCD2", -"0+ c #E9F6D2", -"a+ c #F4EFCF", -"b+ c #FDFDD2", -"c+ c #5291C9", -"d+ c #1A79CA", -"e+ c #1E86CD", -"f+ c #DAEBD1", -"g+ c #DEE9D0", -"h+ c #2874C7", -"i+ c #1C76C9", -"j+ c #4893CB", -"k+ c #9BC3CE", -"l+ c #9CC1CD", -"m+ c #9DBFCC", -"n+ c #9FBBCB", -"o+ c #A1B7CA", -"p+ c #C8D1CC", -"q+ c #8FB0CA", -"r+ c #2369C4", -"s+ c #216CC5", -"t+ c #236AC4", -"u+ c #2565C2", -"v+ c #2E55BD", -"w+ c #354DB9", -"x+ c #E8EACF", -"y+ c #797963", -"z+ c #E8E8BF", -"A+ c #EFF1D0", -"B+ c #476CC0", -"C+ c #2A5FC0", -"D+ c #2E63C0", -"E+ c #3061C0", -"F+ c #325CBE", -"G+ c #3556BC", -"H+ c #394FB9", -"I+ c #636BBC", -"J+ c #F9F9D1", -"K+ c #F1F1C7", -"L+ c #98987D", -"M+ c #6F6F5B", -"N+ c #1A1A15", -"O+ c #C1C19F", -"P+ c #FCFCD2", -"Q+ c #6A75BE", -"R+ c #324FBA", -"S+ c #B8C4CA", -"T+ c #CECEA9", -"U+ c #7B7B66", -"V+ c #A5A588", -"W+ c #040403", -"X+ c #8A8A71", -"Y+ c #958DBF", -"Z+ c #3C39B2", -"`+ c #3A3DB4", -" @ c #9499C3", -".@ c #95957B", -"+@ c #080806", -"@@ c #B5B595", -"#@ c #DCDCB5", -"$@ c #11110E", -"%@ c #87876F", -"&@ c #FAFACD", -"*@ c #BFB0C3", -"=@ c #432CAE", -"-@ c #756AB9", -";@ c #F2F2C7", -">@ c #696956", -",@ c #0A0A08", -"'@ c #EEEEC4", -")@ c #8D8D74", -"!@ c #5F5F4D", -"~@ c #C4C4A1", -"{@ c #6E3DAD", -"]@ c #623EAF", -"^@ c #F2F0CF", -"/@ c #C2C2A0", -"(@ c #2D2D24", -"_@ c #505041", -":@ c #AEAE8F", -"<@ c #BDA1BF", -"[@ c #8352B0", -"}@ c #E2D8CB", -"|@ c #E9E9C0", -"1@ c #EAEAC1", -"2@ c #F2F2C8", -"3@ c #2F2F26", -"4@ c #313128", -"5@ c #84846C", -"6@ c #D9D9B3", -"7@ c #85856D", -"8@ c #313127", -"9@ c #96967B", -"0@ c #E3E3BB", -"a@ c #2D2D25", -"b@ c #454538", -"c@ c #757560", -"d@ c #95957A", -"e@ c #A5A587", -"f@ c #74745F", -"g@ c #444437", -"h@ c #E2E2BA", -"i@ c #EDEDC3", -"j@ c #A8A88A", -"k@ c #6E6E5A", -"l@ c #414134", -"m@ c #2A2A21", -"n@ c #434336", -"o@ c #6D6D59", -"p@ c #FAFACE", -"q@ c #FBFBCE", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . + @ # $ % & * = $ - ; > . . . . . . . . . . ", -". . . . . . . . , ' ) ! ~ { ] ^ / ( { ~ ! _ : < . . . . . . . . ", -". . . . . . . [ } ! | 1 2 . . . . . . 3 1 4 ! 5 6 . . . . . . . ", -". . . . . 7 8 ! 9 0 . . . . . . . . a b c d 0 e ! f 7 . . . . . ", -". . . g h i ! j h . . . . . . . . . k l m n . h j ! o h p . . . ", -". . . q r s t . . . . . . . . . . . u v w x . . . y ! z A . . . ", -". . . B C D E . . . . . . . . . . . F G H . . . . I J K L . . . ", -". . g M N O . . . . P Q R S T U V W X Y Z . . . . ` - .C ... . ", -". . y +.@.. . . . . #.$.%.&.*.=.-.;.>.,.'.. . . . . . ).!.O . . ", -". . ~.> . . . . . . {.].^./.(._.:.<.[.}.|.. . . . . . . 1.2.. . ", -". . . . . . . . . . 3.4.5.. . . 6.7.8.9.0.a.. . . . b.c.. . . . ", -". . . . . . . . . . d.e.f.. . . . . g.h.i.j.k.k.l.m.n.o.. . . . ", -". . . . . . . . . . p.q.r.. . . . . . s.t.:.u.v.w.x.y.z.. . . . ", -". . . . . . A.B.C.D.E.F.G.. . . H.I.J.K.L.i.M.,.N.O.P.Q.. . . . ", -". . . R.S.T.U.V.W.4.X.Y.Z.`.. +.+++@+#+$+%+&+*+=+A.. . . . . . ", -". . . -+;+>+,+'+)+!+~+{+]+^+/+/+(+_+:+<+[+}+|+. . . . . . . . . ", -". . . 1+;+2+3+4+5+. . 6+7+#+8+. 9+0+. . . . . . . . . . . . . . ", -". . . . a+. . . . . . b+c+d+e+f+. . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . g+h+i+j+k+l+m+n+o+p+. . . . . . . . . . ", -". . A.. . . . . . . . . . q+r+t.s+t+u+X.v+w+x+. . . . . . . . . ", -". . y+z+. . . . . . . . A+B+[.C+D+E+F+G+H+I+J+. . . . . K+L+. . ", -". . M+N+O+. . . . . . P+Q+,.R+S+. . . . . . . . . . . T+L U+. . ", -". . V+C W+X+` . . . . Y+Z+`+ @. . . . . . . . . . . .@+@C @@. . ", -". . #@C $@%@&@. . . *@,+=@-@b+. . . . . . . . . . ;@>@,@K '@. . ", -". . . )@!@B ~@. . . {@>+]@^@. . . . . . . . . . . /@(@z q . . . ", -". . . . K+_@(@:@. . <@[@}@. . . . . . . . . . . :@(@{ ;@7 . . . ", -". . . . . ;@4 ! ] |@. . . . . . . . . . . . 1@] ! 4 2@. . . . . ", -". . . . . . > L+3@4@5@6@. . . . . . . . 6@7@8@3@9@> . . . . . . ", -". . . . . . . . 0@y+a@! b@c@d@y e@d@f@g@! (@y+h@. . . . . . . . ", -". . . . . . . . . . i@j@k@l@m@! ! s n@o@j@'@. . . . . . . . . . ", -". . . . . . . . . . . . . . p@'@'@q@. . . . . . . . . . . . . . "}; diff --git a/modules/gui/src/xpm/rotamer_transform.svg b/modules/gui/src/xpm/rotamer_transform.svg deleted file mode 100644 index a21c36e63c35408bc1124bbc4a88220ca0bfec48..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/rotamer_transform.svg +++ /dev/null @@ -1,199 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="192.00000px" - height="192.00000px" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.44" - sodipodi:docbase="/home/ansgar/projects/dng/modules/gui/src/xpm" - sodipodi:docname="rotamer_transform.svg" - inkscape:export-filename="/home/ansgar/projects/dng/modules/gui/src/xpm/angle_transform.png" - inkscape:export-xdpi="150.00000" - inkscape:export-ydpi="150.00000"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow1Send" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Send" - style="overflow:visible;"> - <path - id="path4803" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" - transform="scale(0.2) rotate(180) translate(6,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Sstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Sstart" - style="overflow:visible"> - <path - id="path4788" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.3) translate(-2.3,0)" /> - </marker> - <linearGradient - id="linearGradient3679"> - <stop - id="stop3681" - offset="0" - style="stop-color:#2cffd2;stop-opacity:1;" /> - <stop - id="stop3683" - offset="1" - style="stop-color:#009e55;stop-opacity:1;" /> - </linearGradient> - <linearGradient - id="linearGradient2201"> - <stop - style="stop-color:#00addd;stop-opacity:1;" - offset="0" - id="stop2203" /> - <stop - style="stop-color:#5b009e;stop-opacity:1.0000000;" - offset="1.0000000" - id="stop2205" /> - </linearGradient> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Send" - style="overflow:visible;"> - <path - sodipodi:nodetypes="cccc" - id="path2167" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.3) rotate(180) translate(-5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Sstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Sstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path983" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.2)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Lstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path2181" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.8)" /> - </marker> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2201" - id="radialGradient2209" - cx="95.34021" - cy="88.711838" - fx="95.34021" - fy="88.711838" - r="70.000000" - gradientTransform="matrix(-0.795228,0,0,0.704344,196.3058,6.289863)" - gradientUnits="userSpaceOnUse" /> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3679" - id="radialGradient3677" - cx="69.375473" - cy="104.79459" - fx="69.375473" - fy="104.79459" - r="55.358532" - gradientTransform="matrix(1.080689,0,0,0.846429,-7.72025,25.63976)" - gradientUnits="userSpaceOnUse" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.3330956" - inkscape:cx="102.638" - inkscape:cy="98.912863" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - gridspacingy="8.0000000px" - gridspacingx="8.0000000px" - gridoriginy="0.0000000px" - gridoriginx="0.0000000px" - inkscape:window-width="1104" - inkscape:window-height="992" - inkscape:window-x="438" - inkscape:window-y="11" - inkscape:grid-points="true" - gridtolerance="5.0000000px" - gridempspacing="8" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - style="opacity:1.0000000;fill:#ffffd2;fill-opacity:1.0000000;stroke:none;stroke-width:6.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="rect3703" - width="192.00000" - height="192.00000" - x="0.0000000" - y="0.0000000" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#radialGradient2209);stroke-width:15.90457249;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 165.18996,171.77765 L 119.96394,118.80336 L 119.96394,67.90872 L 173.83547,42.094994 L 119.96394,67.90872 L 88.154788,17.014087" - id="path1330" - sodipodi:nodetypes="cccccc" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#radialGradient3677);stroke-width:15.90457249;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 120.84056,118.88336 L 66.824433,114.37757 L 27.956239,61.720491 L 67.253049,114.37757 L 22.237826,154.96023" - id="path2786" - sodipodi:nodetypes="ccccc" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 79.72241,95.990218 L 98.152858,80.560074" - id="path4825" - sodipodi:nodetypes="cc" /> - </g> -</svg> diff --git a/modules/gui/src/xpm/rotamer_transform.xpm b/modules/gui/src/xpm/rotamer_transform.xpm deleted file mode 100644 index 2a1234205767477779253802f6108f3ce2f90452..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/rotamer_transform.xpm +++ /dev/null @@ -1,227 +0,0 @@ -/* XPM */ -static const char *rotamer_transform_xpm[] = { -/* columns rows colors chars-per-pixel */ -"32 32 189 2", -" c #030302", -". c #0B0B09", -"X c #25251E", -"o c #39392E", -"O c #3E3E33", -"+ c #61614F", -"@ c #70705C", -"# c #7A7A64", -"$ c #009E55", -"% c #05A057", -"& c #01A25B", -"* c #0CA35A", -"= c #0B9B66", -"- c #04A862", -"; c #1BA962", -": c #08B16E", -"> c #09B370", -", c #0CB877", -"< c #0EBB7B", -"1 c #18B472", -"2 c #2EAF6B", -"3 c #2EBB79", -"4 c #40B674", -"5 c #919177", -"6 c #99997E", -"7 c #3D36B1", -"8 c #3B3BB3", -"9 c #5A009D", -"0 c #4D1892", -"q c #60099F", -"w c #530DA2", -"e c #5809A0", -"r c #4E18A7", -"t c #4C1CA8", -"y c #5211A4", -"u c #620CA0", -"i c #6410A1", -"p c #6917A2", -"a c #6A18A2", -"s c #4823AA", -"d c #442AAD", -"f c #7327A6", -"g c #762CA7", -"h c #782FA7", -"j c #6133AB", -"k c #2D578D", -"l c #257288", -"z c #3645B7", -"x c #3944B6", -"c c #3749B7", -"v c #324CB9", -"b c #2F53BC", -"n c #2B5ABE", -"m c #3050BB", -"M c #5248B3", -"N c #6B55B4", -"B c #516EBE", -"V c #7F76BB", -"C c #285FC0", -"Z c #1D75C8", -"A c #187DCB", -"S c #2761C1", -"D c #216DC5", -"F c #2370C6", -"G c #823EAB", -"H c #8542AB", -"J c #8847AC", -"K c #864FAF", -"L c #8949AD", -"P c #9053AF", -"I c #9E6AB3", -"U c #9878B8", -"Y c #778B9D", -"T c #4CB794", -"R c #0FC081", -"E c #14C182", -"W c #12C689", -"Q c #15C88B", -"! c #15CE93", -"~ c #19CF94", -"^ c #16D095", -"/ c #19D59C", -"( c #25CA8D", -") c #3CD69E", -"_ c #1BDBA4", -"` c #1DDEA8", -"' c #20DEA7", -"] c #32DBA3", -"[ c #1FE2AE", -"{ c #23E1AB", -"} c #20E6B2", -"| c #22E9B5", -" . c #2BEAB7", -".. c #24EDBC", -"X. c #39E8B4", -"o. c #50C587", -"O. c #58C688", -"+. c #42D79E", -"@. c #51D59A", -"#. c #61C384", -"$. c #6BC789", -"%. c #74CA8D", -"&. c #72D69C", -"*. c #53E2AB", -"=. c #63E3AE", -"-. c #62EDBA", -";. c #68EBB8", -":. c #1486CF", -">. c #1388CF", -",. c #108BD0", -"<. c #0B96D4", -"1. c #129CD4", -"2. c #2380CA", -"3. c #3988CA", -"4. c #05A2D8", -"5. c #5281C4", -"6. c #668DC4", -"7. c #7899C6", -"8. c #6BA8CC", -"9. c #74B8D0", -"0. c #25F2C1", -"q. c #28F7C8", -"w. c #2BFCCF", -"e. c #72F7C7", -"r. c #7DF3C1", -"t. c #A3A386", -"y. c #948DBF", -"u. c #B58DBA", -"i. c #B992BB", -"p. c #BF9CBD", -"a. c #BEB3BA", -"s. c #C4A4BF", -"d. c #89D298", -"f. c #A4DCA5", -"g. c #8FE4AF", -"h. c #90E0AA", -"j. c #9CE8B3", -"k. c #A2EEBC", -"l. c #A8EFBC", -"z. c #BBE5B0", -"x. c #B4ECBA", -"c. c #D2D2AC", -"v. c #D6D6B0", -"b. c #C4E9B5", -"n. c #C5EEBB", -"m. c #D5F0BE", -"M. c #D9F1BF", -"N. c #E9E9BF", -"B. c #BDB8C6", -"V. c #BABFC8", -"C. c #C7A9C0", -"Z. c #C9ABC0", -"A. c #CDB4C2", -"S. c #C4BCC6", -"D. c #D0BDC4", -"F. c #8CC3D0", -"G. c #B4C4CB", -"H. c #BDC3C9", -"J. c #B3CCCD", -"K. c #BCCDCD", -"L. c #B0D1CF", -"P. c #B8D3CF", -"I. c #AED5D0", -"U. c #ACDCD3", -"Y. c #B5DAD1", -"T. c #8EF1C0", -"R. c #91F8C8", -"E. c #BDF6C6", -"W. c #C2C0C8", -"Q. c #DCC9C6", -"!. c #DCD5CA", -"~. c #D7DCCC", -"^. c #E1D0C8", -"/. c #DFE3CE", -"(. c #CAF3C3", -"). c #D3F2C1", -"_. c #DFFBCD", -"`. c #EAEAC0", -"'. c #ECE1CB", -"]. c #F0E9CD", -"[. c #E3F4C3", -"{. c #EDFACB", -"}. c #F5F2CD", -"|. c #F2FBCD", -" X c #FAFCCE", -".X c #E3EDD0", -"XX c #F6F4D0", -"oX c #F9F6D0", -"OX c #FEFED1", -/* pixels */ -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXoXZ.'.OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXu.9 u '.OXOXOXOXOXOXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXi.9 9 P OXOXOXOXOXOXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXoXh 9 9 A.OXOXOXOXOXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXQ.e y j XXOXOXOXOXOXOXOXOXOX^.].OXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXU s d y.OXOXOXOXOXOXOXD.G 9 e ].OX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOX}.M 8 v ~.OXOXOXOXS.N t w 9 u '.OX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXV.m n 5.OXOXG.B z 8 d r K Q.OXOX", -"OXOXOXz.; $.OXOXOXOXOXOXOXOXOXOXOX6.D Z 8.3.D S b x V !.OXOXOXOX", -"OXOXOX%.$ $ d.OXOXOXOXOXOXOXOXOXOX.X2.,.,.,.A F 7./.OXOXOXOXOXOX", -"OXOXOXM.* $ $ b.OXOXOXOXOXOXOXOXOXOXF.<.4.<.9..XOXOXOXOXOXOXOXOX", -"OXOXOXOXf.$ $ ; {.OXOXOXOXOXOXN.5 # I.<.4.U.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOX#.& - o.OXOXOXOXOX}.X c.L.:.,.Y.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOX|.3 > , h.OXOXOX6 O o @ OXJ.Z Z P.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOX).E R Q (.OXN. . v.OXOXG.n S K.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXj.! / ] {.t.+ `.OXOXOXV.v v W.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOX=.` { -._.|.OXOXOXOXB.7 8 S.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOX{.X...0.0.| ' ] +.@.T l k S.OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXE. .0.w.q...[ _ ! W < > - Y OXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXl.` } ..e.R.r.;.*.) ( < : = 0 Z.OXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXg.! _ _ T.OXOXOXOXOXOXOXOXa.9 9 9 Q.OXOXOXOXOXOXOXOX", -"OXOXOXOXOX&.R Q ~ k.OXOXOXOXOXOXOXOXOXOXi.9 9 p '.OXOXOXOXOXOXOX", -"OXOXOX|.O.: , E x.OXOXOXOXOXOXOXOXOXOXOXOXI 9 9 g XXOXOXOXOXOXOX", -"OXOX|.4 $ - 1 n.OXOXOXOXOXOXOXOXOXOXOXOXOXOXL 9 e H OXOXOXOXOXOX", -"OXOXd.$ $ 2 m.OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXXXg 9 9 I OXOXOXOXOX", -"OXOXz.$ 2 ).OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX'.a 9 9 u.OXOXOXOX", -"OXOXOX X XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXQ.u 9 e Z.OXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXZ.9 9 H OXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXp.f C.OXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX", -"OXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOX" -}; diff --git a/modules/gui/src/xpm/torsion_transform.svg b/modules/gui/src/xpm/torsion_transform.svg deleted file mode 100644 index 82256382a773cb4ffd206b835e5fcf3756ebba39..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/torsion_transform.svg +++ /dev/null @@ -1,151 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="192.00000px" - height="192.00000px" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.42.2" - sodipodi:docbase="/home/ansgar/projects/dng/modules/gui/src/xpm" - sodipodi:docname="torsion_transform.svg"> - <defs - id="defs4"> - <linearGradient - id="linearGradient2201"> - <stop - style="stop-color:#00addd;stop-opacity:1.0000000;" - offset="0.0000000" - id="stop2203" /> - <stop - style="stop-color:#5b009e;stop-opacity:1.0000000;" - offset="1.0000000" - id="stop2205" /> - </linearGradient> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Send" - style="overflow:visible;"> - <path - sodipodi:nodetypes="cccc" - id="path2167" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.3) rotate(180) translate(-5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Sstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Sstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path983" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.2)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Lstart" - style="overflow:visible"> - <path - sodipodi:nodetypes="ccccc" - id="path2181" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.8)" /> - </marker> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient2201" - id="radialGradient2209" - cx="100.00000" - cy="92.000000" - fx="100.00000" - fy="92.000000" - r="70.000000" - gradientTransform="matrix(1.000000,0.000000,0.000000,0.885714,0.000000,10.51429)" - gradientUnits="userSpaceOnUse" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.3330956" - inkscape:cx="102.63800" - inkscape:cy="98.912863" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - gridspacingy="8.0000000px" - gridspacingx="8.0000000px" - gridoriginy="0.0000000px" - gridoriginx="0.0000000px" - inkscape:window-width="1104" - inkscape:window-height="1058" - inkscape:window-x="448" - inkscape:window-y="34" - inkscape:grid-points="true" - gridtolerance="5.0000000px" - gridempspacing="8" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - style="opacity:1.0000000;fill:#ffffd2;fill-opacity:1.0000000;stroke:none;stroke-width:6.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="rect3703" - width="192.00000" - height="192.00000" - x="0.0000000" - y="0.0000000" /> - <path - style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#radialGradient2209);stroke-width:20.000000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none" - d="M 40.000000,144.00000 L 72.000000,96.000000 L 136.00000,96.000000 L 160.00000,40.000000" - id="path1330" - sodipodi:nodetypes="cccc" /> - <path - sodipodi:type="arc" - style="opacity:0.87640446;fill:none;fill-opacity:1.0000000;stroke:#000000;stroke-width:15.000000;stroke-linecap:round;stroke-linejoin:round;marker-start:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="path1332" - sodipodi:cx="-48.000000" - sodipodi:cy="-40.000000" - sodipodi:rx="56.000000" - sodipodi:ry="56.000000" - d="M -1.9656648,-8.1120715 A 56.000000,56.000000 0 1 1 -4.5812769,-75.366856" - sodipodi:start="0.60580900" - sodipodi:end="5.5996333" - sodipodi:open="true" - transform="matrix(-0.339866,0.000000,0.000000,1.060131,83.70429,138.4053)" /> - </g> -</svg> diff --git a/modules/gui/src/xpm/torsion_transform.xpm b/modules/gui/src/xpm/torsion_transform.xpm deleted file mode 100644 index 346187155efb568cee5af28ad98388fdc3abd77a..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/torsion_transform.xpm +++ /dev/null @@ -1,235 +0,0 @@ -/* XPM */ -static const char * torsion_transform_xpm[] = { -"32 32 200 2", -" c None", -". c #FFFFD2", -"+ c #FCFCD0", -"@ c #F8F8CC", -"# c #CDCDA8", -"$ c #787862", -"% c #A4A486", -"& c #FEFED1", -"* c #B78FBB", -"= c #630EA1", -"- c #8A4AAD", -"; c #FBF8D1", -"> c #E4E4BC", -", c #A5A587", -"' c #25251E", -") c #2B2B23", -"! c #1F1F19", -"~ c #898970", -"{ c #EFE6CD", -"] c #5E069F", -"^ c #5A009E", -"/ c #D1B8C3", -"( c #C8C8A5", -"_ c #1C1C16", -": c #39392F", -"< c #F1F1C6", -"[ c #777762", -"} c #22221C", -"| c #E2E2BA", -"1 c #AC7EB8", -"2 c #5C029E", -"3 c #EBE0CC", -"4 c #ACAC8D", -"5 c #090907", -"6 c #A1A185", -"7 c #E7E7BE", -"8 c #23231C", -"9 c #8B8B72", -"0 c #FBF9D1", -"a c #6520A6", -"b c #59019E", -"c c #8C4EAE", -"d c #888870", -"e c #000000", -"f c #5A5A49", -"g c #48483B", -"h c #BEADC3", -"i c #4F15A5", -"j c #5509A1", -"k c #5A019E", -"l c #D3BBC4", -"m c #74745F", -"n c #0C0C0A", -"o c #E8E8BF", -"p c #94947A", -"q c #20201A", -"r c #6B57B5", -"s c #4A1FA9", -"t c #5013A4", -"u c #7230A8", -"v c #FEFED2", -"w c #585848", -"x c #7F7F69", -"y c #BFBF9D", -"z c #C9C9A5", -"A c #D4D5CB", -"B c #3F35B1", -"C c #4528AC", -"D c #4C1BA7", -"E c #B89DBF", -"F c #525244", -"G c #F2F2C8", -"H c #AAAA8C", -"I c #7C89C1", -"J c #3A3DB4", -"K c #412FAF", -"L c #5430AD", -"M c #F7F5D0", -"N c #B4B494", -"O c #202019", -"P c #939379", -"Q c #EAEFD0", -"R c #3455BC", -"S c #3743B6", -"T c #3E35B1", -"U c #9889BD", -"V c #F3F6D1", -"W c #8CA9C8", -"X c #6B9ECA", -"Y c #64A5CB", -"Z c #61B1D0", -"` c #5CB9D4", -" . c #59BFD6", -".. c #5BBDD5", -"+. c #5FB5D2", -"@. c #0F1B21", -"#. c #385469", -"$. c #5485C5", -"%. c #2D55BD", -"&. c #3547B7", -"*. c #3F3AB2", -"=. c #E6E3CD", -"-. c #748BC3", -";. c #285FC0", -">. c #206EC6", -",. c #197DCB", -"'. c #118BD0", -"). c #099AD6", -"!. c #03A6DA", -"~. c #06A0D8", -"{. c #0E92D3", -"]. c #031927", -"^. c #0F3762", -"/. c #2565C3", -"(. c #2D57BD", -"_. c #3448B8", -":. c #7777BD", -"<. c #BBC0C9", -"[. c #314EBA", -"}. c #295DBF", -"|. c #226BC5", -"1. c #1B79CA", -"2. c #1486CF", -"3. c #0D92D3", -"4. c #0A99D5", -"5. c #0B96D4", -"6. c #118CD1", -"7. c #041826", -"8. c #103662", -"9. c #2663C2", -"0. c #2E55BD", -"a. c #3646B7", -"b. c #CDCECA", -"c. c #EFEDCF", -"d. c #4B4CB6", -"e. c #344AB8", -"f. c #2C57BD", -"g. c #3570C3", -"h. c #69A1CB", -"i. c #65A9CE", -"j. c #62AFD0", -"k. c #60B2D1", -"l. c #64ACCF", -"m. c #0F1A20", -"n. c #395168", -"o. c #7094C6", -"p. c #778DC3", -"q. c #B3B9C8", -"r. c #8270B9", -"s. c #3742B6", -"t. c #314FBA", -"u. c #B7C7CB", -"v. c #F8F8CD", -"w. c #C4B0C3", -"x. c #4920AA", -"y. c #432DAE", -"z. c #3C39B3", -"A. c #7882C0", -"B. c #A9A98B", -"C. c #F1E9CE", -"D. c #621FA6", -"E. c #4E17A6", -"F. c #4823AB", -"G. c #513FB1", -"H. c #EEEECF", -"I. c #FBFBCF", -"J. c #F9F9CD", -"K. c #C0C09E", -"L. c #C9C9A6", -"M. c #9154AF", -"N. c #59039F", -"O. c #530DA3", -"P. c #4D18A7", -"Q. c #C1B4C4", -"R. c #7A7A64", -"S. c #545444", -"T. c #95957A", -"U. c #F0F0C5", -"V. c #C8A9C1", -"W. c #8C5CB2", -"X. c #949479", -"Y. c #ECECC2", -"Z. c #5B5B4A", -"`. c #47473A", -" + c #6F21A5", -".+ c #6715A2", -"++ c #D6D6B0", -"@+ c #9F9F83", -"#+ c #8C8C73", -"$+ c #C8A9C0", -"%+ c #515143", -"&+ c #F0F0C6", -"*+ c #777761", -"=+ c #E1E1B9", -"-+ c #E0CFC8", -";+ c #9B64B2", -">+ c #C19FBE", -",+ c #CFCFAA", -"'+ c #CDCDA9", -")+ c #A3A386", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . + @ # $ % & . . . . . . * = - ; . . . ", -". . . . . . . . . . . . . > , ' ) ! ~ . . . . . { ] ^ ^ / . . . ", -". . . . . . . . . . . . . ( _ : < [ } | . . . . 1 ^ ^ 2 3 . . . ", -". . . . . . . . . . . . . 4 5 6 . 7 8 9 . . . 0 a b ^ c . . . . ", -". . . . . . . . . . . . . d e 6 . . f g . . . h i j k l . . . . ", -". . . . . . . . . . . . . m n o . . p q < . . r s t u v . . . . ", -". . . . . . . . . . . . . w x . . . y ! z . A B C D E . . . . . ", -". . . . . . . . . . . . . F G . . . | ! H . I J K L M . . . . . ", -". . . . . . . . . . . . . N . . . . @ O P Q R S T U . . . . . . ", -". . . . . . . . . . V W X Y Z ` ...+.@.#.$.%.&.*.=.. . . . . . ", -". . . . . . . . . . -.;.>.,.'.).!.~.{.].^./.(._.:.. . . . . . . ", -". . . . . . . . . <.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.. . . . . . . ", -". . . . . . . . c.d.e.f.g.h.i.j.k.Z l.m.n.o.p.q.. . . . . . . . ", -". . . . . . . . r.T s.t.u.. . . . . v.! p . . . . . . . . . . . ", -". . . . . . . w.x.y.z.A.. . . . . . | ! B.. . . . . . . . . . . ", -". . . . . . C.D.E.F.G.H.. I.J.. . . K.! L.. . . . . . . . . . . ", -". . . . . . M.N.O.P.Q.. . R.S.. . . T.q U.. . . . . . . . . . . ", -". . . . . V.^ ^ N.W.. . . X.q Y.. . Z.`.. . . . . . . . . . . . ", -". . . . . +^ ^ .+C.. . . ++! @+. o } #+. . . . . . . . . . . . ", -". . . . . +^ ^ $+. . . . . %+: &+*+8 =+. . . . . . . . . . . . ", -". . . . . -+;+>+. . . . . . ,+' ) ! d . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . '+$ )+& . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", -". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/modules/gui/src/xpm/xpm_template.svg b/modules/gui/src/xpm/xpm_template.svg deleted file mode 100644 index c25250775eaa29be4bccf698d719e8df0fd139eb..0000000000000000000000000000000000000000 --- a/modules/gui/src/xpm/xpm_template.svg +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="192.00000px" - height="192.00000px" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.42.2" - sodipodi:docbase="/home/ansgar/projects/dng/modules/gui/src/xpm" - sodipodi:docname="xpm_template.svg"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.3330956" - inkscape:cx="102.63800" - inkscape:cy="98.912863" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - gridspacingy="8.0000000px" - gridspacingx="8.0000000px" - gridoriginy="0.0000000px" - gridoriginx="0.0000000px" - inkscape:window-width="1104" - inkscape:window-height="1058" - inkscape:window-x="448" - inkscape:window-y="34" - inkscape:grid-points="true" - gridtolerance="5.0000000px" - gridempspacing="8" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - style="opacity:1.0000000;fill:#ffffd2;fill-opacity:1.0000000;stroke:none;stroke-width:6.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" - id="rect3703" - width="192.00000" - height="192.00000" - x="0.0000000" - y="0.0000000" /> - </g> -</svg> diff --git a/modules/img/alg/doc/alg.rst b/modules/img/alg/doc/alg.rst new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fb0f2b0d8f6bc43a509989365d5ad2ce108c --- /dev/null +++ b/modules/img/alg/doc/alg.rst @@ -0,0 +1,499 @@ +:mod:`img.alg <ost.img.alg>` - Image Processing Algorithms +================================================================================ + +.. module:: ost.img.alg + :synopsis: Image processing algorithms + +Applying algorithms +------------------- + +While image properties are usually manipulated using method of the +:class:`~ost.img.ImageHandle` class, their data content is manipulated using +image algorithms. Image algorithms are objects. Each of them is a class, and its +methods are used to handle the algorithm parameters. Applying an algorithm to an +image is then conceptually a two-step process. First, an instance of an +algorithm class is created, yielding an algorithm object. In a second step, the +algorithm object is applied to an image. An algorithm can be applied in-place +(using the :meth:`~ost.img.ImageHandle.Apply` method), modifying the image, or +out-of-place, (using :meth:`~ost.img.ImageHandle.ApplyIP` ), leaving the original image +untouched, and returning the result as a new image. + +Here is an example. All the algorithms used in the following are described in the :ref:`algorithms` section. + +.. code-block:: python + + # creates an algorithm object + rand_alg = img.alg.Randomize() + # applies algorithm object in place, overwriting the image + im.ApplyIP( rand_alg ) + +Sometimes, there is no need to create a permanent instance of an algorithm +object. A temporary object enough: + +.. code-block:: python + + # applies temporary algorithm object in-place + im.ApplyIP( img.alg.GaussianFilter(4.0) ) + +When used this way, the algorithm class will cease to exist as soon as the +algorithm is applied. However, some algorithm are stateful and store +information. One good example is the :class:`Stat` algorithm, which does not +modify the image when applied, but change its internal state to store +information extracted from the image, which can be recovered later. For example: + +.. code-block:: python + + # creates and applies an algorithm object + stat=img.alg.Stat() + im.ApplyIP(stat) + # extracts information from the algorithm + mean=stat.GetMean() + +It is important to remember that when the algorithms ceases to exist, all information it stores is lost. + +Fourier Transforming Images +---------------------------- + +An image can be Fourier-transformed using either the :class:`FFT` algorithm or +the :class:`DFT` algorithm. The difference between the two is that the +:class:`DFT` algorithm honors the :ref:`spatial-origin` of the image, and +applies the corresponding phase shift in Fourier space. The :class:`FFT` does +not follow this behavior. + +.. code-block:: python + + # create an instance of the Dft algorithm object + dft=img.alg.DFT() + # do the actual Fourier transformation + im_ft=im.Apply(dft) + # back-transform + im2 = im_ft.Apply(dft) + +The :class:`FFT` and :class:`DFT` algorithms do not require a direction to be +given (forward or back transform). This is implicitly determined by the current +:ref:`data-domain` of the image being transformed. The following rules apply. + +* :obj:`SPATIAL` -> :obj:`HALF_FREQUENCY` +* :obj:`HALF_FREQUENCY` -> :obj:`SPATIAL` +* :obj:`FREQUENCY` -> :obj:`COMPLEX_SPATIAL` +* :obj:`COMPLEX_SPATIAL` -> :obj:`FREQUENCY` + +.. _filters: + +Filters +------- + +OpenStructure makes several image filters available. Most of them are Fourier +space filters, others are real space ones. However, since the +:class:`~ost.img.ImagerHandle` class is aware of its own :ref:`data-domain`, +the user does not need to convert the image to Fourier space or to real space. +Irrespective of which domain the filter applies to, OpenStructure will +internally convert the image to the appropriate domain, apply the filter, and +then return the image to its original conditions. + +The following filters are available (their are described in the :ref:`algorithms` section below) + +Fourier space filters: + +* :class:`LowPassFilter` +* :class:`HighPassFilter` +* :class:`GaussianLowPassFilter` +* :class:`GaussianHighPassFilter` +* :class:`FermiLowPassFilter` +* :class:`FermiHighPassFilter` +* :class:`ButterworthLowPassFilter` +* :class:`ButterworthHighPassFilter` +* :class:`FermiLowPassFilter` + +Real space filters: + +* :class:`GaussianFilter` + +.. _algorithms: + +Selected Algorithms +-------------------------------------------------------------------------------- + +Many algorithms are available for image manipulation. What follows is a description of the +most important ones. + +.. class:: DFT() + + This algorithm performs a Fourier Transform of the image, honoring its + :ref:`spatial-origin`, thus applying the corresponding phase shift in Fourier + space. + +.. class:: DiscreteShrink(block_size) + + The algorithm performs a scaling of the original image by merging adjacent + blocks of pixels. The block size is passed in the constructor in the form of + a :class:`~ost.img.Size` but can be changed later using the relevant method. + The :class:`~ost.img.Size` and the :class:`~ost.img.Extent` of the image are + changed when the algorithm is applied. The :ref:`pixel-sampling` of the image + is also adjusted according to the scaling, so that the size of the image in + the absolute reference system used by OpenStructure stays constant. + + :param block_size: Size of the blocks to be merged + :type block_size: :class:`~ost.img.Size` + + .. method:: GetBlocksize() + + Returns the current size of the blocks to be merged + + :rtype: :class:`~ost.img.Size` + + .. method:: SetBlocksize(block size) + + Sets the size of the blocks to be shrunk to the specified value + + :param block_size: + :type block_size: :class:`~ost.img.Size` + +.. class:: FFT() + + This algorithm performs a Fourier Transform of the image, without honoring + its :ref:`spatial-origin` (See :class:`DFT`) + +.. class:: LowPassFilter(cutoff=1.0) + + This algorithm applies a Fourier low pass filter to the image. The filter cutoff frequency needs + to be provided in sampling units (for example 8 Angstrom). Please notice that this filter features a sharp dropoff. + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + .. method:: GetLimit() + + Returns the current value of the filter cutoff frequency (in sampling units). + + :rtype: float + + .. method:: SetLimit(cutoff) + + Sets the value of the filter cutoff frequency to the specified value (in sampling units). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + +.. class:: HighPassFilter(cutoff=1.0) + + This algorithm applies a Fourier high pass filter to the image. The filter cutoff frequency needs + to be provided in sampling units (for example 8 Angstrom). Please notice that this filter features a sharp dropoff. + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + .. method:: GetLimit() + + Returns the current value of the filter cutoff frequency (in sampling units). + + :rtype: float + + .. method:: SetLimit(cutoff) + + Sets the value of the filter cutoff frequency to the specified value (in sampling units). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + +.. class:: GaussianLowPassFilter(cutoff=1.0) + + This algorithm applies a Fourier `Gaussian low pass filter <http://en.wikipedia.org/wiki/Gaussian_filter>`_ to the + image. The filter cutoff frequency needs to be provided in sampling units (for example 8 Angstrom). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + .. method:: GetLimit() + + Returns the current value of the filter cutoff frequency (in sampling units). + + :rtype: float + + .. method:: SetLimit(cutoff) + + Sets the value of the filter cutoff frequency to the specified value (in sampling units). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + +.. class:: GaussianHighPassFilter(cutoff=1.0) + + This algorithm applies a Fourier `Gaussian High pass filter <http://en.wikipedia.org/wiki/Gaussian_filter>`_ to the + image. The filter cutoff frequency needs to be provided in sampling units (for example 8 Angstrom). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + .. method:: GetLimit() + + Returns the current value of the filter cutoff frequency (in sampling units). + + :rtype: float + + .. method:: SetLimit(cutoff) + + Sets the value of the filter cutoff frequency to the specified value (in sampling units). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + +.. class:: FermiLowPassFilter(cutoff=1.0,t=1.0) + + This algorithm applies a Fourier `Fermi low pass filter <http://en.wikipedia.org/wiki/Fermi_filter>`_ to the + image. The filter cutoff frequency and the temperature parameter T need to be provided in sampling units + (for example 8 Angstrom). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + :param t: Temperature factor in sampling units + :type t: float + + .. method:: GetLimit() + + Returns the current value of the filter cutoff frequency in sampling units. + + :rtype: float + + .. method:: SetLimit(cutoff) + + Sets the value of the filter cutoff frequency to the specified value (in sampling units). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + .. method:: GetT() + + Returns the current value of the filter's T factor (in sampling units). + + :rtype: float + + .. method:: SetT(t_factor) + + Sets the value of the filter's T factor to the specified value (in sampling units). + + :param t_factor: Frequency cutoff in sampling units + :type t_factor: float + +.. class:: FermiHighPassFilter(cutoff=1.0,t=1.0) + + This algorithm applies a Fourier `Fermi high pass filter <http://en.wikipedia.org/wiki/Fermi_filter>`_ to the + image. The filter cutoff frequency and the temperature parameter T need to be provided in sampling units + (for example 8 Angstrom). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + :param t: Temperature factor in sampling units + :type t: float + + .. method:: GetLimit() + + Returns the current value of the filter cutoff frequency in sampling units. + + :rtype: float + + .. method:: SetLimit(cutoff) + + Sets the value of the filter cutoff frequency to the specified value (in sampling units). + + :param cutoff: Frequency cutoff in sampling units + :type cutoff: float + + .. method:: GetT() + + Returns the current value of the filter's T factor (in sampling units). + + :rtype: float + + .. method:: SetT(t_factor) + + Sets the value of the filter's T factor to the specified value (in sampling units). + + :param t_factor: Frequency cutoff in sampling units + :type t_factor: float + +.. class:: ButterworthLowPassFilter(passband=1.0,stopband=1.0) + + This algorithm applies a Fourier `Butterworth low pass filter <http://en.wikipedia.org/wiki/Butterworth_filter>`_ to + the image. The filter passband and stopband frequencies need to be provided in sampling units (for example 8 Angstrom). + The default values of the Epsilon and Maximum Passband Gain parameters are set to 0.882 and 10.624 respectively. + + :param passband: Passband frequency in sampling units + :type passband: float + :param stopband: Stopband frequency in sampling units + :type stopband: float + + .. method:: GetLimit() + + Returns the current value of the filter passband frequency in sampling units. + + :rtype: float + + .. method:: SetLimit(passband) + + Sets the value of the filter passband frequency to the specified value (in sampling units). + + :param passband: Frequency cutoff in sampling units + :type passband: float + + .. method:: GetStop() + + Returns the current value of the filter's stopband frequency (in sampling units). + + :rtype: float + + .. method:: SetStop(stopband) + + Sets the value of the filter's stopband frequency to the specified value (in sampling units). + + :param stopband: Frequency cutoff in sampling units + :type stopband: float + + .. method:: GetEps() + + Returns the current value of the filter's Epsilon parameter. + + :rtype: float + + .. method:: SetEps(epsilon) + + Sets the value of the filter's epsilon parameter to the specified value. + + :param eps: Epsilon parameter + :type eps: float + + .. method:: GetA() + + Returns the current value of the filter's Maximum Passband Gain parameter. + + :rtype: float + + .. method:: SetA(gain) + + Sets the value of the filter's Maximum Passband Gain parameter to the specified value. + + :param gain: Maximum Passband Gain parameter + :type gain: float + +.. class:: ButterworthHighPassFilter(passband=1.0,stopband=1.0) + + This algorithm applies a Fourier `Butterworth high pass filter <http://en.wikipedia.org/wiki/Butterworth_filter>`_ + to the image. The filter passband and stopband frequencies need to be provided in sampling units (for example 8 + Angstrom). The default values of the Epsilon and Maximum Passband Gain parameters are set to 0.882 and 10.624 + respectively. + + :param passband: Passband frequency in sampling units + :type passband: float + :param stopband: Stopband frequency in sampling units + :type stopband: float + + .. method:: GetLimit() + + Returns the current value of the filter passband frequency in sampling units. + + :rtype: float + + .. method:: SetLimit(passband) + + Sets the value of the filter passband frequency to the specified value (in sampling units). + + :param passband: Frequency cutoff in sampling units + :type passband: float + + .. method:: GetStop() + + Returns the current value of the filter's stopband frequency (in sampling units). + + :rtype: float + + .. method:: SetStop(stopband) + + Sets the value of the filter's stopband frequency to the specified value (in sampling units). + + :param stopband: Frequency cutoff in sampling units + :type stopband: float + + .. method:: GetEps() + + Returns the current value of the filter's Epsilon parameter. + + :rtype: float + + .. method:: SetEps(epsilon) + + Sets the value of the filter's epsilon parameter to the specified value. + + :param eps: Epsilon parameter + :type eps: float + + .. method:: GetA() + + Returns the current value of the filter's Maximum Passband Gain parameter. + + :rtype: float + + .. method:: SetA(gain) + + Sets the value of the filter's Maximum Passband Gain parameter to the specified value. + + :param gain: Maximum Passband Gain parameter + :type gain: float + +.. class:: GaussianFilter(sigma=1.0) + + This algorithm applies a real space Gaussian filter to the image, as defined in the following publication: + + I.T.Young, L.J. van Vliet,"Recursive implementation of the Gaussian filter",Signal Processing, 44(1995), 139-151 + + :param sigma: Width of the Gaussian filter + :type sigma: float + + .. method:: GetSigma() + + Returns the current value of the filter's width. + + :rtype: float + + .. method:: SetSigma(width) + + Sets the value of the filter's width to the specified value. + + :param sigma: Width of the Gaussian filter + :type sigma: float + + .. method:: SetQ(q_param) + + Sets the value of the filter's Q parameter (see publication) to the specified value. + + :param q_param: Filter's Q parameter + :type q_param: float + +.. class:: Histogram(bins, minimum, maximum) + + This algorithm performs an histogram analysis of the image. The minimum and + maximum pixel values of the histogram representation must be provided when + the algorithm object is created, as well as the number of bins in the + histogram. Bins are equally spaced and minimum and maximum values for each + bin are automatically computed. + + When the algorithm is applied to an image, the analysis is carried out. A + python 'list' object containing in sequence the pixel counts for all the bins + can the be recovered from the algorithm object. + + :param bins: Number of bins in the histogram + :type bins: int + :param minimum: Minimum value in the histogram + :type minimum: float + :param maximum: Maximum value in the histogram + + .. method:: GetBins() + + Returns the bins of the histogram representation + + :rtype: list of ints + + :type maximum: float + + .. method:: GetBins() + diff --git a/modules/img/alg/src/alg_transform.hh b/modules/img/alg/src/alg_transform.hh index be066cf1ca3839bb13f38faddc8e0fff61310994..436e3a25748afb5a2bbbccb9a7d824613874ab7a 100644 --- a/modules/img/alg/src/alg_transform.hh +++ b/modules/img/alg/src/alg_transform.hh @@ -50,15 +50,15 @@ struct DLLEXPORT_IMG_ALG TransformFnc { if(offset_==Vec3(0.0,0.0,0.0)) { for(ExtentIterator it(nisi->GetExtent()); !it.AtEnd(); ++it) { - Point p(it); - Vec3 vold_norm=Vec3(imat * Vec4(p.ToVec3())); - nisi->Value(it) = isi.CalcIntpolValue(vold_norm); + Point p(it); + Vec3 vold_norm=Vec3(imat * Vec4(p.ToVec3())); + nisi->Value(it) = isi.CalcIntpolValue(vold_norm); } } else { for(ExtentIterator it(nisi->GetExtent()); !it.AtEnd(); ++it) { - Point p(it); - Vec3 vold_norm=Vec3(imat * Vec4(p.ToVec3()-offset_))+offset_; - nisi->Value(it) = isi.CalcIntpolValue(vold_norm); + Point p(it); + Vec3 vold_norm=Vec3(imat * Vec4(p.ToVec3()-offset_))+offset_; + nisi->Value(it) = isi.CalcIntpolValue(vold_norm); } } diff --git a/modules/img/alg/src/discrete_shrink.cc b/modules/img/alg/src/discrete_shrink.cc index 3398c820b8f05e528f6bcdfd5aa26ab47d328121..3bc1fa2d11432a015a0fe4e9963d25c4244b7d58 100644 --- a/modules/img/alg/src/discrete_shrink.cc +++ b/modules/img/alg/src/discrete_shrink.cc @@ -72,8 +72,10 @@ ImageStateBasePtr DiscreteShrinkFnc::VisitState(const ImageStateImpl<T,D>& isi) Extent new_ext(newsize); - LOG_VERBOSE("ds: " << isi.GetExtent() << " " << new_ext << std::endl); + LOG_DEBUG("extent of shrunken image" << isi.GetExtent() << " " << new_ext); + + geom::Vec3 ao = isi.GetAbsoluteOrigin(); PixelSampling new_ps = isi.GetSampling(); new_ps.SetExtent(new_ext); @@ -95,8 +97,7 @@ ImageStateBasePtr DiscreteShrinkFnc::VisitState(const ImageStateImpl<T,D>& isi) dt = div(start[1],bs_[1]); newstart[1] = dt.quot; dt = div(start[2],bs_[2]); newstart[2] = dt.quot; - LOG_VERBOSE("ds: newstart: " << newstart << std::endl); - + ni->SetAbsoluteOrigin(ao); ni->SetSpatialOrigin(newstart); ni->GetSampling().SetPixelSampling(CompMultiply(ni->GetSampling().GetPixelSampling(),Vec3(bs_[0],bs_[1],bs_[2]))); diff --git a/modules/img/alg/src/highest_peak_search_3d.cc b/modules/img/alg/src/highest_peak_search_3d.cc index aaedb099410dbf3e292d3430037ee32c1fd9158a..c8e884577be8e601c78c58eecaf1221cb461283e 100644 --- a/modules/img/alg/src/highest_peak_search_3d.cc +++ b/modules/img/alg/src/highest_peak_search_3d.cc @@ -74,42 +74,43 @@ namespace detail { bool insert=true; bool remove_smaller=false; img::PeakList::iterator min_it; + if(!list_.empty()) { min_it = list_.begin(); - } - for(img::PeakList::iterator it=list_.begin();it!=list_.end();++it) - { - if(it->GetValue() < min_it->GetValue()) min_it = it; - if (it->GetValue() >= cand_peak.GetValue() && detail::is_within(cand_peak, *it, exclusion_radius_)) { - insert=false; - } else if (cand_peak.GetValue() >= it->GetValue() && detail::is_within(cand_peak, *it, exclusion_radius_)) { - remove_smaller=true; + for(img::PeakList::iterator it=list_.begin();it!=list_.end();++it) + { + if(it->GetValue() < min_it->GetValue()) min_it = it; + if (it->GetValue() >= cand_peak.GetValue() && detail::is_within(cand_peak, *it, exclusion_radius_)) { + insert=false; + } else if (cand_peak.GetValue() >= it->GetValue() && detail::is_within(cand_peak, *it, exclusion_radius_)) { + remove_smaller=true; + } } - } - if (!insert) return false; + if (!insert) return false; - if (cand_peak.GetValue() < min_it->GetValue()) { - return false; - } + if (cand_peak.GetValue() < min_it->GetValue()) { + return false; + } - if (remove_smaller) - { - img::PeakList::iterator new_end = remove_if(list_.begin(),list_.end(), - detail::is_smaller_and_within_radius(cand_peak,exclusion_radius_)); - list_.erase(new_end,list_.end()); - } + if (remove_smaller) + { + img::PeakList::iterator new_end = remove_if(list_.begin(),list_.end(), + detail::is_smaller_and_within_radius(cand_peak,exclusion_radius_)); + list_.erase(new_end,list_.end()); + } - if (list_.size() == max_num_peaks_) { - list_.erase(min_it); + if (list_.size() == max_num_peaks_) { + list_.erase(min_it); + } } list_.push_back(cand_peak); return true; } - //! Gets list of peaks from collector + //! Gets list of peaks from collector img::PeakList GetPeakList() const { return list_; } //! Clears the peak list removing all peaks in the list @@ -117,7 +118,7 @@ namespace detail { private: - img::PeakList list_; + img::PeakList list_; unsigned int max_num_peaks_; int exclusion_radius_; @@ -129,22 +130,28 @@ template <typename T, class D> void HighestPeakSearch3DBase::VisitState(const ImageStateImpl<T,D>& isi) { - LOG_VERBOSE("highest peak search with the parameters" << std::endl); - LOG_VERBOSE(" max number of peaks: " << max_num_peaks_ << std::endl); - LOG_VERBOSE(" exclusion radius: " << exclusion_radius_ << std::endl); - LOG_VERBOSE(" threshold: " << threshold_ << std::endl); - - if(ext_list_.size()==0) + LOG_DEBUG("highest peak search (" + << "max number of peaks: " << max_num_peaks_ << ", " + << "exclusion radius: " << exclusion_radius_ << ", " + << "threshold: " << threshold_ << ")"); + + if (max_num_peaks_ < 1) + { + throw Error("Error: Maximum number of peaks smaller than 1. Cannot create peak list"); + } + + if(ext_list_.size()==0) { - LOG_VERBOSE(" excluded regions: none" << std::endl); + LOG_DEBUG(" excluded regions: none"); } else { - LOG_VERBOSE(" excluded regions:" << std::endl); + std::stringstream ss; for(ExtList::const_iterator it=ext_list_.begin();it!=ext_list_.end();++it) { - LOG_VERBOSE(" " << (*it) << std::endl); + ss << " " << (*it); } + LOG_DEBUG("exluded regions:" << ss.str()); } detail::PeakCollector peak_collector(max_num_peaks_,exclusion_radius_); diff --git a/modules/img/alg/src/histogram.hh b/modules/img/alg/src/histogram.hh index f974247da64b4f51f1c8d5d87afc1e59b608f022..7805d40fcb86740c0d85eadc35d97111f17eed75 100644 --- a/modules/img/alg/src/histogram.hh +++ b/modules/img/alg/src/histogram.hh @@ -17,6 +17,8 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#ifndef OST_IMG_ALG_HISTOGRAM_HH +#define OST_IMG_ALG_HISTOGRAM_HH /* Author: Ansgar Philippsen @@ -75,3 +77,5 @@ typedef ImageStateNonModAlgorithm<HistogramBase> Histogram; OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateNonModAlgorithm<alg::HistogramBase>) }} // namespaces + +#endif diff --git a/modules/img/base/doc/img.rst b/modules/img/base/doc/img.rst new file mode 100644 index 0000000000000000000000000000000000000000..89670946546e1c6427206e0451abc0520933040e --- /dev/null +++ b/modules/img/base/doc/img.rst @@ -0,0 +1,461 @@ +:mod:`~ost.img` - Images and Density Maps +================================================================================ + +.. toctree:: + :hidden: + + point-size-extent + +.. module:: ost.img + :synopsis: Images and density maps + +Introduction : The ImageHandle +-------------------------------------------------------------------------------- + +OpenStructure offers extensive processing capabilities for planar 2d images and +3d maps using the :mod:`img` module. The main datastructure for images is the +:class:`ImageHandle` class. + +ImageHandles provide a clean and efficient interface to interact with images and +maps. An :class:`ImageHandle` can store an image in either real (:obj:`SPATIAL`) +or Fourier (:obj:`FREQUENCY`) space and always keep track of the currently +active domain. This means,for example that one can apply a Fourier +transformation to an :class:`ImageHandle` containing a :obj:`SPATIAL` image and +the image will correctly identify the new active domain as :obj:`FREQUENCY`. +The :class:`ImageHandle` also understands, for example, that applying a +Fourier Transform to a centrosymmetric :obj:`FREQUENCY` image results in a real +:obj:`SPATIAL` image, but applying it to a non-centrosymmetric one results in a +complex :obj:`SPATIAL` image. + +Furthermore, the image will make sure that real and Fourier space +information about the image are always in sync. If, for example, the pixel +sampling is changed while the current active domain is real space, the pixel +sampling in Fourier space will be adjusted accordingly, and vice versa. + +Creating and visualizing ImageHandles +-------------------------------------------------------------------------------- + +As a first step, enter the following lines in the OpenStructure python console: + +.. code-block:: python + + im=img.CreateImage(img.Size(200,200)) + +This will create an empty, 2D image, with a height and width of 200 pixels, +whose origin (ie the pixel with the coordinates <0,0>) is in the top-left +corner. + +.. code-block:: python + + v=gui.CreateDataViewer(im) + +A viewer window will pop up (see below), showing a white frame on a black +background. The inner area of the white frame is the image, which is empty. + +Reading and writing into an image +------------------------------------------------------------------------------- + +Data can be read and written from and into an image using the following +commands: + +.. code-block:: python + + # writes the real value 23.4 into pixel 10,10 + im.SetReal(img.Point(10,10),23.4) + # reads the value in pixel 10,10 + val=im.GetReal(img.Point(10,10)) + +The complex equivalents are also available + +.. code-block:: python + + # writes the complex value value 2+3j into pixel 10,10 + im.SetComplex(img.Point(10,10),2+3j) + # reads the value in pixel 10,10 + val=im.GetComplex(img.Point(10,10)) + +The image knows in which domain it is, and will adjust the type of data being +written accordingly. For example, if one writes a complex value in a +:obj:`SPATIAL` image, the value will be automatically converted to a real one by +taking the amplitude of the complex number. On the other hand, if one writes a +real value in a :obj:`FREQUENCY` image, the value is automatically +converted to complex by setting the imaginary part to 0. + +Image properties +----------------- + +.. _data-domain: + +The data domain +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The data domain of an image specifies wether the image contains data in the +spatial or frequency domain. A :obj:`HALF_FREQUENCY` domain also exists, +representing centrosymmetric frequency data (such as the data coming from the +Fourier transform of an image from the real spatial domain) + +.. data:: SPATIAL + + Real-valued spatial images + +.. data:: COMPLEX_SPATIAL + + Complex-valued spatial images, i.e. resulting from a Fourier transform of + the :obj:`FREQUENCY` domain. + +.. data:: FREQUENCY + + Complex frequeny domain. + +.. data:: HALF_FREQUENCY + + Centrosymmetric frequency images + + + +.. _spatial-origin: + +The spatial origin +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The spatial origin of an image is the first pixel of its extent. Specifically, +this is the top left pixel for 2D images and the top-front-left corner for 3D +images. + +.. _absolute-origin: + +The absolute origin +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The absolute origin of an image describes the coordinates, in the absolute +reference system used by OpenStructure, of the pixel in with all indexes equal +to 0. Please note that the pixel does not necessarily need to belong to the +extent of the image. + +.. _pixel-sampling: + +Pixel sampling +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +The pixel sampling property of an image describes the size of its pixels. For +the same image, the size of pixels in the :obj:`SPATIAL` and in the +:obj:`FREQUENCY` :ref:`data-domain` are obviously interdependent. +OpenStructure takes care of the transformation and allows access to both pixel +sampling irrespective of the current image domain. + +The ImageHandle class +-------------------------------------------------------------------------------- + +The public interface of the ImageHandle class provides many ways to manipulate +image properties. What follows is a brief description of the most important +methods and attributes of the ImageHandle class. + +.. class:: ImageHandle + + .. attribute:: size + + The size of the image. Read-only. + + :type: :class:`Size` + + .. attribute:: extent + + The extent of the image. Read-only. + + :type: :class:`Extent` + + .. attribute:: type + + The DataType of an image represents the nature of the data it contains. An + image can contain :obj`REAL` or :obj:`COMPLEX` values. + + .. attribute:: absolute_origin + + The absolute origin of an image describes the coordinates, in the absolute + reference system used by OpenStructure, of the pixel in with all indexes + equal to 0. Please note that the pixel does not necessarily need to belong + to the extent of the image. Read-write. + + :type: :class:`~ost.geom.Vec3` + + + .. attribute:: spatial_origin + + The spatial origin of an image is the first pixel of its extent. + Specifically, this is the top left pixel for 2D images and the + top-front-left corner for 3Dimages. + + :type: :class:`Point` + + .. attribute:: domain + + The current domain of the image. See :ref:`data-domain`. Read-only. + + + .. method:: Apply(algorithm) + + Applies an algorithm on an image and returns a new ImageHandle containing + the modified image. See :doc:`../alg/alg` + + :param algorithm: algorithm + :type algorithm: Instance of an algorithm class - See :doc:`../alg/alg`. + :rtype: :class:`ImageHandle` + + .. method:: ApplyIP(algorithm) + + Applies an algorithm on an image, overwriting the current content. See + `:doc:`../alg/alg` + + :param algorithm: algorithm + :type algorithm: Instance of an algorithm class - See: doc:`../alg/alg`. + + .. method:: CenterSpatialOrigin() + + Sets the :ref:`spatial-origin` of an image in such a way that the central + pixel has all 0 indexes, e.g. (0,0) or (0,0,0) for 3d images. + + .. method:: CoordToIndex(coord) + + Returns the indexes of an image corresponding to the specified absolute + coordinates. (See :ref:`absolute-origin`). A given set of absolute + coordinates will almost never fall exactly at the center of a pixel, so + this method return fractional indexes. + + :param coord: Absolute coordinates + :type coord: :class:`~ost.geom.Vec3` + :rtype: Vec3 + + .. method:: Copy() + + Creates a and returns a copy of the ImageHandle. The new handle does not + point to the same underlying data as the old one, but to a complete and + separate copy of the original data. + + :rtype: :class:`ImageHandle` + + .. method:: Extract(extent) + + Creates and returns a new image that contains a copy of a portion of the + original image. The extracted image keeps the same :ref:`data-type` of the + original image, but extractions from images in the 'FREQEUNCY' or + 'HALF FREQUENCY' domains result in :obj:`COMPLEX ` :obj:`SPATIAL` images. + This transformation is necessary, since the there is no guarantee that the + extracted :obj:`FREQUENCY` sub-image is centered around the origin and + hence back-transformable to :obj:`SPATIAL`. + + :param extent: Portion of the image to extract + :type extent: :class:`Extent` + :rtype: :class:`ImageHandle` + + .. method:: FractionalIndexToCoord(frac_pixel) + + Same as :meth:`IndexToCoord`, but introduces subpixel precision by + accepting fractional numbers for pixel indexes. + + :param frac_pixel: Fractional pixel indexes + :type frac_pixel: :class:`~ost.geom.Vec3` + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetAbsoluteOrigin() + + Returns the :ref:`absolute-origin` of an image + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetComplex(pixel) + + Returns the complex value of the specified image pixel. If the image holds + data of the 'REAL' :ref:`data-type`, the method return s complex value with + the pixel content as real part and a null imaginary part. + + :param pixel: Image pixel + :type pixel: :class:`Point` + :rtype: complex + + .. method:: GetDomain() + + See :attr:`domain` + + .. method:: GetExtent() + + See :attr:`extent` + + + .. method:: GetFrequencySampling() + + Returns the :ref:`pixel-sampling` of the image in the :obj:`FREQUENCY` + :ref:`data-domain` + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetIntpolComplex(frac_pixel) + + Returns the interpolated complex value of the virtual pixel corresponding + to the specified fractional indexes. This is computed by calculating a + weighted vector sum of the values of the surrounding pixels. If the image + holds data of the 'REAL' :ref:`data-type`, the method computes the + interpolated value using bilinear interpolation (trilinear for 3D images), + then returns a complex value with the interpolated value as real part and a + null imaginary part. + + :param frac_pixel: Fractional pixel indexes + :type frac_pixel: :class:`~ost.geom.Vec3` + :rtype: complex + + .. method:: GetIntpolReal(frac_pixel) + + Returns the interpolated value of the virtual pixel corresponding to the + specified fractional indexes. This is computed by using bilinear + interpolation (trilinear for 3D images). If the image holds data of the + :obj:`COMPLEX ` :ref:`data-type`, the method computes the interpolated + value as a weighted vector sum of the values of the surrounding pixels, + then returns the amplitude of the interpolated value. + + :param frac_pixel: Fractional pixel indexes + :type frac_pixel: :class:`~ost.geom.Vec3` + :rtype: float + + .. method:: GetPixelSampling() + + Returns the :ref:`pixel-sampling` of the image in the current + :ref:`data-domain`. + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetReal(pixel) + + Returns the value of the specified image pixel. If the image holds data of + the :obj:`COMPLEX ` :ref:`data-type`, the method return the amplitude of + the pixel content. + + :param pixel: Image pixel + :type pixel: :class:`Point` + :rtype: float + + .. method:: GetSize() + + Returns the :class:`Size` of the image. + + :rtype: :class:`Size` + + .. method:: GetSpatialOrigin() + + Returns the :ref:`spatial-origin` of the image. + + :rtype: :class:`Point` + + .. method:: GetSpatialSampling() + + Return the :ref:`pixel-sampling` of the image in the :obj:`SPATIAL` + :ref:`data-domain`. + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetType() + + Returns the :ref:`data-type` of the image (:obj:`REAL` or :obj:`COMPLEX`) + + :rtype: DataType ??????????? + + .. method:: IndexToCoord(pixel) + + Returns the absolute coordinates (See :ref:`absolute-origin`) corresponding + to the pixel with the specified indexes. Please note this method always + returns the coordinates corresponding to the center of the pixel. When + sub-pixel precision is needed, the method :meth:`FractionalIndexToCoord` + can be used. + + :param pixel: + :type pixel: :class:`Point` + :rtype: :class:`~ost.geom.Vec3` + + .. method:: IsFrequency() + + Returns true if the :ref:`data-domain` of the image is `FREQUENCY` or + `HALF-FREQUENCY` + + :rtype: bool + + .. method:: IsSpatial() + + Returns true if the :ref:`data-domain` of the image is :obj:`SPATIAL`. + + :rtype: bool + + .. method:: IsValid() + + Returns true, when the image handle is valid, false if not. It is an error + to call any method on the image handle other than `IsValid` when this + method returns false. + + :rtype: bool + + .. method:: Paste(source_image) + + Copies the content of a different image into the current one, overwriting + pre-existing data . The values of pixels with given indexes in the source + image are copied into pixels with the same indexes in the target image. If + the two images have different extents (see :class:`Extent`), pixels that do + not exist in both are ignored. Please notice that this method only copies + the pixel content: all other properties of the image are left untouched. + + :param source_image: Source image that gets pasted into the current one + :type source_image: :class:`ImageHandle` + + .. method:: SetAbsoluteOrigin(coord) + + Sets the :ref:`absolute-origin` of the image to the specified coordinates + + :param coord: Absolute coordinates + :type coord: :class:`~ost.geom.Vec3` + + .. method:: SetComplex(pixel, value) + + Sets the content of the specified pixel to the provided value. If the + image holds data of the 'REAL' :ref:`data-type`, the method sets the pixel + to the amplitude of the provided. + value. + + :param pixel: Image pixel + :type pixel: :class:`Point` + :param value: Value + :type value: complex + + .. method:: SetPixelSampling(sampling) + + Sets the :ref:`pixel-sampling` of the image to the provided values in the + current :ref:`data-domain`. + + :param sampling: Size of a pixel in x,y and z direction respectively + :type sampling: :class:`~ost.geom.Vec3` + + .. method:: SetReal(pixel, value) + + Sets the content of the specified pixel to the provided value. If the + image holds data of the :obj:`COMPLEX` :ref:`data-type`, the method sets + the pixel to a value has a real part equal to the provided value and a null + complex part. + + :param pixel: Image pixel + :type pixel: :class:`Point` + :param value: Value + :type value: float + + .. method:: SetSpatialOrigin(pixel_indexes) + + Sets the :ref:`spatial-origin` of the image to the provided indexes. + + :param pixel_indexes: Indexes of the first pixel of the image + :type pixel_indexes: :class:`Point` + :rtype: None + + .. method:: SetSpatialSampling(sampl) + + Sets the :ref:`pixel-sampling` if the image to the provided values in the + spatial :ref:`data-domain` + + :param sampl: Size of a pixel in x,y and z direction respectively + :type sampl: :class:`~ost.geom.Vec3` + + diff --git a/modules/img/base/doc/point-size-extent.rst b/modules/img/base/doc/point-size-extent.rst new file mode 100644 index 0000000000000000000000000000000000000000..af2731adb21d7ffae75bb859d78f16835b392965 --- /dev/null +++ b/modules/img/base/doc/point-size-extent.rst @@ -0,0 +1,143 @@ +Point, Size, Extent +================================================================================ + +.. currentmodule:: ost.img + + +This document describes some of the classes used in the :mod`~ost.img` module to describe image properties such as size, pixel coordinates and extents. + + +Point +-------------------------------------------------------------------------------- + +.. class:: Point(x=0, y=0, z=0) + Point(vec) + Point(size) + Point(point) + + :param x: integral x coordinate + :type x: int + :param y: integral y coordinate + :type y: int + :param z: integral z coordinate + :type z: int + :param vec: The vectors coordinates will be rounded to the next + integral value. In case of a :class:`~ost.geom.Vec4`, the coordinates will + be divided by the homogenous coordinate. + :type vec: :class:`~ost.geom.Vec3`, :class:`~ost.geom.Vec4` + :param point: + :type point: Initialize from point + + This class represents an image pixel. It is defined using three integer + numbers, corresponding to the pixel’s indexes along the width, height and + depth dimensions respectively. + + .. method:: __getitem__(index) + + Read-write access to the coordinates. + + ..code-block:: python + + p=img.Point(1,2,3) + print p + p[1]=5 + + .. method:: ToVec3() + + Converts the point to a :class:`~ost.geom.Vec3` + + .. method:: ToVec2() + + Converts the point to a :class:`~ost.geom.Vec2`. The z coordinate of the + point is ommitted. + + .. method:: ToVec4() + + Converts the point to a :class:`~ost.geom.Vec4`, with the homogenous + coordinate set to 1. + + + + +Size +-------------------------------------------------------------------------------- + +.. class:: Size(width, height, depth) + Size(width, height) + + This property describes the size of an image. It is defined using three + integer numbers: When depth is not specified, the size is assumed to refer to + a 2D image two-dimensional (depth=1). + + The :class:`Size` class can be passed to the :func:`CreateImage` function to + define the size of the image being created. + + .. code-block:: python + + # uses the size class to create an image + s=img.Size(40,20,30) + i=img.CreateImage(s) + # uses a temporary instance of the Size class + i=img.CreateImage(img.Size(40,20,30)) + +Extent +-------------------------------------------------------------------------------- + +.. class:: Extent(first_point, last_point) + Extent(first_point, size) + Extent(size, center_point) + + This class describes the extent of an image in pixels. The image extent is + a rectangle in 2d and a cuboid in 3d, and can be defined in a number of ways: + giving the first and the last point of the extent, specifying the first point + and the size of the extent, or listing the size of the extent and its central + point. + + + **Some examples:** + + .. code-block:: python + + # defines a rectangular extent that goes from pixel (2,4) to pixel (5,10) + s=img.Extent(img.Point(2,4),img.Point(5,10)) + # defines the same extent using its first point and its size + s=img.Extent(img.Point(2,4),img.Size(4,7)) + # again the same extent using its size and central pixel + s=img.Extent(img.Size(4,7),img.Point(3,7)) + + The :class:`Extent` class can be passed to the :func:`CreateImage` function to + create an image with a specific extent. + + .. code-block:: python + + # uses the Extent class to create an image + e=img.Extent(img.Point(2,4),img.Size(4,7)) + i=img.CreateImage(e) + # uses a temporary instance of the Extent class + i=img.CreateImage(img.Extent(img.Point(2,4),img.Size(4,7))) + + Given an :class:`Extent`, is it possible to recover its full size, and also + the length of each of its dimensions separately. + + **Examples:** + + .. code-block:: python + + # gets the size of an extent (e is a 3D extent) + s=e.GetSize() + # gets the three dimensions separately + w=e.GetWidth() + h=e.GetHeight() + d=e.GetDepth() + + When one needs to visit all the image pixels belonging to an :class:`Extent` + in sequence, one can use an :class:`ExtentIterator`: + + .. code-block:: python + + # defines an iterator over an extent e + ei=ExtentIterator(e) + # visits all the pixels in the extent and + # prints out their values + for pixel in ei: + print i.GetReal(pixel) \ No newline at end of file diff --git a/modules/img/base/pymod/__init__.py b/modules/img/base/pymod/__init__.py index b4564fed2d007d7957fa620303a744768fb417ab..488406e2d19e82c01c1e202c4bc328782dfba8e0 100644 --- a/modules/img/base/pymod/__init__.py +++ b/modules/img/base/pymod/__init__.py @@ -18,3 +18,4 @@ #------------------------------------------------------------------------------ from _img import * MapHandle=ImageHandle +from ost.img import alg diff --git a/modules/img/base/pymod/export_data.cc b/modules/img/base/pymod/export_data.cc index a58f780d0b3ec657d85aa5885d651c3cb7de9e7f..b9f2cf3c18946b88461fff4d939452db33dad876 100644 --- a/modules/img/base/pymod/export_data.cc +++ b/modules/img/base/pymod/export_data.cc @@ -38,13 +38,15 @@ void export_Data() .value("REAL",REAL) .value("COMPLEX",COMPLEX) .value("WORD",WORD) - ; + .export_values() + ; enum_<DataDomain>("DataDomain") .value("SPATIAL",SPATIAL) .value("FREQUENCY",FREQUENCY) .value("HALF_FREQUENCY",HALF_FREQUENCY) - ; + .export_values() + ; // data wrapper void (ConstData::*apply1)(NonModAlgorithm&) const = &ConstData::Apply; @@ -59,6 +61,7 @@ void export_Data() class_<ConstData, boost::noncopyable>("ConstData", no_init ) .def("GetType",&ConstData::GetType) + .add_property("type", &ConstData::GetType) .def("GetDomain",&ConstData::GetDomain) .def("GetExtent",&ConstData::GetExtent) .def("GetReal",&ConstData::GetReal) @@ -66,9 +69,18 @@ void export_Data() .def("Apply",apply1) .def("GetSize",&ConstData::GetSize) .def("IsSpatial",&ConstData::IsSpatial) + .add_property("is_spatial", &ConstData::IsSpatial) + .add_property("is_frequency", &ConstData::IsSpatial) + .add_property("size", &ConstData::GetSize) + .add_property("domain", &ConstData::GetDomain) + .add_property("extent", &ConstData::GetExtent) + .add_property("pixel_sampling", &ConstData::GetPixelSampling) + .add_property("spatial_sampling", &ConstData::GetSpatialSampling) + .add_property("frequency_sampling", &ConstData::GetFrequencySampling) .def("IsFrequency",&ConstData::IsFrequency) .def("GetPixelSampling",&ConstData::GetPixelSampling) .def("GetSpatialSampling",&ConstData::GetSpatialSampling) + .def("GetFrequencySampling",&ConstData::GetFrequencySampling) //.def("IndexToCoord",&ConstData::IndexToCoord) //.def("CoordToindex",&ConstData::CoordToIndex) @@ -91,5 +103,7 @@ void export_Data() .def("SetPixelSampling",setpixelsampling1) .def("SetSpatialSampling",setspatialsampling0) .def("SetSpatialSampling",setspatialsampling1) - ; + .add_property("spatial_origin", &Data::GetSpatialOrigin, + &Data::SetSpatialOrigin) + ; } diff --git a/modules/img/base/pymod/export_image_handle.cc b/modules/img/base/pymod/export_image_handle.cc index 942e7b61cd427ab7b6b4a5c5f13bd9a824fb6b6a..379a4cde2c2c3337d5d762567ef8648e10675c8b 100644 --- a/modules/img/base/pymod/export_image_handle.cc +++ b/modules/img/base/pymod/export_image_handle.cc @@ -84,7 +84,6 @@ inline ImageHandle g2a(const Data& d,const Extent& e) inline ImageHandle ih_copy1(ImageHandle& h) {return h.Copy();} inline ImageHandle ih_copy2(ImageHandle& h, bool cc) {return h.Copy(cc);} -inline ImageHandle ih_copy3(ImageHandle& h, const Extent& e) {return h.Copy(e);} } // anon ns @@ -112,7 +111,6 @@ void export_ImageHandle() class_<ImageHandle, bases<Data> >("ImageHandle", no_init ) .def("Copy",ih_copy1) .def("Copy",ih_copy2,args("content_flag")) - .def("Copy",ih_copy3,args("extent")) .def("Extract",&ImageHandle::Extract,args("extent")) .def("Paste",&ImageHandle::Paste,args("data")) .def("Set",&ImageHandle::Set,args("image")) diff --git a/modules/img/base/pymod/export_mask.cc b/modules/img/base/pymod/export_mask.cc index 6db4cf05e80dd066460fed2215a83c58444a0396..3385d8ffc69061639aa221442dc24f9d3da4d988 100644 --- a/modules/img/base/pymod/export_mask.cc +++ b/modules/img/base/pymod/export_mask.cc @@ -26,6 +26,7 @@ using namespace boost::python; #include <ost/img/mask.hh> +#include <ost/img/mask_info_convert.hh> namespace ost { namespace img { @@ -100,5 +101,7 @@ void export_Mask() def("Mask",mask2); def("Mask",mask3); def("Mask",mask4); + def("InfoToMask",InfoToMask); + def("MaskToInfo",MaskToInfo); } diff --git a/modules/img/base/pymod/wrap_img.cc b/modules/img/base/pymod/wrap_img.cc index 20576672d9578fbb56341c5a458bde8138835005..e98a158530546283f4e60e6c6bceb496a62222da 100644 --- a/modules/img/base/pymod/wrap_img.cc +++ b/modules/img/base/pymod/wrap_img.cc @@ -54,18 +54,9 @@ void export_Phase(); void export_Progress(); void export_Map(); -// exception translator -void translator(const ost::Message& x) { - PyErr_SetString(PyExc_UserWarning, x.what() ); -} - // actual module definitions BOOST_PYTHON_MODULE(_img) { - // exception translators - register_exception_translator<ost::Message>(&translator); - register_exception_translator<ost::Error>(&translator); - export_Data(); export_DataAlgorithm(); export_Extent(); diff --git a/modules/img/base/src/CMakeLists.txt b/modules/img/base/src/CMakeLists.txt index 0d0e7e47a5b42c6e028275471a66928d34d54c2c..97ea2ed0b32297cf7e5298ec975d221a956da806 100644 --- a/modules/img/base/src/CMakeLists.txt +++ b/modules/img/base/src/CMakeLists.txt @@ -29,6 +29,7 @@ extent_mask.cc spherical_mask.cc mask_op.cc circle_mask.cc +mask_info_convert.cc image_list.cc physical_units.cc progress.cc @@ -86,6 +87,7 @@ spherical_mask.hh mask_op.hh mask.hh circle_mask.hh +mask_info_convert.hh image_list.hh physical_units.hh progress.hh @@ -105,4 +107,4 @@ module(NAME img SOURCES "${OST_IMG_SOURCES}" HEADERS ${OST_IMG_RASTER_IMAGE_HEADERS} IN_DIR raster_image ${OST_IMG_IMAGE_STATE_HEADERS} IN_DIR image_state ${OST_IMG_HEADERS} - DEPENDS_ON geom base) + DEPENDS_ON geom base info) diff --git a/modules/img/base/src/image_handle.cc b/modules/img/base/src/image_handle.cc index 712868a3181ed0fa47d7989748b759abb18a5dc1..3490869b5a1cc11a804a6fd68aeae6798ba62798 100644 --- a/modules/img/base/src/image_handle.cc +++ b/modules/img/base/src/image_handle.cc @@ -93,12 +93,6 @@ ImageHandle ImageHandle::Copy(bool cc) const return ImageHandle(StatePtrPtr(new ImageStateBasePtr(ImageStatePtr()->Clone(cc)))); } -ImageHandle ImageHandle::Copy(const Extent& e) const -{ - LOG_MESSAGE("ImageHandle::Copy(Extent) ist deprecated, use Extract() instead" << std::endl); - return Extract(e); -} - ImageHandle ImageHandle::Extract(const Extent& e) const { #if 0 @@ -662,12 +656,6 @@ ImageHandle ConstImageHandle::Copy(bool cc) const return handle_.Copy(cc); } -ImageHandle ConstImageHandle::Copy(const Extent& e) const -{ - LOG_MESSAGE("ConstImageHandle::Copy(Extent) ist deprecated, use Extract() instead" << std::endl); - return handle_.Extract(e); -} - ImageHandle ConstImageHandle::Extract(const Extent& e) const { return handle_.Extract(e); diff --git a/modules/img/base/src/image_handle.hh b/modules/img/base/src/image_handle.hh index d85bbc5831b8c1d5e7bb1fb095bbcc749367a87a..ef0493487ad8fee82e50572a9b9a2e71ded37b1f 100644 --- a/modules/img/base/src/image_handle.hh +++ b/modules/img/base/src/image_handle.hh @@ -153,9 +153,6 @@ public: */ ImageHandle Copy(bool cc=true) const; - //! DEPRECATED - ImageHandle Copy(const Extent& e) const; - //! return a handle to a new image containing a partial copy /*! The returning domain will match the type (ie REAL or COMPLEX), @@ -561,9 +558,6 @@ public: //! see ImageHandle::Copy(bool) ImageHandle Copy(bool cc=true) const; - //! DEPRECATED - ImageHandle Copy(const Extent& e) const; - //! see ImageHandle::Copy(const Extent&) ImageHandle Extract(const Extent& e) const; diff --git a/modules/img/base/src/image_impl.cc b/modules/img/base/src/image_impl.cc index 09ec52126be57a338f8ce8dc83febd2a60928910..e9280ba48ec15c778e136f193c3852b38d0a5287 100644 --- a/modules/img/base/src/image_impl.cc +++ b/modules/img/base/src/image_impl.cc @@ -29,5 +29,4 @@ ImageImpl CreateImageImpl(const Extent& e, DataType type, DataDomain dom) return ImageImpl(new ImageStateBasePtr(CreateState(e,type,dom))); } - }} // ns diff --git a/modules/img/base/src/image_state/image_state_algorithm.hh b/modules/img/base/src/image_state/image_state_algorithm.hh index bd1e1f3f17e422335e17bf20f45756671e793ff4..9717dbf1ce1d770a22b8241282cdb6a07fc5002b 100644 --- a/modules/img/base/src/image_state/image_state_algorithm.hh +++ b/modules/img/base/src/image_state/image_state_algorithm.hh @@ -331,7 +331,7 @@ public: private: template <typename T, class D> void T_Visit_(ImageStateImpl<T,D>& isi) { - VisitState(isi); + this->VisitState(isi); } }; @@ -376,7 +376,7 @@ public: private: template <typename T, class D> void T_Visit_(ImageStateImpl<T,D>& isi) const { - VisitState(isi); + this->VisitState(isi); } }; @@ -402,7 +402,7 @@ public: private: template <typename T, class D> ImageStateBasePtr T_Visit_(const ImageStateImpl<T,D>& isi) { - return VisitState(isi); + return this->VisitState(isi); } }; @@ -430,7 +430,7 @@ public: private: template <typename T, class D> ImageStateBasePtr T_Visit_(const ImageStateImpl<T,D>& isi) const { - return VisitState(isi); + return this->VisitState(isi); } }; @@ -457,7 +457,7 @@ public: private: template <typename T, class D> ImageStateBasePtr T_Visit_(ImageStateImpl<T,D>& isi) { - return VisitState(isi); + return this->VisitState(isi); } }; diff --git a/modules/img/base/src/image_state/image_state_impl.cc b/modules/img/base/src/image_state/image_state_impl.cc index 190728a105dd5977f6d85640a8f80ff83584c7bb..ca8834fe87fca3199c9018644266d4b5cf6f2539 100644 --- a/modules/img/base/src/image_state/image_state_impl.cc +++ b/modules/img/base/src/image_state/image_state_impl.cc @@ -72,7 +72,8 @@ template <typename T, class D> ImageStateImpl<T,D>::ImageStateImpl(const ImageStateImpl<T,D>& s): domain_(s.domain_), data_(s.data_), - sampling_(s.sampling_) + sampling_(s.sampling_), + absolute_origin_(s.absolute_origin_) { sampling_.SetDomain(domain_.GetDomain()); } @@ -85,6 +86,7 @@ ImageStateImpl<T,D>& ImageStateImpl<T,D>::operator=(const ImageStateImpl<T,D>& s domain_=s.domain_; data_=s.data_; // copy sampling_=s.sampling_; + absolute_origin_=s.absolute_origin_; sampling_.SetDomain(domain_.GetDomain()); } return *this; @@ -103,7 +105,7 @@ boost::shared_ptr<ImageStateImpl<T,D> > ImageStateImpl<T,D>::CloneState(bool cc) if(cc) { return SharedPtrType(new ImageStateImpl<T,D>(*this)); } else { - return SharedPtrType(new ImageStateImpl<T,D>(domain_.GetLogicalExtent(),sampling_)); + return SharedPtrType(new ImageStateImpl<T,D>(domain_.GetLogicalExtent(),sampling_,this->absolute_origin_)); } } diff --git a/modules/img/base/src/mask_info_convert.cc b/modules/img/base/src/mask_info_convert.cc new file mode 100644 index 0000000000000000000000000000000000000000..de40f80a4733b605be1543f61dee6fec88d0ad56 --- /dev/null +++ b/modules/img/base/src/mask_info_convert.cc @@ -0,0 +1,227 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// Copyright (C) 2003-2010 by the IPLT authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +/* + Authors: Andreas Schenk, Ansgar Philippsen +*/ + +#include <stack> + +#include <ost/info/info_visitor.hh> +#include <ost/info/info.hh> +#include "mask_info_convert.hh" +#include "polygon_mask.hh" +#include "circle_mask.hh" +#include "extent_mask.hh" +#include "composite_mask.hh" +#include "inverted_mask.hh" +#include "spherical_mask.hh" +#include "mask_visitor.hh" + +namespace ost{ namespace img { + +namespace { + + + +class PolygonInfoVisitor: public info::InfoConstVisitor +{ +public: + PolygonInfoVisitor(): + p_() + {} + + Polygon2 GetPolygon() const {return p_;} + + virtual bool VisitGroup(const info::InfoGroup& group) + { + if(group.GetName()=="Polygon"){ + return true; + } else if(group.GetName()=="Node"){ + p_.AddNode(geom::Vec2(group.GetItem("x").AsFloat(), + group.GetItem("y").AsFloat())); + return false; + } + return true; + } + + virtual void VisitGroupFinish(const info::InfoGroup& group) + {} + +private: + Polygon2 p_; +}; + +// this is used recursively +class MaskInfoVisitor: public info::InfoConstVisitor +{ +public: + MaskInfoVisitor(): + mask_list_() + {} + + std::vector<MaskPtr> GetMaskList() const {return mask_list_;} + + virtual bool VisitGroup(const info::InfoGroup& group) + { + String name=group.GetName(); + if(name=="Composite"){ + String opname=group.GetItem("Operator").GetValue(); + MaskInfoVisitor miv; + group.Apply(miv,false); // subgroups + std::vector<MaskPtr> mpl = miv.GetMaskList(); + mask_list_.push_back(MaskPtr(new CompositeMask(mpl[0],mpl[1],opname))); + return false; + }else if(name=="Invert"){ + MaskInfoVisitor miv; + group.Apply(miv,false); // subgroups + std::vector<MaskPtr> mpl = miv.GetMaskList(); + mask_list_.push_back(MaskPtr(new InvertedMask(mpl[0]))); + return false; + }else if(name=="Circle"){ + Circle2 c; + c.SetRadius(group.GetItem("Radius").AsFloat()); + c.SetCenter(geom::Vec2(group.GetItem("Center/x").AsFloat(), + group.GetItem("Center/y").AsFloat())); + mask_list_.push_back(MaskPtr(new CircleMask(c))); + return false; + }else if(name=="Polygon"){ + PolygonInfoVisitor pvis; + group.Apply(pvis); + mask_list_.push_back(MaskPtr(new PolygonMask(pvis.GetPolygon()))); + return false; + }else if(name=="Extent"){ + Extent e(Point(group.GetItem("Start/x").AsInt(), + group.GetItem("Start/y").AsInt()), + Point(group.GetItem("End/x").AsInt(), + group.GetItem("End/y").AsInt())); + mask_list_.push_back(MaskPtr(new ExtentMask(e))); + return false; + }else if(name=="Sphere"){ + Sphere s; + s.SetRadius(group.GetItem("Radius").AsFloat()); + s.SetOrigin(geom::Vec3(group.GetItem("Origin/x").AsFloat(), + group.GetItem("Origin/y").AsFloat(), + group.GetItem("Origin/z").AsFloat())); + mask_list_.push_back(MaskPtr(new SphericalMask(s))); + return false; + } + return true; + } + + virtual void VisitGroupFinish(const info::InfoGroup& group) + { + } + +private: + std::vector<MaskPtr> mask_list_; +}; + + +// mask visitor for mask->info conversion +class MaskToInfoVisitor: public MaskVisitor +{ + typedef std::stack<info::InfoGroup> InfoGroupStack; +public: + MaskToInfoVisitor(info::InfoGroup& g): + igs_() + { + igs_.push(g); + } + virtual void VisitCircleMask(CircleMask& m) + { + info::InfoGroup cg=igs_.top().CreateGroup("Circle"); + info::InfoGroup centerg=cg.CreateGroup("Center"); + centerg.CreateItem("x","").SetFloat(m.GetCenter()[0]); + centerg.CreateItem("y","").SetFloat(m.GetCenter()[1]); + cg.CreateItem("Radius","").SetFloat(m.GetRadius()); + } + virtual void VisitCompositeMask(CompositeMask& m) + { + info::InfoGroup compg=igs_.top().CreateGroup("Composite"); + compg.CreateItem("Operator",m.GetOperatorName()); + igs_.push(compg); + } + virtual void VisitCompositeMaskFinish(CompositeMask& m) + { + igs_.pop(); + } + virtual void VisitExtentMask(ExtentMask& m) + { + info::InfoGroup extg=igs_.top().CreateGroup("Extent"); + info::InfoGroup startg=extg.CreateGroup("Start"); + startg.CreateItem("x","").SetInt(m.GetStart()[0]); + startg.CreateItem("y","").SetInt(m.GetStart()[1]); + info::InfoGroup endg=extg.CreateGroup("End"); + endg.CreateItem("x","").SetInt(m.GetEnd()[0]); + endg.CreateItem("y","").SetInt(m.GetEnd()[1]); + } + virtual void VisitInvertedMask(InvertedMask& m) + { + info::InfoGroup invertg=igs_.top().CreateGroup("Invert"); + igs_.push(invertg); + } + virtual void VisitInvertedMaskFinish(InvertedMask& m) + { + igs_.pop(); + } + virtual void VisitPolygonMask(PolygonMask& m) + { + info::InfoGroup polyg=igs_.top().CreateGroup("Polygon"); + for(unsigned int nn=0;nn<m.GetNodeCount();++nn) { + info::InfoGroup nodeg=polyg.CreateGroup("Node"); + geom::Vec2 node=m.GetNode(nn); + nodeg.CreateItem("x","").SetFloat(node[0]); + nodeg.CreateItem("y","").SetFloat(node[1]); + } + } + virtual void VisitSphericalMask(SphericalMask& m) + { + info::InfoGroup cg=igs_.top().CreateGroup("Sphere"); + info::InfoGroup centerg=cg.CreateGroup("Origin"); + centerg.CreateItem("x","").SetFloat(m.GetOrigin()[0]); + centerg.CreateItem("y","").SetFloat(m.GetOrigin()[1]); + centerg.CreateItem("z","").SetFloat(m.GetOrigin()[2]); + cg.CreateItem("Radius","").SetFloat(m.GetRadius()); + } +private: + InfoGroupStack igs_; +}; + +} // anon ns + +MaskPtr DLLEXPORT InfoToMask(const info::InfoGroup& g) +{ + MaskInfoVisitor vis; + g.Apply(vis); + std::vector<MaskPtr> mlist = vis.GetMaskList(); + if(!mlist.empty()) { + return mlist[0]; + } + return MaskPtr(); +} + +void MaskToInfo(const MaskPtr& mptr ,info::InfoGroup& g) +{ + MaskToInfoVisitor vis(g); + mptr->Apply(vis); +} + +}} //ns diff --git a/modules/gui/src/plot_viewer/plot_ticker_fw.hh b/modules/img/base/src/mask_info_convert.hh similarity index 71% rename from modules/gui/src/plot_viewer/plot_ticker_fw.hh rename to modules/img/base/src/mask_info_convert.hh index 46e54a3067b85ccf4cec527e7419dba2c4ce6f5b..04a01eac42e211c08a18bc2f28c6897fce371bfb 100644 --- a/modules/gui/src/plot_viewer/plot_ticker_fw.hh +++ b/modules/img/base/src/mask_info_convert.hh @@ -2,6 +2,7 @@ // This file is part of the OpenStructure project <www.openstructure.org> // // Copyright (C) 2008-2010 by the OpenStructure authors +// Copyright (C) 2003-2010 by the IPLT authors // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License as published by the Free @@ -16,18 +17,22 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOT_TICKER_FW_HH_ -#define PLOT_TICKER_FW_HH_ /* - Author: Andreas Schenk + Authors: Andreas Schenk, Ansgar Philippsen */ -#include <boost/shared_ptr.hpp> +#ifndef MASK_INFO_CONVERT_HH_ +#define MASK_INFO_CONVERT_HH_ +#include <ost/info/info_group.hh> +#include "mask_base_fw.hh" -class PlotTickerBase; +namespace ost { namespace img { -typedef boost::shared_ptr<PlotTickerBase> PlotTickerPtr; +MaskPtr DLLEXPORT InfoToMask(const info::InfoGroup& g); +void DLLEXPORT MaskToInfo(const MaskPtr& mptr, info::InfoGroup& g); -#endif /*PLOT_TICKER_FW_HH_*/ +}} //ns + +#endif /*MASK_INFO_CONVERT_HH_*/ diff --git a/modules/img/base/src/module_config.hh b/modules/img/base/src/module_config.hh index 0205ffc00c9d9acde7e9c65737cf74f52392f5fc..ad9f913a3be6f400661e7973b61d59d4c735970e 100644 --- a/modules/img/base/src/module_config.hh +++ b/modules/img/base/src/module_config.hh @@ -25,9 +25,9 @@ #if defined(OST_MODULE_OST_IMG) # define DLLEXPORT_OST_IMG_BASE DLLEXPORT # if defined(_MSC_VER) -# define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t) +# define OST_IMG_BASE_EXPLICIT_INST_DECL(c, t) # else -# define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t) extern template c TEMPLATE_EXPORT t; +# define OST_IMG_BASE_EXPLICIT_INST_DECL(c, t) extern template c TEMPLATE_EXPORT t; # endif #else # define DLLEXPORT_OST_IMG_BASE DLLIMPORT diff --git a/modules/img/base/src/paste_impl.hh b/modules/img/base/src/paste_impl.hh index 91ae6c4d86a87927596a8ae71a6744cb0fd95658..689f9a59f3111e4780b9c890eb1a525c10e0ca27 100644 --- a/modules/img/base/src/paste_impl.hh +++ b/modules/img/base/src/paste_impl.hh @@ -47,6 +47,8 @@ typedef image_state::ImageStateNonModAlgorithm<PasteFnc> PasteImpl; } +OST_IMG_BASE_EXPLICIT_INST_DECL(class,image_state::ImageStateNonModAlgorithm<detail::PasteFnc>) + }} // ns #endif diff --git a/modules/img/base/src/pixel_sampling.cc b/modules/img/base/src/pixel_sampling.cc index 5cff35235abfc6c634b2632b422d7ef7e1afe005..0ba2c608d7ad5ef7233d2a3fa3a0ca8a9067e3b5 100644 --- a/modules/img/base/src/pixel_sampling.cc +++ b/modules/img/base/src/pixel_sampling.cc @@ -122,7 +122,7 @@ Vec3 PixelSampling::Vec2Coord(const Vec3& p) const void PixelSampling::set_spat_scale(const Vec3& dim) { if(dim[0]<=0.0 || dim[1]<0.0 || dim[2]<0.0) { - LOG_ERROR("invalid spatial pixel sampling, must be >0" << std::endl); + LOG_ERROR("invalid spatial pixel sampling, must be >0"); return; } spat_scale_=dim; diff --git a/modules/img/base/src/value_util.hh b/modules/img/base/src/value_util.hh index b17e42cff6c9277e74cec1b73498d5fbeb7cd2a9..44247eda7d3779af0721d1a8e18c89a8e9c2135e 100644 --- a/modules/img/base/src/value_util.hh +++ b/modules/img/base/src/value_util.hh @@ -69,7 +69,16 @@ T Random() { return UniformRandom(); } - +typedef boost::variate_generator<boost::mt19937&, boost::uniform_int<> > UniformIntGenerator; + +inline +UniformIntGenerator GetUniformIntGenerator(int min, int max) +{ + boost::uniform_int<> dist(min,max); + return UniformIntGenerator(RandomGenerator, dist); +} + + // value to value conversion // declaration diff --git a/modules/index.rst b/modules/index.rst index 52dcde170b022e7824aa2cedd23d3a5c3c65332d..147274735b6617024bf345b5d88c6ce4b031c8fa 100644 --- a/modules/index.rst +++ b/modules/index.rst @@ -2,7 +2,93 @@ OpenStructure documentation ================================================================================ .. toctree:: + :hidden: + :maxdepth: 1 + + install + intro + base/generic + base/base + geom/geom + mol/base/mol + mol/alg/molalg + conop/conop + img/base/img + img/alg/alg + seq/base/seq + io/io + gfx/gfx + gui/gui + newmodule + external + +For Starters +-------------------------------------------------------------------------------- - geom/doc/geom - conop/doc/conop - mol/base/doc/mol \ No newline at end of file +**Installation**: `install from binary <http://www.openstructure.org/download/>`_ | :doc:`install from source <install>` + +**Tutorial Style**: :doc:`introduction <intro>` | :doc:`molecules intro <intro-01>` | :doc:`images intro <intro-02>` | :doc:`graphics intro <intro-03>` + + + + +Molecules +-------------------------------------------------------------------------------- + +**Overview**: :doc:`molecules intro <intro-01>` | :doc:`mol overview <mol/base/mol>` | :doc:`graphical entity<gfx/entity>` | :doc:`entity <mol/base/entity>` + +**Input/Output**: :ref:`loading and saving molecules <mol-io>` + +**Connectivity**: :doc:`the conop module <conop/conop>` + + + + +Density Maps and Images +-------------------------------------------------------------------------------- + +**Overview**: :doc:`images intro <intro-02>` | :doc:`img module <img/base/img>` | :doc:`img.alg module <img/alg/alg>` + + + + +Sequences and Alignments +-------------------------------------------------------------------------------- + +**Overview**: :doc:`sequence module <seq/base/seq>` + +**Input/Output**: :ref:`loading and saving sequences <seq-io>` + + + + +Graphics +-------------------------------------------------------------------------------- + +**Overview** :doc:`graphics intro <intro-03>` + +**Main Classes**: :doc:`the scene <gfx/scene>` | :doc:`graphical entity <gfx/entity>` + + + + +Graphical User Interface +-------------------------------------------------------------------------------- + +**Overview**: :doc:`module overview <gui/gui>` | :doc:`organization <gui/layout>` :doc:`tools <gui/tools>` + +**Widgets**: :doc:`python shell <gui/python_shell>` | :doc:`sequence viewer <gui/sequence_viewer>` + + + + +Extending OpenStructure +-------------------------------------------------------------------------------- + +**Howto:** :doc:`write new modules <newmodule>` | :doc:`integrate third-party tools <external>` | :doc:`logging <base/logging>` + + + + + + \ No newline at end of file diff --git a/modules/info/pymod/wrap_info.cc b/modules/info/pymod/wrap_info.cc index a449095327199007bef05ecf95b0290f60d1d4e9..0f80c9522eddb2362449998df8ccb156175f2a5e 100644 --- a/modules/info/pymod/wrap_info.cc +++ b/modules/info/pymod/wrap_info.cc @@ -36,9 +36,6 @@ using namespace ost::info; namespace { -void info_error_translator(const InfoError& x) { - PyErr_SetString(PyExc_UserWarning, x.what()); -} InfoHandle (*CreateInfoPtr1)()=CreateInfo; InfoHandle (*CreateInfoPtr2)(const String&)=CreateInfo; @@ -63,7 +60,7 @@ void info_group_apply2b(InfoGroup* g, InfoConstVisitor& v, bool b) g->Apply(v,b); } -void info_group_remove1(InfoGroup* g, InfoPath& path ) +void info_group_remove1(InfoGroup* g, const String& path ) { g->Remove(path); } @@ -72,7 +69,7 @@ void info_group_remove2(InfoGroup* g, InfoGroup& group ) { g->Remove(group); } -void info_group_remove3(InfoGroup* g, InfoPath& path, bool use_defaults ) +void info_group_remove3(InfoGroup* g, const String& path, bool use_defaults ) { g->Remove(path,use_defaults); } @@ -160,7 +157,6 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(retrieveitem_overloads, RetrieveItem, 1, BOOST_PYTHON_MODULE(_info) { - register_exception_translator<InfoError>(&info_error_translator); enum_<Type>("ItemType") .value("STRING",IT_STRING) diff --git a/modules/info/src/info_group.cc b/modules/info/src/info_group.cc index de5d158a0ba2943257fdb3a37ae81cdc19cb7e75..fcc6fb7083789d5ae58c7e05336defabfd5a291b 100644 --- a/modules/info/src/info_group.cc +++ b/modules/info/src/info_group.cc @@ -169,16 +169,25 @@ bool InfoGroup::do_group_lookup(std::vector<String>::const_iterator& pos, } bool InfoGroup::do_group_lookup(std::vector<String>::const_iterator& pos, - const std::vector<String>::const_iterator& end, - InfoGroup& subgroup) const + const std::vector<String>::const_iterator& end, + InfoGroup& subgroup) const { - InfoGroupList subgroups; - if (this->do_group_lookup(pos, end, subgroups)) { - subgroup.Swap(subgroups.front()); + if(pos==end) { return true; } + if(impl_->HasSub(*pos)) { + InfoGroup subgrp(root_,impl_->GetSub(*pos)); + // remember last valid group + subgroup = subgrp; + ++pos; + if(pos==end) { + return true; + } else { + return subgrp.do_group_lookup(pos,end,subgroup); + } + } return false; -} +} bool InfoGroup::HasGroup(const InfoPath& path, bool use_defaults) const { @@ -210,6 +219,7 @@ InfoGroup InfoGroup::RetrieveGroup(const InfoPath& path, bool use_defaults) return GetGroup(path); } else { std::vector<String> plist=path.GetList(); + if(plist.empty()) return *this; InfoGroup last_group(*this); std::vector<String>::const_iterator pos=plist.begin(); bool ret=do_group_lookup(pos,plist.end(),last_group); diff --git a/modules/info/src/info_handle.hh b/modules/info/src/info_handle.hh index f7677a73618e218b3ec56e06c98414611d2f2693..aa3a7f3ce7c5b19a6b099283d0d81e75169ec345 100644 --- a/modules/info/src/info_handle.hh +++ b/modules/info/src/info_handle.hh @@ -51,7 +51,7 @@ DLLEXPORT InfoHandle LoadInfo(const String& file); to an underlying info class, which is shared among copies of InfoHandles unless the Copy() method is used. */ -class DLLEXPORT InfoHandle { +class DLLEXPORT_OST_INFO InfoHandle { friend InfoHandle CreateInfo(); friend InfoHandle CreateInfo(const String& text); friend InfoHandle LoadInfo(const String&); diff --git a/modules/info/src/info_impl.cc b/modules/info/src/info_impl.cc index a9726b11d4de4cfdbe2547ce488a92d7302f869c..de1aeaa1f430e32caec03cd2f0e89835314dac7a 100644 --- a/modules/info/src/info_impl.cc +++ b/modules/info/src/info_impl.cc @@ -97,12 +97,7 @@ InfoImpl::InfoImpl(const String& fname): document_("EMDataInfo"), def_list_() { - QFile file(QS(fname)); - if (!document_.setContent(&file)) { - file.close(); - throw(InfoError("QDomDocument.setContent failed")); - } - file.close(); + Import(fname); } RootPtr InfoImpl::Copy() const @@ -117,9 +112,34 @@ void InfoImpl::Import(const String& fname) { document_=QDomDocument("EMDataInfo"); QFile file(QS(fname)); - if (!document_.setContent(&file)) { + if(!file.exists()){ file.close(); - throw(InfoError("QDomDocument.setContent failed")); + throw(InfoError("File: "+fname+" doesn't exist.")); + } + QString errormessage; + int errorline,errorcolumn; + if (!document_.setContent(&file,&errormessage,&errorline,&errorcolumn)) { + file.close(); + if(file.error()){ + switch(file.error()){ + case QFile::ReadError: + throw(InfoError("Error while reading file: "+fname)); + break; + case QFile::OpenError: + throw(InfoError("File: "+fname+" could not be opened.")); + break; + case QFile::PermissionsError: + throw(InfoError("Permission error accessing file: "+fname)); + break; + default: + throw(InfoError("Unspecified error while accessing file: "+fname)); + break; + } + }else{ + std::ostringstream stream; + stream << "Error while accessing file " << fname << ": " << errormessage.toStdString() << " in line " << errorline << " column " << errorcolumn; + throw(InfoError(stream.str())); + } } file.close(); } diff --git a/modules/info/src/info_set.hh b/modules/info/src/info_set.hh index 43dda09edcf1bf7fab7a56a8ee3954ec161229a7..54562c975cad15de01b4c7ad9a270e77cf3fcfb3 100644 --- a/modules/info/src/info_set.hh +++ b/modules/info/src/info_set.hh @@ -25,12 +25,12 @@ #include <map> #include <ost/base.hh> - +#include "module_config.hh" #include "info_group.hh" namespace ost { namespace info { -class DLLEXPORT InfoSet { +class DLLEXPORT_OST_INFO InfoSet { public: InfoSet(const String& name=""); diff --git a/modules/info/src/info_verbose_visitor.hh b/modules/info/src/info_verbose_visitor.hh index dd387db69dd77bcf83317ed0f269273a65a84b54..210b82d3655cbd47fea6913eb37f478ef0d8f6ab 100644 --- a/modules/info/src/info_verbose_visitor.hh +++ b/modules/info/src/info_verbose_visitor.hh @@ -31,7 +31,7 @@ namespace ost { namespace info { -class DLLEXPORT VerboseInfoVisitor: public InfoVisitor { +class DLLEXPORT_OST_INFO VerboseInfoVisitor: public InfoVisitor { public: virtual void VisitItem(InfoItem& item); virtual bool VisitGroup(InfoGroup& group); diff --git a/modules/info/src/info_visitor.hh b/modules/info/src/info_visitor.hh index c408a85df626f2a35ce3ec0b19ead2ecbb24970f..f677546b8bc58b6448c855a535ae1395c72525d5 100644 --- a/modules/info/src/info_visitor.hh +++ b/modules/info/src/info_visitor.hh @@ -28,11 +28,12 @@ #define OST_INFO_VISITOR_HH #include <ost/base.hh> +#include "module_config.hh" #include "info_fw.hh" namespace ost { namespace info { -class DLLEXPORT InfoVisitor { +class DLLEXPORT_OST_INFO InfoVisitor { public: virtual ~InfoVisitor(); @@ -54,7 +55,7 @@ public: virtual void VisitGroupFinish(InfoGroup& group); }; -class DLLEXPORT InfoConstVisitor { +class DLLEXPORT_OST_INFO InfoConstVisitor { public: virtual ~InfoConstVisitor(); diff --git a/modules/io/doc/formats.rst b/modules/io/doc/formats.rst new file mode 100644 index 0000000000000000000000000000000000000000..3912141d21a5a59de7aeb94306e7e014890c1069 --- /dev/null +++ b/modules/io/doc/formats.rst @@ -0,0 +1,73 @@ +Supported File Formats +================================================================================ + +Structure File Formats +-------------------------------------------------------------------------------- + +The following file formats are supported by :func:`~ost.io.LoadEntity`. + + + +CRD - CARD format file used by CHARMM +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This trajectory file format is used by the CHARMM program suite (Molecular Modelling). + +*Recognized File Extensions* + crd + +PDB - Brookhaven PDB File +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Fine grained control over PDB file import is available via the +:func:`~ost.io.LoadPDB` function. The PDB importer supports loading gzipped PDB +files, which are auto-detected by the .gz file extension. + +*Recognized File Extensions* + ent, pdb, ent.gz, pdb.gz + +*Format Name* + pdb + +PQR +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Recognized File Extensions* + pqr + +*Format Name* + pqr + +SDF - Structured Data File +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Recognized File Extensions* + sdf + +Sequence File Formats +-------------------------------------------------------------------------------- + +FASTA +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Recognized File Extensions* + fasta, fna, fas, fa, fsa + +*Format Name* + fasta + +ClustalW +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Recognized File Extensions* + aln + +*Format Name* + clustal + +Promod +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Recognized File Extensions* + ali + +*Format Name* + promod diff --git a/modules/io/doc/io.rst b/modules/io/doc/io.rst new file mode 100644 index 0000000000000000000000000000000000000000..b2037b3addfce4c660774d6177e33c261db729a6 --- /dev/null +++ b/modules/io/doc/io.rst @@ -0,0 +1,224 @@ +:mod:`~ost.io` - Input and Output of Sequences, Structures and Maps +================================================================================ + +.. toctree:: + :hidden: + + formats + +.. module:: ost.io + :synopsis: Input and output of sequences, alignments, structures, images and density maps. + +The io module deals with input and output of :class:`entities +<ost.mol.EntityHandle>`, :class:`alignments <ost.seq.AlignmentHandle>`, +:class:`sequences <ost.seq.SequenceHandle>`, :class:`images +<ost.img.ImageHandle>`. Importers for common file formats containing molecules +such as PDB, SDF and CHARMM trajectory files are available. Sequence and +alignment file formats such as FASTA and CLUSTALW are supported as well as +various image data (e.g. png, dm3) and density map files (e.g. CCP4, MRC). + +.. _mol-io: + +Molecular Structures +-------------------------------------------------------------------------------- + +Loading Molecular Structures +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The :mod:`~ost.io` modules offers several ways to load molecular structures +depending on your requirements. The most general way is offered by +:func:`~ost.io.LoadEntity`, which will automatically detect the file format based +on the file extension. + +.. function:: LoadEntity(filename, format='auto') + + Load entity from disk. If format is set to 'auto', the function guesses the + filetype based on the extension of the file. Files ending in '.pdb', '.ent', + '.ent.gz', '.pdb.gz' will automatically be loaded as PDB files, for example. + For files without or exotic extensions, the format can be set explicitly as + the second parameter. + + .. code-block:: python + + # recognizes SDF file by file extension + ent=io.LoadEntity('file.sdf') + + # In this case, there is no file extensions, so you have to say it's a + # SDF file explicitly + ent=io.LoadEntity('file', 'sdf') + + For a list of file formats supported by :func:`LoadEntity`, see :doc:`formats`. + + :raises: :exc:`~ost.io.IOUnknownFormatException` if the format string supplied + is not recognized or the file format can not be detected based on the + file extension + + :exc:`~ost.io.IOException` if the import fails due to an erroneous or + inexistent file + +Some of the formats have a dedicated function that allows you to tweak many +parameters that affect the import. PDB files can be loaded with +:func:`~ost.io.LoadPDB`. It offers a tighter control over the exact loading +behaviour. + +.. autofunction:: ost.io.LoadPDB + + +Saving Molecular Structures +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Saving a complete entity or a view is a matter of calling +:func:`~ost.io.SaveEntity`. + +.. code-block:: python + + ent=io.LoadEntity('protein.pdb') + # save full entity + io.SaveEntity(ent, 'full.pdb') + # only save C-alpha atoms + io.SaveEntity(ent.Select('aname=CA and peptide=true'), 'calpha.pdb') + +:func:`~ost.io.SavePDB` provides a simple way to save several entities into one +file: + + +.. code-block:: python + + ent=io.LoadEntity('protein.pdb') + # Save complete entity + io.SavePDB(ent, 'full.pdb') + # Save chain A and chain B separately + io.SavePDB([ent.Select('cname=A'), ent.Select('cname=B')], 'split.pdb') + + +.. function:: SaveEntity(ent, filename, format='auto') + + Save entity to disk. If format is set to 'auto', the function guesses the + filetype based on the file extension, otherwise the supplied format is checked + against the available export plugins. + + :param ent: The entity to be saved + :type ent: :class:`~ost.mol.EntityHandle` or :class:`~ost.mol.EntityView` + :param filename: The filename + :type filename: string + :param format: Name of the format + :type format: string + + :raises: :exc:`~ost.io.IOUnknownFormatException` if the format string supplied + is not recognized or the file format can not be detected based on the + file extension + +.. autofunction:: ost.io.SavePDB + + + +.. _seq-io: + +Sequences and Alignments +-------------------------------------------------------------------------------- + +Loading sequence or alignment files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. function:: LoadSequence(filename, format='auto') + + Load sequence data from disk. If format is set to 'auto', the function guesses + the filetype based on the extension of the file. Files ending in '.fasta', + '.aln' will automatically be loaded. + + For files with non-standard extensions, the format can be set explicitly + specifying the `format` parameter. + + .. code-block:: python + + # recognizes FASTA file by file extension + myseq=io.LoadSequence('seq.fasta') + # for obtaining a SequenceList + seqlist=io.LoadSequenceList('seqs.fasta') + # or for multiple aligned fasta files use + aln=io.LoadAlignment('algnm.aln',format="clustal") + + For a list of file formats supported by :func:`LoadSequence` see + :doc:`formats`. + + :raises: :exc:`~ost.io.IOUnknownFormatException` if the format string supplied + is not recognized or the file format can not be detected based on the + file extension + + :exc:`~ost.io.IOException` if the import fails due to an erroneous or + inexistent file + +.. function:: LoadSequenceList(filename, format='auto') + + For a desription of how to use :func:`LoadSequenceList` please refer to + :func:`LoadSequence`. For a list of file formats supported by + :func:`LoadSequenceList` see :doc:`formats`. + +.. function:: LoadAlignment(filename, format='auto') + + For a desription of how to use :func:`LoadAlignment` please refer to + :func:`LoadSequence`. For a list of file formats supported by + :func:`LoadAlignment` see :doc:`formats`. + +Saving Sequence Data +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. function:: SaveSequence(filename, format='auto') + + Saving sequence data is performed by calling :func:`SaveSequence`. + For files with non-standard extensions, the format can be set explicitly + specifying the 'format' parameter. + + .. code-block:: python + + # recognizes FASTA file by file extension + io.SaveSequence(myseq,'seq.fasta') + # for saving a SequenceList + io.SaveSequenceList(seqlist,'seqlist.fasta') + # or multiple aligned fasta files + io.SaveAlignment(aln,'algnm.aln',format="clustal") + + For a list of file formats supported by :func:`SaveSequence` see + :doc:`formats`. + + :raises: :exc:`~ost.io.IOUnknownFormatException` if the format string supplied + is not recognized or the file format can not be detected based on the + file extension + + :exc:`~ost.io.IOException` if the import fails due to an erroneous or + inexistent file + +.. function:: SaveSequenceList(filename, format='auto') + + For a desription of how to use :func:`SaveSequenceList` please refer to + :func:`SaveSequence`. For a list of file formats supported by + :func:`SaveSequenceList` see :doc:`formats`. + +.. function:: SaveAlignment(filename, format='auto') + + For a desription of how to use :func:`SaveAlignment` please refer to + :func:`SaveSequence`. + + For a list of file formats supported by :func:`SaveAlignment` see + :doc:`formats`. + + +.. testsetup:: io + from ost import io + +.. testcode:: io + :hide: + + from ost import io,seq + ent=io.LoadPDB('./examples/entity/fragment.pdb') + print ent.atom_count + myseq=seq.SequenceFromChain('t',ent.chains[0]) + print myseq.GetLength() + +.. testoutput:: io + :hide: + + 81 + 12 + + diff --git a/modules/io/pymod/__init__.py b/modules/io/pymod/__init__.py index 344f971292b41d79cddbb61925c71d5296d0d474..2cf6900a10edd878f78a2b748830d33f2f102afe 100644 --- a/modules/io/pymod/__init__.py +++ b/modules/io/pymod/__init__.py @@ -16,35 +16,98 @@ # along with this library; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #------------------------------------------------------------------------------ +import os, tempfile, ftplib, httplib + from _io import * -from ost import mol,conop +from ost import mol, conop + +def __GetModelFromPDB(model_id, output_dir, file_pattern='pdb%s.ent.gz'): + file_name = file_pattern % model_id + file_path = os.path.join(output_dir,file_name) + try: + server="ftp.wwpdb.org" + ftp=ftplib.FTP(server,"anonymous","user@") + ftp.cwd("pub/pdb/data/structures/all/pdb") + ftp_retrfile=open(file_path,"wb") + ftp.retrbinary("RETR "+file_name,ftp_retrfile.write) + ftp_retrfile.close() + except: + conn=httplib.HTTPConnection('www.pdb.org') + conn.request('GET', '/pdb/files/%s.pdb.gz' % model_id ) + response=conn.getresponse() + if response.status==200: + data=response.read() + f=open(os.path.join(output_dir, file_pattern % model_id), 'w+') + f.write(data) + f.close() + else: + conn.close() + return False + return os.path.getsize(file_path) > 0 def LoadPDB(filename, restrict_chains="", no_hetatms=False, fault_tolerant=False, load_multi=False, - join_spread_atom_records=False, calpha_only=False): + join_spread_atom_records=False, calpha_only=False, + remote=False, dialect='PDB', strict_hydrogens=False): """ - Load PDB file from disk. + Load PDB file from disk and returns one or more entities. Several options + allow to customize the exact behaviour of the PDB import. - If restrict_chains is not an empty string, only chains listed in the - string will be imported. + :param restrict_chains: If not an empty string, only chains listed in the + string will be imported. - If fault_tolerant is set to true, the import will succeed, even if the - PDB contains faulty records. The faulty records will be ignored in that - case. + :param fault_tolerant: If True, the import will succeed, even if the + PDB contains faulty records. The faulty records will be ignored and import + continues as if the records haven't been present. - If not_hetatms is set to True, HETATM records will be ignored + :param no_hetatms: If set to True, HETATM records will be ignored - If load_multi is set to true, a list of entities will be returned instead - of only the first. + :param load_multi: If set to True, a list of entities will be returned instead + of only the first. This is useful when dealing with multi-PDB files. - If join_spread_atom_records is set to true, atom records belonging to the - same residue are joined, even if they do not appear sequentially in the PDB - file. + :param join_spread_atom_records: If set to true, atom records belonging to the + same residue are joined, even if they do not appear sequentially in the PDB + file. + + :param remote: If set to true, the method tries to load the pdb from the remote + pdb repository www.pdb.org. + :rtype: :class:`~ost.mol.EntityHandle` or a list thereof if `load_multi` is + True. + :param dialect: Specifies the particular dialect to use. By default, the + official PDB format is used. Alternatively, by setting the dialect to + CHARMM, the loading is optimized for CHARMM PDB files. + :type dialect: :class:`str` + + :param strict_hydrogens: whether hydrogen names should be strictly checked. + It is very common for PDB files to not follow the correct naming + conventions for hydrogen atoms. That's why by default, the names of the + hydrogens are not required to be correct. Rather, the connectivity is + inferred with distance-based checks. By turning this flag on, the names + of the hydrogen atoms are checked against the names in the database like + all other atom types. + + :raises: :exc:`~ost.io.IOException` if the import fails due to an erroneous or + inexistent file """ + + if dialect not in ('PDB', 'CHARMM',): + raise ValueError('dialect must be PDB or CHARMM') + + if remote: + output_dir = tempfile.gettempdir() + if __GetModelFromPDB(filename, output_dir): + filename = os.path.join(output_dir, 'pdb%s.ent.gz' % filename) + else: + raise IOError('Can not load PDB %s from www.pdb.org'%filename) + conop_inst=conop.Conopology.Instance() builder=conop_inst.GetBuilder("DEFAULT") + if dialect=='PDB': + builder.dialect=conop.PDB_DIALECT + elif dialect=='CHARMM': + builder.dialect=conop.CHARMM_DIALECT + builder.strict_hydrogens=strict_hydrogens reader=PDBReader(filename) - flags=0 if calpha_only: flags|=PDB.CALPHA_ONLY @@ -54,6 +117,8 @@ def LoadPDB(filename, restrict_chains="", no_hetatms=False, flags|=PDB.NO_HETATMS if join_spread_atom_records: flags|=PDB.JOIN_SPREAD_ATOM_RECORDS + if dialect=='CHARMM': + flags|=PDB.CHARMM_FORMAT try: PDB.PushFlags(PDB.Flags() | flags) if load_multi: @@ -63,6 +128,8 @@ def LoadPDB(filename, restrict_chains="", no_hetatms=False, reader.Import(ent, restrict_chains) conop_inst.ConnectAll(builder, ent, 0) ent_list.append(ent) + if len(ent_list)==0: + raise IOError("File doesn't contain any entities") PDB.PopFlags() return ent_list else: @@ -70,6 +137,8 @@ def LoadPDB(filename, restrict_chains="", no_hetatms=False, if reader.HasNext(): reader.Import(ent, restrict_chains) conop_inst.ConnectAll(builder, ent, 0) + else: + raise IOError("File doesn't contain any entities") PDB.PopFlags() return ent except: @@ -78,7 +147,13 @@ def LoadPDB(filename, restrict_chains="", no_hetatms=False, def SavePDB(models, filename): """ - Save entity or list of entities to disk + Save entity or list of entities to disk. If a list of entities is supplied the + PDB file will be saved as a multi PDB file. Each of the entities is wrapped + into a MODEL/ENDMDL pair. + + :param models: The entity or list of entities (handles or views) to be saved + :param filename: The filename + :type filename: string """ if not getattr(models, '__len__', None): models=[models] diff --git a/modules/io/pymod/export_map_io.cc b/modules/io/pymod/export_map_io.cc index 6f30e29616033f81e30b91c2cc4dbdb147895118..e2b10e158a946cb5c1a768eb843766fe14b25aaf 100644 --- a/modules/io/pymod/export_map_io.cc +++ b/modules/io/pymod/export_map_io.cc @@ -132,6 +132,8 @@ void export_map_io() .def("GetFormat", &TIF::GetFormat) .def("SetSigned", &TIF::SetSigned) .def("GetSigned", &TIF::GetSigned) + .def("SetBitDepth", &TIF::SetBitDepth) + .def("GetBitDepth", &TIF::GetBitDepth) .def("GetPhasecolor", &TIF::GetPhasecolor) .def("SetPhasecolor", &TIF::SetPhasecolor) .def("SetSubimage", &TIF::SetSubimage) @@ -143,9 +145,13 @@ void export_map_io() .def("GetNormalizeOnSave", &PNG::GetNormalizeOnSave) ; - class_<DAT, bases<ImageFormatBase> >("DAT", init<bool,Endianess>((arg("normalize_on_save") = false,arg("endianess") = OST_LOCAL_ENDIAN))) - .def("SetNormalizeOnSave", &PNG::SetNormalizeOnSave) - .def("GetNormalizeOnSave", &PNG::GetNormalizeOnSave) + class_<DAT, bases<ImageFormatBase> >("DAT", init<bool,Format,bool,Endianess>((arg("normalize_on_save") = false,arg("format")=OST_DEFAULT_FORMAT,arg("signed")=false,arg("endianess") = OST_LOCAL_ENDIAN))) + .def("SetNormalizeOnSave", &DAT::SetNormalizeOnSave) + .def("GetNormalizeOnSave", &DAT::GetNormalizeOnSave) + .def("SetSigned", &DAT::SetSigned) + .def("GetSigned", &DAT::GetSigned) + .def("SetBitDepth", &DAT::SetBitDepth) + .def("GetBitDepth", &DAT::GetBitDepth) ; class_<JPK, bases<TIF> >("JPK", init<boost::logic::tribool,Format,bool,bool,int> diff --git a/modules/io/pymod/export_pdb_io.cc b/modules/io/pymod/export_pdb_io.cc index 1aec7e6fe5415aea60d813955b924b271c3159db..1275ea7a62fdc15025c646046d468a80ac1f6dd6 100644 --- a/modules/io/pymod/export_pdb_io.cc +++ b/modules/io/pymod/export_pdb_io.cc @@ -54,6 +54,7 @@ void export_pdb_io() pdb_scope.attr("WRITE_MULTIPLE_MODELS")=PDB::WRITE_MULTIPLE_MODELS; pdb_scope.attr("JOIN_SPREAD_ATOM_RECORDS")=PDB::JOIN_SPREAD_ATOM_RECORDS; pdb_scope.attr("CALPHA_ONLY")=PDB::CALPHA_ONLY; + pdb_scope.attr("CHARMM_FORMAT")=PDB::CHARMM_FORMAT; } class_<PDBReader, boost::noncopyable>("PDBReader", init<String>()) diff --git a/modules/io/pymod/wrap_io.cc b/modules/io/pymod/wrap_io.cc index b04d3ac78ab729a8125fd258f9b7de89c2f15653..dc5ce987c38cb9dd4f2cd692cc306b8b2dd567a4 100644 --- a/modules/io/pymod/wrap_io.cc +++ b/modules/io/pymod/wrap_io.cc @@ -104,15 +104,14 @@ BOOST_PYTHON_MODULE(_io) def("LoadSequence", &LoadSequence, arg("format")="auto"); def("SequenceListFromString", &SequenceListFromString); def("SequenceFromString", &SequenceFromString); - def("SaveAlignment", &SaveAlignment, - save_alignment_ov(args("alignment", "filename", "format"))); + def("SaveAlignment", &SaveAlignment, arg("format")="auto"); def("LoadSurface",LoadSurface,load_surface_ov()); def("LoadManagedSurface",LoadManagedSurface,load_msurface_ov()); def("SequenceToString", &SequenceToString); def("SequenceListToString", &SequenceListToString); - def("SaveSequenceList", &SaveSequenceList); - def("SaveSequence", &SaveSequence); + def("SaveSequenceList", &SaveSequenceList, arg("format")="auto"); + def("SaveSequence", &SaveSequence, arg("format")="auto"); def("LoadSDF", &LoadSDF); def("LoadCRD", &LoadCRD); diff --git a/modules/io/src/convert.cc b/modules/io/src/convert.cc index 0d9ac88658ee3fb8d1ed8730317ef488633d27c7..8cc6a83ea13ccf742633694c8e8f301787c8319c 100644 --- a/modules/io/src/convert.cc +++ b/modules/io/src/convert.cc @@ -226,7 +226,7 @@ void to_vax_converter_float_helper(const unsigned int* in, unsigned int * out) if ( e == EXPONENT_MASK ) { // VAX's have no equivalents for IEEE +-Infinity and +-NaN [e=all-1's] // Fixup to VAX +-extrema [e=all-1's] with zero mantissa [m=0] - LOGN_ERROR("IEEE Infinity or NaN encountered. Fixup to VAX extrema"); + LOG_ERROR("IEEE Infinity or NaN encountered. Fixup to VAX extrema"); *out = (*in & SIGN_BIT) | EXPONENT_MASK; }else{ e >>= MANTISSA_SIZE; // Obtain the biased IEEE exponent @@ -243,7 +243,7 @@ void to_vax_converter_float_helper(const unsigned int* in, unsigned int * out) // Silent underflow *out=0;; }else if( e > ( 2 * VAX_F_EXPONENT_BIAS - 1 ) ){ - LOGN_ERROR("Overflow. Fixup to VAX extrema"); + LOG_ERROR("Overflow. Fixup to VAX extrema"); *out = ( *in & SIGN_BIT ) | ~SIGN_BIT; }else{ // VAX normalized form [e>0] (both mantissas are 23 bits) @@ -259,7 +259,7 @@ void from_vax_converter_float_helper(const unsigned int* in, unsigned int * out) // If the biased VAX exponent is zero [e=0] if ( ( *in & SIGN_BIT ) == SIGN_BIT ){ // If negative [s=1] - LOGN_ERROR("VAX reserved operand fault; fixup to IEEE zero"); + LOG_ERROR("VAX reserved operand fault; fixup to IEEE zero"); } // Set VAX dirty [m<>0] or true [m=0] zero to IEEE +zero [s=e=m=0] *out = 0; diff --git a/modules/io/src/img/CMakeLists.txt b/modules/io/src/img/CMakeLists.txt index 4ed3e1999b5be767123770d113d215c8bbe70b39..8fa9a30ffd45564867fef83e5b17ef7bee0250b0 100644 --- a/modules/io/src/img/CMakeLists.txt +++ b/modules/io/src/img/CMakeLists.txt @@ -10,6 +10,7 @@ map_io_dat_handler.cc map_io_jpk_handler.cc map_io_nanoscope_handler.cc map_io_png_handler.cc +map_io_df3_handler.cc convert_vax_data.c image_format.cc tiff_util.cc @@ -18,6 +19,7 @@ PARENT_SCOPE set(OST_IO_IMG_HEADERS load_map.hh +map_io_df3_handler.hh image_format.hh image_format_conversion.cc map_io_dx_handler.hh diff --git a/modules/io/src/img/load_map.cc b/modules/io/src/img/load_map.cc index f700d37368aef23e6c0570bfdb8bf732b7447392..c120c6e354c00299260e14e78b176a898a368612 100644 --- a/modules/io/src/img/load_map.cc +++ b/modules/io/src/img/load_map.cc @@ -27,19 +27,19 @@ namespace ost { namespace io { -DLLEXPORT_OST_IO img::ImageHandle LoadImage(const boost::filesystem::path& loc) +img::ImageHandle LoadImage(const boost::filesystem::path& loc) { UndefinedImageFormat undefined; return LoadImage(loc,undefined); } -DLLEXPORT_OST_IO img::ImageHandle LoadImage(const boost::filesystem::path& loc, const ImageFormatBase& formatstruct) +img::ImageHandle LoadImage(const boost::filesystem::path& loc, const ImageFormatBase& formatstruct) { if(!boost::filesystem::exists(loc)){ throw IOException("file not found: " + loc.string()); } - LOG_DUMP("creating MapIOHandler for " << loc.string() << std::endl); + LOG_DEBUG("creating MapIOHandler for " << loc.string()); MapIOHandlerPtr map_io = IOManager::Instance().FindMapImportHandlerFile(loc,formatstruct); @@ -49,7 +49,7 @@ DLLEXPORT_OST_IO img::ImageHandle LoadImage(const boost::filesystem::path& loc, img::ImageHandle ih = CreateImage(img::Extent(),img::REAL,img::SPATIAL); - LOG_DUMP("calling import on map io handle" << std::endl); + LOG_DEBUG("calling import on map io handle"); map_io->Import(ih,loc,formatstruct); // TODO: fix this in regard to automatic copy of ConstData info obj @@ -59,40 +59,40 @@ DLLEXPORT_OST_IO img::ImageHandle LoadImage(const boost::filesystem::path& loc, return ih; } -DLLEXPORT_OST_IO void SaveImage(const img::ImageHandle& image, const boost::filesystem::path& loc) +void SaveImage(const img::ImageHandle& image, const boost::filesystem::path& loc) { UndefinedImageFormat undefined; SaveImage(image,loc,undefined); } -DLLEXPORT_OST_IO void SaveImage(const img::ImageHandle& image, const boost::filesystem::path& loc,const ImageFormatBase& formatstruct) +void SaveImage(const img::ImageHandle& image, const boost::filesystem::path& loc,const ImageFormatBase& formatstruct) { MapIOHandlerPtr map_io = IOManager::Instance().FindMapExportHandlerFile(loc,formatstruct); if(!map_io) { throw IOUnknownFormatException("could not find io-plugin for " + loc.string()); } - LOG_DUMP("calling export on map io handle" << std::endl); + LOG_DEBUG("calling export on map io handle"); map_io->Export(image, loc,formatstruct); } -DLLEXPORT_OST_IO img::MapHandle LoadMap(const boost::filesystem::path& loc, const ImageFormatBase& formatstruct) +img::MapHandle LoadMap(const boost::filesystem::path& loc, const ImageFormatBase& formatstruct) { return LoadImage(loc,formatstruct); } -DLLEXPORT_OST_IO img::MapHandle LoadMap(const boost::filesystem::path& loc) +img::MapHandle LoadMap(const boost::filesystem::path& loc) { return LoadImage(loc); } -DLLEXPORT_OST_IO void SaveMap(const img::ImageHandle& image, const boost::filesystem::path& loc,const ImageFormatBase& formatstruct ) +void SaveMap(const img::ImageHandle& image, const boost::filesystem::path& loc,const ImageFormatBase& formatstruct ) { SaveImage(image,loc,formatstruct); } -DLLEXPORT_OST_IO void SaveMap(const img::ImageHandle& image, const boost::filesystem::path& loc) +void SaveMap(const img::ImageHandle& image, const boost::filesystem::path& loc) { SaveImage(image,loc); } diff --git a/modules/io/src/img/map_io_dat_handler.cc b/modules/io/src/img/map_io_dat_handler.cc index 988d590e5a333a8ab9a6d9ac17c175f17833d549..c2503261e5cd59aa257818b3da27d8e0e6cadfa2 100644 --- a/modules/io/src/img/map_io_dat_handler.cc +++ b/modules/io/src/img/map_io_dat_handler.cc @@ -17,6 +17,7 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ +#include <ost/stdint.hh> #include <boost/shared_array.hpp> #include <boost/filesystem/operations.hpp> #include <boost/filesystem/fstream.hpp> @@ -34,11 +35,33 @@ namespace ost { namespace io { String DAT::FORMAT_STRING = "defined_dat"; -DAT::DAT(bool normalize_on_save, Endianess end): - ImageFormatBase(FORMAT_STRING) +DAT::DAT(bool normalize_on_save, Format bit_depth, bool sign, Endianess end): + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save), + bit_depth_(bit_depth), + signed_(sign), + endianness_(end) { - normalize_on_save_ = normalize_on_save; - endianness_ = end; +} + +Format DAT::GetBitDepth() const +{ + return bit_depth_; +} + +void DAT::SetBitDepth (Format bitdepth) +{ + bit_depth_ = bitdepth; +} + +bool DAT::GetSigned () const +{ + return signed_; +} + +void DAT::SetSigned (bool sign) +{ + signed_ = sign; } Endianess DAT::GetEndianess() const @@ -92,7 +115,7 @@ void MapIODatHandler::Import(img::MapHandle& sh, const boost::filesystem::path& infile.close(); } -template <int CONVERSIONTYPE> +template <int CONVERSIONTYPE,typename DATATYPE> void real_filler(img::MapHandle& sh, std::istream& file) { BinaryIStream<CONVERSIONTYPE> file_bin(file); @@ -101,7 +124,7 @@ void real_filler(img::MapHandle& sh, std::istream& file) img::Progress::Instance().Register(&this_dummy,size[1],100); for(unsigned int row=0;row<size[1];row++) { for(unsigned int column=0;column<size[0];column++) { - short value; + DATATYPE value; file_bin >> value; sh.SetReal(img::Point(column,row),static_cast<Real>(value)); } @@ -110,7 +133,7 @@ void real_filler(img::MapHandle& sh, std::istream& file) img::Progress::Instance().DeRegister(&this_dummy); } -template <int CONVERSIONTYPE> +template <int CONVERSIONTYPE,typename DATATYPE> void real_dumper(const img::MapHandle& sh, std::ostream& file, const DAT& formatdat) { BinaryOStream<CONVERSIONTYPE> file_bin(file); @@ -124,7 +147,7 @@ void real_dumper(const img::MapHandle& sh, std::ostream& file, const DAT& format for(unsigned int row=0;row<size[1];row++) { for(unsigned int column=0;column<size[0];column++) { - file_bin << static_cast<short>(norm.Convert(sh.GetReal(img::Point(column,row)))); + file_bin << static_cast<DATATYPE>(norm.Convert(sh.GetReal(img::Point(column,row)))); } img::Progress::Instance().AdvanceProgress(&this_dummy); } @@ -151,21 +174,168 @@ void MapIODatHandler::Import(img::MapHandle& sh, std::istream& file, const Image uint filesize = end-start; file.seekg(curr_pos,std::ios::beg); - unsigned int size=static_cast<unsigned int>(sqrt(filesize/2.0)); - // default origin is top-left - sh.Reset(img::Extent(img::Point(0,0),img::Size(size,size)), img::REAL, img::SPATIAL); - - switch(formatdat.GetEndianess()) { - case OST_BIG_ENDIAN: - real_filler<OST_BIG_ENDIAN>(sh,file); + double datasize=1.0; + switch(formatdat.GetBitDepth()){ + case OST_BIT8_FORMAT: + case OST_DEFAULT_FORMAT: + datasize=1.0; + break; + case OST_BIT16_FORMAT: + datasize=2.0; break; - case OST_LITTLE_ENDIAN: - real_filler<OST_LITTLE_ENDIAN>(sh,file); + case OST_BIT32_FORMAT: + datasize=4.0; break; - case OST_VAX_DATA: - real_filler<OST_VAX_DATA>(sh,file); + case OST_FLOAT_FORMAT: + datasize=sizeof(float); break; - } + case OST_DOUBLE_FORMAT: + datasize=sizeof(double); + break; + } + unsigned int size=static_cast<unsigned int>(sqrt(filesize/datasize)); + // default origin is top-left + sh.Reset(img::Extent(img::Point(0,0),img::Size(size,size)), img::REAL, img::SPATIAL); + + if(formatdat.GetSigned()){ + switch(formatdat.GetBitDepth()){ + case OST_BIT8_FORMAT: + case OST_DEFAULT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,int8_t>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,int8_t>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,int8_t>(sh,file); + break; + } + break; + case OST_BIT16_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,int16_t>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,int16_t>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,int16_t>(sh,file); + break; + } + break; + case OST_BIT32_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,int32_t>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,int32_t>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,int32_t>(sh,file); + break; + } + break; + case OST_FLOAT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,float>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,float>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,float>(sh,file); + break; + } + break; + case OST_DOUBLE_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,double>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,double>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,double>(sh,file); + break; + } + break; + } + }else{ + switch(formatdat.GetBitDepth()){ + case OST_BIT8_FORMAT: + case OST_DEFAULT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,uint8_t>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,uint8_t>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,uint8_t>(sh,file); + break; + } + break; + case OST_BIT16_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,uint16_t>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,uint16_t>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,uint16_t>(sh,file); + break; + } + break; + case OST_BIT32_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,uint32_t>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,uint32_t>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,uint32_t>(sh,file); + break; + } + break; + case OST_FLOAT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,float>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,float>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,float>(sh,file); + break; + } + break; + case OST_DOUBLE_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_filler<OST_BIG_ENDIAN,double>(sh,file); + break; + case OST_LITTLE_ENDIAN: + real_filler<OST_LITTLE_ENDIAN,double>(sh,file); + break; + case OST_VAX_DATA: + real_filler<OST_VAX_DATA,double>(sh,file); + break; + } + break; + } + } } void MapIODatHandler::Export(const img::MapHandle& mh2, @@ -197,17 +367,145 @@ void MapIODatHandler::Export(const img::MapHandle& sh, std::ostream& file,const throw IOException("DAT IO: Dat format only supports square 2D images"); } - switch(formatdat.GetEndianess()) { - case OST_BIG_ENDIAN: - real_dumper<OST_BIG_ENDIAN>(sh,file,formatdat); - break; - case OST_LITTLE_ENDIAN: - real_dumper<OST_LITTLE_ENDIAN>(sh,file,formatdat); - break; - case OST_VAX_DATA: - real_dumper<OST_VAX_DATA>(sh,file,formatdat); - break; - } + if(formatdat.GetSigned()){ + switch(formatdat.GetBitDepth()){ + case OST_BIT8_FORMAT: + case OST_DEFAULT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,int8_t>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,int8_t>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,int8_t>(sh,file,formatdat); + break; + } + break; + case OST_BIT16_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,int16_t>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,int16_t>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,int16_t>(sh,file,formatdat); + break; + } + break; + case OST_BIT32_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,int32_t>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,int32_t>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,int32_t>(sh,file,formatdat); + break; + } + break; + case OST_FLOAT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,float>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,float>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,float>(sh,file,formatdat); + break; + } + break; + case OST_DOUBLE_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,double>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,double>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,double>(sh,file,formatdat); + break; + } + break; + } + }else{ + switch(formatdat.GetBitDepth()){ + case OST_BIT8_FORMAT: + case OST_DEFAULT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,int8_t>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,int8_t>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,int8_t>(sh,file,formatdat); + break; + } + break; + case OST_BIT16_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,int16_t>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,int16_t>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,int16_t>(sh,file,formatdat); + break; + } + break; + case OST_BIT32_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,int32_t>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,int32_t>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,int32_t>(sh,file,formatdat); + break; + } + break; + case OST_FLOAT_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,float>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,float>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,float>(sh,file,formatdat); + break; + } + break; + case OST_DOUBLE_FORMAT: + switch(formatdat.GetEndianess()) { + case OST_BIG_ENDIAN: + real_dumper<OST_BIG_ENDIAN,double>(sh,file,formatdat); + break; + case OST_LITTLE_ENDIAN: + real_dumper<OST_LITTLE_ENDIAN,double>(sh,file,formatdat); + break; + case OST_VAX_DATA: + real_dumper<OST_VAX_DATA,double>(sh,file,formatdat); + break; + } + break; + } + } } }} // namespaces diff --git a/modules/io/src/img/map_io_dat_handler.hh b/modules/io/src/img/map_io_dat_handler.hh index 92335aa170b08ef1ac32b36b25436471810c0746..9244c705be6870ddd82f74d3a06c4127c22d0143 100644 --- a/modules/io/src/img/map_io_dat_handler.hh +++ b/modules/io/src/img/map_io_dat_handler.hh @@ -34,7 +34,13 @@ class DLLEXPORT_OST_IO DAT: public ImageFormatBase public: - DAT(bool normalize_on_save = true,Endianess endianness = OST_LOCAL_ENDIAN); + DAT(bool normalize_on_save = true, Format bit_depth = OST_DEFAULT_FORMAT, bool sign = false,Endianess endianness = OST_LOCAL_ENDIAN); + + Format GetBitDepth() const; + void SetBitDepth ( Format bitdepth); + + bool GetSigned () const; + void SetSigned (bool sign); Endianess GetEndianess() const; void SetEndianess(Endianess end); @@ -45,6 +51,8 @@ class DLLEXPORT_OST_IO DAT: public ImageFormatBase private: bool normalize_on_save_; + Format bit_depth_; + bool signed_; Endianess endianness_; }; diff --git a/modules/io/src/img/map_io_df3_handler.cc b/modules/io/src/img/map_io_df3_handler.cc new file mode 100644 index 0000000000000000000000000000000000000000..b6f637eab3943f0a1d85fecec851a2217585af72 --- /dev/null +++ b/modules/io/src/img/map_io_df3_handler.cc @@ -0,0 +1,144 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// Copyright (C) 2003-2010 by the IPLT authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + Author: Marco Biasini +*/ + +#include <cstdio> +#include <cstring> +#include <iomanip> +#include <limits> +#include <sstream> +#include <fstream> +#include <ost/log.hh> +#include <boost/filesystem/fstream.hpp> +#include <boost/algorithm/string.hpp> +#include <ost/io/swap_util.hh> +#include <ost/img/alg/normalizer_factory.hh> +#include <ost/io/io_exception.hh> +#include <ost/io/converting_streams.hh> +#include <ost/img/progress.hh> + +#include "map_io_df3_handler.hh" + +namespace bf = boost::filesystem; + +namespace ost { namespace io { + +String DF3::FORMAT_STRING="defined_df3"; + +DF3::DF3(bool normalize_on_save): + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save) +{ +} + +bool DF3::GetNormalizeOnSave() const +{ + return normalize_on_save_; +} + +void DF3::SetNormalizeOnSave(bool normalize_on_save) +{ + normalize_on_save_ = normalize_on_save; +} + +void DF3MapIOHandler::Import(img::MapHandle& mh, const bf::path& loc, + const ImageFormatBase& formatstruct) +{ +} + +void DF3MapIOHandler::Import(img::MapHandle& mh, std::istream& infile, + const ImageFormatBase& formatstruct) +{ +} + + +void DF3MapIOHandler::Export(const img::MapHandle& mh2, + const bf::path& loc, + const ImageFormatBase& format) const +{ + boost::filesystem::ofstream outfile(loc, std::ios::binary); + if(!outfile) + { + throw IOException("could not open "+loc.string()); + } + BinaryOStream<OST_BIG_ENDIAN> big_endian_stream(outfile); + this->Export(mh2, big_endian_stream, format); + outfile.close(); + +} + +void DF3MapIOHandler::Export(const img::MapHandle& mh2, + std::ostream& outfile, + const ImageFormatBase& format) const +{ + static unsigned short max_val=std::numeric_limits<unsigned short>::max(); + DF3 default_df3; + DF3& fmt=default_df3; + if (format.GetFormatString()==DF3::FORMAT_STRING) { + fmt=format.As<DF3>(); + } else { + assert(format.GetFormatString()==UndefinedImageFormat::FORMAT_STRING); + } + if (mh2.GetType()==img::COMPLEX) { + throw IOException("DF3 doesn't support complex-valued maps"); + } + img::alg::Normalizer norm=img::alg::CreateNoOpNormalizer(); + if (fmt.GetNormalizeOnSave() == true) { + + norm=img::alg::CreateLinearRangeNormalizer(mh2, format.GetMinimum(), + format.GetMaximum()); + } + img::Size size=mh2.GetSize(); + for (size_t i=0; i<3; ++i) { + unsigned short v=size[i]; + Convert<OST_BIG_ENDIAN,unsigned short>::FromIP(&v); + outfile.write(reinterpret_cast<const char*>(&v), sizeof(unsigned short)); + } + for (img::ExtentIterator i(mh2.GetExtent()); !i.AtEnd(); ++i) { + Real norm_value=norm.Convert(mh2.GetReal(i))*max_val; + unsigned short v=static_cast<unsigned short>(norm_value); + Convert<OST_BIG_ENDIAN,unsigned short>::FromIP(&v); + outfile.write(reinterpret_cast<const char*>(&v), sizeof(unsigned short)); + } +} + +bool DF3MapIOHandler::MatchContent(unsigned char* header) +{ + return false; +} + +bool DF3MapIOHandler::MatchType(const ImageFormatBase& type) +{ + if(type.GetFormatString()==DF3::FORMAT_STRING) { + return true; + } + return false; +} + +bool DF3MapIOHandler::MatchSuffix(const String& loc) +{ + return detail::FilenameEndsWith(loc,".df3"); +} + + + +}} //namespaces diff --git a/modules/io/src/img/map_io_df3_handler.hh b/modules/io/src/img/map_io_df3_handler.hh new file mode 100644 index 0000000000000000000000000000000000000000..c6f3afd2f7f07bcbb4ad53d65d9be0afca3b95dc --- /dev/null +++ b/modules/io/src/img/map_io_df3_handler.hh @@ -0,0 +1,69 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// Copyright (C) 2003-2010 by the IPLT authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +#ifndef OST_IO_DF3_HANDLER_HH +#define OST_IO_DF3_HANDLER_HH + +/* + Author: Marco Biasini + */ +#include "map_io_handler.hh" + +namespace ost { namespace io { + +class DLLEXPORT_OST_IO DF3: public ImageFormatBase +{ + public: + + DF3(bool normalize_on_save = false); + + bool GetNormalizeOnSave() const; + void SetNormalizeOnSave(bool normalize_on_save); + static String FORMAT_STRING; + static String FORMAT_NAME_STRING; + static String FORMAT_ALIGNMENT_STRING; + + private: + + bool normalize_on_save_; +}; + +class DLLEXPORT_OST_IO DF3MapIOHandler: public MapIOHandler +{ + public: + virtual void Import(img::MapHandle& sh, const boost::filesystem::path& loc, + const ImageFormatBase& formatstruct); + virtual void Import(img::MapHandle& sh, std::istream& loc, + const ImageFormatBase& formatstruct); + virtual void Export(const img::MapHandle& sh, const boost::filesystem::path& loc, + const ImageFormatBase& formatstruct) const; + virtual void Export(const img::MapHandle& sh, std::ostream& loc, + const ImageFormatBase& formatstruct) const; + static bool MatchContent(unsigned char* header); + static bool MatchType(const ImageFormatBase& type); + static bool MatchSuffix(const String& loc); + static String GetFormatName() { return "DF3"; }; + static String GetFormatDescription() { return "PovRay Density file format"; }; +}; + +typedef MapIOHandlerFactory<DF3MapIOHandler> MapIODF3HandlerFactory; + +}} // ns + +#endif diff --git a/modules/io/src/img/map_io_dm3_handler.cc b/modules/io/src/img/map_io_dm3_handler.cc index b53c6b1b2fa95b86747156d8bd1a60c3b8de60bd..359d396f22324da37312038063770ce29c8595dc 100644 --- a/modules/io/src/img/map_io_dm3_handler.cc +++ b/modules/io/src/img/map_io_dm3_handler.cc @@ -74,9 +74,9 @@ void value_convert(void* src_ptr, DEST* dest_ptr, size_t count) { SOURCE* r_src_ptr = reinterpret_cast<SOURCE*>(src_ptr); for(uint c=0;c<count;++c) { - LOG_VERBOSE(" " << c << " / " << count << " ."); + LOG_TRACE(" " << c << " / " << count << " ."); DEST val=static_cast<DEST>(r_src_ptr[c]); - LOG_VERBOSE(" ." << std::endl); + LOG_TRACE(" ." << std::endl); dest_ptr[c] = val; } } @@ -216,7 +216,7 @@ void DM3Collector::ParseFile(const bf::path& loc) { throw IOException("could not open "+loc.string()); } - LOG_VERBOSE("Starting DM3 Parsing" << std::endl); + LOG_DEBUG("Starting DM3 Parsing" << std::endl); this->ParseStream(ifile); ifile.close(); } @@ -231,16 +231,16 @@ void DM3Collector::ParseStream(std::istream& fp) uint endianess; file_read(&endianess,sizeof(uint),1,fp); - LOG_MESSAGE("version: " << version << std::endl); - LOG_MESSAGE("bytecount: " << bytecount << std::endl); - LOG_MESSAGE("endianess: " << endianess << std::endl); + LOG_INFO("version: " << version); + LOG_INFO("bytecount: " << bytecount); + LOG_INFO("endianess: " << endianess); parse_tag_group(0,"ROOT",fp); img::Progress::Instance().DeRegister(this); if(fp.eof()==0) { - LOG_ERROR("file not parsed completely" << std::endl); + LOG_ERROR("file not parsed completely"); } else { - LOG_VERBOSE("file parsed completely" << std::endl); + LOG_INFO("file parsed completely"); } } @@ -320,7 +320,9 @@ void DM3Collector::check_image() image_handle_list_.push_back(ih); } else { - LOG_ERROR("missmatch in byte size of data (" << data_size*type_sizeof(image_number_type_) << " != " << image_data_byte_size_ << "), ignoring this image entry" << std::endl); + LOG_ERROR("missmatch in byte size of data (" + << data_size*type_sizeof(image_number_type_) << " != " + << image_data_byte_size_ << "), ignoring this image entry"); } image_width_=0; @@ -348,7 +350,7 @@ size_t DM3Collector::type_sizeof(uint n) void DM3Collector::parse_tag_group(int depth, const String& name,std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing tag group [" << name << "]" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing tag group [" << name << "]"); uchar sorted; file_read(&sorted,sizeof(uchar),1,fp); @@ -356,13 +358,14 @@ void DM3Collector::parse_tag_group(int depth, const String& name,std::istream& f uchar open; file_read(&open,sizeof(uchar),1,fp); - LOG_VERBOSE(String(depth,' ') << "s,o: " << static_cast<int>(sorted) << "," << static_cast<int>(open) << std::endl); + LOG_TRACE(String(depth,' ') << "s,o: " << static_cast<int>(sorted) << "," + << static_cast<int>(open)); uint tag_count; file_read(&tag_count,sizeof(uint),1,fp); if(swap_tag_) swap_uint(&tag_count,1); - LOG_VERBOSE(String(depth,' ') << "tag_count: " << tag_count << std::endl); + LOG_TRACE(String(depth,' ') << "tag_count: " << tag_count); handle_tag_group(name); @@ -373,12 +376,12 @@ void DM3Collector::parse_tag_group(int depth, const String& name,std::istream& f void DM3Collector::parse_tag_entry(int depth,std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing tag entry" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing tag entry"); uchar id; file_read(&id,sizeof(uchar),1,fp); - LOG_VERBOSE(String(depth,' ') << "id: " << static_cast<int>(id) << std::endl); + LOG_TRACE(String(depth,' ') << "id: " << static_cast<int>(id)); if(!(id==20 || id==21)) { std::ostringstream msg(""); @@ -397,7 +400,8 @@ void DM3Collector::parse_tag_entry(int depth,std::istream& fp) label=String(&buffer[0],nlabel); } - LOG_MESSAGE(String(depth,' ') << "nlabel: " << nlabel << " label: '" << label << "'" << std::endl); + LOG_TRACE(String(depth,' ') << "nlabel: " << nlabel << " label: '" + << label << "'" << std::endl); if(id==static_cast<uchar>(20)) { parse_tag_group(depth+1,label,fp); @@ -409,7 +413,7 @@ void DM3Collector::parse_tag_entry(int depth,std::istream& fp) void DM3Collector::parse_tag_type(int depth, const String& name, std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing tag type" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing tag type"); char dummy[4]; file_read(dummy,sizeof(char),4,fp); @@ -417,21 +421,21 @@ void DM3Collector::parse_tag_type(int depth, const String& name, std::istream& f if(String(dummy,4)!=String("%%%%")) { throw IOException("I/O Dm3: invalid tag_type magic number"); } else { - LOG_VERBOSE(String(depth,' ') << "magic number %%%% found" << std::endl); + LOG_TRACE(String(depth,' ') << "magic number %%%% found"); } uint ntype; file_read(&ntype,sizeof(uint),1,fp); if(swap_tag_) swap_uint(&ntype,1); - LOG_VERBOSE(String(depth,' ') << "ntype: " << ntype << std::endl); + LOG_TRACE(String(depth,' ') << "ntype: " << ntype); std::vector<uint> tag_type_info(ntype); file_read(&tag_type_info[0],sizeof(uint),ntype,fp); if(swap_tag_) swap_uint(&tag_type_info[0],ntype); for(uint i=0;i<ntype;++i) { - LOG_VERBOSE(String(depth,' ') << "type_info[" << i << "]: " << tag_type_info[i] << std::endl); + LOG_TRACE(String(depth,' ') << "type_info[" << i << "]: " << tag_type_info[i]); } if(ntype==1) { // simple type @@ -452,7 +456,7 @@ void DM3Collector::parse_tag_type(int depth, const String& name, std::istream& f void DM3Collector::parse_tag_type_single(int depth, const String& name,TagTypeInfo& tag_type_info,std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing simple tag [" << name << "]" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing simple tag [" << name << "]"); // tag_type_info[0] contains number type uint number_type=tag_type_info[0]; @@ -461,7 +465,7 @@ void DM3Collector::parse_tag_type_single(int depth, const String& name,TagTypeIn msg << "I/O Dm3: unexpected number type " << number_type << " for simple type"; throw IOException(msg.str()); } else { - LOG_VERBOSE(String(depth,' ') << "reading simple value of number_type " << number_type << std::endl); + LOG_TRACE(String(depth,' ') << "reading simple value of number_type " << number_type); } uchar buffer[16]; // sufficient for all primitive types @@ -470,14 +474,14 @@ void DM3Collector::parse_tag_type_single(int depth, const String& name,TagTypeIn // TODO: swap data double tmp; tag_value_convert<double>(number_type,buffer,&tmp); - LOG_VERBOSE(String(depth,' ') << "value: " << tmp << std::endl); + LOG_TRACE(String(depth,' ') << "value: " << tmp); handle_single_tag(name,number_type,buffer); } void DM3Collector::parse_tag_type_String(int depth, const String& name, TagTypeInfo& tag_type_info,std::istream& fp) { - LOG_VERBOSE (String(depth,' ') << "parsing String tag [" << name << "]" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing String tag [" << name << "]"); // tag_type_info[0] contains number type 18 // tag_type_info[1] contains String length std::vector<char> buffer(tag_type_info[1]*2); @@ -486,7 +490,7 @@ void DM3Collector::parse_tag_type_String(int depth, const String& name, TagTypeI void DM3Collector::parse_tag_type_array(int depth, const String& name, TagTypeInfo& tag_type_info,std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing array tag [" << name << "]" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing array tag [" << name << "]"); // tag_type_info[0] contains number type 20 // tag_type_info[1] contains array number type // tag_type_info[2] contains array length @@ -496,12 +500,12 @@ void DM3Collector::parse_tag_type_array(int depth, const String& name, TagTypeIn msg << "I/O Exception: unexpected number type " << number_type << " for array"; throw IOException(msg.str()); } else { - LOG_VERBOSE(String(depth,' ') << "parsing array of number_type " << number_type << std::endl); + LOG_TRACE(String(depth,' ') << "parsing array of number_type " << number_type); } size_t array_type_size = type_sizeof(number_type); - LOG_VERBOSE(String(depth,' ') << "array byte size: " << array_type_size*tag_type_info[2] << std::endl); + LOG_TRACE(String(depth,' ') << "array byte size: " << array_type_size*tag_type_info[2]); //std::vector<uchar> data(array_type_size*tag_type_info[2]); boost::shared_array<uchar> array_data(new uchar[array_type_size*tag_type_info[2]]); @@ -512,7 +516,7 @@ void DM3Collector::parse_tag_type_array(int depth, const String& name, TagTypeIn void DM3Collector::parse_tag_type_simple_struct(int depth, const String& name, TagTypeInfo& tag_type_info,std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing simple struct tag [" << name << "]" << std::endl); + LOG_TRACE(String(depth,' ') << "parsing simple struct tag [" << name << "]"); // tag_type_info[0] contains number type 15 if(tag_type_info[0]!=15) { std::ostringstream msg(""); @@ -521,7 +525,7 @@ void DM3Collector::parse_tag_type_simple_struct(int depth, const String& name, T } // tag_type_info[2] contains number of entries in struct - LOG_VERBOSE(String(depth,' ') << "reading in " << tag_type_info[2] << " values" << std::endl); + LOG_TRACE(String(depth,' ') << "reading in " << tag_type_info[2] << " values"); std::vector<uint> number_types(tag_type_info[2]); std::vector<long> buffers(tag_type_info[2]); for(uint c=0;c<tag_type_info[2];++c) { @@ -531,14 +535,14 @@ void DM3Collector::parse_tag_type_simple_struct(int depth, const String& name, T msg << "I/O Dm3: unexpected number type " << number_types[c] << " while parsing tag_type_struct"; throw IOException(msg.str()); } else { - LOG_VERBOSE("reading value of number_type " << number_types[c] << std::endl); + LOG_TRACE("reading value of number_type " << number_types[c]); } size_t bufsize = type_sizeof(number_types[c]); void* buffer = &buffers[c]; file_read(buffer,bufsize,1,fp); double tmp; tag_value_convert<double>(number_types[c],buffer,&tmp); - LOG_VERBOSE(String(depth,' ') << "value " << c << ": " << tmp << std::endl); + LOG_TRACE(String(depth,' ') << "value " << c << ": " << tmp); // TODO: swap data } handle_struct_tag(name,number_types,buffers); @@ -547,7 +551,7 @@ void DM3Collector::parse_tag_type_simple_struct(int depth, const String& name, T void DM3Collector::parse_tag_type_array_struct(int depth, const String& name, TagTypeInfo& tag_type_info,std::istream& fp) { - LOG_VERBOSE(String(depth,' ') << "parsing array struct tag [" << name << "]" << std::endl); + LOG_DEBUG(String(depth,' ') << "parsing array struct tag [" << name << "]"); // tag_type_info[0] contains number type 20 if(tag_type_info[0]!=20) { std::ostringstream msg(""); @@ -558,20 +562,22 @@ void DM3Collector::parse_tag_type_array_struct(int depth, const String& name, Ta // tag_type_info[size-1] contains length of array! uint array_size = tag_type_info[tag_type_info.size()-1]; - LOG_VERBOSE(String(depth,' ') << "looping over " << array_size << " array elements" << std::endl); + LOG_TRACE(String(depth,' ') << "looping over " << array_size + << " array elements"); uchar buffer[16]; // sufficient for all primitive types for(uint ac=0;ac<array_size;++ac) { // tag_type_info[3] contains number of entries in struct - LOG_VERBOSE(String(depth,' ') << "reading in " << tag_type_info[3] << " values for array entry " << ac << std::endl); + LOG_TRACE(String(depth,' ') << "reading in " << tag_type_info[3] << " values for array entry "); for(uint c=0;c<tag_type_info[3];++c) { uint number_type=tag_type_info[c*2+5]; if(number_type>10) { - std::ostringstream msg(""); - msg << "I/O Dm3: unexpected number type " << number_type << " while parsing tag_type_struct"; - throw IOException(msg.str()); + std::ostringstream msg; + msg << "I/O Dm3: unexpected number type " << number_type + << " while parsing tag_type_struct"; + throw IOException(msg.str()); } else { - LOG_VERBOSE(String(depth,' ') << "reading value of number_type " << number_type << std::endl); + LOG_TRACE(String(depth, ' ') << "reading value of number_type " << number_type); } size_t bufsize = type_sizeof(number_type); file_read(buffer,bufsize,1,fp); diff --git a/modules/io/src/img/map_io_dx_handler.cc b/modules/io/src/img/map_io_dx_handler.cc index f8f38fad1440e19503b1dd6560ec96d60e7ffacf..61b0a90e465b8cd5ee9735e60cda9f035a024c70 100644 --- a/modules/io/src/img/map_io_dx_handler.cc +++ b/modules/io/src/img/map_io_dx_handler.cc @@ -46,9 +46,9 @@ using boost::format; String DX::FORMAT_STRING="defined_dx"; DX::DX (bool normalize_on_save): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save) { - normalize_on_save_ = normalize_on_save; } bool DX::GetNormalizeOnSave() const diff --git a/modules/io/src/img/map_io_jpk_handler.cc b/modules/io/src/img/map_io_jpk_handler.cc index 2f36a21ed7504da5c89956479ed2e73d2b2e7780..8f778b3acbcf3d2420b3a5a3d70dad0d0cc9af1f 100644 --- a/modules/io/src/img/map_io_jpk_handler.cc +++ b/modules/io/src/img/map_io_jpk_handler.cc @@ -89,8 +89,8 @@ void MapIOJpkHandler::Import(img::ImageHandle& image, const boost::filesystem::p } image*=(*scale*units_scale); image+=(*base*units_scale); - LOG_MESSAGE("jpk_plugin: scalefactor: " << *scale << " offset: " - << *base<< std::endl); + LOG_INFO("jpk_plugin: scalefactor: " << *scale + << " offset: " << *base); } else { throw IOException("Missing scaling tags"); } @@ -107,7 +107,7 @@ void MapIOJpkHandler::Import(img::ImageHandle& image, const boost::filesystem::p } char* s; TIFFGetField(tfile, jpk_tags::EncoderUnit(newformat.GetSubimage()), &count, &s); - LOG_MESSAGE("jpk_plugin: units: " << s << std::endl); + LOG_INFO("jpk_plugin: units: " << s); Real* sx; @@ -118,7 +118,7 @@ void MapIOJpkHandler::Import(img::ImageHandle& image, const boost::filesystem::p image.SetPixelSampling(geom::Vec3(*sx/static_cast<Real>(image.GetSize()[0])*Units::m, *sy/static_cast<Real>(image.GetSize()[1])*Units::m, 1)); - LOG_MESSAGE("jpk_plugin: sx: " << *sx << " sy: "<< *sy<< std::endl); + LOG_INFO("jpk_plugin: sx: " << *sx << " sy: "<< *sy); } else { throw IOException("Missing size tags"); @@ -184,8 +184,8 @@ void MapIOJpkHandler::Import(img::MapHandle& image, std::istream& loc,const Imag } image*=(*scale*units_scale); image+=(*base*units_scale); - LOG_MESSAGE("jpk_plugin: scalefactor: " << *scale << " offset: " - << *base<< std::endl); + LOG_INFO("jpk_plugin: scalefactor: " << *scale << " offset: " + << *base); }else { throw IOException("Missing scaling tags"); } @@ -202,7 +202,7 @@ void MapIOJpkHandler::Import(img::MapHandle& image, std::istream& loc,const Imag } char* s; TIFFGetField(tfile, jpk_tags::EncoderUnit(newformat.GetSubimage()), &count, &s); - LOG_MESSAGE("jpk_plugin: units: " << s << std::endl); + LOG_INFO("jpk_plugin: units: " << s); Real* sx; @@ -213,7 +213,7 @@ void MapIOJpkHandler::Import(img::MapHandle& image, std::istream& loc,const Imag image.SetPixelSampling(geom::Vec3(*sx/static_cast<Real>(image.GetSize()[0])*Units::m, *sy/static_cast<Real>(image.GetSize()[1])*Units::m, 1)); - LOG_MESSAGE("jpk_plugin: sx: " << *sx << " sy: "<< *sy<< std::endl); + LOG_INFO("jpk_plugin: sx: " << *sx << " sy: "<< *sy); } else { throw IOException("Missing size tags"); diff --git a/modules/io/src/img/map_io_mrc_handler.cc b/modules/io/src/img/map_io_mrc_handler.cc index d5ccdb9fd42dcf9cc050a17a182c2cdb65651d35..aa4a1cf40be7817932edd7662357bb52722f6e73 100644 --- a/modules/io/src/img/map_io_mrc_handler.cc +++ b/modules/io/src/img/map_io_mrc_handler.cc @@ -93,11 +93,11 @@ String MRC::FORMAT_STRING = "defined_mrc"; MRC::MRC(bool normalize_on_save, Subformat subformat,Endianess endianess_on_save): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + subformat_(subformat), + normalize_on_save_(normalize_on_save), + endianess_on_save_(endianess_on_save) { - normalize_on_save_ = normalize_on_save; - subformat_ = subformat; - endianess_on_save_ = endianess_on_save; } Endianess MRC::GetEndianessOnSave() const @@ -306,14 +306,14 @@ public: } void Print() { - LOG_MESSAGE("ncrs: " << nc << " " << nr << " " << ns << std::endl); - LOG_MESSAGE("mode " << mode << std::endl); - LOG_MESSAGE("nxyz: " << nx << " " << ny << " " << nz << std::endl); - LOG_MESSAGE("cell: " << x << " " << y << " " << z); - LOG_MESSAGE(alpha << " " << beta << " " << gamma << std::endl); - LOG_MESSAGE("order: " << mapc << mapr << maps << std::endl); - LOG_MESSAGE("sg: " << ispg << " " << nsymbt << std::endl); - LOG_MESSAGE("nlabel: " << nlabel << std::endl); + LOG_INFO("ncrs: " << nc << " " << nr << " " << ns); + LOG_INFO("mode " << mode); + LOG_INFO("nxyz: " << nx << " " << ny << " " << nz); + LOG_INFO("cell: " << x << " " << y << " " << z); + LOG_INFO(alpha << " " << beta << " " << gamma); + LOG_INFO("order: " << mapc << mapr << maps); + LOG_INFO("sg: " << ispg << " " << nsymbt); + LOG_INFO("nlabel: " << nlabel); } int nc,nr,ns; @@ -348,9 +348,9 @@ public: } void Print() { - LOG_MESSAGE("mrc header" << std::endl); + LOG_INFO("mrc header"); header_base::Print(); - LOG_MESSAGE("ori: " << xorigin << " " << yorigin << std::endl); + LOG_INFO("ori: " << xorigin << " " << yorigin); } static int DetermineDataFormat( std::istream& f) { @@ -372,7 +372,7 @@ public: }else if(x>0.0 || x<1.0) { Convert<OST_VAX_DATA,float>::FromIP(&x); if(x<1.0) { - LOG_VERBOSE("suspicious floating Point value in mrc header" << std::endl); + LOG_VERBOSE("suspicious floating Point value in mrc header"); return OST_LITTLE_ENDIAN; }else{ return OST_VAX_DATA; @@ -474,13 +474,13 @@ public: f.seekg(0,std::ios::beg); // seek to beginning char float_machst= machst[0] & 0x0f; if(float_machst == 1){ - LOGN_DEBUG("CCP4Import: reading big endian data"); + LOG_DEBUG("CCP4Import: reading big endian data"); return OST_BIG_ENDIAN; }else if(float_machst == 2){ - LOGN_DEBUG("CCP4Import: reading vax data"); + LOG_DEBUG("CCP4Import: reading vax data"); return OST_VAX_DATA; }else if(float_machst == 4){ - LOGN_DEBUG("CCP4Import: reading little endian data"); + LOG_DEBUG("CCP4Import: reading little endian data"); return OST_LITTLE_ENDIAN; } else{ throw(IOException("CCP4Import: Cray, Convex native and Fijitsu VP formats are not supported.")); @@ -493,9 +493,9 @@ public: using boost::format; namespace bf = boost::filesystem; - LOGN_MESSAGE("ccp4 header:"); + LOG_INFO("ccp4 header:"); header_base::Print(); - LOGN_MESSAGE(" arms: " << arms); + LOG_INFO(" arms: " << arms); } int lskflag; @@ -629,16 +629,16 @@ void complex_filler(img::image_state::ComplexHalfFrequencyImageState& isi, // complex conjugate fhandle >> real >> imag; isi.Value(p)=Complex(Real(real),-Real(imag)); - LOG_DEBUG(" " << p << " " << isi.Value(p) << std::endl); + LOG_DEBUG(" " << p << " " << isi.Value(p)); } if(sr==header.nr) { // why set point (py,header.ny/2,pz)? // isi.Value(Point(py,header.ny/2,pz))=scale*Complex(Real(real),Real(imag)); - // LOG_DEBUG("+" << Point(py,header.ny/2,pz) << " <- " << Point(sx,cy,sz) << " " << " " << isi.Value(Point(py,header.ny/2,pz)) << std::endl); + // LOG_DEBUG("+" << Point(py,header.ny/2,pz) << " <- " << Point(sx,cy,sz) << " " << " " << isi.Value(Point(py,header.ny/2,pz))); p[mapc]=p[header.mapr]; p[mapr]=header.nr/2; isi.Value(p)=Complex(Real(real),Real(imag)); - LOG_DEBUG("+" << p << " " << isi.Value(p) << std::endl); + LOG_DEBUG("+" << p << " " << isi.Value(p)); } Progress::Instance().AdvanceProgress(&this_dummy); } @@ -650,11 +650,11 @@ void complex_filler(img::image_state::ComplexHalfFrequencyImageState& isi, p[mapc]=sc; fhandle >> real >> imag; isi.Value(p)=Complex(Real(real),Real(imag)); - LOG_DEBUG(" " << p << " " << isi.Value(p) << std::endl); + LOG_DEBUG(" " << p << " " << isi.Value(p)); } p[mapc]=sc; isi.Value(p)=Complex(Real(real),-Real(imag)); - LOG_DEBUG(" " << p << " " << isi.Value(p) << std::endl); + LOG_DEBUG(" " << p << " " << isi.Value(p)); Progress::Instance().AdvanceProgress(&this_dummy); } // set second half of r=0 and r=nr/2 line @@ -663,10 +663,10 @@ void complex_filler(img::image_state::ComplexHalfFrequencyImageState& isi, p[mapr]=0; p[maps]=ss; isi.Value(Point(-p[0],p[1],p[2]))=std::conj(isi.Value(p)); - LOG_DEBUG(" " << Point(-p[0],p[1],p[2]) << " <- " << p << "**" << std::endl); + LOG_DEBUG(" " << Point(-p[0],p[1],p[2]) << " <- " << p << "**"); p[mapr]=header.nr/2; isi.Value(p)=std::conj(isi.Value(Point(-p[0],p[1],p[2]))); - LOG_DEBUG(" " << p << " <- " << Point(-p[0],p[1],p[2]) << "**" << std::endl); + LOG_DEBUG(" " << p << " <- " << Point(-p[0],p[1],p[2]) << "**"); } } Progress::Instance().DeRegister(&this_dummy); @@ -742,7 +742,7 @@ void complex_dumper(BinaryOStream<CONVERSIONTYPE>& f, pnt[mapc]=-sc; Complex val = conj(norm.Convert(isc->Value(pnt))); f << static_cast<B>(val.real()) << static_cast<B>(val.imag()); - LOG_DEBUG(" " << pnt << " " << val << std::endl); + LOG_DEBUG(" " << pnt << " " << val); } f << static_cast<B>(0.0) << static_cast<B>(0.0); Progress::Instance().AdvanceProgress(&this_dummy); @@ -755,12 +755,12 @@ void complex_dumper(BinaryOStream<CONVERSIONTYPE>& f, pnt[mapc]=sc; Complex val =norm.Convert(isc->Value(pnt)); f << static_cast<B>(val.real()) << static_cast<B>(val.imag()); - LOG_DEBUG(" " << pnt << " " << val << std::endl); + LOG_DEBUG(" " << pnt << " " << val); } pnt[mapc]=sc; Complex val = norm.Convert(conj(isc->Value(pnt))); f << static_cast<B>(val.real()) << static_cast<B>(val.imag()); - LOG_DEBUG(" " << pnt << " " << val << std::endl); + LOG_DEBUG(" " << pnt << " " << val); Progress::Instance().AdvanceProgress(&this_dummy); } } @@ -805,9 +805,9 @@ void import_helper(img::MapHandle& image, std::istream& in,const MRC& formatmrc) static_cast<Real>(header.y)/static_cast<Real>(header.ny), static_cast<Real>(header.z)/static_cast<Real>(header.nz))); }else{ - LOG_MESSAGE("Suspicious dell dimensions found. Cannot set sampling."); + LOG_INFO("Suspicious dell dimensions found. Cannot set sampling."); } - LOG_MESSAGE("resulting image extent: " << image.GetExtent() << std::endl); + LOG_INFO("resulting image extent: " << image.GetExtent()); if(img::image_state::RealSpatialImageState *rs=dynamic_cast<img::image_state::RealSpatialImageState*>(image.ImageStatePtr().get())) { if(header.mode==0) { detail::real_filler<uchar,CONVERSIONTYPE>(*rs,f,header); @@ -939,22 +939,22 @@ void MapIOMrcHandler::Import(img::MapHandle& sh, std::istream& loc, const ImageF std::istream head_str(&head_strbuf); head_strbuf.push(boost::iostreams::basic_array_source<char>(headerptr,sizeof(header_))); if (formatmrc.GetSubformat()==MRC_OLD_FORMAT) { - LOGN_DEBUG("mrc io: importing old style format"); + LOG_DEBUG("mrc io: importing old style format"); detail::import_endianess_switcher<detail::mrc_header>(sh,loc,head_str,formatmrc); } else if (formatmrc.GetSubformat()==MRC_NEW_FORMAT) { - LOGN_DEBUG("mrc io: importing new style format"); + LOG_DEBUG("mrc io: importing new style format"); detail::import_endianess_switcher<detail::ccp4_header>(sh,loc,head_str,formatmrc); } else if (is_file_ && (detail::FilenameEndsWith(filename_,".ccp4") || detail::FilenameEndsWith(filename_,".map") || detail::FilenameEndsWith(filename_,".map.gz"))) { - LOGN_DEBUG("mrc io: importing new style format"); + LOG_DEBUG("mrc io: importing new style format"); detail::import_endianess_switcher<detail::ccp4_header>(sh,loc,head_str,formatmrc); } else { unsigned char header_content[256]; memcpy(&header_content[0],&header_,256*sizeof(char)); if (MatchContent(header_content) == true) { - LOGN_DEBUG("mrc io: importing new style format"); + LOG_DEBUG("mrc io: importing new style format"); detail::import_endianess_switcher<detail::ccp4_header>(sh,loc,head_str,formatmrc); } else { - LOGN_DEBUG("mrc io: importing old style format"); + LOG_DEBUG("mrc io: importing old style format"); detail::import_endianess_switcher<detail::mrc_header>(sh,loc,head_str,formatmrc); } } @@ -985,10 +985,10 @@ void MapIOMrcHandler::Export(const img::MapHandle& sh, std::ostream& loc,const I assert (formatstruct.GetFormatString()==UndefinedImageFormat::FORMAT_STRING); } if (formatmrc.GetSubformat()==MRC_OLD_FORMAT) { - LOGN_DEBUG("mrc io: exporting old style format"); + LOG_DEBUG("mrc io: exporting old style format"); detail::export_endianess_switcher<detail::mrc_header>(sh,loc,formatmrc); } else { - LOGN_DEBUG("mrc io: exporting new style format"); + LOG_DEBUG("mrc io: exporting new style format"); detail::export_endianess_switcher<detail::ccp4_header>(sh,loc,formatmrc); } } diff --git a/modules/io/src/img/map_io_mrc_handler.hh b/modules/io/src/img/map_io_mrc_handler.hh index 673fac913ec9932fb561bc5211cfa2526208cf74..b73aaf56ea77dbcf7fe8fdee0da19df872f5f554 100644 --- a/modules/io/src/img/map_io_mrc_handler.hh +++ b/modules/io/src/img/map_io_mrc_handler.hh @@ -46,7 +46,6 @@ class DLLEXPORT_OST_IO MRC: public ImageFormatBase Subformat subformat_; bool normalize_on_save_; Endianess endianess_on_save_; - Subformat subf_; }; class DLLEXPORT_OST_IO CCP4: public MRC diff --git a/modules/io/src/img/map_io_nanoscope_handler.cc b/modules/io/src/img/map_io_nanoscope_handler.cc index 0019fa320092cd330c9b601181a153559c58dbff..a18a25c56ee5d52050d3ae5637d0b978056836c6 100644 --- a/modules/io/src/img/map_io_nanoscope_handler.cc +++ b/modules/io/src/img/map_io_nanoscope_handler.cc @@ -47,9 +47,9 @@ namespace ost { namespace io { String Nanoscope::FORMAT_STRING = "defined_nanoscope"; Nanoscope::Nanoscope(int subimage): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + subimage_(subimage) { - subimage_ = subimage; } int Nanoscope::GetSubimage() const @@ -179,17 +179,17 @@ void header_filler(NHeader& h, std::istream& in, int inum) void print_header (const NHeader& header, int inum) { if(Logger::Instance().GetLogLevel()>2) { - LOG_MESSAGE("io_nanoscope: header dump for image " << inum << std::endl); - LOG_MESSAGE(" px : " << header.px << std::endl); - LOG_MESSAGE(" py : " << header.py << std::endl); - LOG_MESSAGE(" nmsize : " << header.nmsize << std::endl); - LOG_MESSAGE(" sampling: " << header.sampling << " nm" << std::endl); - LOG_MESSAGE(" zscale : " << header.zscale << std::endl); - LOG_MESSAGE(" multih : " << header.multih << std::endl); - LOG_MESSAGE(" multid : " << header.multid << std::endl); - LOG_MESSAGE(" multi : " << header.multi << std::endl); - LOG_MESSAGE(" doffset : " << header.doffset << std::endl); - LOG_MESSAGE(" dlength : " << header.dlength << std::endl); + LOG_INFO("io_nanoscope: header dump for image " << inum); + LOG_INFO(" px : " << header.px); + LOG_INFO(" py : " << header.py); + LOG_INFO(" nmsize : " << header.nmsize); + LOG_INFO(" sampling: " << header.sampling << " nm"); + LOG_INFO(" zscale : " << header.zscale); + LOG_INFO(" multih : " << header.multih); + LOG_INFO(" multid : " << header.multid); + LOG_INFO(" multi : " << header.multi); + LOG_INFO(" doffset : " << header.doffset); + LOG_INFO(" dlength : " << header.dlength); } } diff --git a/modules/io/src/img/map_io_png_handler.cc b/modules/io/src/img/map_io_png_handler.cc index 84b290d2e22214c3ee31a662c30c402fb941358e..9107953aafd55b6aee191ca9c7aedf7f464bc2dd 100644 --- a/modules/io/src/img/map_io_png_handler.cc +++ b/modules/io/src/img/map_io_png_handler.cc @@ -46,9 +46,9 @@ namespace ost { namespace io { String PNG::FORMAT_STRING="defined_png"; PNG::PNG(bool normalize_on_save): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save) { - normalize_on_save_ = normalize_on_save; this->SetMinimum(0.0); this->SetMaximum(255.0); } diff --git a/modules/io/src/img/map_io_situs_handler.cc b/modules/io/src/img/map_io_situs_handler.cc index a7e12da30beb181738c49fc71eb2ed9b91a9101f..989c60d71c9fa6e85e07fded9662ae6a661506d7 100644 --- a/modules/io/src/img/map_io_situs_handler.cc +++ b/modules/io/src/img/map_io_situs_handler.cc @@ -46,9 +46,9 @@ namespace ost { namespace io { String Situs::FORMAT_STRING="defined_situs"; Situs::Situs(bool normalize_on_save): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save) { - normalize_on_save_ = normalize_on_save; } bool Situs::GetNormalizeOnSave() const @@ -89,8 +89,8 @@ void print_header(const situs_header& h) s << "situs header: " << std::endl; s << format(" voxel width: %1") % h.dwidth << std::endl; s << format(" size x y z: %1 %2 %3") % h.extx % h.exty % h.extz << std::endl; - s << format(" origin x y z: %1 %2 %3") % h.gridx % h.gridy % h.gridz << std::endl; - LOG_MESSAGE(s.str()); + s << format(" origin x y z: %1 %2 %3") % h.gridx % h.gridy % h.gridz; + LOG_INFO(s.str()); } @@ -208,7 +208,7 @@ void MapIOSitusHandler::Import(img::MapHandle& mh, std::istream& infile,const Im mh.Reset(msize); mh.SetSpatialSampling(geom::Vec3(header.dwidth,header.dwidth,header.dwidth)); - LOG_VERBOSE("resulting image extent: " << mh.GetExtent() << std::endl); + LOG_VERBOSE("resulting image extent: " << mh.GetExtent()); detail::real_filler(infile,header,mh,1.0); diff --git a/modules/io/src/img/map_io_spi_handler.cc b/modules/io/src/img/map_io_spi_handler.cc index 63b5e1e4ca4f88e584a7eceaf1855c29a457876b..6b308f91218053490d1c9c1254ccc3cf5cf1b257 100644 --- a/modules/io/src/img/map_io_spi_handler.cc +++ b/modules/io/src/img/map_io_spi_handler.cc @@ -48,10 +48,10 @@ namespace ost { namespace io { String Spider::FORMAT_STRING = "defined_spider"; Spider::Spider(bool normalize_on_save,Endianess endianness_on_save): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save), + endianness_on_save_(endianness_on_save) { - normalize_on_save_ = normalize_on_save; - endianness_on_save_ = endianness_on_save; } Endianess Spider::GetEndianessOnSave() const @@ -201,8 +201,8 @@ void print_header(const spider_header& h) s << format(" std dev: %1%") % h.fSig << std::endl; } s << format(" scale: %1%") % h.fScale << std::endl; - s << format(" header size: %1%") % h.fLabbyt << std::endl; - LOG_MESSAGE(s.str()); + s << format(" header size: %1%") % h.fLabbyt; + LOG_INFO(s.str()); } int determine_byte_order(std::istream& f) @@ -218,10 +218,10 @@ int determine_byte_order(std::istream& f) if (bs_iform<-22.0 ||bs_iform>3.0 ||static_cast<int>(bs_iform)==0) { throw(ost::io::IOException("error reading spider file (even tried byte-swapping")); } - LOG_VERBOSE("Spider IO: reading big endian data" << std::endl); + LOG_VERBOSE("Spider IO: reading big endian data"); return OST_BIG_ENDIAN; } - LOG_VERBOSE("Spider IO: reading little endian data" << std::endl); + LOG_VERBOSE("Spider IO: reading little endian data"); return OST_LITTLE_ENDIAN; } @@ -432,7 +432,7 @@ void MapIOSpiHandler::Import(img::MapHandle& mh, std::istream& infile,const Imag mh.Reset(msize); - LOG_MESSAGE("density map extent: " << mh.GetExtent() << std::endl); + LOG_INFO("density map extent: " << mh.GetExtent()); switch(detail::determine_byte_order(infile)){ @@ -449,7 +449,7 @@ void MapIOSpiHandler::Import(img::MapHandle& mh, std::istream& infile,const Imag if (header.fScale==0.0) { mh.SetSpatialSampling(geom::Vec3(1.0,1.0,1.0)); - LOG_MESSAGE("assuming 1 A spatial sampling" << std::endl); + LOG_INFO("assuming 1 A spatial sampling"); } else { Real fscale=static_cast<Real>(header.fScale); mh.SetSpatialSampling(geom::Vec3(fscale,fscale,fscale)); @@ -457,8 +457,8 @@ void MapIOSpiHandler::Import(img::MapHandle& mh, std::istream& infile,const Imag mh.SetAbsoluteOrigin(geom::Vec3(0,0,0)); - LOG_MESSAGE("assuming origin at the first voxel" << std::endl); - LOG_MESSAGE("assuming absolute origin at (0,0,0)" << std::endl); + LOG_INFO("assuming origin at the first voxel"); + LOG_INFO("assuming absolute origin at (0,0,0)"); } diff --git a/modules/io/src/img/map_io_tiff_handler.cc b/modules/io/src/img/map_io_tiff_handler.cc index 10c1a5c3f754a2a9b70cfd9da68f704b8e43cb45..a4c3fd191312e5ec94caa4eb11a4dda00a97e2f4 100644 --- a/modules/io/src/img/map_io_tiff_handler.cc +++ b/modules/io/src/img/map_io_tiff_handler.cc @@ -47,21 +47,21 @@ namespace ost { namespace io { String TIF::FORMAT_STRING="defined_tiff"; TIF::TIF(boost::logic::tribool normalize_on_save, Format bit_depth, bool sign, bool phasecolor, int subimage): - ImageFormatBase(FORMAT_STRING) + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save), + bit_depth_(bit_depth), + signed_(sign), + phasecolor_(phasecolor) { - normalize_on_save_ = normalize_on_save; - bit_depth_ = bit_depth; - signed_ = sign; - phasecolor_ = phasecolor; } TIF::TIF(String format_string, boost::logic::tribool normalize_on_save, Format bit_depth,bool sign, bool phasecolor, int subimage): - ImageFormatBase(format_string) + ImageFormatBase(FORMAT_STRING), + normalize_on_save_(normalize_on_save), + bit_depth_(bit_depth), + signed_(sign), + phasecolor_(phasecolor) { - normalize_on_save_ = normalize_on_save; - bit_depth_ = bit_depth; - signed_ = sign; - phasecolor_ = phasecolor; } Format TIF::GetBitDepth() const @@ -134,7 +134,7 @@ void MapIOTiffHandler::Import(img::MapHandle& image, const boost::filesystem::pa assert (formatstruct.GetFormatString()==UndefinedImageFormat::FORMAT_STRING); } - LOG_VERBOSE("I/O Tiff: using library version " << TIFFGetVersion() << std::endl); + LOG_VERBOSE("I/O Tiff: using library version " << TIFFGetVersion()); detail::tiff_warning_handler_wrapper twhw; TIFF* tfile=open_subimage_file(location,formattif); load_image_data(tfile,image,formattif); @@ -151,7 +151,7 @@ void MapIOTiffHandler::Import(img::ImageHandle& image, std::istream& location, c assert (formatstruct.GetFormatString()==UndefinedImageFormat::FORMAT_STRING); } - LOG_VERBOSE("I/O Tiff: using library version " << TIFFGetVersion() << std::endl); + LOG_VERBOSE("I/O Tiff: using library version " << TIFFGetVersion()); detail::tiff_warning_handler_wrapper twhw; TIFF* tfile=open_subimage_stream(location,formattif); load_image_data(tfile,image,formattif); @@ -219,18 +219,18 @@ void MapIOTiffHandler::do_export(const img::MapHandle& image,TIFF* tfile,TIF& fo case OST_BIT32_FORMAT: case OST_DEFAULT_FORMAT: norm = img::alg::CreateLinearRangeNormalizer(image,formattif.GetMinimum(),formattif.GetMaximum()); - LOGN_VERBOSE("Autodetecting normalization for export: normalization on"); + LOG_VERBOSE("Autodetecting normalization for export: normalization on"); break; case OST_FLOAT_FORMAT: case OST_DOUBLE_FORMAT: - LOGN_VERBOSE("Autodetecting normalization for export: normalization off"); + LOG_VERBOSE("Autodetecting normalization for export: normalization off"); break; } } else if (formattif.GetNormalizeOnSave() == true) { - LOGN_VERBOSE("Normalization used for export."); + LOG_VERBOSE("Normalization used for export."); norm = img::alg::CreateLinearRangeNormalizer(image,formattif.GetMinimum(),formattif.GetMaximum()); } else { - LOGN_VERBOSE("No normalization used for export."); + LOG_VERBOSE("No normalization used for export."); } detail::tiff_warning_handler_wrapper twhw; @@ -440,9 +440,9 @@ TIFF* MapIOTiffHandler::open_subimage_file(const boost::filesystem::path& locati if(formattif.GetSubimage()!=-1){ directory_number=formattif.GetSubimage(); } - LOG_VERBOSE("I/O Tiff: using directory nr. " << directory_number<< std::endl); + LOG_VERBOSE("I/O Tiff: using directory nr. " << directory_number); const String& filename = location.string(); - LOG_VERBOSE("I/O Tiff: calling TIFFOpen with " << filename.c_str() << std::endl); + LOG_VERBOSE("I/O Tiff: calling TIFFOpen with " << filename.c_str()); TIFF* tfile=TIFFOpen(filename.c_str(),"r"); if(!tfile) { throw IOException("could not open " + filename + String(" for reading")); @@ -462,9 +462,9 @@ TIFF* MapIOTiffHandler::open_subimage_stream(std::istream& location,const TIF& f if(formattif.GetSubimage()!=-1){ directory_number=formattif.GetSubimage(); } - LOG_VERBOSE("I/O Tiff: using directory nr. " << directory_number<< std::endl); + LOG_VERBOSE("I/O Tiff: using directory nr. " << directory_number); const String& filename = "stream"; - LOG_VERBOSE("I/O Tiff: calling TIFFClientOpen with " << filename.c_str() << std::endl); + LOG_VERBOSE("I/O Tiff: calling TIFFClientOpen with " << filename.c_str()); TIFF* tfile=TIFFClientOpen(filename.c_str(), "rm", &location, @@ -508,7 +508,7 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co } TIFFGetField(tfile,TIFFTAG_ROWSPERSTRIP,&rps); - LOG_MESSAGE ("I/O Tiff: Header: " << width << "x" << height << " " << bpp << "bpp" << std::endl); + LOG_INFO("I/O Tiff: Header: " << width << "x" << height << " " << bpp << "bpp"); img::Extent image_extent(img::Point(0,0),img::Size(width,height)); @@ -531,19 +531,19 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co if(!TIFFGetField(tfile,TIFFTAG_SAMPLEFORMAT,&fmt)) { // todo check subtype - LOG_MESSAGE("I/O Tiff: Unknown sample format: assuming uint" << std::endl); + LOG_INFO("I/O Tiff: Unknown sample format: assuming uint"); fmt=SAMPLEFORMAT_UINT; } - LOG_MESSAGE("I/O Tiff: Header: spp=" << spp << "; rps=" << rps << "; plc=" << plc << "; ori=" << ori << std::endl); - LOG_MESSAGE("I/O Tiff: Header: pos= " << xpos << "," << ypos << "; reso= " << xreso << "," << yreso << ";" << std::endl); + LOG_INFO("I/O Tiff: Header: spp=" << spp << "; rps=" << rps << "; plc=" << plc << "; ori=" << ori); + LOG_INFO("I/O Tiff: Header: pos= " << xpos << "," << ypos << "; reso= " << xreso << "," << yreso << ";"); if(bpp!=8 && bpp!=16 && bpp!=32 && bpp!=64 && bpp!=128) { throw IOException("bits per sample must be 8, 16, 32, 64 or 128"); } if(spp==0) { - LOG_MESSAGE("I/O Tiff: Samples per pixel is zero, assuming one" << std::endl); + LOG_INFO("I/O Tiff: Samples per pixel is zero, assuming one"); spp=1; } @@ -551,7 +551,7 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co if(spp>4) { throw IOException("I/O Tiff: unexpected spp>4 in header"); } - LOG_MESSAGE("I/O Tiff: Samples per pixel>1, reading first channel only" << std::endl); + LOG_INFO("I/O Tiff: Samples per pixel>1, reading first channel only"); } if(TIFFIsTiled(tfile)) { @@ -563,12 +563,12 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co uint stripsize=TIFFStripSize(tfile); uint stripcount=TIFFNumberOfStrips(tfile); - LOG_MESSAGE("I/O Tiff: " << "found " << stripcount << " strips in tiff file" << std::endl); - LOG_MESSAGE("I/O Tiff: " << "allocating " << stripsize << " bytes for temporary read buffer" << std::endl); + LOG_INFO("I/O Tiff: " << "found " << stripcount << " strips in tiff file"); + LOG_INFO("I/O Tiff: " << "allocating " << stripsize << " bytes for temporary read buffer"); buf = _TIFFmalloc(stripsize); if(image.GetType()==img::WORD) { - LOG_MESSAGE("I/O Tiff: " << "reseting target image to WORD " << image_extent << std::endl); + LOG_INFO("I/O Tiff: " << "reseting target image to WORD " << image_extent); image.Reset(image_extent, img::WORD, img::SPATIAL); img::image_state::WordSpatialImageState *is = @@ -579,7 +579,7 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co int current_row = 0; - LOG_VERBOSE("I/O Tiff: " << "importing data" << std::endl); + LOG_VERBOSE("I/O Tiff: " << "importing data"); img::Progress::Instance().Register(this,stripcount,100); for (strip = 0; strip < stripcount; ++strip) { int cread=TIFFReadEncodedStrip(tfile, strip, buf, (tsize_t) -1); @@ -596,7 +596,7 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co } img::Progress::Instance().AdvanceProgress(this); } - LOG_VERBOSE("I/O Tiff: " << "done" << std::endl); + LOG_VERBOSE("I/O Tiff: " << "done"); img::Progress::Instance().DeRegister(this); uint16 photometric; if(TIFFGetField(tfile,TIFFTAG_PHOTOMETRIC,&photometric)){ @@ -615,14 +615,14 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co img::image_state::RealSpatialImageState *isr=0; img::image_state::ComplexSpatialImageState *isc=0; if(fmt==SAMPLEFORMAT_COMPLEXINT || fmt==SAMPLEFORMAT_COMPLEXIEEEFP){ - LOG_MESSAGE("I/O Tiff: " << "reseting target image to complex spatial " << image_extent << std::endl); + LOG_INFO("I/O Tiff: " << "reseting target image to complex spatial " << image_extent); image.Reset(image_extent,img::COMPLEX,img::SPATIAL); isc = dynamic_cast<img::image_state::ComplexSpatialImageState*>(image.ImageStatePtr().get()); if(!isc) { throw IOException("unexpected failure of dynamic_cast in tiff io"); } }else{ - LOG_MESSAGE("I/O Tiff: " << "reseting target image to Real img::SPATIAL" << image_extent << std::endl); + LOG_INFO("I/O Tiff: " << "reseting target image to Real img::SPATIAL" << image_extent); image.Reset(image_extent, img::REAL, img::SPATIAL); isr= dynamic_cast<img::image_state::RealSpatialImageState*>(image.ImageStatePtr().get()); @@ -634,7 +634,7 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co int current_row = 0; - LOG_VERBOSE("I/O Tiff: " << "importing data" << std::endl); + LOG_VERBOSE("I/O Tiff: " << "importing data"); img::Progress::Instance().Register(this,stripcount,100); for (strip = 0; strip < stripcount; ++strip) { int cread=TIFFReadEncodedStrip(tfile, strip, buf, (tsize_t) -1); @@ -704,7 +704,7 @@ void MapIOTiffHandler::load_image_data(TIFF* tfile, img::ImageHandle& image, co } img::Progress::Instance().AdvanceProgress(this); } - LOG_VERBOSE("I/O Tiff: " << "done" << std::endl); + LOG_VERBOSE("I/O Tiff: " << "done"); img::Progress::Instance().DeRegister(this); uint16 photometric; diff --git a/modules/io/src/img/tiff_util.cc b/modules/io/src/img/tiff_util.cc index 37f8c322609b991c03d36df02053e86a8c695fbe..0fa8e318621d850990c827c0ad5e26c9d3f3c92c 100644 --- a/modules/io/src/img/tiff_util.cc +++ b/modules/io/src/img/tiff_util.cc @@ -19,7 +19,6 @@ //------------------------------------------------------------------------------ #include <stdarg.h> -#include <sstream> #include <cassert> #include <complex> #include <ost/log.hh> @@ -39,10 +38,7 @@ void tiff_warning_handler(const char *mod, const char* fmt, va_list ap) #else snprintf(message,1024,fmt,ap); #endif - String msg; - std::stringstream msgs(msg); - msgs << mod << ": " << message << std::endl; - LOG_MESSAGE(msg); + LOG_INFO(mod << ": " << message); } int32_t CustomTIFFReadProcIStream(void* thandle, void* tdata, int32_t tsize) diff --git a/modules/io/src/io_manager.cc b/modules/io/src/io_manager.cc index 3e61ce59b61e54d72fa11436dcba3614c007a9c7..c97938f907004b7a046d0bf0ae100d43adfbd525 100644 --- a/modules/io/src/io_manager.cc +++ b/modules/io/src/io_manager.cc @@ -37,6 +37,7 @@ # include <ost/io/img/map_io_dat_handler.hh> # include <ost/io/img/map_io_jpk_handler.hh> # include <ost/io/img/map_io_nanoscope_handler.hh> +# include <ost/io/img/map_io_df3_handler.hh> #endif namespace ost { namespace io { @@ -62,6 +63,7 @@ IOManager::IOManager() RegisterFactory(MapIOHandlerFactoryBasePtr(new MapIOJpkHandlerFactory)); RegisterFactory(MapIOHandlerFactoryBasePtr(new MapIODatHandlerFactory)); RegisterFactory(MapIOHandlerFactoryBasePtr(new MapIONanoscopeHandlerFactory)); + RegisterFactory(MapIOHandlerFactoryBasePtr(new MapIODF3HandlerFactory)); #endif } diff --git a/modules/io/src/mol/CMakeLists.txt b/modules/io/src/mol/CMakeLists.txt index 860b4df0d09e6525952e9728389b436f1fe8db5d..8498858451420988e3a4132c6df570b30e35eff0 100644 --- a/modules/io/src/mol/CMakeLists.txt +++ b/modules/io/src/mol/CMakeLists.txt @@ -12,12 +12,14 @@ save_entity.cc load_entity.cc surface_io_msms_handler.cc load_surface.cc +chemdict_parser.cc dcd_io.cc star_parser.cc PARENT_SCOPE ) set(OST_IO_MOL_HEADERS +chemdict_parser.hh star_parser.hh dcd_io.hh entity_io_crd_handler.hh diff --git a/modules/io/src/mol/chemdict_parser.cc b/modules/io/src/mol/chemdict_parser.cc new file mode 100644 index 0000000000000000000000000000000000000000..2668221bafab38c5f682497cbe416906c09756ad --- /dev/null +++ b/modules/io/src/mol/chemdict_parser.cc @@ -0,0 +1,163 @@ +#include <ost/io/mol/chemdict_parser.hh> + +namespace ost { namespace io { + +using namespace ost::conop; + +bool ChemdictParser::OnBeginData(const StringRef& data_name) +{ + compound_.reset(new Compound(data_name.str())); + compound_->SetDialect(dialect_); + if (last_!=data_name[0]) { + last_=data_name[0]; + std::cout << last_ << std::flush; + } + atom_map_.clear(); + insert_=true; + return true; +} + +bool ChemdictParser::OnBeginLoop(const StarLoopDesc& header) +{ + if (header.GetCategory()=="chem_comp_atom") { + loop_type_=ATOM_SPEC; + indices_[ATOM_NAME]=header.GetIndex("atom_id"); + indices_[ALT_ATOM_NAME]=header.GetIndex("alt_atom_id"); + indices_[ELE]=header.GetIndex("type_symbol"); + indices_[IS_LEAVING]=header.GetIndex("pdbx_leaving_atom_flag"); + indices_[IS_AROMATIC]=header.GetIndex("pdbx_aromatic_flag"); + indices_[ORDINAL]=header.GetIndex("pdbx_ordinal"); + return true; + } else if (header.GetCategory()=="chem_comp_bond") { + loop_type_=BOND_SPEC; + indices_[ATOM_ID1]=header.GetIndex("atom_id_1"); + indices_[ATOM_ID2]=header.GetIndex("atom_id_2"); + indices_[BOND_ORDER]=header.GetIndex("value_order"); + return true; + } + loop_type_=DONT_KNOW; + return false; +} + +void ChemdictParser::OnDataRow(const StarLoopDesc& header, + const std::vector<StringRef>& columns) +{ + if (loop_type_==ATOM_SPEC) { + AtomSpec atom; + atom.is_leaving=columns[indices_[IS_LEAVING]][0]=='Y'; + atom.name=columns[indices_[ATOM_NAME]].str(); + atom.alt_name=columns[indices_[ALT_ATOM_NAME]].str(); + atom.ordinal=columns[indices_[ORDINAL]].to_int().second-1; + atom.element=columns[indices_[ELE]].str(); + atom.is_aromatic=columns[indices_[IS_AROMATIC]][0]=='Y'; + compound_->AddAtom(atom); + atom_map_[atom.name]=atom.ordinal; + } else if (loop_type_==BOND_SPEC) { + BondSpec bond; + String atom_one=columns[indices_[ATOM_ID1]].str(); + String atom_two=columns[indices_[ATOM_ID2]].str(); + bond.atom_one=atom_map_[atom_one]; + bond.atom_two=atom_map_[atom_two]; + char b=columns[indices_[BOND_ORDER]][0]; + bond.order=b=='D' ? 2 : (b=='S' ? 1 : 3); + if (bond.atom_one>bond.atom_two) { + std::swap(bond.atom_one, bond.atom_two); + } + compound_->AddBond(bond); + } +} + +void ChemdictParser::OnDataItem(const StarDataItem& item) +{ + if (item.GetCategory()==StringRef("chem_comp", 9)) { + if (item.GetName()==StringRef("type", 4)) { + // convert type to uppercase + String type=item.GetValue().str(); + for (String::iterator i=type.begin(), e=type.end(); i!=e; ++i) { + *i=toupper(*i); + } + // The type of water is set to "?". let's change it to water... + if (compound_->GetID()=="HOH") { + compound_->SetChemClass(mol::ChemClass(mol::ChemClass::Water)); + compound_->SetOneLetterCode('.'); + } else { + std::map<String, mol::ChemClass>::iterator i=tm_.find(type); + if (i!=tm_.end()) { + compound_->SetChemClass(i->second); + } else { + std::cout << "unknown type '" << type << "' for compound " + << compound_->GetID() << std::endl; + } + } + + } else if (item.GetName()==StringRef("formula", 7)) { + compound_->SetFormula(item.GetValue().str()); + } else if (item.GetName()==StringRef("one_letter_code", 15)) { + if (item.GetValue().length()==1) { + compound_->SetOneLetterCode(item.GetValue()[0]); + } + } else if (item.GetName()==StringRef("pdbx_initial_date", 17)) { + compound_->SetCreationDate(Date::FromString(item.GetValue())); + } else if (item.GetName()==StringRef("pdbx_modified_date", 18)) { + compound_->SetModificationDate(Date::FromString(item.GetValue())); + } + } else if (item.GetName()==StringRef("atom_id", 7)) { + atom_.name=item.GetValue().str(); + } else if (item.GetName()==StringRef("alt_atom_id", 11)) { + if (compound_->GetID()=="ILE" && item.GetValue()==StringRef("CD1", 3)) { + atom_.alt_name="CD"; + } else { + atom_.alt_name=item.GetValue().str(); + } + + } else if (item.GetName()==StringRef("type_symbol", 11)) { + atom_.element=item.GetValue().str(); + } else if (item.GetName()==StringRef("pdbx_ordinal", 12)) { + atom_.ordinal=item.GetValue().to_int().second-1; + } +} + +void ChemdictParser::OnEndData() +{ + if (insert_) { + if (compound_->GetAtomSpecs().empty()) { + compound_->AddAtom(atom_); + } + lib_->AddCompound(compound_); + } +} + +std::map<String, mol::ChemClass> ChemdictParser::tm_=std::map<String, mol::ChemClass>(); + +void ChemdictParser::InitTypeMap() +{ + if (!tm_.empty()) + return; + tm_["L-PEPTIDE COOH CARBOXY TERMINUS"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); + tm_["L-PEPTIDE NH3 AMINO TERMINUS"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); + tm_["D-PEPTIDE NH3 AMINO TERMINUS"]=mol::ChemClass(mol::ChemClass::DPeptideLinking); + tm_["L-SACCHARIDE 1,4 AND 1,4 LINKING"]=mol::ChemClass(mol::ChemClass::LSaccharide); + tm_["D-SACCHARIDE 1,4 AND 1,4 LINKING"]=mol::ChemClass(mol::ChemClass::DSaccharide); + tm_["L-SACCHARIDE"]=mol::ChemClass(mol::ChemClass::LSaccharide); + tm_["D-SACCHARIDE"]=mol::ChemClass(mol::ChemClass::DSaccharide); + tm_["SACCHARIDE"]=mol::ChemClass(mol::ChemClass::Saccharide); + tm_["D-PEPTIDE LINKING"]=mol::ChemClass(mol::ChemClass::DPeptideLinking); + tm_["L-PEPTIDE LINKING"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); + tm_["L-PEPTIDE-LINKING"]=mol::ChemClass(mol::ChemClass::LPeptideLinking); + tm_["DNA LINKING"]=mol::ChemClass(mol::ChemClass::DNALinking); + tm_["RNA LINKING"]=mol::ChemClass(mol::ChemClass::RNALinking); + tm_["L-DNA LINKING"]=mol::ChemClass(mol::ChemClass::DNALinking); + tm_["L-RNA LINKING"]=mol::ChemClass(mol::ChemClass::RNALinking); + tm_["R-DNA LINKING"]=mol::ChemClass(mol::ChemClass::DNALinking); + tm_["R-RNA LINKING"]=mol::ChemClass(mol::ChemClass::RNALinking); + tm_["DNA OH 3 PRIME TERMINUS"]=mol::ChemClass(mol::ChemClass::DNALinking); + tm_["PEPTIDE-LIKE"]=mol::ChemClass(mol::ChemClass::PeptideLinking); + tm_["PEPTIDE LINKING"]=mol::ChemClass(mol::ChemClass::PeptideLinking); + tm_["PEPTIDE-LINKING"]=mol::ChemClass(mol::ChemClass::PeptideLinking); + tm_["NON-POLYMER"]=mol::ChemClass(mol::ChemClass::NonPolymer); + tm_["RNA OH 3 PRIME TERMINUS"]=mol::ChemClass(mol::ChemClass::RNALinking); + tm_["?"]=mol::ChemClass(mol::ChemClass::Unknown); + tm_["WATER"]=mol::ChemClass(mol::ChemClass::Water); +} + +}} \ No newline at end of file diff --git a/modules/io/src/mol/chemdict_parser.hh b/modules/io/src/mol/chemdict_parser.hh new file mode 100644 index 0000000000000000000000000000000000000000..a76ae3c0cc6d58ccdf99356d22960148fc09c75c --- /dev/null +++ b/modules/io/src/mol/chemdict_parser.hh @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +#ifndef OST_CONOP_CHEMDICT_PARSER_HH +#define OST_CONOP_CHEMDICT_PARSER_HH + +/* + Author: Marco Biasini + */ + + +#include <ost/mol/mol.hh> +#include <ost/io/mol/star_parser.hh> +#include <ost/conop/compound_lib.hh> + +namespace ost { namespace io { + +typedef enum { + ATOM_SPEC, + BOND_SPEC, + DONT_KNOW +} LoopType; + +class DLLEXPORT_OST_IO ChemdictParser : public StarParser { +public: + ChemdictParser(std::istream& stream, conop::Compound::Dialect dialect): + StarParser(stream), compound_(new conop::Compound("UNK")), + last_(0), loop_type_(DONT_KNOW), dialect_(dialect) + { + this->InitTypeMap(); + } + + virtual bool OnBeginData(const StringRef& data_name); + + virtual bool OnBeginLoop(const StarLoopDesc& header); + + virtual void OnDataRow(const StarLoopDesc& header, + const std::vector<StringRef>& columns); + + virtual void OnDataItem(const StarDataItem& item); + + virtual void OnEndData(); + + void SetCompoundLib(const conop::CompoundLibPtr& lib) + { + lib_=lib; + } +private: + void InitTypeMap(); + conop::CompoundLibPtr lib_; + conop::CompoundPtr compound_; + typedef enum { + ATOM_NAME=0, + ALT_ATOM_NAME=1, + IS_AROMATIC=2, + ORDINAL=3, + IS_LEAVING=4, + ELE=5, + STEREO_CONF=6, + ATOM_ID1=0, + ATOM_ID2=1, + BOND_ORDER=2 + } PropIndex; + char last_; + int indices_[10]; + bool insert_; + static std::map<String, mol::ChemClass> tm_; + std::map<String, int> atom_map_; + LoopType loop_type_; + conop::AtomSpec atom_; + conop::Compound::Dialect dialect_; +}; + + +}} + + +#endif \ No newline at end of file diff --git a/modules/io/src/mol/dcd_io.cc b/modules/io/src/mol/dcd_io.cc index c580ce1b244361b28e85199f2c206f3d8c61c1be..177cd57af0e7a7144d40123c17c091d675f77c7f 100644 --- a/modules/io/src/mol/dcd_io.cc +++ b/modules/io/src/mol/dcd_io.cc @@ -78,25 +78,24 @@ mol::CoordGroupHandle load_dcd(const mol::AtomHandleList& alist2, bool gap_flag = true; boost::filesystem::path trj_f(trj_fn); - boost::filesystem::ifstream ff(trj_f); + boost::filesystem::ifstream ff(trj_f, std::ios::binary); DCDHeader header; char dummy[4]; bool swap_flag=false; - LOGN_MESSAGE("importing trajectory data"); + LOG_INFO("importing trajectory data"); if(gap_flag) ff.read(dummy,sizeof(dummy)); ff.read(header.hdrr,sizeof(char)*4); ff.read(reinterpret_cast<char*>(header.icntrl),sizeof(int)*20); - - if(header.icntrl[1]<0 || header.icntrl[1]>1e6) { + if(header.icntrl[1]<0 || header.icntrl[1]>1e8) { // nonsense atom count, try swapping swap_int(header.icntrl,20); - if(header.icntrl[1]<0 || header.icntrl[1]>1e6) { + if(header.icntrl[1]<0 || header.icntrl[1]>1e8) { throw(IOException("LoadCHARMMTraj: nonsense atom count in header")); } else { - LOGN_MESSAGE("LoadCHARMMTraj: byte-swapping"); + LOG_INFO("LoadCHARMMTraj: byte-swapping"); swap_flag=true; } } @@ -106,13 +105,13 @@ mol::CoordGroupHandle load_dcd(const mol::AtomHandleList& alist2, if(header.icntrl[19]!=0) { // CHARMM format skip_flag=(header.icntrl[10]!=0); if(skip_flag) { - LOGN_VERBOSE("LoadCHARMMTraj: using CHARMM format with per-frame header"); + LOG_VERBOSE("LoadCHARMMTraj: using CHARMM format with per-frame header"); } else { - LOGN_VERBOSE("LoadCHARMMTraj: using CHARMM format"); + LOG_VERBOSE("LoadCHARMMTraj: using CHARMM format"); } } else { // XPLOR format - LOGN_VERBOSE("LoadCHARMMTraj: using XPLOR format"); + LOG_VERBOSE("LoadCHARMMTraj: using XPLOR format"); } if(gap_flag) ff.read(dummy,sizeof(dummy)); @@ -132,12 +131,12 @@ mol::CoordGroupHandle load_dcd(const mol::AtomHandleList& alist2, header.f_atom_count=header.icntrl[8]; header.atom_count=header.t_atom_count-header.f_atom_count; - LOGN_DEBUG("LoadCHARMMTraj: " << header.num << " trajectories with " + LOG_DEBUG("LoadCHARMMTraj: " << header.num << " trajectories with " << header.atom_count << " atoms (" << header.f_atom_count << " fixed) each"); if(alist.size() != static_cast<size_t>(header.t_atom_count)) { - LOGN_ERROR("LoadCHARMMTraj: atom count missmatch: " << alist.size() + LOG_ERROR("LoadCHARMMTraj: atom count missmatch: " << alist.size() << " in coordinate file, " << header.t_atom_count << " in each traj frame"); throw(IOException("invalid trajectory")); @@ -147,13 +146,22 @@ mol::CoordGroupHandle load_dcd(const mol::AtomHandleList& alist2, std::vector<geom::Vec3> clist(header.t_atom_count); std::vector<float> xlist(header.t_atom_count); + size_t frame_size=0; + if (skip_flag) { + frame_size+=14*4; + } + if (gap_flag) { + frame_size+=6*sizeof(dummy); + } + frame_size+=3*sizeof(float)*xlist.size(); + int i=0; - for(;i<header.num;++i) { + for(;i<header.num;i+=stride) { if(skip_flag) ff.seekg(14*4,std::ios_base::cur); // read each frame if(!ff) { /* premature EOF */ - LOGN_ERROR("LoadCHARMMTraj: premature end of file, " << i + LOG_ERROR("LoadCHARMMTraj: premature end of file, " << i << " frames read"); break; } @@ -163,36 +171,40 @@ mol::CoordGroupHandle load_dcd(const mol::AtomHandleList& alist2, if(swap_flag) swap_float(&xlist[0],xlist.size()); if(gap_flag) ff.read(dummy,sizeof(dummy)); for(uint j=0;j<clist.size();++j) { - clist[j].SetX(xlist[j]); + clist[j].x=xlist[j]; } + // y coord if(gap_flag) ff.read(dummy,sizeof(dummy)); ff.read(reinterpret_cast<char*>(&xlist[0]),sizeof(float)*xlist.size()); if(swap_flag) swap_float(&xlist[0],xlist.size()); if(gap_flag) ff.read(dummy,sizeof(dummy)); for(uint j=0;j<clist.size();++j) { - clist[j].SetY(xlist[j]); + clist[j].y=xlist[j]; } + // z coord if(gap_flag) ff.read(dummy,sizeof(dummy)); ff.read(reinterpret_cast<char*>(&xlist[0]),sizeof(float)*xlist.size()); if(swap_flag) swap_float(&xlist[0],xlist.size()); if(gap_flag) ff.read(dummy,sizeof(dummy)); for(uint j=0;j<clist.size();++j) { - clist[j].SetZ(xlist[j]); + clist[j].z=xlist[j]; } cg.AddFrame(clist); + // skip frames (defined by stride) + if(stride>1) ff.seekg(frame_size*(stride-1),std::ios_base::cur); } ff.get(); if(!ff.eof()) { - LOGN_VERBOSE("LoadCHARMMTraj: unexpected trailing file data, bytes read: " + LOG_VERBOSE("LoadCHARMMTraj: unexpected trailing file data, bytes read: " << ff.tellg()); } - LOGN_VERBOSE("Loaded " << cg.GetFrameCount() << " frames with " << cg.GetAtomCount() << " atoms each"); + LOG_VERBOSE("Loaded " << cg.GetFrameCount() << " frames with " << cg.GetAtomCount() << " atoms each"); return cg; } diff --git a/modules/io/src/mol/entity_io_crd_handler.cc b/modules/io/src/mol/entity_io_crd_handler.cc index 2fd39293ff0fe11c929e97915a59735edb034742..320db5d1d667f81a895096b170ecac51920ca0e4 100644 --- a/modules/io/src/mol/entity_io_crd_handler.cc +++ b/modules/io/src/mol/entity_io_crd_handler.cc @@ -81,7 +81,7 @@ void CRDReader::Import(mol::EntityHandle& ent) while(std::getline(in_,line)) { ParseAndAddAtom(line,ent); } - LOGN_MESSAGE("imported " << chain_count_ << " chains, " << residue_count_ + LOG_INFO("imported " << chain_count_ << " chains, " << residue_count_ << " residues, " << atom_count_ << " atoms"); } @@ -89,7 +89,7 @@ void CRDReader::ParseAndAddAtom(const String& line, mol::EntityHandle& ent) { mol::XCSEditor editor=ent.RequestXCSEditor(mol::BUFFERED_EDIT); - LOGN_TRACE( "line: [" << line << "]" ); + LOG_TRACE( "line: [" << line << "]" ); //int anum = boost::lexical_cast<int>(boost::trim_copy(line.substr(0,5))); String aname = boost::trim_copy(line.substr(16,4)); @@ -104,7 +104,7 @@ void CRDReader::ParseAndAddAtom(const String& line, mol::EntityHandle& ent) mol::ResidueKey rkey(rname); // some postprocessing - LOGN_TRACE( "s_chain: [" << s_chain << "]" ); + LOG_TRACE( "s_chain: [" << s_chain << "]" ); mol::ResNum rnum(irnum); @@ -127,21 +127,21 @@ void CRDReader::ParseAndAddAtom(const String& line, mol::EntityHandle& ent) if(update_chain) { if (!(curr_chain_=ent.FindChain(s_chain))) { - LOGN_DUMP("new chain " << s_chain); + LOG_DEBUG("new chain " << s_chain); curr_chain_=editor.InsertChain(s_chain); ++chain_count_; } } if(update_residue) { - LOGN_DUMP("new residue " << rkey << " " << rnum); + LOG_DEBUG("new residue " << rkey << " " << rnum); curr_residue_=editor.AppendResidue(curr_chain_, rkey, rnum); assert(curr_residue_.IsValid()); ++residue_count_; } // finally add atom - LOGN_DUMP("adding atom " << aname << " (" << ele << ") @" << apos); + LOG_DEBUG("adding atom " << aname << " (" << ele << ") @" << apos); mol::AtomProp aprop; aprop.element=ele; aprop.radius=conop::Conopology::Instance().GetDefaultAtomRadius(ele); @@ -186,9 +186,9 @@ bool CRDWriter::VisitAtom(const mol::AtomHandle& atom) << format("%5i") % res.GetNumber() << " " << format("%4s") % res.GetKey() << " " << format("%-4s") % atom.GetName() - << format("%10.5f") % atom.GetPos().GetX() - << format("%10.5f") % atom.GetPos().GetY() - << format("%10.5f") % atom.GetPos().GetZ() << " " + << format("%10.5f") % atom.GetPos().x + << format("%10.5f") % atom.GetPos().y + << format("%10.5f") % atom.GetPos().z << " " << format("%-4s") % e_name << " " << format("%-5i") % res.GetNumber() << " " << format("%8.5f") % atom.GetBFactor() diff --git a/modules/io/src/mol/entity_io_mae_handler.cc b/modules/io/src/mol/entity_io_mae_handler.cc index d002a712035e21f4ab96bc47de7c2785cd6f5999..e810c9089efc13896ce0e418815e846a27ba43cb 100644 --- a/modules/io/src/mol/entity_io_mae_handler.cc +++ b/modules/io/src/mol/entity_io_mae_handler.cc @@ -127,16 +127,16 @@ void MAEReader::Import(mol::EntityHandle& ent) if(in_atom_block) { if(parsing_atoms) { if(boost::regex_match(line,r_delim)) { - LOGN_DUMP( "stopping atom parsing" ); + LOG_DEBUG( "stopping atom parsing" ); parsing_atoms=false; prop_list.clear(); } else { // parsing atom line std::vector<std::string> tokens=tokenize(line); for(size_t i=0;i<tokens.size();++i) { - LOG_DUMP( "[" << tokens[i] << "] "); + LOG_DEBUG( "[" << tokens[i] << "] "); } - LOGN_DUMP(""); + LOG_DEBUG(""); add_atom(ent,editor, tokens[i_atom_name], tokens[i_atom_xpos], @@ -157,17 +157,17 @@ void MAEReader::Import(mol::EntityHandle& ent) i_chain_name==-1) { throw IOException("missing atom prop"); } - LOGN_DUMP( "starting atom parsing" ); + LOG_DEBUG( "starting atom parsing" ); parsing_atoms=true; } else if(line[0]=='}') { - LOGN_DUMP( "exiting atom block" ); + LOG_DEBUG( "exiting atom block" ); in_atom_block=false; } else { // parsing property line if(line[0]!='#') { int pid=prop_list.size()+1; prop_list.push_back(line); - LOGN_DUMP( "found property '" << prop_list.back() << "' id=" << pid ); + LOG_DEBUG( "found property '" << prop_list.back() << "' id=" << pid ); if(line=="s_m_pdb_atom_name") i_atom_name=pid; else if(line=="r_m_x_coord") i_atom_xpos=pid; else if(line=="r_m_y_coord") i_atom_ypos=pid; @@ -180,22 +180,22 @@ void MAEReader::Import(mol::EntityHandle& ent) } } else { // not in atom block if(boost::regex_match(line,r_atom_block)) { - LOGN_DUMP( "entering atom block" ); + LOG_DEBUG( "entering atom block" ); in_atom_block=true; } else if(line[0]=='}') { - LOGN_DUMP( "exiting ct block" ); + LOG_DEBUG( "exiting ct block" ); in_ct_block=false; } } } else { // not in ct block if(boost::regex_match(line,r_ct_block)) { - LOGN_DUMP( "entering ct block" ); + LOG_DEBUG( "entering ct block" ); in_ct_block=true; } } } - LOGN_MESSAGE("imported " << chain_count_ << " chains, " << residue_count_ + LOG_INFO("imported " << chain_count_ << " chains, " << residue_count_ << " residues, " << atom_count_ << " atoms"); } @@ -245,10 +245,10 @@ void MAEReader::add_atom(mol::EntityHandle ent, if(update_chain) { if (!(curr_chain_=ent.FindChain(cname))) { curr_chain_=editor.InsertChain(cname); - LOGN_DUMP("new chain " << curr_chain_); + LOG_DEBUG("new chain " << curr_chain_); ++chain_count_; } else { - LOGN_DUMP("old chain " << curr_chain_); + LOG_DEBUG("old chain " << curr_chain_); } } @@ -256,15 +256,15 @@ void MAEReader::add_atom(mol::EntityHandle ent, if (!(curr_residue_=curr_chain_.FindResidue(rnum))) { curr_residue_=editor.AppendResidue(curr_chain_, rkey, rnum); assert(curr_residue_.IsValid()); - LOGN_DUMP(" new residue " << curr_residue_); + LOG_DEBUG(" new residue " << curr_residue_); ++residue_count_; } else { - LOGN_DUMP(" old residue " << curr_residue_); + LOG_DEBUG(" old residue " << curr_residue_); } } // finally add atom - LOGN_DUMP(" atom " << aname << " (" << ele << ") @" << apos); + LOG_DEBUG(" atom " << aname << " (" << ele << ") @" << apos); mol::AtomProp aprop; aprop.element=ele; aprop.radius=conop::Conopology::Instance().GetDefaultAtomRadius(ele); diff --git a/modules/io/src/mol/load_entity.cc b/modules/io/src/mol/load_entity.cc index 22d0aa9335fb6b1f0a040350b7653e40772bc731..4eda99b4a01acb435819e0a9f3905e5e01db9a39 100644 --- a/modules/io/src/mol/load_entity.cc +++ b/modules/io/src/mol/load_entity.cc @@ -32,12 +32,12 @@ namespace { void Import(mol::EntityHandle& eh, const String& filename, int flag) { Profile profile_import("import"); - LOG_DUMP("creating EntityIOHandle for " << filename << std::endl); + LOG_DEBUG("creating EntityIOHandle for " << filename); EntityIOHandlerP ent_io = IOManager::Instance().FindEntityImportHandler(filename); // TODO: proper error handling - LOG_DUMP("calling import on entity io handle" << std::endl); + LOG_DEBUG("calling import on entity io handle"); /* This should probably allow various parameters to be passed to adjust the loading behaviour for a particular filter. @@ -46,7 +46,7 @@ void Import(mol::EntityHandle& eh, const String& filename, int flag) */ ent_io->Import(eh,filename); - LOG_DUMP("running conopology" << std::endl); + LOG_DEBUG("running conopology"); if(ent_io->RequiresBuilder()) { conop::BuilderP builder = conop::Conopology::Instance().GetBuilder(); @@ -58,9 +58,7 @@ void Import(mol::EntityHandle& eh, const String& filename, int flag) mol::EntityHandle LoadEntity(const String& filename, int flag) { - LOG_DEBUG("entering LoadEntity (unmanaged)" << std::endl); - - LOG_DUMP("creating emtpy entity" << std::endl); + LOG_DEBUG("creating emtpy entity"); mol::EntityHandle eh=mol::CreateEntity(); mol::XCSEditor xcs_lock=eh.RequestXCSEditor(mol::BUFFERED_EDIT); Import(eh,filename,flag); diff --git a/modules/io/src/mol/load_surface.cc b/modules/io/src/mol/load_surface.cc index 964ff48b44a1184334175a5098ed3881ea4e6f9f..e3f94f75492a8cc506710e81117742aca8467777 100644 --- a/modules/io/src/mol/load_surface.cc +++ b/modules/io/src/mol/load_surface.cc @@ -29,10 +29,9 @@ namespace { void ImportSurface(mol::SurfaceHandle& sh, const String& fname, const String& type) { - LOG_DUMP("creating EntityIOHandle for " << fname << std::endl); + LOG_DEBUG("creating EntityIOHandle for " << fname); SurfaceIOHandlerPtr surf_io = IOManager::Instance().FindSurfaceImportHandler(fname,type); - - LOG_DUMP("calling import on surface io handle" << std::endl); + LOG_DEBUG("calling import on surface io handle"); surf_io->Import(sh,fname); } diff --git a/modules/io/src/mol/pdb_io.cc b/modules/io/src/mol/pdb_io.cc index 30b6dc17eb3dc7012c11afd4b5098be28b9f67be..eba9c8877083eaea23bbb1ad81269269fe8d6d96 100644 --- a/modules/io/src/mol/pdb_io.cc +++ b/modules/io/src/mol/pdb_io.cc @@ -31,6 +31,7 @@ namespace ost { namespace io { const unsigned int PDB::PQR_FORMAT=0x8; const unsigned int PDB::JOIN_SPREAD_ATOM_RECORDS=0x10; const unsigned int PDB::CALPHA_ONLY=0x20; + const unsigned int PDB::CHARMM_FORMAT=0x40; void PDB::PushFlags(unsigned int flags) {PDB::Instance().fstack.push(flags);} unsigned int PDB::Flags() {return PDB::Instance().fstack.empty() ? 0 : PDB::Instance().fstack.top();} diff --git a/modules/io/src/mol/pdb_io.hh b/modules/io/src/mol/pdb_io.hh index b2d1e00bf32f866a7c917332fd08e4af751140dc..c4fc19e035f2b6bf02d135facf06091cb1c38250 100644 --- a/modules/io/src/mol/pdb_io.hh +++ b/modules/io/src/mol/pdb_io.hh @@ -42,28 +42,37 @@ struct DLLEXPORT_OST_IO PDB { /// \brief enable for PQR static const unsigned int PQR_FORMAT; - /// \brief Join atom records into one residue, even if the atom records - /// are not sequential. - /// - /// This is useful in the following case: - /// - /// \verbatim - /// ATOM 43 N AALA P 4 - /// ATOM 45 CA AALA P 4 - /// ATOM 47 C AALA P 4 - /// ATOM 48 O AALA P 4 - /// ATOM 49 N APRO P 5 - /// ATOM 50 CD APRO P 5 - /// ATOM 53 CA APRO P 5 - /// ATOM 55 CB APRO P 5 - /// ATOM 58 CG APRO P 5 - /// ATOM 61 C APRO P 5 - /// ATOM 62 O APRO P 5 - /// ATOM 550 CB AALA P 4 - /// \endverbatim - /// - /// By default, the atom 550 will start a new residue instead of being - /// joined with atoms 43-48 into one residue. + /// \brief enables parsing of charmm-style PDBs + /// + /// CHARMM files don't use the chain column to mark different chains, but + /// rather put the name in the last columns that is isually used for the atom + /// element an occupancy. Note that it is perfectly possible to parse CHARRM + /// PDB files without this flag, but the mileage may vary as some of the + /// elements are incorrectly assigned. + static const unsigned int CHARMM_FORMAT; + + /// \brief Join atom records into one residue, even if the atom records + /// are not sequential. + /// + /// This is useful in the following case: + /// + /// \verbatim + /// ATOM 43 N AALA P 4 + /// ATOM 45 CA AALA P 4 + /// ATOM 47 C AALA P 4 + /// ATOM 48 O AALA P 4 + /// ATOM 49 N APRO P 5 + /// ATOM 50 CD APRO P 5 + /// ATOM 53 CA APRO P 5 + /// ATOM 55 CB APRO P 5 + /// ATOM 58 CG APRO P 5 + /// ATOM 61 C APRO P 5 + /// ATOM 62 O APRO P 5 + /// ATOM 550 CB AALA P 4 + /// \endverbatim + /// + /// By default, the atom 550 will start a new residue instead of being + /// joined with atoms 43-48 into one residue. static const unsigned int JOIN_SPREAD_ATOM_RECORDS; /// \brief only import C-alpha atoms diff --git a/modules/io/src/mol/pdb_reader.cc b/modules/io/src/mol/pdb_reader.cc index 21db6adf023afa1fb733103179b66b4e57188131..909a4ec754a87c82598ff18cfbf2a85ea4c215b4 100644 --- a/modules/io/src/mol/pdb_reader.cc +++ b/modules/io/src/mol/pdb_reader.cc @@ -126,7 +126,7 @@ bool PDBReader::HasNext() void PDBReader::Import(mol::EntityHandle& ent, const String& restrict_chains) { - LOGN_DEBUG("PDBReader: current flags: " << PDB::Flags()); + LOG_DEBUG("PDBReader: current flags: " << PDB::Flags()); Profile profile_import("PDBReader::Import"); this->ClearState(); @@ -145,12 +145,14 @@ void PDBReader::Import(mol::EntityHandle& ent, continue; } if (IEquals(curr_line.substr(0, 6), StringRef("ATOM ", 6))) { - LOGN_TRACE("processing ATOM entry"); + LOG_TRACE("processing ATOM entry"); this->ParseAndAddAtom(curr_line, line_num_, ent, StringRef("ATOM", 4)); } else if (IEquals(curr_line.substr(0, 6), StringRef("ANISOU", 6))) { - LOGN_TRACE("processing ANISOU entry"); - this->ParseAnisou(curr_line, line_num_, ent); + if (!(PDB::Flags() & PDB::CHARMM_FORMAT)) { + LOG_TRACE("processing ANISOU entry"); + this->ParseAnisou(curr_line, line_num_, ent); + } } break; case 'E': @@ -179,11 +181,13 @@ void PDBReader::Import(mol::EntityHandle& ent, if (IEquals(curr_line.substr(0, 6), StringRef("HETATM", 6))) { if (PDB::Flags() & PDB::NO_HETATMS) continue; - LOGN_TRACE("processing HETATM entry"); + LOG_TRACE("processing HETATM entry"); this->ParseAndAddAtom(curr_line, line_num_, ent, StringRef("HETATM", 6)); } else if (IEquals(curr_line.substr(0, 6), StringRef("HELIX ", 6))) { - this->ParseHelixEntry(curr_line); + if (!(PDB::Flags() & PDB::CHARMM_FORMAT)) { + this->ParseHelixEntry(curr_line); + } } break; case 'M': @@ -211,14 +215,16 @@ void PDBReader::Import(mol::EntityHandle& ent, continue; } if (IEquals(curr_line.substr(0, 6), StringRef("SHEET ", 6))) { - this->ParseStrandEntry(curr_line); + if (!(PDB::Flags() & PDB::CHARMM_FORMAT)) { + this->ParseStrandEntry(curr_line); + } } break; default: break; } } while (std::getline(in_, curr_line_) && ++line_num_ && go_on); - LOGN_MESSAGE("imported " + LOG_INFO("imported " << chain_count_ << " chains, " << residue_count_ << " residues, " << atom_count_ << " atoms; with " @@ -235,7 +241,7 @@ void PDBReader::AssignSecStructure(mol::EntityHandle ent) i!=e; ++i) { mol::ChainHandle chain=ent.FindChain(i->chain); if (!chain.IsValid()) { - LOGN_MESSAGE("ignoring helix record for unknown chain "+i->chain); + LOG_INFO("ignoring helix record for unknown chain "+i->chain); continue; } mol::SecStructure alpha(mol::SecStructure::ALPHA_HELIX); @@ -244,7 +250,8 @@ void PDBReader::AssignSecStructure(mol::EntityHandle ent) // two secondary structure segments to insert one residue of coil // conformation. mol::ResNum start=i->start, end=i->end; - if (helix_list_.end()!=i+1 && (*(i+1)).start.GetNum()<=end.GetNum()+1) { + if (helix_list_.end()!=i+1 && (*(i+1)).start.GetNum()<=end.GetNum()+1 && + (*(i+1)).end.GetNum()>end.GetNum()) { end=mol::ResNum((*(i+1)).start.GetNum()-2); } chain.AssignSecondaryStructure(alpha, start, end); @@ -254,13 +261,14 @@ void PDBReader::AssignSecStructure(mol::EntityHandle ent) i!=e; ++i) { mol::ChainHandle chain=ent.FindChain(i->chain); if (!chain.IsValid()) { - LOGN_MESSAGE("ignoring strand record for unknown chain "+i->chain); + LOG_INFO("ignoring strand record for unknown chain "+i->chain); continue; } mol::SecStructure extended(mol::SecStructure::EXTENDED); mol::ResNum start=i->start, end=i->end; // see comment for helix assignment - if (strand_list_.end()!=i+1 && (*(i+1)).start.GetNum()<=end.GetNum()+1) { + if (strand_list_.end()!=i+1 && (*(i+1)).start.GetNum()<=end.GetNum()+1 && + (*(i+1)).end.GetNum()>end.GetNum()) { end=mol::ResNum((*(i+1)).start.GetNum()-2); } chain.AssignSecondaryStructure(extended, start, end); @@ -279,27 +287,48 @@ void PDBReader::ClearState() strand_list_.clear(); } +bool PDBReader::EnsureLineLength(const StringRef& line, size_t size) +{ + if (line.length()<size) { + if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { + return false; + } + throw IOException(str(format("premature end of line %d") %line_num_)); + } + return true; +} + bool PDBReader::ParseAtomIdent(const StringRef& line, int line_num, - char& chain_name, StringRef& res_name, + String& chain_name, StringRef& res_name, mol::ResNum& resnum, StringRef& atom_name, char& alt_loc, const StringRef& record_type) { - chain_name=line[21]; - if (restrict_chains_.size()>0 && - restrict_chains_.find(chain_name)==String::npos) { + if (!this->EnsureLineLength(line, 27)) { return false; } + if (PDB::Flags() & PDB::CHARMM_FORMAT) { + if (line.size()>73) { + size_t width=std::min(line.size()-72, size_t(4)); + chain_name=line.substr(72, width).trim().str(); + } + } else { + chain_name=String(1, line[21]); + if (restrict_chains_.size()>0 && + restrict_chains_.find(chain_name)==String::npos) { + return false; + } + } std::pair<bool, int> a_num=line.substr(6, 5).ltrim().to_int(); if (!a_num.first) { - if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { - return false; + if (!(PDB::Flags() & PDB::SKIP_FAULTY_RECORDS)) { + throw IOException(str(format("invalid atom number on line %d") %line_num)); } - throw IOException(str(format("invalid atom number on line %d") %line_num)); + LOG_WARNING("invalid atom number on line " << line_num); } atom_name=line.substr(12, 4).trim(); alt_loc=line[16]; - res_name=line.substr(17, 3).trim(); + res_name=line.substr(17, (PDB::Flags() & PDB::CHARMM_FORMAT) ? 4 : 3).trim(); std::pair<bool, int> res_num=line.substr(22, 4).ltrim().to_int();; if (!res_num.first) { if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { @@ -325,7 +354,10 @@ bool PDBReader::ParseAtomIdent(const StringRef& line, int line_num, void PDBReader::ParseAnisou(const StringRef& line, int line_num, mol::EntityHandle& ent) { - char chain_name=0; + if (!this->EnsureLineLength(line, 77)) { + return; + } + String chain_name; char alt_loc=0; StringRef res_name, atom_name; mol::ResNum res_num(0); @@ -372,16 +404,18 @@ void PDBReader::ParseAnisou(const StringRef& line, int line_num, aprop.anisou/=10000; aprop.has_anisou=true; atom.SetAtomProps(aprop); - return; } void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, mol::EntityHandle& ent, const StringRef& record_type) { + if (!this->EnsureLineLength(line, 54)) { + return; + } mol::XCSEditor editor=ent.RequestXCSEditor(mol::BUFFERED_EDIT); char alt_loc=0; - char chain_name=0; + String chain_name; StringRef res_name, atom_name; mol::ResNum res_num(0); if (!this->ParseAtomIdent(line, line_num, chain_name, res_name, res_num, @@ -420,35 +454,32 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, temp=line.substr(60, 6).ltrim().to_float(); } } - LOGN_TRACE( "line: [" << line << "]" ); + LOG_TRACE( "line: [" << line << "]" ); String s_ele; - String s_chain(1, chain_name); - String aname(atom_name.str()); - // determine element from element column (77-78, right justified) if present - // otherwise set to empty String. It is up to the builder to determine the - // correct element in that case. - if (line.length()>=78) { // element column present - if(line[76]==' ' && line[77]==' ') { // both characters are empty - s_ele=""; - } else if(line[76]!=' ' || line[77]!=' ') { // at least one character not - // empty - if(line[76]==' ' && line[77]!=' ') { // single character element, - // right justified - s_ele=line.substr(77,1).str(); - } else if(line[76]!=' ' && line[77]==' ') { // single character element, - // left justified - s_ele=line.substr(76,1).str(); - } else { // Real character element - s_ele=line.substr(76,2).str(); + if (!(PDB::Flags() & PDB::CHARMM_FORMAT)) { + // determine element from element column (77-78, right justified) if + // present otherwise set to empty String. It is up to the builder to + // determine the correct element in that case. + if (line.length()>=78) { // element column present + if(line[76]==' ' && line[77]==' ') { // both characters are empty + s_ele=""; + } else if(line[76]!=' ' || line[77]!=' ') { // at least one character not + // empty + if(line[76]==' ' && line[77]!=' ') { // single character element, + // right justified + s_ele=line.substr(77,1).str(); + } else if(line[76]!=' ' && line[77]==' ') {// single character element, + // left justified + s_ele=line.substr(76,1).str(); + } else { // Real character element + s_ele=line.substr(76,2).str(); + } } - } + } } - else { - s_ele=""; // no element column present - } - + String aname(atom_name.str()); // some postprocessing - LOGN_TRACE( "s_chain: [" << chain_name << "]" ); + LOG_TRACE( "s_chain: [" << chain_name << "]" ); // determine chain and residue update bool update_chain=false; @@ -456,7 +487,7 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, if(!curr_chain_) { update_chain=true; update_residue=true; - } else if(curr_chain_.GetName()!=s_chain) { + } else if(curr_chain_.GetName()!=chain_name) { update_chain=true; update_residue=true; } @@ -475,11 +506,11 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, curr_chain_=ent.FindChain(s_chain); } #else - curr_chain_=ent.FindChain(s_chain); + curr_chain_=ent.FindChain(chain_name); #endif if(!curr_chain_.IsValid()) { - LOGN_DUMP("new chain " << s_chain); - curr_chain_=editor.InsertChain(s_chain); + LOG_DEBUG("new chain " << chain_name); + curr_chain_=editor.InsertChain(chain_name); ++chain_count_; } assert(curr_chain_.IsValid()); @@ -490,14 +521,14 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, curr_residue_=curr_chain_.FindResidue(res_num); } if (!curr_residue_.IsValid()) { - LOGN_DUMP("new residue " << res_name << " " << res_num); + LOG_DEBUG("new residue " << res_name << " " << res_num); curr_residue_=editor.AppendResidue(curr_chain_, res_name.str(), res_num); ++residue_count_; } assert(curr_residue_.IsValid()); } // finally add atom - LOGN_DUMP("adding atom " << aname << " (" << s_ele << ") @" << apos); + LOG_DEBUG("adding atom " << aname << " (" << s_ele << ") @" << apos); mol::AtomProp aprop; aprop.element=s_ele; if(is_pqr_) { @@ -529,41 +560,35 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, try { editor.AddAltAtomPos(String(1, alt_loc), me, apos); } catch (Error) { - LOGN_MESSAGE("Ignoring atom alt location since there is already an atom " + LOG_INFO("Ignoring atom alt location since there is already an atom " "with name " << aname << ", but without an alt loc"); return; } } else { mol::AtomHandle ah=editor.InsertAltAtom(curr_residue_, aname, String(1, alt_loc), apos, aprop); - /* - for now, this is not needed - the cg will use an global atom id sorted - list insteadx - if (PDB::Flags() & PDB::SEQUENTIAL_ATOM_IMPORT) { - sequential_atom_list_.push_back(ah); - } - */ ++atom_count_; } } else { mol::AtomHandle ah = editor.InsertAtom(curr_residue_, aname, apos, aprop); - /* - if (PDB::Flags() & PDB::SEQUENTIAL_ATOM_IMPORT) { - sequential_atom_list_.push_back(ah); - } - */ ++atom_count_; } } void PDBReader::ParseHelixEntry(const StringRef& line) { + if (!this->EnsureLineLength(line, 38)) { + return; + } std::pair<bool, int> start_num=line.substr(21, 4).ltrim().to_int(); std::pair<bool, int> end_num=line.substr(33, 4).ltrim().to_int(); if (!start_num.first || !end_num.first) { + if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { + return; + } throw IOException(str(format("invalid helix entry on line %d") % line_num_)); } - LOGN_DEBUG("making helix entry: " << start_num.second << ", " + LOG_DEBUG("making helix entry: " << start_num.second << ", " << line[25] << " " << end_num.second << " " << line[37]); HSEntry hse = {to_res_num(start_num.second, line[25]), to_res_num(end_num.second, line[37]), @@ -577,12 +602,19 @@ void PDBReader::ParseHelixEntry(const StringRef& line) void PDBReader::ParseStrandEntry(const StringRef& line) { + if (!this->EnsureLineLength(line, 38)) { + return; + } std::pair<bool, int> start_num=line.substr(22, 4).ltrim().to_int(); std::pair<bool, int> end_num=line.substr(33, 4).ltrim().to_int(); if (!start_num.first || !end_num.first) { - throw IOException(str(format("invalid strand entry on line %d") % line_num_)); + if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { + return; + } + throw IOException(str(format("invalid strand entry on line %d")%line_num_)); } - LOGN_DEBUG("making strand entry: " << start_num.second << ", " << line[26] << " " << end_num.second << " " << line[37]); + LOG_DEBUG("making strand entry: " << start_num.second << ", " << line[26] + << " " << end_num.second << " " << line[37] << " chain=" << line[21]); HSEntry hse = {to_res_num(start_num.second, line[26]), to_res_num(end_num.second, line[37]), line.substr(21,1).str()}; diff --git a/modules/io/src/mol/pdb_reader.hh b/modules/io/src/mol/pdb_reader.hh index 41f7ffb21ca4769554d2b5a9fa3e195e5876a126..2c2ca2c1a16eadd110ad79aca78dcf31e8afc06b 100644 --- a/modules/io/src/mol/pdb_reader.hh +++ b/modules/io/src/mol/pdb_reader.hh @@ -57,7 +57,7 @@ private: /// \brief parses the common part of ATOM, HETATM and ANISOU records bool ParseAtomIdent(const StringRef& line, int line_num, - char& chain_name, StringRef& res, + String& chain_name, StringRef& res, mol::ResNum& resnum, StringRef& atom_name, char& alt_loc, const StringRef& record_type); void ParseAnisou(const StringRef& line, int line_num, @@ -65,6 +65,7 @@ private: void ParseHelixEntry(const StringRef& line); void ParseStrandEntry(const StringRef& line); void Init(const boost::filesystem::path& loc); + bool EnsureLineLength(const StringRef& line, size_t size); mol::ChainHandle curr_chain_; mol::ResidueHandle curr_residue_; int chain_count_; diff --git a/modules/io/src/mol/pdb_writer.cc b/modules/io/src/mol/pdb_writer.cc index 7b89e1f09cbfea8857fb9057285fcfd16f515c7f..580c40752b8deaecdb279bdd421c52798e82d567 100644 --- a/modules/io/src/mol/pdb_writer.cc +++ b/modules/io/src/mol/pdb_writer.cc @@ -39,12 +39,14 @@ namespace { bool shift_left(const String& atom_name, bool is_hetatm, const String& element, float mass) { + if (atom_name.length()==4) { + return true; + } if (is_hetatm==false) { return false; } - if (isdigit(atom_name[0]) || atom_name=="UNK" || - atom_name.length()==4) { + if (isdigit(atom_name[0]) || atom_name=="UNK") { return true; } if (mass>34) { @@ -198,6 +200,19 @@ public: return true; } + virtual bool VisitChain(const mol::ChainHandle& chain) + { + if (peptide_) { + this->WriteTer(prev_); + } + return true; + } + virtual void OnExit() + { + if (peptide_) { + this->WriteTer(prev_); + } + } void WriteTer(mol::ResidueHandle res) { counter_++; diff --git a/modules/io/src/mol/save_entity.cc b/modules/io/src/mol/save_entity.cc index 0bfadfc0b0a917a301dff6e3ab774e8601e37529..2a7a64ef285f3ba8b2cc82b7aa1b928e8527bc0c 100644 --- a/modules/io/src/mol/save_entity.cc +++ b/modules/io/src/mol/save_entity.cc @@ -31,7 +31,7 @@ void DLLEXPORT_OST_IO SaveEntity(const mol::EntityHandle& en, void DLLEXPORT_OST_IO SaveEntity(const mol::EntityView& en, const String& filename, const String& format) { - LOG_DUMP("creating EntityIOHandle for " << filename << std::endl); + LOG_DEBUG("creating EntityIOHandle for " << filename); IOManager& manager=IOManager::Instance(); EntityIOHandlerP ent_io=manager.FindEntityExportHandler(filename, format); @@ -39,7 +39,7 @@ void DLLEXPORT_OST_IO SaveEntity(const mol::EntityView& en, throw IOUnknownFormatException("No IO handler for file='"+filename+"', format='"+ format+"' found."); } - LOG_DUMP("calling export on entity io handle" << std::endl); + LOG_DEBUG("calling export on entity io handle"); ent_io->Export(en, filename); } diff --git a/modules/io/src/mol/sdf_reader.cc b/modules/io/src/mol/sdf_reader.cc index e2f0fabd24c65e33cf31664f8751d2208f60a096..4427850ea6678b6a9a6cb639e3e92e600c9a30a8 100644 --- a/modules/io/src/mol/sdf_reader.cc +++ b/modules/io/src/mol/sdf_reader.cc @@ -82,12 +82,12 @@ void SDFReader::Import(mol::EntityHandle& ent) } curr_chain_.SetStringProp(data_header, data_value); } else if (boost::iequals(line, "$$$$")) { - LOGN_MESSAGE("MOLECULE " << curr_chain_.GetName() << " (" << chain_count_ << ") added.") + LOG_INFO("MOLECULE " << curr_chain_.GetName() << " (" << chain_count_ << ") added.") NextMolecule(); } } - LOGN_MESSAGE("imported " << chain_count_ << " chains, " << residue_count_ + LOG_INFO("imported " << chain_count_ << " chains, " << residue_count_ << " residues, " << atom_count_ << " atoms"); } @@ -113,7 +113,7 @@ void SDFReader::NextMolecule() void SDFReader::ParseAndAddHeader(const String& line, int line_num, mol::EntityHandle& ent, mol::XCSEditor& editor) { - LOGN_TRACE( "line: [" << line << "]" ); + LOG_TRACE( "line: [" << line << "]" ); format chain_fmter("%05i_%s"); switch(line_num) { @@ -129,12 +129,12 @@ void SDFReader::ParseAndAddHeader(const String& line, int line_num, throw IOException(str(format(msg) % line_num)); } curr_chain_=editor.InsertChain(s_chain); - LOGN_DUMP("new chain " << s_chain); + LOG_DEBUG("new chain " << s_chain); mol::ResidueKey rkey=boost::trim_copy(s_title); mol::ResNum rnum(++residue_count_); curr_residue_=editor.AppendResidue(curr_chain_, rkey, rnum); - LOGN_DUMP("new residue " << rkey << "(" << rnum << ")"); + LOG_DEBUG("new residue " << rkey << "(" << rnum << ")"); break; } case 2: // user information line @@ -169,7 +169,7 @@ void SDFReader::ParseAndAddAtom(const String& line, int line_num, mol::XCSEditor& editor) { - LOGN_TRACE( "line: [" << line << "]" ); + LOG_TRACE( "line: [" << line << "]" ); if(line.length()<48 || line.length()>69) { String msg="Bad atom line %d: Not correct number of characters on the" @@ -214,7 +214,7 @@ void SDFReader::ParseAndAddAtom(const String& line, int line_num, throw IOException(str(format(msg) % line_num % s_charge)); } - LOGN_DUMP("adding atom " << aname << " (" << s_ele << ") @" << apos); + LOG_DEBUG("adding atom " << aname << " (" << s_ele << ") @" << apos); editor.InsertAtom(curr_residue_, aname,apos,aprop); } @@ -224,7 +224,7 @@ void SDFReader::ParseAndAddBond(const String& line, int line_num, mol::EntityHandle& ent, mol::XCSEditor& editor) { - LOGN_TRACE( "line: [" << line << "]" ); + LOG_TRACE( "line: [" << line << "]" ); if(line.length()<18 || line.length()>21) { String msg="Bad bond line %d: Not correct number of characters on the" @@ -269,7 +269,7 @@ void SDFReader::ParseAndAddBond(const String& line, int line_num, throw IOException(str(format(msg) % line_num % first % second)); } - LOGN_DUMP("adding bond " << s_first_name << " " << s_second_name << " (" << s_type << ") "); + LOG_DEBUG("adding bond " << s_first_name << " " << s_second_name << " (" << s_type << ") "); } }} diff --git a/modules/io/src/mol/star_parser.cc b/modules/io/src/mol/star_parser.cc index 09ce3af22af08f5b84e4dfe9cf2e50e58775606a..6097262cc78eeec8aa6a2e7fa5dfe93b194ea048 100644 --- a/modules/io/src/mol/star_parser.cc +++ b/modules/io/src/mol/star_parser.cc @@ -105,6 +105,7 @@ void StarParser::ParseLoop() while (this->GetLine(line)) { StringRef tline=line.rtrim(); if (tline.empty()) { + this->ConsumeLine(); continue; } switch(tline[0]) { @@ -137,6 +138,7 @@ void StarParser::ParseLoop() while (this->GetLine(line)) { StringRef tline=line.rtrim(); if (tline.empty()) { + this->ConsumeLine(); continue; } switch (tline[0]) { @@ -213,6 +215,7 @@ void StarParser::ParseDataItem() while (this->NextLine(line)) { StringRef tline=line.rtrim(); if (tline.empty()) { + this->ConsumeLine(); continue; } if (tline[0]==';') { diff --git a/modules/io/src/mol/surface_io_msms_handler.cc b/modules/io/src/mol/surface_io_msms_handler.cc index 48659c0999f96409ce4aa64681e509d8504e1e76..1fe223454386192cb76660ad57cc95d6b501bcf5 100644 --- a/modules/io/src/mol/surface_io_msms_handler.cc +++ b/modules/io/src/mol/surface_io_msms_handler.cc @@ -42,16 +42,16 @@ std::pair<bf::path,bf::path> detect_files(const bf::path& loc) void SurfaceIOMSMSHandler::Import(mol::SurfaceHandle& sh, const bf::path& loc) { std::pair<bf::path,bf::path> pp = detect_files(loc); - LOGN_DEBUG("loading files " << pp.first.string() << " and " << pp.second.string()); + LOG_DEBUG("loading files " << pp.first.string() << " and " << pp.second.string()); std::ifstream fvert(pp.first.string().c_str()); if(!fvert) { - LOGN_ERROR("could not open " << pp.first.string()); + LOG_ERROR("could not open " << pp.first.string()); return; } std::ifstream fface(pp.second.string().c_str()); if(!fface) { - LOGN_ERROR("could not open " << pp.second.string()); + LOG_ERROR("could not open " << pp.second.string()); return; } @@ -100,7 +100,7 @@ void SurfaceIOMSMSHandler::Import(mol::SurfaceHandle& sh, const bf::path& loc) sh.AddTri(vertice_map[id1],vertice_map[id2],vertice_map[id3]); } - LOGN_MESSAGE("loaded " << vertice_count << " vertices and " << face_count << " faces"); + LOG_INFO("loaded " << vertice_count << " vertices and " << face_count << " faces"); } void SurfaceIOMSMSHandler::Export(const mol::SurfaceHandle& sh, diff --git a/modules/io/src/seq/fasta_io_handler.cc b/modules/io/src/seq/fasta_io_handler.cc index 919902088ea0a312a0acc48a27ca1cb6d996899d..198171208bd563319b3dd710fdcade308e58c5c9 100644 --- a/modules/io/src/seq/fasta_io_handler.cc +++ b/modules/io/src/seq/fasta_io_handler.cc @@ -92,17 +92,22 @@ void FastaIOHandler::Import(seq::SequenceList& aln, String error=str(format(error_msg) % line); throw IOException(error); } - String identifier=line.substr(1); - String sequence_str; - while (std::getline(instream, line) && line.size()>0 && line[0]!='>') { - if (line.find_first_not_of("\n\t ")==String::npos) { - continue; + String name=line.substr(1); + std::stringstream seq_string; + while (std::getline(instream, line)) { + if (!line.empty() && line[0]=='>') { + break; } - sequence_str+=line; - } - if (sequence_str.length()>0) { + for (String::iterator i=line.begin(), e=line.end(); i!=e; ++i) { + if (isspace(*i)) { + continue; + } + seq_string << *i; + } + } + if (!seq_string.str().empty()) { try { - seq::SequenceHandle seq=seq::CreateSequence(identifier, sequence_str); + seq::SequenceHandle seq=seq::CreateSequence(name, seq_string.str()); aln.AddSequence(seq); seq_count+=1; } catch (seq::InvalidSequence& e) { diff --git a/modules/io/src/seq/pir_io_handler.cc b/modules/io/src/seq/pir_io_handler.cc index a5d07c9ee819ab3fc95c766a0f42c6d45015112c..2974dcd51bf6dc4852bf1badad26d61719aaaf37 100644 --- a/modules/io/src/seq/pir_io_handler.cc +++ b/modules/io/src/seq/pir_io_handler.cc @@ -72,50 +72,79 @@ bool PirIOHandler::ProvidesExport(const boost::filesystem::path& loc, return PirIOHandler::ProvidesImport(loc, format); } -void PirIOHandler::Import(seq::SequenceList& aln, - std::istream& instream) +void PirIOHandler::Import(seq::SequenceList& aln, std::istream& instream) { - const char* error_msg="Bad Pir file: Expected '>', but '%1%' found."; - + const char* error_msg="Expected %1%, but '%2%' found."; + const char* premature_end="Premature end in PIR file on line %1%"; + const char* empty_seq="PIR file contains empty sequence on line %1%"; String line; - std::getline(instream, line); - int seq_count=0; - //not yet supported - throw IOException("Import of PIR format is not yet supported!"); + int line_num=1, seq_count=0; + // we can't use a normal while(std::getline(...)) here, because the PIR format + // requires us to perform a one-line look-ahead. + std::getline(instream, line); while (!instream.eof()) { - // parse header information. cut after first "|" + // skip empty lines if (line.find_first_not_of("\n\t ")==String::npos) { - std::getline(instream, line); continue; } - if (line.length()==0 || line[0]!='>') { - String error=str(format(error_msg) % line); + if (line[0]!='>') { + String error=str(format(error_msg) % "'>'" % line); + throw IOException(error); + } + if (line.length()<4) { + String error=str(format(error_msg) % "seq-type;identifier" % line); throw IOException(error); } - String identifier=line.substr(1); - String sequence_str; - while (std::getline(instream, line) && line.size()>0 && line[0]!='>') { - if (line.find_first_not_of("\n\t ")==String::npos) { - continue; + String seq_type=line.substr(1, 2); + if (!(seq_type=="P1" || seq_type=="F1" || seq_type=="DL" || + seq_type=="DC" || seq_type=="RL" || seq_type=="RC" || + seq_type=="XX")) { + throw IOException("Bad PIR file: Unknown sequence type"/*" '%1%' on line %2%" % seq_type % line_nu*m*/); + } + String name=line.substr(4); + int subject_line_num=line_num; + if (!std::getline(instream, line)) { + throw IOException(str(format(premature_end) % line_num)); + } + line_num+=1; + std::stringstream seq_string; + bool end_seq=false; + while (!end_seq && std::getline(instream, line)) { + line_num+=1; + for (String::iterator i=line.begin(), e=line.end(); i!=e; ++i) { + if (isspace(*i)) { + continue; + } + if (*i=='*') { + end_seq=true; + break; + } + seq_string << *i; } - sequence_str+=line; } - if (sequence_str.length()>0) { - try { - seq::SequenceHandle seq=seq::CreateSequence(identifier, sequence_str); - aln.AddSequence(seq); - seq_count+=1; - } catch (seq::InvalidSequence& e) { - throw e; + while (std::getline(instream, line)) { + line_num+=1; + if (!line.empty() && line[0]=='>') { + break; } - } else { - throw IOException("Bad Pir file: Sequence is empty."); } - } + if (!end_seq) { + throw IOException(str(format(premature_end) % line_num)); + } + if (seq_string.str().empty()) { + throw IOException(str(format(empty_seq) % subject_line_num)); + } + try { + seq::SequenceHandle ss=seq::CreateSequence(name, seq_string.str()); + aln.AddSequence(ss); + seq_count+=1; + } catch (seq::InvalidSequence& e) { + throw e; + } + } if (seq_count==0) { throw IOException("Bad Pir file: File is empty"); - } - + } } void PirIOHandler::Export(const seq::ConstSequenceList& seqs, diff --git a/modules/io/tests/CMakeLists.txt b/modules/io/tests/CMakeLists.txt index f0c230801b3dce77efcb5f3fab4c58f240a57b23..1cb26f5fd45b675c5038de4d6dcb9c1a0fc00b26 100644 --- a/modules/io/tests/CMakeLists.txt +++ b/modules/io/tests/CMakeLists.txt @@ -3,6 +3,7 @@ set(OST_IO_UNIT_TESTS test_io_pdb.cc test_io_crd.cc test_io_sdf.cc + test_pir.cc test_iomanager.cc tests.cc ) diff --git a/modules/io/tests/test_io_pdb.cc b/modules/io/tests/test_io_pdb.cc index 3b9b691c31b5299da339a02b4e6d5aaec31d6344..df8ff5295dc686bbcf12c281b649a66a7218ff0c 100644 --- a/modules/io/tests/test_io_pdb.cc +++ b/modules/io/tests/test_io_pdb.cc @@ -190,6 +190,17 @@ BOOST_AUTO_TEST_CASE(no_endmdl_record) BOOST_CHECK_THROW(reader.Import(ent), IOException); } +BOOST_AUTO_TEST_CASE(faulty_lines) +{ + String fname("testfiles/pdb/faulty.pdb"); + PDBReader reader(fname); + mol::EntityHandle ent=mol::CreateEntity(); + BOOST_CHECK_THROW(reader.Import(ent), IOException); + + PDB::PushFlags(PDB::SKIP_FAULTY_RECORDS); + reader.Import(ent); +} + BOOST_AUTO_TEST_CASE(write_atom) { std::stringstream out; @@ -294,6 +305,48 @@ BOOST_AUTO_TEST_CASE(write_ter) "testfiles/pdb/ter-out.pdb")); } +BOOST_AUTO_TEST_CASE(write_ter2) +{ + String fname("testfiles/pdb/ter2.pdb"); + // this scope is required to force the writer stream to be closed before + // opening the file again in compare_files. Avoids a race condition. + { + PDBReader reader(fname); + PDBWriter writer(String("testfiles/pdb/ter2-out.pdb")); + + mol::EntityHandle ent=mol::CreateEntity(); + reader.Import(ent); + // we use conopology to mark amino acids as peptide-linking. this is + // require for proper TER output + conop::Conopology& conop_inst=conop::Conopology::Instance(); + conop_inst.ConnectAll(conop_inst.GetBuilder(), ent); + writer.Write(ent); + } + BOOST_CHECK(compare_files("testfiles/pdb/ter2.pdb", + "testfiles/pdb/ter2-out.pdb")); +} + +BOOST_AUTO_TEST_CASE(write_ter3) +{ + String fname("testfiles/pdb/ter3.pdb"); + // this scope is required to force the writer stream to be closed before + // opening the file again in compare_files. Avoids a race condition. + { + PDBReader reader(fname); + PDBWriter writer(String("testfiles/pdb/ter3-out.pdb")); + + mol::EntityHandle ent=mol::CreateEntity(); + reader.Import(ent); + // we use conopology to mark amino acids as peptide-linking. this is + // require for proper TER output + conop::Conopology& conop_inst=conop::Conopology::Instance(); + conop_inst.ConnectAll(conop_inst.GetBuilder(), ent); + writer.Write(ent); + } + BOOST_CHECK(compare_files("testfiles/pdb/ter3.pdb", + "testfiles/pdb/ter3-out.pdb")); +} + BOOST_AUTO_TEST_CASE(write_conect) { // this scope is required to force the writer stream to be closed before diff --git a/modules/io/tests/test_pir.cc b/modules/io/tests/test_pir.cc new file mode 100644 index 0000000000000000000000000000000000000000..1829404cc85498587a98e287a6c88c6a267eb0a7 --- /dev/null +++ b/modules/io/tests/test_pir.cc @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +/* + Author: Marco Biasini + */ + +#define BOOST_TEST_DYN_LINK +#include <boost/test/unit_test.hpp> +#include <ost/seq/invalid_sequence.hh> +#include <ost/io/seq/pir_io_handler.hh> +#include <ost/io/seq/load.hh> +#include <ost/io/io_exception.hh> + + +using namespace ost; +using namespace ost::io; + + +BOOST_AUTO_TEST_SUITE( io ) + + +BOOST_AUTO_TEST_CASE(pir_filetypes) +{ + BOOST_CHECK(PirIOHandler::ProvidesImport("","pir")); + BOOST_CHECK(PirIOHandler::ProvidesImport("alignment.pir")); +} + +BOOST_AUTO_TEST_CASE(pir_simple) +{ + seq::SequenceHandle s=LoadSequence("testfiles/pir/simple.pir"); + BOOST_CHECK_EQUAL(s.GetName(), "name"); + BOOST_CHECK_EQUAL(s.GetString(), "ABCDEFGHIJKLMNOP"); +} + +BOOST_AUTO_TEST_CASE(pir_seq_types) +{ + seq::SequenceList s=LoadSequenceList("testfiles/pir/seq-types.pir"); +} + +BOOST_AUTO_TEST_CASE(pir_errors) +{ + BOOST_CHECK_THROW(SequenceFromString(">", "pir"), IOException); + BOOST_CHECK_THROW(SequenceFromString(">P1", "pir"), IOException); + BOOST_CHECK_THROW(SequenceFromString(">P1;", "pir"), IOException); + BOOST_CHECK_THROW(SequenceFromString(">P1;name\n", "pir"), IOException); + BOOST_CHECK_THROW(SequenceFromString(">P1;name\ndescription\n", "pir"), + IOException); +} + +BOOST_AUTO_TEST_CASE(pir_no_star) +{ + BOOST_CHECK_THROW(LoadSequence("testfiles/pir/no-star.pir"), + seq::InvalidSequence); +} + +BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/modules/io/tests/testfiles/pdb/faulty.pdb b/modules/io/tests/testfiles/pdb/faulty.pdb new file mode 100644 index 0000000000000000000000000000000000000000..5264ddde2c0217f3cba84053c8fa8c2f6b5021ea --- /dev/null +++ b/modules/io/tests/testfiles/pdb/faulty.pdb @@ -0,0 +1,238 @@ +S +SH +SHE +SHEE +SHEET +SHEET +SHEET +SHEET +SHEET +SHEET 1 +SHEET 1 +SHEET 1 +SHEET 1 +SHEET 1 A +SHEET 1 A +SHEET 1 A 7 +SHEET 1 A 7 +SHEET 1 A 7 A +SHEET 1 A 7 AL +SHEET 1 A 7 ALA +SHEET 1 A 7 ALA +SHEET 1 A 7 ALA A +SHEET 1 A 7 ALA A +SHEET 1 A 7 ALA A +SHEET 1 A 7 ALA A 5 +SHEET 1 A 7 ALA A 53 +SHEET 1 A 7 ALA A 53 +SHEET 1 A 7 ALA A 53 +SHEET 1 A 7 ALA A 53 A +SHEET 1 A 7 ALA A 53 AL +SHEET 1 A 7 ALA A 53 ALA +SHEET 1 A 7 ALA A 53 ALA +SHEET 1 A 7 ALA A 53 ALA A +SHEET 1 A 7 ALA A 53 ALA A +SHEET 1 A 7 ALA A 53 ALA A +SHEET 1 A 7 ALA A 53 ALA A 5 +SHEET 1 A 7 ALA A 53 ALA A 57 +SHEET 1 A 7 ALA A 53 ALA A 57 +SHEET 1 A 7 ALA A 53 ALA A 57 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +H +HE +HEL +HELI +HELIX +HELIX +HELIX +HELIX +HELIX +HELIX 1 +HELIX 1 +HELIX 1 +HELIX 1 +HELIX 1 1 +HELIX 1 1 +HELIX 1 1 A +HELIX 1 1 AR +HELIX 1 1 ARG +HELIX 1 1 ARG +HELIX 1 1 ARG A +HELIX 1 1 ARG A +HELIX 1 1 ARG A +HELIX 1 1 ARG A +HELIX 1 1 ARG A 1 +HELIX 1 1 ARG A 15 +HELIX 1 1 ARG A 15 +HELIX 1 1 ARG A 15 +HELIX 1 1 ARG A 15 G +HELIX 1 1 ARG A 15 GL +HELIX 1 1 ARG A 15 GLU +HELIX 1 1 ARG A 15 GLU +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A 2 +HELIX 1 1 ARG A 15 GLU A 28 +HELIX 1 1 ARG A 15 GLU A 28 +HELIX 1 1 ARG A 15 GLU A 28 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 1 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +ATOM 241 O VAL A 36 7.822 -61.026 0.770 1.00 44.33 O +ATOM 242 CB VAL A 36 6.125 -58.659 0.048 1.00 45.53 C +ATOM 243 CG1 VAL A 36 6.258 -58.879 -1.447 1.00 44.30 C +ATOM 244 CG2 VAL A 36 5.116 -57.557 0.325 1.00 45.44 +ATOM 245 N ASP A 37 6.227 -62.030 -0.456 1.00 42.63 +ATOM 246 CA ASP A 37 7.078 -63.127 -0.923 1.00 41.05 +ATOM 247 C ASP A 37 8.028 -62.602 -2.016 1.00 40.83 +ATOM 248 O ASP A 37 7.711 -62.636 -3.207 1.00 39.72 +ATOM 249 CB ASP A 37 6.175 -64.253 -1.442 1.00 41.60 +ATOM 250 CG ASP A 37 6.935 -65.334 -2.183 1.00 44.07 +ATOM 251 OD1 ASP A 37 8.126 -65.559 -1.862 1.00 48.04 +ATOM 252 OD2 ASP A 37 6.336 -65.968 -3.080 1.00 43.40 +ATOM 253 N ARG A 38 9.205 -62.135 -1.600 1.00 39.28 +ATOM 254 CA ARG A 38 10.178 -61.545 -2.522 1.00 40.53 +ATOM 255 C ARG A 38 11.326 -62.389 -3.075 1.00 40.66 +ATOM 256 O ARG A 38 12.046 -61.932 -3.973 1.00 41.1 +ATOM 257 CB ARG A 38 10.793 -60.295 -1.879 1.00 39. +ATOM 258 CG ARG A 38 9.806 -59.190 -1.589 1.00 39 +ATOM 259 CD ARG A 38 10.370 -57.874 -2.040 1.00 3 +ATOM 260 NE ARG A 38 10.326 -57.766 -3.489 1.00 +ATOM 261 CZ ARG A 38 11.291 -57.238 -4.231 1.00 +ATOM 262 NH1 ARG A 38 12.391 -56.765 -3.657 1.0 +ATOM 263 NH2 ARG A 38 11.158 -57.194 -5.546 1. +ATOM 264 N THR A 39 11.507 -63.593 -2.544 1 +ATOM 265 CA THR A 39 12.594 -64.480 -2.965 +ATOM 266 C THR A 39 12.937 -64.454 -4.445 +ATOM 267 O THR A 39 14.001 -63.989 -4.831 +ATOM 268 CB THR A 39 12.294 -65.939 -2.57 +ATOM 269 OG1 THR A 39 12.098 -66.012 -1.1 +ATOM 270 CG2 THR A 39 13.453 -66.855 -2. +ATOM 271 N LEU A 40 12.036 -64.952 -5 +ATOM 272 CA LEU A 40 12.300 -64.998 - +ATOM 273 C LEU A 40 12.491 -63.643 +ATOM 274 O LEU A 40 13.243 -63.532 +ATOM 275 CB LEU A 40 11.187 -65.765 +ATOM 276 CG LEU A 40 11.013 -67.20 +ATOM 277 CD1 LEU A 40 9.967 -67.8 +ATOM 278 CD2 LEU A 40 12.344 -67. +ATOM 279 N ALA A 41 11.815 -62 +ATOM 280 CA ALA A 41 11.936 -6 +ATOM 281 C ALA A 41 13.357 - +ATOM 282 O ALA A 41 13.925 +ATOM 283 CB ALA A 41 10.962 +ATOM 284 N LYS A 42 13.92 +ATOM 285 CA LYS A 42 15.2 +ATOM 286 C LYS A 42 16. +ATOM 287 O LYS A 42 17 +ATOM 288 CB LYS A 42 1 +ATOM 289 CG LYS A 42 +ATOM 290 CD LYS A 42 +ATOM 291 CE LYS A 42 +ATOM 292 NZ LYS A 42 +ATOM 293 N GLU A 43 +ATOM 294 CA GLU A 43 +ATOM 295 C GLU A 43 +ATOM 296 O GLU A 4 +ATOM 297 CB GLU A +ATOM 298 CG GLU A +ATOM 299 CD GLU A +ATOM 300 OE1 GLU +ATOM 301 OE2 GLU +ATOM 302 N GL +ATOM 303 CA G +ATOM 304 C +ATOM 305 O +ATOM 306 N +ATOM 307 C +ATOM 308 +ATOM 309 +ATOM 310 +ATOM 31 +ATOM 3 +ATOM +ATOM +ATOM +ATOM +ATOM +ATO +AT +A diff --git a/modules/io/tests/testfiles/pdb/ter2.pdb b/modules/io/tests/testfiles/pdb/ter2.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8b460b70eb2e9cb6aab59d21e87dfd8c5801585d --- /dev/null +++ b/modules/io/tests/testfiles/pdb/ter2.pdb @@ -0,0 +1,41 @@ +ATOM 1 N GLN A 153 27.125 29.174 32.121 1.00 27.40 N +ATOM 2 CA GLN A 153 28.561 29.394 32.241 1.00 30.81 C +ATOM 3 C GLN A 153 29.250 29.251 30.888 1.00 35.59 C +ATOM 4 O GLN A 153 28.979 28.314 30.130 1.00 33.20 O +ATOM 5 CB GLN A 153 29.210 28.461 33.272 1.00 30.18 C +ATOM 6 CG GLN A 153 30.694 28.783 33.468 1.00 34.18 C +ATOM 7 CD GLN A 153 31.213 28.442 34.849 1.00 34.20 C +ATOM 8 OE1 GLN A 153 31.095 27.308 35.304 1.00 34.26 O +ATOM 9 NE2 GLN A 153 31.808 29.430 35.522 1.00 40.83 N +ATOM 10 OXT GLN A 153 30.094 30.079 30.532 1.00 45.02 O +TER 11 GLN A 153 +ATOM 12 N ALA B 1 13.054 45.273 35.363 1.00 44.31 N +ATOM 13 CA ALA B 1 12.088 44.308 35.884 1.00 39.90 C +ATOM 14 C ALA B 1 11.751 44.590 37.349 1.00 35.09 C +ATOM 15 O ALA B 1 12.633 44.881 38.156 1.00 39.85 O +ATOM 16 CB ALA B 1 12.616 42.890 35.717 1.00 36.61 C +TER 17 ALA B 1 +TER 18 ALA B 1 +HETATM 19 S SO4 z 1 25.896 25.925 48.976 0.60 29.86 S +HETATM 20 O1 SO4 z 1 25.480 27.268 48.589 0.60 30.25 O +HETATM 21 O2 SO4 z 1 25.611 24.961 47.915 0.60 34.83 O +HETATM 22 O3 SO4 z 1 27.332 25.943 49.244 0.60 34.94 O +HETATM 23 O4 SO4 z 1 25.183 25.525 50.189 0.60 32.47 O +HETATM 24 ZN ZN z 2 23.332 26.722 48.256 0.66 22.52 ZN +HETATM 25 ZN ZN z 3 4.294 31.320 20.337 0.28 33.21 ZN +HETATM 26 S SO4 z 4 0.081 30.633 21.315 0.63 40.84 S +HETATM 27 O1 SO4 z 4 -1.116 31.446 21.507 0.63 45.94 O +HETATM 28 O2 SO4 z 4 1.268 31.440 21.578 0.63 33.61 O +HETATM 29 O3 SO4 z 4 0.032 29.503 22.239 0.63 29.10 O +HETATM 30 O4 SO4 z 4 0.115 30.163 19.934 0.63 40.96 O +CONECT 19 20 21 22 23 +CONECT 20 19 +CONECT 21 19 +CONECT 22 19 +CONECT 23 19 +CONECT 26 27 28 29 30 +CONECT 27 26 +CONECT 28 26 +CONECT 29 26 +CONECT 30 26 +END \ No newline at end of file diff --git a/modules/io/tests/testfiles/pdb/ter3.pdb b/modules/io/tests/testfiles/pdb/ter3.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b1c12618a3d7ca8786e99c61e2a6de8c6f4d84d0 --- /dev/null +++ b/modules/io/tests/testfiles/pdb/ter3.pdb @@ -0,0 +1,12 @@ +ATOM 1 N GLN A 153 27.125 29.174 32.121 1.00 27.40 N +ATOM 2 CA GLN A 153 28.561 29.394 32.241 1.00 30.81 C +ATOM 3 C GLN A 153 29.250 29.251 30.888 1.00 35.59 C +ATOM 4 O GLN A 153 28.979 28.314 30.130 1.00 33.20 O +ATOM 5 CB GLN A 153 29.210 28.461 33.272 1.00 30.18 C +ATOM 6 CG GLN A 153 30.694 28.783 33.468 1.00 34.18 C +ATOM 7 CD GLN A 153 31.213 28.442 34.849 1.00 34.20 C +ATOM 8 OE1 GLN A 153 31.095 27.308 35.304 1.00 34.26 O +ATOM 9 NE2 GLN A 153 31.808 29.430 35.522 1.00 40.83 N +ATOM 10 OXT GLN A 153 30.094 30.079 30.532 1.00 45.02 O +TER 11 GLN A 153 +END \ No newline at end of file diff --git a/modules/io/tests/testfiles/pir/no-star.pir b/modules/io/tests/testfiles/pir/no-star.pir new file mode 100644 index 0000000000000000000000000000000000000000..98bc371aa111536824f099eb9cac42680abc8ee3 --- /dev/null +++ b/modules/io/tests/testfiles/pir/no-star.pir @@ -0,0 +1,21 @@ +>P1;name +description +ABCD EFGH* +>F1;name +description +ABCD EFGH +>DL;name* +description +ABCD EFGH +>DC;name* +description +ABCD EFGH +>RL;name* +description +ABCD EFGH +>RC;name* +description +ABCD EFGH +>XX;name* +description +ABCD EFGH* \ No newline at end of file diff --git a/modules/io/tests/testfiles/pir/seq-types.pir b/modules/io/tests/testfiles/pir/seq-types.pir new file mode 100644 index 0000000000000000000000000000000000000000..ed8569f439128c459582f226aad1f82adc15961c --- /dev/null +++ b/modules/io/tests/testfiles/pir/seq-types.pir @@ -0,0 +1,21 @@ +>P1;name +description +ABCD EFGH* +>F1;name +description +ABCD EFGH* +>DL;name +description +ABCD EFGH* +>DC;name +description +ABCD EFGH* +>RL;name +description +ABCD EFGH* +>RC;name* +description +ABCD EFGH* +>XX;name +description +ABCD EFGH* \ No newline at end of file diff --git a/modules/io/tests/testfiles/pir/simple.pir b/modules/io/tests/testfiles/pir/simple.pir new file mode 100644 index 0000000000000000000000000000000000000000..6e8f03e4e6bda4b3d9a43ec1ed462b9cbb888387 --- /dev/null +++ b/modules/io/tests/testfiles/pir/simple.pir @@ -0,0 +1,4 @@ +>P1;name +description +ABCD EFGH +IJKL MNOP* \ No newline at end of file diff --git a/modules/io/tests/testfiles/test_in.mae b/modules/io/tests/testfiles/test_in.mae new file mode 100644 index 0000000000000000000000000000000000000000..5ec85f9ae2709202c55d2171a2ad3286c3bf130a --- /dev/null +++ b/modules/io/tests/testfiles/test_in.mae @@ -0,0 +1,2149 @@ +{ + s_m_m2io_version + ::: + 2.0.0 +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.1 + -189.953887939453 + 1 + 0.0344047322869301 + 11 + 0 + 1 + mmod_csearch + 1 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + i_m_minimize_atom_index + ::: + 1 2 0.298444 1.945910 -2.821289 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 1 + 2 2 0.291296 1.782334 -4.225485 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 2 + 3 2 -0.299908 0.641409 -4.792196 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 3 + 4 2 -0.879318 -0.302158 -3.930153 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 4 + 5 2 -0.838839 -0.074482 -2.546795 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 5 + 6 41 0.733220 2.537708 -4.863215 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 6 + 7 41 -1.353708 -1.193662 -4.315448 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 7 + 8 57 -1.545982 -1.232352 -1.483532 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 8 + 9 2 1.230564 3.258726 -0.808119 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 9 + 10 2 1.554525 2.296205 0.127582 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 10 + 11 2 1.753033 4.147399 1.437892 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 11 + 12 25 1.852079 2.817042 1.389199 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 12 + 13 49 1.288898 4.859284 -0.098060 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 13 + 14 2 0.891516 3.202901 -2.243170 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 14 + 15 15 1.090923 4.195878 -2.957147 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 15 + 16 3 -0.323195 0.442771 -6.293649 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 16 + 17 41 -0.366020 -0.616491 -6.548190 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 17 + 18 41 -1.194706 0.933901 -6.726603 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 18 + 19 41 0.570784 0.862253 -6.755689 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 19 + 20 3 2.011604 4.946493 2.668135 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 20 + 21 41 2.996371 4.710725 3.071317 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 21 + 22 41 1.975117 6.012327 2.442882 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 22 + 23 41 1.258842 4.725150 3.424520 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 23 + 24 25 -0.256386 1.015035 -2.002566 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 24 + 25 16 1.631289 0.944593 -0.042652 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 25 + 26 42 0.987321 0.725684 -0.720518 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 26 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.2 + -189.952606201172 + 1 + 0.0418152138590813 + 6 + 0.00128173828125 + 2 + mmod_csearch + 2 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.443727 1.890841 -2.845510 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 -0.071454 1.919895 -4.161628 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -0.562317 0.740485 -4.745051 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.511632 -0.442313 -3.991600 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 0.015802 -0.399119 -2.692696 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 -0.081010 2.846735 -4.721497 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.869280 -1.378464 -4.396498 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 0.077092 -1.848665 -1.761940 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.220643 3.262742 -0.806637 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 0.636680 2.644949 0.281608 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.072014 4.025996 1.384214 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 1.125591 3.093136 1.511077 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 2.420078 4.429776 -0.288281 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 1.011769 3.157398 -2.263570 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 1.313214 4.111163 -2.995000 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -1.118314 0.744290 -6.154004 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -1.825171 -0.072932 -6.299493 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 -1.639283 1.678862 -6.363274 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 -0.312207 0.632021 -6.879102 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 2.758367 4.663562 2.542381 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 2.053861 5.275084 3.105808 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 3.170607 3.901299 3.203379 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 3.572777 5.300367 2.197026 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 0.472401 0.738510 -2.127216 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 -0.341944 1.694151 0.288704 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 -0.223854 1.185873 -0.517374 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.3 + -186.836090087891 + 1 + 0.0473463460803032 + 21 + 3.1177978515625 + 3 + mmod_csearch + 3 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 -0.425793 1.853960 -2.401206 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.747056 1.565197 -3.136115 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 0.730860 0.523813 -4.078351 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.467544 -0.183586 -4.265742 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.595871 0.174061 -3.510966 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 1.650406 2.139268 -2.976223 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.533008 -0.990913 -4.981379 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -3.070053 -0.688531 -3.745467 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 0.747499 3.200282 -0.606635 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 1.650644 2.317976 -0.060846 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.572801 4.272719 0.644630 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 2.684533 2.940216 0.639179 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 1.158697 4.854330 -0.224311 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 -0.456372 2.973132 -1.408107 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 -1.456188 3.689998 -1.258329 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 1.971232 0.181008 -4.876999 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 1.958322 -0.862335 -5.193159 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 2.033185 0.807286 -5.767027 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 2.871722 0.339744 -4.283175 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 3.545252 5.174055 1.323217 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 3.547570 4.984392 2.396416 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 4.549164 5.006530 0.933439 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 3.277084 6.217054 1.155104 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -1.579865 1.171163 -2.605431 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 1.609226 0.956222 -0.120720 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 2.371750 0.636660 0.349677 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.4 + -186.815521240234 + 1 + 0.0335310250520706 + 8 + 3.13836669921875 + 4 + mmod_csearch + 4 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.765436 1.631022 -2.858208 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 -0.614523 1.822604 -2.617422 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -1.544670 0.953721 -3.210825 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -1.060705 -0.073384 -4.037182 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 0.323233 -0.188242 -4.242815 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 -0.954314 2.629516 -1.981347 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -1.734711 -0.769441 -4.516160 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 0.918422 -1.442944 -5.264439 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.543216 3.051072 -0.911799 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 0.989559 2.442396 0.190502 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 1.432039 4.486692 1.081800 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 0.925834 3.270480 1.311372 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 2.034242 4.689659 -0.558074 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 1.785533 2.552641 -2.266867 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 2.802849 2.890624 -2.888820 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -3.029075 1.122486 -2.961776 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -3.618315 0.619984 -3.729188 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 -3.299860 0.701759 -1.993314 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 -3.303614 2.177571 -2.965404 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 1.487238 5.559904 2.113177 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 2.191283 5.288325 2.899477 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 1.810850 6.499660 1.665793 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 0.502901 5.707876 2.557097 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 1.215419 0.645811 -3.674683 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 0.544656 1.156680 0.283590 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 0.219159 1.041451 1.169947 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.5 + -186.51448059082 + 1 + 0.0293420907109976 + 15 + 3.43940734863281 + 5 + mmod_csearch + 5 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.182516 2.027644 -2.871495 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.380164 1.686182 -4.227610 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -0.236777 0.535382 -4.745401 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -1.037707 -0.232269 -3.884325 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.198196 0.181068 -2.552043 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 1.005888 2.306715 -4.856805 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -1.530995 -1.128770 -4.232408 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -2.188499 -0.754939 -1.495981 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.191667 3.271459 -0.914998 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 1.752743 2.293398 -0.127504 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 1.553676 3.947394 1.420305 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 1.947091 2.688987 1.196517 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 0.916151 4.741479 -0.013762 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 0.818851 3.268805 -2.330130 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 1.020534 4.266575 -3.035895 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -0.038694 0.131225 -6.191634 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -0.900338 -0.422993 -6.564603 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 0.096072 1.007357 -6.826373 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 0.843479 -0.501447 -6.290070 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 1.653141 4.613192 2.748989 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 1.189678 5.599136 2.714967 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 1.146369 4.017543 3.508089 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 2.698864 4.730178 3.032740 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -0.612813 1.288673 -2.058294 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 2.153537 1.049124 -0.518319 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 2.480479 0.609292 0.259056 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.6 + -186.510955810547 + 1 + 0.0454494766891003 + 18 + 3.44293212890625 + 6 + mmod_csearch + 6 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.554977 1.881312 -2.934618 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 -0.199984 1.911978 -4.127854 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -0.684396 0.709183 -4.667890 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.384001 -0.487516 -3.997168 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 0.385664 -0.437585 -2.823838 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 -0.403382 2.856823 -4.616033 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.731586 -1.439754 -4.372167 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 0.761991 -1.906390 -2.003427 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.245251 3.250255 -0.923786 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 0.438453 2.806830 0.097990 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.117347 3.728609 1.323906 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 0.949063 3.079148 1.367827 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 2.668729 4.056818 -0.313611 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 1.091782 3.161453 -2.376431 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 1.407589 4.114465 -3.101922 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -1.502004 0.703323 -5.942904 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -2.185087 -0.146123 -5.965947 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 -2.096358 1.613263 -6.029082 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 -0.847059 0.639020 -6.811894 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 2.876039 4.136247 2.539174 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 3.618571 4.892767 2.285505 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 2.200451 4.550997 3.287207 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 3.388588 3.274635 2.966393 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 0.853061 0.715420 -2.308703 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 -0.774641 2.192926 -0.016349 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 -1.067056 1.996197 0.867082 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.7 + -179.586654663086 + 0 + 11.5642328262329 + 1 + 10.3672332763672 + 7 + mmod_csearch + 7 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 -0.501074 1.649623 -2.219350 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.695806 1.555975 -2.972343 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 0.712871 0.790463 -4.151366 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.477479 0.164725 -4.557617 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.629805 0.313812 -3.768718 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 1.596617 2.068291 -2.655131 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.512566 -0.425110 -5.465153 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -3.089719 -0.467810 -4.250003 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 0.692442 2.961336 -0.420574 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 1.756658 2.298492 0.144035 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.554061 4.434865 0.204489 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 2.800280 3.151137 0.504968 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 0.981665 4.680272 -0.542961 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 -0.569685 2.447225 -0.943758 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 -1.631124 2.684315 -0.346872 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 1.965219 0.632264 -4.981755 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 1.835800 1.110862 -5.955288 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 2.834087 1.068711 -4.491485 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 2.170259 -0.427514 -5.147254 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 3.515429 5.545135 0.485256 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 4.534661 5.158390 0.516459 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 3.452578 6.313237 -0.287776 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 3.287545 6.005553 1.444841 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -1.638606 1.031981 -2.631126 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 1.859540 0.953323 0.388405 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 2.741385 0.785540 0.716768 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.8 + -177.446502685547 + 1 + 0.0390108413994312 + 14 + 12.5073852539062 + 8 + mmod_csearch + 8 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 -0.351380 1.883809 -2.378188 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.809806 1.506223 -3.091108 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 0.758510 0.393016 -3.947519 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.455516 -0.303655 -4.058286 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.567818 0.138412 -3.324532 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 1.721011 2.086685 -3.010063 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.546642 -1.164928 -4.705018 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -3.061079 -0.711348 -3.468056 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 0.836723 3.242118 -0.601442 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 1.771745 2.351568 -0.112074 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.535289 4.262452 0.866003 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 2.723150 2.948302 0.718501 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 1.141845 4.863292 -0.017745 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 -0.338250 3.068119 -1.466881 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 -1.288120 3.862137 -1.418520 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 1.976651 -0.037107 -4.738457 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 1.992557 0.460622 -5.708064 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 2.895824 0.215389 -4.209352 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 1.972288 -1.114258 -4.906909 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 3.415944 5.130000 1.697111 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 4.414188 5.177618 1.262384 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 3.011534 6.140772 1.750588 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 3.490827 4.732372 2.709130 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -1.518010 1.206470 -2.504546 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 1.856357 1.001859 -0.319590 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 1.492016 0.807006 -1.177194 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.9 + -177.424072265625 + 0 + 0.081668309867382 + 12 + 12.5298156738281 + 9 + mmod_csearch + 9 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.832070 1.584627 -2.750743 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 -0.553806 1.850629 -2.662395 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -1.464010 0.954474 -3.248886 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.952588 -0.178123 -3.902349 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 0.437360 -0.368467 -3.955504 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 -0.913588 2.752430 -2.181595 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -1.611312 -0.895794 -4.370723 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 1.065492 -1.754394 -4.766256 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.529316 3.067376 -0.819578 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 0.734752 2.613830 0.214697 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 1.546636 4.512086 1.178425 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 0.759876 3.444453 1.337445 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 2.330391 4.563262 -0.392123 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 1.830482 2.520361 -2.149963 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 2.885047 2.808181 -2.733152 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -2.956113 1.208405 -3.188426 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -3.508807 0.270007 -3.137525 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 -3.218453 1.799627 -2.310765 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 -3.283253 1.750339 -4.075812 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 1.740999 5.553403 2.225818 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 2.593060 6.186192 1.977480 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 0.852351 6.179845 2.300372 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 1.925966 5.087497 3.193662 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 1.309312 0.491808 -3.394053 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 -0.025069 1.477545 0.273216 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 -0.312282 1.263214 -0.608694 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.10 + -175.367752075195 + 0 + 1.88610029220581 + 1 + 14.5861358642578 + 10 + mmod_csearch + 10 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 -0.399684 1.306140 -2.115241 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.601349 1.611990 -3.068706 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 0.406459 1.254396 -4.413370 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.788262 0.603841 -4.761883 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.734032 0.333705 -3.762150 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 1.516496 2.109656 -2.775632 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.986975 0.308211 -5.782819 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -3.203487 -0.461824 -4.188094 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 0.828319 2.589130 -0.323566 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 2.048814 2.368307 0.261281 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.178233 4.616218 -0.044112 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 2.809842 3.527593 0.412933 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 0.582255 4.273344 -0.699875 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 -0.239476 1.658927 -0.665288 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 -0.978207 1.205666 0.219643 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 1.463071 1.551745 -5.458026 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 1.007406 1.910381 -6.381659 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 2.161001 2.313924 -5.109032 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 2.029668 0.648308 -5.685297 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 2.759526 5.985773 -0.006072 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 2.207816 6.604226 0.702064 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 3.806620 5.953697 0.297070 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 2.695681 6.442727 -0.993360 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -1.544306 0.672080 -2.472743 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 2.550189 1.168890 0.674031 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 3.397262 1.346749 1.068713 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.11 + -170.199645996094 + 1 + 0.0474016517400742 + 6 + 19.7542419433594 + 11 + mmod_csearch + 11 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.071694 1.051899 -2.232556 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.385295 1.896279 -3.321898 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -0.369402 1.805612 -4.503024 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -1.405185 0.859105 -4.557679 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.644822 0.043846 -3.440134 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 1.201127 2.603989 -3.248762 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -2.012521 0.747450 -5.444757 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -2.911371 -1.123854 -3.509130 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.283824 2.408279 -0.444954 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 2.411385 2.758193 0.260672 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 1.377436 4.785208 0.201612 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 2.459193 4.111536 0.604062 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 0.210445 3.778539 -0.643144 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 0.867593 1.101627 -0.966067 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 1.192370 0.072014 -0.360081 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -0.066991 2.698598 -5.688330 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -0.963513 2.876958 -6.282562 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 0.315037 3.665556 -5.360120 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 0.682083 2.234574 -6.330000 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 1.178274 6.241206 0.445077 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 1.439687 6.493294 1.472761 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 1.805103 6.822710 -0.230655 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 0.136796 6.514395 0.275529 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -0.922787 0.133317 -2.306188 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 3.444467 1.945858 0.637896 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 3.176445 1.045410 0.481342 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.12 + -170.198547363281 + 1 + 0.0486599691212177 + 7 + 19.7553405761719 + 12 + mmod_csearch + 12 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 -0.159087 1.223987 -2.228355 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.520994 1.796266 -3.327407 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 0.615599 1.076114 -4.529570 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 0.010197 -0.189253 -4.594483 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -0.663096 -0.682762 -3.465689 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 0.962821 2.781066 -3.245346 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 0.051269 -0.781748 -5.497527 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -1.413036 -2.233037 -3.546884 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 0.846929 2.731981 -0.434328 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 0.879427 3.891829 0.304247 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 3.115811 3.495457 0.153832 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 2.171957 4.321705 0.614605 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 2.461728 2.109568 -0.706557 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 -0.300433 1.969011 -0.938063 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 -1.360001 1.967212 -0.297645 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 1.343783 1.654272 -5.725140 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 1.724088 0.863751 -6.372525 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 0.671641 2.281927 -6.310309 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 2.190548 2.262983 -5.407103 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 4.574327 3.722076 0.354028 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 4.810533 3.734897 1.417910 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 5.150384 2.927494 -0.120175 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 4.870728 4.674794 -0.084469 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -0.750534 0.006834 -2.311553 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 -0.183832 4.632383 0.740828 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 -0.972869 4.119030 0.595611 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.13 + -170.071914672852 + 1 + 0.035539023578167 + 3 + 19.8819732666016 + 13 + mmod_csearch + 13 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.227912 1.693951 -2.781976 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.322570 1.568399 -4.185273 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 0.014691 0.338593 -4.790274 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -0.384095 -0.725264 -3.964783 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -0.467914 -0.519028 -2.578599 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 0.632395 2.414845 -4.785410 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -0.628478 -1.692773 -4.380033 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -0.962472 -1.821677 -1.563451 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.087714 3.039095 -0.791256 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 0.845021 3.903717 0.250024 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 2.399473 2.568440 1.240948 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 1.583465 3.614844 1.400395 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 2.312434 1.861537 -0.365850 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 0.528782 3.016717 -2.147200 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 0.293126 4.085238 -2.725145 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 0.115206 0.164959 -6.291597 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -0.554465 -0.621096 -6.641355 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 -0.152011 1.086960 -6.808475 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 1.133419 -0.102800 -6.573996 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 3.299400 2.058116 2.312656 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 2.739787 1.905634 3.235454 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 3.742485 1.107817 2.014909 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 4.101121 2.772044 2.500530 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -0.176974 0.662157 -2.000225 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 -0.011101 4.969812 0.267481 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 -0.289374 5.133066 -0.628399 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + +f_m_ct { + s_m_title + s_m_entry_name + r_mmod_Potential_Energy-OPLS-2005 + b_mmod_Minimization_Converged-OPLS-2005 + r_mmod_RMS_Derivative-OPLS-2005 + i_mmod_Times_Found-OPLS-2005 + r_mmod_Relative_Potential_Energy-OPLS-2005 + i_mmod_Conformation-OPLS-2005 + s_m_job_name + s_m_entry_id + ::: + "" + mmod_csearch.14 + -170.06770324707 + 1 + 0.0452518649399281 + 9 + 19.8861846923828 + 14 + mmod_csearch + 14 + m_depend[7] { + # First column is dependency index # + i_m_depend_dependency + s_m_depend_property + ::: + 1 20 r_mmod_Potential_Energy-OPLS-2005 + 2 20 b_mmod_Minimization_Converged-OPLS-2005 + 3 20 r_mmod_RMS_Derivative-OPLS-2005 + 4 20 i_mmod_Times_Found-OPLS-2005 + 5 20 r_mmod_Relative_Potential_Energy-OPLS-2005 + 6 20 i_mmod_Conformation-OPLS-2005 + 7 30 s_m_job_name + ::: + } + m_atom[26] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + s_m_insertion_code + s_m_mmod_res + s_m_chain_name + i_m_color + r_m_charge1 + r_m_charge2 + s_m_pdb_residue_name + s_m_pdb_atom_name + s_m_grow_name + i_m_atomic_number + i_m_formal_charge + i_m_representation + i_m_visibility + s_m_atom_name + i_m_template_index + ::: + 1 2 0.401687 1.565048 -2.785479 1 " " X " " 2 0.37000 0.37000 " " " " " f1" 6 0 0 1 C2 0 + 2 2 0.216623 1.646561 -4.183007 1 " " X " " 2 -0.44700 -0.44700 " " " " " c3" 6 0 0 1 C3 0 + 3 2 -0.884921 1.003671 -4.771723 1 " " X " " 2 0.17700 0.17700 " " " " " c1" 6 0 0 1 C4 0 + 4 2 -1.763181 0.294314 -3.936486 1 " " X " " 2 -0.44700 -0.44700 " " " " " " 6 0 0 1 C5 0 + 5 2 -1.504627 0.247187 -2.557355 1 " " X " " 2 0.66500 0.66500 " " " " " n3" 6 0 0 1 C6 0 + 6 41 0.919033 2.202823 -4.791137 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H9 0 + 7 41 -2.627507 -0.214574 -4.339216 1 " " X " " 21 0.15500 0.15500 " " " " " " 1 0 0 1 H11 0 + 8 57 -2.578118 -0.627322 -1.530318 1 " " X " " 9 -0.18000 -0.18000 " " " " " " 17 0 0 1 Cl10 0 + 9 2 1.488887 2.742230 -0.799366 1 " " X " " 2 -0.22090 -0.22090 " " " " " c1" 6 0 0 1 C14 0 + 10 2 2.414499 2.744034 0.217473 1 " " X " " 2 0.43430 0.43430 " " " " " c3" 6 0 0 1 C15 0 + 11 2 0.709829 3.818932 1.275728 1 " " X " " 2 0.18590 0.18590 " " " " " n1" 6 0 0 1 C17 0 + 12 25 1.952958 3.342292 1.392700 1 " " X " " 43 -0.48030 -0.48030 " " " " " c1" 7 0 0 1 N22 0 + 13 49 0.015871 3.558306 -0.317905 1 " " X " " 13 0.00100 0.00100 " " " " " c1" 16 0 0 1 S18 0 + 14 2 1.594877 2.227989 -2.168993 1 " " X " " 2 0.70000 0.70000 " " " " " c1" 6 0 0 1 C19 0 + 15 15 2.669802 2.327500 -2.773938 1 " " X " " 70 -0.47000 -0.47000 " " " " " c3" 8 0 0 1 O20 0 + 16 3 -1.120765 1.078362 -6.266027 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C20 0 + 17 41 -1.664826 0.202771 -6.621024 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H21 0 + 18 41 -1.703162 1.966061 -6.513014 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H22 0 + 19 41 -0.175765 1.127537 -6.807494 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H23 0 + 20 3 -0.013315 4.506258 2.381836 1 " " X " " 2 -0.06500 -0.06500 " " " " " c1" 6 0 0 1 C23 0 + 21 41 0.592941 5.318922 2.781782 1 " " X " " 21 0.06000 0.06000 " " " " " n2" 1 0 0 1 H24 0 + 22 41 -0.954074 4.921025 2.019881 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H25 0 + 23 41 -0.230156 3.800697 3.183648 1 " " X " " 21 0.06000 0.06000 " " " " " " 1 0 0 1 H26 0 + 24 25 -0.445251 0.860001 -1.994748 1 " " X " " 43 -0.67800 -0.67800 " " " " " c1" 7 0 0 1 N25 0 + 25 16 3.684803 2.238685 0.190626 1 " " X " " 70 -0.58500 -0.58500 " " " " " c1" 8 0 0 1 O25 0 + 26 42 3.898203 2.038623 -0.715541 1 " " X " " 21 0.43500 0.43500 " " " " " n2" 1 0 0 1 H26 0 + ::: + } + m_bond[54] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_m_from_rep + i_m_to_rep + ::: + 1 1 2 1 1 1 + 2 1 14 1 1 1 + 3 1 24 2 1 1 + 4 2 1 1 1 1 + 5 2 3 2 1 1 + 6 2 6 1 1 1 + 7 3 2 2 1 1 + 8 3 4 1 1 1 + 9 3 16 1 1 1 + 10 4 3 1 1 1 + 11 4 5 2 1 1 + 12 4 7 1 1 1 + 13 5 4 2 1 1 + 14 5 8 1 1 1 + 15 5 24 1 1 1 + 16 6 2 1 1 1 + 17 7 4 1 1 1 + 18 8 5 1 1 1 + 19 9 10 2 1 1 + 20 9 13 1 1 1 + 21 9 14 1 1 1 + 22 10 9 2 1 1 + 23 10 12 1 1 1 + 24 10 25 1 1 1 + 25 11 12 2 1 1 + 26 11 13 1 1 1 + 27 11 20 1 1 1 + 28 12 10 1 1 1 + 29 12 11 2 1 1 + 30 13 9 1 1 1 + 31 13 11 1 1 1 + 32 14 1 1 1 1 + 33 14 9 1 1 1 + 34 14 15 2 1 1 + 35 15 14 2 1 1 + 36 16 3 1 1 1 + 37 16 17 1 1 1 + 38 16 18 1 1 1 + 39 16 19 1 1 1 + 40 17 16 1 1 1 + 41 18 16 1 1 1 + 42 19 16 1 1 1 + 43 20 11 1 1 1 + 44 20 21 1 1 1 + 45 20 22 1 1 1 + 46 20 23 1 1 1 + 47 21 20 1 1 1 + 48 22 20 1 1 1 + 49 23 20 1 1 1 + 50 24 1 2 1 1 + 51 24 5 1 1 1 + 52 25 10 1 1 1 + 53 25 26 1 1 1 + 54 26 25 1 1 1 + ::: + } +} + diff --git a/modules/mol/alg/molalg.rst b/modules/mol/alg/molalg.rst new file mode 100644 index 0000000000000000000000000000000000000000..00735f6def328ed899de4005fb2f803cd23f0206 --- /dev/null +++ b/modules/mol/alg/molalg.rst @@ -0,0 +1,25 @@ +:mod:`mol.alg <ost.mol.alg>` -- Algorithms for Structures +================================================================================ + +.. module:: ost.mol.alg + :synopsis: Algorithms operating on molecular structures + +.. function:: LocalDistTest(model, reference, tolerance, radius) + + This function calculates the agreement of local contacts between the model and + the reference structure. The overlap is a number between zero and one, where + one indicates complete agreement, zero indicates no agreement at all. This + score is similar to the GDT, but does not require any superposition of the + model and the reference. + + The distance of atom pairs in the reference structure that are closer than a + certain distance (radius) to each other is compared to the distance found in + the model. If the difference between these two distances is smaller than a + threshold value (tolerance), the model and the reference agree. Missing atoms + in the model are treated disagreement and thus lower the score. + + For residue with symmetric sidechains (GLU, ASP, ARG, VAL, PHE, TYR), the + naming of the atoms is ambigous. For these residues, the overlap of both + possible solutions to the fixed atoms, that is, everything that is not + ambigous is calculated. The solution that gives higher overlap is then used to + calculate the actual overlap score. \ No newline at end of file diff --git a/modules/mol/alg/pymod/export_svd_superpose.cc b/modules/mol/alg/pymod/export_svd_superpose.cc index 3acdc6f6b7d0bef234d00cde96a0e14b76b02a91..b10a4b7c1df864db313d2d4c18066c555ee0fd07 100644 --- a/modules/mol/alg/pymod/export_svd_superpose.cc +++ b/modules/mol/alg/pymod/export_svd_superpose.cc @@ -43,8 +43,8 @@ void export_svdSuperPose() &SuperpositionResult::entity_view2) ; def("SuperposeAtoms", &SuperposeAtoms,(arg("apply_transform")=true)); - def("SuperposeSVD", sup1); - def("SuperposeSVD", sup2); + def("SuperposeSVD", sup1, (arg("apply_transform")=true)); + def("SuperposeSVD", sup2, (arg("apply_transform")=true)); def("CalculateRMSD", &CalculateRMSD, (arg("transformation")=geom::Mat4())); def("IterativeSuperposition", &IterativeSuperposition, (arg("ncycles")=200, arg("dist_thres")=4.0, diff --git a/modules/mol/alg/pymod/views.py b/modules/mol/alg/pymod/views.py index 7086e792809fae30838fe2c0b85b62e3d32a852e..f4a20307724c6b814183ad242637a9852f714ebb 100644 --- a/modules/mol/alg/pymod/views.py +++ b/modules/mol/alg/pymod/views.py @@ -69,14 +69,12 @@ def RepresentativeAtoms(ent, chain=None, alpha_and_beta=False): If chain is not equal to None, only atoms of the chain with that chain name will be added to the view. """ - if isinstance(ent,mol.EntityHandle): - e_view = ent.CreateEmptyView() - elif isinstance(ent,mol.EntityView): - e_view = ent.GetHandle().CreateEmptyView() + e_view=ent.CreateEmptyView() if ent.IsValid(): # all chains: if chain==None: for res in ent.residues: + res=res.handle if res.IsPeptideLinking(): atom = res.FindAtom('CB') if atom.IsValid(): @@ -99,7 +97,8 @@ def RepresentativeAtoms(ent, chain=None, alpha_and_beta=False): elif chain != "" and ent.FindChain(chain).IsValid(): for res in ent.FindChain(chain).GetResidueList(): - if res.IsPeptideLinking(): + res=res.handle + if res.IsPeptideLinking(): atom = res.FindAtom('CB') if atom.IsValid(): e_view.AddAtom(atom) diff --git a/modules/mol/alg/pymod/wrap_mol_alg.cc b/modules/mol/alg/pymod/wrap_mol_alg.cc index ce0be429c6afb0afd5b6b55b2252cc79d446dbbd..240a029a42dd523e8a4dfab72be40fe77bd74fa7 100644 --- a/modules/mol/alg/pymod/wrap_mol_alg.cc +++ b/modules/mol/alg/pymod/wrap_mol_alg.cc @@ -22,6 +22,8 @@ */ #include <boost/python.hpp> #include <ost/config.hh> +#include <ost/mol/alg/local_dist_test.hh> + using namespace boost::python; void export_svdSuperPose(); @@ -36,4 +38,6 @@ BOOST_PYTHON_MODULE(_mol_alg) #if OST_IMG_ENABLED export_entity_to_density(); #endif + + def("LocalDistTest", &ost::mol::alg::LocalDistTest); } diff --git a/modules/mol/alg/src/CMakeLists.txt b/modules/mol/alg/src/CMakeLists.txt index 242eea3d8f3a4c80f29909b3ecad313df10753f7..17dc9acbf2a5d32ac17e62b0e50af18f35122b2f 100644 --- a/modules/mol/alg/src/CMakeLists.txt +++ b/modules/mol/alg/src/CMakeLists.txt @@ -2,11 +2,13 @@ set(OST_MOL_ALG_HEADERS svd_superpose.hh module_config.hh sec_structure_segments.hh + local_dist_test.hh ) set(OST_MOL_ALG_SOURCES svd_superpose.cc sec_structure_segments.cc + local_dist_test.cc ) set(MOL_ALG_DEPS mol) diff --git a/modules/mol/alg/src/local_dist_test.cc b/modules/mol/alg/src/local_dist_test.cc new file mode 100644 index 0000000000000000000000000000000000000000..bd88902b0e181bb29f62da86ae41367137b23ded --- /dev/null +++ b/modules/mol/alg/src/local_dist_test.cc @@ -0,0 +1,165 @@ +#include <ost/mol/mol.hh> +#include "local_dist_test.hh" + +namespace ost { namespace mol { namespace alg { + +namespace { + +String swapped_name(const String& name) +{ + if (name=="OE1") return "OE2"; + if (name=="OE2") return "OE1"; + + if (name=="OD1") return "OD2"; + if (name=="OD2") return "OD1"; + + if (name=="CG1") return "CG2"; + if (name=="CG2") return "CG1"; + + if (name=="CE1") return "CE2"; + if (name=="CE2") return "CE1"; + + if (name=="CD1") return "CD2"; + if (name=="CD2") return "CD1"; + + if (name=="NH1") return "NH2"; + if (name=="NH2") return "NH1"; + + return name; +} + +bool swappable(const String& rname, const String& aname) +{ + if (rname=="GLU") { + return (aname=="OE1" || aname=="OE2"); + } + if (rname=="ASP") { + return (aname=="OD1" || aname=="OD2"); + } + if (rname=="VAL") { + return (aname=="CG1" || aname=="CG2"); + } + if (rname=="TYR" || rname=="PHE") { + return (aname=="CD1" || aname=="CD2" || aname=="CE1" || aname=="CE2"); + } + if (rname=="ARG") { + return (aname=="NH1" || aname=="NH2"); + } + return false; +} + +std::pair<Real, Real> calc_overlap(ResidueView ref_res, + EntityView ref, + ChainView mdl_chain, + Real tol, Real max_dist, bool only_fixed, + bool swap) +{ + std::pair<Real, Real> overlap(0.0, 0.0); + AtomViewList ref_atoms=ref_res.GetAtomList(); + + ResidueView mdl_res=mdl_chain.FindResidue(ref_res.GetNumber()); + AtomViewList within; + if (max_dist<0){ + within=ref.GetAtomList(); + } + for (AtomViewList::iterator ai=ref_atoms.begin(), + ae=ref_atoms.end(); ai!=ae; ++ai) { + if (ai->GetElement()=="H") { continue; } + String name=swap ? swapped_name(ai->GetName()) : ai->GetName(); + AtomView av1=mdl_res ? mdl_res.FindAtom(name) : AtomView(); + if (max_dist>=0){ + within=ref.FindWithin(ai->GetPos(), max_dist); + } + for (AtomViewList::iterator aj=within.begin(), + ae2=within.end(); aj!=ae2; ++aj) { + if (aj->GetElement()=="H") { continue; } + if (only_fixed) { + if (aj->GetResidue().GetNumber()==ref_res.GetNumber()) { + continue; + } + if (swappable(aj->GetResidue().GetName(), aj->GetName())) { + continue; + } + AtomView av2=mdl_chain.FindAtom(aj->GetResidue().GetNumber(), + aj->GetName()); + overlap.second+=1.0; + if (!(av1 && av2)) { + continue; + } + Real mdl_dist=geom::Length(av1.GetPos()-av2.GetPos()); + Real ref_dist=geom::Length(ai->GetPos()-aj->GetPos()); + if (std::abs(mdl_dist-ref_dist)<tol) { + overlap.first+=1; + } + continue; + } + if (aj->GetResidue().GetNumber()>ref_res.GetNumber()) { + AtomView av2=mdl_chain.FindAtom(aj->GetResidue().GetNumber(), + aj->GetName()); + overlap.second+=1.0; + if (!(av1 && av2)) { + continue; + } + Real mdl_dist=geom::Length(av1.GetPos()-av2.GetPos()); + Real ref_dist=geom::Length(ai->GetPos()-aj->GetPos()); + if (std::abs(mdl_dist-ref_dist)<tol) { + overlap.first+=1; + } + } + } + } + return overlap; +} + +} + +Real LocalDistTest(const EntityView& mdl, const EntityView& ref, + Real cutoff, Real max_dist) +{ + ResidueViewList ref_residues=ref.GetResidueList(); + ChainView mdl_chain=mdl.GetChainList()[0]; + // Residues with symmetric side-chains require special treatment as there are + // two possible ways to name the atoms. We calculate the overlap with the + // fixed atoms and take the solution that gives bigger scores. + XCSEditor edi=ref.GetHandle().RequestXCSEditor(BUFFERED_EDIT); + for (ResidueViewList::iterator + i=ref_residues.begin(), e=ref_residues.end(); i!=e; ++i) { + const String rname=i->GetName(); + ResidueView mdl_res=mdl_chain.FindResidue(i->GetNumber()); + if (!mdl_res) { + continue; + } + if (!(rname=="GLU" || rname=="ASP" || rname=="VAL" || rname=="TYR" || + rname=="PHE" || rname=="LYS" || rname=="ARG")) { + continue; + } + + std::pair<Real, Real> ov1=calc_overlap(*i, ref, mdl_chain, + cutoff, max_dist, true, + false); + std::pair<Real, Real> ov2=calc_overlap(*i, ref, mdl_chain, + cutoff, max_dist, true, + true); + if (ov1.first/ov1.second<ov2.first/ov2.second) { + AtomViewList atoms=mdl_res.GetAtomList(); + for (AtomViewList::iterator j=atoms.begin(), + e2=atoms.end(); j!=e2; ++j) { + if (swappable(rname, j->GetName())) { + edi.RenameAtom(j->GetHandle(), swapped_name(j->GetName())); + } + } + + } + } + std::pair<Real, Real> total_ov(0.0, 0.0); + for (ResidueViewList::iterator + i=ref_residues.begin(), e=ref_residues.end(); i!=e; ++i) { + std::pair<Real, Real> ov1=calc_overlap(*i, ref, mdl_chain, cutoff, + max_dist, false, false); + total_ov.first+=ov1.first; + total_ov.second+=ov1.second; + } + return total_ov.first/total_ov.second; +} + +}}} diff --git a/modules/mol/alg/src/local_dist_test.hh b/modules/mol/alg/src/local_dist_test.hh new file mode 100644 index 0000000000000000000000000000000000000000..f0ba3ebea20a6138a0cf14f2a34d24839abe3ef4 --- /dev/null +++ b/modules/mol/alg/src/local_dist_test.hh @@ -0,0 +1,15 @@ +#ifndef OST_MOL_ALG_LOCAL_DIST_TEST_HH +#define OST_MOL_ALG_LOCAL_DIST_TEST_HH + +#include <ost/mol/entity_view.hh> +#include <ost/mol/alg/module_config.hh> + +namespace ost { namespace mol { namespace alg { + +Real DLLEXPORT_OST_MOL_ALG LocalDistTest(const EntityView& mdl, + const EntityView& ref, + Real cutoff, Real max_dist); +}}} + +#endif + diff --git a/modules/mol/base/doc/editors.rst b/modules/mol/base/doc/editors.rst index aaed57b35ea03c395926d4cf745c2483c80cf6a7..f224b2e1fd2290db8be073dda9d18fc36bf052db 100644 --- a/modules/mol/base/doc/editors.rst +++ b/modules/mol/base/doc/editors.rst @@ -1,7 +1,7 @@ Editors ================================================================================ -.. currentmodule:: mol +.. currentmodule:: ost.mol The structure, topology and connectivity of entities is edited via editors. This includes operations such as changing atom positions, connecting atoms with bonds @@ -118,7 +118,7 @@ euclidian space. transform. :param atom: must be a valid atom handle - :type atom: :class:`mol.AtomHandle` + :type atom: :class:`ost.mol.AtomHandle` :param pos: The new position :type pos: :class:`geom.Vec3` @@ -129,7 +129,7 @@ euclidian space. the original pos. :param atom: must be a valid atom handle - :type atom: :class:`mol.AtomHandle` + :type atom: :class:`ost.mol.AtomHandle` :param pos: The new untransformed position :type pos: :class:`geom.Vec3` diff --git a/modules/mol/base/doc/entity.rst b/modules/mol/base/doc/entity.rst index 75e5c6fdea49ec877259a013762b3126c82c6e92..e6bebee7c94e7f83b8fba0c83685cc930e039002 100644 --- a/modules/mol/base/doc/entity.rst +++ b/modules/mol/base/doc/entity.rst @@ -1,23 +1,25 @@ The Molecular Entity ================================================================================ -.. currentmodule:: mol +.. currentmodule:: ost.mol -This document describes the :class:`EntityHandle` and related classes. +This document describes the :class:`EntityHandle` and the related classes. +The Handle Classes +-------------------------------------------------------------------------------- .. function:: CreateEntity() Creates a new entity. The created entity is empty, that is, it does not contain any atoms, residues, chains, bonds or torsions. To populate the - entity, create a new editor. + entity, use an :doc:`entity editor <editors>`. :returns: The newly created :class:`EntityHandle` .. class:: EntityHandle The entity class represents a molecular structure. Such a structure is in - general made up of one or more linear chains of residues, which in turn are + general made up of one or more chains of residues, which in turn are formed by one or more atoms. The interface of entities is tailored to biological macromolecules, but this @@ -25,132 +27,197 @@ This document describes the :class:`EntityHandle` and related classes. represent a ligand or a collection of water molecules - hence the rather generic name. - .. method:: FindChain(chain_name) - - Get chain by name. See also :meth:`GetChainList` - - :param chain_name: Chain identifier, e.g. "A" - :type chain_name: string - :returns: A valid :class:`ChainHandle`, if the entity contains a - chain with the given name, an invalid - :class:`ChainHandle` otherwise. - - .. method:: GetChainList() - - Get list of all chains of this entity. To access a single chain, use - :meth:`FindChain`. - - :returns: A list of :class:`ChainHandles<ChainHandle>` + .. attribute:: chains - .. method:: FindResidue(chain_name, res_num) - - Get residue by chain name and residue number. See also - :meth:`GetResidueList` - - :param chain_name: Chain identifier, e.g. "A" - :type chain_name: string - :param res_num: residue number - :type res_num: mol.ResNum - - :returns: A valid :class:`ResidueHandle` if the chain exists and - the chain contains a residue of the given residue - number, an invalid :class:`ResidueHandle` otherwise. - - .. method:: GetResidueList() + List of all chains of this entity. The chains are in the same + order they have been added, for example the order they have been listed + in a PDB file. + + Also available as :meth:`GetChainList`. To access a single chain, use + :meth:`FindChain`. + + This property is read-only. + + .. attribute:: residues + + List of all residues of this entity. The returned residues are first + sorted by chain and then from N- to C-terminus. + + This property is read-only. + + **Example usage:** + + .. code-block:: python + + for res in ent.residues: + print res.name, res.atom_count + + Also available as :meth:`GetResidueList`. To access a single residue, use + :meth:`FindResidue`. - Get list of all residues of this entity. To access a single residue, use - :meth:`FindResidue`. + :returns: A list of :class:`residue handles<ResidueHandle>` - :returns: A list of :class:`ResidueHandles<ResidueHandle>` - - .. method:: FindAtom(chain_name, res_num, atom_name) + .. attribute:: atoms - Get atom by chain name, residue number and atom name. See also - :meth:`GetAtomList` - - :param chain_name: Chain identifier, e.g. "A" - :type chain_name: string - :param res_num: residue number - :type res_num: mol.ResNum - :param atom_name: atom name, e.g. CA - :type atom_name: string + Get list of all atoms of this entity. To access a single atom, use + :meth:`FindAtom`. - :returns: A valid :class:`AtomHandle` if an atom matching the - parameters could be found, an invalid - :class:`AtomHandle` otherwise - - .. method:: GetAtomList() + This property is read-only. Also available as :meth:`GetAtomList` - Get list of all atoms of this entity. To access a single atom, use - :meth:`FindAtom` + :type: A list of :class:`atom handles<AtomHandle>` + + .. attribute:: bounds - :returns: A list of :class:`AtomHandles<AtomHandle>` + Axis-aligned bounding box of the entity. Read-only + + :type: :class:`ost.geom.AlignedCuboid` - .. method:: RequestXCSEditor([edit_mode=mol.EditMode.BUFFERED_EDIT]) + .. attribute:: mass + + The total mass of the entity in Dalton. Also available as :meth:`GetMass`. + + :type: float - Request :class:`XCSEditor` for editing the external coordinate system. This - call will fail when there are pending changes of the internal coordinate - system. - - :param edit_mode: Must be EditMode.BUFFERED_EDIT or - EditMode.UNBUFFERED_EDIT. For more details, see the - editor documentation. - :type edit_mode: mol.EditMode - - :returns: :class:`XCSEditor` - .. method:: RequestICSEditor([edit_mode=mol.EditMode.BUFFERED_EDIT]) + .. attribute:: center_of_mass - Request :class:`ICSEditor` for editing the internal coordinate system, such - as torsions, bond lengths and angle between two bonds. This call will fail - when there are pending changes of the external coordinate system. - - :param edit_mode: Must be EditMode.BUFFERED_EDIT or - EditMode.UNBUFFERED_EDIT. For more details, see the - editor documentation. - :type edit_mode: mol.EditMode - - :returns: :class:`ICSEditor` - - .. method:: Select(query, flags) + Center of mass. Also available as :meth:`GetCenterOfMass` + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: center_of_atoms - Perform a selection on the entity. The result of the selection is an - :class:`EntityView` which contains usually only a subset of chains, - residues, atoms and bonds of the original entity. - - :param query: The query to be executed. See :class:`Query` for details. - :type query: string or :class:`Query` - :param flags: An ORed combination of :class:`QueryFlags`. - :type flags: int - :returns: An :class:`entity view <EntityView>`. - :raises: :class:`QueryError` when the query could not be executed due - to syntactic errors. + Center of atoms (not mass-weighted). Also available as + :meth:`GetCenterOfAtoms`. + + :type: :class:`~ost.geom.Vec3` + .. method:: FindChain(chain_name) + + Get chain by name. See also :attr:`chains` + + :param chain_name: Chain identifier, e.g. "A" + :type chain_name: str + :returns: A valid :class:`ChainHandle`, if the entity contains a + chain with the given name, an invalid + :class:`ChainHandle` otherwise. + + .. method:: GetChainList() + + See :attr:`chains` + + .. method:: FindResidue(chain_name, res_num) + + Get residue by chain name and residue number. See also + :meth:`GetResidueList` + + :param chain_name: Chain identifier, e.g. "A" + :type chain_name: str + :param res_num: residue number + :type res_num: mol.ResNum + + :returns: A valid :class:`ResidueHandle` if the chain exists and + the chain contains a residue of the given residue + number, an invalid :class:`ResidueHandle` otherwise. + + .. method:: GetResidueList() + + See :attr:`residues` + + .. method:: FindAtom(chain_name, res_num, atom_name) + + Get atom by chain name, residue number and atom name. See also + :attr:`atoms` + + :param chain_name: Chain identifier, e.g. "A" + :type chain_name: str + :param res_num: residue number + :type res_num: mol.ResNum + :param atom_name: atom name, e.g. CA + :type atom_name: str + + :returns: A valid :class:`AtomHandle` if an atom matching the + parameters could be found, an invalid + :class:`AtomHandle` otherwise + + .. method:: GetAtomList() + + See :attr:`atoms` + + .. method:: RequestXCSEditor([edit_mode=mol.EditMode.BUFFERED_EDIT]) + + Request :class:`XCSEditor` for editing the external coordinate system. This + call will fail when there are pending changes of the internal coordinate + system. + + :param edit_mode: Must be EditMode.BUFFERED_EDIT or + EditMode.UNBUFFERED_EDIT. For more details, see the + editor documentation. + :type edit_mode: mol.EditMode + + :returns: :class:`XCSEditor` + + .. method:: RequestICSEditor([edit_mode=mol.EditMode.BUFFERED_EDIT]) + + Request :class:`ICSEditor` for editing the internal coordinate system, such + as torsions, bond lengths and angle between two bonds. This call will fail + when there are pending changes of the external coordinate system. + + :param edit_mode: Must be EditMode.BUFFERED_EDIT or + EditMode.UNBUFFERED_EDIT. For more details, see the + editor documentation. + :type edit_mode: mol.EditMode + + :returns: :class:`ICSEditor` + + .. method:: Select(query, flags=0) + + Perform a selection on the entity. The result of the selection is an + :class:`EntityView` which (usually) contains only a subset of chains, + residues, atoms and bonds of the original entity. + + **Example Usage:** + + .. code-block::python + # select calpha atoms of peptides + calphas=ent.Select('aname=CA and peptide=true') + + # select atoms in a box of size 10, centered at the origin + in_box=ent.Select('x=-5:5 and y=-5:5 and z=-5:5') + + :param query: The query to be executed. See :class:`Query` for details. + :type query: string or :class:`Query` + :param flags: An ORed combination of :class:`QueryFlags`. + :type flags: int + :returns: An :class:`entity view <EntityView>`. + :raises: :class:`QueryError` when the query could not be executed due + to syntactic errors. + .. method:: CreateFullView() - - Creates an entity view containing all chains, residues, atoms and bonds of - this entity. - - .. code-block:: python - - # these two lines are identical - full=ent.Select('') - full=ent.CreateFullView() - - :returns: :class:`EntityView` - + + Creates an entity view containing all chains, residues, atoms and bonds of + this entity. + + .. code-block:: python + + # these two lines are identical + full=ent.Select('') + full=ent.CreateFullView() + + :returns: :class:`EntityView` + .. method:: CreateEmptyView() - - Creates an entity view pointing to this entity, but otherwise empty. This - method is usually the starting point for manual entity view creation, e.g. - - .. code-block:: python - - view=ent.CreateEmtpyView() - for atom in ent.atoms: - if ComplicatedPredicate(atom): - view.AddAtom(atom) - - :returns: :class:`EntityView` + + Creates an entity view pointing to this entity, but otherwise empty. This + method is usually the starting point for manual entity view creation, e.g.: + + .. code-block:: python + + view=ent.CreateEmtpyView() + for atom in ent.atoms: + if ComplicatedPredicate(atom): + view.AddAtom(atom) + + :returns: :class:`EntityView` .. method:: Copy() @@ -167,53 +234,129 @@ This document describes the :class:`EntityHandle` and related classes. Get center of atoms, that is the average atom position of the entity. Use :meth:`GetCenterOfMass` to calculate the mass-weighted center of the entity. - :returns: :class:`geom.Vec3` + :returns: :class:`~ost.geom.Vec3` .. method:: GetCenterOfMass() - - Calculates the center of mass of the entity. Use :meth:`GetCenterOfAtoms` - to calculate the non-mass-weighted center of the entity. - - :returns: :class:`geom.Vec3` - + + Calculates the center of mass of the entity. Use :meth:`GetCenterOfAtoms` + to calculate the non-mass-weighted center of the entity. + + :returns: :class:`~ost.geom.Vec3` + .. method:: GetGeometricCenter() Calculates the mid-point of the axis aligned bounding box of the entity. - :returns: :class:`geom.Vec3` + :returns: :class:`~ost.geom.Vec3` .. method:: GetMass() - Calculates the total mass of the entity by summing up the masses of all - atoms. + See :attr:`mass` - :returns: The mass in Dalton - .. method:: Apply(visitor) - - Apply EntityVisitor to the entity. In Python, you shouldn't bother using - this function. EntityVisitory are mainly used in C++ to implement - algorithms that operate are able to operate on EntityViews or - EntityHandles. - .. method:: FindWithin(pos, radius) - Find all atoms in sphere of given radius centered at *pos*. To turn the - returned list of atoms into an :class:`EntityView`, use - :func:`CreateViewFromAtomList`. + Find all atoms in sphere of given radius centered at *pos*. To turn the + returned list of atoms into an :class:`EntityView`, use + :func:`CreateViewFromAtomList`. + + :param pos: Center of sphere + :type pos: :class:`~ost.geom.Vec3` + :param radius: The radius of the sphere + :type radius: float + + :returns: A list of :class:`atom handles<AtomHandle>` + +.. class:: ChainHandle + + A chain of one or more :class:`residues <ResidueHandle>`. Chains are always + part of an entity. + + .. attribute:: name + + The chain name. The name uniquely identifies the chain in the entity. In + most cases, the chain name is one character. This is restriction of the PDB + file format. However, you are free to use longer names as long as you don't + want to save them as PDB files - :param pos: Center of sphere - :type pos: :class:`geom.Vec3` - :param radius: The radius of the sphere - :type radius: float + This property is read-only. To change the name, use an :class:`XCSEditor`. - :returns: A list of :class:`AtomHandles<AtomHandle>` + Also available as :meth:`GetName` -.. class:: ChainHandle + :type: str + + .. attribute:: residues + + List of all residues of this chain. The residues are sorted from N- to + C-terminus. Usually the residue numbers are in ascending order + (see :attr:`in_sequence`). + + This property is read-only. + + **Example usage:** + + .. code-block:: python + + chain=ent.FindChain("A") + for res in chain.residues: + print res.name, res.atom_count + + Also available as :meth:`GetResidueList`. To access a single residue, use + :meth:`FindResidue`. + + :returns: A list of :class:`residue handles<ResidueHandle>` + + .. attribute:: in_sequence + + Whether the residue numbers are in ascending order. For example: + + .. code-block:: python + + chain=ent.FindChain("A") + print chain.residues # [A.GLY1, A.GLY2, A.GLY4A, A.GLY4B] + print chain.in_sequence # prints true + + chain=ent.FindChain("B") + print chain.residues # [B.GLY1, B.GLY4, B.GLY3] + print chain.in_sequence # prints false + + .. attribute:: atoms + + Get list of all atoms of this chain. To access a single atom, use + :meth:`FindAtom`. + + This property is read-only. Also available as :meth:`GetAtomList` + :type: A list of :class:`atom handles<AtomHandle>` + + .. attribute:: bounds + + Axis-aligned bounding box of the chain. Read-only + + :type: :class:`ost.geom.AlignedCuboid` + + .. attribute:: mass + + The total mass of this chain in Dalton. Also available as :meth:`GetMass` + + :type: float + + .. attribute:: center_of_mass + + Center of mass. Also available as :meth:`GetCenterOfMass` + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: center_of_atoms + + Center of atoms (not mass weighted). Also available as + :meth:`GetCenterOfAtoms`. + + :type: :class:`~ost.geom.Vec3` + .. method:: FindResidue(res_num) - Get residue by residue number. See also :meth:`GetResidueList` + Get residue by residue number. See also :attr:`residues` :param res_num: residue number :type res_num: mol.ResNum @@ -228,52 +371,1078 @@ This document describes the :class:`EntityHandle` and related classes. are usually ordered from N- to C-terminus.To access a single residue, use :meth:`FindResidue`. - :returns: A list of :class:`ResidueHandles<ResidueHandle>` + :returns: A list of :class:`residue handles<ResidueHandle>` .. method:: FindAtom(res_num, atom_name) - Get atom by residue number and atom name. See also :meth:`GetAtomList` + Get atom by residue number and atom name. See also :attr:`atoms` :param res_num: residue number :type res_num: mol.ResNum :param atom_name: atom name, e.g. CA - :type atom_name: string + :type atom_name: str :returns: A valid :class:`AtomHandle` if an atom matching the parameters could be found, an invalid :class:`AtomHandle` otherwise .. method:: GetAtomList() + + See :attr:`atoms` + + .. method:: GetName() + + See :attr:`name` - Get list of all atoms of this chain. To access a single atom, use - :meth:`FindAtom` - - :returns: A list of :class:`AtomHandles<AtomHandle>` .. class:: ResidueHandle + The residue is either used to represent complete molecules or building blocks + in a polymer, e.g. in a protein, DNA or RNA. A residue consists of one or + more :class:`atoms <AtomHandle>`. Residues are always part of a + :class:`ChainHandle`, even if they are ligands or water molecules where the + concept of a chain does not apply. + + .. attribute:: name + + The residue name is usually a str of 3 characters, e.g. `GLY` for + glycine or `ALA` for alanine, but may be shorter, e.g. `G` for guanosine, + or longer for structures loaded from formats other than PDB. + + This property is read-only. To change the name of the residue, use + :meth:`EditorBase.SetResidueName`. + + .. attribute:: number + + The number of this residue. The residue number has a numeric part and an + insertion-code. This property is read-only. Also available as + :meth:`GetNumber`. + + :type: :class:`ResNum` + + .. attribute:: one_letter_code + + For amino acids, and nucleotides the `one_letter_code` is an alpha-numeric + character. For unknown or more *exotic* residues, the one letter code is set + to '?'. + + **Example** + + This code-snippet shows how to get the sequence string from a list of + residues. + + .. code-block:: python + + print ''.join([r.one_letter_code for r in chain.residues]) + + :type: str + + .. attribute:: bounds + + Axis-aligned bounding box of the residue. Read-only. + + :type: :class:`ost.geom.AlignedCuboid` + + .. attribute:: mass + + The total mass of this residue in Dalton. Also available as :meth:`GetMass`. + + :type: float + + .. attribute:: center_of_mass + + Center of mass. Also available as :meth:`GetCenterOfMass` + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: center_of_atoms + + Center of atoms (not mass weighted). Also available as + :meth:`GetCenterOfAtoms`. + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: chain + + The chain this residue belongs to. Read-only. Also available as + :meth:`GetChain` + + :type: :class:`ChainHandle` + + .. attribute:: phi_torsion + + The PHI dihedral angle between this residue and the next. For residues + that are not amino acids, residues that do not have all atoms required or + residues that do not have bonds between the four atoms involved in the + torsion, the PHI torsion is an invalid handle. + + Read-only. Also available as :meth:`GetPhiTorsion` + + :type: :class:`TorsionHandle` + + .. attribute:: psi_torsion + + The PSI dihedral angle between this residue and the previous. For residues + that are not amino acids, residues that do not have all atoms required or + residues that do not have bonds between the four atoms involved in the + torsion, the PSI torsion is an invalid handle. + + Read-only. Also available as :meth:`GetPsiTorsion` + + :type: :class:`TorsionHandle` + + .. attribute:: chem_class + + The chemical class of a residue is used to broadly categorize residues based + on their chemical properties. For example, peptides belong to the + `LPeptideLinking` or `DPeptideLinking` classes. + + .. attribute:: sec_structure + + The secondary structure of the residue. + .. method:: FindAtom(atom_name) - Get atom by atom name. See also :meth:`GetAtomList` + Get atom by atom name. See also :attr:`atoms` - :param atom_name: atom name, e.g. CA - :type atom_name: string + :param atom_name: atom name, e.g. CA + :type atom_name: str - :returns: A valid :class:`AtomHandle` if an atom with the given - name could be found, an invalid :class:`AtomHandle` - otherwise + :returns: A valid :class:`AtomHandle` if an atom with the given + name could be found, an invalid :class:`AtomHandle` + otherwise .. method:: GetAtomList() - Get list of all atoms of this residue. To access a single atom, use - :meth:`FindAtom`. + Get list of all atoms of this residue. To access a single atom, use + :meth:`FindAtom`. + + .. method:: GetChain() + + See :attr:`chain` + + .. method:: GetCenterOfAtoms() + + See :attr:`center_of_atoms` + + .. method:: GetCenterOfMass() + + See :attr:`center_of_mass` + + .. method:: GetPhiTorsion() + + See :attr:`phi_torsion` + + .. method:: GetPsiTorsion() + + See :attr:`psi_torsion` + + .. class:: AtomHandle -.. class:: EntityView - - Represents a subpart of an :class:`EntityHandle`. - + Represents an atom in a molecular structure. Atoms are always part of a + residue. + + .. attribute:: name + + The atom name, usually a capitalized string consisting of the element and + an position indicator, e.g. `G1`. In general, the atom name uniquely + identifies an atom within a residue. However, this is not enforced and there + may be more than one atoms with the same name. + + :type: str + + .. attribute:: qualified_name + + The qualified name consists of the atom name as well as a unique residue + identifier and chain name. For CA of a glycine with residue number 2 of + chain A, the qualified name is "A.GLY2.CA". + + :type: str + + .. attribute:: element + + The atom's element. Note that this may return an empty string. Also + available as :meth:`GetElement`. Read-only. + + :type: str + + .. attribute:: mass + + The atom's mass in Dalton. Also available as :meth:`GetMass`. Read-only. + + :type: float + + .. attribute:: pos + + The atom's position in global coordinates. Also available as :meth:`GetPos`. + Read-only. + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: radius + + The van-der-Waals radius of the atom. Also available as :meth:`GetRadius`. + Read-only. + + :type: float + + .. attribute:: occupancy + + The atom's occupancy in the range 0 to 1. Also available as + :meth:`GetOccupancy`. Read-only. + + :type: float + .. attribute:: charge + + The atom's charge + + :type: float + + .. attribute:: residue + + The residue this atom belongs to. + + :type: :class:`ResidueHandle` + + .. attribute:: is_hetatm + + Indicates whether this atom is a hetatm. + + .. attribute:: bonds + + List of bonds this atom is involved in. The bonds are in no particular + order. Also available as :meth:`GetBondList`. + + :type: list of :class:`bond handles<BondHandle>` + + .. method:: FindBondToAtom(other_atom) + + Finds and returns the bond formed between this atom and `other_atom`. If no + bond exists between the two atoms, an invalid :class:`BondHandle` is + returned. + + :param other_atom: The other atom + :type other_atom: :class:`AtomHandle` + :rtype: :class:`BondHandle` + + .. method:: GetAtomProps() + + Get atom properties such as mass, charge, element and occupancy. + + :rtype: :class:`AtomProp` + + .. method:: GetBondCount() + + :rtype: int + + .. method:: GetBondList() + + See :attr:`bonds` + + :rtype: :class:`BondHandleList` + + .. method:: GetBondPartners() + + Get list of atoms this atom is bonded with. This method exists as a shortcut + to determine all the bonding partners of an atom and avoids code like this: + + .. code-block:: python + + bond_parters=[] + for bond in atom.bonds: + if bond.first==atom: + bond_partners.append(bond.second) + else: + bond_partners.append(bond.first) + + :rtype: :class:`AtomHandleList` + + .. method:: GetCharge() + + See :attr:`charge` + + :rtype: float + + .. method:: GetElement() + + See :attr:`element` + + :rtype: str + + .. method:: GetEntity() + + The entity this atom belongs to + + :rtype: :class:`EntityHandle` + + .. method:: GetHashCode() + + Returns a unique identifier for this atom. + :rtype: int + + .. method:: GetIndex() + + Returns the index of the atom. + + :rtype: int + + .. method:: GetMass() + + See :attr:`mass` + + :rtype: float + + .. method:: GetName() + + See :attr:`name` + + :rtype: str + + .. method:: GetOriginalPos() + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetPos() + + See :attr:`pos` + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetQualifiedName() + + See :attr:`qualified_name` + + :rtype: str + + .. method:: GetRadius() + + See :attr:`radius` + + :rtype: float + + .. method:: GetResidue() + + See :attr:`residue` + + :rtype: :class:`ResidueHandle` + + .. method:: IsHetAtom() + + See :attr:`is_hetatm` + + :rtype: bool + + .. method:: IsValid() + + See :attr:`valid` + + :rtype: bool + +The View Classes +-------------------------------------------------------------------------------- + +.. class:: EntityView + + An entity view represents a structural subset of an :class:`EntityHandle`. For + an introduction ,see :doc:`../../intro-01`. + + .. attribute:: chains + + List of all chains of this entity. The chains are in the same + order they have been added. + + Also available as :meth:`GetChainList`. To access a single chain, use + :meth:`FindChain`. + + This property is read-only. + + .. attribute:: residues + + List of all residues of this entity. The returned residues are first + sorted by chain and then from N- to C-terminus. + + This property is read-only. + + **Example usage:** + + .. code-block:: python + + for res in ent.residues: + print res.name, res.atom_count + + Also available as :meth:`GetResidueList`. To access a single residue, use + :meth:`FindResidue`. + + :type: A list of :class:`ResidueViews <ResidueView>` + + .. attribute:: atoms + + Get list of all atoms of this entity. To access a single atom, use + :meth:`FindAtom`. + + This property is read-only. Also available as :meth:`GetAtomList` + + :type: A list of :class:`AtomViews <AtomView>` + + .. attribute:: bounds + + Axis-aligned bounding box of the entity view. Read-only. + + :type: :class:`ost.geom.AlignedCuboid` + + .. attribute:: handle + + The underlying :class:`handle <EntityHandle>` of the entity view. Also + available as :meth:`GetHandle`. + + :type: :class:`EntityHandle` + + .. method:: CreateEmptyView() + + See :meth:`EntityHandle.CreateEmptyView` + + :rtype: EntityView + + .. method:: CreateFullView() + + Returns a copy of this entity. Provided for `duck-typing <http://en.wikipedia.org/wiki/Duck_typing>` purposes. + + :rtype: EntityView + + .. method:: AddChain(chain_handle[, view_add_flags]) + + Add chain to view. By default, only the chain is added to the view, but not + its residues and atoms. This behavior can be changed by passing in an + appropriate set of `view_add_flags` + + :param chain_handle: + :type chain_handle: ChainHandle + :param view_add_flags: An ORed together combination of `view_add_flags`. + :type view_add_flags: int + :rtype: class:`ChainView` + + .. method:: AddResidue(residue_handle[, view_add_flags]) + + Add residue to view. If the residue's chain is not already part of the view, + it will be added. By default, only the residue is added, but not its atoms. + This behaviour can be modified by passing in an appropriate combination of + `view_add_flags`. + + :param residue_handle: + :type residue_handle: ResidueHandle + :param view_add_flags: + :type view_add_flags: int + :rtype: class:`ResidueView` + + .. method:: AddAtom(atom_handle[, view_add_flags]) + + Add the atom to view. The chain and residue of the atom are added to the + view if they haven't already been added. + + + :param atom_handle: The atom handle + :type atom_handle: AtomHandle + :param view_add_flags: An ORed together combination of ViewAddFlags + :type view_add_flags: int + :rtype: class:`AtomView` + + .. method:: AddBond(bond_handle) + + Add bond to the view. + + :param bond_handle: Bond to be added + :type bond_handle: BondHandle + :returns: True if the bond has been added, false if the bond was already + present in the view. + :rtype: bool + + .. method:: AddAllInclusiveBonds() + + Convenience method to add all bonds to the view for which both of the bond + partners are in the view. This method is useful when manually assembling + views. + + .. method:: RemoveChain(chain) + + Remove chain and all its residues from the entity view. + + :param chain: The chain to be removed. May be invalid + :type chain: ChainView + + .. method:: RemoveResidue(residue) + + Remove residue from view. + + :param residue: The residue to be removed. May be invalid + + :type residue: ResidueView + + .. method:: RemoveAtom(atom) + + Remove atom from view + + :param atom: The atom to be removed. May be invalid + + :type atom: AtomView + + .. method:: GetAngle(atom1, atom2, atom3) + + :param atom1: + :type atom1: AtomHandle + :param atom2: + :type atom2: AtomHandle + :param atom3: + :type atom3: AtomHandle + :rtype: float + + .. method:: FindWithin(pos, radius) + + Find all atoms that are within radius of the given position. See + :meth:`EntityHandle.FindWithin`. + + :param pos: + :type pos: :class:`~ost.geom.Vec3` + :param radius: + :type radius: float + :rtype: class:`AtomViewList` + + .. method:: FindChain(chain_name) + + Find chain by name. + + :param chain_name: + :type chain_name: str + :returns: The chain if present in the view, an invalid :class:`ChainView` + otherwise + :rtype: class:`ChainView` + + .. method:: FindResidue(residue) + + Find residue view of pointing to the given handle. + + :param residue: Residue handle + :type residue: ResidueHandle + :returns: The residue view pointing the the handle, or an invalid handle if the residue is not part of the view + :rtype: class:`ResidueView` + + .. method:: FindAtom(chain_name, res_num, atom_name) + + :param chain_name: The chain name + :type chain_name: str + :param res_num: The residue number + :type res_num: ResNum or int + :param atom_name: The name of the atom + :type atom_name: str + :rtype: class:`AtomView` + + .. method:: Select(query[, flags]) + + Perform selection on entity view. See :meth:`EntityHandle.Select`. + + :param query: The query + :type query: (:class:`Query` or str) + :param flags: An ORed together combination of ViewAddFlags + :type flags: int + + :rtype: EntityView + + .. method:: Copy() + + Returns a deep copy of the entity view. The effect is identical to calling + + .. code-block:: python + + the_copy=view.Select(') + + :rtype: EntityView + + .. method:: GetMass() + + Get total mass of view. + + :rtype: float + + .. method:: GetCenterOfMass() + + Get the center of mass. For a non-mass-weighted center, see + :meth:`GetCenterOfAtoms`. + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetGeometricCenter() + + Get the geometric center (the center of the axis-aligned + bounding box). + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetGeometricStart() + + :rtype: :class:`~ost.geom.Vec3` + + .. attribute:: chain_count + + Number of chains. Read-only. See :meth:`GetChainCount`. + + :type: int + + .. attribute:: residue_count + + Number of residues. Read-only. See :meth:`GetResidueCount`. + + :type: int + + .. attribute:: atom_count + + Number of atoms. Read-only. See :meth:`GetAtomCount`. + + :type: int + + .. method:: GetCenterOfAtoms() + + Calculates the center of atoms. For a mass-weighted center, use + :meth:`GetCenterOfMass`. + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetAtomList() + + See :attr:`atoms` + + :rtype: class:`AtomViewList` + + .. method:: GetBondCount() + + Get number of bonds + :rtype: int + + .. method:: GetChainCount() + + Get number chains. See :attr:`chain_count` + + :rtype: int + + .. method:: GetResidueCount() + + See :attr:`residue_count` + + :rtype: int + + .. method:: GetBondList() + + See :attr:`bonds` + + :rtype: :class:`BondHandleList` + + .. method:: GetHandle() + + See :attr:`handle` + + :rtype: class:`EntityHandle` + + .. method:: GetResidueList() + + :rtype: class:`ResidueViewList` + + .. method:: GetGeometricEnd() + + :rtype: :class:`~ost.geom.Vec3` + + .. method:: GetChainList() + + See :attr:`chains` + + :rtype: class:`ChainViewList` + + .. method:: GetAtomCount() + + Get number of atoms. See :attr`atom_count`. + :rtype: int + +.. class:: ChainView + + .. attribute:: name + + The chain name. The name uniquely identifies the chain in the entity. In + most cases, the chain name is one character. This is restriction of the PDB + file format. However, you are free to use longer names as long as you don't + want to save them as PDB files + + This property is read-only. To change the name, use an :class:`XCSEditor`. + + Also available as :meth:`GetName` + + :type: str + + .. attribute:: residues + + List of all residues of this chain. The residues are sorted from N- to + C-terminus. Usually the residue numbers are in ascending order + (see :attr:`in_sequence`). + + This property is read-only. + + **Example usage:** + + .. code-block:: python + + chain=ent.FindChain("A") + for res in chain.residues: + print res.name, res.atom_count + + Also available as :meth:`GetResidueList`. To access a single residue, use + :meth:`FindResidue`. + + :type: A list of :class:`residue views<residueView>` + + .. attribute:: in_sequence + + Whether the residue numbers are in ascending order. For example: + + .. code-block:: python + + chain=ent.FindChain("A") + print chain.residues # [A.GLY1, A.GLY2, A.GLY4A, A.GLY4B] + print chain.in_sequence # prints true + + chain=ent.FindChain("B") + print chain.residues # [B.GLY1, B.GLY4, B.GLY3] + print chain.in_sequence # prints false + + .. attribute:: atoms + + Get list of all atoms of this chain. To access a single atom, use + :meth:`FindAtom`. + + This property is read-only. Also available as :meth:`GetAtomList` + + :type: A list of :class:`atom handles<AtomHandle>` + + .. attribute:: bounds + + Axis-aligned bounding box of the chain. Read-only + + :type: :class:`ost.geom.AlignedCuboid` + + .. attribute:: mass + + The total mass of this chain in Dalton. Also available as :meth:`GetMass` + + :type: float + + .. attribute:: center_of_mass + + Center of mass. Also available as :meth:`GetCenterOfMass` + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: center_of_atoms + + Center of atoms (not mass weighted). Also available as + :meth:`GetCenterOfAtoms`. + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: handle + + The chain handle this view points to. Also available as :meth:`GetHandle`. + + :type: :class:`ChainHandle` + + .. attribute:: in_sequence + + Whether the residue numbers are in ascending order. Note that the value of + `in_sequence` is independent from the value of + :attr:`ChainHandle.in_sequence`. + + :type: bool + + .. method:: AddAtom(atom_handle[, view_add_flags]) + + Add atom to the view. If the residue of the atom is not already part of the + view, it will be added. If the atom does not belong to chain, the result is + undefined. + + :param atom_handle: The atom to be added + :type atom_handle: :class:`AtomHandle` + :param view_add_flags: An ORed together combination of ViewAddFlags + :type view_add_flags: int + :rtype: :class:`AtomView` + + .. method:: AddResidue(residue_handle[, view_add_flags]) + + Add residue to the view. If the atom does not belong to chain, the result is + undefined. By default, only the residue, but no atoms are added to the view. + To change the behavior, pass in a suitable combination of `view_add_flags`. + + :param residue_handle: + :type residue_handle: :class:`ResidueHandle` + :param view_add_flags: + :type view_add_flags: int + :rtype: :class:`ResidueView` + + .. method:: FindAtom(res_num, atom_name) + + Find atom with the given residue number and atom name. + + :param res_num: The residue number + :type res_num: :class:`ResNum` + :param atom_name: The atom name + :type atom_name: str + :returns: The atom view, or an invalid atom view if no atom with the given + parameters is part of the view. + + :rtype: :class:`AtomView` + + .. method:: FindResidue(res_num) + + Find residue by residue number. + + :param res_num: + :type res_num: :class:`ResNum` + :rtype: :class:`ResidueView` + :returns: The residue view, or an invalid residue view if no residue with + the given residue number is in the view. + + .. method:: GetCenterOfAtoms() + + See :attr:`center_of_atoms` + + .. method:: GetCenterOfMass() + + See :attr:`center_of_mass` + + .. method:: GetEntity() + + See :attr:`entity` + + .. method:: GetGeometricCenter() + + See :attr:`geometric_center` + + .. method:: GetHandle() + + See :attr:`handle` + + .. method:: GetMass() + + See :attr:`mass` + + .. method:: GetName() + + See :attr:`name` + + .. method:: GetResidueByIndex(index) + + Returns the residue view at `index`. If index is negative or bigger than + the number of residues minus one, an invalid ResidueView is returned. + + :param index: The index + :type index: int + :rtype: :class:`ResidueView` + + .. method:: GetResidueList() + + See :attr:`residues` + + :rtype: bool + + .. method:: InSequence() + + See :attr:`in_sequence` + + .. method:: IsValid() + + See :attr:`valid` + + .. method:: RemoveResidue(residue) + + Remove residue from chain. If the residue is not part of the view, the + chain is left unchanged. + + :param residue: The residue view. May be invalid + :type residue: :class:`ResidueView` + :rtype: None + + .. method:: RemoveResidues() + + Remove all residues from this chain view + + .. method:: Select(query[, flags]) + + Perform query on chain. This will return an entity view containing atoms + and bonds of the residue view that match the residue. In case no atom + matches the predicate, an empty view is returned. + + :param query: The query + :type query: :class:`Query` or str + :param flags: An ORed together combination of query flags + :type flags: int + :rtype: :class:`EntityView` + +.. class:: ResidueView + + .. attribute:: handle + + The residue handle this view points to. Also available as + :meth:`GetHandle`. + + :type: :class:`ResidueHandle` + + .. attribute:: name + + The residue name is usually a str of 3 characters, e.g. `GLY` for + glycine or `ALA` for alanine, but may be shorter, e.g. `G` for guanosine, + or longer for structures loaded from formats other than PDB. + + This property is read-only. To change the name of the residue, use + :meth:`EditorBase.SetResidueName`. + + .. attribute:: number + + The number of this residue. The residue number has a numeric part and an + insertion-code. This property is read-only. Also available as + :meth:`GetNumber`. + + :type: :class:`ResNum` + + .. attribute:: one_letter_code + + For amino acids, and nucleotides the `one_letter_code` is an alpha-numeric + character. For unknown or more *exotic* residues, the one letter code is set + to '?'. + + **Example** + + This code-snippet shows how to get the sequence string from a list of + residues. + + .. code-block:: python + + print ''.join([r.one_letter_code for r in chain.residues]) + + :type: str + + .. attribute:: bounds + + Axis-aligned bounding box of the residue view. Read-only + + :type: :class:`ost.geom.AlignedCuboid` + + .. attribute:: mass + + The total mass of this residue in Dalton. Also available as :meth:`GetMass`. + + :type: float + + .. attribute:: center_of_mass + + Center of mass. Also available as :meth:`GetCenterOfMass` + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: center_of_atoms + + Center of atoms (not mass weighted). Also available as + :meth:`GetCenterOfAtoms`. + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: chain + + The chain this residue belongs to. Read-only. Also available as + :meth:`GetChain` + + :type: :class:`ChainView` + + .. attribute:: handle + + The residue handle this view points to + + :type: :class:`ResidueHandle` + + .. method:: RemoveAtom(atom_view) + + Remove atom from residue and all associated bonds. If the atom is not part + of the view, the residue view is left unchanged. + + :param atom_view: The atom to be removed. May be an invalid handle + :type atom_view: :class:`AtomView` + :rtype: None + + .. method:: GetHandle() + + See :attr:`handle` + + .. method:: GetMass() + + See :attr:`mass` + + .. method:: GetChain() + + See :attr:`chain` + + .. method:: FindAtom(atom_name) + + Find atom by name. Returns the atom, or an invalid atom if no atoms with + the given name is part of the view. + + :param atom_name: + :type atom_name: str + :rtype: :class:`AtomView` + + .. method:: GetIndex() + + See :attr:`index` + + .. method:: GetCenterOfMass() + + See :attr:`center_of_mass` + + .. method:: IsAtomIncluded(atom_handle) + + Returns true if the given atom is part of the view, false if not. + + :param atom_handle: + :type atom_handle: :class:`AtomHandle` + :rtype: bool + + .. method:: GetGeometricCenter() + + See :attr:`geometric_center` + + .. method:: AddAtom(atom_handle[, flags]) + + Add atom to the view. + :param atom_handle: + :type atom_handle: :class:`AtomHandle` + :param flags: An ORed together combination of ViewAddFlags. + :type flags: int + :rtype: :class:`AtomView` + + .. method:: GetCenterOfAtoms() + + See :attr:`center_of_atoms` + + .. method:: GetAtomList() + + See :attr:`atoms` + + .. method:: Select(query[, flags]) + + Perform selection on residue view. This method will return an entity view + containing all atoms and bonds of the residue matching the predicate. In + case no atom matches the predicate, this will return an empty view. + + :param query: The query + :type query: :class:`Query` or str + :param flags: An ORed together combination of query flags + :type flags: int + :rtype: :class:`EntityView` + + Functions -------------------------------------------------------------------------------- diff --git a/modules/mol/base/doc/mol.rst b/modules/mol/base/doc/mol.rst index e4de24691c513680a2c512e652cb3085301c4d6a..1ac7e3f2691b0a28cd299f7176ffa43e8bb4451b 100644 --- a/modules/mol/base/doc/mol.rst +++ b/modules/mol/base/doc/mol.rst @@ -1,14 +1,15 @@ -:mod:`mol` -- Molecular structures and surfaces +:mod:`~ost.mol` -- Molecular structures and surfaces ================================================================================ -.. module:: mol +.. module:: ost.mol :synopsis: Contains classes and functions to deal with molecular structures and surfaces -The mol module implement data structure to work with molecular datasets. At its heart lie the :class:`EntityHandle` and :class:`EntityView` classes which represent molecular structures such as proteins, DNA, RNA and small molecules. There are also classes to deal with molecular surfaces. +The mol module implements data structures to work with molecular datasets. At its heart lie the :class:`EntityHandle` and :class:`EntityView` classes which represent molecular structures such as proteins, DNA, RNA and small molecules. There are also classes to deal with molecular surfaces. .. toctree:: entity editors - query \ No newline at end of file + query + surface \ No newline at end of file diff --git a/modules/mol/base/doc/query.rst b/modules/mol/base/doc/query.rst index 20c4b711a2a0e9c190efce278af82df16ac84ee1..156a91b065fa6ea08effb64767b0afdf970b4a9a 100644 --- a/modules/mol/base/doc/query.rst +++ b/modules/mol/base/doc/query.rst @@ -1,93 +1,137 @@ Queries ================================================================================ -.. class:: Query +.. currentmodule:: ost.mol - Blabla +OpenStructure includes a powerful query system that allows you to perform custom +selections on a molecular entity in a convenient way. + + +The Basics +-------------------------------------------------------------------------------- It is often convenient to highlight or focus certain parts of the structure. OpenStructure includes a powerful query system that allows you to perform custom -selections in a convenient way. +selections in a convenient way. Selections are carried out mainly by calling the Select method made available by EntityHandle and :class:`EntityView` objects while providing a query string. Queries are written using a dedicated mini-language. For example, to select all arginine residues of a given structure, one would write: -Please refer to the tutorial on the query language for an introduction. +.. code-block:: python -The query language reference --------------------------------------------------------------------------------- + arginines=model.Select('rname=ARG') + +A simple selection query (called a predicate) consists in a property (here, +`rname`), a comparison operator (here, `=`) and an argument (here, `ARG`). The +return value of a call to the :meth:`EntityHandle.Select` method is always an +:class:`EntityView`. The :class:`EntityView` always contains a full hierarchy of +elements, never standalone separated elements. In the above example, the +:class:`EntityView` called `arginines` will contain all chains from the +structure called 'model' that have at least one arginine. In turn these chains +will contain all residues that have been identified as arginines. The residues +themselves will contain references to all of their atoms. Of course, queries are +not limited to selecting residues based on their type, it is also possible to +select atom by name: + +.. code-block:: python + + c_betas=model.Select('aname=CB') + +As before, c`betas is an instance of an :class:`EntityView` object and contains +a full hierarchy. The main difference to the previous example is that the +selected residues do not contain a list of all of their atoms but only the +C-beta. These examples clarify why the name 'view' was chosen for this result of +a :meth:`~EntityHandle.Select` statement. It represents a reduced, restrained +way of looking at the original structure. + +Both the selection statements that have been used so far take strings as their arguments. However, selection properties such as `rnum` (residue number), take numeric arguments. With numeric arguments it is possible to use identity operators ( `!=` and `=`). It is also possible to compare them using the `>`, `<`, `>=` and `<=` operators. For example, the 20 N-terminal residues of a protein can be selected with: -The query consists of one or more predicates combined with boolean -operators. A predicate takes the form *prop op value*. Operators are -one of `` =, !=, >, >=, <=`` and ``<``. A predicate has the following form: -*PROPERTY - OPERATOR - ARGUMENT*. - -The following properties may be used in predicates. The supported type of the -value is given for each property. - - * ``rname`` residue name. type: string - * ``rnum`` residue number. currently only numeric part is honored. - type: int - * ``rtype`` residue type as given by the DSSP code, i.e. H for helix, E - for extended. type: string - * ``aname`` atom name. type: string - * ``ele`` element of atom. type: string - * ``cname`` chain name. type: string - * ``occ`` occupancy, between 0 and 1. type: float - * ``abfac`` B (temperature) factor of atom. type: float - * ``rbfac`` average B (temperature) factor of residue. type: float. - Note that this does not work for views as expected. When running a - second selection statement on a view, all atoms of the residue handle - and not the view are considered in the calculation - * ``ishetatm`` whether the atom is a hetorogenous atom. type: bool or int - (0 for false, 1 for true) - * ``peptide`` whether the residue is peptide linking. type: bool or int - (0 for false, 1 for true) - * ``x`` X coordinate of atom. type: float - * ``y`` Y coordinate of atom. type: float - * ``z`` Z coordinate of atom. type: float - * ``rindex`` index of residue in chain. This index is the same for views - and handles - * For :ref:`generic properties in queries <genprop-in-queries>` see below. - -Distance-based selections within a given atom position are supported by -the within statement. To select atoms within 5 Angstrom of the point -``{1, 2, 3}``, one would write: - -``5 <> {1,2,3}`` - -Negation of this expression is possible with the not operator, i.e. - -``not 5 <> {1,2,3}`` -will select atoms that are further than five Angstrom apart from ``{1, 2 , 3}`` - -Abbreviations +.. code-block:: python + + n_term=model.Select('rnum<=20') + +Combining predicates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Two abbreviations exist for convenience: +Selection predicates can be combined with boolean operators. For example , you might want to select all C atoms with crystallographic occupancy higher than 50. These atoms must match the predicate `ele=C` in addition to the predicate `occ>50`. In the query language this can be written as: -Instead of writing +.. code-block:: python -``aname=CA or aname=C or aname=O or aname=N``, + model.Select('ele=C and occ>50') + +Compact forms are available for several selection statements. For example, to select all arginines and aspargines, one could use a statement like: -one can write +.. code-block:: python + + arg_and_asn=model.Select('rname=ARG or rname=ASN') -``aname=CA,N,C,O``. +However, this is rather cumbersome as it requires the word `rname` to be typed twice. Since the only difference between the two parts of the selection is the argument that follows the word `rname`, the statement can also be written in an abbreviated form: -For integral value ranges, one can use the colon syntax: instead of +.. code-block:: python + + arg_and_asn=model.Select('rname=ARG,ASN') -``rnum>=10 and rnum<=20`` +Another example: to select residues with numbers in the range 130 to 200, one could use the following statement -one can write +.. code-block:: python + + center=model.Select('rnum>=130 and rnum<=200') -``rnum=10:20`` +or alternatively use the much nicer syntax: + +.. code-block:: python + + center=model.Select('rnum=130:200') + +This last statement is completely equivalent to the previous one. This syntax +can be used when the selection statement requires a range of integer values +within a closed interval. + +Distance Queries +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The query + +.. code-block:: python + + around_center=model.Select('5 <> {0,0,0}') + +selects all chains, residues and atoms that lie with 5 Å to the origin of the reference system ({0,0,0}). The `<>` operator is called the ‘within’ operator. +Instead of a point, the within statements can also be used to return a view containing all chains, residues and atoms within a radius of another selection statement applied to the same entity. Square brackets are used to delimit the inner query statement. + +.. code-block:: python + + around_hem=model.Select('5 <> [rname=HEM]') + model.Select('5 <> [rname=HEM and ele=C] and rname!=HEM') + +Bonds and Queries +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When an :class:`EntityView` is generated by a selection, it includes by default only bonds for which both connected atoms satisfy the query statement. This can be changed by passing the parameters `EXCLUSIVE_BONDS` or `NO_BONDS` when calling the Select method. `EXCLUSIVE_BONDS` adds bonds to the :class:`EntityView` when at least one of the two atoms falls within the boundary of the selection. `NO_BONDS` suppresses the bond inclusion step completely. + +Whole Residue Queries +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If the parameter `MATCH_RESIDUES` is passed when the Select method is called, the resulting :class:`EntityView` will include whole residues for which at least one atom satisfies the query. This means that if at least one atom in the residue falls within the boundaries of the selection, all atoms of the residue will be included in the View. + +More Query Usage +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The high level interface for queries are the Select methods of the +EntityHandle and :class:`EntityView` classes. By passing in a query string, a view +consisting of a subset of the elements is returned. + +Queries also offer a second interface: `IsAtomSelected()`, +`IsResidueSelected()` and `IsChainSelected()` take an atom, residue or +chain as their argument and return true or false, depending on whether the +element fulfills the predicates. .. _genprop-in-queries: Generic Properties in Queries --------------------------------------------------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The query language can also be used for numeric generic properties (i.e. float and int), but the syntax is slightly different. To access any generic properties, it needs to be specified that they are generic and at which level -they are defined. Therefore, all generic properties start with a ``g``, followed by an ``a``, ``r`` or ``c`` for atom, residue or chain level respectively. +they are defined. Therefore, all generic properties start with a `g`, followed by an `a`, `r` or `c` for atom, residue or chain level respectively. .. code-block:: python @@ -122,3 +166,95 @@ statement which can be done using a ':' character: Using this method, you will be warned if a generic property is not set for all atoms, residues or chains unless you specify a default value. So, be careful when you do. + +Available Properties +-------------------------------------------------------------------------------- + +The following properties may be used in predicates. The type is given for each property. + +Properties of Chains +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +**cname/chain** (str) :attr:`Chain name<ChainHandle.name>` + +Properties of Residues +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +**rname** (str): :attr:`Residue name<ResidueHandle.name>` + +**rnum** (int): :attr:`Residue number<ResidueHandle.number>`. Currently only the numeric part is honored. + +**rtype** (str): Residue type as given by the DSSP code, i.e. H for helix, E for extended. + +**rindex** (int): :attr:`Index<ResidueHandle.index>` of residue in chain. This +index is the same for views and handles. + +**ishetatm** (bool): Whether the atom is a :attr:`heterogenous<AtomHandle.is_hetatm>` atom. + +**peptide** (bool): Whether the residue is a :meth:`peptide <ResidueHandle.IsPeptideLinking>`. + +**rbfac** (float): average B (temperature) factor of residue + +Properties of Atoms +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +**aname** (str): :attr:`Atom name<AtomHandle.name>` + +**ele** (str): :attr:`Atom element<AtomHandle.element>` + +**occ** (float): :attr:`Atom occupancy<AtomHandle.occupancy>` + +**abfac** (float): :attr:`Atom B-factor<AtomHandle.b_factor>` + +**x** (float): :attr:`X<AtomHandle.pos>` coordinate of atom. + +**y** (float): :attr:`Y<AtomHandle.pos>` coordinate of atom. + +**z** (float): :attr:`Z<AtomHandle.pos>` coordinate of atom. + +Query API documentation +-------------------------------------------------------------------------------- + +In the following, the interface of the query class is described. In general, you will not have to use this interface but will pass the query as string directly. + +.. class:: Query(string='') + + Create a new query from the given string. The constructor does not throw any + error in case the query contains syntax errors. Use :attr:`valid` to check + whether the query was valid. + + + .. attribute:: string + + The string used to create the query. + + :type: str + + .. attribute:: valid + + True, when the query could be compiled without syntax errors. + + :type: bool + + .. attribute:: error + + If :attr:`valid` is false, this attribute contains the error message. + Otherwise it is set to an empty string + + :type: str + .. method:: IsAtomSelected(atom) + + Returns true, when the given atom handle fulfills the predicates, false if + not. + + .. method:: IsChainSelected(chain) + + Return true if at least one of the atomso of the chain matches the + predicates. + + .. method:: IsResidueSelected(residue) + + Returns true, when at least one atom of the residue matches the predicates. diff --git a/modules/mol/base/doc/surface.rst b/modules/mol/base/doc/surface.rst new file mode 100644 index 0000000000000000000000000000000000000000..1520054f9772b163514ea5e10af05eb3687c617e --- /dev/null +++ b/modules/mol/base/doc/surface.rst @@ -0,0 +1,144 @@ +Surfaces +================================================================================ + +.. currentmodule:: ost.mol + +.. class:: SurfaceHandle + + TODO + + .. method:: Attach(entity, cutoff) + + Attach an :class:`EntityHandle` or :class:`EntityView` to a molecular + surface. For each vertex of the surface, the atom which is closest to this + vertex and within the cutoff distance is attached. Like this, the atom and + its properties can be retrieved efficiently, which is e.g. used for coloring + a surface according to the underlying entity (see + :meth:`gfx.Surface.ColorBy`). + + Be aware that increasing the cutoff distance will significantly increase the + time needed to attach an entity to the surface. + + :param entity: entity to be attached to the surface + :type entity: :class:`EntityHandle`, :class:`EntityView` + :param cutoff: distance cutoff + :type cutoff: float + :rtype: None + + .. method:: FindWithin(position, cutoff) + + Returns all :class:`surface vertices<SurfaceVertex>` within a certain cutoff + distance of a specified position. + + :param position: position + :type position: :class:`~ost.geom.Vec3` + :param cutoff: distance cutoff + :type cutoff: float + :rtype: :class:`SurfaceVertexList` + + .. method:: GetTriIDList() + + Returns a list containing all IDs of all triangles of a surface. + + :rtype: list of ints + + .. method:: GetVertex(id) + + Returns a :class:`SurfaceVertex` with the specified ID. + + :param id: vertex id + :type id: int + :rtype: :class:`SurfaceVertex` + + .. method:: GetVertexIDList() + + Returns a list containing all IDs of all vertices of a surface. + + :rtype: list of ints + + .. method:: Invert() + + Does an in place inversion of all vertex normal vectors. + + :rtype: None + +.. class:: SurfaceVertex + + TODO + + .. method:: SurfaceVertex() + SurfaceVertex(pos, norm, type, atom) + + Creates a new SurfaceVertex. + + :param pos: vertex position + :type pos: :class:`geom.Vec3` + :param norm: vertex normal vector + :type norm: :class:`geom.Vec3` + :param type: vertex type + :type type: int + :param atom: attached atom + :type atom: :class:`AtomHandle` + + .. attribute:: Atom + + :class:`AtomHandle` attached to the surface vertex. + + The AtomHandle is invalid, if no :class:`~ost.mol.EntityHandle` has been + attached or if no atom was found within the cutoff distance. + + See :meth:`SurfaceHandle.Attach` for further details. + + :type: :class:`AtomHandle` + + .. attribute:: Normal + + Normal vector of the surface vertex. + + :type: :class:`~ost.geom.Vec3` + + .. attribute:: Position + + Spatial position of the surface vertex. + + :type: :class:`~ost.geom.Vec3` + +.. class:: SurfaceVertexList + + .. method:: append(vertex) + + Add a single surface vertex. + + :param vertex: surface vertex + :type vertex: :class:`SurfaceVertex` + :rtype: None + + .. method:: extend(list) + + Add a list of surface vertices. + + :param list: list of surface vertices + :type list: :class:`SurfaceVertexList` + :rtype: None + +.. class:: SurfaceTriIDList + + .. method:: append(id) + + Add a single triangle ID. + + :param id: trinangle vertex id + :type id: int + :rtype: None + + .. method:: extend(list) + + Add a list of triangle IDs. + + :param list: list of triangle vertex ids + :type list: list of ints + :rtype: None + + + + diff --git a/modules/mol/base/pymod/CMakeLists.txt b/modules/mol/base/pymod/CMakeLists.txt index 590af690986b9c300a28917bdbc0aea48f6f0cd9..29c336dca643d9bbafac80ad9fb5e3959e6ef48c 100644 --- a/modules/mol/base/pymod/CMakeLists.txt +++ b/modules/mol/base/pymod/CMakeLists.txt @@ -18,6 +18,7 @@ export_query_view_wrapper.cc export_torsion.cc export_visitor.cc wrap_mol.cc +export_entity_property_mapper.cc ) pymod(NAME mol CPP ${OST_BASE_PYMOD_SOURCES} PY __init__.py) diff --git a/modules/mol/base/pymod/__init__.py b/modules/mol/base/pymod/__init__.py index 0665094dc7b47ae4acf5301041957f089246018c..6431ae0ce891d8e3b8fdbc2dd1ff42c60e90d046 100644 --- a/modules/mol/base/pymod/__init__.py +++ b/modules/mol/base/pymod/__init__.py @@ -16,4 +16,6 @@ # along with this library; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #------------------------------------------------------------------------------ -from _mol import * \ No newline at end of file +from _mol import * +import ost.geom as _geom +from ost.mol import alg \ No newline at end of file diff --git a/modules/mol/base/pymod/bounds.hh b/modules/mol/base/pymod/bounds.hh new file mode 100644 index 0000000000000000000000000000000000000000..80010c15a69da2909c301685e33b4c3d01efc94d --- /dev/null +++ b/modules/mol/base/pymod/bounds.hh @@ -0,0 +1,36 @@ +#ifndef OST_MOL_EXPORT_BOUNDS_HH +#define OST_MOL_EXPORT_BOUNDS_HH + +#include <ost/log.hh> + +template <typename H> +geom::Vec3 geom_center(const H& h) +{ + return h.GetBounds().GetCenter(); +} + +template <typename H> +geom::Vec3 geom_size(const H& h) +{ + WARN_DEPRECATED("GetBoundarySize()/boundary_size is deprecated. Use " + "bounds.size instead") + return h.GetBounds().GetSize(); +} + +template <typename H> +geom::Vec3 geom_start(const H& h) +{ + WARN_DEPRECATED("GetGeometricStart()/geometric_start is deprecated. Use " + "bounds.min instead") + return h.GetBounds().GetMin(); +} + +template <typename H> +geom::Vec3 geom_end(const H& h) +{ + WARN_DEPRECATED("GetGeometricEnd()/geometric_end is deprecated. Use " + "bounds.max instead") + return h.GetBounds().GetMax(); +} + +#endif diff --git a/modules/mol/base/pymod/export_atom.cc b/modules/mol/base/pymod/export_atom.cc index c2133beb95fcc8cf280db30c176a075824eedf68..13fc2ee554980d1941bb074db842f2364653bac4 100644 --- a/modules/mol/base/pymod/export_atom.cc +++ b/modules/mol/base/pymod/export_atom.cc @@ -27,7 +27,7 @@ using namespace ost; using namespace ost::mol; #include <ost/export_helper/generic_property_def.hh> - +#include <ost/export_helper/vector.hh> void export_Atom() { class_<AtomBase> atom_base("AtomBase", no_init); @@ -76,9 +76,9 @@ void export_Atom() class_<AtomHandle, bases<AtomBase> >("AtomHandle", init<>()) .def("GetResidue",&AtomHandle::GetResidue) .add_property("residue",&AtomHandle::GetResidue) - .def("Apply", &AtomHandle::Apply, args("visitor")) .def("GetBondList", &AtomHandle::GetBondList) .def("GetBondCount", &AtomHandle::GetBondCount) + .add_property("valid", &AtomHandle::IsValid) .def("GetEntity", &AtomHandle::GetEntity) .def("GetHandle", &AtomHandle::GetHandle) .add_property("handle", &AtomHandle::GetHandle) @@ -94,6 +94,7 @@ void export_Atom() class_<AtomHandleList>("AtomHandleList", no_init) .def(vector_indexing_suite<AtomHandleList>()) + .def(ost::VectorAdditions<AtomHandleList>()) ; class_<AtomProp>("AtomProp", init<>()) .def_readwrite("element", &AtomProp::element) diff --git a/modules/mol/base/pymod/export_atom_view.cc b/modules/mol/base/pymod/export_atom_view.cc index 036a87ae056ded83b3f30b4803315aa9f3295a89..d8bc4a0eeb9e4aaf72a7d083d2b03d3e375767f2 100644 --- a/modules/mol/base/pymod/export_atom_view.cc +++ b/modules/mol/base/pymod/export_atom_view.cc @@ -22,26 +22,23 @@ using namespace boost::python; #include <ost/mol/mol.hh> - +#include <ost/export_helper/vector.hh> using namespace ost; using namespace ost::mol; void export_AtomView() { - void (AtomView::* apply1)(EntityVisitor&) = &AtomView::Apply; - void (AtomView::* apply2)(EntityViewVisitor&) = &AtomView::Apply; class_<AtomView, bases<AtomBase> >("AtomView", init<>()) .def("GetResidue",&AtomView::GetResidue) .add_property("residue",&AtomView::GetResidue) - .def("Apply", apply1, args("visitor")) - .def("Apply", apply2, args("visitor")) .def(self==self) .def(self!=self) .add_property("handle", &AtomView::GetHandle) .def("RemoveBonds", &AtomView::RemoveBonds) .def("GetHandle", &AtomView::GetHandle) .def("GetBondCount", &AtomView::GetBondCount) + .add_property("valid", &AtomView::IsValid) .def("GetBondList", &AtomView::GetBondList) .def("GetHashCode", &AtomView::GetHashCode) .def("__hash__", &AtomView::GetHashCode) @@ -50,6 +47,7 @@ void export_AtomView() ; class_<AtomViewList>("AtomViewList", init<>()) .def(vector_indexing_suite<AtomViewList>()) + .def(ost::VectorAdditions<AtomViewList>()) ; } diff --git a/modules/mol/base/pymod/export_bond.cc b/modules/mol/base/pymod/export_bond.cc index ddfde472156fe0bdaaed309d93182cf42ff9963d..e409f0a86d6412447cff85ceb83612124398c73a 100644 --- a/modules/mol/base/pymod/export_bond.cc +++ b/modules/mol/base/pymod/export_bond.cc @@ -30,9 +30,6 @@ using namespace ost::mol; void export_Bond() { - void (BondHandle::* apply1)(EntityVisitor&) = &BondHandle::Apply; - void (BondHandle::* apply2)(EntityViewVisitor&) = &BondHandle::Apply; - class_<BondHandle> bond_handle("BondHandle", init<>()); bond_handle .def("GetPos", &BondHandle::GetPos) @@ -55,8 +52,6 @@ void export_Bond() .def("GetBondOrder",&BondHandle::GetBondOrder) .def("SetBondOrder",&BondHandle::SetBondOrder) .def("IsValid", &BondHandle::IsValid) - .def("Apply",apply1) - .def("Apply",apply2) .def(self == self) .def(self != self) .def(self_ns::str(self)) diff --git a/modules/mol/base/pymod/export_chain.cc b/modules/mol/base/pymod/export_chain.cc index 57e717ebac7e5a63c108eb0568c9815d09a7994e..ad473535b85d64e00e3a37bb32e08acaada3443c 100644 --- a/modules/mol/base/pymod/export_chain.cc +++ b/modules/mol/base/pymod/export_chain.cc @@ -21,10 +21,11 @@ using namespace boost::python; #include <ost/mol/mol.hh> - +#include <ost/export_helper/vector.hh> using namespace ost; using namespace ost::mol; #include <ost/export_helper/generic_property_def.hh> +#include "bounds.hh" namespace { typedef void (ChainHandle::*RnumMethod)(const ResNum&); @@ -65,7 +66,6 @@ void export_Chain() //.def("AppendResidue", append_one_arg, args("residue_key")) //.def("AppendResidue", append_two_arg, args("residue_key", // "residue_number")) - .def("Apply", &ChainHandle::Apply, args("visitor")) .def("GetNext", &ChainHandle::GetNext) .def("GetPrev", &ChainHandle::GetPrev) //.def("InsertResidueBefore", &ChainHandle::InsertResidueBefore, @@ -84,13 +84,23 @@ void export_Chain() .def("GetMass", &ChainHandle::GetMass) .def("GetCenterOfMass", &ChainHandle::GetCenterOfMass) .def("GetCenterOfAtoms", &ChainHandle::GetCenterOfAtoms) - .def("GetGeometricCenter", &ChainHandle::GetGeometricCenter) - .add_property("geometric_center", &ChainHandle::GetGeometricCenter) - .def("GetGeometricStart", &ChainHandle::GetGeometricStart) - .def("GetGeometricEnd", &ChainHandle::GetGeometricEnd) + .def("GetGeometricCenter", geom_center<ChainHandle>) + .add_property("geometric_center", geom_center<ChainHandle>) + .add_property("mass", &ChainHandle::GetMass) + .add_property("center_of_mass", &ChainHandle::GetCenterOfMass) + .add_property("center_of_atoms", &ChainHandle::GetCenterOfAtoms) + .add_property("in_sequence", &ChainHandle::InSequence) + .add_property("valid", &ChainHandle::IsValid) + .def("GetBounds", &ChainHandle::GetBounds) + .add_property("bounds", &ChainHandle::GetBounds) + .def("GetGeometricStart", geom_start<ChainHandle>) + .def("GetGeometricEnd", geom_end<ChainHandle>) + .def(self==self) + .def(self!=self) ; class_<ChainHandleList>("ChainHandleList", no_init) .def(vector_indexing_suite<ChainHandleList>()) + .def(ost::VectorAdditions<ChainHandleList>()) ; } diff --git a/modules/mol/base/pymod/export_chain_view.cc b/modules/mol/base/pymod/export_chain_view.cc index 8de0f77d7a3220db2fd8abe95fdab72340108285..117e4ce837fba5e8111d1ff0ebf473559b1340f9 100644 --- a/modules/mol/base/pymod/export_chain_view.cc +++ b/modules/mol/base/pymod/export_chain_view.cc @@ -24,9 +24,10 @@ using namespace boost::python; #include <ost/mol/query.hh> #include <ost/mol/chain_handle.hh> #include <ost/mol/entity_visitor.hh> - +#include <ost/export_helper/vector.hh> using namespace ost; using namespace ost::mol; +#include "bounds.hh" namespace { typedef ResidueView (ChainView::*RnumMethod)(const ResNum&) const; @@ -58,11 +59,9 @@ void export_ChainView() { class_<ChainViewList>("ChainViewList", no_init) .def(vector_indexing_suite<ChainViewList>()) + .def(ost::VectorAdditions<ChainViewList>()) ; - void (ChainView::* apply1)(EntityVisitor&) = &ChainView::Apply; - void (ChainView::* apply2)(EntityViewVisitor&) = &ChainView::Apply; - class_<ChainView, bases<ChainBase> >("ChainView", init<>()) .def("GetResidueList", &ChainView::GetResidueList, return_value_policy<copy_const_reference>()) @@ -80,8 +79,6 @@ void export_ChainView() X_add_residue_overloads(args("residue_handle", "view_add_flags"))) .def("AddResidue", vm, X_add_residue_overloads(args("residue_view", "view_add_flags"))) - .def("Apply", apply1, args("visitor")) - .def("Apply", apply2, args("visitor")) .def("RemoveResidue", &ChainView::RemoveResidue) .def("RemoveResidues", &ChainView::RemoveResidues) .def("InSequence", &ChainView::InSequence) @@ -96,10 +93,19 @@ void export_ChainView() .def("GetMass", &ChainView::GetMass) .def("GetCenterOfMass", &ChainView::GetCenterOfMass) .def("GetCenterOfAtoms", &ChainView::GetCenterOfAtoms) - .def("GetGeometricCenter", &ChainView::GetGeometricCenter) - .add_property("geometric_center", &ChainView::GetGeometricCenter) - .def("GetGeometricStart", &ChainView::GetGeometricStart) - .def("GetGeometricEnd", &ChainView::GetGeometricEnd) + .def("GetGeometricCenter", geom_center<ChainView>) + .add_property("geometric_center", geom_center<ChainView>) + .add_property("mass", &ChainView::GetMass) + .add_property("center_of_mass", &ChainView::GetCenterOfMass) + .add_property("center_of_atoms", &ChainView::GetCenterOfAtoms) + .add_property("valid", &ChainView::IsValid) + .add_property("in_sequence", &ChainView::InSequence) + .def("GetGeometricStart", geom_start<ChainView>) + .def("GetGeometricEnd", geom_end<ChainView>) + .def("GetBounds", &ChainView::GetBounds) + .add_property("bounds", &ChainView::GetBounds) + .def(self==self) + .def(self!=self) ; diff --git a/modules/mol/base/pymod/export_entity.cc b/modules/mol/base/pymod/export_entity.cc index 733c867d66e3e3231bda88d8ce9a542596ab2aae..b0df16c0c9065f8084127b48a1055cd29090d849 100644 --- a/modules/mol/base/pymod/export_entity.cc +++ b/modules/mol/base/pymod/export_entity.cc @@ -23,7 +23,7 @@ using namespace boost::python; #include <ost/mol/entity_view.hh> #include <ost/mol/query.hh> #include <ost/mol/mol.hh> - +#include "bounds.hh" using namespace ost; using namespace ost::mol; @@ -55,6 +55,7 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(X_xcs_editor_overloads, BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(X_ics_editor_overloads, EntityHandle::RequestICSEditor, 0, 1) + } void export_Entity() @@ -81,11 +82,13 @@ void export_Entity() .def("GetMass", &EntityHandle::GetMass) .def("GetCenterOfMass", &EntityHandle::GetCenterOfMass) .def("GetCenterOfAtoms", &EntityHandle::GetCenterOfAtoms) - .def("GetGeometricCenter", &EntityHandle::GetGeometricCenter) - .add_property("geometric_center", &EntityHandle::GetGeometricCenter) - .def("GetGeometricStart", &EntityHandle::GetGeometricStart) - .def("GetGeometricEnd", &EntityHandle::GetGeometricEnd) - .def("GetBoundarySize", &EntityHandle::GetBoundarySize) + .def("GetGeometricCenter", geom_center<EntityHandle>) + .add_property("geometric_center", geom_center<EntityHandle>) + .add_property("geometric_end", geom_end<EntityHandle>) + .add_property("geometric_start", geom_start<EntityHandle>) + .def("GetGeometricStart", geom_start<EntityHandle>) + .def("GetGeometricEnd", geom_end<EntityHandle>) + .def("GetBoundarySize", geom_size<EntityHandle>) .def("GetResidueCount", &EntityHandle::GetResidueCount) .def("GetAtomCount", &EntityHandle::GetAtomCount) .def("GetBondCount", &EntityHandle::GetBondCount) @@ -95,11 +98,13 @@ void export_Entity() .add_property("chain_count", &EntityHandle::GetChainCount) .add_property("residue_count", &EntityHandle::GetResidueCount) .add_property("atom_count", &EntityHandle::GetAtomCount) + .add_property("mass", &EntityHandle::GetMass) + .add_property("center_of_mass", &EntityHandle::GetCenterOfMass) + .add_property("center_of_atoms", &EntityHandle::GetCenterOfAtoms) .def("FindWithin", &EntityHandle::FindWithin) .def("GetAngle", get_angle1) .def("GetAngle", get_angle2) .def("FindTorsion", &EntityHandle::FindTorsion) - .def("Apply", &EntityHandle::Apply) .def("Copy", &EntityHandle::Copy) .def("GetBondList", &EntityHandle::GetBondList) .def("GetAtomList", &EntityHandle::GetAtomList) @@ -108,6 +113,9 @@ void export_Entity() .add_property("atoms", &EntityHandle::GetAtomList) .add_property("chains", &EntityHandle::GetChainList) .add_property("bonds", &EntityHandle::GetBondList) + .add_property("valid", &EntityHandle::IsValid) + .def("GetBounds", &EntityHandle::GetBounds) + .add_property("bounds", &EntityHandle::GetBounds) .def("GetTransformationMatrix", &EntityHandle::GetTransformationMatrix, return_value_policy<copy_const_reference>()) .add_property("transform", diff --git a/modules/mol/base/pymod/export_entity_property_mapper.cc b/modules/mol/base/pymod/export_entity_property_mapper.cc new file mode 100644 index 0000000000000000000000000000000000000000..fa271bed83a04df8773f8110e773b94e5a7676e1 --- /dev/null +++ b/modules/mol/base/pymod/export_entity_property_mapper.cc @@ -0,0 +1,68 @@ +#include <boost/python.hpp> + +#include <ost/mol/entity_property_mapper.hh> + +using namespace ost; +using namespace ost::mol; +using namespace boost::python; + +namespace { + + +Real (EntityPropertyMapper::*get_ah_a)(const AtomHandle&) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_av_a)(const AtomView&) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_rh_a)(const ResidueHandle&) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_rv_a)(const ResidueView&) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_ch_a)(const ChainHandle&) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_cv_a)(const ChainView&) const=&EntityPropertyMapper::Get; + + +Real (EntityPropertyMapper::*get_ah_b)(const AtomHandle&, Real) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_av_b)(const AtomView&, Real) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_rh_b)(const ResidueHandle&, Real) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_rv_b)(const ResidueView&, Real) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_ch_b)(const ChainHandle&, Real) const=&EntityPropertyMapper::Get; +Real (EntityPropertyMapper::*get_cv_b)(const ChainView&, Real) const=&EntityPropertyMapper::Get; + +EntityPropertyMapper create_epm(const String& prop_name, char level) +{ + switch(level) { + case 'A': + case 'a': + return EntityPropertyMapper(prop_name, Prop::ATOM); + case 'R': + case 'r': + return EntityPropertyMapper(prop_name, Prop::RESIDUE); + case 'C': + case 'c': + return EntityPropertyMapper(prop_name, Prop::CHAIN); + case 'U': + case 'u': + return EntityPropertyMapper(prop_name, Prop::UNSPECIFIED); + default: + throw std::runtime_error(String("unknown property level '")+level+"'"); + } +} + +} + +void export_EntityPropertyMapper() +{ + class_<EntityPropertyMapper>("EntityPropertyMapper", + init<const String&, + Prop::Level>(arg("level")=Prop::UNSPECIFIED)) + .def("__init__", &create_epm) + .def("Get", get_ah_a) + .def("Get", get_av_a) + .def("Get", get_rh_a) + .def("Get", get_rv_a) + .def("Get", get_ch_a) + .def("Get", get_cv_a) + .def("Get", get_ah_b) + .def("Get", get_av_b) + .def("Get", get_rh_b) + .def("Get", get_rv_b) + .def("Get", get_ch_b) + .def("Get", get_cv_b) + ; +} diff --git a/modules/mol/base/pymod/export_entity_view.cc b/modules/mol/base/pymod/export_entity_view.cc index 293401f1c16c211c1155b6f6008f714865a5e42b..4eadd54cdcb121c0507ffd2a4f0bdfb06f43f6d3 100644 --- a/modules/mol/base/pymod/export_entity_view.cc +++ b/modules/mol/base/pymod/export_entity_view.cc @@ -26,6 +26,7 @@ using namespace boost::python; #include <ost/mol/view_op.hh> using namespace ost; using namespace ost::mol; +#include "bounds.hh" namespace { @@ -80,25 +81,22 @@ void export_EntityView() .export_values() ; - void (EntityView::* apply1)(EntityVisitor&) = &EntityView::Apply; - void (EntityView::* apply2)(EntityViewVisitor&) = &EntityView::Apply; - Real (EntityView::*get_angle1)(const AtomHandle&, const AtomHandle&, const AtomHandle&) const = &EntityView::GetAngle; Real (EntityView::*get_angle2)(const AtomView&, const AtomView&, const AtomView&) const = &EntityView::GetAngle; class_<EntityView, bases<EntityBase> >("EntityView", init<>()) - .def("Apply",apply1) - .def("Apply",apply2) .def("Copy", &EntityView::Copy) + .def("ExtendViewToResidues", &EntityView::ExtendViewToResidues) + .def("ExtendViewToSurrounding", &EntityView::ExtendViewToSurrounding) .def("FindChain", find_chain_str) .def("FindResidue", &EntityView::FindResidue) .def("FindAtom", find_atom_a) .def("FindAtom", find_atom_b) .def("GetAtomCount", &EntityView::GetAtomCount) - .def("GetGeometricStart", &EntityView::GetGeometricStart) - .def("GetGeometricEnd", &EntityView::GetGeometricEnd) - .def("GetGeometricCenter", &EntityView::GetGeometricCenter) - .add_property("geometric_center", &EntityView::GetGeometricCenter) + .def("GetGeometricStart", geom_start<EntityView>) + .def("GetGeometricEnd", geom_end<EntityView>) + .def("GetGeometricCenter", geom_center<EntityView>) + .add_property("geometric_center", geom_center<EntityView>) .def("GetCenterOfMass", &EntityView::GetCenterOfMass) .def("GetCenterOfAtoms", &EntityView::GetCenterOfAtoms) .def("GetMass", &EntityView::GetMass) @@ -119,6 +117,10 @@ void export_EntityView() .add_property("residue_count", &EntityView::GetResidueCount) .add_property("atom_count", &EntityView::GetAtomCount) .add_property("bond_count", &EntityView::GetBondCount) + .add_property("mass", &EntityView::GetMass) + .add_property("center_of_mass", &EntityView::GetCenterOfMass) + .add_property("center_of_atoms", &EntityView::GetCenterOfAtoms) + .add_property("valid", &EntityView::IsValid) .def("GetResidueList", &EntityView::GetResidueList) .def("GetAtomList", &EntityView::GetAtomList) .add_property("atoms", &EntityView::GetAtomList) @@ -154,6 +156,8 @@ void export_EntityView() .def(self==self) .def(self!=self) .def("Dump", &EntityView::Dump) + .def("GetBounds", &EntityView::GetBounds) + .add_property("bounds", &EntityView::GetBounds) ; def("Union", &Union); def("Difference", &Difference); diff --git a/modules/mol/base/pymod/export_query.cc b/modules/mol/base/pymod/export_query.cc index 2a301e0b3407b7f7a20f1a61bdf28954267ba864..4b54cb1865981f4ee125fe01a833a54db745daa6 100644 --- a/modules/mol/base/pymod/export_query.cc +++ b/modules/mol/base/pymod/export_query.cc @@ -29,6 +29,12 @@ void translate_QueryError(const QueryError& e) { PyErr_SetString(PyExc_RuntimeError, e.GetFormattedMessage().c_str()); } +String error_msg(Query& q) +{ + return QueryError(q.GetQueryString(), + q.GetErrorDescription()).GetFormattedMessage(); +} + void export_Query() { @@ -36,6 +42,7 @@ void export_Query() class_<QueryErrorDesc>("QueryErrorDesc", no_init) .def_readonly("msg", &QueryErrorDesc::msg) + .def_readonly("range", &QueryErrorDesc::range) ; enum_<QueryFlag::Flag>("QueryFlag") @@ -52,7 +59,9 @@ void export_Query() .def("IsAtomSelected", &Query::IsAtomSelected) .def("IsResidueSelected", &Query::IsResidueSelected) .def("IsChainSelected", &Query::IsChainSelected) - .add_property("String", + .add_property("valid", &Query::IsValid) + .add_property("error", &error_msg) + .add_property("string", make_function(&Query::GetQueryString, return_value_policy<copy_const_reference>())) .def("GetErrorDescription", &Query::GetErrorDescription, diff --git a/modules/mol/base/pymod/export_query_view_wrapper.cc b/modules/mol/base/pymod/export_query_view_wrapper.cc index 9c7c58a4b483826cd7f164c2897bc574c939c7cb..9bc933069cca864eb3e5c0d7837e3b2becb7f2ef 100644 --- a/modules/mol/base/pymod/export_query_view_wrapper.cc +++ b/modules/mol/base/pymod/export_query_view_wrapper.cc @@ -32,16 +32,18 @@ void export_QueryViewWrapper() class_<QueryViewWrapper>("QueryViewWrapper", init<>()) .def(init<const EntityHandle&>()) .def(init<const EntityView&>()) - .def(init<const Query&, const EntityHandle&, optional<QueryFlags> >()) - .def(init<const Query&, const EntityView&, optional<QueryFlags> >()) + .def(init<const Query&, const EntityHandle&>()) + .def(init<const Query&, optional<const EntityView&> >()) + .def(init<const Query&, QueryFlags, const EntityHandle&>()) + .def(init<const Query&, QueryFlags, optional<const EntityView&> >()) .def("GetEntityView",&QueryViewWrapper::GetEntityView) .def("DependsOnQuery",&QueryViewWrapper::DependsOnQuery) .def("IsDataValid", &QueryViewWrapper::IsDataValid) .def("SetQuery", &QueryViewWrapper::SetQuery) .def("GetQuery", &QueryViewWrapper::GetQuery ,return_value_policy<copy_const_reference>()) - .def("SetQueryFlags", &QueryViewWrapper::SetQueryFlags) - .def("GetQueryFlags", &QueryViewWrapper::GetQueryFlags) + .def("GetFlags", &QueryViewWrapper::GetFlags) + .def("SetFlags", &QueryViewWrapper::SetFlags) .add_property("entity_view", &QueryViewWrapper::GetEntityView) .add_property("query", make_function(&QueryViewWrapper::GetQuery ,return_value_policy<copy_const_reference>())) diff --git a/modules/mol/base/pymod/export_residue.cc b/modules/mol/base/pymod/export_residue.cc index 27575f800ff1b37971cde43d484557ebe3ed855d..ef844831cb222c399cf5a4405803be9224c2c48e 100644 --- a/modules/mol/base/pymod/export_residue.cc +++ b/modules/mol/base/pymod/export_residue.cc @@ -22,12 +22,12 @@ using namespace boost::python; #include <ost/mol/mol.hh> - +#include <ost/export_helper/vector.hh> using namespace ost; using namespace ost::mol; #include <ost/export_helper/generic_property_def.hh> - +#include "bounds.hh" namespace { @@ -109,6 +109,8 @@ void export_Residue() &ResidueBase::SetOneLetterCode) .def("GetQualifedName", &ResidueBase::GetQualifiedName) .def("IsPeptideLinking", &ResidueBase::IsPeptideLinking) + .add_property("peptide_linking", &ResidueBase::IsPeptideLinking) + .def("GetKey", &ResidueBase::GetKey, return_value_policy<copy_const_reference>()) .def("GetName", &ResidueBase::GetName, @@ -154,7 +156,6 @@ void export_Residue() .add_property("atoms", &ResidueHandle::GetAtomList) .def("FindAtom", &ResidueHandle::FindAtom, args("atom_name")) .def("FindTorsion", &ResidueHandle::FindTorsion) - .def("Apply", &ResidueHandle::Apply, args("visitor")) .def("GetAtomCount", &ResidueHandle::GetAtomCount) .def("GetBondCount", &ResidueHandle::GetBondCount) .add_property("atom_count", &ResidueHandle::GetAtomCount) @@ -164,16 +165,26 @@ void export_Residue() .def("GetMass", &ResidueHandle::GetMass) .def("GetCenterOfMass", &ResidueHandle::GetCenterOfMass) .def("GetCenterOfAtoms", &ResidueHandle::GetCenterOfAtoms) - .def("GetGeometricCenter", &ResidueHandle::GetGeometricCenter) - .add_property("geometric_center", &ResidueHandle::GetGeometricCenter) - .def("GetGeometricStart", &ResidueHandle::GetGeometricStart) - .def("GetGeometricEnd", &ResidueHandle::GetGeometricEnd) + .def("GetGeometricCenter", geom_center<ResidueHandle>) + .add_property("mass", &ResidueHandle::GetMass) + .add_property("center_of_mass", &ResidueHandle::GetCenterOfMass) + .add_property("center_of_atoms", &ResidueHandle::GetCenterOfAtoms) + .add_property("geometric_center", geom_center<ResidueHandle>) + .add_property("phi_torsion", &ResidueHandle::GetPhiTorsion) + .add_property("psi_torsion", &ResidueHandle::GetPsiTorsion) + .add_property("omega_torsion", &ResidueHandle::GetOmegaTorsion) + .add_property("valid", &ResidueHandle::IsValid) + .def("GetGeometricStart", geom_start<ResidueHandle>) + .def("GetGeometricEnd", geom_end<ResidueHandle>) .def(self==self) .def(self!=self) .def("__hash__", &ResidueHandle::GetHashCode) + .def("GetBounds", &ResidueHandle::GetBounds) + .add_property("bounds", &ResidueHandle::GetBounds) ; class_<ResidueHandleList>("ResidueHandleList", no_init) .def(vector_indexing_suite<ResidueHandleList>()) + .def(ost::VectorAdditions<ResidueHandleList>()) ; } diff --git a/modules/mol/base/pymod/export_residue_view.cc b/modules/mol/base/pymod/export_residue_view.cc index 29943f54a99392eb06afce6d84d91ffe9e0d4da6..f8dbd089628879641e24731629afe92a108e4403 100644 --- a/modules/mol/base/pymod/export_residue_view.cc +++ b/modules/mol/base/pymod/export_residue_view.cc @@ -22,9 +22,10 @@ using namespace boost::python; #include <ost/mol/mol.hh> - +#include <ost/export_helper/vector.hh> using namespace ost; using namespace ost::mol; +#include "bounds.hh" namespace { typedef AtomView (ResidueView::*StringMethod)(const String&) const; @@ -48,11 +49,9 @@ void export_ResidueView() { class_<ResidueViewList>("ResidueViewList", no_init) .def(vector_indexing_suite<ResidueViewList>()) + .def(ost::VectorAdditions<ResidueViewList>()) ; - void (ResidueView::* apply1)(EntityVisitor&) = &ResidueView::Apply; - void (ResidueView::* apply2)(EntityViewVisitor&) = &ResidueView::Apply; - class_<ResidueView, bases<ResidueBase> >("ResidueView", init<>()) .def("GetChain",&ResidueView::GetChain) .def("GetAtomList", &ResidueView::GetAtomList, @@ -66,9 +65,7 @@ void export_ResidueView() .def("AddAtom", add_atom_view, X_add_atom_overloads(args("atom_view", "flags"))) .def("FindAtom", handle_find_atom, args("atom_handle")) .def("IsAtomIncluded", &ResidueView::IsAtomIncluded, args("atom_handle")) - .def("Apply", apply1, args("visitor")) - .def("Apply", apply2, args("visitor")) - .def("GetIndex", &ResidueView::GetIndex) + .def("GetIndex", &ResidueView::GetIndex) .add_property("chain", &ResidueView::GetChain) .add_property("entity", &ResidueView::GetEntity) .add_property("index", &ResidueView::GetIndex) @@ -83,10 +80,16 @@ void export_ResidueView() .def("GetMass", &ResidueView::GetMass) .def("GetCenterOfMass", &ResidueView::GetCenterOfMass) .def("GetCenterOfAtoms", &ResidueView::GetCenterOfAtoms) - .def("GetGeometricCenter", &ResidueView::GetGeometricCenter) - .add_property("geometric_center", &ResidueView::GetGeometricCenter) - .def("GetGeometricStart", &ResidueView::GetGeometricStart) - .def("GetGeometricEnd", &ResidueView::GetGeometricEnd) + .def("GetGeometricCenter", geom_center<ResidueView>) + .add_property("mass", &ResidueView::GetMass) + .add_property("center_of_mass", &ResidueView::GetCenterOfMass) + .add_property("center_of_atoms", &ResidueView::GetCenterOfAtoms) + .add_property("geometric_center", geom_center<ResidueView>) + .add_property("valid", &ResidueView::IsValid) + .def("GetGeometricStart", geom_start<ResidueView>) + .def("GetGeometricEnd", geom_end<ResidueView>) + .def("GetBounds", &ResidueView::GetBounds) + .add_property("bounds", &ResidueView::GetBounds) ; diff --git a/modules/mol/base/pymod/wrap_mol.cc b/modules/mol/base/pymod/wrap_mol.cc index 202636aff4ae7cf9b0716ca437407a6e46a746d7..6885a79020eb5a667a498766a7ae6c07df7c54e8 100644 --- a/modules/mol/base/pymod/wrap_mol.cc +++ b/modules/mol/base/pymod/wrap_mol.cc @@ -41,6 +41,7 @@ void export_CoordGroup(); void export_PropertyID(); void export_BoundingBox(); void export_QueryViewWrapper(); +void export_EntityPropertyMapper(); BOOST_PYTHON_MODULE(_mol) { export_Entity(); @@ -61,7 +62,7 @@ BOOST_PYTHON_MODULE(_mol) export_PropertyID(); export_BoundingBox(); export_QueryViewWrapper(); - + export_EntityPropertyMapper(); class_<Transform>("Transform", init<>()) .def(init<const Transform&>()) // shouldn't this be there automatically ? .def("GetMatrix",&Transform::GetMatrix) diff --git a/modules/mol/base/src/bounding_box.cc b/modules/mol/base/src/bounding_box.cc index 8fd6a49d80e043d7a82618b54a6ec58603dddbf0..15473b5def7f392e90962d048e1a2bde18e35a74 100644 --- a/modules/mol/base/src/bounding_box.cc +++ b/modules/mol/base/src/bounding_box.cc @@ -36,7 +36,7 @@ public: PrincipalAxisCalc(const EntityHandle& ent): natoms_(ent.GetAtomCount()) { - mean_=ent.GetGeometricCenter(); + mean_=ent.GetBounds().GetCenter(); cov_.setZero(); } PrincipalAxisCalc(const AtomHandleList& atoms): @@ -55,7 +55,7 @@ public: PrincipalAxisCalc(const EntityView& ent): natoms_(ent.GetAtomCount()) { - mean_=ent.GetGeometricCenter(); + mean_=ent.GetBounds().GetCenter(); cov_.setZero(); } virtual bool VisitAtom(const AtomHandle& atom) diff --git a/modules/mol/base/src/chain_handle.cc b/modules/mol/base/src/chain_handle.cc index 4581eb7806890f1a12da761cfd6ac18ba906857e..1f0e8094c10c8f95f5e6e71d48fb675f9ee63091 100644 --- a/modules/mol/base/src/chain_handle.cc +++ b/modules/mol/base/src/chain_handle.cc @@ -125,23 +125,26 @@ bool ChainHandle::operator!=(const ChainHandle& ref) const ResidueHandleIter ChainHandle::ResiduesBegin() const { this->CheckValidity(); impl::ChainImplPtr c=Impl(); - impl::ChainImplList::iterator cc=c->GetEntity()->GetChain(this->GetName()); - return ResidueHandleIter(cc, c->GetResidueList().begin(), - c->GetEntity()); + return ResidueHandleIter(c->GetEntity()->GetChainIter(this->GetName()), + impl::begin(c->GetResidueList()), + c->GetEntity(), true); } ResidueHandleIter ChainHandle::ResiduesEnd() const { this->CheckValidity(); impl::ChainImplPtr c=Impl(); - impl::ChainImplList::iterator cc=c->GetEntity()->GetChain(this->GetName()); - impl::ChainImplList::iterator nc=cc; ++nc; - if (nc!=c->GetEntity()->GetChainList().end()) { + impl::pointer_it<impl::ChainImplPtr> cc=c->GetEntity()->GetChainIter(this->GetName()); + /*impl::pointer_it<impl::ChainImplPtr> nc=cc; ++nc; + + if (nc!=impl::end(c->GetEntity()->GetChainList())) { return ResidueHandleIter(nc, (*nc)->GetResidueList().begin(), - c->GetEntity()); + c->GetEntity(), true); } else { return ResidueHandleIter(cc, c->GetResidueList().end(), - c->GetEntity()); - } + c->GetEntity(), true); + }*/ + return ResidueHandleIter(cc, impl::end(c->GetResidueList()), + c->GetEntity(), true); } AtomHandleIter ChainHandle::AtomsBegin() const @@ -152,9 +155,9 @@ AtomHandleIter ChainHandle::AtomsBegin() const return AtomHandleIter(); } - impl::ChainImplList::iterator cc=c->GetEntity()->GetChain(this->GetName()); - return AtomHandleIter(cc, c->GetResidueList().begin(), - c->GetResidueList().front()->GetAtomList().begin(), + impl::pointer_it<impl::ChainImplPtr> cc=c->GetEntity()->GetChainIter(this->GetName()); + return AtomHandleIter(cc, impl::begin(c->GetResidueList()), + impl::begin(c->GetResidueList().front()->GetAtomList()), c->GetEntity(), true); } @@ -165,15 +168,16 @@ AtomHandleIter ChainHandle::AtomsEnd() const { if (c->GetResidueList().empty()) { return AtomHandleIter(); } - impl::ChainImplList::iterator cc=c->GetEntity()->GetChain(this->GetName()); - impl::ChainImplList::iterator nc=cc; ++nc; + impl::pointer_it<impl::ChainImplPtr> cc=c->GetEntity()->GetChainIter(this->GetName()); + impl::pointer_it<impl::ChainImplPtr> nc=cc; ++nc; impl::ResidueImplList& rc=(*nc)->GetResidueList(); - if (nc!=c->GetEntity()->GetChainList().end()) { - return AtomHandleIter(nc, rc.begin(), rc.front()->GetAtomList().begin(), + if (nc!=impl::end(c->GetEntity()->GetChainList())) { + return AtomHandleIter(nc, impl::begin(rc), + impl::begin(rc.front()->GetAtomList()), c->GetEntity(), false); } else { - return AtomHandleIter(cc, c->GetResidueList().end(), - c->GetResidueList().back()->GetAtomList().end(), + return AtomHandleIter(cc, impl::end(c->GetResidueList()), + impl::end(c->GetResidueList().back()->GetAtomList()), c->GetEntity(), false); } } @@ -193,22 +197,10 @@ void ChainHandle::AssignSecondaryStructure(SecStructure ss, Impl()->AssignSecondaryStructure(ss, start, end); } -geom::Vec3 ChainHandle::GetGeometricCenter() const -{ - this->CheckValidity(); - return Impl()->GetGeometricCenter(); -} - -geom::Vec3 ChainHandle::GetGeometricStart() const -{ - this->CheckValidity(); - return Impl()->GetGeometricStart(); -} - -geom::Vec3 ChainHandle::GetGeometricEnd() const +geom::AlignedCuboid ChainHandle::GetBounds() const { this->CheckValidity(); - return Impl()->GetGeometricEnd(); + return Impl()->GetBounds(); } geom::Vec3 ChainHandle::GetCenterOfMass() const diff --git a/modules/mol/base/src/chain_handle.hh b/modules/mol/base/src/chain_handle.hh index 0faa7ee8fc2f691b3acc86d539300b93ca211843..6337818deeebc8356c1a08421173edc39da076ee 100644 --- a/modules/mol/base/src/chain_handle.hh +++ b/modules/mol/base/src/chain_handle.hh @@ -166,18 +166,7 @@ public: /// similar to GetCenterOfMass(), but the atoms are not mass weighted geom::Vec3 GetCenterOfAtoms() const; - /// \brief Get entity's geometric center - /// - /// Returns the geometric center of the entity's bounding box - /// by calculating (GetGeometricStart()+GetGeometricEnd())/2 - geom::Vec3 GetGeometricCenter() const; - - /// \brief Get entity's minimum cartesian coordinates - geom::Vec3 GetGeometricStart() const; - - /// \brief Get entity's maximum cartesian coordinates - geom::Vec3 GetGeometricEnd() const; - + geom::AlignedCuboid GetBounds() const; /// \brief assign secondary structure to the inclusive residue range /// start, end void AssignSecondaryStructure(SecStructure ss, diff --git a/modules/mol/base/src/chain_view.cc b/modules/mol/base/src/chain_view.cc index fac143b8527ef1c880c615f9fc5ff47808516fb9..1c5ba252e6c3d526ac711bb99f8031d860bda5e5 100644 --- a/modules/mol/base/src/chain_view.cc +++ b/modules/mol/base/src/chain_view.cc @@ -327,44 +327,29 @@ Real ChainView::GetMass() const { return mass; } -geom::Vec3 ChainView::GetGeometricStart() const +geom::AlignedCuboid ChainView::GetBounds() const { this->CheckValidity(); - geom::Vec3 minimum(std::numeric_limits<Real>::max(), - std::numeric_limits<Real>::max(), - std::numeric_limits<Real>::max()); - ResidueViewList::const_iterator i; - for (i=data_->residues.begin(); i!=data_->residues.end(); ++i) { - ResidueView r=*i; - for (AtomViewList::const_iterator j=r.GetAtomList().begin(), - e2=r.GetAtomList().end(); j!=e2; ++j) { - minimum=geom::Min(minimum, j->GetPos()); - } - } - return minimum; -} + geom::Vec3 mmin( std::numeric_limits<Real>::max()); + geom::Vec3 mmax(-std::numeric_limits<Real>::max()); -geom::Vec3 ChainView::GetGeometricEnd() const -{ - this->CheckValidity(); - geom::Vec3 maximum(-std::numeric_limits<Real>::max(), - -std::numeric_limits<Real>::max(), - -std::numeric_limits<Real>::max()); - ResidueViewList::const_iterator i; - for (i=data_->residues.begin(); i!=data_->residues.end(); ++i) { + + bool atoms=false; + for (ResidueViewList::const_iterator + i=data_->residues.begin(); i!=data_->residues.end(); ++i) { ResidueView r=*i; for (AtomViewList::const_iterator j=r.GetAtomList().begin(), e2=r.GetAtomList().end(); j!=e2; ++j) { - maximum=geom::Max(maximum, j->GetPos()); + mmin=geom::Min(mmin, j->GetPos()); + mmax=geom::Max(mmax, j->GetPos()); + atoms=true; } } - return maximum; -} - -geom::Vec3 ChainView::GetGeometricCenter() const -{ - this->CheckValidity(); - return (this->GetGeometricStart() + this->GetGeometricEnd())/2; + if (atoms) { + return geom::AlignedCuboid(mmin, mmax); + } else { + return geom::AlignedCuboid(geom::Vec3(), geom::Vec3()); + } } geom::Vec3 ChainView::GetCenterOfAtoms() const diff --git a/modules/mol/base/src/chain_view.hh b/modules/mol/base/src/chain_view.hh index 3be942a5648cbb4f51a5a909e577a1e255c1d4e4..800d1fc82434898e2cd1bd436e8df4dfb1f5be8b 100644 --- a/modules/mol/base/src/chain_view.hh +++ b/modules/mol/base/src/chain_view.hh @@ -143,14 +143,8 @@ public: /// similar to GetCenterOfMass(), but the atoms are not mass weighted geom::Vec3 GetCenterOfAtoms() const; - /// \brief Get entity's geometric center - /// - /// Returns the geometric center of the entity's bounding box - /// by calculating (GetGeometricStart()+GetGeometricEnd())/2 - geom::Vec3 GetGeometricCenter() const; - - geom::Vec3 GetGeometricStart() const; - geom::Vec3 GetGeometricEnd() const; + /// \brief Get entity's axis aligned bounding box + geom::AlignedCuboid GetBounds() const; /// /// \brief remove all residues from the view void RemoveResidues(); diff --git a/modules/mol/base/src/chem_class.hh b/modules/mol/base/src/chem_class.hh index b7740a94257ef64f7ec8feb365a7fd8ab25b3fe9..f9c0f8279666df6fee4f2370b2ed40ba29432203 100644 --- a/modules/mol/base/src/chem_class.hh +++ b/modules/mol/base/src/chem_class.hh @@ -37,6 +37,7 @@ struct ChemClass { const static char LSaccharide ='X'; const static char DSaccharide ='Y'; const static char Saccharide ='Z'; + const static char Water ='W'; const static char Unknown ='U'; explicit ChemClass(char chem_class) : chem_class_(chem_class) { @@ -62,6 +63,8 @@ struct ChemClass { return (chem_class_==ChemClass::DNALinking || chem_class_==ChemClass::RNALinking); } + + bool IsWater() const { return chem_class_==ChemClass::Water; } operator char() const { return chem_class_; } diff --git a/modules/mol/base/src/coord_source.cc b/modules/mol/base/src/coord_source.cc index 0afa3597dacfba19e28d790f0a606d7311256877..37d1fbd91cf9ce4dba16bb3614909cf77f064111 100644 --- a/modules/mol/base/src/coord_source.cc +++ b/modules/mol/base/src/coord_source.cc @@ -54,12 +54,12 @@ CoordSource::~CoordSource() void CoordSource::CopyFrame(uint frame_id) { if (atoms_.empty()) { - LOGN_DEBUG("atom list empty, ignored"); + LOG_DEBUG("atom list empty, ignored"); return; } CoordFramePtr frame=this->GetFrame(frame_id); if (!frame) { - LOGN_DEBUG("invalid frame given, ignored"); + LOG_DEBUG("invalid frame given, ignored"); return; } assert(frame->size()==atoms_.size()); diff --git a/modules/mol/base/src/editor_base.cc b/modules/mol/base/src/editor_base.cc index 5cddb05bfbcb8ef0f28d5087baca457f31823982..02f7d1744240d5b05fdf1d1a8240d67eb503ad7a 100644 --- a/modules/mol/base/src/editor_base.cc +++ b/modules/mol/base/src/editor_base.cc @@ -22,7 +22,7 @@ #include "impl/entity_impl.hh" #include "impl/chain_impl.hh" #include "impl/residue_impl.hh" - +#include "impl/atom_impl.hh" #include "mol.hh" /* @@ -135,6 +135,12 @@ void EditorBase::ReorderAllResidues() ent_.Impl()->ReorderAllResidues(); } +void EditorBase::RenameAtom(AtomHandle atom, const String& new_name) +{ + CheckHandleValidity(atom); + atom.Impl()->SetName(new_name); +} + BondHandle EditorBase::Connect(const AtomHandle& first, const AtomHandle& second) { CheckHandleValidity(first); diff --git a/modules/mol/base/src/editor_base.hh b/modules/mol/base/src/editor_base.hh index 53246e7a204522d78617c956b3e046e7378e45ae..4354c82954f995340078c5bf7fafc289b43cd53c 100644 --- a/modules/mol/base/src/editor_base.hh +++ b/modules/mol/base/src/editor_base.hh @@ -193,6 +193,9 @@ public: /// \brief Get edit mode of editor EditMode GetMode() const; + + /// \brief change the name of the atom to the new name + void RenameAtom(AtomHandle atom, const String& new_name); protected: EditorBase(const EntityHandle& ent, EditMode mode); void UpdateTrace(); diff --git a/modules/mol/base/src/entity_handle.cc b/modules/mol/base/src/entity_handle.cc index 8686df88c286c726648bad9abec259514414a9c2..17c47cd81112c92ef308c598cf7c03202a1c6648 100644 --- a/modules/mol/base/src/entity_handle.cc +++ b/modules/mol/base/src/entity_handle.cc @@ -55,25 +55,12 @@ geom::Vec3 EntityHandle::GetCenterOfAtoms() const { return Impl()->GetCenterOfAtoms(); } -geom::Vec3 EntityHandle::GetGeometricCenter() const { - this->CheckValidity(); - return Impl()->GetGeometricCenter(); -} - -geom::Vec3 EntityHandle::GetGeometricStart() const { - this->CheckValidity(); - return Impl()->GetGeometricStart(); -} - -geom::Vec3 EntityHandle::GetGeometricEnd() const { +geom::AlignedCuboid EntityHandle::GetBounds() const +{ this->CheckValidity(); - return Impl()->GetGeometricEnd(); + return Impl()->GetBounds(); } -geom::Vec3 EntityHandle::GetBoundarySize() const { - this->CheckValidity(); - return Impl()->GetBoundarySize(); -} EntityHandle::EntityHandle(const impl::EntityImplPtr& e) : EntityBase(e) @@ -262,8 +249,8 @@ ResidueHandleIter EntityHandle::ResiduesBegin() const { } impl::EntityImplPtr i=Impl(); impl::ChainImplPtr chain=i->GetChainList().front(); - return ResidueHandleIter(i->GetChainList().begin(), - chain->GetResidueList().begin(), i); + return ResidueHandleIter(impl::begin(i->GetChainList()), + impl::begin(chain->GetResidueList()), i, true); } ResidueHandleIter EntityHandle::ResiduesEnd() const { @@ -273,8 +260,8 @@ ResidueHandleIter EntityHandle::ResiduesEnd() const { } impl::EntityImplPtr i=Impl(); impl::ChainImplPtr chain=i->GetChainList().back(); - return ResidueHandleIter(i->GetChainList().end(), - chain->GetResidueList().end(), i); + return ResidueHandleIter(impl::end(i->GetChainList()), + impl::end(chain->GetResidueList()), i, false); } ChainHandleIter EntityHandle::ChainsBegin() const { @@ -298,8 +285,8 @@ AtomHandleIter EntityHandle::AtomsBegin() const { if (r.empty()) { return AtomHandleIter(); } - return AtomHandleIter(ent->GetChainList().begin(), r.begin(), - r.front()->GetAtomList().begin(), ent, true); + return AtomHandleIter(impl::begin(ent->GetChainList()), impl::begin(r), + impl::begin(r.front()->GetAtomList()), ent, true); } AtomHandleIter EntityHandle::AtomsEnd() const @@ -313,8 +300,8 @@ AtomHandleIter EntityHandle::AtomsEnd() const if (r.empty()) { return AtomHandleIter(); } - return AtomHandleIter(ent->GetChainList().end(), r.end(), - r.back()->GetAtomList().end(), ent, false); + return AtomHandleIter(impl::end(ent->GetChainList()), impl::end(r), + impl::end(r.back()->GetAtomList()), ent, false); } XCSEditor EntityHandle::RequestXCSEditor(EditMode mode) const diff --git a/modules/mol/base/src/entity_handle.hh b/modules/mol/base/src/entity_handle.hh index 9bb291d8ea21cd21907ee65ec4d20b09ed1d99e7..540425c70219e49396c29ce19ef54850712edd70 100644 --- a/modules/mol/base/src/entity_handle.hh +++ b/modules/mol/base/src/entity_handle.hh @@ -84,20 +84,8 @@ public: /// \brief Get entity's center of mass (mass weighted) geom::Vec3 GetCenterOfMass() const; - /// \brief Get entity's geometric center - /// - /// Returns the geometric center of the entity's bounding box - /// by calculating (GetGeometricStart()+GetGeometricEnd())/2 - geom::Vec3 GetGeometricCenter() const; - - /// \brief Get entity's minimum cartesian coordinates - geom::Vec3 GetGeometricStart() const; - - /// \brief Get entity's maximum cartesian coordinates - geom::Vec3 GetGeometricEnd() const; - /// \brief Get size of the entity - geom::Vec3 GetBoundarySize() const; + geom::AlignedCuboid GetBounds() const; //@} /// \brief diff --git a/modules/mol/base/src/entity_view.cc b/modules/mol/base/src/entity_view.cc index a3819e1020d4c8dd975f9b2e799d4bf248092a34..945230d2f2779b172c02bc4ffc341fb2d3c96a73 100644 --- a/modules/mol/base/src/entity_view.cc +++ b/modules/mol/base/src/entity_view.cc @@ -171,13 +171,6 @@ geom::Vec3 EntityView::GetCenterOfAtoms() const return center; } -geom::Vec3 EntityView::GetGeometricCenter() const -{ - geom::Vec3 center; - center = (this->GetGeometricEnd() + this->GetGeometricStart())/2; - return center; -} - geom::Vec3 EntityView::GetCenterOfMass() const { geom::Vec3 center; @@ -472,8 +465,9 @@ AtomViewIter EntityView::AtomsBegin() const if (rvl.empty()) { return AtomViewIter(); } - return AtomViewIter(data_->chains.begin(), rvl.begin(), - rvl.front().GetAtomList().begin(), *this, true); + return AtomViewIter(impl::begin(data_->chains), impl::begin(rvl), + impl::begin(rvl.front().GetAtomList()), + *this, true); } AtomViewIter EntityView::AtomsEnd() const { @@ -485,26 +479,30 @@ AtomViewIter EntityView::AtomsEnd() const { if (rvl.empty()) { return AtomViewIter(); } - return AtomViewIter(data_->chains.end(), rvl.end(), - rvl.back().GetAtomList().end(), *this, false); + return AtomViewIter(impl::end(data_->chains), impl::end(rvl), + impl::end(rvl.back().GetAtomList()), *this, false); } -ResidueViewIter EntityView::ResiduesBegin() const { +ResidueViewIter EntityView::ResiduesBegin() const +{ this->CheckValidity(); if (data_->chains.empty()) { return ResidueViewIter(); } const ResidueViewList& rvl=data_->chains.front().GetResidueList(); - return ResidueViewIter(data_->chains.begin(), rvl.begin(), *this); + return ResidueViewIter(impl::begin(data_->chains), + impl::begin(rvl), *this, true); } -ResidueViewIter EntityView::ResiduesEnd() const { +ResidueViewIter EntityView::ResiduesEnd() const +{ this->CheckValidity(); if (data_->chains.empty()) { return ResidueViewIter(); } const ResidueViewList& rvl=data_->chains.back().GetResidueList(); - return ResidueViewIter(data_->chains.end(), rvl.end(), *this); + return ResidueViewIter(impl::end(data_->chains), + impl::end(rvl), *this, false); } @@ -690,9 +688,14 @@ std::pair<Real,Real> EntityView::GetMinMax(const String& prop, Real min_v=std::numeric_limits<Real>::max(); Real max_v=-std::numeric_limits<Real>::max(); for(AtomViewIter it=AtomsBegin(); it!=this->AtomsEnd(); ++it) { - Real v=epm.Get(*it); - max_v=std::max(v, max_v); - min_v=std::min(v, min_v); + try { + Real v=epm.Get(*it); + max_v=std::max(v, max_v); + min_v=std::min(v, min_v); + } catch(...) { + // do nothing in case of missing property + continue; + } } return std::make_pair(min_v,max_v); } @@ -721,17 +724,6 @@ AtomView EntityView::FindXAtom(const AtomHandle& ah) } #endif -geom::Vec3 EntityView::GetGeometricStart() const -{ - this->CheckValidity(); - geom::Vec3 m(std::numeric_limits<Real>::max(), - std::numeric_limits<Real>::max(), - std::numeric_limits<Real>::max()); - for(AtomViewIter it=AtomsBegin(); it!=this->AtomsEnd(); ++it) { - m=geom::Min(m, (*it).GetPos()); - } - return m; -} AtomView EntityView::FindAtom(const String& chain_name, const ResNum& num, @@ -744,16 +736,20 @@ AtomView EntityView::FindAtom(const String& chain_name, } return AtomView(); } -geom::Vec3 EntityView::GetGeometricEnd() const +geom::AlignedCuboid EntityView::GetBounds() const { this->CheckValidity(); - geom::Vec3 m(-std::numeric_limits<Real>::max(), - -std::numeric_limits<Real>::max(), - -std::numeric_limits<Real>::max()); - for(AtomViewIter it=AtomsBegin(); it!=this->AtomsEnd(); ++it) { - m=geom::Max(m, (*it).GetPos()); + geom::Vec3 mmin( std::numeric_limits<Real>::max()); + geom::Vec3 mmax(-std::numeric_limits<Real>::max()); + if (this->GetAtomCount()) { + for(AtomViewIter it=AtomsBegin(); it!=this->AtomsEnd(); ++it) { + mmax=geom::Max(mmax, (*it).GetPos()); + mmin=geom::Min(mmin, (*it).GetPos()); + } + return geom::AlignedCuboid(mmin, mmax); + } else { + return geom::AlignedCuboid(geom::Vec3(), geom::Vec3()); } - return m; } @@ -777,6 +773,42 @@ void EntityView::RemoveAtomInternal(const AtomView& av) data_->handle_to_view.erase(av.GetHandle().GetHashCode()); } +EntityView EntityView::ExtendViewToResidues() const +{ + this->CheckValidity(); + EntityView view=this->CreateEmptyView(); + ResidueViewList residues=this->GetResidueList(); + ResidueViewList::const_iterator res_it; + for (res_it=residues.begin(); res_it!=residues.end(); ++res_it) { + view.AddResidue((*res_it).GetHandle(), + mol::ViewAddFlag::INCLUDE_ALL|mol::ViewAddFlag::CHECK_DUPLICATES); + } + view.AddAllInclusiveBonds(); + return view; +} + +EntityView EntityView::ExtendViewToSurrounding(Real gap) const +{ + this->CheckValidity(); + EntityView view=this->CreateEmptyView(); + AtomViewList atoms=this->GetAtomList(); + AtomViewList::const_iterator atm_it; + Real max_dist=5+gap; + for (atm_it=atoms.begin(); atm_it!=atoms.end(); ++atm_it) { + view.AddAtom((*atm_it),mol::ViewAddFlag::INCLUDE_ALL|mol::ViewAddFlag::CHECK_DUPLICATES); + AtomHandleList prot_atoms=this->GetHandle().FindWithin((*atm_it).GetPos(),max_dist); + AtomHandleList::const_iterator protatm_it; + for (protatm_it=prot_atoms.begin(); protatm_it!=prot_atoms.end(); ++protatm_it){ + Real dist=geom::Distance((*atm_it).GetPos(), (*protatm_it).GetPos()); + if (dist <= (*atm_it).GetRadius() + (*protatm_it).GetRadius() + gap) { + view.AddAtom((*protatm_it),mol::ViewAddFlag::INCLUDE_ALL|mol::ViewAddFlag::CHECK_DUPLICATES); + } + } + } + view.AddAllInclusiveBonds(); + return view; +} + namespace { class EntityViewDumper : public EntityVisitor { diff --git a/modules/mol/base/src/entity_view.hh b/modules/mol/base/src/entity_view.hh index e55894da5fa97e37911942c0151abd01f8ce2eab..e9566a1c2f3c756fbf003031ad4a0d6f01df05b2 100644 --- a/modules/mol/base/src/entity_view.hh +++ b/modules/mol/base/src/entity_view.hh @@ -108,14 +108,8 @@ public: /// similar to GetCenterOfMass(), but the atoms are not mass weighted geom::Vec3 GetCenterOfAtoms() const; - /// \brief Get entity's geometric center - /// - /// Returns the geometric center of the entity's bounding box - /// by calculating (GetGeometricStart()+GetGeometricEnd())/2 - geom::Vec3 GetGeometricCenter() const; - - geom::Vec3 GetGeometricStart() const; - geom::Vec3 GetGeometricEnd() const; + geom::AlignedCuboid GetBounds() const; + public: /// \name Internal //@{ @@ -292,6 +286,16 @@ public: Real GetAngle(const AtomView& a1, const AtomView& a2, const AtomView& a3) const; + /// \brief Extend current view to include all atoms of each residue where + /// at least one atom is selected currently + EntityView ExtendViewToResidues() const; + + /// \brief Extend current view to include all atoms that are within the sum + /// of their vdw radii + gap + /// + /// Include all atoms within: at1.GetRadius() + at2.GetRadius() + gap + EntityView ExtendViewToSurrounding(Real gap) const; + /// \brief returns a string containing a human-readable summary of the /// entity view String Dump() const; diff --git a/modules/mol/base/src/impl/CMakeLists.txt b/modules/mol/base/src/impl/CMakeLists.txt index 3de4864e7a11e9dd29904fd60f997bab8cec2e51..41ddeb0b5672a5081a97b63ec1a6a5c3cdc497d5 100644 --- a/modules/mol/base/src/impl/CMakeLists.txt +++ b/modules/mol/base/src/impl/CMakeLists.txt @@ -14,6 +14,7 @@ PARENT_SCOPE ) set(OST_MOL_IMPL_HEADERS +pointer_iterator.hh atom_group.hh atom_impl.hh atom_impl_fw.hh diff --git a/modules/mol/base/src/impl/atom_impl.cc b/modules/mol/base/src/impl/atom_impl.cc index cb3ecf87a290166e78a14329655b9ff7a733698c..698bc863f2083117655a67901aa8bb7d2fa5bfe0 100644 --- a/modules/mol/base/src/impl/atom_impl.cc +++ b/modules/mol/base/src/impl/atom_impl.cc @@ -65,7 +65,7 @@ void AtomImpl::AddSecondaryConnector(const ConnectorImplP& bp) void AtomImpl::Apply(EntityVisitor& v) { - LOG_TRACE("visitor @" << &v << " visiting atom impl @" << this << std::endl); + LOG_TRACE("visitor @" << &v << " visiting atom impl @" << this); v.VisitAtom(AtomHandle(shared_from_this())); } @@ -88,11 +88,11 @@ void AtomImpl::TraceDirectionality(FragmentImplP frag, ConnectorImplP conn, if (conn) { #if !defined(NDEBUG) if (conn->GetFirst()==shared_from_this()) { - LOGN_DUMP("dir:" << String(n,' ') << " atom " << res_.lock()->GetNumber() + LOG_TRACE("dir:" << String(n,' ') << " atom " << res_.lock()->GetNumber() << "." << GetName() << " [" << conn->GetSecond()->GetQualifiedName() << " ]"); } else { - LOGN_DUMP("dir:" << String(n,' ') << " atom " << res_.lock()->GetNumber() + LOG_TRACE("dir:" << String(n,' ') << " atom " << res_.lock()->GetNumber() << "." << GetName() << " [" << conn->GetFirst()->GetQualifiedName() << " ]"); } @@ -100,7 +100,7 @@ void AtomImpl::TraceDirectionality(FragmentImplP frag, ConnectorImplP conn, #endif } else { - LOGN_DUMP("dir:" << String(n,' ') << " atom " << res_.lock()->GetNumber() + LOG_TRACE("dir:" << String(n,' ') << " atom " << res_.lock()->GetNumber() << "." << GetName() << " [ ]"); } diff --git a/modules/mol/base/src/impl/chain_impl.cc b/modules/mol/base/src/impl/chain_impl.cc index d2171b1d85deac02615c4edba7924a8f0c81e5b7..0395a810791cf1201663e5c9e7dacd8591c3f875 100644 --- a/modules/mol/base/src/impl/chain_impl.cc +++ b/modules/mol/base/src/impl/chain_impl.cc @@ -184,7 +184,7 @@ ResidueImplPtr ChainImpl::AppendResidue(const ResidueKey& key, in_sequence_=false; } if (in_sequence_) { - LOGN_DUMP("appending residue " << num); + LOG_DEBUG("appending residue " << num); // update is only needed if we introduce a new gap. if (residue_list_.back()->GetNumber().GetNum()+1<num.GetNum()) { Shift s; @@ -269,7 +269,7 @@ const ResidueImplList& ChainImpl::GetResidueList() const void ChainImpl::Apply(EntityVisitor& v) { - LOGN_TRACE("visitor @" << &v << " visiting chain impl @" << this); + LOG_TRACE("visitor @" << &v << " visiting chain impl @" << this); if (v.VisitChain(ChainHandle(shared_from_this()))) { for (ResidueImplList::iterator it=residue_list_.begin(); it!=residue_list_.end();++it) { @@ -341,11 +341,23 @@ void ChainImpl::AssignSecondaryStructure(SecStructure ss, const ResNum& start, const ResNum& end) { - int i=this->GetIndex(start); - int j=this->GetIndex(end); - if (i>=0 && j>=0 && i<=j && j<static_cast<int>(residue_list_.size())) { - std::for_each(residue_list_.begin()+i, residue_list_.begin()+j+1, - bind(&ResidueImpl::SetSecStructure, _1, ss)); + int start_index=this->GetIndex(start); + int i=start_index; + bool found_end=false; + if (i>=0) { + while (i<static_cast<int>(residue_list_.size())) { + if (residue_list_[i]->GetNumber()==end) { + found_end=true; + break; + } + ++i; + } + } + if (!found_end) { + return; + } + for (int end=i, i=start_index; i<=end; ++i) { + residue_list_[i]->SetSecStructure(ss); } } @@ -363,41 +375,27 @@ Real ChainImpl::GetMass() const return mass; } -geom::Vec3 ChainImpl::GetGeometricStart() const +geom::AlignedCuboid ChainImpl::GetBounds() const { - geom::Vec3 minimum(std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity()); + geom::Vec3 mmin( std::numeric_limits<Real>::infinity()); + geom::Vec3 mmax(-std::numeric_limits<Real>::infinity()); + bool atoms=false; for (ResidueImplList::const_iterator i=residue_list_.begin(); i!=residue_list_.end(); ++i) { ResidueImplPtr r=*i; for (AtomImplList::iterator j=r->GetAtomList().begin(); j!=r->GetAtomList().end(); ++j) { - minimum=geom::Min(minimum,(*j)->GetPos()); + mmin=geom::Min(mmin, (*j)->GetPos()); + mmax=geom::Max(mmax, (*j)->GetPos()); + atoms=true; } } - return minimum; -} - -geom::Vec3 ChainImpl::GetGeometricEnd() const { - geom::Vec3 maximum(-std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity()); - for (ResidueImplList::const_iterator i=residue_list_.begin(); - i!=residue_list_.end(); ++i) { - ResidueImplPtr r=*i; - for (AtomImplList::iterator j=r->GetAtomList().begin(); - j!=r->GetAtomList().end(); ++j) { - maximum=geom::Max(maximum,(*j)->GetPos()); - } + if (!atoms) { + return geom::AlignedCuboid(geom::Vec3(), geom::Vec3()); } - return maximum; + return geom::AlignedCuboid(mmin, mmax); } -geom::Vec3 ChainImpl::GetGeometricCenter() const -{ - return (this->GetGeometricStart() + this->GetGeometricEnd()) / 2; -} geom::Vec3 ChainImpl::GetCenterOfAtoms() const { diff --git a/modules/mol/base/src/impl/chain_impl.hh b/modules/mol/base/src/impl/chain_impl.hh index c25d23b88cf7653e57fa9bd4940af12e8d5b6474..23b12119b1569b487510df6cb13932906e86d3f5 100644 --- a/modules/mol/base/src/impl/chain_impl.hh +++ b/modules/mol/base/src/impl/chain_impl.hh @@ -81,9 +81,10 @@ public: Real GetMass() const; geom::Vec3 GetCenterOfMass() const; geom::Vec3 GetCenterOfAtoms() const; - geom::Vec3 GetGeometricCenter() const; - geom::Vec3 GetGeometricStart() const; - geom::Vec3 GetGeometricEnd() const; + + /// \brief returns the axis-aligned bounding box of the entity + geom::AlignedCuboid GetBounds() const; + ///\brief Get residue by number. Returns a invalid pointer if the chain /// does not have any residue with this number. diff --git a/modules/mol/base/src/impl/connector_impl.cc b/modules/mol/base/src/impl/connector_impl.cc index 977eb888e220cc1ebde9e734e9e90a723ed71125..31d22f1e432c73e80c8fb0e46cf9cedf8f84d278 100644 --- a/modules/mol/base/src/impl/connector_impl.cc +++ b/modules/mol/base/src/impl/connector_impl.cc @@ -38,7 +38,7 @@ ConnectorImpl::ConnectorImpl(const EntityImplPtr& e, const AtomImplPtr& first, void ConnectorImpl::Apply(EntityVisitor& v) { - LOGN_TRACE("visitor @" << &v << " visiting bond impl @" << this); + LOG_TRACE("visitor @" << &v << " visiting bond impl @" << this); v.VisitBond(BondHandle(shared_from_this())); } @@ -53,7 +53,7 @@ namespace { geom::Mat3 find_rotation(const geom::Vec3& d) { // assume the vectors are already normalized if (std::abs(Real(1.0-Length(d)))>0.00001) { - LOGN_DEBUG("connector find_rotation() has faulty length: " << Length(d)); + LOG_DEBUG("connector find_rotation() has faulty length: " << Length(d)); assert(0 && "error is big"); } Real dot=d[2]; diff --git a/modules/mol/base/src/impl/dihedral.cc b/modules/mol/base/src/impl/dihedral.cc index b984834e3986e0746fd91d8bca989909c69f12e4..ff484d4e694d70256e60525d5000897dfd75dcba 100644 --- a/modules/mol/base/src/impl/dihedral.cc +++ b/modules/mol/base/src/impl/dihedral.cc @@ -119,7 +119,7 @@ void Dihedral::SetAngleICS(Real angle, bool update_other) { } // we operate under the assumption that conn2_->First and atom_1 are // connected and not conn2_->Second and atom1_. - LOGN_DEBUG("SetAngleICS: " << a1->GetQualifiedName() << " " + LOG_DEBUG("SetAngleICS: " << a1->GetQualifiedName() << " " << a2->GetQualifiedName() << " " << a3->GetQualifiedName() << " " << a4->GetQualifiedName()); assert(ConnectorExists(a1, conn2->GetFirst())); diff --git a/modules/mol/base/src/impl/entity_impl.cc b/modules/mol/base/src/impl/entity_impl.cc index 17937305c55c7a8508fdd2934518b60da60b5113..120c60e475534c1ce4a1080b9fb8364f17705fa2 100644 --- a/modules/mol/base/src/impl/entity_impl.cc +++ b/modules/mol/base/src/impl/entity_impl.cc @@ -262,60 +262,29 @@ EntityImpl::~EntityImpl() it->second->OnDestroy(); } } - -geom::Vec3 EntityImpl::GetGeometricStart() const +geom::AlignedCuboid EntityImpl::GetBounds() const { - geom::Vec3 minimum(std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity()); - if (this->GetAtomCount()>0) { - for(AtomImplMap::const_iterator it = atom_map_.begin();it!=atom_map_.end();++it) { - minimum=geom::Min(minimum,it->second->GetPos()); - } - } - return minimum; -} -geom::Vec3 EntityImpl::GetGeometricEnd() const { - geom::Vec3 maximum(-std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity()); if (this->GetAtomCount()>0) { - for(AtomImplMap::const_iterator it = atom_map_.begin();it!=atom_map_.end();++it) { - maximum=geom::Max(maximum,it->second->GetPos()); - } - } - return maximum; -} - -geom::Vec3 EntityImpl::GetBoundarySize() const { - geom::Vec3 size; - geom::Vec3 minimum(std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity()); - geom::Vec3 maximum(-std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity()); - if (this->GetAtomCount()>0) { - for(AtomImplMap::const_iterator it = atom_map_.begin();it!=atom_map_.end();++it) { - minimum=geom::Min(minimum,it->second->GetPos()); - maximum=geom::Max(maximum,it->second->GetPos()); + geom::Vec3 mmin, mmax; + AtomImplMap::const_iterator it=atom_map_.begin(); + mmin=mmax=it->second->GetPos(); + for (++it; it!=atom_map_.end();++it) { + mmin=geom::Min(mmin,it->second->GetPos()); + mmax=geom::Max(mmax,it->second->GetPos()); } + return geom::AlignedCuboid(mmin, mmax); + } else { + return geom::AlignedCuboid(geom::Vec3(), geom::Vec3()); } - size=maximum-minimum; - return size; -} -geom::Vec3 EntityImpl::GetGeometricCenter() const { - geom::Vec3 center; - center = (this->GetGeometricEnd() + this->GetGeometricStart())/2; - return center; } geom::Vec3 EntityImpl::GetCenterOfAtoms() const { geom::Vec3 center; if (this->GetAtomCount()>0) { - for(AtomImplMap::const_iterator it = atom_map_.begin();it!=atom_map_.end();++it) { + for (AtomImplMap::const_iterator it = atom_map_.begin(); + it!=atom_map_.end();++it) { center+=it->second->GetPos(); } center/=static_cast<Real>(atom_map_.size()); @@ -410,24 +379,24 @@ ConnectorImplP EntityImpl::Connect(const AtomImplPtr& first, // check for already existing connection if(first->GetPrimaryConnector() && first->GetPrimaryConnector()->GetFirst()==second) { - LOGN_DUMP("connect: returning existing bond (1)"); + LOG_DEBUG("connect: returning existing bond (1)"); return first->GetPrimaryConnector(); } else if(second->GetPrimaryConnector() && second->GetPrimaryConnector()->GetFirst()==first) { - LOGN_DUMP("connect: returning existing bond (2)"); + LOG_DEBUG("connect: returning existing bond (2)"); return second->GetPrimaryConnector(); } else { ConnectorImplList clist = first->GetSecondaryConnectors(); for(ConnectorImplList::const_iterator it=clist.begin();it!=clist.end();++it) { if((*it)->GetSecond()==second) { - LOGN_DUMP("connect: returning existing bond (3)"); + LOG_DEBUG("connect: returning existing bond (3)"); return *it; } } clist = second->GetSecondaryConnectors(); for(ConnectorImplList::const_iterator it=clist.begin();it!=clist.end();++it) { if((*it)->GetSecond()==first) { - LOGN_DUMP("connect: returning existing bond (4)"); + LOG_DEBUG("connect: returning existing bond (4)"); return *it; } } @@ -447,7 +416,7 @@ ConnectorImplP EntityImpl::Connect(const AtomImplPtr& first, first->AddSecondaryConnector(bp); second->AddSecondaryConnector(bp); - LOG_DUMP("adding new connector " << bp << std::endl); + LOG_DEBUG("adding new connector " << bp); connector_map_.insert(ConnectorImplMap::value_type(bp.get(),bp)); return bp; } @@ -620,7 +589,7 @@ void EntityImpl::TraceDirectionality() for(AtomImplMap::iterator it=atom_map_.begin();it!=atom_map_.end();++it) { if (!it->second->IsVisited() && !it->second->HasPrevious()) { it->second->SetVisited(true); - LOGN_DUMP("dir: new fragment"); + LOG_DEBUG("dir: new fragment"); #if MAKE_SHARED_AVAILABLE FragmentImplP frag=boost::make_shared<FragmentImpl>(it->second); #else @@ -632,7 +601,7 @@ void EntityImpl::TraceDirectionality() } } if(traced_atom_count<atom_map_.size()) { - LOGN_DUMP("entering closed loops search, since only " << traced_atom_count + LOG_DEBUG("entering closed loops search, since only " << traced_atom_count << " from " << atom_map_.size() << " atoms were traced"); /* identify closed loops that prohibit @@ -659,7 +628,7 @@ void EntityImpl::TraceDirectionality() } } } - LOGN_DUMP("found pair [" << aip1 << "] [" << aip2 << "]"); + LOG_DEBUG("found pair [" << aip1 << "] [" << aip2 << "]"); // step 2: swap all connectors pointing to aip2 // thus removing its 'visited' state for(ConnectorImplMap::iterator it=connector_map_.begin(); @@ -679,12 +648,12 @@ void EntityImpl::TraceDirectionality() // infinite loop safeguard if(traced_atom_count == traced_atom_count_prev) { - LOGN_VERBOSE("Encountered unbreakable locked state during directionality trace"); + LOG_VERBOSE("Encountered unbreakable locked state during directionality trace"); break; } traced_atom_count_prev=traced_atom_count; } - LOGN_VERBOSE("Directionality trace completed with " << fragment_list_.size() + LOG_VERBOSE("Directionality trace completed with " << fragment_list_.size() << " fragment(s)"); } @@ -695,7 +664,7 @@ bool EntityImpl::IsXCSDirty() const void EntityImpl::UpdateFromICS() { - LOG_DEBUG("updating external from internal coordinate system" << std::endl); + LOG_DEBUG("updating external from internal coordinate system"); Profile prof_conv("update external from internal coordinate system"); // traverse through all atoms for(AtomImplMap::iterator it=atom_map_.begin();it!=atom_map_.end();++it) { @@ -704,7 +673,7 @@ void EntityImpl::UpdateFromICS() for (FragmentImplList::iterator it=fragment_list_.begin(); it!=fragment_list_.end();++it) { - LOG_DUMP("entering root of tree for ICS update" << std::endl;); + LOG_DEBUG("entering root of tree for ICS update"); assert(*it); AtomImplPtr ap=(*it)->GetAtom(); // recursive update, using position of first atom @@ -712,10 +681,10 @@ void EntityImpl::UpdateFromICS() pmat=tmat*pmat; ap->SetICSMat(pmat);*/ ap->UpdateFromICS(); - LOG_DUMP("done with tree traversal for ICS update" << std::endl;); + LOG_DEBUG("done with tree traversal for ICS update"); } - LOG_DEBUG("refreshing all connector positions" << std::endl;); + LOG_DEBUG("refreshing all connector positions"); // refresh all connector positions /* for (ConnectorImplMap::iterator it=connector_map_.begin(); @@ -728,23 +697,23 @@ void EntityImpl::UpdateFromICS() void EntityImpl::UpdateFromXCS() { - LOGN_DEBUG("rebuilding internal from external coordinate system"); + LOG_DEBUG("rebuilding internal from external coordinate system"); Profile prof_conv("updating internal from external coordinate system"); if(fragment_list_.empty()) { // this should have been handled by conopology after the // initial connectivity assignments - if not, then do it here Profile profile_trace("finished directionality trace"); - LOGN_DEBUG("warning: no fragment list, re-running directionality trace"); + LOG_DEBUG("warning: no fragment list, re-running directionality trace"); TraceDirectionality(); } - if(Logger::Instance().GetLogLevel()>=Logger::DUMP) { - LOGN_DUMP("dumping directionality"); + if(Logger::Instance().GetLogLevel()>Logger::DEBUG) { + LOG_TRACE("dumping directionality"); for(AtomImplMap::iterator it=atom_map_.begin();it!=atom_map_.end();++it) { - LOGN_DUMP(" " << it->second << ":"); + LOG_TRACE(" " << it->second << ":"); ConnectorImplList clist = it->second->GetSecondaryConnectors(); for(ConnectorImplList::const_iterator cit=clist.begin();cit!=clist.end();++cit) { - LOGN_DUMP(" " << (*cit)->GetFirst() << " -> " << (*cit)->GetSecond()); + LOG_TRACE(" " << (*cit)->GetFirst() << " -> " << (*cit)->GetSecond()); } } } @@ -756,7 +725,7 @@ void EntityImpl::UpdateFromXCS() for (FragmentImplList::iterator it=fragment_list_.begin(); it!=fragment_list_.end();++it) { - LOGN_DUMP("entering fragment tree traversal for XCS update"); + LOG_DEBUG("entering fragment tree traversal for XCS update"); FragmentImplP frag= *it; AtomImplPtr atom = frag->GetAtom(); { @@ -767,7 +736,7 @@ void EntityImpl::UpdateFromXCS() void EntityImpl::Apply(EntityVisitor& v) { - LOG_TRACE("visitor @" << &v << " visiting entity impl @" << this << std::endl); + LOG_TRACE("visitor @" << &v << " visiting entity impl @" << this); v.OnEntry(); for(ChainImplList::iterator it = chain_list_.begin();it!=chain_list_.end();++it) { @@ -879,36 +848,36 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, { BondTableType bond_table; - LOGN_DUMP("entering do selection"); + LOG_DEBUG("entering do selection"); size_t chain_count = 0, residue_count = 0, atom_count = 0; bool c_added, r_added; - LOGN_DUMP("creating view"); + LOG_DEBUG("creating view"); EntityView view(eh); - LOGN_DUMP("creating query state"); + LOG_DEBUG("creating query state"); EntityHandle myself(const_cast<impl::EntityImpl*>(this)->shared_from_this()); QueryState qs(query.CreateQueryState(myself)); - LOGN_DUMP("entering chain loop"); + LOG_DEBUG("entering chain loop"); for (ChainImplList::const_iterator ch_it=chain_list_.begin(); ch_it!=chain_list_.end();++ch_it) { - LOGN_DUMP("checking chain " << (*ch_it)->GetName()); + LOG_DEBUG("checking chain " << (*ch_it)->GetName()); c_added = false; tribool c = always_true ? tribool(true) : qs.EvalChain(*ch_it); if (c == true) { - LOGN_DUMP("chain is selected"); + LOG_DEBUG("chain is selected"); // Include all residues const ChainImplPtr& ci=*ch_it; ++chain_count; ChainView chain=view.AddChain(ci); ResidueImplList::const_iterator re_it = ci->GetResidueList().begin(); for ( ;re_it!=ci->GetResidueList().end();++re_it) { - LOGN_DUMP(" adding residue " << (*re_it)->GetNumber()); + LOG_DEBUG(" adding residue " << (*re_it)->GetNumber()); ResidueImplPtr& ri = const_cast<ResidueImplPtr&>(*re_it); ++residue_count; ResidueView res =chain.AddResidue(ri); AtomImplList::const_iterator at_it = ri->GetAtomList().begin(); for (;at_it != ri->GetAtomList().end(); ++at_it) { - LOGN_DUMP(" adding atom " << (*at_it)->GetName()); + LOG_DEBUG(" adding atom " << (*at_it)->GetName()); ++atom_count; if (flags & QueryFlag::NO_BONDS) { res.AddAtom(*at_it); @@ -925,11 +894,11 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, ChainView chain; ResidueImplList::const_iterator re_it = ci->GetResidueList().begin(); for ( ;re_it!=ci->GetResidueList().end();++re_it) { - LOGN_DUMP(" checking residue " << (*re_it)->GetNumber()); + LOG_DEBUG(" checking residue " << (*re_it)->GetNumber()); tribool r = qs.EvalResidue(*re_it); ResidueImplPtr& ri = const_cast<ResidueImplPtr&>(*re_it); if (r == true) { - LOGN_DUMP(" residue is selected"); + LOG_DEBUG(" residue is selected"); // Include all atoms ResidueImplPtr& ri = const_cast<ResidueImplPtr&>(*re_it); AtomImplList::const_iterator at_it = ri->GetAtomList().begin(); @@ -941,7 +910,7 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, ++residue_count; ResidueView res=chain.AddResidue(ri); for (;at_it != ri->GetAtomList().end(); ++at_it) { - LOGN_DUMP(" adding atom " << (*at_it)->GetName()); + LOG_DEBUG(" adding atom " << (*at_it)->GetName()); ++atom_count; if (flags & QueryFlag::NO_BONDS) { res.AddAtom(*at_it); @@ -972,7 +941,7 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, if (flags & QueryFlag::MATCH_RESIDUES) { AtomImplList::const_iterator at_it2 = ri->GetAtomList().begin(); for (;at_it2 != ri->GetAtomList().end(); ++at_it2) { - LOGN_DUMP(" adding atom " << (*at_it2)->GetQualifiedName()); + LOG_DEBUG(" adding atom " << (*at_it2)->GetQualifiedName()); ++atom_count; if (flags & QueryFlag::NO_BONDS) { res.AddAtom(*at_it2); @@ -983,7 +952,7 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, } break; } else { - LOGN_DUMP(" adding atom " << (*at_it)->GetName()); + LOG_DEBUG(" adding atom " << (*at_it)->GetName()); ++atom_count; if (flags & QueryFlag::NO_BONDS) { res.AddAtom(*at_it); @@ -1004,7 +973,7 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, } int bond_count=0; if (!(flags & QueryFlag::NO_BONDS)) { - LOGN_DUMP("adding bonds"); + LOG_DEBUG("adding bonds"); typedef BondTableType::MapType::const_iterator ConstIt; for (ConstIt it=bond_table.bonds.begin();it!=bond_table.bonds.end(); ++it) { if ((QueryFlag::EXCLUSIVE_BONDS & flags) || it->second.IsComplete()) { @@ -1014,7 +983,7 @@ EntityView EntityImpl::do_selection(const EntityHandle& eh, } } } - LOGN_VERBOSE("selected " << chain_count << " chain(s), " + LOG_VERBOSE("selected " << chain_count << " chain(s), " << residue_count << " residue(s), " << atom_count << " atom(s)" << " " << bond_count << " bond(s)"); return view; @@ -1094,7 +1063,7 @@ void EntityImpl::UpdateXCSIfNeeded() dirty_flags_&=~DirtyTrace; } if (dirty_flags_ & DirtyXCS) { - LOGN_VERBOSE("XCS marked dirty. Updating"); + LOG_VERBOSE("XCS marked dirty. Updating"); this->UpdateFromICS(); dirty_flags_&=~DirtyXCS; } @@ -1132,12 +1101,12 @@ void EntityImpl::UpdateICSIfNeeded() return; } if (dirty_flags_ & DirtyTrace) { - LOGN_VERBOSE("rerunning directionality trace"); + LOG_VERBOSE("rerunning directionality trace"); this->TraceDirectionality(); this->UpdateFromXCS(); dirty_flags_&=~DirtyTrace; } else if (dirty_flags_ & DirtyICS) { - LOGN_VERBOSE("updating internal from external coordinates"); + LOG_VERBOSE("updating internal from external coordinates"); this->UpdateFromXCS(); dirty_flags_&=~DirtyICS; } @@ -1156,7 +1125,7 @@ void EntityImpl::DecXCSEditorCount() void EntityImpl::UpdateOrganizerIfNeeded() { if (dirty_flags_ & DirtyOrganizer) { - LOGN_DEBUG("atom organizer marked as dirty. updating"); + LOG_DEBUG("atom organizer marked as dirty. updating"); this->UpdateOrganizer(); dirty_flags_&=~DirtyOrganizer; } @@ -1191,6 +1160,18 @@ impl::ChainImplList::iterator EntityImpl::GetChain(const String& name) } return cc.end(); } + +pointer_it<ChainImplPtr> EntityImpl::GetChainIter(const String& name) +{ + impl::ChainImplList& cc=this->GetChainList(); + for (size_t i=0; i<cc.size(); ++i) { + if (cc[i]->GetName()==name) { + return &cc.front()+i; + } + } + return pointer_it<ChainImplPtr>(NULL); +} + void EntityImpl::RenameChain(ChainImplPtr chain, const String& new_name) { ChainImplList::iterator i; diff --git a/modules/mol/base/src/impl/entity_impl.hh b/modules/mol/base/src/impl/entity_impl.hh index 89765122f776d7169048bfb9bc3eb074db38369e..c01285ed2323b376e34d0754ed6e6ef21717999b 100644 --- a/modules/mol/base/src/impl/entity_impl.hh +++ b/modules/mol/base/src/impl/entity_impl.hh @@ -39,7 +39,7 @@ #include <ost/mol/impl/connector_impl_fw.hh> #include <ost/mol/impl/torsion_impl_fw.hh> #include <ost/mol/impl/fragment_impl_fw.hh> - +#include <ost/mol/impl/pointer_iterator.hh> #include <ost/mol/entity_visitor_fw.hh> #include <ost/mol/entity_observer_fw.hh> #include <ost/mol/entity_view.hh> @@ -75,7 +75,7 @@ typedef enum { // dirty trace (implies dirty ICS) DirtyTrace=DirtyICS+4, DirtyOrganizer=8, - DisableICS=16, + DisableICS=16 } EntityDirtyFlags; @@ -93,10 +93,11 @@ public: Real GetMass() const; geom::Vec3 GetCenterOfMass() const; geom::Vec3 GetCenterOfAtoms() const; - geom::Vec3 GetGeometricCenter() const; - geom::Vec3 GetGeometricStart() const; - geom::Vec3 GetGeometricEnd() const; - geom::Vec3 GetBoundarySize() const; + + /// \brief returns the axis-aligned bounding box of the entity + geom::AlignedCuboid GetBounds() const; + + // default copy ctor and assignment op should work for now AtomImplPtr CreateAtom(const ResidueImplPtr& rp, const String& name, @@ -242,6 +243,7 @@ public: impl::ChainImplList::iterator GetChain(const String& name); + pointer_it<ChainImplPtr> GetChainIter(const String& name); void SetName(const String& ent_name); void ReorderAllResidues(); diff --git a/modules/gui/src/plot_viewer/plot_group.hh b/modules/mol/base/src/impl/pointer_iterator.hh similarity index 52% rename from modules/gui/src/plot_viewer/plot_group.hh rename to modules/mol/base/src/impl/pointer_iterator.hh index c2b030145b7a0ec42e614a162b942933fc480560..63a5676ca6f22381e5edcf9f2325d2a778718c06 100644 --- a/modules/gui/src/plot_viewer/plot_group.hh +++ b/modules/mol/base/src/impl/pointer_iterator.hh @@ -16,44 +16,64 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef PLOT_GROUP_HH_ -#define PLOT_GROUP_HH_ - - -/* - Author: Andreas Schenk -*/ +#ifndef OST_MOL_IMPL_POINTER_ITERATOR_HH +#define OST_MOL_IMPL_POINTER_ITERATOR_HH #include <vector> -#include <boost/shared_ptr.hpp> -#include "plot_types.hh" -#include "plot_data.hh" -#include "plot_function.hh" - -namespace ost{namespace gui{ -class PlotGroup; -typedef boost::shared_ptr<PlotGroup> PlotGroupPtr; +namespace ost { namespace mol { namespace impl { -class DLLEXPORT_OST_GUI PlotGroup : public PlotDataBase -{ +template <typename T> +class pointer_it : public std::iterator<std::forward_iterator_tag, T>{ public: - PlotGroup(); - virtual ~PlotGroup(); - void Add(PlotDataPtr dataptr); - void Add(PlotFunctionPtr functionptr); - void Add(PlotGroupPtr groupptr); - unsigned int GetSize(); - PlotDataBasePtr GetChild(unsigned int index); - virtual Real GetMinimumX(); - virtual Real GetMaximumX(); - virtual Real GetMinimumY(); - virtual Real GetMaximumY(); + pointer_it(T* s): s_(s) { } + + pointer_it<T>& operator++() + { + ++s_; + return *this; + } + pointer_it<T>& operator+(int rhs) + { + s_+=rhs; + return *this; + } + + bool operator==(const pointer_it<T>& rhs) const + { + return rhs.s_==s_; + } + + bool operator!=(const pointer_it<T>&rhs) const + { + return !(*this==rhs); + } + + T& operator*() + { + return *s_; + } + + T* operator->() + { + return s_; + } private: - std::vector<PlotDataBasePtr> ptr_list_; + T* s_; }; +template <typename T> +inline pointer_it<T> begin(const std::vector<T>& values) +{ + return pointer_it<T>(values.empty() ? NULL : const_cast<T*>(&values.front())); +} + +template <typename T> +inline pointer_it<T> end(const std::vector<T>& values) +{ + return pointer_it<T>(values.empty() ? NULL : const_cast<T*>(&values.back()+1)); +} -}}//ns +}}} -#endif /*PLOT_GROUP_HH_*/ +#endif diff --git a/modules/mol/base/src/impl/query_impl.cc b/modules/mol/base/src/impl/query_impl.cc index 312b38d6db7e483d0e419c2991919e1189997e1f..92b00434666358db3197e01463020751976de0c5 100644 --- a/modules/mol/base/src/impl/query_impl.cc +++ b/modules/mol/base/src/impl/query_impl.cc @@ -107,19 +107,24 @@ QueryToken QueryLexer::LexQuotedStringLiteral() QueryToken QueryLexer::LexNumericToken() { Range range(current_, 0); static String allowed_chars("_"); - bool dot_present=false, is_string=false; + bool dot_present=false, is_string=false, last_was_dot=false; //TODO Better checking for duplicate - while(current_<query_string_.size()){ if (isdigit(query_string_[current_]) || query_string_[current_]=='-') { current_++; + last_was_dot=false; } else if (query_string_[current_]=='.') { if (dot_present) { is_string=true; break; } dot_present = true; + last_was_dot=true; current_++; } else { + if (last_was_dot) { + break; + } is_string=isalnum(query_string_[current_]) || allowed_chars.find_first_of(query_string_[current_])!=String::npos; break; @@ -128,6 +133,11 @@ QueryToken QueryLexer::LexNumericToken() { range.Length=current_-range.Loc; if (!is_string) { if (dot_present) { + if (last_was_dot) { + current_--; + return QueryToken(Range(range.Loc, range.Length-1), + tok::IntegralValue); + } return QueryToken(range, tok::FloatingValue); } else { return QueryToken(range, tok::IntegralValue); @@ -145,16 +155,10 @@ bool is_ident_or_str(char c) { QueryToken QueryLexer::LexIdentOrStringToken() { static IdentTokens ident_tokens; size_t start=current_; - bool is_string=false; while (current_<query_string_.length() && is_ident_or_str(query_string_[current_])) { - if (!isalnum(query_string_[current_])) - is_string=true; current_++; } - if (is_string) { - return QueryToken(Range(start, current_-start), tok::String); - } String ident=query_string_.substr(start, current_-start); if (tok::Type* t=find(ident_tokens, ident.c_str())) { return QueryToken(Range(start, current_-start), *t); @@ -179,7 +183,10 @@ QueryToken QueryLexer::LexToken() { return QueryToken(Range(current_-1, 1), tok::Coma); case ':': current_++; - return QueryToken(Range(current_-1, 1), tok::Colon); + return QueryToken(Range(current_-1, 1), tok::Colon); + case '.': + current_++; + return QueryToken(Range(current_-1, 1), tok::Dot); case '{': current_++; return QueryToken(Range(current_-1, 1), tok::LeftCurlyBrace); @@ -384,7 +391,6 @@ QueryImpl::QueryImpl(const String& query_string) sel_values_.push_back(sel_value); Node* ast_root = this->BuildAST(); if (ast_root) { - // ast_root->Dump(); // Get all selection statements this->ExtractSelStmts(ast_root); this->ASTToSelStack(ast_root,Prop::CHAIN, @@ -395,6 +401,7 @@ QueryImpl::QueryImpl(const String& query_string) sel_stacks_[(int)Prop::ATOM]); delete ast_root; empty_optimize_=false; + has_error_=false; } else { has_error_=true; } @@ -427,10 +434,12 @@ bool QueryImpl::ParseValue(const Prop& sel, const QueryToken& op, if (sel.type==Prop::INT) { // todo. Add check to test that the comparison operator is only one of // = and !=. The others don't make too much sense. - if (value_string=="true") { + if (value_string=="true" || value_string=="True" || + value_string=="TRUE") { value=ParamType(int(1)); break; - } else if (value_string=="false") { + } else if (value_string=="false" || value_string=="False" || + value_string=="FALSE") { value=ParamType(int(0)); break; } @@ -609,6 +618,44 @@ Node* QueryImpl::ParsePropValueExpr(QueryLexer& lexer) { String s=query_string_.substr(sname.GetRange().Loc,sname.GetRange().Length); Prop property=PropertyFromString(s); QueryToken op=lexer.NextToken(); + + // this block deals with the cname.rnum.aname shortcut. + if (op.GetType()==tok::Dot) { + QueryToken cname=sname; + QueryToken rnum=lexer.NextToken(); + if (!this->Expect(tok::IntegralValue, "residue number", rnum)) { + return NULL; + } + if (!this->Expect(tok::Dot, "'.'", lexer.NextToken())) { + return NULL; + } + QueryToken aname=lexer.NextToken(); + if (!this->Expect(tok::Identifier, "atom name", aname)) { + return NULL; + } + LogicOP lop=inversion_stack_.back() ? LOP_OR : LOP_AND; + CompOP cop=inversion_stack_.back() ? COP_NEQ : COP_EQ; + ParamType cname_val(query_string_.substr(cname.GetValueRange().Loc, + cname.GetValueRange().Length).c_str()); + Prop cname_prop(Prop::CNAME, Prop::STRING, Prop::CHAIN); + SelNode* cname_node=new SelNode(cname_prop, cop, cname_val); + ParamType aname_val(query_string_.substr(aname.GetValueRange().Loc, + aname.GetValueRange().Length).c_str()); + Prop aname_prop(Prop::ANAME, Prop::STRING, Prop::ATOM); + SelNode* aname_node=new SelNode(aname_prop, cop, aname_val); + ParamType rnum_val(atoi(query_string_.substr(rnum.GetValueRange().Loc, + rnum.GetValueRange().Length).c_str())); + Prop rnum_prop(Prop::RNUM, Prop::INT, Prop::RESIDUE); + SelNode* rnum_node=new SelNode(rnum_prop, cop, rnum_val); + LogicOPNode* and_one=new LogicOPNode(lop); + LogicOPNode* and_two=new LogicOPNode(lop); + and_one->SetLHS(and_two); + and_one->SetRHS(cname_node); + and_two->SetLHS(rnum_node); + and_two->SetRHS(aname_node); + lexer.NextToken(); + return and_one; + } if (property.id>=Prop::CUSTOM) { property.id=(Prop::ID)(Prop::CUSTOM+num_gen_prop_++); EntityPropertyMapper epm=EntityPropertyMapper(s.substr(2), property.level); @@ -777,8 +824,9 @@ Node* QueryImpl::ParseSubExpr(QueryLexer& lexer, bool paren) { error_desc_.range=t.GetRange(); return NULL; } - if (t.IsEOF()) - continue; + if (t.IsEOF()) { + return root_node.release(); + } if (!this->ExpectLogicalOperator(t)) return NULL; switch(t.GetType()) { @@ -962,19 +1010,35 @@ Node* QueryImpl::ParseWithinExpr(QueryLexer& lexer) { return NULL; QueryToken ct=lexer.CurrentToken(); if (ct.GetType()==tok::LeftCurlyBrace) { - geom::Vec3 point; - if (this->ParsePoint(lexer, point)) { - lexer.NextToken(); - ParamType pt(WithinParam(point, rv*rv)); - CompOP comp_op= COP_LE; - if (inversion_stack_.back()) - comp_op=COP_GE; - SelNode* within_node=new SelNode(Prop(Prop::WITHIN, Prop::VEC_DIST, - Prop::ATOM), - comp_op, pt); - return within_node; - } else { - return NULL; + Node* points=NULL; + while (true) { + geom::Vec3 point; + if (this->ParsePoint(lexer, point)) { + ParamType pt(WithinParam(point, rv*rv)); + CompOP comp_op= COP_LE; + if (inversion_stack_.back()) + comp_op=COP_GE; + SelNode* within_node=new SelNode(Prop(Prop::WITHIN, Prop::VEC_DIST, + Prop::ATOM), + comp_op, pt); + if (points) { + points=this->Concatenate(points, within_node, LOP_OR); + } else { + points=within_node; + } + QueryToken nt=lexer.NextToken(); + if (nt.GetType()==tok::Coma) { + nt=lexer.NextToken(); + if (!this->Expect(tok::LeftCurlyBrace, "'{'", nt)) { + delete points; + return NULL; + } + continue; + } + return points; + } else { + return NULL; + } } } else if (ct.GetType()==tok::LeftBracket) { // push false onto inversion stack to make sure we have a proper start for diff --git a/modules/mol/base/src/impl/query_impl.hh b/modules/mol/base/src/impl/query_impl.hh index 2a025bf4ab1795441bec919a2d52d5a4abd6997a..02915d391cd210055d28fa6cced7c3df3c267b6c 100644 --- a/modules/mol/base/src/impl/query_impl.hh +++ b/modules/mol/base/src/impl/query_impl.hh @@ -45,7 +45,8 @@ namespace tok { IntegralValue, FloatingValue, Colon, - Coma, + Coma, + Dot, And, Or, Not, @@ -66,7 +67,7 @@ namespace tok { None, UnknownChar, UnterminatedQuote, - String, + String } Type; } diff --git a/modules/mol/base/src/impl/residue_impl.cc b/modules/mol/base/src/impl/residue_impl.cc index bfee304770bcb5ec53443cda276127dc1458b074..b997ced3f5ee1e88fb833cec5236d7d0c0702e57 100644 --- a/modules/mol/base/src/impl/residue_impl.cc +++ b/modules/mol/base/src/impl/residue_impl.cc @@ -123,7 +123,7 @@ AtomImplPtr ResidueImpl::InsertAltAtom(const String& name, void ResidueImpl::Apply(EntityVisitor& v) { - LOGN_TRACE("visitor @" << &v << " visiting residue ; @" << this); + LOG_TRACE("visitor @" << &v << " visiting residue ; @" << this); if(v.VisitResidue(ResidueHandle(shared_from_this()))) { for (AtomImplList::iterator it=atom_list_.begin(); it!=atom_list_.end();++it) { @@ -208,7 +208,7 @@ geom::Vec3 ResidueImpl::GetCentralNormal() const geom::Vec3 v0=GetCentralAtom()->GetPos(); nrvo=geom::Cross(geom::Normalize(v0), geom::Normalize(geom::Vec3(-v0[2],v0[0],v0[1]))); - LOGN_VERBOSE("warning: could not find atoms for proper central normal calculation"); + LOG_VERBOSE("warning: could not find atoms for proper central normal calculation"); } return nrvo; } else if (chem_class_.IsNucleotideLinking()) { @@ -222,7 +222,7 @@ geom::Vec3 ResidueImpl::GetCentralNormal() const geom::Vec3 v0=GetCentralAtom()->GetPos(); nrvo=geom::Cross(geom::Normalize(v0), geom::Normalize(geom::Vec3(-v0[2],v0[0],v0[1]))); - LOGN_VERBOSE("warning: could not find atoms for proper central normal calculation"); + LOG_VERBOSE("warning: could not find atoms for proper central normal calculation"); } return nrvo; } @@ -263,7 +263,7 @@ TorsionImplP ResidueImpl::GetPsiTorsion() const { return t; } - LOGN_DUMP("Can't find torsion PSI for " << + LOG_DEBUG("Can't find torsion PSI for " << this->GetKey() << this->GetNumber()); return TorsionImplP(); @@ -303,7 +303,7 @@ TorsionImplP ResidueImpl::GetOmegaTorsion() const { return t; } - LOGN_DUMP("Can't find torsion Omega for " << + LOG_DEBUG("Can't find torsion Omega for " << this->GetKey() << this->GetNumber()); return TorsionImplP(); } @@ -327,7 +327,7 @@ TorsionImplP ResidueImpl::GetPhiTorsion() const { return t; } - LOGN_DUMP("Can't find torsion PHI for " << + LOG_DEBUG("Can't find torsion PHI for " << this->GetKey() << this->GetNumber()); return TorsionImplP(); } @@ -427,31 +427,23 @@ Real ResidueImpl::GetMass() const return mass; } -geom::Vec3 ResidueImpl::GetGeometricEnd() const { - geom::Vec3 maximum(-std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity(), - -std::numeric_limits<Real>::infinity()); - for (AtomImplList::const_iterator i=atom_list_.begin(); - i!=atom_list_.end(); ++i) { - maximum=geom::Max(maximum,(*i)->GetPos()); - } - return maximum; -} - -geom::Vec3 ResidueImpl::GetGeometricStart() const { - geom::Vec3 minimum(std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity(), - std::numeric_limits<Real>::infinity()); - for (AtomImplList::const_iterator i=atom_list_.begin(); - i!=atom_list_.end(); ++i) { - minimum=geom::Min(minimum,(*i)->GetPos()); - } - return minimum; -} - -geom::Vec3 ResidueImpl::GetGeometricCenter() const +geom::AlignedCuboid ResidueImpl::GetBounds() const { - return (this->GetGeometricStart() + this->GetGeometricEnd())/2; + + geom::Vec3 mmin( std::numeric_limits<Real>::infinity()); + geom::Vec3 mmax(-std::numeric_limits<Real>::infinity()); + + if (atom_list_.size()>0) { + AtomImplList::const_iterator i=atom_list_.begin(); + mmin=mmax=(*i)->GetPos(); + for (++i; i!=atom_list_.end(); ++i) { + mmax=geom::Max(mmax,(*i)->GetPos()); + mmin=geom::Min(mmin,(*i)->GetPos()); + } + return geom::AlignedCuboid(mmin, mmax); + } else { + return geom::AlignedCuboid(geom::Vec3(), geom::Vec3()); + } } geom::Vec3 ResidueImpl::GetCenterOfAtoms() const diff --git a/modules/mol/base/src/impl/residue_impl.hh b/modules/mol/base/src/impl/residue_impl.hh index 22e816b6e851d79f2c4f56dedaddf23ae7cd4fef..183a9ccefe8c5025f2790109b0ab3d26acfc17f8 100644 --- a/modules/mol/base/src/impl/residue_impl.hh +++ b/modules/mol/base/src/impl/residue_impl.hh @@ -131,9 +131,9 @@ public: Real GetMass() const; geom::Vec3 GetCenterOfMass() const; geom::Vec3 GetCenterOfAtoms() const; - geom::Vec3 GetGeometricCenter() const; - geom::Vec3 GetGeometricStart() const; - geom::Vec3 GetGeometricEnd() const; + + geom::AlignedCuboid GetBounds() const; + void DeleteAtom(const AtomImplPtr& atom); void DeleteAtoms(const String& atom_name); @@ -199,6 +199,9 @@ public: int GetIntProperty(Prop::ID prop_id) const; + void SetProtein(bool protein) { protein_=protein; } + + bool IsProtein() const { return protein_; } private: void AddAltAtom(const String& group, const AtomImplPtr& atom, const geom::Vec3& position); @@ -207,13 +210,15 @@ private: AtomEntryGroups alt_groups_; EntityImplW ent_; ChainImplW chain_; - ResNum num_; + ResNum num_; ResidueKey key_; AtomImplList atom_list_; TorsionImplList torsion_list_; SecStructure sec_structure_; ChemClass chem_class_; char olc_; + // whether the residue is part of the protein. + bool protein_; }; }}} // ns diff --git a/modules/mol/base/src/impl/torsion_impl.cc b/modules/mol/base/src/impl/torsion_impl.cc index 6239f4990d8b377fcb0ec330fb7406eafd84582a..42e6b1bb4a223dd62ab854a5eca6d9c437183c19 100644 --- a/modules/mol/base/src/impl/torsion_impl.cc +++ b/modules/mol/base/src/impl/torsion_impl.cc @@ -51,7 +51,7 @@ void TorsionImpl::SetAngle(Real angle, bool up) { } void TorsionImpl::Apply(EntityVisitor& v) { - LOG_TRACE("visitor @" << &v << " visiting torsion impl @" << this << std::endl); + LOG_TRACE("visitor @" << &v << " visiting torsion impl @" << this); v.VisitTorsion(TorsionHandle(shared_from_this())); } diff --git a/modules/mol/base/src/iterator.cc b/modules/mol/base/src/iterator.cc index 74ff90c6514b1fd86517d68aba1ceddfd604694c..05fc8f59e981cd6f7867e60bbbd76b44374dbdc6 100644 --- a/modules/mol/base/src/iterator.cc +++ b/modules/mol/base/src/iterator.cc @@ -25,29 +25,36 @@ namespace ost { namespace mol { - -ResidueHandleIter& ResidueHandleIter::operator++() { - ++cur_res_; - if (cur_res_==(*cur_chain_)->GetResidueList().end()) { +void ResidueHandleIter::SkipEmpty() +{ + if (cur_res_==impl::end((*cur_chain_)->GetResidueList())) { // we have to skip over empty chains otherwise we end up pointing to an // invalid residue. do { ++cur_chain_; - if (ent_->GetChainList().end()==cur_chain_) { + if (impl::end(ent_->GetChainList())==cur_chain_) { break; } - cur_res_=(*cur_chain_)->GetResidueList().begin(); + cur_res_=impl::begin((*cur_chain_)->GetResidueList()); } while ((*cur_chain_)->GetResidueList().empty()); - } + } +} + +ResidueHandleIter& ResidueHandleIter::operator++() +{ + ++cur_res_; + this->SkipEmpty(); return *this; } -ResidueHandleIter::ResidueHandleIter(impl::ChainImplList::iterator chain_it, - impl::ResidueImplList::iterator res_it, - impl::EntityImplPtr ent) +ResidueHandleIter::ResidueHandleIter(impl::pointer_it<impl::ChainImplPtr> chain_it, + impl::pointer_it<impl::ResidueImplPtr> res_it, + impl::EntityImplPtr ent, bool skip_empty) : cur_chain_(chain_it), cur_res_(res_it), ent_(ent) { - + if (skip_empty) { + this->SkipEmpty(); + } } ResidueHandle ResidueHandleIter::operator*() { @@ -60,48 +67,39 @@ ResidueView ResidueViewIter::operator*() { return ResidueView(*cur_res_); } -ResidueViewIter& ResidueViewIter::operator++() { - ++cur_res_; - if (cur_res_==cur_chain_->GetResidueList().end()) { +void ResidueViewIter::SkipEmpty() +{ + if (cur_res_==impl::end(cur_chain_->GetResidueList())) { // we have to skip over empty chains otherwise we end up pointing to an // invalid residue. do { ++cur_chain_; - if (ent_.GetChainList().end()==cur_chain_) { + if (impl::end(ent_.GetChainList())==cur_chain_) { break; } - cur_res_=cur_chain_->GetResidueList().begin(); + cur_res_=impl::begin(cur_chain_->GetResidueList()); } while (cur_chain_->GetResidueList().empty()); - } + } +} +ResidueViewIter& ResidueViewIter::operator++() { + ++cur_res_; + this->SkipEmpty(); return *this; } -ResidueViewIter::ResidueViewIter() -#ifdef _MSC_VER - : cur_res_() -#else - : cur_res_(NULL) -#endif -{} - -ResidueViewIter::ResidueViewIter(ChainViewList::const_iterator chain_it, - ResidueViewList::const_iterator res_it, - EntityView ent) +ResidueViewIter::ResidueViewIter(impl::pointer_it<ChainView> chain_it, + impl::pointer_it<ResidueView> res_it, + EntityView ent, bool skip_empty) : cur_chain_(chain_it), cur_res_(res_it), ent_(ent) { + if (skip_empty) { + this->SkipEmpty(); + } } -AtomHandleIter::AtomHandleIter() -#ifdef _MSC_VER - : cur_atom_() -#else - : cur_atom_(NULL) -#endif -{} - -AtomHandleIter::AtomHandleIter(impl::ChainImplList::iterator chain_it, - impl::ResidueImplList::iterator res_it, - impl::AtomImplList::iterator atom_it, +AtomHandleIter::AtomHandleIter(impl::pointer_it<impl::ChainImplPtr> chain_it, + impl::pointer_it<impl::ResidueImplPtr> res_it, + impl::pointer_it<impl::AtomImplPtr> atom_it, impl::EntityImplPtr ent, bool skip_empty) : cur_chain_(chain_it), cur_res_(res_it), cur_atom_(atom_it), ent_(ent) @@ -117,26 +115,26 @@ AtomHandle AtomHandleIter::operator*() { void AtomHandleIter::SkipEmpty() { - if ((*cur_res_)->GetAtomList().end()==cur_atom_) { + if (impl::end((*cur_res_)->GetAtomList())==cur_atom_) { // we have to skip over empty chains and residues otherwise we end up // pointing to an invalid atom. do { ++cur_res_; - if ((*cur_chain_)->GetResidueList().end()==cur_res_) { + if (impl::end((*cur_chain_)->GetResidueList())==cur_res_) { do { ++cur_chain_; - if (ent_->GetChainList().end()==cur_chain_) { + if (impl::end(ent_->GetChainList())==cur_chain_) { return; } - cur_res_=(*cur_chain_)->GetResidueList().begin(); + cur_res_=impl::begin((*cur_chain_)->GetResidueList()); if (!(*cur_chain_)->GetResidueList().empty()) - cur_atom_=(*cur_res_)->GetAtomList().begin(); + cur_atom_=impl::begin((*cur_res_)->GetAtomList()); else - cur_atom_=impl::AtomImplList::iterator(); + cur_atom_=impl::pointer_it<impl::AtomImplPtr>(NULL); } while ((*cur_chain_)->GetResidueList().empty()); } else { - cur_atom_=(*cur_res_)->GetAtomList().begin(); + cur_atom_=impl::begin((*cur_res_)->GetAtomList()); } } while ((*cur_res_)->GetAtomList().empty()); } @@ -149,17 +147,9 @@ AtomHandleIter& AtomHandleIter::operator++() return *this; } -AtomViewIter::AtomViewIter() -#ifdef _MSC_VER - : cur_atom_() -#else - : cur_atom_(NULL) -#endif -{} - -AtomViewIter::AtomViewIter(ChainViewList::const_iterator chain_it, - ResidueViewList::const_iterator res_it, - AtomViewList::const_iterator atom_it, +AtomViewIter::AtomViewIter(impl::pointer_it<ChainView> chain_it, + impl::pointer_it<ResidueView> res_it, + impl::pointer_it<AtomView> atom_it, EntityView ent, bool skip_empty) : cur_chain_(chain_it), cur_res_(res_it), cur_atom_(atom_it), ent_(ent) { @@ -170,23 +160,24 @@ AtomViewIter::AtomViewIter(ChainViewList::const_iterator chain_it, void AtomViewIter::SkipEmpty() { - if (cur_res_->GetAtomList().end()==cur_atom_) { + if (impl::end(cur_res_->GetAtomList())==cur_atom_) { do { ++cur_res_; - if (cur_chain_->GetResidueList().end()==cur_res_) { + if (impl::end(cur_chain_->GetResidueList())==cur_res_) { do { ++cur_chain_; - if (ent_.GetChainList().end()==cur_chain_) { + if (impl::end(ent_.GetChainList())==cur_chain_) { return; } - cur_res_=cur_chain_->GetResidueList().begin(); - if (!cur_chain_->GetResidueList().empty()) - cur_atom_=cur_res_->GetAtomList().begin(); - else - cur_atom_=AtomViewList::const_iterator(); + cur_res_=impl::begin(cur_chain_->GetResidueList()); + if (!cur_chain_->GetResidueList().empty()) { + cur_atom_=impl::begin(cur_res_->GetAtomList()); + } else { + cur_atom_=impl::pointer_it<AtomView>(NULL); + } } while (cur_chain_->GetResidueList().empty()); } else { - cur_atom_=cur_res_->GetAtomList().begin(); + cur_atom_=impl::begin(cur_res_->GetAtomList()); } } while (cur_res_->GetAtomList().empty()); } diff --git a/modules/mol/base/src/iterator.hh b/modules/mol/base/src/iterator.hh index 7bbbe48396591eea4ba1af3f8fc991976b754dec..d127985538c923ff3cfac08e80485989f84da085 100644 --- a/modules/mol/base/src/iterator.hh +++ b/modules/mol/base/src/iterator.hh @@ -21,9 +21,7 @@ #include <map> -#include <ost/mol/impl/entity_impl_fw.hh> -#include <ost/mol/impl/chain_impl_fw.hh> -#include <ost/mol/impl/residue_impl_fw.hh> + #include <ost/mol/chain_handle.hh> #include <ost/mol/chain_view.hh> #include <ost/mol/residue_handle.hh> @@ -32,6 +30,10 @@ #include <ost/mol/atom_view.hh> #include <ost/mol/entity_handle.hh> #include <ost/mol/entity_view.hh> +#include <ost/mol/impl/entity_impl_fw.hh> +#include <ost/mol/impl/chain_impl_fw.hh> +#include <ost/mol/impl/residue_impl_fw.hh> +#include <ost/mol/impl/pointer_iterator.hh> namespace ost { namespace mol { @@ -78,10 +80,12 @@ private: I cur_; }; + namespace impl { - // forward declearation of chain impl map. + // forward declearation of chain impl list. typedef std::vector<ChainImplPtr> ChainImplList; } + class DLLEXPORT_OST_MOL ChainHandleIter : public std::iterator<std::forward_iterator_tag, ChainHandle> { public: // internally used constructors @@ -112,20 +116,20 @@ private: class DLLEXPORT_OST_MOL ResidueHandleIter : public std::iterator<std::forward_iterator_tag, ResidueHandle> { public: - ResidueHandleIter() { - } - ResidueHandleIter(impl::ChainImplList::iterator chain_it, - impl::ResidueImplList::iterator res_it, - impl::EntityImplPtr ent); - bool operator==(const ResidueHandleIter& rhs) const { -#if defined(_MSC_VER) - return cur_chain_==rhs.cur_chain_ && cur_res_==rhs.cur_res_; -#else + ResidueHandleIter(): cur_chain_(NULL), cur_res_(NULL) { } + ResidueHandleIter(impl::pointer_it<impl::ChainImplPtr> chain_it, + impl::pointer_it<impl::ResidueImplPtr> res_it, + impl::EntityImplPtr ent, bool skip_empty); + + bool operator==(const ResidueHandleIter& rhs) const + { return cur_res_==rhs.cur_res_; -#endif } - bool operator!=(const ResidueHandleIter& rhs) const { + void SkipEmpty(); + + bool operator!=(const ResidueHandleIter& rhs) const + { return !this->operator==(rhs); } ResidueHandleIter& operator++(); @@ -133,28 +137,24 @@ public: ResidueHandle operator*(); private: - impl::ChainImplList::iterator cur_chain_; - impl::ResidueImplList::iterator cur_res_; + impl::pointer_it<impl::ChainImplPtr> cur_chain_; + impl::pointer_it<impl::ResidueImplPtr> cur_res_; impl::EntityImplPtr ent_; }; class DLLEXPORT_OST_MOL ResidueViewIter : public std::iterator<std::forward_iterator_tag, ResidueView> { public: - ResidueViewIter(); + ResidueViewIter(): cur_chain_(NULL), cur_res_(NULL) { } - ResidueViewIter(ChainViewList::const_iterator chain_it, - ResidueViewList::const_iterator res_it, - EntityView ent); + ResidueViewIter(impl::pointer_it<ChainView> chain_it, + impl::pointer_it<ResidueView> res_it, + EntityView ent, bool skip_empty); bool operator==(const ResidueViewIter& rhs) const { -#if defined(_MSC_VER) - return cur_chain_==rhs.cur_chain_ && cur_res_==rhs.cur_res_; -#else - return cur_res_==rhs.cur_res_; -#endif return cur_res_==rhs.cur_res_; } + void SkipEmpty(); bool operator!=(const ResidueViewIter& rhs) const { return !this->operator==(rhs); @@ -164,72 +164,70 @@ public: ResidueView operator*(); private: - ChainViewList::const_iterator cur_chain_; - ResidueViewList::const_iterator cur_res_; - EntityView ent_; + impl::pointer_it<ChainView> cur_chain_; + impl::pointer_it<ResidueView> cur_res_; + EntityView ent_; }; class DLLEXPORT_OST_MOL AtomHandleIter : public std::iterator<std::forward_iterator_tag, AtomHandle> { public: - AtomHandleIter(); + AtomHandleIter(): cur_chain_(NULL), cur_res_(NULL), cur_atom_(NULL) { } - AtomHandleIter(impl::ChainImplList::iterator chain_it, - impl::ResidueImplList::iterator res_it, - impl::AtomImplList::iterator atom_it, + AtomHandleIter(impl::pointer_it<impl::ChainImplPtr> chain_it, + impl::pointer_it<impl::ResidueImplPtr> res_it, + impl::pointer_it<impl::AtomImplPtr> atom_it, impl::EntityImplPtr ent, bool skip_empty); - bool operator==(const AtomHandleIter& rhs) const { -#if defined(_MSC_VER) - return cur_chain_==rhs.cur_chain_ && cur_res_==rhs.cur_res_ && - cur_atom_==rhs.cur_atom_; -#else + bool operator==(const AtomHandleIter& rhs) const + { return cur_atom_==rhs.cur_atom_; -#endif } - bool operator!=(const AtomHandleIter& rhs) const { - return !this->operator==(rhs); + + bool operator!=(const AtomHandleIter& rhs) const + { + return !this->operator==(rhs); } + AtomHandleIter& operator++(); AtomHandle operator*(); private: void SkipEmpty(); - impl::ChainImplList::iterator cur_chain_; - impl::ResidueImplList::iterator cur_res_; - impl::AtomImplList::iterator cur_atom_; + impl::pointer_it<impl::ChainImplPtr> cur_chain_; + impl::pointer_it<impl::ResidueImplPtr> cur_res_; + impl::pointer_it<impl::AtomImplPtr> cur_atom_; impl::EntityImplPtr ent_; }; class DLLEXPORT_OST_MOL AtomViewIter : public std::iterator<std::forward_iterator_tag, AtomView> { public: - AtomViewIter(); + AtomViewIter(): cur_chain_(NULL), cur_res_(NULL), cur_atom_(NULL) { } - AtomViewIter(ChainViewList::const_iterator chain_it, - ResidueViewList::const_iterator res_it, - AtomViewList::const_iterator atom_it, + AtomViewIter(impl::pointer_it<ChainView> chain_it, + impl::pointer_it<ResidueView> res_it, + impl::pointer_it<AtomView> atom_it, EntityView ent, bool skip_empty); - bool operator==(const AtomViewIter& rhs) const { -#if defined(_MSC_VER) - return cur_chain_==rhs.cur_chain_ && cur_res_==rhs.cur_res_ && - cur_atom_==rhs.cur_atom_; -#else + bool operator==(const AtomViewIter& rhs) const + { return cur_atom_==rhs.cur_atom_; -#endif } - bool operator!=(const AtomViewIter& rhs) const { + + bool operator!=(const AtomViewIter& rhs) const + { return !this->operator==(rhs); } + AtomViewIter& operator++(); AtomView operator*(); private: void SkipEmpty(); - ChainViewList::const_iterator cur_chain_; - ResidueViewList::const_iterator cur_res_; - AtomViewList::const_iterator cur_atom_; + impl::pointer_it<ChainView> cur_chain_; + impl::pointer_it<ResidueView> cur_res_; + impl::pointer_it<AtomView> cur_atom_; EntityView ent_; }; diff --git a/modules/mol/base/src/property_id.cc b/modules/mol/base/src/property_id.cc index ed19a4f3e85d5d17955d84fd67241f043fb510d4..a6408b83e97407a26060faac0824dc0659403493 100644 --- a/modules/mol/base/src/property_id.cc +++ b/modules/mol/base/src/property_id.cc @@ -49,7 +49,9 @@ struct Properties : public boost::spirit::symbols<Prop> { ("abfac", Prop(Prop::ABFAC, Prop::FLOAT, Prop::ATOM)) ("rbfac", Prop(Prop::RBFAC, Prop::FLOAT, Prop::RESIDUE)) ("peptide", Prop(Prop::PEPTIDE, Prop::INT, Prop::RESIDUE)) - ("rindex", Prop(Prop::RINDEX, Prop::INT, Prop::RESIDUE)) + ("rindex", Prop(Prop::RINDEX, Prop::INT, Prop::RESIDUE)) + ("protein", Prop(Prop::PROTEIN, Prop::INT, Prop::RESIDUE)) + ("water", Prop(Prop::WATER, Prop::INT, Prop::RESIDUE)) ("acharge", Prop(Prop::ACHARGE, Prop::FLOAT, Prop::ATOM)); } } properties; @@ -112,6 +114,10 @@ String Prop::GetName() const return "acharge"; case RINDEX: return "rindex"; + case PROTEIN: + return "protein"; + case WATER: + return "water"; default: return ""; } diff --git a/modules/mol/base/src/property_id.hh b/modules/mol/base/src/property_id.hh index dfc984bc2b465fa70c502fdd8c6653efd82bba14..4ea4be13fc66c96512edfca18169967602f747da 100644 --- a/modules/mol/base/src/property_id.hh +++ b/modules/mol/base/src/property_id.hh @@ -40,7 +40,8 @@ public: /// respectively. typedef enum { RNAME, ANAME, CNAME, ELE, RNUM, ANUM, AX, AY, AZ, OCC, RTYPE, ISHETATM, - RBFAC, ABFAC, PEPTIDE, ACHARGE, RINDEX, WITHIN, UNDEF, CUSTOM + RBFAC, ABFAC, PEPTIDE, ACHARGE, RINDEX, PROTEIN, WATER, WITHIN, + UNDEF, CUSTOM } ID; typedef enum { diff --git a/modules/mol/base/src/query_state.cc b/modules/mol/base/src/query_state.cc index c3e68560b175d21de8ad6591161e273a4b50f149..95dc07e16ef138132fc9b8a43c93c23061e994ee 100644 --- a/modules/mol/base/src/query_state.cc +++ b/modules/mol/base/src/query_state.cc @@ -63,7 +63,7 @@ bool QueryState::do_within(const geom::Vec3& pos, const impl::WithinParam& p, if (op==COP_LE) return geom::Dot(d, d) <= p.GetRadiusSquare(); else - return geom::Dot(d, d) >= p.GetRadiusSquare(); + return geom::Dot(d, d) > p.GetRadiusSquare(); } else { const LazilyBoundRef& r=this->GetBoundObject(p.GetRef()); for (AtomViewIter i=r.view.AtomsBegin(), e=r.view.AtomsEnd(); i!=e; ++i) { @@ -72,7 +72,7 @@ bool QueryState::do_within(const geom::Vec3& pos, const impl::WithinParam& p, if (geom::Dot(d, d) <= p.GetRadiusSquare()) { return true; } - } else if (geom::Dot(d, d) <= p.GetRadiusSquare()) { + } else if (geom::Dot(d, d) > p.GetRadiusSquare()) { return false; } } @@ -198,7 +198,7 @@ boost::logic::tribool QueryState::EvalResidue(const impl::ResidueImplPtr& r) { s_[*i]=cmp_num<int>(ss.comp_op,int_value,boost::get<int>(ss.param)); break; case Prop::PEPTIDE: - int_value=r->GetChemClass().IsPeptideLinking() ? 1 : 0; + int_value=r->GetChemClass().IsPeptideLinking(); s_[*i] = cmp_num<int>(ss.comp_op,int_value,boost::get<int>(ss.param)); break; case Prop::RBFAC: @@ -209,6 +209,14 @@ boost::logic::tribool QueryState::EvalResidue(const impl::ResidueImplPtr& r) { s_[*i] = cmp_num<Real>(ss.comp_op, float_value, boost::get<float>(ss.param)); break; + case Prop::PROTEIN: + int_value=r->IsProtein(); + s_[*i]=cmp_num<int>(ss.comp_op,int_value,boost::get<int>(ss.param)); + break; + case Prop::WATER: + int_value=r->GetChemClass().IsWater(); + s_[*i]=cmp_num<int>(ss.comp_op,int_value,boost::get<int>(ss.param)); + break; case Prop::RTYPE: p=boost::get<String>(ss.param); if (p.length()>1) { diff --git a/modules/mol/base/src/query_view_wrapper.cc b/modules/mol/base/src/query_view_wrapper.cc index ae0aa527ab7d9f80082730a9fec78ac442260728..310bc468b9333a6efa2565dabdb40af133e11ab8 100644 --- a/modules/mol/base/src/query_view_wrapper.cc +++ b/modules/mol/base/src/query_view_wrapper.cc @@ -27,24 +27,21 @@ QueryViewWrapper::QueryViewWrapper(): entity_handle_(), entity_view_(), query_(), - flags_(0) -{} + flags_(0){} QueryViewWrapper::QueryViewWrapper(const EntityHandle& entity_handle): view_set_(false), entity_handle_(entity_handle), entity_view_(), query_(), - flags_(0) -{} + flags_(0){} QueryViewWrapper::QueryViewWrapper(const EntityView& entity_view): view_set_(true), entity_handle_(), entity_view_(entity_view), query_(), - flags_(0) -{} + flags_(0){} QueryViewWrapper::QueryViewWrapper(const Query& query, const EntityHandle& entity_handle, @@ -53,8 +50,7 @@ QueryViewWrapper::QueryViewWrapper(const Query& query, entity_handle_(entity_handle), entity_view_(), query_(query), - flags_(f) -{} + flags_(0){} QueryViewWrapper::QueryViewWrapper(const Query& query, const EntityView& view, @@ -63,8 +59,23 @@ QueryViewWrapper::QueryViewWrapper(const Query& query, entity_handle_(), entity_view_(view), query_(query), - flags_(f) -{} + flags_(0){} + +QueryViewWrapper::QueryViewWrapper(const Query& query, QueryFlags flags, + const EntityHandle& entity_handle): + view_set_(false), + entity_handle_(entity_handle), + entity_view_(), + query_(query), + flags_(flags){} + +QueryViewWrapper::QueryViewWrapper(const Query& query, QueryFlags flags, + const EntityView& view): + view_set_(true), + entity_handle_(), + entity_view_(view), + query_(query), + flags_(flags){} EntityView QueryViewWrapper::GetEntityView() const { @@ -88,18 +99,14 @@ void QueryViewWrapper::SetQuery(const Query& query) query_ = query; } -void QueryViewWrapper::SetQueryFlags(QueryFlags f) -{ - flags_=f; +void QueryViewWrapper::SetFlags(QueryFlags flags){ + flags_ = flags; } - -QueryFlags QueryViewWrapper::GetQueryFlags() const -{ +QueryFlags QueryViewWrapper::GetFlags() const{ return flags_; } -bool QueryViewWrapper::IsDataValid() const -{ +bool QueryViewWrapper::IsDataValid() const{ if(view_set_){ return entity_view_.IsValid(); } diff --git a/modules/mol/base/src/query_view_wrapper.hh b/modules/mol/base/src/query_view_wrapper.hh index 483b303c9e6704c596aa0e4ab182de5fa816ecb9..44ec53d3b81ea525e2072a7f2dbf9fa86aecec83 100644 --- a/modules/mol/base/src/query_view_wrapper.hh +++ b/modules/mol/base/src/query_view_wrapper.hh @@ -32,8 +32,10 @@ public: explicit QueryViewWrapper(const EntityHandle& entity_handle); explicit QueryViewWrapper(const EntityView& entity_view); QueryViewWrapper(); - QueryViewWrapper(const Query& query, const EntityHandle& handle, QueryFlags f=0); - QueryViewWrapper(const Query& query, const EntityView& view, QueryFlags f=0); + QueryViewWrapper(const Query& query, const EntityHandle& handle); + QueryViewWrapper(const Query& query, const EntityView& view = mol::EntityView()); + QueryViewWrapper(const Query& query, QueryFlags flags, const EntityHandle& handle); + QueryViewWrapper(const Query& query, QueryFlags flags, const EntityView& view = mol::EntityView()); EntityView GetEntityView() const; bool DependsOnQuery() const; bool IsDataValid() const; @@ -41,8 +43,8 @@ public: void SetQuery(const Query& query); const Query& GetQuery() const; - void SetQueryFlags(QueryFlags f); - QueryFlags GetQueryFlags() const; + void SetFlags(QueryFlags flags); + QueryFlags GetFlags() const; private: bool view_set_; diff --git a/modules/mol/base/src/residue_base.cc b/modules/mol/base/src/residue_base.cc index f4ce54ee5aafc307e7f31efff4f05ef6975ed7d7..9ae05d783a17e7885f3f1b2f8896cdcb1a7894be 100644 --- a/modules/mol/base/src/residue_base.cc +++ b/modules/mol/base/src/residue_base.cc @@ -181,5 +181,17 @@ int ResidueBase::GetIntProperty(Prop::ID prop_id) const return Impl()->GetIntProperty(prop_id); } +bool ResidueBase::IsProtein() const +{ + this->CheckValidity(); + return Impl()->IsProtein(); +} + +void ResidueBase::SetIsProtein(bool protein) +{ + this->CheckValidity(); + Impl()->SetProtein(protein); +} + }} diff --git a/modules/mol/base/src/residue_base.hh b/modules/mol/base/src/residue_base.hh index 69749ed492dbc566ad1d3eb72eabb3ad23999257..1ad7438795fa240422afc912645ab5025c48d50d 100644 --- a/modules/mol/base/src/residue_base.hh +++ b/modules/mol/base/src/residue_base.hh @@ -139,7 +139,11 @@ public: /// \brief Get int property by id int GetIntProperty(Prop::ID prop_id) const; - + + /// \brief whether the residue is part of the protein. + bool IsProtein() const; + + void SetIsProtein(bool protein); public: impl::ResidueImplPtr& Impl(); diff --git a/modules/mol/base/src/residue_handle.cc b/modules/mol/base/src/residue_handle.cc index bfc57c1949c209f753e0592730669f82f179c020..6c9e007d80a2d52ea1f69a981f81e5416adf283c 100644 --- a/modules/mol/base/src/residue_handle.cc +++ b/modules/mol/base/src/residue_handle.cc @@ -181,9 +181,9 @@ AtomHandleIter ResidueHandle::AtomsBegin() const impl::ResidueImplPtr r=Impl(); int index=this->GetIndex(); impl::ChainImplPtr c=r->GetChain(); - impl::ChainImplList::iterator cc=r->GetEntity()->GetChain(c->GetName()); - return AtomHandleIter(cc, c->GetResidueList().begin()+index, - r->GetAtomList().begin(), r->GetEntity(), true); + impl::pointer_it<impl::ChainImplPtr> cc=r->GetEntity()->GetChainIter(c->GetName()); + return AtomHandleIter(cc, impl::begin(c->GetResidueList())+index, + impl::begin(r->GetAtomList()), r->GetEntity(), true); } AtomHandleIter ResidueHandle::AtomsEnd() const @@ -192,14 +192,15 @@ AtomHandleIter ResidueHandle::AtomsEnd() const impl::ResidueImplPtr r=Impl(); int index=this->GetIndex(); impl::ChainImplPtr c=r->GetChain(); - impl::ChainImplList::iterator cc=r->GetEntity()->GetChain(c->GetName()); + impl::pointer_it<impl::ChainImplPtr> cc=r->GetEntity()->GetChainIter(c->GetName()); if (c->GetResidueList().begin()+index+1==c->GetResidueList().end()) { - return AtomHandleIter(cc, c->GetResidueList().begin()+index, - r->GetAtomList().end(), r->GetEntity(), false); + return AtomHandleIter(cc, impl::begin(c->GetResidueList())+index, + impl::begin(r->GetAtomList()), r->GetEntity(), false); } else { - impl::ResidueImplList::iterator x=(c->GetResidueList().begin()+index+1); - return AtomHandleIter(cc, c->GetResidueList().begin()+index+1, - (*x)->GetAtomList().begin(), r->GetEntity(), false); + impl::pointer_it<impl::ResidueImplPtr> x=(impl::begin(c->GetResidueList())+index+1); + return AtomHandleIter(cc, impl::begin(c->GetResidueList())+index+1, + impl::begin((*x)->GetAtomList()), + r->GetEntity(), false); } } @@ -225,22 +226,10 @@ geom::Vec3 ResidueHandle::GetAltAtomPos(const AtomHandle& atom, return Impl()->GetAltAtomPos(atom.Impl(), group); } -geom::Vec3 ResidueHandle::GetGeometricStart() const +geom::AlignedCuboid ResidueHandle::GetBounds() const { this->CheckValidity(); - return Impl()->GetGeometricStart(); -} - -geom::Vec3 ResidueHandle::GetGeometricEnd() const -{ - this->CheckValidity(); - return Impl()->GetGeometricEnd(); -} - -geom::Vec3 ResidueHandle::GetGeometricCenter() const -{ - this->CheckValidity(); - return Impl()->GetGeometricCenter(); + return Impl()->GetBounds(); } geom::Vec3 ResidueHandle::GetCenterOfMass() const diff --git a/modules/mol/base/src/residue_handle.hh b/modules/mol/base/src/residue_handle.hh index 0d85e6e7fd460be23d463f1c7210da729e74edee..f1eb07850185a9b1ea404eeceaedb589e1feff9b 100644 --- a/modules/mol/base/src/residue_handle.hh +++ b/modules/mol/base/src/residue_handle.hh @@ -19,9 +19,11 @@ #ifndef OST_RESIDUE_HANDLE_HU #define OST_RESIDUE_HANDLE_HU +#include <ost/geom/vec3.hh> +#include <ost/geom/aligned_cuboid.hh> + #include <ost/mol/query.hh> #include <ost/mol/module_config.hh> -#include <ost/geom/vec3.hh> #include <ost/mol/residue_base.hh> #include <ost/mol/atom_prop.hh> #include <ost/mol/entity_visitor_fw.hh> @@ -77,17 +79,8 @@ public: /// similar to GetCenterOfMass(), but the atoms are not mass weighted geom::Vec3 GetCenterOfAtoms() const; - /// \brief Get entity's geometric center - /// - /// Returns the geometric center of the entity's bounding box - /// by calculating (GetGeometricStart()+GetGeometricEnd())/2 - geom::Vec3 GetGeometricCenter() const; - - /// \brief Get entity's minimum cartesian coordinates - geom::Vec3 GetGeometricStart() const; - - /// \brief Get entity's maximum cartesian coordinates - geom::Vec3 GetGeometricEnd() const; + /// \brief get axis-aligned bounding box of residue + geom::AlignedCuboid GetBounds() const; /// \brief The chain this residue is attached to ChainHandle GetChain() const; @@ -204,7 +197,7 @@ public: /// \brief return view based on query String. /// \sa Query EntityView Select(const String& query_string, QueryFlags flags=0) const; - + bool operator==(const ResidueHandle& ref) const; bool operator!=(const ResidueHandle& ref) const; diff --git a/modules/mol/base/src/residue_prop.hh b/modules/mol/base/src/residue_prop.hh index fb75e52d63a7fb98d79c663ccd2acffa73132242..2bb92b3da49032829c360f069d0ea9d76bf64296 100644 --- a/modules/mol/base/src/residue_prop.hh +++ b/modules/mol/base/src/residue_prop.hh @@ -67,20 +67,6 @@ DLLEXPORT_OST_MOL std::ostream& operator<<(std::ostream& os, const ResNum& n); typedef String ResidueKey; -/// \brief Residue properties -/// -/// Small data structure to aggregate residue properties. -struct DLLEXPORT_OST_MOL ResidueProp { - ResidueProp(const String& k, char a) - : key(k), abbrev(a) { - } - ResidueProp() - :key(""), abbrev('\0') { - } - ResidueKey key; - char abbrev; -}; - }} // ns diff --git a/modules/mol/base/src/residue_view.cc b/modules/mol/base/src/residue_view.cc index 72c5ff76fbd08034f744229f76c24e975ba4ee1d..53e0a3eaa79126ebbd6095a3c69719196a8d6c09 100644 --- a/modules/mol/base/src/residue_view.cc +++ b/modules/mol/base/src/residue_view.cc @@ -205,36 +205,17 @@ double ResidueView::GetMass() const return mass; } -geom::Vec3 ResidueView::GetGeometricStart() const +geom::AlignedCuboid ResidueView::GetBounds() const { this->CheckValidity(); - geom::Vec3 minimum(std::numeric_limits<Real>::max(), - std::numeric_limits<Real>::max(), - std::numeric_limits<Real>::max()); + geom::Vec3 mmin( std::numeric_limits<Real>::max()); + geom::Vec3 mmax(-std::numeric_limits<Real>::max()); AtomViewList::const_iterator i; for (i=data_->atoms.begin(); i!=data_->atoms.end(); ++i) { - minimum=geom::Min(minimum, (*i).GetPos()); + mmin=geom::Min(mmin, (*i).GetPos()); + mmax=geom::Max(mmax, (*i).GetPos()); } - return minimum; -} - -geom::Vec3 ResidueView::GetGeometricEnd() const -{ - this->CheckValidity(); - geom::Vec3 maximum(-std::numeric_limits<Real>::max(), - -std::numeric_limits<Real>::max(), - -std::numeric_limits<Real>::max()); - AtomViewList::const_iterator i; - for (i=data_->atoms.begin(); i!=data_->atoms.end(); ++i) { - maximum=geom::Max(maximum, (*i).GetPos()); - } - return maximum; -} - -geom::Vec3 ResidueView::GetGeometricCenter() const -{ - this->CheckValidity(); - return (this->GetGeometricStart() + this->GetGeometricEnd())/2; + return geom::AlignedCuboid(mmin, mmax); } geom::Vec3 ResidueView::GetCenterOfMass() const diff --git a/modules/mol/base/src/residue_view.hh b/modules/mol/base/src/residue_view.hh index 0cd381e86e08046fa59456b6e7cf48f44bfabd03..d771a95ce09a0ba448eaca0be2a391e53020ecdd 100644 --- a/modules/mol/base/src/residue_view.hh +++ b/modules/mol/base/src/residue_view.hh @@ -153,14 +153,9 @@ public: /// similar to GetCenterOfMass(), but the atoms are not mass weighted geom::Vec3 GetCenterOfAtoms() const; - /// \brief Get entity's geometric center - /// - /// Returns the geometric center of the entity's bounding box - /// by calculating (GetGeometricStart()+GetGeometricEnd())/2 - geom::Vec3 GetGeometricCenter() const; + /// \brief Get entity's axis-aligned bounding box + geom::AlignedCuboid GetBounds() const; - geom::Vec3 GetGeometricStart() const; - geom::Vec3 GetGeometricEnd() const; /// \brief return view based on a query object /// \sa Query diff --git a/modules/mol/base/src/surface_builder.cc b/modules/mol/base/src/surface_builder.cc index d85db43a5e6c35706dcb1bee6e6f03e97358c792..3be39406778bade182728da22802672862db3fcf 100644 --- a/modules/mol/base/src/surface_builder.cc +++ b/modules/mol/base/src/surface_builder.cc @@ -27,7 +27,7 @@ namespace ost { namespace mol { SurfaceHandle BuildSurface(const EntityView& ev, Real probe_radius, Real patch_size) { - LOGN_ERROR("not yet implemented"); + LOG_ERROR("not yet implemented"); return SurfaceHandle(); } diff --git a/modules/mol/base/tests/test_delete.cc b/modules/mol/base/tests/test_delete.cc index 6366822012674e28accc83d826a6b98612e6c18d..c117f5d9ae50dfd0d26a41c665627b957d3dd751 100644 --- a/modules/mol/base/tests/test_delete.cc +++ b/modules/mol/base/tests/test_delete.cc @@ -65,20 +65,16 @@ struct Fixture { AtomHandle ad; TorsionHandle t; }; -void test_atom_delete() { + +BOOST_AUTO_TEST_SUITE( mol_base ) + +BOOST_AUTO_TEST_CASE(atom_delete) +{ Fixture f; XCSEditor e=f.e.RequestXCSEditor(); e.DeleteAtom(f.ab); E ev; BOOST_CHECK_NO_THROW(f.e.Apply(ev)); - -} - -BOOST_AUTO_TEST_SUITE( mol_base ) - -BOOST_AUTO_TEST_CASE(test_atom_delete) -{ - test_atom_delete(); } BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/modules/mol/base/tests/test_query.cc b/modules/mol/base/tests/test_query.cc index 3dd125e4412447d148d216e7b7686fcb801b4406..d84a3156be0375fedf8db262a0970d29c8a0d952 100644 --- a/modules/mol/base/tests/test_query.cc +++ b/modules/mol/base/tests/test_query.cc @@ -33,7 +33,7 @@ EntityHandle make_query_test_entity() EntityHandle eh = CreateEntity(); XCSEditor e=eh.RequestXCSEditor(); ChainHandle chain = e.InsertChain("A"); - chain.SetFloatProp("testpropc", 1.0); + chain.SetFloatProp("testprop_c", 1.0); ResidueHandle res = e.AppendResidue(chain, "MET"); res.SetFloatProp("testpropr", 1.0); AtomProp c_atom; @@ -229,9 +229,9 @@ BOOST_AUTO_TEST_CASE(test_query_eval) ensure_counts(e, "grtestpropr:0=1", 1, 1, 8); ensure_counts(e, "grtestpropr:1.0=1", 1, 3, 27); ensure_counts(e, "grtestpropr:2.0=2", 1, 2, 19); - ensure_counts(e, "gctestpropc:0=1", 1, 3, 27); - ensure_counts(e, "gctestpropc:1.0=1", 1, 3, 27); - ensure_counts(e, "gctestpropc:2.0=2", 0, 0, 0); + ensure_counts(e, "gctestprop_c:0=1", 1, 3, 27); + ensure_counts(e, "gctestprop_c:1.0=1", 1, 3, 27); + ensure_counts(e, "gctestprop_c:2.0=2", 0, 0, 0); } BOOST_AUTO_TEST_CASE(test_query_eval_on_view) @@ -261,9 +261,9 @@ BOOST_AUTO_TEST_CASE(test_query_eval_on_view) ensure_counts_v(v, "grtestpropr:0=1", 1, 1, 8); ensure_counts_v(v, "grtestpropr:1.0=1", 1, 3, 27); ensure_counts_v(v, "grtestpropr:2.0=2", 1, 2, 19); - ensure_counts_v(v, "gctestpropc:0=1", 1, 3, 27); - ensure_counts_v(v, "gctestpropc:1.0=1", 1, 3, 27); - ensure_counts_v(v, "gctestpropc:2.0=2", 0, 0, 0); + ensure_counts_v(v, "gctestprop_c:0=1", 1, 3, 27); + ensure_counts_v(v, "gctestprop_c:1.0=1", 1, 3, 27); + ensure_counts_v(v, "gctestprop_c:2.0=2", 0, 0, 0); } BOOST_AUTO_TEST_CASE(test_query_throw) @@ -275,8 +275,8 @@ BOOST_AUTO_TEST_CASE(test_query_throw) BOOST_CHECK_NO_THROW(e.Select("grtestpropr:0=1")); BOOST_CHECK_NO_THROW(e.Select("grtestpropr:1=1")); BOOST_CHECK_THROW(e.Select("grtestpropr=1"), std::exception); - BOOST_CHECK_NO_THROW(e.Select("gctestpropc:0=1")); - BOOST_CHECK_NO_THROW(e.Select("gctestpropc:1=1")); + BOOST_CHECK_NO_THROW(e.Select("gctestprop_c:0=1")); + BOOST_CHECK_NO_THROW(e.Select("gctestprop_c:1=1")); BOOST_CHECK_THROW(e.Select("ganotsetprop=1"), std::exception); BOOST_CHECK_THROW(e.Select("grnotsetprop=1"), std::exception); BOOST_CHECK_THROW(e.Select("gcnotsetprop=1"), std::exception); diff --git a/modules/qa/src/all_atom_potential.cc b/modules/qa/src/all_atom_potential.cc index b59337914c6148d89945a4351930fff5cb1efadf..348880447a93c9f8530bc1a4b65a146f809e2d72 100644 --- a/modules/qa/src/all_atom_potential.cc +++ b/modules/qa/src/all_atom_potential.cc @@ -81,7 +81,8 @@ public: if (d<0) d=0.0; if (d>options_.lower_cutoff) { - if (abs(atom_handle.GetResidue().GetIndex()-a.GetResidue().GetIndex())<options_.sequence_sep) { + // GetHandle() necessary to retriev original index of the view (as compared to index in the view): + if (abs(atom_handle.GetResidue().GetIndex()-a.GetResidue().GetHandle().GetIndex())<options_.sequence_sep) { continue; } energy_+=energies_.Get(type_a, type_b, d); diff --git a/modules/qa/src/amino_acids.hh b/modules/qa/src/amino_acids.hh index 809e8066a34403253140a491870c0f4bd00f908d..d2337068c8743f8f80a2827112862b60259d88ca 100644 --- a/modules/qa/src/amino_acids.hh +++ b/modules/qa/src/amino_acids.hh @@ -38,7 +38,7 @@ typedef enum { Met, Trp, Tyr, Thr, Val, Ile, Leu, Gly, Pro, - His, Phe, Xxx, + His, Phe, Xxx } AminoAcid; diff --git a/modules/qa/src/packing_statistics.cc b/modules/qa/src/packing_statistics.cc index 03390bc396356bf7dbf53fc5dbcf420a5aa885c9..8b6baddea1f3bf439b0161ac59409511e0594456 100644 --- a/modules/qa/src/packing_statistics.cc +++ b/modules/qa/src/packing_statistics.cc @@ -36,7 +36,7 @@ PackingStatistics::PackingStatistics(Real cutoff, histogram_(IntegralClassifier(Xxx, 0), // Xxx is the last object in enum and therefore corresponds to the total number of atom types IntegralClassifier((max_counts/bucket_size)+1, 0)) { // since zero counts is possible, we have n+1 bins if (max_counts%bucket_size!=0) { - LOGN_MESSAGE("initialising packing statistics with max_count=" + LOG_INFO("initialising packing statistics with max_count=" << max_counts << "which is not divisible by bucket_size=" << bucket_size << "without remainder. Will continue anyway."); } diff --git a/modules/qa/src/solis_torsion_potential.cc b/modules/qa/src/solis_torsion_potential.cc index 61a4768dd62f3745480cad1cc0555ccfbb3324ec..1a61d4d25db3c97433cf0f73a29cec3c61ec1b59 100644 --- a/modules/qa/src/solis_torsion_potential.cc +++ b/modules/qa/src/solis_torsion_potential.cc @@ -33,9 +33,9 @@ namespace ost { namespace qa { namespace { -class TorsionEnergyCalc : public mol::EntityVisitor { +class SolisTorsionEnergyCalc : public mol::EntityVisitor { public: - TorsionEnergyCalc(TorsionPotentialSolis::TorsionEnergies& energies, + SolisTorsionEnergyCalc(TorsionPotentialSolis::TorsionEnergies& energies, TorsionPotentialOptsSolis opts): energies_(energies), prev_(Xxx), center_(Xxx), energy_(0.0), opts_(opts), num_torsions_(0) @@ -72,7 +72,7 @@ public: num_torsions_++; } else { - LOGN_MESSAGE("Amino acid not found in alphabets..."); + LOG_INFO("Amino acid not found in alphabets..."); } prev_=center_; center_=c; @@ -193,7 +193,7 @@ void TorsionPotentialSolis::SaveToFile(const String& path) Real TorsionPotentialSolis::GetTotalEnergy(mol::EntityHandle entity) { - TorsionEnergyCalc c(energies_, options_); + SolisTorsionEnergyCalc c(energies_, options_); entity.Apply(c); num_torsions_ = c.GetEnergyCounts(); return c.GetEnergy(); @@ -201,7 +201,7 @@ Real TorsionPotentialSolis::GetTotalEnergy(mol::EntityHandle entity) Real TorsionPotentialSolis::GetTotalEnergy(mol::EntityView entity) { - TorsionEnergyCalc c(energies_, options_); + SolisTorsionEnergyCalc c(energies_, options_); entity.Apply(c); num_torsions_ = c.GetEnergyCounts(); return c.GetEnergy(); diff --git a/modules/qa/src/solis_torsion_statistics.cc b/modules/qa/src/solis_torsion_statistics.cc index dde884087b5f8d3365529da97c5564e95f8e0a4b..9b48639b899c12c4070dfecd612028683a88bda6 100644 --- a/modules/qa/src/solis_torsion_statistics.cc +++ b/modules/qa/src/solis_torsion_statistics.cc @@ -34,9 +34,9 @@ namespace ost { namespace qa { namespace { -class TorsionStat : public mol::EntityVisitor { +class TorsionStatSolis : public mol::EntityVisitor { public: - TorsionStat(TorsionStatisticsSolis::TorsionHistogram& histo): + TorsionStatSolis(TorsionStatisticsSolis::TorsionHistogram& histo): histo_(histo) {} @@ -94,13 +94,13 @@ int TorsionStatisticsSolis::GetTorsionBucketSize() const void TorsionStatisticsSolis::Extract(mol::EntityView view) { - TorsionStat stat(histogram_); + TorsionStatSolis stat(histogram_); view.Apply(stat); } void TorsionStatisticsSolis::Extract(mol::EntityHandle entity) { - TorsionStat stat(histogram_); + TorsionStatSolis stat(histogram_); entity.Apply(stat); } diff --git a/modules/qa/src/torsion_potential.cc b/modules/qa/src/torsion_potential.cc index 828c6365b2e811f81bcfde3d6c7226977159dc9e..651718a4f04bc0d53faf6fadf3dd1ab8eb328e0c 100644 --- a/modules/qa/src/torsion_potential.cc +++ b/modules/qa/src/torsion_potential.cc @@ -85,7 +85,7 @@ public: num_torsions_++; } else { - LOGN_MESSAGE("Amino acid not found in alphabets..."); + LOG_INFO("Amino acid not found in alphabets..."); } return false; } diff --git a/modules/seq/alg/pymod/CMakeLists.txt b/modules/seq/alg/pymod/CMakeLists.txt index 22db6f7e887e1b848458c47a004383ae5767d956..dfe07488ea145a451a10f6bb6a47facbc9b3cf40 100644 --- a/modules/seq/alg/pymod/CMakeLists.txt +++ b/modules/seq/alg/pymod/CMakeLists.txt @@ -1,8 +1,7 @@ set(OST_SEQ_ALG_PYMOD_SOURCES wrap_seq_alg.cc - export_align.cc ) pymod(NAME seq_alg OUTPUT_DIR ost/seq/alg CPP ${OST_SEQ_ALG_PYMOD_SOURCES} - PY __init__.py) + PY __init__.py mat.py renumber.py) diff --git a/modules/seq/alg/pymod/__init__.py b/modules/seq/alg/pymod/__init__.py index 22aa0c8632d507f99b0d8943b0a102a94ecedce2..5d4730f17b92b7eed13cf47fe02d802e3267364b 100644 --- a/modules/seq/alg/pymod/__init__.py +++ b/modules/seq/alg/pymod/__init__.py @@ -1 +1,5 @@ -from _seq_alg import * \ No newline at end of file +from _seq_alg import * +from ost.seq.alg.mat import * + + + \ No newline at end of file diff --git a/modules/seq/alg/pymod/export_align.cc b/modules/seq/alg/pymod/export_align.cc deleted file mode 100644 index 49a8d1c8bc5dffb55230accdbaf988d8014827bd..0000000000000000000000000000000000000000 --- a/modules/seq/alg/pymod/export_align.cc +++ /dev/null @@ -1,59 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include <boost/python.hpp> -#include <boost/python/register_ptr_to_python.hpp> -#include <boost/python/suite/indexing/vector_indexing_suite.hpp> -using namespace boost::python; - -#include <ost/info/info.hh> - -#include <ost/mol/mol.hh> -#include <ost/seq/alg/subst_weight_matrix.hh> -#include <ost/seq/alg/local_align.hh> -#include <ost/seq/alg/global_align.hh> -using namespace ost; -using namespace ost::seq; -using namespace ost::seq::alg; - -void export_Align() -{ - class_<SubstWeightMatrix, SubstWeightMatrixPtr>("SubstWeightMatrix", init<>()) - .def("GetWeight", &SubstWeightMatrix::GetWeight) - .def("SetWeight", &SubstWeightMatrix::SetWeight) - ; -class_<AlignmentOpts>("AlignmentOpts", init<int,int, SubstWeightMatrixPtr>()) - .def_readwrite("gap_open_penalty", &AlignmentOpts::gap_open_penalty) - .def_readwrite("gap_extension_penalty", - &AlignmentOpts::gap_extension_penalty) - .def_readwrite("subst_weights", &AlignmentOpts::subst_weights) -; - def("SubstWeightMatrixToInfo", &SubstWeightMatrixToInfo); - def("SubstWeightMatrixFromInfo", &SubstWeightMatrixFromInfo); - - class_<AlignedPatch>("AlignedPatch", no_init) - .def_readwrite("alignment", &AlignedPatch::alignment) - .def_readwrite("offset_a", &AlignedPatch::offset_a) - .def_readwrite("offset_b", &AlignedPatch::offset_b) - ; - class_<AlignedPatchList>("AlignedPatchList", init<>()) - .def(vector_indexing_suite<AlignedPatchList>()) - ; - def("LocalSequenceAlign", &LocalSequenceAlign); - def("GlobalSequenceAlign", &GlobalSequenceAlign); -} diff --git a/modules/seq/alg/pymod/mat.py b/modules/seq/alg/pymod/mat.py new file mode 100644 index 0000000000000000000000000000000000000000..65152f045bf70ef2c50568b3abcbcfd526f38294 --- /dev/null +++ b/modules/seq/alg/pymod/mat.py @@ -0,0 +1,45 @@ +from ost.seq.alg import SubstWeightMatrix + +def _InitMatrix(data): + """ + Initialise a new substitution weight matrix with the weights in data. data + must be a 24x24 array of ints. + """ + mat=SubstWeightMatrix() + # string of valid amino acid one letter codes + chars='ABCDEFGHIKLMNPQRSTVWXYZ' + for i, row in enumerate(data): + for j, weight in enumerate(row): + mat.SetWeight(chars[i], chars[j], weight) + return mat + + +_RAW_BLOSUM62_DATA=( + (4,-2,0,-2,-1,-2,0,-2,-1,-1,-1,-1,-2,-1,-1,-1,1,0,0,-3,-1,-2), + (-2,6,-3,6,2,-3,-1,-1,-3,-1,-4,-3,1,-1,0,-2,0,-1,-3,-4,-1,-3), + (0,-3,9,-3,-4,-2,-3,-3,-1,-3,-1,-1,-3,-3,-3,-3,-1,-1,-1,-2,-1,-2), + (-2,6,-3,6,2,-3,-1,-1,-3,-1,-4,-3,1,-1,0,-2,0,-1,-3,-4,-1,-3), + (-1,2,-4,2,5,-3,-2,0,-3,1,-3,-2,0,-1,2,0,0,-1,-2,-3,-1,-2), + (-2,-3,-2,-3,-3,6,-3,-1,0,-3,0,0,-3,-4,-3,-3,-2,-2,-1,1,-1,3), + (0,-1,-3,-1,-2,-3,6,-2,-4,-2,-4,-3,0,-2,-2,-2,0,-2,-3,-2,-1,-3), + (-2,-1,-3,-1,0,-1,-2,8,-3,-1,-3,-2,1,-2,0,0,-1,-2,-3,-2,-1,2), + (-1,-3,-1,-3,-3,0,-4,-3,4,-3,2,1,-3,-3,-3,-3,-2,-1,3,-3,-1,-1), + (-1,-1,-3,-1,1,-3,-2,-1,-3,5,-2,-1,0,-1,1,2,0,-1,-2,-3,-1,-2), + (-1,-4,-1,-4,-3,0,-4,-3,2,-2,4,2,-3,-3,-2,-2,-2,-1,1,-2,-1,-1), + (-1,-3,-1,-3,-2,0,-3,-2,1,-1,2,5,-2,-2,0,-1,-1,-1,1,-1,-1,-1), + (-2,1,-3,1,0,-3,0,1,-3,0,-3,-2,6,-2,0,0,1,0,-3,-4,-1,-2), + (-1,-1,-3,-1,-1,-4,-2,-2,-3,-1,-3,-2,-2,7,-1,-2,-1,-1,-2,-4,-1,-3), + (-1,0,-3,0,2,-3,-2,0,-3,1,-2,0,0,-1,5,1,0,-1,-2,-2,-1,-1), + (-1,-2,-3,-2,0,-3,-2,0,-3,2,-2,-1,0,-2,1,5,-1,-1,-3,-3,-1,-2), + (1,0,-1,0,0,-2,0,-1,-2,0,-2,-1,1,-1,0,-1,4,1,-2,-3,-1,-2), + (0,-1,-1,-1,-1,-2,-2,-2,-1,-1,-1,-1,0,-1,-1,-1,1,5,0,-2,-1,-2), + (0,-3,-1,-3,-2,-1,-3,-3,3,-2,1,1,-3,-2,-2,-3,-2,0,4,-3,-1,-1), + (-3,-4,-2,-4,-3,1,-2,-2,-3,-3,-2,-1,-4,-4,-2,-3,-3,-2,-3,11,-1,2), + (-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1), + (-2,-3,-2,-3,-2,3,-3,2,-1,-2,-1,-1,-2,-3,-1,-2,-2,-2,-1,2,-1,7), + (-1,2,-4,2,5,-3,-2,0,-3,1,-3,-2,0,-1,2,0,0,-1,-2,-3,-1,-2), +) + +BLOSUM62=_InitMatrix(_RAW_BLOSUM62_DATA) + +__all__=['BLOSUM62'] \ No newline at end of file diff --git a/modules/seq/alg/pymod/renumber.py b/modules/seq/alg/pymod/renumber.py new file mode 100644 index 0000000000000000000000000000000000000000..39ea9fb489949845fb65681ac1cbb6f000f4e56e --- /dev/null +++ b/modules/seq/alg/pymod/renumber.py @@ -0,0 +1,50 @@ +from ost import io, seq, mol, conop +import ost + +def Renumber(seq_handle): + """ + Function to renumber an entity according to an alignment between the model sequence + and the full-length target sequence. The aligned model sequence with an attached + view needs to be provided. Upon succcess, the renumbered entity is returned. + + .. code-block:: python + + from ost.seq.alg import renumber + from ost.bindings.clustalw import * + ent=io.LoadPDB("path_to_model") + s=io.LoadSequence("path_to_full_length_fasta_seqeunce") + pdb_seq=seq.SequenceFromChain("model", ent.chains[0]) + aln=ClustalW(s,pdb_seq) + aln.AttachView(1,ent.chains[0].Select("")) + e=Renumber(aln.GetSequence(1)) + io.SavePDB(e, "renum.pdb") + + """ + if seq_handle.HasAttachedView()==False: + raise RuntimeError, "Sequence Handle has no attached view" + changed_residue_count=0 + renumberingFlag = False + ent_n=mol.CreateEntity() + ed=ent_n.RequestXCSEditor() + c=ed.InsertChain(" ") + for pos in range(len(seq_handle)): + if seq_handle[pos]!='-': + r=seq_handle.GetResidue(pos) + if r.IsValid(): + #print seq_handle[pos],r.number.num,pos+1 + if r.number.num!=pos+1: + changed_residue_count+=1 + renumberingFlag = True + r_n=ed.AppendResidue(c,r.name, mol.ResNum(pos+1)) + for atom in r.atoms: + ed.InsertAtom(r_n,atom.name,atom.pos,atom.prop) + else: + err='Error: renumbering failed at position %s' %pos + raise RuntimeError, err + if renumberingFlag == True: + err = 'Warning: %s residues have been renumbered!' %changed_residue_count + ost.LogMessage(err) + conop.ConnectAll(ent_n) + return ent_n + + diff --git a/modules/seq/alg/pymod/wrap_seq_alg.cc b/modules/seq/alg/pymod/wrap_seq_alg.cc index d4c4462c861fdee993e124db514b39991a49d4db..f632d3d6eb4656a2d546c9542cf28321c5a15c9a 100644 --- a/modules/seq/alg/pymod/wrap_seq_alg.cc +++ b/modules/seq/alg/pymod/wrap_seq_alg.cc @@ -22,13 +22,12 @@ #include <ost/seq/alg/merge_pairwise_alignments.hh> #include <ost/seq/alg/sequence_identity.hh> #include <ost/seq/alg/ins_del.hh> - +#include <ost/seq/alg/conservation.hh> +#include <ost/seq/alg/subst_weight_matrix.hh> using namespace boost::python; using namespace ost::seq; using namespace ost::seq::alg; -void export_Align(); - BOOST_PYTHON_MODULE(_seq_alg) { enum_<RefMode::Type>("RefMode") @@ -36,8 +35,8 @@ BOOST_PYTHON_MODULE(_seq_alg) .value("LONGER_SEQUENCE", RefMode::LONGER_SEQUENCE) .export_values() ; - def("SequenceIdentity", &SequenceIdentity, arg("seq_a")=0, arg("seq_b")=1); - + def("SequenceIdentity", &SequenceIdentity, + (arg("ref_mode")=RefMode::ALIGNMENT, arg("seq_a")=0, arg("seq_b")=1)); class_<AlignedRegionList>("AlignedRegionList", init<>()) .def(vector_indexing_suite<AlignedRegionList>()) ; @@ -46,6 +45,12 @@ BOOST_PYTHON_MODULE(_seq_alg) .def("GetDeletions", &InsDel::GetDeletions) .def("GetInsertions", &InsDel::GetInsertions) ; + + class_<SubstWeightMatrix, SubstWeightMatrixPtr>("SubstWeightMatrix", init<>()) + .def("GetWeight", &SubstWeightMatrix::GetWeight) + .def("SetWeight", &SubstWeightMatrix::SetWeight) + ; def("MergePairwiseAlignments", &MergePairwiseAlignments); - export_Align(); + def("Conservation", &Conservation, (arg("assign")=true, arg("prop_name")="cons")); + } diff --git a/modules/seq/alg/src/CMakeLists.txt b/modules/seq/alg/src/CMakeLists.txt index ae43bd38d1d9bea4f7fbacd7d50be2d9eef46775..7b4f86f53e5bb8c08feeba088deb1c8319691d0d 100644 --- a/modules/seq/alg/src/CMakeLists.txt +++ b/modules/seq/alg/src/CMakeLists.txt @@ -3,19 +3,17 @@ sequence_identity.hh module_config.hh ins_del.hh subst_weight_matrix.hh -local_align.hh alignment_opts.hh -global_align.hh merge_pairwise_alignments.hh +conservation.hh ) set(OST_SEQ_ALG_SOURCES merge_pairwise_alignments.cc -global_align.cc sequence_identity.cc ins_del.cc subst_weight_matrix.cc -local_align.cc +conservation.cc ) module(NAME seq_alg HEADER_OUTPUT_DIR ost/seq/alg SOURCES ${OST_SEQ_ALG_SOURCES} diff --git a/modules/seq/alg/src/conservation.cc b/modules/seq/alg/src/conservation.cc new file mode 100644 index 0000000000000000000000000000000000000000..46cb5cfd8fb9d648c0d9b0f0e0ab797093e9cfa2 --- /dev/null +++ b/modules/seq/alg/src/conservation.cc @@ -0,0 +1,135 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + +#include <ost/seq/aligned_column.hh> +#include <ost/seq/alignment_handle.hh> +#include <ost/seq/alg/conservation.hh> + +namespace ost { namespace seq { namespace alg { + +// taken from Armon et al., J. Mol. Biol. (2001) 307, 447-463 +static float CHEM_DISSIM[][24]={ + {0.00, 1.33, 1.39, 2.22, 1.84, 1.45, 2.48, 3.26, 2.83, 3.48, 2.56, 3.27, 3.06, + 0.86, 1.65, 1.63, 1.46, 2.24, 2.38, 3.34, 6.00, 6.00, 2.87, 3.15}, + {0.00, 0.06, 0.97, 0.56, 0.87, 1.92, 2.48, 1.80, 2.40, 2.15, 2.94, 2.90, 1.79, + 2.70, 2.62, 2.36, 3.17, 3.12, 4.17, 6.00, 6.00, 2.20, 2.10,-1.00}, + {0.00, 0.91, 0.51, 0.90, 1.92, 2.46, 1.78, 2.37, 2.78, 3.54, 3.58, 2.76, 3.67, + 3.60, 3.34, 4.14, 4.08, 5.13, 6.00, 6.00, 2.19, 2.08,-1.00,-1.00}, + {0.00, 0.85, 1.70, 2.48, 2.78, 1.96, 2.37, 2.78, 3.54, 3.58, 2.76, 3.67, 3.60, + 3.34, 4.14, 4.08, 5.13, 6.00, 6.00, 2.63, 2.17,-1.00,-1.00,-1.00}, + {0.00, 0.89, 1.65, 2.06, 1.31, 1.87, 1.94, 2.71, 2.74, 2.15, 3.04, 2.95, 2.67, + 3.45, 3.33, 4.38, 6.00, 6.00, 1.85, 1.59,-1.00,-1.00,-1.00,-1.00}, + {0.00, 1.12, 1.83, 1.40, 2.05, 1.32, 2.10, 3.03, 1.42, 2.25, 2.14, 1.86, 2.60, + 2.45, 3.50, 6.00, 6.00, 1.47, 1.73,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.84, 0.99, 1.47, 0.32, 1.06, 1.30, 2.13, 2.70, 2.57, 2.30, 2.81, 2.48, + 3.42, 6.00, 6.00, 0.42, 1.23,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.85, 0.90, 0.96, 1.14, 1.45, 2.97, 3.53, 3.39, 3.13, 3.59, 3.22, 4.08, + 6.00, 6.00, 0.42, 0.88,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.65, 1.29, 1.84, 2.04, 2.76, 3.49, 3.37, 3.08, 3.70, 3.42, 4.39, 6.00, + 6.00, 0.92, 0.33,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 1.72, 2.05, 2.34, 3.40, 4.10, 3.98, 3.69, 4.27, 3.95, 4.88, 6.00, 6.00, + 1.18, 0.33,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.79, 0.82, 2.11, 2.59, 2.45, 2.19, 2.63, 2.27, 3.16, 6.00, 6.00, 0.64, + 1.51,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.40, 2.70, 2.98, 2.84, 2.63, 2.85, 2.42, 3.11, 6.00, 6.00, 1.10, 1.95, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 2.43, 2.62, 2.49, 2.29, 2.47, 2.02, 2.72, 6.00, 6.00, 1.29, 2.19,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.91, 0.85, 0.62, 1.43, 1.52, 2.51, 6.00, 6.00, 2.55, 3.08,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.14, 0.41, 0.63, 0.94, 1.73, 6.00, 6.00, 3.11, 3.80,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.29, 0.61, 0.86, 1.72, 6.00, 6.00, 2.98, 3.68,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.82, 0.93, 1.89, 6.00, 6.00, 2.71, 3.39,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 0.48, 0.11, 6.00, 6.00, 3.20, 3.99,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 1.06, 6.00, 6.00, 2.85, 3.67,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 6.00, 6.00, 3.75, 4.64,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.50, 6.00, 6.00, 6.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 6.00, 6.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00, 1.05,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00}, + {0.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00, + -1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00,-1.00} +}; + +float PhysicoChemicalDissim(char c1, char c2) +{ + static int indices[]={2, 23, 0, 9, 7, 17, 3, 10, 15, -1, + 11, 14, 16, 8, -1, 1, 6, 12, 4, 5, + -1, 13, 19, 21, 18, 22}; + int idx_a=(c1=='-' || c1<'A' || c1>'Z') ? 20 : indices[c1-'A']; + int idx_b=(c2=='-' || c2<'A' || c2>'Z') ? 20 : indices[c2-'A']; + + if (idx_a<0) { + idx_a=20; + } + if (idx_b<0) { + idx_b=20; + } + float s=0.0; + if (idx_a>idx_b) + s=CHEM_DISSIM[idx_b][idx_a-idx_b]; + else + s=CHEM_DISSIM[idx_a][idx_b-idx_a]; + assert(s>=0.0); + return s; +} + +std::vector<Real> Conservation(const AlignmentHandle& aln, bool assign, + const String& prop) +{ + std::vector<Real> cons(aln.GetLength(), 0.0); + int comb=(aln.GetCount()*(aln.GetCount()-1))/2; + for (int col=0; col<aln.GetLength(); ++col) { + float score=0.0; + AlignedColumn c=aln[col]; + for (int i=0; i<aln.GetCount(); ++i) { + for (int j=i+1; j<aln.GetCount(); ++j) { + score+=PhysicoChemicalDissim(c[i], c[j]); + } + } + score=1.0-score/(6.0*comb); + cons[col]=score; + if (assign) { + for (int i=0; i<aln.GetCount(); ++i) { + if (c[i]!='-') { + mol::ResidueView r=c.GetResidue(i); + if (r.IsValid()) { + if (r.GetOneLetterCode()!=c[i]) { + std::cout << "WARNING: " << col << " " << c[i] << "!=" + << r.GetOneLetterCode() << std::endl; + } + r.SetFloatProp(prop, score); + } + } + } + } + } + return cons; +} + +}}} + diff --git a/modules/seq/alg/src/global_align.hh b/modules/seq/alg/src/conservation.hh similarity index 59% rename from modules/seq/alg/src/global_align.hh rename to modules/seq/alg/src/conservation.hh index 9b477fa9bd2c4c06755b7858b5f1f0d2cea6dcee..b1375c4a26926881421ac0f646384e840771663f 100644 --- a/modules/seq/alg/src/global_align.hh +++ b/modules/seq/alg/src/conservation.hh @@ -16,27 +16,28 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_SEQ_ALG_GLOBAL_ALIGN_HH -#define OST_SEQ_ALG_GLOBAL_ALIGN_HH -/* - Author: Marco Biasini - */ + #include <ost/seq/alignment_handle.hh> #include <ost/seq/alg/module_config.hh> -#include <ost/seq/alg/alignment_opts.hh> +/* + Authors: Marco Biasini + */ namespace ost { namespace seq { namespace alg { -/// \brief globally align two sequences -/// -/// the optimal global alignment of the two sequences, given the substitution -/// weights and gap opening penalties is computed by using a classical -/// Needleman-Wunsch algorithm. The algorithm has O(n*m) complexity in both -/// space and time. -AlignmentHandle DLLEXPORT_OST_SEQ_ALG -GlobalSequenceAlign(const SequenceHandle& seq_a, const SequenceHandle& seq_b, - const AlignmentOpts& opts); - +/// \brief Calculates conservation scores for each column in the alignment. +/// +/// The conservation score is a value between 0 and 1. The bigger the number +/// the more conserved the aligned residues are. +/// +/// \p assign If true, the conservation scores are assigned to attached +/// residues. The name of the property can be changed with the prop_name +/// parameter. Useful when coloring entities based on sequence conservation. +/// \p prop_name The property name for assigning the conservation to +/// attached residues. Defaults to 'cons'. +/// +std::vector<Real> DLLEXPORT_OST_SEQ_ALG Conservation(const AlignmentHandle& aln, + bool assign=true, + const String& prop_name="cons"); }}} -#endif \ No newline at end of file diff --git a/modules/seq/alg/src/global_align.cc b/modules/seq/alg/src/global_align.cc deleted file mode 100644 index 6003ab84fe79bfbb754913f906e7b8440abf5b51..0000000000000000000000000000000000000000 --- a/modules/seq/alg/src/global_align.cc +++ /dev/null @@ -1,128 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -/* - Author: Marco Biasini - */ -#include <ost/seq/alg/global_align.hh> - -namespace ost { namespace seq { namespace alg { - -namespace { - -class GlobalAlnMatrix { -public: - GlobalAlnMatrix(int num_cols, int num_rows) - : num_rows_(num_rows), num_cols_(num_cols) { - data_.resize(num_cols_*num_rows_,0); - } - short Get(int x, int y) const { - assert(x>=0 && x<num_cols_); - assert(y>=0 && y<num_rows_); - return data_[num_cols_*y+x]; - } - void Set(int x, int y, short value) { - data_[num_cols_*y+x]=value; - } - - int num_rows_; - int num_cols_; - std::vector<short> data_; -}; - -} - -AlignmentHandle GlobalSequenceAlign(const SequenceHandle& seq_a, - const SequenceHandle& seq_b, - const AlignmentOpts& opts) -{ - // using the strings directly is much better for performance reasons - String ssa=seq_a.GetString(); - String ssb=seq_b.GetString(); - GlobalAlnMatrix mat(ssa.size()+1, ssb.size()+1); - - // build-up aln mattrix - for (size_t i=0; i<ssa.size()+1; ++i) { - mat.Set(i, 0, i*opts.gap_open_penalty); - } - for (size_t i=0; i<ssb.size()+1; ++i) { - mat.Set(0, i, i*opts.gap_open_penalty); - } - for (size_t i=1; i<ssa.size()+1; ++i) { - for (size_t j=1; j<ssb.size()+1; ++j) { - short mm=opts.subst_weights->GetWeight(ssa[i-1], ssb[j-1]); - short m11=mat.Get(i-1, j-1)+mm; - short m10=mat.Get(i-1, j)-opts.gap_open_penalty; - short m01=mat.Get(i, j-1)-opts.gap_open_penalty; - mat.Set(i, j, std::max(m11, std::max(m10, m01))); - } - } - - // backtracking - size_t i=ssa.size(); - size_t j=ssb.size(); - String asa; - String asb; - asa.reserve(ssa.size()); - asb.reserve(ssb.size()); - - while (i>0 && j>0) { - // find out where we came from - short m11=mat.Get(i-1, j-1); - short m10=mat.Get(i-1, j); - short m01=mat.Get(i, j-1); - short m00=mat.Get(i, j); - short mm=opts.subst_weights->GetWeight(ssa[i-1], ssb[j-1]); - if (m11+mm==m00) { // match - asa.append(1, ssa[i-1]); - asb.append(1, ssb[j-1]); - --j; - --i; - } else if (m10-opts.gap_open_penalty==m00) { // seq b has a gap - asa.append(1, ssa[i-1]); - asb.append(1, '-'); - --i; - } else if (m01-opts.gap_open_penalty==m00) { // seq a has a gap - asa.append(1, '-'); - asb.append(1, ssb[j-1]); - --j; - } - } - while (i>0) { - asa.append(1, ssa[i-1]); - asb.append(1, '-'); - --i; - } - while (j>0) { - asa.append(1, '-'); - asb.append(1, ssb[j-1]); - --j; - } - // reverse the two strings - String rasa, rasb; - rasa.reserve(asa.size()); - rasb.reserve(asb.size()); - std::copy(asa.rbegin(), asa.rend(), std::back_inserter(rasa)); - std::copy(asb.rbegin(), asb.rend(), std::back_inserter(rasb)); - AlignmentHandle aln=CreateAlignment(); - aln.AddSequence(CreateSequence(seq_a.GetName(), rasa)); - aln.AddSequence(CreateSequence(seq_b.GetName(), rasb)); - return aln; -} - -}}} diff --git a/modules/seq/alg/src/local_align.cc b/modules/seq/alg/src/local_align.cc deleted file mode 100644 index 197a34226b214c09c960be1ab8eb046c1b7ac1cf..0000000000000000000000000000000000000000 --- a/modules/seq/alg/src/local_align.cc +++ /dev/null @@ -1,160 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#include "local_align.hh" - -namespace ost { namespace seq { namespace alg { - -namespace { - -class AliMatrix { -public: - AliMatrix(int num_rows, int num_cols) - : num_rows_(num_rows), num_cols_(num_cols) { - data_.resize(num_cols_*num_rows_,0); - } - short Get(int x, int y) const { - assert(x>=0 && x<num_rows_); - assert(y>=0 && y<num_cols_); - return data_[num_cols_*x+y]; - } - void Set(int x, int y, short value) { - data_[num_cols_*x+y]=value; - } - - int num_rows_; - int num_cols_; - std::vector<short> data_; -}; - -std::pair<int, int> FindMax(const AliMatrix& mat, int min_col, - int max_col, int min_row, int max_row) { - int max_i=0, max_j=0, max_value=-1; - for (int i=min_col; i<max_col; ++i) { - for (int j=min_row; j<max_row; ++j) { - int x=mat.Get(i, j); - if (x>max_value) { - max_value=x; - max_i=i; max_j=j; - } - } - } - return std::make_pair(max_i, max_j); -} - -// divide and conquer the alignment matrix to get all patches. -void CollectPatches(AlignedPatchList& patches, const String& seq_a, - const String& seq_b, const AliMatrix& ali_mat, int min_col, - int max_col, int min_row, int max_row) { - if (max_col-min_col<2 || max_row-min_row<2) - return; - String seq_c, seq_d; - seq_c.reserve(std::max(seq_a.length(), seq_b.length())); - seq_d.reserve(std::max(seq_a.length(), seq_b.length())); - std::pair<int, int> best=FindMax(ali_mat, min_col, max_col, min_row, max_row); - std::pair<int, int> max_pair=best; - - typedef std::pair<int, int> XY; - std::vector<XY> stack; - while(ali_mat.Get(best.first, best.second)>0 && best.first>=min_col && - best.second>=min_row) { - stack.push_back(XY(best.first, best.second)); - int a=ali_mat.Get(best.first-1, best.second-1); - int b=ali_mat.Get(best.first-1, best.second); - int c=ali_mat.Get(best.first, best.second-1); - if (a>=c) { - if (a>=b) { - best.first-=1; - best.second-=1; - } else { - best.first-=1; - } - } else { - if (c>b) { - best.second-=1; - } else { - best.first-=1; - } - } - } - for (int i=static_cast<int>(stack.size())-2; i>=0; --i) { - XY next=stack[i]; - XY curr=stack[i+1]; - if (next.first==curr.first+1) { - if (next.second==curr.second+1) { - seq_c.append(1, seq_a[next.first-1]); - seq_d.append(1, seq_b[next.second-1]); - } else { - seq_c.append(1, seq_a[next.first-1]); - seq_d.append(1, '-'); - } - } else { - if (next.second==curr.second+1) { - seq_c.append(1, '-'); - seq_d.append(1, seq_b[next.second-1]); - } else { - seq_c.append(1, seq_a[next.first-1]); - seq_d.append(1, '-'); - } - } - } - if (seq_c.size()>2 && seq_c.size()>2) { - patches.push_back(AlignedPatch()); - patches.back().offset_a=best.first; - patches.back().offset_b=best.second; - if (seq_c[0]=='-' || seq_d[0]=='-') { - seq_c.erase(seq_c.begin()); - seq_d.erase(seq_d.begin()); - } - patches.back().alignment=CreateAlignment(); - patches.back().alignment.AddSequence(CreateSequence("seq1", seq_c)); - patches.back().alignment.AddSequence(CreateSequence("seq2 ", seq_d)); - CollectPatches(patches, seq_a, seq_b, ali_mat, max_pair.first+1, max_col, - max_pair.second+1, max_row); - } -} - -} - -AlignedPatchList LocalSequenceAlign(const SequenceHandle& sseq_a, - const SequenceHandle& sseq_b, - const AlignmentOpts& opts) -{ - - String seq_a=sseq_a.GetString(); - String seq_b=sseq_b.GetString(); - AliMatrix ali_mat(seq_a.length()+1, seq_b.length()+1); - // build alignment matrix. - for (size_t i=0; i<seq_a.length(); ++i) { - for (size_t j=0; j<seq_b.length(); ++j) { - int w=opts.subst_weights->GetWeight(seq_a[i], seq_b[j]); - int match_mism=std::max(0, w+int(ali_mat.Get(i, j))); - int del=ali_mat.Get(i, j+1)-opts.gap_open_penalty; - int ins=ali_mat.Get(i+1, j)-opts.gap_open_penalty; - ali_mat.Set(i+1, j+1, std::max(match_mism, std::max(del, ins))); - } - } - AlignedPatchList patches; - // backtracking - CollectPatches(patches, seq_a, seq_b, ali_mat, 0, seq_a.length()+1, - 0, seq_b.length()+1); - return patches; -} - -}}} - diff --git a/modules/seq/alg/src/local_align.hh b/modules/seq/alg/src/local_align.hh deleted file mode 100644 index b685851d39994c8106c3368b6127c356898d5428..0000000000000000000000000000000000000000 --- a/modules/seq/alg/src/local_align.hh +++ /dev/null @@ -1,70 +0,0 @@ -//------------------------------------------------------------------------------ -// This file is part of the OpenStructure project <www.openstructure.org> -// -// Copyright (C) 2008-2010 by the OpenStructure authors -// -// This library is free software; you can redistribute it and/or modify it under -// the terms of the GNU Lesser General Public License as published by the Free -// Software Foundation; either version 3.0 of the License, or (at your option) -// any later version. -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -// details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -//------------------------------------------------------------------------------ -#ifndef OST_SEQ_LOCAL_ALIGN_HH -#define OST_SEQ_LOCAL_ALIGN_HH - - -#include <ost/seq/alignment_handle.hh> -#include <ost/seq/alg/module_config.hh> -#include <ost/seq/alg/alignment_opts.hh> -#include <ost/seq/alg/subst_weight_matrix.hh> -/* - Author: Marco Biasini - */ - -namespace ost { namespace seq { namespace alg { - -/// \brief holds the result of a local sequence alignment -struct DLLEXPORT_OST_SEQ_ALG AlignedPatch { - /// \brief offset of aligned patch relative to the start of the first sequence - int offset_a; - /// \brief offset of aligned patch relative to the start of the first sequence - int offset_b; - /// \brief the aligned patch - AlignmentHandle alignment; - bool operator==(const AlignedPatch& rhs) const { - return offset_a==rhs.offset_a && offset_b==rhs.offset_b && - rhs.alignment==alignment; - } - bool operator!=(const AlignedPatch& rhs) const { - return !this->operator==(rhs); - } -}; - -typedef std::vector<AlignedPatch> AlignedPatchList; - -/// \brief Align pair of sequences locally with Waterman-Smith algorithm -/// -/// The alignment algorithm will return the set of optimal alignments given the -/// weights of the substitution matrix and gap opening and extension penalties. -/// The sequence patches are non-overlapping -/// -/// \param seq_a is the first sequence to be aligned -/// \param seq_b is the second sequence to be aligned -/// -/// \param opts holds a set of alignment options such as gap opening and -/// extension penalties and the substitution matrix -/// -/// \return list of locally aligned sequence patches. -AlignedPatchList DLLEXPORT_OST_SEQ_ALG -LocalSequenceAlign(const SequenceHandle& seq_a, const SequenceHandle& seq_b, - const AlignmentOpts& opts); -}}} - -#endif diff --git a/modules/seq/alg/src/merge_pairwise_alignments.cc b/modules/seq/alg/src/merge_pairwise_alignments.cc index f7a7c000ecebf9cc96711b59dff976a6c9620816..f91cc34390ec9caf3e24aea63474b5fd74730778 100644 --- a/modules/seq/alg/src/merge_pairwise_alignments.cc +++ b/modules/seq/alg/src/merge_pairwise_alignments.cc @@ -34,7 +34,7 @@ typedef std::map<int, int> ShiftMap; namespace { void update_shifts(const AlignmentHandle& aln, - const SequenceHandle& ref_seq, + const ConstSequenceHandle& ref_seq, ShiftMap& shifts) { ConstSequenceHandle s1=aln.GetSequence(0); @@ -50,8 +50,13 @@ void update_shifts(const AlignmentHandle& aln, j++; } if (shift>0) { - assert(i>0); - int res_index=s1.GetResidueIndex(i-1); + int res_index=0; + if (i == 0){ + res_index=-1; + } + else if (i > 0) { + res_index=s1.GetResidueIndex(i-1); + } ShiftMap::iterator p=shifts.find(res_index); if (p!=shifts.end()) { p->second=std::max(p->second, shift); @@ -63,28 +68,33 @@ void update_shifts(const AlignmentHandle& aln, } } -SequenceHandle shift_reference(const SequenceHandle& ref_seq, - const ShiftMap& shifts) +SequenceHandle shift_reference(const ConstSequenceHandle& ref_seq, + const ShiftMap& shifts) { std::ostringstream new_sequence; String ref_str=ref_seq.GetString(); int last=0; for (ShiftMap::const_iterator i=shifts.begin(),e=shifts.end();i!=e; ++i) { - new_sequence << ref_str.substr(last, i->first-last+1) + if(i->first == -1){ + new_sequence << String(i->second,'-'); + } + else{ + new_sequence << ref_str.substr(last, i->first-last+1) << String(i->second, '-'); - last=i->first+1; + last=i->first+1; + } } new_sequence << ref_str.substr(last); SequenceHandle s=CreateSequence(ref_seq.GetName(), - new_sequence.str()); + new_sequence.str()); if (ref_seq.HasAttachedView()) s.AttachView(ref_seq.GetAttachedView()); - s.SetSequenceOffset(s.GetSequenceOffset()); + s.SetOffset(s.GetOffset()); return s; } SequenceHandle realign_sequence(const AlignmentHandle& aln, - const ShiftMap& shifts) + const ShiftMap& shifts) { std::ostringstream new_sequence; ConstSequenceHandle s1=aln.GetSequence(0); @@ -96,27 +106,31 @@ SequenceHandle realign_sequence(const AlignmentHandle& aln, shift++; ++j; } - if (i>0 && s1.GetOneLetterCode(i-1)!='-') { - ShiftMap::const_iterator p=shifts.find(s1.GetResidueIndex(i-1)); - if (p!=shifts.end()) { - int d=p->second-shift; - assert(d>=0); - new_sequence << String(d, '-'); - } + ShiftMap::const_iterator p=shifts.end(); + if (i == 0){ + p=shifts.find(-1); + } + else if (i>0 && s1.GetOneLetterCode(i-1)!='-') { + p=shifts.find(s1.GetResidueIndex(i-1)); + } + if (p!=shifts.end()) { + int d=p->second-shift; + assert(d>=0); + new_sequence << String(d, '-'); } - new_sequence << s2.GetOneLetterCode(i); + new_sequence << s2.GetOneLetterCode(i); } SequenceHandle s=CreateSequence(s2.GetName(), new_sequence.str()); if (s2.HasAttachedView()) s.AttachView(s2.GetAttachedView()); - s.SetSequenceOffset(s2.GetSequenceOffset()); + s.SetOffset(s2.GetOffset()); return s; } } AlignmentHandle MergePairwiseAlignments(const AlignmentList& pairwise_alns, - const SequenceHandle& ref_seq) + const ConstSequenceHandle& ref_seq) { ShiftMap shifts; diff --git a/modules/seq/alg/src/merge_pairwise_alignments.hh b/modules/seq/alg/src/merge_pairwise_alignments.hh index e021dbe09569a95d3cbb2bd0cfedac66ea29958b..565b3144167470cc02386edca5812afb1c071fc0 100644 --- a/modules/seq/alg/src/merge_pairwise_alignments.hh +++ b/modules/seq/alg/src/merge_pairwise_alignments.hh @@ -43,7 +43,7 @@ namespace ost { namespace seq { namespace alg { /// contain any gaps. AlignmentHandle DLLEXPORT_OST_SEQ_ALG MergePairwiseAlignments(const AlignmentList& pairwise_alns, - const SequenceHandle& ref_seq); + const ConstSequenceHandle& ref_seq); }}} #endif diff --git a/modules/seq/alg/src/sequence_identity.cc b/modules/seq/alg/src/sequence_identity.cc index 855d3ec48efe79ae4e4941c0d94b07f08f25f5dc..5d0a7dc2d2237f3abaf1cfd8b2badfe75385f3ff 100644 --- a/modules/seq/alg/src/sequence_identity.cc +++ b/modules/seq/alg/src/sequence_identity.cc @@ -30,28 +30,43 @@ Real SequenceIdentity(const AlignmentHandle& aln, RefMode::Type ref_mode, { int non_gap_count=0; int identical_count=0; - for (AlignedColumnIterator i=aln.begin(), e=aln.end(); i!=e; ++i) { - AlignedColumn col=*i; - if (!(col[seq_a] == '-' && col[seq_b]=='-')) { + const String& sa=aln.GetSequence(seq_a).GetString(); + const String& sb=aln.GetSequence(seq_b).GetString(); + for (String::const_iterator + i=sa.begin(), e=sa.end(), j=sb.begin(); i!=e; ++i, ++j) { + if (!((*i)== '-' || (*j)=='-')) { non_gap_count++; } - if (col[seq_a]!='-' && col[seq_a]==col[seq_b]) { + if ((*i)!='-' && (*i)==(*j)) { identical_count++; } } Real seq_id=0.0; - // devide by length of longer sequence: + // divide by length of longer sequence: if (ref_mode==RefMode::LONGER_SEQUENCE) { int wo_gaps_a=aln.GetSequence(seq_a).GetGaplessString().length(); int wo_gaps_b=aln.GetSequence(seq_b).GetGaplessString().length(); if(wo_gaps_a>=wo_gaps_b) { - seq_id=100*static_cast<Real>(identical_count)/wo_gaps_a; + if (wo_gaps_a==0) { + seq_id=0; + } else { + seq_id=100*static_cast<Real>(identical_count)/wo_gaps_a; + } + } else { - seq_id=100*static_cast<Real>(identical_count)/wo_gaps_b; + if (wo_gaps_b==0) { + seq_id=0; + } else { + seq_id=100*static_cast<Real>(identical_count)/wo_gaps_b; + } } } else { - // divide by alignment length: - seq_id=100*static_cast<Real>(identical_count)/non_gap_count; + if (non_gap_count==0) { + seq_id=0; + } else { + // divide by alignment length: + seq_id=100*static_cast<Real>(identical_count)/non_gap_count; + } } return seq_id; } diff --git a/modules/seq/alg/src/sequence_identity.hh b/modules/seq/alg/src/sequence_identity.hh index 4b775ef9228f7116d1094067ef1ec49828450e90..af9992795a1e254eef57d1270a2ed27527bf50fb 100644 --- a/modules/seq/alg/src/sequence_identity.hh +++ b/modules/seq/alg/src/sequence_identity.hh @@ -16,7 +16,7 @@ // along with this library; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA //------------------------------------------------------------------------------ -#ifndef OST_SEQ_SEQUQENCE_IDENTIY_HH +#ifndef OST_SEQ_SEQUENCE_IDENTITY_HH #define OST_SEQ_SEQUENCE_IDENTITY_HH /* @@ -30,7 +30,7 @@ namespace ost { namespace seq { namespace alg { struct RefMode { enum Type { ALIGNMENT=0, - LONGER_SEQUENCE, + LONGER_SEQUENCE }; }; diff --git a/modules/seq/alg/tests/CMakeLists.txt b/modules/seq/alg/tests/CMakeLists.txt index 512de085684ed3392d006a2f3151f2174b1a744c..37969a869b14c0f740f2b8e221509120f1cd1a6e 100644 --- a/modules/seq/alg/tests/CMakeLists.txt +++ b/modules/seq/alg/tests/CMakeLists.txt @@ -1,5 +1,6 @@ set(OST_SEQ_ALG_UNIT_TESTS test_merge_pairwise_alignments.cc + test_sequence_identity.cc tests.cc ) diff --git a/modules/seq/alg/tests/test_merge_pairwise_alignments.cc b/modules/seq/alg/tests/test_merge_pairwise_alignments.cc index 37d58e7073eebf2726fd5b8e170bb9096fec78bf..4e0e4d67a7bccc504df611dad5c1bad826c38cab 100644 --- a/modules/seq/alg/tests/test_merge_pairwise_alignments.cc +++ b/modules/seq/alg/tests/test_merge_pairwise_alignments.cc @@ -60,8 +60,8 @@ BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_one) BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_two) { SequenceHandle ref=CreateSequence("REF", "abcdefghijklmn"); - SequenceHandle s1=CreateSequence("S1", "abcd---efghijklmn"); - SequenceHandle s2=CreateSequence("S2", "abcdxyzefghijklmn"); + SequenceHandle s1=CreateSequence("S1", "abcd---efghijklmn"); + SequenceHandle s2=CreateSequence("S2", "abcdxyzefghijklmn"); AlignmentHandle aln1=CreateAlignment(); aln1.AddSequence(s1); aln1.AddSequence(s2); @@ -82,4 +82,29 @@ BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_two) BOOST_CHECK_EQUAL(seqs[2].GetString(), "abcd--yefghijklmn"); } + +BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_three) +{ + SequenceHandle ref=CreateSequence("REF", "abcdefghijk"); + SequenceHandle s1=CreateSequence("S1", "--abcdefghijk"); + SequenceHandle s2=CreateSequence("S2", "xyabcdefghijk"); + AlignmentHandle aln1=CreateAlignment(); + aln1.AddSequence(s1); + aln1.AddSequence(s2); + + SequenceHandle s3=CreateSequence("S1", "-abcdefghijk"); + SequenceHandle s4=CreateSequence("S2", "zabcdefghijk"); + + AlignmentHandle aln2=CreateAlignment(); + aln2.AddSequence(s3); + aln2.AddSequence(s4); + AlignmentList l; + l.push_back(aln1); + l.push_back(aln2); + AlignmentHandle m=alg::MergePairwiseAlignments(l, ref); + ConstSequenceList seqs=m.GetSequences(); + BOOST_CHECK_EQUAL(seqs[0].GetString(), "--abcdefghijk"); + BOOST_CHECK_EQUAL(seqs[1].GetString(), "xyabcdefghijk"); + BOOST_CHECK_EQUAL(seqs[2].GetString(), "-zabcdefghijk"); +} BOOST_AUTO_TEST_SUITE_END() diff --git a/modules/seq/alg/tests/test_sequence_identity.cc b/modules/seq/alg/tests/test_sequence_identity.cc new file mode 100644 index 0000000000000000000000000000000000000000..fa2d58eaface67484bfe5c69ed6486c10c33c02b --- /dev/null +++ b/modules/seq/alg/tests/test_sequence_identity.cc @@ -0,0 +1,132 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +/* + * Authors: Marco Biasini + */ + +#define BOOST_TEST_DYN_LINK +#include <boost/test/unit_test.hpp> + +#include <ost/seq/alg/sequence_identity.hh> + + + +using namespace ost; +using namespace ost::seq; + +BOOST_AUTO_TEST_SUITE(ost_seq_alg) + +BOOST_AUTO_TEST_CASE(seqid_one) +{ + SequenceHandle s1=CreateSequence("S1", "abcdefgh"); + SequenceHandle s2=CreateSequence("S2", "abcd----"); + + AlignmentHandle aln=CreateAlignment(); + aln.AddSequence(s1); + aln.AddSequence(s2); + + Real seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE, 0, 1); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); + + // check the default sequence indices + seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); + + // check the default value for reference mode + seqid=alg::SequenceIdentity(aln); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); + + seqid=alg::SequenceIdentity(aln, alg::RefMode::ALIGNMENT); + BOOST_CHECK_CLOSE(seqid, 100.0, 1e-6); +} + +BOOST_AUTO_TEST_CASE(seqid_two) +{ + SequenceHandle s1=CreateSequence("S1", "abcd"); + SequenceHandle s2=CreateSequence("S2", "xbcx"); + + AlignmentHandle aln=CreateAlignment(); + aln.AddSequence(s1); + aln.AddSequence(s2); + + Real seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE, 0, 1); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); + + // check the default sequence indices + seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); + + // check the default value for reference mode + seqid=alg::SequenceIdentity(aln); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); + + seqid=alg::SequenceIdentity(aln, alg::RefMode::ALIGNMENT); + BOOST_CHECK_CLOSE(seqid, 50.0, 1e-6); +} + +BOOST_AUTO_TEST_CASE(seqid_three) +{ + SequenceHandle s1=CreateSequence("S1", "a--d"); + SequenceHandle s2=CreateSequence("S2", "x--x"); + + AlignmentHandle aln=CreateAlignment(); + aln.AddSequence(s1); + aln.AddSequence(s2); + + Real seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE, 0, 1); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); + + // check the default sequence indices + seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); + + // check the default value for reference mode + seqid=alg::SequenceIdentity(aln); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); + + seqid=alg::SequenceIdentity(aln, alg::RefMode::ALIGNMENT); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); +} + +BOOST_AUTO_TEST_CASE(seqid_empty) +{ + SequenceHandle s1=CreateSequence("S1", "---"); + SequenceHandle s2=CreateSequence("S2", "---"); + + AlignmentHandle aln=CreateAlignment(); + aln.AddSequence(s1); + aln.AddSequence(s2); + + Real seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE, 0, 1); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); + + // check the default sequence indices + seqid=alg::SequenceIdentity(aln, alg::RefMode::LONGER_SEQUENCE); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); + + // check the default value for reference mode + seqid=alg::SequenceIdentity(aln); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); + + seqid=alg::SequenceIdentity(aln, alg::RefMode::ALIGNMENT); + BOOST_CHECK_CLOSE(seqid, 0.0, 1e-6); +} + + +BOOST_AUTO_TEST_SUITE_END() diff --git a/modules/seq/base/doc/seq.rst b/modules/seq/base/doc/seq.rst new file mode 100644 index 0000000000000000000000000000000000000000..243ec0d49108938923169456f4ba9e9cef8a927f --- /dev/null +++ b/modules/seq/base/doc/seq.rst @@ -0,0 +1,358 @@ +:mod:`~ost.seq` -- Sequences and Alignments +================================================================================ + +.. module:: ost.seq + :synopsis: Contains classes and functions to deal with sequences and + alignments + +The :mod:`seq` module helps you working with sequence data of various kinds. It +has classes for :class:`single sequences <SequenceHandle>`, :class:`lists of +sequences <SequenceList>` and :class:`alignments <AlignmentHandle>` of two or +more sequences. + + +.. _attaching-views: + +Attaching Structures to Sequences +-------------------------------------------------------------------------------- + + +Being a structural biology framework, it is not surprising that the sequence +classes have been designed to work together with structural data. Each sequence +can have an attached :class:`~mol.EntityView` allowing for fast mapping between +residues in the entity view and position in the sequence. + +.. _sequence-offset: + +Sequence Offset +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When using sequences and structures together, often the start of the structure +and the beginning of the sequence do not fall together. In the following case, +the alignment of sequences B and C only covers a subpart of structure A:: + + A acefghiklmnpqrstuvwy + B ghiklm + C 123-45 + +We would now like to know which residue in protein A is aligned to which residue +in sequence C. This is achieved by setting the sequence offset of sequence C to +4. In essence, the sequence offset influences all the mapping operations from +position in the sequence to residue index and vice versa. By default, the +sequence offset is 0. + +Loading and Saving Sequences and Alignments +-------------------------------------------------------------------------------- + +The :mod:`io` module supports input and output of common sequence formats. +Single sequences can be loaded from disk with :func:`io.LoadSequence`, +alignments are loaded with :func:`io.LoadAlignment` and lists of sequences are loaded with :func:`io.LoadSequenceList`. In addition to the file based input +methods, sequences can also be loaded from a string: + +.. code-block:: python + + seq_string='''>sequence + abcdefghiklmnop''' + s=io.LoadSequenceFromString(seq_string, 'fasta') + print s.name, s # will print "sequence abcdefghiklmnop" + +Note that, in that case specifying the format is mandatory. + +The SequenceHandle +-------------------------------------------------------------------------------- + +.. function:: CreateSequence(name, sequence) + + Create a new :class:`SequenceHandle` with the given name and sequence. + + :param name: name of the sequence + :type name: str + :param sequence: String of characters representing the sequence. Only + alphanumerical characters and '-' are allowed. + :type sequence: str + :raises InvalidSequence: When the sequence string contains forbidden + characters, that is anything that is not alphanumeric or a hyphen. + +.. class:: SequenceHandle + + Represents a sequence. New instances are created with :func:`CreateSequence`. + + .. method:: GetPos(residue_index) + + Get position of residue with index in sequence. This is best illustrated in + the following example: + + .. code-block:: python + + s=seq.CreateSequence("A", "abc---def") + print s.GetPos(1) # prints 1 + print s.GetPos(3) # prints 6 + + The reverse mapping, that is from position in the sequence to residue index + can be achieved with :meth:`GetResidueIndex`. + + .. method:: GetResidueIndex(pos) + + Get residue index of character at given position. This method is the + inverse of :meth:`GetPos`. If the sequence contains a gap at that position, + an :exc:`Error` is raised. + + .. code-block:: python + + s=seq.CreateSequence("A", "abc--def") + print s.GetResidueIndex(1) # prints 1 + print s.GetResidueIndex(6) # prints 4 + # the following line raises an exception of type + # Error with the message "requested position contains + # a gap" + print s.GetResidueIndex(3) + + .. method:: GetResidue(pos) + + As, :meth:`GetResidueIndex`, but directly returns the residue view. If no + view is attached, or if the position is a gap, an invalid residue view + is returned. + + :rtype: :class:`~ost.mol.ResidueView` + + .. method:: GetLastNonGap() + + Get position of last non-gap character in sequence. In case of an empty + sequence, or, a sequence only consisting of hyphens, -1 is returned + + .. method:: GetFirstNonGap() + + Get position of first non-gap character in sequence. In case of an empty + sequence, or, a sequence only consisting of hyphens, -1 is returned. + + .. method:: AttachView(view) + AttachView(view, [chain_name]) + + Attach an :class:`~mol.EntityView` to sequence. The first signature requires + that the view contains one chain. If not, an :exc:`IntegrityError` is + raised. The second signature will select the chain with the given name. If + no such chain exists, an :exc:`IntegrityError` is raised. + + .. method:: HasAttachedView() + + Returns True when the sequence has a view attached, False if not. + + .. method:: GetAttachedView() + + Returns the attached :class:`~mol.EntityView`, or an invalid + :class:`~mol.EntityView` if no view has been attached. Also available as + the property :attr:`attached_view`. + + .. method:: GetName() + + Returns the name of the sequence. Also available as the property + :attr:`name` + + .. method:: SetOffset() + + Set the :ref:`sequence offset <sequence-offset>`. By default, the offset is + 0. Also available as the property :attr:`offset`. + + .. method:: GetOffset() + + Returns the :ref:`sequence offset <sequence-offset>`. Also available as + :attr:`offset`. + + + .. method:: GetGaplessString() + + Returns a string version of this sequence with all hyphens removed. Also + available as the property :attr:`gapless_string`. + + + .. method:: SetName() + + Set name of the sequence. Also available as the property :attr:`name`. + + .. attribute:: gapless_string + + Shorthand for :meth:`GetGaplessString()` + + .. attribute:: name + + Shorthand for :meth:`GetName`/:meth:`SetName` + + .. attribute:: attached_view + + Shorthand for :meth:`GetAttachedView`. + + .. attribute:: offset + + Shorthand for :meth:`GetSequenceOffset`/:meth:`SetSequenceOffset` + + .. method:: __len__() + + Returns the length of the sequence (including insertions and deletions) + + .. method:: __str__() + + Returns the sequence as a string. + + +The SequenceList +-------------------------------------------------------------------------------- + +.. class:: SequenceList + + Represents a list of sequences. The class provides a row-based interface. New + instances are created with :func:`CreateSequenceList`. + + +The AlignmentHandle +-------------------------------------------------------------------------------- + +The :class:`AlignmentHandle` represents a list of aligned sequences. In +constrast to :class:`SequenceList`, an alignment requires all sequences to be of +the same length. New instances of alignments are created with +:func:`CreateAlignment` and :func:`AlignmentFromSequenceList`. + +Typically sequence alignments are used column-based, i.e by looking at an +aligned columns in the sequence alignment. To get a row-based (sequence) view +on the sequence list, use :meth:`GetSequenceList()`. + +All functions that operate on an alignment will again produce a valid alignment. +This mean that it is not possible to change the length of one sequence, without +adjusting the other sequences, too. + +The following example shows how to iterate over the columns and sequences of +an alignment: + +.. code-block:: python + + aln=io.LoadAlignment('aln.fasta') + # iterate over the columns + for col in aln: + print col + + # iterate over the sequences + for s in aln.sequences: + print s + +.. function:: CreateAlignment() + + Creates and returns a new :class:`AlignmentHandle` with no sequences. + +.. function:: AlignmentFromSequenceList(sequences) + + Create a new alignment from the given list of sequences + + :param sequences: the list of sequences + :type sequences: :class:`ConstSequenceList` + + :raises: :exc:`InvalidAlignment` if the sequences do not have the same length. + +.. class:: AlignmentHandle + + .. note:: + + Several of these methods just forward calls to the sequence. For more + detailed information, have a look at the :class:`SequenceHandle` + documentation. + + .. method:: GetSequence(index) + + Returns the sequence at the given index, raising an IndexError when trying + to access an inexistent sequence. + + .. method:: GetSequenceList() + + Returns a list of all sequence of the alignment. + + .. method:: GetLength() + + Returns the length of the alignment. + + .. method:: GetCount() + + Returns the number of sequences in the alignment. + + + .. method:: ToString(width=80) + + Returns a formatted string version of the alignment. The sequences are + split into smaller parts to fit into the number columns specified. + + .. code-block:: python + + aln=seq.CreateAlignment() + aln.AddSequence(seq.CreateSequence("A", "abcdefghik")) + aln.AddSequence(seq.CreateSequence("B", "1234567890")) + # The following command will print the output given below + print aln.ToString(7) + # A abcde + # B 12345 + # + # A fghik + # B 67890 + + .. method:: FindSequence(name) + + Find sequence with given name. If the alignment contains several sequences + with the same name, the first sequence is returned. + + .. method:: SetSequenceName(seq_index, name) + + Set the name of the sequence at index `seq_index` to name + + .. method:: SetSequenceOffset(seq_index, offset) + + Set the sequence offset of sequence at index `seq_index` + + .. method:: Copy() + + Create a deep copy of the alignment + + .. method:: GetPos(seq_index, res_index) + + Get position of residue with index equal to `res_index` in sequence at index + `seq_index`. + + .. method:: GetResidueIndex(seq_index, pos) + + Get residue index of residue at position `pos` in sequence at index + `seq_index`. + + .. method:: AttachView(seq_index, view) + AttachView(seq_index, view, chain_name) + + Attach the given view to the sequence at index `seq_index`. + + .. method:: Cut(start, end) + + Removes the columns in the half-closed interval `start`, `end` from the + alignment. + + .. code-block:: python + + aln=seq.CreateAlignment() + aln.AddSequence(seq.CreateSequence("A", "abcd---hik")) + aln.AddSequence(seq.CreateSequence("B", "1234567890")) + aln.Cut(4, 7) + + print aln.ToString(80) + # will print + # A abcdhik + # B 1234890 + + .. method:: Replace(new_region, start, end) + + Replace the columns in the half-closed interval `start`, `end` with the + columns in `new_region`. + + :param new_region: The region to be inserted + :type new_region: :class:`AlignedRegion` or :class:`AlignmentHandle` + + + .. method:: ShiftRegion(start, end, amount, master=-1) + + Shift columns in the half-closed interval `start`, `end`. If amount is a + positive number, the columns are shifted to the right, if negative, the + columns are shifted to the left. + + If master is set to -1, all sequences in the region are affected, otherwise + only the sequence at index equal to master is shifted. diff --git a/modules/seq/base/pymod/__init__.py b/modules/seq/base/pymod/__init__.py index 0bc8f1b300e952bbf5ce5ae9bd52cbf9735c3420..5b595c7afa629d379298d3553f2615b1272eaf80 100644 --- a/modules/seq/base/pymod/__init__.py +++ b/modules/seq/base/pymod/__init__.py @@ -16,4 +16,20 @@ # along with this library; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #------------------------------------------------------------------------------ -from _seq import * \ No newline at end of file +from _seq import * +from ost.seq import alg + +_CreateAlignment=CreateAlignment +def CreateAlignment(*seqs): + aln=_CreateAlignment() + for s in seqs: + aln.AddSequence(s) + return aln + +_CreateSequenceList=CreateSequenceList +def CreateSequenceList(*seqs): + sl=_CreateSequenceList() + for s in seqs: + sl.AddSequence(s) + return sl + diff --git a/modules/seq/base/pymod/const_seq_list_export_def.hh b/modules/seq/base/pymod/const_seq_list_export_def.hh index 4c8a2706853882c58b4bce556cf89bbb523e061b..baba8115839726d0ecc8e7f3acc063d35efc1f71 100644 --- a/modules/seq/base/pymod/const_seq_list_export_def.hh +++ b/modules/seq/base/pymod/const_seq_list_export_def.hh @@ -23,11 +23,11 @@ .def("AddSequence", &C::AddSequence) \ .def("GetMaxLength", &C::GetMaxLength) \ .def("GetMinLength", &C::GetMinLength) \ + .def("IsValid", &C::IsValid) \ .def("Take", &C::Take) \ - .def("Slice", &C::Slice) \ + .def("Slice", &C::Slice) \ .def("SequencesHaveEqualLength", \ &C::SequencesHaveEqualLength) \ .def("__getitem__", &C::operator[]) \ - .def("__iter__", iterator<C>()) \ .def("__len__", &C::GetCount) diff --git a/modules/seq/base/pymod/export_sequence.cc b/modules/seq/base/pymod/export_sequence.cc index 0eb5ce9f29eae682b494d5ffd2cb73f1b981fded..28543e04d50d5375b102ab67474d96978a912c0e 100644 --- a/modules/seq/base/pymod/export_sequence.cc +++ b/modules/seq/base/pymod/export_sequence.cc @@ -134,6 +134,55 @@ private: AlignedColumnIterator e_; }; +struct ConstSeqListIter { + ConstSeqListIter(ConstSequenceList& list): + l_(list), b_(l_.begin()), e_(l_.end()) + { } + + ConstSequenceHandle next() + { + if (b_==e_) { + boost::python::objects::stop_iteration_error(); + } + ConstSequenceHandle s=*b_; + ++b_; + return s; + } +private: + ConstSequenceList l_; + ConstSequenceList::iterator b_; + ConstSequenceList::iterator e_; +}; + +struct SeqListIter { + SeqListIter(SequenceList& list): + l_(list), b_(l_.begin()), e_(l_.end()) + { } + + SequenceHandle next() + { + if (b_==e_) { + boost::python::objects::stop_iteration_error(); + } + SequenceHandle s=*b_; + ++b_; + return s; + } +private: + SequenceList l_; + SequenceList::iterator b_; + SequenceList::iterator e_; +}; + +ConstSeqListIter iter_cs(ConstSequenceList& sl) +{ + return ConstSeqListIter(sl); +} + +SeqListIter iter_sl(SequenceList& sl) +{ + return SeqListIter(sl); +} RegionRangeIter iter_range1(AlignmentHandle& aln) { @@ -160,8 +209,9 @@ void const_seq_handle_def(O& bp_class) .def("GetResidue", &C::GetResidue) .def("GetOneLetterCode", &C::GetOneLetterCode) .def("__getitem__", &C::GetOneLetterCode) - .def("GetSequenceOffset", &C::GetSequenceOffset) + .def("GetOffset", &C::GetOffset) .def("Copy", &C::Copy) + .def("IsValid", &C::IsValid) .def("GetFirstNonGap", &C::GetFirstNonGap) .def("GetLastNonGap", &C::GetLastNonGap) .add_property("first_non_gap", &C::GetFirstNonGap) @@ -179,7 +229,7 @@ void const_seq_handle_def(O& bp_class) .add_property("name", make_function(&C::GetName, return_value_policy<copy_const_reference>())) - .add_property("sequence_offset", &C::GetSequenceOffset) + .add_property("offset", &C::GetOffset) .add_property("gapless_string", &C::GetGaplessString) .add_property("string", make_function(&C::GetString, @@ -200,7 +250,9 @@ void export_sequence() const_seq_handle_def<SequenceHandle>(seq_handle); generic_prop_def<SequenceHandle>(seq_handle); seq_handle - .def("SetSequenceOffset", &SequenceHandle::SetSequenceOffset) + .def("__setitem__", &SequenceHandle::SetOneLetterCode) + .def("SetOneLetterCode", &SequenceHandle::SetOneLetterCode) + .def("SetOffset", &SequenceHandle::SetOffset) .def("AttachView", attach_one) .def("AttachView", attach_two) .def("SetString", &SequenceHandle::SetString) @@ -213,8 +265,8 @@ void export_sequence() make_function(&SequenceHandle::GetName, return_value_policy<copy_const_reference>()), &SequenceHandle::SetName) - .add_property("sequence_offset", &SequenceHandle::GetSequenceOffset, - &SequenceHandle::SetSequenceOffset) + .add_property("offset", &SequenceHandle::GetOffset, + &SequenceHandle::SetOffset) ; implicitly_convertible<SequenceHandle, ConstSequenceHandle>(); @@ -229,6 +281,12 @@ void export_sequence() class_<RevRegionRangeIter>("RevRegionRangeIter", no_init) .def("next", &RevRegionRangeIter::next) ; + class_<ConstSeqListIter>("ConstSeqListIter", no_init) + .def("next", &ConstSeqListIter::next) + ; + class_<SeqListIter>("SeqListIter", no_init) + .def("next", &SeqListIter::next) + ; class_<AlignmentHandle>("AlignmentHandle", init<>()) .def("GetCount", &AlignmentHandle::GetCount) .add_property("sequence_count", &AlignmentHandle::GetCount) @@ -246,6 +304,7 @@ void export_sequence() .def("AttachView", attach_view_b) .def("Cut", &AlignmentHandle::Cut) .def("MakeRegion", &AlignmentHandle::MakeRegion) + .def("RemoveSequence", &AlignmentHandle::RemoveSequence) .def("Replace",&AlignmentHandle::Replace) .def("__getitem__", &slice_aln) .def("__getitem__", &AlignmentHandle::operator[]) @@ -259,6 +318,7 @@ void export_sequence() .def("GetIndex", &AlignedColumn::GetIndex) .def("__getitem__", &AlignedColumn::operator[]) .def("GetRowCount", &AlignedColumn::GetRowCount) + .def("GetResidue", &AlignedColumn::GetResidue) .def(self_ns::str(self)) ; class_<AlignedRegion>("AlignedRegion", no_init) @@ -277,17 +337,18 @@ void export_sequence() .def("__getitem__", &AlignedRegion::operator[]) .def("__len__", &AlignedRegion::GetLength) .def("__iter__", iter_range2) - //~ .def("__reversed__", iter_range_rev) .add_property("start", &AlignedRegion::GetStart) .add_property("end", &AlignedRegion::GetEnd) ; class_<ConstSequenceList>("ConstSequenceList", init<>()) CONST_SEQ_LIST_DEF(ConstSequenceList) .def("__getitem__", &do_slice_a) + .def("__iter__", &iter_cs) ; class_<SequenceList>("SequenceList", init<>()) CONST_SEQ_LIST_DEF(SequenceList) .def("__getitem__", &do_slice_b) + .def("__iter__", &iter_sl) ; class_<AlignmentList>("AlignmentList", init<>()) .def(vector_indexing_suite<AlignmentList>()) diff --git a/modules/seq/base/src/alignment_handle.cc b/modules/seq/base/src/alignment_handle.cc index d4611b5623a69ec8bcfd653f7dd66fd3e2513981..d2a7ab85d387051d43edbadac9419925b5ac7fee 100644 --- a/modules/seq/base/src/alignment_handle.cc +++ b/modules/seq/base/src/alignment_handle.cc @@ -82,6 +82,12 @@ String AlignmentHandle::ToString(int width) const return impl_->ToString(width); } +void AlignmentHandle::RemoveSequence(int seq_index) +{ + this->CheckValidity(); + impl_->RemoveSequence(seq_index); +} + int AlignmentHandle::GetLength() const { this->CheckValidity(); @@ -249,12 +255,12 @@ void AlignmentHandle::SetSequenceName(int seq_index, const String& name) void AlignmentHandle::SetSequenceOffset(int seq_index, int offset) { this->CheckValidity(); - impl_->GetSequence(seq_index)->SetSequenceOffset(offset); + impl_->GetSequence(seq_index)->SetOffset(offset); } int AlignmentHandle::GetSequenceOffset(int seq_index) { this->CheckValidity(); - return impl_->GetSequence(seq_index)->GetSequenceOffset(); + return impl_->GetSequence(seq_index)->GetOffset(); } }} diff --git a/modules/seq/base/src/alignment_handle.hh b/modules/seq/base/src/alignment_handle.hh index 998618b520ed6e90fa88b81f45ddadf4f4e5dcaa..bcba027d92f718fb0d874e96361dfc4f0387ffbd 100644 --- a/modules/seq/base/src/alignment_handle.hh +++ b/modules/seq/base/src/alignment_handle.hh @@ -80,7 +80,9 @@ public: /// \brief Get sequence with given index. /// \return sequence or invalid handle if the index is out of bounds ConstSequenceHandle GetSequence(int seq_id) const; - + + /// \brief remove sequence at seq_index from alignment + void RemoveSequence(int seq_index); /// \brief Convert multiple sequence alignment to string. String ToString(int width=80) const; @@ -155,6 +157,8 @@ public: /// \brief Column iterator end-point iterator end() const; + bool IsValid() const { return impl_.get()!=0; } + private: void CheckValidity() const; impl::SequenceListImplPtr impl_; diff --git a/modules/seq/base/src/impl/sequence_impl.cc b/modules/seq/base/src/impl/sequence_impl.cc index 06edaf5d52067124afb76f6a3335c9844e1f3ed6..a99ea9b6389bcc2655db1bdc459ce6e243253aa7 100644 --- a/modules/seq/base/src/impl/sequence_impl.cc +++ b/modules/seq/base/src/impl/sequence_impl.cc @@ -36,7 +36,7 @@ namespace { bool is_sane_code(char code) { - return (isalpha(code) || code=='?'); + return (isalpha(code) || code=='?' || code=='.'); } } @@ -74,7 +74,7 @@ void SequenceImpl::SetString(const String& seq) SequenceImpl::SequenceImpl(const String& seq_name, const String& seq_string) - : seq_name_(seq_name), seq_string_(seq_string), sequence_offset_(0) + : seq_name_(seq_name), seq_string_(seq_string), offset_(0) { this->ShiftsFromSequence(); } @@ -82,7 +82,7 @@ SequenceImpl::SequenceImpl(const String& seq_name, SequenceImplPtr SequenceImpl::Copy() const { SequenceImplPtr new_seq(new SequenceImpl(seq_name_, seq_string_)); - new_seq->sequence_offset_=sequence_offset_; + new_seq->offset_=offset_; new_seq->shifts_=shifts_; new_seq->attached_view_=attached_view_; return new_seq; @@ -105,10 +105,31 @@ void SequenceImpl::ShiftsFromSequence() } } +void SequenceImpl::SetOneLetterCode(int position, char new_char) +{ + if (position<0 || position>=static_cast<int>(seq_string_.length())) + throw std::out_of_range("Position is not covered in sequence"); + if (new_char=='-') { + if (seq_string_[position]!='-') { + seq_string_[position]=new_char; + this->ShiftsFromSequence(); + return; + } + } else { + if (seq_string_[position]=='-') { + seq_string_[position]=new_char; + this->ShiftsFromSequence(); + return; + } else { + seq_string_[position]=new_char; + } + } +} + int SequenceImpl::GetResidueIndex(int pos) const { if (pos<0 || pos>=static_cast<int>(seq_string_.length())) - throw Error("Position is not covered in sequence"); + throw std::out_of_range("Position is not covered in sequence"); if (seq_string_[pos]=='-') throw Error("Requested position contains a gap"); std::list<Shift>::const_iterator i; @@ -118,7 +139,7 @@ int SequenceImpl::GetResidueIndex(int pos) const if (s.start<=pos) shift+=s.shift; } - return pos-shift+sequence_offset_; + return pos-shift+offset_; } void SequenceImpl::SetName(const String& seq_name) @@ -133,7 +154,7 @@ const String& SequenceImpl::GetName() const int SequenceImpl::GetPos(int index) const { - int shifted_index=index-sequence_offset_; + int shifted_index=index-offset_; int pos=this->GetPosNoBounds(shifted_index); if (pos<0 || pos>=static_cast<int>(seq_string_.length())) throw Error("number not covered in sequence"); @@ -153,15 +174,15 @@ int SequenceImpl::GetPosNoBounds(int index) const } /// \brief Set offset for sequence alignment. -void SequenceImpl::SetSequenceOffset(int offset) +void SequenceImpl::SetOffset(int offset) { - sequence_offset_=offset; + offset_=offset; } /// \brief Get sequence offset -int SequenceImpl::GetSequenceOffset() const +int SequenceImpl::GetOffset() const { - return sequence_offset_; + return offset_; } int SequenceImpl::GetLength() const { @@ -171,7 +192,7 @@ int SequenceImpl::GetLength() const { char SequenceImpl::GetOneLetterCode(int position) const { if (position<0 || position>=static_cast<int>(seq_string_.length())) - throw Error("Position is not covered in sequence"); + throw std::out_of_range("Position is not covered in sequence"); return seq_string_[position]; } @@ -238,7 +259,7 @@ void SequenceImplToInfo(const SequenceImplPtr& sequence, info::InfoGroup& group) group.SetTextData(sequence->GetString()); group.SetAttribute("name", sequence->GetName()); std::ostringstream ss; - ss << sequence->GetSequenceOffset(); + ss << sequence->GetOffset(); group.SetAttribute("offset", ss.str()); } @@ -250,7 +271,7 @@ SequenceImplPtr SequenceImplFromInfo(const info::InfoGroup& group) ss >> offset; SequenceImplPtr sequence=SequenceImpl::FromString(group.GetAttribute("name"), text); - sequence->SetSequenceOffset(offset); + sequence->SetOffset(offset); return sequence; } diff --git a/modules/seq/base/src/impl/sequence_impl.hh b/modules/seq/base/src/impl/sequence_impl.hh index d6159402b7c8505c25078bb0ee7208f6ea03f8a6..f89b3c4bf8f939a7b03b2c20f4ccaf37e34d8edf 100644 --- a/modules/seq/base/src/impl/sequence_impl.hh +++ b/modules/seq/base/src/impl/sequence_impl.hh @@ -85,15 +85,15 @@ public: /// \brief Get sequence offset from N-terminus /// - /// \sa #SetSequenceOffset - int GetSequenceOffset() const; + /// \sa #SetOffset + int GetOffset() const; /// \brief Set sequence offset /// /// By default the sequence offset is zero, i.e. the beginning of the sequence /// lies exactly at the N-terminus. Setting the sequence offset to a positive /// number will shift the sequence towards the C-terminus. - void SetSequenceOffset(int offset); + void SetOffset(int offset); /// \brief Get lenght of sequence, including gaps. int GetLength() const; @@ -106,6 +106,7 @@ public: /// \brief get one letter code of residue at position char GetOneLetterCode(int position) const; + void SetOneLetterCode(int position, char new_char); /// \brief get residue at position /// /// will return the residue view at the given sequence position or an invalid @@ -154,7 +155,7 @@ private: String seq_string_; std::list<Shift> shifts_; bool editing_; - int sequence_offset_; + int offset_; mol::EntityView attached_view_; }; diff --git a/modules/seq/base/src/impl/sequence_list_impl.cc b/modules/seq/base/src/impl/sequence_list_impl.cc index 01f22c779d1ee95ffed4d2202b91ad1e01763f8a..b955d8b4cf1244e144d9c3bed82b4688b47afbed 100644 --- a/modules/seq/base/src/impl/sequence_list_impl.cc +++ b/modules/seq/base/src/impl/sequence_list_impl.cc @@ -68,6 +68,9 @@ String SequenceListImpl::ToString(int width) const label_size=std::max(label_size, static_cast<int>((*i)->GetName().size())); } label_size+=2; + if (label_size>width/4) { + label_size=width/4; + } int offset=0; bool done=false; int text_len=width-label_size; @@ -76,7 +79,12 @@ String SequenceListImpl::ToString(int width) const for (std::vector<SequenceImplPtr>::const_iterator i=list_.begin(), e=list_.end(); i!=e; ++i) { SequenceImplPtr s=*i; - buffer << s->GetName() << String(label_size-s->GetName().size(), ' '); + if (static_cast<int>(s->GetName().size())>label_size-2) { + buffer << s->GetName().substr(0, label_size-4) << "... "; + } else { + buffer << s->GetName() << String(label_size-s->GetName().size(), ' '); + } + if (offset<s->GetLength()) { int rem=s->GetLength()-offset; int actual=text_len>rem ? rem : text_len; @@ -96,7 +104,13 @@ String SequenceListImpl::ToString(int width) const return buffer.str(); } - +void SequenceListImpl::RemoveSequence(int index) +{ + if (index<0 || index>=static_cast<int>(list_.size())) { + return; + } + list_.erase(list_.begin()+index); +} int SequenceListImpl::GetMinLength() const { int min_length=std::numeric_limits<int>::max(); diff --git a/modules/seq/base/src/impl/sequence_list_impl.hh b/modules/seq/base/src/impl/sequence_list_impl.hh index 93bc070353780e6c90ddc24add126b5a10560d12..66bedd61f47c4cb5d40374b92dfc94c2213ecee9 100644 --- a/modules/seq/base/src/impl/sequence_list_impl.hh +++ b/modules/seq/base/src/impl/sequence_list_impl.hh @@ -46,7 +46,7 @@ public: if (index<list_.size()) { return list_[index]; } - throw Error("Index not covered SequenceList"); + throw std::out_of_range("Index not covered SequenceList"); } const SequenceImplPtr& GetSequence(unsigned int i) const { @@ -54,9 +54,11 @@ public: if (index<list_.size()) { return list_[index]; } - throw Error("Index not covered SequenceList"); + throw std::out_of_range("Index not covered SequenceList"); } + + void RemoveSequence(int index); int GetPos(int seq_index, int residue_index) const; int GetResidueIndex(int seq_index, int pos) const; diff --git a/modules/seq/base/src/invalid_sequence.hh b/modules/seq/base/src/invalid_sequence.hh index b112df8f3ed902677c65597f28e338e79bde5023..453916403ca34d3f6fdb2a28c47d4e3f0cff880b 100644 --- a/modules/seq/base/src/invalid_sequence.hh +++ b/modules/seq/base/src/invalid_sequence.hh @@ -23,6 +23,7 @@ Author: Marco Biasini */ #include <ost/seq/module_config.hh> +#include <ost/message.hh> namespace ost { namespace seq { class DLLEXPORT InvalidSequence : public Error { diff --git a/modules/seq/base/src/sequence_handle.cc b/modules/seq/base/src/sequence_handle.cc index a7f5347e1f36521635b28d4ef6076b0c876ef8a0..13063990d6f093947354436e4cc619c546c36639 100644 --- a/modules/seq/base/src/sequence_handle.cc +++ b/modules/seq/base/src/sequence_handle.cc @@ -57,6 +57,7 @@ char ConstSequenceHandle::operator[](int index) const return this->GetOneLetterCode(index); } + void ConstSequenceHandle::CheckValidity() const { if (!impl_) { @@ -87,10 +88,10 @@ String ConstSequenceHandle::GetGaplessString() const return Impl()->GetGaplessString(); } -int ConstSequenceHandle::GetSequenceOffset() const +int ConstSequenceHandle::GetOffset() const { this->CheckValidity(); - return Impl()->GetSequenceOffset(); + return Impl()->GetOffset(); } @@ -182,10 +183,10 @@ void SequenceHandle::SetString(const String& seq) return Impl()->SetString(seq); } -void SequenceHandle::SetSequenceOffset(int offset) +void SequenceHandle::SetOffset(int offset) { this->CheckValidity(); - return Impl()->SetSequenceOffset(offset); + return Impl()->SetOffset(offset); } @@ -267,10 +268,10 @@ String SequenceHandle::GetGaplessString() const return Impl()->GetGaplessString(); } -int SequenceHandle::GetSequenceOffset() const +int SequenceHandle::GetOffset() const { this->CheckValidity(); - return Impl()->GetSequenceOffset(); + return Impl()->GetOffset(); } SequenceHandle::operator ConstSequenceHandle() const @@ -291,6 +292,12 @@ char SequenceHandle::GetOneLetterCode(int position) const return Impl()->GetOneLetterCode(position); } +void SequenceHandle::SetOneLetterCode(int position, char new_char) +{ + this->CheckValidity(); + Impl()->SetOneLetterCode(position, new_char); +} + mol::ResidueView SequenceHandle::GetResidue(int position) const { this->CheckValidity(); diff --git a/modules/seq/base/src/sequence_handle.hh b/modules/seq/base/src/sequence_handle.hh index de03a505be77b43ad87b9c5d97edf2a9a681a01b..923dec13f217105a13205f334aec02ed5d7289ab 100644 --- a/modules/seq/base/src/sequence_handle.hh +++ b/modules/seq/base/src/sequence_handle.hh @@ -84,8 +84,8 @@ public: /// \brief Get sequence offset from N-terminus /// - /// \sa SequenceHandle::SetSequenceOffset - int GetSequenceOffset() const; + /// \sa SequenceHandle::SetOffset + int GetOffset() const; /// \brief Get lenght of sequence, including gaps. int GetLength() const; @@ -118,6 +118,7 @@ public: char operator[](int index) const; + /// \brief whether the sequence is valid bool IsValid() const; /// \internal @@ -139,7 +140,7 @@ private: /// "multiple sequence alignment". The class allows for fast mapping between /// residue index and position in the sequence. The GetResidueIndex() method /// maps from position in the sequence to residue index, taking the -/// \ref GetSequenceOffset() "sequence offset" into account. The reverse +/// \ref GetOffset() "sequence offset" into account. The reverse /// mapping is done with GetPos(). /// /// Optionally, an entity view may be attached to the sequence with @@ -194,8 +195,8 @@ public: /// \brief Get sequence offset from N-terminus /// - /// \sa SequenceHandle::SetSequenceOffset - int GetSequenceOffset() const; + /// \sa SequenceHandle::GetOffset + int GetOffset() const; /// \brief Get lenght of sequence, including gaps. int GetLength() const; @@ -245,13 +246,15 @@ public: /// By default the sequence offset is zero, i.e. the beginning of the sequence /// lies exactly at the N-terminus. Setting the sequence offset to a positive /// number will shift the sequence towards the C-terminus. - void SetSequenceOffset(int offset); + void SetOffset(int offset); /// \brief attach entity view to sequence /// /// \throw IntegrityError when the view contains more than one chain void AttachView(const mol::EntityView& view); - + + void SetOneLetterCode(int position, char new_char); + operator ConstSequenceHandle() const; /// \brief attach entity view to sequence /// diff --git a/modules/seq/base/src/views_from_sequences.cc b/modules/seq/base/src/views_from_sequences.cc index 7ab0ff1f6806c1d303baac5e0689f12d06d91f89..dad47106b659bb034f577533333019d2e8653258 100644 --- a/modules/seq/base/src/views_from_sequences.cc +++ b/modules/seq/base/src/views_from_sequences.cc @@ -66,9 +66,9 @@ ViewsFromSequences(const ConstSequenceHandle& seq1, mol::ResidueViewList res_b=src_b.GetResidueList(); int pos=0, index_a=0, index_b=0; while (skip_gaps(seq1, seq2, pos, index_a, index_b)) { - dst_a.AddResidue(res_a.at(seq1.GetSequenceOffset()+index_a), + dst_a.AddResidue(res_a.at(seq1.GetOffset()+index_a), mol::ViewAddFlag::INCLUDE_ATOMS); - dst_b.AddResidue(res_b.at(seq2.GetSequenceOffset()+index_b), + dst_b.AddResidue(res_b.at(seq2.GetOffset()+index_b), mol::ViewAddFlag::INCLUDE_ATOMS); pos+=1; index_a+=1; diff --git a/modules/seq/base/tests/test_alignment.cc b/modules/seq/base/tests/test_alignment.cc index 260ea5c235a27b3977731f7dab778c27d915b5ec..0491f7d35c124c846b5ddd48cee8965e77492025 100644 --- a/modules/seq/base/tests/test_alignment.cc +++ b/modules/seq/base/tests/test_alignment.cc @@ -102,10 +102,10 @@ BOOST_AUTO_TEST_CASE(alignment_onelettercode) BOOST_CHECK_EQUAL(a.GetOneLetterCode(0,3),seq1.GetOneLetterCode(3)); BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,3),'w'); BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,3),seq2.GetOneLetterCode(3)); - BOOST_CHECK_THROW(a.GetOneLetterCode(0,-1),Error); - BOOST_CHECK_THROW(a.GetOneLetterCode(1,6),Error); - BOOST_CHECK_THROW(a.GetOneLetterCode(2,0),Error); - BOOST_CHECK_THROW(a.GetOneLetterCode(-1,0),Error); + BOOST_CHECK_THROW(a.GetOneLetterCode(0,-1),std::out_of_range); + BOOST_CHECK_THROW(a.GetOneLetterCode(1,6),std::out_of_range); + BOOST_CHECK_THROW(a.GetOneLetterCode(2,0),std::out_of_range); + BOOST_CHECK_THROW(a.GetOneLetterCode(-1,0), std::out_of_range); } BOOST_AUTO_TEST_CASE(alignment_pos_and_index) @@ -119,8 +119,8 @@ BOOST_AUTO_TEST_CASE(alignment_pos_and_index) BOOST_CHECK_EQUAL(a.GetResidueIndex(1,4), 2); BOOST_CHECK_THROW(a.GetPos(0,-1),Error); BOOST_CHECK_THROW(a.GetPos(1,4),Error); - BOOST_CHECK_THROW(a.GetPos(2,0),Error); - BOOST_CHECK_THROW(a.GetPos(-1,0),Error); + BOOST_CHECK_THROW(a.GetPos(2,0),std::out_of_range); + BOOST_CHECK_THROW(a.GetPos(-1,0),std::out_of_range); } BOOST_AUTO_TEST_CASE(alignment_getseq) @@ -132,8 +132,8 @@ BOOST_AUTO_TEST_CASE(alignment_getseq) a.AddSequence(seq2); BOOST_CHECK_EQUAL(a.GetSequence(0), seq1); BOOST_CHECK_EQUAL(a.GetSequence(1), seq2); - BOOST_CHECK_THROW(a.GetSequence(-1), Error); - BOOST_CHECK_THROW(a.GetSequence(2), Error); + BOOST_CHECK_THROW(a.GetSequence(-1), std::out_of_range); + BOOST_CHECK_THROW(a.GetSequence(2), std::out_of_range); } BOOST_AUTO_TEST_CASE(alignment_attach_view) @@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(alignment_attach_view) BOOST_CHECK_NO_THROW(a.AttachView(0,EntityView())); BOOST_CHECK_EQUAL(a.GetResidue(0,1), EntityView()); BOOST_CHECK_EQUAL(a.GetResidue(0,3), EntityView()); - BOOST_CHECK_THROW(a.GetResidue(-1,0),Error) + BOOST_CHECK_THROW(a.GetResidue(-1,0),std::out_of_range) } BOOST_AUTO_TEST_CASE(alignment_cut) @@ -170,10 +170,10 @@ BOOST_AUTO_TEST_CASE(alignment_cut) BOOST_CHECK_EQUAL(a.GetLength(),2); BOOST_CHECK_EQUAL(a.GetOneLetterCode(0,0),'r'); BOOST_CHECK_EQUAL(a.GetOneLetterCode(0,1),'r'); - BOOST_CHECK_THROW(a.GetOneLetterCode(0,2),Error); + BOOST_CHECK_THROW(a.GetOneLetterCode(0,2),std::out_of_range); BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,0),'a'); BOOST_CHECK_EQUAL(a.GetOneLetterCode(1,1),'-'); - BOOST_CHECK_THROW(a.GetOneLetterCode(1,2),Error); + BOOST_CHECK_THROW(a.GetOneLetterCode(1,2),std::out_of_range); } BOOST_AUTO_TEST_CASE(alignment_shift_region) @@ -194,8 +194,8 @@ BOOST_AUTO_TEST_CASE(alignment_shift_region) BOOST_CHECK_EQUAL(a.GetSequence(0).GetString(),"abefcd"); BOOST_CHECK_EQUAL(a.GetSequence(1).GetString(),"ghlkij"); - BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,2),Error); - BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,-2),Error); + BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,2),std::out_of_range); + BOOST_CHECK_THROW(a.ShiftRegion(0,2,1,-2),std::out_of_range); BOOST_CHECK_THROW(a.ShiftRegion(0,2,-1),std::out_of_range); BOOST_CHECK_THROW(a.ShiftRegion(0,5,2),std::out_of_range); diff --git a/modules/seq/base/tests/test_seq.py b/modules/seq/base/tests/test_seq.py index 4eed73b1132f82109cc0250807561cb0675db3c0..26abba6896e53f32f19ef43cb4d44e5999bb6c2f 100644 --- a/modules/seq/base/tests/test_seq.py +++ b/modules/seq/base/tests/test_seq.py @@ -113,9 +113,9 @@ class TestSeq(unittest.TestCase): def testViewsFromSequences_09(self): seq_a=seq.CreateSequence("A", "B-D-FGH") seq_a.AttachView(self.ent.Select('rname=A,B,D,F,G,H')) - seq_a.SetSequenceOffset(1) + seq_a.offset=1 seq_b=seq.CreateSequence("B", "B-DEF-H") - seq_b.SetSequenceOffset(1) + seq_b.offset=1 seq_b.AttachView(self.ent.Select('rname=A,B,D,E,F,H')) a, b=seq.ViewsFromSequences(seq_a, seq_b) string_a=''.join([r.one_letter_code for r in a.residues]) diff --git a/modules/seq/base/tests/test_sequence.cc b/modules/seq/base/tests/test_sequence.cc index 97997f9156c63ed1b31a098f405570c02f5da084..e787aafb7c3de95e8d93c2b55de8b3b9bba7c8f4 100644 --- a/modules/seq/base/tests/test_sequence.cc +++ b/modules/seq/base/tests/test_sequence.cc @@ -56,7 +56,7 @@ BOOST_AUTO_TEST_CASE(seq_triv) { BOOST_CHECK_NO_THROW(CreateSequence("S1", "-afbcdefghijkLMNOPQRSTUV-")); BOOST_CHECK_THROW(CreateSequence("S1", "1"), InvalidSequence); - BOOST_CHECK_THROW(CreateSequence("S1", "."), InvalidSequence); + BOOST_CHECK_THROW(CreateSequence("S1", "*"), InvalidSequence); BOOST_CHECK_THROW(CreateSequence("S1", " "), InvalidSequence); SequenceHandle s=CreateSequence("S1","-afbcdefghijkLMNOPQRSTUV-"); BOOST_CHECK_EQUAL(s.GetString(),"-afbcdefghijkLMNOPQRSTUV-"); @@ -94,16 +94,16 @@ BOOST_AUTO_TEST_CASE(seq_onelettercode) BOOST_CHECK_EQUAL(s.GetOneLetterCode(0),'a'); BOOST_CHECK_EQUAL(s.GetOneLetterCode(3),'c'); BOOST_CHECK_EQUAL(s.GetOneLetterCode(9),'f'); - BOOST_CHECK_THROW(s.GetOneLetterCode(-1),Error); - BOOST_CHECK_THROW(s.GetOneLetterCode(10),Error); + BOOST_CHECK_THROW(s.GetOneLetterCode(-1),std::out_of_range); + BOOST_CHECK_THROW(s.GetOneLetterCode(10),std::out_of_range); s=CreateSequence("S1", "-afc--de-f"); BOOST_CHECK_EQUAL(s.GetOneLetterCode(0),'-'); BOOST_CHECK_EQUAL(s.GetOneLetterCode(1),'a'); BOOST_CHECK_EQUAL(s.GetOneLetterCode(9),'f'); - BOOST_CHECK_THROW(s.GetOneLetterCode(-1),Error); - BOOST_CHECK_THROW(s.GetOneLetterCode(10),Error); + BOOST_CHECK_THROW(s.GetOneLetterCode(-1),std::out_of_range); + BOOST_CHECK_THROW(s.GetOneLetterCode(10),std::out_of_range); s=CreateSequence("S1", ""); - BOOST_CHECK_THROW(s.GetOneLetterCode(0),Error); + BOOST_CHECK_THROW(s.GetOneLetterCode(0), std::out_of_range); } BOOST_AUTO_TEST_CASE(seq_getnum) @@ -116,8 +116,8 @@ BOOST_AUTO_TEST_CASE(seq_getnum) BOOST_CHECK_EQUAL(s.GetResidueIndex(6),4-1); BOOST_CHECK_EQUAL(s.GetResidueIndex(7),5-1); BOOST_CHECK_EQUAL(s.GetResidueIndex(9),6-1); - BOOST_CHECK_THROW(s.GetResidueIndex(-1), Error); - BOOST_CHECK_THROW(s.GetResidueIndex(10), Error); + BOOST_CHECK_THROW(s.GetResidueIndex(-1), std::out_of_range); + BOOST_CHECK_THROW(s.GetResidueIndex(10), std::out_of_range); } BOOST_AUTO_TEST_CASE(seq_getpos) @@ -136,7 +136,7 @@ BOOST_AUTO_TEST_CASE(seq_offset) { SequenceHandle s=CreateSequence("S1", "-afc--de-f"); SequenceHandle s2=CreateSequence("S1", "-afc--de-f"); - s.SetSequenceOffset(2); + s.SetOffset(2); BOOST_CHECK_THROW(s.GetPos(-1), Error); BOOST_CHECK_THROW(s.GetPos(0), Error); BOOST_CHECK_THROW(s.GetPos(1), Error); @@ -152,9 +152,10 @@ BOOST_AUTO_TEST_CASE(seq_offset) BOOST_CHECK_EQUAL(s.GetResidueIndex(1),s2.GetResidueIndex(1)+2); BOOST_CHECK_EQUAL(s.GetResidueIndex(6), 5); BOOST_CHECK_EQUAL(s.GetResidueIndex(6),s2.GetResidueIndex(6)+2); - BOOST_CHECK_THROW(s.GetResidueIndex(10), Error); + BOOST_CHECK_THROW(s.GetResidueIndex(10), std::out_of_range); + BOOST_CHECK_THROW(s.GetResidueIndex(-1), std::out_of_range); - s.SetSequenceOffset(-1); + s.SetOffset(-1); BOOST_CHECK_THROW(s.GetPos(-2), Error); BOOST_CHECK_EQUAL(s.GetPos(-1), 1); BOOST_CHECK_EQUAL(s.GetPos(0), 2); @@ -169,7 +170,7 @@ BOOST_AUTO_TEST_CASE(seq_offset) BOOST_CHECK_EQUAL(s.GetResidueIndex(1),s2.GetResidueIndex(1)-1); BOOST_CHECK_EQUAL(s.GetResidueIndex(6), 2); BOOST_CHECK_EQUAL(s.GetResidueIndex(6),s2.GetResidueIndex(6)-1); - BOOST_CHECK_THROW(s.GetResidueIndex(10), Error); + BOOST_CHECK_THROW(s.GetResidueIndex(10), std::out_of_range); } BOOST_AUTO_TEST_CASE(seq_gaps) diff --git a/scripts/dng.in b/scripts/dng.in index de5a9cf80a9860a2f8b07444a8f43022eb1005c5..aecd82ed9aa8e7a55d8d3911d05a16e9b3db576b 100755 --- a/scripts/dng.in +++ b/scripts/dng.in @@ -21,13 +21,28 @@ # Author: Marco Biasini # Self detect important directories -SCRIPT_NAME=$0 -BIN_DIR=`dirname $SCRIPT_NAME` -export DNG_ROOT=$BIN_DIR/.. -export PATH=$BIN_DIR:$PATH -export LD_LIBRARY_PATH=$DNG_ROOT/@LIBDIR@:$LD_LIBRARY_PATH +if [ -h "$0" ] ; then + SCRIPT_NAME=`readlink "$0"` +else + SCRIPT_NAME="$0" +fi +BIN_DIR=`dirname "$SCRIPT_NAME"` +export DNG_ROOT=`cd "$BIN_DIR/..";pwd` +export PATH="$DNG_ROOT/bin:$PATH" +export LD_LIBRARY_PATH="$DNG_ROOT/@LIBDIR@:$LD_LIBRARY_PATH" # set QT_PLUGIN_PATH and pythonpath for bundle (commented except in linux bundles) -#export PYTHONPATH=$DING_ROOT/@LIBDIR@/python2.6 -#export QT_PLUGIN_PATH=$BIN_DIR/plugins +#export PYTHONPATH="$DNG_ROOT/@LIBDIR@/python2.6" +#export QT_PLUGIN_PATH="$BIN_DIR/plugins" -gosty $DNG_ROOT/@LIBDIR@/openstructure/init.py ost $@ +opts="" +for argument in "$@";do + if [ -n "$opts" ]; then + opts=$opts"#""$argument" + else + opts="$argument" + fi +done + +IFS="#" +gosty $DNG_ROOT/@LIBDIR@/openstructure/init.py ost $opts +IFS=$' \t\n' diff --git a/scripts/init.py b/scripts/init.py index ed53db5d73b64245d37d5d39e35541de2b4b6de9..e175e08446fbcb198294093850999b1f3dade0ea 100644 --- a/scripts/init.py +++ b/scripts/init.py @@ -1,165 +1,212 @@ -import __main__ -import sys -import optparse -from ost import io, mol, seq, geom, conop, gui -import ost -try: - from ost import img - import ost.img.alg - _img_present=True -except ImportError: - _img_present=False - pass -import httplib - -from PyQt4 import QtGui, QtCore -from ost.gui.scene.init_inspector import _InitInspector -from ost.gui.init_menubar import _InitMenuBar -from ost.gui.init_spacenav import _InitSpaceNav -from ost.gui.init_context_menu import _InitContextMenu - -def _InitRuleBasedBuilder(): - compound_lib_path=os.path.join(ost.GetSharedDataPath(), 'compounds.chemlib') - if os.path.exists(compound_lib_path): - conop_inst=conop.Conopology.Instance() - compound_lib=conop.CompoundLib.Load(compound_lib_path) - conop_inst.RegisterBuilder(conop.RuleBasedBuilder(compound_lib), 'RBB') - conop_inst.SetDefaultBuilder('RBB') - -# switch to rule-based builder for high fidelity if compounds.chemlib is -# available -_InitRuleBasedBuilder() -def _InitPanels(app): - panels = app.perspective.panels - panels.AddWidgetToPool('ost.gui.FileBrowser', -1) - panels.AddWidgetToPool('ost.gui.PythonShell', 1) - panels.AddWidgetToPool('ost.gui.RemoteLoader', -1) - panels.AddWidgetToPool('ost.gui.SceneWin', 1) - panels.AddWidgetToPool('ost.gui.SequenceViewer', 1) - panels.AddWidgetToPool('ost.gui.SequenceViewerV2', 1) - if not panels.Restore("ui/perspective/panels"): - panels.AddWidget(gui.PanelPosition.LEFT_PANEL, app.scene_win) - panels.AddWidgetByName(gui.PanelPosition.LEFT_PANEL, - 'ost.gui.FileBrowser', False) - panels.AddWidgetByName(gui.PanelPosition.LEFT_PANEL, - 'ost.gui.RemoteLoader', False) - panels.AddWidget(gui.PanelPosition.BOTTOM_PANEL, app.seq_viewer) - panels.AddWidget(gui.PanelPosition.BOTTOM_PANEL, app.py_shell) - -def _InitFrontEnd(try_stereo): - app=gui.GostyApp.Instance() - app.SetAppTitle("DNG") - app.TryStereo(try_stereo) - main_area=app.perspective.main_area - _InitPanels(app) - _InitMenuBar(app) - _InitSpaceNav(app) - _InitContextMenu(app) - main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win, int(QtCore.Qt.WindowMaximized)) - app.perspective.Restore() - additional_modules=getattr(__main__, 'ADDITIONAL_GUI_MODULES', []) - for module_name in additional_modules: - __import__(module_name) - app.ProcessEvents() - _InitInspector(app) - -def _load_files(): - for pdb_id in options.pdb_ids: - pdb_id, sel=_SplitIDSel(pdb_id) - selection=_get_selection_query(sel) - gui.FileLoader.LoadFrom(pdb_id,"pdb.org",selection) - - input_files=[_SplitIDSel(arg) for arg in loading_list] - for f in input_files: - selection=_get_selection_query(f[1]) - gui.FileLoader.LoadObject(f[0],selection) - -def _get_selection_query(sel): - if len(options.query)>0: - if len(sel)>0: - return '(%s) and (%s)' % (options.query, sel) - else: - return options.query - elif len(sel)>0: - return sel - return "" - -def _execute_script(): - script=script_argv[0] - sys_argv_backup=sys.argv - sys.argv=script_argv - try: - execfile(script, __main__.__dict__) - finally: - sys.argv=sys_argv_backup - -def show_help(option, opt, value, parser): - parser.print_help() - QtGui.QApplication.instance().exit() - sys.exit(-1) - -def parse_script_option(option, opt, value, parser): - script_argv.append(value) - for arg in parser.rargs: - script_argv.append(arg) - del parser.rargs[0:len(parser.rargs)] - -def _SplitIDSel(name): - pos=name.find('[') - if pos>-1: - return name[:pos], name[pos+1:-1] - return name, '' - -loading_list=[] -script_argv=[] -images=[] -viewers=[] -usage = 'usage: dng [options] [files to load]' -class OstOptionParser(optparse.OptionParser): - def __init__(self, **kwargs): - optparse.OptionParser.__init__(self, **kwargs) - def exit(self, status_code, error_message): - print error_message, - QtGui.QApplication.instance().exit() - sys.exit(-1) - -parser=OstOptionParser(usage=usage,conflict_handler="resolve") -parser.add_option("-h", "--help", action="callback", callback=show_help, help="show this help message and exit") -parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=0, help="sets the verbosity level [default: %default]") -parser.add_option("-s", "--script", action="callback", default=[], dest="script", type="string", callback=parse_script_option, help="executes a script (syntax: -s SCRIPT [options] [args]) Anything that follows this option is passed to the script") -parser.add_option("-p", "--pdb_id", dest="pdb_ids", default=[],action="append", help="PDB file ID. The file will be retrieved from PDB") -parser.add_option("-b", "--builder", dest="builder", default="HEURISTIC", help="Type of builder used by the progam (either RULE_BASED or HEURISTIC) [default: %default]") -parser.add_option("-c", "--compound_library", dest="complib", default="compounds.chemlib", help="Compound library for the RULE_BASED builder (only used if --builder option is set to RULE_BASED, otherwise ignored [default: %default]") -parser.add_option("-q", "--query", dest="query", default="", help="Selection query to be highlighted automatically upon loading (only used together with -p option or when a PDB file is loaded, otherwise ignored [default: None]") -parser.add_option("-S","--stereo", dest="try_stereo", default=False, action="store_true",help="try to get a quad-buffer stereo visual") -parser.disable_interspersed_args() -(options, args) = parser.parse_args() - -if len(parser.rargs)!=0: - for rargs_string in parser.rargs: - if not rargs_string.endswith('.py'): - loading_list.append(rargs_string) - else: - print 'Error: one of the files to load is a Python script, use -s flag to execute it\n' - QtGui.QApplication.instance().exit() - sys.exit(-1) - -if len(options.script)!=0: - script_argv=options.script - -if options.builder=="RULE_BASED": - from ost import conop - compound_lib=conop.CompoundLib.Load(options.complib) - rbb=conop.RuleBasedBuilder(compound_lib) - conop.Conopology.Instance().RegisterBuilder(rbb,'rbb') - conop.Conopology.Instance().SetDefaultBuilder('rbb') - -PushVerbosityLevel(options.vlevel) -_InitFrontEnd(options.try_stereo) - -if len(loading_list)!=0 or len(options.pdb_ids)!=0: - _load_files() - scene.Autoslab() -if len(script_argv)!=0: - _execute_script() - +import __main__ +import sys +import os.path +import optparse +from ost import io, mol, seq, geom, conop, gui, settings +import ost +try: + from ost import img + import ost.img.alg + _img_present=True +except ImportError: + _img_present=False + pass +import httplib + +from PyQt4 import QtGui, QtCore +from ost.gui.scene.init_inspector import _InitInspector +from ost.gui.init_menubar import _InitMenuBar +from ost.gui.init_spacenav import _InitSpaceNav +from ost.gui.init_context_menu import _InitContextMenu +from ost.gui.init_splash import _InitSplash +from ost.gui.dng import termuse + +from PyQt4.QtGui import * +def _my_exit(code): + QtGui.QApplication.instance().quit() + gui.GostyApp.Instance().ProcessEvents() + sys._exit(code) + +sys._exit=sys.exit +sys.exit=_my_exit + +def _InitRuleBasedBuilder(): + compound_lib_path=os.path.join(ost.GetSharedDataPath(), 'compounds.chemlib') + if os.path.exists(compound_lib_path): + conop_inst=conop.Conopology.Instance() + compound_lib=conop.CompoundLib.Load(compound_lib_path) + conop_inst.RegisterBuilder(conop.RuleBasedBuilder(compound_lib), 'RBB') + conop_inst.SetDefaultBuilder('RBB') + +# switch to rule-based builder for high fidelity if compounds.chemlib is +# available +_InitRuleBasedBuilder() + +def _CheckRestore(): + settings = QtCore.QSettings() + restore = settings.value("restore_settings",QtCore.QVariant(False)).toBool() + if not restore: + settings.clear() + settings.setValue("restore_settings",QtCore.QVariant(True)) + +def _InitPanels(app): + panels = app.perspective.panels + panels.AddWidgetToPool('ost.gui.FileBrowser', -1) + panels.AddWidgetToPool('ost.gui.PythonShell', 1) + panels.AddWidgetToPool('ost.gui.RemoteLoader', -1) + panels.AddWidgetToPool('ost.gui.SceneWin', 1) + panels.AddWidgetToPool('ost.gui.SequenceViewer', 1) + panels.AddWidgetToPool('ost.gui.MessageWidget', 1) + if not panels.Restore("ui/perspective/panels"): + panels.AddWidget(gui.PanelPosition.LEFT_PANEL, app.scene_win) + panels.AddWidgetByName(gui.PanelPosition.LEFT_PANEL, + 'ost.gui.FileBrowser', False) + panels.AddWidgetByName(gui.PanelPosition.LEFT_PANEL, + 'ost.gui.RemoteLoader', False) + panels.AddWidget(gui.PanelPosition.BOTTOM_PANEL, app.seq_viewer) + panels.AddWidget(gui.PanelPosition.BOTTOM_PANEL, app.py_shell) + panels.AddWidget(gui.PanelPosition.RIGHT_PANEL, app.message_widget) + return False + return True + + +def _InitFrontEnd(): + _CheckRestore() + app=gui.GostyApp.Instance() + app.SetAppTitle("DNG") + main_area=app.perspective.main_area + _InitMenuBar(app) + _InitSpaceNav(app) + _InitContextMenu(app) + main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win, int(QtCore.Qt.WindowMaximized)) + app.perspective.Restore() + additional_modules=getattr(__main__, 'ADDITIONAL_GUI_MODULES', []) + for module_name in additional_modules: + __import__(module_name) + app.ProcessEvents() + + _InitInspector(app) + + if not _InitPanels(app): + _InitSplash() + +def _load_files(): + for pdb_id in options.pdb_ids: + pdb_id, sel=_SplitIDSel(pdb_id) + selection=_get_selection_query(sel) + gui.FileLoader.LoadFrom(pdb_id,"pdb.org",selection) + + input_files=[_SplitIDSel(arg) for arg in loading_list] + for f in input_files: + selection=_get_selection_query(f[1]) + gui.FileLoader.LoadObject(f[0],selection) + +def _get_selection_query(sel): + if len(options.query)>0: + if len(sel)>0: + return '(%s) and (%s)' % (options.query, sel) + else: + return options.query + elif len(sel)>0: + return sel + return "" + +def _execute_script(): + script=script_argv[0] + sys_argv_backup=sys.argv + sys.argv=script_argv + try: + execfile(script, __main__.__dict__) + finally: + sys.argv=sys_argv_backup + +def show_help(option, opt, value, parser): + parser.print_help() + QtGui.QApplication.instance().exit() + sys.exit(-1) + +def parse_script_option(option, opt, value, parser): + script_argv.append(value) + for arg in parser.rargs: + script_argv.append(arg) + del parser.rargs[0:len(parser.rargs)] + +def _SplitIDSel(name): + pos=name.find('[') + if pos>-1: + return name[:pos], name[pos+1:-1] + return name, '' + +loading_list=[] +script_argv=[] +images=[] +viewers=[] +usage = 'usage: dng [options] [files to load]' +class OstOptionParser(optparse.OptionParser): + def __init__(self, **kwargs): + optparse.OptionParser.__init__(self, **kwargs) + def exit(self, status_code, error_message): + print error_message, + QtGui.QApplication.instance().exit() + sys.exit(-1) + +parser=OstOptionParser(usage=usage,conflict_handler="resolve") +parser.add_option("-h", "--help", action="callback", callback=show_help, help="show this help message and exit") +parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=2, + help="sets the verbosity level [default: %default]") +parser.add_option("-s", "--script", action="callback", default=[], dest="script", type="string", callback=parse_script_option, help="executes a script (syntax: -s SCRIPT [options] [args]) Anything that follows this option is passed to the script") +parser.add_option("-p", "--pdb_id", dest="pdb_ids", default=[],action="append", help="PDB file ID. The file will be retrieved from PDB") +parser.add_option("-b", "--builder", dest="builder", default="HEURISTIC", help="Type of builder used by the progam (either RULE_BASED or HEURISTIC) [default: %default]") +parser.add_option("-c", "--compound_library", dest="complib", default="compounds.chemlib", help="Compound library for the RULE_BASED builder (only used if --builder option is set to RULE_BASED, otherwise ignored [default: %default]") +parser.add_option("-q", "--query", dest="query", default="", help="Selection query to be highlighted automatically upon loading (only used together with -p option or when a PDB file is loaded, otherwise ignored [default: None]") +parser.disable_interspersed_args() +(options, args) = parser.parse_args() + +if len(parser.rargs)!=0: + for rargs_string in parser.rargs: + if not rargs_string.endswith('.py'): + loading_list.append(rargs_string) + else: + print 'Error: one of the files to load is a Python script, use -s flag to execute it\n' + QtGui.QApplication.instance().exit() + sys.exit(-1) + +if len(options.script)!=0: + script_argv=options.script + +if options.builder=="RULE_BASED": + from ost import conop + compound_lib=conop.CompoundLib.Load(options.complib) + rbb=conop.RuleBasedBuilder(compound_lib) + conop.Conopology.Instance().RegisterBuilder(rbb,'rbb') + conop.Conopology.Instance().SetDefaultBuilder('rbb') + +home = os.getenv('HOME') or os.getenv('USERPROFILE') +_ostrc=os.path.join(home, '.ostrc') +if os.path.exists(_ostrc): + try: + exec(open(_ostrc)) + except Exception, e: + print e +else: + rcfile=open(_ostrc,"w") + print >> rcfile, '# This python file is parsed by ost and dng at startup' + print >> rcfile, '# Its content is made available in the global namespace' + print >> rcfile, '# It can be used to define custom variables and functions' + print >> rcfile, '# For example:' + print >> rcfile, '# IMPORTANT_DIR="path/to/important/dir"' + rcfile.close() + +PushVerbosityLevel(options.vlevel) +working_dir=settings.GetValue("DNG_WORKING_DIR",None) + +if working_dir != None and os.path.isdir(working_dir): + os.chdir(working_dir) + +_InitFrontEnd() + +if len(loading_list)!=0 or len(options.pdb_ids)!=0: + _load_files() + scene.Autoslab() +if len(script_argv)!=0: + _execute_script() diff --git a/scripts/init_cl.py b/scripts/init_cl.py index 5582502d44b37291f69db910be9c72f8cf71f710..971b6ea1eff8ae1277a0e2fd93ddf1ac69d27407 100644 --- a/scripts/init_cl.py +++ b/scripts/init_cl.py @@ -22,7 +22,7 @@ class OstOptionParser(optparse.OptionParser): parser=OstOptionParser(usage=usage,conflict_handler="resolve") parser.add_option("-i", "--interactive", action="callback", callback=interactive_flag, help="start interpreter interactively (must be first parameter, ignored otherwise)") parser.add_option("-h", "--help", action="callback", callback=show_help, help="show this help message and exit") -parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=0, help="sets the verbosity level [default: %default]") +parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=2, help="sets the verbosity level [default: %default]") parser.disable_interspersed_args() (options, args) = parser.parse_args() @@ -60,6 +60,14 @@ if os.path.exists(_ostrc): exec(open(_ostrc)) except Exception, e: print e +else: + rcfile=open(_ostrc,"w") + print >> rcfile, '# This python file is parsed by ost and dng at startup' + print >> rcfile, '# Its content is be made available in the global namespace' + print >> rcfile, '# It can be used to define custom variables and functions' + print >> rcfile, '# For example:' + print >> rcfile, '# IMPORTANT_DIR="path/to/important/dir"' + rcfile.close() PushVerbosityLevel(options.vlevel) diff --git a/scripts/ost.in b/scripts/ost.in index 7239f70a89e6a550e2814e56feb640f9333c3bed..17b9ba416ce2dbedad14dd288e48128ae1ec2ea9 100755 --- a/scripts/ost.in +++ b/scripts/ost.in @@ -22,17 +22,21 @@ # convenience wrapper for non-gui openstructure interface 'ost' # # Self detect important directories -SCRIPT_NAME=$0 +if [ -h "$0" ] ; then + SCRIPT_NAME=`readlink "$0"` +else + SCRIPT_NAME="$0" +fi BIN_DIR=`dirname "$SCRIPT_NAME"` -export DNG_ROOT="$BIN_DIR/.." -export PATH=$PATH:"$BIN_DIR" +export DNG_ROOT=`cd "$BIN_DIR/..";pwd` +export PATH="$DNG_ROOT/bin:$PATH" export DYLD_FRAMEWORK_PATH="$BIN_DIR/../@LIBDIR@:${DYLD_FRAMEWORK_PATH}" export DYLD_LIBRARY_PATH="$BIN_DIR/../@LIBDIR@:${DYLD_LIBRARY_PATH}" -export LD_LIBRARY_PATH=$DNG_ROOT/@LIBDIR@:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH="$DNG_ROOT/@LIBDIR@:$LD_LIBRARY_PATH" # set QT_PLUGIN_PATH and pythonpath for bundle (commented except in linux bundles) #export QT_PLUGIN_PATH="$BIN_DIR/plugins" -#export PYTHONPATH=$DING_ROOT/@LIBDIR@/python2.6 +#export PYTHONPATH="$DNG_ROOT/@LIBDIR@/python2.6" # retrieve absolute path to python executable pyexec="" diff --git a/website/BeauSou2Index.py b/website/BeauSou2Index.py deleted file mode 100644 index 544defd6e9c9e66e8e08901e10761a10b56bf218..0000000000000000000000000000000000000000 --- a/website/BeauSou2Index.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -#html-juergen greets doxygaehn - -from BeautifulSoup import BeautifulSoup -import re,os - -def Links(ifile): - doxrelpath=os.path.dirname(os.path.dirname(ifile)) - if doxrelpath.startswith('html/'): - doxrelpath=re.sub(r'html\/','',doxrelpath,re.I) - if not doxrelpath.endswith('/'): - doxrelpath=doxrelpath+'/' - ih=open(ifile,'r') - lines=ih.readlines() - ih.close() - soup=BeautifulSoup(''.join(lines)) - anchors=soup('a') - for anch in anchors: - namespace=[] - if anch.has_key('href'): - yield anch - -def CreateClassIndex(ifile, ofile): - classlist=[] - doxrelpath=os.path.dirname(os.path.dirname(ifile)) - if doxrelpath.startswith('html/'): - doxrelpath=re.sub(r'html\/','',doxrelpath,re.I) - if not doxrelpath.endswith('/'): - doxrelpath=doxrelpath+'/' - for link in Links(ifile): - m=re.search('(.*class(ost|geom).*)',link.get('href'),re.I) - if m: - m2=re.search(r'class([^_]*)',m.group(0)) - if m2: - namespace=[] - namespace.append(m2.group(1)) - p=re.compile(r'([^_]+)_1_1') - res=p.findall(m.group(0)) - for item in res: - if not re.search(r'class',item): - namespace.append(item.replace(' >','>').replace('< ','<')) - namespace.append(link.string.replace(' >','>').replace('< ','<')) - mylink={} - mylink['::'.join(namespace)]=m.group(0) - classlist.append(mylink) - oh=open(ofile,'w') - for myclass in classlist: - for key,value in myclass.iteritems(): - path_prefix=doxrelpath+'html/'+value+'\n' - oh.write(key+','+path_prefix) - -def CreateExampleIndex(ifile, ofile): - oh=open(ofile, 'w') - for link in Links(ifile): - if link.get('class')=='el': - oh.write(link.string+','+link.get('href')+'\n') diff --git a/website/Doxyfile b/website/Doxyfile deleted file mode 100644 index 00c2438ae5fd73b3bee2b6c1ad738236c2a2281b..0000000000000000000000000000000000000000 --- a/website/Doxyfile +++ /dev/null @@ -1,259 +0,0 @@ -# Doxyfile 1.5.7 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = OpenStructure -PROJECT_NUMBER = -OUTPUT_DIRECTORY = html/dox -CREATE_SUBDIRS = YES -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = NO -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 2 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = NO -OPTIMIZE_OUTPUT_JAVA = YES -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -SYMBOL_CACHE_SIZE = 0 -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = NO -HIDE_SCOPE_NAMES = YES -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = NO -GENERATE_TESTLIST = NO -GENERATE_BUGLIST = NO -GENERATE_DEPRECATEDLIST= NO -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = YES -WARNINGS = NO -WARN_IF_UNDOCUMENTED = NO -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = ../modules ../stage -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.hh \ - *.dox \ - *.py -RECURSIVE = YES -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = *CMakeFiles* *src* *pymod* *tests* *impl* -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = ../examples -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -REFERENCES_LINK_SOURCE = NO -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 1 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = ./header.html -HTML_FOOTER = ./footer.html -HTML_STYLESHEET = ./stylesheet.css -HTML_ALIGN_MEMBERS = YES -HTML_DYNAMIC_SECTIONS = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHG_LOCATION = -DISABLE_INDEX = YES -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NO -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = *.hh -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = Verdana -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = NO -INCLUDED_BY_GRAPH = NO -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = NO -DOT_IMAGE_FORMAT = png -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 2 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = YES diff --git a/website/doxypattern.py b/website/doxypattern.py deleted file mode 100644 index cf1bc09730ff5fc8540327ece4d3794f057ccdf7..0000000000000000000000000000000000000000 --- a/website/doxypattern.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -# class to extend inlinepatterns class to handle doxygen references by -#inserting links(<a>) created from a previuosly compiled list of classnames -#within ost and their relative location within the source tree -# -#Author Juergen Haas -import markdown -import re - - - -doxBRK=r'(dox|ex)\[(.*?)(\|.*?)?\]' -DOXYREF_RE= doxBRK - -class DoxyRefPattern(markdown.inlinepatterns.LinkPattern): - """ Match to a stored doxygen reference and return link element. """ - def __init__ (self, pattern, markdown_instance=None, doxyref={}, example_dict={}): - """ - Create an instant of an inline pattern. - - Keyword arguments: - - * pattern: A regular expression that matches a pattern - - """ - self.pattern = pattern - self.doxyref = doxyref - self.example_dict=example_dict - self.compiled_re = re.compile("^(.*?)%s(.*?)$" % pattern, re.DOTALL) - # Api for Markdown to pass safe_mode into instance - self.safe_mode = False - if markdown_instance: - self.markdown = markdown_instance - - def handleMatch(self, m): - if m.group(2)=='dox': - text = m.group(3) - if m.group(4): - if m.group(4).find('\|'): - linktext=m.group(4).replace('|','') - else: - linktext=text - else: - linktext=text - if text in self.doxyref: - href = self.doxyref[text] - else: - print 'doxyref not found for', text - return - title= None - return self.makeTag(href, title, linktext) - else: - ref=m.group(3) - text=ref - if m.group(4): - text=m.group(4)[1:] - return self.makeTag('dox/html/'+self.example_dict.get(ref, ''), None, text) - - def makeTag(self, href, title, text): - el = markdown.etree.Element('a') - - el.set('href', self.sanitize_url(href)) - - el.text = text - return el diff --git a/website/footer.html b/website/footer.html deleted file mode 100644 index ba5dfc16f084d63e68e2f5cdc4fddd6d67ca7825..0000000000000000000000000000000000000000 --- a/website/footer.html +++ /dev/null @@ -1,7 +0,0 @@ - <div id="footer"> - Copyright 2008-2010 by the OpenStructure authors - </div> - </div> - </div> -</body> -</html> diff --git a/website/gen_site.py b/website/gen_site.py deleted file mode 100644 index f0c250794eed1b04fc82085cb8096c471920ba94..0000000000000000000000000000000000000000 --- a/website/gen_site.py +++ /dev/null @@ -1,152 +0,0 @@ -# -*- coding: utf-8 -*- -#Authors Marco Biasini, Juergen Haas -import markdown -import os, re -import codecs,shutil -import doxypattern -from xml import etree -from optparse import OptionParser -from BeauSou2Index import * - - -#please use this to flag a mkdown document as incomplete: -#> <div style="height:70px;background-color:#DD0000;border-bottom:1px solid #DDDDDD;border-top:1px solid #DDDDDD;">This document needs love! -# -#default path to classes.html -#please omit the leading ''./'' -doxrelpath='html/dox/' -CLASSES_PATH=doxrelpath+'html/classes.html' - -p=OptionParser() -p.add_option('--output_dir', '-o', help='output directory', - default='html') -p.add_option('--input_dir', '-i', help='input directory', default='raw') -p.add_option('--base_url', '-b', - help='base url to be used for all relative links. if not specified, '+ - 'will be set to the output directory') -p.add_option('--doxy_ref_file', '-d', help='file with compiled classnames, '+ - 'and corresponding doxygen page', default='index.txt') -p.add_option('--doxy_classfile','-c',help='file, where doxygen store the'+ - 'alphabetical index',default='%s'%(CLASSES_PATH)) -p.add_option('--run_doxygen','-r',help='run doxygen with Doxyfile given as'+ - 'argument') -opts, args=p.parse_args() - -if os.path.exists('../modules/scratch') or \ - os.path.exists('../modules/dng_scratch'): - print '\nERROR ...exiting!\n\nPlease generate webpage from public checkout\n' - os._exit(-1) -if not opts.base_url: - opts.base_url='file://%s' % os.path.abspath(opts.output_dir) -scaffold_file=codecs.open('raw/scaffold.html', mode='r', - encoding='utf8') -SCAFFOLD=scaffold_file.read() - -def run_doxygen(doxyfile): - if os.path.exists(doxyfile): - print '\nrunning doxygen now...\n' - cmd='doxygen %s' %(doxyfile) - output=os.popen(cmd) - else: - print '\nDoxygen input file not found!\nPlease provide a valid doxygen '\ - 'input file specifying --run_doxygen YOURFILE\n' - os._exit(-1) - -def load_doxy_refs(): - doxy_file=opts.doxy_ref_file - if not os.path.isfile(doxy_file): - print '\nWarning: Index file with doxygen classname references'\ - ' not found!\n Use -d to specify filename'\ - '(default=index.txt)\n' - return - doxy_refs=codecs.open(doxy_file, mode="r", - encoding="utf8") - lines=doxy_refs.readlines() - - for line in lines: - fields=[] - if re.search(',',line): - fields=line.split(',') - if len(fields)==2: - doxy_dict[fields[0]]=fields[1] - for line in open('examples_index.txt'): - key, val=line.split(',') - example_dict[key.strip()]=val.strip() - -def mkdown_to_html(opts, dirname, names): -# base_dir=os.path.relpath(dirname, opts.input_dir) - if dirname==opts.input_dir: - base_dir=dirname[len(opts.input_dir):] - else: - base_dir=dirname[len(opts.input_dir)+1:] - - out_dir=os.path.join(opts.output_dir, base_dir) - if out_dir.find('.svn')!=-1: - return - print out_dir - if not os.path.exists(out_dir): - os.mkdir(out_dir) - for name in names: - if name.endswith('.mkdown'): - print '*- converting', name - base_out_name=os.path.splitext(name)[0]+'.html' - out_name=os.path.join(out_dir, base_out_name) - full_name=os.path.join(dirname, name) - input_file=codecs.open(os.path.join(dirname, name), mode="r", - encoding="utf8") - text=input_file.read() - md=markdown.Markdown(extensions=['toc2', 'codehilite', 'meta','tables']) - md.inlinePatterns["doxylink"] = \ - doxypattern.DoxyRefPattern(doxypattern.DOXYREF_RE, - md, - doxy_dict, example_dict) - md.doc_url=os.path.join(base_dir, base_out_name) - html=md.convert(text) - meta=md.Meta - toc=etree.ElementTree.tostring(md.TOC) - title='' - if 'title' in meta.keys(): - title=meta['title'][0] - - out_file=codecs.open(out_name, mode='w', encoding='utf8') - out_file.write(SCAFFOLD % { 'CONTENT' : html, 'TITLE' : title, - 'SITE_NAV' : toc, 'BASE' : opts.base_url}) - -def copy_images(opts, dirname, names): - if dirname==opts.input_dir: - base_dir=dirname[len(opts.input_dir):] - else: - base_dir=dirname[len(opts.input_dir)+1:] - out_dir=os.path.join(opts.output_dir, base_dir) - for name in names: - if name.endswith('.jpg') or name.endswith('.png'): - shutil.copy(os.path.join(dirname,name), os.path.join(out_dir,name)) - -if not os.path.exists(opts.output_dir): - os.mkdir(opts.output_dir) -if not os.path.exists(os.path.join(opts.output_dir, 'css')): - os.mkdir(os.path.join(opts.output_dir, 'css')) -shutil.copy(os.path.join(opts.input_dir, 'css/ost.css'), - os.path.join(opts.output_dir, 'css')) -if opts.run_doxygen: - run_doxygen(opts.run_doxygen) - if os.path.exists(opts.doxy_ref_file): - os.unlink(opts.doxy_ref_file) -if not os.path.exists(opts.doxy_classfile): - print 'Warning: Could not find the alphabetical index file generated\n'\ - 'by doxygen (classes.html). Please specify with -c'\ - '(default=''%s'')' %(CLASSES_PATH) - os._exit(-2) -else: - print 'Found doxygen class file:',opts.doxy_classfile - -doxy_dict={} -example_dict={} -#now create the index file listing the classnames and the corresponding -#doxygen html files for resolving the dox[ost::mol::BondHandle] mkdown tags -if not os.path.exists(opts.doxy_ref_file): - CreateClassIndex(opts.doxy_classfile, opts.doxy_ref_file) - CreateExampleIndex('html/dox/html/examples.html', 'examples_index.txt') -load_doxy_refs() -os.path.walk(opts.input_dir, mkdown_to_html, opts) -os.path.walk(opts.input_dir, copy_images, opts) \ No newline at end of file diff --git a/website/header.html b/website/header.html deleted file mode 100644 index 2767659fdacde2c39434c6786a076c8174b5162b..0000000000000000000000000000000000000000 --- a/website/header.html +++ /dev/null @@ -1,48 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> - <meta http-equiv="Content-type" content="text/html; charset=utf-8"> - <title>$title</title> - <link rel="stylesheet" href="$relpath$../../css/ost.css" - type="text/css" media="screen" - title="no title" charset="utf-8"> -</head> -<body> - <div id="content-holder"> - <div id="toc-box"> - <div id="menu"> - <a class="toc-title" >Site Navigation</a> - <div class="toc-sep"> - <ul> - <li><a href="$relpath$../../index.html">Home</a></li> - <li><a href="$relpath$../../docs/tut/intro.html">Getting Started</a></li> - <li><a href="$relpath$../../features.html">Features</a></li> - <li><a href="$relpath$../../download.html">Download</a></li> - <li><a href="$relpath$../../gallery.html">Gallery</a></li> - <li><a href="$relpath$../../docs/index.html">Documentation</a></li> - <ul> - <li><a href="$relpath$../../docs/tutorials.html">Tutorials</a></li> - <li><a href="$relpath$../../docs/examples.html">Examples</a></li> - <li><a href="$relpath$../../dox/html/classes.html">Class List</a></li> - </ul> - <li><a href="$relpath$../../FAQ.html">Frequently Answered Questions</a></li> - - <li> - <a href="$relpath$../../ack.html">Acknowledgements</a> - </li> - <li> - <a href="$relpath$../../contact.html">Contact</a> - </li> - </ul> - </div> - <a class="toc-title" >API Documentation</a> - <div class="toc-sep" > - <ul> - <li><a href="$relpath$functions.html">Function List</a></li> - <li><a href="$relpath$classes.html">Class List</a></li> - <li><a href="$relpath$files.html">File List</a></li> - </ul> - </div> <!--toc-sep--> - </div><!--menu--> - </div><!--toc-box--> - <div id="content" > diff --git a/website/mdx_toc2.py b/website/mdx_toc2.py deleted file mode 100644 index e729eba58e42a695e1dbf32323896d6338a7b46e..0000000000000000000000000000000000000000 --- a/website/mdx_toc2.py +++ /dev/null @@ -1,139 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Table of Contents Extension for Python-Markdown -* * * - -(c) 2008 [Jack Miller](http://codezen.org) - -Dependencies: -* [Markdown 2.0+](http://www.freewisdom.org/projects/python-markdown/) - -""" -import markdown -from markdown import etree -import re - -class TocTreeprocessor(markdown.treeprocessors.Treeprocessor): - # Iterator wrapper to get parent and child all at once - def iterparent(self, root): - for parent in root.getiterator(): - for child in parent: - yield parent, child - def __init__(self, md): - markdown.treeprocessors.Treeprocessor.__init__(self, md) - self.md=md - def run(self, doc): - div = etree.Element("div") - self.md.DOC=doc - div.attrib["class"] = "toc" - last_li = None - self.md.TOC=div - # Add title to the div - if self.config["title"][0]: - header = etree.SubElement(div, "span") - header.attrib["class"] = "toctitle" - header.text = self.config["title"][0] - - level = 0 - list_stack=[div] - header_rgx = re.compile("[Hh][12]") - - # Get a list of id attributes - used_ids = [] - for c in doc.getiterator(): - if "id" in c.attrib: - used_ids.append(c.attrib["id"]) - - for (p, c) in self.iterparent(doc): - if not c.text: - continue - - # To keep the output from screwing up the - # validation by putting a <div> inside of a <p> - # we actually replace the <p> in its entirety. - # We do not allow the marker inside a header as that - # would causes an enless loop of placing a new TOC - # inside previously generated TOC. - - if c.text.find(self.config["marker"][0]) > -1 and not header_rgx.match(c.tag): - for i in range(len(p)): - if p[i] == c: - p[i] = etree.Element('span') - break - - if header_rgx.match(c.tag): - tag_level = int(c.tag[-1]) - - while tag_level < level: - list_stack.pop() - level -= 1 - - if tag_level > level: - newlist = etree.Element("ul") - if last_li: - last_li.append(newlist) - else: - list_stack[-1].append(newlist) - list_stack.append(newlist) - level += 1 - - # Do not override pre-existing ids - if not "id" in c.attrib: - id = self.config["slugify"][0](c.text) - if id in used_ids: - ctr = 1 - while "%s_%d" % (id, ctr) in used_ids: - ctr += 1 - id = "%s_%d" % (id, ctr) - used_ids.append(id) - c.attrib["id"] = id - else: - id = c.attrib["id"] - - # List item link, to be inserted into the toc div - last_li = etree.Element("li") - link = etree.SubElement(last_li, "a") - link.text=c.text - link.attrib["href"] = self.md.doc_url+'#' + id - if int(self.config["anchorlink"][0]): - anchor = etree.SubElement(c, "a") - anchor.text = c.text - anchor.attrib["href"] = "#" + id - anchor.attrib["class"] = "toclink" - c.text="" - - list_stack[-1].append(last_li) - -class Toc2Extension(markdown.Extension): - def __init__(self, configs): - self.config = { "marker" : ["[TOC]", - "Text to find and replace with Table of Contents -" - "Defaults to \"[TOC]\""], - "slugify" : [self.slugify, - "Function to generate anchors based on header text-" - "Defaults to a built in slugify function."], - "title" : [None, - "Title to insert into TOC <div> - " - "Defaults to None"], - "anchorlink" : [0, - "1 if header should be a self link" - "Defaults to 0"]} - - for key, value in configs: - self.setConfig(key, value) - - # This is exactly the same as Django's slugify - def slugify(self, value): - """ Slugify a string, to make it URL friendly. """ - import unicodedata - value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore') - value = unicode(re.sub('[^\w\s-]', '', value).strip().lower()) - return re.sub('[-\s]+','-',value) - - def extendMarkdown(self, md, md_globals): - tocext = TocTreeprocessor(md) - tocext.config = self.config - md.treeprocessors.add("toc2", tocext, "_begin") - -def makeExtension(configs={}): - return Toc2Extension(configs=configs) diff --git a/website/raw/100212_BE_Score.png b/website/raw/100212_BE_Score.png deleted file mode 100644 index a2f61b2daa5dce11c79f92e643d345f16c1ed8f1..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_BE_Score.png and /dev/null differ diff --git a/website/raw/100212_BE_Score_Tn.png b/website/raw/100212_BE_Score_Tn.png deleted file mode 100644 index b0b145d1dbf74bd5fd856ed127ab123211deacfd..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_BE_Score_Tn.png and /dev/null differ diff --git a/website/raw/100212_Loops.png b/website/raw/100212_Loops.png deleted file mode 100644 index 8fd0ef54c4a96ed7ed0e7ca5063a9ec5371d2830..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Loops.png and /dev/null differ diff --git a/website/raw/100212_Loops_Tn.png b/website/raw/100212_Loops_Tn.png deleted file mode 100644 index 6b282039d298d541a0ec1d31d36e6d4239e89b27..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Loops_Tn.png and /dev/null differ diff --git a/website/raw/100212_Openstructure1.0a1_1622_Linux.png b/website/raw/100212_Openstructure1.0a1_1622_Linux.png deleted file mode 100644 index 9fdd4dbc62af07ea244933bb71477f07dce0ebb5..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Openstructure1.0a1_1622_Linux.png and /dev/null differ diff --git a/website/raw/100212_Openstructure1.0a1_1622_Linux_Tn.png b/website/raw/100212_Openstructure1.0a1_1622_Linux_Tn.png deleted file mode 100644 index cb38122a3afaabff6c617a6da7e7a37de0e37110..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Openstructure1.0a1_1622_Linux_Tn.png and /dev/null differ diff --git a/website/raw/100212_Openstructure1.0a1_1622_Mac.png b/website/raw/100212_Openstructure1.0a1_1622_Mac.png deleted file mode 100644 index 5a5274ee1b5f2f322b2bd129fa603203f4b2b924..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Openstructure1.0a1_1622_Mac.png and /dev/null differ diff --git a/website/raw/100212_Openstructure1.0a1_1622_Mac_Tn.png b/website/raw/100212_Openstructure1.0a1_1622_Mac_Tn.png deleted file mode 100644 index cc2cdaa60853bf35f97ae2e78328a8e12a7ada16..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Openstructure1.0a1_1622_Mac_Tn.png and /dev/null differ diff --git a/website/raw/100212_Openstructure1.0a1_1622_Win.png b/website/raw/100212_Openstructure1.0a1_1622_Win.png deleted file mode 100644 index bbda3547ed7046a8c4d00f3987a46775c275ff91..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Openstructure1.0a1_1622_Win.png and /dev/null differ diff --git a/website/raw/100212_Openstructure1.0a1_1622_Win_Tn.png b/website/raw/100212_Openstructure1.0a1_1622_Win_Tn.png deleted file mode 100644 index c403d3982910b394e78d2ec3872e50724994788e..0000000000000000000000000000000000000000 Binary files a/website/raw/100212_Openstructure1.0a1_1622_Win_Tn.png and /dev/null differ diff --git a/website/raw/FAQ.mkdown b/website/raw/FAQ.mkdown deleted file mode 100644 index 18cdb1afaf32c3da6e0d2d1d5a0053224221cd03..0000000000000000000000000000000000000000 --- a/website/raw/FAQ.mkdown +++ /dev/null @@ -1,28 +0,0 @@ -title: FAQ - Frequently Answered Questions - -#FAQ - Frequently Answered Questions - -**Which licensing does Openstructure come with?** - -Openstructure is released under GNU-LGPL license - -**Why another molecular Viewer?** - -Openstructure is not aiming to be a Viewer, but more a molecular modelling platform, a toolkit. It features nice graphics, though! - -**How do I load all PDB files in a directory?** - -The python glob module can be used to match files in a certain directory against a glob pattern. Then use LoadPDB as you normally would. - - ::::python - import glob - pdbs=[] - for pdb_file in glob.glob(os.path.join(dir_path, '*.pdb')): - pdbs.append(io.LoadPDB(os.path.join(dir_path, pdb_file))) - -**How do I load a crappy PDB file?** - -The easiest way is to use the `fault_tolerant` option of LoadPDB. If you set the value to true, it will load the structure and just skip erroneus records: - - ::::python - ent=io.LoadPDB('pdb_with_errors.pdb', fault_tolerant=True) \ No newline at end of file diff --git a/website/raw/ack.mkdown b/website/raw/ack.mkdown deleted file mode 100644 index 8a33b4bbdab8d985ccd66fa9ff3f4c79d9d19669..0000000000000000000000000000000000000000 --- a/website/raw/ack.mkdown +++ /dev/null @@ -1,32 +0,0 @@ -title: Acknowledgements - -# Acknowledgements - -Several people have been involved in the development and design of OpenStructure. - -## Core Development Team - -In alphabetical order: - - * *Marco Biasini [1]* - * *Juergen Haas [1,2]* - * *Valerio Mariani [1,2]* - * *Ansgar Philippsen* - * *Andreas Schenk [3]* - * *Stefan Scheuber [1,2]* - -## Testing - - * *Tobias Schmidt [1,2]* - * *Pascal Benkert [1,2]* - - - [1] Swiss Institute of Bioinformatics, Basel, Switzerland - [2] Biozentrum University of Basel, Basel, Switzerland - [3] Department of Cell Biology, Harvard Medical School, Boston, MA, USA - - -## Financial Support - -<a target="extern" href="http://www.isb-sib.ch/"><img alt="Swiss Institute of Bioinformatics" src="http://www.isb-sib.ch/images/stories/SIBlogo/sib_logoq_low.jpg" width="200" height="120"> </img></a> -<a target="extern" href="http://www.biozentrum.unibas.ch"><img alt="Biozentrum" src="http://www.biozentrum.unibas.ch/logos101007/bio115_257.gif"> </img></a> diff --git a/website/raw/contact.mkdown b/website/raw/contact.mkdown deleted file mode 100644 index 9a67822ef330e46a7441d593b91ab9a1b6c01530..0000000000000000000000000000000000000000 --- a/website/raw/contact.mkdown +++ /dev/null @@ -1,16 +0,0 @@ -title: Contact - -# Contact - -## Community - -For general user inquiries and support: [openstructure-users mailing list](https://www.maillist.unibas.ch/mailman/listinfo/openstructure-users) - -Where the developers of OpenStructure discuss new features: [openstructure-devel mailing list](https://www.maillist.unibas.ch/mailman/listinfo/openstructure-devel) - -## Address -Prof. Torsten Schwede -SIB Swiss Institute of Bioinformatics -Biozentrum University of Basel -Klingelbergstrasse 50/70 -CH-4056 Basel / Switzerland \ No newline at end of file diff --git a/website/raw/css/ost.css b/website/raw/css/ost.css deleted file mode 100644 index 1edb988f482e033c0dc953c16acaf190b89abe72..0000000000000000000000000000000000000000 --- a/website/raw/css/ost.css +++ /dev/null @@ -1,307 +0,0 @@ -/* - alternatives: 005F6A, B84433 - */ -p, h1, h2, h3, ul, li, a, div{ - font-family:Verdana, sans-serif; - font-size:10pt; -} - -body { - width:100%; - height:100%; -} - -img { - border-style:none; - margin-left:1em; -} - -#content-holder { - margin-top:1cm; - margin-left:1cm; - width:28cm; - padding-left:0.2cm; - background-color:white; - border-color:#aaa; - margin-bottom:0.2cm; - padding-bottom:0.1cm; -} -#content { - border-color:#dddddd; - border-left-style:solid; - border-width:1px; - padding-left:10px; - float:right; - width:20cm; - min-height:20cm; -} -code { - font-family:Inconsolata, Menlo, Consolas, monospace; - border-color:#eeeeee; - border-width:1px; - margin:0px; - background-color:#fafafa; -} - -a[href] { - color:#B84433; -} - -h1 { - font-size:200%; - font-weight:normal; - color:#B84433; - background: url('../logo.png') no-repeat; - padding-left:48px; - min-height:40px; - margin-bottom:10px; - -} - -h3 { - margin-bottom:0.2em; -} - -h2 { - font-family:Georgia, serif; - padding-top:10pt; - font-size:150%; - color:#333333; - font-weight:normal; - font-style:italic; -} -p { - padding:0cm; - margin-top:0cm; - margin-bottom:1em; -} -.groupHeader, h3 { - margin-top:10pt; - font-weight:bold; -} - -#menu { - /*text-align:right;*/ - padding-top:10px; - float:left; - width:7cm; - /*background: #fff url('../loops.png') no-repeat +150px +26px;*/ -} -#menu a { - font-style:normal; -} -#menu li { - list-style-type:none; - padding:2px; - margin:0px; -} -#menu ul { - padding-left:10px; - padding-bottom:5px; -} -table { - padding:0px; - margin:0px; - width:70%; -} - -.toc { -} -.toc ul { - padding-left:20px; - /*padding-bottom:5px;*/ -} -.toc li { - padding-top:5px; - list-style-type:none; -} - -#toc-box { - position:fixed; - top:27px; -} -.contents { - padding:0px; margin:0px; border-width:0px; -} -pre.fragment { - vertical-align:top; - font-family:Inconsolata, Menlo, Consolas, monospace; - border-color:#eee; - padding-right:2px; - margin:0px; - padding:0.5em; - border-width:1px; - border-left-width:10px; - border-left-color:#A5ABB9; - border-style:solid; - display:block; -} - -.fragment a { - font-family:Inconsolata, Menlo, Consolas, monospace; -} - - -.fragment .span { - font-family:Inconsolata, Menlo, Consolas, monospace; -} - -h2 a { - font-size:100%; - font-family:Georgia; -} - -h1 a { - font-size:100%; -} - -.toc-sep { - border-top: 1px solid #DDD; - border-bottom: 1px solid #DDD; -} -.linenos { - vertical-align:top; - font-family:Inconsolata, Menlo, Consolas, monospace; - background-color:#dddddd; - color:#333333; - width:20px; - text-align:right; - padding-right:2px; - margin:0px; - border-width:0px; -} - - -#footer { - font-size:8pt; - color:#333; - border-color:#dddddd; - border-width:1px; - border-top-style:solid; - vertical-align:bottom; -} - - -.fragment .comment { - color: #8f5902; font-style: italic; -} - -.fragment .keyword { - color: #204a87; font-weight: bold; -} - -.fragment .keywordflow { - color: #204a87; font-weight: bold; -} - -.fragment .stringliteral { - color: #4e9a06; -} - - -.navpath { - border-bottom-style:solid; - border-bottom-color:#ddd; - border-bottom-width:1px; -} -.navpath .el { - text-decoration:none; - font-style:normal; -} - -.el, .memItemLeft, .memItemRight, .memname, .paramtype, .paramname { - font-family:Inconsolata, Menlo, Consolas, monospace; -} - -.memproto { - border-top-style:solid; - border-bottom-style:solid; - border-top-width:1px; - border-color:#ddd; - border-bottom-width:1px; - background-color:#eee; - margin-top:20px; -} - -div.codehilite { - margin-left:0px; - padding-left: 2em ; - padding-right: 2em ; - margin-bottom:1em; - background-color: #fdfdfd; - border-color:#eee; - border-width:1px; - border-style:solid; - font-family:Inconsolata, Menlo, Consolas, monospace; -} - - -.codehilite .hll { background-color: #ffffcc } -.codehilite .c { color: #8f5902; font-style: italic } /* Comment */ -.codehilite .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ -.codehilite .g { color: #000000 } /* Generic */ -.codehilite .k { color: #204a87; font-weight: bold } /* Keyword */ -.codehilite .l { color: #000000 } /* Literal */ -.codehilite .n { color: #000000 } /* Name */ -.codehilite .o { color: #ce5c00; font-weight: bold } /* Operator */ -.codehilite .x { color: #000000 } /* Other */ -.codehilite .p { color: #000000; font-weight: bold } /* Punctuation */ -.codehilite .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ -.codehilite .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ -.codehilite .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ -.codehilite .cs { color: #8f5902; font-style: italic } /* Comment.Special */ -.codehilite .gd { color: #a40000 } /* Generic.Deleted */ -.codehilite .ge { color: #000000; font-style: italic } /* Generic.Emph */ -.codehilite .gr { color: #ef2929 } /* Generic.Error */ -.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.codehilite .gi { color: #00A000 } /* Generic.Inserted */ -.codehilite .go { color: #000000; font-style: italic } /* Generic.Output */ -.codehilite .gp { color: #8f5902 } /* Generic.Prompt */ -.codehilite .gs { color: #000000; font-weight: bold } /* Generic.Strong */ -.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.codehilite .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ -.codehilite .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ -.codehilite .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ -.codehilite .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ -.codehilite .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ -.codehilite .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ -.codehilite .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ -.codehilite .ld { color: #000000 } /* Literal.Date */ -.codehilite .m { color: #0000cf; font-weight: bold } /* Literal.Number */ -.codehilite .s { color: #4e9a06 } /* Literal.String */ -.codehilite .na { color: #c4a000 } /* Name.Attribute */ -.codehilite .nb { color: #204a87 } /* Name.Builtin */ -.codehilite .nc { color: #000000 } /* Name.Class */ -.codehilite .no { color: #000000 } /* Name.Constant */ -.codehilite .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ -.codehilite .ni { color: #ce5c00 } /* Name.Entity */ -.codehilite .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ -.codehilite .nf { color: #000000 } /* Name.Function */ -.codehilite .nl { color: #f57900 } /* Name.Label */ -.codehilite .nn { color: #000000 } /* Name.Namespace */ -.codehilite .nx { color: #000000 } /* Name.Other */ -.codehilite .py { color: #000000 } /* Name.Property */ -.codehilite .nt { color: #204a87; font-weight: bold } /* Name.Tag */ -.codehilite .nv { color: #000000 } /* Name.Variable */ -.codehilite .ow { color: #204a87; font-weight: bold } /* Operator.Word */ -.codehilite .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */ -.codehilite .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ -.codehilite .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ -.codehilite .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ -.codehilite .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ -.codehilite .sb { color: #4e9a06 } /* Literal.String.Backtick */ -.codehilite .sc { color: #4e9a06 } /* Literal.String.Char */ -.codehilite .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ -.codehilite .s2 { color: #4e9a06 } /* Literal.String.Double */ -.codehilite .se { color: #4e9a06 } /* Literal.String.Escape */ -.codehilite .sh { color: #4e9a06 } /* Literal.String.Heredoc */ -.codehilite .si { color: #4e9a06 } /* Literal.String.Interpol */ -.codehilite .sx { color: #4e9a06 } /* Literal.String.Other */ -.codehilite .sr { color: #4e9a06 } /* Literal.String.Regex */ -.codehilite .s1 { color: #4e9a06 } /* Literal.String.Single */ -.codehilite .ss { color: #4e9a06 } /* Literal.String.Symbol */ -.codehilite .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ -.codehilite .vc { color: #000000 } /* Name.Variable.Class */ -.codehilite .vg { color: #000000 } /* Name.Variable.Global */ -.codehilite .vi { color: #000000 } /* Name.Variable.Instance */ -.codehilite .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ diff --git a/website/raw/docs/compile.mkdown b/website/raw/docs/compile.mkdown deleted file mode 100644 index 56fe8da3b9d7d7524e065f67eb1f17120bd568f4..0000000000000000000000000000000000000000 --- a/website/raw/docs/compile.mkdown +++ /dev/null @@ -1,90 +0,0 @@ -title: Compiling and Building - -[TOC] - -# Compiling and Building OpenStructure - -## Installing the Dependencies - -OpenStructure uses a bunch of OpenSource libraries. If you haven't already installed them, please install them now! - - * [CMake][cmake] - * [Eigen2](http://eigen.tuxfamily.org/) - * [Boost](http://boost.org) - * [libpng](http://www.libpng.org/) - * [Python](http://python.org) - * [Qt](http://qt.nokia.com/) - -When you enable support for image processing, you will need: - - * [FFTW3](http://fftw.org). By default, OpenStructure is compiled with single precision and thus also requires FFTW to be compiled with single precision. Most platforms offer this as a second package. If you are compiling manually, use the `--enable-single` option. - - * [libtiff](http://www.libtiff.org) - - - -If you would like to use the graphical user interface, also install: - - * [SIP](http://www.riverbankcomputing.co.uk/software/sip/download) - * [PyQt4](http://www.riverbankcomputing.co.uk/software/pyqt/download) - -In case you are compiling under Windows you have to install [Visualstudio -2008](http://www.microsoft.com/express/Downloads/) to compile the dependecies and -OpenStructure. We recommend to compile the dependecies manually. -Enter the directories where the dependencies are located in Tools->Options->Projects and Solutions->VC++ -directories. Choose 'bin' directories to enter program paths to cmake, qmake and python, -'lib' directories to point to the location(s) of your dependencies. - -## Checking out the Source - -You can checkout the source from SVN. The repository is located at - - https://ost.biozentrum.unibas.ch/svn/openstructure/trunk - -If you are using the commandline client, type in your shell - - svn co https://ost.biozentrum.unibas.ch/svn/openstructure/trunk - -On Windows install svn clients like [tortoisesvn](http://tortoisesvn.tigris.org/) and use the function 'checkout' then enter the above mention URL. - - -## Configuring - -OpenStructure uses [CMake][cmake] for compiling and building the project. The next required step is to configure the build environment using cmake. You can do that by invoking `cmake` in the project directory (On Windows choose Tools->visualstudio commandline prompt from within visualstudio) : - - cmake . <options> - -There are two kinds of options: Options that let you control the building behaviour, enabling and disabling the compilation of certain modules and options that let you tell CMake where to find the dependencies. All of them are passed to CMake with via `-D<opt>=<value>`. - -### Flag to choose build system - -On Windows make sure you specify -G"Visual Studio 9 2008"! - -### Flags that control the dependencies - -By default, [CMake] searches the standard directories for dependencies. However, on some systems, this might not be enough. Here is a short description of how CMake figures out what dependencies to take and how you can influence it. - - * Boost is mainly controlled via the `BOOST_ROOT` option. If boost wasn't found, it should be set to the prefix of the boost installation. - - * `QT_QMAKE_EXECUTABLE` defines the exact Qt installation to take. It should be set to the full path to ``qmake`. - - * `PYTHON_ROOT` is the Python equivalent of BOOST_ROOT. It should be set to the prefix path containing the python binary, headers and libraries. - - * `SYS_ROOT` controls the general prefix for searching libraries and headers. By default, it is set to `/`. - -### Flags that control the build - - * `ENABLE_UI` controls whether to build the graphical user interface module. By default it is set to true. - * `ENABLE_IMG` controls whether to build the image processing module. This will enable support for density maps, and general image processing in 1, 2 an 3 dimensions. By default it is set to true. - * `ENABLE_GFX` controls whether to build the graphics module. By default, this is set to true. If set to none, this implies `ENABLE_UI=NO`. - * Shader support is controlled with `USE_SHADER`. By default, no shaders are used. - * If `OPTIMIZE` is set to 1, an optimized version of OpenStructure is built. - -## Building the project - -Type `make`. If you are using a multi-core machine, you can use the `-j` flag to run -multiple jobs at once. - -On Windows run 'Build OpenStructure' from the build menu. - -[CMake]: http://cmake.org diff --git a/website/raw/docs/examples.mkdown b/website/raw/docs/examples.mkdown deleted file mode 100644 index 71e660b483342780242fff07b40db231d8947f91..0000000000000000000000000000000000000000 --- a/website/raw/docs/examples.mkdown +++ /dev/null @@ -1,34 +0,0 @@ -title: Examples -[TOC] -# Examples - -Below you find a list of examples that should illustrate various aspects of interaction with OpenStructure itself and proteins in particular. Feel free to browse the [alphabetical examples list](dox/html/examples.html). - -## Examples by Topic - -### Graphics - * ex[load_and_display.py|Loading And Displaying an Entity] - * ex[rendermodes.py|Render Modes] - * ex[primitives.py|Adding Lines and Quads] | ex[random_lines.py|Random Lines] - * ex[bbox.py|Displaying a Bounding Box] - * ex[gfx_symmetry.py|Drawing Symmetry Equivalents] - * ex[gradient.py|Gradients] - * ex[gfx_selection.py|Graphical Selection] - * ex[color_by_property.py|Color Entity By Property] - -### GUI - * ex[menubar_example.py|Adding a Menu] - * ex[color_tool.py|Write a Tool in Python] - * ex[widget_example.py|Add a custom Widget] - * ex[mdi_example.py|Add a Widget to MDI] - -### Molecular Entities - * ex[roll_helix.py|Modifying Protein Backbone Torsion Angles] - * ex[bbox.py|Calculating an Oriented Bounding Box] - -### Image Processing - * ex[create_split_image.py|Creating a Split Image from Several Images] - * ex[fft_li.py|Load Images and Show Fourier Transforms] - * ex[modulate_image.py|Load and Modulate Image by a Sine] - * ex[spoke_pattern.py|Create a Spoke Pattern Image] - * ex[view_phase_diff.py|Display Phase Difference of Two Images] \ No newline at end of file diff --git a/website/raw/docs/index.mkdown b/website/raw/docs/index.mkdown deleted file mode 100644 index d678a7c3ad6cd3cb4212404caaae90453bccb975..0000000000000000000000000000000000000000 --- a/website/raw/docs/index.mkdown +++ /dev/null @@ -1,39 +0,0 @@ -title: Documentation -[TOC] -# Documentation - -## New to OpenStructure? - -Newcomers might want to have a look at our gentle [introduction to the framework](docs/tut/intro.html) and the [features list](features.html). - -For a conceptual overview of the framework, we have prepared a few [tutorials](docs/tutorials.html). You can also find [code examples](docs/examples.html) with a short description. - - -## For Those Who Know - -The following links provide direct access to the API documentation. - -### Molecular Structures - * dox[ost::mol::EntityHandle|EntityHandle] | dox[ost::mol::EntityView|EntityView] | [Queries](dox/html/query.html) | [Conop](dox/html/module_conop.html) - -### Sequence - - * [Overview](dox/html/module_seq.html) - -### Reading and writing files - - * [io](dox/html/module_io.html) - -### Graphics - - * dox[ost::gfx::Scene|Scene] | [Graphical Entity](dox/html/gfx_ent.html) - -### Image Manipulation - - - * dox[ost::img::ImageHandle|ImageHandle] - -### Global Data Structure Index - * [Data Structure index](dox/html/classes.html) - - diff --git a/website/raw/docs/tut/100208_Inspector_Gadget.png b/website/raw/docs/tut/100208_Inspector_Gadget.png deleted file mode 100644 index 9d5d9e45f481a071df9f328aea5103483c5c25cf..0000000000000000000000000000000000000000 Binary files a/website/raw/docs/tut/100208_Inspector_Gadget.png and /dev/null differ diff --git a/website/raw/docs/tut/dv1.jpg b/website/raw/docs/tut/dv1.jpg deleted file mode 100644 index a6fbfb26ff61b5be6b618cb2231c63dab436e557..0000000000000000000000000000000000000000 Binary files a/website/raw/docs/tut/dv1.jpg and /dev/null differ diff --git a/website/raw/docs/tut/dv2.jpg b/website/raw/docs/tut/dv2.jpg deleted file mode 100644 index 14d8b5d9aa83baa14cd749262e074afeae189442..0000000000000000000000000000000000000000 Binary files a/website/raw/docs/tut/dv2.jpg and /dev/null differ diff --git a/website/raw/docs/tut/dv3.jpg b/website/raw/docs/tut/dv3.jpg deleted file mode 100644 index 4cd45aea3d439c5a7eff2a0e4f763a93d1ea2cbc..0000000000000000000000000000000000000000 Binary files a/website/raw/docs/tut/dv3.jpg and /dev/null differ diff --git a/website/raw/docs/tut/external.mkdown b/website/raw/docs/tut/external.mkdown deleted file mode 100644 index 022e504859e4c7cef0fbdcd0ed49a3471a3b658e..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/external.mkdown +++ /dev/null @@ -1,96 +0,0 @@ -title: Using External Programs within OpenStructure - -[TOC] - -# Using External Programs within OpenStructure - -## Introduction -It is often very useful to use external programs to do a specific task. In principle, this can be done by writing out files from OpenStructure and manually running an external program, however, for convenience, this can also be done directly from within OpenStructure using Python commands. - -This tutorial will give you some hints how to do this for a new external program. The process basically consists of four steps: - - * locate the executable of the external program - * prepare all necessary files - * execute the external program from python - * read in generated output - -All existing bindings to external programs are placed under ost::bindings. - -## Locating the Executable -There is a helper function available to locate files. It can be found at ost::settings::Locate(). Using this, you can obtain the full path of an executable. - -As an example, we would like to obtain the full path of the msms executable (a program to calculate molecular surfaces): - - ::::python - from ost import settings - exe_path=settings.Locate('msms', search_paths=['/opt/app','/home/app'], - env_name='MSMS', search_system_paths=True) - print exe_path - -The Locate command looks for the program with the name 'msms'. If env_name is set, it first looks if an environment variable with the name 'MSMS' is set. If not, all paths in search_paths are searched. If the executable could still not be found and search_system_paths is set to True, the binary search paths are searched. -If the executable could not be found, a FileNotFound exception is raised with a detailed description where Locate was searching for the executable. - -## Prepare All Files -The preparation of the necessary files is very dependent on the external program. Often it is useful to generate a temporary directory or file. For this, the python module tempfile is very handy. - -An example how to generate a temporary directory, open a file in this directory and write the position and radius of all atoms into this file is shown here: - - ::::python - import tempfile - import os - - # generate a temporary directory - tmp_dir_name=tempfile.mkdtemp() - print 'temporary directory:',tmp_dir_name - - # generate and open a file in the temp directory - tmp_file_name=os.path.join(tmp_dir_name,"entity") - tmp_file_handle=open(tmp_file_name, 'w') - print 'temporary file:',tmp_file_handle - - # write position and radius of all atoms to file - for a in entity.GetAtomList(): - position=a.GetPos() - tmp_file_handle.write('%8.3f %8.3f %8.3f %4.2f\n' % (position[0], - position[1], position[2], a.GetProp().radius)) - - # close the file - tmp_file_handle.close() - -## Execute the External Program -The external program can be executed from python using the python module subprocess. - -To run the external program msms from the above example, with the temporary file generated before, we can use the following: - - ::::python - import subprocess - - # set the command to execute - command="%s -if %s -of %s" % (exe_path, - tmp_file_name, tmp_file_name) - print 'command:',command - - # run the executable with the command - proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) - stdout_value, stderr_value = proc.communicate() - - #check for successful completion of msms - if proc.returncode!=0: - print "WARNING: msms error\n", stdout_value - raise subprocess.CalledProcessError(proc.returncode, command) - - # print everything written to the command line (stdout) - print stdout_value - -## Read Generated Output -The last step includes reading of generated files (like in the case of msms) and/or processing of the generated command line output. - -Here we first print the command line output and then load the generated msms surface and print the number of vertex points: - - ::::python - # print everything written to the command line (stdout) - print stdout_value - - # read msms surface from file - surface=io.LoadSurface(tmp_file_name, "msms") - print 'number of vertices:',len(surface.GetVertexIDList()) diff --git a/website/raw/docs/tut/genericprop.mkdown b/website/raw/docs/tut/genericprop.mkdown deleted file mode 100644 index 70e5778389015b270ca3cea7cba021caa89de26d..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/genericprop.mkdown +++ /dev/null @@ -1,71 +0,0 @@ -title: Storing Custom Data in an Entity - -[TOC] - -# Storing Custom Data in an Entity -This tutorial will guide you through the use of GenericProperties to store any custom data inside an Entity. - -## Introduction -It is often very convenient to store any arbitrary data inside an Entity. A few examples are: - - * calculated properties of atoms - * sequence conservation of a residue - * interaction energy of a substructure with its surrounding - * fit of a fragment inside an electron density map - -In OpenStructure this is supported by the use of GenericProperties. Most building blocks are a dox[ost::GenericPropertyContainer|GenericPropertyContainer], meaning that arbitrary key-value pairs can be stored in them, namely: - - * EntityHandle and EntityView - * ChainHandle and ChainView - * ResidueHandle and ResidueView - * AtomHandle and AtomView - * BondHandle - -The view variants will reflect the generic properties of the handle variants. - -A generic property key is always a String, and a value can be one of String, Real, int or bool. For each of these data types, methods to retrieve and store values are available both in Python and C++. - -## Storing and Accessing Data - -All OpenStructure building blocks that are GenericPropertyContainers, have four different methods to store generic data, depending on the data type (i.e. String, Float, Int or Bool). - -To store a float value with the key 'myfloatprop' in all atoms of an entity: - - ::::python - import math - for atom in entity.GetAtomList(): - val=5*math.sin(0.4*atom.GetPos().GetX()) - atom.SetGenericFloatProperty("myfloatprop", val) - -If a GenericProperty at a given level (i.e. atom, bond, residue, chain or entity) already exists, it will be overwritten. To check if it exists, use: - - ::::python - exists=atom.HasGenericProperty("myfloatprop") - print exists - -To access the value of a GenericProperty, we first check if the property exists and then access it, using the method suitable for the data type of the property. For the previously set property "myfloatprop" of the data type Real, at the atom level: - - ::::python - for atom in entity.GetAtomList(): - if atom.HasGenericProperty("myfloatprop"): - print atom.GetGenericFloatProperty("myfloatprop") - -When trying to access a property that has not been set, or one that has been set, but at a different level, an error is thrown. The same is true when trying to access a property of a different data type, e.g.: - - ::::python - # all of the following lines will throw errors - # error because the property does not exist - print atom.GetGenericFloatProperty("unknownprop") - - # error because the property was set at another level - print entity.GetGenericFloatProperty("myfloatprop") - - # error because the data type of the property is different - print atom.GetGenericStringProperty("myfloatprop") - -For more details see dox[ost::GenericPropertyContainer|GenericPropertyContainer]. - -## Use of GenericProperties in Queries - -The [query language](docs/tut/query.html) can also be used for numeric generic properties (i.e. GenericFloatProperty and GenericIntProperty), but the syntax is slightly different. To access any generic properties, it needs to be specified that they are generic and at which level they are defined. Therefore, all generic properties start with a 'g', followed by an 'a', 'r' or 'c' for atom, residue or chain level respectively. For more details [see documentation](dox/html/query.html#gen_prop). - diff --git a/website/raw/docs/tut/gui.mkdown b/website/raw/docs/tut/gui.mkdown deleted file mode 100644 index b2ead57d0c97b7f257c3dcd39f2f9e8cc29b6536..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/gui.mkdown +++ /dev/null @@ -1,64 +0,0 @@ -title: Graphical User Interface - -[TOC] - -# Graphical User Interface - -The GUI of OpenStructure is designed to be intuitive, flexible and extensible. Most of the widgets are organized in a big main window which is divided into four parts: the main area and three panels containing one or more smaller widgets: - - - -The panels primarily contains widgets interacting with the 3D window. -All parts of the GUI are exported to Python and can be expanded with C++ Qt widgets as well as with PyQt widgets. - -## SceneWin -The scene win holds a list of all graphical objects currently registered to the dox[ost::gfx::Scene|scene]. - - - -Every node of the graphical scene tree is shown as a subnode of the scene. It is possible to select one or more objects in the scenewin (ctrl+ left mouse click). The available actions of the context menu are applied to all currently selected objects. - -## Inspector Gadget -With our Inspector Gadget it is straightforward to modify rendering and coloring options of scene objects without using the keyboard: - - - -The render and coloring options affect only the currently selected objects of the scene win. The Shortcut "Ctrl+I" toggles the visibility of the inspector. - -## Tools -OpenStructure has several dox[ost::gui::Tool|tools] which are all listed in the toolbar close to the 3D window. A tool is activated upon selecting it in the toolbar. Input events are sent to the tool as long as the `Ctrl` key (`Cmd` on Mac) is pressed. For example the rigid body manipulator will rotate and shift the currently selected nodes in the scene win. Upon releasing `Ctrl`, the events are sent to the camera, making it possible to rapidly switch between adjusting the viewing angle of the camera and manipulating the position and orientation of scene objects. - - - -The example ex[color_tool.py|Write a Tool in Python] demonstrates how to add a simple tool (written in python) to OpenStructure. - -## Drag and Drop support -The user interface of OpenStructure supports drag and drop events. Every file format that is supported by Openstructure can be opened by dragging and dropping it on the main window. When a python script (ending with .py) is being dropped on the UI, the script will be executed. For any other file type (for example PDB files, images and density maps), OpenStructure will try to load the file and either display in the 3D window or in the data viewer for images. - -## Python Shell -OpenStructure has a integrated python shell which allows you interactively enter Python commands. Learn more about it in the [Python Shell tutorial](docs/tut/pythonshell.html). - -## The Side Panels - -### View Modes -Each dox[ost::gui::PanelBar|side panel] can have different dox[ost::gui::PanelWidgetContainer|view modes]. View modes can display the widgets which are held by the Side Panel in a different style. Every panel has the splitter and the tabbed view mode. The view mode can be changed in the Window menu of the Menubar. - -### Drag and Drop -The widgets which are held by a Side Panel can be moved to an other position in the panel or even to another side panel. The widget can be moved by simply clicking on the border of the widget and drag and drop it to the desired position. The drag and drop feature is currently only supported by the splitter view mode. - -### Adding a custom Widget -The Left-, Bottom- and Right-Panel are organized by one dox[ost::gui::Panels|Superclass]. It is only possible to display a widget which is in the dox[ost::gui::WidgetPool|widget pool] of the panels class. Once a widget is in the pool all the methods of the Panels class can be used to display / hide the widget in any position of the panels. -The Example ex[widget_example.py|Add a custom Widget] describes, how to add a fancy PyQt Widget to the widget pool and finally display it in the right side bar. -OpenStructure remembers the size and location of a Widget. So, OpenStructure should look the same after restarting it. - -## Main Area - -### Adding an own Widget -The dox[ost::gui::MainArea|main area] is a mdi (multi document interface). Therefore it's possible to display multiple widgets in it. The example ex[mdi_example.py|Add a Widget to MDI] demonstrates how to add a widget to the MDI area. - -## Menubar -### Adding an new Menupoint -It is really straightforward to add a custom menupoint. Since the menubar is exported to Python it is even easier to create such e menupoint. See the example ex[menubar_example.py|Adding a Menu] which describes how this is done within python and PyQt. - -## Nice to know -As you might have noticed nearly every gui example needs the dox[ost::gui::GostyApp|gosty app] and the dox[ost::gui::Perspective|perspective] within the code. Gosty app is a singleton class which has getter methods to all important gui classes. The perspective class has all the information about the layout of the whole application, it is accessible over the gosty app instance. diff --git a/website/raw/docs/tut/imgalg.mkdown b/website/raw/docs/tut/imgalg.mkdown deleted file mode 100644 index 8b2d4eeebece5c2f4805b2b2ea0abdc59ae034c8..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgalg.mkdown +++ /dev/null @@ -1,62 +0,0 @@ -title: Algorithms for Images and Density Maps - -[TOC] - -# Algorithms for Images and Density Maps - - -## The Basics - -To allow various image manipulation routines that are decoupled from the actual -image implementations, an extensive set of algorithm base classes is provided to facilitate -the implementation of novel algorithms. - -The 'img' module is using the concept of algorithm objects: In order to apply an algorithm -to an image, an instance of that particular algorithm class must be created, which -is then passed to one of the various Apply methods of the dox[ost::img::ImageHandle|ImageHandle] -interface. This extends the possibilities of algorithms beyond what is possible with simple -function calls. - -## Algorithm Types - -Five different types of algorithms can be identified: - -### NonMod -An algorithm that will not modify the values in the image, but rather gather -some data. Example: a histogram. Implemented as dox[ost::img::NonModAlgorithm|NonModAlgorithm]. - -### ModIP -An algorithm that will modify the image values directly in place; in addition, -it may choose to write to its internal state during application of the algorithm. -Implemented as dox[ost::img::ModIPAlgorithm|ModIPAlgorithm]. - -### ConstModIP -Similar to ModIP, this algorithm will modify the values directly in place. -However, it does not need to store information itself beyond the application of the algorithm -itself. Example: setting all image values to zero. Implemented as -dox[ost::img::ConstModIPAlgorithm|ConstModIPAlgorithm]. - -### ModOP -An algorithm that will return a new, modified version of the image, while -leaving the original untouched. Again, the algorithm can store information to be available -after it has been applied. Implemented as dox[ost::img::ModOPAlgorithm|ModOPAlgorithm]. - -### ConstModOP -Similar to ModOP, except that no information can be stored beyond the -application of the algorithm itself. Example: rotation around an arbitrary angle. Implemented -as dox[ost::img::ConstModOPAlgorithm|ConstModOPAlgorithm]. - -## Implemented algorithms - -A list of implemented algorithms can be found [here](docs/tut/imgalglist.html) - -## Custom Algorithms (for developers) - -Writing custom algorithms for the 'img' module is fairly straightforward, in view of the fact that the final -algorithm will integrate seamlessly into the build environment, both at the C++ and Python runtime -levels. Information on how to write custom algorithms can be found at the -[Algorithm Tutorial page](docs/tut/imgalgdata.html). - -There are two fundamental types of algorithms, those that operate on high level -ImageHandle instances, [Data Algorithms](docs/tut/imgalgdata.html), and those that -operate on the low level ImageState instances, [ImageState Algorithms](docs/tut/imgalgdistate.html). diff --git a/website/raw/docs/tut/imgalgdata.mkdown b/website/raw/docs/tut/imgalgdata.mkdown deleted file mode 100644 index 23b0bb130eb97169f375b7c7a0ba8bd6038cdeec..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgalgdata.mkdown +++ /dev/null @@ -1,466 +0,0 @@ -title: Data Algorithms - An Algorithm Tutorial - -[TOC] - -# Data Algorithms - An Algorithm Tutorial - -This tutorial shows how to create custom high level dox[ost::img::ImageHandle|ImageHandle] algorithms and -embed them into the OpenStructure build system. As an example, two very simple algorithm will be written: -The first will count all values in an image or function that are larger than a certain threshold. Since this -algorithm only needs to read values, it will be implemented by deriving it from ConstAlgorithm. The second algorithm -will set all values below a certain threshold to the threshold value; this will be implemented -using ModIPAlgorithm. - -Naming is important. We need a name for the collection (or module) of algorithms, as well as -a name for each individual one within the collection. For this example, the module name is -'thres', the first algorithm will be called 'ThresCount', and the second one 'ThresSet'. - -The new module will be built following the guidelines on [this page](docs/tut/newmodule.html). -The information on the linked page will not be repeated here, so it advisable to read it before -continuing with this tutorial - -In the end, this algorithm module will consist of: - -* Two header files, which are staged under 'stage/include/ost/thres' to allow other -components (such as the unit-tests, the python module, or other algorithms) to utilize -the module. -* A shared library called 'libost_thres', which is staged in 'stage/lib' and -required at run-time. -* A shared Python object named '_thres.so', which is staged under -'stage/lib/ost/pymod/ost/thres'. -* A Python initialization file '\_\_init\_\_.py', which is also staged under -'/lib/ost/pymod/ost/thres' and is required for the directory 'thres' to be recognized as a - Python module. - - -## Algorithm Test Setup - -Surprising or irritating as it may seem, the first thing on the agenda is the unit -test for this algorithm, located under 'thres/tests';. - -Note -: Tests, and in this particular case unit-test, are an essential component of any -modern software development effort. They not only ascertain the continued correct -functionality after refactoring cycles or platform porting, they often consist -in the first step of writing new code: First you write the test, then you -implement the functionality. Sounds crazy? Really works! You can call that -developing in expectancy mode. - -### Preparing the Testing Framework - -The main testing code is put into 'tests.cc', there is nothing particular to discuss here: - - :::cpp - #include <boost/test/unit_test.hpp> - using boost::unit_test_framework::test_suite; - - #include "test_thres_count.hh" - #include "test_thres_set.hh" - - test_suite* - unit_unit_test_suite( int argc, char * argv[] ) { - std::auto_ptr<test_suite> test(BOOST_TEST_SUITE( "Module thres Test" )); - - test->add(CreateThresCountTest()); - test->add(CreateThresSetTest()); - - return test.release(); - } - - -The factory function declaration for the counting algorithm is put into 'test\_thres\_count.hh': - - :::cpp - #ifndef OST_THRES_TEST_COUNT_H - #define OST_THRES_TEST_COUNT_H - - #include <boost/test/unit_test.hpp> - using boost::unit_test_framework::test_suite; - - test_suite* CreateThresCountTest(); - - #endif - -And the one for the threshold setting algorithm is put into 'test\_thres\_set.hh': - - :::cpp - #ifndef OST_THRES_TEST_SET_H - #define OST_THRES_TEST_SET_H - - #include <boost/test/unit_test.hpp> - using boost::unit_test_framework::test_suite; - - test_suite* CreateThresSetTest(); - - #endif - - -## Writitng the UnitTests - -Now lets fill in the actual algorithm usage code. First, the declaration of the -algorithm needs to be included from its header. These are the two 'include' -statements we want to add, along with the 'namespace' code: - - :::cpp - #include <ost/img/image.hh> - #include <ost/thres/thres_count.hh> - - using namespace ost::img; - using namespace ost::thres; - - -The first 'include' line and the 'ost::img' 'namespace' directive are needed -for creating and handling an ImageHandle. They use elements which are part of -the standard OpensStructure distribution. The others lines are required for our -particular algorithm class. - -Note -: Neither the file 'thres\_count.hh' exists yet nor the namespace 'thres'. -Remember, this is coding in expectency mode, ie we expect the algorithm to be -used in this way. - -Next, the testing routine. As a first thing, an image needs -to be created, with which the functionality of the algorithm can be tested: - - :::cpp - ImageHandle ih = CreateImage(Extent((Size(4,4)))); - -The factory method CreateImage() from the standard OpenStructure -distribution takes care of this. The dox[ost::img::ImageHandle|ImageHandle] -'ih' now referes to a 4x4 real, spatial image, with all values set to zero. To -populate the image with values, the following code is used: - - :::cpp - double v=0.0; - for(ExtentIterator(ih.GetExtent()); !it.AtEnd(); ++it) { - ih.SetReal(it, v); - v+=1.0; - } - -Now the algorithm object of our ThresCount class is created. - - ThresCount thres_count(5.0); - -Note -: Again, this is in expectancy mode: We want to have an algorithm that uses a -threshold, and it makes only sense that this threshold is given upon instantiation; -we will need to remember this once we implement the constructor. -As the next step, the algorithm is applied to the image, using the appropriate -method from dox[ost::img::ImageHandle|ImageHandle]: - - :::cpp - ih.Apply(a); - -Finally the test: since the values in the image were consecutively set from 0.0 -to 15.0, what is the expected outcome of the algorithm? In the above description, -it says "counts all values larger than a given threshold". In this case particular -test case this means all values above 5.0, so the expected count is 10. - -To retrieve the count, the algorithm object requires some sort of getter method, -which we expect to be called 'GetCount()'. This is combined with the 'boost::test' -facility macro to see if the algorithm worked: - - :::cpp - BOOST_CHECK(a.GetCount()==10); - -That's it. - -Here is the finished file 'test\_thres\_count.cc'. - - :::cpp - #include "test_thres_count.hh" - - #include <ost/img/image.hh> - #include <ost/thres_count.hh> - using namespace ost::img; - using namespace ost::thres; - - namespace test_thres_count { - - void test() - { - ImageHandle ih = CreateImage(Extent((Size(4,4)))); - - double v=0.0; - for(ExtentIterator it(ih.GetExtent()); !it.AtEnd(); ++it) { - ih.SetReal(it, v); - v+=1.0; - } - ThresCount thres_count(5.0); - - ih.Apply(thres_count); - - BOOST_CHECK(thres_count.GetCount()==10); - } - - } - - test_suite* CreateThresCountTest() - { - using namespace test_thres_count; - test_suite* ts=BOOST_TEST_SUITE("ThresCount Test"); - - ts->add(BOOST_TEST_CASE(&test)); - - return ts; - } - -The test for 'ThresSet' algorithm is build in a similar way. A test image is setup, and the -initialization of the algorithm should also accept the threshold value to be used: - - :::cpp - ImageHandle ih = CreateImage(Extent((Size(4,4)))); - - double v=0.0; - for(ExtentIterator it(ih.GetExtent()); !it.AtEnd(); ++it) { - ih.SetReal(it, v); - v+=1.0; - } - - ThresCount thres_set(5.0); - - ih.ApplyIP(thres_set); - -Note -: There are two posibilities to apply this algorithm to the image: in-place -(used here) and out-of-place. This works even though the ThresSet algorithm itself -is implemented in-place. What is the expected outcome of applying the algorithm? -The description above said: "will set all values below a certain threshold to -the threshold value". Therefore there should not be a value below 5.0 in the image: - - :::cpp - for(ExtentIterator it(ih.GetExtent()); !it.AtEnd(); ++it) { - BOOST_CHECK(ih.GetReal(it)>=5.0); - } - -Here is the final test file 'test\_thres\_set'.cc: - - :::cpp - #include "test_thres_set.hh" - - #include <ost/img/image.hh> - #include <ost/thres/thres_set.hh> - using namespace ost::img; - using namespace ost::thres; - - namespace test_thres_set { - - void test() - { - ImageHandle ih = CreateImage(Extent((Size(4,4)))); - - double v=0.0; - for(ExtentIterator it(ih.GetExtent()); !it.AtEnd(); ++it) { - ih.SetReal(it, v); - v+=1.0; - } - - ThresSet thres_set(5.0); - - ih.ApplyIP(thres_set); - - for(ExtentIterator it(ih.GetExtent()); !it.AtEnd(); ++it) { - BOOST_CHECK(ih.GetReal(it)>=5.0); - } - } - } - - test_suite* CreateThresSetTest() - { - using namespace test_thres_set; - test_suite* ts=BOOST_TEST_SUITE("ThresSet Test"); - - ts->add(BOOST_TEST_CASE(&test)); - - return ts; - } - -Obviously, all files need to be added to the 'CMakeLists.txt' file in 'thres/tests.' -Also, all the module dependencies must be added. In our example the dependencies are -the 'ost\_img' and 'ost\_img\_alg' module, plus the 'ost\_thres' moudle itself. - -## Coding Algorithm - -After so much expecting and looking into the future, this is the part where the -actual algorithm gets implemented. The CMake building script will also be setup to place the -headers and library files at the right location, so thay they are found by the unit tests. - -In the 'thes/src' directory, let's add the header and source files for the two algorithms. - -Here is 'thres\_count.hh: - - :::cpp - #ifndef OST_TRES_THRES_COUNT_H - #define OST_TRES_THRES_COUNT_H - - #include <ost/img/algorithm.hh> - - namespace ost { namespace thres { - - class ThresCount: public NonModAlgorithm - { - public: - ThresCount(Real thres); - - // retrieve count - int GetCount() const; - - // algorithm interface - virtual void Visit(const ConstImageHandle& i); - virtual void Visit(const Function& f); - - protected: - void VisitData(const Data& d); - - private: - Real thres_; - int count_; - }; - - }} // namespaces - - #endif - -And here is 'thres\_count.cc': - - :::cpp - #include "thres_count.hh" - - using namespace ost::img; - using namespace ost::thres; - - ThresCount::ThresCount(Real thres): - NonModAlgorithm("ThresCount"), - thres_(thres), - count_(0) - {} - - void ThresCount::Visit(const ConstImageHandle& i) - { - // reroute to generic method - VisitData(i); - } - - void ThresCount::Visit(const Function& f) - { - // reroute to generic method - VisitData(f); - } - - void ThresCount::VisitData(const Data& d) - { - count_=0; // make sure count is reset for each visit - for(ExtentIterator it(d.GetExtent()); !it.AtEnd(); ++it) { - if(d.GetReal(it)>thres_) { - ++count_; - } - } - } - - int ThresCount::GetCount() const - { - return count_; - } - -Note -: The polymorphic separation into 'dox[ost::img::ConstImageHandle|ConstImageHandle]' and -'Function' is not utilized in this example, since both 'Visit()' methods just call -'VisitData()' to perform the actual calculation. The method body of 'VisitData()' -is the actual algorithm implementation, using the private member variables 'thres\_' -and 'count\_'. - -Here is the 'thres\_set.hh' file: - - :::cpp - #ifndef OST_THRES_THRES_SET_H - #define OST_THRES_THRES_SET_H - - #include <ost/img/algorithm.hh> - - namespace ost { namespace thres { - - class ThresSet: public ModIPAlgorithm - { - public: - ThresSet(Real thres); - - // algorithm interface - virtual void Visit(ImageHandle& i); - - private: - Real thres_; - }; - - }} // namespaces - - #endif - - -And here is 'thres_set.cc': - - :::cpp - #include "thres_set.hh" - - using namespace ost::img; - using namespace ost::thres; - - ThresSet::ThresSet(Real thres): - ModIPAlgorithm("ThresSet"), - thres_(thres) - {} - - void ThresSet::Visit(ImageHandle& i) - { - for(ExtentIterator it(i.GetExtent()); !it.AtEnd(); ++it) { - if(i.GetReal(it)<thres_) { - i.SetReal(it,thres_); - } - } - } - -Once again, all the files must be added to the 'CMakeLists.txt' file, this time in -'thres/src'. This will make sure that all the headers and the newly created shared libraries -are staged correctly. The 'DEPENDS ON' directive in the file should include the 'img' -and 'img_alg' modules, since those are the modules 'thres' depends on. - -## Python Wrapper - -Finally, let's export both both 'ThresCount' and 'ThresSet' to Python, as part of -the 'thres' module. Let's put the following 'wrap\_thres.cc' file in the 'src/pymod' directory - - :::cpp - #include <boost/python.hpp> - using namespace boost::python; - - #include <ost/thres/thres_count.hh> - #include <ost/thres/thres_set.hh> - - using namespace ost::img; - using namespace ost::thres; - - BOOST_PYTHON_MODULE(_tres) - { - class_<ThresCount, bases<NonModAlgorithm> >("ThresCount", init<Real>() ) - .def("GetCount", &ThresCount::GetCount) - ; - - class_<ThresSet, bases<ModIPAlgorithm> >("ThresSet", init<Real>() ) - ; - } - -After adding the 'wrap_thres.cc' file to the 'CMakeLists.txt' file in 'thres/pymod, let's also put the -following '\_\_init.py\_\_' file in the same directory: - - :::python - from _thres import * - -The next time that the OpenStructure project will be compiled, the headers, the shared libraries and -the python modules from the new 'thres' module wil be staged and the two new Image algorithms will be made available -in both Python and C++. - - - - - - - diff --git a/website/raw/docs/tut/imgalgdistate.mkdown b/website/raw/docs/tut/imgalgdistate.mkdown deleted file mode 100644 index 1b544b8c3ac001c6f98c50a931f0e6e83bf882c9..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgalgdistate.mkdown +++ /dev/null @@ -1,51 +0,0 @@ -title: Image State Algorithms - -[TOC] - -# Image State Algorithms - -## Overview - -In order to allow fast access to the low level image state implementation, the -data algorithms are complemented by a similar concept, namely image state algorithms. - -Analogous to the image state implementation, each of the different image state -algorithms is composed of a double template combination, specifying the data type -(real or complex) and the domain (spatial, frequency or half-frequency). And -analogous to the data algorithm, there are different algorithms dependent on the -purpose of the algorithm to be implemented: non-modifying, in-place modifying and --of-place modifying. - -In should be pointed out the the image state algorithms are really a hybrid -concept, as they may be used as normal data algorithms as well ! - -A class with a specific structure is required that is later used as a template -parameter. The exact syntax is dependent on the type of algorithm. The minimal -interface comprises two methods: a ding VisitState(), and a (possibly static) -GetAlgorithmName(). Additional methods may be added, in particular a destruct or -and/or special constructors. - -## Example of ImageState algorithm - -This is an example of a NonMod algorithm - - :::pp - class MyAlgorithmFnc - { - public: - MyAlgorithmFunc(); - - // other ctors - - // entry point for image state visitor - template<typename T, class D> - void VisitState(const img::image_state::ImageStateImpl<T,D>& isi); - - // entry point for function visitor - void VisitFunction(const Funcion& f); - - // name of algorithm - static string GetAlgorithmName(); - - // other methods may follow here - }; diff --git a/website/raw/docs/tut/imgalglist.mkdown b/website/raw/docs/tut/imgalglist.mkdown deleted file mode 100644 index 6d52a91969f32fb077ecdfb5caf1308b0c3ba538..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgalglist.mkdown +++ /dev/null @@ -1,82 +0,0 @@ -title: List of image algorithms - -[TOC] - -# List of image algorithms - -## General Algorithms - -* dox[ost::img::alg::Clear|Clear] -* dox[ost::img::alg::Fill|Fill] -* dox[ost::img::alg::Stat|Stat] -* dox[ost::img::alg::StatMinMax|StatMinMax] -* dox[ost::img::alg::Negate|Negate] -* dox[ost::img::alg::Polar|Polar] -* dox[ost::img::alg::Randomize|Randomize] -* dox[ost::img::alg::AutoCorrelate|AutoCorrelate] -* dox[ost::img::alg::Conjugate|Conjugate] -* dox[ost::img::alg::Convolute|Convolute] -* dox[ost::img::alg::Correlate|Correlate] -* dox[ost::img::alg::CrossCorrelate|CrossCorrelate] -* dox[ost::img::alg::HighestPeakSearch3D|HighestPeakSearch3D] -* dox[ost::img::alg::Histogram|Histogram] -* dox[ost::img::alg::RsCrosscorr|RsCrosscorr] -* dox[ost::img::alg::LineAverage|LineAverage] -* dox[ost::img::alg::LineIterator|LineIterator] - -## Fourier Transforms - -* dox[ost::img::alg::FFT|FFT] -* dox[ost::img::alg::DFT|DFT] -* dox[ost::img::alg::PowerSpectrum|PowerSpectrum] - - -## Transformations - -* dox[ost::img::alg::Mirror|Mirror] -* dox[ost::img::alg::Shift|Shift] -* dox[ost::img::alg::Transform|Transform] -* dox[ost::img::alg::FractionalShift|FractionalShift] -* dox[ost::img::alg::DiscreteShrink|DiscreteShrink] - - -## Masking - -* dox[ost::img::alg::MaskImage|MaskImage] -* dox[ost::img::alg::SmoothMaskImage|SmoothMaskImage] - - -## Normalizer - -* dox[ost::img::alg::LinearNormalizer|LinearNormalizer] -* dox[ost::img::alg::LogNormalizer|LogNormalizer] -* dox[ost::img::alg::ODNormalizer|ODNormalizer] - - -## Thresholding - -* dox[ost::img::alg::ClipMinMax|ClipMinMax] -* dox[ost::img::alg::DensitySlice|DensitySlice] -* dox[ost::img::alg::Threshold|Threshold] -* dox[ost::img::alg::LocalSigmaThreshold|LocalSigmaThreshold] - - -## General filters - -* dox[ost::img::alg::Anisotropic|Anisotropic] -* dox[ost::img::alg::Gaussian|Gaussian] -* dox[ost::img::alg::GaussianGradientMagnitude|GaussianGradientMagnitude] -* dox[ost::img::alg::GaussianLaplacian|GaussianLaplacian] - - -## High/low pass filters - -* dox[ost::img::alg::LowPassFilter|LowPassFilter] -* dox[ost::img::alg::HighPassFilter|HighPassFilter] -* dox[ost::img::alg::GaussianLowPassFilter|GaussianLowPassFilter] -* dox[ost::img::alg::GaussianHighPassFilter|GaussianHighPassFilter] -* dox[ost::img::alg::FermiLowPassFilter|FermiLowPassFilter] -* dox[ost::img::alg::FermiHighPassFilter|FermiHighPassFilter] -* dox[ost::img::alg::ButterworthLowPassFilter|ButterworthLowPassFilter] -* dox[ost::img::alg::ButterworthHighPassFilter|ButterworthHighPassFilter] - diff --git a/website/raw/docs/tut/imgdataviewer.mkdown b/website/raw/docs/tut/imgdataviewer.mkdown deleted file mode 100644 index bbf902d9f7cccb1bcb6d96f9c073e748afe67e3d..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgdataviewer.mkdown +++ /dev/null @@ -1,120 +0,0 @@ -title: Data Viewer - -[TOC] - -#Data Viewer - -## Introduction - -The Data Viewer can display a single real or reciprocal space image with adjustable -contrast. Phases in reciprocal space images can be visualized using the phase color mode. -The data viewer can be created and also be controlled via the Python/C++ interface. -Extension of the data viewer is possible using additional [overlays](docs/tut/imgoverlays.html). - -The DataViewer shows several panels. In each several actions can be performed using -the keyboard and mouse interface, as described below. A status bar is also present in -the DataViewer, displaying the zoom level of the image shown in the main panel, and showing -the coordinates of the last clicked pixel. - -## Components - -## Main panel - -The main panel shows the image either in Real space or Fourier space. The phase -color display mode can be activated using the pop up menu. - -|Mouse Event | Action | -|:---------------|-------------------------------:| -|Left Button | Draw Selection Box | -|Middle Button | Move Selection | -|Right Button | Move Image, Display Popup Menu | -|Wheel | Zoom In And Out | - -|Key | Action | -|:---------------|-------------------------------:| -|N | Renormalize | -|C | Center | -|I | Invert | -|P | Toggle Phasecolor Mode | -|V | Show / Hide Pixel Values | -|S | Toggle Selection Mode | -|R | Show / Hide Ruler | -|+,L | Zoom In | -|-,K | Zoom Out | -|Z | Previous Slab | -|X | Next Slab | -|SHIFT + Mouse | Update Zoom and Live FFT Panel | -|CTRL + Mouse | Interact with Overlay | - -## Zoom panel - -The zoom panel shows a zoomed version of the image centered at the mouse position. - -|Mouse Event | Action | -|:---------------|-------------------------------:| -|Left Button | Draw Selection Box | -|Middle Button | Move Selection | -|Right Button | Move Image, Display Popup Menu | -|Wheel | Zoom In And Out | - -|Key | Action | -|:---------------|-------------------------------:| -|N | Renormalize | -|I | Invert | -|P | Toggle Phasecolor Mode | -|V | Show / Hide Pixel Values | -|S | Toggle Selection Mode | -|+,L | Zoom In | -|-,K | Zoom Out | - -## Live FFT panel - -The live FFT panel show a live FFT of the area centered at the current mouse -position. The size of the Fourier transformed area can be adjusted using the -popup menu. - -|Mouse Event | Action | -|:---------------|-------------------------------:| -|Left Button | Draw Selection Box | -|Middle Button | Move Selection | -|Right Button | Move Image, Display Popup Menu | -|Wheel | Zoom In And Out | - -|Key | Action | -|:---------------|-------------------------------:| -|N | Renormalize | -|C | Center | -|I | Invert | -|P | Toggle Phasecolor Mode | -|V | Show / Hide Pixel Values | -|S | Toggle Selection Mode | -|+,L | Zoom In | -|-,K | Zoom Out | - -## Argand panel - -The argand panel shows an argand diagram of the selected pixels. - -## Info panel - -The Info panel shows the x an y coordinates and the value of the last clicked -pixel and the pixel at the current mouse position. In addition the extent of -the selection box is displayed. - -|Mouse Event | Action | -|:---------------|-------------------------------:| -|Right Button | Display Popup Menu | - -## Python/C++ interface - -The data viewer can be created and also be controlled via a Python/C++ interface. -Following python code loads an image and creates a new viewer for it. - - ::::python - im=io.LoadImage("...") - v=gui.CreateDataViewer(im) - -The viewer instance v provides following methods. See the dox[ost::img::gui::DataViewer|DataViewer] -class documentation. - - diff --git a/website/raw/docs/tut/imgintro.mkdown b/website/raw/docs/tut/imgintro.mkdown deleted file mode 100644 index 0c177c565ce87cbc41a7858a0177f1d127239f32..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgintro.mkdown +++ /dev/null @@ -1,172 +0,0 @@ -title: Images / Density Maps - An Introduction - -[TOC] - -# Images / Density Maps - An Introduction - -## Introduction : The ImageHandle - -OpenStructure offers extensive processing capabilities for planar 2d images and -3d maps using the img module. Images are manipulated through the use of -dox[ost::img::ImageHandle|ImageHandles]. - -ImageHandles provide a clean and efficient interface to interact -with images and maps. An ImageHandle can store an image in either real -('SPATIAL') or Fourier ('FREQUENCY') space and always keep track of the currently active domain. -This means,for example that one can apply a Fourier Transformation to an ImageHandle containing a -'SPATIAL' image and the ImageHandle will correctly identify the new active domain as 'FREQUENCY'. The -ImageHandle also understands, for example, that applying a Fourier Transform to a centrosymmetric -'FREQUENCY' image results in a real 'SPATIAL' image, but applying it to a non-centrosymmetric one results -in a complex 'SPATIAL' image. - -Furthermore, the ImageHandle will make sure that real and -Fourier space information about the image are always in sync. If, for example, the pixel sampling is -changed while the current active domain is real space, -the pixel sampling in Fourier space will be adjusted accordingly, and vice versa. - -Moreover, the ImageHandle allows the extraction of both complex and real numeric values -from images in any active domain. If the domain is complex in nature, but a real numeric value -is requested, the amplitude of the complex number will be returned. If the numerical nature -of the domain is real and a complex number is requested, the complex part will be set -to 0. - -## Creating and visualizing ImageHandles - -As a first step, enter the following lines in the OpenStructure python console: - - :::python - im=img.CreateImage(img.Size(200,200)) - - -This will create an empty, 2D image, with a height and width of 200 pixels, whose -origin (ie the pixel with the coordinates <0,0>) is in the top-left corner. - - :::python - v=gui.CreateDataViewer(im) - -A viewer window will pop up (see below), showing a white frame on a black background. -The inner area of the white frame is the image, which is empty. - -## Reading and writing into an image - -Data can be read and written from and into an image using the following commands: - - ::python - # writes the real value 23.4 into pixel 10,10 - im.SetReal(img.Point(10,10),23.4) - # reads the value in pixel 10,10 - val=im.GetReal(img.Point(10,10)) - -The complex equivalents are also available - - ::python - # writes the complex value value 2+3j into pixel 10,10 - im.SetComplex(img.Point(10,10),2+3j) - # reads the value in pixel 10,10 - val=im.GetComplex(img.Point(10,10)) - -The image knows in which domain it is, and will adjust the type of data being written -accordingly. For example, if one writes a complex value in a 'SPATIAL' image, the value -will be automatically converted to a real one by taking the amplitude of the complex number -On the other hand, if one writes a real value in a 'FREQUENCY' image, the value is automatically -converted to complex by setting the imaginary part to 0. - -## Applying algorithms - -Let us fill the image with random values. - - :::python - rand_alg = img.alg.Randomize() # create algorithm object - im.ApplyIP( rand_alg ) # apply algorithm object in-place - -As you can see, applying an algorithm is conceptually a two-step process. First, -an instance of an algorithm class is created, yielding an algorithm object (in this -case 'rand\_alg'). In a second step, the algorithm object is applied to an image, -either in-place, modifying the image, or out-of-place, leaving the original image -untouched, and returning the result as a new image. Note that the in-place/out-of-place -logic is decoupled from the algorithm object. - -Now that we have some (noisy) data present, let us run another algorithm, this time -a Gaussian filter with a sigma of 4 pixel. - - :::python - im.ApplyIP( img.alg.GaussianFilter(4.0) ) # apply temporary algorithm object in-place - -As you can see, it is not always necessary to create an independent algorithm instance first, -in many cases a temporary object will suffice (this applies to the randomization -algorithm as well, 'im.ApplyIP(alg.Randomize())' would have been fine). However, -when used this way, the algorithm class will cease to exist as soon as the algorithm -is applied. This can be important if the algorithm stores some values that need to be -recovered later. For example: - - :::python - stat=img.alg.Stat() - im.ApplyIP(stat) - mean=stat.GetMean() - -Algorithms are stateful objects and can store values. The 'Stat' algorithm computes -basic statistics about the image it is applied on (maximum and minimum values, standard -deviations, etc). The data are stored within the algorithm instance and can be recovered -using the algorithm's methods. It would obviously make very little sense not to create an -instance of the 'Stat' algorithm. When the algorithms ceases to exist, all -information would be lost. - -## Applying a Fourier Transform - -An image is Fourier-transformed using the 'img.alg.FFT()' algorithm object: - - :::python - im=io.LoadImage("imagename.tif") # load the image - # create an instance of the fft algorithm object - fft=img.alg.FFT() - # do the actual Fourier transformation - im_ft=im.Apply(fft) - # back-transform - im2 = im_ft.Apply(fft) - # if this is run from within the dng graphical frontend, open viewers to look at the images - gui.CreateDataViewer(im) - gui.CreateDataViewer(im_ft) - gui.CreateDataViewer(im2) - -It is not really necessary to use the 'fft' variable to store the 'im.alg.FFT()' instance, a temporary object can be used, since the 'FFT' algorithm object is stateless. In addition, the algorithm can be applied in-place to avoid the creation of a second image: - - :::python - im=io.LoadImage("imagename.tif") # load the image - # do the actual Fourier transformation, in-place using temporary object - im.ApplyIP(alg.FFT()) - # repeating this command will do the back-transform - im.ApplyIP(alg.FFT()) - -As said before, the 'alg.FFT()' algorithm does not require a direction to be given, this is implicitly -determined by the active domain of the underlying image state: a 'SPATIAL' image will always be -transformed to the 'FREQUENCY' domain, and vice-versa. - -## Extracting and Pasting Images - -An image can be extracted and pasted into another image using the 'Extract()' and -'Paste()' member functions: - - :::python - # load the image - im=io.LoadImage("imagename.tif") - # generate a subimage from the region going from (10,10) to (30,30) - im2=im.Extract(img.Extent(img.Point(10,10),img.Point(30,30))) - # generate an empty image with the same size as the original image - im3=img.CreateImage(im.GetExtent()) - # paste the subimage into the empty image - im3.Paste(im2) - -Note that the extent is fully honored for the paste operation, i.e. only the -region where the pasted-to and the pasted-in image overlap will be affected. - - - - -| | | | -|:-------------------------------------------------:|:-------------------------------------------------------------------:|:------------------------------------------------------------------------:| -|![Empty Image] (docs/tut/dv1.jpg "Empty Image") | ![After Randomization] (docs/tut/dv2.jpg "After Randomization") | ![After Gaussian Filtering] (docs/tut/dv3.jpg "After Randomization") | -|Empty Image | After Randomization | After Gaussian Filtering | - - - - diff --git a/website/raw/docs/tut/imgoverlays.mkdown b/website/raw/docs/tut/imgoverlays.mkdown deleted file mode 100644 index f84b883fb3c05a8183647c369ce1587e515f9bed..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/imgoverlays.mkdown +++ /dev/null @@ -1,59 +0,0 @@ -[TOC] - -# Overlays - -The DataViewer may be extended by an arbitrary amount overlays. These are -classes derived from 'ost::img::gui::Overlay', either directly in Python or -written in C++ and then exported to Python. They are added dynamically to each -viewer by means of the DataViewer::AddOverlay method. - -An overlay can draw on top of an image in the OnDraw method. If it is the -active Overlay, it also receives mouse and keyboard events via the OnMouseEvent -and OnKeyEvent methods. A minimalistic overlay that demonstrates this functionality -is given below, and can also be found in `modules/gui/src/data_viewer/null_overlay.hh'. - - :::cpp - #include <ost/gui/data_viewer/overlay_base.hh> - - class NullOverlay: public ost::img::gui::Overlay - { - public: - // the ctor must initialize the Overlay base class with a name - NullOverlay(): - Overlay("NullOverlay") - {} - - // This must be implemented to allow duplication - virtual OverlayPtr Clone() const { - return OverlayPtr(new NullOverlay(*this)); - } - - // This method is called for each redraw of the image viewer, after the image itself - // has been rendered in the view widget. The device context as well as the data viewer - // panel are passed - virtual void OnDraw(wxDC& dc, const img::gui::DataViewerPanel* dvp, bool is_active) - { - } - - // Called if this is the active overlay, passing the mouse event. Must return flag to - // indicate wether the event was handled (true), or not (false), where the latter allows - // the image viewer to handle the event itself - virtual bool OnMouseEvent(const wxMouseEvent& e) - { - return false; - } - - // dito for a key event - virtual bool OnKeyEvent(const wxKeyEvent& e) - { - return false; - } - - // allows a custom overlay menu to be included, a return of 0 indicates no menu - virtual wxMenu* GetMenu() - { - return 0; - } - } - - \ No newline at end of file diff --git a/website/raw/docs/tut/intro.mkdown b/website/raw/docs/tut/intro.mkdown deleted file mode 100644 index caa28d45b49c0b0036e219db3c285122d87a4ec3..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/intro.mkdown +++ /dev/null @@ -1,249 +0,0 @@ -title: Introduction to OpenStructure - -[TOC] - -# A gentle introduction to OpenStructure - -In this tutorial you will be learning by example how to use the OpenStructure framework. - -We assume that you already have a version of OpenStructure installed. If not, please refer to the [installation instructions](download.html). - -## What will be covered in this tutorial? - -This tutorial is aimed at users that would like to get their hands dirty and execute commands in Python and write scripts rather clicking their way through a shiny user interface. The user interface of OpenStructure is in a very early state anyway that you probably won't go far by clicking you way through... - -The first part of the tutorial is a walk-through of the basic functionality you will be using in your everyday work. You will learn how to load structure datasets, inspect, display them in the 3D window and save them. - - -## Getting ready to rumble - -The files we will be using in the tutorial are available in the examples folder that comes with OpenStructure. Depending on your platform, the examples are located at a different location: - - * on *MacOS X* the files are in /Applications/OpenStructure/Examples - * on *Linux* and *Windows* PREFIX/share/openstructure/examples, where PREFIX is the path to the directory containing OpenStructure. - -### Starting DNG - -The graphical user interface of OpenStructure is called DNG (Dino/DeepView Next Generation). To start it, - - * on *MacOS X* double click DNG.app in /Applications/OpenStructure - * on *Windows* double click dng.bat inside the PREFIX/bin directory - * on *Linux* fire up a terminal change into the OpenStructure installation directory and type 'bin/dng'. If you have the binary directory in the PATH, typing dng is sufficient. - -### Interactive Python Shell -Now we will enter commands in the [python shell](docs/tut/pythonshell.html) (in the screenshot above, the python shell is located at the bottom of the main window). If you want to get more information on any object, function or class, the python help command may be useful. For example: - - ::::python - # get list of methods of EntityView - help(mol.EntityView) - # get help for method Select - help(mol.EntityView.Select) - -## Loading and inspecting a protein structure - -OpenStructure has a module that is dedicated to deal with input and output of data, including sequence alignment formats, protein structures and density data and images. If you are reading this tutorial you most certainly have dealt with protein structures before and you are most certainly aware that they are usually stored in Brookhaven structure files (aka PDB files). The official name for molecules stored in a PDB file is an entity. You will hear this word throughout this tutorial, but you can replace the word entity with molecule in your head. - -Before using the load functionality, you have to import the io module. This is done by typing the following command in the [python shell](docs/tut/pythonshell.html): - - ::::python - from ost import io -To load a PDB file, type - - ::::python - fragment=io.LoadPDB('OST_INSTALLATION_PATH/share/openstructure/examples/misc/fragment.pdb') -This will load the fragment from the specified file 'fragment.pdb' and store the result in fragment. For more information on the LoadPDB function, type - - ::::python - help(io.LoadPDB) -Now let's inspect what we just loaded: - - ::::python - print fragment.chain_count - print fragment.residue_count - print fragment.atom_count - -As you can see, our fragment consists of one peptide chain of 12 amino acids and has 81 atoms in total. Now let's examine our fragment even further. Enter the command - - ::::python - for residue in fragment.residues: - print residue -This will print a list of all residues in the fragment. Similarly to get a list of atoms, use: - - ::::python - for atom in fragment.atoms: - print atom - -Of course, we can also get a list of atoms grouped by residues: - - ::::python - for residue in fragment.residues: - print residue, 'has', residue.atom_count, 'atom(s).' - for atom in residue.atoms: - print ' ', atom.name, atom.pos - -And, for completeness, we will first group them by chain, then by residues. - - ::::python - for chain in fragments.chains: - print 'chain', chain.name, 'has', chain.residue_count, 'residue(s)' - for residue in chain.residues: - print ' ', residue, 'has', residue.atom_count, 'atom(s).' - for atom in residue.atoms: - print ' ', atom.name, atom.pos -Aah, wait! A protein fragment would not be complete without bonds: Let's see what bonds we have in there: - - ::::python - for bond in fragment.bonds: - print bond -From these short code examples we already see how the entity is structured: On one hand we have a hierarchy of chains, residues and atoms. On the other hand, we have bonds that form a network overlayed on the hierarchy. This is illustrated in the picture on the left. An important feature of entities is that we can always assume that the hierarchy is intact. You will never find an atom without residues, no residue can exist without a parent chain and chains belong always to an entity. - -## Let There Be Shiny Graphics - -For visually inspecting the fragment, we now create a graphical representation: - - ::::python - go=gfx.Entity("Fragment", fragment) - scene.Add(go) - scene.CenterOn(go) - -Now you will see the fragment in the 3D window (left): - - - -Use the mouse to rotate, zoom in an shift the camera. Double clicking on an atom will center the camera on that atom. - -## Introduction to Views - -Often during processing and visualisation of data, only parts of a protein structure are of interest. This realisation has had a major impact on the design of OpenStructure and is tied very deeply into the core of the framework. Subparts of structure are modeled as so-called dox[ost::mol::EntityView|EntityViews]. You can think of them as a selection of chains, residues, atoms and bonds of an entity. A views has almost the same interface as the underlying entity, making it very easy to mix entity views with handles in Python due to the dynamic nature of the language. An algorithm that is written for entities will almost always (with some care) also work for dox[ost::mol::EntityHandle|EntityHandles]. This is referred to as [duck-typing](http://en.wikipedia.org/wiki/Duck_typing) (I don' t care if it is a duck as long as it looks like a duck), a concept used all over the place in Python. - -A typical view can be seen in the image on the left. The view consists of one chain, one residue and two atoms. Again the same rule applies: No atom can be part of the view without it's residue. In this example, no bonds are included, since there is at most one atom per bond in the original structure. - -To familiarize yourself with the concept of views, we will use the fragment in the 3D window. - -We will use several ways to select parts of our fragment: - * By using a dedicated query language - * By manually constructing a view - -## The Query Language - -The first way to select parts of a structure is with a dedicated mini-language, called ["the query language”](docs/tut/query.html). In the Python Shell, type - - ::::python - go.selection=fragment.Select('') -A green halo will be displayed around the selected parts (image in the middle). - - As you can see the previous statement created a “full view”, containing all the chains, residues, atoms and bonds. To select lysine residues, type - - ::::python - go.selection=fragment.Select('rname=LYS') - - -As you can see (image in the middle), the only lysine residue is now highlighted in the 3D window, because it was the only one matching the predicate “residue name must be equal to LYS”. Several such predicates can be combined with boolean operators such as “and” and “or”. To select residues with residue number 1 to 3, the following statement will do the job: - - ::::python - go.selection=fragment.Select('rnum>=1 and rnum<=3') -but this is very cumbersome. That's why there is a shortcut to this statement. You can specify a range of values. - - ::::python - go.selection=fragment.Select('rnum=1:3') -For a complete description of what you can do with the query language, have a look at the [query language introduction](docs/tut/query.html) or at the [reference page](dox/html/query.html). - - -## Constructing Views Manually - -Sometimes the query language Is Not Enough (TM). For these cases the construction of manual entities becomes neccessary. This is pretty straight forward: - - ::::python - view=fragment.CreateEmptyView() - ca=fragment.FindAtom('A', mol.ResNum(1), 'CA') - cb=fragment.FindAtom('A', mol.ResNum(1), 'CB') - view.AddAtom(ca) - view.AddAtom(cb) - go.SetSelection(view) - -The last step sets our constructed view as the current selection, displaying it in the 3D window. As you can see, C-alpha and C-beta of the first residue are not connected by bonds, even though both atoms are in the view. You have either to add the bond manually with - - ::::python - ca_cb=ca.FindBondToAtom(cb) - view.AddBond(ca_cb) - -Or as a very convenient shortcut 'view.AddAllInclusiveBonds()' to add all bonds that have both bonding partners in the view. - -Don't forget to call update the selection of the graphics object to see what view you have created. - -## Saving an Entity - -Saving an entity (or a view) is a breeze: - -Type - - ::::python - io.SavePDB(fragment, 'full.pdb') -to save the full view. To save only the backbone atoms, we can first select the backbone atoms and then save it: - - ::::python - io.SavePDB(fragment.Select('aname=CA,C,N,O'), 'backbone.pdb') - - -## Loading images and density maps - -Openstructure features a img module that is dedicated to the manipulation of images / density maps. The images or density maps can either be one-, two- or three-dimensional. The most common formats used in x-ray and electron crystallography and atomic force microscope are supported in addition to several general purpose image formats. See (feature list)[feature_list.html] for details. -The img module was originally developed as part of the Image Processing Library & Toolbox IPLT. More documentation and examples can also be found on the [IPLT website](http://www.iplt.org). - -Before using the load functionality for an image, you have to import the io module. This is done by typing the following command in the python shell: - - ::::python - from ost import io - -To load a density map, type - - ::::python - map=io.LoadImage('OST_INSTALLATION_PATH/share/openstructure/examples/map/1ppt.map') - -This will load the fragment density map from the specified file 'fragment.map' and store the result in fragment_map. - -Now let's inspect what we just loaded: - - ::::python - print map.GetPixelSampling() - -We can see that the sampling is set to 1.0 Angstroems in all three dimensions. - -## Manipulating images and density maps - -The algorithms used for manipulation of an image are found in the img module. Therefore before using an algorithm we first have to import the img module. - - ::::python - from ost import img - - -The img module provides a wide range of algorithm to manipulate image data. Here for the example we use a LowPassFilter to restrict the resolution of the density map. - - ::::python - map_filtered=map.Apply(img.alg.LowPassFilter(3.0)) - -The filtered map is stored in a new variable called fragment\_map\_filtered. - - -## Displaying images and density maps - -Now that we have a filtered map it's time to have a look at it. There are fundamentally two ways to visualize 3-dimensional density maps. -One is by drawing isosurfaces. These are conceputally similar to contour lines used in cartography: every point on an isosurface has the same -density value. Isosurfaces are easy to create in OpenStructure: - - ::::python - go=gfx.MapIso("filtered", map_filtered,0.5) - scene.Add(go) - -The other way to visualize a 3-dimensional map is by showing one 2-dimensional density slice at a time, allowing -the user to move through the slices. In OpenStructure this is achieved using a DataViewer docs/tut/imgdataviewer.html). A DataViewer showing the -filtered map is created using the following command: - - ::::python - gui.CreateDataViewer(map_filtered) - -This command displays a panel showing one slice of the density map lying on a particular (x,y) plane in the coordinate reference system. -The 'z' and 'x' keys can be used to move to slices lying at a lower or higher coordinate along the 'z' axis, allowing the examination of -the full 3-dimensional volume. - -Are more detailed explanation of the img module can be found in the tutorial section for [images and density maps](docs/tut/imgintro.html). diff --git a/website/raw/docs/tut/newmodule.mkdown b/website/raw/docs/tut/newmodule.mkdown deleted file mode 100644 index a8a200ba19991558639d1300ce6bd5342b48b6c1..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/newmodule.mkdown +++ /dev/null @@ -1,274 +0,0 @@ -title: Extending OpenStructure - Creating a New Module - -[TOC] - -# Extending OpenStructure - Creating a new module - -OpenStructure can be extended by writing additional modules. A module will consist of -a set of C++ classes and methods, most of which will also be exported to Python. - -The build system of OpenStructure is quite simple. The main difference to other projects -is the use of a so-called stage directory. The stage directory replicates the normal layout of -a standard Linux directory structure, with an 'include' directory for the headers, a 'lib' directory -containing the shared library files, a 'bin' directory for the executables and a 'share' directory for the -platform-independent data like icons, images and examples. - -OpenStructure uses [CMake](http://www.cmake.org/) to build the project. The rules for the build-system -are defined in 'CMakeLists.txt' files. When running CMake, the files are compiled and copied into stage. The -real installation, if necessary, happens at a later stage. This is referred to as staging of the files. - -If a new module is written following the guidelines in this page, it will be -seamlessly included in the build system and will then be available form both -the DNG python console and the OpenStructure command line as any other native module. - -As a first step, a new directory structure must be created to accommodate the new module. - -## Directory structure - -For the purpose of this example, let's assume we are creating a new module called -'mod' (for 'modeling'). Let's create a directory named 'mod' under the 'modules' directory -in the OpenStructure development tree, and populate it with the three subdirectories 'src', 'pymod', -and 'tests'. Then we add a 'CMakeLists.txt' file in the 'mod' directory, consisting of three lines: - - :::cpp - add_subdirectory(src) - add_subdirectory(pymod) - add_subdirectory(tests) - -## The module code - -In the 'src' subdirectory we put the code that implements the functionality of the new module, -plus a 'config.hh' header file. - -Here is a skeleton of one of the files in the directory , 'modeling\_new\_class\.hh': - - :::cpp - #ifndef OST_MOD_NEW_CLASS_H - #define OST_MOD_NEW_CLASS_H - - #include <ost/mol/entity.hh> - - // All other necessary includes go here - - namespace ost { namespace mod { - - class NewClass - { - public: - void NewMethod(); - - // All declarations of NewClass go here - - }; - - }} // namespaces - - #endif - -And here is the skeleton of the corresponding 'modeling\_new\_class.cc' file: - - :::cpp - #include "modeling_new_class.hh" - - using namespace ost::mol; - using namespace ost::mod; - - // All other necessary includes and namespace directives - // go here - - void DLLEXPORT NewClass::NewMethod(): - { - // Implementation - } - - // Implementation code for NewClass goes here - -Obviously, the 'src' directory can contain many files, each implementing classes -and functions that will end up in the module. In order to build and stage -the module shared library, a 'CMakeLists.txt' file needs to be written for the -'src' directory: - - :::cpp - set(OST_MOD_SOURCES - modeling_new_class.cc - // All other source files - ) - - set(OST_MOD_HEADERS - modeling_new_class.hh - // All other header files - ) - - module(NAME mod SOURCES "${OST_MOD_SOURCES}" - HEADERS ${OST_MOD_HEADERS} - DEPENDS_ON mol mol_alg) - - -The line containing the 'DEPENDS ON' directive lists all the modules on which -the new module depends (in this case 'mol' and 'mol.alg'). The 'module' macro -will take care of staging the headers, in this case into 'ost/mod' and compiling, -linking and staging of a library with the name 'libost_mod.so' ('libost_gmod.dylib' on MacOS X). - -Note -: Due to a limitation in the built-int install command of CMake, for modules - that have their headers in several directories, it is required to group the - headers by directory, leading to a call of module like: - - :::cpp - module(NAME mol SOURCES atom_handle.cc impl/atom_impl.cc - HEADERS atom_impl.hh IN_DIR impl - atom_handle.hh) - -The 'config.hh' header is required for each module to setup the environment on -Windows: Each public class, method and function needs to marked with -'DLLEXPORT' or 'DLLIMPORT' to teach the linker where to look for the symbol. -The correct use of either 'DLLIMPORT' and 'DLLEXPORT' is depending on the -context: While compiling a header file that is part of the same shared -library, 'DLLEXPORT' must be used. When compiling a header that is part of -an external shared library, 'DLLIMPORT' must be used. A typical module_config -header looks like this: - - :::cpp - #ifndef OST_MOD_MODULE_CONFIG_HH - #define OST_MOD_MODULE_CONFIG_HH - - #include <ost/base.hh> - - #if defined(OST_MODULE_OST_MOD) - # define DLLEXPORT_OST_MOD DLLEXPORT - #else - # define DLLEXPORT_OST_MOD DLLIMPORT - #endif - #endif - -## The Testing Framework - -The 'tests' directory contains code for Unit Tests. The code is compiled and executed when one invokes -compilation using the 'make check' command. Tests are run by means of the ['Boost Test Library'](http://www.boost.org/doc/libs/1_37_0/libs/test/doc/html/index.html) - Framework, which is used throughout OpenStructure. Before coding the test routines, the required skeleton - needs to be put in place. - -The main code is put into 'tests.cc', which will become the test executable: - - :::cpp - #include <boost/test/unit_test.hpp> - using boost::unit_test_framework::test_suite; - - #include "test_modeling.hh" - - test_suite* - unit_unit_test_suite( int argc, char * argv[] ) { - std::auto_ptr<test_suite> test(BOOST_TEST_SUITE( "Module Mod Test" )); - - test->add(CreateModelingTest()); - - return test.release(); - } - - -The most relevant line adds the test suite for the new module to the global test list. -The test suite is created by the factory function CreateModelingTest(), which is declared in -the 'test_modeling.hh' header file. - - :::cpp - #ifndef OST_MOD_TEST_MODELING_H - #define OST_MOD_TEST_MODELING_H - - #include <boost/test/unit_test.hpp> - using boost::unit_test_framework::test_suite; - - test_suite* CreateModelingTest(); - - #endif - -The definition of the factory function is found in the actual test code, -which we put in 'test\_modeling.cc'. Here is a skeleton version of that file: - - :::cpp - #include "test_modeling.hh" - - // additional include statements will go here - - namespace test_modeling { - - void test() - { - // test code will go here - } - - } - - test_suite* CreateModelingTest() - { - using namespace test_modeling; - test_suite* ts=BOOST_TEST_SUITE("Modeling Test"); - ts->add(BOOST_TEST_CASE(&test)); - - return ts; - } - -In this file, all the normal 'Boost Test Library' macros and functions can be used. -(For example 'BOOST\_CHECK', 'BOOST\_FAIL', etc.) - -Here is finally the build script skeleton that needs to be put into 'mod/tests/': - - :::cpp - set(OST_MOD_UNIT_TESTS - tests.cc - test_modeling.cc - ) - - ost_unittest(mod "${OST_MOD_UNIT_TESTS}") - target_link_libraries(ost_mol ost_mol_alg ost_mod) - -In the last line the call to the 'target\_link\_libraries' -function contains the names of the modules on which the 'mod' unit test code depends -(in this case, the 'mol' and 'mol\_alg' modules) , in addition to the 'mod' module itself. - -## The python wrapper - -FInally, the module API is exported to Python using the [Boost Python Library](http://www.boost.org/doc/libs/1_37_0/libs/python/doc/index.html). -In 'mod/pymod', the wrapper code for the classes in the new module is put into a file named 'wrap\_mod.cc': - - :::cpp - #include <boost/python.hpp> - using namespace boost::python; - - #include <ost/mod/modeling_new_class.hh> - - using namespace ost::mol; - using namespace ost::mod; - - // All other necessary includes and namespace directives - // go here - - BOOST_PYTHON_MODULE(_mod) - { - class_<NewClass>("NewClass", init<>() ) - .def("NewMethod", &NewClass::NewMethod) - ; - - // All other Boost Python code goes here - } - -The 'mod/pymod' directory must obviously contatin a 'CMakeLists.txt' file: - - :::cpp - set(OST_MOD_PYMOD_SOURCES - wrap_mod.cc - ) - - pymod(NAME mod OUTPUT_DIR ost/mod - CPP ${OST_MOD_PYMOD_SOURCES} PY __init__.py) - -The directory should also contain an '\_\_init.py\_\_' file with the -following content: - - :::python - from _mod import * - -In case one wants to implement Python-only functionality for the new module, any -number of function definitions can be added to the '\_\_init.py\_\_' file. - -That's it!. The next time the OpenStructure project is compiled, the new module will -be built and made available at both the C++ and the Python level. diff --git a/website/raw/docs/tut/pythonshell.mkdown b/website/raw/docs/tut/pythonshell.mkdown deleted file mode 100644 index cbea008c19e216c230116821b2de93ec58eed008..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/pythonshell.mkdown +++ /dev/null @@ -1,27 +0,0 @@ -title: Python Shell - -[TOC] - -# The Python Shell -OpenStructure has a powerful Python Shell which has some handy features. It is completely integrated into OpenStructure and allows you enter Python code. - -## Multi line detection -The Python Shell detects automatically if a code block is complete or not. -For example a simple print statement in the command line is a complete code block. Therefore the code will be executed after pressing enter: - - - -When a multiline codeblock (like a for loop or an if instruction) is being entered in the command line, the code is not executed until the code block is complete: - - - -When a code block is not complete, pressing enter appends an empty line at the end of the code block. To execute such a code block, you simply have to press enter twice. - -## Auto completion -After pressing tab in the Python Shell, it returns you possible extensions to your entered text. This feature can be used for completing variable names or functions: - - - -It is also possible to complete a file system path string. By pressing tab while editing a string, the shell displays all file or folders of the given directory: - - diff --git a/website/raw/docs/tut/query.mkdown b/website/raw/docs/tut/query.mkdown deleted file mode 100644 index d48719bdcd2d93e17b3acf2b867a93bb2e68e226..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/query.mkdown +++ /dev/null @@ -1,125 +0,0 @@ -[TOC] - -# Queries - - -## The Basics - -It is often convenient to highlight or focus certain parts of the structure. -OpenStructure includes a powerful query system that allows you to perform custom -selections in a convenient way. -Selections are carried out mainly by calling the Select method made available by EntityHandle and EntityView objects while providing a query string. Queries are written using a dedicated mini-language. For example, to select all arginine residues of a given structure, one would write: - - ::::python - arginines=model.Select('rname=ARG') -A simple selection query (called a predicate) consists in a property (here, `rname`), a comparison operator (here, `=`) and an argument (here, `ARG`). The return value of a Select method is always an EntityView. The EntityView always contains a full hierarchy of elements, never standalone separated elements. In the above example, the EntityView called `arginines` will contain all chains from the structure called 'model' that have at least one arginine. In turn these chains will contain all residues that have been identified as arginines. The residues themselves will contain references to all of their atoms. Of course, queries are not limited to selecting residues based on their type, it is also possible to select atom by name: - - ::::python - c_betas=model.Select('aname=CB') -As before, c`betas is an instance of an EntityView object and contains a full hierarchy. The main difference to the previous example is that the selected residues do not contain a list of all of their atoms but only the C-beta. These examples clarify why the name 'view' was chosen for this result of a Select statement. It represents a reduced, restrained way of looking at the original structure. - -Both the selection statements that have been used so far take strings as their arguments. However, selection properties such as `rnum` (residue number), take numeric arguments. With numeric arguments it is possible to use identity operators ( `!=` and `=`). It is also possible to compare them using the `>`, `<`, `>=` and `<=` operators. For example, the 20 N-terminal residues of a protein can be selected with: - - ::::python - n_term=model.Select('rnum<=20') -## Combining predicates - -Selection predicates can be combined with boolean operators. For example , you might want to select all C atoms with crystallographic occupancy higher than 50. These atoms must match the predicate `ele=C` in addition to the predicate `occ>50`. In the query language this can be written as: - - ::::python - model.Select('ele=C and occ>50') -Compact forms are available for several selection statements. For example, to select all arginines and aspargines, one could use a statement like: - - ::::python - arg_and_asn=model.Select('rname=ARG or rname=ASN') - -However, this is rather cumbersome as it requires the word `rname` to be typed twice. Since the only difference between the two parts of the selection is the argument that follows the word `rname`, the statement can also be written in an abbreviated form: - - ::::python - arg_and_asn=model.Select('rname=ARG,ASN') -Another example: to select residues with numbers in the range 130 to 200, one could use the following statement - - ::::python - center=model.Select('rnum>=130 and rnum<=200') -or alternatively use the much nicer syntax: - - ::::python - center=model.Select('rnum=130:200') -This last statement is completely equivalent to the previous one. This syntax can be used when the selection statement requires a range of integer values within a closed interval. - -## Distance Queries - - -The query - - ::::python - around_center=model.Select('5 <> {0,0,0}') -selects all chains, residues and atoms that lie with 5 Å to the origin of the reference system ({0,0,0}). The `<>` operator is called the ‘within’ operator. -Instead of a point, the within statements can also be used to return a view containing all chains, residues and atoms within a radius of another selection statement applied to the same entity. Square brackets are used to delimit the inner query statement. - - ::::python - around_hem=model.Select('5 <> [rname=HEM]') - model.Select('5 <> [rname=HEM and ele=C] and rname!=HEM') - -## Bonds and Queries - -When an EntityView is generated by a selection, it includes by default only bonds for which both connected atoms satisfy the query statement. This can be changed by passing the parameters `EXCLUSIVE_BONDS` or `NO_BONDS` when calling the Select method. `EXCLUSIVE_BONDS` adds bonds to the EntityView when at least one of the two atoms falls within the boundary of the selection. `NO_BONDS` suppresses the bond inclusion step completely. - -## Whole Residue Queries - -If the parameter `MATCH_RESIDUES` is passed when the Select method is called, the resulting EntityView will include whole residues for which at least one atom satisfies the query. This means that if at least one atom in the residue falls within the boundaries of the selection, all atoms of the residue will be included in the View. - -## More Query Usage - -The high level interface for queries are the Select methods of the -EntityHandle and EntityView classes. By passing in a query string, a view -consisting of a subset of the elements is returned. - -Queries also offer a second interface: `IsAtomSelected()`, -`IsResidueSelected()` and `IsChainSelected()` take an atom, residue or -chain as their argument and return true or false, depending on whether the -element fulfills the predicates. - -Read more about queries in the [query language reference](dox/html/query.html) - -## Special Topics - -### Distance-based selections - -Distance-based selections within a given atom position are supported by the ‘within’ operator (`<>`) . To select atoms within 5 Angstrom of the point `{1,2,3}`, one would write: -5 <> {1,2,3}To select atoms which lie at a distance further than 5 Angstrom one would use the negation operator: - - not 5 <> {1,2,3} - -### Compact forms - -Instead of writing: -`aname=CA or aname=C or aname=O or aname=N` one can write: - -aname=CA,N,C,OFor integer value ranges, one can use the colon syntax. Instead of `rnum>=10 and rnum<=20` one can write `rnum=10:20`. - - -## Constructing views manually - - -Sometimes the query language is not enough. For these cases the construction of manual entities becomes neccessary. This is pretty straight forward. Starting off with an empty view, bonds, atoms, residues and chains can be added at will. - - ::::python - view=ent.CreateEmptyView() -To populate the entity view, use one of the EntityView.AddResidue(), EntityView.AddChain(), EntityView.AddAtom() and EntityView.AddBond() member functions: - - ::::python - ca=ent.FindAtom('A', mol.ResNum(1), 'CA') - view.AddAtom(ca) -This call will automatically insert the residue and the chain of the atom into the view, so `GetChainCount()`, `GetResidueCount()` and `GetAtomCount()` will all return 1. - -To add a residue, use - - ::::python - res=ent.FindResidue('A', mol.ResNum(1)) - view.AddResidue(res) -This will not add any atoms. To add the atoms, pass `mol.INCLUDE`ATOMS` to AddResidue: - - ::::python - view.AddResidue(res, mol.INCLUDE_ATOMS) -Due to performance reasons, all of the add method do not check for duplicates by default. To turn duplicate-checking on, pass `mol.CHECK`DUPLICATES` as the second argument. diff --git a/website/raw/docs/tut/tut02.mkdown b/website/raw/docs/tut/tut02.mkdown deleted file mode 100644 index 55417178aec476597af4e6811953ff07feca2ae7..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/tut02.mkdown +++ /dev/null @@ -1,160 +0,0 @@ -[TOC] -# Exercises - -## Queries and Views - -First load myo.pdb. This can be done by either loading it in the file browser, or by loading it manually in the python shell. - -## Loading manually - - - myo=io.LoadPDB(‘myo.pdb’) - myo_go=gfx.Entity(‘Myo’, myo) - scene.Add(myo_go) - scene.SetCener(myo_go.GetCenter()) - -## Loading in the file browser - -Double click the file in the file browser. Now we have to get our hands on the myo object from the python shell: - - myo_go=scene[‘myo’] - myo=myo_go.view.GetHandle() - -To display your views as a halo around the myo object, use - - myo_go.current_selection=whatever_view - # or - myo_go.SetCurrentSelection(whatever_view) - - -Now go ahead and try to create the following selections. Not all of them can be solved by using selection statements. 1-4 and 7 can be solved by using selection statements alone, but 5 and 6 require you to create views manually. - -* Select all atoms of the HEM residue -* Select carbon atoms of the HEM residue -* Select the atoms within 8.0A of the HEM by using a selection statement. -* Select all atoms of residues for which at least one atom is within 8.0A - of the HEM -* Select the atoms within 8.0A of the HEM by using EntityHandle.FindWithin(). - This method takes a position and a radius and returns a list of atoms that are - within the given distance of the point. These have then to be assembled into a - view by populating an initially empty view as described in “Manually - Constructing Views”. -* Assemble a view that contains C-beta atoms for residues that have a CB and CA - for residues that don't have a CB. To find out, if a certain residue has an - atom, call residue.FindAtom(atom_name) and check if the returned atom is - valid,i.e - - ca=residue.FindAtom(‘CA’) - if ca.IsValid(): - print ca - else: - print residue, ‘does not have a CA’ - -* Select sidechains of residues for which at least one atom is within 8.0A of - the HEM - -## Writing a Parser for your own file format - - -In this exercise you will learn how to build and entity from the ground up by writing a parser for a custom file format. The skeleton of the parser can be found in 02_conop.py. Your task is to fill-in the missing parts. To do so, you will be first creating an empty entity (mol.CreateEntity()) and then assemble the entity with an XCSEditor. - -But first some background on what editors are: - -## Editors - -The structure, topology and connectivity of entities is edited via editors. This includes operations such as changing atom positions, connecting atoms with bonds as well as adding and removing chains, residues and atoms. To insert a new chain, append a residue or insert an atom, use EditorBase.InsertChain, EditorBase.AppendResidue or EditorBase.InsertAtom, respectively. - -You can create an editor by calling - - edi=ent.RequestXCSEditor() - -on your entity. Adding chains, residues and atoms is pretty straigh-forward: - - chain=edi.InsertChain(chain_name) - gly=edi.AppendResidue(chain, “GLY”) - edi.InsertAtom(gly, “N”, geom.Vec3()) - edi.InsertAtom(gly, “CA”, geom.Vec3()) - edi.InsertAtom(gly, “C”, geom.Vec3()) - edi.InsertAtom(gly, “O”, geom.Vec3()) - -You might have noticed that the above code snippet does not add any bonds, nor does it fill any atom properties such as element, radius and so on. OpenStructure has a module dedicated to only do that: The conop module. After importing it, a single call is sufficient to connect the atoms, fill in residue and atom properties: - - conop.ConnectAll(ent) - -### Editor for external coordinate system - -The XCSEditor defines the interface for manipulating the external coordinate system. The external coordinate system directly operates on atom positions in euclidian space. A specific atom position can be changed with XCSEditor.SetAtomPos. XCSEditor.ApplyTransform applies a transformation to all atoms. - -###Editor for internal coordinate system - -The ICSEditor is used to manipulate the internal coordinate system that is defined by bond lengths and angles. By default the internal coordinate system is not calculates. However, upon requesting an ICSEditor for the first time, the internal coordinate system is initialized. This involves the build-up of a directed-graph for the bond network as well as calculating the internal coordinate matrices. - -The use XCSEditor and ICSEditor are mutually exlusive. This means that whenever a XCSEditor has pending changes, the results of using an ICSEditor is undefined and vice versa. - - -## Processing of Density Maps - -In this exercise you will learn how to do basic processing of density map data. For the exercise you will use real experimental data coming from a single particle reconstruction of the YscC protein from Yersinia entercolitica. - -The first step to the processing of density data in OpenStructure is the loading of the ‘img’ and ‘img.alg’ module. -Go ahead and load the module in the OpenStructure python shell. - -The second step consists in loading the density data into memory. OpenStructure provides a LoadMap function in the ‘io’ module that can be used, not surprisingly, to load a density map. -map=io.LoadMap(‘YscC.spi')The file is in Spider format( Spider is one of the most celebrated software packages for single particle reconstruction). - -The dataset is very big and is stored in a large density map. It will take a few seconds to load. To find out how large the density map is, you can use the interface of the ImageHandle object used to store the image. The interfaces provides functions to get several items of information about the map: - - print map.GetSize() - print map.GetAbsoluteOrigin() - print map.GetSpatialOrigin() - print map.GetSpatialSampling() - print map.GetExtent() - -This last command returns an Extent object containing additional information about the extent of the map. Its interface can be used to learn even more. - - print map.GetExtent().GetStart() - print map.GetExtent().GetEnd() - print map.GetExtent().GetCenter() - -You will notice that the GetSpatialSampling method shows that the map has a pixel sampling of 1 Angstrom in all directions. This is not correct. The correct pixel sampling information was not saved on disk. Let’s go ahead and set it manually: it is 2 Angstrom in all directions, so: - - map.SetSpatialSampling(2.0*Units.A) - -The map is way too large to be manipulated and visualized comfortably. Since the data have low resolution anyway, we will shrink the map using the DiscreteShrink algorithm. - -First, go ahead and import the `img.alg` module. - -Then let’s create an instance of the DiscreteShrink algorithm. Let’s pass it a size parameter of 4x4x4. The map will be shrunk by a factor of 4 in all directions. -Let’s now apply the algorithm to the map. We apply it in place, because we want to overwrite the original data -map.ApplyIP(shrink_alg)Now go ahead and try to recover the information about the spatial sampling from the map. Verify that the pixel sampling has been adjusted to reflect the shrinking. -shrink_alg=img.alg.DiscreteShrink(img.Size(4,4,4)) - -Now, let’s use another algorithm to normalize the density values of the map between the 0 and 1 -norm=img.alg.CreateLinearRangeNormalizer(map,0.0,1.0)When you create an instance of this algorithm, you need to pass it information about the map it will be applied to (map) and the lowest and highest value of the normalization range(0.0 and 1.0) - -The algorithm can then be applied to the map. Go ahead and apply it in place, overwriting the original data. - -In order to visualize the map, we are now going to create an iso-surface graphical object -map_go=gfx.MapIso(“map”,map,0.5)This will create a an iso-surface graphical object based on the object “map”, drawing the iso-surface at a threshold level of 0.5. The object will appear in the scene menu with the name “map”. - -The graphical object needs to be now added to the scene and center the scene on the object -scene.Add(map_go) -scene.SetCenter(map_go.GetCenter())Tah-da! There it is on the screen! If you now select the “map” object in the scene menu, and press the “M” button beside the scene view, you can change the iso-surface threshold interactively. You do this by keeping the ‘command’ key on Mac Computers (or the ‘Control’ key on Linux) and moving the mouse to the left or to the right. - -You can always get value of the current iso-surface threshold level using the interface of the graphical object: -print map_go.GetLevel() -Finally, let’s create a low-pass-filtered version of the map and display it on the screen. -We use the LowPassFilter algorithm: - -filter=img.alg.LowPassFilter(4.0*Units.nm) - -We pass to the algorithm the resolution threshold for the filtering. Please notice that we pass it in nanometers, because we have been working with electron tomography in the past, so it comes easier to us to think in terms of nanometers as opposed to Angstrom. OpenStructure does the necessary conversion internally. - -Now let’s apply the algorithm, but this time let’s do it out of place to create a new map. - -filtered_map=map.Apply(filter) - -Please now go ahead and create a graphical object for this map, give it an appropriate threshold, the name “filtered_map” and add it to the scene. Then play with the iso-surface. - -Congratulations, you have completed the exercise! - diff --git a/website/raw/docs/tut/vecmath.mkdown b/website/raw/docs/tut/vecmath.mkdown deleted file mode 100644 index d4bf338a978776f31f7c892574501837b6d82c61..0000000000000000000000000000000000000000 --- a/website/raw/docs/tut/vecmath.mkdown +++ /dev/null @@ -1,96 +0,0 @@ -title: Vector Math in OpenStructure - -[TOC] - -# Vector Math in OpenStructure - -## Vector Math - -OpenStructure has built-in support for vectors in 2,3 and 4 dimension. They are called -'Vec2', 'Vec3' and 'Vec4' respectively. You can use the vector classes like in a math formula: -You can add them together, multiply them by scalar values or calculate the inner and outer -product. This short code snippet gives an idea of how you can use vectors. - - :::python - a=geom.Vec2(1,0) - b=geom.Vec2(0,1) - # print the vectors - print a,b - -Here is another example: - - :::python - # create a new vector by using components of both a and b. - # The components of a vector can be accessed by using the - # array subscript notation: - c=geom.Vec2(a[0],b[1]) - # print length of vector a and b - print geom.Length(a), geom.Length(b) - - # calculate dot (inner) product - print geom.Dot(a,b) - - # do some fancy calculation - d = a+2*b - print '%s+2*%s is %s' % (a,b,d) - -In the same tokens, you can use 3 and 4-dimensional vectors. If you want to -calculate the angle between two vectors, you can use the properties of the -inner product: Calculating the inner product of two unit-length vectors is -identical to the cosine of the angle between the two vectors. But the 'geom' -library also offers a function to directly compute the Angle between two vectors. -Here are examples of both approaches: - - :::python - # the standard python math module defines the pi constant and the acos function - import math - angle= math.acos(geom.Normalize(c),geom.Normalize(d))*180.0/math.pi - # computing the angle using the geom.Angle function - angle2=geom.Angle(c,d) - -## Linear Transforms - -Linear transforms, such as scaling and rotation of vectors, can be achieved easily. - -### Rotation - -Rotations are usually carried out using quaternions or rotation matrices. There -are several helper classes in OpenStructure that encapsulate the logic of rotation.The -'Rotation3' class represents a rotation in 3D space defined by 3 Euler angles. Please -notice that although the class requires to be initialized with radiants, one can use -the Units function to express the value using any homogenous unit (for example, degrees) -and the conversion will be done automatically. The Units function is available in all OpenStructure modules. - - :::python - # define rotation around x axis by 180 degrees (PI radians) - rot=geom.Rotation3(math.pi,0,0) - # define the same rotation explicitly using radiant units - # this is equivalent to the line above - rot=geom.Rotation3(math.pi*Units.rad,0,0) - # define the same rotation using angle units (again equivalent) - rot=geom.Rotation3(180.0*Units.deg,0,0) - rot=geom.Rotation3(math.pi) - # define the same rotation using the Units - v=geom.Vec3(0,1,0) - # rotate v by rot - print rot.GetRotationMatrix()*v - -In two dimensions, the 'Rotate' function can be used to rotate a vector by a certain amount - - :::python - #rotate by 90 degrees (PI/2 radians) - print geom.Rotate(geom.Vec2(1,0),math.pi/2) - - -### Scaling - -Uniform vector scaling can be accomplished by multiplication of the vector by a -scalar factor. For non-uniform scaling you can use a 3x3 matrix with all but the -main diagonal elements set to zero. - - :::python - scale=geom.Mat3(1.0,0.0,0.0, - 0.0,2.0,0.0, - 0.0,0.0,4.0) - - print scale*geom.Vec3(1,1,1) diff --git a/website/raw/docs/tutorials.mkdown b/website/raw/docs/tutorials.mkdown deleted file mode 100644 index 11b73983f54388258ab36df2dac7b02352ba54d9..0000000000000000000000000000000000000000 --- a/website/raw/docs/tutorials.mkdown +++ /dev/null @@ -1,29 +0,0 @@ -title: Tutorials - -# Tutorials - -## For Users - - * [Introduction](docs/tut/intro.html) - * [Vector Math in OpenStructure](docs/tut/vecmath.html) - -### User Interface - * [Graphical User Interface](docs/tut/gui.html) - * [Python Shell](docs/tut/pythonshell.html) - -### Molecular Datasets - * [The query language](docs/tut/query.html) - * [Connecting Atoms - Conopology](dox/html/module_conop.html) - * [Storing Custom Data in an Entity](docs/tut/genericprop.html) - -### Images and Density Maps - * [Images / Density Maps - An Introduction](docs/tut/imgintro.html) - * [Algorithms for Images and Density Maps](docs/tut/imgalg.html) - * [The Data Viewer](docs/tut/imgdataviewer.html) - - -## For Developers - * [Expanding OpenStructure - Creating a New Module](docs/tut/newmodule.html) - * [Using External Programs within OpenStructure](docs/tut/external.html) - * [Creating new algorithms for Images and Density Maps](docs/tut/imgalgdata.html) - * [Creating new image state algorithms](docs/tut/imgalgdistate.html) diff --git a/website/raw/download.mkdown b/website/raw/download.mkdown deleted file mode 100644 index 23f5a77629876c0ef80a5426c784018be12de7a5..0000000000000000000000000000000000000000 --- a/website/raw/download.mkdown +++ /dev/null @@ -1,13 +0,0 @@ -title: Download - -[TOC] - -# Download - -Please choose your platform - - * [Windows XP](windowsdownload.html) - * [MacOS X 10.5 and 10.6](macdownload.html) - * [Linux](linuxdownload.html) - - \ No newline at end of file diff --git a/website/raw/features.mkdown b/website/raw/features.mkdown deleted file mode 100644 index 4f1b057ddb1cebeb5e14bba38da199ab0c9c30aa..0000000000000000000000000000000000000000 --- a/website/raw/features.mkdown +++ /dev/null @@ -1,59 +0,0 @@ -title: Features - -# Features - -## General Features - - * Cleanly designed API available in both <a target="extern" href="http://www.python.org">Python</a> an C++ - * command line interface for batch processing - * graphical user interface that is completely scriptable from Python. - -## License - - OpenStructure is released under the <a target="extern" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html">LGPL Version 3</a> license. - -## Supported Platforms - - * [Windows XP](windowsdownload.html) - * [MacOS X 10.5 and 10.6](macdownload.html) - * [Linux](linuxdownload.html) - -## Macromolecules - - * Rich understanding of macromolecular structure datasets. - * Support for common file formats. - -## 2D Images and Density Maps - - * Image processing tools for both 2-dimensional images and 3-dimensional density maps (Masks, - real and Fourier space filters, correlation). - * Support for the most common formats - used in the fields of x-ray, electron crystallography, and atomic force microscopy. - -## Supported File Formats - -### Molecules - - * Brookhaven Database <a target="extern" href="http://www.wwpdb.org/docs.html">PDB</a> - * <a target="extern" href="http://www.poissonboltzmann.org/file-formats/biomolecular-structurw/pqr">PQR</a> - * Structure Data File <a target="extern" href="http://www.symyx.com/solutions/white_papers/ctfile_formats.jsp">SDF</a> - -### Image/Map Formats - - * <a target="extern" href="http://www.libtiff.org/">TIFF</a> - * <a target="extern" href="http://www.libpng.org/">PNG</a> - * <a target="extern" href="http://ami.scripps.edu/software/mrctools/mrc_specification.php">MRC</a>/<a target="extern" href="http://2dx.org/">2dx</a>[]() - * <a target="extern" href="http://www.ccp4.ac.uk/">CCP4</a> - * <a target="extern" href="http://situs.biomachina.org/">Situs</a> - * <a target="extern" href="http://www.wadsworth.org/spider_doc/spider/docs/spider.html">Spider</a> - * <a target="extern" href="http://www.jpk.com/index.2.en.html">JPK</a> - * <a target="extern" href="http://www.gatan.com/imaging/dig_micrograph.php">Digital Micrograph</a> - * <a target="extern" href="http://www.veeco.com/">Nanoscope</a> - - Binary formats can be read and saved in both little and big endianness. - -### Sequence/Alignment Formats - - * <a target="extern" href="http://mcast.sdsc.edu/doc/clustalw-format.html">ClustalW</a> - * <a target="extern" href="http://en.wikipedia.org/wiki/FASTA_format">Fasta</a> - * Promod (Swiss PDB-Viewer) diff --git a/website/raw/gallery.mkdown b/website/raw/gallery.mkdown deleted file mode 100644 index 2d475d0fd1ad85baf32c6cf313929310cb2354e5..0000000000000000000000000000000000000000 --- a/website/raw/gallery.mkdown +++ /dev/null @@ -1,8 +0,0 @@ -title: Gallery - -# Gallery -| | | -| - | - | -| [](100212_Loops.png "Loop Modelling")| [](100212_BE_Score.png "BE Score") | -| [](100212_Openstructure1.0a1_1622_Mac.png "Screenshot Mac OS") | [](100212_Openstructure1.0a1_1622_Win.png "Screenshot Windows")| -| [](100212_Openstructure1.0a1_1622_Linux.png "Screenshot Linux") || diff --git a/website/raw/index.mkdown b/website/raw/index.mkdown deleted file mode 100644 index 41115478ba33aa810d18e6b1a6f098ab02c64e65..0000000000000000000000000000000000000000 --- a/website/raw/index.mkdown +++ /dev/null @@ -1,14 +0,0 @@ -title: Welcome to OpenStructure - - -# Welcome to OpenStructure - -This project aims to provide an open-source, modular, flexible, molecular modelling and visualization environment. It is targeted at interested users and method developers in the field of structural bioinformatics. - - - -Interested? Then have a look at the [features](features.html) list. - -## Getting Started - -For users new to OpenStructure, we have prepared an [introduction to the framework](docs/tut/intro.html), a bunch of [tutorials](docs/tutorials.html) and [examples](docs/examples.html) that will help you getting started. For people that are already familiar with the basics, the [API documentation](dox/html/classes.html) provides detailed information on different topics in and around OpenStructure. diff --git a/website/raw/linuxdownload.mkdown b/website/raw/linuxdownload.mkdown deleted file mode 100644 index 85664b45372b366f98fdf2ab26ab444689c49840..0000000000000000000000000000000000000000 --- a/website/raw/linuxdownload.mkdown +++ /dev/null @@ -1,53 +0,0 @@ -title: Download - Linux - -[TOC] - -# Download - Linux - -OpenStructure is released under the <a target="extern" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html">LGPL Version 3</a> license. - - * [OpenStructure Linux Bundle](downloads/OSTcurrent_linux.tgz) - -This archive file contains a stand-alone self-contained version of OpenStructure for the Linux platform. . - -To run it, follow this simple instructions: - -1. Unpack the archive. If you are using a graphical desktop manager (like Gnome or KDE), this can be done by -clicking on the file and selecting the appropriate option in the archiving tool application. If you are using -a command line terminal, type: - - :::bash - tar xvfz <archive name> - -2. Open a terminal, move to the package directory and then to the 'bin' subdirectory: - - :::bash - cd <directory name> - cd bin - -3. Launch the graphical front end 'DNG': - - :::bash - ./dng - - Or the OpenStructure console 'ost' - - :::bash - ./ost - -Note -: The package has been created on a 32bit machine (but should work also on 64 bit machines, provided -that the correct 32-bit compatibility libraries are installed). -The following Linux distributions are supported: - -* Ubuntu 9.10 -* Ubuntu 9.04 -* Ubuntu 8.10 -* Fedora Core 12 -* Fedora Core 11 -* Fedora Core 10 -* OpenSUSE 11.2 - -The package does not contain drivers for the graphic card on your machine. In order to fully appreciate -the OpenStructure experience, you have to install the graphic drivers yourself and activate 3D acceleration. -This procedure in distribution and architecture specific, so it can not be described in details here. diff --git a/website/raw/logo.png b/website/raw/logo.png deleted file mode 100644 index ecba6de631774fbe6468c15825be9709f1663e90..0000000000000000000000000000000000000000 Binary files a/website/raw/logo.png and /dev/null differ diff --git a/website/raw/loops.png b/website/raw/loops.png deleted file mode 100644 index fc49942dbbd76df5bedf540a2280a43a8598b9e9..0000000000000000000000000000000000000000 Binary files a/website/raw/loops.png and /dev/null differ diff --git a/website/raw/macdownload.mkdown b/website/raw/macdownload.mkdown deleted file mode 100644 index 77820634f199a8e688b086e71a171634c252fd72..0000000000000000000000000000000000000000 --- a/website/raw/macdownload.mkdown +++ /dev/null @@ -1,14 +0,0 @@ -title: Download MacOS X - -[TOC] - -# Download - MacOS X - -OpenStructure is released under the <a target="extern" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html">LGPL Version 3</a> license. - -## Install It - * [Download the package](downloads/OSTcurrent_macos.pkg). It contains a full-fledged version of OpenStructure. *Important*: You need MacOS 10.5 or later to run OpenStructure. - * Double click the package to start the installation - -## Run It - * Run DNG in /Applications/OpenStructure. You can find some example scripts in /Applications/OpenStructure/Examples \ No newline at end of file diff --git a/website/raw/modules.png b/website/raw/modules.png deleted file mode 100644 index c4ef4b067c623373ceae40f82657e4831da7fd72..0000000000000000000000000000000000000000 Binary files a/website/raw/modules.png and /dev/null differ diff --git a/website/raw/scaffold.html b/website/raw/scaffold.html deleted file mode 100644 index def18f9d64ef318b542eff59e0db0342ae9f47a3..0000000000000000000000000000000000000000 --- a/website/raw/scaffold.html +++ /dev/null @@ -1,52 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> - <meta http-equiv="Content-type" content="text/html; charset=utf-8"> - <base href="%(BASE)s/"> - <title>%(TITLE)s</title> - <link rel="stylesheet" type="text/css" href="css/ost.css" media="screen,print" title="Stylesheet" charset="utf-8"> - -</head> -<body> - <div id="content-holder"> - <div id="toc-box"> - <div id="menu"> - <a class="toc-title" >Site Navigation</a> - <div class="toc-sep"> - <ul> - <li><a href="index.html">Home</a></li> - <li><a href="docs/tut/intro.html">Getting Started</a></li> - <li><a href="features.html">Features</a></li> - <li><a href="download.html">Download</a></li> - <li><a href="gallery.html">Gallery</a></li> - <li><a href="docs/index.html">Documentation</a></li> - <ul> - <li><a href="docs/tutorials.html">Tutorials</a></li> - <li><a href="docs/examples.html">Examples</a></li> - <li><a href="dox/html/classes.html">Class List</a></li> - </ul> - <li><a href="FAQ.html">Frequently Answered Questions</a></li> - - <li> - <a href="ack.html">Acknowledgements</a> - </li> - <li> - <a href="contact.html">Contact</a> - </li> - </ul> - </div> - <a class="toc-title" >Table of Contents</a> - <div class="toc-sep" > - %(SITE_NAV)s - </div> <!--toc-sep--> - </div><!--menu--> - </div><!--toc-box--> - <div id="content" > - %(CONTENT)s - <div id="footer"> - Copyright 2008-2010 by the OpenStructure authors - </div> - </div> - </div> -</body> -</html> diff --git a/website/raw/windowsdownload.mkdown b/website/raw/windowsdownload.mkdown deleted file mode 100644 index 3d056dfe73872d31b93054f6e801d7a1bf4ee6d0..0000000000000000000000000000000000000000 --- a/website/raw/windowsdownload.mkdown +++ /dev/null @@ -1,16 +0,0 @@ -title: Download/Installation Instructions for the Windows platform - -# Download - Windows - -OpenStructure is released under the <a target="extern" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html">LGPL Version 3</a> license. - -## Installation - 1. [Download](downloads/OSTcurrent_windows.zip) the complete OpenStructure package for windows. - * Extract the zip archive to your desired folder. -## Starting DNG - The Graphical User Interface to OpenStructure - * Simply start DNG by double clicking ***dng.bat*** in the bin directory. - * Located in the same directory is also ***ost.bat*** a command line interface to the openstructure framework. - -## Supported Windows Platforms -Currently we only truely support Windows XP. - diff --git a/website/stylesheet.css b/website/stylesheet.css deleted file mode 100644 index b1d1a5cda60a612a4243e884965dcbc6332723a3..0000000000000000000000000000000000000000 --- a/website/stylesheet.css +++ /dev/null @@ -1,299 +0,0 @@ -/* - alternatives: 005F6A, B84433 - */ -* { - font-family:Verdana, sans-serif; - font-size:10pt; - line-height:14pt; -} -body { - width:100%; - height:100%; -} -#content-holder { - margin-top:1cm; - margin-left:auto; - margin-right:auto; - width:25cm; - padding-left:0.2cm; - background-color:white; - border-color:#aaa; - margin-bottom:0.2cm; - padding-bottom:0.1cm; -} -#content { - border-color:#dddddd; - border-left-style:solid; - border-width:1px; - padding-left:10px; - float:right; - width:18cm; - min-height:20cm; -} -code { - font-family:Inconsolata, monospace; - border-color:#eeeeee; - border-width:1px; - margin:0px; - background-color:#fafafa; -} - -a[href] { - color:#B84433; - font-style:italic; -} - -h1 { - font-size:200%; - font-weight:normal; - color:#B84433; -} - -h1 a { - font-size:100%; - font-weight:normal; - color:#B84433; -} - -h2 { - font-family:Georgia, serif; - padding-top:10pt; - font-size:150%; - color:#333333; - font-weight:normal; - font-style:italic; -} - -h2 a { - font-family:Georgia, serif; - padding-top:10pt; - font-size:100%; - color:#333333; - font-weight:normal; - font-style:italic; -} - -h1, h2, h3 { - width:15cm; -} -#menu { - /*text-align:right;*/ - padding-top:10px; - float:left; - width:6.4cm; - background: #fff url('../loops.png') no-repeat +26px right; -} -#menu a { - font-style:normal; -} -#menu li { - list-style-type:none; - padding-bottom:5px; -} -#menu ul { - padding-left:10px; -} -table { - padding:20px; - margin:0px; - width:70%; -} -.toc { -} -.toc ul { - padding-left:20px; - /*padding-bottom:5px;*/ -} -.toc li { - padding-top:5px; - list-style-type:none; -} -.linenos { - vertical-align:top; - font-family:Inconsolata, monospace; - background-color:#dddddd; - color:#333333; - width:20px; - text-align:right; - padding-right:2px; - margin:0px; - border-width:0px; -} -.code { - font-family:Inconsolata, monospace; - border-color:#eeeeee; - border-style:solid; - border-width:1px; - border-color:#dddddd; - display:block; - padding-left:10px; - margin:0px; - background-color:#fafafa; - width:13cm; -} -#footer { - font-size:8pt; - color:#333; - border-color:#dddddd; - border-width:1px; - border-top-style:solid; - vertical-align:bottom; -} - -.code .s { - color:#B84433; -} - -.code .p { - color:black; -} - -.code .k { - color:#4433B8; -} - - - -.code .kn { - color:#4433B8; -} - -.code .n { - color:#333; -} - -.code .ow { - color:#4433B8; -} - -.el, .memItemLeft, .memItemRight, .memname, .paramtype, .paramname { - font-family:Inconsolata, monospace; -} - -.memproto { - border-top-style:dotted; - border-top-width:1px; - border-top-color:#999; - margin-top:20px; -} - -/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ - - -DIV.tabs -{ - height:35px; - padding:0px; - padding-left:10px; - color:black; - text-align:left; - margin:0px; - /*background-color:#2471BF;*/ - border-color:#A5ABB9; - display:block; - float:none; - width:15cm; -} - -DIV.tabs UL -{ - margin : 0px; - padding:0px; - /*padding-left : 10px;*/ - list-style : none; -} -DIV.tabs LI { - margin:0px; - padding:0px; -} - -DIV.tabs LI, DIV.tabs -{ - float: left; - margin : 0px; - padding : 0px; -} - -DIV.tabs FORM -{ - float : right; -} - -DIV.tabs A -{ - border-width:1px; - border-style:solid; - margin:0px; - border-color:#A5ABB9; - padding:3px 5px 3px 5px; - color:#2471BF; - background-color:#e8e8e8; - position:relative; - text-decoration:none; - top:-2px; -} - -DIV.tabs A:hover -{ - background-position: 100% -150px; -} - -DIV.tabs A:link, DIV.tabs A:visited, -DIV.tabs A:active, DIV.tabs A:hover -{ - color: #1A419D; -} - -DIV.tabs TD -{ - font-size : 80%; - font-weight : bold; - text-decoration : none; - margin:0px; -} - - - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -DIV.tabs SPAN {float : none;} -/* End IE5-Mac hack */ - -DIV.tabs A:hover SPAN -{ - background-position: 0% -150px; -} - -DIV.tabs LI.current A -{ - border-width:1px 1px 1px 1px; - border-style:solid; - border-color:#A5ABB9; - text-decoration:none; - font-style:normal; - padding:5px 5px 5px 5px; - margin:0px; - color:#2471BF; - background-color:#fff; - position:relative; - top:-4px; - /*font-weight:bold;*/ -} - -DIV.tabs LI.current SPAN -{ - background-position: 0% -150px; - padding-bottom : 6px; -} - -.navpath .el { - text-decoration:none; -} -DIV.navpath -{ - background : none; - border : none; - border-bottom : 1px solid #DDD; - text-align : left; - margin : 0px; - padding : 2px; -}